Hi, I'm Zor. Welcome to Unisor Education. This is another lecture on similarity. In this case I will talk about polygons. The last one was about triangles. It's a special case of polygons. Now I will try to expand it to some other cases. So let me just talk about general properties of similarity of polygons. First of all, if polygons has n sides or n angles, after the transformation of scaling, homotopy, the scientific term, obviously it will be transformed into another polygon and that other polygon will have also n vertices and angles and n sides. Why? Well, for obvious reasons that the straight line is transformed into straight line, which means segment is transformed into segment, point into point, angle, as you remember, into another angle, which is, by the way, equal to original one, as we have proved it before. So the number of vertices cannot be changed, straight lines will remain straight, so sides will be sides and angles will be angles after the transformation. So this is the first property. The n-sided polygon is transformed into n-sided polygon. You cannot scale a triangle into a square. Now the second property is what if you have an n-sided regular polygon. Now regular polygon, as you remember, is the one which has all interior angles equal to each other and all sides equal to each other. I'm interchanging using equal and congruent basically. It means exactly the same thing in this particular case. So how can we prove that regular n-sided polygon is transformed into regular one? Well, again, we were already mentioned that the angles are transformed into angles of equal size. All sides which used to be equal to each other in lengths of the original polygon, let's say it's an equilateral triangle, will be transformed into sides of another triangle after scaling. And what's important, there is a factor of scaling. Each segment, each side in this particular case, will have its lengths equal to the old lengths multiplied by the same factor. So these three lengths were the same multiplied by the same factor. They will be the same. So angles equal angles remain equal angles and sides are proportionally factored in the same factor using the same coefficient of proportionality, which means that the final sizes will also be equal to each other. So that's why if it used to be regular, all angles are equal, all sides are equal, it will be regular polygon after the transformation. Equology will be retained. Now, let's talk about different geometrical figures which we have already learned something about. For instance, we were talking about right triangles. Now, is the quality of a triangle to be a right triangle retained after the transformation of scaling? Yes, of course, because the quality is that this angle is 90 degrees. Now, after the transformation of scaling, all angles are preserved, which means the resulting triangle will also have 90 degree angle. So the quality of a triangle to be the right triangle is preserved. Now, the quality of a triangle to be isosceles when two sides are congruent to each other, equal in size, obviously will also be preserved because the final triangle will also have these sides equal in lengths to each other because they are equal to all sides multiplied by the same factor. So if these were equal, multiplied by the same factor, these will be equal as well. So the isosceles triangles are transformed into isosceles. Now, obviously, equilateral into equilateral, that's basically part of what we have already proven about inside the right polygons. What else? Parallelograms will be transformed into parallelograms because the quality of two lines to be parallel to each other is retained by the transformation of scaling because every line after the transformation of scaling is transformed into lines parallel to each other. So if I have two lines in a parallelogram, which are parallel to each other, the image will also be lines parallel to these. So parallelism is retained, which means parallelogram will be parallelogram after transformation. Rombos will be rombos because it's basically a combination of being a parallelogram and having all sides equal to each other in lengths. And again, the lengths is transformed proportionately for all sides of a polygon, which means that the final, the resulting figure will also have equal sides and will be a parallelogram, which means that it will be rombos. Square, obviously, will be converted into square. What else? Rectangles, again, all angles are 90 degrees and angles are retained by the transformation of scaling. Trapezoids. Trapezoid has two sides parallel to each other and the parallelism is retained as well. So all these different qualities of different geometric figures, which we were talking about before, will be preserved by the transformation of scaling by homotogy. Now, these are all kind of trivial facts about polygons. Now, just very, very slightly more difficult about regular polygons. I'm going to prove that two regular polygons, which have exactly the same number of vertices or angles or sides, there is always the transformation of scaling which transforms one into another. They are always similar. Okay, how can we prove that, let's say, if I have two triangles, for instance, how to prove that they always are similar? This is a particular case of this theorem and I would like actually to address it as an illustration that this is true. All equilateral triangles, which are n-sided regular polygons with n equals to 3, are congruent to each other, not congruence, are similar to each other. Now, how can I prove it well? For triangles, it's very simple, because these angles are always 60 degrees for equilateral triangles, and we know a theorem about triangles. If two angles of one triangle are congruent to two angles of another triangle, then they are similar. So in this case, obviously this is the case, so these two triangles, two equilateral triangles are similar. Now, how about squares? Squares are regular polygons of n-sided where n is equal to 4. So if you have this square and you have this square, how to prove that they are congruent to each other? Well, in this also a particular case, I will use the following technique. Let's have two diagonals here and two diagonals here. Now, I can use parallel shift and maybe rotation to basically position my square, smaller square inside the bigger square in this way. Now, why is it possible? Well, if I will move this point to this point and this point to this point, everything else actually will be in place, because if I will draw a line parallel to this and parallel to this and then parallel to this and parallel to this, I will have a square which can obviously very easily be proved, and the square will have exactly the same diagonal as this one. Now, I don't want actually to prove it in details, because I will I will be proving this in just general case for any number of vertices of the regular polygon. But you basically feel how I would probably be able to prove it. Now, I will actually prove it for just general case for n. Okay. Instead of a square, let's use something else. Now, first of all, let's say you have some kind of regular, not sure that regular, but let's consider it's regular hexagon. You kind of feel that there is a center of this figure, right, which probably is center of symmetry, etc. Well, let me prove it a little bit more rigorously. Forget about these three. I will draw three angle bisectors. So these two angles are equal to each other, and each one of them is half of the interior angle of hexagon. Now, these angles also are equal to each other, because this is bisector. And considering that this interior angle is equal to this interior angle, halves of these angles also are equal. So is this one. Now, how can I prove that three bisectors are intersecting in one line? Well, it's actually very easy. Let's just consider these two. Now, this is a triangle, and consider this side and these two angles. Now, let's draw a bisector here, and just, for example, it intersects in some other point, not in the same point. But if you will take a look at this, this triangle and this triangle are congruent to each other because sides inside the regular polygon are equal, congruent to each other, and all angles are exactly the same, and each one of them is half of the interior angle of the polygon. And so they are also equal to each other. So these two triangles must be congruent to each other, and that's why this particular segment must be equal to this.  So that's why this bisector will intersect this in exactly the same point as this bisector will intersect this, because these triangles are congruent to each other. Obviously, as any other triangle, if we will put the angle bisector, so I mean, obviously, you feel that this is true, that if you will draw a bisector of every interior angle of regular and sided polygon, all these bisectors will intersect in one at one point. Yes, but this is a little bit more rigorous proof rather than just, you know, you're feeling about this. All right, fine. So we have something which we can call a center of the regular and sided polygon, and we will use this point to prove that any other, in this case, six sided polygon, let's say this one, is similar to this one. Now, how am I going to prove it? Well, to prove that these two are similar to each other, I have to build a transformation which contains some congruent transformations like parallel shift, rotation, reflection, maybe, and scaling. And as a result of these transformations, I will transform this into this. All right. So first, let's talk about congruent transformation, which will bring this particular sided polygon inside this one, and in such a way that the center will be moved into the center, and any one of those angle bisectors will coincide with corresponding bisector. Now, why would any other bisectors coincide with these? Well, for obvious reason that all these triangles are congruent to each other and have exactly the same angles, and if I will just draw a line from this, parallel to this line, and then from this parallel to this, etc., etc., etc. I will build a set of triangles. Each one of them is in a socialist triangle with a fixed angle at the base, this is the base, and these are two equal sides. So with these two angles exactly equal to any of these angles, for obvious reasons. So the whole n-sided regular polygon inside the big polygon will be congruent to this one, because of congruence of each triangle. Now, once I have built this particular regular n-sided polygon, and I know that vertices will lie on angle bisectors, now all I have to do is to use a scaling with this as a center, and the ratio between two bisectors, the big bisector and the small bisector, as a factor of scaling. Since all the big bisectors are congruent to each other and all the small bisectors are also congruent to each other, the ratio will be exactly the same, which means every point, this as well as this, as well as this and this and this and this, by stretching by the same factor as ratio between these two guys, these also will be converted into the corresponding point on the big n-sided polygon. So this is basically a construction, if you wish, of exact transformation which transforms one into another. As long as the number of sides, or the number of vertices is exactly the same, that's sufficient for them to be similar. And the proof is an actual construction of the scaling which will transform this into this. Okay, now, well incidentally, this angle is equal to 360 divided by n, right? Because there are n triangles here. Now, these two angles in sum would be equal to 180 minus 360 divided by n. Because the total measure of all three angles is 180 in this triangle, this one is 360 divided by n. So sum of these two is equal to 180 minus 360 divided by n. But don't forget that these two angles in sum would be exactly the same as interior angle because each one of them is half. These are bisectors. So this is actually the measure of any interior angle of n-sided regular polygon. But this is besides the point, has nothing to do with similarity in this particular case. Okay, next. Next is a special theorem which I would like actually to present as also a little bit less trivial. Well, the previous one was a little bit less trivial versus the theorems which I mentioned before that let's say the right triangle will remain right after the scaling. I mean, that's obvious because the angles are preserved. But the fact that two n-sided polygons, regular polygons are similar to each other, that's a little bit less trivial and requires some proof. Now, in this case, this is also a little bit less trivial theorem. If you have two triangles, both right triangles, and you have a proportional cotity and a hypophonosis, which means that a, b ratio to a prime, b prime, one cotitus versus another is equal to bc versus b prime, c prime. So a ratio between these two cotity is the same as the ratio between hypophonosis. Then these two right triangles are similar to each other. Now, how can we prove it? Actually, it's basically the same as we have proved something about similarity of triangles in more general case when we have, let's say, two angles or an angle and two sides proportional each other. So what I will do is the same. I will find a point m such that a m is congruent to a prime, b prime. These two. And draw a parallel to a hypophonosis, m m. Obviously, these two triangles are similar to each other. We have proved it in one of the previous lectures when I was talking about any triangle and a line parallel to one side. It cuts another triangle, which is similar to the big one, to the original one. Now, since these two triangles are similar to each other, their sides are proportional, which means a m divided by a e, or I can do it twice first. a b divided by a m equals to b c divided by m m, right? a b divided by a m like b c to m m. This is what proportionality means. This is basically the direct result of them being similar. Now, but here, considering a m and a prime b prime are exactly the same, so I can put here a b a prime b prime. But at the same time, a b divided by a prime b prime is the same as b c over b c prime. b c over b prime c prime. Now, if you consider these two, you have numerators the same, and that's why we have the denominators the same. So that's how we have proved that this is equal to this. Now, this was constructed as two congruent segments, right? So we have two right triangles with a calculus and hypotenuse correspondingly equal to calculus and hypotenuse, which means they are congruent. So these two triangles, a m n and a prime b prime c prime, are congruent to each other. And since a b c is similar to a m n, therefore, a b c is similar to a prime b prime c prime. That's it. That was easy. What's next? Now we have, okay, that's about a triangle. Triangle has a few major elements, like it has medium, it has altitude, and it has angle bisector. Now, what I'm saying is the following. If two triangles are similar to each other, then all these elements are also similar to each other. Well, let's prove it. I mean, you know, we don't really just give the information or facts about things. We prove things. At least we're trying to do it as rigorously as possible, just as a training exercise. Well, let's do it one by one. So let's start with medium, let's say. Okay, so we have medium and we have another triangle, a prime, b prime, c prime, medium, m prime. How can we prove that if these two triangles, a b c and a prime, b prime, c prime, are similar, then the proportionality actually is retained, which means that the factor this one is in this particular case longer than this one would be exactly the same as the factor between, let's say, a b and a prime, b prime, or b c and b prime, c prime, or a c and a prime, c prime. So let's say the factor between the sides is whatever, f. Let's say it's a b divided by a prime, b prime. Okay, that's the factor of scaling. Now, since a m is half of a c, similarly, a prime, m prime is half of a prime, c prime, we can definitely say that since this factor is the same, then this factor is the same. This is a c over a prime, c prime. This is half of a c over half of a prime, c prime. Haves can be reduced, right? But these halves means that this is equal to a prime, m prime, sorry, a m over a prime, m prime. So what we have just proven that halves of the sides are proportional to each other with the same coefficient of proportionality. But now let's consider a b m and a prime, b prime, m prime. Since they are similar, these angles are the same, and we have proven that the proportionality between a, we have just proven the proportionality between the sides, a b versus ratio to a prime, b prime is the same as a m to a prime, m prime, which proves according to one of the theorems about the similarity of triangles. We have a side angle side. Sides are proportional with the same coefficient of proportionality, which is the factor, and angles are equal. So a b m is similar to a prime, b prime, m prime. And what follows is proportionality with the same factor between b m and b prime, so medians are proportional to sides. Now let's talk about bisectors. Let's consider b m is a bisector, which means this and these are halves of a, b, c. But these and these, these are also two halves of a prime, b prime, c prime. And since a prime, b prime, c prime, the big angle of the triangle itself is the same as in this case, a, b, c, then halves are also the same. So that's why I use the same, the same sign to basically to signify that these two angles, h l or four angles are exactly the same of the same size, the same measure. Now what do we have? We have a b m and a prime, b prime, m prime having two angles exactly congruent to each other. And again one of the characteristics, one of the theorems about similarity of triangles was, if you remember, that if two angles of one triangle are correspondingly congruent to two angles of another triangle, then these triangles are similar.  And the same b m is proportional to b prime, m prime, with the same factor, with the same ratio of proportionality as a b to a b prime, a prime, b prime, same ratio. What's left is altitude. Okay, what about altitude? Well basically we really have to do exactly the same thing. We have to prove similarity of a b m and a prime, b prime, m prime. How can we prove it? Well very easily, since this is the right triangle and this is the right triangle, these are altitudes, right? b m is the altitude and b prime, m prime is an altitude. So we also have two angles congruent to each other, one because the triangles are similar and another because they're both right angles. So these triangles, a b m and a prime, b prime, m prime are similar in this case as well, which is why altitudes are proportional to the sides. So again, in two similar triangles, these elements like bisector, median and height, they are all proportional with the same ratio of proportionality as the sides. Actually it's true for other elements as well, for instance radius of inscribed circle or radius of circumscribed circle, but I would rather put it as a problem for some next lecture or something like this. I just want you to have a feeling that if two figures are similar, then every reasonably constructed element inside one would be proportional to element, corresponding element of an element. Now reasonably I mean bisector of the same angle or radius of circumscribed circle and stuff like this. Okay, and I think I wanted to have one more theorem as part of this. Yes, perimeters. Perimeter of similar polygons, not necessarily regular polygons, just similar. So if you have two similar polygons, let's say you have one trapezoid and another trapezoid, and let's say they are similar. Then their perimeters are similar as well. Why? Well, this is the simple thing. Let's call the lengths of these a, b, c and d and this will be a prime, b prime, c prime and d prime. These are lengths of the corresponding sides. Now we know that the sides are proportional to each other, right? So the coefficient of proportionality between all of them is exactly the same. So a divided by a prime is equal to b divided by b prime divided by c, c prime, d, d prime and equals to some kind of a factor of scaling f. Now the perimeter of the left one is a plus b plus c plus d. Perimeter of the second one is a prime plus b prime plus c prime plus d prime. Now a is equal to a prime times f, right? b is equal to b is equal to b prime times f. So is c prime times f and d prime times f, which is equal to factor out f, factor out the factor and what will be inside the parentheses a prime plus b prime plus c prime plus d prime, which is a perimeter of this triangle. So the perimeters are related to each other in exactly the same fashion as the sides, also proportional with the same coefficient of proportionality. And that would be it for today. Next lecture will be about circles. Don't forget Unisor.com website contains this material, this lecture and many other lectures. I do encourage parents to take a look at the site because parents can control the educational process of their children as well as group teachers, for instance. They can control on an individual basis the pace of learning of each student because each one could just do it at his or her own pace going through exams, lectures, exams, etc. Thank you very much and until the next time.


