From 71b77f0f00a0edeec76ff7cd88e7b5622f3499f5 Mon Sep 17 00:00:00 2001 From: krt Date: Fri, 15 Dec 2023 16:20:18 +0200 Subject: [PATCH] Added plugin FastNoiseGenerator. Added noise to landscape approach2 in map02. WIP --- Content/Main/BP_landscape2.uasset | 4 +- .../7/3N/VCCLQN61UIVZBYMV1WAWEW.uasset | 3 - .../C/HI/AMUUABQI3QG7E75IYB2R4G.uasset | 4 +- .../Config/FilterPlugin.ini | 3 + .../Documentation/Blueprint_nodes.png | 3 + .../Documentation/FNG_documentation.pdf | Bin 0 -> 420361 bytes .../FastNoiseGenerator.uplugin | 34 + .../FastNoiseGenerator/Resources/Icon128.png | 3 + .../FastNoiseGenerator.Build.cs | 53 + .../Private/FastNoiseGenerator.cpp | 20 + .../Private/FastNoiseWrapper.cpp | 5 + .../Public/FastNoiseGenerator.h | 15 + .../Public/FastNoiseWrapper.h | 409 +++ .../ThirdParty/FastNoise/FastNoise.Build.cs | 36 + .../Source/ThirdParty/FastNoise/LICENSE.txt | 21 + .../FastNoise/Private/FastNoise.cpp | 2250 +++++++++++++++++ .../FastNoise/Private/FastNoiseModule.cpp | 20 + .../ThirdParty/FastNoise/Public/FastNoise.h | 315 +++ .../FastNoise/Public/FastNoiseModule.h | 15 + 19 files changed, 3206 insertions(+), 7 deletions(-) delete mode 100644 Content/__ExternalActors__/Main/Map_02_attempt2/7/3N/VCCLQN61UIVZBYMV1WAWEW.uasset create mode 100644 Plugins/FastNoiseGenerator/Config/FilterPlugin.ini create mode 100644 Plugins/FastNoiseGenerator/Documentation/Blueprint_nodes.png create mode 100644 Plugins/FastNoiseGenerator/Documentation/FNG_documentation.pdf create mode 100644 Plugins/FastNoiseGenerator/FastNoiseGenerator.uplugin create mode 100644 Plugins/FastNoiseGenerator/Resources/Icon128.png create mode 100644 Plugins/FastNoiseGenerator/Source/FastNoiseGenerator/FastNoiseGenerator.Build.cs create mode 100644 Plugins/FastNoiseGenerator/Source/FastNoiseGenerator/Private/FastNoiseGenerator.cpp create mode 100644 Plugins/FastNoiseGenerator/Source/FastNoiseGenerator/Private/FastNoiseWrapper.cpp create mode 100644 Plugins/FastNoiseGenerator/Source/FastNoiseGenerator/Public/FastNoiseGenerator.h create mode 100644 Plugins/FastNoiseGenerator/Source/FastNoiseGenerator/Public/FastNoiseWrapper.h create mode 100644 Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/FastNoise.Build.cs create mode 100644 Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/LICENSE.txt create mode 100644 Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Private/FastNoise.cpp create mode 100644 Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Private/FastNoiseModule.cpp create mode 100644 Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoise.h create mode 100644 Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoiseModule.h diff --git a/Content/Main/BP_landscape2.uasset b/Content/Main/BP_landscape2.uasset index 0b95e78..4d46847 100644 --- a/Content/Main/BP_landscape2.uasset +++ b/Content/Main/BP_landscape2.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:06c1ac5dd9d98e55454e73b0ef44b5ff31ebc9b55e55010c738fadf91091799a -size 218198 +oid sha256:d0fffc9175336f47987f590fff359656bae0088f62c5f3f6c2156a5e8c4f9417 +size 348346 diff --git a/Content/__ExternalActors__/Main/Map_02_attempt2/7/3N/VCCLQN61UIVZBYMV1WAWEW.uasset b/Content/__ExternalActors__/Main/Map_02_attempt2/7/3N/VCCLQN61UIVZBYMV1WAWEW.uasset deleted file mode 100644 index db00a9d..0000000 --- a/Content/__ExternalActors__/Main/Map_02_attempt2/7/3N/VCCLQN61UIVZBYMV1WAWEW.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3396603311ddc697ba938611f0bf88306dfc65de3e8827b64c1f6ca2cb144219 -size 3509 diff --git a/Content/__ExternalActors__/Main/Map_02_attempt2/C/HI/AMUUABQI3QG7E75IYB2R4G.uasset b/Content/__ExternalActors__/Main/Map_02_attempt2/C/HI/AMUUABQI3QG7E75IYB2R4G.uasset index 8d0829b..b7a940a 100644 --- a/Content/__ExternalActors__/Main/Map_02_attempt2/C/HI/AMUUABQI3QG7E75IYB2R4G.uasset +++ b/Content/__ExternalActors__/Main/Map_02_attempt2/C/HI/AMUUABQI3QG7E75IYB2R4G.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac4c82ffd4b1b70eb9729cd57c5bc63badc4674d1440dea74ff0c67b08caa17d -size 5009 +oid sha256:0de2e109a4aee172634616233d210afb6caabd04d4c7cbb277bc31aca78ea0c2 +size 6461815 diff --git a/Plugins/FastNoiseGenerator/Config/FilterPlugin.ini b/Plugins/FastNoiseGenerator/Config/FilterPlugin.ini new file mode 100644 index 0000000..abfb8c3 --- /dev/null +++ b/Plugins/FastNoiseGenerator/Config/FilterPlugin.ini @@ -0,0 +1,3 @@ +[FilterPlugin] +/Config/* +/Documentation/* diff --git a/Plugins/FastNoiseGenerator/Documentation/Blueprint_nodes.png b/Plugins/FastNoiseGenerator/Documentation/Blueprint_nodes.png new file mode 100644 index 0000000..eb0ca3d --- /dev/null +++ b/Plugins/FastNoiseGenerator/Documentation/Blueprint_nodes.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd940bf19bf92e1cfedf8387eb3c6faa870542e895c6f64977a13da003daf0a4 +size 826041 diff --git a/Plugins/FastNoiseGenerator/Documentation/FNG_documentation.pdf b/Plugins/FastNoiseGenerator/Documentation/FNG_documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d65242c4cb984d7c729149df06c320a13b60948a GIT binary patch literal 420361 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­UTMc06RJ`D z-9v1OEz=%sigOO;JSfh3`EHx0@w*@{afTx}>DH&X7k746w_2^kX|V2)8*wLCa!*vUML9T3B62u_U>USof@|M%5viPSNf` z$<1>UMw+e6cIQ(Qt`8_f*4bf*<;Ti zG2|Q^PzBph5VojTFP63dU_qb0srQz9KqF819`XVDirIqu&%9qM?I*O6e9gaSW>JDi z5)3H880p*Ips~{CY0_#!!P?dWWR*&TyMUSK2?J{9 zj4Fc1JtzZW*48U{ipLTnu`RJj89h(q^rj_+yfenoLj*ww0U-eTb?hsf)I3VIt8^_w z&n2NxHTSkM+kp#`ae`N#dXbLxnQ!8_C)zHqC&&%{yki*{z<98Go~Uuxu%Hg_?Ka|8 zMRjQug>bx-C!d=gKN_PZyJ+{%Wp5{)G(bGQSr|dM1Cn^-IV0HCQ#`tzh2NEbHMP5K zBIkT>8UQfEa3Q*N-OnEU<>`r~MFf^QedWEx(jiA#6_iTdv&SpPKt=)QGy$~QwcXUp zwzlhcV=CrLgF38gIo!Q6Fg18~9KI`^(}ZCWTG zSkqd>xWtCu+aLk_2oBW={{W$P;}xrUZDV5!vF%Kk=F~xagZvcTEvh}wvTIfaU(#oMzY2u8@7*?vD}b(IlY&vFYztbxGk^E#{W=K(4rnt|KG|9P&m8IPMsJJX5V~e$%P0t!H*d z5uutUA%hSxoc1{bIT@+q(^4ttmfczzB*=JyCNkY~j)0zedj4P;b7<>vFZQ*$k))gh zaRsc&By#%vt$@Jw~$UjB{0>zlrQi!=^`JU{2E`+!4Ff0-!seY@U_UL#)Gl zau7pzorvS*-4ub-I45bx2N~e@CX-UrZSN!!NS4sZFskyy=7|&!;Q;=bKh}Ub>wR|E zhqBYGqW#=&G;&I;#ibmQ0b*Aw8@_Xj%(ru?ypzeJLn7z*mmYM8p!eL+Q$Wv4=) zYqYe6RgFZ6bsS3SaDHGFPC>`7uc*ahYmrNFauV{w=1X9IaV3d`G4+j{> zdYeq}_=@f;kF*%0e8ytDkIHf!6yuT!`M**0s!eJjL22SBF0I5ILp*7?N_ho9hH=~Us-oPcr8TX;oea#ORoxGj4%I5AER1Iu&pi(Wn$Oj4Q&PRUunu9h zi!nLM0Tli}kyw|)zs+?h@5TW%MB>sVF&&8{=7l!Su z!2sOcfZ6`)f`6XcweYsj?A{EHVz_Imo>EU!&e8t>pw{lW;e9K_W&^3f^7$LQyhzK9 z*v~`kC16i0fx~`o(4l>X@nDXDg#{0^> z4l|C}uX6tYg=67g`SFwg00JNUX#W6(W8q)<@ss}m0w4Tn1Hko9hLT>v6ttv4Ic}njpk-~M6UHM00T28H0bfJ-x5K(uhx|dI+i38- zGfg3RTg_%WK^~|5>he8x?)5Ja&Mci~iD%h8tf;aD=kF*ZAy2k2ezXD8_(Imj^!c@G zu^`je_p$uM7JooS3buG4aCkk=eG9_A6PLvjCcCeO`yO*^XV5bGpKs^%tUVt@O

+W%jB(X(hIln>FIuU8^~=9BRZe+n$7%0pNh_0 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 +#include + +#include +#include + +const FN_DECIMAL GRAD_X[] = +{ + 1, -1, 1, -1, + 1, -1, 1, -1, + 0, 0, 0, 0 +}; +const FN_DECIMAL GRAD_Y[] = +{ + 1, 1, -1, -1, + 0, 0, 0, 0, + 1, -1, 1, -1 +}; +const FN_DECIMAL GRAD_Z[] = +{ + 0, 0, 0, 0, + 1, 1, -1, -1, + 1, 1, -1, -1 +}; + +const FN_DECIMAL GRAD_4D[] = +{ + 0,1,1,1,0,1,1,-1,0,1,-1,1,0,1,-1,-1, + 0,-1,1,1,0,-1,1,-1,0,-1,-1,1,0,-1,-1,-1, + 1,0,1,1,1,0,1,-1,1,0,-1,1,1,0,-1,-1, + -1,0,1,1,-1,0,1,-1,-1,0,-1,1,-1,0,-1,-1, + 1,1,0,1,1,1,0,-1,1,-1,0,1,1,-1,0,-1, + -1,1,0,1,-1,1,0,-1,-1,-1,0,1,-1,-1,0,-1, + 1,1,1,0,1,1,-1,0,1,-1,1,0,1,-1,-1,0, + -1,1,1,0,-1,1,-1,0,-1,-1,1,0,-1,-1,-1,0 +}; + +const FN_DECIMAL VAL_LUT[] = +{ + FN_DECIMAL(0.3490196078), FN_DECIMAL(0.4352941176), FN_DECIMAL(-0.4509803922), FN_DECIMAL(0.6392156863), FN_DECIMAL(0.5843137255), FN_DECIMAL(-0.1215686275), FN_DECIMAL(0.7176470588), FN_DECIMAL(-0.1058823529), FN_DECIMAL(0.3960784314), FN_DECIMAL(0.0431372549), FN_DECIMAL(-0.03529411765), FN_DECIMAL(0.3176470588), FN_DECIMAL(0.7254901961), FN_DECIMAL(0.137254902), FN_DECIMAL(0.8588235294), FN_DECIMAL(-0.8196078431), + FN_DECIMAL(-0.7960784314), FN_DECIMAL(-0.3333333333), FN_DECIMAL(-0.6705882353), FN_DECIMAL(-0.3882352941), FN_DECIMAL(0.262745098), FN_DECIMAL(0.3254901961), FN_DECIMAL(-0.6470588235), FN_DECIMAL(-0.9215686275), FN_DECIMAL(-0.5294117647), FN_DECIMAL(0.5294117647), FN_DECIMAL(-0.4666666667), FN_DECIMAL(0.8117647059), FN_DECIMAL(0.3803921569), FN_DECIMAL(0.662745098), FN_DECIMAL(0.03529411765), FN_DECIMAL(-0.6156862745), + FN_DECIMAL(-0.01960784314), FN_DECIMAL(-0.3568627451), FN_DECIMAL(-0.09019607843), FN_DECIMAL(0.7490196078), FN_DECIMAL(0.8352941176), FN_DECIMAL(-0.4039215686), FN_DECIMAL(-0.7490196078), FN_DECIMAL(0.9529411765), FN_DECIMAL(-0.0431372549), FN_DECIMAL(-0.9294117647), FN_DECIMAL(-0.6549019608), FN_DECIMAL(0.9215686275), FN_DECIMAL(-0.06666666667), FN_DECIMAL(-0.4431372549), FN_DECIMAL(0.4117647059), FN_DECIMAL(-0.4196078431), + FN_DECIMAL(-0.7176470588), FN_DECIMAL(-0.8117647059), FN_DECIMAL(-0.2549019608), FN_DECIMAL(0.4901960784), FN_DECIMAL(0.9137254902), FN_DECIMAL(0.7882352941), FN_DECIMAL(-1.0), FN_DECIMAL(-0.4745098039), FN_DECIMAL(0.7960784314), FN_DECIMAL(0.8509803922), FN_DECIMAL(-0.6784313725), FN_DECIMAL(0.4588235294), FN_DECIMAL(1.0), FN_DECIMAL(-0.1843137255), FN_DECIMAL(0.4509803922), FN_DECIMAL(0.1450980392), + FN_DECIMAL(-0.231372549), FN_DECIMAL(-0.968627451), FN_DECIMAL(-0.8588235294), FN_DECIMAL(0.4274509804), FN_DECIMAL(0.003921568627), FN_DECIMAL(-0.003921568627), FN_DECIMAL(0.2156862745), FN_DECIMAL(0.5058823529), FN_DECIMAL(0.7647058824), FN_DECIMAL(0.2078431373), FN_DECIMAL(-0.5921568627), FN_DECIMAL(0.5764705882), FN_DECIMAL(-0.1921568627), FN_DECIMAL(-0.937254902), FN_DECIMAL(0.08235294118), FN_DECIMAL(-0.08235294118), + FN_DECIMAL(0.9058823529), FN_DECIMAL(0.8274509804), FN_DECIMAL(0.02745098039), FN_DECIMAL(-0.168627451), FN_DECIMAL(-0.7803921569), FN_DECIMAL(0.1137254902), FN_DECIMAL(-0.9450980392), FN_DECIMAL(0.2), FN_DECIMAL(0.01960784314), FN_DECIMAL(0.5607843137), FN_DECIMAL(0.2705882353), FN_DECIMAL(0.4431372549), FN_DECIMAL(-0.9607843137), FN_DECIMAL(0.6156862745), FN_DECIMAL(0.9294117647), FN_DECIMAL(-0.07450980392), + FN_DECIMAL(0.3098039216), FN_DECIMAL(0.9921568627), FN_DECIMAL(-0.9137254902), FN_DECIMAL(-0.2941176471), FN_DECIMAL(-0.3411764706), FN_DECIMAL(-0.6235294118), FN_DECIMAL(-0.7647058824), FN_DECIMAL(-0.8901960784), FN_DECIMAL(0.05882352941), FN_DECIMAL(0.2392156863), FN_DECIMAL(0.7333333333), FN_DECIMAL(0.6549019608), FN_DECIMAL(0.2470588235), FN_DECIMAL(0.231372549), FN_DECIMAL(-0.3960784314), FN_DECIMAL(-0.05098039216), + FN_DECIMAL(-0.2235294118), FN_DECIMAL(-0.3725490196), FN_DECIMAL(0.6235294118), FN_DECIMAL(0.7019607843), FN_DECIMAL(-0.8274509804), FN_DECIMAL(0.4196078431), FN_DECIMAL(0.07450980392), FN_DECIMAL(0.8666666667), FN_DECIMAL(-0.537254902), FN_DECIMAL(-0.5058823529), FN_DECIMAL(-0.8039215686), FN_DECIMAL(0.09019607843), FN_DECIMAL(-0.4823529412), FN_DECIMAL(0.6705882353), FN_DECIMAL(-0.7882352941), FN_DECIMAL(0.09803921569), + FN_DECIMAL(-0.6078431373), FN_DECIMAL(0.8039215686), FN_DECIMAL(-0.6), FN_DECIMAL(-0.3254901961), FN_DECIMAL(-0.4117647059), FN_DECIMAL(-0.01176470588), FN_DECIMAL(0.4823529412), FN_DECIMAL(0.168627451), FN_DECIMAL(0.8745098039), FN_DECIMAL(-0.3647058824), FN_DECIMAL(-0.1607843137), FN_DECIMAL(0.568627451), FN_DECIMAL(-0.9921568627), FN_DECIMAL(0.9450980392), FN_DECIMAL(0.5137254902), FN_DECIMAL(0.01176470588), + FN_DECIMAL(-0.1450980392), FN_DECIMAL(-0.5529411765), FN_DECIMAL(-0.5764705882), FN_DECIMAL(-0.1137254902), FN_DECIMAL(0.5215686275), FN_DECIMAL(0.1607843137), FN_DECIMAL(0.3725490196), FN_DECIMAL(-0.2), FN_DECIMAL(-0.7254901961), FN_DECIMAL(0.631372549), FN_DECIMAL(0.7098039216), FN_DECIMAL(-0.568627451), FN_DECIMAL(0.1294117647), FN_DECIMAL(-0.3098039216), FN_DECIMAL(0.7411764706), FN_DECIMAL(-0.8509803922), + FN_DECIMAL(0.2549019608), FN_DECIMAL(-0.6392156863), FN_DECIMAL(-0.5607843137), FN_DECIMAL(-0.3176470588), FN_DECIMAL(0.937254902), FN_DECIMAL(0.9843137255), FN_DECIMAL(0.5921568627), FN_DECIMAL(0.6941176471), FN_DECIMAL(0.2862745098), FN_DECIMAL(-0.5215686275), FN_DECIMAL(0.1764705882), FN_DECIMAL(0.537254902), FN_DECIMAL(-0.4901960784), FN_DECIMAL(-0.4588235294), FN_DECIMAL(-0.2078431373), FN_DECIMAL(-0.2156862745), + FN_DECIMAL(0.7725490196), FN_DECIMAL(0.3647058824), FN_DECIMAL(-0.2392156863), FN_DECIMAL(0.2784313725), FN_DECIMAL(-0.8823529412), FN_DECIMAL(0.8980392157), FN_DECIMAL(0.1215686275), FN_DECIMAL(0.1058823529), FN_DECIMAL(-0.8745098039), FN_DECIMAL(-0.9843137255), FN_DECIMAL(-0.7019607843), FN_DECIMAL(0.9607843137), FN_DECIMAL(0.2941176471), FN_DECIMAL(0.3411764706), FN_DECIMAL(0.1529411765), FN_DECIMAL(0.06666666667), + FN_DECIMAL(-0.9764705882), FN_DECIMAL(0.3019607843), FN_DECIMAL(0.6470588235), FN_DECIMAL(-0.5843137255), FN_DECIMAL(0.05098039216), FN_DECIMAL(-0.5137254902), FN_DECIMAL(-0.137254902), FN_DECIMAL(0.3882352941), FN_DECIMAL(-0.262745098), FN_DECIMAL(-0.3019607843), FN_DECIMAL(-0.1764705882), FN_DECIMAL(-0.7568627451), FN_DECIMAL(0.1843137255), FN_DECIMAL(-0.5450980392), FN_DECIMAL(-0.4980392157), FN_DECIMAL(-0.2784313725), + FN_DECIMAL(-0.9529411765), FN_DECIMAL(-0.09803921569), FN_DECIMAL(0.8901960784), FN_DECIMAL(-0.2862745098), FN_DECIMAL(-0.3803921569), FN_DECIMAL(0.5529411765), FN_DECIMAL(0.7803921569), FN_DECIMAL(-0.8352941176), FN_DECIMAL(0.6862745098), FN_DECIMAL(0.7568627451), FN_DECIMAL(0.4980392157), FN_DECIMAL(-0.6862745098), FN_DECIMAL(-0.8980392157), FN_DECIMAL(-0.7725490196), FN_DECIMAL(-0.7098039216), FN_DECIMAL(-0.2470588235), + FN_DECIMAL(-0.9058823529), FN_DECIMAL(0.9764705882), FN_DECIMAL(0.1921568627), FN_DECIMAL(0.8431372549), FN_DECIMAL(-0.05882352941), FN_DECIMAL(0.3568627451), FN_DECIMAL(0.6078431373), FN_DECIMAL(0.5450980392), FN_DECIMAL(0.4039215686), FN_DECIMAL(-0.7333333333), FN_DECIMAL(-0.4274509804), FN_DECIMAL(0.6), FN_DECIMAL(0.6784313725), FN_DECIMAL(-0.631372549), FN_DECIMAL(-0.02745098039), FN_DECIMAL(-0.1294117647), + FN_DECIMAL(0.3333333333), FN_DECIMAL(-0.8431372549), FN_DECIMAL(0.2235294118), FN_DECIMAL(-0.3490196078), FN_DECIMAL(-0.6941176471), FN_DECIMAL(0.8823529412), FN_DECIMAL(0.4745098039), FN_DECIMAL(0.4666666667), FN_DECIMAL(-0.7411764706), FN_DECIMAL(-0.2705882353), FN_DECIMAL(0.968627451), FN_DECIMAL(0.8196078431), FN_DECIMAL(-0.662745098), FN_DECIMAL(-0.4352941176), FN_DECIMAL(-0.8666666667), FN_DECIMAL(-0.1529411765), +}; + +const FN_DECIMAL CELL_2D_X[] = +{ + FN_DECIMAL(-0.6440658039), FN_DECIMAL(-0.08028078721), FN_DECIMAL(0.9983546168), FN_DECIMAL(0.9869492062), FN_DECIMAL(0.9284746418), FN_DECIMAL(0.6051097552), FN_DECIMAL(-0.794167404), FN_DECIMAL(-0.3488667991), FN_DECIMAL(-0.943136526), FN_DECIMAL(-0.9968171318), FN_DECIMAL(0.8740961579), FN_DECIMAL(0.1421139764), FN_DECIMAL(0.4282553608), FN_DECIMAL(-0.9986665833), FN_DECIMAL(0.9996760121), FN_DECIMAL(-0.06248383632), + FN_DECIMAL(0.7120139305), FN_DECIMAL(0.8917660409), FN_DECIMAL(0.1094842955), FN_DECIMAL(-0.8730880804), FN_DECIMAL(0.2594811489), FN_DECIMAL(-0.6690063346), FN_DECIMAL(-0.9996834972), FN_DECIMAL(-0.8803608671), FN_DECIMAL(-0.8166554937), FN_DECIMAL(0.8955599676), FN_DECIMAL(-0.9398321388), FN_DECIMAL(0.07615451399), FN_DECIMAL(-0.7147270565), FN_DECIMAL(0.8707354457), FN_DECIMAL(-0.9580008579), FN_DECIMAL(0.4905965632), + FN_DECIMAL(0.786775944), FN_DECIMAL(0.1079711577), FN_DECIMAL(0.2686638979), FN_DECIMAL(0.6113487322), FN_DECIMAL(-0.530770584), FN_DECIMAL(-0.7837268286), FN_DECIMAL(-0.8558691039), FN_DECIMAL(-0.5726093896), FN_DECIMAL(-0.9830740914), FN_DECIMAL(0.7087766359), FN_DECIMAL(0.6807027153), FN_DECIMAL(-0.08864708788), FN_DECIMAL(0.6704485923), FN_DECIMAL(-0.1350735482), FN_DECIMAL(-0.9381333003), FN_DECIMAL(0.9756655376), + FN_DECIMAL(0.4231433671), FN_DECIMAL(-0.4959787385), FN_DECIMAL(0.1005554325), FN_DECIMAL(-0.7645857281), FN_DECIMAL(-0.5859053796), FN_DECIMAL(-0.9751154306), FN_DECIMAL(-0.6972258572), FN_DECIMAL(0.7907012002), FN_DECIMAL(-0.9109899213), FN_DECIMAL(-0.9584307894), FN_DECIMAL(-0.8269529333), FN_DECIMAL(0.2608264719), FN_DECIMAL(-0.7773760119), FN_DECIMAL(0.7606456974), FN_DECIMAL(-0.8961083758), FN_DECIMAL(-0.9838134719), + FN_DECIMAL(0.7338893576), FN_DECIMAL(0.2161226729), FN_DECIMAL(0.673509891), FN_DECIMAL(-0.5512056873), FN_DECIMAL(0.6899744332), FN_DECIMAL(0.868004831), FN_DECIMAL(0.5897430311), FN_DECIMAL(-0.8950444221), FN_DECIMAL(-0.3595752773), FN_DECIMAL(0.8209486981), FN_DECIMAL(-0.2912360132), FN_DECIMAL(-0.9965011374), FN_DECIMAL(0.9766994634), FN_DECIMAL(0.738790822), FN_DECIMAL(-0.4730947722), FN_DECIMAL(0.8946479441), + FN_DECIMAL(-0.6943628971), FN_DECIMAL(-0.6620468182), FN_DECIMAL(-0.0887255502), FN_DECIMAL(-0.7512250855), FN_DECIMAL(-0.5322986898), FN_DECIMAL(0.5226295385), FN_DECIMAL(0.2296318375), FN_DECIMAL(0.7915307344), FN_DECIMAL(-0.2756485999), FN_DECIMAL(-0.6900234522), FN_DECIMAL(0.07090588086), FN_DECIMAL(0.5981278485), FN_DECIMAL(0.3033429312), FN_DECIMAL(-0.7253142797), FN_DECIMAL(-0.9855874307), FN_DECIMAL(-0.1761843396), + FN_DECIMAL(-0.6438468325), FN_DECIMAL(-0.9956136595), FN_DECIMAL(0.8541580762), FN_DECIMAL(-0.9999807666), FN_DECIMAL(-0.02152416253), FN_DECIMAL(-0.8705983095), FN_DECIMAL(-0.1197138014), FN_DECIMAL(-0.992107781), FN_DECIMAL(-0.9091181546), FN_DECIMAL(0.788610536), FN_DECIMAL(-0.994636402), FN_DECIMAL(0.4211256853), FN_DECIMAL(0.3110430857), FN_DECIMAL(-0.4031127839), FN_DECIMAL(0.7610684239), FN_DECIMAL(0.7685674467), + FN_DECIMAL(0.152271555), FN_DECIMAL(-0.9364648723), FN_DECIMAL(0.1681333739), FN_DECIMAL(-0.3567427907), FN_DECIMAL(-0.418445483), FN_DECIMAL(-0.98774778), FN_DECIMAL(0.8705250765), FN_DECIMAL(-0.8911701067), FN_DECIMAL(-0.7315350966), FN_DECIMAL(0.6030885658), FN_DECIMAL(-0.4149130821), FN_DECIMAL(0.7585339481), FN_DECIMAL(0.6963196535), FN_DECIMAL(0.8332685012), FN_DECIMAL(-0.8086815232), FN_DECIMAL(0.7518116724), + FN_DECIMAL(-0.3490535894), FN_DECIMAL(0.6972110903), FN_DECIMAL(-0.8795676928), FN_DECIMAL(-0.6442331882), FN_DECIMAL(0.6610236811), FN_DECIMAL(-0.9853565782), FN_DECIMAL(-0.590338458), FN_DECIMAL(0.09843602117), FN_DECIMAL(0.5646534882), FN_DECIMAL(-0.6023259233), FN_DECIMAL(-0.3539248861), FN_DECIMAL(0.5132728656), FN_DECIMAL(0.9380385118), FN_DECIMAL(-0.7599270056), FN_DECIMAL(-0.7425936564), FN_DECIMAL(-0.6679610562), + FN_DECIMAL(-0.3018497816), FN_DECIMAL(0.814478266), FN_DECIMAL(0.03777430269), FN_DECIMAL(-0.7514235086), FN_DECIMAL(0.9662556939), FN_DECIMAL(-0.4720194901), FN_DECIMAL(-0.435054126), FN_DECIMAL(0.7091901235), FN_DECIMAL(0.929379209), FN_DECIMAL(0.9997434357), FN_DECIMAL(0.8306320299), FN_DECIMAL(-0.9434019629), FN_DECIMAL(-0.133133759), FN_DECIMAL(0.5048413216), FN_DECIMAL(0.3711995273), FN_DECIMAL(0.98552091), + FN_DECIMAL(0.7401857005), FN_DECIMAL(-0.9999981398), FN_DECIMAL(-0.2144033253), FN_DECIMAL(0.4808624681), FN_DECIMAL(-0.413835885), FN_DECIMAL(0.644229305), FN_DECIMAL(0.9626648696), FN_DECIMAL(0.1833665934), FN_DECIMAL(0.5794129), FN_DECIMAL(0.01404446873), FN_DECIMAL(0.4388494993), FN_DECIMAL(0.5213612322), FN_DECIMAL(-0.5281609948), FN_DECIMAL(-0.9745306846), FN_DECIMAL(-0.9904373013), FN_DECIMAL(0.9100232252), + FN_DECIMAL(-0.9914057719), FN_DECIMAL(0.7892627765), FN_DECIMAL(0.3364421659), FN_DECIMAL(-0.9416099764), FN_DECIMAL(0.7802732656), FN_DECIMAL(0.886302871), FN_DECIMAL(0.6524471291), FN_DECIMAL(0.5762186726), FN_DECIMAL(-0.08987644664), FN_DECIMAL(-0.2177026782), FN_DECIMAL(-0.9720345052), FN_DECIMAL(-0.05722538858), FN_DECIMAL(0.8105983127), FN_DECIMAL(0.3410261032), FN_DECIMAL(0.6452309645), FN_DECIMAL(-0.7810612152), + FN_DECIMAL(0.9989395718), FN_DECIMAL(-0.808247815), FN_DECIMAL(0.6370177929), FN_DECIMAL(0.5844658772), FN_DECIMAL(0.2054070861), FN_DECIMAL(0.055960522), FN_DECIMAL(-0.995827561), FN_DECIMAL(0.893409165), FN_DECIMAL(-0.931516824), FN_DECIMAL(0.328969469), FN_DECIMAL(-0.3193837488), FN_DECIMAL(0.7314755657), FN_DECIMAL(-0.7913517714), FN_DECIMAL(-0.2204109786), FN_DECIMAL(0.9955900414), FN_DECIMAL(-0.7112353139), + FN_DECIMAL(-0.7935008741), FN_DECIMAL(-0.9961918204), FN_DECIMAL(-0.9714163995), FN_DECIMAL(-0.9566188669), FN_DECIMAL(0.2748495632), FN_DECIMAL(-0.4681743221), FN_DECIMAL(-0.9614449642), FN_DECIMAL(0.585194072), FN_DECIMAL(0.4532946061), FN_DECIMAL(-0.9916113176), FN_DECIMAL(0.942479587), FN_DECIMAL(-0.9813704753), FN_DECIMAL(-0.6538429571), FN_DECIMAL(0.2923335053), FN_DECIMAL(-0.2246660704), FN_DECIMAL(-0.1800781949), + FN_DECIMAL(-0.9581216256), FN_DECIMAL(0.552215082), FN_DECIMAL(-0.9296791922), FN_DECIMAL(0.643183699), FN_DECIMAL(0.9997325981), FN_DECIMAL(-0.4606920354), FN_DECIMAL(-0.2148721265), FN_DECIMAL(0.3482070809), FN_DECIMAL(0.3075517813), FN_DECIMAL(0.6274756393), FN_DECIMAL(0.8910881765), FN_DECIMAL(-0.6397771309), FN_DECIMAL(-0.4479080125), FN_DECIMAL(-0.5247665011), FN_DECIMAL(-0.8386507094), FN_DECIMAL(0.3901291416), + FN_DECIMAL(0.1458336921), FN_DECIMAL(0.01624613149), FN_DECIMAL(-0.8273199879), FN_DECIMAL(0.5611100679), FN_DECIMAL(-0.8380219841), FN_DECIMAL(-0.9856122234), FN_DECIMAL(-0.861398618), FN_DECIMAL(0.6398413916), FN_DECIMAL(0.2694510795), FN_DECIMAL(0.4327334514), FN_DECIMAL(-0.9960265354), FN_DECIMAL(-0.939570655), FN_DECIMAL(-0.8846996446), FN_DECIMAL(0.7642113189), FN_DECIMAL(-0.7002080528), FN_DECIMAL(0.664508256), +}; +const FN_DECIMAL CELL_2D_Y[] = +{ + FN_DECIMAL(0.7649700911), FN_DECIMAL(0.9967722885), FN_DECIMAL(0.05734160033), FN_DECIMAL(-0.1610318741), FN_DECIMAL(0.371395799), FN_DECIMAL(-0.7961420628), FN_DECIMAL(0.6076990492), FN_DECIMAL(-0.9371723195), FN_DECIMAL(0.3324056156), FN_DECIMAL(0.07972205329), FN_DECIMAL(-0.4857529277), FN_DECIMAL(-0.9898503007), FN_DECIMAL(0.9036577593), FN_DECIMAL(0.05162417479), FN_DECIMAL(-0.02545330525), FN_DECIMAL(-0.998045976), + FN_DECIMAL(-0.7021653386), FN_DECIMAL(-0.4524967717), FN_DECIMAL(-0.9939885256), FN_DECIMAL(-0.4875625128), FN_DECIMAL(-0.9657481729), FN_DECIMAL(-0.7432567015), FN_DECIMAL(0.02515761212), FN_DECIMAL(0.4743044842), FN_DECIMAL(0.5771254669), FN_DECIMAL(0.4449408324), FN_DECIMAL(0.3416365773), FN_DECIMAL(0.9970960285), FN_DECIMAL(0.6994034849), FN_DECIMAL(0.4917517499), FN_DECIMAL(0.286765333), FN_DECIMAL(0.8713868327), + FN_DECIMAL(0.6172387009), FN_DECIMAL(0.9941540269), FN_DECIMAL(0.9632339851), FN_DECIMAL(-0.7913613129), FN_DECIMAL(0.847515538), FN_DECIMAL(0.6211056739), FN_DECIMAL(0.5171924952), FN_DECIMAL(-0.8198283277), FN_DECIMAL(-0.1832084353), FN_DECIMAL(0.7054329737), FN_DECIMAL(0.7325597678), FN_DECIMAL(0.9960630973), FN_DECIMAL(0.7419559859), FN_DECIMAL(0.9908355749), FN_DECIMAL(-0.346274329), FN_DECIMAL(0.2192641299), + FN_DECIMAL(-0.9060627411), FN_DECIMAL(-0.8683346653), FN_DECIMAL(0.9949314574), FN_DECIMAL(-0.6445220433), FN_DECIMAL(-0.8103794704), FN_DECIMAL(-0.2216977607), FN_DECIMAL(0.7168515217), FN_DECIMAL(0.612202264), FN_DECIMAL(-0.412428616), FN_DECIMAL(0.285325116), FN_DECIMAL(0.56227115), FN_DECIMAL(-0.9653857009), FN_DECIMAL(-0.6290361962), FN_DECIMAL(0.6491672535), FN_DECIMAL(0.443835306), FN_DECIMAL(-0.1791955706), + FN_DECIMAL(-0.6792690269), FN_DECIMAL(-0.9763662173), FN_DECIMAL(0.7391782104), FN_DECIMAL(0.8343693968), FN_DECIMAL(0.7238337389), FN_DECIMAL(0.4965557504), FN_DECIMAL(0.8075909592), FN_DECIMAL(-0.4459769977), FN_DECIMAL(-0.9331160806), FN_DECIMAL(-0.5710019572), FN_DECIMAL(0.9566512346), FN_DECIMAL(-0.08357920318), FN_DECIMAL(0.2146116448), FN_DECIMAL(-0.6739348049), FN_DECIMAL(0.8810115417), FN_DECIMAL(0.4467718167), + FN_DECIMAL(-0.7196250184), FN_DECIMAL(-0.749462481), FN_DECIMAL(0.9960561112), FN_DECIMAL(0.6600461127), FN_DECIMAL(-0.8465566164), FN_DECIMAL(-0.8525598897), FN_DECIMAL(-0.9732775654), FN_DECIMAL(0.6111293616), FN_DECIMAL(-0.9612584717), FN_DECIMAL(-0.7237870097), FN_DECIMAL(-0.9974830104), FN_DECIMAL(-0.8014006968), FN_DECIMAL(0.9528814544), FN_DECIMAL(-0.6884178931), FN_DECIMAL(-0.1691668301), FN_DECIMAL(0.9843571905), + FN_DECIMAL(0.7651544003), FN_DECIMAL(-0.09355982605), FN_DECIMAL(-0.5200134429), FN_DECIMAL(-0.006202125807), FN_DECIMAL(-0.9997683284), FN_DECIMAL(0.4919944954), FN_DECIMAL(-0.9928084436), FN_DECIMAL(-0.1253880012), FN_DECIMAL(-0.4165383308), FN_DECIMAL(-0.6148930171), FN_DECIMAL(-0.1034332049), FN_DECIMAL(-0.9070022917), FN_DECIMAL(-0.9503958117), FN_DECIMAL(0.9151503065), FN_DECIMAL(-0.6486716073), FN_DECIMAL(0.6397687707), + FN_DECIMAL(-0.9883386937), FN_DECIMAL(0.3507613761), FN_DECIMAL(0.9857642561), FN_DECIMAL(-0.9342026446), FN_DECIMAL(-0.9082419159), FN_DECIMAL(0.1560587169), FN_DECIMAL(0.4921240607), FN_DECIMAL(-0.453669308), FN_DECIMAL(0.6818037859), FN_DECIMAL(0.7976742329), FN_DECIMAL(0.9098610522), FN_DECIMAL(0.651633524), FN_DECIMAL(0.7177318024), FN_DECIMAL(-0.5528685241), FN_DECIMAL(0.5882467118), FN_DECIMAL(0.6593778956), + FN_DECIMAL(0.9371027648), FN_DECIMAL(-0.7168658839), FN_DECIMAL(-0.4757737632), FN_DECIMAL(0.7648291307), FN_DECIMAL(0.7503650398), FN_DECIMAL(0.1705063456), FN_DECIMAL(-0.8071558121), FN_DECIMAL(-0.9951433815), FN_DECIMAL(-0.8253280792), FN_DECIMAL(-0.7982502628), FN_DECIMAL(0.9352738503), FN_DECIMAL(0.8582254747), FN_DECIMAL(-0.3465310238), FN_DECIMAL(0.65000842), FN_DECIMAL(-0.6697422351), FN_DECIMAL(0.7441962291), + FN_DECIMAL(-0.9533555), FN_DECIMAL(0.5801940659), FN_DECIMAL(-0.9992862963), FN_DECIMAL(-0.659820211), FN_DECIMAL(0.2575848092), FN_DECIMAL(0.881588113), FN_DECIMAL(-0.9004043022), FN_DECIMAL(-0.7050172826), FN_DECIMAL(0.369126382), FN_DECIMAL(-0.02265088836), FN_DECIMAL(0.5568217228), FN_DECIMAL(-0.3316515286), FN_DECIMAL(0.991098079), FN_DECIMAL(-0.863212164), FN_DECIMAL(-0.9285531277), FN_DECIMAL(0.1695539323), + FN_DECIMAL(-0.672402505), FN_DECIMAL(-0.001928841934), FN_DECIMAL(0.9767452145), FN_DECIMAL(-0.8767960349), FN_DECIMAL(0.9103515037), FN_DECIMAL(-0.7648324016), FN_DECIMAL(0.2706960452), FN_DECIMAL(-0.9830446035), FN_DECIMAL(0.8150341657), FN_DECIMAL(-0.9999013716), FN_DECIMAL(-0.8985605806), FN_DECIMAL(0.8533360801), FN_DECIMAL(0.8491442537), FN_DECIMAL(-0.2242541966), FN_DECIMAL(-0.1379635899), FN_DECIMAL(-0.4145572694), + FN_DECIMAL(0.1308227633), FN_DECIMAL(0.6140555916), FN_DECIMAL(0.9417041303), FN_DECIMAL(-0.336705587), FN_DECIMAL(-0.6254387508), FN_DECIMAL(0.4631060578), FN_DECIMAL(-0.7578342456), FN_DECIMAL(-0.8172955655), FN_DECIMAL(-0.9959529228), FN_DECIMAL(-0.9760151351), FN_DECIMAL(0.2348380732), FN_DECIMAL(-0.9983612848), FN_DECIMAL(0.5856025746), FN_DECIMAL(-0.9400538266), FN_DECIMAL(-0.7639875669), FN_DECIMAL(0.6244544645), + FN_DECIMAL(0.04604054566), FN_DECIMAL(0.5888424828), FN_DECIMAL(0.7708490978), FN_DECIMAL(-0.8114182882), FN_DECIMAL(0.9786766212), FN_DECIMAL(-0.9984329822), FN_DECIMAL(0.09125496582), FN_DECIMAL(-0.4492438803), FN_DECIMAL(-0.3636982357), FN_DECIMAL(0.9443405575), FN_DECIMAL(-0.9476254645), FN_DECIMAL(-0.6818676535), FN_DECIMAL(-0.6113610831), FN_DECIMAL(0.9754070948), FN_DECIMAL(-0.0938108173), FN_DECIMAL(-0.7029540015), + FN_DECIMAL(-0.6085691109), FN_DECIMAL(-0.08718862881), FN_DECIMAL(-0.237381926), FN_DECIMAL(0.2913423132), FN_DECIMAL(0.9614872426), FN_DECIMAL(0.8836361266), FN_DECIMAL(-0.2749974196), FN_DECIMAL(-0.8108932717), FN_DECIMAL(-0.8913607575), FN_DECIMAL(0.129255541), FN_DECIMAL(-0.3342637104), FN_DECIMAL(-0.1921249337), FN_DECIMAL(-0.7566302845), FN_DECIMAL(-0.9563164339), FN_DECIMAL(-0.9744358146), FN_DECIMAL(0.9836522982), + FN_DECIMAL(-0.2863615732), FN_DECIMAL(0.8337016872), FN_DECIMAL(0.3683701937), FN_DECIMAL(0.7657119102), FN_DECIMAL(-0.02312427772), FN_DECIMAL(0.8875600535), FN_DECIMAL(0.976642191), FN_DECIMAL(0.9374176384), FN_DECIMAL(0.9515313457), FN_DECIMAL(-0.7786361937), FN_DECIMAL(-0.4538302125), FN_DECIMAL(-0.7685604874), FN_DECIMAL(-0.8940796454), FN_DECIMAL(-0.8512462154), FN_DECIMAL(0.5446696133), FN_DECIMAL(0.9207601495), + FN_DECIMAL(-0.9893091197), FN_DECIMAL(-0.9998680229), FN_DECIMAL(0.5617309299), FN_DECIMAL(-0.8277411985), FN_DECIMAL(0.545636467), FN_DECIMAL(0.1690223212), FN_DECIMAL(-0.5079295433), FN_DECIMAL(0.7685069899), FN_DECIMAL(-0.9630140787), FN_DECIMAL(0.9015219132), FN_DECIMAL(0.08905695279), FN_DECIMAL(-0.3423550559), FN_DECIMAL(-0.4661614943), FN_DECIMAL(-0.6449659371), FN_DECIMAL(0.7139388509), FN_DECIMAL(0.7472809229), +}; +const FN_DECIMAL CELL_3D_X[] = +{ + FN_DECIMAL(0.3752498686), FN_DECIMAL(0.687188096), FN_DECIMAL(0.2248135212), FN_DECIMAL(0.6692006647), FN_DECIMAL(-0.4376476931), FN_DECIMAL(0.6139972552), FN_DECIMAL(0.9494563929), FN_DECIMAL(0.8065108882), FN_DECIMAL(-0.2218812853), FN_DECIMAL(0.8484661167), FN_DECIMAL(0.5551817596), FN_DECIMAL(0.2133903499), FN_DECIMAL(0.5195126593), FN_DECIMAL(-0.6440141975), FN_DECIMAL(-0.5192897331), FN_DECIMAL(-0.3697654077), + FN_DECIMAL(-0.07927779647), FN_DECIMAL(0.4187757321), FN_DECIMAL(-0.750078731), FN_DECIMAL(0.6579554632), FN_DECIMAL(-0.6859803838), FN_DECIMAL(-0.6878407087), FN_DECIMAL(0.9490848347), FN_DECIMAL(0.5795829433), FN_DECIMAL(-0.5325976529), FN_DECIMAL(-0.1363699466), FN_DECIMAL(0.417665879), FN_DECIMAL(-0.9108236468), FN_DECIMAL(0.4438605427), FN_DECIMAL(0.819294887), FN_DECIMAL(-0.4033873915), FN_DECIMAL(-0.2817317705), + FN_DECIMAL(0.3969665622), FN_DECIMAL(0.5323450134), FN_DECIMAL(-0.6833017297), FN_DECIMAL(0.3881436661), FN_DECIMAL(-0.7119144767), FN_DECIMAL(-0.2306979838), FN_DECIMAL(-0.9398873022), FN_DECIMAL(0.1701906676), FN_DECIMAL(-0.4261839496), FN_DECIMAL(-0.003712295499), FN_DECIMAL(-0.734675004), FN_DECIMAL(-0.3195046015), FN_DECIMAL(0.7345307424), FN_DECIMAL(0.9766246496), FN_DECIMAL(-0.02003735175), FN_DECIMAL(-0.4824156342), + FN_DECIMAL(0.4245892007), FN_DECIMAL(0.9072427669), FN_DECIMAL(0.593346808), FN_DECIMAL(-0.8911762541), FN_DECIMAL(-0.7657571834), FN_DECIMAL(-0.5268198896), FN_DECIMAL(-0.8801903279), FN_DECIMAL(-0.6296409617), FN_DECIMAL(-0.09492481344), FN_DECIMAL(-0.4920470525), FN_DECIMAL(0.7307666154), FN_DECIMAL(-0.2514540636), FN_DECIMAL(-0.3356210347), FN_DECIMAL(-0.3522787894), FN_DECIMAL(0.87847885), FN_DECIMAL(-0.7424096346), + FN_DECIMAL(0.5757585274), FN_DECIMAL(0.4519299338), FN_DECIMAL(0.6420368628), FN_DECIMAL(-0.1128478447), FN_DECIMAL(0.499874883), FN_DECIMAL(0.5291681739), FN_DECIMAL(-0.5098837195), FN_DECIMAL(0.5639583502), FN_DECIMAL(-0.8456386526), FN_DECIMAL(-0.9657134875), FN_DECIMAL(-0.576437342), FN_DECIMAL(-0.5666013014), FN_DECIMAL(0.5667702405), FN_DECIMAL(-0.481316582), FN_DECIMAL(0.7313389916), FN_DECIMAL(-0.3805628566), + FN_DECIMAL(-0.6512675909), FN_DECIMAL(-0.2787156951), FN_DECIMAL(0.8648059114), FN_DECIMAL(-0.9730216276), FN_DECIMAL(-0.8335820906), FN_DECIMAL(0.2673159641), FN_DECIMAL(0.231150148), FN_DECIMAL(0.01286214638), FN_DECIMAL(0.6774953261), FN_DECIMAL(0.6542885718), FN_DECIMAL(-0.02545450161), FN_DECIMAL(0.2101238586), FN_DECIMAL(-0.5572105885), FN_DECIMAL(0.813705672), FN_DECIMAL(-0.7546026951), FN_DECIMAL(-0.2502500006), + FN_DECIMAL(-0.9979289381), FN_DECIMAL(0.7024037039), FN_DECIMAL(0.08990874624), FN_DECIMAL(0.8170812432), FN_DECIMAL(0.4226980265), FN_DECIMAL(-0.2442153475), FN_DECIMAL(-0.9183326731), FN_DECIMAL(0.6068222411), FN_DECIMAL(0.818676691), FN_DECIMAL(-0.7236735282), FN_DECIMAL(-0.5383903295), FN_DECIMAL(-0.6269337242), FN_DECIMAL(-0.0939331121), FN_DECIMAL(0.9203878539), FN_DECIMAL(-0.7256396824), FN_DECIMAL(0.6292431149), + FN_DECIMAL(0.4234156978), FN_DECIMAL(0.006685688024), FN_DECIMAL(-0.2598694113), FN_DECIMAL(0.6408036421), FN_DECIMAL(0.05899871622), FN_DECIMAL(0.7090281418), FN_DECIMAL(-0.5905222072), FN_DECIMAL(0.3128214264), FN_DECIMAL(-0.691925826), FN_DECIMAL(0.3634019349), FN_DECIMAL(-0.6772511147), FN_DECIMAL(-0.3204583896), FN_DECIMAL(-0.3906740409), FN_DECIMAL(-0.3342190395), FN_DECIMAL(-0.517779592), FN_DECIMAL(-0.6817711267), + FN_DECIMAL(0.6422383105), FN_DECIMAL(0.4388482478), FN_DECIMAL(0.2968562611), FN_DECIMAL(-0.2019778353), FN_DECIMAL(0.6014865048), FN_DECIMAL(0.9519280722), FN_DECIMAL(0.3398889569), FN_DECIMAL(0.8179709354), FN_DECIMAL(0.2365522154), FN_DECIMAL(0.3262175096), FN_DECIMAL(-0.8060715954), FN_DECIMAL(-0.2068642503), FN_DECIMAL(0.6208057279), FN_DECIMAL(-0.5274282502), FN_DECIMAL(-0.3722334928), FN_DECIMAL(-0.8923412971), + FN_DECIMAL(0.5341834201), FN_DECIMAL(-0.3663701513), FN_DECIMAL(-0.6114600319), FN_DECIMAL(0.5026307556), FN_DECIMAL(0.8396151729), FN_DECIMAL(0.9245042467), FN_DECIMAL(-0.7994843957), FN_DECIMAL(-0.5357200589), FN_DECIMAL(-0.6283359739), FN_DECIMAL(-0.61351886), FN_DECIMAL(-0.875632008), FN_DECIMAL(-0.5278879423), FN_DECIMAL(0.9087491985), FN_DECIMAL(-0.03500215466), FN_DECIMAL(-0.261365798), FN_DECIMAL(-0.579523541), + FN_DECIMAL(-0.3765052689), FN_DECIMAL(-0.74398252), FN_DECIMAL(0.4257318052), FN_DECIMAL(-0.1214508921), FN_DECIMAL(0.8561809753), FN_DECIMAL(0.6802835104), FN_DECIMAL(-0.5452131039), FN_DECIMAL(-0.1997156478), FN_DECIMAL(0.4562348357), FN_DECIMAL(-0.811704301), FN_DECIMAL(0.67793962), FN_DECIMAL(-0.9237819106), FN_DECIMAL(0.6973511259), FN_DECIMAL(-0.5189506), FN_DECIMAL(0.5517320032), FN_DECIMAL(-0.396710831), + FN_DECIMAL(0.5493762815), FN_DECIMAL(-0.2507853002), FN_DECIMAL(0.4788634005), FN_DECIMAL(0.387333516), FN_DECIMAL(-0.2176515694), FN_DECIMAL(0.6749832419), FN_DECIMAL(0.2148283022), FN_DECIMAL(-0.7521815872), FN_DECIMAL(0.4697000159), FN_DECIMAL(0.7890593699), FN_DECIMAL(-0.7606162952), FN_DECIMAL(0.01083397843), FN_DECIMAL(0.5254091908), FN_DECIMAL(-0.6748025877), FN_DECIMAL(0.751091524), FN_DECIMAL(0.05259056135), + FN_DECIMAL(0.01889481232), FN_DECIMAL(-0.6037423727), FN_DECIMAL(-0.6542965129), FN_DECIMAL(0.08873301081), FN_DECIMAL(-0.6191345671), FN_DECIMAL(0.4331858488), FN_DECIMAL(-0.3858351946), FN_DECIMAL(-0.1429059747), FN_DECIMAL(0.4118221036), FN_DECIMAL(-0.6247153214), FN_DECIMAL(-0.611423014), FN_DECIMAL(0.5542939606), FN_DECIMAL(-0.9432768808), FN_DECIMAL(-0.4567870451), FN_DECIMAL(-0.7349133547), FN_DECIMAL(0.399304489), + FN_DECIMAL(-0.7474927672), FN_DECIMAL(0.02589419753), FN_DECIMAL(0.783915821), FN_DECIMAL(0.6138668752), FN_DECIMAL(0.4276376047), FN_DECIMAL(-0.4347886353), FN_DECIMAL(0.02947841302), FN_DECIMAL(-0.833742746), FN_DECIMAL(0.3817221742), FN_DECIMAL(-0.8743368359), FN_DECIMAL(-0.3823443796), FN_DECIMAL(-0.6829243811), FN_DECIMAL(-0.3681903049), FN_DECIMAL(-0.367626833), FN_DECIMAL(-0.434583373), FN_DECIMAL(0.235891995), + FN_DECIMAL(-0.6874880269), FN_DECIMAL(-0.5115661773), FN_DECIMAL(-0.5534962601), FN_DECIMAL(0.5632777056), FN_DECIMAL(0.686191532), FN_DECIMAL(-0.05095871588), FN_DECIMAL(-0.06865785057), FN_DECIMAL(-0.5975288531), FN_DECIMAL(-0.6429790056), FN_DECIMAL(-0.3729361548), FN_DECIMAL(0.2237917666), FN_DECIMAL(0.6046773225), FN_DECIMAL(-0.5041542295), FN_DECIMAL(-0.03972191174), FN_DECIMAL(0.7028828406), FN_DECIMAL(-0.5560856498), + FN_DECIMAL(0.5898328456), FN_DECIMAL(-0.9308076766), FN_DECIMAL(0.4617069864), FN_DECIMAL(0.3190983137), FN_DECIMAL(0.9116567753), FN_DECIMAL(-0.45029554), FN_DECIMAL(0.3346334459), FN_DECIMAL(0.8525005645), FN_DECIMAL(0.2528483381), FN_DECIMAL(-0.8306630147), FN_DECIMAL(-0.6880390622), FN_DECIMAL(0.7448684026), FN_DECIMAL(-0.1963355843), FN_DECIMAL(-0.5900257974), FN_DECIMAL(0.9097057294), FN_DECIMAL(-0.2509196808), +}; +const FN_DECIMAL CELL_3D_Y[] = +{ + FN_DECIMAL(-0.6760585049), FN_DECIMAL(-0.09136176499), FN_DECIMAL(0.1681325679), FN_DECIMAL(-0.6688468686), FN_DECIMAL(-0.4822753902), FN_DECIMAL(-0.7891068824), FN_DECIMAL(-0.1877509944), FN_DECIMAL(0.548470914), FN_DECIMAL(-0.463339443), FN_DECIMAL(-0.4050542082), FN_DECIMAL(0.3218158513), FN_DECIMAL(0.2546493823), FN_DECIMAL(-0.3753271935), FN_DECIMAL(0.4745384887), FN_DECIMAL(0.481254652), FN_DECIMAL(-0.8934416489), + FN_DECIMAL(-0.6737085076), FN_DECIMAL(0.7469917228), FN_DECIMAL(0.3826230411), FN_DECIMAL(0.6751013678), FN_DECIMAL(-0.7248119515), FN_DECIMAL(-0.3224276742), FN_DECIMAL(-0.02076190936), FN_DECIMAL(-0.6404268166), FN_DECIMAL(-0.5292028444), FN_DECIMAL(0.7151414636), FN_DECIMAL(-0.6144655059), FN_DECIMAL(-0.369912124), FN_DECIMAL(0.6942067212), FN_DECIMAL(-0.4481558248), FN_DECIMAL(-0.6366894559), FN_DECIMAL(0.5956568471), + FN_DECIMAL(0.564274539), FN_DECIMAL(0.7145584688), FN_DECIMAL(0.6871918316), FN_DECIMAL(0.5657918509), FN_DECIMAL(-0.6275978114), FN_DECIMAL(0.4146983062), FN_DECIMAL(0.2638993789), FN_DECIMAL(-0.792633138), FN_DECIMAL(0.5706133514), FN_DECIMAL(0.8606546462), FN_DECIMAL(0.6490900316), FN_DECIMAL(-0.8242699196), FN_DECIMAL(0.6765819124), FN_DECIMAL(0.1959534069), FN_DECIMAL(-0.8426769757), FN_DECIMAL(-0.5917672797), + FN_DECIMAL(0.7517364266), FN_DECIMAL(0.03252559226), FN_DECIMAL(0.0883617105), FN_DECIMAL(0.4475064813), FN_DECIMAL(-0.1418643552), FN_DECIMAL(0.7343428473), FN_DECIMAL(0.3870192548), FN_DECIMAL(-0.7716703522), FN_DECIMAL(0.4839898327), FN_DECIMAL(0.7437439055), FN_DECIMAL(-0.5989573348), FN_DECIMAL(-0.8357068955), FN_DECIMAL(0.6086049038), FN_DECIMAL(0.9194627258), FN_DECIMAL(0.4718297238), FN_DECIMAL(-0.2650335884), + FN_DECIMAL(-0.6470352599), FN_DECIMAL(-0.5555181303), FN_DECIMAL(0.1222351235), FN_DECIMAL(0.7802044684), FN_DECIMAL(-0.8636947022), FN_DECIMAL(-0.2341352163), FN_DECIMAL(0.683030874), FN_DECIMAL(-0.5005858287), FN_DECIMAL(0.2334616211), FN_DECIMAL(0.2576877608), FN_DECIMAL(0.6666816727), FN_DECIMAL(-0.7663996863), FN_DECIMAL(0.794201982), FN_DECIMAL(0.6189308788), FN_DECIMAL(0.6071033261), FN_DECIMAL(-0.4206058253), + FN_DECIMAL(-0.3957336915), FN_DECIMAL(-0.8170257484), FN_DECIMAL(-0.1043240417), FN_DECIMAL(0.0002167596213), FN_DECIMAL(0.1816339018), FN_DECIMAL(-0.6838094939), FN_DECIMAL(-0.2495341969), FN_DECIMAL(-0.7116756954), FN_DECIMAL(-0.03361673621), FN_DECIMAL(-0.3350836431), FN_DECIMAL(0.2137186039), FN_DECIMAL(0.2557996786), FN_DECIMAL(0.7490117093), FN_DECIMAL(0.4942936549), FN_DECIMAL(-0.352686853), FN_DECIMAL(-0.3952445435), + FN_DECIMAL(-0.0459964767), FN_DECIMAL(-0.7115787471), FN_DECIMAL(0.08022899756), FN_DECIMAL(0.5362268157), FN_DECIMAL(-0.8258613686), FN_DECIMAL(0.1114171723), FN_DECIMAL(0.3882823051), FN_DECIMAL(-0.7915404457), FN_DECIMAL(0.3250957662), FN_DECIMAL(0.6401346464), FN_DECIMAL(-0.2662724517), FN_DECIMAL(-0.6727907114), FN_DECIMAL(-0.994730818), FN_DECIMAL(-0.3596358977), FN_DECIMAL(0.2344610069), FN_DECIMAL(-0.6645215546), + FN_DECIMAL(-0.7107590611), FN_DECIMAL(-0.4646617327), FN_DECIMAL(0.6717191355), FN_DECIMAL(0.5101893498), FN_DECIMAL(0.1185768238), FN_DECIMAL(0.236005093), FN_DECIMAL(-0.7811024061), FN_DECIMAL(0.5089325193), FN_DECIMAL(0.6073187658), FN_DECIMAL(-0.7930732557), FN_DECIMAL(-0.6822767155), FN_DECIMAL(0.3201532885), FN_DECIMAL(0.7545302807), FN_DECIMAL(0.1072664448), FN_DECIMAL(0.6784033173), FN_DECIMAL(-0.6595924967), + FN_DECIMAL(0.7276509498), FN_DECIMAL(0.5586689436), FN_DECIMAL(-0.6498636788), FN_DECIMAL(0.6789333174), FN_DECIMAL(0.7105966551), FN_DECIMAL(-0.2872214155), FN_DECIMAL(0.496746217), FN_DECIMAL(-0.3880337977), FN_DECIMAL(0.7324070604), FN_DECIMAL(-0.9326634749), FN_DECIMAL(-0.5867839255), FN_DECIMAL(0.8003043651), FN_DECIMAL(-0.1631882481), FN_DECIMAL(-0.6796374681), FN_DECIMAL(-0.8066678503), FN_DECIMAL(0.4238177418), + FN_DECIMAL(0.7715863549), FN_DECIMAL(0.5455367347), FN_DECIMAL(-0.03205115397), FN_DECIMAL(-0.6005545066), FN_DECIMAL(-0.5423640002), FN_DECIMAL(0.3569205906), FN_DECIMAL(-0.582071752), FN_DECIMAL(0.6407354361), FN_DECIMAL(0.7777142984), FN_DECIMAL(-0.09956428618), FN_DECIMAL(0.1100002681), FN_DECIMAL(0.8136349123), FN_DECIMAL(0.2923431904), FN_DECIMAL(0.9735794425), FN_DECIMAL(0.8324974864), FN_DECIMAL(-0.6179617717), + FN_DECIMAL(-0.9248386523), FN_DECIMAL(-0.6448780771), FN_DECIMAL(-0.5274402761), FN_DECIMAL(-0.7862170565), FN_DECIMAL(0.2682099744), FN_DECIMAL(-0.5848777694), FN_DECIMAL(-0.6364561467), FN_DECIMAL(-0.7167402514), FN_DECIMAL(-0.8677012494), FN_DECIMAL(0.4205286707), FN_DECIMAL(-0.7007832749), FN_DECIMAL(0.243272451), FN_DECIMAL(-0.1899846085), FN_DECIMAL(-0.6146124977), FN_DECIMAL(-0.8093357692), FN_DECIMAL(-0.03545096987), + FN_DECIMAL(-0.7191590868), FN_DECIMAL(0.7478645848), FN_DECIMAL(0.3623517328), FN_DECIMAL(0.8436992512), FN_DECIMAL(-0.2445711729), FN_DECIMAL(0.6897356637), FN_DECIMAL(-0.1708070787), FN_DECIMAL(0.4639272368), FN_DECIMAL(-0.7917186656), FN_DECIMAL(0.02980025428), FN_DECIMAL(0.6334156172), FN_DECIMAL(-0.9815544807), FN_DECIMAL(-0.2307217304), FN_DECIMAL(0.1080823318), FN_DECIMAL(0.5167601798), FN_DECIMAL(-0.845120016), + FN_DECIMAL(0.441572562), FN_DECIMAL(0.5876789172), FN_DECIMAL(-0.6365908737), FN_DECIMAL(0.68350166), FN_DECIMAL(0.5849723959), FN_DECIMAL(0.1164114357), FN_DECIMAL(-0.7379813884), FN_DECIMAL(-0.9613237178), FN_DECIMAL(-0.9071943084), FN_DECIMAL(-0.7682111105), FN_DECIMAL(0.639074459), FN_DECIMAL(-0.619358298), FN_DECIMAL(0.2807257131), FN_DECIMAL(-0.01800868791), FN_DECIMAL(0.3776607289), FN_DECIMAL(0.7207567823), + FN_DECIMAL(0.5536661486), FN_DECIMAL(-0.9974053117), FN_DECIMAL(-0.02047200006), FN_DECIMAL(-0.6739453804), FN_DECIMAL(-0.5607471297), FN_DECIMAL(0.8815553192), FN_DECIMAL(0.8275977415), FN_DECIMAL(0.3928902456), FN_DECIMAL(0.550991396), FN_DECIMAL(0.4247623676), FN_DECIMAL(-0.3436948871), FN_DECIMAL(-0.3653537677), FN_DECIMAL(0.3181702902), FN_DECIMAL(-0.6067173171), FN_DECIMAL(-0.8984128477), FN_DECIMAL(0.4220839766), + FN_DECIMAL(0.7238407199), FN_DECIMAL(-0.7766913695), FN_DECIMAL(0.6460037842), FN_DECIMAL(0.2544775664), FN_DECIMAL(0.6488840578), FN_DECIMAL(0.805016833), FN_DECIMAL(-0.9183807036), FN_DECIMAL(0.4144046357), FN_DECIMAL(0.270587208), FN_DECIMAL(-0.8813684494), FN_DECIMAL(0.6985971877), FN_DECIMAL(-0.7795603017), FN_DECIMAL(-0.8624480731), FN_DECIMAL(0.5532697017), FN_DECIMAL(0.711179521), FN_DECIMAL(-0.7798160574), + FN_DECIMAL(0.5225859041), FN_DECIMAL(0.1261859368), FN_DECIMAL(0.3398033582), FN_DECIMAL(-0.7472173667), FN_DECIMAL(-0.4032647119), FN_DECIMAL(-0.4246578154), FN_DECIMAL(0.8481212377), FN_DECIMAL(-0.2144838537), FN_DECIMAL(0.3431714491), FN_DECIMAL(0.5310188231), FN_DECIMAL(0.6682978632), FN_DECIMAL(0.3110433206), FN_DECIMAL(0.9263293599), FN_DECIMAL(-0.6155600569), FN_DECIMAL(0.07169784399), FN_DECIMAL(0.8985888773), +}; +const FN_DECIMAL CELL_3D_Z[] = +{ + FN_DECIMAL(-0.6341391283), FN_DECIMAL(-0.7207118346), FN_DECIMAL(0.9597866014), FN_DECIMAL(0.3237504235), FN_DECIMAL(-0.7588642466), FN_DECIMAL(-0.01782410481), FN_DECIMAL(0.2515593809), FN_DECIMAL(0.2207257205), FN_DECIMAL(-0.8579541106), FN_DECIMAL(0.3406410681), FN_DECIMAL(0.7669470462), FN_DECIMAL(-0.9431957648), FN_DECIMAL(0.7676171537), FN_DECIMAL(-0.6000491115), FN_DECIMAL(-0.7062096948), FN_DECIMAL(0.2550207115), + FN_DECIMAL(0.7347325213), FN_DECIMAL(0.5163625202), FN_DECIMAL(-0.5394270162), FN_DECIMAL(0.3336656285), FN_DECIMAL(-0.0638635111), FN_DECIMAL(-0.6503195787), FN_DECIMAL(0.3143356798), FN_DECIMAL(-0.5039217245), FN_DECIMAL(0.6605180464), FN_DECIMAL(-0.6855479011), FN_DECIMAL(-0.6693185756), FN_DECIMAL(0.1832083647), FN_DECIMAL(-0.5666258437), FN_DECIMAL(0.3576482138), FN_DECIMAL(-0.6571949095), FN_DECIMAL(-0.7522101635), + FN_DECIMAL(-0.7238865886), FN_DECIMAL(0.4538887323), FN_DECIMAL(0.2467106257), FN_DECIMAL(0.7274778869), FN_DECIMAL(0.3151170655), FN_DECIMAL(-0.8802293764), FN_DECIMAL(-0.2167232729), FN_DECIMAL(0.5854637865), FN_DECIMAL(0.7019741052), FN_DECIMAL(0.5091756071), FN_DECIMAL(0.1973189533), FN_DECIMAL(0.46743546), FN_DECIMAL(0.05197599597), FN_DECIMAL(0.088354718), FN_DECIMAL(0.5380464843), FN_DECIMAL(-0.6458224544), + FN_DECIMAL(-0.5045952393), FN_DECIMAL(0.419347884), FN_DECIMAL(0.8000823542), FN_DECIMAL(-0.07445020656), FN_DECIMAL(-0.6272881641), FN_DECIMAL(-0.428020311), FN_DECIMAL(-0.2747382083), FN_DECIMAL(-0.08987283726), FN_DECIMAL(0.8699098354), FN_DECIMAL(0.4524761885), FN_DECIMAL(-0.3274603257), FN_DECIMAL(0.4882262167), FN_DECIMAL(-0.7189983256), FN_DECIMAL(0.1746079907), FN_DECIMAL(0.0751772698), FN_DECIMAL(-0.6152927202), + FN_DECIMAL(0.4998474673), FN_DECIMAL(-0.6979677227), FN_DECIMAL(0.7568667263), FN_DECIMAL(-0.6152612058), FN_DECIMAL(0.06447140991), FN_DECIMAL(-0.8155744872), FN_DECIMAL(-0.5229602449), FN_DECIMAL(0.6567836838), FN_DECIMAL(-0.4799905631), FN_DECIMAL(0.03153534591), FN_DECIMAL(0.4724992466), FN_DECIMAL(-0.3026458097), FN_DECIMAL(-0.2191225827), FN_DECIMAL(-0.620692287), FN_DECIMAL(0.3107552588), FN_DECIMAL(0.8235670294), + FN_DECIMAL(0.6474915988), FN_DECIMAL(-0.5047637941), FN_DECIMAL(0.4911488878), FN_DECIMAL(-0.2307138167), FN_DECIMAL(-0.5216800015), FN_DECIMAL(0.6789305939), FN_DECIMAL(0.9403734863), FN_DECIMAL(0.702390397), FN_DECIMAL(0.7347584625), FN_DECIMAL(0.6779567958), FN_DECIMAL(0.9765635805), FN_DECIMAL(-0.9436177661), FN_DECIMAL(-0.358465925), FN_DECIMAL(-0.3058706624), FN_DECIMAL(0.5533414464), FN_DECIMAL(-0.8838306897), + FN_DECIMAL(0.04496841812), FN_DECIMAL(0.01687374963), FN_DECIMAL(-0.9927133148), FN_DECIMAL(-0.211752318), FN_DECIMAL(0.3732015249), FN_DECIMAL(0.9632990593), FN_DECIMAL(-0.07682417004), FN_DECIMAL(-0.07232213047), FN_DECIMAL(0.4733721775), FN_DECIMAL(0.2579229713), FN_DECIMAL(0.7995216286), FN_DECIMAL(0.3928189967), FN_DECIMAL(0.04107517667), FN_DECIMAL(0.1534542912), FN_DECIMAL(0.6468965045), FN_DECIMAL(0.4030684878), + FN_DECIMAL(-0.5617300988), FN_DECIMAL(-0.885463029), FN_DECIMAL(0.693729985), FN_DECIMAL(-0.5736527866), FN_DECIMAL(-0.9911905409), FN_DECIMAL(-0.66451538), FN_DECIMAL(0.2028855685), FN_DECIMAL(0.8019541421), FN_DECIMAL(-0.3903877149), FN_DECIMAL(-0.4888495114), FN_DECIMAL(-0.2753714057), FN_DECIMAL(-0.8915202143), FN_DECIMAL(0.5273119089), FN_DECIMAL(0.9363714773), FN_DECIMAL(-0.5212228249), FN_DECIMAL(-0.31642672), + FN_DECIMAL(0.2409440761), FN_DECIMAL(-0.703776404), FN_DECIMAL(-0.6996810411), FN_DECIMAL(-0.7058714505), FN_DECIMAL(-0.3650566783), FN_DECIMAL(0.1064744278), FN_DECIMAL(0.7985729102), FN_DECIMAL(0.424680257), FN_DECIMAL(-0.6384535592), FN_DECIMAL(0.1540161646), FN_DECIMAL(-0.07702731943), FN_DECIMAL(-0.5627789132), FN_DECIMAL(-0.7667919169), FN_DECIMAL(-0.509815999), FN_DECIMAL(0.4590525092), FN_DECIMAL(0.1552595611), + FN_DECIMAL(0.345402042), FN_DECIMAL(0.7537656024), FN_DECIMAL(0.7906259247), FN_DECIMAL(-0.6218493452), FN_DECIMAL(0.02979350071), FN_DECIMAL(-0.1337893489), FN_DECIMAL(-0.1483818606), FN_DECIMAL(0.549965562), FN_DECIMAL(0.01882482408), FN_DECIMAL(-0.7833783002), FN_DECIMAL(0.4702855809), FN_DECIMAL(0.2435827372), FN_DECIMAL(0.2978428332), FN_DECIMAL(0.2256499906), FN_DECIMAL(0.4885036897), FN_DECIMAL(0.5312962584), + FN_DECIMAL(0.05401156992), FN_DECIMAL(0.1749922158), FN_DECIMAL(-0.7352273018), FN_DECIMAL(0.6058980284), FN_DECIMAL(0.4416079111), FN_DECIMAL(0.4417378638), FN_DECIMAL(0.5455879807), FN_DECIMAL(-0.6681295324), FN_DECIMAL(0.1973431441), FN_DECIMAL(0.4053292055), FN_DECIMAL(0.2220375492), FN_DECIMAL(0.2957118467), FN_DECIMAL(0.6910913512), FN_DECIMAL(0.5940890106), FN_DECIMAL(-0.2014135283), FN_DECIMAL(-0.9172588213), + FN_DECIMAL(-0.4254361401), FN_DECIMAL(-0.6146586825), FN_DECIMAL(-0.7996193253), FN_DECIMAL(-0.3716777111), FN_DECIMAL(-0.9448876842), FN_DECIMAL(-0.2620349924), FN_DECIMAL(0.9615995749), FN_DECIMAL(-0.4679683524), FN_DECIMAL(0.3905937144), FN_DECIMAL(0.613593722), FN_DECIMAL(0.1422937358), FN_DECIMAL(0.1908754211), FN_DECIMAL(0.8189704912), FN_DECIMAL(-0.7300408736), FN_DECIMAL(-0.4108776451), FN_DECIMAL(-0.5319834504), + FN_DECIMAL(-0.8970265651), FN_DECIMAL(-0.5386359045), FN_DECIMAL(0.4082255906), FN_DECIMAL(0.7245356676), FN_DECIMAL(0.5239080873), FN_DECIMAL(-0.8937552226), FN_DECIMAL(-0.553637673), FN_DECIMAL(0.2354455182), FN_DECIMAL(-0.0860293075), FN_DECIMAL(-0.1399373318), FN_DECIMAL(-0.4666323327), FN_DECIMAL(0.5560157407), FN_DECIMAL(0.1772619533), FN_DECIMAL(-0.8893937725), FN_DECIMAL(-0.5632714576), FN_DECIMAL(-0.5666264959), + FN_DECIMAL(-0.3670263736), FN_DECIMAL(-0.06717242579), FN_DECIMAL(0.6205295181), FN_DECIMAL(-0.4110536264), FN_DECIMAL(0.7090054553), FN_DECIMAL(0.183899597), FN_DECIMAL(-0.5605470555), FN_DECIMAL(0.3879565548), FN_DECIMAL(0.7420893903), FN_DECIMAL(-0.2347595118), FN_DECIMAL(-0.8577217497), FN_DECIMAL(0.6325590203), FN_DECIMAL(-0.8736152276), FN_DECIMAL(0.7048011129), FN_DECIMAL(-0.06317948268), FN_DECIMAL(0.8753285574), + FN_DECIMAL(-0.05843650473), FN_DECIMAL(-0.3674922622), FN_DECIMAL(-0.5256624401), FN_DECIMAL(0.7861039337), FN_DECIMAL(0.3287714416), FN_DECIMAL(0.5910593099), FN_DECIMAL(-0.3896960134), FN_DECIMAL(0.6864605361), FN_DECIMAL(0.7164918431), FN_DECIMAL(-0.290014277), FN_DECIMAL(-0.6796169617), FN_DECIMAL(0.1632515592), FN_DECIMAL(0.04485347486), FN_DECIMAL(0.8320545697), FN_DECIMAL(0.01339408056), FN_DECIMAL(-0.2874989857), + FN_DECIMAL(0.615630723), FN_DECIMAL(0.3430367014), FN_DECIMAL(0.8193658136), FN_DECIMAL(-0.5829600957), FN_DECIMAL(0.07911697781), FN_DECIMAL(0.7854296063), FN_DECIMAL(-0.4107442306), FN_DECIMAL(0.4766964066), FN_DECIMAL(-0.9045999527), FN_DECIMAL(-0.1673856787), FN_DECIMAL(0.2828077348), FN_DECIMAL(-0.5902737632), FN_DECIMAL(-0.321506229), FN_DECIMAL(-0.5224513133), FN_DECIMAL(-0.4090169985), FN_DECIMAL(-0.3599685311), +}; + +static int FastFloor(FN_DECIMAL f) { return (f >= 0 ? (int)f : (int)f - 1); } +static int FastRound(FN_DECIMAL f) { return (f >= 0) ? (int)(f + FN_DECIMAL(0.5)) : (int)(f - FN_DECIMAL(0.5)); } +static int FastAbs(int i) { return abs(i); } +static FN_DECIMAL FastAbs(FN_DECIMAL f) { return fabs(f); } +static FN_DECIMAL Lerp(FN_DECIMAL a, FN_DECIMAL b, FN_DECIMAL t) { return a + t * (b - a); } +static FN_DECIMAL InterpHermiteFunc(FN_DECIMAL t) { return t * t*(3 - 2 * t); } +static FN_DECIMAL InterpQuinticFunc(FN_DECIMAL t) { return t * t*t*(t*(t * 6 - 15) + 10); } +static FN_DECIMAL CubicLerp(FN_DECIMAL a, FN_DECIMAL b, FN_DECIMAL c, FN_DECIMAL d, FN_DECIMAL t) +{ + FN_DECIMAL p = (d - c) - (a - b); + return t * t * t * p + t * t * ((a - b) - p) + t * (c - a) + b; +} + +void FastNoise::SetSeed(int seed) +{ + m_seed = seed; + + std::mt19937_64 gen(seed); + + for (int i = 0; i < 256; i++) + m_perm[i] = i; + + for (int j = 0; j < 256; j++) + { + int rng = (int)(gen() % (256 - j)); + int k = rng + j; + int l = m_perm[j]; + m_perm[j] = m_perm[j + 256] = m_perm[k]; + m_perm[k] = l; + m_perm12[j] = m_perm12[j + 256] = m_perm[j] % 12; + } +} + +void FastNoise::CalculateFractalBounding() +{ + FN_DECIMAL amp = m_gain; + FN_DECIMAL ampFractal = 1.0f; + for (int i = 1; i < m_octaves; i++) + { + ampFractal += amp; + amp *= m_gain; + } + m_fractalBounding = 1.0f / ampFractal; +} + +void FastNoise::SetCellularDistance2Indices(int cellularDistanceIndex0, int cellularDistanceIndex1) +{ + m_cellularDistanceIndex0 = std::min(cellularDistanceIndex0, cellularDistanceIndex1); + m_cellularDistanceIndex1 = std::max(cellularDistanceIndex0, cellularDistanceIndex1); + + m_cellularDistanceIndex0 = std::min(std::max(m_cellularDistanceIndex0, 0), FN_CELLULAR_INDEX_MAX); + m_cellularDistanceIndex1 = std::min(std::max(m_cellularDistanceIndex1, 0), FN_CELLULAR_INDEX_MAX); +} + +void FastNoise::GetCellularDistance2Indices(int& cellularDistanceIndex0, int& cellularDistanceIndex1) const +{ + cellularDistanceIndex0 = m_cellularDistanceIndex0; + cellularDistanceIndex1 = m_cellularDistanceIndex1; +} + +unsigned char FastNoise::Index2D_12(unsigned char offset, int x, int y) const +{ + return m_perm12[(x & 0xff) + m_perm[(y & 0xff) + offset]]; +} +unsigned char FastNoise::Index3D_12(unsigned char offset, int x, int y, int z) const +{ + return m_perm12[(x & 0xff) + m_perm[(y & 0xff) + m_perm[(z & 0xff) + offset]]]; +} +unsigned char FastNoise::Index4D_32(unsigned char offset, int x, int y, int z, int w) const +{ + return m_perm[(x & 0xff) + m_perm[(y & 0xff) + m_perm[(z & 0xff) + m_perm[(w & 0xff) + offset]]]] & 31; +} +unsigned char FastNoise::Index2D_256(unsigned char offset, int x, int y) const +{ + return m_perm[(x & 0xff) + m_perm[(y & 0xff) + offset]]; +} +unsigned char FastNoise::Index3D_256(unsigned char offset, int x, int y, int z) const +{ + return m_perm[(x & 0xff) + m_perm[(y & 0xff) + m_perm[(z & 0xff) + offset]]]; +} +unsigned char FastNoise::Index4D_256(unsigned char offset, int x, int y, int z, int w) const +{ + return m_perm[(x & 0xff) + m_perm[(y & 0xff) + m_perm[(z & 0xff) + m_perm[(w & 0xff) + offset]]]]; +} + +// Hashing +#define X_PRIME 1619 +#define Y_PRIME 31337 +#define Z_PRIME 6971 +#define W_PRIME 1013 + +static FN_DECIMAL ValCoord2D(int seed, int x, int y) +{ + int n = seed; + n ^= X_PRIME * x; + n ^= Y_PRIME * y; + + return (n * n * n * 60493) / FN_DECIMAL(2147483648); +} +static FN_DECIMAL ValCoord3D(int seed, int x, int y, int z) +{ + int n = seed; + n ^= X_PRIME * x; + n ^= Y_PRIME * y; + n ^= Z_PRIME * z; + + return (n * n * n * 60493) / FN_DECIMAL(2147483648); +} +static FN_DECIMAL ValCoord4D(int seed, int x, int y, int z, int w) +{ + int n = seed; + n ^= X_PRIME * x; + n ^= Y_PRIME * y; + n ^= Z_PRIME * z; + n ^= W_PRIME * w; + + return (n * n * n * 60493) / FN_DECIMAL(2147483648); +} + +FN_DECIMAL FastNoise::ValCoord2DFast(unsigned char offset, int x, int y) const +{ + return VAL_LUT[Index2D_256(offset, x, y)]; +} +FN_DECIMAL FastNoise::ValCoord3DFast(unsigned char offset, int x, int y, int z) const +{ + return VAL_LUT[Index3D_256(offset, x, y, z)]; +} + +FN_DECIMAL FastNoise::GradCoord2D(unsigned char offset, int x, int y, FN_DECIMAL xd, FN_DECIMAL yd) const +{ + unsigned char lutPos = Index2D_12(offset, x, y); + + return xd * GRAD_X[lutPos] + yd * GRAD_Y[lutPos]; +} +FN_DECIMAL FastNoise::GradCoord3D(unsigned char offset, int x, int y, int z, FN_DECIMAL xd, FN_DECIMAL yd, FN_DECIMAL zd) const +{ + unsigned char lutPos = Index3D_12(offset, x, y, z); + + return xd * GRAD_X[lutPos] + yd * GRAD_Y[lutPos] + zd * GRAD_Z[lutPos]; +} +FN_DECIMAL FastNoise::GradCoord4D(unsigned char offset, int x, int y, int z, int w, FN_DECIMAL xd, FN_DECIMAL yd, FN_DECIMAL zd, FN_DECIMAL wd) const +{ + unsigned char lutPos = Index4D_32(offset, x, y, z, w) << 2; + + return xd * GRAD_4D[lutPos] + yd * GRAD_4D[lutPos + 1] + zd * GRAD_4D[lutPos + 2] + wd * GRAD_4D[lutPos + 3]; +} + +FN_DECIMAL FastNoise::GetNoise(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_noiseType) + { + case Value: + return SingleValue(0, x, y, z); + case ValueFractal: + switch (m_fractalType) + { + case FBM: + return SingleValueFractalFBM(x, y, z); + case Billow: + return SingleValueFractalBillow(x, y, z); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y, z); + default: + return 0; + } + case Perlin: + return SinglePerlin(0, x, y, z); + case PerlinFractal: + switch (m_fractalType) + { + case FBM: + return SinglePerlinFractalFBM(x, y, z); + case Billow: + return SinglePerlinFractalBillow(x, y, z); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y, z); + default: + return 0; + } + case Simplex: + return SingleSimplex(0, x, y, z); + case SimplexFractal: + switch (m_fractalType) + { + case FBM: + return SingleSimplexFractalFBM(x, y, z); + case Billow: + return SingleSimplexFractalBillow(x, y, z); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y, z); + default: + return 0; + } + case Cellular: + switch (m_cellularReturnType) + { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y, z); + default: + return SingleCellular2Edge(x, y, z); + } + case WhiteNoise: + return GetWhiteNoise(x, y, z); + case Cubic: + return SingleCubic(0, x, y, z); + case CubicFractal: + switch (m_fractalType) + { + case FBM: + return SingleCubicFractalFBM(x, y, z); + case Billow: + return SingleCubicFractalBillow(x, y, z); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y, z); + } + default: + return 0; + } +} + +FN_DECIMAL FastNoise::GetNoise(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + switch (m_noiseType) + { + case Value: + return SingleValue(0, x, y); + case ValueFractal: + switch (m_fractalType) + { + case FBM: + return SingleValueFractalFBM(x, y); + case Billow: + return SingleValueFractalBillow(x, y); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y); + } + case Perlin: + return SinglePerlin(0, x, y); + case PerlinFractal: + switch (m_fractalType) + { + case FBM: + return SinglePerlinFractalFBM(x, y); + case Billow: + return SinglePerlinFractalBillow(x, y); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y); + } + case Simplex: + return SingleSimplex(0, x, y); + case SimplexFractal: + switch (m_fractalType) + { + case FBM: + return SingleSimplexFractalFBM(x, y); + case Billow: + return SingleSimplexFractalBillow(x, y); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y); + } + case Cellular: + switch (m_cellularReturnType) + { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y); + default: + return SingleCellular2Edge(x, y); + } + case WhiteNoise: + return GetWhiteNoise(x, y); + case Cubic: + return SingleCubic(0, x, y); + case CubicFractal: + switch (m_fractalType) + { + case FBM: + return SingleCubicFractalFBM(x, y); + case Billow: + return SingleCubicFractalBillow(x, y); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y); + } + } + return 0; +} + +// White Noise +FN_DECIMAL FastNoise::GetWhiteNoise(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z, FN_DECIMAL w) const +{ + return ValCoord4D(m_seed, + *reinterpret_cast(&x) ^ (*reinterpret_cast(&x) >> 16), + *reinterpret_cast(&y) ^ (*reinterpret_cast(&y) >> 16), + *reinterpret_cast(&z) ^ (*reinterpret_cast(&z) >> 16), + *reinterpret_cast(&w) ^ (*reinterpret_cast(&w) >> 16)); +} + +FN_DECIMAL FastNoise::GetWhiteNoise(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + return ValCoord3D(m_seed, + *reinterpret_cast(&x) ^ (*reinterpret_cast(&x) >> 16), + *reinterpret_cast(&y) ^ (*reinterpret_cast(&y) >> 16), + *reinterpret_cast(&z) ^ (*reinterpret_cast(&z) >> 16)); +} + +FN_DECIMAL FastNoise::GetWhiteNoise(FN_DECIMAL x, FN_DECIMAL y) const +{ + return ValCoord2D(m_seed, + *reinterpret_cast(&x) ^ (*reinterpret_cast(&x) >> 16), + *reinterpret_cast(&y) ^ (*reinterpret_cast(&y) >> 16)); +} + +FN_DECIMAL FastNoise::GetWhiteNoiseInt(int x, int y, int z, int w) const +{ + return ValCoord4D(m_seed, x, y, z, w); +} + +FN_DECIMAL FastNoise::GetWhiteNoiseInt(int x, int y, int z) const +{ + return ValCoord3D(m_seed, x, y, z); +} + +FN_DECIMAL FastNoise::GetWhiteNoiseInt(int x, int y) const +{ + return ValCoord2D(m_seed, x, y); +} + +// Value Noise +FN_DECIMAL FastNoise::GetValueFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SingleValueFractalFBM(x, y, z); + case Billow: + return SingleValueFractalBillow(x, y, z); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y, z); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleValueFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = SingleValue(m_perm[0], x, y, z); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SingleValue(m_perm[i], x, y, z) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleValueFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = FastAbs(SingleValue(m_perm[0], x, y, z)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SingleValue(m_perm[i], x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleValueFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = 1 - FastAbs(SingleValue(m_perm[0], x, y, z)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SingleValue(m_perm[i], x, y, z))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetValue(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + return SingleValue(0, x * m_frequency, y * m_frequency, z * m_frequency); +} + +FN_DECIMAL FastNoise::SingleValue(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int z0 = FastFloor(z); + int x1 = x0 + 1; + int y1 = y0 + 1; + int z1 = z0 + 1; + + FN_DECIMAL xs = 0, ys = 0, zs = 0; + switch (m_interp) + { + case Linear: + xs = x - (FN_DECIMAL)x0; + ys = y - (FN_DECIMAL)y0; + zs = z - (FN_DECIMAL)z0; + break; + case Hermite: + xs = InterpHermiteFunc(x - (FN_DECIMAL)x0); + ys = InterpHermiteFunc(y - (FN_DECIMAL)y0); + zs = InterpHermiteFunc(z - (FN_DECIMAL)z0); + break; + case Quintic: + xs = InterpQuinticFunc(x - (FN_DECIMAL)x0); + ys = InterpQuinticFunc(y - (FN_DECIMAL)y0); + zs = InterpQuinticFunc(z - (FN_DECIMAL)z0); + break; + } + + FN_DECIMAL xf00 = Lerp(ValCoord3DFast(offset, x0, y0, z0), ValCoord3DFast(offset, x1, y0, z0), xs); + FN_DECIMAL xf10 = Lerp(ValCoord3DFast(offset, x0, y1, z0), ValCoord3DFast(offset, x1, y1, z0), xs); + FN_DECIMAL xf01 = Lerp(ValCoord3DFast(offset, x0, y0, z1), ValCoord3DFast(offset, x1, y0, z1), xs); + FN_DECIMAL xf11 = Lerp(ValCoord3DFast(offset, x0, y1, z1), ValCoord3DFast(offset, x1, y1, z1), xs); + + FN_DECIMAL yf0 = Lerp(xf00, xf10, ys); + FN_DECIMAL yf1 = Lerp(xf01, xf11, ys); + + return Lerp(yf0, yf1, zs); +} + +FN_DECIMAL FastNoise::GetValueFractal(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SingleValueFractalFBM(x, y); + case Billow: + return SingleValueFractalBillow(x, y); + case RigidMulti: + return SingleValueFractalRigidMulti(x, y); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleValueFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = SingleValue(m_perm[0], x, y); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SingleValue(m_perm[i], x, y) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleValueFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = FastAbs(SingleValue(m_perm[0], x, y)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + amp *= m_gain; + sum += (FastAbs(SingleValue(m_perm[i], x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleValueFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = 1 - FastAbs(SingleValue(m_perm[0], x, y)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SingleValue(m_perm[i], x, y))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetValue(FN_DECIMAL x, FN_DECIMAL y) const +{ + return SingleValue(0, x * m_frequency, y * m_frequency); +} + +FN_DECIMAL FastNoise::SingleValue(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const +{ + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int x1 = x0 + 1; + int y1 = y0 + 1; + + FN_DECIMAL xs = 0, ys = 0; + switch (m_interp) + { + case Linear: + xs = x - (FN_DECIMAL)x0; + ys = y - (FN_DECIMAL)y0; + break; + case Hermite: + xs = InterpHermiteFunc(x - (FN_DECIMAL)x0); + ys = InterpHermiteFunc(y - (FN_DECIMAL)y0); + break; + case Quintic: + xs = InterpQuinticFunc(x - (FN_DECIMAL)x0); + ys = InterpQuinticFunc(y - (FN_DECIMAL)y0); + break; + } + + FN_DECIMAL xf0 = Lerp(ValCoord2DFast(offset, x0, y0), ValCoord2DFast(offset, x1, y0), xs); + FN_DECIMAL xf1 = Lerp(ValCoord2DFast(offset, x0, y1), ValCoord2DFast(offset, x1, y1), xs); + + return Lerp(xf0, xf1, ys); +} + +// Perlin Noise +FN_DECIMAL FastNoise::GetPerlinFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SinglePerlinFractalFBM(x, y, z); + case Billow: + return SinglePerlinFractalBillow(x, y, z); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y, z); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SinglePerlinFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = SinglePerlin(m_perm[0], x, y, z); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SinglePerlin(m_perm[i], x, y, z) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SinglePerlinFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = FastAbs(SinglePerlin(m_perm[0], x, y, z)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SinglePerlin(m_perm[i], x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SinglePerlinFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = 1 - FastAbs(SinglePerlin(m_perm[0], x, y, z)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SinglePerlin(m_perm[i], x, y, z))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetPerlin(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + return SinglePerlin(0, x * m_frequency, y * m_frequency, z * m_frequency); +} + +FN_DECIMAL FastNoise::SinglePerlin(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int z0 = FastFloor(z); + int x1 = x0 + 1; + int y1 = y0 + 1; + int z1 = z0 + 1; + + FN_DECIMAL xs = 0, ys = 0, zs = 0; + switch (m_interp) + { + case Linear: + xs = x - (FN_DECIMAL)x0; + ys = y - (FN_DECIMAL)y0; + zs = z - (FN_DECIMAL)z0; + break; + case Hermite: + xs = InterpHermiteFunc(x - (FN_DECIMAL)x0); + ys = InterpHermiteFunc(y - (FN_DECIMAL)y0); + zs = InterpHermiteFunc(z - (FN_DECIMAL)z0); + break; + case Quintic: + xs = InterpQuinticFunc(x - (FN_DECIMAL)x0); + ys = InterpQuinticFunc(y - (FN_DECIMAL)y0); + zs = InterpQuinticFunc(z - (FN_DECIMAL)z0); + break; + } + + FN_DECIMAL xd0 = x - (FN_DECIMAL)x0; + FN_DECIMAL yd0 = y - (FN_DECIMAL)y0; + FN_DECIMAL zd0 = z - (FN_DECIMAL)z0; + FN_DECIMAL xd1 = xd0 - 1; + FN_DECIMAL yd1 = yd0 - 1; + FN_DECIMAL zd1 = zd0 - 1; + + FN_DECIMAL xf00 = Lerp(GradCoord3D(offset, x0, y0, z0, xd0, yd0, zd0), GradCoord3D(offset, x1, y0, z0, xd1, yd0, zd0), xs); + FN_DECIMAL xf10 = Lerp(GradCoord3D(offset, x0, y1, z0, xd0, yd1, zd0), GradCoord3D(offset, x1, y1, z0, xd1, yd1, zd0), xs); + FN_DECIMAL xf01 = Lerp(GradCoord3D(offset, x0, y0, z1, xd0, yd0, zd1), GradCoord3D(offset, x1, y0, z1, xd1, yd0, zd1), xs); + FN_DECIMAL xf11 = Lerp(GradCoord3D(offset, x0, y1, z1, xd0, yd1, zd1), GradCoord3D(offset, x1, y1, z1, xd1, yd1, zd1), xs); + + FN_DECIMAL yf0 = Lerp(xf00, xf10, ys); + FN_DECIMAL yf1 = Lerp(xf01, xf11, ys); + + return Lerp(yf0, yf1, zs); +} + +FN_DECIMAL FastNoise::GetPerlinFractal(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SinglePerlinFractalFBM(x, y); + case Billow: + return SinglePerlinFractalBillow(x, y); + case RigidMulti: + return SinglePerlinFractalRigidMulti(x, y); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SinglePerlinFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = SinglePerlin(m_perm[0], x, y); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SinglePerlin(m_perm[i], x, y) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SinglePerlinFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = FastAbs(SinglePerlin(m_perm[0], x, y)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SinglePerlin(m_perm[i], x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SinglePerlinFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = 1 - FastAbs(SinglePerlin(m_perm[0], x, y)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SinglePerlin(m_perm[i], x, y))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetPerlin(FN_DECIMAL x, FN_DECIMAL y) const +{ + return SinglePerlin(0, x * m_frequency, y * m_frequency); +} + +FN_DECIMAL FastNoise::SinglePerlin(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const +{ + int x0 = FastFloor(x); + int y0 = FastFloor(y); + int x1 = x0 + 1; + int y1 = y0 + 1; + + FN_DECIMAL xs = 0, ys = 0; + switch (m_interp) + { + case Linear: + xs = x - (FN_DECIMAL)x0; + ys = y - (FN_DECIMAL)y0; + break; + case Hermite: + xs = InterpHermiteFunc(x - (FN_DECIMAL)x0); + ys = InterpHermiteFunc(y - (FN_DECIMAL)y0); + break; + case Quintic: + xs = InterpQuinticFunc(x - (FN_DECIMAL)x0); + ys = InterpQuinticFunc(y - (FN_DECIMAL)y0); + break; + } + + FN_DECIMAL xd0 = x - (FN_DECIMAL)x0; + FN_DECIMAL yd0 = y - (FN_DECIMAL)y0; + FN_DECIMAL xd1 = xd0 - 1; + FN_DECIMAL yd1 = yd0 - 1; + + FN_DECIMAL xf0 = Lerp(GradCoord2D(offset, x0, y0, xd0, yd0), GradCoord2D(offset, x1, y0, xd1, yd0), xs); + FN_DECIMAL xf1 = Lerp(GradCoord2D(offset, x0, y1, xd0, yd1), GradCoord2D(offset, x1, y1, xd1, yd1), xs); + + return Lerp(xf0, xf1, ys); +} + +// Simplex Noise + +FN_DECIMAL FastNoise::GetSimplexFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SingleSimplexFractalFBM(x, y, z); + case Billow: + return SingleSimplexFractalBillow(x, y, z); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y, z); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleSimplexFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = SingleSimplex(m_perm[0], x, y, z); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SingleSimplex(m_perm[i], x, y, z) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleSimplexFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = FastAbs(SingleSimplex(m_perm[0], x, y, z)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SingleSimplex(m_perm[i], x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleSimplexFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = 1 - FastAbs(SingleSimplex(m_perm[0], x, y, z)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SingleSimplex(m_perm[i], x, y, z))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetSimplex(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + return SingleSimplex(0, x * m_frequency, y * m_frequency, z * m_frequency); +} + +static const FN_DECIMAL F3 = 1 / FN_DECIMAL(3); +static const FN_DECIMAL G3 = 1 / FN_DECIMAL(6); + +FN_DECIMAL FastNoise::SingleSimplex(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL t = (x + y + z) * F3; + int i = FastFloor(x + t); + int j = FastFloor(y + t); + int k = FastFloor(z + t); + + t = (i + j + k) * G3; + FN_DECIMAL X0 = i - t; + FN_DECIMAL Y0 = j - t; + FN_DECIMAL Z0 = k - t; + + FN_DECIMAL x0 = x - X0; + FN_DECIMAL y0 = y - Y0; + FN_DECIMAL z0 = z - Z0; + + int i1, j1, k1; + int i2, j2, k2; + + if (x0 >= y0) + { + if (y0 >= z0) + { + i1 = 1; j1 = 0; k1 = 0; i2 = 1; j2 = 1; k2 = 0; + } + else if (x0 >= z0) + { + i1 = 1; j1 = 0; k1 = 0; i2 = 1; j2 = 0; k2 = 1; + } + else // x0 < z0 + { + i1 = 0; j1 = 0; k1 = 1; i2 = 1; j2 = 0; k2 = 1; + } + } + else // x0 < y0 + { + if (y0 < z0) + { + i1 = 0; j1 = 0; k1 = 1; i2 = 0; j2 = 1; k2 = 1; + } + else if (x0 < z0) + { + i1 = 0; j1 = 1; k1 = 0; i2 = 0; j2 = 1; k2 = 1; + } + else // x0 >= z0 + { + i1 = 0; j1 = 1; k1 = 0; i2 = 1; j2 = 1; k2 = 0; + } + } + + FN_DECIMAL x1 = x0 - i1 + G3; + FN_DECIMAL y1 = y0 - j1 + G3; + FN_DECIMAL z1 = z0 - k1 + G3; + FN_DECIMAL x2 = x0 - i2 + 2 * G3; + FN_DECIMAL y2 = y0 - j2 + 2 * G3; + FN_DECIMAL z2 = z0 - k2 + 2 * G3; + FN_DECIMAL x3 = x0 - 1 + 3 * G3; + FN_DECIMAL y3 = y0 - 1 + 3 * G3; + FN_DECIMAL z3 = z0 - 1 + 3 * G3; + + FN_DECIMAL n0, n1, n2, n3; + + t = FN_DECIMAL(0.6) - x0 * x0 - y0 * y0 - z0 * z0; + if (t < 0) n0 = 0; + else + { + t *= t; + n0 = t * t*GradCoord3D(offset, i, j, k, x0, y0, z0); + } + + t = FN_DECIMAL(0.6) - x1 * x1 - y1 * y1 - z1 * z1; + if (t < 0) n1 = 0; + else + { + t *= t; + n1 = t * t*GradCoord3D(offset, i + i1, j + j1, k + k1, x1, y1, z1); + } + + t = FN_DECIMAL(0.6) - x2 * x2 - y2 * y2 - z2 * z2; + if (t < 0) n2 = 0; + else + { + t *= t; + n2 = t * t*GradCoord3D(offset, i + i2, j + j2, k + k2, x2, y2, z2); + } + + t = FN_DECIMAL(0.6) - x3 * x3 - y3 * y3 - z3 * z3; + if (t < 0) n3 = 0; + else + { + t *= t; + n3 = t * t*GradCoord3D(offset, i + 1, j + 1, k + 1, x3, y3, z3); + } + + return 32 * (n0 + n1 + n2 + n3); +} + +FN_DECIMAL FastNoise::GetSimplexFractal(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SingleSimplexFractalFBM(x, y); + case Billow: + return SingleSimplexFractalBillow(x, y); + case RigidMulti: + return SingleSimplexFractalRigidMulti(x, y); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleSimplexFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = SingleSimplex(m_perm[0], x, y); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SingleSimplex(m_perm[i], x, y) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleSimplexFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = FastAbs(SingleSimplex(m_perm[0], x, y)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SingleSimplex(m_perm[i], x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleSimplexFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = 1 - FastAbs(SingleSimplex(m_perm[0], x, y)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SingleSimplex(m_perm[i], x, y))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::SingleSimplexFractalBlend(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = SingleSimplex(m_perm[0], x, y); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum *= SingleSimplex(m_perm[i], x, y) * amp + 1; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::GetSimplex(FN_DECIMAL x, FN_DECIMAL y) const +{ + return SingleSimplex(0, x * m_frequency, y * m_frequency); +} + +//static const FN_DECIMAL F2 = 1 / FN_DECIMAL(2); +//static const FN_DECIMAL G2 = 1 / FN_DECIMAL(4); + +static const FN_DECIMAL SQRT3 = FN_DECIMAL(1.7320508075688772935274463415059); +static const FN_DECIMAL F2 = FN_DECIMAL(0.5) * (SQRT3 - FN_DECIMAL(1.0)); +static const FN_DECIMAL G2 = (FN_DECIMAL(3.0) - SQRT3) / FN_DECIMAL(6.0); + +FN_DECIMAL FastNoise::SingleSimplex(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL t = (x + y) * F2; + int i = FastFloor(x + t); + int j = FastFloor(y + t); + + t = (i + j) * G2; + FN_DECIMAL X0 = i - t; + FN_DECIMAL Y0 = j - t; + + FN_DECIMAL x0 = x - X0; + FN_DECIMAL y0 = y - Y0; + + int i1, j1; + if (x0 > y0) + { + i1 = 1; j1 = 0; + } + else + { + i1 = 0; j1 = 1; + } + + FN_DECIMAL x1 = x0 - (FN_DECIMAL)i1 + G2; + FN_DECIMAL y1 = y0 - (FN_DECIMAL)j1 + G2; + FN_DECIMAL x2 = x0 - 1 + 2 * G2; + FN_DECIMAL y2 = y0 - 1 + 2 * G2; + + FN_DECIMAL n0, n1, n2; + + t = FN_DECIMAL(0.5) - x0 * x0 - y0 * y0; + if (t < 0) n0 = 0; + else + { + t *= t; + n0 = t * t * GradCoord2D(offset, i, j, x0, y0); + } + + t = FN_DECIMAL(0.5) - x1 * x1 - y1 * y1; + if (t < 0) n1 = 0; + else + { + t *= t; + n1 = t * t*GradCoord2D(offset, i + i1, j + j1, x1, y1); + } + + t = FN_DECIMAL(0.5) - x2 * x2 - y2 * y2; + if (t < 0) n2 = 0; + else + { + t *= t; + n2 = t * t*GradCoord2D(offset, i + 1, j + 1, x2, y2); + } + + return 70 * (n0 + n1 + n2); +} + +FN_DECIMAL FastNoise::GetSimplex(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z, FN_DECIMAL w) const +{ + return SingleSimplex(0, x * m_frequency, y * m_frequency, z * m_frequency, w * m_frequency); +} + +static const FN_DECIMAL F4 = (sqrt(FN_DECIMAL(5)) - 1) / 4; +static const FN_DECIMAL G4 = (5 - sqrt(FN_DECIMAL(5))) / 20; + +FN_DECIMAL FastNoise::SingleSimplex(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z, FN_DECIMAL w) const +{ + FN_DECIMAL n0, n1, n2, n3, n4; + FN_DECIMAL t = (x + y + z + w) * F4; + int i = FastFloor(x + t); + int j = FastFloor(y + t); + int k = FastFloor(z + t); + int l = FastFloor(w + t); + t = (i + j + k + l) * G4; + FN_DECIMAL X0 = i - t; + FN_DECIMAL Y0 = j - t; + FN_DECIMAL Z0 = k - t; + FN_DECIMAL W0 = l - t; + FN_DECIMAL x0 = x - X0; + FN_DECIMAL y0 = y - Y0; + FN_DECIMAL z0 = z - Z0; + FN_DECIMAL w0 = w - W0; + + int rankx = 0; + int ranky = 0; + int rankz = 0; + int rankw = 0; + + if (x0 > y0) rankx++; else ranky++; + if (x0 > z0) rankx++; else rankz++; + if (x0 > w0) rankx++; else rankw++; + if (y0 > z0) ranky++; else rankz++; + if (y0 > w0) ranky++; else rankw++; + if (z0 > w0) rankz++; else rankw++; + + int i1 = rankx >= 3 ? 1 : 0; + int j1 = ranky >= 3 ? 1 : 0; + int k1 = rankz >= 3 ? 1 : 0; + int l1 = rankw >= 3 ? 1 : 0; + + int i2 = rankx >= 2 ? 1 : 0; + int j2 = ranky >= 2 ? 1 : 0; + int k2 = rankz >= 2 ? 1 : 0; + int l2 = rankw >= 2 ? 1 : 0; + + int i3 = rankx >= 1 ? 1 : 0; + int j3 = ranky >= 1 ? 1 : 0; + int k3 = rankz >= 1 ? 1 : 0; + int l3 = rankw >= 1 ? 1 : 0; + + FN_DECIMAL x1 = x0 - i1 + G4; + FN_DECIMAL y1 = y0 - j1 + G4; + FN_DECIMAL z1 = z0 - k1 + G4; + FN_DECIMAL w1 = w0 - l1 + G4; + FN_DECIMAL x2 = x0 - i2 + 2 * G4; + FN_DECIMAL y2 = y0 - j2 + 2 * G4; + FN_DECIMAL z2 = z0 - k2 + 2 * G4; + FN_DECIMAL w2 = w0 - l2 + 2 * G4; + FN_DECIMAL x3 = x0 - i3 + 3 * G4; + FN_DECIMAL y3 = y0 - j3 + 3 * G4; + FN_DECIMAL z3 = z0 - k3 + 3 * G4; + FN_DECIMAL w3 = w0 - l3 + 3 * G4; + FN_DECIMAL x4 = x0 - 1 + 4 * G4; + FN_DECIMAL y4 = y0 - 1 + 4 * G4; + FN_DECIMAL z4 = z0 - 1 + 4 * G4; + FN_DECIMAL w4 = w0 - 1 + 4 * G4; + + t = FN_DECIMAL(0.6) - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0; + if (t < 0) n0 = 0; + else { + t *= t; + n0 = t * t * GradCoord4D(offset, i, j, k, l, x0, y0, z0, w0); + } + t = FN_DECIMAL(0.6) - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1; + if (t < 0) n1 = 0; + else { + t *= t; + n1 = t * t * GradCoord4D(offset, i + i1, j + j1, k + k1, l + l1, x1, y1, z1, w1); + } + t = FN_DECIMAL(0.6) - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2; + if (t < 0) n2 = 0; + else { + t *= t; + n2 = t * t * GradCoord4D(offset, i + i2, j + j2, k + k2, l + l2, x2, y2, z2, w2); + } + t = FN_DECIMAL(0.6) - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3; + if (t < 0) n3 = 0; + else { + t *= t; + n3 = t * t * GradCoord4D(offset, i + i3, j + j3, k + k3, l + l3, x3, y3, z3, w3); + } + t = FN_DECIMAL(0.6) - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4; + if (t < 0) n4 = 0; + else { + t *= t; + n4 = t * t * GradCoord4D(offset, i + 1, j + 1, k + 1, l + 1, x4, y4, z4, w4); + } + + return 27 * (n0 + n1 + n2 + n3 + n4); +} + +// Cubic Noise +FN_DECIMAL FastNoise::GetCubicFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SingleCubicFractalFBM(x, y, z); + case Billow: + return SingleCubicFractalBillow(x, y, z); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y, z); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleCubicFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = SingleCubic(m_perm[0], x, y, z); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += SingleCubic(m_perm[i], x, y, z) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleCubicFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = FastAbs(SingleCubic(m_perm[0], x, y, z)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SingleCubic(m_perm[i], x, y, z)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleCubicFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + FN_DECIMAL sum = 1 - FastAbs(SingleCubic(m_perm[0], x, y, z)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + z *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SingleCubic(m_perm[i], x, y, z))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetCubic(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + return SingleCubic(0, x * m_frequency, y * m_frequency, z * m_frequency); +} + +const FN_DECIMAL CUBIC_3D_BOUNDING = 1 / (FN_DECIMAL(1.5) * FN_DECIMAL(1.5) * FN_DECIMAL(1.5)); + +FN_DECIMAL FastNoise::SingleCubic(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + int x1 = FastFloor(x); + int y1 = FastFloor(y); + int z1 = FastFloor(z); + + int x0 = x1 - 1; + int y0 = y1 - 1; + int z0 = z1 - 1; + int x2 = x1 + 1; + int y2 = y1 + 1; + int z2 = z1 + 1; + int x3 = x1 + 2; + int y3 = y1 + 2; + int z3 = z1 + 2; + + FN_DECIMAL xs = x - (FN_DECIMAL)x1; + FN_DECIMAL ys = y - (FN_DECIMAL)y1; + FN_DECIMAL zs = z - (FN_DECIMAL)z1; + + return CubicLerp( + CubicLerp( + CubicLerp(ValCoord3DFast(offset, x0, y0, z0), ValCoord3DFast(offset, x1, y0, z0), ValCoord3DFast(offset, x2, y0, z0), ValCoord3DFast(offset, x3, y0, z0), xs), + CubicLerp(ValCoord3DFast(offset, x0, y1, z0), ValCoord3DFast(offset, x1, y1, z0), ValCoord3DFast(offset, x2, y1, z0), ValCoord3DFast(offset, x3, y1, z0), xs), + CubicLerp(ValCoord3DFast(offset, x0, y2, z0), ValCoord3DFast(offset, x1, y2, z0), ValCoord3DFast(offset, x2, y2, z0), ValCoord3DFast(offset, x3, y2, z0), xs), + CubicLerp(ValCoord3DFast(offset, x0, y3, z0), ValCoord3DFast(offset, x1, y3, z0), ValCoord3DFast(offset, x2, y3, z0), ValCoord3DFast(offset, x3, y3, z0), xs), + ys), + CubicLerp( + CubicLerp(ValCoord3DFast(offset, x0, y0, z1), ValCoord3DFast(offset, x1, y0, z1), ValCoord3DFast(offset, x2, y0, z1), ValCoord3DFast(offset, x3, y0, z1), xs), + CubicLerp(ValCoord3DFast(offset, x0, y1, z1), ValCoord3DFast(offset, x1, y1, z1), ValCoord3DFast(offset, x2, y1, z1), ValCoord3DFast(offset, x3, y1, z1), xs), + CubicLerp(ValCoord3DFast(offset, x0, y2, z1), ValCoord3DFast(offset, x1, y2, z1), ValCoord3DFast(offset, x2, y2, z1), ValCoord3DFast(offset, x3, y2, z1), xs), + CubicLerp(ValCoord3DFast(offset, x0, y3, z1), ValCoord3DFast(offset, x1, y3, z1), ValCoord3DFast(offset, x2, y3, z1), ValCoord3DFast(offset, x3, y3, z1), xs), + ys), + CubicLerp( + CubicLerp(ValCoord3DFast(offset, x0, y0, z2), ValCoord3DFast(offset, x1, y0, z2), ValCoord3DFast(offset, x2, y0, z2), ValCoord3DFast(offset, x3, y0, z2), xs), + CubicLerp(ValCoord3DFast(offset, x0, y1, z2), ValCoord3DFast(offset, x1, y1, z2), ValCoord3DFast(offset, x2, y1, z2), ValCoord3DFast(offset, x3, y1, z2), xs), + CubicLerp(ValCoord3DFast(offset, x0, y2, z2), ValCoord3DFast(offset, x1, y2, z2), ValCoord3DFast(offset, x2, y2, z2), ValCoord3DFast(offset, x3, y2, z2), xs), + CubicLerp(ValCoord3DFast(offset, x0, y3, z2), ValCoord3DFast(offset, x1, y3, z2), ValCoord3DFast(offset, x2, y3, z2), ValCoord3DFast(offset, x3, y3, z2), xs), + ys), + CubicLerp( + CubicLerp(ValCoord3DFast(offset, x0, y0, z3), ValCoord3DFast(offset, x1, y0, z3), ValCoord3DFast(offset, x2, y0, z3), ValCoord3DFast(offset, x3, y0, z3), xs), + CubicLerp(ValCoord3DFast(offset, x0, y1, z3), ValCoord3DFast(offset, x1, y1, z3), ValCoord3DFast(offset, x2, y1, z3), ValCoord3DFast(offset, x3, y1, z3), xs), + CubicLerp(ValCoord3DFast(offset, x0, y2, z3), ValCoord3DFast(offset, x1, y2, z3), ValCoord3DFast(offset, x2, y2, z3), ValCoord3DFast(offset, x3, y2, z3), xs), + CubicLerp(ValCoord3DFast(offset, x0, y3, z3), ValCoord3DFast(offset, x1, y3, z3), ValCoord3DFast(offset, x2, y3, z3), ValCoord3DFast(offset, x3, y3, z3), xs), + ys), + zs) * CUBIC_3D_BOUNDING; +} + + +FN_DECIMAL FastNoise::GetCubicFractal(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + switch (m_fractalType) + { + case FBM: + return SingleCubicFractalFBM(x, y); + case Billow: + return SingleCubicFractalBillow(x, y); + case RigidMulti: + return SingleCubicFractalRigidMulti(x, y); + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleCubicFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = SingleCubic(m_perm[0], x, y); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += SingleCubic(m_perm[i], x, y) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleCubicFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = FastAbs(SingleCubic(m_perm[0], x, y)) * 2 - 1; + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum += (FastAbs(SingleCubic(m_perm[i], x, y)) * 2 - 1) * amp; + } + + return sum * m_fractalBounding; +} + +FN_DECIMAL FastNoise::SingleCubicFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const +{ + FN_DECIMAL sum = 1 - FastAbs(SingleCubic(m_perm[0], x, y)); + FN_DECIMAL amp = 1; + int i = 0; + + while (++i < m_octaves) + { + x *= m_lacunarity; + y *= m_lacunarity; + + amp *= m_gain; + sum -= (1 - FastAbs(SingleCubic(m_perm[i], x, y))) * amp; + } + + return sum; +} + +FN_DECIMAL FastNoise::GetCubic(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + return SingleCubic(0, x, y); +} + +const FN_DECIMAL CUBIC_2D_BOUNDING = 1 / (FN_DECIMAL(1.5) * FN_DECIMAL(1.5)); + +FN_DECIMAL FastNoise::SingleCubic(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const +{ + int x1 = FastFloor(x); + int y1 = FastFloor(y); + + int x0 = x1 - 1; + int y0 = y1 - 1; + int x2 = x1 + 1; + int y2 = y1 + 1; + int x3 = x1 + 2; + int y3 = y1 + 2; + + FN_DECIMAL xs = x - (FN_DECIMAL)x1; + FN_DECIMAL ys = y - (FN_DECIMAL)y1; + + return CubicLerp( + CubicLerp(ValCoord2DFast(offset, x0, y0), ValCoord2DFast(offset, x1, y0), ValCoord2DFast(offset, x2, y0), ValCoord2DFast(offset, x3, y0), xs), + CubicLerp(ValCoord2DFast(offset, x0, y1), ValCoord2DFast(offset, x1, y1), ValCoord2DFast(offset, x2, y1), ValCoord2DFast(offset, x3, y1), xs), + CubicLerp(ValCoord2DFast(offset, x0, y2), ValCoord2DFast(offset, x1, y2), ValCoord2DFast(offset, x2, y2), ValCoord2DFast(offset, x3, y2), xs), + CubicLerp(ValCoord2DFast(offset, x0, y3), ValCoord2DFast(offset, x1, y3), ValCoord2DFast(offset, x2, y3), ValCoord2DFast(offset, x3, y3), xs), + ys) * CUBIC_2D_BOUNDING; +} + +// Cellular Noise +FN_DECIMAL FastNoise::GetCellular(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + x *= m_frequency; + y *= m_frequency; + z *= m_frequency; + + switch (m_cellularReturnType) + { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y, z); + default: + return SingleCellular2Edge(x, y, z); + } +} + +FN_DECIMAL FastNoise::SingleCellular(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + int xr = FastRound(x); + int yr = FastRound(y); + int zr = FastRound(z); + + FN_DECIMAL distance = 999999; + int xc = 0, yc = 0, zc = 0; + + switch (m_cellularDistanceFunction) + { + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + for (int zi = zr - 1; zi <= zr + 1; zi++) + { + unsigned char lutPos = Index3D_256(0, xi, yi, zi); + + FN_DECIMAL vecX = xi - x + CELL_3D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_3D_Y[lutPos] * m_cellularJitter; + FN_DECIMAL vecZ = zi - z + CELL_3D_Z[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = vecX * vecX + vecY * vecY + vecZ * vecZ; + + if (newDistance < distance) + { + distance = newDistance; + xc = xi; + yc = yi; + zc = zi; + } + } + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + for (int zi = zr - 1; zi <= zr + 1; zi++) + { + unsigned char lutPos = Index3D_256(0, xi, yi, zi); + + FN_DECIMAL vecX = xi - x + CELL_3D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_3D_Y[lutPos] * m_cellularJitter; + FN_DECIMAL vecZ = zi - z + CELL_3D_Z[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = FastAbs(vecX) + FastAbs(vecY) + FastAbs(vecZ); + + if (newDistance < distance) + { + distance = newDistance; + xc = xi; + yc = yi; + zc = zi; + } + } + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + for (int zi = zr - 1; zi <= zr + 1; zi++) + { + unsigned char lutPos = Index3D_256(0, xi, yi, zi); + + FN_DECIMAL vecX = xi - x + CELL_3D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_3D_Y[lutPos] * m_cellularJitter; + FN_DECIMAL vecZ = zi - z + CELL_3D_Z[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = (FastAbs(vecX) + FastAbs(vecY) + FastAbs(vecZ)) + (vecX * vecX + vecY * vecY + vecZ * vecZ); + + if (newDistance < distance) + { + distance = newDistance; + xc = xi; + yc = yi; + zc = zi; + } + } + } + } + break; + default: + break; + } + + unsigned char lutPos; + switch (m_cellularReturnType) + { + case CellValue: + return ValCoord3D(m_seed, xc, yc, zc); + + case NoiseLookup: + assert(m_cellularNoiseLookup); + + lutPos = Index3D_256(0, xc, yc, zc); + return m_cellularNoiseLookup->GetNoise(xc + CELL_3D_X[lutPos] * m_cellularJitter, yc + CELL_3D_Y[lutPos] * m_cellularJitter, zc + CELL_3D_Z[lutPos] * m_cellularJitter); + + case Distance: + return distance; + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleCellular2Edge(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const +{ + int xr = FastRound(x); + int yr = FastRound(y); + int zr = FastRound(z); + + FN_DECIMAL distance[FN_CELLULAR_INDEX_MAX + 1] = { 999999,999999,999999,999999 }; + + switch (m_cellularDistanceFunction) + { + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + for (int zi = zr - 1; zi <= zr + 1; zi++) + { + unsigned char lutPos = Index3D_256(0, xi, yi, zi); + + FN_DECIMAL vecX = xi - x + CELL_3D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_3D_Y[lutPos] * m_cellularJitter; + FN_DECIMAL vecZ = zi - z + CELL_3D_Z[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = vecX * vecX + vecY * vecY + vecZ * vecZ; + + for (int i = m_cellularDistanceIndex1; i > 0; i--) + distance[i] = fmax(fmin(distance[i], newDistance), distance[i - 1]); + distance[0] = fmin(distance[0], newDistance); + } + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + for (int zi = zr - 1; zi <= zr + 1; zi++) + { + unsigned char lutPos = Index3D_256(0, xi, yi, zi); + + FN_DECIMAL vecX = xi - x + CELL_3D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_3D_Y[lutPos] * m_cellularJitter; + FN_DECIMAL vecZ = zi - z + CELL_3D_Z[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = FastAbs(vecX) + FastAbs(vecY) + FastAbs(vecZ); + + for (int i = m_cellularDistanceIndex1; i > 0; i--) + distance[i] = fmax(fmin(distance[i], newDistance), distance[i - 1]); + distance[0] = fmin(distance[0], newDistance); + } + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + for (int zi = zr - 1; zi <= zr + 1; zi++) + { + unsigned char lutPos = Index3D_256(0, xi, yi, zi); + + FN_DECIMAL vecX = xi - x + CELL_3D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_3D_Y[lutPos] * m_cellularJitter; + FN_DECIMAL vecZ = zi - z + CELL_3D_Z[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = (FastAbs(vecX) + FastAbs(vecY) + FastAbs(vecZ)) + (vecX * vecX + vecY * vecY + vecZ * vecZ); + + for (int i = m_cellularDistanceIndex1; i > 0; i--) + distance[i] = fmax(fmin(distance[i], newDistance), distance[i - 1]); + distance[0] = fmin(distance[0], newDistance); + } + } + } + break; + default: + break; + } + + switch (m_cellularReturnType) + { + case Distance2: + return distance[m_cellularDistanceIndex1]; + case Distance2Add: + return distance[m_cellularDistanceIndex1] + distance[m_cellularDistanceIndex0]; + case Distance2Sub: + return distance[m_cellularDistanceIndex1] - distance[m_cellularDistanceIndex0]; + case Distance2Mul: + return distance[m_cellularDistanceIndex1] * distance[m_cellularDistanceIndex0]; + case Distance2Div: + return distance[m_cellularDistanceIndex0] / distance[m_cellularDistanceIndex1]; + default: + return 0; + } +} + +FN_DECIMAL FastNoise::GetCellular(FN_DECIMAL x, FN_DECIMAL y) const +{ + x *= m_frequency; + y *= m_frequency; + + switch (m_cellularReturnType) + { + case CellValue: + case NoiseLookup: + case Distance: + return SingleCellular(x, y); + default: + return SingleCellular2Edge(x, y); + } +} + +FN_DECIMAL FastNoise::SingleCellular(FN_DECIMAL x, FN_DECIMAL y) const +{ + int xr = FastRound(x); + int yr = FastRound(y); + + FN_DECIMAL distance = 999999; + int xc = 0, yc = 0; + + switch (m_cellularDistanceFunction) + { + default: + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + unsigned char lutPos = Index2D_256(0, xi, yi); + + FN_DECIMAL vecX = xi - x + CELL_2D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_2D_Y[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = vecX * vecX + vecY * vecY; + + if (newDistance < distance) + { + distance = newDistance; + xc = xi; + yc = yi; + } + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + unsigned char lutPos = Index2D_256(0, xi, yi); + + FN_DECIMAL vecX = xi - x + CELL_2D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_2D_Y[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = (FastAbs(vecX) + FastAbs(vecY)); + + if (newDistance < distance) + { + distance = newDistance; + xc = xi; + yc = yi; + } + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + unsigned char lutPos = Index2D_256(0, xi, yi); + + FN_DECIMAL vecX = xi - x + CELL_2D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_2D_Y[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = (FastAbs(vecX) + FastAbs(vecY)) + (vecX * vecX + vecY * vecY); + + if (newDistance < distance) + { + distance = newDistance; + xc = xi; + yc = yi; + } + } + } + break; + } + + unsigned char lutPos; + switch (m_cellularReturnType) + { + case CellValue: + return ValCoord2D(m_seed, xc, yc); + + case NoiseLookup: + assert(m_cellularNoiseLookup); + + lutPos = Index2D_256(0, xc, yc); + return m_cellularNoiseLookup->GetNoise(xc + CELL_2D_X[lutPos] * m_cellularJitter, yc + CELL_2D_Y[lutPos] * m_cellularJitter); + + case Distance: + return distance; + default: + return 0; + } +} + +FN_DECIMAL FastNoise::SingleCellular2Edge(FN_DECIMAL x, FN_DECIMAL y) const +{ + int xr = FastRound(x); + int yr = FastRound(y); + + FN_DECIMAL distance[FN_CELLULAR_INDEX_MAX + 1] = { 999999,999999,999999,999999 }; + + switch (m_cellularDistanceFunction) + { + default: + case Euclidean: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + unsigned char lutPos = Index2D_256(0, xi, yi); + + FN_DECIMAL vecX = xi - x + CELL_2D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_2D_Y[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = vecX * vecX + vecY * vecY; + + for (int i = m_cellularDistanceIndex1; i > 0; i--) + distance[i] = fmax(fmin(distance[i], newDistance), distance[i - 1]); + distance[0] = fmin(distance[0], newDistance); + } + } + break; + case Manhattan: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + unsigned char lutPos = Index2D_256(0, xi, yi); + + FN_DECIMAL vecX = xi - x + CELL_2D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_2D_Y[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = FastAbs(vecX) + FastAbs(vecY); + + for (int i = m_cellularDistanceIndex1; i > 0; i--) + distance[i] = fmax(fmin(distance[i], newDistance), distance[i - 1]); + distance[0] = fmin(distance[0], newDistance); + } + } + break; + case Natural: + for (int xi = xr - 1; xi <= xr + 1; xi++) + { + for (int yi = yr - 1; yi <= yr + 1; yi++) + { + unsigned char lutPos = Index2D_256(0, xi, yi); + + FN_DECIMAL vecX = xi - x + CELL_2D_X[lutPos] * m_cellularJitter; + FN_DECIMAL vecY = yi - y + CELL_2D_Y[lutPos] * m_cellularJitter; + + FN_DECIMAL newDistance = (FastAbs(vecX) + FastAbs(vecY)) + (vecX * vecX + vecY * vecY); + + for (int i = m_cellularDistanceIndex1; i > 0; i--) + distance[i] = fmax(fmin(distance[i], newDistance), distance[i - 1]); + distance[0] = fmin(distance[0], newDistance); + } + } + break; + } + + switch (m_cellularReturnType) + { + case Distance2: + return distance[m_cellularDistanceIndex1]; + case Distance2Add: + return distance[m_cellularDistanceIndex1] + distance[m_cellularDistanceIndex0]; + case Distance2Sub: + return distance[m_cellularDistanceIndex1] - distance[m_cellularDistanceIndex0]; + case Distance2Mul: + return distance[m_cellularDistanceIndex1] * distance[m_cellularDistanceIndex0]; + case Distance2Div: + return distance[m_cellularDistanceIndex0] / distance[m_cellularDistanceIndex1]; + default: + return 0; + } +} + +void FastNoise::GradientPerturb(FN_DECIMAL& x, FN_DECIMAL& y, FN_DECIMAL& z) const +{ + SingleGradientPerturb(0, m_gradientPerturbAmp, m_frequency, x, y, z); +} + +void FastNoise::GradientPerturbFractal(FN_DECIMAL& x, FN_DECIMAL& y, FN_DECIMAL& z) const +{ + FN_DECIMAL amp = m_gradientPerturbAmp * m_fractalBounding; + FN_DECIMAL freq = m_frequency; + int i = 0; + + SingleGradientPerturb(m_perm[0], amp, m_frequency, x, y, z); + + while (++i < m_octaves) + { + freq *= m_lacunarity; + amp *= m_gain; + SingleGradientPerturb(m_perm[i], amp, freq, x, y, z); + } +} + +void FastNoise::SingleGradientPerturb(unsigned char offset, FN_DECIMAL warpAmp, FN_DECIMAL frequency, FN_DECIMAL& x, FN_DECIMAL& y, FN_DECIMAL& z) const +{ + FN_DECIMAL xf = x * frequency; + FN_DECIMAL yf = y * frequency; + FN_DECIMAL zf = z * frequency; + + int x0 = FastFloor(xf); + int y0 = FastFloor(yf); + int z0 = FastFloor(zf); + int x1 = x0 + 1; + int y1 = y0 + 1; + int z1 = z0 + 1; + + FN_DECIMAL xs, ys, zs; + switch (m_interp) + { + default: + case Linear: + xs = xf - (FN_DECIMAL)x0; + ys = yf - (FN_DECIMAL)y0; + zs = zf - (FN_DECIMAL)z0; + break; + case Hermite: + xs = InterpHermiteFunc(xf - (FN_DECIMAL)x0); + ys = InterpHermiteFunc(yf - (FN_DECIMAL)y0); + zs = InterpHermiteFunc(zf - (FN_DECIMAL)z0); + break; + case Quintic: + xs = InterpQuinticFunc(xf - (FN_DECIMAL)x0); + ys = InterpQuinticFunc(yf - (FN_DECIMAL)y0); + zs = InterpQuinticFunc(zf - (FN_DECIMAL)z0); + break; + } + + int lutPos0 = Index3D_256(offset, x0, y0, z0); + int lutPos1 = Index3D_256(offset, x1, y0, z0); + + FN_DECIMAL lx0x = Lerp(CELL_3D_X[lutPos0], CELL_3D_X[lutPos1], xs); + FN_DECIMAL ly0x = Lerp(CELL_3D_Y[lutPos0], CELL_3D_Y[lutPos1], xs); + FN_DECIMAL lz0x = Lerp(CELL_3D_Z[lutPos0], CELL_3D_Z[lutPos1], xs); + + lutPos0 = Index3D_256(offset, x0, y1, z0); + lutPos1 = Index3D_256(offset, x1, y1, z0); + + FN_DECIMAL lx1x = Lerp(CELL_3D_X[lutPos0], CELL_3D_X[lutPos1], xs); + FN_DECIMAL ly1x = Lerp(CELL_3D_Y[lutPos0], CELL_3D_Y[lutPos1], xs); + FN_DECIMAL lz1x = Lerp(CELL_3D_Z[lutPos0], CELL_3D_Z[lutPos1], xs); + + FN_DECIMAL lx0y = Lerp(lx0x, lx1x, ys); + FN_DECIMAL ly0y = Lerp(ly0x, ly1x, ys); + FN_DECIMAL lz0y = Lerp(lz0x, lz1x, ys); + + lutPos0 = Index3D_256(offset, x0, y0, z1); + lutPos1 = Index3D_256(offset, x1, y0, z1); + + lx0x = Lerp(CELL_3D_X[lutPos0], CELL_3D_X[lutPos1], xs); + ly0x = Lerp(CELL_3D_Y[lutPos0], CELL_3D_Y[lutPos1], xs); + lz0x = Lerp(CELL_3D_Z[lutPos0], CELL_3D_Z[lutPos1], xs); + + lutPos0 = Index3D_256(offset, x0, y1, z1); + lutPos1 = Index3D_256(offset, x1, y1, z1); + + lx1x = Lerp(CELL_3D_X[lutPos0], CELL_3D_X[lutPos1], xs); + ly1x = Lerp(CELL_3D_Y[lutPos0], CELL_3D_Y[lutPos1], xs); + lz1x = Lerp(CELL_3D_Z[lutPos0], CELL_3D_Z[lutPos1], xs); + + x += Lerp(lx0y, Lerp(lx0x, lx1x, ys), zs) * warpAmp; + y += Lerp(ly0y, Lerp(ly0x, ly1x, ys), zs) * warpAmp; + z += Lerp(lz0y, Lerp(lz0x, lz1x, ys), zs) * warpAmp; +} + +void FastNoise::GradientPerturb(FN_DECIMAL& x, FN_DECIMAL& y) const +{ + SingleGradientPerturb(0, m_gradientPerturbAmp, m_frequency, x, y); +} + +void FastNoise::GradientPerturbFractal(FN_DECIMAL& x, FN_DECIMAL& y) const +{ + FN_DECIMAL amp = m_gradientPerturbAmp * m_fractalBounding; + FN_DECIMAL freq = m_frequency; + int i = 0; + + SingleGradientPerturb(m_perm[0], amp, m_frequency, x, y); + + while (++i < m_octaves) + { + freq *= m_lacunarity; + amp *= m_gain; + SingleGradientPerturb(m_perm[i], amp, freq, x, y); + } +} + +void FastNoise::SingleGradientPerturb(unsigned char offset, FN_DECIMAL warpAmp, FN_DECIMAL frequency, FN_DECIMAL& x, FN_DECIMAL& y) const +{ + FN_DECIMAL xf = x * frequency; + FN_DECIMAL yf = y * frequency; + + int x0 = FastFloor(xf); + int y0 = FastFloor(yf); + int x1 = x0 + 1; + int y1 = y0 + 1; + + FN_DECIMAL xs, ys; + switch (m_interp) + { + default: + case Linear: + xs = xf - (FN_DECIMAL)x0; + ys = yf - (FN_DECIMAL)y0; + break; + case Hermite: + xs = InterpHermiteFunc(xf - (FN_DECIMAL)x0); + ys = InterpHermiteFunc(yf - (FN_DECIMAL)y0); + break; + case Quintic: + xs = InterpQuinticFunc(xf - (FN_DECIMAL)x0); + ys = InterpQuinticFunc(yf - (FN_DECIMAL)y0); + break; + } + + int lutPos0 = Index2D_256(offset, x0, y0); + int lutPos1 = Index2D_256(offset, x1, y0); + + FN_DECIMAL lx0x = Lerp(CELL_2D_X[lutPos0], CELL_2D_X[lutPos1], xs); + FN_DECIMAL ly0x = Lerp(CELL_2D_Y[lutPos0], CELL_2D_Y[lutPos1], xs); + + lutPos0 = Index2D_256(offset, x0, y1); + lutPos1 = Index2D_256(offset, x1, y1); + + FN_DECIMAL lx1x = Lerp(CELL_2D_X[lutPos0], CELL_2D_X[lutPos1], xs); + FN_DECIMAL ly1x = Lerp(CELL_2D_Y[lutPos0], CELL_2D_Y[lutPos1], xs); + + x += Lerp(lx0x, lx1x, ys) * warpAmp; + y += Lerp(ly0x, ly1x, ys) * warpAmp; +} diff --git a/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Private/FastNoiseModule.cpp b/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Private/FastNoiseModule.cpp new file mode 100644 index 0000000..8c7a464 --- /dev/null +++ b/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Private/FastNoiseModule.cpp @@ -0,0 +1,20 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "FastNoiseModule.h" + +#define LOCTEXT_NAMESPACE "FFastNoiseModule" + +void FFastNoiseModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module +} + +void FFastNoiseModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FFastNoiseModule, FastNoise) diff --git a/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoise.h b/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoise.h new file mode 100644 index 0000000..65dcc39 --- /dev/null +++ b/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoise.h @@ -0,0 +1,315 @@ +#pragma once + +#include "CoreMinimal.h" + +// FastNoise.h +// +// MIT License +// +// Copyright(c) 2017 Jordan Peck +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files(the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions : +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +// The developer's email is jorzixdan.me2@gzixmail.com (for great email, take +// off every 'zix'.) +// + +// VERSION: 0.4.1 + +#ifndef FASTNOISE_H +#define FASTNOISE_H + +// Uncomment the line below to use doubles throughout FastNoise instead of floats +//#define FN_USE_DOUBLES + +#define FN_CELLULAR_INDEX_MAX 3 + +#ifdef FN_USE_DOUBLES +typedef double FN_DECIMAL; +#else +typedef float FN_DECIMAL; +#endif + +class FASTNOISE_API FastNoise +{ +public: + explicit FastNoise(int seed = 1337) { SetSeed(seed); CalculateFractalBounding(); } + + enum NoiseType { Value, ValueFractal, Perlin, PerlinFractal, Simplex, SimplexFractal, Cellular, WhiteNoise, Cubic, CubicFractal }; + enum Interp { Linear, Hermite, Quintic }; + enum FractalType { FBM, Billow, RigidMulti }; + enum CellularDistanceFunction { Euclidean, Manhattan, Natural }; + enum CellularReturnType { CellValue, NoiseLookup, Distance, Distance2, Distance2Add, Distance2Sub, Distance2Mul, Distance2Div }; + + // Sets seed used for all noise types + // Default: 1337 + void SetSeed(int seed); + + // Returns seed used for all noise types + int GetSeed() const { return m_seed; } + + // Sets frequency for all noise types + // Default: 0.01 + void SetFrequency(FN_DECIMAL frequency) { m_frequency = frequency; } + + // Returns frequency used for all noise types + FN_DECIMAL GetFrequency() const { return m_frequency; } + + // Changes the interpolation method used to smooth between noise values + // Possible interpolation methods (lowest to highest quality) : + // - Linear + // - Hermite + // - Quintic + // Used in Value, Perlin Noise and Position Warping + // Default: Quintic + void SetInterp(Interp interp) { m_interp = interp; } + + // Returns interpolation method used for supported noise types + Interp GetInterp() const { return m_interp; } + + // Sets noise return type of GetNoise(...) + // Default: Simplex + void SetNoiseType(NoiseType noiseType) { m_noiseType = noiseType; } + + // Returns the noise type used by GetNoise + NoiseType GetNoiseType() const { return m_noiseType; } + + // Sets octave count for all fractal noise types + // Default: 3 + void SetFractalOctaves(int octaves) { m_octaves = octaves; CalculateFractalBounding(); } + + // Returns octave count for all fractal noise types + int GetFractalOctaves() const { return m_octaves; } + + // Sets octave lacunarity for all fractal noise types + // Default: 2.0 + void SetFractalLacunarity(FN_DECIMAL lacunarity) { m_lacunarity = lacunarity; } + + // Returns octave lacunarity for all fractal noise types + FN_DECIMAL GetFractalLacunarity() const { return m_lacunarity; } + + // Sets octave gain for all fractal noise types + // Default: 0.5 + void SetFractalGain(FN_DECIMAL gain) { m_gain = gain; CalculateFractalBounding(); } + + // Returns octave gain for all fractal noise types + FN_DECIMAL GetFractalGain() const { return m_gain; } + + // Sets method for combining octaves in all fractal noise types + // Default: FBM + void SetFractalType(FractalType fractalType) { m_fractalType = fractalType; } + + // Returns method for combining octaves in all fractal noise types + FractalType GetFractalType() const { return m_fractalType; } + + + // Sets distance function used in cellular noise calculations + // Default: Euclidean + void SetCellularDistanceFunction(CellularDistanceFunction cellularDistanceFunction) { m_cellularDistanceFunction = cellularDistanceFunction; } + + // Returns the distance function used in cellular noise calculations + CellularDistanceFunction GetCellularDistanceFunction() const { return m_cellularDistanceFunction; } + + // Sets return type from cellular noise calculations + // Note: NoiseLookup requires another FastNoise object be set with SetCellularNoiseLookup() to function + // Default: CellValue + void SetCellularReturnType(CellularReturnType cellularReturnType) { m_cellularReturnType = cellularReturnType; } + + // Returns the return type from cellular noise calculations + CellularReturnType GetCellularReturnType() const { return m_cellularReturnType; } + + // Noise used to calculate a cell value if cellular return type is NoiseLookup + // The lookup value is acquired through GetNoise() so ensure you SetNoiseType() on the noise lookup, value, Perlin or simplex is recommended + void SetCellularNoiseLookup(FastNoise* noise) { m_cellularNoiseLookup = noise; } + + // Returns the noise used to calculate a cell value if the cellular return type is NoiseLookup + FastNoise* GetCellularNoiseLookup() const { return m_cellularNoiseLookup; } + + // Sets the 2 distance indices used for distance2 return types + // Default: 0, 1 + // Note: index0 should be lower than index1 + // Both indices must be >= 0, index1 must be < 4 + void SetCellularDistance2Indices(int cellularDistanceIndex0, int cellularDistanceIndex1); + + // Returns the 2 distance indices used for distance2 return types + void GetCellularDistance2Indices(int& cellularDistanceIndex0, int& cellularDistanceIndex1) const; + + // Sets the maximum distance a cellular point can move from its grid position + // Setting this high will make artifacts more common + // Default: 0.45 + void SetCellularJitter(FN_DECIMAL cellularJitter) { m_cellularJitter = cellularJitter; } + + // Returns the maximum distance a cellular point can move from its grid position + FN_DECIMAL GetCellularJitter() const { return m_cellularJitter; } + + // Sets the maximum warp distance from original location when using GradientPerturb{Fractal}(...) + // Default: 1.0 + void SetGradientPerturbAmp(FN_DECIMAL gradientPerturbAmp) { m_gradientPerturbAmp = gradientPerturbAmp; } + + // Returns the maximum warp distance from original location when using GradientPerturb{Fractal}(...) + FN_DECIMAL GetGradientPerturbAmp() const { return m_gradientPerturbAmp; } + + //2D + FN_DECIMAL GetValue(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL GetValueFractal(FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL GetPerlin(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL GetPerlinFractal(FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL GetSimplex(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL GetSimplexFractal(FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL GetCellular(FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL GetWhiteNoise(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL GetWhiteNoiseInt(int x, int y) const; + + FN_DECIMAL GetCubic(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL GetCubicFractal(FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL GetNoise(FN_DECIMAL x, FN_DECIMAL y) const; + + void GradientPerturb(FN_DECIMAL& x, FN_DECIMAL& y) const; + void GradientPerturbFractal(FN_DECIMAL& x, FN_DECIMAL& y) const; + + //3D + FN_DECIMAL GetValue(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL GetValueFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL GetPerlin(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL GetPerlinFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL GetSimplex(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL GetSimplexFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL GetCellular(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL GetWhiteNoise(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL GetWhiteNoiseInt(int x, int y, int z) const; + + FN_DECIMAL GetCubic(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL GetCubicFractal(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL GetNoise(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + void GradientPerturb(FN_DECIMAL& x, FN_DECIMAL& y, FN_DECIMAL& z) const; + void GradientPerturbFractal(FN_DECIMAL& x, FN_DECIMAL& y, FN_DECIMAL& z) const; + + //4D + FN_DECIMAL GetSimplex(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z, FN_DECIMAL w) const; + + FN_DECIMAL GetWhiteNoise(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z, FN_DECIMAL w) const; + FN_DECIMAL GetWhiteNoiseInt(int x, int y, int z, int w) const; + +private: + unsigned char m_perm[512]; + unsigned char m_perm12[512]; + + int m_seed = 1337; + FN_DECIMAL m_frequency = FN_DECIMAL(0.01); + Interp m_interp = Quintic; + NoiseType m_noiseType = Simplex; + + int m_octaves = 3; + FN_DECIMAL m_lacunarity = FN_DECIMAL(2); + FN_DECIMAL m_gain = FN_DECIMAL(0.5); + FractalType m_fractalType = FBM; + FN_DECIMAL m_fractalBounding; + + CellularDistanceFunction m_cellularDistanceFunction = Euclidean; + CellularReturnType m_cellularReturnType = CellValue; + FastNoise* m_cellularNoiseLookup = nullptr; + int m_cellularDistanceIndex0 = 0; + int m_cellularDistanceIndex1 = 1; + FN_DECIMAL m_cellularJitter = FN_DECIMAL(0.45); + + FN_DECIMAL m_gradientPerturbAmp = FN_DECIMAL(1); + + void CalculateFractalBounding(); + + //2D + FN_DECIMAL SingleValueFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleValueFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleValueFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleValue(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL SinglePerlinFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SinglePerlinFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SinglePerlinFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SinglePerlin(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL SingleSimplexFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleSimplexFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleSimplexFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleSimplexFractalBlend(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleSimplex(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL SingleCubicFractalFBM(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleCubicFractalBillow(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleCubicFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleCubic(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y) const; + + FN_DECIMAL SingleCellular(FN_DECIMAL x, FN_DECIMAL y) const; + FN_DECIMAL SingleCellular2Edge(FN_DECIMAL x, FN_DECIMAL y) const; + + void SingleGradientPerturb(unsigned char offset, FN_DECIMAL warpAmp, FN_DECIMAL frequency, FN_DECIMAL& x, FN_DECIMAL& y) const; + + //3D + FN_DECIMAL SingleValueFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleValueFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleValueFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleValue(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL SinglePerlinFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SinglePerlinFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SinglePerlinFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SinglePerlin(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL SingleSimplexFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleSimplexFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleSimplexFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleSimplex(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL SingleCubicFractalFBM(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleCubicFractalBillow(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleCubicFractalRigidMulti(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleCubic(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + FN_DECIMAL SingleCellular(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + FN_DECIMAL SingleCellular2Edge(FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z) const; + + void SingleGradientPerturb(unsigned char offset, FN_DECIMAL warpAmp, FN_DECIMAL frequency, FN_DECIMAL& x, FN_DECIMAL& y, FN_DECIMAL& z) const; + + //4D + FN_DECIMAL SingleSimplex(unsigned char offset, FN_DECIMAL x, FN_DECIMAL y, FN_DECIMAL z, FN_DECIMAL w) const; + + inline unsigned char Index2D_12(unsigned char offset, int x, int y) const; + inline unsigned char Index3D_12(unsigned char offset, int x, int y, int z) const; + inline unsigned char Index4D_32(unsigned char offset, int x, int y, int z, int w) const; + inline unsigned char Index2D_256(unsigned char offset, int x, int y) const; + inline unsigned char Index3D_256(unsigned char offset, int x, int y, int z) const; + inline unsigned char Index4D_256(unsigned char offset, int x, int y, int z, int w) const; + + inline FN_DECIMAL ValCoord2DFast(unsigned char offset, int x, int y) const; + inline FN_DECIMAL ValCoord3DFast(unsigned char offset, int x, int y, int z) const; + inline FN_DECIMAL GradCoord2D(unsigned char offset, int x, int y, FN_DECIMAL xd, FN_DECIMAL yd) const; + inline FN_DECIMAL GradCoord3D(unsigned char offset, int x, int y, int z, FN_DECIMAL xd, FN_DECIMAL yd, FN_DECIMAL zd) const; + inline FN_DECIMAL GradCoord4D(unsigned char offset, int x, int y, int z, int w, FN_DECIMAL xd, FN_DECIMAL yd, FN_DECIMAL zd, FN_DECIMAL wd) const; +}; +#endif diff --git a/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoiseModule.h b/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoiseModule.h new file mode 100644 index 0000000..01f396d --- /dev/null +++ b/Plugins/FastNoiseGenerator/Source/ThirdParty/FastNoise/Public/FastNoiseModule.h @@ -0,0 +1,15 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +class FFastNoiseModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +};

k 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%0AyC_2+i!osSG@lKqG}f3^2X)|`Z}NKSvR`3 zhdeVIywcfPH~jO7S9^cJSCc>-uZH{)dw;1Wx8h|`>UTk8IxnGb@cjKN(C3*g?d6@$ z5;QK~Kr>!bb@2k@Tk$5940+SEU$rB&lCVQ4Mg*2)z+O57_?qf`W8$44ct=u8O;*Zz z<%Gns!*GnpaoTtXuq6Hz0p+Lc()c@2y3`3jZMkQY1dot%#PT=?HRiwCx)jl^uAep5 zm5dP~k0Wp+87lmf{?N=GxqVNQ|Dx+t<*KdH}oe64K{O@im`_V}<0jXoNGB8Q4KRexQ%axLD!v zipw*~mlMM?Z)p&hG zZ=t)`U0vwj6jC)pJIOK{OiTFe=Dct`Kphv3v(7hfINpu(r^4v z1X^Z`WcqG`xDPy;CDe8V_4)&kdiBjd#>+v{Bek~+4Xv_r%yGw3#QOCl)g4>K+75{u zeXCH1dX6E8hkvHg)A7Z5&bQ)CN5((8E&Y|D766$K&o`&n=s5b&1#NT0aBE&5mtMFf zbbT;vw%k7ZdgIidet=h!>T=I@;teusrt^H;`7T6*qp0%8Kaf96pGxU`N8$@LjA{OC zmRf9CQ3b>beBXV!EKhyd#dF$5uc1qG9i_An3tNdKwwhpBSB=biWH8*W#zVj zcsUpq<$CUkc4UiH(iw4Xn+#E(nlib_9=-ApHP-9*U)lZ(OJs7BNd&hIgUHXyr}eH2 zN$~~Dl9gsgxs!%j4ie;gAMU?k-TV5`1rpA&e{5-T8+jDs;wX+hqE7^Rq4e$3(zJB% z5ZYeHEuOV)8+qdf<$hnAv0yv@0JYS8D?;MNIpcj=)s_cbq{}2Eb^FOW{y%(uPxq^v z*0iHxBF_|ZCA_DEep)vE={*mz?m3_i$^?BP=j`__oh;d=E|)!2fN_FA&hC9c9dT4H zqSCEeLeR7^wie-$e9L#|qlEyYV~{`{c+Yq={{RrlrfP{}a#gJ4wt-5>c#XW2=b^yQ zUOnq_eLB)+hD$|AZq-ats>`!*>QL@h1cA_UG3YTs9Q@jDsiYsacy{Vbiy1y|+%S`A z?g;Po$4<0g!KLa~?+xFZYpMw11IxzASjM~na2FkcBkSosh24&sth<; z+ZOVrRv*NnvB>r$5$&8j$Eo;tOuA@hnk8$9nmGU}8A`|wRP;H(AoL)6RNvUwg5E28 z=C`}G3}cDmofb&Q&O(>QdUB`qtB_l3S{|Elb2a1y#9~xtBWKJQ404C3Bc~kD1xPim zZtQ;g#`1E0UorydLHvr3%k-@qL3)>vNOf^;42l}w^UGIt$jHi)PJV;>)&{Z1Edg%L4P-Ljnc4 zi?#{DIOTeEs?Tt4BRZa*?FI4=^r)lYF#h-*!TurrDqTcsIs@sgz3uMff#Wzi-)DpjGp;9>7M3*B^s5UucX5^xgRk~(JZiyzrYCG z2VCPEV;pf+WoWd5vqNokkh#LoX?_fHdlRtd=zZ%$RM1)U$v?9eIZ|oklt&W`Dca$& zo~!q9jP)a&W~k}@8}TGk{^A1)NHFF{Qj9;^UUEIKXaY+OPfNSFk`bd7l1L<0D>zXg z19k{h0A#OFKT5I%rQB%^?TnU?s5X9x#pU_g zB-ZT8B|zaoA-6J~Smkm6>5h9=J;t=k?rgWDj!Ba4Lz&+_dHxaXKQmjfSf%EmZ!fRz z;*xk|K^@dJaD=RGmk+JH8%Q%0IpyIB@nid z0--<9&l_xZm`}Oc$LH@?rtsbM){ANOa~z^694RNuK3iddA+UHMzdke8vm&z=6K-v0 z3uy-j$Y*9A-zdlHKp7yFU_l^*kVk6K)`(qhX`y1GLbItH5xqnI09w!*uARuel3h!T z10|}V{{X)CZvOy2^`c|a^;m4>i%p!!@tDw^@+4sn2JM6%m^tVA&<8%6tal$Kr);+% zk(t-zn0EW$#s2^T&u(h&jba~Gwz<=0Gona5$eeAFRPcD{+-IRD*j4wkxwcs)&YK)@ z91~+~E+419a5?Tr>s9UbYrFfUwA13bxs{FqxRjLx*J9y7`tG0y+W1292U#Yz`$U`m zOMT%%0R87V>FhFj9V%z=wf3Vljd`iruaY*1VQt<}{^(u;j+MDBjm+%(u9`JvSC&L> zBR|9wfUC}aW0v+EX|{G254h=8<`n?rP?1ACopMl<^8Wz8jCu+H$AiMqd4NY{cXFiT z&646c;vG39cN*Nc(xA7xOHrdl_G_05wWKWEe8rpOA54;cx(ipgqRKNZ#mY?ORYXlH zq-xm6JF%XBFUqmx)P}68m)eq8?fZtx_AsaY?416z0lN0Ku1%!YV&XMyg7G0#>-R#8 z=juE4tPNK>HSSYMM1T#+d1(R`PB{b+MsvHkn^^57wYZUG@|B~&j5-wH41&KlPSb#T;<;J;Cv|R)?|EmoGl?)? z8&2I92U?_Fy=wQZM_Ko@#FD5ES5EW(%{+c_fR8aqAH<_OgAPVik`Gbd zop`qqF_y{gw5Bb)%xNN3k-MaWuHl}XuY3yBu(`aslkAt#+NHv-{{S)q`CmiR03Ti0 z;($5bLrAl^&a)lD-C8VL=MeqpldwPC-N7V*+~bE(}X zaeHs`&IvzR>2jM^x z+xX_sO4IFP)&bP5XKcgfM}o2Xo-@ZB^*wznMk|jB>TVhcuA+)X-4w9CQMtiio1=Rg zPAWwu*4wu@<0jmSd8e{wYih~qh+ z4vyWtDLmvwCaZK6NiDN#5IX~oPeEESYMN!VBx#ydX&@m?hEVQ3c|Yfh=Cv!iZ6cN9 zDdq_CNbH}Kze^k2h6n0TZ<+s~s0g1PZ+j`xuxt+@6`mWL_BVp<=gl!vt(ZlG;eU2k|o%$Rh_hJbTt1yG@zXFfuQdjt(SZrwxKS^XcBYOMQCI_BkNbbl~u!jg!la5O^CH9D((& zE)9A+>-GB`?Vs7n-y|XzS%K^Far?qZ^!z*2-)6McH0P4k-o&11k&+{^<#hxePbWO} z$3fGI0PIem;mINM)=Su3L2$6JaB=C74r;EPd?Rv_OoLLAIL--}tYDGU4|?bS0JR{} z?EKs5WrYxcvC75dV~(8XC)^*(v#vGmCtK52TZ?`1qwRR6I0>Eu766sV=y)06k-?x2 zy6?uCcZVMETWL^5TD(UxysdU_h?M~L6VY}b~839gW1?DI*oW?tYnc;xWI z>Bnr@uXLZXN2J|bNoNr%BR5-~HURdKUy;wQ1yg7t(=TRg4H&z`GA6gX^CXKs_7Hn? z$m!mIHe*P1IZm%*Wq6a$yQL8-zmgl#bKjnapzWI1)4WaLOPgl8y0ndy5T`Ei66c&_ zJ9=k0JbpFIS$LueZ=sE@B(s@LCVPle67=DS!BfXxp48j#71-EJ(8HyMnltyA1Vvcm za{@Eh1ExB4Gy&aR-`g#u@M(5Z*!k!YE?~^XmATJSMlsJg=Z|hW+e+8$?xcH*x4p7Z z#KK8tkmG;@bmaBV^%V|{;%KiYc#}_Sc=5h@yzRkMbtR4n>&GUpPpnwn>7ndQQ=)z5 zxM^9V_hK^252-l!pbdKo?;yN^e$3DaaA9~cAIN%TPDjhYAdhkBTbCM_hM_|)uVrrx z#C`EGiCp)>gZzi#USB?;;#-y5WpN8b7~w2sR_*DM{=ItQns0Th;IRqrEwvR=3^D?~ zcpcY2#p*lupbt&D)U>GVE*nU&3%Lf_qL`9$GsEQIdf#%KeemrRE3tmKg(lIA%SsTqm(401Ei%hzeo9sAa{ovq&5$8i>{ zV!N_J&T|P42Va>_2c`zoo(Cqp{_97((zK?RPA2iL4rIKCs;2}f@5wnPoi?j?b*DpU zZyFs^bV*AqZ4wT4sX6&vf)04dAQ}MlMZ55g?D2sokh6@VLvRT9;ripa9MpFc_+HL< zBb)nTX{1s_OBmgNO7Vg1`4L`WrfYiA>I-J_OLWpdmeAamat}k-B}n}}E1MvdWmsLeR<^r!n%N`jN&x zMg?nLXvs8jn-dMC;v%eav`XxVI3Ny~!T$g`pbVQb>t}Xt1XeRg5Zql=VU3$3{b*dV z93FGd26~!ij$pQR)hE>K(&=O?B#}+>&T-K07*oel!St!_^mTnHbo;xzw_V~{E*-Y4 zj7b4U-sz0samcJqLhi>ymK!mp&2b&LZz6k%1_>uD$~Kie;AftKfIGkKjV?dlYCanB zquR`5j_)AtLfsVl4!~C*tN8L6tt7S5?3U6g1{{J*H`JbLD7DL9?Dd;evyq{?ERhzN z$l-c92aT)S0~zg%RV$r6Ej0^B*GsXQ+U7)9r;bTn9mkCP_|LH)od71Pzi*N_m7HqU za7T}uCU2B61O25W{eHC-{q4MvSzBso^FP_vLvtH`@e2~%jN!ggy?Ns~=BI0$tGz;7 z$TaH|ht4}L%ri3^ew?6t1>0-pK)QMEUKxMUod|3Wr=8;`>5T$ zNWtXOB-GXP&oQs>?Br{mxNsaPMdd=S&==?D1JjDXVz%0l7qIG4MW{qVJ>*$U`TM)k zhSE+5$9xWG1DOVUT^`Cf^0G~HBjcgqDvzf-ze?}zej(c(O6yA3ZPt4V!X2QMtghKZPt+vnQ(80pMP_6BQt*FtE>!9 zU%U6cGC1SC0Csa~J`J^)M}KvFV>5M)7&uk+CkL%fsom*1L}=PxlRl>?O~vFpfb{uC zQ^%!pnr4)@R*}znXM7q4VGG?j^AH~RBc6E~2cJRKc^gX5oZVg{i6c~oIT^gkSP)Mm z7ze35pVSHfyJ_Rg+v~AqtmrK*uRkx6V=#{F4;TZ#HK`7{;pi{miajZ1X;*qn<}<~& zAwkJFB$5U_NUm`_Q)78!ERgxg6dmZqmOwvsi zz^X9bX_5rBcGIM^XAJQ$o+1yb9Ffcevy>(Yt7Q;YUW|rNo#K0uUnF=m23C{emI2`_! z%DU;dvNX`#NvK{qAV+;Sm7aL^Z>I6|pbZTxT#8$ZwYH8$lv^`3?0__mM;T-T2O0M~ zbvdouZC_l{A&zlpJ;9P@V=btc6h{j@mCT zB)H@-VYyB?j z%0wHac7((D_XN_~H-m4c`#rX$sZ8t3D2oAo&QxN!$F_SY=eYY*-5J1zVN>>WwLykE zzqx^oj04ZTWa@q}yD_b`jQCKXG@(ez9h4lLd$vjTpbtsZwf_JL_-fUriqY=pS5+JS zZb&41c0ZMQ=DqO~SJtIwLbj`ugC2K)dv5LcVxWUvbD_lAoH5?OZpsvN8Bi2tt~wrn zomRQD(qy+caYJ&J$AKgcA7MG+<71G2;8;Gi0a`+JyI(X6>K5ty&ZN&6{x5bN{YO2G zMWYN&btic3CL{4uzxy>w1%o8ZKAWlANh&wUrHoQ%=-3D73D4v`fbkptO z-m*$dIKcqq4&3w|J?H}u#TsSBwxZV?8LgcVESTs*g~NIrj+JLi)*0=CzWFA$P-R`% zGDN){f7?&gdh=aP&Hc8hE;Q(5jvKSg0z;IzQZhZ6NaNIF+PKEE+j`RJ@wKh=5A#?# zEZH4)AL0l5y?(R-tE|uam~Ul{Jx@uW_=q9lZ1NSluh5bPG3lKP&0|7)`{*?bo5TCy zyBTjIg!Z1hsu&T#v3G`TB)+;-_CgAce(PxHva%_ zV3BHJv|Mf=est z#k{QxhIQyv4a9~y+J0Vp98d>D_Y&VkK67lqknvoFY#uuXUw((TsiAouB1A-C}V0G_egYGw>xLn(q--zrmZ+A;y;pTiXly2hWU zOEsi3IJGRxG%-R;NKXWpETkSg41H(=TTsNhU{{Rw;i*u93xVDNZN7IZq;7RoYvuD-y zg^;Azw~?~-PcfGtg#cdF^rE`O-1k!@t-O-7ieHvsdHGOsdiTKhs*9<`W5$^Wmj3|r z^DqrB{0Fjr9Q)P1Q&X4Dwp*l*?gzDnf=W4GkY{TSM6Zt*<$-pAsMWcer4! z{{R7Q6~FP*=nVirM3Lq34XeoP?(c?XIVT{FwVf2QK`P4(j~t3}u8ct+LMrx@lG^x& z#U_p8b-9c(Fd&bZa6$H}@mO5kTs#m&WMm{UUV|OUJOTBf3t!sHau{khk=(O?%T@i{ zgZ=~t58@ARrE6&#JXcZONn<;CGh4i5T*gqVa7WBC8MR}w0B10=5^tsR4}MNRvW+Z z(M@e;bW)aZ!DfVG_bKzA_!-M*=tVN$P@R@LS)v!QWGY16y@iIOs1kLE zt(pZt2~jx_#cb-4`{Mye)X)Ut+rw7!w03i)-Ofs{+axIn_sCJ7#DP-kDXLxgW;hiG!$Py0{UcSD>@VI+SUdj!yiPwV=`-nuvLjLb)Qs`?wokCE`87!ODM8e2 zJlUHI=Rn0D^5sv{1Jlz08`l0NORKS`*jQV^YRKMFJYepV1gSlM&!?&9(xg5%x{fa` ztznP-t6(EPs9~C?28$%Jtol@r@*{>=XN<)l=Z=2q{K598YZ?XWYIDjU5ZlPx!^-O# zF5n4VoOC3Q!hkNH6U{loYj<}1beh>5f8R^b>D%z7hgR_bb!&ZI*7HB|&&^Oz;K5Jj z&0>9q!T^5LsjDzN$7>mo{{Y`d3;7dA+Vsc)5NXXbXCdyTC;tE)Tz;g`2cu~kmEGiC zW!1gKy~HbrgKkz~*^syNKc5wwb#7k(KY+j z)-57ejvIHBD@6=Sic4{l0Oz+{*4^!})v>GSQa!$;qY}i8w|ft~KBM&%0ba|*5=K7E zwpO;6v7CLHNZA%c$@zH!8`zF>!4;`xGI*Wl6U8Q*s@kx_$B^NAfOFJmvG%HW8s?jS z1+04YkSQcU3x!e|IR_37IUIq&^%Zi)(n}kdFRi5-t+~u=I?4Ok)Q&;^_ylz7F~tC3 zYC3JPypr1XOLVwUKX{|acK0gZyL|eF2RY`nJT>9li)-2AxKx(TNcSwGpiJTmV3zWviE`1A_pm>RbtQW6NaPygi|Rfdxgr^lmn!BtBXhD<}z`G z!Fqko`-sKWsByhWDADuTdC%efD$FmXX*P0cuq3`&V6P*oA2Hw-JRPmjFdKiU2R|&@ zPLptAv~-733x~K0WrillA#zI(_proOy-v>KQHI*$OFy?qGJx{hoV+Zf_*|X$6TMO996jEZz?z~pf`GYMjk&da51+#KpEWG zKBpWW2TH|~1FUMSWNGcM&<`&9)H_1zKr6>o$n-etTPvl^bf}=#rbZ%geA{AGiOAYG z9Wlu~c0IE|6|SSy0bNC;k~m}C=R*~?#<(Q>pr#2qCkHtkWD}Z-+Vb4m6xUiicuIh5 zrok#l-6*5xQO85;!KZ54uCZq_!=)q=TfhMdu4a&~I45^F_a2>bQCi>s0B>5Gi|r~H z!h%**jT_B9zzjGZt+)VsngG<1B}8ehb!%8)ZI15fT|nb*azZG^FaQVhs}hpNS!}Ih zOSw}IG|Po$AMLJiNIYcvb*%60jSfj*vA2p@S~P8tMBlr9p&eXmD=eVgtl_UsG<^Ndx@KLNJ5fGC%0cxezl3Oe`>*~ zTxu3Kw-Z5a}WObkl8ZM-_T9_9$HphAuo@D*d^7^r0 zK3~ur_s%Oq@wDw`$_KKF;`&QfC~cZxk`OQqgaykJg&ZGFJu6+`=x<f_s2FMS<_Gr1CVo zOK2_5Ws*fM%6&d_jPdwY{aeKIY5q)5GCj#pFqqpBAZ}D(0l4D_Cj*@0n#$ zSVhYlE4B>|6acwDHtcm}?oZc%Yadj)7n+^K>;A2u5&rOnk|Jdh4YQN}8oK`xfVP_%TtvCo$6f)%sX9eR)D(-likycTnxH9XsC zS7gy=8`u0n!3We-@(ZmJ`6slPgpoHxC>atV^#_k)4{<;i9_C#=1h%_wG`Y#y6zjb~ z2PGJGAd%A<;Po z-@A6~>c{Rd^gJG!6+-Jmy|>jG!DI7e#`I<3SwFp#z#m?e0dG;0Rnn(RZAl@!K))L-6Mm>Pg(%8tJ%SCX>Vg` zsM|wlB8dY!$^MYv-YgW3Jv&xpI(@~gqH9f3#7GAPE<)$q=Evk|sI%$un|(sr+QwoI zR|Esu<8Flg4h}GVsoq(&qplrghC#Y1SEG;UeMf2l+ml9pQZ|-2E$!~HoIx~Z2{Gx0 zJ6rVnRl5i-^k~GIj;JAYA0?CA9y(yK8;Ikk26*Z#14~tfq`!~?mY^~N(WF0ceqgco zQ&uhJk63|huA3LD#l6F~-~Rw%&+D*JvWXRW&kW(48TRj* zlFP)8cXmP3?9$#So>%?KmLXJ;&H&`#bgoutWVe~&nHeNQhE^CL)%`pe^zBY?a70TG z{{VqF&*-c_8UW}md|7cU8*Sybw7LKfE=bfzFVVQ!^gMghzu_;Q+G7s0qeAj^$W5gB z9&!(UMR9f0XtwWh_IP!M4Pz)G2;~`&jCDizl}0n@eGLF_4-siscGBvS>7pYL^43;V zEbopLP6_Gx15w&|(@uC+EX!!&Fd9hAv5&z>{#~mVSh}`_ZDqC7pqj|0E#60VRsQmo z1OVCVoSy!e%l_NDLzouc-~PDUqMy$h{b&QyEww4{ZI(-WxMu^CBoUFvx)8_w{uNg4 z*6+G$Kh6P z^-1pZ=#_ZUk3~iRSn7cNWsso0CiVV>V-^EU&J*TR|5@*wvXk_X(;gai^}ewZU4FCUF%4-4y;mvT+^Un$*;pFFAvBGCiU)lEdLVIOTFv~j^C+0j1aoI+H;78i7>YBCg zp3OD0eYK&F%aEW2Az{?FSK#`PKBl>;JX@+r?IvJZm<97hK(HQzIlw%AQ~}xO`aQ;) z-d&~ie`CQryu%|u(SGWTp4lhXop*btXmYIgGv1jQHts_qjfw67C3D{u!ohWOKA)-G zPjMu&2-YPo*}!)MWK^61JM3v`le za#C9<7bYXnv`4D1s*VBdM@zR6>AIJQjJ6j|ZKy?Yv7=#xkyPy^Pd~%h_2-J$xBCXQ zsYPg#^u#Prm+r7H7K5?C(;AcF8 zz~X>0d_iS%ZKyV@3^x#FUF;kX(Y|;i{gc@K9jcYsk5hrKtoGMuh^ z5rL8V05^wcg>LVabftF+B}M(*x&G>Z4n0Ok z(zf+kG;Ha~Br~+45iB;5!@q9uI*g2;m!^An7!^uQHqP$j&c2fR=Hq~2M?)a=1r!jY z>O}xD!%#oU9EOUc5j;DeBVI;F48U{+|AE_{TL3zG!H zJHP>V23(cE;O807dH}|_@c}Gtt>DI%GCs{C5?m9K%-wfqoQ|K*KJL&&i*atoOIJ8o zBb7hhZ$te0ikQcvIU8eseN&f(#FaFC_Z7(h?E(G?{nB)MAfDS?ILEw+AboZJRHx@R3WWPtYh9-Uy z+CmxF=U`mp0~z+{1!08IW5{{$XFaw?v5(A?{HOuq-q%zctx8(m<1GY_gpmIL(=*tg z?w?){YL?FK^G(rj2xmgmqyje?1BNaNo;?8sclN5^YtthHMW!@|vrlkNe+3I$lIzhn zmtfcWbQclGWEjg5fMG!eiO+t%+=>9k66trN6U5dta!jy-@t>*_k@z0{IK@}F(`UDg z%%vx{2OfM4xijzGPq6~FB#PSb8FbqV3$QYLpWeqZkM~32x{jIVszIvTSzH&7OE5~m zDcNx%pKx=Z%77rU{{WCCsC}Xz`1KK3#cK-O>O`nKrKmWPPjmg%_wU=*w_(6~;GrX!D8fvxpBmABPxQ_Y6>ec7VyaxsuSdXBw~ayHj8 z+FeI+3vH4%45$3|t@XNw%I@9Uc+=)SeYBDC*6dHrqtpY#FL8s`fGk?x`8RE*Yq2uC zjJdfPC5Zcsf4$G~4oKkVvu-84hg81PWGxiUGs|nd0Ae zZPsl*=4BR>MBg>LlhIFfCy->FRX|kVAMJ-wKm-J&BnBA}=}?+s2x)2QknZjfhENcs zyFjMUCcP`8cBuchWUAYuiyC>jd&@yn{hHexG05ZZzGVXyV0$sQASDcT+Xo zGXG0}3`C1R#vLsCyb02(iIveg-@meY%2}faqOx_U|~Q7o}MuzJ(`oB?9hJw)M^yH z?lrUkB$$21Zx4WN!lgoi*Eym@+Q-ZnZM9aO+}tH5;uy5be-zc1)Bdl1Wwy}U&YpFL z&ioxi{Fz>?D1_oa(Dj>91@~*>1z;52A0?vr9kB@nLd3Pm$umPSV*5{rJ`by^d3n;0|4D`K6y8Cjwyd|cH@ASc@ z%!*Pz;apuedsyY4X3NAeQ_fByRQDb%RN1~b6yRW(PJ6z=eyla6ZFWm-Qw9z9AOM=l2jN+|MWEr3%~)OppTjM==R5c8WUSA`)WC^ zNBr1tu#roIbArYUpn{2e1Ta?6Xnr?8A_b2W5>$7gt$iv1gH_j9PpP1N`zs{f4JFgt zKj{RJp_psn`BFFXFG&Jos3CmKeSByH$ZFwemXjP3+h>&<+7-U67s6#2)gq1# zLWuRsm&#kY2tRz|lUBMYFtwzHyFs4!Z5|B>!(Z`VmsM8l8n_sV(8Dgy9J_Q;=*ukd zt-|p)^R54OQ2C{@j^nbJ_|>hgjBiskAr2L?R~WPYT#=zgq+)o@O`3Ma^q7KKJ+4nq zYvZ%KAsYvF^+nI7b1alnawHjFNIn008h$yRT1}EP{}jc0%0|=w)D>%ZITqB#;E8Ay zJJ9!DX6qSgygGTe)*elIU(9dD4)wH zGh@{`W9U3tM0TC<@BUsBm8(O)CZ5`xb~5>3Sy$Zm4i2vp>_S+vRJ)rE;2~i<_D|Yn z`hgu*7r-e7^9Aws5#Zdl@o=y+VoH4al@x<%Yib&*?uhXX@v`&5S>QxlQ|C1C=0XeM zVnLEAL)h)WxlEwjfs>)V$HR>m4>E@fFGmh+THKSTCytk;>L12HLQMi?LOYf4T?WcEob-$h~ zgEiboWq_WreGU#b`@LX&sfjl`+{HL)qtQrX(bwJ=(p#!<+eNtD(o*u`?v2z%s%(mu zcp3I$_P5sNE|8Du9P3=nK}>snQ0Zv5ZKI*fY4rm~huSf7K?-9+$wEIo(A8n!2gr`# zHO|)3$9I#T;T5&&R1XP8W9xroc4zFHs^)aoi9{un|L#RP7g9Xopxi=z$>NIidi{Cj zhWw#8C0A(PyJs4qPo<^5rfq!(^aGwEtaJ}GWAFS#>9wDwhna>MQkzDE_KBU6UxQa^ z0&CySIM7B7UVfYRL{4`K8oGBK+?ixwk#yuOEe^3df7QXoY*l;3^tR`*i9CE8h%I2E zJ^6FVPF75aYF4FDMSqR~BU9k#rwJspNp4o)bak`FE#kjRQG+P3;= z1KnPNIQoA%oy>|KmK{a+CjEJN$ccLdzeUqK6;$F}c7A@=tO{D~P$s)TZ)WkykdR6H zrodC%h{?Uqc?BRNpognT&X;)_znH=f(G3Qb9VKW!TP(EtAQfyPRDs8@8WrD%MeB2n zWL2pzO}Nu`qZkB=|AG3^SF<*Ycz&X~i|H1Zd4)@hBGLc&sU1sG|MMbYI87<-{9!y* zUa_^782D+>e(yFkkaw@;Mx=Sfx#mcxL`YIN#i*Np{Owcsiz8PkTxI51_$RyFX2@D$fk6Xa{bjdC`y1Sg&`h^CEk^hDy&8&2v>aPK94a7dc z1AE{~f1P*ryx#ihqB<|~o4*}sAu{eF+PT~A+ zrLCnyNbQB(SDiydZ#O7L$GO&u1w^vMRKG4Mu{~kPH)G!n7OYN3=ZgtE!*_iAb1w2U zX-)d9?vcOTE}T)d`SJyK0wD>d`{g{T%T+c`c_pM{;@QbgtgJ}pf1qYUSkmtMzEdnS z2Ca1v+R2E;%3bE38Xiq9rfTO%tLdjc&Bz`LpyLs5HoIwBV@y5dSlX>U(8&o2L0rQB? zg)I8NKVpBjxsV$iHiG#=(_iKhac;Z@ILr+G9xoWs=h=tvm?@p*Y=rFSqy~pzC?e#O zn@owMF|+(6?Zu)V*A#Q9k8l!V!fF!C_-VsmS)$M8ShAjmNjDy9pA_j8j@Bkn#5ae8!wSbO3vRrqB?XpaV zL4P%~=TedbaS_^45xr={F2Xi5A@auCB7+`o*VO3BAgAPzPB?9*^&jZ%XK?esbAh)N z_DeX*^at#YGPt6*}4nX=!9L+%sY5qV%KgA%xsHz?JYovbOA zMZiEHCM-?2jXveZp=B-S>UkRGF8TK4^=r=!wwQLseeh!^jnkn}m>;ZxwI;hE*FLYA zF(sG!KhWyeX!XP=m<>@!g^Hz<*o-AP$FyPbKsQ0%uI3D%S@ zz@-7={4nZk^Ue;e+6W+mOdQD`|8jppVy{mWuJqE_IbcBJ3)#ueAntCr;G(U`#9hh} z;LyM4ru|yjMZAag*L)DLs1xHzRln&K+C=dzy)N@i#{ao?;!T4jFi{Mf^q7!rbCj7Q zBZE6KjY9PN$hqO^U%oCS4TG9IPrtY~g_@3SO2MgSXNxQP4qM!oRiy^~^@glFxlD$b zummu2D5!!&DL_k>7c`L8KN4%Z!4TlL*?4fBUz=*BrZ!z@!WxJ{vwPH{6!-7m!%wTI zFYYFtTI7&27J*Lptr<=t><3&ULEmX2t^Me(kLCh}8F_AIZ~evUoe5f@AkFGOuON%d z&tnITh3C7rX@>uV!wiB`yi9NGLmXo%r1s5KF8VvhZy?nr^|>a#;Dyz{SN8SMJ6|a{ zVYf+3(;nH+rf?$XRI?~>?P||0RGw;mT zbU(!oR(8wBYZ!BNnlWZ6Lrd8zpM>D(eQbXQ=xPO}xg6*}mP3Roat+G2zy z-CQu@T{FJhwi#jsJiJg4UuD{O6A`b=Hvc0L(2`j5PGKuh>77OYk7k0)P9L=B(bsZ( zdA?jz4?cCD-;}&DFxd4~+!+p>`8KJy-Inr~U@Yrztx3$L<9RD2GQ1E|Q|);(tDySt zwZRMAB=--P8nK*B>cUZJ84F{=*CQa8*#S5MBFnOogOmO~<~dvD9wdEsZo&Q(&@Vy@ zVo7R&Vm8XeMX{rdd5x24KjGb?L(Mm-)MG_TP5?~mFkjO!QY0g)=#b@o?653-th4Ny zDD^i%Ta7oGrwk1psqz7=*z_t*zqfWN_N~Z? zlgy=K)quFOdzwOc7_SZ4aZjmE$4Hj9)yPD22E@x0?&lFcC}UjV^R&97PWK*+WKjtk zlY^VrgWWXZ7pICOSfyO+1m$jTTm`)qAcvgY&nCOydY1n(QqECpb4J_yeL22W;aG2V zrs`gsp^6>7W8`nlEyRhs@!sC`Cv(p##HeDs9^Y~ySS}oQbGhD{pPqe_zXi9{Z#$ms zwax!s{huW!Amnuc)#jcs}S&ej5|LhepaHTR*!$;8j76G)s~mEA);^F6m!E5g;|Zy@C$TTj1>qet@K z=AYbDj(PuqF5{kEwg?Z=~fd|7!w%&3xBX8P@e#!jr5<7hGW*Lk_t z9X50>Tl_4hm*nn)C_oN4A$pj&#(n?S3x0lX-*GX9%m@5xQwPdcDqf52@$l6Qw5^5> zQJR1f1YY~p=A;Uma_mPJX(C>JP&M-&M#H+GCe+PpZ?Q(AQhNyqo{6;1@;r%uz__NL zeRJq6S)`{&2SErWdKTypuBTtXDs>XB?i_M2>)KB@JmjsHTYM^Sldh@v(NAlOmd2Q> zrnq)wRLqjYz0yS0F`85Yo(?l}yciloIrgHk_=uRKDKzvEJCG?7H3j{L{NGywDbJyP zMzTe`NV$W6(S!88xj0c$4pz0}(jx8c#a260MmF64K(3G8G(Z+|wA9=8ab8i6d4M>g z=I?(XcgZW*)?!wXjwB6x*$}YaV(XqkJfwj2c5l|7afaUWs}h$GBtPAg*-^^b8wD$e z99A0uyHUk?xxMn9PxS5HnIm_RE0WUX=q-VLN)N4`#7jSu_@7)h8G(flH4mur0+!HEkySBdk z$ilNTm>%M?(?d{%u?q_Y%Ps$zUHyl!VmMCJe21N35iyusOKVpd8MOPjmQ@aNiLrc$ z-{P7dYou6K{_!+MQdFfc`19JmCI)nGpqocjw3o}S`;RtCOsg^YSg*|^f++=`T&^b? z{-#otT75LmdJ!8nHf`u*KA~7oeqTglBp;tIH+npHMDw}ppH9bVDGTP zR;Jt}D#~}tk@d|m^S?vn3lK0Ddc~>dvb4QOx-u4nj<*w8V$Fg5yoHEaBhsx8Ff?|C zfR&jP)9jodZ8@-#;X6OZFV;l-k&|%3rLcUS`kC-fh1bzQygpiblK}X5tsDBPx^`03 zg04i11Ke3`|ABVWf`CCmAd4bybNT5ij^+thl1-YF9^pr6p#-JdDkZQwRO*B6xW0{` zd-1EkBkyGqx8@j({~%dolSNj7zjdQ(4D4;B91o9f*PSNj9wM*MN^g=+-UYA9Vm1(= z+n!QUk&odKXPw>v&8Pm>d4eWZe;}_oO>ldeB9aMGKHJSTR#!x9_7FJGGkI9}K8~&Y z6JB5v_Z- zUm|;IKl}cizp-zjxFzWoAIim8(-;LwpfB-e7a_|tcfZN4QVY}Oz%6ffE6E5@yG~Hg4rczHV zki6-BOo+CU`(K>|^HAC+od zsYn^qOFIk7oVaG{F6y8A*7_JIiH4xZu{soOSSESiR9D0FZ}X`N$4|wV?}dNFC{-E= zg(+|^l(i{Yy#D^mOh2+M1nUQ6ejJmOOy)4rLs6COKFsO1d}$h93zV{q=@Xn}NXsV5 z<4L`*G~Qz3UnO^c+Zvh7$bS;HSE@04N(q#8uD#;jJDvkrXC=U7;D+E}*8k%y8~)KJ zjYr9ubX;e7h!p+X6hU+@#L#s3lu=Ok#$TPLri7@0y-=+^&5%T z5&I;xw+#)B{x_?e+=zpiQ}3CxW88KXw$pm6n7wcTWsKKO=@mOdPT^Guimgm$d3m#m z_>?^WYUwB*@V4^--4Ux443HShzpCkGl)_!hUpx(%nBJ?Po-%N*AyB2y0G&6dwwZhJ zpb}oxhzngR2|!SaA+|vevwrPXmDV+)6fx0%%l;vAUb9>|#5WcljksLe5G4<5ME9Bz zlGC9D8=e4xBv*2Pj~&H~^ch2z~8|F7@g&l{R+*Z7@+GO^85gRH6RY z!7Yu(PfZZ?U4dM@%%wSZ><5tNnclM62-+}ro9V3-UCRg&RC6qRWmPX)(_43dYmw~n z!s3ULeStrl^v0u>ab3sEsiBXqyl=j--4F!J){mS8q3W5JrW3oTCR2zUTCPlRu<_S; zxnK6ntU2QX6~!lb5|Y z_TqFFQMrbzk2w_aOxYtk?gy5S@zk0xuLIwJNuo7eL3>3qn zjhx9o-yimqPrCx2=;p$YH}iu&SGA-VHBPVOnfy?*UK`JRkIv?XZqwMbKbZvn#||%- zv?^HEXH2`0u;;hh6;k$tj#Uj*1ZmX<_WlQ|d&yE{&L6zK)+{v-qQ__gO1V0_&h%DR zPI|BYm<{L8zeF2zU$9ZlhjCT^?|#z?Ci!W^7$2;v2&_ZCn7^Gqc zJDzIdYru`Md&}=h;06o%mx;Y??9ZXk@Tcj*>Q>curaV;3US@MsWU2Zj2m!r6(5pX5 z=*x1Ry=AJA+?ytx4_ek(`)L>`SwG|2{4%lYlj45VNzJ+Q(a@OlIt$0L@2c_A zr@kNM9>$_~I~e!qbyBbPalIjHar*H^*2adMd8msmi8k_nZ49vSQo34!dXi?3y-y|M z2@ovzTmSM=BlR)W&&#csT@wsGJcRqzlNQ>&=EG%ZII9``V=4qRm`y(h#oVbggZ5AA zN=M{oY)vonxiD_5HZ!Q0j;gD?X%@D@wo})>E-E#N3h(8cjXs6T96k0LHksp16DNX! zyGxp$XPcl5(0&-23w6_2ct7ML$io)90Md-0eVmTea@^5?(lD zsA%@gD(M~ zR^JijKrg#O*$wAdsV<=O(E6tIrNho4>EpMwvPAX&K#9(9B2+U?pFjERoQ_`NZFNnX zPmrXr*ZUs#W1t0Hs_><_%;`yzUHdpYFlQ8Ax{KQtwls`C5373>>TB5hlNkHU0 zZ?v67sMloZ1RI2WrLvRVr^WOfSqa| zE6w3RajtfPYifd~VpqD-G6{(5PvN`=Th)apF2!n?L%pC$%r3gYOejj^;L2eatNdN+ z8%keA<2>62uFF1(6isl9!=OKl)=GWC%D-D@}PFGt?NW(oy3pDE@7GII)mg7tHO)zqRZ$j#)Kg<;AQ(T#!-3Vy{6ZI{!47 z_2hBzdFJ>HC;Q}bS1Y=wQxwyfBdlq@A1W9*6Q{dMGi@eI)Avobpv~SwiefR_G}=2d zs1WWADzyz#sD1N2`&SBVYnX5fD}`XHu>)FyEGTvJEvysjnRBdsHJmf+i7+5Ik5UN) z5K{`XtdQ1rZPqiwr)j*GM5r^uE9LJ`g)}Kxjf^}$2b@ftTPJ1SMFfEc)#Cxthz!HZ z!xT%F6%6+Jz-sZ2(eY{Qx-?pAcs6iVL%x;HIc~{Zs?lW4VHI>9Ee+Qx^&$GY#9M41 z7EX?voCJcMyoV3z7dR%(|-#TpnOh~(ol8US--`M z_W4IZZOw6993E_^XjZK$^y_n>k42N%01~U+T4|HARmhUH;+N9f@Q;)B3(UlWKfbwv z_85h0Ukvl|&Ry*G-BEm{?{#+<5E;4E$|@2bNAG4x_uyKZ*TF5$_{-WT5vYWLjSmx^ zZCgCPZFB|(aNOcyT|gBmoRtVfZfmk*YwArTU1zDKwk)EzQf#UIajd^@gKoc}tL z6L!UbaSoOn$j1LeEhW^>K8R2b!`W^oV3nLR6elmztKe$2qPXsJX2IK-VsQV;?Sm5^ zJu%!m4*nd_1q1xEaM5ryU8_ zEzx1erFYoP^(umWouPKgGOuqA`k$mPNpdVOHFbJ}3(3_(cUHLHZ!oB|g~MI9Am>1N zpMYtwWGvGgK7;TOOh2A!OTnc&kF3Q2^V(O(sR}_OLO)e5@pXeuMioDZQWY~K$I8-g z$E}th+y>5?YkwKAdA}fRa+kEU?Do9!t3-j$YI}Qc!t^umj~{}8CF*56_HD`EIk`9n z9ww8$0G`Hc4cJ~iNCIwZyN4$0Nl&?vL?!4B`>HZO{m=(VU0fpPy_v`*kb-z2wNL`( zP#EC0LMv1#)*cM+Dqo@RmO_;HcT(|v_FjLO)@ex3TD(>LYE3%3JqUNt$#bI)1|gK- za-gBwX|p=%?*VLO9Y==nmQ@sDJS@?UhyF{NVob$b_ZRBHH18Ned=5%!IX4H=PqG`} zi$~W^K<9grg~Z+h06KV3EOkN~PPUAM_L^7^&gIcBFJlr#R{XQE-Prg?iu9Jp=oS~G zP@nC$82;kr8ea>e9Yd}2TGHJQjVE($Od)t5z-zEd*k5SKk*c1s&hj5i_`AD*CNTrr zN{?7~N{{qg<2Pl^#<4g$Ou2w69xSbj{SYKdcD0-zSWVEp zJ+5OAX-y;Qm&w7wzF*yt$<99Cu^4i@stOXC(WXnW=GEzP2JZ1oO>A6<{cl z0+w36t^Yt1zf}2Aiw&2AE=8hQ?bLgsBDas7Zr4XgDhu#_vM(CP7|~KW@#|9Ij?~+p_okkm%{mtB&c;IfMb`pg2I7k6M5o%>r-n zsa?5zNLQ(PZIzDq&R|gcE&MD;BIwvx+8ECmr0oxiRRjS_hmCx5Sp}&lrA=jn7;rY} zx+-5{@nmR!Q;#5moUsQa55d(Cx75u_f$EBLv-HQ zSMro+=7?my)(CwqM~2}-%AQTiSV`I5UWD=1HAD8iR;ktYs)rSxucbhs9y-(WoK!8r zJVrU_kXuqKR;#|#{qyWxdBAqtcZ864pi;kY6tw_JlrYia=szV&X=WFT=NI`h%z-qT=Cmo-VdV5j#Oz4nk;oUaTTMZ?7JYf*lT_{3&HhD*WeCXWHge;t!us%H_eP0(*NefvcRt-0 z`b?H*J4ik82Iqy0xfMxB^Sko@#f3f%obJ%^8W)ZeMMrcorc^5Cy^Y6kJ)1KiEQ10*P`N)SmjEUS_%b=Rt-}ptkoUE zg|s^ZsQRn|{qp>^GpQr5FTH{fIY)Pq*th8ZOtZo1!-*|vOw2>Jd9NJBE`OKIC5~Bm zu(d|Z@$%t^3lSbm^B8xdgzJ?auD>FwsX?;k&r&_>vHb~G-`#+G7qIYQBJg$b?1mZk zlbj1u(VP2$V0HYEe^A(q>VnE8JNu85e$E9x@Y`u;7|Gb?GqZ6l&5aQW#W;0BO6f+g zf9QRWzgGqDf(ExT_kzN@J0?!AZsNSlVsh=QjD_OC5`agn7bXh)N3WBRt|S62sk-#j zYw1-Ru#fi^OPSE^)BCARZk7~ztTkiOY^>1v>aY^ssVc4Om zzWlH%gAC2oH(Y{)>iHpoNt1iU*Ar5{bbW~%E2XD~#;<@#)ecsA+yhJKM+MWU|EN32 z*KH+(?avXq>@>ods5Jx9!G+$SvDDGM&r*`@U~}!4oU6rSiDHnUWVi>Efd3H6@=hZV zPu@JoewIw7$}DpnulaaMkZ_Gzda}{psCm-usQ2+Rx9+OkB#=eG*5VSbI7|46HJAC_ zwP597LNR#slB)q%Hz6XjYmV!BxvKC+71!UfNiZs(%fU{3$5&L|0>u7@(~1PYB8zAWkIgXD$S0z%7Xz3p{z`IU`Ft7Lm49}$ApY}+*aT;b1*?GuN?jqef91eRIb3qm@qr)vR|6K(Ic@WJAm zi6v`}=Ue1sHTeEM|A8KkVj@|7HB$~nYUeRBS|`#24wmZ-W6EM8$|Fre+1D;u4e`Yc z(L~yc60e+vs5D?VzU2sB@9)}OBKqSOX_q^271SFtLDFImlS0A8Ce!bIo8pi@>YtB2 z?nZK%giTb-U$rF=E0=tHcR-3f!mV&sE9NH63xY*%ETVP=#nX26YJ=I-k(#!|@+fmF z?ucXU671=cCOTPFsPo7QK6Tj}M!;X`*WN|#q)u16rV8XVlJb6fckc3X;BACI#0m6F zB~VI~e2k`(qCxPbx3;W9zEUH}YT_2=U)Z08b(0DujPXonsMMyuD)CN@_JM)9!Nvt% zcVszoPbBEx9hmHn$pu{9{pL$*y>xLBaj%V>7p|hNMfmxcy-!n%Ijg4(AwAzP5El^n z8C2lgf?tQ0V>nw?ojAoi`!8L#NDeJ#R8XoNcmz57DwrR7r+sbt%@j7v{jI1r-J+Cu zCCWv4)qrP-xdb~q+%Aknm==|H3q33cSssDB5@QMOtt@cHD##pAL)tUBMLT65n`Mve zfdB*0D;g%R0DVJHzdE$70}!IY!aZ)-uu3t}SM&1&J`khC_iE3z^EMzfduvr^8jKy0 zxE?iAjjVV*0J<&C*Ov^LHO517`uo;0`Zp_YHN5nPAb~SHw0%T18!zRv~XdC#*K0rrR%GC9|^5{R%1!XgA zm3iTMFi5)&t=Q{@!D2(PJ&EGkRkCIjTj)l}Bjc5@_ZP=g2ZEJKwbHFPLulQqD z*QEU$N(C1eqM6Ysmo8XSK$Q&c+#`mF!3Tg@Gu7TTh2f1`XX4@obar?s`m`;1*`2|I z9oj|m=0MP|m2A-!IeTew+i;%an|U|tbjttW5hdF&^Rc-rbJ{n)$|6!bRz&*koD(@@ zHg^`#pxp#2u4cT-_S`LZ8ie9aw<|OY2!NJleq*bGNcz4#!(5TVu;y~Pce7^{Qm^F( zJH$GX&vdG5c!BByZSs#QS#_*Ir!DW->jRhjwH-2bT!2Rd&`%KLw*g`(#ph<;Gf=bjPRA~&vYvN6Xs z-CIqS{>jk;m`y*20~M=A8yja0qn25tozct^AEel}Pgs)Va^ndzP?F8!m9_uLE^3Y> zLzMK?uz9j_5qcaeHEiK)Q0Uz7w7`YoS0pJ_d&72 z^!=l0LKnFJyJprmS|oFO#LiCo`oiGhspw+vTO^u6$T`WB4VzJkJX_C@aGVYr$&_vt zIf61UCa`%-0?`EAZm^D^UiHAP)f^_az08X}ly<+!k*^Tg*h(?Oh7;KRPH(vPx$7}~ zM{+xN++9oXCivQCnk)%KQCt%5eTKI+gUdl0|Iaw$L9s6wgb0k#o4<&)dJo*R6py!(1N&j$})#8nj%S=It6N;*0sMlvc;4ejF_Nb7bhC z9u>Scn?+n-JnMOhQTA(Gwl46)LI;NS+9GeQ#fgq7<`!D{e2?_TASyv|@=%wh>C}i; zmZHDEUj#8fQ!ceg8?(9?bK`Xx55DMq%t2-T_NSqnTnXy(b+SGhyq`FwIQC$K72au_ z>}K)o{&Mm#u3A=bp|^2tKsYY9{^F!^mX!#1W1MY%rs4jgL_2vM#4TIy)4EsH5p2(sP(NLaw5skumy4C^)h7qq2BqZ|Q*Tb} z6h|=Oj64cFw z%q7Wj*af!6ufac0M47Czt5_Z%=hovU>0vVnlz@)Tr#EiPm)g3^qgBiA=p#K5GYMpBr@f$3Funp2SU^*sUY*r=lSM~CUJYk+&W+l6#WBD z?y}FcqxBr8%%*1Pd7B@hDx@dG}cmH z=FnXJqf0{~{yqg4k`BCo)f45m_PBLqKl0+yCFm?(Xr8}xS`)daCCQ(P%Dl90{MSYQ zy|oCr{Ub`afmb;GzedC*NapY&NyA28CWf9hQUEpJ0 z>1|2r;vnjZ6nsxz{r^C}guvU93eK?lj~m}oY)aj5T)A$Oeh-}bfIDxqpGzA?&^sTr zd{>prvwJ+)7*1WMI zbuqas73R*_jTuXx5-Rb7e+#(@`yfh@`UA0e%~G1t`@N<%&=+Sj#m0ppW7>nz#GA^$ zoAx0PioMxTkDJDA((*>XuEB*MCU^LAI9I$~Aq7}b?0M0%iCqv52OHoR^VLuX|6By5 z0`nXjqB4)fFuwslQN?eKr{5pl8H*6@vQd!kg#iLLm#G;-c;eT~uhy-FI*3pU`b}3j-wMoTbiD^Gb zJ%~Lp`>4Sb@HwX;W~8JqN?$3F)}m`0^jEKBFWEUGf~jN13Uf}bN)~xHygp`c4K}1) z?tg2*xTdQuLYG}nob?FwToh2=NC=^wS)nqvDXtLu zHO#Sk8ZA&gc+;%OMdDi79@jf@e{`XvXDtjj>w-NHY%73FXTOvE8+f5>O-Ny6K%~`4 zgxE)eN>@K|DFl5^mHB?jt*c8DJM2h_oS5lAQ~k9hkAVsxNCQ^Kq+dUy{{$D5_?@RUOU`ov9cL!$Q z2OMLo=|qnmp+C_ar6sOP_#VC)gB!Iz$Q$=yWVPdhHyrl8-+*GNDYY9i-UZI80|AtZ z?^NKw4cim;1rrVxbaj?{O-#E>Tc=gFiQwbRKg)B}IzX?L*1pY0qK_`}9^Fib5IvN3 zv@iSxD56g2io!LRQ}C=Q!s)*L{X`yO#HX;b!ajcMVuY!wW?CYximhTPM%emWBXp?f z;D09$jkc<$DpTU3CA!l{NyEXTL+ot)G?_q*f)(u*YYknKA8pMlpIbr=_nYlBG|N^_l%H@T+@H32{~d3HJpV!&7I&bmhHUuc7Sk z`QSsN=hl9$N`q_uPrht_;tG5Nan)ynSo$x2KYKB0@dCsu{_o4>8e`;pjM#E=H_m?y zreFhW>nqB~8OP7Zkhm+R2v4yrYQ7PEO z<`>xQ+$xaH)xdjx2o*%xh%xlIe5&qQ;^m^8ZuoM6y%Z%8rwyNfll(Zl1Y3*I1gDf{ zEo!>A@U)e)C@@T)jxrc`O^7O&5h%;^0j-87benM z7!zL12(}az^l3s$x0{SVKPg8gJ!@RBr*ChoUuhEmSMp4xL?V`8DoRCDSUlA?v6Ozy z^wz+Im%4&8Ek41>Kl`6Ak|iZncp+AJ%jelxfsM6Kk*?14@#$S-Q%iJ+@I6P<1}gK< znwTgFtbPWK^ug}C=+!$8&ZypjJYSD5uJasb5%5;R3&eI)i3jh6&ay1#P{SvF$ODp@ z8FXaWLe>JU$Z#+4ogHyZf7%W;U8w_Rs+RrNOOXJw#p*wh8P3NKY$Ijq^!;38w_0#q zpD&H7ZLjt(KlPeMF4t5Yf0}${?ei>-lnF08TJK5=g-YnL0{J#xk96HC*Ex{KwKt!%0Fng*};m3S* zk!SMjL~edpsPz4r+W!B2u@*1@AaiQkJOfrJx<3K57m2~F!QA@RrkZpGyAQpz`~CAU zR7nSposv9n-f2_avvsUe=_fgnEKeW%vJ%jhg0AuuJ8kTgN@#C!JYugxJ0~7p7NJKN zglIyL1mKPA1~AT>wK$oH(BLNjG5iym+jRZ)@EP~%CkMhqUNufF`z-UViLZB*|6n;E zM;Ntz8Fr_5-jn)p?*Q`p$_^(`0bXehT5Rahy=n*C!U~&&v@Jh>;HLqAf5YfPT9Zn- z+~PauIVFwwMQa71^{>o6DiZe7j{M>3cDK&%#BQ&)sVdCPfg6jo9AdAW7k(1=*xdK! zBG04jMEunA+QsH$rG;ZLv4jBs;?nEmZ;qPozK$+SAJN1okCX!F12`%~Mwp(hH`Tuk z_ba)_0{SO@&0F54%0`ZTkulQ!;m-HMPm0+Y4I$AO{_sWBM!`v-es(jAGI_~Ho}s2? z@6S%3wAkP)XoP~DX%a6Pr)++aEPW_|^{9np^g0*rc2R~xDn4{(W3yewPwkL#j<|UG z8~qtVmkSpPz8{sYkS_G@$QO-W8F9;9GU#@$L1USRa}9rjHJjTaT1L;%5pj3%c3#;m$LMnHGO90 zmyTc3(KlrJT%JBzG_WwEZY7&*tEz43W>&np`L60fN>^n3DU}1;px%UK6JSl(?!hQ3{oV0Ze(PVj&62mw7Cx1|>&=6`H-N z@M#b4U(3=ro-uYOX#K$=-yfXV*UEHZpBqilmf37nF&_bDxvnZgc4D6=6u$$xl-_ z*#^y={>HercHXZTCOes>U@kqzr)G0`bVMrHX|N4M$ zU6)7}9cWgU$tjo^9FLgNVWDSO%Bx{{Jc~8NQ3qCYK2?Ma<{!1?{@1& zwKOg22%{D9uT1AXMoGt?i8oj6y9w+EMq!e!@zH1zio84Cu1BLn>dq~nW6?}ojIPKG zyuoAcYnQ9F*M3r&Kn$QZ>I!gu1793Jbh9HuxM$qfRL{bdY44@qOX)3z>T}|yVY^e- z@@MH0p}%#V?$@trFM|%WxcbleJy&87Qfh%Ls&ncy75a8F5xel6^z%?>=nzK0Sthgy zL-p}%>a0a$;>s(+_%x-29Q?vu{Eoe_(Zq| zpHn9n4>uVselFG0o87(R5fB&~8N=Z3Jo}P6bM;C@pST|y`5y=Xr-^63z>;qSMkKk` z4Ut^^Nv_gBScV*FqbY%!o&27uAMep{;Zn`0sl1w943oI~0#U88Fb_Pp^Tn`og71sQ zDa1bPM4dhxG;jF#* zg?zn>I0f@PM%&zBrEIhNkZri4DE(BfkLC=i*#bRp4FqF8Q5|ultv)Af#4{S|=JrZH zEtg2Q-!5%dpv*`YL)J_`y(XjxHY7z$LtCq`y8gEpsMwQa@hOC`tsxKKgL5QZ?Z0svD z6>odf7pjxI>A|PcE8t%w;H}BhC4&(gkDGYAQI|H@+pa^(X_{+G^SSQr?cnw_@IUPT zK)uQEHJ&t4GJs_C|2HhF2Oe(D+%Ao=vK>(-zySXLna1?c%YK8|4e`&p6bN%Ypv~$; z4Q@PuENTe0?D_o1vKi(wc+_!ma?}g5I!Il<8F-glB>8&3Gf(%o@>6&k; zi|Iwi_eyGMd++Qy<}-oLQ~sk76OmG1%;5;?JZA_Af9>~I(pbO8pV?3%s+)6ILcseiNr&3`dyl$ zkJdK&F2g-x&EHM-0&b`jx6l?{8oWST*7a>IoNl98X4_8Qy~*7ECs&xz3$Mn<{?Dgw=P0KYrIu(*P-|7< z?0=x+>`)KF9l@&@r4`7L>JfXPTI_3jggqwCl~^Mz6cfcWzJFv^g20N~Wt)jhc^j;j z0Bn=_&bw@15kT-}s~9Fu6E*OlX`GDi4s@6__sgBT{WPLjMFKAuvH*WCe*K;h|$FR&UxdXwx_2_R+n}GD1 z4o1e^Pt~n7j`OClFxOJwRIGI~x{c+!J_N|@8~)pu7LQ`vSPv(zc6uN~Du5&l^(DY5 zHtx7OpE>7`DBYb-VJb1otJ)(bt~Zxx&0d&P!B{z1<6)IL4L#P0#sgh8^Z$XiW-f1& z+ThbZ=d1o7PB!?+xI_z|OJn0h6><+fB>+G-+Z@*<^p&t)*^tBZlTlGv88DNVb# zd9|w~Q%Tuqn@;ZV!m)}hIMV5E_M5Y?YF% z6$-_l+rB!w73=O$^B1p+ODWZPqBr%Z{Gz8~3}^)@=vy^KnK62&hceXA!_DgZDdI3f zr_b(VUCkh+NpdHq2ZJD-1UJyJIkfFQ!#8K(YT=D@%lPBdrg`Ldq@3KQ7am<0rwGbi zv4{97PRYTsJ62*S5^tw9jjcmHwg9AO{%oV`-3Vp6oASqIt=rX4D_NZG!fJ$4R8Q=; z8dshfRoZ-0d-1Ca=hb7vI4rgfW|~U%|5qtwBGGvU#1m}>WZ@DC#<#V5VN3xlSv7A9 z?@uG%xV@7~2G(qT80|B>x0&vH#*~i3{bzgE^YWa|;sWfQ@+i}sJE#1K&4zUJJcI5w z-QIbU&y(-!A5#*8{1~O3clKmxO!jojHOMiu4?6J*{}A5&D!nqCnC%@Qz%>I5I%o~w z$w_fKZm+1d#~&S39J>srCFq$Z8$Zs{>f1_?8PSQ~Hx6`31SBnn9e-)E?;L~3QPXT+ zmyKOS0B~g-=*lT((XsLvM-3%@hk2VO8fi6k-~02-z=)#LlKR^+nkp+QglGj<_yAc( z{d4ux`dHpLCj+z-L8YR>g?X9b6JxqXh9Y$X(X2Re$p0-`62HPmYdJOhfnByU@Ld|E z1qp@}C|FsZIXyOBe0`e8M4lH?U|7<-KOuw#FW(h?NT*+uAeqX&PKImH{Uye{U4A&w zC6q1R$m_e|Q~fn7AlgKYsI035mG6IQz&sUx^<(n9#}?82ar-xt7H89HGzJMbZEI|* zCwo;O%q^n*DZG*HE5nT2O>($<_MXg>OJZqWCda3~cC{bFbU%!WUYjnAUgwW18(p%! zvK(r@t&QC`xB%{t0s)i3>0v@>t7i2TxMvWJ6sb0ykBeg(NgDXxw7g{(?3 zhQ*h(3}r8}iN;L_6XgyPp7qyeK6b?1@h>h^7C4K2j7;rZ=ODfBUyQ#12Dt+NK=-fe zJJ6S|7zS3gf?ghr4ArFQy1P+|J3*36G}&2p@kOCy5Z6=7n2=HM&|>!Fv=6J%V`ZjI zviTsk`j*CtqtDefD%3AKWAKmgrIg?vH9{sc;m1_{OJ5G`a~66CZbZXw{8#B$J!z2z zmM9CCwOBnFY*jC_=TW$E-hkg9NnlgSg<1)h^CewzCo2_y=vc6OT)@}f93oo-fP}7} zv>L)ETT*`XcKC?%GbqXVP>RMIZ#IVWE&5Q`K5H8*z)IjaINy?0e`oU?kELV-k2xk( z*z{Il`TB>zuB6qy)Xr~}iA-?w62U$oqH#W?8u{bpM7D$zQ~P_lxQqEt`e(IM@mPZK zk@H%Xh+3Pp8Kq~Jueu-o`B@FX@hh?#uiRu~UNY55KI#wk1?h@oBNCS2+KhtqJI=-CU;Bc}M^lG;Tw@32yOdK5~ zD_wT1vW^uUcmcjaIZ6ot8Ej!O8!x8UK9zJHFB~0 z8NOaIr+1WSu)?=KpVSzWPg5x}<|=@k`+Prs1nD9=>|Yr#S2R1P!bV=z-W65iF@{f9 z7fr*VwWfWZLQX%bo<^r$FG z*I2I`6~tn<@6M9WP)h$OEd9B-xG>;$AZj|Vm|x$17!x_O9~uFwfZEY(6ArBYCb~a* z)}|$k_%X{M=)=ps!GNqrNJ$n+Pg7cv}TXpBp zVKe}Z7t3y`!?sXMGEz;}yZ#A^1UZkqzh6@iR|rNIiy)syy(Cp&_+n5&82#L5O_b{3 zyFsV*0I8(^U03NP?Fjv4IT|!h|JMfKgSMIlvI7wkPI91kGHtYLJkJ6H6G%~zmtj3U zYI_kSdeIN}Y+x-<(b?xiAlBrl>u~`&kRDxrd<-S^WVUMh(Gg4Nfq^mA>eeQ}WF^@d zCFyFI&Yu*4|8MIobX=vkG4uFK1JR~-^V zCD0?=`X9Cp$$9a9l#tv@#;H&9vL$j8bCfZAiq`e_*JVm5$Q(+1Uxui|Y|l?G`=W2+ zEI#&r2;jfCsqIp+fj{^rLPE&yMm8PBjFg-nEIGc;0nES0Rg|i3Igf9&aj5)0eRrG? z1XwNE%Yea(XFzz#75!wx(+DMO6Nlat)5h*{;A`1L zmu6-5HUFMfIxBBBqPaoBHikfiPsIbYKn4>}Lbq7iGmj~)^J_{!Yi=E@Oy3qO{Hpa- zh>kDfi|NtEQD)V<0+0<08vA?ryEFgK2!e9c-XuNcZ&Eu~kQ+N#96UJi5;Z=0QRw%-;tmDrvYx#r_we zA@CE}O5-c#31-2A)bkO>t(M~MkKHJCe)M|sM!ae>Afud(sh^*0hs;yypu}HzKIg3Z z7@OSjm@fd?W;6P5`@2`VSHgrc?M71*S#Qv4?MwQN6&}*bM-fNoZzg!3vR@LWd~5fa z?N#j!&qc~3_p?>QZprpctR>x4|Fez^7Js)HdQrml9dPX^=L1|j1Wf5S+)#agFBxwD z*A8MwFV>=ly3DLI(-$y4EJ!q$Uvzpe3zVB&0os3cF7Y@(@vsXLCRHX->EN}#uMhtc z#6Dhm2hb?#vw`Yo)F<|UkhL||POvAaN0%*k=U6Nqv}ZiCJRFzCHqg zVWyX+rk5>kEnz4vo_WlGxK%t|VzO)JNx--Ag|95|#smUImgtD;>nB(rZxyGEXzC+n z?{E88ZbcxfyF!NwF7;Fhf793JMQ6Ek6Jy8>6=vC!QeD1Cm5eO!%Q_7-0xrGRq@33^wP()$_gH-V#p@#K=*A#Pq>2khumAjSV!pk`&RYjFBm+c#(qcI@srAT}rP{IUpfqJ7tpk zxCrYk#(oa}dOugUSUOa^Pzc;uBlbv`m(ES_p-y2DWfxYdDPdNRwInO!%`OtNs@10A zYW;SNZR{9ZJ&N{u+}ABUsTR@Iz#Q#|8V=@x8w$0dEJB0VB>0Cv09JZV!_GyCFed|w zC#S(D`xy`PijuF_@4e?E|3G~zgv{jp65R*WmkU7m=<)u(DTjcG?ahQno`?&#etsyV z`-ibKKt1aD8LDRiy)y0nGS$wP8^g$ZP4}Zio$OF=HC@eN+}c1^dIr^Z_6OO*!D7gz z5!#VTg6$waIJKIj_4pc7EyJ|{v$ZlNeC&hLjL>dAVoDq7E1KwscXVWQSL?5Gyu0#4 ziAzGR?%8+kFOzG@tBOo9D?U0`Qd}2PU;lvu=fclk1hJ3cASPM`pQ$`vOS-Bc7B(0k zhXPtuy8#4_=XbFG{R6(h#tK3;sPqlh?+x9C_>n%SKz_(;sicrb&g?fxSJlvW6Fi43 z$_aQP2D@Y|@{ROogUWjeT4ruQuDJ?h0j$`B(`0E;DF6ySCS!43>48L6aY@E(Wc3uo zpyracK8G%1fW`~4tF;Y+ROo~`aBr*p1PEJ;<&sa^0&qmBx^(JgN;Mb0Cb?5&%VH)L zCUE?;LFr$*qg-5%Ysejw1@N>ql3BhhfWTnsi@{}}*g8}~~-bK#CNDb~DL%n#Z0yr~( z4qB{9 zHdSSjJ?V3OuF@3A!Sf(X0Gr6F(%md6zExBAwYB?{(ff$m`qltmm4+n6N**5i-Y6e{ zTG}X`bL?8kG1D+3GD7D{ji4YtiOgRKUi#pR>qk$99)0MQ?ZeIXTwlOcwS_GTM*a`< zRg8I2r+AKzu#V>aDIe*Rpp#uc@cDB2(O6~sg*O$sU+%fpT?|d2ZI#L18x$3{)st#- z=fRY5d8YovsYeJJ?3p+aX+N>7oXWH!ZID(ft=m*Rj88}Zdj z(;5vF!YZ;Wk}X+$J^!WL&tG{V33+ytSHfucHt4PkdtZHOvjN_cek2J&+?-LX z^`+KZXSqFbN9Nh>8Ka$RNe>BcjF&bV-m`G2EdSMPZ?wHDg{S06#lLJ}{Sxz*Kyi0v zv8t-W1f#bsErLec>$2!=)#lRP(sa4k5K|w zwbg*>IS3FPI&gzxE_w>Yi3w#z<;-4STeM`$8_P*b2J_{V$bWpTvq0EJK7uQ zHkuYc!OjZxyI@{?f4ck=G48_lRfAapinYhxygjBC9G_$KfXOA&O;(vqd`h`&z+gwn1pH{)Owv!yqoj=FI*$ zl!^J$BopSGkN_}Xn%&u*qjb_bS?ZmtaAArt<|eoCBJa^v0PPSJo%Qxs`X72j&QEzU zS5ES(%|FP|YlRutA{F)FuLK{5cHAnRUFF~=(5cZr)sX$NwZLy1!uFfvxDEN~>fLb3 zTSsc@eBVkOr|ajkaEjf$;5WpsI&-yZi4thD=L7#hxuFK!wi>FNuZ4_QF#+BoUop z7P$YRcyRW^M zFZc3#*UzKS0Uca_{w(d)zIgSEaIulx|I8R#B+VQ+$)Y#f$G0SNDPC+!=YfAOH~zX~ z#}+vos$fudXAvMCQ}6IZUP$M`-%T7H2`!PYqo!>m9C(!>Lt4iCs+WPO-~sZ0+WSCfczvT7xFwV8gY^|wE$J$(@FS$I!eV3|E{26I z$vxS>l1&Jxt#o$ww0HXJvbJiv%+%np<77Zf&zM6D71W)AUWz#V+9LGHvNJ^JTY|*E z-mfxAds6Eh&_5b|E*7l3^0whoLe9(O05$4bdBjXF&gq)qXCKS-bgfBR0wsdu%nGN$ zEUPcZ2S82hhopTB?t9iMtk^4xnJbj%&=#{; zP5Y|QQ|#a`EgsHezleaPGII;K;^RfJ2XtG%B49F`9%9FPliuaxhuiSfKd+#4F@uni zCs=jsQW8$`b_j9CWy$wHp+&AME=7gDw3MOdEa_XriNdY?dXP>Pt@;@F3gHG@{)IO?`p_j=NZL8&I}iEto|j&#t|5VLF7r{aEOiSltSgMrs zx}m!14OO!3iE_(oa#WEY=0;K>;yZ#z zPX2+KS4N(IvgcO=hD5dA-CDH(*y)SJTiZ=B`?cDr7+F*0TGC3@?P3WbmtK@UP-2AP zODD~P4qm-(_S`%hJgFC8Y1fiH_RP;wfU=J^vv{yPC1UXAiqF+?cI;fvqdKd{p& z-rX07zbbo%kX>5ueYA2y?iTR1&7p^{v6kffCp$h^oQr&S?^Pc?2O_4iY|s`#V_HI?XCRU+5)S*tF`TGGaH5NqO_$rt}XrU4)RfsWOY=*h#xwOJM-Z+WlP z$9^vQ%$IM_<87FN-3RCy>!l-THNi$1o1%E%tB{Y=@WVUd0O`nAZpl6-)+ypfPiU~Z ztjXdhy`<-Ii105pivSEvsB@9mF$X<8ydB>QIG!~K}BihYi) zeeeAk-0sv3#6|=tzjXMQzM3FC=%I>m{vjr&;)yfyEzcZ-=BFUPV#xBPRI}eC%1|aq zj0sg+DTBQ8=K!N=G1BlznWrXrcj4UOB}@UT@j#$TPMq*Q{dJmNfYt+myXxehcKE`$ zV#_E0O&15U?HzTBXczSEA#KOb_M+#jv%S%?56Vc*kl5x+oFjBq3$>Ci2LUn#s>MKej)JeauA3 ztljd}bjW)WckWgfh<=e$vG8Q%qdlrOy^FXpR76^co`*rSdDYa^oJ$pK*eB7k7v-pZ zu9!p{|3_vEe;76zl53Z3J!8H5)yS1;`c^6a>KjZ8-HQ4!kKvFj{vj+c9g6eae(efC zIn(o=hdUzEb*hrdax!;*`tb4erO-tb6{5V6iNL#2s!{z`@4EyXzH|4fu!#M_X^Z*n z3{(0T%_APFjW;nYAA9E&BtZz3SIb&N5?8l&gbVVfw(Ac51;yoLB0w8at6A_b(jDGh zBV3%6t+Chn(I1}yhh=8Nrh<9>_<>EdOKaJ!5ms+ginTu8LXg&)ArDx=XGNzW5yP52 zaQpgXn{U-FaBLLeA0n;mMhvp7h?@9%ENogBM)2@;Lc+K*WbSRz{&?DplFjZbw1@3H z)!K@9idLByBT!;$wpUN)pYv?GA{3?XPF1!`G0L|cF`NQHkH)GcFWPkJ$v@>M!8*-I zH+$;Jl$4kUTY;u%Kutwy#_<>!bJ;(D|Jb||ec{fJq>aMCGSu}0-S9^1AKvrB?Ph!TeNsw|Ok@|uyxdvCN2cCPNzN_|G+xZJF^-RB z!(L36uYH9fmuig89(v1Z;(-qmZ^-s!9`D1r4-7Uxy1G75%DTmZln7_j$37`xan>IT zem zQmd$m^VR2N;LjjVgXH6{Hl#5_-&b z$=GcWV855x{Te~d`kGn{3wUam#sy5HKZYJSCY`83CA$QkB#6B1_Y0MwYX?ueOla!> zOvEK-@5B-FEj?l+&Y3uNOd66l&uD@xzvaAw_fbI6bxp-ce=YW~{004{MNO1vsYrI? z81IqtvjPq%E#Bmj>zK@4U_F9%5~`WH*iVoEoXYT+H@mZUotHU}M5!j`RV^F8ZG5sL z;*Up3DYcnQu*8_7KOIofC5SZr=cq#3yrStA5DOPsc+*lBUC~D_n<+%WvpF0?V$ZAI0cHN)m4Ov4$JIAJ zzdFn!<_Yi4-yh;akw278)P!7W%eV{$>|XBO32+jHtv*&}i<5Gq&~CnU$(8EiWBH(G z_45jx!v0|M?^Liq{HVc97V=( zVy-4*>qatjfQ#T=BE7hL0y@OUDpL~V;B=`HXY!aW2uIi#0mAsh}XZFg_#O!sJfvK@EcFAs+WH?0YcM!+kb)<`R zh?dX|wHVaSXrV*Lk-2M0Y# z4;XYMO81<=ZAfe23coj2nQITvz1o4Rt<(9ZUizo8B2vT}4x-bPiSmL&CvwWu{}XGndNdCKuH!|~VlBuk2d_=9l)5abvEk%2wk&6})n zz4-H633qWqKtXDh+|@&Ws}V%e2y$~b)3;wNHh<6s{v&h%V@Cqz=k@mSVJ-J*+#<*P zy+t3T2|VRYN*DjoHBEP&A3=wZYGDSKDKfR&$>7O=E;l2c5waM;3Het zN-91`g+YC5V@;+Olp{ulKYr1VY&6!&;Mix(qXxz5dgl+GxBza+$y;*A_&#^b;<{pP z?wtLjF?6g;-f{+&#mV77l!yrp47w5@r@$$uOUb91>rTZn&1{o477u(2vYq2|tPbc=Oa| zxbW;X^w5ebrRd&RQETXEXsUw|XiD}uGgLap6^{kEYQq+5i7=~6|EZ4`u^EFcfxFgN zXx!>V0o;4<$yD!0Kx!C3f5NY2R=+2dQ+%w%T2_|uxzf$VgpE z+~e5d#uN;atM}K)xyY+7G~!_?PNC0b$VYyfn$OAG6grZnF%NYqxt|Gg28TdaUy_Ke z?zCCZxL)|SBEQ5d&#Tbo#WBv&^NC#^9-5jgr@3+;FF=K#sIan**}e~b>HZ}!jh@7P zLcBQPYKx73N!?>$iZ1j9*3!s!yFUR8WT^0^04YxKv*-S8Pwlh~MMYfCp7x5NAmhyFP*~FNvmz+M$>lZdgkqrxgg({IC_b!8TAo$0@rZ62s=vX%kRiczm zXQ$YYm{*KmF~zLv4HPMVe-Oa9JHQ3aW)15bjmdL8^+eK+ywdMIqC(9j;8XZv@9foH zu(il%={IkZWC0CWMbSJRFGbg5$vnw)wtF-stJap0=iIK2(TdWeg~4qn%Mp43@Q)`^ zl*1s4M1T`7UMc*)`SoKP>_4ptUr5a81(_CL(|ylLyum&WU9NTXS1YP-GLCzQ9VS0E zdHLo*L94{Lpam(_#O>fl_*-R@1QmePnrQ>6Q~`=Tzw7(vr*6YV1<=(cqg?4@(wQlh zyI8m=P<_N*9%DR&HK(`LB#V!p_iT!H5rs&G9w?%-UmpE9P*v>Mu0jMXvU zBcm{t{G&%xjRwJg_lEv9d-?}MPm&FJxnW8I2T?Rdc@Ej=>gs(*GAo*Ut8sGu5uwO` zqTE2_?qYVO5`abHS(MBhqx>}5a}xVDf13?H`|QG!y!cCnh8E@9k59|zQXT;9avm~VDDrBET14%i9*Fcex3hL9(&wvaI zCol;#L~}UfaV1r01^IhYoKxM{)GAV4c=IF<`Bx7+MCCwg2_UKh9+yMOlI?tPtXA^Y!BXYGYxx&>|LgcabtIjc30iE~?|QXyDTGs!_#F+7uIYyd zQrE@rL4l{&kf8ED)&z&AD&_#8!8mg>@yPL1<4F`@7BaVIeW zPqpRKJkNL7$4w2k`MVz0`B{~%gbyMQIvZjfg5K_RlRVLl&C! z!ErzeB<)mD`MNLn@#LoYYuaHxoX~J^4kTL3;mUNz8Znmln`bA%DSSQ>)lG)Hp)B{z z;M92b_V;h{IIS&L=p1WOiZx3@wg>QN4CLkjobM)Bleh$ka=u&K_mgPN1RrbO+9aof z-#0k0A_bQ~%8-L1ra;z`akD+c5A}(^{GUWmC0M-J*gprsOkxlGJievEHKO<2T>vxz zr~n@|Pzx>%Y%i*x^+maO^&yMKD~$sGfz&6VTFdwi_)?Rr0AIKq_L3x8@-g=j*Ac-k zbE7uw1ygo^xdVb4Apvh{s>$xN)Ro^#XrZCBivP8m4(bc@t=J@&<@`^s_ec3o;qCo2 zMfSz5vWx7iMn<#j>+ydeZCDD8khwx(0&9KTjkA6>jf~Q})Kks-e&vo0fHE4IrDN9L z1tg#cT5CVZkdoNk9{>Bh`;>Bi0~>R>dd~!l22`gl_0!x$Cjx)?`O8b?pDjK*>0-LP zytpiF8e7FC^!4gIPpGcCAB26sD4W-8VMXNOco~eE{9!4sb;eB#Tl>YO)dsTY!kHmP z&{)T}k*Pom%*_ekyrivo%ID`h2mq6#Un~4?jxGh=uQ>ar*QqSH6ME&6!QG*amkdhd zO(AOhfbquvNDS~pQS(|k6-0*lcR8~~Z+3r4-TLhF-mh@cKX~7WxMI1nE5nX4)`<*U zI!Qefw*MymknqKxD4S(Yz)G)WIm(G)k{{)Ey2H?b|L}oYjQhb7P{&yAQ^dAG-`}Uz zMOmHcn50u7_R0Wqx^-QwrDO{d-(bGj=;DfUXgVcT9jNL%cMXgA7eJ!CV28ohIa9 z+BG)wqW`!PjxXXHWQ%S`|D;Ei{DyXwz+?9u!{Kk?Uf8AkLF?<&p`d6=AG1=+9d0VXk z`*VYNNw(ae;LW34p>wl-n=E72xJw6`n!6z-8HTW?7a9JpPM*TRoR)q14N*?L#dp6= zvf&TD8(IF-q*vB&f}CB~(!PS5zh7%*t1}XyDeme%pw=aU@rrLankx?J%HHEutUwpu zyh?Ua9{GQ<4?#T6N6srY-Q=&eGzOwDQm{vDV$e65x0WTMBENJuGLJPQfZ;px z(nLA85>9U8C&q#i@LyEb&dmgMh*USl~}QS1q9D(`P8G)FqQ4Y*|-+P>of zh-}u^jH_qT$&_1wJC6{Le$bY=pG1~CsU3)3vrhjSMh0g18 z#2Luh?J2NEYbIZ*xV<&~xi*vcym%gVdXApv_B<|bt%X^tT4b4e5K;`|1aD(+%V{x@ zE8{W8;mHSwo$VzgB+d@mJ>R6jPNBV4`Vaa8g04Wo1W*I}<1PX8V62UHgaW zB_Cb63kFmEL%N*FFiH(==J$gUu7A%axwoYf_yp*N^3_$*s{Ox^VXnJ z<|kq)&)t9Rs@~^8mH@yd?X1G%)+}^u;U@a>gDF6_;8e2_^7iVO`_96#l;MzZZ(M^a z!lYnGrQsx15{sxA-DeL03v99_B|6GM%PzUe@^8cE86>(qM=J z9%c*pc^UR@4E|hY7b)arWY_nkTvMwaa3^)V%!it-T5)yTfeSw9H%YC`;zpN|3e3)z zWRVA6oxM8|;|yKEUJiPxQJNI>tEiissfXarZ6Dq(6!Q=dZl^z_*au}b4AT;swrHny zpY#J?h0DGC0kTJlN35t}#Td*m#Ypt-peMhJO+ig=KFriaE%8X7U67NGf=8y)$~`8K zt~E%EcyN*+)LT* zruBVm$%XV@KWPqrj#QKHq#B&P7U;u(a){7l5$l`_p7kwm2}}#PzwXH}NMKq%3XJMY zpiWYozv+C^RY+|Z@JcQix2wtx42W_LCV2_pzfR-lxMn`i$|R8*0vWfB^AaPn=_9I< z#7*QXoKS@qN>curWD_p{`(dOeayHJ~%qndscJs~sZ^rw>n@26>`{)oHhJ()5asXY>;FM=)HfU%oEwhDNmYdV-uC4cx^%YGfha9 zs#l4G8OobnDVANN_jJPYt_+Q3&i!RL(N!pM!~x1Z)T*fDFV`O-W@hI_`^{q1Dyy)L z*To7>$eo;(&6=0V(k^QWnS0;87QR1|4jO=WG}ap^&kAvUIO)Y^4$wQz4ul5?-9pW% zCh`)NH`uO8Q=-tgfh#AxZ{cQ6=^;c)T<(6p+RtITOnSPG^HFo>yhlciJqAeNAv!%( zU-S*osFXO+8`R{k3?%kF)BE5n<->THjmg6;dg@F^4;$#7b%0=v!AJs7S0!a?Bqg49 z&kKg~pbygGU&!_$|M4(B*tuS|x28TkWQ0?7Zs?N14>YK0OcC2RU@ z#eoc=>uzFZwb&*Vmb=BO`vE~m|YMS`od#fK+xV}Q`hBrc57rQ??9pErK=Xg@x43Dq} zxQZ#2pX!lrYVQH%$`eq!hylt!$n8BM`PcQlUSRo4_>V7t&TD^%Iueg7BOirM#afu_ ziAbo8JwleAh}*6taZp+_ma+)Sxc+2nqkZnWkych z)|Z2GYhIY(HEX$kU`^NXE*Z9;4tVlTO2|tgzdFA)aG+VtlN7X$qoEiXuPalN*)VNz zJvxFFJ^}P6xL+ne(mEeoFSxobv~~g5N&dlK3~9rtHqWt8lgY4$iq*H9h9BOA0ZN5_ zn^wXZCcTa~`v%Ew~LF5l)&+KmVC{PN9z*PYT}>!VG?6n~8$s}+w9zVD+M zaepl#H5~0OeDGO_0Ll_)rr4QBE>hAvB5r{!zH`c~0F3rl2ss&KccRQp0Ol)N5qyzrBFqzI8f7@BNxKJXHENR0L<@#oYVG`q0I_>8C?XK!?nnQWl@E657E2&go z+x`9o$)^EF3C@+{8%mA7W>^9}5#FVYQIOX5_8+7b`f1pm!U5t@@gFBjM%&Z zMHfI|FXbhJ*gQ0y_SLO8Y)UgP^uF)HV)0GBt@*>j5@rmK)vqHeE||pVgy(|Q_OH?f zyfF7~jI0ZdJ7w$}%$2KH=&=fiK4{*YRA$)r$WU_kZV|Rur>LJO&CYnx%cZa>D4mXM zMrt+BBuQRQ;^}U{&9RPBnerdp^?)K<5oJ^7zL*T_ePp}LMJeLDmcxfSCL%nd@VpXK z(QHJv4m^T7#$Q(>f3;pAcCZmuvLjz)YO&QJz-g4e*9B-GLo(? zEBmeFjKt7z!Pfk;0`)>32)8-vNk$CT2>bHq$0WXgY zyyvk9km7~9a2GlE=>P7c|B>PJek1C!;I9!!A4Is3ew2CIlp&c$-Suejn6+kk<2~!J zbfy9EQa-})A+5}?KzY&2)eEL;0J7r!8?$T=Z)r$i({s?IDFI=Kt!E62eZr0=4ASR~ zSrVpH*Yx{qw-nv{7~5#b4)yc1{NrpJ)TC6D2bdR%)1-4{Y&Ynm0AZo_gmP=}MF|aW z>atA>VCtH%f$9PpRSG4KPA>@|U_=ol5072D_~ zP=1(zLf+kgjQ@dV0CWpYq_6P5nV`w(F?U^U)jl%s$7h}bTB3C)i6G&5W#N4NmvN|f zD>QnI=qu9WQH(?SC*G%y)kAd56}gL1_)Ot|DQiTDlZCf`cHKhX^Qz_d()#GE(9_B? zO@9^UEMgNB;kWUnp1%aP{4vVj^x$UxsCXIrKftLzUq3iNTyA%r*s=7^0u>N0%-!=d zzH>VL!z-#Ieop?IZD4MD1wM$8hD#SQ9R9wk`6(3wE2B!|SClxDD7jq35{{L@b#Q|0 zbB$QpkwA_!VX8wF-0zYn7HaCWMyv0Wurds}4yJ9KBE$Jj6y1*SxPaci9Hv*hE-y)aG@e-0@Z?YNeX1k{z@1s_5B!G|)ru3A^ex~~ zThBCu(20w;=^3UsRhAjzf~E@3HrhK$QN*^>DY@r+&1T)3H(F$nqbBAH3mICtUw@~1 zwtaKl!dyw0s-hbBsQ8}wu4OXiD&=aFd-|s-k*K_Lt5EySZQ1eU)n)0-_lXtd3PIxk zDO%ypVF0wPzOWs(xeD!tIqc-mBHrL*{v+6TN6+S?QQoGWxmDLHa?*X{%L1$6*wWZ5 zX4ktH-UPmj8mgj}Cg`zM0n!cin5NMQ;4@9ogiQNV@)nW?|ySBS^A|7yU{SrBr z>Fs(2gQ$L0O=lY*P!XoL*hE$P^Om8rmfD;+(tbn=QrU_Fep&X|r85!x)Nd4{*3pk? zpZ9S}Jf;ht3zCw=I3-nZo7FCv443~}o~B+T6~})FJDvYnJWW{;t@o~YFuoX>B?+Jr zeleH;du*OUIP|+)4YbAjP38vuq>wf)MrE^MrizixK3^?Oq?VpiGFA)VHa%?;5IQk2 zkFgeDs2R8)MJfWB6DF~5wVN-mAQ84!mu!&fx?)h-yv?MW8jC0nCSmPUlbc|}SkNV2 z_MrFA2vC(L6mYmpIot4~Cof_`KMug(uBc=_IS3bXI7+gbe4YTi;798yfV5+jBJ=ZMtP(l9)Jv8 z;RzON&23=%l}4g)qXV=JY51;myXX0`Jq@lwXuqK3jBM$qfE`0(|49 z?dZ4j>-3iEZ2n&f?pfHlQZMhHT}Z=qiA~P%TeC%nLW3;RUVjT-z$;pdSx(ZCp`i6B zt5uI1uz7~$%NBTbEvdy6K!A21uE_d|hNqhnW;moTmc-a+vkkCq%aP#scoW6yTmYY} zVPfT8y4Y{UAM#g^DWp_PXQY}^6=01RECQU7dG5rIzNB~l{P)7g;LCU2-cN>J@KY`< zYtZt~l_Up)|BT^bE|k`?|GR{%iWOi@3;H&TAM)V zPCD?a(%Dg09_ReVrigXr^@cC`>@I9%Oe*`W^(jbZ;8#1B?%d^v91YFNYG=j1g&T1wA% z*O9Db<#|OH9Su&&WQGmJrJCJ(^N zXU7ykCe!%mhlb7bGNhOj(lfxf@F!r^(x6Do(%>_1>J*GH8nvmG5CAkV5)r$eyd)BY z4s7R}@Q@`du-(`C1p34Y8l92TKt*7c9$lSni?t6hw9GDmZ>+I!F>|rpcWt2jG3KR` z`~uO6=K3x7%tKmihBG(FQ}!GJ>0gw2-{8JRk_Cb=QK&BXC*Il7Uw*=2_JI zHRc}w8O{0=YXC6;Ud=Qp4Q@>Y?{CMDUC>(HrIgLCNJW*)vDAolSN9530_G68hrl)x zJ}f7R_ANSgGP~Pd@gw&K>+HfRWQ$(&2&*ZphLNj(mEHZ&32ax^i{BgCO_}7c0Ut~M z%|z}0FD2n;kc27zk%+ug1(JN8oLsmGNByCnQf#Uk{Gt!e`!@+?s}d#fIn4g6ID6-(S){HcaD^YQ z(`^nz%FGsOnK3goHm-Rjq^ec_hgjMkSn8E7hM{JZLD!bopYHdt(m24$qoNP6aaG7& z$aPe@9eEU34lDTY>*^hTd^+p9O*8I?MQL zO@oqhUyufl8-jubHHRupmdyf-13UBmTm$pMa*5FrCSkRX=dbk}`aTSB_Fgis0zZn1 zFO(<4ql&0%OS$E6TUXXv3KMH7_0fcHe{@CuO2cu^MiIh2Y2_Rb{(sne>$s@euYGjL zp~nD4T0toV3F%=#q?ImF2>~gkTVMzUMLHD_kQ4!F=~jkNX{0-)yT@}6m`{9v@B4e- z^UwJlpNC=C`;HaYwbt6R_uThwJ9wVJXF=d9yZ~E?kZjQ}o6V9w>Nf%yBR(Iu?ay}k z7<9ed%P_QWwc`_X(j?nJ1KK|YT?HI%Lw}4z!;2!tIf#uH96kob-;-njJ9~ofbF619 z@XP0DNEzUUqBj}jJR=yUX&mP;@Hv~;EmGfaYqj}>i!gIZ_@pW&S#dk-r`l2%l30jy_Po9buHS~ugZTi>(kn8ePPQ6nP{=C+Q-ne*?4 z*QSQOEERbnLYVET=hh{4x+nwae{az2v}3>Ir@DspEwxy-1IUPa0131!2|U@+tQL9^ zS?*tjaa~Gb=cX-TR;p7n{d->;mxn=SC7W}%>goGV_1`MrtY)Wo&;^@eZvkbQ+G(TQ z9<2m z&-lJefam%6v0ybt^ZLK>RUS})5ctdPf3Pfk8(pI60MLaL5~T}aq3{dN;K(c?sc-3L<3^z@krg!{=77>Ba; zY2SEgl_OU6vSJysC_4|$y8W=A!{DJgA&%Vm{V($S5~XR0dmEy)AaHW~u_TaQlIJu? zX_A@hNrmol3!t?!*Bt`7+Wbmm!K&&|;1e7jr?Kt_eT!Y#x(tKX*nv#66UuX65mfcS z3GH8Yy6;&oU3{>U82t(S{jHaj$jHLb*3QOA|H0u~%e!WzMBIW5ml+P=?MgNfk~NBU?**8v`R-&_v48!VdH63IjLS;Ylez25!EicU%ltj^6Mx zaAAg3;gsTG;QD@&n}O@FgQzH{q?4Vrs-3=_5g15Xm7jtCu&uPJ0D}PL9cZDYc-PFx z05g&710W6$7X$eJ=#-L;rGcuE-7QX~Yf_wQMoxA|O|BmOk~sP$dxrsxa>K~bRR5}_ z(=E{TGQ$|;7&s+>CO}791|G~=6;5dzOM5FYRRI|~y zu(iS%!@!wSLY4EHk%Os$k&5(HFua=nU0cvZ)y~G=!0yOkwhX+YqQ8uLIPwqUN}1lb zGqT~7x(^h;W@KP#XvBHl$imppgn^rvpBvNdhi{x>D{c*1_6wXq!h*kfZe1Ac&fLC) zCGJsR>UHP#v;GUdb^2R$;=S>9toCZF=Y%~%Rczo8rpBQtjAk;pI7 zbe!~h8C!m^jh?oRtT?z;@;onD+aGNm5f_)|IK9-13=HCq8?6#?^fLNL?!(?_bIIxK zO;uX@gSG7Y)~@S|yW2AhkM*xEU(cUwTsi*v^K-p(s<$s2>%WY>gM4fnr5SibGlx5- zy{LT8!P#}aUpBI2e|>m6+qTJcGP2SqZYGKOgX#;% z#)|BzwY^TJwY)QNIc?EBp%C*Mr9Xog(RP<<8Z(4`z# zyLZEl*iz)xy-@YRZu#(go+qqaS)-w?KGYRy%^7bVbc9^XC0%LMo-mdoGR&uvvLdg_ zFOZ@8x)b|~tcg=SxqgWH^=D6c%8Lv?rl3;;j7gU+lzS?j$M$k+}>s@oZLCf-)T62&tH%~ z%;B1dlO_h85~(TfeQ+hvazFsy!f-4DcV367>r$ZMW7s2Mo=tB~5)Qta)5h6Pv@e8O z3)1hET!Qx~-Lj4jVgAA+Vn}f<*5vbbt+<7Z*QfRD`p(22pLVj4h`kScsh#v}$)N`O z#7&F%MHBk~-M$y!3`+-nD3^v~F1C?JFW&0S^6>EBn^1JszEp}TJJ!UsupDwnLcms1 z=6KyLk5k8Tye}*hKDyYyho8(*QOR^QHSJBQXPT{=dSUV7ok12;Q?FF&PxpChKGA^- zc+?tIkJwxmWaU`S2hMp$n`^qqXCp2}V`=ew)YRHGr-Fxl6Hfcn;X)g}UK%+C(GkCA zn=hDV^2j8t*tM4-FjM1rb)0v#CH7b)WUleGR?F4s)XmkX*IL=}hP=YW!NQPk;n;+F z>jx6+q6SpBIt*U@EwoeBzG3;0%Sw-C?jXiqRo3w!MB*Z@o{NJ&f30Hj2!Z8teB`CT zyoTJ)fQEZ2rJ|`Qg+la)3k%5i2uf5%SlY3!i>$_|zIw|0ZqtT!4PKC1{CB;~&mTO! zS%oq`ewQa%j8ok-ep(a92`yT0Q-?=#Gow|0!xNt<2zH$8@-;~HQ>>T|pXj~=fx^&KqhnO%TiZnwuG@o}Bly=_ zxgOZYj~a16_MriKWvs8)s(lCsA4Fk)J0s5Dr-fZu(a&Am^)lJ*#Q;pPpUPr2*d^}N z3GuT--2EwE8e2bR))jK>vguFwars&{yR;5=5#m zE{UNs`0wYv72+*W*m%&foMcL%G_8(%J)MdF0@E7t<&;2w)|AN)FwZ+Y5CbCacG0&a zPQr6tct~oiuTmyAbD+0%CaCbqT_2B%7=J3TT+ipEDmRnZ>S2crk)Y`6*^Fij4%R#7 z0{iLGu4*l=j*{hjpiv1n0gnR+gm7=P?hr3g#NoiI-Yk%$ZFaY5siPp1%w z;H@Vfa*r<+ho6mOyq#)wVqDi_=u*9)3f@H9Rpp{`?Sjg1PDlM_A;D!WtjYnAw!vl3 zGVdj<`kFaQ{<$*h+)aOMi_{V#zI862yY^Nm*QT-r4>cTC1O1Su*PqPWG3m2}E%(F`bp$kvoScfS*L!o!IELRZzvDRB3!ZNiIAnWgT?xCpnftf6 zU9qBsD0-hxSKp^UeWoJT(#b^*cKYBdY%&gw2$`ayQ4bu}`poKv zylfnF@?qo4{j=^TPOU!Dz}7jrkD{a=`-0t4&9Us-)A{ZAXP@H!Q`nQWQ+1teEi>Gs zQ6Eqqwku}n-@A6l`n`-kge3~`Bxc2&kb`Oms&m$8raCZw!CH}>0$cNlc%-< zW)t@qE>Kn9?hvsjCLqJ&O0)sT-tX#{pXnZYi_BKQlD%{*62DFX@OMfQeP*C z`8IkP& zLYrM>*%CPJSKDJ|l}ylbPo zWMk|KowznMO~-tH?*8a4aj%1#Kt0mY{d4#u$8oJpXB^r5Saj`0zQI(vj!pk#L48=L z{;2s5Ysv4$ET^jdT{}#HeOS_RYML5?(vOQ%zjBF$&CnYNd!NS6V41oV2-})gE5CVLBC_Wwm6bdCIBp@OoCnX^!COLEBB#fMv zik^;^iiU=PiG!Kp+(kwj8Ww)mipkRA{;!t+?YYI2nh*Eh)F0(Nh!I{ z(wyb~Z~yyN4LMGL-HUe&2kRUJ`#2WPajb9eA@mRk79NlmBk=csSlBqYc=%8PLLy?& zpzs(38w&>q8y5!;4;L4-b_3@jxX1BMoaGY7KdGz_J!ehM?HTflfbnW>4TVbEG84~T z8!tklQ>Q7aA zPR=ggj~@H@K6&aF8WtWA8TI@{bYfC+N^08c^f!6=1%>a5ic3ms>)wB;M>RAywRd!O zb${vU?He5%pO~DQo|*l+vbwguvAMOqvy0IS3xac`)=$m;qStYt7d9>~4lWd<7Z$c7 z_`x}ji+7d_|Ae?QRNwmKIc`q^@~a`Qa%%_~c~q7u?%K2wonqo0J->oc?NGD-nqpr6 zSDO7)?3Z4B5E2|L;5?k;5Cmig4X$Ld|No!=p$%f@i)a&~(A&Ijq2p*L`EL+cDm*(0 z$s3#U@jF{b$EVS5li(2|QY>&>@t=-=e8Q5BZUhT#imrmk2JwUPFe?a^S8dfK2!`NM z@b_{cryqg8Qub(D_V>W!q^?xhGhTl2^HGSkCC-ColfCmlj^n&IrmX4~_+v(TL-56u zcxU92x0vlYDmLWLfs=mrB{LKU!V3Q;?2!^+q&C%q(0?3>=wCh6uS z(lq$|yB7a@b5}M4(~5v^fK`%mVr)5dH1~h7;QwImc#O&8PGJ1#F?Ed>e5>ZC52XKB zCMN{m{Bxujj59F?ZT}@V)_=wn;)f`07(9+*K!gFpzq+pygUF zxm)D)_YkQ2GtwM}u>Z5T|NY5L54#*;5}@7WKSa>~#pyw~|DSQ~pM3RK<%fU8kf=Wb z^}q5H{mXZM$sYe_-TxISe^TUsGI#s0lyvB-%0{rJ$&u^m4SuGmJ0RoyYWQ33`qvZx zkkq~>7B9b_QL%0FR?tz1BTl4Zv&i>?ETH(aIrTNlwvk<`Sy!3+ z791D#9`LqUZ&F)thS{kbjPH5a`sI)JZAO@t$YwY{k2iV;aKrX{xTQkQ20Ve{@^I;@bX}^Lk3^r#36;tzl%0$g7;#EE zfm<*2MdNIkz|IqBv?lLOw_AH19TLypwSAfoqOI_2nn~$Z#}}i$!8>bqNn@rrEx08| zw8pF2E^7h*>u&9|R$1J&TicmaHV&_qcA%6r53O%u-(WMpbk41fV5&4)_ks#`a;4^= z<)$MU{7K?Od#zANyUSPW}WpJ*-iC17p5u55e&9C!|-R7nS{;Qk$|0taSI zA@$B8LMjIJ8frr2ka)$Ei`f=!z0_4XeY4G%O7%lvFGAKRCo~3-eI(_|HgUQdeb>hi z#}QpY4r52nM}C8>)pG8QXiARVY;;OA$M$UrYc5ef!6>=UfO}VFwvl#@>_yGf067Xl znz!Pc^2nX7XXtHmx6om<+ZaX?MM)@sVftY3!OtViy_dkV%R^vLwRKgPxoR21-ubHi zy$_&-@)K>e1O*pn>a@h*huSZDp+6c=C~pc|9u7_cCx>E2{5c06y=(ftTNBa&jek7w3U3Z!T zQ0-{;U#j6LN@6XTIU4?&UHXTxK(imc4h^#Ns~0fHpS?Wge^`y;%6G*A`;UzGOEFK? zHnBg9#2qF*LUOZ3<*6wZVF zv|Q3pOaJNyzFi!Jq0~=vO#H2ZfcrzWzX9$$nt`qA{slQd1o=;ZbN`9yu=(#w{<76~;Qx~2+%FSPqv3}X z0sw2-e~977FAM{wAJXJ+Ciy7|!0=C6{jenJw{GL~#(=5+fCIztA@SeQ^Bd-VqUS&L z`ZwZA{-n;|@D1pGWc|O-^{dxEO87HKc>m!u40w>=$)5V1(cgnr)vxfO{9oqFFDZV? z-m_437}owfqQicKj0u&W@$By*;y*FzXR!EdUKhrfStOz)*b$Na?9-%sAH5n<_RfRS3lly=RKJ7q zzXL0P#lr;nGcYdy5g7lBa3jA#PAi!gwO~9LaUy}TIhTaHCRz#T2yegdO1`^B|hf<#<*gf)f7#Gi-t zg~2bDCckt_{ZzrW%kIWU8Ot}q^Fcdsw~e-!k*%F37h>Z!N7O@qK@>JXTk*yaYBjR4 zo;Vd@r8ddTG4y!2)B^0;W<|u*_^ziYLj{KuKc{8v(c*3&Spblb2`) z-O>_o`QCBMO>5{Pvcxk;cUtZXpCU`htLDf3#h$S)8s<2~%P#G~wyo>r#9yrzo16N~ zq}sCHJVKVgk|JYu?Z@Jey@ZO1uPC^e-ylFk7p}KJLstO%n!AWz-B+DmmeXOk3UrB3 zVnc0)!>zgk3Km7^!slr#VA_O{M6rdASHM$#uhz{Fn3o2~Xfd1xGW}{+^1}v^RMlp< zXn-{4?qf#XJvn-*WT9Ayp-=T@W-yrxT{sGAVCAB04Fo7WNP#9PAEdyN zG(=&q_S0pAgP>Wb={s4ezCrqwcCXN5UJQ@fwzi6od$&LH{p$&*k@X~~$=J^mBo`wPaKc_+F2igv2;lYUjZcl?)Il);l7RbgNRX#`p0$lZu^Ic8A3Hh5o zxyx>_NjdQWC-|Y!zIVaMEDnXkGH2$00=D>^?CLTz~B%8M=&73IFp2I zyk>6p4^;s?NdP=A1Lq}<{t4SdunD`+75osImMUydfyC2ix-ZYlVI6Mzh_<;VaSXu9 z90RK)%uA*R49pL)ZAGiyM*fabAa%kb;1OlXnHbfuTrQOWr?z^x|$JIx*< z+j2pG$Dg0BvkC*oyB>~3(1f%RK-$!wu=@d2z42FbVo<2}UkL#b^-UoH1Ut0QZ$u#n zZWV(vdIPr}e8-{+sRA}uox6Ilc#DKg!om^nKyLWu3GsC}3&ZH2_&ow6an0-@@DE+| zdzh#}VVDYo9y#ymj6`}h^lTMdBM1mHrh#NabV)mH7{2~)ShCTYIa%)+Bpb$fe1{_ltZKP>UtbR$#AsxuQE1cl7 zBXmv+Kdk0FdPEckoEEV3I?X!oZQZ}P6{}%nBe`ZB5rLVX8U%^y@4T15DJh1VFo1w~ zWx^kFPhfyrkUI2OzV@^0#t`-fMuwMvRiRY+S1}0Xh z9O9=d2;)iuL6IYR^`P5+gd_&rmOqVlFa~J!9I;0?~j1-GsuE(kX!~4=mQ62+CF{rtf z31sajwOQP#*OM`psFK4_VLu%rh`~EZc4jZ-NQ_B8@P5Ulpd4XEXj;kzG9mgV;3eJw zsm`~;O%#&Q=Pw$d6}>)ZjUCy@%=9mFT@s`^+_o9x>v$Y-3= zOKd#__q1Gjqg3DrBU5m8 zRXr`7;VjfGTcxV`#IKUFM@+M~sApBMF1R2RC1mDUuktlGt@GMc)=phj8g@D`6Q`Np zX4(%BsId-vGC4P6x+Ryq2Oj8|ZCdXvKVa?rY^kyQ&EP1H4;Yb&tP65 z%2{a5s%3z2>7~Jku%2gul<|8boqMd#ZZlQp^oZiOF5M|nzE=WN7~zre7jveuR>|p8 zWj?9)!uAh9%P$$Gq&B>lt{4;yQ@*>ARZdz*Yc1a^-@GK%dHde{(iTrkRE;PT*gk+A6m6^E; z2?}Q2of$9~^Zr>K#u~5%i(35F3XpHzsN&_KYk0xH^}9;VY{6=wLTK_)M^;UJ5+haL zbE8&Ox^nQ?^2&9Dk$lS{a>BWKS@X#@aGy(zC;Mwat(aFG^3Td`$W%} z(PN~85q*`8nj>8yOI6stO`r1$1O`?f$HW8=B2m@98cG{(^3NrR#}^$>ekAl8WP*%@zfgdskw3&ZQl}{@ z9()+ru*!ZQx^|=VvQED&?n^PSu!DCinnJyD&CR@IWok>vvQNAS^|I(?f8})Ab)@!q zlSCLg9COzbW3fQFP=CYrs)443?%>T`_0ZsHv}nu0vMHYgYF8O^i1IJoIy#LyYTRzO_kNX){11%t_VX^ zpUin*`jvH;ZxE}lPeOftH|gyvEucg;Y_p>&DsrsZ<hmIw&++$|D2OrMw)p~ZSj~nMt@q|{sN%nif zgfU1y#vm`0VjcJEGinyV#kuy~gEnB-_-%|Lsc*y!?jCBLh9RZoLz$g}4;iGyYF%|# z9*2j$(c>Y3z*1$gv+41if{4FCPNe?;YQb{JOIJ?AoLf7&Q`cq7IhJBK!3ODN2Wg1D za0Lc-RMj5PmP$bz*D!zocwq7^#mZ;(X-#KNn75tMo%J6E^a*MNrI z?bT()1YX&POtI)c@8YleDWK_FNF>a4+F!` zem{^c>9ezltD~mOAB!V}S3BvOlUj$o_|AHeTA7C9m1n5Y?R)Y00Kwk9DrCGwgka-tV?V-&r#+XA7eTXUXrg_?K5Lc5gP2W;e1XBu@Ot-x zBXC7Hxg@qgV^#YTBbmY+B3<0gVvKe_I$j8SJ2@uNUIJEI@?+n z7^k-=%7_rYD;dIPQTuLynr(SBNL1TT_8wB_yOM5V56$`77#X$Cc`v> zF8k?@BD8b!XaM~&oZveQEjneSoR~~Yd>EL>d_3FUG{{&X+k+04%|1Ok)jqIb>K|*B zd|Xoz#@Z-(Wy{ZgoM7$dLA?n&Jfpk7Qtw@$gIaO#*Ya3(Wr9nqx9f-AhwRV9(OHEB zZmyBD*DI^A2PVx)ySx~U6FH^PAD1wpb}I(qgtqrj95211qSABsphnTM-1H4fZ(@BT zEuR(@w$sj1kv5~9nt3MkV)9E(AAJw3^+pEurR}Tb(w-Ow9_C5)p>0W?QCfk(v8!&M zH#72eZ`JTzo8P%n)^nEa#cWt#$e<$e8A-kt@C|890uw_weNTU3hshD_1o1sPy4Y=9 z?yqBtse9f)_M|$e5n^Z@SP=O|Y4B=0J1)`3Od1a<%C|1-4ZOFr)9Xs6keFm@iphU3 zk<*DFU&mt(K+)$_>_BOR$v~Q^HTJlTWiF@}R9DEVPqBSa5S&g?D5J@d)?l;h*P?NA zV}ZSqD4D!55`V$~Ev{luzlurpR)8mUuOI$R` z;QnIRomzjtGoIG1u{hvz)N0W=d;je3e1dtEOUHt}c7BeM!0byelAHEX%_78kx`=md zg^=W)$$RfNmS^Z6V{HgHiWG0NzjsEguzfdAUiSLjC+_Knig%%eT(JUQ;o>vqeT=RgwFF#*(}C%&>=BlWy&`dy1(_(gqWF*pqfXXF8eO;_>e3or zWx*JVR&iR4ut#|x5x_AXn6~!4?#6-+nu!n3Dv($W#D5OvLazWx2!uMMwXF=|%aKAj zd@f*bU`ESQ_wb?4DT9K2R9e;rO!tJlh@mSq@$D&h9qDddn|D)G)F!$H>w9g6See`I z_Rih7BB5-ssgstS#h4mYA7Fmh_4%$_O@Ck7RU5Ev#p_E!iv}ZZ;6lm}ae2f(RUeMx z5(b;&fd#wo)w&z*+^`6=y3EeKq{zt{d4c7iVM$CSRGWL@UG9XogxT`NkQ7w(j!4e9 zhc!wL)Q691Dau2g=HuY?7pRROlj>@r){O#S>*Ke=^O_#0V2&E%4L_Ba}08gn{7J;>g-Y)1qz?mD9@Y zd!`f7AB#hopQ?Twbv(5>eTIIk;jP5{7w5f35N41Yv+m7~LFMsVD6nWwi|>yEZw z>%Q4jM)raRR$G+*G+lWQbw!BWB(2HrRNnh#DNlnyu>{u{0z|-xPZt#nM;_5{L9eJ= zaaCs=Z+I*6)Vd%(qN)^Go33u#anD9B`q|VVfklkt?rY>yPx5KYmc>z!cSSx(vpt_Q zG}`g3N#%5hYBzR9JKQfMxRPtUV58@niyY3C?mu5WhS=L=!|C^w)~`n@aQ7IV}VaW@medMEk)t2s|c5On6yH z36?Vp&O6Y3rhV%E#YS;=dUo#m!}Lx5rTDZgUi%p#Roz8?oD@z|(ea6(ySkzV-BSBA zriKIVw%tklc&vLU&+aJRvY<$~?-_c8Q~PNV+y3_8jTshrF)izzzy=jm;7d45V;`b6 zcyq)qrKL%L{B3Qm;ljd~b`K{wf(_xDFef(SM1Ci*PAfKBp)!0#5iaDSsMBWX~saW=R$ONI8`_)S1uG@HNBFqZ|G-(^Ey!BGZZ?fEF_}xzzS>EJ~gOZ zfP$C%qK7yK_BRL)5(MnWCei6h1D`)rWj!Gj9gcXI=6h~%)Qt&jgPV+OD(C7<%F7$| zoX~Vj*p~^CZ)eCU>xi?pC_5oDNgP4TO(4>JtEyOYMBU7t4_QWQpqs+lYRYqUxv9Rmaxl?_B8Kq)dCcD0G#Q z^|pN@%B&edk%^pvS+^XBaDrWp&aFr0E+UrC zBDbS2a%QS7TF$y$+_YJW7)O*D)`ks9S&H{QR#hauLu~wvZ|02wi{JZcb7S0y2583= zs^Z>{0l)=e8n_A{GXciSGVuQfF&J3+22lj1@%uLYgS+vzH~0Cuyqg2`Z!F)S_Oa=g ze>WoD$J5f0B^QnR$$t7eLyg9cI5Y11r?X$vmNUgywBJvonYL(<9koYde#r&JA-n~R zi&0aN~GU+zR}8fS0HdZU2-WZZDX1;rvoIgPni z6&EWZrF*!sWbqMagdf_kC#=(e0ut~8-(6?WjWv0{xueR=5s=z6ZHW`70wQp-MIkOc zA$D^=9qJC1!`cJ-a;@t~SWs;26RnJ(+?)1nRg13`STw=nr*QyVxEpw* z$sJ~dS^+&EkU00a@HYw%-POEjgjBMJXow(MlXh0h?+)0Mh2*S-ASkpp%k&EESG>JC zPcgUvh4t(4S0}s-!=zUD6wcgQ%%P!rEZZmKt}ddAdqMCt7uSw&T5+oEnaA&zrMR=c z!cCi4-7$t1~w{v)>MWzQ;a^7vVuER&|+%&b_dDTNl-w zU@DJD*= zsT&^#B4T+S<%WbzSb`lQ5bHWo?s!DkF#4(WtEq!aXm`3cy*?BY*u~cac*t z5avBGY-*=}b_#-QpqtL#-~Y*l=q-2JP0{)~^Xf|SVi`y`lvGjE zGbF3a$tLU$+E?7*+}(>Q+Phalr0BQ#in^(7Y7OD*R^1=(ddWHEUbp=B~X z8_di*tu|w3Ql>V!kK%;v))T@!J3vS;!a4lm3BLX^DQ!|pVQA2er3J@R+QK^vayhKR z#c@FqcMUY;1q(VmrjhNFg+mhJTMX<=kzxvc%#Y z8Li}bv7KA{Y{ephcxUHY)$5bA;mWZIaT!vqnos7feQ2dvwO*pqCRJ)BKc2gQ^HF(~ zUf1k#<;sY%K+2mQt1uUM+dLW?g!JZJ`v$p#ST|7b?y!7SR%)){-CSbtV9HZMfTe(c zc>tz-8|owC&P&T;x}`yCO=I{xT9EG;jETlO&OFcZiT1e}_H=?YZl3#le4}Mx4MgFo ze7M;WFJL~#euRmasJT8jUiY2C7n^1;3XDsOmowgH)ND&>s^47Le8kfKJRs?lF|KtB zY2YBcF#1$sAkRUN^>@UzeS;8dqt2jF#b6z$!x*27)Jhv@kEwH94D{RF)5?Vku)mPs z=#w1@9EWxnW)-CR)H+d0X=_FV3ekRiZ@he^88GAbM1$cP_%IVJaJK6N;_x$K4B4KI zHrHT#>CxSOGfP#aME;g|p~W?jjB6-TkyLTh!S6VB`a79wM`m+&i+bw@IM1$z>~^*u zVv5xE3)=lOxbjM&r^u8=ZT?IWz8ijSpG-ygMKT^1*OWRBPQ%?=FT1j{p5w-?g!Cn#gy6nK8bTJ zlaui_j|8i$X<|v@;Ozd}sg>F$<3sMl8=v1|lHzaa>UPkxeKl7_dkc*(^UJr=2_6@5 zUGfigS|``4uP~7#yf#}0Ob%0a|1*#g_Pe>H*5g-FbKh6T%Cp#yOCf`YKSTGo~#P71Sy zm*N3|Gx~6-1&%3Bl!DGU8@PPHXqKy%TYN&){tUSR3@N5e@oYJpn z03=}ro-Jwd8)u8?W2#cv@mq#yp=S6{N_v)AX=>>vq4r}vG(k=Ne9(`;OxV`N`$-9D z)M zs|olG)9VR%EjbBsirCROV8Qa&XY<_kca-olyqJ6ht=C{7RcW(eMdT6t^zmkKt4Hft zC^}zo>7^b{=e#tlt=8SXXsjrY$~`MWhIeMfiZz)J`e|3$r+UYC@@6!wrMcBU89FIK zR`C2ml@q8N@cY~?&>#XXJJGU0d+bs@2KMXHQXqUTfpOuG5ob`--`)?X1_H+=rKMb{ z=^5Arp>4WHC3h!?cJ{gD609lpU2a)LKx)8fAbe8uBlME@m%z^P)0d8opW38UgyZ3^ zkJx2AOEf!S0q)2>pc$q13)*8_UfGP%-J5&^?gmlJ_ud8z0f!q;(x?Z`XH@O%6pkN6 zrcm9Otv=0{Hj^datC;gpkRpE-T%bU`t1}S2{N6zYec%J*OE=KXWi)PYzMyx^;Ng4F z{E(YL?A3D$&}`Z_$oZK3pmod~>Bzin#Pk%Vk$aPycW=Ynw777bh7tP=9Jz8RTJ!;O zDKZ(|Tn=+-^&=N4O_ZqCpgEkIEj?)M(K1Oq#=_6Q34@NuMJ;(u6 zS)n>!!T1BB00%h6OYY%V_f)5EW%f|Fg0yN{cFaGd`ocMSU|{P|CsKGlDHdqBb@4Bm-*`GgQYaX!5xu5D}= z?s8VY$*?7l)Y}IEJsugxP4pkisHHmu-##W`pS?RNf2{l?ZSF4Bo!s$PS#v=|&A2DI zhi^4ola@PjTD&THGE52Q>I~#jxw9>_+IHIQOq1f`PNac!#`bx!5nxZB!7K5WdMyJ|S?Z;-G!2)*9rCa>VvToVOw0NG$?OH97RDWRH5`nKKVs=pQ!upKJO-%KeqPN3G3Y2S(B!DYT<})Wc#@8 zcwtbEAcfVoU{-eKcv(eIL+HG=LPMZP3D?Uc#@G>mfB)9mQ6)AfADc-=27f9(=^67p zB#Egq$MzNS;&8KO!(0&?y!*j?^x-tSA@x`vlobh^MRKzH=f~n^(~jNp_y*y6`h>xL zJTSR4<&hh4B>k~K+xyO+NvRD)M!Gk^ihObHXLNRlSX1&JP81p4ouYtF&3eYt@hItT zyR9z>TBKIKTRX!T*0AIKz&fH&rjA~T@Pl^BV~d7Q9q-RO_}k>h)nk+k_3Qs?_mJ}8 z%`MU+%Tw}(D{lzFy}_k?nL+(!Q$FcnE2l(1(KP9t?~V9SGbV{a>22UXs@n%*O2L|h zi+a=ep}#j#$qkF8l4IF@NmsLAJODbFI)ERRBrp}UFy30EcrM2VcsIOQydj$5kVjwb}P!GloZLWov%Ib5!kV@t`S`7 zpy`aHgUQ(6IVZdLU@4Qs@^NOI#s+n1NGQG(&l;IP`b3R+LS<5v`C@EKU)Y}SS~5R@ z^Z?vkLa{Yovzs$3AynYpyAw_GH8Eza^AM(Z{ZBfD%jzFGznrxv*3GYDvU=Jo?CW?& zz1B;*QViu%B#mEr{%+izsH`!4w{)JDzJ8*e@dJpL_73hOIq1)%>1KC_R_wV9F6y80 z5Ud{}-$%WMLqyt`y}GA1Zy*$li&ziRF1;COpm*v&b&!@&y#dyIyf^Muk$G?Vru{;b zO}yFlgSwqoi?BVPcO5nPa+fanDi?${jj3O?=NM*0k(x;XSvO%DsXy@}ipEt_t8zhL;h=Txc^wlqYs#d}6O408w=7v59~Vi&H}6?h_ye9*JQZw8}E|w$H}72WYpn!*A4XdzovjsI!C`j z!V$SS$c9_LYx(DppclA_a)$wpv(p7==R?0Eu}2Nve_T}vR)@#n6ky>E;5E?Hcasmc zLo92TUhpP1Q2dil8Kkr+;jVbt{KIazxra`-A#=E1UEm<8^Y%Pk$W)5xi>Re&jdE?V zTxj9eMeUpCKR)akr!d~*gM0G7Yqbq>;mvVxY{}mKBJ*zZl(u_}^+Vi_!nMZG(EG=w z9$~xC#7R1lDNJje#Pf}$I2VRaWXpV<;c&+Ms3~}*sBkkFV5WxunU<% zs~-&5%Ds)`KPGV*vX9oMMF_npxKh?_nU(cc?`h;$lZ2w37f&RH&-B4tv^mcn$m6*M zUY}KpABUUP$v>f4ypn5gOq&{Ge}7+_za=e9{9ptFYGjZnplUv9%sr; zehSuez!#vr|A4uNrhO_zSE4-Myi&xFuzZtZyF|e0(xoX2atd zvgTrFcrR7xLhOsn!`4kAv? zFTvTb`rTgT+~XwPPoY1wD~>!6C0kiq#QVoV&qGD?w*qt$1D&CpI;VH!5WUtoTLJXF z)<~zWuPoESNTX3?c+x@CDfg9xS?iO(HNC!)a*by#?uPIl2j>!1g(S@?Y`&axH5{2Y zhF(ef`$5zY0LX`fan09BapDJ2kI^c=o3|yl1DFqAb$NXPory7mrP`WW8&C&ut@lI_ z4meRHyL74|Gb~fC2%fx{PZCz3;BuQ#3#+x0o8F@9;>baw0`ke`YkJX&3U=FxiL47x z2G&Q^Nx}0OiR(+6x+1o_>ZI}rqqzZxPN_>0k2?nGsX87=jE=mxt zxOHy}X>BEZmv$0ETQNxgl6Zeuw+Hk!c#hm~P3&aXrgtaaI((ULlG%7dbYb7_qlR6S1Tb5wc z16&ffuhE}j{0dL@iqMbD&4go=zv@(WMmNjeLU8lHnBth?BlWIDqCLZ@^C92MaE676Wz?5s=MAvLAj-U zqRmUzSXI#BIwgVMsGz9)S#VY($giAt=+;4`kx?L5lMO+C>@gQu%v{Lr)!9=E)U+ji zgDc_}}uD=yKmfzX&g8I{#F6o)AgMgSVCcShVcWE72CjYg5M1&l?=-qf6Ify~h(y$e*zH{k$uIgW%OQwE z37$jvnz&eFZ{wzUCva+oYVd{E`zNau{Zj&zmjZjQsN3^xq-9k+FA)xL&A!NdW^S-D z@#Xo7C$aN-jE(g?4GsHc9jYdgVR)TdTWQZ$A9kvo_Y)Dl*|LPcYU@#u2lpf*$7((4 zjjEbJ@Fn$Kp19_-HI($QW=`V#)BEhMZ*5{@SNwz0wBM}G*4)gyS?U=E?rvDec0N?z z<7(G=*ri$8;?m;$^!0wN%v4H4;Yo-0-Uft%dxZl1Z(n++)wC?D$C6IR)h4Vl zuW$`>2ydiN*4Zalqjc7jC`DRjNWl}klv}e>_%L1)m(2u-0elvJU@HY;LDLT5>Gq)U zKOt!yn{h95kVW=6*^7oZhA{2caQ5dtBZ~ow=gOAV1vzZSPQC7?<9Nv=pVIMwT17_0 z)2Ut5>a@vuD6VI{SpoW75G@_V`fVJ7yZrNvZcJ@g3#8jNx$6e2wmsLi2Izn0v*+vzv=+x-m-|i=J9x zt1pX(1ZSKw2PJOCC>P2*da-m_a&Rk(K9;|G&ZJJU?-cAuWKG|vW!Kud)nMu;4Z#L z_XK4Y_)tUdTFoeujgL7It)>&P)I_h9VR0)4=R;;*!(4Jd#IhZIWo>xNhQvZ}sVq*2 zq*Hl2b@mFa&~l$dY4ZX}#uSaHF)9z5IKs^=C&U`%lRB2;NTpNP-fq6V`LtlL# zGnY`rDciOo*@!N-Qmtg?!9hb&Uiupt)oI<})!Kv-E+=8_uS`s-uSvoxpqNZGpmt)qD!0Iul;Y1 z>Tk}Rj@J6@ecpvXr8$Q*p`w`q2lV4!F{&4fbSC%`BvMe{Fub_Xcq^b#Z ztCx2CMAs}CedpUc5iqa9jj&p(OA^;lVq5%euu<{&E8^k|7cchQnc{Cv=UBd(&X4DM z%u345Boolub#_QX>)ZMx1L^x;7(Tc9>vvh5`)W!%<3B@AioAkBcp*-n{14;{5c2wb z-EZDk?*PTHqum6rZ*j%3knhSry|m7kQ}b;{1={;Lvyv7X*@{duqdbp-?sj?}89866 zEHkz0QN8&H79g=YMjEp@r9#9KJ9LSwrN>(eQL@JaAS>g*o-^BN#dSR)3D^+a!XU+D zz_y<^iZ8=TPUTYwgtBlZLkhkaWACT?2jT{Xf=+j1lUI9n$V^1{xq)5}r*0t@07 zlO7Xu1K%TnmI>^cMPjOf$c96PR`r!Bo2eBKUZUYYW-X59Qra*_MJJc+3=AXw{Z~p7 zY>y>>&;A~0|Kx$?zSPp}ekAMPj_PGZW}dXeWq=w7_hL#)8jnBJCw9K8h}NAUo%Gag z^?x^)P0Dj(&auKE+(0u_;F6-DqlzFeZ-$k}C;!R)Pb{wg5%aGM|K4;3b5!`R{~INH+HCS7$V-X60|U%LKFD4wDnmKmnib_MzRZLg2kMRykUj1P@6qmX zaTzw!L)O3ZS8u(y))CQA7i*jSXFCbwq{EKP7oNWO;A;B(A!1oz zw1p77IgFb+{bb5|V>_D?cI@!r$)ss6ss3e^+i$ixzc%~bxXPbp>SFH<$5uEf)3~VJ zqR(Ps%o9!0T~7r~6g&i*PydX{s+qYUX+5t(=&f0%)3ZdyDZTzyi3FN6`cP9mBi%{h zUeRM`E4pY^ccXH+JPpi ziKRH^x7uasB)0vcV|I&q-41)5k<@iT^bce(hugN8J>lm4J0G(5v7eSCZZAY=M@>x7 zrdwZB`6zN!Kd!i02=CNy*?GSY%g<$H1t=Q5*{6f7`ykOb;~#Y!uA~r(Ay-OJ`k43E zsFQmw+Duw@a$0tnsi_f%{Sc9T-8R^W`hhwdSA~uLfGf2f#1`NwkbEfnTeG|^J4`iP zm1Y!iWTw~Pv7m2{bLta6#Vx7EEef2XMjiHFK(u5hA}UfgPx>;$n7oIy66=I$4w&2{ zcH_x<&B%gmp8orRbf}#|R}t_u|6ZJY8*cwsFtB0#8aAWb@>c>XjLBVOv0+1}1SPy) zK#KB66~!;b19#w8*&JQaEjxKKeOeCC>A{&~D{K{ioSa+_uf(ELBH&7eiF8a#0f2weoNrl>=OX0tK_z%{ zApz)&3J3*W7aY_Wr$z%;;szZ;AOTT#rDUUY;7wHSeoPebs!KK7G4)9gbcf;wKYSM! z;z0A@=9Esp4h>eMG(;0N%71#!=%Q(^Jd=b1L0zSoQ?smR7o~eJiJQ{B1n{ZXdR7() zMKKh2(l^9w#&ai^a?CS}iZUZRR~*+ehEALUPvYNa78nEMqhv_jyg?x@sBrDh?%qX0 zhd|`FT+FGe;lTX3gCQwv0mV|&cAnEQLIbH7OW4&O@6Xcfg?CnsGIa(8Q}1ozxu%oG z#{&HO5u@x8q~lg?TlI&`E7y{)V+|SDFVk^1&JYJ8SfM_$zdwm0#cI>P7Ic$``w_%d zHAH18o>ZrLFc@st3GH2l7L^Aa=^c@Sb4Uw_iZv7wq*|nNv7+j!d-V5*tGzht5B5=A z2`hURTjPs);FgY?uPmHu03fnc^T>cmHmOv=iYg5oUkZ9>zR9k5BjbYuv|IB=ncxp6 zANT0>A6KLDsS5CtT?m0Nznx;4yVrWHUI-DYl5Pd|E)Vn7LdM{JobNO8J(wr5#n!J6 zk8;X$pdo^xeZ0J!pX56`Z>8Uv%$#C&gh?%Q-`C_r{ro(6-1uN)D+7#n!KOff(zC zHwyeZ%A|{DEZ8gi4@9Ueh+(Vb!>tjia!zWBh8aDefxWTxr}<%RUo@WMD6t|q-N6(n zed6mWcRmVvLILQJiDEM&pa;!>D26~>{Z>F90eYd0b0Kh?8ble!zt9^U5XG^Yfie+U z<)cs`Rsvni+L0w!Ft#qpQ$TmJVQMkC3b#_y@zEs}ch)q7+{h&^N1J~j)5-+Qjt6Qow z97TKuTDWW-cU1UqV_d!PA7GDX9ljt>tQ2(vgZJP4IsjQz^oC5T-`8E?83Q{!^twPb zp*w4ubnXZriQ@y*dJY5ru;za?vmC^)LM#?V9gDspA0zg4EE0~u1%0R&|8?^l-XtXL zG4dK9`>ZUEwkM|*Vo~1anOm*(-!b-F(?DLcKqB^J;QFaO?{+i}xD8}mB9b(6Zr`|Z zis9~gz4(BO(|oHhaGbzax$NC=y7J&v|AYkWX3_gcLH1UFfX8+a%8Ux@1^FdqaI%Yu z{AI44duVN*VsoBSag~z~9>4D>_xs$;C;19*$D#yYaY_|h!{$K=$=CY9ckrUm2&y0k z51Mtv(z{dA9?FtS6X@^JZu@;Qlu#}^%2F|FbU%G~2n4?HK@z&hG$oZ+r8TYuk)%h8 zz23_O?q)j+g4Pzx@feH+hvvm~La2an=(OGJ%>@m6=7;)H-cUZOg#ELcxz!9fPCFc@ zy<8xw@ZT4`ML5=&+?xg4>G>my)g{k)=AeD$Ynqq$7{>5_Ai)+SepkRs)QtK&*2szo z*Doww$Au7LK{f+`BZBFo{uY@D;8chJq4l>Jj6MCdCm$4TFR~^-nYja|vA?ghigFg(ou);PJTDJ+cvTRCUYw3^7`vx%B-)|qN0XVq z5nZ{UzZm2i?3kcu9cmtA5p#$+PvSeI2BQ`2HW=+TTFhDN^`Y|z)GM27+dG>HGPp2Q zolns+haE?-yF$^45bKF&QcKEmiPjnY5JtQSEwPx&Ljk&*Magws02)WD5@H6}zWp~? z+HkkM$N#<$vomfu6OF*}0E1wE!YZ)GlVOpa9p8HlG9I!PB)%`Fp1KW&NXqUOeBHr~ zr<~YdSSL_vhc>oj~UO|A>Ptk%J6v{ zbu>xbQ*XVDt=?l+)P>F0Ax*v!@_BM~`Xdf+Ie)82tvlKLe;*iGKL%_2a3u{bGZ1iJ z?w%Q}S|-3?KL3RB0^|!@Pi63NcQb7?k_zu+Djw)q@zb~+0>+B{v&x{B^)Gb=X94RA zZJ64fv|ur2KvIzbSSmnSEJTBoIL|*UgJOTuSG_Upoe%!%-+d~?wI6~~gGf5d=z%i) zZLqBmnTw^2YvR+7YvKlFz48!!1^onhebB;PdTr{En^{d2#QygKk7+WCjbfQU>0;_G zBVymTfja)mT+R4R(fk24_mpl}r~(ZosEr4O_#Zk?bFYx>g}pP2h3F^J=OKV{paK%A zjZlLiK#4dP;7riTKk1nYLQWi_u@2&IfNsMX9Q;Qs%0I#4g{8cK$_(YR*2r9We2v-r z-qebCi%RZljuP9GxDd*kPVcU6