Thanks, Nir. So I'm going to talk about patchable indistinguishability obfuscation, which is called IO for Evolving Software. And this is in joint work with Abhishek and Amit. So every software in its lifetime undergoes numerous changes. And these changes are modeled as patches, which the company regularly publishes on their website. The users can download these patches and apply to their local copies of software. So why does software evolve? So there are many reasons. For instance, the hardware requirements can change over time. There could be changes in the functionality requirements. You want to add more features to the software, change the GUI, and so on. Another reason is to resolve compatibility issues. You want to make sure your software is compatible with the latest version of operating system. And another reason could be that you want to fix some bugs in the software. So in this work, we deal with software evolution. So let's see how to model the notion of evolving software. So we model the software as Turing machines, though there is a machine M. And there is an update algorithm that takes this Turing machine M along with the patch B and produces a new machine M Prime. So the size of M Prime could be unrelated to the size of M. It could be much larger than the size of M, or it could be much smaller, and so on. And the goal of this work is to protect evolving software, meaning that there are two main sub-goals that we have to achieve. One is to protect, one is to achieve privacy of the software. And another is a functionality requirement where we want to ensure that the software can be updated over a period of time. While ensuring privacy of software. So in this work, we define the notion of IO for evolving software, which we call patchable IO. So before I define the notion of patchable IO, let's see why the standard IO for Turing machines doesn't itself suffice to get IO for evolving software. So let's just consider a simple scenario. So Apple wants to send the software to the user. So it wants to make sure that it protects the software from the user, so it obfuscates the software first and then sends it to the user. And later on, it wants to update the software. So it publishes a patch P, and it uses patch P to update its software locally to get a new machine, new software M Prime. And now Apple can essentially obfuscate this new software and send the obfuscated software to the user. So this solution ensures that you can actually change software or a period of time, and at the same time, you protect the privacy of the software from the user. So what is the problem with this naive solution? So during every patch, patching phase, the communication complexity from Apple to the user now depends on the size of the updated software. So this software could be of several gigabytes of size, and so the communication complexity during every patching would be several gigabytes. And this is not very reasonable. So in order to sort of handle this issue, we define the notion of patched will.io. In particular, we want this efficiency requirement that the communication complexity during the patching phase should be proportional to the size of the patch. So let me define this notion as in the case of standard.io for Turing machines, there is the obfuscation algorithm that lets you obfuscate Turing machines. In addition, you have this generation patch algorithm that takes as input a patch P and outputs an encoding of P. So you should think of this encoding of P as protecting the patch, right? So it's some form of encryption of P. And Apple essentially sends this encoding of P to the user who runs an apply patch algorithm on the original obfuscated Turing machine M along with the secure patch P to get an obfuscation of the new machine M prime. So gen patch and the apply patch algorithms are what is different from the standard definition of I.O. for Turing machines, okay? And as I said earlier, size of M prime could be much larger or smaller than M, so it is unrelated to the size of the original machine. Okay, so before I deal with this notion in more detail, let's talk about some differential issues that arise. So the first thing is that what is the patching process? I mean, how do we apply patches, right? As if you attended Aloni's talk in the morning, in the case of updatable cryptography, there too we consider this notion of sequential patching where initially you have a Turing machine M and you're going to apply patches sequentially to this original Turing machine, right?  And the second definition issue is how many patches do we handle? So ideally we want to handle unbounded number of patches. In particular, we want to make sure that the parameters of the system does not depend on the number of patches that we handle, right? And we achieve this sort of efficiency requirement. And the third issue is patching multiple programs. So suppose let's say Apple issues personalized software to all its users. So each user has a software of Apple that is tailor-made to his or her requirements. So now at a later point of time, Apple wants to publish a patch that can patch all the individualized software. So it wants to issue one single patch that can change all the individualized software. And to deal with this, we need to come up with a notion where Apple can actually issue one encoded patch that it can put on the bulletin board. And all the users can look at this encoded patch and apply it to their copies and they should be able to ultimately obtain like an obfuscation of their individualized software. So this notion of providing the ability to patch multiple programs is what we call multi-program patch file, okay? So let me just summarize the requirements that I've stated so far. The first main requirement is that the patch encoding size should only depend on the path size. And the second requirement is that the patches should be... should be able to modify the programs arbitrarily using the patches. And the third requirement is you should be able to handle unbounded number of patches. And the final requirement is that you should be able to patch multiple programs using the same patch. So now let me talk about correctness and security definitions. So this is the formal correctness requirement. So suppose, let's say, you start with the Turing machine M0 and you have a sequence of patches P1 to PL, okay? So let's consider two scenarios. In the first scenario, you patch... you apply the sequence of patches to the Turing machine M0 and you will get all these path machines M1 to ML. And then you upfuscate these machines M1 to ML. So this is the first scenario. In the second scenario, you're going to upfuscate the machine M0 and you're going to encode the patches P1 to PL. And then you're going to run the apply patch algorithm on all these encoded patches and the original Turing machine M0. And in the end, you get a sequence of upfuscated Turing machines M1 to ML. So this is the second scenario. We want that both the scenarios are equivalent. Stating this in a more simple manner, whether you patch the Turing machine and then upfuscate the resulting Turing machines should be the same as upfuscating the Turing machines and then running the apply patch algorithm. Okay. And the security requirement is a generalization of IO. Again, you have two worlds here. There is a world corresponding to challenge bit zero and there is a world corresponding to challenge bit one. Let me call this left and right worlds. So in the left world, you have a machine M0 and you have a sequence of patches that are parameterized by challenge bit zero. And in the right world, you have machine M1 and you have a sequence of patches that are parameterized by bit one. So now, as long as the set of patch machines that you get from the left world and the right world are equivalent, the adversary should not be able to distinguish whether the challenger upfuscated the machine as well as encoded the patches in the left world or from the right world. So this is the security requirement. Okay. And here I was only considering the single program setting where you start with one program and apply a sequence of patches to this one program. But you can also consider the multi-program setting where there are many Turing machines to begin with and you apply a sequence of patches to all these Turing machines. And I'm not going to define these two notions in this talk. Okay, so let me state our results. Assuming sub-exponential IO4 circuits and sub-exponential DDH, we get multi-program patchable IO4 Turing machines. Here I want to mention that the notion of IO4 Turing machines has this caveat that the input length of the Turing machine should be fixed apiary. And the parameters of the system grows with this input length. So in the paper, we also consider others patching process. The one I described was sequential. You can also think about parallel, some tree-based patching processes that I'm not going to talk about in this talk. So this notion of considering cryptographic primitives in the updateability context is not new and this has been studied under the banner of incremental cryptography. There is incremental signatures, encryption and so on. And concurrently, there was also this notion of incremental obfuscation studied by Gurgen Pandey. The results they achieve is different from ours. They, in their case, the size of the Turing machine updated is the same as the size of the Turing machine that you begin with. And on the other hand, they have better efficiency properties unlike ours. So if you want to know about it in more detail, I can talk offline. So let me state the theoretical applications. So we can actually get a very, very simple construction of FE for Turing machines starting from patchable IO. So the construction can be summarized in just one slide. So suppose let's say you want to generate a functional key for a Turing machine M. All you have to do is upfuscate a Turing machine, an input-less Turing machine that has hardwired into it, message X. And this X initially is set to BOT. And this upfuscated Turing machine will be the functional key. And now if you want to encrypt a message Y, you will generate an update, you will run the GenPatch algorithm on a patch that sets X to Y. Okay, so this is the encryption algorithm. So now how do you evaluate the functional key on the ciphertext? You essentially run the apply patch algorithm on the Turing machine as well as the secure encoding of the patch. And now you'll get a Turing machine that has, you'll get an upfuscation of a Turing machine that has Y hardwired inside it. And this is an input-less Turing machine, you just run this upfuscated Turing machine and then you will get M of Y, that's it. Yeah, as I said, this is a simple construction and if you're familiar with the previous construction, this, it was more involved and it directly built from IO4 circuits. Okay, so there are also other simple applications of patchable IO, such as multi-input function encryption for Turing machines. And you can also get IO4 Turing machines with unbounded length input. However, you need a very strong form of patchable IO that has this reusability property and we don't know how to achieve this notion of the strong notion of patchable IO, starting from just IO4 circuits. So let me give the technical details. So let me first lay out a simple template for single-program patchable IO and we will modify this template as we identify the problems associated with it. Okay, so in order to generate an upfuscation for Turing machine M, you're first going to encode M using an encoding scheme. And then you're also going to upfuscate a circuit that runs the decoding of this encoding algorithm and this also runs the evaluation algorithm on the result of the decoding on an input X that is fed to this upfuscated circuit. So this circuit takes as input encode of M and X and it runs the decode algorithm and then it outputs M of X. So the evaluation is simple, so on input X, you're just going to run this upfuscated circuit, get M of X and you're done. So now the question is, what is this encoding scheme? What are the properties it needs to satisfy? We require that the encoding scheme satisfies the following properties. It needs to satisfy correctness, hiding and patching properties. So firstly, we want that if you decode encode of, if you run the decoding algorithm on encode of M, then you should get M. And the second property is the hiding property. Whether I give you encoding of M zero or whether I give you encoding of M one, it should be indistinction from each other. And the final property is the patching property that should be able to combine encoding of M and an encoding of patch P to get encoding of M prime.  So there is a natural candidate to construct this patchable encoding scheme. And this is fully homomorphic encryption. So the correctness of fully homomorphic encryption implies the correctness of this encoding scheme and the hiding is implied by the semantic security and the patching property is implied by the homomorphic evaluation, correctness of homomorphic evaluation. Okay, so the main problem with this, okay, so now that we have identified this patchable encoding scheme, so let's see the problems with this template. The first problem is that the adversary can apply encoded patches of his choice. So he can change this encoding M to whatever he wants. And this should clearly be a problem. And a fix to this problem is to authenticate the patches. So the evaluator should only be able to apply patches that are authenticated. So let's make a second attempt to this template. So now the encoding of M will be the same as before. The first-coded circuit now runs the following steps. First it's going to verify the signature associated with an encoding of the patch. This encoding of the patch and the signature is input to the first-coded circuit. And then it runs the decode algorithm to get the machine M. And then it runs the update algorithm to get the new machine M prime. And then it's going to output the evaluation of M prime on X. So now in order to generate a secure patch, you're going to encode this patch P and you're going to generate a signature on this encoding. So the main issue with this approach is that now the adversary can apply patches out of order. So the authority says, hey, apply patch P1 first P2 and then P3. Of course he signs all these patches. But the evaluator could be malicious and he could apply patch two first and then patch one, patch three and so on. And there's no mechanism currently to deal with such an issue. And the fix for this is not to authenticate the patches, but to authenticate the patched machine. So what do I mean by that? Note that if you patch P on M, you'll get M prime, right? So the authority now generates a signature of encoding of M prime as against encoding of P. So let's see the solution in more detail. So the initial obfuscation algorithm is the same as before. Apple is going to maintain the state encode of M and the signing key. It is then going to generate the update algorithm to get encode of M prime. And then it's going to sign the encode of M prime and it's going to send encoding of this patch along with the signature. This is the basic template. And the problem with this approach is that the authority has to maintain a large state, it has to maintain the encoding of the software and the signing key. And this is fine. In any case, Apple has to maintain the software. However, it becomes a problem if it has to maintain personalized software for all its users. So then the storage would depend on the number of users it has. And the solution to this problem is sort of reverse delegation. So instead of the client delegating something to the server, the server is going to delegate something to the client. So the Apple is going to maintain the state at the user's end instead of maintaining a state sign. However, there are a couple of issues that we need to handle. The first issue is that the state contains secret information. And the second issue is that if Apple doesn't have the state, how does it even generate the secure patches? So it is already delegated to the client. And in order to solve this, you are going to use a tool of adaptive garbage-turing machines for persistent memory that have been studied by two prior works. And for some simpler updates, you can actually just use one-way functions-based carbon terms. So in order to go from single program to multi-program, there are other issues involved. I'm not going to talk about it in detail because of time constraints. We need additional tools to solve this step as well. So so far, we have just constructed a template for a single-program patchable I.O. And we have seen how to go from single-program to multi-program patchable I.O. So now the question is how to implement the template of single-program patchable I.O. So this template requires some properties that we need to solve. We need to handle, for instance, what is the, how do we get this encoding of the Turing machine to be patchable and so on? And to do this, we are going to use construction from prior work with Abhishek and Amit. And this essentially satisfies this template. And there are additional implementation issues that are tailor-made to this construction involved, which I'm not going to talk about with the second floor.


Let's get over to our man Mr. Basel Chap and Basel this afternoon folks right after my show four o'clock four to five thirty is going to be doing Subscribe a webinar, but it's very easy to be a subscriber of Basel You're going to be coming over to our website at TFNN You're going to see it right under featured content. You hit the subscribe button You can subscribe for a month six months a year It's a 30-day money back guarantee that gets you into the webinar The webinar is going to be an hour and a half Basel is going to be talking about the power of the 9 14 9 over the 14 Moving average other indicators as well as the Chapman wave methodology and he has a huge amount of other archives That are on there, so go check it out We're going to talk to Basel right now and he couldn't have a better market and then the Nvidia is coming out on top of this after the close Basel Chapman you you just hit it here man. You seem to always hit it man Even though we announced these a week to two weeks ahead of time man It's pretty cool. There's certain time cycles We'll see exactly how this one works out, but you know what's fascinating time. You were just talking about a goal You're talking about let me just show you. I'll just do a quick preamble here Just to say where we are for subscribers to my opening call We weren't short using a particular One of my technical tools were right yet the exact top and August the first we weren't short the Dow We have core long still from October of 2020 and the little the low of So March 2020 in October 2022 So this is a kind of a trading vehicle right now. We weren't short there using the same techniques We weren't short the kind of aggressively now We've lightened that up a little bit on the semiconductor at 161 17 was the height We weren't short just over 159 and we've got the three times short So we've got our stops in place. We've taken a really nice gains off there ready for anything So I just wanted to give that as a preamble within that for subscribers I like to have stocks that are priced in the very the single digits and double digits triple digits at a certain point I'm prepared to go for the higher price stocks and at other times I'm saying let's be a little cautious as go for the lower price on this pullback We've got a couple of lower price ones which are actually doing very nicely in this environment So with that said, I'm going to be looking at the different sectors And I'm going to be let me give you the chart right now. There it is. So It's the power of the 914 EMAs. So just as I talk about this I'll show you each one of these techniques. Look the 914 I've been talking about for about a week now I've been talking about crude oil. Let me just get rid of this right here I'll go to the chart that I need. I've been talking about if I can find it I've got all these different charts getting ready for it. There we go So this is the chart that I wanted to show you. This is the crude oil I've been speaking about you talking about deflation. So I'm talking about the crude oil, which is I He's talked about this a couple about a week ago I said, you know crude oil is starting to falter and there it is today the nine period closed negative So that says that there should be some pullback in crude oil That's one of the indicators I'm using and I'll go to the chart just so we can talk about it as you As you've been mentioning about deflation. Look here it is So crude oil gave a peak F in the Chapman wave It's now getting heading for the 200 p.m. moving average of 77.16 Talk about the 200 p.m. moving average. Look at the euro dollar Right on the tour. It didn't even know the 200 was there since it rallied off it in June of This year it rallied all the way to one point the one almost 1.13 And yet it is just kind of bouncing off that level Look at the power of the nine period moving average for the dollar It's like a magnet every time it goes above it It can do it for a little while and then it struggles Look it went above it back in May into early June and then it plummeted It's above it now and it's it's struggling a little bit. So you're absolutely right So I'm using these techniques and I'm looking at the different sectors different stocks Going through the stocks and out portfolio to say where can we add We just added back to one a couple of days ago. It started to act quite nicely And that's really important. So this is a perfect time in this big pullback We'll be looking at the the gold sector absolutely because this is a really big move up in gold But gold itself is not quite as good as silver. So I'll be explaining what I'm looking at Look at that powerful move in silver off the 200 period moving average So it's really important that I look at all these different stocks And ETFs are different sectors and say, hey, this is what's happening now And even if there's a really big pullback because maybe Nvidia doesn't give everything that everybody's expecting And we actually pull back tomorrow There are certain stocks and sectors that are starting to try to form a base and that's really important So I'll be talking about it's absolutely relevant to this particular market at this particular time Using all the different indicators that I have some of it's very simple and some of it's a little complex So I'm going to try to make it as simple as possible. I've got it all ready Nice At four o'clock no matter what Nvidia does We're all ready for whatever presents to us and folks. It's very easy come over Our website at TFN. You're going to see it right in the featured program The opening call subscribe the webinar you just hit subscribe Bottom line you can subscribe for one month for $149 six months for 695 a year for 1195 That's a you know the six month in a year a big discount folks The bottom line is the 30 day money back guarantee you've committed a workshop You're going to get a great newsletter and if it works for you awesome if it doesn't work for you I guess what you can cancel in 29 days and you've also still got a great webinar got some great education I'm just seeing how the market moves Basil you have a great one a safe one Of course, so we look forward to the webinar in 45 minutes So do I thank you very much. Thank you. Have a great day. Okay. Have a great one. Have a safe one


My name is Mark Shklav. I am the host of Think Tech Hawaii's law across the C program. Today we're going across the C to the Big Island of Hawaii to talk with Jeffrey Foster about Maui insurance claims. Jeffrey is a lawyer in Kailua, Kona who represents clients throughout the Hawaiian Islands with a focus on personal injury claims and civil litigation. Interesting for our present discussion. He has represented clients with insurance claims related to the 2018 Kilauea eruption. Jeffrey recently posted a 10 point checklist to help Maui homeowners present and pursue insurance claims for the loss of their homes, vehicles and other properties suffered due to the recent devastating brush fires. I've asked Jeffrey to share his checklist with us. Welcome Jeffrey. Welcome Mark. I appreciate you having me here today. Thank you, Mahalo. We are trying to help people and I think that's what you were trying to do. I wanna ask you some questions about that. I know that you are a lawyer that deals with these type of issues but your post was a 10 point checklist of general information on how to make and present a homeowner's claim. Now, why did you post that information and who was your intended audience? What was your purpose? Well Mark, my purpose was really more of a self help guide to just some things to pay attention to when making a homeowner's claim specifically. Homeowner's insurance is a unique area of insurance law and it's an area that frankly not a lot of attorneys have a significant experience in because a lot of times attorneys aren't needed in connection with presenting and pursuing homeowner's claims. Back in 2018, we got involved in the Kilauea eruption homeowner's insurance litigation. We represented over a hundred people. We filed over 50 lawsuits because an insurance company decided to deny hundreds of insurance claims for folks who lost everything after the eruption. So you had experience with the Kilauea 2018 eruption. What motivated you to post the ad information this time with respect to Maui? What I was trying to accomplish with that post was to provide people with some general information and some ideas on how to present an insurance claim and specifically a homeowner's insurance claim to their insurance companies for both destroyed and damaged homes. And what I was trying to accomplish is to avoid a situation that we had back in 2018. In 2018, after the Kilauea eruption, an insurance company decided to deny hundreds of insurance claims and those denials left people devastated financially, displaced, in despair, and all of the emotional effects that result from going one day from having a home to the next day trying to figure out where home was going to be. So my objective this time in terms of putting together the checklist was to provide information to people to be able to present their claims and to try to recover at least some of what was lost in terms of financial compensation from their insurance companies in a way that wouldn't involve attorneys becoming involved. Attorneys or public adjusters or frankly anyone who would take a percentage or a fee for presenting a claim. There's a time and a place for public adjusters and for attorneys and I'm not here to judge or to comment on the role attorneys and public adjusters play in presenting insurance claims. But for those folks who are looking for some guidance and some information and some clarity in terms of the process, that was my objective. Okay, well, let's get started on that. I wanna ask you, please go through your 10 point checklist. And I understand you'll go through it briefly but we'll then provide maybe some opportunities of where people can get it if they wish. So please start with your checklist and let's go through the 10 points. So the first thing to do in this process is to call your insurance company. Okay, now for insurance companies like State Farm and Allstate and those types of companies you wanna call the company director. Sometimes there's an application on your phone that you can use to report a claim. Okay, filling out a claim form. I've heard a lot of talk about filling out a claim form. That's not necessary. All that's necessary is to report the claim. And again, for the Allstate and the State Farms calling the claims number is sufficient, reporting the claim is sufficient. If you have a company like First Insurance, Island Insurance, you may need to call your insurance agent to report the claim. And when you report the claim there's a couple things to think about. Number one, you wanna report the claim as a total loss if your home has been destroyed and that you're making claims under any and all available coverages. Okay, some of those coverages will include a dwelling coverage which covers your home, personal property or contents coverage which will cover the contents of the home. There's loss of use coverage which is available short-term financial compensation that's available. There's additional living expense or ALE that's available. And those coverages, the loss of use and the ALE are available right away. So again, the first step in the process is to report the claim. One other thing to think about when reporting the claim is if your insurance agent or anyone who you're speaking to has to submit something in writing to actually report the claim on your behalf ask for a copy of that. Ask for a copy of any document that's submitted for the claim, be emailed to you. Okay, what's next? So the second step in the checklist advise you reporting a total loss of your dwelling and property. And a total loss means that the home and the contents were destroyed. Now, a total loss is a technical term that is used in the insurance business to advise the insurance company that your home and the contents have been destroyed.  We'll talk about that in a little bit. But with every coverage contained in your insurance policy there'll be a limit of coverage, a dollar figure. And it's that dollar figure that you're gonna be requesting as we move forward with the claims process. So for number two, again, advise you reporting total loss of your dwelling and property. Okay, number three. Okay, number three, advise you are making total loss claims that are all available coverages. Okay, so some of the other coverages I spoke about earlier loss of use, additional living expenses, those are the really important coverages for the short term, because those are the coverages that will give you money in your pocket right away. Okay, additional living expense should be paid immediately. Loss of use should be paid immediately. And those coverages should be requested during that initial phone call. And one thing we dealt with in the Kilauea eruption was the fact that people needed to update their contact information. Okay, ask where you can pick up a check. Ask if there's claims offices that have been set up in Lahainu or up country. Those claims offices really should be set up to provide outreach to those affected. So one of the questions that you wanna ask during that first phone call is, is there a claims office located in my area? And if there's not, you maybe can make arrangements to meet someone, ask them to fly over, ask the adjuster to fly over to bring you a check if they're on Oahu or somewhere else. They insured the property on Mali, they need to be on Mali to help you. Okay, number four. Number four, request immediate payment of loss of use and additional living expenses. Again, that's in this initial phone call when you report the claim. I want my payment, I want my money, I want my loss of use, I want my additional living expenses. If they try to ask you questions, if they try to make you give a recorded statement. Again, any questions that they ask you, the response should be, where in my policy does it require me to do that? Okay, where in my policy does it say, or can I confirm what you're saying? Okay, because typically the person that you're calling on the other end of that initial phone call isn't the person that you're gonna be dealing with. Okay, so you can actually give a fair amount of information or I'm sorry, receive a fair amount of information from that initial phone call. And again, make sure you update an address if you have one. And also make sure you give an email address to the person that you're speaking to. And make sure that that person confirms the email address as you're speaking in that initial phone call when you report the claim. Okay, next, number five. Request email address for claims and request claim number and adjust or contact info. Again, this is on your first call. This is on the call where you're reporting the claim. You wanna know where to send information, documents, photos, and everything involving your claim. In that initial, again, this is the initial reporting phone call. You wanna ask whether a claim number has been generated. Okay, because you wanna use that claim number on any and all correspondence, any communications, any emails that you send to the insurance company. You want to use that claim number in the subject line of emails. You wanna use it on the top of any letters that you write and you wanna use it in any and all correspondence communications with the insurance company. But you also wanna request whether an adjuster has been assigned to these claims. One thing that we wish we would have had after the killer way eruption was catastrophe claims adjusters. I don't know whether catastrophe claims adjusters are on the ground in Maui. I've heard that they're not, but if they are, like some of the folks we dealt with had experienced with Hurricane Katrina and catastrophe adjusters were going door to door or writing those ALE checks to folks, figuring out what they needed, lost abuse money, literally door to door with a checkbook giving people the payments that were called for under the policy. Okay, number six. Number six, request the declaration page and certified copy of the policy be emailed to you. Okay, declaration page. That's another one of these insurance terms. What it really means, it's a list. The declaration page is a list and it contains a list of all of your coverages, dwelling, personal property, loss of use, additional living expense, trees and shrubs. Okay, there's compensation under a lot of policies for trees and shrubs. And every homeowner's policy will be different. Okay, some will have all those coverages. Some will have some of those coverages, but what the declaration page does is it lays out what the coverages are. Now, that's the first part of the process. The second part of the process is to request the actual policy. Ask for a certified copy of the policy because this is the policy that the insurance company validates as being the one that was in effect on the date of loss. Okay, on the date that the home was damaged or destroyed, and that should be emailed to you. You should request the declaration page. Again, we're talking about the initial phone call. The initial phone call where you're reporting the claim. Ask for that declaration page and ask for that certified copy of the policy. The declaration page should be emailed to you immediately. The certified copy of the policy may take a week, maybe a couple of weeks for you to get but the declaration page is really important because it'll give you information about what you have in terms of coverage. Okay, number next, seven. Request that information provided by the adjuster over the phone. Be confirmed in an email. This is really important. Oftentimes, claims adjusters and other insurance folks will have conversations with you over the phone. Frankly, they'll tell you everything you want to hear and they'll make promises. They'll say things. And again, not that they at the time believe that they can't make good on those promises and those representations. But one way to make sure that communications are documented is by requesting an email from the adjuster after the phone call confirming everything she or he said during that call. Okay, really important. One thing I'd like to talk about just real quick is claims diaries. Okay, I've heard a lot about, you know, make a diary, make a claims diary. And if you do do that, be really careful. Really, it should be just date of communication and a simple one line about what was discussed. Because in the event there is a denial down the road, those claims diaries, anything you write down in connection with your claim could be turned over in discovery in the lawsuit. And so if you write down, you know, I don't think my adjuster is being honest or you write down some thoughts about what you think a basis for denial would be, you know, those things will come out later on. So be really short, be really concise. Just date, you know, the facts as you understand them in a sentence at the most. Keep it simple. Yeah. Kids, keep it super simple. Yes. Yes, Mark. Next, next. Okay, this is, this is, so you've made the claim. You've reported the claim. Hopefully you've got your claim number. You've got your adjuster information. Hopefully the process of additional living expense, loss of use and, and the other short term coverages, that process has started. Hopefully you're getting money. But as soon as possible, especially in the context of a home and contents being destroyed is to make your policy limits demand. Okay. Now, before we talked about coverages, okay, every coverage has a limit, okay, a limit of that coverage. So what a policy limits demand is, it's requesting that the insurance company pay out the policy limits under each of those coverages. And the policy limits demand, one thing you can reference in your demand is Hawaii Rules of Evidence, HRE 408. Okay. It's a rule that protects settlement communications. Okay. So for whatever reason they want to bring that up later on, it's going to be a protected communication. And when you make your policy limits demand again, keep it super simple. Identify the coverage, request that the, that the coverage limits be tendered. Okay. Identify the coverage, request that the coverage limits be tendered. Now, one way to do it is just to say, Hey, I'm requesting policy limits under any and all available coverages based on the total loss of my home and contents. Okay. Again, don't get into any speculation. Don't make any statements about anything you didn't see with your own two eyes. Don't say anything that could potentially be used against you again. This is a one page document. Okay. This isn't, you know, any, any type of, of, of explanation. You don't have to explain. You don't have to play detective. You don't have to opine on any cause of loss. Make it simple. Checklist number nine. Checklist number nine. Here we go. Keep the policy limits demand short and simple request policy limits payments of all coverages in 30 days. Okay. Again, no need to explain yourself. No need to use insurance terms. No need to talk about replacement costs versus actual cash value. No need to go into any detail, especially if you don't understand. So keep it simple. Ask for the policy limits tender in 30 days. Your policy may have a different provision for the payment, but you can still ask. There's no harm in asking for a 30 day response. Okay. Number 10 checklist number 10. Okay. So the policy limits demand is denied or the adjuster offers less than policy limits request the justification and writing. Again, this goes to every conversation you have with an adjuster, you should request that the adjuster follow up with an email confirming the conversation. Okay. Sometimes they won't do it. Okay. And what happens in that case? What happens if you don't receive that email from the adjuster? Well, if you have notes on the conversation that you can remember, you can confirm it yourself. But again, make it super simple. We don't want a big email trail of speculation of policy holders trying to figure out what happened or trying to get to the bottom of why an adjuster made the decision they made. Now, I'd like to talk for a second about good faith obligations. Okay. Folks paid premiums for these homeowners policies and a lot of money they pay every year for premiums. Okay. Because it's a contract between the policy holder and the insurance company. There are good faith obligations that the insurance company has to the policy holder and those good faith obligations. There's a lot that goes to it, but really at the end of the day, it's basically they need to treat you right. They need to honor claims. They need to pay claims timely. They need to do what is not in their financial best interest, but what's required under the terms of the policy. And that's really important because there's nowhere in your policy that will say good faith obligations. It's the law. And the law requires them to operate in good faith. And I'm hopeful. I'm hopeful and I pray and I'm optimistic frankly that the insurance company is involved in these cases. We'll do the right thing, honor their good faith obligations and timely pay claims and frankly send people out to the affected areas with their checkbooks to honor the insurance contracts that they received money for. It's time for them to pay and it's time for them to make sure that the people who need their help receive it. Okay.  Now, if I'm a Maui resident, where could I find this for you and are you going to be doing anything more to help the Maui folks who want to make claims? Okay. So the checklist in a little bit different format is available on social media. You can just do a search for Jeffrey Foster. You'll find me. I think the post is actually public. So you'll probably find it on mine or someone else's. But I did want to say that we will be at the Maui Beach Hotel. We actually reserved the ballroom for August 23 and 24. And this is a free seminar for people to come in. We'll do a presentation. It will be a PowerPoint presentation on the claims process with a little more detail than what I'm giving today. But it'll also be an opportunity for folks to ask questions and for us to answer specific questions about claims, about policies, about timelines. We encourage people to bring their policies. This isn't a situation where we're taking on clients. We're not taking on clients. This is pro bono. This is something that we want to do because we saw the problems that happened after the Kilauea eruption where people weren't getting the right information. And unfortunately, because they weren't getting the right information, and folks were speaking to adjusters and people were frankly speculating on, you know, coverages and provisions and policies that they truly didn't understand. It led to some really, really bad results in the short term for folks. So we are now really hoping to get the right information out there and, you know, do what we can to help as many folks as we can help over there. And one thing I can take out of this conversation with you, you want people to keep it simple. You want them to keep a record of what they're doing. And make sure they can get confirmation from the insurance folks they're dealing with. Now, let me ask you this question. If I'm calling an insurance adjuster or insurance company for help, can I record that conversation? That's a good question. I think if they're in Hawaii, that is a first party. It's a one-party consent state. So the answer is yes. Conservatively, I would say don't do that, okay? Because again, while you may be recording them, it's also recording you. So I don't think I'd recommend that.  One other thing I'd like to add is that if you do have, you experience delay or you experience, you know, treatment that you don't think you're, the treatment you should receive, you can file a complaint with the Hawaii Insurance Commissioner. So what we understand, most of the insurance companies involved over on Maui are what are called admitted carriers. What we dealt with, what we're dealing with still over from the Kilauea eruption were surplus lines carriers such as Lloyds of London. And they are not regulated per se by the insurance commissioner. So again, I think we have a little bit different situation this time in terms of who's involved. And that really means a lot when it comes to, insurance insurers honoring their obligations. Okay. You talk about calling the insurance company. How about the insurance agent that helped you get the policy in the first place? Does it help talk to that? Absolutely. Absolutely. Can they help you? Well, you know, they can, but really I think, again, I think communications with the insurance agent who sold you the policy should be limited to reporting the claim. Okay. I'm calling to report the claim, you know, and they may ask some questions. Okay. And the answer again, unless you've seen it with your own eyes, don't speculate on the cause. Don't speculate on anything. Say my home has been destroyed. My contents have been destroyed. That's really as far as it should go at that stage. If you're not getting responses from the insurance company, then you can email the agent or you can call the agent say, Hey, I called and made this claim two weeks ago and I haven't heard anything. My adjuster is not following up. I think that's a role that the insurance agents can play to, to, to serve as an advocate for their, for their policy orders. Okay. So you're, you're going to be going over to Maui and putting on a free, free seminar for people to help them know how to file their claims and process them. How did they get involved in that? How do they find out about that? Is there going to be some advertisement or something notice put out?  So we'll probably put a fire on social media. But again, we want to be really respectful because we know that there's a lot of people out there advertising, you know, we know men on folks are coming in, you know, and doing some things that I think have really upset a lot of us, you know, and trying to sign up these claims. That's not what we're doing. What we're doing is simply trying to provide a community service for people to get their questions answered and to, you know, to provide some self help. Well, I mean, I heard you say that you say don't, you don't need to hire an attorney. And if you can get this process done by yourself, I guess what are your last words? What have you learned from all of this experience? And what would you say to the Maui folks about what they're going through? There are no words. I mean, just sending Aloha, trying to help, you know, we're very, very small places that I can chip in and, you know, share the experiences that I dealt with, you know, and, you know, just try to get people on their feet financially as best as we can. And not, and again, I'm not saying don't hire an attorney. They don't hire a claims adjuster because folks are so many emotions, obviously, are going through people's heads and, and then their hearts. And we, we understand that if you need help, you know, go get the help you need. But I, from, from my experience, I don't want to see people pay out, especially on their policies. Now, if an attorney is going to review an insurance contract for, you know, a couple hundred dollars and just kind of lay out the process, that's great. But, you know, when it comes to contingency fees and, and the things that are being requested, I think that I've seen out there, it's just not necessary. Now, if your claims deny, you do need an experienced litigator to, to, to, you know, to do the things that an experienced litigator does, which is all the insurance company accountable. But at the end of the day, right now, I'd really like to see people use as much of their insurance money as they can to, you know, to do what they have to do to survive and to, to rebuild. And put their lives back together. Jeffrey, thank you very much for giving this presentation and getting this information out to the people of Maui who need it. And it'll help them move forward. So thank you very much. Aloha.