From 610efccf1b3bcb75ac6d2957d570378f2fd32d4e Mon Sep 17 00:00:00 2001 From: Ethan Matzdorf Date: Tue, 23 Aug 2022 15:29:25 -0400 Subject: [PATCH] pass through preserveDrawingBuffer prop to WebGLRenderer --- dist/mindar-face-three.prod.js | 2 +- dist/mindar-face.prod.js | 2 +- dist/mindar-image-three.prod.js | 2 +- dist/mindar-image.prod.js | 2 +- src/face-target/three.js | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/mindar-face-three.prod.js b/dist/mindar-face-three.prod.js index aa8f6974..f9f24121 100644 --- a/dist/mindar-face-three.prod.js +++ b/dist/mindar-face-three.prod.js @@ -1,2 +1,2 @@ /*! For license information please see mindar-face-three.prod.js.LICENSE.txt */ -(()=>{var A={8818:function(A,I,g){(function(){"use strict";var A;function I(A){var I=0;return function(){return I>>0)+"_",B=0;return function A(C){if(this instanceof A)throw new TypeError("Symbol is not a constructor");return new I(g+(C||"")+"_"+B++,C)}})),Q("Symbol.iterator",(function(A){if(A)return A;A=Symbol("Symbol.iterator");for(var g="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),Q=0;Q(I=I||0)&&(I=Math.max(I+C,0));IQ)C[g++]=Q;else{if(2048>Q)C[g++]=Q>>6|192;else{if(55296<=Q&&57343>=Q){if(56319>=Q&&B=E){Q=1024*(Q-55296)+E-56320+65536,C[g++]=Q>>18|240,C[g++]=Q>>12&63|128,C[g++]=Q>>6&63|128,C[g++]=63&Q|128;continue}B--}if(I)throw Error("Found an unpaired surrogate");Q=65533}C[g++]=Q>>12|224,C[g++]=Q>>6&63|128}C[g++]=63&Q|128}}A=C.subarray(0,g)}return A}var u={},L=null;function p(A,I){void 0===I&&(I=0),f(),I=u[I];for(var g=Array(Math.floor(A.length/3)),C=I[64]||"",B=0,Q=0;B>2];E=I[(3&E)<<4|i>>4],i=I[(15&i)<<2|o>>6],o=I[63&o],g[Q++]=t+E+i+o}switch(t=0,o=C,A.length-B){case 2:o=I[(15&(t=A[B+1]))<<2]||C;case 1:A=A[B],g[Q]=I[A>>2]+I[(3&A)<<4|t>>4]+o+C}return g.join("")}function f(){if(!L){L={};for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),I=["+/=","+/","-_=","-_.","-_"],g=0;5>g;g++){var C=A.concat(I[g].split(""));u[g]=C;for(var B=0;B>4),64!=E&&(I(Q<<4&240|E>>2),64!=i&&I(E<<6&192|i))}}(A,(function(A){C[B++]=A})),C.subarray(0,B)}(I):I instanceof Uint8Array?new Uint8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(0),A.h=I,A.l=0,A.j=A.h.length,A.g=A.l}function V(A){for(var I=128,g=0,C=0,B=0;4>B&&128<=I;B++)g|=(127&(I=A.h[A.g++]))<<7*B;if(128<=I&&(g|=(127&(I=A.h[A.g++]))<<28,C|=(127&I)>>4),128<=I)for(B=0;5>B&&128<=I;B++)C|=(127&(I=A.h[A.g++]))<<7*B+3;if(128>I)return A=g>>>0,(C=2147483648&(I=C>>>0))&&(I=~I>>>0,0==(A=1+~A>>>0)&&(I=I+1>>>0)),A=4294967296*I+(A>>>0),C?-A:A;A.m=!0}b.prototype.reset=function(){this.g=this.l},b.prototype.i=function(){var A=this.h,I=A[this.g],g=127&I;return 128>I?(this.g+=1,g):(g|=(127&(I=A[this.g+1]))<<7,128>I?(this.g+=2,g):(g|=(127&(I=A[this.g+2]))<<14,128>I?(this.g+=3,g):(g|=(127&(I=A[this.g+3]))<<21,128>I?(this.g+=4,g):(g|=(15&(I=A[this.g+4]))<<28,128>I?(this.g+=5,g>>>0):(this.g+=5,128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&this.g++,g)))))},b.prototype.o=function(){var A=this.h[this.g],I=this.h[this.g+1],g=this.h[this.g+2],C=this.h[this.g+3];return this.g+=4,A=2*((g=(A<<0|I<<8|g<<16|C<<24)>>>0)>>31)+1,I=g>>>23&255,g&=8388607,255==I?g?NaN:1/0*A:0==I?A*Math.pow(2,-149)*g:A*Math.pow(2,I-150)*(g+Math.pow(2,23))};var W=[];function v(){this.g=new Uint8Array(64),this.h=0}function Z(A,I){for(;127>>=7;A.push(I)}function O(A){var I={},g=void 0!==I.N&&I.N;this.o={v:void 0!==I.v&&I.v},this.N=g,I=this.o,W.length?(g=W.pop(),I&&(g.v=I.v),A&&T(g,A),A=g):A=new b(A,I),this.g=A,this.m=this.g.g,this.h=this.i=this.l=-1,this.j=!1}function X(A){var I=A.g;if((I=I.g==I.j)||(I=A.j)||(I=(I=A.g).m||0>I.g||I.g>I.j),I)return!1;A.m=A.g.g;var g=7&(I=A.g.i());return 0!=g&&5!=g&&1!=g&&2!=g&&3!=g&&4!=g?(A.j=!0,!1):(A.i=I,A.l=I>>>3,A.h=g,!0)}function P(A){switch(A.h){case 0:if(0!=A.h)P(A);else{for(A=A.g;128&A.h[A.g];)A.g++;A.g++}break;case 1:1!=A.h?P(A):(A=A.g).g+=8;break;case 2:if(2!=A.h)P(A);else{var I=A.g.i();(A=A.g).g+=I}break;case 5:5!=A.h?P(A):(A=A.g).g+=4;break;case 3:for(I=A.l;;){if(!X(A)){A.j=!0;break}if(4==A.h){A.l!=I&&(A.j=!0);break}P(A)}break;default:A.j=!0}}function j(A,I,g){var C=A.g.j,B=A.g.i(),Q=A.g.g+B;if(A.g.j=Q,g(I,A),0!=(g=Q-A.g.g))throw Error("Message parsing ended unexpectedly. Expected to read "+B+" bytes, instead read "+(B-g)+" bytes, either the data ended unexpectedly or the message misreported its own length");return A.g.g=Q,A.g.j=C,I}function z(A){return A.g.o()}function _(A){var I,g=A.g.i(),C=(A=A.g).g;if(A.g+=g,A=A.h,k)(I=d)||(I=d=new TextDecoder("utf-8",{fatal:!1})),I=I.decode(A.subarray(C,C+g));else{g=C+g;for(var B,Q,E,i=[],o=null;C(B=A[C++])?i.push(B):224>B?C>=g?i.push(65533):(Q=A[C++],194>B||128!=(192&Q)?(C--,i.push(65533)):i.push((31&B)<<6|63&Q)):240>B?C>=g-1?i.push(65533):128!=(192&(Q=A[C++]))||224===B&&160>Q||237===B&&160<=Q||128!=(192&(I=A[C++]))?(C--,i.push(65533)):i.push((15&B)<<12|(63&Q)<<6|63&I):244>=B?C>=g-2?i.push(65533):128!=(192&(Q=A[C++]))||0!=Q-144+(B<<28)>>30||128!=(192&(I=A[C++]))||128!=(192&(E=A[C++]))?(C--,i.push(65533)):(B=(7&B)<<18|(63&Q)<<12|(63&I)<<6|63&E,B-=65536,i.push(55296+(B>>10&1023),56320+(1023&B))):i.push(65533),8192<=i.length&&(o=U(o,i),i.length=0);I=U(o,i)}return I}function $(A,I,g){var C=A.g.i();for(C=A.g.g+C;A.g.gC?1:0)?-C:C)?x=0<1/C?0:2147483648:isNaN(C)?x=2147483647:34028234663852886e22>>0:11754943508222875e-54>C?(C=Math.round(C/Math.pow(2,-149)),x=(g<<31|C)>>>0):(I=Math.floor(Math.log(C)/Math.LN2),C*=Math.pow(2,-I),16777216<=(C=Math.round(8388608*C))&&++I,x=(g<<31|I+127<<23|8388607&C)>>>0),g=x,A.push(g>>>0&255),A.push(g>>>8&255),A.push(g>>>16&255),A.push(g>>>24&255)}}v.prototype.push=function(A){if(!(this.h+1=A.l?A.i?A.i[I]:void 0:A.h[I+A.j]}function hA(A,I){var g=void 0!==g&&g,C=rA(A,I,g);return null==C&&(C=DA),C===DA&&yA(A,I,C=sA([]),g),C}function wA(A){var I=hA(A,3);if(A.m||(A.m={}),!A.m[3]){for(var g=0;g=A.l?(nA(A),A.i[I]=g):A.h[I+A.j]=g}function FA(A,I,g){if(-1===g)return null;if(A.g||(A.g={}),!A.g[g]){var C=rA(A,g,!1);C&&(A.g[g]=new I(C))}return A.g[g]}function RA(A,I){A.g||(A.g={});var g=A.g[1];if(!g){var C=hA(A,1);g=[];for(var B=0;BU;var d=(U=Math.abs(U))>>>0;for(U=Math.floor((U-d)/4294967296),U>>>=0,M&&(U=~U>>>0,4294967295<(d=1+(~d>>>0))&&(d=0,4294967295<++U&&(U=0))),M=x=d,d=U;0>>7|d<<25)>>>0,d>>>=7;S.push(M)}if(SA(N,l),R=CA(R),y.call(G,F,R),w.O)for(G=0;GU;U++)M.push(127&d|128),d>>=7;M.push(1)}BA(S,2,rA(l,2)),null!=(M=rA(l,3))&&(M=Y(M),Z(S.g,26),Z(S.g,M.length),gA(S,S.g.end()),gA(S,M)),null!=(M=rA(l,4))&&(M=Y(M),Z(S.g,34),Z(S.g,M.length),gA(S,S.g.end()),gA(S,M)),SA(l,S),N=CA(N),F.call(y,R,N)}}n=n.data;break A;default:n={}}}switch(e=n,s=t.stream,t.type){case"video":B.pushTexture2d(Object.assign(Object.assign({},e),{stream:s,timestamp:C}));break;case"detections":(a=e).stream=s,a.timestamp=C,B.pushDetectionList(a);break;default:throw Error("Unknown input config type: '"+t.type+"'")}}return D.i.send(B),c(g,D.C,4);case 4:B.delete(),g.g=0}}))}))},A.onResults=function(A,I){this.listeners[I||"$"]=A},S("Solution",II),S("OptionType",{BOOL:0,NUMBER:1,aa:2,0:"BOOL",1:"NUMBER",2:"STRING"});var QI={files:[{url:"face_mesh_solution_packed_assets_loader.js"},{simd:!0,url:"face_mesh_solution_simd_wasm_bin.js"},{simd:!1,url:"face_mesh_solution_wasm_bin.js"}],graph:{url:"face_mesh.binarypb"},listeners:[{wants:["multi_face_geometry","image_transformed","multi_face_landmarks"],outs:{image:"image_transformed",multiFaceGeometry:{type:"proto_list",stream:"multi_face_geometry",transform:function(A){return A.map(BI)}},multiFaceLandmarks:{type:"proto_list",stream:"multi_face_landmarks",transform:function(A){return A.map((function(A){return RA(qA(A),fA).map(XA)}))}}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},enableFaceGeometry:{type:0,graphOptionXref:{calculatorName:"EnableFaceGeometryConstant",calculatorType:"ConstantSidePacketCalculator",fieldName:"bool_value"}},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},maxNumFaces:{type:1,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorNumFaces",fieldName:"int_value"}},refineLandmarks:{type:0,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorRefineLandmarks",fieldName:"bool_value"}},minDetectionConfidence:{type:1,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facelandmarkfrontgpu__facedetectionshortrangegpu__facedetectionshortrangecommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}},minTrackingConfidence:{type:1,graphOptionXref:{calculatorType:"ThresholdingCalculator",calculatorName:"facelandmarkfrontgpu__facelandmarkgpu__ThresholdingCalculator",fieldName:"threshold"}},cameraNear:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"near"}},cameraFar:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"far"}},cameraVerticalFovDegrees:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"vertical_fov_degrees"}}}},EI=[[61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]],iI=[[263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]],oI=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],tI=[[33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]],eI=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],sI=[[10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]],aI=[].concat(o(EI),o(iI),o(oI),o(tI),o(eI),o(sI));function DI(A){A=A||{},A=Object.assign(Object.assign({},QI),A),this.g=new II(A)}(A=DI.prototype).close=function(){return this.g.close(),Promise.resolve()},A.onResults=function(A){this.g.onResults(A)},A.initialize=function(){return JA(this,(function A(){var I=this;return N(A,(function(A){return c(A,I.g.initialize(),0)}))}))},A.reset=function(){this.g.reset()},A.send=function(A){return JA(this,(function I(){var g=this;return N(I,(function(I){return c(I,g.g.send(A),0)}))}))},A.setOptions=function(A){this.g.setOptions(A)},S("FACE_GEOMETRY",{Layout:{COLUMN_MAJOR:0,ROW_MAJOR:1,0:"COLUMN_MAJOR",1:"ROW_MAJOR"},PrimitiveType:{TRIANGLE:0,0:"TRIANGLE"},VertexType:{VERTEX_PT:0,0:"VERTEX_PT"},DEFAULT_CAMERA_PARAMS:{verticalFovDegrees:63,near:1,far:1e4}}),S("FaceMesh",DI),S("FACEMESH_LIPS",EI),S("FACEMESH_LEFT_EYE",iI),S("FACEMESH_LEFT_EYEBROW",oI),S("FACEMESH_LEFT_IRIS",[[474,475],[475,476],[476,477],[477,474]]),S("FACEMESH_RIGHT_EYE",tI),S("FACEMESH_RIGHT_EYEBROW",eI),S("FACEMESH_RIGHT_IRIS",[[469,470],[470,471],[471,472],[472,469]]),S("FACEMESH_FACE_OVAL",sI),S("FACEMESH_CONTOURS",aI),S("FACEMESH_TESSELATION",[[127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]]),S("matrixDataToMatrix",(function(A){for(var I=A.getCols(),g=A.getRows(),C=A.getPackedDataList(),B=[],Q=0;Q{"use strict";g.d(I,{Z:()=>Q});var C=g(3645),B=g.n(C)()((function(A){return A[1]}));B.push([A.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const Q=B},3645:A=>{"use strict";A.exports=function(A){var I=[];return I.toString=function(){return this.map((function(I){var g=A(I);return I[2]?"@media ".concat(I[2]," {").concat(g,"}"):g})).join("")},I.i=function(A,g,C){"string"==typeof A&&(A=[[null,A,""]]);var B={};if(C)for(var Q=0;Q{"use strict";g.d(I,{Z:()=>C});const C='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},2810:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},4412:(A,I,g)=>{"use strict";g.r(I),g.d(I,{default:()=>E});var C=g(3379),B=g.n(C),Q=g(8485);B()(Q.Z,{insert:"head",singleton:!1});const E=Q.Z.locals||{}},3379:(A,I,g)=>{"use strict";var C,B=function(){var A={};return function(I){if(void 0===A[I]){var g=document.querySelector(I);if(window.HTMLIFrameElement&&g instanceof window.HTMLIFrameElement)try{g=g.contentDocument.head}catch(A){g=null}A[I]=g}return A[I]}}(),Q=[];function E(A){for(var I=-1,g=0;g{"use strict";g.r(I),g.d(I,{ACESFilmicToneMapping:()=>gA,AddEquation:()=>M,AddOperation:()=>z,AdditiveAnimationBlendMode:()=>vI,AdditiveBlending:()=>F,AlphaFormat:()=>fA,AlwaysDepth:()=>T,AlwaysStencilFunc:()=>hg,AmbientLight:()=>_s,AmbientLightProbe:()=>ra,AnimationClip:()=>Ns,AnimationLoader:()=>Js,AnimationMixer:()=>Oa,AnimationObjectGroup:()=>va,AnimationUtils:()=>es,ArcCurve:()=>vt,ArrayCamera:()=>Do,ArrowHelper:()=>fD,Audio:()=>Ua,AudioAnalyser:()=>ua,AudioContext:()=>aa,AudioListener:()=>Sa,AudioLoader:()=>Da,AxesHelper:()=>HD,AxisHelper:()=>Dn,BackSide:()=>r,BasicDepthPacking:()=>zI,BasicShadowMap:()=>e,BinaryTextureLoader:()=>cn,Bone:()=>At,BooleanKeyframeTrack:()=>hs,BoundingBoxHelper:()=>nn,Box2:()=>CD,Box3:()=>EC,Box3Helper:()=>JD,BoxBufferGeometry:()=>DQ,BoxGeometry:()=>DQ,BoxHelper:()=>kD,BufferAttribute:()=>KB,BufferGeometry:()=>OB,BufferGeometryLoader:()=>Qa,ByteType:()=>MA,Cache:()=>Ms,Camera:()=>cQ,CameraHelper:()=>UD,CanvasRenderer:()=>yn,CanvasTexture:()=>Yt,CatmullRomCurve3:()=>zt,CineonToneMapping:()=>IA,CircleBufferGeometry:()=>ut,CircleGeometry:()=>ut,ClampToEdgeWrapping:()=>aA,Clock:()=>ya,Color:()=>MB,ColorKeyframeTrack:()=>ws,CompressedTexture:()=>Jt,CompressedTextureLoader:()=>Ys,ConeBufferGeometry:()=>pt,ConeGeometry:()=>pt,CubeCamera:()=>FQ,CubeReflectionMapping:()=>QA,CubeRefractionMapping:()=>EA,CubeTexture:()=>RQ,CubeTextureLoader:()=>Ls,CubeUVReflectionMapping:()=>tA,CubeUVRefractionMapping:()=>eA,CubicBezierCurve:()=>Ie,CubicBezierCurve3:()=>ge,CubicInterpolant:()=>as,CullFaceBack:()=>i,CullFaceFront:()=>o,CullFaceFrontBack:()=>t,CullFaceNone:()=>E,Curve:()=>Vt,CurvePath:()=>te,CustomBlending:()=>l,CustomToneMapping:()=>CA,CylinderBufferGeometry:()=>Lt,CylinderGeometry:()=>Lt,Cylindrical:()=>ID,DataTexture:()=>It,DataTexture2DArray:()=>rE,DataTexture3D:()=>FE,DataTextureLoader:()=>ps,DataUtils:()=>bD,DecrementStencilOp:()=>Qg,DecrementWrapStencilOp:()=>ig,DefaultLoadingManager:()=>Us,DepthFormat:()=>bA,DepthStencilFormat:()=>TA,DepthTexture:()=>wo,DirectionalLight:()=>zs,DirectionalLightHelper:()=>lD,DiscreteInterpolant:()=>ns,DodecahedronBufferGeometry:()=>Ht,DodecahedronGeometry:()=>Ht,DoubleSide:()=>h,DstAlphaFactor:()=>f,DstColorFactor:()=>m,DynamicBufferAttribute:()=>gn,DynamicCopyUsage:()=>lg,DynamicDrawUsage:()=>cg,DynamicReadUsage:()=>Fg,EdgesGeometry:()=>Tt,EdgesHelper:()=>rn,EllipseCurve:()=>Wt,EqualDepth:()=>v,EqualStencilFunc:()=>sg,EquirectangularReflectionMapping:()=>iA,EquirectangularRefractionMapping:()=>oA,Euler:()=>WC,EventDispatcher:()=>dg,ExtrudeBufferGeometry:()=>qe,ExtrudeGeometry:()=>qe,FaceColors:()=>vD,FileLoader:()=>ks,FlatShading:()=>w,Float16BufferAttribute:()=>HB,Float32Attribute:()=>sn,Float32BufferAttribute:()=>mB,Float64Attribute:()=>an,Float64BufferAttribute:()=>qB,FloatType:()=>kA,Fog:()=>No,FogExp2:()=>Ro,Font:()=>Un,FontLoader:()=>Sn,FramebufferTexture:()=>kt,FrontSide:()=>n,Frustum:()=>kQ,GLBufferAttribute:()=>ja,GLSL1:()=>Sg,GLSL3:()=>Ug,GreaterDepth:()=>O,GreaterEqualDepth:()=>Z,GreaterEqualStencilFunc:()=>rg,GreaterStencilFunc:()=>Dg,GridHelper:()=>GD,Group:()=>no,HalfFloatType:()=>JA,HemisphereLight:()=>ms,HemisphereLightHelper:()=>cD,HemisphereLightProbe:()=>na,IcosahedronBufferGeometry:()=>be,IcosahedronGeometry:()=>be,ImageBitmapLoader:()=>ea,ImageLoader:()=>us,ImageUtils:()=>Xg,ImmediateRenderObject:()=>dn,IncrementStencilOp:()=>Bg,IncrementWrapStencilOp:()=>Eg,InstancedBufferAttribute:()=>Qt,InstancedBufferGeometry:()=>Ba,InstancedInterleavedBuffer:()=>Pa,InstancedMesh:()=>et,Int16Attribute:()=>En,Int16BufferAttribute:()=>uB,Int32Attribute:()=>tn,Int32BufferAttribute:()=>pB,Int8Attribute:()=>Cn,Int8BufferAttribute:()=>kB,IntType:()=>dA,InterleavedBuffer:()=>Mo,InterleavedBufferAttribute:()=>Uo,Interpolant:()=>ss,InterpolateDiscrete:()=>mI,InterpolateLinear:()=>qI,InterpolateSmooth:()=>xI,InvertStencilOp:()=>og,JSONLoader:()=>Fn,KeepStencilOp:()=>gg,KeyframeTrack:()=>rs,LOD:()=>Oo,LatheBufferGeometry:()=>Te,LatheGeometry:()=>Te,Layers:()=>vC,LensFlare:()=>Nn,LessDepth:()=>V,LessEqualDepth:()=>W,LessEqualStencilFunc:()=>ag,LessStencilFunc:()=>eg,Light:()=>Hs,LightProbe:()=>Ia,Line:()=>wt,Line3:()=>ED,LineBasicMaterial:()=>st,LineCurve:()=>Ce,LineCurve3:()=>Be,LineDashedMaterial:()=>os,LineLoop:()=>Ft,LinePieces:()=>VD,LineSegments:()=>yt,LineStrip:()=>TD,LinearEncoding:()=>PI,LinearFilter:()=>GA,LinearInterpolant:()=>Ds,LinearMipMapLinearFilter:()=>NA,LinearMipMapNearestFilter:()=>FA,LinearMipmapLinearFilter:()=>RA,LinearMipmapNearestFilter:()=>yA,LinearToneMapping:()=>$,Loader:()=>ds,LoaderUtils:()=>Ca,LoadingManager:()=>Ss,LoopOnce:()=>pI,LoopPingPong:()=>HI,LoopRepeat:()=>fI,LuminanceAlphaFormat:()=>xA,LuminanceFormat:()=>qA,MOUSE:()=>B,Material:()=>cB,MaterialLoader:()=>ga,Math:()=>xg,MathUtils:()=>xg,Matrix3:()=>Tg,Matrix4:()=>LC,MaxEquation:()=>K,Mesh:()=>sQ,MeshBasicMaterial:()=>SB,MeshDepthMaterial:()=>io,MeshDistanceMaterial:()=>oo,MeshFaceMaterial:()=>OD,MeshLambertMaterial:()=>Es,MeshMatcapMaterial:()=>is,MeshNormalMaterial:()=>Qs,MeshPhongMaterial:()=>Cs,MeshPhysicalMaterial:()=>gs,MeshStandardMaterial:()=>Is,MeshToonMaterial:()=>Bs,MinEquation:()=>d,MirroredRepeatWrapping:()=>DA,MixOperation:()=>j,MultiMaterial:()=>XD,MultiplyBlending:()=>N,MultiplyOperation:()=>P,NearestFilter:()=>nA,NearestMipMapLinearFilter:()=>cA,NearestMipMapNearestFilter:()=>hA,NearestMipmapLinearFilter:()=>wA,NearestMipmapNearestFilter:()=>rA,NeverDepth:()=>b,NeverStencilFunc:()=>tg,NoBlending:()=>G,NoColors:()=>WD,NoToneMapping:()=>_,NormalAnimationBlendMode:()=>WI,NormalBlending:()=>y,NotEqualDepth:()=>X,NotEqualStencilFunc:()=>ng,NumberKeyframeTrack:()=>cs,Object3D:()=>QB,ObjectLoader:()=>Ea,ObjectSpaceNormalMap:()=>Ag,OctahedronBufferGeometry:()=>Ve,OctahedronGeometry:()=>Ve,OneFactor:()=>J,OneMinusDstAlphaFactor:()=>H,OneMinusDstColorFactor:()=>q,OneMinusSrcAlphaFactor:()=>p,OneMinusSrcColorFactor:()=>u,OrthographicCamera:()=>VQ,PCFShadowMap:()=>s,PCFSoftShadowMap:()=>a,PMREMGenerator:()=>BE,ParametricGeometry:()=>ln,Particle:()=>jD,ParticleBasicMaterial:()=>$D,ParticleSystem:()=>zD,ParticleSystemMaterial:()=>An,Path:()=>ee,PerspectiveCamera:()=>GQ,Plane:()=>UQ,PlaneBufferGeometry:()=>uQ,PlaneGeometry:()=>uQ,PlaneHelper:()=>YD,PointCloud:()=>PD,PointCloudMaterial:()=>_D,PointLight:()=>Ps,PointLightHelper:()=>nD,Points:()=>Ut,PointsMaterial:()=>Rt,PolarGridHelper:()=>yD,PolyhedronBufferGeometry:()=>ft,PolyhedronGeometry:()=>ft,PositionalAudio:()=>Ya,PropertyBinding:()=>Wa,PropertyMixer:()=>La,QuadraticBezierCurve:()=>Qe,QuadraticBezierCurve3:()=>Ee,Quaternion:()=>gC,QuaternionKeyframeTrack:()=>ys,QuaternionLinearInterpolant:()=>Gs,REVISION:()=>C,RGBADepthPacking:()=>_I,RGBAFormat:()=>mA,RGBAIntegerFormat:()=>XA,RGBA_ASTC_10x10_Format:()=>wI,RGBA_ASTC_10x5_Format:()=>nI,RGBA_ASTC_10x6_Format:()=>rI,RGBA_ASTC_10x8_Format:()=>hI,RGBA_ASTC_12x10_Format:()=>cI,RGBA_ASTC_12x12_Format:()=>GI,RGBA_ASTC_4x4_Format:()=>EI,RGBA_ASTC_5x4_Format:()=>iI,RGBA_ASTC_5x5_Format:()=>oI,RGBA_ASTC_6x5_Format:()=>tI,RGBA_ASTC_6x6_Format:()=>eI,RGBA_ASTC_8x5_Format:()=>sI,RGBA_ASTC_8x6_Format:()=>aI,RGBA_ASTC_8x8_Format:()=>DI,RGBA_BPTC_Format:()=>yI,RGBA_ETC2_EAC_Format:()=>QI,RGBA_PVRTC_2BPPV1_Format:()=>gI,RGBA_PVRTC_4BPPV1_Format:()=>II,RGBA_S3TC_DXT1_Format:()=>jA,RGBA_S3TC_DXT3_Format:()=>zA,RGBA_S3TC_DXT5_Format:()=>_A,RGBFormat:()=>HA,RGBIntegerFormat:()=>OA,RGB_ETC1_Format:()=>CI,RGB_ETC2_Format:()=>BI,RGB_PVRTC_2BPPV1_Format:()=>AI,RGB_PVRTC_4BPPV1_Format:()=>$A,RGB_S3TC_DXT1_Format:()=>PA,RGFormat:()=>vA,RGIntegerFormat:()=>ZA,RawShaderMaterial:()=>WQ,Ray:()=>uC,Raycaster:()=>za,RectAreaLight:()=>$s,RedFormat:()=>VA,RedIntegerFormat:()=>WA,ReinhardToneMapping:()=>AA,RepeatWrapping:()=>sA,ReplaceStencilOp:()=>Cg,ReverseSubtractEquation:()=>U,RingBufferGeometry:()=>We,RingGeometry:()=>We,SRGB8_ALPHA8_ASTC_10x10_Format:()=>YI,SRGB8_ALPHA8_ASTC_10x5_Format:()=>KI,SRGB8_ALPHA8_ASTC_10x6_Format:()=>kI,SRGB8_ALPHA8_ASTC_10x8_Format:()=>JI,SRGB8_ALPHA8_ASTC_12x10_Format:()=>uI,SRGB8_ALPHA8_ASTC_12x12_Format:()=>LI,SRGB8_ALPHA8_ASTC_4x4_Format:()=>FI,SRGB8_ALPHA8_ASTC_5x4_Format:()=>RI,SRGB8_ALPHA8_ASTC_5x5_Format:()=>NI,SRGB8_ALPHA8_ASTC_6x5_Format:()=>lI,SRGB8_ALPHA8_ASTC_6x6_Format:()=>MI,SRGB8_ALPHA8_ASTC_8x5_Format:()=>SI,SRGB8_ALPHA8_ASTC_8x6_Format:()=>UI,SRGB8_ALPHA8_ASTC_8x8_Format:()=>dI,Scene:()=>lo,SceneUtils:()=>Rn,ShaderChunk:()=>LQ,ShaderLib:()=>fQ,ShaderMaterial:()=>wQ,ShadowMaterial:()=>As,Shape:()=>se,ShapeBufferGeometry:()=>ve,ShapeGeometry:()=>ve,ShapePath:()=>mD,ShapeUtils:()=>fe,ShortType:()=>SA,Skeleton:()=>Bt,SkeletonHelper:()=>aD,SkinnedMesh:()=>$o,SmoothShading:()=>c,Sphere:()=>MC,SphereBufferGeometry:()=>Ze,SphereGeometry:()=>Ze,Spherical:()=>AD,SphericalHarmonics3:()=>Aa,SplineCurve:()=>ie,SpotLight:()=>Ws,SpotLightHelper:()=>oD,Sprite:()=>Vo,SpriteMaterial:()=>Ko,SrcAlphaFactor:()=>L,SrcAlphaSaturateFactor:()=>x,SrcColorFactor:()=>Y,StaticCopyUsage:()=>Ng,StaticDrawUsage:()=>wg,StaticReadUsage:()=>yg,StereoCamera:()=>Ga,StreamCopyUsage:()=>Mg,StreamDrawUsage:()=>Gg,StreamReadUsage:()=>Rg,StringKeyframeTrack:()=>Fs,SubtractEquation:()=>S,SubtractiveBlending:()=>R,TOUCH:()=>Q,TangentSpaceNormalMap:()=>$I,TetrahedronBufferGeometry:()=>Oe,TetrahedronGeometry:()=>Oe,TextGeometry:()=>Mn,Texture:()=>jg,TextureLoader:()=>fs,TorusBufferGeometry:()=>Xe,TorusGeometry:()=>Xe,TorusKnotBufferGeometry:()=>Pe,TorusKnotGeometry:()=>Pe,Triangle:()=>hB,TriangleFanDrawMode:()=>XI,TriangleStripDrawMode:()=>OI,TrianglesDrawMode:()=>ZI,TubeBufferGeometry:()=>je,TubeGeometry:()=>je,UVMapping:()=>BA,Uint16Attribute:()=>on,Uint16BufferAttribute:()=>LB,Uint32Attribute:()=>en,Uint32BufferAttribute:()=>fB,Uint8Attribute:()=>Bn,Uint8BufferAttribute:()=>JB,Uint8ClampedAttribute:()=>Qn,Uint8ClampedBufferAttribute:()=>YB,Uniform:()=>Xa,UniformsLib:()=>pQ,UniformsUtils:()=>hQ,UnsignedByteType:()=>lA,UnsignedInt248Type:()=>pA,UnsignedIntType:()=>KA,UnsignedShort4444Type:()=>YA,UnsignedShort5551Type:()=>uA,UnsignedShort565Type:()=>LA,UnsignedShortType:()=>UA,VSMShadowMap:()=>D,Vector2:()=>bg,Vector3:()=>CC,Vector4:()=>_g,VectorKeyframeTrack:()=>Rs,Vertex:()=>In,VertexColors:()=>ZD,VideoTexture:()=>Kt,WebGL1Renderer:()=>Fo,WebGLCubeRenderTarget:()=>NQ,WebGLMultipleRenderTargets:()=>AC,WebGLMultisampleRenderTarget:()=>IC,WebGLRenderTarget:()=>$g,WebGLRenderTargetCube:()=>Gn,WebGLRenderer:()=>yo,WebGLUtils:()=>ao,WireframeGeometry:()=>ze,WireframeHelper:()=>hn,WrapAroundEnding:()=>VI,XHRLoader:()=>wn,ZeroCurvatureEnding:()=>bI,ZeroFactor:()=>k,ZeroSlopeEnding:()=>TI,ZeroStencilOp:()=>Ig,sRGBEncoding:()=>jI});const C="136",B={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Q={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},E=0,i=1,o=2,t=3,e=0,s=1,a=2,D=3,n=0,r=1,h=2,w=1,c=2,G=0,y=1,F=2,R=3,N=4,l=5,M=100,S=101,U=102,d=103,K=104,k=200,J=201,Y=202,u=203,L=204,p=205,f=206,H=207,m=208,q=209,x=210,b=0,T=1,V=2,W=3,v=4,Z=5,O=6,X=7,P=0,j=1,z=2,_=0,$=1,AA=2,IA=3,gA=4,CA=5,BA=300,QA=301,EA=302,iA=303,oA=304,tA=306,eA=307,sA=1e3,aA=1001,DA=1002,nA=1003,rA=1004,hA=1004,wA=1005,cA=1005,GA=1006,yA=1007,FA=1007,RA=1008,NA=1008,lA=1009,MA=1010,SA=1011,UA=1012,dA=1013,KA=1014,kA=1015,JA=1016,YA=1017,uA=1018,LA=1019,pA=1020,fA=1021,HA=1022,mA=1023,qA=1024,xA=1025,bA=1026,TA=1027,VA=1028,WA=1029,vA=1030,ZA=1031,OA=1032,XA=1033,PA=33776,jA=33777,zA=33778,_A=33779,$A=35840,AI=35841,II=35842,gI=35843,CI=36196,BI=37492,QI=37496,EI=37808,iI=37809,oI=37810,tI=37811,eI=37812,sI=37813,aI=37814,DI=37815,nI=37816,rI=37817,hI=37818,wI=37819,cI=37820,GI=37821,yI=36492,FI=37840,RI=37841,NI=37842,lI=37843,MI=37844,SI=37845,UI=37846,dI=37847,KI=37848,kI=37849,JI=37850,YI=37851,uI=37852,LI=37853,pI=2200,fI=2201,HI=2202,mI=2300,qI=2301,xI=2302,bI=2400,TI=2401,VI=2402,WI=2500,vI=2501,ZI=0,OI=1,XI=2,PI=3e3,jI=3001,zI=3200,_I=3201,$I=0,Ag=1,Ig=0,gg=7680,Cg=7681,Bg=7682,Qg=7683,Eg=34055,ig=34056,og=5386,tg=512,eg=513,sg=514,ag=515,Dg=516,ng=517,rg=518,hg=519,wg=35044,cg=35048,Gg=35040,yg=35045,Fg=35049,Rg=35041,Ng=35046,lg=35050,Mg=35042,Sg="100",Ug="300 es";class dg{addEventListener(A,I){void 0===this._listeners&&(this._listeners={});const g=this._listeners;void 0===g[A]&&(g[A]=[]),-1===g[A].indexOf(I)&&g[A].push(I)}hasEventListener(A,I){if(void 0===this._listeners)return!1;const g=this._listeners;return void 0!==g[A]&&-1!==g[A].indexOf(I)}removeEventListener(A,I){if(void 0===this._listeners)return;const g=this._listeners[A];if(void 0!==g){const A=g.indexOf(I);-1!==A&&g.splice(A,1)}}dispatchEvent(A){if(void 0===this._listeners)return;const I=this._listeners[A.type];if(void 0!==I){A.target=this;const g=I.slice(0);for(let I=0,C=g.length;I>8&255]+Kg[A>>16&255]+Kg[A>>24&255]+"-"+Kg[255&I]+Kg[I>>8&255]+"-"+Kg[I>>16&15|64]+Kg[I>>24&255]+"-"+Kg[63&g|128]+Kg[g>>8&255]+"-"+Kg[g>>16&255]+Kg[g>>24&255]+Kg[255&C]+Kg[C>>8&255]+Kg[C>>16&255]+Kg[C>>24&255]).toUpperCase()}function Lg(A,I,g){return Math.max(I,Math.min(g,A))}function pg(A,I){return(A%I+I)%I}function fg(A,I,g){return(1-g)*A+g*I}function Hg(A){return 0==(A&A-1)&&0!==A}function mg(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))}function qg(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))}var xg=Object.freeze({__proto__:null,DEG2RAD:Jg,RAD2DEG:Yg,generateUUID:ug,clamp:Lg,euclideanModulo:pg,mapLinear:function(A,I,g,C,B){return C+(A-I)*(B-C)/(g-I)},inverseLerp:function(A,I,g){return A!==I?(g-A)/(I-A):0},lerp:fg,damp:function(A,I,g,C){return fg(A,I,1-Math.exp(-g*C))},pingpong:function(A,I=1){return I-Math.abs(pg(A,2*I)-I)},smoothstep:function(A,I,g){return A<=I?0:A>=g?1:(A=(A-I)/(g-I))*A*(3-2*A)},smootherstep:function(A,I,g){return A<=I?0:A>=g?1:(A=(A-I)/(g-I))*A*A*(A*(6*A-15)+10)},randInt:function(A,I){return A+Math.floor(Math.random()*(I-A+1))},randFloat:function(A,I){return A+Math.random()*(I-A)},randFloatSpread:function(A){return A*(.5-Math.random())},seededRandom:function(A){return void 0!==A&&(kg=A%2147483647),kg=16807*kg%2147483647,(kg-1)/2147483646},degToRad:function(A){return A*Jg},radToDeg:function(A){return A*Yg},isPowerOfTwo:Hg,ceilPowerOfTwo:mg,floorPowerOfTwo:qg,setQuaternionFromProperEuler:function(A,I,g,C,B){const Q=Math.cos,E=Math.sin,i=Q(g/2),o=E(g/2),t=Q((I+C)/2),e=E((I+C)/2),s=Q((I-C)/2),a=E((I-C)/2),D=Q((C-I)/2),n=E((C-I)/2);switch(B){case"XYX":A.set(i*e,o*s,o*a,i*t);break;case"YZY":A.set(o*a,i*e,o*s,i*t);break;case"ZXZ":A.set(o*s,o*a,i*e,i*t);break;case"XZX":A.set(i*e,o*n,o*D,i*t);break;case"YXY":A.set(o*D,i*e,o*n,i*t);break;case"ZYZ":A.set(o*n,o*D,i*e,i*t);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+B)}}});class bg{constructor(A=0,I=0){this.x=A,this.y=I}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,I){return this.x=A,this.y=I,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A,I){return void 0!==I?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,I)):(this.x+=A.x,this.y+=A.y,this)}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this}sub(A,I){return void 0!==I?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,I)):(this.x-=A.x,this.y-=A.y,this)}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const I=this.x,g=this.y,C=A.elements;return this.x=C[0]*I+C[3]*g+C[6],this.y=C[1]*I+C[4]*g+C[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this}clampLength(A,I){const g=this.length();return this.divideScalar(g||1).multiplyScalar(Math.max(A,Math.min(I,g)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,g=this.y-A.y;return I*I+g*g}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this}lerpVectors(A,I,g){return this.x=A.x+(I.x-A.x)*g,this.y=A.y+(I.y-A.y)*g,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A}fromBufferAttribute(A,I,g){return void 0!==g&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(I),this.y=A.getY(I),this}rotateAround(A,I){const g=Math.cos(I),C=Math.sin(I),B=this.x-A.x,Q=this.y-A.y;return this.x=B*g-Q*C+A.x,this.y=B*C+Q*g+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}bg.prototype.isVector2=!0;class Tg{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(A,I,g,C,B,Q,E,i,o){const t=this.elements;return t[0]=A,t[1]=C,t[2]=E,t[3]=I,t[4]=B,t[5]=i,t[6]=g,t[7]=Q,t[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const I=this.elements,g=A.elements;return I[0]=g[0],I[1]=g[1],I[2]=g[2],I[3]=g[3],I[4]=g[4],I[5]=g[5],I[6]=g[6],I[7]=g[7],I[8]=g[8],this}extractBasis(A,I,g){return A.setFromMatrix3Column(this,0),I.setFromMatrix3Column(this,1),g.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const I=A.elements;return this.set(I[0],I[4],I[8],I[1],I[5],I[9],I[2],I[6],I[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const g=A.elements,C=I.elements,B=this.elements,Q=g[0],E=g[3],i=g[6],o=g[1],t=g[4],e=g[7],s=g[2],a=g[5],D=g[8],n=C[0],r=C[3],h=C[6],w=C[1],c=C[4],G=C[7],y=C[2],F=C[5],R=C[8];return B[0]=Q*n+E*w+i*y,B[3]=Q*r+E*c+i*F,B[6]=Q*h+E*G+i*R,B[1]=o*n+t*w+e*y,B[4]=o*r+t*c+e*F,B[7]=o*h+t*G+e*R,B[2]=s*n+a*w+D*y,B[5]=s*r+a*c+D*F,B[8]=s*h+a*G+D*R,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[3]*=A,I[6]*=A,I[1]*=A,I[4]*=A,I[7]*=A,I[2]*=A,I[5]*=A,I[8]*=A,this}determinant(){const A=this.elements,I=A[0],g=A[1],C=A[2],B=A[3],Q=A[4],E=A[5],i=A[6],o=A[7],t=A[8];return I*Q*t-I*E*o-g*B*t+g*E*i+C*B*o-C*Q*i}invert(){const A=this.elements,I=A[0],g=A[1],C=A[2],B=A[3],Q=A[4],E=A[5],i=A[6],o=A[7],t=A[8],e=t*Q-E*o,s=E*i-t*B,a=o*B-Q*i,D=I*e+g*s+C*a;if(0===D)return this.set(0,0,0,0,0,0,0,0,0);const n=1/D;return A[0]=e*n,A[1]=(C*o-t*g)*n,A[2]=(E*g-C*Q)*n,A[3]=s*n,A[4]=(t*I-C*i)*n,A[5]=(C*B-E*I)*n,A[6]=a*n,A[7]=(g*i-o*I)*n,A[8]=(Q*I-g*B)*n,this}transpose(){let A;const I=this.elements;return A=I[1],I[1]=I[3],I[3]=A,A=I[2],I[2]=I[6],I[6]=A,A=I[5],I[5]=I[7],I[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const I=this.elements;return A[0]=I[0],A[1]=I[3],A[2]=I[6],A[3]=I[1],A[4]=I[4],A[5]=I[7],A[6]=I[2],A[7]=I[5],A[8]=I[8],this}setUvTransform(A,I,g,C,B,Q,E){const i=Math.cos(B),o=Math.sin(B);return this.set(g*i,g*o,-g*(i*Q+o*E)+Q+A,-C*o,C*i,-C*(-o*Q+i*E)+E+I,0,0,1),this}scale(A,I){const g=this.elements;return g[0]*=A,g[3]*=A,g[6]*=A,g[1]*=I,g[4]*=I,g[7]*=I,this}rotate(A){const I=Math.cos(A),g=Math.sin(A),C=this.elements,B=C[0],Q=C[3],E=C[6],i=C[1],o=C[4],t=C[7];return C[0]=I*B+g*i,C[3]=I*Q+g*o,C[6]=I*E+g*t,C[1]=-g*B+I*i,C[4]=-g*Q+I*o,C[7]=-g*E+I*t,this}translate(A,I){const g=this.elements;return g[0]+=A*g[2],g[3]+=A*g[5],g[6]+=A*g[8],g[1]+=I*g[2],g[4]+=I*g[5],g[7]+=I*g[8],this}equals(A){const I=this.elements,g=A.elements;for(let A=0;A<9;A++)if(I[A]!==g[A])return!1;return!0}fromArray(A,I=0){for(let g=0;g<9;g++)this.elements[g]=A[g+I];return this}toArray(A=[],I=0){const g=this.elements;return A[I]=g[0],A[I+1]=g[1],A[I+2]=g[2],A[I+3]=g[3],A[I+4]=g[4],A[I+5]=g[5],A[I+6]=g[6],A[I+7]=g[7],A[I+8]=g[8],A}clone(){return(new this.constructor).fromArray(this.elements)}}function Vg(A){if(0===A.length)return-1/0;let I=A[0];for(let g=1,C=A.length;gI&&(I=A[g]);return I}Tg.prototype.isMatrix3=!0;const Wg={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function vg(A,I){return new Wg[A](I)}function Zg(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}let Og;class Xg{static getDataURL(A){if(/^data:/i.test(A.src))return A.src;if("undefined"==typeof HTMLCanvasElement)return A.src;let I;if(A instanceof HTMLCanvasElement)I=A;else{void 0===Og&&(Og=Zg("canvas")),Og.width=A.width,Og.height=A.height;const g=Og.getContext("2d");A instanceof ImageData?g.putImageData(A,0,0):g.drawImage(A,0,0,A.width,A.height),I=Og}return I.width>2048||I.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),I.toDataURL("image/jpeg",.6)):I.toDataURL("image/png")}}let Pg=0;class jg extends dg{constructor(A=jg.DEFAULT_IMAGE,I=jg.DEFAULT_MAPPING,g=aA,C=aA,B=GA,Q=RA,E=mA,i=lA,o=1,t=PI){super(),Object.defineProperty(this,"id",{value:Pg++}),this.uuid=ug(),this.name="",this.image=A,this.mipmaps=[],this.mapping=I,this.wrapS=g,this.wrapT=C,this.magFilter=B,this.minFilter=Q,this.anisotropy=o,this.format=E,this.internalFormat=null,this.type=i,this.offset=new bg(0,0),this.repeat=new bg(1,1),this.center=new bg(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Tg,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=t,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(A){return this.name=A.name,this.image=A.image,this.mipmaps=A.mipmaps.slice(0),this.mapping=A.mapping,this.wrapS=A.wrapS,this.wrapT=A.wrapT,this.magFilter=A.magFilter,this.minFilter=A.minFilter,this.anisotropy=A.anisotropy,this.format=A.format,this.internalFormat=A.internalFormat,this.type=A.type,this.offset.copy(A.offset),this.repeat.copy(A.repeat),this.center.copy(A.center),this.rotation=A.rotation,this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrix.copy(A.matrix),this.generateMipmaps=A.generateMipmaps,this.premultiplyAlpha=A.premultiplyAlpha,this.flipY=A.flipY,this.unpackAlignment=A.unpackAlignment,this.encoding=A.encoding,this.userData=JSON.parse(JSON.stringify(A.userData)),this}toJSON(A){const I=void 0===A||"string"==typeof A;if(!I&&void 0!==A.textures[this.uuid])return A.textures[this.uuid];const g={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const C=this.image;if(void 0===C.uuid&&(C.uuid=ug()),!I&&void 0===A.images[C.uuid]){let I;if(Array.isArray(C)){I=[];for(let A=0,g=C.length;A1)switch(this.wrapS){case sA:A.x=A.x-Math.floor(A.x);break;case aA:A.x=A.x<0?0:1;break;case DA:1===Math.abs(Math.floor(A.x)%2)?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x)}if(A.y<0||A.y>1)switch(this.wrapT){case sA:A.y=A.y-Math.floor(A.y);break;case aA:A.y=A.y<0?0:1;break;case DA:1===Math.abs(Math.floor(A.y)%2)?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){!0===A&&this.version++}}function zg(A){return"undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap?Xg.getDataURL(A):A.data?{data:Array.prototype.slice.call(A.data),width:A.width,height:A.height,type:A.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}jg.DEFAULT_IMAGE=void 0,jg.DEFAULT_MAPPING=BA,jg.prototype.isTexture=!0;class _g{constructor(A=0,I=0,g=0,C=1){this.x=A,this.y=I,this.z=g,this.w=C}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,I,g,C){return this.x=A,this.y=I,this.z=g,this.w=C,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;case 3:this.w=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this}add(A,I){return void 0!==I?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,I)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this)}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this.w=A.w+I.w,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this.w+=A.w*I,this}sub(A,I){return void 0!==I?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,I)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this)}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this.w=A.w-I.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const I=this.x,g=this.y,C=this.z,B=this.w,Q=A.elements;return this.x=Q[0]*I+Q[4]*g+Q[8]*C+Q[12]*B,this.y=Q[1]*I+Q[5]*g+Q[9]*C+Q[13]*B,this.z=Q[2]*I+Q[6]*g+Q[10]*C+Q[14]*B,this.w=Q[3]*I+Q[7]*g+Q[11]*C+Q[15]*B,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const I=Math.sqrt(1-A.w*A.w);return I<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/I,this.y=A.y/I,this.z=A.z/I),this}setAxisAngleFromRotationMatrix(A){let I,g,C,B;const Q=.01,E=.1,i=A.elements,o=i[0],t=i[4],e=i[8],s=i[1],a=i[5],D=i[9],n=i[2],r=i[6],h=i[10];if(Math.abs(t-s)i&&A>w?Aw?i=0?1:-1,C=1-I*I;if(C>Number.EPSILON){const B=Math.sqrt(C),Q=Math.atan2(B,I*g);A=Math.sin(A*Q)/B,E=Math.sin(E*Q)/B}const B=E*g;if(i=i*A+s*B,o=o*A+a*B,t=t*A+D*B,e=e*A+n*B,A===1-E){const A=1/Math.sqrt(i*i+o*o+t*t+e*e);i*=A,o*=A,t*=A,e*=A}}A[I]=i,A[I+1]=o,A[I+2]=t,A[I+3]=e}static multiplyQuaternionsFlat(A,I,g,C,B,Q){const E=g[C],i=g[C+1],o=g[C+2],t=g[C+3],e=B[Q],s=B[Q+1],a=B[Q+2],D=B[Q+3];return A[I]=E*D+t*e+i*a-o*s,A[I+1]=i*D+t*s+o*e-E*a,A[I+2]=o*D+t*a+E*s-i*e,A[I+3]=t*D-E*e-i*s-o*a,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,I,g,C){return this._x=A,this._y=I,this._z=g,this._w=C,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,I){if(!A||!A.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const g=A._x,C=A._y,B=A._z,Q=A._order,E=Math.cos,i=Math.sin,o=E(g/2),t=E(C/2),e=E(B/2),s=i(g/2),a=i(C/2),D=i(B/2);switch(Q){case"XYZ":this._x=s*t*e+o*a*D,this._y=o*a*e-s*t*D,this._z=o*t*D+s*a*e,this._w=o*t*e-s*a*D;break;case"YXZ":this._x=s*t*e+o*a*D,this._y=o*a*e-s*t*D,this._z=o*t*D-s*a*e,this._w=o*t*e+s*a*D;break;case"ZXY":this._x=s*t*e-o*a*D,this._y=o*a*e+s*t*D,this._z=o*t*D+s*a*e,this._w=o*t*e-s*a*D;break;case"ZYX":this._x=s*t*e-o*a*D,this._y=o*a*e+s*t*D,this._z=o*t*D-s*a*e,this._w=o*t*e+s*a*D;break;case"YZX":this._x=s*t*e+o*a*D,this._y=o*a*e+s*t*D,this._z=o*t*D-s*a*e,this._w=o*t*e-s*a*D;break;case"XZY":this._x=s*t*e-o*a*D,this._y=o*a*e-s*t*D,this._z=o*t*D+s*a*e,this._w=o*t*e+s*a*D;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+Q)}return!1!==I&&this._onChangeCallback(),this}setFromAxisAngle(A,I){const g=I/2,C=Math.sin(g);return this._x=A.x*C,this._y=A.y*C,this._z=A.z*C,this._w=Math.cos(g),this._onChangeCallback(),this}setFromRotationMatrix(A){const I=A.elements,g=I[0],C=I[4],B=I[8],Q=I[1],E=I[5],i=I[9],o=I[2],t=I[6],e=I[10],s=g+E+e;if(s>0){const A=.5/Math.sqrt(s+1);this._w=.25/A,this._x=(t-i)*A,this._y=(B-o)*A,this._z=(Q-C)*A}else if(g>E&&g>e){const A=2*Math.sqrt(1+g-E-e);this._w=(t-i)/A,this._x=.25*A,this._y=(C+Q)/A,this._z=(B+o)/A}else if(E>e){const A=2*Math.sqrt(1+E-g-e);this._w=(B-o)/A,this._x=(C+Q)/A,this._y=.25*A,this._z=(i+t)/A}else{const A=2*Math.sqrt(1+e-g-E);this._w=(Q-C)/A,this._x=(B+o)/A,this._y=(i+t)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(A,I){let g=A.dot(I)+1;return gMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=g):(this._x=0,this._y=-A.z,this._z=A.y,this._w=g)):(this._x=A.y*I.z-A.z*I.y,this._y=A.z*I.x-A.x*I.z,this._z=A.x*I.y-A.y*I.x,this._w=g),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Lg(this.dot(A),-1,1)))}rotateTowards(A,I){const g=this.angleTo(A);if(0===g)return this;const C=Math.min(1,I/g);return this.slerp(A,C),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A,I){return void 0!==I?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(A,I)):this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,I){const g=A._x,C=A._y,B=A._z,Q=A._w,E=I._x,i=I._y,o=I._z,t=I._w;return this._x=g*t+Q*E+C*o-B*i,this._y=C*t+Q*i+B*E-g*o,this._z=B*t+Q*o+g*i-C*E,this._w=Q*t-g*E-C*i-B*o,this._onChangeCallback(),this}slerp(A,I){if(0===I)return this;if(1===I)return this.copy(A);const g=this._x,C=this._y,B=this._z,Q=this._w;let E=Q*A._w+g*A._x+C*A._y+B*A._z;if(E<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,E=-E):this.copy(A),E>=1)return this._w=Q,this._x=g,this._y=C,this._z=B,this;const i=1-E*E;if(i<=Number.EPSILON){const A=1-I;return this._w=A*Q+I*this._w,this._x=A*g+I*this._x,this._y=A*C+I*this._y,this._z=A*B+I*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(i),t=Math.atan2(o,E),e=Math.sin((1-I)*t)/o,s=Math.sin(I*t)/o;return this._w=Q*e+this._w*s,this._x=g*e+this._x*s,this._y=C*e+this._y*s,this._z=B*e+this._z*s,this._onChangeCallback(),this}slerpQuaternions(A,I,g){this.copy(A).slerp(I,g)}random(){const A=Math.random(),I=Math.sqrt(1-A),g=Math.sqrt(A),C=2*Math.PI*Math.random(),B=2*Math.PI*Math.random();return this.set(I*Math.cos(C),g*Math.sin(B),g*Math.cos(B),I*Math.sin(C))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,I=0){return this._x=A[I],this._y=A[I+1],this._z=A[I+2],this._w=A[I+3],this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._w,A}fromBufferAttribute(A,I){return this._x=A.getX(I),this._y=A.getY(I),this._z=A.getZ(I),this._w=A.getW(I),this}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}}gC.prototype.isQuaternion=!0;class CC{constructor(A=0,I=0,g=0){this.x=A,this.y=I,this.z=g}set(A,I,g){return void 0===g&&(g=this.z),this.x=A,this.y=I,this.z=g,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A,I){return void 0!==I?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,I)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this)}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this}sub(A,I){return void 0!==I?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,I)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this)}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this}multiply(A,I){return void 0!==I?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(A,I)):(this.x*=A.x,this.y*=A.y,this.z*=A.z,this)}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,I){return this.x=A.x*I.x,this.y=A.y*I.y,this.z=A.z*I.z,this}applyEuler(A){return A&&A.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(QC.setFromEuler(A))}applyAxisAngle(A,I){return this.applyQuaternion(QC.setFromAxisAngle(A,I))}applyMatrix3(A){const I=this.x,g=this.y,C=this.z,B=A.elements;return this.x=B[0]*I+B[3]*g+B[6]*C,this.y=B[1]*I+B[4]*g+B[7]*C,this.z=B[2]*I+B[5]*g+B[8]*C,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const I=this.x,g=this.y,C=this.z,B=A.elements,Q=1/(B[3]*I+B[7]*g+B[11]*C+B[15]);return this.x=(B[0]*I+B[4]*g+B[8]*C+B[12])*Q,this.y=(B[1]*I+B[5]*g+B[9]*C+B[13])*Q,this.z=(B[2]*I+B[6]*g+B[10]*C+B[14])*Q,this}applyQuaternion(A){const I=this.x,g=this.y,C=this.z,B=A.x,Q=A.y,E=A.z,i=A.w,o=i*I+Q*C-E*g,t=i*g+E*I-B*C,e=i*C+B*g-Q*I,s=-B*I-Q*g-E*C;return this.x=o*i+s*-B+t*-E-e*-Q,this.y=t*i+s*-Q+e*-B-o*-E,this.z=e*i+s*-E+o*-Q-t*-B,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const I=this.x,g=this.y,C=this.z,B=A.elements;return this.x=B[0]*I+B[4]*g+B[8]*C,this.y=B[1]*I+B[5]*g+B[9]*C,this.z=B[2]*I+B[6]*g+B[10]*C,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this.z=Math.max(A.z,Math.min(I.z,this.z)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this.z=Math.max(A,Math.min(I,this.z)),this}clampLength(A,I){const g=this.length();return this.divideScalar(g||1).multiplyScalar(Math.max(A,Math.min(I,g)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this.z+=(A.z-this.z)*I,this}lerpVectors(A,I,g){return this.x=A.x+(I.x-A.x)*g,this.y=A.y+(I.y-A.y)*g,this.z=A.z+(I.z-A.z)*g,this}cross(A,I){return void 0!==I?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(A,I)):this.crossVectors(this,A)}crossVectors(A,I){const g=A.x,C=A.y,B=A.z,Q=I.x,E=I.y,i=I.z;return this.x=C*i-B*E,this.y=B*Q-g*i,this.z=g*E-C*Q,this}projectOnVector(A){const I=A.lengthSq();if(0===I)return this.set(0,0,0);const g=A.dot(this)/I;return this.copy(A).multiplyScalar(g)}projectOnPlane(A){return BC.copy(this).projectOnVector(A),this.sub(BC)}reflect(A){return this.sub(BC.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const I=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===I)return Math.PI/2;const g=this.dot(A)/I;return Math.acos(Lg(g,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,g=this.y-A.y,C=this.z-A.z;return I*I+g*g+C*C}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,I,g){const C=Math.sin(I)*A;return this.x=C*Math.sin(g),this.y=Math.cos(I)*A,this.z=C*Math.cos(g),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,I,g){return this.x=A*Math.sin(I),this.y=g,this.z=A*Math.cos(I),this}setFromMatrixPosition(A){const I=A.elements;return this.x=I[12],this.y=I[13],this.z=I[14],this}setFromMatrixScale(A){const I=this.setFromMatrixColumn(A,0).length(),g=this.setFromMatrixColumn(A,1).length(),C=this.setFromMatrixColumn(A,2).length();return this.x=I,this.y=g,this.z=C,this}setFromMatrixColumn(A,I){return this.fromArray(A.elements,4*I)}setFromMatrix3Column(A,I){return this.fromArray(A.elements,3*I)}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this.z=A[I+2],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A[I+2]=this.z,A}fromBufferAttribute(A,I,g){return void 0!==g&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(I),this.y=A.getY(I),this.z=A.getZ(I),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=2*(Math.random()-.5),I=Math.random()*Math.PI*2,g=Math.sqrt(1-A**2);return this.x=g*Math.cos(I),this.y=g*Math.sin(I),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}CC.prototype.isVector3=!0;const BC=new CC,QC=new gC;class EC{constructor(A=new CC(1/0,1/0,1/0),I=new CC(-1/0,-1/0,-1/0)){this.min=A,this.max=I}set(A,I){return this.min.copy(A),this.max.copy(I),this}setFromArray(A){let I=1/0,g=1/0,C=1/0,B=-1/0,Q=-1/0,E=-1/0;for(let i=0,o=A.length;iB&&(B=o),t>Q&&(Q=t),e>E&&(E=e)}return this.min.set(I,g,C),this.max.set(B,Q,E),this}setFromBufferAttribute(A){let I=1/0,g=1/0,C=1/0,B=-1/0,Q=-1/0,E=-1/0;for(let i=0,o=A.count;iB&&(B=o),t>Q&&(Q=t),e>E&&(E=e)}return this.min.set(I,g,C),this.max.set(B,Q,E),this}setFromPoints(A){this.makeEmpty();for(let I=0,g=A.length;Ithis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,oC),oC.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let I,g;return A.normal.x>0?(I=A.normal.x*this.min.x,g=A.normal.x*this.max.x):(I=A.normal.x*this.max.x,g=A.normal.x*this.min.x),A.normal.y>0?(I+=A.normal.y*this.min.y,g+=A.normal.y*this.max.y):(I+=A.normal.y*this.max.y,g+=A.normal.y*this.min.y),A.normal.z>0?(I+=A.normal.z*this.min.z,g+=A.normal.z*this.max.z):(I+=A.normal.z*this.max.z,g+=A.normal.z*this.min.z),I<=-A.constant&&g>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(hC),wC.subVectors(this.max,hC),eC.subVectors(A.a,hC),sC.subVectors(A.b,hC),aC.subVectors(A.c,hC),DC.subVectors(sC,eC),nC.subVectors(aC,sC),rC.subVectors(eC,aC);let I=[0,-DC.z,DC.y,0,-nC.z,nC.y,0,-rC.z,rC.y,DC.z,0,-DC.x,nC.z,0,-nC.x,rC.z,0,-rC.x,-DC.y,DC.x,0,-nC.y,nC.x,0,-rC.y,rC.x,0];return!!yC(I,eC,sC,aC,wC)&&(I=[1,0,0,0,1,0,0,0,1],!!yC(I,eC,sC,aC,wC)&&(cC.crossVectors(DC,nC),I=[cC.x,cC.y,cC.z],yC(I,eC,sC,aC,wC)))}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return oC.copy(A).clamp(this.min,this.max).sub(A).length()}getBoundingSphere(A){return this.getCenter(A.center),A.radius=.5*this.getSize(oC).length(),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()||(iC[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),iC[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),iC[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),iC[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),iC[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),iC[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),iC[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),iC[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(iC)),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}EC.prototype.isBox3=!0;const iC=[new CC,new CC,new CC,new CC,new CC,new CC,new CC,new CC],oC=new CC,tC=new EC,eC=new CC,sC=new CC,aC=new CC,DC=new CC,nC=new CC,rC=new CC,hC=new CC,wC=new CC,cC=new CC,GC=new CC;function yC(A,I,g,C,B){for(let Q=0,E=A.length-3;Q<=E;Q+=3){GC.fromArray(A,Q);const E=B.x*Math.abs(GC.x)+B.y*Math.abs(GC.y)+B.z*Math.abs(GC.z),i=I.dot(GC),o=g.dot(GC),t=C.dot(GC);if(Math.max(-Math.max(i,o,t),Math.min(i,o,t))>E)return!1}return!0}const FC=new EC,RC=new CC,NC=new CC,lC=new CC;class MC{constructor(A=new CC,I=-1){this.center=A,this.radius=I}set(A,I){return this.center.copy(A),this.radius=I,this}setFromPoints(A,I){const g=this.center;void 0!==I?g.copy(I):FC.setFromPoints(A).getCenter(g);let C=0;for(let I=0,B=A.length;Ithis.radius*this.radius&&(I.sub(this.center).normalize(),I.multiplyScalar(this.radius).add(this.center)),I}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){lC.subVectors(A,this.center);const I=lC.lengthSq();if(I>this.radius*this.radius){const A=Math.sqrt(I),g=.5*(A-this.radius);this.center.add(lC.multiplyScalar(g/A)),this.radius+=g}return this}union(A){return!0===this.center.equals(A.center)?NC.set(0,0,1).multiplyScalar(A.radius):NC.subVectors(A.center,this.center).normalize().multiplyScalar(A.radius),this.expandByPoint(RC.copy(A.center).add(NC)),this.expandByPoint(RC.copy(A.center).sub(NC)),this}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const SC=new CC,UC=new CC,dC=new CC,KC=new CC,kC=new CC,JC=new CC,YC=new CC;class uC{constructor(A=new CC,I=new CC(0,0,-1)){this.origin=A,this.direction=I}set(A,I){return this.origin.copy(A),this.direction.copy(I),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,I){return I.copy(this.direction).multiplyScalar(A).add(this.origin)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,SC)),this}closestPointToPoint(A,I){I.subVectors(A,this.origin);const g=I.dot(this.direction);return g<0?I.copy(this.origin):I.copy(this.direction).multiplyScalar(g).add(this.origin)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const I=SC.subVectors(A,this.origin).dot(this.direction);return I<0?this.origin.distanceToSquared(A):(SC.copy(this.direction).multiplyScalar(I).add(this.origin),SC.distanceToSquared(A))}distanceSqToSegment(A,I,g,C){UC.copy(A).add(I).multiplyScalar(.5),dC.copy(I).sub(A).normalize(),KC.copy(this.origin).sub(UC);const B=.5*A.distanceTo(I),Q=-this.direction.dot(dC),E=KC.dot(this.direction),i=-KC.dot(dC),o=KC.lengthSq(),t=Math.abs(1-Q*Q);let e,s,a,D;if(t>0)if(e=Q*i-E,s=Q*E-i,D=B*t,e>=0)if(s>=-D)if(s<=D){const A=1/t;e*=A,s*=A,a=e*(e+Q*s+2*E)+s*(Q*e+s+2*i)+o}else s=B,e=Math.max(0,-(Q*s+E)),a=-e*e+s*(s+2*i)+o;else s=-B,e=Math.max(0,-(Q*s+E)),a=-e*e+s*(s+2*i)+o;else s<=-D?(e=Math.max(0,-(-Q*B+E)),s=e>0?-B:Math.min(Math.max(-B,-i),B),a=-e*e+s*(s+2*i)+o):s<=D?(e=0,s=Math.min(Math.max(-B,-i),B),a=s*(s+2*i)+o):(e=Math.max(0,-(Q*B+E)),s=e>0?B:Math.min(Math.max(-B,-i),B),a=-e*e+s*(s+2*i)+o);else s=Q>0?-B:B,e=Math.max(0,-(Q*s+E)),a=-e*e+s*(s+2*i)+o;return g&&g.copy(this.direction).multiplyScalar(e).add(this.origin),C&&C.copy(dC).multiplyScalar(s).add(UC),a}intersectSphere(A,I){SC.subVectors(A.center,this.origin);const g=SC.dot(this.direction),C=SC.dot(SC)-g*g,B=A.radius*A.radius;if(C>B)return null;const Q=Math.sqrt(B-C),E=g-Q,i=g+Q;return E<0&&i<0?null:E<0?this.at(i,I):this.at(E,I)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const I=A.normal.dot(this.direction);if(0===I)return 0===A.distanceToPoint(this.origin)?0:null;const g=-(this.origin.dot(A.normal)+A.constant)/I;return g>=0?g:null}intersectPlane(A,I){const g=this.distanceToPlane(A);return null===g?null:this.at(g,I)}intersectsPlane(A){const I=A.distanceToPoint(this.origin);return 0===I||A.normal.dot(this.direction)*I<0}intersectBox(A,I){let g,C,B,Q,E,i;const o=1/this.direction.x,t=1/this.direction.y,e=1/this.direction.z,s=this.origin;return o>=0?(g=(A.min.x-s.x)*o,C=(A.max.x-s.x)*o):(g=(A.max.x-s.x)*o,C=(A.min.x-s.x)*o),t>=0?(B=(A.min.y-s.y)*t,Q=(A.max.y-s.y)*t):(B=(A.max.y-s.y)*t,Q=(A.min.y-s.y)*t),g>Q||B>C?null:((B>g||g!=g)&&(g=B),(Q=0?(E=(A.min.z-s.z)*e,i=(A.max.z-s.z)*e):(E=(A.max.z-s.z)*e,i=(A.min.z-s.z)*e),g>i||E>C?null:((E>g||g!=g)&&(g=E),(i=0?g:C,I)))}intersectsBox(A){return null!==this.intersectBox(A,SC)}intersectTriangle(A,I,g,C,B){kC.subVectors(I,A),JC.subVectors(g,A),YC.crossVectors(kC,JC);let Q,E=this.direction.dot(YC);if(E>0){if(C)return null;Q=1}else{if(!(E<0))return null;Q=-1,E=-E}KC.subVectors(this.origin,A);const i=Q*this.direction.dot(JC.crossVectors(KC,JC));if(i<0)return null;const o=Q*this.direction.dot(kC.cross(KC));if(o<0)return null;if(i+o>E)return null;const t=-Q*KC.dot(YC);return t<0?null:this.at(t/E,B)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class LC{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(A,I,g,C,B,Q,E,i,o,t,e,s,a,D,n,r){const h=this.elements;return h[0]=A,h[4]=I,h[8]=g,h[12]=C,h[1]=B,h[5]=Q,h[9]=E,h[13]=i,h[2]=o,h[6]=t,h[10]=e,h[14]=s,h[3]=a,h[7]=D,h[11]=n,h[15]=r,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new LC).fromArray(this.elements)}copy(A){const I=this.elements,g=A.elements;return I[0]=g[0],I[1]=g[1],I[2]=g[2],I[3]=g[3],I[4]=g[4],I[5]=g[5],I[6]=g[6],I[7]=g[7],I[8]=g[8],I[9]=g[9],I[10]=g[10],I[11]=g[11],I[12]=g[12],I[13]=g[13],I[14]=g[14],I[15]=g[15],this}copyPosition(A){const I=this.elements,g=A.elements;return I[12]=g[12],I[13]=g[13],I[14]=g[14],this}setFromMatrix3(A){const I=A.elements;return this.set(I[0],I[3],I[6],0,I[1],I[4],I[7],0,I[2],I[5],I[8],0,0,0,0,1),this}extractBasis(A,I,g){return A.setFromMatrixColumn(this,0),I.setFromMatrixColumn(this,1),g.setFromMatrixColumn(this,2),this}makeBasis(A,I,g){return this.set(A.x,I.x,g.x,0,A.y,I.y,g.y,0,A.z,I.z,g.z,0,0,0,0,1),this}extractRotation(A){const I=this.elements,g=A.elements,C=1/pC.setFromMatrixColumn(A,0).length(),B=1/pC.setFromMatrixColumn(A,1).length(),Q=1/pC.setFromMatrixColumn(A,2).length();return I[0]=g[0]*C,I[1]=g[1]*C,I[2]=g[2]*C,I[3]=0,I[4]=g[4]*B,I[5]=g[5]*B,I[6]=g[6]*B,I[7]=0,I[8]=g[8]*Q,I[9]=g[9]*Q,I[10]=g[10]*Q,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromEuler(A){A&&A.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const I=this.elements,g=A.x,C=A.y,B=A.z,Q=Math.cos(g),E=Math.sin(g),i=Math.cos(C),o=Math.sin(C),t=Math.cos(B),e=Math.sin(B);if("XYZ"===A.order){const A=Q*t,g=Q*e,C=E*t,B=E*e;I[0]=i*t,I[4]=-i*e,I[8]=o,I[1]=g+C*o,I[5]=A-B*o,I[9]=-E*i,I[2]=B-A*o,I[6]=C+g*o,I[10]=Q*i}else if("YXZ"===A.order){const A=i*t,g=i*e,C=o*t,B=o*e;I[0]=A+B*E,I[4]=C*E-g,I[8]=Q*o,I[1]=Q*e,I[5]=Q*t,I[9]=-E,I[2]=g*E-C,I[6]=B+A*E,I[10]=Q*i}else if("ZXY"===A.order){const A=i*t,g=i*e,C=o*t,B=o*e;I[0]=A-B*E,I[4]=-Q*e,I[8]=C+g*E,I[1]=g+C*E,I[5]=Q*t,I[9]=B-A*E,I[2]=-Q*o,I[6]=E,I[10]=Q*i}else if("ZYX"===A.order){const A=Q*t,g=Q*e,C=E*t,B=E*e;I[0]=i*t,I[4]=C*o-g,I[8]=A*o+B,I[1]=i*e,I[5]=B*o+A,I[9]=g*o-C,I[2]=-o,I[6]=E*i,I[10]=Q*i}else if("YZX"===A.order){const A=Q*i,g=Q*o,C=E*i,B=E*o;I[0]=i*t,I[4]=B-A*e,I[8]=C*e+g,I[1]=e,I[5]=Q*t,I[9]=-E*t,I[2]=-o*t,I[6]=g*e+C,I[10]=A-B*e}else if("XZY"===A.order){const A=Q*i,g=Q*o,C=E*i,B=E*o;I[0]=i*t,I[4]=-e,I[8]=o*t,I[1]=A*e+B,I[5]=Q*t,I[9]=g*e-C,I[2]=C*e-g,I[6]=E*t,I[10]=B*e+A}return I[3]=0,I[7]=0,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromQuaternion(A){return this.compose(HC,A,mC)}lookAt(A,I,g){const C=this.elements;return bC.subVectors(A,I),0===bC.lengthSq()&&(bC.z=1),bC.normalize(),qC.crossVectors(g,bC),0===qC.lengthSq()&&(1===Math.abs(g.z)?bC.x+=1e-4:bC.z+=1e-4,bC.normalize(),qC.crossVectors(g,bC)),qC.normalize(),xC.crossVectors(bC,qC),C[0]=qC.x,C[4]=xC.x,C[8]=bC.x,C[1]=qC.y,C[5]=xC.y,C[9]=bC.y,C[2]=qC.z,C[6]=xC.z,C[10]=bC.z,this}multiply(A,I){return void 0!==I?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(A,I)):this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const g=A.elements,C=I.elements,B=this.elements,Q=g[0],E=g[4],i=g[8],o=g[12],t=g[1],e=g[5],s=g[9],a=g[13],D=g[2],n=g[6],r=g[10],h=g[14],w=g[3],c=g[7],G=g[11],y=g[15],F=C[0],R=C[4],N=C[8],l=C[12],M=C[1],S=C[5],U=C[9],d=C[13],K=C[2],k=C[6],J=C[10],Y=C[14],u=C[3],L=C[7],p=C[11],f=C[15];return B[0]=Q*F+E*M+i*K+o*u,B[4]=Q*R+E*S+i*k+o*L,B[8]=Q*N+E*U+i*J+o*p,B[12]=Q*l+E*d+i*Y+o*f,B[1]=t*F+e*M+s*K+a*u,B[5]=t*R+e*S+s*k+a*L,B[9]=t*N+e*U+s*J+a*p,B[13]=t*l+e*d+s*Y+a*f,B[2]=D*F+n*M+r*K+h*u,B[6]=D*R+n*S+r*k+h*L,B[10]=D*N+n*U+r*J+h*p,B[14]=D*l+n*d+r*Y+h*f,B[3]=w*F+c*M+G*K+y*u,B[7]=w*R+c*S+G*k+y*L,B[11]=w*N+c*U+G*J+y*p,B[15]=w*l+c*d+G*Y+y*f,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[4]*=A,I[8]*=A,I[12]*=A,I[1]*=A,I[5]*=A,I[9]*=A,I[13]*=A,I[2]*=A,I[6]*=A,I[10]*=A,I[14]*=A,I[3]*=A,I[7]*=A,I[11]*=A,I[15]*=A,this}determinant(){const A=this.elements,I=A[0],g=A[4],C=A[8],B=A[12],Q=A[1],E=A[5],i=A[9],o=A[13],t=A[2],e=A[6],s=A[10],a=A[14];return A[3]*(+B*i*e-C*o*e-B*E*s+g*o*s+C*E*a-g*i*a)+A[7]*(+I*i*a-I*o*s+B*Q*s-C*Q*a+C*o*t-B*i*t)+A[11]*(+I*o*e-I*E*a-B*Q*e+g*Q*a+B*E*t-g*o*t)+A[15]*(-C*E*t-I*i*e+I*E*s+C*Q*e-g*Q*s+g*i*t)}transpose(){const A=this.elements;let I;return I=A[1],A[1]=A[4],A[4]=I,I=A[2],A[2]=A[8],A[8]=I,I=A[6],A[6]=A[9],A[9]=I,I=A[3],A[3]=A[12],A[12]=I,I=A[7],A[7]=A[13],A[13]=I,I=A[11],A[11]=A[14],A[14]=I,this}setPosition(A,I,g){const C=this.elements;return A.isVector3?(C[12]=A.x,C[13]=A.y,C[14]=A.z):(C[12]=A,C[13]=I,C[14]=g),this}invert(){const A=this.elements,I=A[0],g=A[1],C=A[2],B=A[3],Q=A[4],E=A[5],i=A[6],o=A[7],t=A[8],e=A[9],s=A[10],a=A[11],D=A[12],n=A[13],r=A[14],h=A[15],w=e*r*o-n*s*o+n*i*a-E*r*a-e*i*h+E*s*h,c=D*s*o-t*r*o-D*i*a+Q*r*a+t*i*h-Q*s*h,G=t*n*o-D*e*o+D*E*a-Q*n*a-t*E*h+Q*e*h,y=D*e*i-t*n*i-D*E*s+Q*n*s+t*E*r-Q*e*r,F=I*w+g*c+C*G+B*y;if(0===F)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const R=1/F;return A[0]=w*R,A[1]=(n*s*B-e*r*B-n*C*a+g*r*a+e*C*h-g*s*h)*R,A[2]=(E*r*B-n*i*B+n*C*o-g*r*o-E*C*h+g*i*h)*R,A[3]=(e*i*B-E*s*B-e*C*o+g*s*o+E*C*a-g*i*a)*R,A[4]=c*R,A[5]=(t*r*B-D*s*B+D*C*a-I*r*a-t*C*h+I*s*h)*R,A[6]=(D*i*B-Q*r*B-D*C*o+I*r*o+Q*C*h-I*i*h)*R,A[7]=(Q*s*B-t*i*B+t*C*o-I*s*o-Q*C*a+I*i*a)*R,A[8]=G*R,A[9]=(D*e*B-t*n*B-D*g*a+I*n*a+t*g*h-I*e*h)*R,A[10]=(Q*n*B-D*E*B+D*g*o-I*n*o-Q*g*h+I*E*h)*R,A[11]=(t*E*B-Q*e*B-t*g*o+I*e*o+Q*g*a-I*E*a)*R,A[12]=y*R,A[13]=(t*n*C-D*e*C+D*g*s-I*n*s-t*g*r+I*e*r)*R,A[14]=(D*E*C-Q*n*C-D*g*i+I*n*i+Q*g*r-I*E*r)*R,A[15]=(Q*e*C-t*E*C+t*g*i-I*e*i-Q*g*s+I*E*s)*R,this}scale(A){const I=this.elements,g=A.x,C=A.y,B=A.z;return I[0]*=g,I[4]*=C,I[8]*=B,I[1]*=g,I[5]*=C,I[9]*=B,I[2]*=g,I[6]*=C,I[10]*=B,I[3]*=g,I[7]*=C,I[11]*=B,this}getMaxScaleOnAxis(){const A=this.elements,I=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],g=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],C=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(I,g,C))}makeTranslation(A,I,g){return this.set(1,0,0,A,0,1,0,I,0,0,1,g,0,0,0,1),this}makeRotationX(A){const I=Math.cos(A),g=Math.sin(A);return this.set(1,0,0,0,0,I,-g,0,0,g,I,0,0,0,0,1),this}makeRotationY(A){const I=Math.cos(A),g=Math.sin(A);return this.set(I,0,g,0,0,1,0,0,-g,0,I,0,0,0,0,1),this}makeRotationZ(A){const I=Math.cos(A),g=Math.sin(A);return this.set(I,-g,0,0,g,I,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,I){const g=Math.cos(I),C=Math.sin(I),B=1-g,Q=A.x,E=A.y,i=A.z,o=B*Q,t=B*E;return this.set(o*Q+g,o*E-C*i,o*i+C*E,0,o*E+C*i,t*E+g,t*i-C*Q,0,o*i-C*E,t*i+C*Q,B*i*i+g,0,0,0,0,1),this}makeScale(A,I,g){return this.set(A,0,0,0,0,I,0,0,0,0,g,0,0,0,0,1),this}makeShear(A,I,g,C,B,Q){return this.set(1,g,B,0,A,1,Q,0,I,C,1,0,0,0,0,1),this}compose(A,I,g){const C=this.elements,B=I._x,Q=I._y,E=I._z,i=I._w,o=B+B,t=Q+Q,e=E+E,s=B*o,a=B*t,D=B*e,n=Q*t,r=Q*e,h=E*e,w=i*o,c=i*t,G=i*e,y=g.x,F=g.y,R=g.z;return C[0]=(1-(n+h))*y,C[1]=(a+G)*y,C[2]=(D-c)*y,C[3]=0,C[4]=(a-G)*F,C[5]=(1-(s+h))*F,C[6]=(r+w)*F,C[7]=0,C[8]=(D+c)*R,C[9]=(r-w)*R,C[10]=(1-(s+n))*R,C[11]=0,C[12]=A.x,C[13]=A.y,C[14]=A.z,C[15]=1,this}decompose(A,I,g){const C=this.elements;let B=pC.set(C[0],C[1],C[2]).length();const Q=pC.set(C[4],C[5],C[6]).length(),E=pC.set(C[8],C[9],C[10]).length();this.determinant()<0&&(B=-B),A.x=C[12],A.y=C[13],A.z=C[14],fC.copy(this);const i=1/B,o=1/Q,t=1/E;return fC.elements[0]*=i,fC.elements[1]*=i,fC.elements[2]*=i,fC.elements[4]*=o,fC.elements[5]*=o,fC.elements[6]*=o,fC.elements[8]*=t,fC.elements[9]*=t,fC.elements[10]*=t,I.setFromRotationMatrix(fC),g.x=B,g.y=Q,g.z=E,this}makePerspective(A,I,g,C,B,Q){void 0===Q&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const E=this.elements,i=2*B/(I-A),o=2*B/(g-C),t=(I+A)/(I-A),e=(g+C)/(g-C),s=-(Q+B)/(Q-B),a=-2*Q*B/(Q-B);return E[0]=i,E[4]=0,E[8]=t,E[12]=0,E[1]=0,E[5]=o,E[9]=e,E[13]=0,E[2]=0,E[6]=0,E[10]=s,E[14]=a,E[3]=0,E[7]=0,E[11]=-1,E[15]=0,this}makeOrthographic(A,I,g,C,B,Q){const E=this.elements,i=1/(I-A),o=1/(g-C),t=1/(Q-B),e=(I+A)*i,s=(g+C)*o,a=(Q+B)*t;return E[0]=2*i,E[4]=0,E[8]=0,E[12]=-e,E[1]=0,E[5]=2*o,E[9]=0,E[13]=-s,E[2]=0,E[6]=0,E[10]=-2*t,E[14]=-a,E[3]=0,E[7]=0,E[11]=0,E[15]=1,this}equals(A){const I=this.elements,g=A.elements;for(let A=0;A<16;A++)if(I[A]!==g[A])return!1;return!0}fromArray(A,I=0){for(let g=0;g<16;g++)this.elements[g]=A[g+I];return this}toArray(A=[],I=0){const g=this.elements;return A[I]=g[0],A[I+1]=g[1],A[I+2]=g[2],A[I+3]=g[3],A[I+4]=g[4],A[I+5]=g[5],A[I+6]=g[6],A[I+7]=g[7],A[I+8]=g[8],A[I+9]=g[9],A[I+10]=g[10],A[I+11]=g[11],A[I+12]=g[12],A[I+13]=g[13],A[I+14]=g[14],A[I+15]=g[15],A}}LC.prototype.isMatrix4=!0;const pC=new CC,fC=new LC,HC=new CC(0,0,0),mC=new CC(1,1,1),qC=new CC,xC=new CC,bC=new CC,TC=new LC,VC=new gC;class WC{constructor(A=0,I=0,g=0,C=WC.DefaultOrder){this._x=A,this._y=I,this._z=g,this._order=C}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,I,g,C=this._order){return this._x=A,this._y=I,this._z=g,this._order=C,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,I=this._order,g=!0){const C=A.elements,B=C[0],Q=C[4],E=C[8],i=C[1],o=C[5],t=C[9],e=C[2],s=C[6],a=C[10];switch(I){case"XYZ":this._y=Math.asin(Lg(E,-1,1)),Math.abs(E)<.9999999?(this._x=Math.atan2(-t,a),this._z=Math.atan2(-Q,B)):(this._x=Math.atan2(s,o),this._z=0);break;case"YXZ":this._x=Math.asin(-Lg(t,-1,1)),Math.abs(t)<.9999999?(this._y=Math.atan2(E,a),this._z=Math.atan2(i,o)):(this._y=Math.atan2(-e,B),this._z=0);break;case"ZXY":this._x=Math.asin(Lg(s,-1,1)),Math.abs(s)<.9999999?(this._y=Math.atan2(-e,a),this._z=Math.atan2(-Q,o)):(this._y=0,this._z=Math.atan2(i,B));break;case"ZYX":this._y=Math.asin(-Lg(e,-1,1)),Math.abs(e)<.9999999?(this._x=Math.atan2(s,a),this._z=Math.atan2(i,B)):(this._x=0,this._z=Math.atan2(-Q,o));break;case"YZX":this._z=Math.asin(Lg(i,-1,1)),Math.abs(i)<.9999999?(this._x=Math.atan2(-t,o),this._y=Math.atan2(-e,B)):(this._x=0,this._y=Math.atan2(E,a));break;case"XZY":this._z=Math.asin(-Lg(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(s,o),this._y=Math.atan2(E,B)):(this._x=Math.atan2(-t,a),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+I)}return this._order=I,!0===g&&this._onChangeCallback(),this}setFromQuaternion(A,I,g){return TC.makeRotationFromQuaternion(A),this.setFromRotationMatrix(TC,I,g)}setFromVector3(A,I=this._order){return this.set(A.x,A.y,A.z,I)}reorder(A){return VC.setFromEuler(this),this.setFromQuaternion(VC,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._order,A}toVector3(A){return A?A.set(this._x,this._y,this._z):new CC(this._x,this._y,this._z)}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}}WC.prototype.isEuler=!0,WC.DefaultOrder="XYZ",WC.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class vC{constructor(){this.mask=1}set(A){this.mask=(1<>>0}enable(A){this.mask|=1<1){for(let A=0;A1){for(let A=0;A0){C.children=[];for(let I=0;I0){C.animations=[];for(let I=0;I0&&(g.geometries=I),C.length>0&&(g.materials=C),B.length>0&&(g.textures=B),E.length>0&&(g.images=E),i.length>0&&(g.shapes=i),o.length>0&&(g.skeletons=o),t.length>0&&(g.animations=t)}return g.object=C,g;function Q(A){const I=[];for(const g in A){const C=A[g];delete C.metadata,I.push(C)}return I}}clone(A){return(new this.constructor).copy(this,A)}copy(A,I=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.userData=JSON.parse(JSON.stringify(A.userData)),!0===I)for(let I=0;I0?C.multiplyScalar(1/Math.sqrt(B)):C.set(0,0,0)}static getBarycoord(A,I,g,C,B){EB.subVectors(C,I),iB.subVectors(g,I),oB.subVectors(A,I);const Q=EB.dot(EB),E=EB.dot(iB),i=EB.dot(oB),o=iB.dot(iB),t=iB.dot(oB),e=Q*o-E*E;if(0===e)return B.set(-2,-1,-1);const s=1/e,a=(o*i-E*t)*s,D=(Q*t-E*i)*s;return B.set(1-a-D,D,a)}static containsPoint(A,I,g,C){return this.getBarycoord(A,I,g,C,tB),tB.x>=0&&tB.y>=0&&tB.x+tB.y<=1}static getUV(A,I,g,C,B,Q,E,i){return this.getBarycoord(A,I,g,C,tB),i.set(0,0),i.addScaledVector(B,tB.x),i.addScaledVector(Q,tB.y),i.addScaledVector(E,tB.z),i}static isFrontFacing(A,I,g,C){return EB.subVectors(g,I),iB.subVectors(A,I),EB.cross(iB).dot(C)<0}set(A,I,g){return this.a.copy(A),this.b.copy(I),this.c.copy(g),this}setFromPointsAndIndices(A,I,g,C){return this.a.copy(A[I]),this.b.copy(A[g]),this.c.copy(A[C]),this}setFromAttributeAndIndices(A,I,g,C){return this.a.fromBufferAttribute(A,I),this.b.fromBufferAttribute(A,g),this.c.fromBufferAttribute(A,C),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return EB.subVectors(this.c,this.b),iB.subVectors(this.a,this.b),.5*EB.cross(iB).length()}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return hB.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,I){return hB.getBarycoord(A,this.a,this.b,this.c,I)}getUV(A,I,g,C,B){return hB.getUV(A,this.a,this.b,this.c,I,g,C,B)}containsPoint(A){return hB.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return hB.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,I){const g=this.a,C=this.b,B=this.c;let Q,E;eB.subVectors(C,g),sB.subVectors(B,g),DB.subVectors(A,g);const i=eB.dot(DB),o=sB.dot(DB);if(i<=0&&o<=0)return I.copy(g);nB.subVectors(A,C);const t=eB.dot(nB),e=sB.dot(nB);if(t>=0&&e<=t)return I.copy(C);const s=i*e-t*o;if(s<=0&&i>=0&&t<=0)return Q=i/(i-t),I.copy(g).addScaledVector(eB,Q);rB.subVectors(A,B);const a=eB.dot(rB),D=sB.dot(rB);if(D>=0&&a<=D)return I.copy(B);const n=a*o-i*D;if(n<=0&&o>=0&&D<=0)return E=o/(o-D),I.copy(g).addScaledVector(sB,E);const r=t*D-a*e;if(r<=0&&e-t>=0&&a-D>=0)return aB.subVectors(B,C),E=(e-t)/(e-t+(a-D)),I.copy(C).addScaledVector(aB,E);const h=1/(r+n+s);return Q=n*h,E=s*h,I.copy(g).addScaledVector(eB,Q).addScaledVector(sB,E)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}let wB=0;class cB extends dg{constructor(){super(),Object.defineProperty(this,"id",{value:wB++}),this.uuid=ug(),this.name="",this.type="Material",this.fog=!0,this.blending=y,this.side=n,this.vertexColors=!1,this.opacity=1,this.format=mA,this.transparent=!1,this.blendSrc=L,this.blendDst=p,this.blendEquation=M,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=W,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=hg,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=gg,this.stencilZFail=gg,this.stencilZPass=gg,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(A){this._alphaTest>0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(void 0!==A)for(const I in A){const g=A[I];if(void 0===g){console.warn("THREE.Material: '"+I+"' parameter is undefined.");continue}if("shading"===I){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=g===w;continue}const C=this[I];void 0!==C?C&&C.isColor?C.set(g):C&&C.isVector3&&g&&g.isVector3?C.copy(g):this[I]=g:console.warn("THREE."+this.type+": '"+I+"' is not a property of this material.")}}toJSON(A){const I=void 0===A||"string"==typeof A;I&&(A={textures:{},images:{}});const g={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function C(A){const I=[];for(const g in A){const C=A[g];delete C.metadata,I.push(C)}return I}if(g.uuid=this.uuid,g.type=this.type,""!==this.name&&(g.name=this.name),this.color&&this.color.isColor&&(g.color=this.color.getHex()),void 0!==this.roughness&&(g.roughness=this.roughness),void 0!==this.metalness&&(g.metalness=this.metalness),void 0!==this.sheen&&(g.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(g.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(g.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(g.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(g.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(g.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(g.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(g.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(g.shininess=this.shininess),void 0!==this.clearcoat&&(g.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(g.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(g.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(g.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(g.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,g.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(g.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(g.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(g.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(g.lightMap=this.lightMap.toJSON(A).uuid,g.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(g.aoMap=this.aoMap.toJSON(A).uuid,g.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(g.bumpMap=this.bumpMap.toJSON(A).uuid,g.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(g.normalMap=this.normalMap.toJSON(A).uuid,g.normalMapType=this.normalMapType,g.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(g.displacementMap=this.displacementMap.toJSON(A).uuid,g.displacementScale=this.displacementScale,g.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(g.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(g.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(g.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(g.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(g.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(g.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(g.envMap=this.envMap.toJSON(A).uuid,void 0!==this.combine&&(g.combine=this.combine)),void 0!==this.envMapIntensity&&(g.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(g.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(g.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(g.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.transmission&&(g.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(g.transmissionMap=this.transmissionMap.toJSON(A).uuid),void 0!==this.thickness&&(g.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(g.thicknessMap=this.thicknessMap.toJSON(A).uuid),void 0!==this.attenuationDistance&&(g.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(g.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(g.size=this.size),null!==this.shadowSide&&(g.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(g.sizeAttenuation=this.sizeAttenuation),this.blending!==y&&(g.blending=this.blending),this.side!==n&&(g.side=this.side),this.vertexColors&&(g.vertexColors=!0),this.opacity<1&&(g.opacity=this.opacity),this.format!==mA&&(g.format=this.format),!0===this.transparent&&(g.transparent=this.transparent),g.depthFunc=this.depthFunc,g.depthTest=this.depthTest,g.depthWrite=this.depthWrite,g.colorWrite=this.colorWrite,g.stencilWrite=this.stencilWrite,g.stencilWriteMask=this.stencilWriteMask,g.stencilFunc=this.stencilFunc,g.stencilRef=this.stencilRef,g.stencilFuncMask=this.stencilFuncMask,g.stencilFail=this.stencilFail,g.stencilZFail=this.stencilZFail,g.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(g.rotation=this.rotation),!0===this.polygonOffset&&(g.polygonOffset=!0),0!==this.polygonOffsetFactor&&(g.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(g.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(g.linewidth=this.linewidth),void 0!==this.dashSize&&(g.dashSize=this.dashSize),void 0!==this.gapSize&&(g.gapSize=this.gapSize),void 0!==this.scale&&(g.scale=this.scale),!0===this.dithering&&(g.dithering=!0),this.alphaTest>0&&(g.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(g.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(g.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(g.wireframe=this.wireframe),this.wireframeLinewidth>1&&(g.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(g.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(g.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(g.flatShading=this.flatShading),!1===this.visible&&(g.visible=!1),!1===this.toneMapped&&(g.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(g.userData=this.userData),I){const I=C(A.textures),B=C(A.images);I.length>0&&(g.textures=I),B.length>0&&(g.images=B)}return g}clone(){return(new this.constructor).copy(this)}copy(A){this.name=A.name,this.fog=A.fog,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.format=A.format,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const I=A.clippingPlanes;let g=null;if(null!==I){const A=I.length;g=new Array(A);for(let C=0;C!==A;++C)g[C]=I[C].clone()}return this.clippingPlanes=g,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){!0===A&&this.version++}}cB.prototype.isMaterial=!0;const GB={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},yB={h:0,s:0,l:0},FB={h:0,s:0,l:0};function RB(A,I,g){return g<0&&(g+=1),g>1&&(g-=1),g<1/6?A+6*(I-A)*g:g<.5?I:g<2/3?A+6*(I-A)*(2/3-g):A}function NB(A){return A<.04045?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function lB(A){return A<.0031308?12.92*A:1.055*Math.pow(A,.41666)-.055}class MB{constructor(A,I,g){return void 0===I&&void 0===g?this.set(A):this.setRGB(A,I,g)}set(A){return A&&A.isColor?this.copy(A):"number"==typeof A?this.setHex(A):"string"==typeof A&&this.setStyle(A),this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,this}setRGB(A,I,g){return this.r=A,this.g=I,this.b=g,this}setHSL(A,I,g){if(A=pg(A,1),I=Lg(I,0,1),g=Lg(g,0,1),0===I)this.r=this.g=this.b=g;else{const C=g<=.5?g*(1+I):g+I-g*I,B=2*g-C;this.r=RB(B,C,A+1/3),this.g=RB(B,C,A),this.b=RB(B,C,A-1/3)}return this}setStyle(A){function I(I){void 0!==I&&parseFloat(I)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let g;if(g=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(A)){let A;const C=g[1],B=g[2];switch(C){case"rgb":case"rgba":if(A=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(B))return this.r=Math.min(255,parseInt(A[1],10))/255,this.g=Math.min(255,parseInt(A[2],10))/255,this.b=Math.min(255,parseInt(A[3],10))/255,I(A[4]),this;if(A=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(B))return this.r=Math.min(100,parseInt(A[1],10))/100,this.g=Math.min(100,parseInt(A[2],10))/100,this.b=Math.min(100,parseInt(A[3],10))/100,I(A[4]),this;break;case"hsl":case"hsla":if(A=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(B)){const g=parseFloat(A[1])/360,C=parseInt(A[2],10)/100,B=parseInt(A[3],10)/100;return I(A[4]),this.setHSL(g,C,B)}}}else if(g=/^\#([A-Fa-f\d]+)$/.exec(A)){const A=g[1],I=A.length;if(3===I)return this.r=parseInt(A.charAt(0)+A.charAt(0),16)/255,this.g=parseInt(A.charAt(1)+A.charAt(1),16)/255,this.b=parseInt(A.charAt(2)+A.charAt(2),16)/255,this;if(6===I)return this.r=parseInt(A.charAt(0)+A.charAt(1),16)/255,this.g=parseInt(A.charAt(2)+A.charAt(3),16)/255,this.b=parseInt(A.charAt(4)+A.charAt(5),16)/255,this}return A&&A.length>0?this.setColorName(A):this}setColorName(A){const I=GB[A.toLowerCase()];return void 0!==I?this.setHex(I):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=NB(A.r),this.g=NB(A.g),this.b=NB(A.b),this}copyLinearToSRGB(A){return this.r=lB(A.r),this.g=lB(A.g),this.b=lB(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(A){const I=this.r,g=this.g,C=this.b,B=Math.max(I,g,C),Q=Math.min(I,g,C);let E,i;const o=(Q+B)/2;if(Q===B)E=0,i=0;else{const A=B-Q;switch(i=o<=.5?A/(B+Q):A/(2-B-Q),B){case I:E=(g-C)/A+(g65535?fB:LB)(A,1):this.index=A,this}getAttribute(A){return this.attributes[A]}setAttribute(A,I){return this.attributes[A]=I,this}deleteAttribute(A){return delete this.attributes[A],this}hasAttribute(A){return void 0!==this.attributes[A]}addGroup(A,I,g=0){this.groups.push({start:A,count:I,materialIndex:g})}clearGroups(){this.groups=[]}setDrawRange(A,I){this.drawRange.start=A,this.drawRange.count=I}applyMatrix4(A){const I=this.attributes.position;void 0!==I&&(I.applyMatrix4(A),I.needsUpdate=!0);const g=this.attributes.normal;if(void 0!==g){const I=(new Tg).getNormalMatrix(A);g.applyNormalMatrix(I),g.needsUpdate=!0}const C=this.attributes.tangent;return void 0!==C&&(C.transformDirection(A),C.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(A){return bB.makeRotationFromQuaternion(A),this.applyMatrix4(bB),this}rotateX(A){return bB.makeRotationX(A),this.applyMatrix4(bB),this}rotateY(A){return bB.makeRotationY(A),this.applyMatrix4(bB),this}rotateZ(A){return bB.makeRotationZ(A),this.applyMatrix4(bB),this}translate(A,I,g){return bB.makeTranslation(A,I,g),this.applyMatrix4(bB),this}scale(A,I,g){return bB.makeScale(A,I,g),this.applyMatrix4(bB),this}lookAt(A){return TB.lookAt(A),TB.updateMatrix(),this.applyMatrix4(TB.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(VB).negate(),this.translate(VB.x,VB.y,VB.z),this}setFromPoints(A){const I=[];for(let g=0,C=A.length;g0&&(A.userData=this.userData),void 0!==this.parameters){const I=this.parameters;for(const g in I)void 0!==I[g]&&(A[g]=I[g]);return A}A.data={attributes:{}};const I=this.index;null!==I&&(A.data.index={type:I.array.constructor.name,array:Array.prototype.slice.call(I.array)});const g=this.attributes;for(const I in g){const C=g[I];A.data.attributes[I]=C.toJSON(A.data)}const C={};let B=!1;for(const I in this.morphAttributes){const g=this.morphAttributes[I],Q=[];for(let I=0,C=g.length;I0&&(C[I]=Q,B=!0)}B&&(A.data.morphAttributes=C,A.data.morphTargetsRelative=this.morphTargetsRelative);const Q=this.groups;Q.length>0&&(A.data.groups=JSON.parse(JSON.stringify(Q)));const E=this.boundingSphere;return null!==E&&(A.data.boundingSphere={center:E.center.toArray(),radius:E.radius}),A}clone(){return(new this.constructor).copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const I={};this.name=A.name;const g=A.index;null!==g&&this.setIndex(g.clone(I));const C=A.attributes;for(const A in C){const g=C[A];this.setAttribute(A,g.clone(I))}const B=A.morphAttributes;for(const A in B){const g=[],C=B[A];for(let A=0,B=C.length;A0){const A=I[g[0]];if(void 0!==A){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,g=A.length;I0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(A,I){const g=this.geometry,C=this.material,B=this.matrixWorld;if(void 0===C)return;if(null===g.boundingSphere&&g.computeBoundingSphere(),jB.copy(g.boundingSphere),jB.applyMatrix4(B),!1===A.ray.intersectsSphere(jB))return;if(XB.copy(B).invert(),PB.copy(A.ray).applyMatrix4(XB),null!==g.boundingBox&&!1===PB.intersectsBox(g.boundingBox))return;let Q;if(g.isBufferGeometry){const B=g.index,E=g.attributes.position,i=g.morphAttributes.position,o=g.morphTargetsRelative,t=g.attributes.uv,e=g.attributes.uv2,s=g.groups,a=g.drawRange;if(null!==B)if(Array.isArray(C))for(let g=0,D=s.length;gg.far?null:{distance:t,point:eQ.clone(),object:A}}(A,I,g,C,zB,_B,$B,tQ);if(D){i&&(EQ.fromBufferAttribute(i,t),iQ.fromBufferAttribute(i,e),oQ.fromBufferAttribute(i,s),D.uv=hB.getUV(tQ,zB,_B,$B,EQ,iQ,oQ,new bg)),o&&(EQ.fromBufferAttribute(o,t),iQ.fromBufferAttribute(o,e),oQ.fromBufferAttribute(o,s),D.uv2=hB.getUV(tQ,zB,_B,$B,EQ,iQ,oQ,new bg));const A={a:t,b:e,c:s,normal:new CC,materialIndex:0};hB.getNormal(zB,_B,$B,A.normal),D.face=A}return D}sQ.prototype.isMesh=!0;class DQ extends OB{constructor(A=1,I=1,g=1,C=1,B=1,Q=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:I,depth:g,widthSegments:C,heightSegments:B,depthSegments:Q};const E=this;C=Math.floor(C),B=Math.floor(B),Q=Math.floor(Q);const i=[],o=[],t=[],e=[];let s=0,a=0;function D(A,I,g,C,B,Q,D,n,r,h,w){const c=Q/r,G=D/h,y=Q/2,F=D/2,R=n/2,N=r+1,l=h+1;let M=0,S=0;const U=new CC;for(let Q=0;Q0?1:-1,t.push(U.x,U.y,U.z),e.push(i/r),e.push(1-Q/h),M+=1}}for(let A=0;A0&&(I.defines=this.defines),I.vertexShader=this.vertexShader,I.fragmentShader=this.fragmentShader;const g={};for(const A in this.extensions)!0===this.extensions[A]&&(g[A]=!0);return Object.keys(g).length>0&&(I.extensions=g),I}}wQ.prototype.isShaderMaterial=!0;class cQ extends QB{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new LC,this.projectionMatrix=new LC,this.projectionMatrixInverse=new LC}copy(A,I){return super.copy(A,I),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this}getWorldDirection(A){this.updateWorldMatrix(!0,!1);const I=this.matrixWorld.elements;return A.set(-I[8],-I[9],-I[10]).normalize()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,I){super.updateWorldMatrix(A,I),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}cQ.prototype.isCamera=!0;class GQ extends cQ{constructor(A=50,I=1,g=.1,C=2e3){super(),this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=g,this.far=C,this.focus=10,this.aspect=I,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const I=.5*this.getFilmHeight()/A;this.fov=2*Yg*Math.atan(I),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(.5*Jg*this.fov);return.5*this.getFilmHeight()/A}getEffectiveFOV(){return 2*Yg*Math.atan(Math.tan(.5*Jg*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(A,I,g,C,B,Q){this.aspect=A/I,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=I,this.view.offsetX=g,this.view.offsetY=C,this.view.width=B,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let I=A*Math.tan(.5*Jg*this.fov)/this.zoom,g=2*I,C=this.aspect*g,B=-.5*C;const Q=this.view;if(null!==this.view&&this.view.enabled){const A=Q.fullWidth,E=Q.fullHeight;B+=Q.offsetX*C/A,I-=Q.offsetY*g/E,C*=Q.width/A,g*=Q.height/E}const E=this.filmOffset;0!==E&&(B+=A*E/this.getFilmWidth()),this.projectionMatrix.makePerspective(B,B+C,I,I-g,A,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.fov=this.fov,I.object.zoom=this.zoom,I.object.near=this.near,I.object.far=this.far,I.object.focus=this.focus,I.object.aspect=this.aspect,null!==this.view&&(I.object.view=Object.assign({},this.view)),I.object.filmGauge=this.filmGauge,I.object.filmOffset=this.filmOffset,I}}GQ.prototype.isPerspectiveCamera=!0;const yQ=90;class FQ extends QB{constructor(A,I,g){if(super(),this.type="CubeCamera",!0!==g.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=g;const C=new GQ(yQ,1,A,I);C.layers=this.layers,C.up.set(0,-1,0),C.lookAt(new CC(1,0,0)),this.add(C);const B=new GQ(yQ,1,A,I);B.layers=this.layers,B.up.set(0,-1,0),B.lookAt(new CC(-1,0,0)),this.add(B);const Q=new GQ(yQ,1,A,I);Q.layers=this.layers,Q.up.set(0,0,1),Q.lookAt(new CC(0,1,0)),this.add(Q);const E=new GQ(yQ,1,A,I);E.layers=this.layers,E.up.set(0,0,-1),E.lookAt(new CC(0,-1,0)),this.add(E);const i=new GQ(yQ,1,A,I);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new CC(0,0,1)),this.add(i);const o=new GQ(yQ,1,A,I);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new CC(0,0,-1)),this.add(o)}update(A,I){null===this.parent&&this.updateMatrixWorld();const g=this.renderTarget,[C,B,Q,E,i,o]=this.children,t=A.xr.enabled,e=A.getRenderTarget();A.xr.enabled=!1;const s=g.texture.generateMipmaps;g.texture.generateMipmaps=!1,A.setRenderTarget(g,0),A.render(I,C),A.setRenderTarget(g,1),A.render(I,B),A.setRenderTarget(g,2),A.render(I,Q),A.setRenderTarget(g,3),A.render(I,E),A.setRenderTarget(g,4),A.render(I,i),g.texture.generateMipmaps=s,A.setRenderTarget(g,5),A.render(I,o),A.setRenderTarget(e),A.xr.enabled=t}}class RQ extends jg{constructor(A,I,g,C,B,Q,E,i,o,t){super(A=void 0!==A?A:[],I=void 0!==I?I:QA,g,C,B,Q,E,i,o,t),this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}RQ.prototype.isCubeTexture=!0;class NQ extends $g{constructor(A,I,g){Number.isInteger(I)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),I=g),super(A,A,I),I=I||{},this.texture=new RQ(void 0,I.mapping,I.wrapS,I.wrapT,I.magFilter,I.minFilter,I.format,I.type,I.anisotropy,I.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==I.generateMipmaps&&I.generateMipmaps,this.texture.minFilter=void 0!==I.minFilter?I.minFilter:GA,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(A,I){this.texture.type=I.type,this.texture.format=mA,this.texture.encoding=I.encoding,this.texture.generateMipmaps=I.generateMipmaps,this.texture.minFilter=I.minFilter,this.texture.magFilter=I.magFilter;const g={tEquirect:{value:null}},C="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",B="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",Q=new DQ(5,5,5),E=new wQ({name:"CubemapFromEquirect",uniforms:nQ(g),vertexShader:C,fragmentShader:B,side:r,blending:G});E.uniforms.tEquirect.value=I;const i=new sQ(Q,E),o=I.minFilter;return I.minFilter===RA&&(I.minFilter=GA),new FQ(1,10,this).update(A,i),I.minFilter=o,i.geometry.dispose(),i.material.dispose(),this}clear(A,I,g,C){const B=A.getRenderTarget();for(let B=0;B<6;B++)A.setRenderTarget(this,B),A.clear(I,g,C);A.setRenderTarget(B)}}NQ.prototype.isWebGLCubeRenderTarget=!0;const lQ=new CC,MQ=new CC,SQ=new Tg;class UQ{constructor(A=new CC(1,0,0),I=0){this.normal=A,this.constant=I}set(A,I){return this.normal.copy(A),this.constant=I,this}setComponents(A,I,g,C){return this.normal.set(A,I,g),this.constant=C,this}setFromNormalAndCoplanarPoint(A,I){return this.normal.copy(A),this.constant=-I.dot(this.normal),this}setFromCoplanarPoints(A,I,g){const C=lQ.subVectors(g,I).cross(MQ.subVectors(A,I)).normalize();return this.setFromNormalAndCoplanarPoint(C,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,I){return I.copy(this.normal).multiplyScalar(-this.distanceToPoint(A)).add(A)}intersectLine(A,I){const g=A.delta(lQ),C=this.normal.dot(g);if(0===C)return 0===this.distanceToPoint(A.start)?I.copy(A.start):null;const B=-(A.start.dot(this.normal)+this.constant)/C;return B<0||B>1?null:I.copy(g).multiplyScalar(B).add(A.start)}intersectsLine(A){const I=this.distanceToPoint(A.start),g=this.distanceToPoint(A.end);return I<0&&g>0||g<0&&I>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,I){const g=I||SQ.getNormalMatrix(A),C=this.coplanarPoint(lQ).applyMatrix4(A),B=this.normal.applyMatrix3(g).normalize();return this.constant=-C.dot(B),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return(new this.constructor).copy(this)}}UQ.prototype.isPlane=!0;const dQ=new MC,KQ=new CC;class kQ{constructor(A=new UQ,I=new UQ,g=new UQ,C=new UQ,B=new UQ,Q=new UQ){this.planes=[A,I,g,C,B,Q]}set(A,I,g,C,B,Q){const E=this.planes;return E[0].copy(A),E[1].copy(I),E[2].copy(g),E[3].copy(C),E[4].copy(B),E[5].copy(Q),this}copy(A){const I=this.planes;for(let g=0;g<6;g++)I[g].copy(A.planes[g]);return this}setFromProjectionMatrix(A){const I=this.planes,g=A.elements,C=g[0],B=g[1],Q=g[2],E=g[3],i=g[4],o=g[5],t=g[6],e=g[7],s=g[8],a=g[9],D=g[10],n=g[11],r=g[12],h=g[13],w=g[14],c=g[15];return I[0].setComponents(E-C,e-i,n-s,c-r).normalize(),I[1].setComponents(E+C,e+i,n+s,c+r).normalize(),I[2].setComponents(E+B,e+o,n+a,c+h).normalize(),I[3].setComponents(E-B,e-o,n-a,c-h).normalize(),I[4].setComponents(E-Q,e-t,n-D,c-w).normalize(),I[5].setComponents(E+Q,e+t,n+D,c+w).normalize(),this}intersectsObject(A){const I=A.geometry;return null===I.boundingSphere&&I.computeBoundingSphere(),dQ.copy(I.boundingSphere).applyMatrix4(A.matrixWorld),this.intersectsSphere(dQ)}intersectsSprite(A){return dQ.center.set(0,0,0),dQ.radius=.7071067811865476,dQ.applyMatrix4(A.matrixWorld),this.intersectsSphere(dQ)}intersectsSphere(A){const I=this.planes,g=A.center,C=-A.radius;for(let A=0;A<6;A++)if(I[A].distanceToPoint(g)0?A.max.x:A.min.x,KQ.y=C.normal.y>0?A.max.y:A.min.y,KQ.z=C.normal.z>0?A.max.z:A.min.z,C.distanceToPoint(KQ)<0)return!1}return!0}containsPoint(A){const I=this.planes;for(let g=0;g<6;g++)if(I[g].distanceToPoint(A)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function JQ(){let A=null,I=!1,g=null,C=null;function B(I,Q){g(I,Q),C=A.requestAnimationFrame(B)}return{start:function(){!0!==I&&null!==g&&(C=A.requestAnimationFrame(B),I=!0)},stop:function(){A.cancelAnimationFrame(C),I=!1},setAnimationLoop:function(A){g=A},setContext:function(I){A=I}}}function YQ(A,I){const g=I.isWebGL2,C=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),C.get(A)},remove:function(I){I.isInterleavedBufferAttribute&&(I=I.data);const g=C.get(I);g&&(A.deleteBuffer(g.buffer),C.delete(I))},update:function(I,B){if(I.isGLBufferAttribute){const A=C.get(I);return void((!A||A.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\treturn texture2D( envMap, uv ).rgb;\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform vec2 morphTargetsTextureSize;\n\t\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\n\t\t\tfloat texelIndex = float( vertexIndex * stride + offset );\n\t\t\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\n\t\t\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\n\t\t\treturn texture( morphTargetsTexture, morphUV ).xyz;\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\t#ifndef USE_MORPHNORMALS\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\n\t\t\t#else\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\n\t\t\t#endif\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},pQ={common:{diffuse:{value:new MB(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Tg},uv2Transform:{value:new Tg},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new bg(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new MB(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new MB(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Tg}},sprite:{diffuse:{value:new MB(16777215)},opacity:{value:1},center:{value:new bg(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Tg}}},fQ={basic:{uniforms:rQ([pQ.common,pQ.specularmap,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.fog]),vertexShader:LQ.meshbasic_vert,fragmentShader:LQ.meshbasic_frag},lambert:{uniforms:rQ([pQ.common,pQ.specularmap,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)}}]),vertexShader:LQ.meshlambert_vert,fragmentShader:LQ.meshlambert_frag},phong:{uniforms:rQ([pQ.common,pQ.specularmap,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)},specular:{value:new MB(1118481)},shininess:{value:30}}]),vertexShader:LQ.meshphong_vert,fragmentShader:LQ.meshphong_frag},standard:{uniforms:rQ([pQ.common,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.roughnessmap,pQ.metalnessmap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:LQ.meshphysical_vert,fragmentShader:LQ.meshphysical_frag},toon:{uniforms:rQ([pQ.common,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.gradientmap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)}}]),vertexShader:LQ.meshtoon_vert,fragmentShader:LQ.meshtoon_frag},matcap:{uniforms:rQ([pQ.common,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.fog,{matcap:{value:null}}]),vertexShader:LQ.meshmatcap_vert,fragmentShader:LQ.meshmatcap_frag},points:{uniforms:rQ([pQ.points,pQ.fog]),vertexShader:LQ.points_vert,fragmentShader:LQ.points_frag},dashed:{uniforms:rQ([pQ.common,pQ.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:LQ.linedashed_vert,fragmentShader:LQ.linedashed_frag},depth:{uniforms:rQ([pQ.common,pQ.displacementmap]),vertexShader:LQ.depth_vert,fragmentShader:LQ.depth_frag},normal:{uniforms:rQ([pQ.common,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,{opacity:{value:1}}]),vertexShader:LQ.meshnormal_vert,fragmentShader:LQ.meshnormal_frag},sprite:{uniforms:rQ([pQ.sprite,pQ.fog]),vertexShader:LQ.sprite_vert,fragmentShader:LQ.sprite_frag},background:{uniforms:{uvTransform:{value:new Tg},t2D:{value:null}},vertexShader:LQ.background_vert,fragmentShader:LQ.background_frag},cube:{uniforms:rQ([pQ.envmap,{opacity:{value:1}}]),vertexShader:LQ.cube_vert,fragmentShader:LQ.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:LQ.equirect_vert,fragmentShader:LQ.equirect_frag},distanceRGBA:{uniforms:rQ([pQ.common,pQ.displacementmap,{referencePosition:{value:new CC},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:LQ.distanceRGBA_vert,fragmentShader:LQ.distanceRGBA_frag},shadow:{uniforms:rQ([pQ.lights,pQ.fog,{color:{value:new MB(0)},opacity:{value:1}}]),vertexShader:LQ.shadow_vert,fragmentShader:LQ.shadow_frag}};function HQ(A,I,g,C,B){const Q=new MB(0);let E,i,o=0,t=null,e=0,s=null;function a(A,I){g.buffers.color.setClear(A.r,A.g,A.b,I,B)}return{getClearColor:function(){return Q},setClearColor:function(A,I=1){Q.set(A),o=I,a(Q,o)},getClearAlpha:function(){return o},setClearAlpha:function(A){o=A,a(Q,o)},render:function(g,B){let D=!1,h=!0===B.isScene?B.background:null;h&&h.isTexture&&(h=I.get(h));const w=A.xr,c=w.getSession&&w.getSession();c&&"additive"===c.environmentBlendMode&&(h=null),null===h?a(Q,o):h&&h.isColor&&(a(h,1),D=!0),(A.autoClear||D)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),h&&(h.isCubeTexture||h.mapping===tA)?(void 0===i&&(i=new sQ(new DQ(1,1,1),new wQ({name:"BackgroundCubeMaterial",uniforms:nQ(fQ.cube.uniforms),vertexShader:fQ.cube.vertexShader,fragmentShader:fQ.cube.fragmentShader,side:r,depthTest:!1,depthWrite:!1,fog:!1})),i.geometry.deleteAttribute("normal"),i.geometry.deleteAttribute("uv"),i.onBeforeRender=function(A,I,g){this.matrixWorld.copyPosition(g.matrixWorld)},Object.defineProperty(i.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),C.update(i)),i.material.uniforms.envMap.value=h,i.material.uniforms.flipEnvMap.value=h.isCubeTexture&&!1===h.isRenderTargetTexture?-1:1,t===h&&e===h.version&&s===A.toneMapping||(i.material.needsUpdate=!0,t=h,e=h.version,s=A.toneMapping),g.unshift(i,i.geometry,i.material,0,0,null)):h&&h.isTexture&&(void 0===E&&(E=new sQ(new uQ(2,2),new wQ({name:"BackgroundMaterial",uniforms:nQ(fQ.background.uniforms),vertexShader:fQ.background.vertexShader,fragmentShader:fQ.background.fragmentShader,side:n,depthTest:!1,depthWrite:!1,fog:!1})),E.geometry.deleteAttribute("normal"),Object.defineProperty(E.material,"map",{get:function(){return this.uniforms.t2D.value}}),C.update(E)),E.material.uniforms.t2D.value=h,!0===h.matrixAutoUpdate&&h.updateMatrix(),E.material.uniforms.uvTransform.value.copy(h.matrix),t===h&&e===h.version&&s===A.toneMapping||(E.material.needsUpdate=!0,t=h,e=h.version,s=A.toneMapping),g.unshift(E,E.geometry,E.material,0,0,null))}}}function mQ(A,I,g,C){const B=A.getParameter(34921),Q=C.isWebGL2?null:I.get("OES_vertex_array_object"),E=C.isWebGL2||null!==Q,i={},o=a(null);let t=o;function e(I){return C.isWebGL2?A.bindVertexArray(I):Q.bindVertexArrayOES(I)}function s(I){return C.isWebGL2?A.deleteVertexArray(I):Q.deleteVertexArrayOES(I)}function a(A){const I=[],g=[],C=[];for(let A=0;A=0){let Q=o[I];if(void 0===Q&&("instanceMatrix"===I&&B.instanceMatrix&&(Q=B.instanceMatrix),"instanceColor"===I&&B.instanceColor&&(Q=B.instanceColor)),void 0!==Q){const I=Q.normalized,E=Q.itemSize,o=g.get(Q);if(void 0===o)continue;const t=o.buffer,e=o.type,s=o.bytesPerElement;if(Q.isInterleavedBufferAttribute){const g=Q.data,o=g.stride,a=Q.offset;if(g&&g.isInstancedInterleavedBuffer){for(let A=0;A0&&A.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";I="mediump"}return"mediump"===I&&A.getShaderPrecisionFormat(35633,36337).precision>0&&A.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const Q="undefined"!=typeof WebGL2RenderingContext&&A instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&A instanceof WebGL2ComputeRenderingContext;let E=void 0!==g.precision?g.precision:"highp";const i=B(E);i!==E&&(console.warn("THREE.WebGLRenderer:",E,"not supported, using",i,"instead."),E=i);const o=Q||I.has("WEBGL_draw_buffers"),t=!0===g.logarithmicDepthBuffer,e=A.getParameter(34930),s=A.getParameter(35660),a=A.getParameter(3379),D=A.getParameter(34076),n=A.getParameter(34921),r=A.getParameter(36347),h=A.getParameter(36348),w=A.getParameter(36349),c=s>0,G=Q||I.has("OES_texture_float");return{isWebGL2:Q,drawBuffers:o,getMaxAnisotropy:function(){if(void 0!==C)return C;if(!0===I.has("EXT_texture_filter_anisotropic")){const g=I.get("EXT_texture_filter_anisotropic");C=A.getParameter(g.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else C=0;return C},getMaxPrecision:B,precision:E,logarithmicDepthBuffer:t,maxTextures:e,maxVertexTextures:s,maxTextureSize:a,maxCubemapSize:D,maxAttributes:n,maxVertexUniforms:r,maxVaryings:h,maxFragmentUniforms:w,vertexTextures:c,floatFragmentTextures:G,floatVertexTextures:c&&G,maxSamples:Q?A.getParameter(36183):0}}function bQ(A){const I=this;let g=null,C=0,B=!1,Q=!1;const E=new UQ,i=new Tg,o={value:null,needsUpdate:!1};function t(){o.value!==g&&(o.value=g,o.needsUpdate=C>0),I.numPlanes=C,I.numIntersection=0}function e(A,g,C,B){const Q=null!==A?A.length:0;let t=null;if(0!==Q){if(t=o.value,!0!==B||null===t){const I=C+4*Q,B=g.matrixWorldInverse;i.getNormalMatrix(B),(null===t||t.length0){const E=A.getRenderTarget(),i=new NQ(Q.height/2);return i.fromEquirectangularTexture(A,B),I.set(B,i),A.setRenderTarget(E),B.addEventListener("dispose",C),g(i.texture,B.mapping)}return null}}}return B},dispose:function(){I=new WeakMap}}}fQ.physical={uniforms:rQ([fQ.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new bg(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new MB(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new bg},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new MB(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new MB(1,1,1)},specularColorMap:{value:null}}]),vertexShader:LQ.meshphysical_vert,fragmentShader:LQ.meshphysical_frag};class VQ extends cQ{constructor(A=-1,I=1,g=1,C=-1,B=.1,Q=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=I,this.top=g,this.bottom=C,this.near=B,this.far=Q,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this}setViewOffset(A,I,g,C,B,Q){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=I,this.view.offsetX=g,this.view.offsetY=C,this.view.width=B,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),I=(this.top-this.bottom)/(2*this.zoom),g=(this.right+this.left)/2,C=(this.top+this.bottom)/2;let B=g-A,Q=g+A,E=C+I,i=C-I;if(null!==this.view&&this.view.enabled){const A=(this.right-this.left)/this.view.fullWidth/this.zoom,I=(this.top-this.bottom)/this.view.fullHeight/this.zoom;B+=A*this.view.offsetX,Q=B+A*this.view.width,E-=I*this.view.offsetY,i=E-I*this.view.height}this.projectionMatrix.makeOrthographic(B,Q,E,i,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.zoom=this.zoom,I.object.left=this.left,I.object.right=this.right,I.object.top=this.top,I.object.bottom=this.bottom,I.object.near=this.near,I.object.far=this.far,null!==this.view&&(I.object.view=Object.assign({},this.view)),I}}VQ.prototype.isOrthographicCamera=!0;class WQ extends wQ{constructor(A){super(A),this.type="RawShaderMaterial"}}WQ.prototype.isRawShaderMaterial=!0;const vQ=Math.pow(2,8),ZQ=[.125,.215,.35,.446,.526,.582],OQ=5+ZQ.length,XQ={[PI]:0,[jI]:1},PQ=new VQ,{_lodPlanes:jQ,_sizeLods:zQ,_sigmas:_Q}=QE(),$Q=new MB;let AE=null;const IE=(1+Math.sqrt(5))/2,gE=1/IE,CE=[new CC(1,1,1),new CC(-1,1,1),new CC(1,1,-1),new CC(-1,1,-1),new CC(0,IE,gE),new CC(0,IE,-gE),new CC(gE,0,IE),new CC(-gE,0,IE),new CC(IE,gE,0),new CC(-IE,gE,0)];class BE{constructor(A){this._renderer=A,this._pingPongRenderTarget=null,this._blurMaterial=function(A){const I=new Float32Array(20),g=new CC(0,1,0);return new WQ({name:"SphericalGaussianBlur",defines:{n:20},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:I},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:g}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:G,depthTest:!1,depthWrite:!1})}(),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(A,I=0,g=.1,C=100){AE=this._renderer.getRenderTarget();const B=this._allocateTargets();return this._sceneToCubeUV(A,g,C,B),I>0&&this._blur(B,0,0,I),this._applyPMREM(B),this._cleanup(B),B}fromEquirectangular(A){return this._fromTexture(A)}fromCubemap(A){return this._fromTexture(A)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=tE(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=oE(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let A=0;A2?vQ:0,vQ,vQ),i.setRenderTarget(C),a&&i.render(s,B),i.render(A,B)}s.geometry.dispose(),s.material.dispose(),i.toneMapping=t,i.autoClear=o,A.background=D}_setEncoding(A,I){!0===this._renderer.capabilities.isWebGL2&&I.format===mA&&I.type===lA&&I.encoding===jI?A.value=XQ[PI]:A.value=XQ[I.encoding]}_textureToCubeUV(A,I){const g=this._renderer,C=A.mapping===QA||A.mapping===EA;C?null==this._cubemapShader&&(this._cubemapShader=tE()):null==this._equirectShader&&(this._equirectShader=oE());const B=C?this._cubemapShader:this._equirectShader,Q=new sQ(jQ[0],B),E=B.uniforms;E.envMap.value=A,C||E.texelSize.value.set(1/A.image.width,1/A.image.height),this._setEncoding(E.inputEncoding,A),iE(I,0,0,3*vQ,2*vQ),g.setRenderTarget(I),g.render(Q,PQ)}_applyPMREM(A){const I=this._renderer,g=I.autoClear;I.autoClear=!1;for(let I=1;I20&&console.warn(`sigmaRadians, ${B}, is too large and will clip, as it requested ${n} samples when the maximum is set to 20`);const r=[];let h=0;for(let A=0;A<20;++A){const I=A/D,g=Math.exp(-I*I/2);r.push(g),0==A?h+=g:A4?C-8+4:0),3*w,2*w),i.setRenderTarget(I),i.render(t,PQ)}}function QE(){const A=[],I=[],g=[];let C=8;for(let B=0;B4?E=ZQ[B-8+4-1]:0==B&&(E=0),g.push(E);const i=1/(Q-1),o=-i/2,t=1+i/2,e=[o,o,t,o,t,t,o,o,t,t,o,t],s=6,a=6,D=3,n=2,r=1,h=new Float32Array(D*a*s),w=new Float32Array(n*a*s),c=new Float32Array(r*a*s);for(let A=0;A2?0:-1,C=[I,g,0,I+2/3,g,0,I+2/3,g+1,0,I,g,0,I+2/3,g+1,0,I,g+1,0];h.set(C,D*a*A),w.set(e,n*a*A);const B=[A,A,A,A,A,A];c.set(B,r*a*A)}const G=new OB;G.setAttribute("position",new KB(h,D)),G.setAttribute("uv",new KB(w,n)),G.setAttribute("faceIndex",new KB(c,r)),A.push(G),C>4&&C--}return{_lodPlanes:A,_sizeLods:I,_sigmas:g}}function EE(A){const I=new $g(3*vQ,3*vQ,A);return I.texture.mapping=tA,I.texture.name="PMREM.cubeUv",I.scissorTest=!0,I}function iE(A,I,g,C,B){A.viewport.set(I,g,C,B),A.scissor.set(I,g,C,B)}function oE(){const A=new bg(1,1);return new WQ({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:A},inputEncoding:{value:XQ[PI]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t}\n\t\t",blending:G,depthTest:!1,depthWrite:!1})}function tE(){return new WQ({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:XQ[PI]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\n\n\t\t\t}\n\t\t",blending:G,depthTest:!1,depthWrite:!1})}function eE(A){let I=new WeakMap,g=null;function C(A){const g=A.target;g.removeEventListener("dispose",C);const B=I.get(g);void 0!==B&&(I.delete(g),B.dispose())}return{get:function(B){if(B&&B.isTexture&&!1===B.isRenderTargetTexture){const Q=B.mapping,E=Q===iA||Q===oA,i=Q===QA||Q===EA;if(E||i){if(I.has(B))return I.get(B).texture;{const Q=B.image;if(E&&Q&&Q.height>0||i&&Q&&function(A){let I=0;for(let g=0;g<6;g++)void 0!==A[g]&&I++;return 6===I}(Q)){const Q=A.getRenderTarget();null===g&&(g=new BE(A));const i=E?g.fromEquirectangular(B):g.fromCubemap(B);return I.set(B,i),A.setRenderTarget(Q),B.addEventListener("dispose",C),i.texture}return null}}}return B},dispose:function(){I=new WeakMap,null!==g&&(g.dispose(),g=null)}}}function sE(A){const I={};function g(g){if(void 0!==I[g])return I[g];let C;switch(g){case"WEBGL_depth_texture":C=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":C=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":C=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":C=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:C=A.getExtension(g)}return I[g]=C,C}return{has:function(A){return null!==g(A)},init:function(A){A.isWebGL2?g("EXT_color_buffer_float"):(g("WEBGL_depth_texture"),g("OES_texture_float"),g("OES_texture_half_float"),g("OES_texture_half_float_linear"),g("OES_standard_derivatives"),g("OES_element_index_uint"),g("OES_vertex_array_object"),g("ANGLE_instanced_arrays")),g("OES_texture_float_linear"),g("EXT_color_buffer_half_float"),g("WEBGL_multisampled_render_to_texture")},get:function(A){const I=g(A);return null===I&&console.warn("THREE.WebGLRenderer: "+A+" extension not supported."),I}}}function aE(A,I,g,C){const B={},Q=new WeakMap;function E(A){const i=A.target;null!==i.index&&I.remove(i.index);for(const A in i.attributes)I.remove(i.attributes[A]);i.removeEventListener("dispose",E),delete B[i.id];const o=Q.get(i);o&&(I.remove(o),Q.delete(i)),C.releaseStatesOfGeometry(i),!0===i.isInstancedBufferGeometry&&delete i._maxInstanceCount,g.memory.geometries--}function i(A){const g=[],C=A.index,B=A.attributes.position;let E=0;if(null!==C){const A=C.array;E=C.version;for(let I=0,C=A.length;I65535?fB:LB)(g,1);i.version=E;const o=Q.get(A);o&&I.remove(o),Q.set(A,i)}return{get:function(A,I){return!0===B[I.id]||(I.addEventListener("dispose",E),B[I.id]=!0,g.memory.geometries++),I},update:function(A){const g=A.attributes;for(const A in g)I.update(g[A],34962);const C=A.morphAttributes;for(const A in C){const g=C[A];for(let A=0,C=g.length;AI.maxTextureSize&&(s=Math.ceil(e/I.maxTextureSize),e=I.maxTextureSize);const a=new Float32Array(e*s*4*C),D=new rE(a,e,s,C);D.format=mA,D.type=kA,D.needsUpdate=!0;const n=4*o;for(let I=0;I0)return A;const B=I*g;let Q=SE[B];if(void 0===Q&&(Q=new Float32Array(B),SE[B]=Q),0!==I){C.toArray(Q,0);for(let C=1,B=0;C!==I;++C)B+=g,A[C].toArray(Q,B)}return Q}function YE(A,I){if(A.length!==I.length)return!1;for(let g=0,C=A.length;g/gm;function Hi(A){return A.replace(fi,mi)}function mi(A,I){const g=LQ[I];if(void 0===g)throw new Error("Can not resolve #include <"+I+">");return Hi(g)}const qi=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,xi=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function bi(A){return A.replace(xi,Vi).replace(qi,Ti)}function Ti(A,I,g,C){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Vi(0,I,g,C)}function Vi(A,I,g,C){let B="";for(let A=parseInt(I);A0&&(c+="\n"),G=[r,h].filter(ui).join("\n"),G.length>0&&(G+="\n")):(c=[Wi(g),"#define SHADER_NAME "+g.shaderName,h,g.instancing?"#define USE_INSTANCING":"",g.instancingColor?"#define USE_INSTANCING_COLOR":"",g.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define MAX_BONES "+g.maxBones,g.useFog&&g.fog?"#define USE_FOG":"",g.useFog&&g.fogExp2?"#define FOG_EXP2":"",g.map?"#define USE_MAP":"",g.envMap?"#define USE_ENVMAP":"",g.envMap?"#define "+e:"",g.lightMap?"#define USE_LIGHTMAP":"",g.aoMap?"#define USE_AOMAP":"",g.emissiveMap?"#define USE_EMISSIVEMAP":"",g.bumpMap?"#define USE_BUMPMAP":"",g.normalMap?"#define USE_NORMALMAP":"",g.normalMap&&g.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",g.normalMap&&g.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",g.clearcoatMap?"#define USE_CLEARCOATMAP":"",g.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",g.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",g.displacementMap&&g.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",g.specularMap?"#define USE_SPECULARMAP":"",g.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",g.specularColorMap?"#define USE_SPECULARCOLORMAP":"",g.roughnessMap?"#define USE_ROUGHNESSMAP":"",g.metalnessMap?"#define USE_METALNESSMAP":"",g.alphaMap?"#define USE_ALPHAMAP":"",g.transmission?"#define USE_TRANSMISSION":"",g.transmissionMap?"#define USE_TRANSMISSIONMAP":"",g.thicknessMap?"#define USE_THICKNESSMAP":"",g.sheenColorMap?"#define USE_SHEENCOLORMAP":"",g.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",g.vertexTangents?"#define USE_TANGENT":"",g.vertexColors?"#define USE_COLOR":"",g.vertexAlphas?"#define USE_COLOR_ALPHA":"",g.vertexUvs?"#define USE_UV":"",g.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",g.flatShading?"#define FLAT_SHADED":"",g.skinning?"#define USE_SKINNING":"",g.useVertexTexture?"#define BONE_TEXTURE":"",g.morphTargets?"#define USE_MORPHTARGETS":"",g.morphNormals&&!1===g.flatShading?"#define USE_MORPHNORMALS":"",g.morphTargets&&g.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",g.morphTargets&&g.isWebGL2?"#define MORPHTARGETS_COUNT "+g.morphTargetsCount:"",g.doubleSided?"#define DOUBLE_SIDED":"",g.flipSided?"#define FLIP_SIDED":"",g.shadowMapEnabled?"#define USE_SHADOWMAP":"",g.shadowMapEnabled?"#define "+o:"",g.sizeAttenuation?"#define USE_SIZEATTENUATION":"",g.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",g.logarithmicDepthBuffer&&g.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ui).join("\n"),G=[r,Wi(g),"#define SHADER_NAME "+g.shaderName,h,g.useFog&&g.fog?"#define USE_FOG":"",g.useFog&&g.fogExp2?"#define FOG_EXP2":"",g.map?"#define USE_MAP":"",g.matcap?"#define USE_MATCAP":"",g.envMap?"#define USE_ENVMAP":"",g.envMap?"#define "+t:"",g.envMap?"#define "+e:"",g.envMap?"#define "+n:"",g.lightMap?"#define USE_LIGHTMAP":"",g.aoMap?"#define USE_AOMAP":"",g.emissiveMap?"#define USE_EMISSIVEMAP":"",g.bumpMap?"#define USE_BUMPMAP":"",g.normalMap?"#define USE_NORMALMAP":"",g.normalMap&&g.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",g.normalMap&&g.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",g.clearcoat?"#define USE_CLEARCOAT":"",g.clearcoatMap?"#define USE_CLEARCOATMAP":"",g.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",g.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",g.specularMap?"#define USE_SPECULARMAP":"",g.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",g.specularColorMap?"#define USE_SPECULARCOLORMAP":"",g.roughnessMap?"#define USE_ROUGHNESSMAP":"",g.metalnessMap?"#define USE_METALNESSMAP":"",g.alphaMap?"#define USE_ALPHAMAP":"",g.alphaTest?"#define USE_ALPHATEST":"",g.sheen?"#define USE_SHEEN":"",g.sheenColorMap?"#define USE_SHEENCOLORMAP":"",g.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",g.transmission?"#define USE_TRANSMISSION":"",g.transmissionMap?"#define USE_TRANSMISSIONMAP":"",g.thicknessMap?"#define USE_THICKNESSMAP":"",g.vertexTangents?"#define USE_TANGENT":"",g.vertexColors||g.instancingColor?"#define USE_COLOR":"",g.vertexAlphas?"#define USE_COLOR_ALPHA":"",g.vertexUvs?"#define USE_UV":"",g.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",g.gradientMap?"#define USE_GRADIENTMAP":"",g.flatShading?"#define FLAT_SHADED":"",g.doubleSided?"#define DOUBLE_SIDED":"",g.flipSided?"#define FLIP_SIDED":"",g.shadowMapEnabled?"#define USE_SHADOWMAP":"",g.shadowMapEnabled?"#define "+o:"",g.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",g.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",g.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",g.logarithmicDepthBuffer&&g.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(g.extensionShaderTextureLOD||g.envMap)&&g.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",g.toneMapping!==_?"#define TONE_MAPPING":"",g.toneMapping!==_?LQ.tonemapping_pars_fragment:"",g.toneMapping!==_?Yi("toneMapping",g.toneMapping):"",g.dithering?"#define DITHERING":"",g.format===HA?"#define OPAQUE":"",LQ.encodings_pars_fragment,g.map?ki("mapTexelToLinear",g.mapEncoding):"",g.matcap?ki("matcapTexelToLinear",g.matcapEncoding):"",g.envMap?ki("envMapTexelToLinear",g.envMapEncoding):"",g.emissiveMap?ki("emissiveMapTexelToLinear",g.emissiveMapEncoding):"",g.specularColorMap?ki("specularColorMapTexelToLinear",g.specularColorMapEncoding):"",g.sheenColorMap?ki("sheenColorMapTexelToLinear",g.sheenColorMapEncoding):"",g.lightMap?ki("lightMapTexelToLinear",g.lightMapEncoding):"",Ji("linearToOutputTexel",g.outputEncoding),g.depthPacking?"#define DEPTH_PACKING "+g.depthPacking:"","\n"].filter(ui).join("\n")),E=Hi(E),E=Li(E,g),E=pi(E,g),i=Hi(i),i=Li(i,g),i=pi(i,g),E=bi(E),i=bi(i),g.isWebGL2&&!0!==g.isRawShaderMaterial&&(y="#version 300 es\n",c=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+c,G=["#define varying in",g.glslVersion===Ug?"":"layout(location = 0) out highp vec4 pc_fragColor;",g.glslVersion===Ug?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+G);const F=y+G+i,R=Si(B,35633,y+c+E),N=Si(B,35632,F);if(B.attachShader(w,R),B.attachShader(w,N),void 0!==g.index0AttributeName?B.bindAttribLocation(w,0,g.index0AttributeName):!0===g.morphTargets&&B.bindAttribLocation(w,0,"position"),B.linkProgram(w),A.debug.checkShaderErrors){const A=B.getProgramInfoLog(w).trim(),I=B.getShaderInfoLog(R).trim(),g=B.getShaderInfoLog(N).trim();let C=!0,Q=!0;if(!1===B.getProgramParameter(w,35714)){C=!1;const I=Ki(B,R,"vertex"),g=Ki(B,N,"fragment");console.error("THREE.WebGLProgram: Shader Error "+B.getError()+" - VALIDATE_STATUS "+B.getProgramParameter(w,35715)+"\n\nProgram Info Log: "+A+"\n"+I+"\n"+g)}else""!==A?console.warn("THREE.WebGLProgram: Program Info Log:",A):""!==I&&""!==g||(Q=!1);Q&&(this.diagnostics={runnable:C,programLog:A,vertexShader:{log:I,prefix:c},fragmentShader:{log:g,prefix:G}})}let l,M;return B.deleteShader(R),B.deleteShader(N),this.getUniforms=function(){return void 0===l&&(l=new Mi(B,w)),l},this.getAttributes=function(){return void 0===M&&(M=function(A,I){const g={},C=A.getProgramParameter(I,35721);for(let B=0;B0,u=Q.clearcoat>0;return{isWebGL2:e,shaderID:M,shaderName:Q.type,vertexShader:U,fragmentShader:d,defines:Q.defines,customVertexShaderID:K,customFragmentShaderID:k,isRawShaderMaterial:!0===Q.isRawShaderMaterial,glslVersion:Q.glslVersion,precision:w,instancing:!0===F.isInstancedMesh,instancingColor:!0===F.isInstancedMesh&&null!==F.instanceColor,supportsVertexTextures:n,outputEncoding:null!==J?G(J.texture):A.outputEncoding,map:!!Q.map,mapEncoding:G(Q.map),matcap:!!Q.matcap,matcapEncoding:G(Q.matcap),envMap:!!l,envMapMode:l&&l.mapping,envMapEncoding:G(l),envMapCubeUV:!!l&&(l.mapping===tA||l.mapping===eA),lightMap:!!Q.lightMap,lightMapEncoding:G(Q.lightMap),aoMap:!!Q.aoMap,emissiveMap:!!Q.emissiveMap,emissiveMapEncoding:G(Q.emissiveMap),bumpMap:!!Q.bumpMap,normalMap:!!Q.normalMap,objectSpaceNormalMap:Q.normalMapType===Ag,tangentSpaceNormalMap:Q.normalMapType===$I,clearcoat:u,clearcoatMap:u&&!!Q.clearcoatMap,clearcoatRoughnessMap:u&&!!Q.clearcoatRoughnessMap,clearcoatNormalMap:u&&!!Q.clearcoatNormalMap,displacementMap:!!Q.displacementMap,roughnessMap:!!Q.roughnessMap,metalnessMap:!!Q.metalnessMap,specularMap:!!Q.specularMap,specularIntensityMap:!!Q.specularIntensityMap,specularColorMap:!!Q.specularColorMap,specularColorMapEncoding:G(Q.specularColorMap),alphaMap:!!Q.alphaMap,alphaTest:Y,gradientMap:!!Q.gradientMap,sheen:Q.sheen>0,sheenColorMap:!!Q.sheenColorMap,sheenColorMapEncoding:G(Q.sheenColorMap),sheenRoughnessMap:!!Q.sheenRoughnessMap,transmission:Q.transmission>0,transmissionMap:!!Q.transmissionMap,thicknessMap:!!Q.thicknessMap,combine:Q.combine,vertexTangents:!!Q.normalMap&&!!F.geometry&&!!F.geometry.attributes.tangent,vertexColors:Q.vertexColors,vertexAlphas:!0===Q.vertexColors&&!!F.geometry&&!!F.geometry.attributes.color&&4===F.geometry.attributes.color.itemSize,vertexUvs:!!(Q.map||Q.bumpMap||Q.normalMap||Q.specularMap||Q.alphaMap||Q.emissiveMap||Q.roughnessMap||Q.metalnessMap||Q.clearcoatMap||Q.clearcoatRoughnessMap||Q.clearcoatNormalMap||Q.displacementMap||Q.transmissionMap||Q.thicknessMap||Q.specularIntensityMap||Q.specularColorMap||Q.sheenColorMap||Q.sheenRoughnessMap),uvsVertexOnly:!(Q.map||Q.bumpMap||Q.normalMap||Q.specularMap||Q.alphaMap||Q.emissiveMap||Q.roughnessMap||Q.metalnessMap||Q.clearcoatNormalMap||Q.transmission>0||Q.transmissionMap||Q.thicknessMap||Q.specularIntensityMap||Q.specularColorMap||Q.sheen>0||Q.sheenColorMap||Q.sheenRoughnessMap||!Q.displacementMap),fog:!!R,useFog:Q.fog,fogExp2:R&&R.isFogExp2,flatShading:!!Q.flatShading,sizeAttenuation:Q.sizeAttenuation,logarithmicDepthBuffer:s,skinning:!0===F.isSkinnedMesh&&S>0,maxBones:S,useVertexTexture:a,morphTargets:!!F.geometry&&!!F.geometry.morphAttributes.position,morphNormals:!!F.geometry&&!!F.geometry.morphAttributes.normal,morphTargetsCount:F.geometry&&F.geometry.morphAttributes.position?F.geometry.morphAttributes.position.length:0,numDirLights:i.directional.length,numPointLights:i.point.length,numSpotLights:i.spot.length,numRectAreaLights:i.rectArea.length,numHemiLights:i.hemi.length,numDirLightShadows:i.directionalShadowMap.length,numPointLightShadows:i.pointShadowMap.length,numSpotLightShadows:i.spotShadowMap.length,numClippingPlanes:E.numPlanes,numClipIntersection:E.numIntersection,format:Q.format,dithering:Q.dithering,shadowMapEnabled:A.shadowMap.enabled&&t.length>0,shadowMapType:A.shadowMap.type,toneMapping:Q.toneMapped?A.toneMapping:_,physicallyCorrectLights:A.physicallyCorrectLights,premultipliedAlpha:Q.premultipliedAlpha,doubleSided:Q.side===h,flipSided:Q.side===r,depthPacking:void 0!==Q.depthPacking&&Q.depthPacking,index0AttributeName:Q.index0AttributeName,extensionDerivatives:Q.extensions&&Q.extensions.derivatives,extensionFragDepth:Q.extensions&&Q.extensions.fragDepth,extensionDrawBuffers:Q.extensions&&Q.extensions.drawBuffers,extensionShaderTextureLOD:Q.extensions&&Q.extensions.shaderTextureLOD,rendererExtensionFragDepth:e||C.has("EXT_frag_depth"),rendererExtensionDrawBuffers:e||C.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:e||C.has("EXT_shader_texture_lod"),customProgramCacheKey:Q.customProgramCacheKey()}},getProgramCacheKey:function(I){const g=[];if(I.shaderID?g.push(I.shaderID):(g.push(I.customVertexShaderID),g.push(I.customFragmentShaderID)),void 0!==I.defines)for(const A in I.defines)g.push(A),g.push(I.defines[A]);return!1===I.isRawShaderMaterial&&(function(A,I){A.push(I.precision),A.push(I.outputEncoding),A.push(I.mapEncoding),A.push(I.matcapEncoding),A.push(I.envMapMode),A.push(I.envMapEncoding),A.push(I.lightMapEncoding),A.push(I.emissiveMapEncoding),A.push(I.combine),A.push(I.vertexUvs),A.push(I.fogExp2),A.push(I.sizeAttenuation),A.push(I.maxBones),A.push(I.morphTargetsCount),A.push(I.numDirLights),A.push(I.numPointLights),A.push(I.numSpotLights),A.push(I.numHemiLights),A.push(I.numRectAreaLights),A.push(I.numDirLightShadows),A.push(I.numPointLightShadows),A.push(I.numSpotLightShadows),A.push(I.shadowMapType),A.push(I.toneMapping),A.push(I.numClippingPlanes),A.push(I.numClipIntersection),A.push(I.format),A.push(I.specularColorMapEncoding),A.push(I.sheenColorMapEncoding)}(g,I),function(A,I){i.disableAll(),I.isWebGL2&&i.enable(0),I.supportsVertexTextures&&i.enable(1),I.instancing&&i.enable(2),I.instancingColor&&i.enable(3),I.map&&i.enable(4),I.matcap&&i.enable(5),I.envMap&&i.enable(6),I.envMapCubeUV&&i.enable(7),I.lightMap&&i.enable(8),I.aoMap&&i.enable(9),I.emissiveMap&&i.enable(10),I.bumpMap&&i.enable(11),I.normalMap&&i.enable(12),I.objectSpaceNormalMap&&i.enable(13),I.tangentSpaceNormalMap&&i.enable(14),I.clearcoat&&i.enable(15),I.clearcoatMap&&i.enable(16),I.clearcoatRoughnessMap&&i.enable(17),I.clearcoatNormalMap&&i.enable(18),I.displacementMap&&i.enable(19),I.specularMap&&i.enable(20),I.roughnessMap&&i.enable(21),I.metalnessMap&&i.enable(22),I.gradientMap&&i.enable(23),I.alphaMap&&i.enable(24),I.alphaTest&&i.enable(25),I.vertexColors&&i.enable(26),I.vertexAlphas&&i.enable(27),I.vertexUvs&&i.enable(28),I.vertexTangents&&i.enable(29),I.uvsVertexOnly&&i.enable(30),I.fog&&i.enable(31),A.push(i.mask),i.disableAll(),I.useFog&&i.enable(0),I.flatShading&&i.enable(1),I.logarithmicDepthBuffer&&i.enable(2),I.skinning&&i.enable(3),I.useVertexTexture&&i.enable(4),I.morphTargets&&i.enable(5),I.morphNormals&&i.enable(6),I.premultipliedAlpha&&i.enable(7),I.shadowMapEnabled&&i.enable(8),I.physicallyCorrectLights&&i.enable(9),I.doubleSided&&i.enable(10),I.flipSided&&i.enable(11),I.depthPacking&&i.enable(12),I.dithering&&i.enable(13),I.specularIntensityMap&&i.enable(14),I.specularColorMap&&i.enable(15),I.transmission&&i.enable(16),I.transmissionMap&&i.enable(17),I.thicknessMap&&i.enable(18),I.sheen&&i.enable(19),I.sheenColorMap&&i.enable(20),I.sheenRoughnessMap&&i.enable(21),A.push(i.mask)}(g,I),g.push(A.outputEncoding)),g.push(I.customProgramCacheKey),g.join()},getUniforms:function(A){const I=c[A.type];let g;if(I){const A=fQ[I];g=hQ.clone(A.uniforms)}else g=A.uniforms;return g},acquireProgram:function(I,g){let C;for(let A=0,I=t.length;A0?C.push(e):!0===E.transparent?B.push(e):g.push(e)},unshift:function(A,I,E,i,o,t){const e=Q(A,I,E,i,o,t);E.transmission>0?C.unshift(e):!0===E.transparent?B.unshift(e):g.unshift(e)},finish:function(){for(let g=I,C=A.length;g1&&g.sort(A||zi),C.length>1&&C.sort(I||_i),B.length>1&&B.sort(I||_i)}}}function Ao(){let A=new WeakMap;return{get:function(I,g){let C;return!1===A.has(I)?(C=new $i,A.set(I,[C])):g>=A.get(I).length?(C=new $i,A.get(I).push(C)):C=A.get(I)[g],C},dispose:function(){A=new WeakMap}}}function Io(){const A={};return{get:function(I){if(void 0!==A[I.id])return A[I.id];let g;switch(I.type){case"DirectionalLight":g={direction:new CC,color:new MB};break;case"SpotLight":g={position:new CC,direction:new CC,color:new MB,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":g={position:new CC,color:new MB,distance:0,decay:0};break;case"HemisphereLight":g={direction:new CC,skyColor:new MB,groundColor:new MB};break;case"RectAreaLight":g={color:new MB,position:new CC,halfWidth:new CC,halfHeight:new CC}}return A[I.id]=g,g}}}let go=0;function Co(A,I){return(I.castShadow?1:0)-(A.castShadow?1:0)}function Bo(A,I){const g=new Io,C=function(){const A={};return{get:function(I){if(void 0!==A[I.id])return A[I.id];let g;switch(I.type){case"DirectionalLight":case"SpotLight":g={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new bg};break;case"PointLight":g={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new bg,shadowCameraNear:1,shadowCameraFar:1e3}}return A[I.id]=g,g}}}(),B={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let A=0;A<9;A++)B.probe.push(new CC);const Q=new CC,E=new LC,i=new LC;return{setup:function(Q,E){let i=0,o=0,t=0;for(let A=0;A<9;A++)B.probe[A].set(0,0,0);let e=0,s=0,a=0,D=0,n=0,r=0,h=0,w=0;Q.sort(Co);const c=!0!==E?Math.PI:1;for(let A=0,I=Q.length;A0&&(I.isWebGL2||!0===A.has("OES_texture_float_linear")?(B.rectAreaLTC1=pQ.LTC_FLOAT_1,B.rectAreaLTC2=pQ.LTC_FLOAT_2):!0===A.has("OES_texture_half_float_linear")?(B.rectAreaLTC1=pQ.LTC_HALF_1,B.rectAreaLTC2=pQ.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),B.ambient[0]=i,B.ambient[1]=o,B.ambient[2]=t;const G=B.hash;G.directionalLength===e&&G.pointLength===s&&G.spotLength===a&&G.rectAreaLength===D&&G.hemiLength===n&&G.numDirectionalShadows===r&&G.numPointShadows===h&&G.numSpotShadows===w||(B.directional.length=e,B.spot.length=a,B.rectArea.length=D,B.point.length=s,B.hemi.length=n,B.directionalShadow.length=r,B.directionalShadowMap.length=r,B.pointShadow.length=h,B.pointShadowMap.length=h,B.spotShadow.length=w,B.spotShadowMap.length=w,B.directionalShadowMatrix.length=r,B.pointShadowMatrix.length=h,B.spotShadowMatrix.length=w,G.directionalLength=e,G.pointLength=s,G.spotLength=a,G.rectAreaLength=D,G.hemiLength=n,G.numDirectionalShadows=r,G.numPointShadows=h,G.numSpotShadows=w,B.version=go++)},setupView:function(A,I){let g=0,C=0,o=0,t=0,e=0;const s=I.matrixWorldInverse;for(let I=0,a=A.length;I=g.get(C).length?(Q=new Qo(A,I),g.get(C).push(Q)):Q=g.get(C)[B],Q},dispose:function(){g=new WeakMap}}}class io extends cB{constructor(A){super(),this.type="MeshDepthMaterial",this.depthPacking=zI,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}io.prototype.isMeshDepthMaterial=!0;class oo extends cB{constructor(A){super(),this.type="MeshDistanceMaterial",this.referencePosition=new CC,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(A)}copy(A){return super.copy(A),this.referencePosition.copy(A.referencePosition),this.nearDistance=A.nearDistance,this.farDistance=A.farDistance,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}function to(A,I,g){let C=new kQ;const B=new bg,Q=new bg,E=new _g,i=new io({depthPacking:_I}),o=new oo,t={},e=g.maxTextureSize,a={0:r,1:n,2:h},w=new wQ({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new bg},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),c=w.clone();c.defines.HORIZONTAL_PASS=1;const y=new OB;y.setAttribute("position",new KB(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const F=new sQ(y,w),R=this;function N(g,C){const B=I.update(F);w.defines.VSM_SAMPLES!==g.blurSamples&&(w.defines.VSM_SAMPLES=g.blurSamples,c.defines.VSM_SAMPLES=g.blurSamples,w.needsUpdate=!0,c.needsUpdate=!0),w.uniforms.shadow_pass.value=g.map.texture,w.uniforms.resolution.value=g.mapSize,w.uniforms.radius.value=g.radius,A.setRenderTarget(g.mapPass),A.clear(),A.renderBufferDirect(C,null,B,w,F,null),c.uniforms.shadow_pass.value=g.mapPass.texture,c.uniforms.resolution.value=g.mapSize,c.uniforms.radius.value=g.radius,A.setRenderTarget(g.map),A.clear(),A.renderBufferDirect(C,null,B,c,F,null)}function l(I,g,C,B,Q,E,e){let s=null;const n=!0===B.isPointLight?I.customDistanceMaterial:I.customDepthMaterial;if(s=void 0!==n?n:!0===B.isPointLight?o:i,A.localClippingEnabled&&!0===C.clipShadows&&0!==C.clippingPlanes.length||C.displacementMap&&0!==C.displacementScale||C.alphaMap&&C.alphaTest>0){const A=s.uuid,I=C.uuid;let g=t[A];void 0===g&&(g={},t[A]=g);let B=g[I];void 0===B&&(B=s.clone(),g[I]=B),s=B}return s.visible=C.visible,s.wireframe=C.wireframe,s.side=e===D?null!==C.shadowSide?C.shadowSide:C.side:null!==C.shadowSide?C.shadowSide:a[C.side],s.alphaMap=C.alphaMap,s.alphaTest=C.alphaTest,s.clipShadows=C.clipShadows,s.clippingPlanes=C.clippingPlanes,s.clipIntersection=C.clipIntersection,s.displacementMap=C.displacementMap,s.displacementScale=C.displacementScale,s.displacementBias=C.displacementBias,s.wireframeLinewidth=C.wireframeLinewidth,s.linewidth=C.linewidth,!0===B.isPointLight&&!0===s.isMeshDistanceMaterial&&(s.referencePosition.setFromMatrixPosition(B.matrixWorld),s.nearDistance=Q,s.farDistance=E),s}function M(g,B,Q,E,i){if(!1===g.visible)return;if(g.layers.test(B.layers)&&(g.isMesh||g.isLine||g.isPoints)&&(g.castShadow||g.receiveShadow&&i===D)&&(!g.frustumCulled||C.intersectsObject(g))){g.modelViewMatrix.multiplyMatrices(Q.matrixWorldInverse,g.matrixWorld);const C=I.update(g),B=g.material;if(Array.isArray(B)){const I=C.groups;for(let o=0,t=I.length;oe||B.y>e)&&(B.x>e&&(Q.x=Math.floor(e/n.x),B.x=Q.x*n.x,s.mapSize.x=Q.x),B.y>e&&(Q.y=Math.floor(e/n.y),B.y=Q.y*n.y,s.mapSize.y=Q.y)),null===s.map&&!s.isPointLightShadow&&this.type===D){const A={minFilter:GA,magFilter:GA,format:mA};s.map=new $g(B.x,B.y,A),s.map.texture.name=t.name+".shadowMap",s.mapPass=new $g(B.x,B.y,A),s.camera.updateProjectionMatrix()}if(null===s.map){const A={minFilter:nA,magFilter:nA,format:mA};s.map=new $g(B.x,B.y,A),s.map.texture.name=t.name+".shadowMap",s.camera.updateProjectionMatrix()}A.setRenderTarget(s.map),A.clear();const r=s.getViewportCount();for(let A=0;A=1):-1!==oA.indexOf("OpenGL ES")&&(iA=parseFloat(/^OpenGL ES (\d)/.exec(oA)[1]),EA=iA>=2);let tA=null,eA={};const sA=A.getParameter(3088),aA=A.getParameter(2978),DA=(new _g).fromArray(sA),nA=(new _g).fromArray(aA);function rA(I,g,C){const B=new Uint8Array(4),Q=A.createTexture();A.bindTexture(I,Q),A.texParameteri(I,10241,9728),A.texParameteri(I,10240,9728);for(let I=0;IC||A.height>C)&&(B=C/Math.max(A.width,A.height)),B<1||!0===I){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const C=I?qg:Math.floor,Q=C(B*A.width),E=C(B*A.height);void 0===n&&(n=h(Q,E));const i=g?h(Q,E):n;return i.width=Q,i.height=E,i.getContext("2d").drawImage(A,0,0,Q,E),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+A.width+"x"+A.height+") to ("+Q+"x"+E+")."),i}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+A.width+"x"+A.height+")."),A}return A}function c(A){return Hg(A.width)&&Hg(A.height)}function G(A,I){return A.generateMipmaps&&I&&A.minFilter!==nA&&A.minFilter!==GA}function y(I){A.generateMipmap(I)}function F(g,C,B,Q){if(!1===i)return C;if(null!==g){if(void 0!==A[g])return A[g];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+g+"'")}let E=C;return 6403===C&&(5126===B&&(E=33326),5131===B&&(E=33325),5121===B&&(E=33321)),6407===C&&(5126===B&&(E=34837),5131===B&&(E=34843),5121===B&&(E=32849)),6408===C&&(5126===B&&(E=34836),5131===B&&(E=34842),5121===B&&(E=Q===jI?35907:32856)),33325!==E&&33326!==E&&34842!==E&&34836!==E||I.get("EXT_color_buffer_float"),E}function R(A,I,g){return!0===G(A,g)||A.isFramebufferTexture&&A.minFilter!==nA&&A.minFilter!==GA?Math.log2(Math.max(I.width,I.height))+1:void 0!==A.mipmaps&&A.mipmaps.length>0?A.mipmaps.length:A.isCompressedTexture&&Array.isArray(A.image)?I.mipmaps.length:1}function N(A){return A===nA||A===rA||A===wA?9728:9729}function l(I){const g=I.target;g.removeEventListener("dispose",l),function(I){const g=C.get(I);void 0!==g.__webglInit&&(A.deleteTexture(g.__webglTexture),C.remove(I))}(g),g.isVideoTexture&&D.delete(g),E.memory.textures--}function M(I){const g=I.target;g.removeEventListener("dispose",M),function(I){const g=I.texture,B=C.get(I),Q=C.get(g);if(I){if(void 0!==Q.__webglTexture&&(A.deleteTexture(Q.__webglTexture),E.memory.textures--),I.depthTexture&&I.depthTexture.dispose(),I.isWebGLCubeRenderTarget)for(let I=0;I<6;I++)A.deleteFramebuffer(B.__webglFramebuffer[I]),B.__webglDepthbuffer&&A.deleteRenderbuffer(B.__webglDepthbuffer[I]);else A.deleteFramebuffer(B.__webglFramebuffer),B.__webglDepthbuffer&&A.deleteRenderbuffer(B.__webglDepthbuffer),B.__webglMultisampledFramebuffer&&A.deleteFramebuffer(B.__webglMultisampledFramebuffer),B.__webglColorRenderbuffer&&A.deleteRenderbuffer(B.__webglColorRenderbuffer),B.__webglDepthRenderbuffer&&A.deleteRenderbuffer(B.__webglDepthRenderbuffer);if(I.isWebGLMultipleRenderTargets)for(let I=0,B=g.length;I0&&B.__version!==A.version){const g=A.image;if(void 0===g)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==g.complete)return void u(B,A,I);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}g.activeTexture(33984+I),g.bindTexture(3553,B.__webglTexture)}function d(I,B){const E=C.get(I);I.version>0&&E.__version!==I.version?function(I,C,B){if(6!==C.image.length)return;Y(I,C),g.activeTexture(33984+B),g.bindTexture(34067,I.__webglTexture),A.pixelStorei(37440,C.flipY),A.pixelStorei(37441,C.premultiplyAlpha),A.pixelStorei(3317,C.unpackAlignment),A.pixelStorei(37443,0);const E=C&&(C.isCompressedTexture||C.image[0].isCompressedTexture),o=C.image[0]&&C.image[0].isDataTexture,e=[];for(let A=0;A<6;A++)e[A]=E||o?o?C.image[A].image:C.image[A]:w(C.image[A],!1,!0,t);const s=e[0],a=c(s)||i,D=Q.convert(C.format),n=Q.convert(C.type),r=F(C.internalFormat,D,n,C.encoding),h=i&&!0!==C.isVideoTexture,N=void 0===I.__version;let l,M=R(C,s,a);if(J(34067,C,a),E){h&&N&&g.texStorage2D(34067,M,r,s.width,s.height);for(let A=0;A<6;A++){l=e[A].mipmaps;for(let I=0;I0&&M++,g.texStorage2D(34067,M,r,e[0].width,e[0].height));for(let A=0;A<6;A++)if(o){h?g.texSubImage2D(34069+A,0,0,0,e[A].width,e[A].height,D,n,e[A].data):g.texImage2D(34069+A,0,r,e[A].width,e[A].height,0,D,n,e[A].data);for(let I=0;I1||C.get(Q).__currentAnisotropy)&&(A.texParameterf(g,E.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(Q.anisotropy,B.getMaxAnisotropy())),C.get(Q).__currentAnisotropy=Q.anisotropy)}}function Y(I,g){void 0===I.__webglInit&&(I.__webglInit=!0,g.addEventListener("dispose",l),I.__webglTexture=A.createTexture(),E.memory.textures++)}function u(I,C,B){let E=3553;C.isDataTexture2DArray&&(E=35866),C.isDataTexture3D&&(E=32879),Y(I,C),g.activeTexture(33984+B),g.bindTexture(E,I.__webglTexture),A.pixelStorei(37440,C.flipY),A.pixelStorei(37441,C.premultiplyAlpha),A.pixelStorei(3317,C.unpackAlignment),A.pixelStorei(37443,0);const o=function(A){return!i&&(A.wrapS!==aA||A.wrapT!==aA||A.minFilter!==nA&&A.minFilter!==GA)}(C)&&!1===c(C.image),t=w(C.image,o,!1,e),s=c(t)||i,a=Q.convert(C.format);let D,n=Q.convert(C.type),r=F(C.internalFormat,a,n,C.encoding);J(E,C,s);const h=C.mipmaps,N=i&&!0!==C.isVideoTexture,l=void 0===I.__version,M=R(C,t,s);if(C.isDepthTexture)r=6402,i?r=C.type===kA?36012:C.type===KA?33190:C.type===pA?35056:33189:C.type===kA&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),C.format===bA&&6402===r&&C.type!==UA&&C.type!==KA&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),C.type=UA,n=Q.convert(C.type)),C.format===TA&&6402===r&&(r=34041,C.type!==pA&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),C.type=pA,n=Q.convert(C.type))),N&&l?g.texStorage2D(3553,1,r,t.width,t.height):g.texImage2D(3553,0,r,t.width,t.height,0,a,n,null);else if(C.isDataTexture)if(h.length>0&&s){N&&l&&g.texStorage2D(3553,M,r,h[0].width,h[0].height);for(let A=0,I=h.length;A0&&s){N&&l&&g.texStorage2D(3553,M,r,h[0].width,h[0].height);for(let A=0,I=h.length;A=o&&console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+o),S+=1,A},this.resetTextureUnits=function(){S=0},this.setTexture2D=U,this.setTexture2DArray=function(A,I){const B=C.get(A);A.version>0&&B.__version!==A.version?u(B,A,I):(g.activeTexture(33984+I),g.bindTexture(35866,B.__webglTexture))},this.setTexture3D=function(A,I){const B=C.get(A);A.version>0&&B.__version!==A.version?u(B,A,I):(g.activeTexture(33984+I),g.bindTexture(32879,B.__webglTexture))},this.setTextureCube=d,this.rebindTextures=function(A,I,g){const B=C.get(A);void 0!==I&&L(B.__webglFramebuffer,A,A.texture,36064,3553),void 0!==g&&f(A)},this.setupRenderTarget=function(I){const o=I.texture,t=C.get(I),e=C.get(o);I.addEventListener("dispose",M),!0!==I.isWebGLMultipleRenderTargets&&(void 0===e.__webglTexture&&(e.__webglTexture=A.createTexture()),e.__version=o.version,E.memory.textures++);const s=!0===I.isWebGLCubeRenderTarget,a=!0===I.isWebGLMultipleRenderTargets,D=o.isDataTexture3D||o.isDataTexture2DArray,n=c(I)||i;if(!i||o.format!==HA||o.type!==kA&&o.type!==JA||(o.format=mA,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),s){t.__webglFramebuffer=[];for(let I=0;I<6;I++)t.__webglFramebuffer[I]=A.createFramebuffer()}else if(t.__webglFramebuffer=A.createFramebuffer(),a)if(B.drawBuffers){const g=I.texture;for(let I=0,B=g.length;Ii+t?(o.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!o.inputState.pinching&&E<=i-t&&(o.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else null!==i&&A.gripSpace&&(B=I.getPose(A.gripSpace,g),null!==B&&(i.matrix.fromArray(B.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),B.linearVelocity?(i.hasLinearVelocity=!0,i.linearVelocity.copy(B.linearVelocity)):i.hasLinearVelocity=!1,B.angularVelocity?(i.hasAngularVelocity=!0,i.angularVelocity.copy(B.angularVelocity)):i.hasAngularVelocity=!1));return null!==E&&(E.visible=null!==C),null!==i&&(i.visible=null!==B),null!==o&&(o.visible=null!==Q),this}}class wo extends jg{constructor(A,I,g,C,B,Q,E,i,o,t){if((t=void 0!==t?t:bA)!==bA&&t!==TA)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===g&&t===bA&&(g=UA),void 0===g&&t===TA&&(g=pA),super(null,C,B,Q,E,i,t,g,o),this.image={width:A,height:I},this.magFilter=void 0!==E?E:nA,this.minFilter=void 0!==i?i:nA,this.flipY=!1,this.generateMipmaps=!1}}wo.prototype.isDepthTexture=!0;class co extends dg{constructor(A,I){super();const g=this;let C=null,B=1,Q=null,E="local-floor";const i=A.extensions.has("WEBGL_multisampled_render_to_texture");let o=null,t=null,e=null,s=null,a=!1,D=null;const n=I.getContextAttributes();let r=null,h=null;const w=[],c=new Map,G=new GQ;G.layers.enable(1),G.viewport=new _g;const y=new GQ;y.layers.enable(2),y.viewport=new _g;const F=[G,y],R=new Do;R.layers.enable(1),R.layers.enable(2);let N=null,l=null;function M(A){const I=c.get(A.inputSource);I&&I.dispatchEvent({type:A.type,data:A.inputSource})}function S(){c.forEach((function(A,I){A.disconnect(I)})),c.clear(),N=null,l=null,A.setRenderTarget(r),s=null,e=null,t=null,C=null,h=null,Y.stop(),g.isPresenting=!1,g.dispatchEvent({type:"sessionend"})}function U(A){const I=C.inputSources;for(let A=0;A0&&(I.alphaTest.value=g.alphaTest);const C=A.get(g).envMap;let B,Q;C&&(I.envMap.value=C,I.flipEnvMap.value=C.isCubeTexture&&!1===C.isRenderTargetTexture?-1:1,I.reflectivity.value=g.reflectivity,I.ior.value=g.ior,I.refractionRatio.value=g.refractionRatio),g.lightMap&&(I.lightMap.value=g.lightMap,I.lightMapIntensity.value=g.lightMapIntensity),g.aoMap&&(I.aoMap.value=g.aoMap,I.aoMapIntensity.value=g.aoMapIntensity),g.map?B=g.map:g.specularMap?B=g.specularMap:g.displacementMap?B=g.displacementMap:g.normalMap?B=g.normalMap:g.bumpMap?B=g.bumpMap:g.roughnessMap?B=g.roughnessMap:g.metalnessMap?B=g.metalnessMap:g.alphaMap?B=g.alphaMap:g.emissiveMap?B=g.emissiveMap:g.clearcoatMap?B=g.clearcoatMap:g.clearcoatNormalMap?B=g.clearcoatNormalMap:g.clearcoatRoughnessMap?B=g.clearcoatRoughnessMap:g.specularIntensityMap?B=g.specularIntensityMap:g.specularColorMap?B=g.specularColorMap:g.transmissionMap?B=g.transmissionMap:g.thicknessMap?B=g.thicknessMap:g.sheenColorMap?B=g.sheenColorMap:g.sheenRoughnessMap&&(B=g.sheenRoughnessMap),void 0!==B&&(B.isWebGLRenderTarget&&(B=B.texture),!0===B.matrixAutoUpdate&&B.updateMatrix(),I.uvTransform.value.copy(B.matrix)),g.aoMap?Q=g.aoMap:g.lightMap&&(Q=g.lightMap),void 0!==Q&&(Q.isWebGLRenderTarget&&(Q=Q.texture),!0===Q.matrixAutoUpdate&&Q.updateMatrix(),I.uv2Transform.value.copy(Q.matrix))}function g(I,g){I.roughness.value=g.roughness,I.metalness.value=g.metalness,g.roughnessMap&&(I.roughnessMap.value=g.roughnessMap),g.metalnessMap&&(I.metalnessMap.value=g.metalnessMap),g.emissiveMap&&(I.emissiveMap.value=g.emissiveMap),g.bumpMap&&(I.bumpMap.value=g.bumpMap,I.bumpScale.value=g.bumpScale,g.side===r&&(I.bumpScale.value*=-1)),g.normalMap&&(I.normalMap.value=g.normalMap,I.normalScale.value.copy(g.normalScale),g.side===r&&I.normalScale.value.negate()),g.displacementMap&&(I.displacementMap.value=g.displacementMap,I.displacementScale.value=g.displacementScale,I.displacementBias.value=g.displacementBias),A.get(g).envMap&&(I.envMapIntensity.value=g.envMapIntensity)}return{refreshFogUniforms:function(A,I){A.fogColor.value.copy(I.color),I.isFog?(A.fogNear.value=I.near,A.fogFar.value=I.far):I.isFogExp2&&(A.fogDensity.value=I.density)},refreshMaterialUniforms:function(A,C,B,Q,E){C.isMeshBasicMaterial?I(A,C):C.isMeshLambertMaterial?(I(A,C),function(A,I){I.emissiveMap&&(A.emissiveMap.value=I.emissiveMap)}(A,C)):C.isMeshToonMaterial?(I(A,C),function(A,I){I.gradientMap&&(A.gradientMap.value=I.gradientMap),I.emissiveMap&&(A.emissiveMap.value=I.emissiveMap),I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshPhongMaterial?(I(A,C),function(A,I){A.specular.value.copy(I.specular),A.shininess.value=Math.max(I.shininess,1e-4),I.emissiveMap&&(A.emissiveMap.value=I.emissiveMap),I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshStandardMaterial?(I(A,C),C.isMeshPhysicalMaterial?function(A,I,C){g(A,I),A.ior.value=I.ior,I.sheen>0&&(A.sheenColor.value.copy(I.sheenColor).multiplyScalar(I.sheen),A.sheenRoughness.value=I.sheenRoughness,I.sheenColorMap&&(A.sheenColorMap.value=I.sheenColorMap),I.sheenRoughnessMap&&(A.sheenRoughnessMap.value=I.sheenRoughnessMap)),I.clearcoat>0&&(A.clearcoat.value=I.clearcoat,A.clearcoatRoughness.value=I.clearcoatRoughness,I.clearcoatMap&&(A.clearcoatMap.value=I.clearcoatMap),I.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=I.clearcoatRoughnessMap),I.clearcoatNormalMap&&(A.clearcoatNormalScale.value.copy(I.clearcoatNormalScale),A.clearcoatNormalMap.value=I.clearcoatNormalMap,I.side===r&&A.clearcoatNormalScale.value.negate())),I.transmission>0&&(A.transmission.value=I.transmission,A.transmissionSamplerMap.value=C.texture,A.transmissionSamplerSize.value.set(C.width,C.height),I.transmissionMap&&(A.transmissionMap.value=I.transmissionMap),A.thickness.value=I.thickness,I.thicknessMap&&(A.thicknessMap.value=I.thicknessMap),A.attenuationDistance.value=I.attenuationDistance,A.attenuationColor.value.copy(I.attenuationColor)),A.specularIntensity.value=I.specularIntensity,A.specularColor.value.copy(I.specularColor),I.specularIntensityMap&&(A.specularIntensityMap.value=I.specularIntensityMap),I.specularColorMap&&(A.specularColorMap.value=I.specularColorMap)}(A,C,E):g(A,C)):C.isMeshMatcapMaterial?(I(A,C),function(A,I){I.matcap&&(A.matcap.value=I.matcap),I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshDepthMaterial?(I(A,C),function(A,I){I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshDistanceMaterial?(I(A,C),function(A,I){I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias),A.referencePosition.value.copy(I.referencePosition),A.nearDistance.value=I.nearDistance,A.farDistance.value=I.farDistance}(A,C)):C.isMeshNormalMaterial?(I(A,C),function(A,I){I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isLineBasicMaterial?(function(A,I){A.diffuse.value.copy(I.color),A.opacity.value=I.opacity}(A,C),C.isLineDashedMaterial&&function(A,I){A.dashSize.value=I.dashSize,A.totalSize.value=I.dashSize+I.gapSize,A.scale.value=I.scale}(A,C)):C.isPointsMaterial?function(A,I,g,C){let B;A.diffuse.value.copy(I.color),A.opacity.value=I.opacity,A.size.value=I.size*g,A.scale.value=.5*C,I.map&&(A.map.value=I.map),I.alphaMap&&(A.alphaMap.value=I.alphaMap),I.alphaTest>0&&(A.alphaTest.value=I.alphaTest),I.map?B=I.map:I.alphaMap&&(B=I.alphaMap),void 0!==B&&(!0===B.matrixAutoUpdate&&B.updateMatrix(),A.uvTransform.value.copy(B.matrix))}(A,C,B,Q):C.isSpriteMaterial?function(A,I){let g;A.diffuse.value.copy(I.color),A.opacity.value=I.opacity,A.rotation.value=I.rotation,I.map&&(A.map.value=I.map),I.alphaMap&&(A.alphaMap.value=I.alphaMap),I.alphaTest>0&&(A.alphaTest.value=I.alphaTest),I.map?g=I.map:I.alphaMap&&(g=I.alphaMap),void 0!==g&&(!0===g.matrixAutoUpdate&&g.updateMatrix(),A.uvTransform.value.copy(g.matrix))}(A,C):C.isShadowMaterial?(A.color.value.copy(C.color),A.opacity.value=C.opacity):C.isShaderMaterial&&(C.uniformsNeedUpdate=!1)}}}function yo(A={}){const I=void 0!==A.canvas?A.canvas:function(){const A=Zg("canvas");return A.style.display="block",A}(),g=void 0!==A.context?A.context:null,B=void 0!==A.alpha&&A.alpha,Q=void 0===A.depth||A.depth,E=void 0===A.stencil||A.stencil,i=void 0!==A.antialias&&A.antialias,o=void 0===A.premultipliedAlpha||A.premultipliedAlpha,t=void 0!==A.preserveDrawingBuffer&&A.preserveDrawingBuffer,e=void 0!==A.powerPreference?A.powerPreference:"default",s=void 0!==A.failIfMajorPerformanceCaveat&&A.failIfMajorPerformanceCaveat;let a=null,D=null;const w=[],c=[];this.domElement=I,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=PI,this.physicallyCorrectLights=!1,this.toneMapping=_,this.toneMappingExposure=1;const G=this;let y=!1,F=0,R=0,N=null,l=-1,M=null;const S=new _g,U=new _g;let d=null,K=I.width,k=I.height,J=1,Y=null,u=null;const L=new _g(0,0,K,k),p=new _g(0,0,K,k);let f=!1;const H=[],m=new kQ;let q=!1,x=!1,b=null;const T=new LC,V=new CC,W={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function v(){return null===N?J:1}let Z,O,X,P,j,z,$,AA,IA,gA,CA,BA,QA,EA,iA,oA,tA,eA,sA,DA,rA,hA,wA,cA=g;function GA(A,g){for(let C=0;C0&&function(A,I,g){if(null===b){const A=!0===i&&!0===O.isWebGL2;b=new(A?IC:$g)(1024,1024,{generateMipmaps:!0,type:null!==hA.convert(JA)?JA:lA,minFilter:RA,magFilter:nA,wrapS:aA,wrapT:aA,useRenderToTexture:Z.has("WEBGL_multisampled_render_to_texture")})}const C=G.getRenderTarget();G.setRenderTarget(b),G.clear();const B=G.toneMapping;G.toneMapping=_,pA(A,I,g),G.toneMapping=B,z.updateMultisampleRenderTarget(b),z.updateRenderTargetMipmap(b),G.setRenderTarget(C)}(B,I,g),C&&X.viewport(S.copy(C)),B.length>0&&pA(B,I,g),Q.length>0&&pA(Q,I,g),E.length>0&&pA(E,I,g)}function pA(A,I,g){const C=!0===I.isScene?I.overrideMaterial:null;for(let B=0,Q=A.length;B0?c[c.length-1]:null,w.pop(),a=w.length>0?w[w.length-1]:null},this.getActiveCubeFace=function(){return F},this.getActiveMipmapLevel=function(){return R},this.getRenderTarget=function(){return N},this.setRenderTargetTextures=function(A,I,g){j.get(A.texture).__webglTexture=I,j.get(A.depthTexture).__webglTexture=g;const C=j.get(A);C.__hasExternalTextures=!0,C.__hasExternalTextures&&(C.__autoAllocateDepthBuffer=void 0===g,C.__autoAllocateDepthBuffer||A.useRenderToTexture&&(console.warn("render-to-texture extension was disabled because an external texture was provided"),A.useRenderToTexture=!1,A.useRenderbuffer=!0))},this.setRenderTargetFramebuffer=function(A,I){const g=j.get(A);g.__webglFramebuffer=I,g.__useDefaultFramebuffer=void 0===I},this.setRenderTarget=function(A,I=0,g=0){N=A,F=I,R=g;let C=!0;if(A){const I=j.get(A);void 0!==I.__useDefaultFramebuffer?(X.bindFramebuffer(36160,null),C=!1):void 0===I.__webglFramebuffer?z.setupRenderTarget(A):I.__hasExternalTextures&&z.rebindTextures(A,j.get(A.texture).__webglTexture,j.get(A.depthTexture).__webglTexture)}let B=null,Q=!1,E=!1;if(A){const g=A.texture;(g.isDataTexture3D||g.isDataTexture2DArray)&&(E=!0);const C=j.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(B=C[I],Q=!0):B=A.useRenderbuffer?j.get(A).__webglMultisampledFramebuffer:C,S.copy(A.viewport),U.copy(A.scissor),d=A.scissorTest}else S.copy(L).multiplyScalar(J).floor(),U.copy(p).multiplyScalar(J).floor(),d=f;if(X.bindFramebuffer(36160,B)&&O.drawBuffers&&C){let I=!1;if(A)if(A.isWebGLMultipleRenderTargets){const g=A.texture;if(H.length!==g.length||36064!==H[0]){for(let A=0,I=g.length;A=0&&I<=A.width-C&&g>=0&&g<=A.height-B&&cA.readPixels(I,g,C,B,hA.convert(i),hA.convert(o),Q):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const A=null!==N?j.get(N).__webglFramebuffer:null;X.bindFramebuffer(36160,A)}}},this.copyFramebufferToTexture=function(A,I,g=0){if(!0!==I.isFramebufferTexture)return void console.error("THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.");const C=Math.pow(2,-g),B=Math.floor(I.image.width*C),Q=Math.floor(I.image.height*C);z.setTexture2D(I,0),cA.copyTexSubImage2D(3553,g,0,0,A.x,A.y,B,Q),X.unbindTexture()},this.copyTextureToTexture=function(A,I,g,C=0){const B=I.image.width,Q=I.image.height,E=hA.convert(g.format),i=hA.convert(g.type);z.setTexture2D(g,0),cA.pixelStorei(37440,g.flipY),cA.pixelStorei(37441,g.premultiplyAlpha),cA.pixelStorei(3317,g.unpackAlignment),I.isDataTexture?cA.texSubImage2D(3553,C,A.x,A.y,B,Q,E,i,I.image.data):I.isCompressedTexture?cA.compressedTexSubImage2D(3553,C,A.x,A.y,I.mipmaps[0].width,I.mipmaps[0].height,E,I.mipmaps[0].data):cA.texSubImage2D(3553,C,A.x,A.y,E,i,I.image),0===C&&g.generateMipmaps&&cA.generateMipmap(3553),X.unbindTexture()},this.copyTextureToTexture3D=function(A,I,g,C,B=0){if(G.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const Q=A.max.x-A.min.x+1,E=A.max.y-A.min.y+1,i=A.max.z-A.min.z+1,o=hA.convert(C.format),t=hA.convert(C.type);let e;if(C.isDataTexture3D)z.setTexture3D(C,0),e=32879;else{if(!C.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");z.setTexture2DArray(C,0),e=35866}cA.pixelStorei(37440,C.flipY),cA.pixelStorei(37441,C.premultiplyAlpha),cA.pixelStorei(3317,C.unpackAlignment);const s=cA.getParameter(3314),a=cA.getParameter(32878),D=cA.getParameter(3316),n=cA.getParameter(3315),r=cA.getParameter(32877),h=g.isCompressedTexture?g.mipmaps[0]:g.image;cA.pixelStorei(3314,h.width),cA.pixelStorei(32878,h.height),cA.pixelStorei(3316,A.min.x),cA.pixelStorei(3315,A.min.y),cA.pixelStorei(32877,A.min.z),g.isDataTexture||g.isDataTexture3D?cA.texSubImage3D(e,B,I.x,I.y,I.z,Q,E,i,o,t,h.data):g.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),cA.compressedTexSubImage3D(e,B,I.x,I.y,I.z,Q,E,i,o,h.data)):cA.texSubImage3D(e,B,I.x,I.y,I.z,Q,E,i,o,t,h),cA.pixelStorei(3314,s),cA.pixelStorei(32878,a),cA.pixelStorei(3316,D),cA.pixelStorei(3315,n),cA.pixelStorei(32877,r),0===B&&C.generateMipmaps&&cA.generateMipmap(e),X.unbindTexture()},this.initTexture=function(A){z.setTexture2D(A,0),X.unbindTexture()},this.resetState=function(){F=0,R=0,N=null,X.reset(),wA.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}yo.prototype.isWebGLRenderer=!0;class Fo extends yo{}Fo.prototype.isWebGL1Renderer=!0;class Ro{constructor(A,I=25e-5){this.name="",this.color=new MB(A),this.density=I}clone(){return new Ro(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Ro.prototype.isFogExp2=!0;class No{constructor(A,I=1,g=1e3){this.name="",this.color=new MB(A),this.near=I,this.far=g}clone(){return new No(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}No.prototype.isFog=!0;class lo extends QB{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,I){return super.copy(A,I),null!==A.background&&(this.background=A.background.clone()),null!==A.environment&&(this.environment=A.environment.clone()),null!==A.fog&&(this.fog=A.fog.clone()),null!==A.overrideMaterial&&(this.overrideMaterial=A.overrideMaterial.clone()),this.autoUpdate=A.autoUpdate,this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const I=super.toJSON(A);return null!==this.fog&&(I.object.fog=this.fog.toJSON()),I}}lo.prototype.isScene=!0;class Mo{constructor(A,I){this.array=A,this.stride=I,this.count=void 0!==A?A.length/I:0,this.usage=wg,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=ug()}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}setUsage(A){return this.usage=A,this}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,I,g){A*=this.stride,g*=I.stride;for(let C=0,B=this.stride;CA.far||I.push({distance:i,point:Jo.clone(),uv:hB.getUV(Jo,Ho,mo,qo,xo,bo,To,new bg),face:null,object:this})}copy(A){return super.copy(A),void 0!==A.center&&this.center.copy(A.center),this.material=A.material,this}}function Wo(A,I,g,C,B,Q){Lo.subVectors(A,g).addScalar(.5).multiply(C),void 0!==B?(po.x=Q*Lo.x-B*Lo.y,po.y=B*Lo.x+Q*Lo.y):po.copy(Lo),A.copy(I),A.x+=po.x,A.y+=po.y,A.applyMatrix4(fo)}Vo.prototype.isSprite=!0;const vo=new CC,Zo=new CC;class Oo extends QB{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const I=A.levels;for(let A=0,g=I.length;A0){let g,C;for(g=1,C=I.length;g0){vo.setFromMatrixPosition(this.matrixWorld);const g=A.ray.origin.distanceTo(vo);this.getObjectForDistance(g).raycast(A,I)}}update(A){const I=this.levels;if(I.length>1){vo.setFromMatrixPosition(A.matrixWorld),Zo.setFromMatrixPosition(this.matrixWorld);const g=vo.distanceTo(Zo)/A.zoom;let C,B;for(I[0].object.visible=!0,C=1,B=I.length;C=I[C].distance;C++)I[C-1].object.visible=!1,I[C].object.visible=!0;for(this._currentLevel=C-1;Ci)continue;s.applyMatrix4(this.matrixWorld);const a=A.ray.origin.distanceTo(s);aA.far||I.push({distance:a,point:e.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this})}else for(let g=Math.max(0,Q.start),C=Math.min(B.count,Q.start+Q.count)-1;gi)continue;s.applyMatrix4(this.matrixWorld);const C=A.ray.origin.distanceTo(s);CA.far||I.push({distance:C,point:e.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this})}}else g.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const A=this.geometry;if(A.isBufferGeometry){const I=A.morphAttributes,g=Object.keys(I);if(g.length>0){const A=I[g[0]];if(void 0!==A){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,g=A.length;I0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}wt.prototype.isLine=!0;const ct=new CC,Gt=new CC;class yt extends wt{constructor(A,I){super(A,I),this.type="LineSegments"}computeLineDistances(){const A=this.geometry;if(A.isBufferGeometry)if(null===A.index){const I=A.attributes.position,g=[];for(let A=0,C=I.count;A0){const A=I[g[0]];if(void 0!==A){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,g=A.length;I0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function dt(A,I,g,C,B,Q,E){const i=lt.distanceSqToPoint(A);if(iB.far)return;Q.push({distance:o,distanceToRay:Math.sqrt(i),point:g,index:I,face:null,object:E})}}Ut.prototype.isPoints=!0;class Kt extends jg{constructor(A,I,g,C,B,Q,E,i,o){super(A,I,g,C,B,Q,E,i,o),this.format=void 0!==E?E:HA,this.minFilter=void 0!==Q?Q:GA,this.magFilter=void 0!==B?B:GA,this.generateMipmaps=!1;const t=this;"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback((function I(){t.needsUpdate=!0,A.requestVideoFrameCallback(I)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;!1=="requestVideoFrameCallback"in A&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}Kt.prototype.isVideoTexture=!0;class kt extends jg{constructor(A,I,g){super({width:A,height:I}),this.format=g,this.magFilter=nA,this.minFilter=nA,this.generateMipmaps=!1,this.needsUpdate=!0}}kt.prototype.isFramebufferTexture=!0;class Jt extends jg{constructor(A,I,g,C,B,Q,E,i,o,t,e,s){super(null,Q,E,i,o,t,C,B,e,s),this.image={width:I,height:g},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}Jt.prototype.isCompressedTexture=!0;class Yt extends jg{constructor(A,I,g,C,B,Q,E,i,o){super(A,I,g,C,B,Q,E,i,o),this.needsUpdate=!0}}Yt.prototype.isCanvasTexture=!0;class ut extends OB{constructor(A=1,I=8,g=0,C=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:A,segments:I,thetaStart:g,thetaLength:C},I=Math.max(3,I);const B=[],Q=[],E=[],i=[],o=new CC,t=new bg;Q.push(0,0,0),E.push(0,0,1),i.push(.5,.5);for(let B=0,e=3;B<=I;B++,e+=3){const s=g+B/I*C;o.x=A*Math.cos(s),o.y=A*Math.sin(s),Q.push(o.x,o.y,o.z),E.push(0,0,1),t.x=(Q[e]/A+1)/2,t.y=(Q[e+1]/A+1)/2,i.push(t.x,t.y)}for(let A=1;A<=I;A++)B.push(A,A+1,0);this.setIndex(B),this.setAttribute("position",new mB(Q,3)),this.setAttribute("normal",new mB(E,3)),this.setAttribute("uv",new mB(i,2))}static fromJSON(A){return new ut(A.radius,A.segments,A.thetaStart,A.thetaLength)}}class Lt extends OB{constructor(A=1,I=1,g=1,C=8,B=1,Q=!1,E=0,i=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:A,radiusBottom:I,height:g,radialSegments:C,heightSegments:B,openEnded:Q,thetaStart:E,thetaLength:i};const o=this;C=Math.floor(C),B=Math.floor(B);const t=[],e=[],s=[],a=[];let D=0;const n=[],r=g/2;let h=0;function w(g){const B=D,Q=new bg,n=new CC;let w=0;const c=!0===g?A:I,G=!0===g?1:-1;for(let A=1;A<=C;A++)e.push(0,r*G,0),s.push(0,G,0),a.push(.5,.5),D++;const y=D;for(let A=0;A<=C;A++){const I=A/C*i+E,g=Math.cos(I),B=Math.sin(I);n.x=c*B,n.y=r*G,n.z=c*g,e.push(n.x,n.y,n.z),s.push(0,G,0),Q.x=.5*g+.5,Q.y=.5*B*G+.5,a.push(Q.x,Q.y),D++}for(let A=0;A0&&w(!0),I>0&&w(!1)),this.setIndex(t),this.setAttribute("position",new mB(e,3)),this.setAttribute("normal",new mB(s,3)),this.setAttribute("uv",new mB(a,2))}static fromJSON(A){return new Lt(A.radiusTop,A.radiusBottom,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class pt extends Lt{constructor(A=1,I=1,g=8,C=1,B=!1,Q=0,E=2*Math.PI){super(0,A,I,g,C,B,Q,E),this.type="ConeGeometry",this.parameters={radius:A,height:I,radialSegments:g,heightSegments:C,openEnded:B,thetaStart:Q,thetaLength:E}}static fromJSON(A){return new pt(A.radius,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class ft extends OB{constructor(A=[],I=[],g=1,C=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:I,radius:g,detail:C};const B=[],Q=[];function E(A,I,g,C){const B=C+1,Q=[];for(let C=0;C<=B;C++){Q[C]=[];const E=A.clone().lerp(g,C/B),i=I.clone().lerp(g,C/B),o=B-C;for(let A=0;A<=o;A++)Q[C][A]=0===A&&C===B?E:E.clone().lerp(i,A/o)}for(let A=0;A.9&&E<.1&&(I<.2&&(Q[A+0]+=1),g<.2&&(Q[A+2]+=1),C<.2&&(Q[A+4]+=1))}}()}(),this.setAttribute("position",new mB(B,3)),this.setAttribute("normal",new mB(B.slice(),3)),this.setAttribute("uv",new mB(Q,2)),0===C?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(A){return new ft(A.vertices,A.indices,A.radius,A.details)}}class Ht extends ft{constructor(A=1,I=0){const g=(1+Math.sqrt(5))/2,C=1/g;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-C,-g,0,-C,g,0,C,-g,0,C,g,-C,-g,0,-C,g,0,C,-g,0,C,g,0,-g,0,-C,g,0,-C,-g,0,C,g,0,C],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],A,I),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:I}}static fromJSON(A){return new Ht(A.radius,A.detail)}}const mt=new CC,qt=new CC,xt=new CC,bt=new hB;class Tt extends OB{constructor(A=null,I=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:A,thresholdAngle:I},null!==A){const g=4,C=Math.pow(10,g),B=Math.cos(Jg*I),Q=A.getIndex(),E=A.getAttribute("position"),i=Q?Q.count:E.count,o=[0,0,0],t=["a","b","c"],e=new Array(3),s={},a=[];for(let A=0;A0)){o=C;break}o=C-1}if(C=o,g[C]===Q)return C/(B-1);const t=g[C];return(C+(Q-t)/(g[C+1]-t))/(B-1)}getTangent(A,I){const g=1e-4;let C=A-g,B=A+g;C<0&&(C=0),B>1&&(B=1);const Q=this.getPoint(C),E=this.getPoint(B),i=I||(Q.isVector2?new bg:new CC);return i.copy(E).sub(Q).normalize(),i}getTangentAt(A,I){const g=this.getUtoTmapping(A);return this.getTangent(g,I)}computeFrenetFrames(A,I){const g=new CC,C=[],B=[],Q=[],E=new CC,i=new LC;for(let I=0;I<=A;I++){const g=I/A;C[I]=this.getTangentAt(g,new CC)}B[0]=new CC,Q[0]=new CC;let o=Number.MAX_VALUE;const t=Math.abs(C[0].x),e=Math.abs(C[0].y),s=Math.abs(C[0].z);t<=o&&(o=t,g.set(1,0,0)),e<=o&&(o=e,g.set(0,1,0)),s<=o&&g.set(0,0,1),E.crossVectors(C[0],g).normalize(),B[0].crossVectors(C[0],E),Q[0].crossVectors(C[0],B[0]);for(let I=1;I<=A;I++){if(B[I]=B[I-1].clone(),Q[I]=Q[I-1].clone(),E.crossVectors(C[I-1],C[I]),E.length()>Number.EPSILON){E.normalize();const A=Math.acos(Lg(C[I-1].dot(C[I]),-1,1));B[I].applyMatrix4(i.makeRotationAxis(E,A))}Q[I].crossVectors(C[I],B[I])}if(!0===I){let I=Math.acos(Lg(B[0].dot(B[A]),-1,1));I/=A,C[0].dot(E.crossVectors(B[0],B[A]))>0&&(I=-I);for(let g=1;g<=A;g++)B[g].applyMatrix4(i.makeRotationAxis(C[g],I*g)),Q[g].crossVectors(C[g],B[g])}return{tangents:C,normals:B,binormals:Q}}clone(){return(new this.constructor).copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class Wt extends Vt{constructor(A=0,I=0,g=1,C=1,B=0,Q=2*Math.PI,E=!1,i=0){super(),this.type="EllipseCurve",this.aX=A,this.aY=I,this.xRadius=g,this.yRadius=C,this.aStartAngle=B,this.aEndAngle=Q,this.aClockwise=E,this.aRotation=i}getPoint(A,I){const g=I||new bg,C=2*Math.PI;let B=this.aEndAngle-this.aStartAngle;const Q=Math.abs(B)C;)B-=C;B0?0:(Math.floor(Math.abs(o)/B)+1)*B:0===t&&o===B-1&&(o=B-2,t=1),this.closed||o>0?E=C[(o-1)%B]:(Ot.subVectors(C[0],C[1]).add(C[0]),E=Ot);const e=C[o%B],s=C[(o+1)%B];if(this.closed||o+2C.length-2?C.length-1:Q+1],e=C[Q>C.length-3?C.length-1:Q+2];return g.set(_t(E,i.x,o.x,t.x,e.x),_t(E,i.y,o.y,t.y,e.y)),g}copy(A){super.copy(A),this.points=[];for(let I=0,g=A.points.length;I=g){const A=C[B]-g,Q=this.curves[B],E=Q.getLength(),i=0===E?0:1-A/E;return Q.getPointAt(i,I)}B++}return null}getLength(){const A=this.getCurveLengths();return A[A.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const A=[];let I=0;for(let g=0,C=this.curves.length;g1&&!I[I.length-1].equals(I[0])&&I.push(I[0]),I}copy(A){super.copy(A),this.curves=[];for(let I=0,g=A.curves.length;I0){const A=o.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(o);const t=o.getPoint(1);return this.currentPoint.copy(t),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class se extends ee{constructor(A){super(A),this.uuid=ug(),this.type="Shape",this.holes=[]}getPointsHoles(A){const I=[];for(let g=0,C=this.holes.length;g0)for(Q=I;Q=I;Q-=C)E=ue(Q,A[Q],A[Q+1],E);return E&&Ue(E,E.next)&&(Le(E),E=E.next),E}function De(A,I){if(!A)return A;I||(I=A);let g,C=A;do{if(g=!1,C.steiner||!Ue(C,C.next)&&0!==Se(C.prev,C,C.next))C=C.next;else{if(Le(C),C=I=C.prev,C===C.next)break;g=!0}}while(g||C!==I);return I}function ne(A,I,g,C,B,Q,E){if(!A)return;!E&&Q&&function(A,I,g,C){let B=A;do{null===B.z&&(B.z=Re(B.x,B.y,I,g,C)),B.prevZ=B.prev,B.nextZ=B.next,B=B.next}while(B!==A);B.prevZ.nextZ=null,B.prevZ=null,function(A){let I,g,C,B,Q,E,i,o,t=1;do{for(g=A,A=null,Q=null,E=0;g;){for(E++,C=g,i=0,I=0;I0||o>0&&C;)0!==i&&(0===o||!C||g.z<=C.z)?(B=g,g=g.nextZ,i--):(B=C,C=C.nextZ,o--),Q?Q.nextZ=B:A=B,B.prevZ=Q,Q=B;g=C}Q.nextZ=null,t*=2}while(E>1)}(B)}(A,C,B,Q);let i,o,t=A;for(;A.prev!==A.next;)if(i=A.prev,o=A.next,Q?he(A,C,B,Q):re(A))I.push(i.i/g),I.push(A.i/g),I.push(o.i/g),Le(A),A=o.next,t=o.next;else if((A=o)===t){E?1===E?ne(A=we(De(A),I,g),I,g,C,B,Q,2):2===E&&ce(A,I,g,C,B,Q):ne(De(A),I,g,C,B,Q,1);break}}function re(A){const I=A.prev,g=A,C=A.next;if(Se(I,g,C)>=0)return!1;let B=A.next.next;for(;B!==A.prev;){if(le(I.x,I.y,g.x,g.y,C.x,C.y,B.x,B.y)&&Se(B.prev,B,B.next)>=0)return!1;B=B.next}return!0}function he(A,I,g,C){const B=A.prev,Q=A,E=A.next;if(Se(B,Q,E)>=0)return!1;const i=B.xQ.x?B.x>E.x?B.x:E.x:Q.x>E.x?Q.x:E.x,e=B.y>Q.y?B.y>E.y?B.y:E.y:Q.y>E.y?Q.y:E.y,s=Re(i,o,I,g,C),a=Re(t,e,I,g,C);let D=A.prevZ,n=A.nextZ;for(;D&&D.z>=s&&n&&n.z<=a;){if(D!==A.prev&&D!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,D.x,D.y)&&Se(D.prev,D,D.next)>=0)return!1;if(D=D.prevZ,n!==A.prev&&n!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,n.x,n.y)&&Se(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(;D&&D.z>=s;){if(D!==A.prev&&D!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,D.x,D.y)&&Se(D.prev,D,D.next)>=0)return!1;D=D.prevZ}for(;n&&n.z<=a;){if(n!==A.prev&&n!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,n.x,n.y)&&Se(n.prev,n,n.next)>=0)return!1;n=n.nextZ}return!0}function we(A,I,g){let C=A;do{const B=C.prev,Q=C.next.next;!Ue(B,Q)&&de(B,C,C.next,Q)&&Je(B,Q)&&Je(Q,B)&&(I.push(B.i/g),I.push(C.i/g),I.push(Q.i/g),Le(C),Le(C.next),C=A=Q),C=C.next}while(C!==A);return De(C)}function ce(A,I,g,C,B,Q){let E=A;do{let A=E.next.next;for(;A!==E.prev;){if(E.i!==A.i&&Me(E,A)){let i=Ye(E,A);return E=De(E,E.next),i=De(i,i.next),ne(E,I,g,C,B,Q),void ne(i,I,g,C,B,Q)}A=A.next}E=E.next}while(E!==A)}function Ge(A,I){return A.x-I.x}function ye(A,I){if(I=function(A,I){let g=I;const C=A.x,B=A.y;let Q,E=-1/0;do{if(B<=g.y&&B>=g.next.y&&g.next.y!==g.y){const A=g.x+(B-g.y)*(g.next.x-g.x)/(g.next.y-g.y);if(A<=C&&A>E){if(E=A,A===C){if(B===g.y)return g;if(B===g.next.y)return g.next}Q=g.x=g.x&&g.x>=o&&C!==g.x&&le(BQ.x||g.x===Q.x&&Fe(Q,g)))&&(Q=g,s=e)),g=g.next}while(g!==i);return Q}(A,I)){const g=Ye(I,A);De(I,I.next),De(g,g.next)}}function Fe(A,I){return Se(A.prev,A,I.prev)<0&&Se(I.next,A,A.next)<0}function Re(A,I,g,C,B){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=32767*(A-g)*B)|A<<8))|A<<4))|A<<2))|A<<1))|(I=1431655765&((I=858993459&((I=252645135&((I=16711935&((I=32767*(I-C)*B)|I<<8))|I<<4))|I<<2))|I<<1))<<1}function Ne(A){let I=A,g=A;do{(I.x=0&&(A-E)*(C-i)-(g-E)*(I-i)>=0&&(g-E)*(Q-i)-(B-E)*(C-i)>=0}function Me(A,I){return A.next.i!==I.i&&A.prev.i!==I.i&&!function(A,I){let g=A;do{if(g.i!==A.i&&g.next.i!==A.i&&g.i!==I.i&&g.next.i!==I.i&&de(g,g.next,A,I))return!0;g=g.next}while(g!==A);return!1}(A,I)&&(Je(A,I)&&Je(I,A)&&function(A,I){let g=A,C=!1;const B=(A.x+I.x)/2,Q=(A.y+I.y)/2;do{g.y>Q!=g.next.y>Q&&g.next.y!==g.y&&B<(g.next.x-g.x)*(Q-g.y)/(g.next.y-g.y)+g.x&&(C=!C),g=g.next}while(g!==A);return C}(A,I)&&(Se(A.prev,A,I.prev)||Se(A,I.prev,I))||Ue(A,I)&&Se(A.prev,A,A.next)>0&&Se(I.prev,I,I.next)>0)}function Se(A,I,g){return(I.y-A.y)*(g.x-I.x)-(I.x-A.x)*(g.y-I.y)}function Ue(A,I){return A.x===I.x&&A.y===I.y}function de(A,I,g,C){const B=ke(Se(A,I,g)),Q=ke(Se(A,I,C)),E=ke(Se(g,C,A)),i=ke(Se(g,C,I));return B!==Q&&E!==i||!(0!==B||!Ke(A,g,I))||!(0!==Q||!Ke(A,C,I))||!(0!==E||!Ke(g,A,C))||!(0!==i||!Ke(g,I,C))}function Ke(A,I,g){return I.x<=Math.max(A.x,g.x)&&I.x>=Math.min(A.x,g.x)&&I.y<=Math.max(A.y,g.y)&&I.y>=Math.min(A.y,g.y)}function ke(A){return A>0?1:A<0?-1:0}function Je(A,I){return Se(A.prev,A,A.next)<0?Se(A,I,A.next)>=0&&Se(A,A.prev,I)>=0:Se(A,I,A.prev)<0||Se(A,A.next,I)<0}function Ye(A,I){const g=new pe(A.i,A.x,A.y),C=new pe(I.i,I.x,I.y),B=A.next,Q=I.prev;return A.next=I,I.prev=A,g.next=B,B.prev=g,C.next=g,g.prev=C,Q.next=C,C.prev=Q,C}function ue(A,I,g,C){const B=new pe(A,I,g);return C?(B.next=C.next,B.prev=C,C.next.prev=B,C.next=B):(B.prev=B,B.next=B),B}function Le(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function pe(A,I,g){this.i=A,this.x=I,this.y=g,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class fe{static area(A){const I=A.length;let g=0;for(let C=I-1,B=0;B80*g){i=t=A[0],o=e=A[1];for(let I=g;It&&(t=s),a>e&&(e=a);D=Math.max(t-i,e-o),D=0!==D?1/D:0}return ne(Q,E,g,i,o,D),E}(g,C);for(let A=0;A2&&A[I-1].equals(A[0])&&A.pop()}function me(A,I){for(let g=0;gNumber.EPSILON){const s=Math.sqrt(e),a=Math.sqrt(o*o+t*t),D=I.x-i/s,n=I.y+E/s,r=((g.x-t/a-D)*t-(g.y+o/a-n)*o)/(E*t-i*o);C=D+E*r-A.x,B=n+i*r-A.y;const h=C*C+B*B;if(h<=2)return new bg(C,B);Q=Math.sqrt(h/2)}else{let A=!1;E>Number.EPSILON?o>Number.EPSILON&&(A=!0):E<-Number.EPSILON?o<-Number.EPSILON&&(A=!0):Math.sign(i)===Math.sign(t)&&(A=!0),A?(C=-i,B=E,Q=Math.sqrt(e)):(C=E,B=i,Q=Math.sqrt(e/2))}return new bg(C/Q,B/Q)}const J=[];for(let A=0,I=S.length,g=I-1,C=A+1;A=0;A--){const I=A/D,g=e*Math.cos(I*Math.PI/2),C=s*Math.sin(I*Math.PI/2)+a;for(let A=0,I=S.length;A=0;){const C=g;let B=g-1;B<0&&(B=A.length-1);for(let A=0,g=i+2*D;A0)&&a.push(I,B,o),(A!==g-1||i0!=A>0&&this.version++,this._sheen=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.ior=A.ior,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}gs.prototype.isMeshPhysicalMaterial=!0;class Cs extends cB{constructor(A){super(),this.type="MeshPhongMaterial",this.color=new MB(16777215),this.specular=new MB(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new MB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=P,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this}}Cs.prototype.isMeshPhongMaterial=!0;class Bs extends cB{constructor(A){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new MB(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new MB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this}}Bs.prototype.isMeshToonMaterial=!0;class Qs extends cB{constructor(A){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}Qs.prototype.isMeshNormalMaterial=!0;class Es extends cB{constructor(A){super(),this.type="MeshLambertMaterial",this.color=new MB(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new MB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=P,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this}}Es.prototype.isMeshLambertMaterial=!0;class is extends cB{constructor(A){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new MB(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this}}is.prototype.isMeshMatcapMaterial=!0;class os extends st{constructor(A){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}os.prototype.isLineDashedMaterial=!0;var ts=Object.freeze({__proto__:null,ShadowMaterial:As,SpriteMaterial:Ko,RawShaderMaterial:WQ,ShaderMaterial:wQ,PointsMaterial:Rt,MeshPhysicalMaterial:gs,MeshStandardMaterial:Is,MeshPhongMaterial:Cs,MeshToonMaterial:Bs,MeshNormalMaterial:Qs,MeshLambertMaterial:Es,MeshDepthMaterial:io,MeshDistanceMaterial:oo,MeshBasicMaterial:SB,MeshMatcapMaterial:is,LineDashedMaterial:os,LineBasicMaterial:st,Material:cB});const es={arraySlice:function(A,I,g){return es.isTypedArray(A)?new A.constructor(A.subarray(I,void 0!==g?g:A.length)):A.slice(I,g)},convertArray:function(A,I,g){return!A||!g&&A.constructor===I?A:"number"==typeof I.BYTES_PER_ELEMENT?new I(A):Array.prototype.slice.call(A)},isTypedArray:function(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)},getKeyframeOrder:function(A){const I=A.length,g=new Array(I);for(let A=0;A!==I;++A)g[A]=A;return g.sort((function(I,g){return A[I]-A[g]})),g},sortedArray:function(A,I,g){const C=A.length,B=new A.constructor(C);for(let Q=0,E=0;E!==C;++Q){const C=g[Q]*I;for(let g=0;g!==I;++g)B[E++]=A[C+g]}return B},flattenJSON:function(A,I,g,C){let B=1,Q=A[0];for(;void 0!==Q&&void 0===Q[C];)Q=A[B++];if(void 0===Q)return;let E=Q[C];if(void 0!==E)if(Array.isArray(E))do{E=Q[C],void 0!==E&&(I.push(Q.time),g.push.apply(g,E)),Q=A[B++]}while(void 0!==Q);else if(void 0!==E.toArray)do{E=Q[C],void 0!==E&&(I.push(Q.time),E.toArray(g,g.length)),Q=A[B++]}while(void 0!==Q);else do{E=Q[C],void 0!==E&&(I.push(Q.time),g.push(E)),Q=A[B++]}while(void 0!==Q)},subclip:function(A,I,g,C,B=30){const Q=A.clone();Q.name=I;const E=[];for(let A=0;A=C)){o.push(I.times[A]);for(let g=0;gQ.tracks[A].times[0]&&(i=Q.tracks[A].times[0]);for(let A=0;A=C.times[s]){const A=s*o+i,I=A+o-i;a=es.arraySlice(C.values,A,I)}else{const A=C.createInterpolant(),I=i,g=o-i;A.evaluate(Q),a=es.arraySlice(A.resultBuffer,I,g)}"quaternion"===B&&(new gC).fromArray(a).normalize().conjugate().toArray(a);const D=E.times.length;for(let A=0;A=B)break A;{const E=I[1];A=B)break I}Q=g,g=0}}for(;g>>1;AI;)--Q;if(++Q,0!==B||Q!==C){B>=Q&&(Q=Math.max(Q,1),B=Q-1);const A=this.getValueSize();this.times=es.arraySlice(g,B,Q),this.values=es.arraySlice(this.values,B*A,Q*A)}return this}validate(){let A=!0;const I=this.getValueSize();I-Math.floor(I)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const g=this.times,C=this.values,B=g.length;0===B&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let Q=null;for(let I=0;I!==B;I++){const C=g[I];if("number"==typeof C&&isNaN(C)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,I,C),A=!1;break}if(null!==Q&&Q>C){console.error("THREE.KeyframeTrack: Out of order keys.",this,I,C,Q),A=!1;break}Q=C}if(void 0!==C&&es.isTypedArray(C))for(let I=0,g=C.length;I!==g;++I){const g=C[I];if(isNaN(g)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,I,g),A=!1;break}}return A}optimize(){const A=es.arraySlice(this.times),I=es.arraySlice(this.values),g=this.getValueSize(),C=this.getInterpolation()===xI,B=A.length-1;let Q=1;for(let E=1;E0){A[Q]=A[B];for(let A=B*g,C=Q*g,E=0;E!==g;++E)I[C+E]=I[A+E];++Q}return Q!==A.length?(this.times=es.arraySlice(A,0,Q),this.values=es.arraySlice(I,0,Q*g)):(this.times=A,this.values=I),this}clone(){const A=es.arraySlice(this.times,0),I=es.arraySlice(this.values,0),g=new(0,this.constructor)(this.name,A,I);return g.createInterpolant=this.createInterpolant,g}}rs.prototype.TimeBufferType=Float32Array,rs.prototype.ValueBufferType=Float32Array,rs.prototype.DefaultInterpolation=qI;class hs extends rs{}hs.prototype.ValueTypeName="bool",hs.prototype.ValueBufferType=Array,hs.prototype.DefaultInterpolation=mI,hs.prototype.InterpolantFactoryMethodLinear=void 0,hs.prototype.InterpolantFactoryMethodSmooth=void 0;class ws extends rs{}ws.prototype.ValueTypeName="color";class cs extends rs{}cs.prototype.ValueTypeName="number";class Gs extends ss{constructor(A,I,g,C){super(A,I,g,C)}interpolate_(A,I,g,C){const B=this.resultBuffer,Q=this.sampleValues,E=this.valueSize,i=(g-I)/(C-I);let o=A*E;for(let A=o+E;o!==A;o+=4)gC.slerpFlat(B,0,Q,o-E,Q,o,i);return B}}class ys extends rs{InterpolantFactoryMethodLinear(A){return new Gs(this.times,this.values,this.getValueSize(),A)}}ys.prototype.ValueTypeName="quaternion",ys.prototype.DefaultInterpolation=qI,ys.prototype.InterpolantFactoryMethodSmooth=void 0;class Fs extends rs{}Fs.prototype.ValueTypeName="string",Fs.prototype.ValueBufferType=Array,Fs.prototype.DefaultInterpolation=mI,Fs.prototype.InterpolantFactoryMethodLinear=void 0,Fs.prototype.InterpolantFactoryMethodSmooth=void 0;class Rs extends rs{}Rs.prototype.ValueTypeName="vector";class Ns{constructor(A,I=-1,g,C=WI){this.name=A,this.tracks=g,this.duration=I,this.blendMode=C,this.uuid=ug(),this.duration<0&&this.resetDuration()}static parse(A){const I=[],g=A.tracks,C=1/(A.fps||1);for(let A=0,B=g.length;A!==B;++A)I.push(ls(g[A]).scale(C));const B=new this(A.name,A.duration,I,A.blendMode);return B.uuid=A.uuid,B}static toJSON(A){const I=[],g=A.tracks,C={name:A.name,duration:A.duration,tracks:I,uuid:A.uuid,blendMode:A.blendMode};for(let A=0,C=g.length;A!==C;++A)I.push(rs.toJSON(g[A]));return C}static CreateFromMorphTargetSequence(A,I,g,C){const B=I.length,Q=[];for(let A=0;A1){const A=Q[1];let I=C[A];I||(C[A]=I=[]),I.push(g)}}const Q=[];for(const A in C)Q.push(this.CreateFromMorphTargetSequence(A,C[A],I,g));return Q}static parseAnimation(A,I){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const g=function(A,I,g,C,B){if(0!==g.length){const Q=[],E=[];es.flattenJSON(g,Q,E,C),0!==Q.length&&B.push(new A(I,Q,E))}},C=[],B=A.name||"default",Q=A.fps||30,E=A.blendMode;let i=A.length||-1;const o=A.hierarchy||[];for(let A=0;A{I&&I(B),this.manager.itemEnd(A)}),0),B;if(void 0!==Ks[A])return void Ks[A].push({onLoad:I,onProgress:g,onError:C});Ks[A]=[],Ks[A].push({onLoad:I,onProgress:g,onError:C});const Q=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(Q).then((I=>{if(200===I.status||0===I.status){if(0===I.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===I.body.getReader)return I;const g=Ks[A],C=I.body.getReader(),B=I.headers.get("Content-Length"),Q=B?parseInt(B):0,E=0!==Q;let i=0;const o=new ReadableStream({start(A){!function I(){C.read().then((({done:C,value:B})=>{if(C)A.close();else{i+=B.byteLength;const C=new ProgressEvent("progress",{lengthComputable:E,loaded:i,total:Q});for(let A=0,I=g.length;A{switch(this.responseType){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then((A=>(new DOMParser).parseFromString(A,this.mimeType)));case"json":return A.json();default:return A.text()}})).then((I=>{Ms.add(A,I);const g=Ks[A];delete Ks[A];for(let A=0,C=g.length;A{const g=Ks[A];if(void 0===g)throw this.manager.itemError(A),I;delete Ks[A];for(let A=0,C=g.length;A{this.manager.itemEnd(A)})),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class Js extends ds{constructor(A){super(A)}load(A,I,g,C){const B=this,Q=new ks(this.manager);Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,(function(g){try{I(B.parse(JSON.parse(g)))}catch(I){C?C(I):console.error(I),B.manager.itemError(A)}}),g,C)}parse(A){const I=[];for(let g=0;g0:C.vertexColors=A.vertexColors),void 0!==A.uniforms)for(const I in A.uniforms){const B=A.uniforms[I];switch(C.uniforms[I]={},B.type){case"t":C.uniforms[I].value=g(B.value);break;case"c":C.uniforms[I].value=(new MB).setHex(B.value);break;case"v2":C.uniforms[I].value=(new bg).fromArray(B.value);break;case"v3":C.uniforms[I].value=(new CC).fromArray(B.value);break;case"v4":C.uniforms[I].value=(new _g).fromArray(B.value);break;case"m3":C.uniforms[I].value=(new Tg).fromArray(B.value);break;case"m4":C.uniforms[I].value=(new LC).fromArray(B.value);break;default:C.uniforms[I].value=B.value}}if(void 0!==A.defines&&(C.defines=A.defines),void 0!==A.vertexShader&&(C.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(C.fragmentShader=A.fragmentShader),void 0!==A.extensions)for(const I in A.extensions)C.extensions[I]=A.extensions[I];if(void 0!==A.shading&&(C.flatShading=1===A.shading),void 0!==A.size&&(C.size=A.size),void 0!==A.sizeAttenuation&&(C.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(C.map=g(A.map)),void 0!==A.matcap&&(C.matcap=g(A.matcap)),void 0!==A.alphaMap&&(C.alphaMap=g(A.alphaMap)),void 0!==A.bumpMap&&(C.bumpMap=g(A.bumpMap)),void 0!==A.bumpScale&&(C.bumpScale=A.bumpScale),void 0!==A.normalMap&&(C.normalMap=g(A.normalMap)),void 0!==A.normalMapType&&(C.normalMapType=A.normalMapType),void 0!==A.normalScale){let I=A.normalScale;!1===Array.isArray(I)&&(I=[I,I]),C.normalScale=(new bg).fromArray(I)}return void 0!==A.displacementMap&&(C.displacementMap=g(A.displacementMap)),void 0!==A.displacementScale&&(C.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(C.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(C.roughnessMap=g(A.roughnessMap)),void 0!==A.metalnessMap&&(C.metalnessMap=g(A.metalnessMap)),void 0!==A.emissiveMap&&(C.emissiveMap=g(A.emissiveMap)),void 0!==A.emissiveIntensity&&(C.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(C.specularMap=g(A.specularMap)),void 0!==A.specularIntensityMap&&(C.specularIntensityMap=g(A.specularIntensityMap)),void 0!==A.specularColorMap&&(C.specularColorMap=g(A.specularColorMap)),void 0!==A.envMap&&(C.envMap=g(A.envMap)),void 0!==A.envMapIntensity&&(C.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(C.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(C.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(C.lightMap=g(A.lightMap)),void 0!==A.lightMapIntensity&&(C.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(C.aoMap=g(A.aoMap)),void 0!==A.aoMapIntensity&&(C.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(C.gradientMap=g(A.gradientMap)),void 0!==A.clearcoatMap&&(C.clearcoatMap=g(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap=g(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(C.clearcoatNormalMap=g(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(C.clearcoatNormalScale=(new bg).fromArray(A.clearcoatNormalScale)),void 0!==A.transmissionMap&&(C.transmissionMap=g(A.transmissionMap)),void 0!==A.thicknessMap&&(C.thicknessMap=g(A.thicknessMap)),void 0!==A.sheenColorMap&&(C.sheenColorMap=g(A.sheenColorMap)),void 0!==A.sheenRoughnessMap&&(C.sheenRoughnessMap=g(A.sheenRoughnessMap)),C}setTextures(A){return this.textures=A,this}}class Ca{static decodeText(A){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(A);let I="";for(let g=0,C=A.length;g0){const g=new Ss(I);B=new us(g),B.setCrossOrigin(this.crossOrigin);for(let I=0,g=A.length;I0){C=new us(this.manager),C.setCrossOrigin(this.crossOrigin);for(let I=0,C=A.length;I0){this.source.connect(this.filters[0]);for(let A=1,I=this.filters.length;A0){this.source.disconnect(this.filters[0]);for(let A=1,I=this.filters.length;A0&&this._mixBufferRegionAdditive(g,C,this._addIndex*I,1,I);for(let A=I,B=I+I;A!==B;++A)if(g[A]!==g[A+I]){E.setValue(g,C);break}}saveOriginalState(){const A=this.binding,I=this.buffer,g=this.valueSize,C=g*this._origIndex;A.getValue(I,C);for(let A=g,B=C;A!==B;++A)I[A]=I[C+A%g];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=3*this.valueSize;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,I=A+this.valueSize;for(let g=A;g=.5)for(let C=0;C!==B;++C)A[I+C]=A[g+C]}_slerp(A,I,g,C){gC.slerpFlat(A,I,A,I,A,g,C)}_slerpAdditive(A,I,g,C,B){const Q=this._workIndex*B;gC.multiplyQuaternionsFlat(A,Q,A,I,A,g),gC.slerpFlat(A,I,A,I,A,Q,C)}_lerp(A,I,g,C,B){const Q=1-C;for(let E=0;E!==B;++E){const B=I+E;A[B]=A[B]*Q+A[g+E]*C}}_lerpAdditive(A,I,g,C,B){for(let Q=0;Q!==B;++Q){const B=I+Q;A[B]=A[B]+A[g+Q]*C}}}const pa=new RegExp("[\\[\\]\\.:\\/]","g"),fa="[^\\[\\]\\.:\\/]",Ha="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",ma=/((?:WC+[\/:])*)/.source.replace("WC",fa),qa=/(WCOD+)?/.source.replace("WCOD",Ha),xa=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",fa),ba=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",fa),Ta=new RegExp("^"+ma+qa+xa+ba+"$"),Va=["material","materials","bones"];class Wa{constructor(A,I,g){this.path=I,this.parsedPath=g||Wa.parseTrackName(I),this.node=Wa.findNode(A,this.parsedPath.nodeName)||A,this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,I,g){return A&&A.isAnimationObjectGroup?new Wa.Composite(A,I,g):new Wa(A,I,g)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(pa,"")}static parseTrackName(A){const I=Ta.exec(A);if(!I)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const g={nodeName:I[2],objectName:I[3],objectIndex:I[4],propertyName:I[5],propertyIndex:I[6]},C=g.nodeName&&g.nodeName.lastIndexOf(".");if(void 0!==C&&-1!==C){const A=g.nodeName.substring(C+1);-1!==Va.indexOf(A)&&(g.nodeName=g.nodeName.substring(0,C),g.objectName=A)}if(null===g.propertyName||0===g.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return g}static findNode(A,I){if(!I||""===I||"."===I||-1===I||I===A.name||I===A.uuid)return A;if(A.skeleton){const g=A.skeleton.getBoneByName(I);if(void 0!==g)return g}if(A.children){const g=function(A){for(let C=0;C=B){const Q=B++,t=A[Q];I[t.uuid]=o,A[o]=t,I[i]=Q,A[Q]=E;for(let A=0,I=C;A!==I;++A){const I=g[A],C=I[Q],B=I[o];I[o]=C,I[Q]=B}}}this.nCachedObjects_=B}uncache(){const A=this._objects,I=this._indicesByUUID,g=this._bindings,C=g.length;let B=this.nCachedObjects_,Q=A.length;for(let E=0,i=arguments.length;E!==i;++E){const i=arguments[E].uuid,o=I[i];if(void 0!==o)if(delete I[i],o0&&(I[E.uuid]=o),A[o]=E,A.pop();for(let A=0,I=C;A!==I;++A){const I=g[A];I[o]=I[B],I.pop()}}}this.nCachedObjects_=B}subscribe_(A,I){const g=this._bindingsIndicesByPath;let C=g[A];const B=this._bindings;if(void 0!==C)return B[C];const Q=this._paths,E=this._parsedPaths,i=this._objects,o=i.length,t=this.nCachedObjects_,e=new Array(o);C=B.length,g[A]=C,Q.push(A),E.push(I),B.push(e);for(let g=t,C=i.length;g!==C;++g){const C=i[g];e[g]=new Wa(C,A,I)}return e}unsubscribe_(A){const I=this._bindingsIndicesByPath,g=I[A];if(void 0!==g){const C=this._paths,B=this._parsedPaths,Q=this._bindings,E=Q.length-1,i=Q[E];I[A[E]]=g,Q[g]=i,Q.pop(),B[g]=B[E],B.pop(),C[g]=C[E],C.pop()}}}va.prototype.isAnimationObjectGroup=!0;class Za{constructor(A,I,g=null,C=I.blendMode){this._mixer=A,this._clip=I,this._localRoot=g,this.blendMode=C;const B=I.tracks,Q=B.length,E=new Array(Q),i={endingStart:bI,endingEnd:bI};for(let A=0;A!==Q;++A){const I=B[A].createInterpolant(null);E[A]=I,I.settings=i}this._interpolantSettings=i,this._interpolants=E,this._propertyBindings=new Array(Q),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=fI,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(A){return this._startTime=A,this}setLoop(A,I){return this.loop=A,this.repetitions=I,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,I,g){if(A.fadeOut(I),this.fadeIn(I),g){const g=this._clip.duration,C=A._clip.duration,B=C/g,Q=g/C;A.warp(1,B,I),this.warp(Q,1,I)}return this}crossFadeTo(A,I,g){return A.crossFadeFrom(this,I,g)}stopFading(){const A=this._weightInterpolant;return null!==A&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,I,g){const C=this._mixer,B=C.time,Q=this.timeScale;let E=this._timeScaleInterpolant;null===E&&(E=C._lendControlInterpolant(),this._timeScaleInterpolant=E);const i=E.parameterPositions,o=E.sampleValues;return i[0]=B,i[1]=B+g,o[0]=A/Q,o[1]=I/Q,this}stopWarping(){const A=this._timeScaleInterpolant;return null!==A&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,I,g,C){if(!this.enabled)return void this._updateWeight(A);const B=this._startTime;if(null!==B){const C=(A-B)*g;if(C<0||0===g)return;this._startTime=null,I=g*C}I*=this._updateTimeScale(A);const Q=this._updateTime(I),E=this._updateWeight(A);if(E>0){const A=this._interpolants,I=this._propertyBindings;switch(this.blendMode){case vI:for(let g=0,C=A.length;g!==C;++g)A[g].evaluate(Q),I[g].accumulateAdditive(E);break;case WI:default:for(let g=0,B=A.length;g!==B;++g)A[g].evaluate(Q),I[g].accumulate(C,E)}}}_updateWeight(A){let I=0;if(this.enabled){I=this.weight;const g=this._weightInterpolant;if(null!==g){const C=g.evaluate(A)[0];I*=C,A>g.parameterPositions[1]&&(this.stopFading(),0===C&&(this.enabled=!1))}}return this._effectiveWeight=I,I}_updateTimeScale(A){let I=0;if(!this.paused){I=this.timeScale;const g=this._timeScaleInterpolant;null!==g&&(I*=g.evaluate(A)[0],A>g.parameterPositions[1]&&(this.stopWarping(),0===I?this.paused=!0:this.timeScale=I))}return this._effectiveTimeScale=I,I}_updateTime(A){const I=this._clip.duration,g=this.loop;let C=this.time+A,B=this._loopCount;const Q=g===HI;if(0===A)return-1===B?C:Q&&1==(1&B)?I-C:C;if(g===pI){-1===B&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(C>=I)C=I;else{if(!(C<0)){this.time=C;break A}C=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=C,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(-1===B&&(A>=0?(B=0,this._setEndings(!0,0===this.repetitions,Q)):this._setEndings(0===this.repetitions,!0,Q)),C>=I||C<0){const g=Math.floor(C/I);C-=I*g,B+=Math.abs(g);const E=this.repetitions-B;if(E<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,C=A>0?I:0,this.time=C,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(1===E){const I=A<0;this._setEndings(I,!I,Q)}else this._setEndings(!1,!1,Q);this._loopCount=B,this.time=C,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:g})}}else this.time=C;if(Q&&1==(1&B))return I-C}return C}_setEndings(A,I,g){const C=this._interpolantSettings;g?(C.endingStart=TI,C.endingEnd=TI):(C.endingStart=A?this.zeroSlopeAtStart?TI:bI:VI,C.endingEnd=I?this.zeroSlopeAtEnd?TI:bI:VI)}_scheduleFading(A,I,g){const C=this._mixer,B=C.time;let Q=this._weightInterpolant;null===Q&&(Q=C._lendControlInterpolant(),this._weightInterpolant=Q);const E=Q.parameterPositions,i=Q.sampleValues;return E[0]=B,i[0]=I,E[1]=B+A,i[1]=g,this}}class Oa extends dg{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,I){const g=A._localRoot||this._root,C=A._clip.tracks,B=C.length,Q=A._propertyBindings,E=A._interpolants,i=g.uuid,o=this._bindingsByRootAndName;let t=o[i];void 0===t&&(t={},o[i]=t);for(let A=0;A!==B;++A){const B=C[A],o=B.name;let e=t[o];if(void 0!==e)Q[A]=e;else{if(e=Q[A],void 0!==e){null===e._cacheIndex&&(++e.referenceCount,this._addInactiveBinding(e,i,o));continue}const C=I&&I._propertyBindings[A].binding.parsedPath;e=new La(Wa.create(g,o,C),B.ValueTypeName,B.getValueSize()),++e.referenceCount,this._addInactiveBinding(e,i,o),Q[A]=e}E[A].resultBuffer=e.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(null===A._cacheIndex){const I=(A._localRoot||this._root).uuid,g=A._clip.uuid,C=this._actionsByClip[g];this._bindAction(A,C&&C.knownActions[0]),this._addInactiveAction(A,g,I)}const I=A._propertyBindings;for(let A=0,g=I.length;A!==g;++A){const g=I[A];0==g.useCount++&&(this._lendBinding(g),g.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const I=A._propertyBindings;for(let A=0,g=I.length;A!==g;++A){const g=I[A];0==--g.useCount&&(g.restoreOriginalState(),this._takeBackBinding(g))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const I=A._cacheIndex;return null!==I&&I=0;--I)A[I].stop();return this}update(A){A*=this.timeScale;const I=this._actions,g=this._nActiveActions,C=this.time+=A,B=Math.sign(A),Q=this._accuIndex^=1;for(let E=0;E!==g;++E)I[E]._update(C,A,B,Q);const E=this._bindings,i=this._nActiveBindings;for(let A=0;A!==i;++A)E[A].apply(Q);return this}setTime(A){this.time=0;for(let A=0;Athis.max.x||A.ythis.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y)}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return gD.copy(A).clamp(this.min,this.max).sub(A).length()}intersect(A){return this.min.max(A.min),this.max.min(A.max),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}CD.prototype.isBox2=!0;const BD=new CC,QD=new CC;class ED{constructor(A=new CC,I=new CC){this.start=A,this.end=I}set(A,I){return this.start.copy(A),this.end.copy(I),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,I){return this.delta(I).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,I){BD.subVectors(A,this.start),QD.subVectors(this.end,this.start);const g=QD.dot(QD);let C=QD.dot(BD)/g;return I&&(C=Lg(C,0,1)),C}closestPointToPoint(A,I,g){const C=this.closestPointToPointParameter(A,I);return this.delta(g).multiplyScalar(C).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const iD=new CC;class oD extends QB{constructor(A,I){super(),this.light=A,this.light.updateMatrixWorld(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=I;const g=new OB,C=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let A=0,I=1,g=32;A.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{uD.set(A.z,0,-A.x).normalize();const I=Math.acos(A.y);this.quaternion.setFromAxisAngle(uD,I)}}setLength(A,I=.2*A,g=.2*I){this.line.scale.set(1,Math.max(1e-4,A-I),1),this.line.updateMatrix(),this.cone.scale.set(g,I,g),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}}class HD extends yt{constructor(A=1){const I=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],g=new OB;g.setAttribute("position",new mB(I,3)),g.setAttribute("color",new mB([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(g,new st({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(A,I,g){const C=new MB,B=this.geometry.attributes.color.array;return C.set(A),C.toArray(B,0),C.toArray(B,3),C.set(I),C.toArray(B,6),C.toArray(B,9),C.set(g),C.toArray(B,12),C.toArray(B,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class mD{constructor(){this.type="ShapePath",this.color=new MB,this.subPaths=[],this.currentPath=null}moveTo(A,I){return this.currentPath=new ee,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,I),this}lineTo(A,I){return this.currentPath.lineTo(A,I),this}quadraticCurveTo(A,I,g,C){return this.currentPath.quadraticCurveTo(A,I,g,C),this}bezierCurveTo(A,I,g,C,B,Q){return this.currentPath.bezierCurveTo(A,I,g,C,B,Q),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A,I){function g(A){const I=[];for(let g=0,C=A.length;gNumber.EPSILON){if(o<0&&(g=I[Q],i=-i,E=I[B],o=-o),A.yE.y)continue;if(A.y===g.y){if(A.x===g.x)return!0}else{const I=o*(A.x-g.x)-i*(A.y-g.y);if(0===I)return!0;if(I<0)continue;C=!C}}else{if(A.y!==g.y)continue;if(E.x<=A.x&&A.x<=g.x||g.x<=A.x&&A.x<=E.x)return!0}}return C}const B=fe.isClockWise,Q=this.subPaths;if(0===Q.length)return[];if(!0===I)return g(Q);let E,i,o;const t=[];if(1===Q.length)return i=Q[0],o=new se,o.curves=i.curves,t.push(o),t;let e=!B(Q[0].getPoints());e=A?!e:e;const s=[],a=[];let D,n,r=[],h=0;a[h]=void 0,r[h]=[];for(let I=0,g=Q.length;I1){let A=!1;const I=[];for(let A=0,I=a.length;A0&&(A||(r=s))}for(let A=0,I=a.length;A65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),A=65504),qD[0]=A;const I=xD[0];let g=I>>16&32768,C=I>>12&2047;const B=I>>23&255;return B<103?g:B>142?(g|=31744,g|=(255==B?0:1)&&8388607&I,g):B<113?(C|=2048,g|=(C>>114-B)+(C>>113-B&1),g):(g|=B-112<<10|C>>1,g+=1&C,g)}}const TD=0,VD=1,WD=0,vD=1,ZD=2;function OD(A){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),A}function XD(A=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),A.isMultiMaterial=!0,A.materials=A,A.clone=function(){return A.slice()},A}function PD(A,I){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Ut(A,I)}function jD(A){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Vo(A)}function zD(A,I){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Ut(A,I)}function _D(A){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Rt(A)}function $D(A){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Rt(A)}function An(A){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Rt(A)}function In(A,I,g){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new CC(A,I,g)}function gn(A,I){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new KB(A,I).setUsage(cg)}function Cn(A,I){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new kB(A,I)}function Bn(A,I){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new JB(A,I)}function Qn(A,I){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new YB(A,I)}function En(A,I){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new uB(A,I)}function on(A,I){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new LB(A,I)}function tn(A,I){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new pB(A,I)}function en(A,I){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new fB(A,I)}function sn(A,I){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new mB(A,I)}function an(A,I){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new qB(A,I)}function Dn(A){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new HD(A)}function nn(A,I){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new kD(A,I)}function rn(A,I){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new yt(new Tt(A.geometry),new st({color:void 0!==I?I:16777215}))}function hn(A,I){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new yt(new ze(A.geometry),new st({color:void 0!==I?I:16777215}))}function wn(A){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new ks(A)}function cn(A){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new ps(A)}function Gn(A,I,g){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new NQ(A,g)}function yn(){console.error("THREE.CanvasRenderer has been removed")}function Fn(){console.error("THREE.JSONLoader has been removed.")}Vt.create=function(A,I){return console.log("THREE.Curve.create() has been deprecated"),A.prototype=Object.create(Vt.prototype),A.prototype.constructor=A,A.prototype.getPoint=I,A},ee.prototype.fromPoints=function(A){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(A)},GD.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},aD.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},ds.prototype.extractUrlBase=function(A){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),Ca.extractUrlBase(A)},ds.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},CD.prototype.center=function(A){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(A)},CD.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},CD.prototype.isIntersectionBox=function(A){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},CD.prototype.size=function(A){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(A)},EC.prototype.center=function(A){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(A)},EC.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},EC.prototype.isIntersectionBox=function(A){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},EC.prototype.isIntersectionSphere=function(A){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(A)},EC.prototype.size=function(A){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(A)},MC.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},kQ.prototype.setFromMatrix=function(A){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(A)},ED.prototype.center=function(A){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(A)},Tg.prototype.flattenToArrayOffset=function(A,I){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(A,I)},Tg.prototype.multiplyVector3=function(A){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),A.applyMatrix3(this)},Tg.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},Tg.prototype.applyToBufferAttribute=function(A){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),A.applyMatrix3(this)},Tg.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},Tg.prototype.getInverse=function(A){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(A).invert()},LC.prototype.extractPosition=function(A){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(A)},LC.prototype.flattenToArrayOffset=function(A,I){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(A,I)},LC.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new CC).setFromMatrixColumn(this,3)},LC.prototype.setRotationFromQuaternion=function(A){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(A)},LC.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},LC.prototype.multiplyVector3=function(A){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.multiplyVector4=function(A){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},LC.prototype.rotateAxis=function(A){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),A.transformDirection(this)},LC.prototype.crossVector=function(A){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},LC.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},LC.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},LC.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},LC.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},LC.prototype.applyToBufferAttribute=function(A){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},LC.prototype.makeFrustum=function(A,I,g,C,B,Q){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(A,I,C,g,B,Q)},LC.prototype.getInverse=function(A){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(A).invert()},UQ.prototype.isIntersectionLine=function(A){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(A)},gC.prototype.multiplyVector3=function(A){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),A.applyQuaternion(this)},gC.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},uC.prototype.isIntersectionBox=function(A){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},uC.prototype.isIntersectionPlane=function(A){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(A)},uC.prototype.isIntersectionSphere=function(A){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(A)},hB.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},hB.prototype.barycoordFromPoint=function(A,I){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(A,I)},hB.prototype.midpoint=function(A){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(A)},hB.prototypenormal=function(A){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(A)},hB.prototype.plane=function(A){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(A)},hB.barycoordFromPoint=function(A,I,g,C,B){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),hB.getBarycoord(A,I,g,C,B)},hB.normal=function(A,I,g,C){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),hB.getNormal(A,I,g,C)},se.prototype.extractAllPoints=function(A){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(A)},se.prototype.extrude=function(A){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new qe(this,A)},se.prototype.makeGeometry=function(A){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new ve(this,A)},bg.prototype.fromAttribute=function(A,I,g){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,I,g)},bg.prototype.distanceToManhattan=function(A){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(A)},bg.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},CC.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},CC.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},CC.prototype.getPositionFromMatrix=function(A){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(A)},CC.prototype.getScaleFromMatrix=function(A){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(A)},CC.prototype.getColumnFromMatrix=function(A,I){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(I,A)},CC.prototype.applyProjection=function(A){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(A)},CC.prototype.fromAttribute=function(A,I,g){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,I,g)},CC.prototype.distanceToManhattan=function(A){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(A)},CC.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},_g.prototype.fromAttribute=function(A,I,g){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,I,g)},_g.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},QB.prototype.getChildByName=function(A){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(A)},QB.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},QB.prototype.translate=function(A,I){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(I,A)},QB.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},QB.prototype.applyMatrix=function(A){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)},Object.defineProperties(QB.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(A){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=A}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),sQ.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(sQ.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),ZI},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),$o.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},GQ.prototype.setLens=function(A,I){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==I&&(this.filmGauge=I),this.setFocalLength(A)},Object.defineProperties(Hs.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(A){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=A}},shadowCameraLeft:{set:function(A){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=A}},shadowCameraRight:{set:function(A){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=A}},shadowCameraTop:{set:function(A){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=A}},shadowCameraBottom:{set:function(A){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=A}},shadowCameraNear:{set:function(A){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=A}},shadowCameraFar:{set:function(A){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=A}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(A){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=A}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(A){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=A}},shadowMapHeight:{set:function(A){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=A}}}),Object.defineProperties(KB.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===cg},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(cg)}}}),KB.prototype.setDynamic=function(A){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===A?cg:wg),this},KB.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},KB.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},OB.prototype.addIndex=function(A){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(A)},OB.prototype.addAttribute=function(A,I){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),I&&I.isBufferAttribute||I&&I.isInterleavedBufferAttribute?"index"===A?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(I),this):this.setAttribute(A,I):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(A,new KB(arguments[1],arguments[2])))},OB.prototype.addDrawCall=function(A,I,g){void 0!==g&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(A,I)},OB.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},OB.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},OB.prototype.removeAttribute=function(A){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(A)},OB.prototype.applyMatrix=function(A){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)},Object.defineProperties(OB.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Mo.prototype.setDynamic=function(A){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===A?cg:wg),this},Mo.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},qe.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},qe.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},qe.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},lo.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Xa.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(cB.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new MB}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(A){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=A===w}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(A){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=A}},vertexTangents:{get:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")},set:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")}}}),Object.defineProperties(wQ.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(A){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=A}}}),yo.prototype.clearTarget=function(A,I,g,C){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(A),this.clear(I,g,C)},yo.prototype.animate=function(A){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(A)},yo.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},yo.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},yo.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},yo.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},yo.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},yo.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},yo.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},yo.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},yo.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},yo.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},yo.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},yo.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},yo.prototype.enableScissorTest=function(A){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(A)},yo.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},yo.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},yo.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},yo.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},yo.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},yo.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},yo.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},yo.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},yo.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},yo.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(yo.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(A){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=A}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(A){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=A}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(A){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===A?jI:PI}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}},gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}}),Object.defineProperties(to.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties($g.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(A){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=A}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(A){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=A}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(A){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=A}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(A){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=A}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(A){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=A}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(A){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=A}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(A){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=A}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(A){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=A}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(A){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=A}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(A){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=A}}}),Ua.prototype.load=function(A){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const I=this;return(new Da).load(A,(function(A){I.setBuffer(A)})),this},ua.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},FQ.prototype.updateCubeMap=function(A,I){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(A,I)},FQ.prototype.clear=function(A,I,g,C){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(A,I,g,C)},Xg.crossOrigin=void 0,Xg.loadTexture=function(A,I,g,C){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const B=new fs;B.setCrossOrigin(this.crossOrigin);const Q=B.load(A,g,void 0,C);return I&&(Q.mapping=I),Q},Xg.loadTextureCube=function(A,I,g,C){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const B=new Ls;B.setCrossOrigin(this.crossOrigin);const Q=B.load(A,g,void 0,C);return I&&(Q.mapping=I),Q},Xg.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},Xg.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const Rn={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function Nn(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}function ln(){return console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),new OB}function Mn(){return console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),new OB}function Sn(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function Un(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function dn(){console.error("THREE.ImmediateRenderObject has been removed.")}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:C}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=C)},1564:(A,I,g)=>{"use strict";g.r(I),g.d(I,{CSS3DObject:()=>i,CSS3DSprite:()=>o,CSS3DRenderer:()=>s});var C=g(2212);const B=new C.Vector3,Q=new C.Quaternion,E=new C.Vector3;class i extends C.Object3D{constructor(A=document.createElement("div")){super(),this.element=A,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",(function(){this.traverse((function(A){A.element instanceof Element&&null!==A.element.parentNode&&A.element.parentNode.removeChild(A.element)}))}))}copy(A,I){return super.copy(A,I),this.element=A.element.cloneNode(!0),this}}i.prototype.isCSS3DObject=!0;class o extends i{constructor(A){super(A),this.rotation2D=0}copy(A,I){return super.copy(A,I),this.rotation2D=A.rotation2D,this}}o.prototype.isCSS3DSprite=!0;const t=new C.Matrix4,e=new C.Matrix4;class s{constructor(A={}){const I=this;let g,C,i,o;const s={camera:{fov:0,style:""},objects:new WeakMap},a=void 0!==A.element?A.element:document.createElement("div");a.style.overflow="hidden",this.domElement=a;const D=document.createElement("div");function n(A){return Math.abs(A)<1e-10?0:A}function r(A){const I=A.elements;return"matrix3d("+n(I[0])+","+n(-I[1])+","+n(I[2])+","+n(I[3])+","+n(I[4])+","+n(-I[5])+","+n(I[6])+","+n(I[7])+","+n(I[8])+","+n(-I[9])+","+n(I[10])+","+n(I[11])+","+n(I[12])+","+n(-I[13])+","+n(I[14])+","+n(I[15])+")"}function h(A){const I=A.elements;return"translate(-50%,-50%)matrix3d("+n(I[0])+","+n(I[1])+","+n(I[2])+","+n(I[3])+","+n(-I[4])+","+n(-I[5])+","+n(-I[6])+","+n(-I[7])+","+n(I[8])+","+n(I[9])+","+n(I[10])+","+n(I[11])+","+n(I[12])+","+n(I[13])+","+n(I[14])+","+n(I[15])+")"}function w(A,g,C,i){if(A.isCSS3DObject){let i;A.onBeforeRender(I,g,C),A.isCSS3DSprite?(t.copy(C.matrixWorldInverse),t.transpose(),0!==A.rotation2D&&t.multiply(e.makeRotationZ(A.rotation2D)),A.matrixWorld.decompose(B,Q,E),t.setPosition(B),t.scale(E),t.elements[3]=0,t.elements[7]=0,t.elements[11]=0,t.elements[15]=1,i=h(t)):i=h(A.matrixWorld);const o=A.element,a=s.objects.get(A);if(void 0===a||a.style!==i){o.style.transform=i;const I={style:i};s.objects.set(A,I)}o.style.display=A.visible?"":"none",o.parentNode!==D&&D.appendChild(o),A.onAfterRender(I,g,C)}for(let I=0,B=A.children.length;I{const{FaceMeshHelper:C}=g(8470),{cv:B,waitCV:Q}=g(9487),{Estimator:E}=g(107),{createThreeFaceGeometry:i}=g(1873),{positions:o}=g(2319),{OneEuroFilter:t}=g(344);A.exports={Controller:class{constructor({onUpdate:A=null,filterMinCF:I=null,filterBeta:g=null}){this.customFaceGeometries=[],this.estimator=null,this.lastEstimateResult=null,this.filterMinCF=null===I?.001:I,this.filterBeta=null===g?1:g,this.onUpdate=A,this.landmarkFilters=[];for(let A=0;A{const g=await this.faceMeshHelper.detect(A);if(0===g.multiFaceLandmarks.length){this.lastEstimateResult=null,this.onUpdate({hasFace:!1});for(let A=0;A[A.x,A.y,A.z])),I=this.estimator.estimate(A);if(null===this.lastEstimateResult)this.lastEstimateResult=I;else{const A=this.lastEstimateResult.metricLandmarks,g=(this.lastEstimateResult.faceMatrix,this.lastEstimateResult.faceScale,[]);for(let C=0;C{const{positions:C,landmarkBasis:B}=g(2319),{cv:Q}=g(9487),E=[];for(let A=0;A{E[A]=I}));const i=[];for(let A=0;A{o.includes(A)||o.push(A)})),o.sort(((A,I)=>A-I));let t=0,e=0;for(let A=0;AC[e][0]&&(e=A);A.exports={Estimator:class{constructor(A){const I=A.height,g=A.width,C=g,B=2*Math.atan(I/(2*C)),Q=2*Math.tan(.5*B),E=g*Q/I;this.near=1,this.far=1e4,this.frameHeight=I,this.frameWidth=g,this.focalLength=C,this.fov=B,this.left=-.5*E,this.right=.5*E,this.bottom=-.5*Q,this.top=.5*Q,this.focalLength=C,this.center=[g/2,I/2]}estimate(A){const I=this._projectToScreen(A);let g=this._cloneLandmarks(I);this._changeHandedness(g);const B=I.reduce(((A,I)=>A+I[2]),0)/I.length,E=this._estimateScale(g);g=this._cloneLandmarks(I),this._moveAndRescaleZ(B,E,g),this._unprojectScreen(g),this._changeHandedness(g);const s=this._estimateScale(g);let a=this._cloneLandmarks(I);const D=E*s;this._moveAndRescaleZ(B,D,a),this._unprojectScreen(a),this._changeHandedness(a);const n=this._solveWeightedOrthogonal(C,a,i),r=Q.matFromArray(4,4,Q.CV_64F,[n[0][0],n[0][1],n[0][2],n[0][3],n[1][0],n[1][1],n[1][2],n[1][3],n[2][0],n[2][1],n[2][2],n[2][3],n[3][0],n[3][1],n[3][2],n[3][3]]).inv(0).data64F,h=[[r[0],r[1],r[2],r[3]],[r[4],r[5],r[6],r[7]],[r[8],r[9],r[10],r[11]],[r[12],r[13],r[14],r[15]]],w=[];for(let A=0;A{c.push(w[I][0],w[I][1],w[I][2]),G.push(A[I][0]*this.frameWidth,A[I][1]*this.frameHeight)}));const y=Q.matFromArray(c.length/3,3,Q.CV_64F,c),F=Q.matFromArray(G.length/2,2,Q.CV_64F,G),R=Q.matFromArray(3,3,Q.CV_64F,[this.focalLength,0,this.center[0],0,this.focalLength,this.center[1],0,0,1]),N=Q.Mat.zeros(4,1,Q.CV_64F),l=new Q.Mat(3,1,Q.CV_64F),M=new Q.Mat(3,1,Q.CV_64F),S=new Q.Mat(3,3,Q.CV_64F);Q.solvePnP(y,F,R,N,l,M,!1),Q.Rodrigues(l,S);const U=[S.data64F[0],S.data64F[1],S.data64F[2],M.data64F[0],-S.data64F[3],-S.data64F[4],-S.data64F[5],-M.data64F[1],-S.data64F[6],-S.data64F[7],-S.data64F[8],-M.data64F[2],0,0,0,1],d=w[e][0]-w[t][0];return{metricLandmarks:w,faceMatrix:U,faceScale:d}}_estimateScale(A){const I=this._solveWeightedOrthogonal(C,A,i);return Math.sqrt(I[0][0]*I[0][0]+I[0][1]*I[0][1]+I[0][2]*I[0][2])}_solveWeightedOrthogonal(A,I,g){const C=[],B=[];for(let Q=0;QA+I*I),0),E=[];for(let A=0;A{A.exports={positions:[[0,-3.406404,5.979507],[0,-1.126865,7.475604],[0,-2.089024,6.058267],[-.463928,.955357,6.633583],[0,-.46317,7.58658],[0,.365669,7.24287],[0,2.473255,5.788627],[-4.253081,2.577646,3.279702],[0,4.019042,5.284764],[0,4.885979,5.385258],[0,8.261778,4.481535],[0,-3.706811,5.864924],[0,-3.918301,5.56943],[0,-3.994436,5.219482],[0,-4.5424,5.404754],[0,-4.745577,5.529457],[0,-5.019567,5.601448],[0,-5.365123,5.535441],[0,-6.149624,5.071372],[0,-1.501095,7.112196],[-.416106,-1.466449,6.447657],[-7.08796,5.434801,.09962],[-2.628639,2.035898,3.848121],[-3.198363,1.985815,3.796952],[-3.775151,2.039402,3.646194],[-4.465819,2.42295,3.155168],[-2.164289,2.189867,3.851822],[-3.208229,3.223926,4.115822],[-2.673803,3.205337,4.092203],[-3.745193,3.165286,3.972409],[-4.161018,3.059069,3.719554],[-5.062006,1.934418,2.776093],[-2.266659,-7.425768,4.389812],[-4.445859,2.663991,3.173422],[-7.21453,2.263009,.07315],[-5.799793,2.349546,2.204059],[-2.844939,-.720868,4.43313],[-.711452,-3.329355,5.877044],[-.606033,-3.924562,5.444923],[-1.431615,-3.500953,5.496189],[-1.91491,-3.803146,5.02893],[-1.131043,-3.973937,5.189648],[-1.563548,-4.082763,4.842263],[-2.650112,-5.003649,4.188483],[-.427049,-1.094134,7.360529],[-.496396,-.475659,7.440358],[-5.253307,3.881582,3.363159],[-1.718698,.974609,4.558359],[-1.608635,-.942516,5.814193],[-1.651267,-.610868,5.581319],[-4.765501,-.701554,3.534632],[-.478306,.295766,7.101013],[-3.734964,4.50823,4.550454],[-4.588603,4.302037,4.048484],[-6.279331,6.615427,1.42585],[-1.220941,4.142165,5.106035],[-2.193489,3.100317,4.000575],[-3.102642,-4.352984,4.095905],[-6.719682,-4.788645,-1.745401],[-1.193824,-1.306795,5.737747],[-.729766,-1.593712,5.833208],[-2.456206,-4.342621,4.283884],[-2.204823,-4.304508,4.162499],[-4.985894,4.802461,3.751977],[-1.592294,-1.257709,5.456949],[-2.644548,4.524654,4.921559],[-2.760292,5.100971,5.01599],[-3.523964,8.005976,3.729163],[-5.599763,5.71547,2.724259],[-3.063932,6.566144,4.529981],[-5.720968,4.254584,2.830852],[-6.374393,4.78559,1.591691],[-.672728,-3.688016,5.737804],[-1.26256,-3.787691,5.417779],[-1.732553,-3.952767,5.000579],[-1.043625,-1.464973,5.662455],[-2.321234,-4.329069,4.258156],[-2.056846,-4.477671,4.520883],[-2.153084,-4.276322,4.038093],[-.946874,-1.035249,6.512274],[-1.469132,-4.036351,4.604908],[-1.02434,-3.989851,4.926693],[-.533422,-3.993222,5.138202],[-.76972,-6.095394,4.985883],[-.699606,-5.29185,5.448304],[-.669687,-4.94977,5.509612],[-.630947,-4.695101,5.449371],[-.583218,-4.517982,5.339869],[-1.53717,-4.423206,4.74547],[-1.6156,-4.475942,4.813632],[-1.729053,-4.61868,4.854463],[-1.838624,-4.828746,4.823737],[-2.36825,-3.106237,4.868096],[-7.542244,-1.049282,-2.431321],[0,-1.724003,6.60139],[-1.826614,-4.399531,4.399021],[-1.929558,-4.411831,4.497052],[-.597442,-2.013686,5.866456],[-1.405627,-1.714196,5.241087],[-.662449,-1.819321,5.863759],[-2.34234,.572222,4.294303],[-3.327324,.104863,4.11386],[-1.726175,-.919165,5.273355],[-5.133204,7.485602,2.660442],[-4.538641,6.319907,3.683424],[-3.986562,5.109487,4.466315],[-2.169681,-5.440433,4.455874],[-1.395634,5.011963,5.316032],[-1.6195,6.599217,4.921106],[-1.891399,8.236377,4.274997],[-4.195832,2.235205,3.375099],[-5.733342,1.411738,2.431726],[-1.859887,2.355757,3.843181],[-4.988612,3.074654,3.083858],[-1.303263,1.416453,4.831091],[-1.305757,-.672779,6.415959],[-6.46517,.937119,1.689873],[-5.258659,.945811,2.974312],[-4.432338,.722096,3.522615],[-3.300681,.861641,3.872784],[-2.430178,1.131492,4.039035],[-1.820731,1.467954,4.224124],[-.563221,2.307693,5.566789],[-6.338145,-.529279,1.881175],[-5.587698,3.208071,2.687839],[-.242624,-1.462857,7.071491],[-1.611251,.339326,4.895421],[-7.743095,2.364999,-2.005167],[-1.391142,1.851048,4.448999],[-1.785794,-.978284,4.85047],[-4.670959,2.664461,3.084075],[-1.33397,-.283761,6.097047],[-7.270895,-2.890917,-2.252455],[-1.856432,2.585245,3.757904],[-.923388,.073076,6.671944],[-5.000589,-6.135128,1.892523],[-5.085276,-7.17859,.714711],[-7.159291,-.81182,-.072044],[-5.843051,-5.248023,.924091],[-6.847258,3.662916,.724695],[-2.412942,-8.258853,4.119213],[-.179909,-1.689864,6.573301],[-2.103655,-.163946,4.566119],[-6.407571,2.236021,1.560843],[-3.670075,2.360153,3.63523],[-3.177186,2.294265,3.775704],[-2.196121,-4.598322,4.479786],[-6.234883,-1.94443,1.663542],[-1.292924,-9.29592,4.094063],[-3.210651,-8.533278,2.802001],[-4.068926,-7.993109,1.925119],[0,6.54539,5.027311],[0,-9.403378,4.264492],[-2.724032,2.315802,3.777151],[-2.28846,2.398891,3.697603],[-1.998311,2.496547,3.689148],[-6.13004,3.399261,2.038516],[-2.28846,2.886504,3.775031],[-2.724032,2.96181,3.871767],[-3.177186,2.964136,3.876973],[-3.670075,2.927714,3.724325],[-4.018389,2.857357,3.482983],[-7.555811,4.106811,-.991917],[-4.018389,2.483695,3.440898],[0,-2.521945,5.932265],[-1.776217,-2.683946,5.213116],[-1.222237,-1.182444,5.952465],[-.731493,-2.536683,5.815343],[0,3.271027,5.236015],[-4.135272,-6.996638,2.67197],[-3.311811,-7.660815,3.382963],[-1.313701,-8.639995,4.702456],[-5.940524,-6.223629,-.631468],[-1.998311,2.743838,3.74403],[-.901447,1.236992,5.754256],[0,-8.765243,4.891441],[-2.308977,-8.974196,3.60907],[-6.954154,-2.439843,-.131163],[-1.098819,-4.458788,5.120727],[-1.181124,-4.579996,5.189564],[-1.255818,-4.787901,5.237051],[-1.325085,-5.106507,5.20501],[-1.546388,-5.819392,4.757893],[-1.953754,-4.183892,4.431713],[-2.117802,-4.137093,4.555096],[-2.285339,-4.051196,4.582438],[-2.85016,-3.66572,4.484994],[-5.278538,-2.238942,2.861224],[-.946709,1.907628,5.196779],[-1.314173,3.104912,4.231404],[-1.78,2.86,3.881555],[-1.84511,-4.09888,4.247264],[-5.436187,-4.030482,2.109852],[-.766444,3.182131,4.861453],[-1.938616,-6.61441,4.521085],[0,1.059413,6.774605],[-.516573,1.583572,6.148363],[0,1.728369,6.31675],[-1.246815,.230297,5.681036],[0,-7.942194,5.181173],[0,-6.991499,5.153478],[-.997827,-6.930921,4.979576],[-3.288807,-5.382514,3.795752],[-2.311631,-1.566237,4.590085],[-2.68025,-6.111567,4.096152],[-3.832928,-1.537326,4.137731],[-2.96186,-2.274215,4.440943],[-4.386901,-2.683286,3.643886],[-1.217295,-7.834465,4.969286],[-1.542374,-.136843,5.201008],[-3.878377,-6.041764,3.311079],[-3.084037,-6.809842,3.814195],[-3.747321,-4.503545,3.726453],[-6.094129,-3.205991,1.473482],[-4.588995,-4.728726,2.983221],[-6.583231,-3.941269,.070268],[-3.49258,-3.19582,4.130198],[-1.255543,.802341,5.307551],[-1.126122,-.933602,6.538785],[-1.443109,-1.142774,5.905127],[-.923043,-.529042,7.003423],[-1.755386,3.529117,4.327696],[-2.632589,3.713828,4.364629],[-3.388062,3.721976,4.309028],[-4.075766,3.675413,4.076063],[-4.62291,3.474691,3.646321],[-5.171755,2.535753,2.670867],[-7.297331,.763172,-.048769],[-4.706828,1.651,3.109532],[-4.071712,1.476821,3.476944],[-3.269817,1.470659,3.731945],[-2.527572,1.617311,3.865444],[-1.970894,1.858505,3.961782],[-1.579543,2.097941,4.084996],[-7.664182,.673132,-2.435867],[-1.397041,-1.340139,5.630378],[-.884838,.65874,6.233232],[-.767097,-.968035,7.077932],[-.460213,-1.334106,6.787447],[-.748618,-1.067994,6.798303],[-1.236408,-1.585568,5.48049],[-.387306,-1.40999,6.957705],[-.319925,-1.607931,6.508676],[-1.639633,2.556298,3.863736],[-1.255645,2.467144,4.2038],[-1.031362,2.382663,4.615849],[-4.253081,2.772296,3.315305],[-4.53,2.91,3.339685],[.463928,.955357,6.633583],[4.253081,2.577646,3.279702],[.416106,-1.466449,6.447657],[7.08796,5.434801,.09962],[2.628639,2.035898,3.848121],[3.198363,1.985815,3.796952],[3.775151,2.039402,3.646194],[4.465819,2.42295,3.155168],[2.164289,2.189867,3.851822],[3.208229,3.223926,4.115822],[2.673803,3.205337,4.092203],[3.745193,3.165286,3.972409],[4.161018,3.059069,3.719554],[5.062006,1.934418,2.776093],[2.266659,-7.425768,4.389812],[4.445859,2.663991,3.173422],[7.21453,2.263009,.07315],[5.799793,2.349546,2.204059],[2.844939,-.720868,4.43313],[.711452,-3.329355,5.877044],[.606033,-3.924562,5.444923],[1.431615,-3.500953,5.496189],[1.91491,-3.803146,5.02893],[1.131043,-3.973937,5.189648],[1.563548,-4.082763,4.842263],[2.650112,-5.003649,4.188483],[.427049,-1.094134,7.360529],[.496396,-.475659,7.440358],[5.253307,3.881582,3.363159],[1.718698,.974609,4.558359],[1.608635,-.942516,5.814193],[1.651267,-.610868,5.581319],[4.765501,-.701554,3.534632],[.478306,.295766,7.101013],[3.734964,4.50823,4.550454],[4.588603,4.302037,4.048484],[6.279331,6.615427,1.42585],[1.220941,4.142165,5.106035],[2.193489,3.100317,4.000575],[3.102642,-4.352984,4.095905],[6.719682,-4.788645,-1.745401],[1.193824,-1.306795,5.737747],[.729766,-1.593712,5.833208],[2.456206,-4.342621,4.283884],[2.204823,-4.304508,4.162499],[4.985894,4.802461,3.751977],[1.592294,-1.257709,5.456949],[2.644548,4.524654,4.921559],[2.760292,5.100971,5.01599],[3.523964,8.005976,3.729163],[5.599763,5.71547,2.724259],[3.063932,6.566144,4.529981],[5.720968,4.254584,2.830852],[6.374393,4.78559,1.591691],[.672728,-3.688016,5.737804],[1.26256,-3.787691,5.417779],[1.732553,-3.952767,5.000579],[1.043625,-1.464973,5.662455],[2.321234,-4.329069,4.258156],[2.056846,-4.477671,4.520883],[2.153084,-4.276322,4.038093],[.946874,-1.035249,6.512274],[1.469132,-4.036351,4.604908],[1.02434,-3.989851,4.926693],[.533422,-3.993222,5.138202],[.76972,-6.095394,4.985883],[.699606,-5.29185,5.448304],[.669687,-4.94977,5.509612],[.630947,-4.695101,5.449371],[.583218,-4.517982,5.339869],[1.53717,-4.423206,4.74547],[1.6156,-4.475942,4.813632],[1.729053,-4.61868,4.854463],[1.838624,-4.828746,4.823737],[2.36825,-3.106237,4.868096],[7.542244,-1.049282,-2.431321],[1.826614,-4.399531,4.399021],[1.929558,-4.411831,4.497052],[.597442,-2.013686,5.866456],[1.405627,-1.714196,5.241087],[.662449,-1.819321,5.863759],[2.34234,.572222,4.294303],[3.327324,.104863,4.11386],[1.726175,-.919165,5.273355],[5.133204,7.485602,2.660442],[4.538641,6.319907,3.683424],[3.986562,5.109487,4.466315],[2.169681,-5.440433,4.455874],[1.395634,5.011963,5.316032],[1.6195,6.599217,4.921106],[1.891399,8.236377,4.274997],[4.195832,2.235205,3.375099],[5.733342,1.411738,2.431726],[1.859887,2.355757,3.843181],[4.988612,3.074654,3.083858],[1.303263,1.416453,4.831091],[1.305757,-.672779,6.415959],[6.46517,.937119,1.689873],[5.258659,.945811,2.974312],[4.432338,.722096,3.522615],[3.300681,.861641,3.872784],[2.430178,1.131492,4.039035],[1.820731,1.467954,4.224124],[.563221,2.307693,5.566789],[6.338145,-.529279,1.881175],[5.587698,3.208071,2.687839],[.242624,-1.462857,7.071491],[1.611251,.339326,4.895421],[7.743095,2.364999,-2.005167],[1.391142,1.851048,4.448999],[1.785794,-.978284,4.85047],[4.670959,2.664461,3.084075],[1.33397,-.283761,6.097047],[7.270895,-2.890917,-2.252455],[1.856432,2.585245,3.757904],[.923388,.073076,6.671944],[5.000589,-6.135128,1.892523],[5.085276,-7.17859,.714711],[7.159291,-.81182,-.072044],[5.843051,-5.248023,.924091],[6.847258,3.662916,.724695],[2.412942,-8.258853,4.119213],[.179909,-1.689864,6.573301],[2.103655,-.163946,4.566119],[6.407571,2.236021,1.560843],[3.670075,2.360153,3.63523],[3.177186,2.294265,3.775704],[2.196121,-4.598322,4.479786],[6.234883,-1.94443,1.663542],[1.292924,-9.29592,4.094063],[3.210651,-8.533278,2.802001],[4.068926,-7.993109,1.925119],[2.724032,2.315802,3.777151],[2.28846,2.398891,3.697603],[1.998311,2.496547,3.689148],[6.13004,3.399261,2.038516],[2.28846,2.886504,3.775031],[2.724032,2.96181,3.871767],[3.177186,2.964136,3.876973],[3.670075,2.927714,3.724325],[4.018389,2.857357,3.482983],[7.555811,4.106811,-.991917],[4.018389,2.483695,3.440898],[1.776217,-2.683946,5.213116],[1.222237,-1.182444,5.952465],[.731493,-2.536683,5.815343],[4.135272,-6.996638,2.67197],[3.311811,-7.660815,3.382963],[1.313701,-8.639995,4.702456],[5.940524,-6.223629,-.631468],[1.998311,2.743838,3.74403],[.901447,1.236992,5.754256],[2.308977,-8.974196,3.60907],[6.954154,-2.439843,-.131163],[1.098819,-4.458788,5.120727],[1.181124,-4.579996,5.189564],[1.255818,-4.787901,5.237051],[1.325085,-5.106507,5.20501],[1.546388,-5.819392,4.757893],[1.953754,-4.183892,4.431713],[2.117802,-4.137093,4.555096],[2.285339,-4.051196,4.582438],[2.85016,-3.66572,4.484994],[5.278538,-2.238942,2.861224],[.946709,1.907628,5.196779],[1.314173,3.104912,4.231404],[1.78,2.86,3.881555],[1.84511,-4.09888,4.247264],[5.436187,-4.030482,2.109852],[.766444,3.182131,4.861453],[1.938616,-6.61441,4.521085],[.516573,1.583572,6.148363],[1.246815,.230297,5.681036],[.997827,-6.930921,4.979576],[3.288807,-5.382514,3.795752],[2.311631,-1.566237,4.590085],[2.68025,-6.111567,4.096152],[3.832928,-1.537326,4.137731],[2.96186,-2.274215,4.440943],[4.386901,-2.683286,3.643886],[1.217295,-7.834465,4.969286],[1.542374,-.136843,5.201008],[3.878377,-6.041764,3.311079],[3.084037,-6.809842,3.814195],[3.747321,-4.503545,3.726453],[6.094129,-3.205991,1.473482],[4.588995,-4.728726,2.983221],[6.583231,-3.941269,.070268],[3.49258,-3.19582,4.130198],[1.255543,.802341,5.307551],[1.126122,-.933602,6.538785],[1.443109,-1.142774,5.905127],[.923043,-.529042,7.003423],[1.755386,3.529117,4.327696],[2.632589,3.713828,4.364629],[3.388062,3.721976,4.309028],[4.075766,3.675413,4.076063],[4.62291,3.474691,3.646321],[5.171755,2.535753,2.670867],[7.297331,.763172,-.048769],[4.706828,1.651,3.109532],[4.071712,1.476821,3.476944],[3.269817,1.470659,3.731945],[2.527572,1.617311,3.865444],[1.970894,1.858505,3.961782],[1.579543,2.097941,4.084996],[7.664182,.673132,-2.435867],[1.397041,-1.340139,5.630378],[.884838,.65874,6.233232],[.767097,-.968035,7.077932],[.460213,-1.334106,6.787447],[.748618,-1.067994,6.798303],[1.236408,-1.585568,5.48049],[.387306,-1.40999,6.957705],[.319925,-1.607931,6.508676],[1.639633,2.556298,3.863736],[1.255645,2.467144,4.2038],[1.031362,2.382663,4.615849],[4.253081,2.772296,3.315305],[4.53,2.91,3.339685]],uvs:[[.499977,.347466],[.500026,.452513],[.499974,.397628],[.482113,.528021],[.500151,.472844],[.49991,.501747],[.499523,.598938],[.289712,.619236],[.499955,.687602],[.499987,.730081],[.500023,.89295],[.500023,.333766],[.500016,.320776],[.500023,.307652],[.499977,.304722],[.499977,.294066],[.499977,.280615],[.499977,.262981],[.499968,.218629],[.499816,.437019],[.473773,.42609],[.104907,.745859],[.36593,.590424],[.338758,.586975],[.31112,.59054],[.274658,.610869],[.393362,.596294],[.345234,.655989],[.370094,.653924],[.319322,.652735],[.297903,.646409],[.247792,.58919],[.396889,.157245],[.280098,.6244],[.10631,.600044],[.209925,.608647],[.355808,.465594],[.471751,.349596],[.474155,.319808],[.439785,.342771],[.414617,.333459],[.450374,.319139],[.428771,.317309],[.374971,.272195],[.486717,.452371],[.485301,.472605],[.257765,.68551],[.401223,.544828],[.429819,.451385],[.421352,.466259],[.276896,.467943],[.48337,.500413],[.337212,.717117],[.296392,.706757],[.169295,.806186],[.44758,.69739],[.39239,.646112],[.35449,.303216],[.067305,.269895],[.442739,.427174],[.457098,.415208],[.381974,.305289],[.392389,.305797],[.277076,.728068],[.422552,.436767],[.385919,.718636],[.383103,.74416],[.331431,.880286],[.229924,.767997],[.364501,.810886],[.229622,.700459],[.173287,.721252],[.472879,.333802],[.446828,.331473],[.422762,.32611],[.445308,.419934],[.388103,.306039],[.403039,.29346],[.403629,.306047],[.460042,.442861],[.431158,.307634],[.452182,.307634],[.475387,.307634],[.465828,.22081],[.472329,.263774],[.473087,.282143],[.473122,.295374],[.473033,.304722],[.427942,.304722],[.426479,.29646],[.423162,.288154],[.418309,.279937],[.390095,.360427],[.013954,.439966],[.499914,.419853],[.4132,.3046],[.409626,.298177],[.46808,.398465],[.422729,.414015],[.46308,.406216],[.37212,.526586],[.334562,.503927],[.411671,.453035],[.242176,.852324],[.290777,.798554],[.327338,.743473],[.39951,.251079],[.441728,.738324],[.429765,.812166],[.412198,.891099],[.288955,.601048],[.218937,.564589],[.412782,.60103],[.257135,.64456],[.427685,.562039],[.44834,.463064],[.17856,.542446],[.247308,.542806],[.286267,.532325],[.332828,.539288],[.368756,.552793],[.398964,.567345],[.47641,.594194],[.189241,.476076],[.228962,.651049],[.490726,.437599],[.40467,.514867],[.019469,.598436],[.426243,.579569],[.396993,.451203],[.26647,.623023],[.439121,.481042],[.032314,.355643],[.419054,.612845],[.462783,.494253],[.238979,.220255],[.198221,.168062],[.10755,.459245],[.18361,.259743],[.13441,.666317],[.385764,.116846],[.490967,.420622],[.382385,.491427],[.174399,.602329],[.318785,.603765],[.343364,.599403],[.3961,.289783],[.187885,.411462],[.430987,.055935],[.318993,.101715],[.266248,.130299],[.500023,.809424],[.499977,.045547],[.36617,.601178],[.393207,.604463],[.410373,.60892],[.194993,.657898],[.388665,.637716],[.365962,.644029],[.343364,.644643],[.318785,.64166],[.301415,.636844],[.058133,.680924],[.301415,.612551],[.499988,.381566],[.415838,.375804],[.445682,.433923],[.465844,.379359],[.499923,.648476],[.288719,.180054],[.335279,.14718],[.440512,.097581],[.128294,.208059],[.408772,.626106],[.455607,.548199],[.499877,.09101],[.375437,.075808],[.11421,.384978],[.448662,.304722],[.44802,.295368],[.447112,.284192],[.444832,.269206],[.430012,.233191],[.406787,.314327],[.400738,.318931],[.3924,.322297],[.367856,.336081],[.247923,.398667],[.45277,.57915],[.436392,.640113],[.416164,.631286],[.413386,.307634],[.228018,.316428],[.468268,.647329],[.411362,.195673],[.499989,.530175],[.479154,.557346],[.499974,.560363],[.432112,.506411],[.499886,.133083],[.499913,.178271],[.456549,.180799],[.344549,.254561],[.378909,.42599],[.374293,.219815],[.319688,.429262],[.357155,.39573],[.295284,.378419],[.44775,.137523],[.410986,.491277],[.313951,.224692],[.354128,.187447],[.324548,.296007],[.189096,.3537],[.279777,.285342],[.133823,.317299],[.336768,.355267],[.429884,.533478],[.455528,.451377],[.437114,.441104],[.467288,.470075],[.414712,.66478],[.377046,.677222],[.344108,.679849],[.312876,.677668],[.283526,.66681],[.241246,.617214],[.102986,.531237],[.267612,.57544],[.297879,.566824],[.333434,.566122],[.366427,.573884],[.396012,.583304],[.420121,.589772],[.007561,.519223],[.432949,.430482],[.458639,.520911],[.473466,.454256],[.476088,.43617],[.468472,.444943],[.433991,.417638],[.483518,.437016],[.482483,.422151],[.42645,.610201],[.438999,.603505],[.450067,.599566],[.289712,.631747],[.27667,.636627],[.517862,.528052],[.710288,.619236],[.526227,.42609],[.895093,.745859],[.63407,.590424],[.661242,.586975],[.68888,.59054],[.725342,.610869],[.60663,.596295],[.654766,.655989],[.629906,.653924],[.680678,.652735],[.702097,.646409],[.752212,.589195],[.602918,.157137],[.719902,.6244],[.893693,.60004],[.790082,.608646],[.643998,.465512],[.528249,.349596],[.52585,.319809],[.560215,.342771],[.585384,.333459],[.549626,.319139],[.571228,.317308],[.624852,.271901],[.51305,.452718],[.515097,.472748],[.742247,.685493],[.598631,.545021],[.570338,.451425],[.578632,.466377],[.723087,.467946],[.516446,.500361],[.662801,.717082],[.703624,.706729],[.830705,.806186],[.552386,.697432],[.60761,.646112],[.645429,.303293],[.932695,.269895],[.557261,.427174],[.542902,.415208],[.618026,.305289],[.607591,.305797],[.722943,.728037],[.577414,.436833],[.614083,.718613],[.616907,.744114],[.668509,.880086],[.770092,.767979],[.635536,.810751],[.770391,.700444],[.826722,.721245],[.527121,.333802],[.553172,.331473],[.577238,.32611],[.554692,.419934],[.611897,.306039],[.596961,.29346],[.596371,.306047],[.539958,.442861],[.568842,.307634],[.547818,.307634],[.524613,.307634],[.53409,.220859],[.527671,.263774],[.526913,.282143],[.526878,.295374],[.526967,.304722],[.572058,.304722],[.573521,.29646],[.576838,.288154],[.581691,.279937],[.609945,.36009],[.986046,.439966],[.5868,.3046],[.590372,.298177],[.531915,.398463],[.577268,.414065],[.536915,.406214],[.627543,.526648],[.665586,.504049],[.588354,.453138],[.757824,.852324],[.70925,.798492],[.672684,.743419],[.600409,.250995],[.558266,.738328],[.570304,.812129],[.588166,.890956],[.711045,.601048],[.78107,.564595],[.587247,.601068],[.74287,.644554],[.572156,.562348],[.551868,.46343],[.821442,.542444],[.752702,.542818],[.713757,.532373],[.667113,.539327],[.631101,.552846],[.600862,.567527],[.523481,.594373],[.810748,.476074],[.771046,.651041],[.509127,.437282],[.595293,.514976],[.980531,.598436],[.5735,.58],[.602995,.451312],[.73353,.623023],[.560611,.480983],[.967686,.355643],[.580985,.61284],[.537728,.494615],[.760966,.220247],[.801779,.168062],[.892441,.459239],[.816351,.25974],[.865595,.666313],[.614074,.116754],[.508953,.420562],[.617942,.491684],[.825608,.602325],[.681215,.603765],[.656636,.599403],[.6039,.289783],[.812086,.411461],[.568013,.055435],[.681008,.101715],[.733752,.130299],[.63383,.601178],[.606793,.604463],[.58966,.608938],[.805016,.657892],[.611335,.637716],[.634038,.644029],[.656636,.644643],[.681215,.64166],[.698585,.636844],[.941867,.680924],[.698585,.612551],[.584177,.375893],[.554318,.433923],[.534154,.37936],[.711218,.180025],[.66463,.147129],[.5591,.097368],[.871706,.208059],[.591234,.626106],[.544341,.548416],[.624563,.075808],[.88577,.384971],[.551338,.304722],[.55198,.295368],[.552888,.284192],[.555168,.269206],[.569944,.232965],[.593203,.314324],[.599262,.318931],[.6076,.322297],[.631938,.3365],[.752033,.398685],[.547226,.579605],[.563544,.640172],[.583841,.631286],[.586614,.307634],[.771915,.316422],[.531597,.647517],[.588371,.195559],[.520797,.557435],[.567985,.506521],[.543283,.180745],[.655317,.254485],[.621009,.425982],[.62556,.219688],[.680198,.429281],[.642764,.395662],[.704663,.37847],[.552012,.137408],[.589072,.491363],[.685945,.224643],[.645735,.18736],[.675343,.296022],[.810858,.353695],[.720122,.285333],[.866152,.317295],[.663187,.355403],[.570082,.533674],[.544562,.451624],[.562759,.441215],[.531987,.46986],[.585271,.664823],[.622953,.677221],[.655896,.679837],[.687132,.677654],[.716482,.666799],[.758757,.617213],[.897013,.531231],[.732392,.575453],[.702114,.566837],[.666525,.566134],[.633505,.573912],[.603876,.583413],[.579658,.590055],[.99244,.519223],[.567192,.43058],[.541366,.521101],[.526564,.453882],[.523913,.43617],[.531529,.444943],[.566036,.417671],[.516311,.436946],[.517472,.422123],[.573595,.610193],[.560698,.604668],[.549756,.600249],[.710288,.631747],[.72333,.636627]],faces:[173,155,133,246,33,7,382,398,362,263,466,249,308,415,324,78,95,191,356,389,264,127,34,162,368,264,389,139,162,34,267,0,302,37,72,0,11,302,0,11,0,72,349,451,350,120,121,231,452,350,451,232,231,121,267,302,269,37,39,72,303,269,302,73,72,39,357,343,350,128,121,114,277,350,343,47,114,121,350,452,357,121,128,232,453,357,452,233,232,128,299,333,297,69,67,104,332,297,333,103,104,67,175,152,396,175,171,152,377,396,152,148,152,171,381,384,382,154,155,157,398,382,384,173,157,155,280,347,330,50,101,118,348,330,347,119,118,101,269,303,270,39,40,73,304,270,303,74,73,40,9,336,151,9,151,107,337,151,336,108,107,151,344,278,360,115,131,48,279,360,278,49,48,131,262,431,418,32,194,211,424,418,431,204,211,194,304,408,270,74,40,184,409,270,408,185,184,40,272,310,407,42,183,80,415,407,310,191,80,183,322,270,410,92,186,40,409,410,270,185,40,186,347,449,348,118,119,229,450,348,449,230,229,119,434,432,430,214,210,212,422,430,432,202,212,210,313,314,18,83,18,84,17,18,314,17,84,18,307,375,306,77,76,146,291,306,375,61,146,76,259,387,260,29,30,160,388,260,387,161,160,30,286,414,384,56,157,190,398,384,414,173,190,157,418,424,406,194,182,204,335,406,424,106,204,182,367,416,364,138,135,192,434,364,416,214,192,135,391,423,327,165,98,203,358,327,423,129,203,98,298,301,284,68,54,71,251,284,301,21,71,54,4,275,5,4,5,45,281,5,275,51,45,5,254,373,253,24,23,144,374,253,373,145,144,23,320,321,307,90,77,91,375,307,321,146,91,77,280,425,411,50,187,205,427,411,425,207,205,187,421,313,200,201,200,83,18,200,313,18,83,200,335,321,406,106,182,91,405,406,321,181,91,182,405,321,404,181,180,91,320,404,321,90,91,180,17,314,16,17,16,84,315,16,314,85,84,16,425,266,426,205,206,36,423,426,266,203,36,206,369,396,400,140,176,171,377,400,396,148,171,176,391,269,322,165,92,39,270,322,269,40,39,92,417,465,413,193,189,245,464,413,465,244,245,189,257,258,386,27,159,28,385,386,258,158,28,159,260,388,467,30,247,161,466,467,388,246,161,247,248,456,419,3,196,236,399,419,456,174,236,196,333,298,332,104,103,68,284,332,298,54,68,103,285,8,417,55,193,8,168,417,8,168,8,193,340,261,346,111,117,31,448,346,261,228,31,117,285,417,441,55,221,193,413,441,417,189,193,221,327,460,326,98,97,240,328,326,460,99,240,97,277,355,329,47,100,126,371,329,355,142,126,100,309,392,438,79,218,166,439,438,392,219,166,218,381,382,256,154,26,155,341,256,382,112,155,26,360,279,420,131,198,49,429,420,279,209,49,198,365,364,379,136,150,135,394,379,364,169,135,150,355,277,437,126,217,47,343,437,277,114,47,217,443,444,282,223,52,224,283,282,444,53,224,52,281,275,363,51,134,45,440,363,275,220,45,134,431,262,395,211,170,32,369,395,262,140,32,170,337,299,338,108,109,69,297,338,299,67,69,109,335,273,321,106,91,43,375,321,273,146,43,91,348,450,349,119,120,230,451,349,450,231,230,120,467,359,342,247,113,130,446,342,359,226,130,113,282,283,334,52,105,53,293,334,283,63,53,105,250,458,462,20,242,238,461,462,458,241,238,242,276,353,300,46,70,124,383,300,353,156,124,70,325,292,324,96,95,62,308,324,292,78,62,95,283,276,293,53,63,46,300,293,276,70,46,63,447,264,345,227,116,34,372,345,264,143,34,116,352,345,346,123,117,116,340,346,345,111,116,117,1,19,274,1,44,19,354,274,19,125,19,44,248,281,456,3,236,51,363,456,281,134,51,236,425,426,427,205,207,206,436,427,426,216,206,207,380,381,252,153,22,154,256,252,381,26,154,22,391,393,269,165,39,167,267,269,393,37,167,39,199,428,200,199,200,208,421,200,428,201,208,200,330,329,266,101,36,100,371,266,329,142,100,36,422,432,273,202,43,212,287,273,432,57,212,43,290,250,328,60,99,20,462,328,250,242,20,99,258,286,385,28,158,56,384,385,286,157,56,158,342,446,353,113,124,226,265,353,446,35,226,124,257,386,259,27,29,159,387,259,386,160,159,29,430,422,431,210,211,202,424,431,422,204,202,211,445,342,276,225,46,113,353,276,342,124,113,46,424,422,335,204,106,202,273,335,422,43,202,106,306,292,307,76,77,62,325,307,292,96,62,77,366,447,352,137,123,227,345,352,447,116,227,123,302,268,303,72,73,38,271,303,268,41,38,73,371,358,266,142,36,129,423,266,358,203,129,36,327,294,460,98,240,64,455,460,294,235,64,240,294,331,278,64,48,102,279,278,331,49,102,48,303,271,304,73,74,41,272,304,271,42,41,74,427,436,434,207,214,216,432,434,436,212,216,214,304,272,408,74,184,42,407,408,272,183,42,184,394,430,395,169,170,210,431,395,430,211,210,170,395,369,378,170,149,140,400,378,369,176,140,149,296,334,299,66,69,105,333,299,334,104,105,69,417,168,351,193,122,168,6,351,168,6,168,122,280,411,352,50,123,187,376,352,411,147,187,123,319,320,325,89,96,90,307,325,320,77,90,96,285,295,336,55,107,65,296,336,295,66,65,107,404,320,403,180,179,90,319,403,320,89,90,179,330,348,329,101,100,119,349,329,348,120,119,100,334,293,333,105,104,63,298,333,293,68,63,104,323,454,366,93,137,234,447,366,454,227,234,137,16,315,15,16,15,85,316,15,315,86,85,15,429,279,358,209,129,49,331,358,279,102,49,129,15,316,14,15,14,86,317,14,316,87,86,14,8,285,9,8,9,55,336,9,285,107,55,9,329,349,277,100,47,120,350,277,349,121,120,47,252,253,380,22,153,23,374,380,253,145,23,153,402,403,318,178,88,179,319,318,403,89,179,88,351,6,419,122,196,6,197,419,6,197,6,196,324,318,325,95,96,88,319,325,318,89,88,96,397,367,365,172,136,138,364,365,367,135,138,136,288,435,397,58,172,215,367,397,435,138,215,172,438,439,344,218,115,219,278,344,439,48,219,115,271,311,272,41,42,81,310,272,311,80,81,42,5,281,195,5,195,51,248,195,281,3,51,195,273,287,375,43,146,57,291,375,287,61,57,146,396,428,175,171,175,208,199,175,428,199,208,175,268,312,271,38,41,82,311,271,312,81,82,41,444,445,283,224,53,225,276,283,445,46,225,53,254,339,373,24,144,110,390,373,339,163,110,144,295,282,296,65,66,52,334,296,282,105,52,66,346,448,347,117,118,228,449,347,448,229,228,118,454,356,447,234,227,127,264,447,356,34,127,227,336,296,337,107,108,66,299,337,296,69,66,108,151,337,10,151,10,108,338,10,337,109,108,10,278,439,294,48,64,219,455,294,439,235,219,64,407,415,292,183,62,191,308,292,415,78,191,62,358,371,429,129,209,142,355,429,371,126,142,209,345,372,340,116,111,143,265,340,372,35,143,111,388,390,466,161,246,163,249,466,390,7,163,246,352,346,280,123,50,117,347,280,346,118,117,50,295,442,282,65,52,222,443,282,442,223,222,52,19,94,354,19,125,94,370,354,94,141,94,125,295,285,442,65,222,55,441,442,285,221,55,222,419,197,248,196,3,197,195,248,197,195,197,3,359,263,255,130,25,33,249,255,263,7,33,25,275,274,440,45,220,44,457,440,274,237,44,220,300,383,301,70,71,156,368,301,383,139,156,71,417,351,465,193,245,122,412,465,351,188,122,245,466,263,467,246,247,33,359,467,263,130,33,247,389,251,368,162,139,21,301,368,251,71,21,139,374,386,380,145,153,159,385,380,386,158,159,153,379,394,378,150,149,169,395,378,394,170,169,149,351,419,412,122,188,196,399,412,419,174,196,188,426,322,436,206,216,92,410,436,322,186,92,216,387,373,388,160,161,144,390,388,373,163,144,161,393,326,164,167,164,97,2,164,326,2,97,164,354,370,461,125,241,141,462,461,370,242,141,241,0,267,164,0,164,37,393,164,267,167,37,164,11,12,302,11,72,12,268,302,12,38,12,72,386,374,387,159,160,145,373,387,374,144,145,160,12,13,268,12,38,13,312,268,13,82,13,38,293,300,298,63,68,70,301,298,300,71,70,68,340,265,261,111,31,35,446,261,265,226,35,31,380,385,381,153,154,158,384,381,385,157,158,154,280,330,425,50,205,101,266,425,330,36,101,205,423,391,426,203,206,165,322,426,391,92,165,206,429,355,420,209,198,126,437,420,355,217,126,198,391,327,393,165,167,98,326,393,327,97,98,167,457,438,440,237,220,218,344,440,438,115,218,220,382,362,341,155,112,133,463,341,362,243,133,112,457,461,459,237,239,241,458,459,461,238,241,239,434,430,364,214,135,210,394,364,430,169,210,135,414,463,398,190,173,243,362,398,463,133,243,173,262,428,369,32,140,208,396,369,428,171,208,140,457,274,461,237,241,44,354,461,274,125,44,241,316,403,317,86,87,179,402,317,403,178,179,87,315,404,316,85,86,180,403,316,404,179,180,86,314,405,315,84,85,181,404,315,405,180,181,85,313,406,314,83,84,182,405,314,406,181,182,84,418,406,421,194,201,182,313,421,406,83,182,201,366,401,323,137,93,177,361,323,401,132,177,93,408,407,306,184,76,183,292,306,407,62,183,76,408,306,409,184,185,76,291,409,306,61,76,185,410,409,287,186,57,185,291,287,409,61,185,57,436,410,432,216,212,186,287,432,410,57,186,212,434,416,427,214,207,192,411,427,416,187,192,207,264,368,372,34,143,139,383,372,368,156,139,143,457,459,438,237,218,239,309,438,459,79,239,218,352,376,366,123,137,147,401,366,376,177,147,137,4,1,275,4,45,1,274,275,1,44,1,45,428,262,421,208,201,32,418,421,262,194,32,201,327,358,294,98,64,129,331,294,358,102,129,64,367,435,416,138,192,215,433,416,435,213,215,192,455,439,289,235,59,219,392,289,439,166,219,59,328,462,326,99,97,242,370,326,462,141,242,97,326,370,2,97,2,141,94,2,370,94,141,2,460,455,305,240,75,235,289,305,455,59,235,75,448,339,449,228,229,110,254,449,339,24,110,229,261,446,255,31,25,226,359,255,446,130,226,25,449,254,450,229,230,24,253,450,254,23,24,230,450,253,451,230,231,23,252,451,253,22,23,231,451,252,452,231,232,22,256,452,252,26,22,232,256,341,452,26,232,112,453,452,341,233,112,232,413,464,414,189,190,244,463,414,464,243,244,190,441,413,286,221,56,189,414,286,413,190,189,56,441,286,442,221,222,56,258,442,286,28,56,222,442,258,443,222,223,28,257,443,258,27,28,223,444,443,259,224,29,223,257,259,443,27,223,29,259,260,444,29,224,30,445,444,260,225,30,224,260,467,445,30,225,247,342,445,467,113,247,225,250,309,458,20,238,79,459,458,309,239,79,238,290,305,392,60,166,75,289,392,305,59,75,166,460,305,328,240,99,75,290,328,305,60,75,99,376,433,401,147,177,213,435,401,433,215,213,177,250,290,309,20,79,60,392,309,290,166,60,79,411,416,376,187,147,192,433,376,416,213,192,147,341,463,453,112,233,243,464,453,463,244,243,233,453,464,357,233,128,244,465,357,464,245,244,128,412,343,465,188,245,114,357,465,343,128,114,245,437,343,399,217,174,114,412,399,343,188,114,174,363,440,360,134,131,220,344,360,440,115,220,131,456,420,399,236,174,198,437,399,420,217,198,174,456,363,420,236,198,134,360,420,363,131,134,198,361,401,288,132,58,177,435,288,401,215,177,58,353,265,383,124,156,35,372,383,265,143,35,156,255,249,339,25,110,7,390,339,249,163,7,110,261,255,448,31,228,25,339,448,255,110,25,228,14,317,13,14,13,87,312,13,317,82,87,13,317,402,312,87,82,178,311,312,402,81,178,82,402,318,311,178,81,88,310,311,318,80,88,81,318,324,310,88,80,95,415,310,324,191,95,80],landmarkBasis:[[4,.070909939706326],[6,.032100144773722],[10,.008446550928056],[33,.058724168688059],[54,.007667080033571],[67,.009078059345484],[117,.009791937656701],[119,.014565368182957],[121,.018591361120343],[127,.005197994410992],[129,.120625205338001],[132,.005560018587857],[133,.05328618362546],[136,.066890455782413],[143,.014816547743976],[147,.014262833632529],[198,.025462191551924],[205,.047252278774977],[263,.058724168688059],[284,.007667080033571],[297,.009078059345484],[346,.009791937656701],[348,.014565368182957],[350,.018591361120343],[356,.005197994410992],[358,.120625205338001],[361,.005560018587857],[362,.05328618362546],[365,.066890455782413],[372,.014816547743976],[376,.014262833632529],[420,.025462191551924],[425,.047252278774977]]}},1873:(A,I,g)=>{const{uvs:C,faces:B}=g(2319),Q=C.length;A.exports={createThreeFaceGeometry:A=>{class I extends A.BufferGeometry{constructor(I={}){super(),this.positions=new Float32Array(3*Q),this.uvs=new Float32Array(2*Q),this.setAttribute("position",new A.BufferAttribute(this.positions,3)),this.setAttribute("uv",new A.BufferAttribute(this.uvs,2)),this.setUvs(),this.setIndex(B)}setUvs(){for(let A=0;A{const{FaceMesh:C}=g(8818);A.exports={FaceMeshHelper:class{constructor(){this.detectResolve=null,this.faceMesh=new C({locateFile:A=>`https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh@0.4/${A}`}),this.faceMesh.setOptions({maxNumFaces:1,refineLandmarks:!1,minDetectionConfidence:.5,minTrackingConfidence:.5}),this.faceMesh.onResults((A=>{this.detectResolve&&this.detectResolve(A)}))}async detect(A){return await new Promise(((I,g)=>{this.detectResolve=I,this.faceMesh.send({image:A})}))}}}},344:A=>{const I=(A,I)=>{const g=2*Math.PI*I*A;return g/(g+1)},g=(A,I,g)=>A*I+(1-A)*g;A.exports={OneEuroFilter:class{constructor({minCutOff:A,beta:I}){this.minCutOff=A,this.beta=I,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(A,C){if(!this.initialized)return this.initialized=!0,this.xPrev=C,this.dxPrev=C.map((()=>0)),this.tPrev=A,C;const{xPrev:B,tPrev:Q,dxPrev:E}=this,i=A-Q,o=I(i,this.dCutOff),t=[],e=[],s=[];for(let A=0;A{const C=g(129);let B=!1;const Q={},E=[];C.then((A=>{B=!0,Object.assign(Q,A),E.forEach((A=>{A()}))})),A.exports={cv:Q,waitCV:async()=>!!B||new Promise(((A,I)=>{E.push(A)}))}},129:function(A,I,g){var C,B;B=this,void 0===(C=function(){return B.cv=(I=(I="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",C=function(A){var C,B,Q=void 0!==(A=A||{})?A:{};Q.ready=new Promise((function(A,I){C=A,B=I}));var E,i={};for(E in Q)Q.hasOwnProperty(E)&&(i[E]=Q[E]);var o=[],t="./this.program",e=!1,s=!1,a=!1,D=!1;e="object"==typeof window,s="function"==typeof importScripts,a="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,D=!e&&!a&&!s;var n,r,h,w,c,G="";function y(A){return Q.locateFile?Q.locateFile(A,G):G+A}a?(G=s?g(1386).dirname(G)+"/":"//",n=function(A,I){var C=TC(A);return C?I?C:C.toString():(w||(w=g(2993)),c||(c=g(1386)),A=c.normalize(A),w.readFileSync(A,I?null:"utf8"))},h=function(A){var I=n(A,!0);return I.buffer||(I=new Uint8Array(I)),k(I.buffer),I},process.argv.length>1&&(t=process.argv[1].replace(/\\/g,"/")),o=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof jC))throw A})),process.on("unhandledRejection",GA),Q.inspect=function(){return"[Emscripten Module object]"}):D?("undefined"!=typeof read&&(n=function(A){var I=TC(A);return I?qC(I):read(A)}),h=function(A){var I;return(I=TC(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?o=scriptArgs:void 0!==arguments&&(o=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(e||s)&&(s?G=self.location.href:"undefined"!=typeof document&&document.currentScript&&(G=document.currentScript.src),I&&(G=I),G=0!==G.indexOf("blob:")?G.substr(0,G.lastIndexOf("/")+1):"",n=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=TC(A);if(g)return qC(g);throw I}},s&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=TC(A);if(g)return g;throw I}}),r=function(A,I,g){var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=function(){if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=TC(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});var F=Q.print||console.log.bind(console),R=Q.printErr||console.warn.bind(console);for(E in i)i.hasOwnProperty(E)&&(Q[E]=i[E]);i=null,Q.arguments&&(o=Q.arguments),Q.thisProgram&&(t=Q.thisProgram),Q.quit&&Q.quit;var N=16;function l(A,I){return I||(I=N),Math.ceil(A/I)*I}function M(A){M.shown||(M.shown={}),M.shown[A]||(M.shown[A]=1,R(A))}var S,U,d=function(A){};Q.wasmBinary&&(S=Q.wasmBinary),Q.noExitRuntime&&Q.noExitRuntime,"object"!=typeof WebAssembly&&GA("no native wasm support detected");var K=!1;function k(A,I){A||GA("Assertion failed: "+I)}var J="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function Y(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&J)return J.decode(A.subarray(I,B));for(var Q="";I>10,56320|1023&t)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function u(A,I){return A?Y(q,A,I):""}function L(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function p(A,I,g){return L(A,q,I,g)}function f(A){for(var I=0,g=0;g=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}var H,m,q,x,b,T,V,W,v,Z="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function O(A,I){for(var g=A,C=g>>1,B=C+I/2;!(C>=B)&&b[C];)++C;if((g=C<<1)-A>32&&Z)return Z.decode(q.subarray(A,g));for(var Q="",E=0;!(E>=I/2);++E){var i=x[A+2*E>>1];if(0==i)break;Q+=String.fromCharCode(i)}return Q}function X(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var C=I,B=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return x[I>>1]=0,I-C}function P(A){return 2*A.length}function j(A,I){for(var g=0,C="";!(g>=I/4);){var B=T[A+4*g>>2];if(0==B)break;if(++g,B>=65536){var Q=B-65536;C+=String.fromCharCode(55296|Q>>10,56320|1023&Q)}else C+=String.fromCharCode(B)}return C}function z(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var C=I,B=C+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),T[I>>2]=E,(I+=4)+4>B)break}return T[I>>2]=0,I-C}function _(A){for(var I=0,g=0;g=55296&&C<=57343&&++g,I+=4}return I}function $(A,I){m.set(A,I)}function AA(A,I,g){for(var C=0;C>0]=A.charCodeAt(C);g||(m[I>>0]=0)}function IA(A,I){return A%I>0&&(A+=I-A%I),A}function gA(A){H=A,Q.HEAP8=m=new Int8Array(A),Q.HEAP16=x=new Int16Array(A),Q.HEAP32=T=new Int32Array(A),Q.HEAPU8=q=new Uint8Array(A),Q.HEAPU16=b=new Uint16Array(A),Q.HEAPU32=V=new Uint32Array(A),Q.HEAPF32=W=new Float32Array(A),Q.HEAPF64=v=new Float64Array(A)}Q.INITIAL_MEMORY;var CA,BA=[],QA=[],EA=[],iA=[];function oA(){if(Q.preRun)for("function"==typeof Q.preRun&&(Q.preRun=[Q.preRun]);Q.preRun.length;)aA(Q.preRun.shift());pA(BA)}function tA(){Q.noFSInit||XA.init.initialized||XA.init(),vA.init(),pA(QA)}function eA(){XA.ignorePermissions=!1,pA(EA)}function sA(){if(Q.postRun)for("function"==typeof Q.postRun&&(Q.postRun=[Q.postRun]);Q.postRun.length;)DA(Q.postRun.shift());pA(iA)}function aA(A){BA.unshift(A)}function DA(A){iA.unshift(A)}var nA=0,rA=null,hA=null;function wA(A){nA++,Q.monitorRunDependencies&&Q.monitorRunDependencies(nA)}function cA(A){if(nA--,Q.monitorRunDependencies&&Q.monitorRunDependencies(nA),0==nA&&(null!==rA&&(clearInterval(rA),rA=null),hA)){var I=hA;hA=null,I()}}function GA(A){Q.onAbort&&Q.onAbort(A),R(A+=""),K=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.";var I=new WebAssembly.RuntimeError(A);throw B(I),I}function yA(A,I){return String.prototype.startsWith?A.startsWith(I):0===A.indexOf(I)}Q.preloadedImages={},Q.preloadedAudios={};var FA="data:application/octet-stream;base64,";function RA(A){return yA(A,FA)}var NA="file://";function lA(A){return yA(A,NA)}var MA,SA,UA,dA="data:application/octet-stream;base64,AGFzbQEAAAAB1Ah7YAF/AX9gAX8AYAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAIf39/f39/f38AYAV/f39/fwBgBX9/f39/AX9gCX9/f39/f39/fwBgBH9/f38Bf2AGf39/f39/AX9gBn9/f39/fwBgAABgAX8BfGAHf39/f39/fwBgAAF/YAh/f39/f39/fwF/YAR/f398AGADf398AGADf39/AXxgB39/f39/f38Bf2ABfwF9YAN/fX8AYAJ/fwF9YAp/f39/f39/f39/AGABfAF8YAJ/fABgAX8BfmADf35/AX5gDX9/f39/f39/f398fH8AYAV/fn5+fgBgBn9/f399fwF/YAJ/fwF8YAp/f39/f39/fHx/AGAFf39/f3wAYAR/f3x/AGACf34AYAV/f39/fgF/YAR/f398AX9gAnx8AXxgD39/f39/f39/f39/f39/fwBgBX9/f3x8AGAFf39+f38AYAN/f30AYAR/fH9/AGAFf39/f3wBf2AEf39/fwF+YAR/f399AGAHf398f3x/fwBgBH9+fn8AYAl/f39/f39/f38Bf2AKf39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAV/f39/fwF9YAZ/f39/fX8AYAd/f39/fX9/AGALf39/f31/f31/f38AYAd/f39/fX99AGAGf39/f319AGAGf39/f3x8AGACf30AYAx/f39/f39/f39/f38Bf2AGf39/f3x/AX9gB39/f398f38Bf2ADf398AX9gBn98f39/fwF/YAJ+fwF/YAF8AX9gAAF+YAJ/fwF+YAR/f39+AX5gA39/fwF9YAh/f39/f39/fwF9YAh/f39/fX9/fwF9YAR/f39/AXxgAnx/AXxgC39/f39/f39/f39/AGANf39/f39/f39/f39/fwBgDH9/f39/f39/fHx8fABgCX9/f39/f3x8fwBgBn9/f39/fABgC39/f39/fH9/f398AGAPf39/f31/f31/f39/f39/AGAPf39/f3x/f3x/f39/f39/AGAKf39/f3x8fHx8fwBgBn9/f31/fwBgA39/fgBgA39+fgBgA398fwBgCn98f398f3x8fHwAYAd/fH98fH9/AGADf3x8AGAMf3x8fHx8fHx8fH9/AGADfH9/AGAFfHx/f38AYAh8fHx8fHx/fwBgB39/f39/f3wBf2AOf39/f399f398f3x/f38Bf2AEf39/fQF/YBh/f398fHx8fHx8fHx8fHx8fHx8fHx8fH8Bf2AEf398fAF/YAN/fn8Bf2AEf35/fwF/YAN/fH8Bf2ADfn9/AX9gAn5+AX9gA35+fgF/YAR+fn5+AX9gAX0Bf2ACfH8Bf2AHfHx8fH9/fwF/YAl8fHx8fH9/f38Bf2ADf39/AX5gBH9/f38BfWACfn4BfWAFf39/f38BfGADf3x8AXxgAn5+AXxgA3x8fwF8AtwKLgNlbnYQX2VtdmFsX25ld19hcnJheQARA2VudhhfZW12YWxfZ2V0X21ldGhvZF9jYWxsZXIAAwNlbnYXX2VtdmFsX2NhbGxfdm9pZF9tZXRob2QABgNlbnYRX2VtdmFsX3Rha2VfdmFsdWUAAwNlbnYSX2VtdmFsX25ld19jc3RyaW5nAAADZW52E19lbXZhbF9zZXRfcHJvcGVydHkABANlbnYNX2VtdmFsX2RlY3JlZgABA2Vudg1fZW12YWxfaW5jcmVmAAEDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfY2xhc3MAUQNlbnYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgANA2VudiVfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NsYXNzX2Z1bmN0aW9uABADZW52H19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfcHJvcGVydHkAGgNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAHA2Vudh1fZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdAANA2VudiNfZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdF9maWVsZAAaA2Vudh1fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdAABA2VudhlfZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uAA0DZW52HF9lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfYXJyYXkADQNlbnYkX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9hcnJheV9lbGVtZW50AAoDZW52HF9lbWJpbmRfZmluYWxpemVfdmFsdWVfYXJyYXkAAQNlbnYZX2VtYmluZF9yZWdpc3Rlcl9jb25zdGFudAAUA2VudhhfX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24AAANlbnYLX19jeGFfdGhyb3cABANlbnYNY2xvY2tfZ2V0dGltZQADA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQAAgNlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAgDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwACA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAQDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAgNlbnYYX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyAAgDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQABANlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAEA2VudgpfX3N5c19vcGVuAAUWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQALFndhc2lfc25hcHNob3RfcHJldmlldzEHZmRfcmVhZAALFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYNX19zeXNfZmNudGw2NAAFA2VudgtfX3N5c19pb2N0bAAFFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAMDZW52BWFib3J0AA4DZW52CnN0cmZ0aW1lX2wACQNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcABQNlbnYLc2V0VGVtcFJldDAAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3NlZWsACQP6HfgdDgkrBBMCBgQGBCITAgQCBAQCAgQCAgIABAICEhIWDAkLBgYEBAICAgEODg4ODg4ODg4OAAEAEQMABQMLBQkLDAUECwYDBAIDAgICAgICAgIAAwAAPwYkBAUIBgYLBAQABgQFAwAEFSgFAwQAAwQFBgsEBgQGBAYEBgQGBAYDBQULCwkFCwkDBQULCQULCQMFBQsJS3U5dwMVBU4RAREiFBktEREDBAMDERERIhQREREBAwQDAzQSFgwJBQMAAQsAAAABEQIEBAYA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BpwGnQahBqIGowbeBuEG4AbiBvUD7wOnB4QH5AblBuYG5wboBukG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUG9gb4BvkG+wb8Bu8DpweFB4YHhweIB4kHiweKB+8DpweMB40HjgfvA6gHkweUB5UHlgeXB6kH7wOoB5gHmQfvA6gHjweQB5EH7wOoB5oH7wOoB5sHkAe1B7YHtwe4B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gH/gf/B4AIgQiCCIMIhAiTCJQIlQiWCJcIjAiYCJkImgicCJ0InwiKCKEIowilCKcIqQirCIgIrQivCLAIsQiyCLMIkgi0CLUItwi5CLsIvQiQCL8IwQjDCMUIxwjJCI4IywjOCPUD7wPQCNgI3QjVCNII1wjrCPAIpQn8CP4I/wiACYEJggmDCY0JjgmPCZAJhAmTCZEJkgmWCZoJngmVCaMJpAmMCYsJoAmhCacJqAmpCaoJqwmuCb0Jvgm/CagH7wPCCcMJxAnvA/UD7wPECe8D9QPvA80JzgnPCdAJ0QnSCdMJ1An1A+8DxAnvA/UD7wPVCdkJ9QPvA8QJ7wPvA98J4QnPCeIJ4wnkCeUJ5gn1A+8DxAnvA+8D5wnrCfUD7wPECe8D7wPuCe8JzwniCfAJ8QnyCfMJ9QPvA8QJ7wPvA/QJ9wn6CfsJ/An9Cf4J/wmACoEKggqDCoYKhwqICokKigqLCowKvwqdCpUKoAq1CpYKlwqmCqcKgxu2CrcKuAq5CroKuwq8Cr0KyQbbCtwK3Qq9Cv0K/gr/Cu8DiAuJC4oLiwuMC5kLmgubC5wLnQueC58LoAv1A+8DyQbvA/UD7wOPC5ELkguTC5QLlQuWC5cL7wOhC6ILowukC/UD7wPJBu8D7wOlC/UD7wPJBu8D7wOmC/UD7wPJBu8D7wOoC/UD7wPJBu8D7wOpC/UD7wPJBu8D7wOrC6wLrQuuC68LsAu5C7oLuwu8C70L9QPvA8sLzAvvA/UD7wPJBu8D9QPvA9oL2wvcC90L3gvfC+8D4AvhC+IL4wvvA8kGyAbIBu0L5AvlC+gL6QvqC+8D6wvsC+4L7wvwC/ML9Av1C/EL9AvyC+8D+Qv6C+8D7wP5C/sL7wOCDIMMjwyRDJIMlAyVDIQM7wP5C5YM7wPoDOkMxAnvA+oM6wzsDO0M7gzvDPAM8QzyDPMM9AzECe8D9Qz2DPcM7QzuDO8M8AzxDPgM+Qz6DMQJ7wP7DPwM9wztDO4M7wzwDPEM/Qz+DP8MxAnvA4ANgQ2CDe0M7gzvDPAM8QyDDYQNhQ3ECe8Dhg2HDYIN7QzuDO8M8AzxDIgNiQ2KDcQJ7wOLDYwNjQ2ODY8NkA2RDZINxAnvA5MNlA2VDZYNlw2YDZkNmg3ECe8Dmw2cDZ0Nng2fDaANoQ2iDcQJ7wOjDaQNpQ2mDacNqA2pDaoNxAnvA6sNrA2tDa4Nrw2wDbENsg3ECe8Dsw20DbUNtg23DbgNuQ26DcQJ7wO7DbwNwA3DDcQNxQ3vA8YNxw3IDckNyg3LDcwNzQ3ODc8N0A3RDcUN7wPSDdMN1A3KDcsNzA3NDc4N1Q3WDdcNxQ3vA9gN2Q3aDdsN3A3LDd0N3g2+Dd8N4A3hDcUN7wPiDeMN5A3KDcsN5Q3NDc4N5g3nDegNxAnvA+kN6g2nB6gHyAbrDe0L7A3tDe4NxQ3vA/EN8g3zDfQN9Q32DfcN+A35DfsN/A3ECe8Duw39Df4N/w2ADoEOgg7ECe8Dgw6EDoUO/g3/DYYOhw6IDsQJ7wO7DYkOig7/DYsOjA6NDsQJ7wO7DY4Oig7/DY8Okg6TDsQJ7wO7DacHlA7GDpYOlw6YDsQJ7wO7DZkOgg+aDpsOnQ7FDe8DnA6fDqAOoQ6jDqQOpQ7ECe8Dpg6nDqgOqQ6qDqsOxAnvA7sNrA6tDooOrg6vDrAOxAnvA7sNsQ6yDv8Nsw60DrUOxAnvA7YOtw64DrIO/w25DroOuw7ECe8Duw28Dr0Ovg6/DsAOwQ7ECe8Duw3CDrIO/w3DDsQOxQ7ECe8Duw3GDooOxw7IDskOyg7ECe8Duw3LDswO/w3NDs4Ozw7ECe8Duw3QDswO/w3RDtIO0w7FDe8Duw3UDooO/g3XDtsO3Q7FDe8D3A7eDt8O4Q7mDugOxQ3vA+cO6Q7qDusO7A7uDsUN7wPtDu8O8A7xDvIO9A7ECe8D8w71DvYO9QP4DvkO+g71A+8D9w77DskG7wP8Dv4O/w6AD4EPxAnvA7sNgw+ED4UPxQ3vA4YPhw+ID4kPig+LD4wPjwmND44Pjw+QD+sNkQ+SD8UN7wOTD5QPlQ+WD5cPmA+ZD5oPjwmbD5wPnQ/wC54Pnw+gD6EPjgmiD6MPpA+lD6YPpw+oD6kPqg+r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QRBqJAALQAEBfyMAQRBrIgQkACAEIAE2AgQgBEGAgIQQNgIAIARCADcDCCAAIAQgAiADRAAAAAAAAAAAEIgDIARBEGokAAsSACAAIAEoAigpAgBCIIk3AgALXAEBfyMAQeABayIEJAAgBCABIAIgAxCfByAAEKcGIQAgBCgCACIBIAQgAEF/IAEoAgAoAgwRBgAgBEH4AGoQsQYaIARBQGsQsQYaIARBCGoQsQYaIARB4AFqJAALdgIBfwF+IwBB8AFrIgMkACADIAEpAgAiBDcDACADIAQ3AwggA0EQaiADIAIQoQcgABCnBiEAIAMoAhAiAiADQRBqIABBfyACKAIAKAIMEQYAIANBiAFqELEGGiADQdAAahCxBhogA0EYahCxBhogA0HwAWokAAtcAQF/IwBB4AFrIgQkACAEIAEgAiADEKIHIAAQpwYhACAEKAIAIgEgBCAAQX8gASgCACgCDBEGACAEQfgAahCxBhogBEFAaxCxBhogBEEIahCxBhogBEHgAWokAAt2AgF/AX4jAEHwAWsiAyQAIAMgASkCACIENwMAIAMgBDcDCCADQRBqIAMgAhCjByAAEKcGIQAgAygCECICIANBEGogAEF/IAIoAgAoAgwRBgAgA0GIAWoQsQYaIANB0ABqELEGGiADQRhqELEGGiADQfABaiQACzkCAX8BfCMAQRBrIgIkACACQgA3AwggAiABNgIEIAJBgICECDYCACAAIAIQhQYhAyACQRBqJAAgAwt7AQF/IwBB8AFrIgQkACAEQgA3AwggBCACNgIEIARBgICECDYCACAEQRBqIAEgBCADEJ4HIAAQpwYhACAEKAIQIgEgBEEQaiAAQX8gASgCACgCDBEGACAEQYgBahCxBhogBEHQAGoQsQYaIARBGGoQsQYaIARB8AFqJAALWAEBfyMAQeABayICJAAgAiABEJwHIAAQpwYhACACKAIAIgEgAiAAQX8gASgCACgCDBEGACACQfgAahCxBhogAkFAaxCxBhogAkEIahCxBhogAkHgAWokAAtaAQF/IwBB4AFrIgMkACADIAEgAhCdByAAEKcGIQAgAygCACIBIAMgAEF/IAEoAgAoAgwRBgAgA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaIANB4AFqJAALMwEBfyMAQRBrIgIkACACIAE2AgQgAkGA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CCAAQYiyASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQF2NgIIIABBsLIBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBAXY2AgggAEHYsgEgAkEIahADNgIAIAJBEGokAAtnAQN/IwBBEGsiAiQAIAEQrwYhBAJ/QQAgASgCBCIDQQFIDQAaIAEoAiwgA0ECdGpBBGsoAgALIQMgAiABKAIQNgIMIAIgAyAEbEECdjYCCCAAQYCzASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQJ2NgIIIABBqLMBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBA3Y2AgggAEHQswEgAkEIahADNgIAIAJBEGokAAslAQF/IAAoAgQiAUEBSARAQQAPCyAAKAIsIAFBAnRqQQRrKAIACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQAACxcAQZHEkMICIAAoAgBBAnRBHHF2QQ9xCxEAIAAoAgBBA3ZB/wNxQQFqCxQAIAEgAiADIAQgBSAAKAIAESsACxAAIAEgAiADIAAoAgARBAALEgAgASACIAMgBCAAKAIAERMAC0QBAX8jAEEQayIDJAAgAyACNgIIIAMgAkEBajYCDCADQoCAgID4/////wA3AwAgACABIANBCGogAxC6BhogA0EQaiQAC2YBAn8jAEFAaiIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIANBCGogASACIARBAXEEfyABKAIAIABqKAIABSAACxEEAEE4ENUaIANBCGoQuAYhACADQQhqELEGGiADQUBrJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEGAAtfAgJ/AX4jAEEQayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAikCACIGNwMAIAQgBjcDCCABIAQgAyAAEQQAIARBEGokAAtBAQF/IwBBEGsiBCQAIAQgAzYCDCAEIAI2AgggBEKAgICA+P////8ANwMAIAAgASAEQQhqIAQQugYaIARBEGokAAtoAQJ/IwBBQGoiBCQAIAEgACgCBCIFQQF1aiEBIAAoAgAhACAEQQhqIAEgAiADIAVBAXEEfyABKAIAIABqKAIABSAACxEGAEE4ENUaIARBCGoQuAYhACAEQQhqELEGGiAEQUBrJAAgAAszAQF/IwBBEGsiAyQAIANCgICAgPj/////ADcDCCAAIAEgAiADQQhqELoGGiADQRBqJAALDgAgASACIAAoAgARAgALCwAgACgCAEH/H3ELQQEBfyMAQRBrIgQkACAEQoCAgID4/////wA3AwggBCADNgIEIAQgAjYCACAAIAEgBEEIaiAEELoGGiAEQRBqJAALMwEBfyMAQRBrIgMkACADQoCAgID4/////wA3AwggACABIANBCGogAhC6BhogA0EQaiQACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwALZAECfyMAQUBqIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAkEIaiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEE4ENUaIAJBCGoQuAYhACACQQhqELEGGiACQUBrJAAgAAsKACAAKAIAQQdxC0QBAX8jAEEQayIDJAAgA0KAgICA+P////8ANwMIIAMgAjYCACADIAJBAWo2AgQgACABIANBCGogAxC6BhogA0EQaiQACw4AIAEgAiAAKAIAESIAC0EBAX8jAEFAaiIEJAAgBEEIaiABIAIgAyAAKAIAERMAQTgQ1RogBEEIahC4BiEBIARBCGoQsQYaIARBQGskACABCz8BAX8jAEFAaiIDJAAgA0EIaiABIAIgACgCABEEAEE4ENUaIANBCGoQuAYhASADQQhqELEGGiADQUBrJAAgAQs9AQF/IwBBQGoiAiQAIAJBCGogASAAKAIAEQIAQTgQ1RogAkEIahC4BiEBIAJBCGoQsQYaIAJBQGskACABCwwAIAAgASACELwGGgsOACAALQABQcAAcUEGdgs0AQF/IwBBEGsiAiQAIAJBCGogASAAKAIAEQIAQQgQ1RoiASACKQMINwMAIAJBEGokACABC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB4LEBIANBCGoQAzYCACADQRBqJAALNwEBfyMAQRBrIgMkACADQQhqIAEgAiAAKAIAEQQAIAMoAggQByADKAIIIgEQBiADQRBqJAAgAQthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQeCxASAEQQhqEAM2AgAgBEEQaiQACzkBAX8jAEEQayIEJAAgBEEIaiABIAIgAyAAKAIAEQYAIAQoAggQByAEKAIIIgEQBiAEQRBqJAAgAQtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYiyASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBiLIBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEHYsgEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQdiyASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABBsLIBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEGwsgEgBEEIahADNgIAIARBEGokAAtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYCzASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBgLMBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEGoswEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQaizASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB0LMBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEHQswEgBEEIahADNgIAIARBEGokAAttAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAWoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAsAAALFgAgACgCECAAKAIsKAIAIAFsaiACags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAsAAALJwAgACgCECAAKAIsIgAoAgAgAWxqIAAoAgQgAmxqIAAoAgggA2xqCz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALAAACzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAtAAALPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUALQAACz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALQAAC3MBAX8CQCAALQABQcAAcUUEQCAAKAIoIgIoAgBBAUcNAQsgACgCECABQQF0ag8LIAIoAgRBAUYEQCAAKAIQIAAoAiwoAgAgAWxqDwsgACgCECAAKAIsKAIAIAEgACgCDCIAbSICbGogASAAIAJsa0EBdGoLOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDAC4BAAsZACAAKAIQIAAoAiwoAgAgAWxqIAJBAXRqCzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC4BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC4BAAs6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMALwEACzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC8BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC8BAAtzAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAUECdGoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtBAnRqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAoAgALGQAgACgCECAAKAIsKAIAIAFsaiACQQJ0ags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAoAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAoAgALOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDACoCAAs8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwArAwALcwEBfwJAIAAtAAFBwABxRQRAIAAoAigiAigCAEEBRw0BCyAAKAIQIAFBA3RqDwsgAigCBEEBRgRAIAAoAhAgACgCLCgCACABbGoPCyAAKAIQIAAoAiwoAgAgASAAKAIMIgBtIgJsaiABIAAgAmxrQQN0ags6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMAKwMACxkAIAAoAhAgACgCLCgCACABbGogAkEDdGoLPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUAKwMACxIBAX9BCBDVGiIAQgA3AgAgAAsMACAABEAgABCiGwsLGQEBf0EQENUaIgBCADcDACAAQgA3AwggAAsNACABIAAoAgBqKwMACw8AIAEgACgCAGogAjkDAAsNACABIAAoAgBqKgIACw8AIAEgACgCAGogAjgCAAsZAQF/QRAQ1RoiAEIANwIAIABCADcCCCAACyABAX9BFBDVGiIAQgA3AgAgAEEANgIQIABCADcCCCAACx8BAX8gACgCACEAQQgQ1RoiAiAAIAFqKQIANwMAIAILEgAgASAAKAIAaiACKQIANwIACzIBAX8jAEEQayICJAAgAkEIaiABIAARAgAgAigCCBAHIAIoAggiABAGIAJBEGokACAACzgBAX8jAEEQayICJAAgAiABIAARAgBBEBDVGiIAIAIpAwg3AgggACACKQMANwIAIAJBEGokACAACzABAX9BHBDVGiIAQX82AhggAEIANwIQIABCgICAgICAgMC/fzcCCCAAQgA3AgAgAAsiAQF/QRAQ1RoiAEL/////////v/8ANwIIIABCfzcCACAACycBAX9BIBDVGiIAQgA3AwAgAEIANwMYIABCADcDECAAQgA3AwggAAsNACABIABBA3RqKwMACw8AIAEgAEEDdGogAjkDAAsZAQF/QQwQ1RoiAEIANwIAIABBADYCCCAACxAAQcABENUaQQBBwAEQrxsLCgBBPBDVGhCQCgsUACAABEAgACAAKAIAKAIEEQEACwuBAQECfyMAQRBrIgIkACACIAEgACgCABECAAJAIAIsAAsiAUEATgRAIAFB/wFxIgBBBGoQoRsiASAANgIAIAFBBGogAiAAEK4bGgwBCyACKAIEIgBBBGoQoRsiASAANgIAIAFBBGogAigCACIDIAAQrhsaIAMQohsLIAJBEGokACABC7EBAQR/IwBBEGsiAyQAIAIoAgAiBEFwSQRAIAAoAgAhBgJAAkAgBEELTwRAIARBEGpBcHEiBRDVGiEAIAMgBUGAgICAeHI2AgggAyAANgIAIAMgBDYCBCADIQUMAQsgAyAEOgALIAMiBSEAIARFDQELIAAgAkEEaiAEEK4bGgsgACAEakEAOgAAIAEgAyAGEQIAIAUsAAtBf0wEQCADKAIAEKIbCyADQRBqJAAPCxDZGgALfwEBfyMAQUBqIgIkACACIAEgABECAEE8ENUaIgBBrLQDNgIAIABBBGogAkEEchDbGhogACACKAIQNgIQIABBFGogAkEUahDbGhogAEEgaiACQSBqENsaGiAAQSxqIAJBLGoQ2xoaIAAgAigCODYCOCACEJUKGiACQUBrJAAgAAs4AQF/IwBBEGsiAiQAIAIgASAAEQIAQQwQ1RoiACACKAIINgIIIAAgAikDADcCACACQRBqJAAgAAvgAQIBfwF8IwBBgAFrIgkkACAJIAMpAgA3A3ggCSAEKwMAOQNYIAkgBCsDCDkDYCAJIAQrAxA5A2ggBCsDGCEKIAkgBTYCUCAJIAo5A3AgCSAGKwMAOQMwIAkgBisDCDkDOCAJIAYrAxA5A0AgCSAGKwMYOQNIIAkgBysDADkDECAJIAcrAwg5AxggCSAHKwMQOQMgIAkgBysDGDkDKCAJIAkpA3g3AwggASACIAlBCGogCUHYAGogCUHQAGogCUEwaiAJQRBqIAggABESACEHIAkoAlAQBiAJQYABaiQAIAcL3gECAX8BfCMAQYABayIIJAAgCCADKQIANwN4IAggBCsDADkDWCAIIAQrAwg5A2AgCCAEKwMQOQNoIAQrAxghCSAIIAU2AlAgCCAJOQNwIAggBisDADkDMCAIIAYrAwg5AzggCCAGKwMQOQNAIAggBisDGDkDSCAIIAcrAwA5AxAgCCAHKwMIOQMYIAggBysDEDkDICAIIAcrAxg5AyggCCAIKQN4NwMIIAEgAiAIQQhqIAhB2ABqIAhB0ABqIAhBMGogCEEQaiAAERYAIQcgCCgCUBAGIAhBgAFqJAAgBwuwAQMBfwF+AXwjAEHgAGsiByQAIAcgAykCACIINwNYIAcgBCsDADkDOCAHIAQrAwg5A0AgByAEKwMQOQNIIAQrAxghCSAHIAU2AjAgByAJOQNQIAcgBisDADkDECAHIAYrAwg5AxggByAGKwMQOQMgIAcgBisDGDkDKCAHIAg3AwggASACIAdBCGogB0E4aiAHQTBqIAdBEGogABEMACEGIAcoAjAQBiAHQeAAaiQAIAYLgQEDAX8BfgF8IwBBQGoiBiQAIAYgAykCACIHNwM4IAYgBCsDADkDGCAGIAQrAwg5AyAgBiAEKwMQOQMoIAQrAxghCCAGIAU2AhAgBiAIOQMwIAYgBzcDCCABIAIgBkEIaiAGQRhqIAZBEGogABEJACEEIAYoAhAQBiAGQUBrJAAgBAtlAgF/AX4jAEEwayIFJAAgBSADKQIAIgY3AyggBSAEKwMAOQMIIAUgBCsDCDkDECAFIAQrAxA5AxggBSAEKwMYOQMgIAUgBjcDACABIAIgBSAFQQhqIAARCwAhBCAFQTBqJAAgBAtOAQF/IwBBIGsiAyQAIAMgASACIAARBABBIBDVGiIAIAMpAxg3AxggACADKQMQNwMQIAAgAykDCDcDCCAAIAMpAwA3AwAgA0EgaiQAIAALTAEBfyMAQSBrIgIkACACIAEgABECAEEgENUaIgAgAikDGDcDGCAAIAIpAxA3AxAgACACKQMINwMIIAAgAikDADcDACACQSBqJAAgAAtKAQF/IwBBIGsiASQAIAEgABEBAEEgENUaIgAgASsDADkDACAAIAErAwg5AwggACABKwMQOQMQIAAgASsDGDkDGCABQSBqJAAgAAtCACAAQv/////////3/wA3AxggAEL/////////9/8ANwMQIABC//////////f/ADcDCCAAQv/////////3/wA3AwALTQEBfyMAQSBrIgQkACAEIAMpAwg3AxAgBCADKQMANwMIIARBGGogASACIARBCGogABEGACAEKAIYEAcgBCgCGCIDEAYgBEEgaiQAIAMLDQAgACgCAEEEaygCAAt8AQN/IwBBEGsiASQAIAEgABEBAAJAIAEsAAsiAEEATgRAIABB/wFxIgJBBGoQoRsiACACNgIAIABBBGogASACEK4bGgwBCyABKAIEIgJBBGoQoRsiACACNgIAIABBBGogASgCACIDIAIQrhsaIAMQohsLIAFBEGokACAACwYAQbiUAQskAQF/IAAEQCAAKAIAIgEEQCAAIAE2AgQgARCiGwsgABCiGwsLGQEBf0EMENUaIgBBADYCCCAAQgA3AgAgAAvqAQEFfyAAKAIEIgIgACgCCEcEQCACIAEoAgA2AgAgACACQQRqNgIEDwsCQCACIAAoAgAiBWsiBkECdSIEQQFqIgJBgICAgARJBEACf0EAIAIgBkEBdSIDIAIgA0sbQf////8DIARB/////wFJGyIDRQ0AGiADQYCAgIAETw0CIANBAnQQ1RoLIgIgBEECdGoiBCABKAIANgIAIAIgA0ECdGohASAEQQRqIQMgBkEBTgRAIAIgBSAGEK4bGgsgACABNgIIIAAgAzYCBCAAIAI2AgAgBQRAIAUQohsLDwsQ/BoAC0HdkgEQvgIAC1IBAn8jAEEQayIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIARBAXEEQCABKAIAIABqKAIAIQALIAMgAjYCDCABIANBDGogABECACADQRBqJAALPgECfyABIAAoAgQgACgCACIEa0ECdSIDSwRAIAAgASADayACEL8CDwsgASADSQRAIAAgBCABQQJ0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ACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQIACz4BAn8gASAAKAIEIAAoAgAiBGtBA3UiA0sEQCAAIAEgA2sgAhDCAg8LIAEgA0kEQCAAIAQgAUEDdGo2AgQLCzkBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEEAAtdAQJ/IwBBEGsiAyQAQQEhBCAAIAIgASgCBCABKAIAIgFrQQN1SQR/QQgQ1RoiBCABIAJBA3RqKQIANwMAIAMgBDYCCEHIngEgA0EIahADBSAECzYCACADQRBqJAALFwAgACgCACABQQN0aiACKQIANwIAQQELEAAgASACIAMgACgCABEFAAsGAEGMoAELTwECfyAABEAgACgCACIBBEACfyABIAEgACgCBCICRg0AGgNAIAJBOGsQsQYiAiABRw0ACyAAKAIACyECIAAgATYCBCACEKIbCyAAEKIbCwsrAQF/IAAoAgQiAiAAKAIIRwRAIAAgAiABEK0GQThqNgIEDwsgACABEMMCC1wBA38gASAAKAIEIgMgACgCACIFa0E4bSIESwRAIAAgASAEayACEMQCDwsgASAESQRAIAUgAUE4bGoiASADRwRAA0AgA0E4axCxBiIDIAFHDQALCyAAIAE2AgQLCxAAIAAoAgQgACgCAGtBOG0LWwECfyMAQRBrIgMkAEEBIQQgACACIAEoAgQgASgCACIBa0E4bUkEf0E4ENUaIgQgASACQThsahCtBhogAyAENgIIQcChASADQQhqEAMFIAQLNgIAIANBEGokAAsUACAAKAIAIAFBOGxqIAIQswZBAQsGAEGYowEL/QEBBX8gACgCBCICIAAoAghHBEAgAiABKQIANwIAIAIgASkCCDcCCCAAIAJBEGo2AgQPCwJAIAIgACgCACIFayIGQQR1IgRBAWoiAkGAgICAAUkEQAJ/QQAgAiAGQQN1IgMgAiADSxtB/////wAgBEH///8/SRsiA0UNABogA0GAgICAAU8NAiADQQR0ENUaCyICIARBBHRqIgQgASkCADcCACAEIAEpAgg3AgggAiADQQR0aiEBIARBEGohAyAGQQFOBEAgAiAFIAYQrhsaCyAAIAE2AgggACADNgIEIAAgAjYCACAFBEAg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QczvARCJA0Gk7wFB/+QBQcwNEJgKAAtBqX4gBUEQakHl7wEQiQNBpO8BQf/kAUHXDRCYCgALwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogAiAIai0AACAAIAhqLQAAQYACcmpBoPwDai0AADoAACAEIAlqIAogC0GAAnJqQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiACIApqLQAAIAAgCmotAABBgAJyakGg/ANqLQAAOgAAIAQgCWogCyAOQYACcmpBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAIgCGotAAAgACAIai0AAEGAAnJqQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwvzAgEIfyAHBEAgBkEEayEKIAZBA0ohCyAFQQF2QQF0IQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASALBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAIgA2ovAQAgACADai8BAGoiD0H//wMgD0H//wNJGzsBACAEIAVqIAggCWoiBUH//wMgBUH//wNJGzsBACACIANBBnIiBWovAQAhCCAAIAVqLwEAIQkgBCADQQRyIgNqIAIgA2ovAQAgACADai8BAGoiA0H//wMgA0H//wNJGzsBACAEIAVqIAggCWoiA0H//wMgA0H//wNJGzsBACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogAiADai8BACAAIANqLwEAaiIDQf//AyADQf//A0kbOwEAIAFBAWoiASAGRw0ACwsgBCAMaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLuQMBCH8gBwRAIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQEgDARAA0AgAiABQQF0IgNBAnIiBWouAQAhCCAAIAVqLgEAIQkgAyAEaiAAIANqLgEAIAIgA2ouAQBqIgpB//8BIApB//8BSBsiCkGAgH4gCkGAgH5KGzsBACAEIAVqIAggCWoiBUH//wEgBUH//wFIGyIFQYCAfiAFQYCAfkobOwEAIAIgA0EGciIFai4BACEIIAAgBWouAQAhCSAEIANBBHIiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgBCAFaiAIIAlqIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwutAgEHfyAHBEAgBkEEayEKIAZBA0ohCyAFQQJ2QQJ0IQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhASALBEADQCACIAFBAnQiA0EEciIFaigCACEIIAAgBWooAgAhCSADIARqIAIgA2ooAgAgACADaigCAGo2AgAgBCAFaiAIIAlqNgIAIAIgA0EMciIFaigCACEIIAAgBWooAgAhCSAEIANBCHIiA2ogAiADaigCACAAIANqKAIAajYCACAEIAVqIAggCWo2AgAgAUEEaiIBIApMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQJ0IgNqIAIgA2ooAgAgACADaigCAGo2AgAgAUEBaiIBIAZHDQALCyAEIAxqIQQgAiANaiECIAAgDmohACAHDQALCwuvAgIFfwJ9IAcEQCAGQQRrIQggBkEDSiEJIAVBAnZBAnQhCiADQQJ2QQJ0IQsgAUECdkECdCEMA0BBACEBIAkEQANAIAIgAUECdCIDQQRyIgVqKgIAIQ0gACAFaioCACEOIAMgBGogACADaioCACACIANqKgIAkjgCACAEIAVqIA4gDZI4AgAgAiADQQxyIgVqKgIAIQ0gACAFaioCACEOIAQgA0EIciIDaiAAIANqKgIAIAIgA2oqAgCSOAIAIAQgBWogDiANkjgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaioCACACIANqKgIAkjgCACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC68CAgV/AnwgBwRAIAZBBGshCCAGQQNKIQkgBUEDdkEDdCEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDSAAIAVqKwMAIQ4gAyAEaiAAIANqKwMAIAIgA2orAwCgOQMAIAQgBWogDiANoDkDACACIANBGHIiBWorAwAhDSAAIAVqKwMAIQ4gBCADQRByIgNqIAAgA2orAwAgAiADaisDAKA5AwAgBCAFaiAOIA2gOQMAIAFBBGoiASAITA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEDdCIDaiAAIANqKwMAIAIgA2orAwCgOQMAIAFBAWoiASAGRw0ACwsgBCAKaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsLwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogACAIai0AAEGAAnIgAiAIai0AAGtBoPwDai0AADoAACAEIAlqIAtBgAJyIAprQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiAAIApqLQAAQYACciACIApqLQAAa0Gg/ANqLQAAOgAAIAQgCWogDkGAAnIgC2tBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAAgCGotAABBgAJyIAIgCGotAABrQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwulAwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAAgA2ovAQAgAiADai8BAGsiCkEAIApBAEobIgpB//8DIApB//8DSBs7AQAgBCAFaiAJIAhrIgVBACAFQQBKGyIFQf//AyAFQf//A0gbOwEAIAIgA0EGciIFai8BACEIIAAgBWovAQAhCSAEIANBBHIiA2ogACADai8BACACIANqLwEAayIDQQAgA0EAShsiA0H//wMgA0H//wNIGzsBACAEIAVqIAkgCGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEEaiIBIAtMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQF0IgNqIAAgA2ovAQAgAiADai8BAGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwu5AwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai4BACEIIAAgBWouAQAhCSADIARqIAAgA2ouAQAgAiADai4BAGsiCkH//wEgCkH//wFIGyIKQYCAfiAKQYCAfkobOwEAIAQgBWogCSAIayIFQf//ASAFQf//AUgbIgVBgIB+IAVBgIB+Shs7AQAgAiADQQZyIgVqLgEAIQggACAFai4BACEJIAQgA0EEciIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACAEIAVqIAkgCGsiA0H//wEgA0H//wFIGyIDQYCAfiADQYCAfkobOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQFqIgEgBkcNAAsLIAQgDWohBCACIA5qIQIgACAPaiEAIAcNAAsLC60CAQd/IAcEQCAGQQRrIQogBkEDSiELIAVBAnZBAnQhDCADQQJ2QQJ0IQ0gAUECdkECdCEOA0BBACEBIAsEQANAIAIgAUECdCIDQQRyIgVqKAIAIQggACAFaigCACEJIAMgBGogACADaigCACACIANqKAIAazYCACAEIAVqIAkgCGs2AgAgAiADQQxyIgVqKAIAIQggACAFaigCACEJIAQgA0EIciIDaiAAIANqKAIAIAIgA2ooAgBrNgIAIAQgBWogCSAIazYCACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaigCACACIANqKAIAazYCACABQQFqIgEgBkcNAAsLIAQgDGohBCACIA1qIQIgACAOaiEAIAcNAAsLC68C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IgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEgbOgAAIAMgBGpBf0EAIAggCkgbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBIGzoAACADIARqQX9BACAIIApIGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEgbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEwbOgAAIAMgBGpBf0EAIAggCkwbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBMGzoAACADIARqQX9BACAIIApMGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEwbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLtwYBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDoBAwFCyACIAMgACABIAQgBSAGIAcQ6AQMBAsgACABIAIgAyAEIAUgBiAHEOkEDAMLIAIgAyAAIAEgBCAFIAYgBxDpBAwCCyAHRQ0BIAZBBGshCyAGQQNKIQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhCCAMBEADQCACIAhBAXIiAUECdCIDaigCACEKIAAgA2ooAgAhAyAEIAhqQX9BACAAIAhBAnQiCWooAgAgAiAJaigCAEYbOgAAIAEgBGpBf0EAIAMgCkYbOgAAIAIgCEEDciIBQQJ0IgNqKAIAIQogACADaigCACEDIAQgCEECciIJakF/QQAgACAJQQJ0IglqKAIAIAIgCWooAgBGGzoAACABIARqQX9BACADIApGGzoAACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAnQiAWooAgAgASACaigCAEYbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwwBCyAHRQ0AIAZBBGshCyAGQQNKIQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhCCAMBEADQCACIAhBAXIiAUECdCIDaigCACEKIAAgA2ooAgAhAyAEIAhqQX9BACAAIAhBAnQiCWooAgAgAiAJaigCAEcbOgAAIAEgBGpBf0EAIAMgCkcbOgAAIAIgCEEDciIBQQJ0IgNqKAIAIQogACADaigCACEDIAQgCEECciIJakF/QQAgACAJQQJ0IglqKAIAIAIgCWooAgBHGzoAACABIARqQX9BACADIApHGzoAACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAnQiAWooAgAgASACaigCAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhASAMBEADQCACIAFBAXIiA0ECdCIIaigCACEKIAAgCGooAgAhCCABIARqQX9BACAAIAFBAnQiCWooAgAgAiAJaigCAEgbOgAAIAMgBGpBf0EAIAggCkgbOgAAIAIgAUEDciIDQQJ0IghqKAIAIQogACAIaigCACEIIAQgAUECciIJakF/QQAgACAJQQJ0IglqKAIAIAIgCWooAgBIGzoAACADIARqQX9BACAIIApIGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAnQiA2ooAgAgAiADaigCAEgbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhASAMBEADQCACIAFBAXIiA0ECdCIIaigCACEKIAAgCGooAgAhCCABIARqQX9BACAAIAFBAnQiCWooAgAgAiAJaigCAEwbOgAAIAMgBGpBf0EAIAggCkwbOgAAIAIgAUEDciIDQQJ0IghqKAIAIQogACAIaigCACEIIAQgAUECciIJakF/QQAgACAJQQJ0IglqKAIAIAIgCWooAgBMGzoAACADIARqQX9BACAIIApMGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAnQiA2ooAgAgAiADaigCAEwbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLuQYCBX8CfSMAQRBrIg0kAAJAAkACQAJAAkACQAJAAkAgCA4GBAEDAAIFBwsgACABIAIgAyAEIAUgBiAHEOsEDAULIAIgAyAAIAEgBCAFIAYgBxDrBAwECyAAIAEgAiADIAQgBSAGIAcQ7AQMAwsgAiADIAAgASAEIAUgBiAHEOwEDAILIAdFDQEgBkEEayEJIAZBA0ohCiADQQJ2QQJ0IQsgAUECdkECdCEMA0BBACEIIAoEQANAIAIgCEEBciIBQQJ0IgNqKgIAIQ4gACADaioCACEPIAQgCGpBf0EAIAAgCEECdCIDaioCACACIANqKgIAWxs6AAAgASAEakF/QQAgDiAPWxs6AAAgAiAIQQNyIgFBAnQiA2oqAgAhDiAAIANqKgIAIQ8gBCAIQQJyIgNqQX9BACAAIANBAnQiA2oqAgAgAiADaioCAFsbOgAAIAEgBGpBf0EAIA4gD1sbOgAAIAhBBGoiCCAJTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCEECdCIBaioCACABIAJqKgIAWxs6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiALaiECIAAgDGohACAHDQALDAELIAdFDQAgBkEEayEJIAZBA0ohCiADQQJ2QQJ0IQsgAUECdkECdCEMA0BBACEIIAoEQANAIAIgCEEBciIBQQJ0IgNqKgIAIQ4gACADaioCACEPIAQgCGpBf0EAIAAgCEECdCIDaioCACACIANqKgIAXBs6AAAgASAEakF/QQAgDiAPXBs6AAAgAiAIQQNyIgFBAnQiA2oqAgAhDiAAIANqKgIAIQ8gBCAIQQJyIgNqQX9BACAAIANBAnQiA2oqAgAgAiADaioCAFwbOgAAIAEgBGpBf0EAIA4gD1wbOgAAIAhBBGoiCCAJTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCEECdCIBaioCACABIAJqKgIAXBs6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiALaiECIAAgDGohACAHDQALCyANQRBqJAAPC0GpfiANQbHwARCJA0HR8AFBi/ABQfcFEJgKAAvNAgIFfwJ9IAcEQCAGQQRrIQkgBkEDSiEKIANBAnZBAnQhCyABQQJ2QQJ0IQwDQEEAIQEgCgRAA0AgAiABQQFyIgNBAnQiCGoqAgAhDSAAIAhqKgIAIQ4gASAEakF/QQAgACABQQJ0IghqKgIAIAIgCGoqAgBdGzoAACADIARqQX9BACANIA5eGzoAACACIAFBA3IiA0ECdCIIaioCACENIAAgCGoqAgAhDiAEIAFBAnIiCGpBf0EAIAAgCEECdCIIaioCACACIAhqKgIAXRs6AAAgAyAEakF/QQAgDSAOXhs6AAAgAUEEaiIBIAlMDQALCyAHQQFrIQcgASAGSARAA0AgASAEakF/QQAgACABQQJ0IgNqKgIAIAIgA2oqAgBdGzoAACABQQFqIgEgBkcNAAsLIAQgBWohBCACIAtqIQIgACAMaiEAIAcNAAsLC80CAgV/An0gBwRAIAZBBGshCSAGQQNKIQogA0ECdkECdCELIAFBAnZBAnQhDANAQQAhASAKBEADQCACIAFBAXIiA0ECdCIIaioCACENIAAgCGoqAgAhDiABIARqQX9BACAAIAFBAnQiCGoqAgAgAiAIaioCAF8bOgAAIAMgBGpBf0EAIA0gDmAbOgAAIAIgAUEDciIDQQJ0IghqKgIAIQ0gACAIaioCACEOIAQgAUECciIIakF/QQAgACAIQQJ0IghqKgIAIAIgCGoqAgBfGzoAACADIARqQX9BACANIA5gGzoAACABQQRqIgEgCUwNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAnQiA2oqAgAgAiADaioCAF8bOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsLuQYCBX8CfCMAQRBrIg0kAAJAAkACQAJAAkACQAJAAkAgCA4GBAEDAAIFBwsgACABIAIgAyAEIAUgBiAHEO4EDAULIAIgAyAAIAEgBCAFIAYgBxDuBAwECyAAIAEgAiADIAQgBSAGIAcQ7wQMAwsgAiADIAAgASAEIAUgBiAHEO8EDAILIAdFDQEgBkEEayEJIAZBA0ohCiADQQN2QQN0IQsgAUEDdkEDdCEMA0BBACEIIAoEQANAIAIgCEEBciIBQQN0IgNqKwMAIQ4gACADaisDACEPIAQgCGpBf0EAIAAgCEEDdCIDaisDACACIANqKwMAYRs6AAAgASAEakF/QQAgDiAPYRs6AAAgAiAIQQNyIgFBA3QiA2orAwAhDiAAIANqKwMAIQ8gBCAIQQJyIgNqQX9BACAAIANBA3QiA2orAwAgAiADaisDAGEbOgAAIAEgBGpBf0EAIA4gD2EbOgAAIAhBBGoiCCAJTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCEEDdCIBaisDACABIAJqKwMAYRs6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiALaiECIAAgDGohACAHDQALDAELIAdFDQAgBkEEayEJIAZBA0ohCiADQQN2QQN0IQsgAUEDdkEDdCEMA0BBACEIIAoEQANAIAIgCEEBciIBQQN0IgNqKwMAIQ4gACADaisDACEPIAQgCGpBf0EAIAAgCEEDdCIDaisDACACIANqKwMAYhs6AAAgASAEakF/QQAgDiAPYhs6AAAgAiAIQQNyIgFBA3QiA2orAwAhDiAAIANqKwMAIQ8gBCAIQQJyIgNqQX9BACAAIANBA3QiA2orAwAgAiADaisDAGIbOgAAIAEgBGpBf0EAIA4gD2IbOgAAIAhBBGoiCCAJTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCEEDdCIBaisDACABIAJqKwMAYhs6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiALaiECIAAgDGohACAHDQALCyANQRBqJAAPC0GpfiANQbHwARCJA0HB8AFBi/ABQa4GEJgKAAvNAgIFfwJ8IAcEQCAGQQRrIQkgBkEDSiEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCgRAA0AgAiABQQFyIgNBA3QiCGorAwAhDSAAIAhqKwMAIQ4gASAEakF/QQAgACABQQN0IghqKwMAIAIgCGorAwBjGzoAACADIARqQX9BACANIA5kGzoAACACIAFBA3IiA0EDdCIIaisDACENIAAgCGorAwAhDiAEIAFBAnIiCGpBf0EAIAAgCEEDdCIIaisDACACIAhqKwMAYxs6AAAgAyAEakF/QQAgDSAOZBs6AAAgAUEEaiIBIAlMDQALCyAHQQFrIQcgASAGSARAA0AgASAEakF/QQAgACABQQN0IgNqKwMAIAIgA2orAwBjGzoAACABQQFqIgEgBkcNAAsLIAQgBWohBCACIAtqIQIgACAMaiEAIAcNAAsLC80CAgV/AnwgBwRAIAZBBGshCSAGQQNKIQogA0EDdkEDdCELIAFBA3ZBA3QhDANAQQAhASAKBEADQCACIAFBAXIiA0EDdCIIaisDACENIAAgCGorAwAhDiABIARqQX9BACAAIAFBA3QiCGorAwAgAiAIaisDAGUbOgAAIAMgBGpBf0EAIA0gDmYbOgAAIAIgAUEDciIDQQN0IghqKwMAIQ0gACAIaisDACEOIAQgAUECciIIakF/QQAgACAIQQN0IghqKwMAIAIgCGorAwBlGzoAACADIARqQX9BACANIA5mGzoAACABQQRqIgEgCUwNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBA3QiA2orAwAgAiADaisDAGUbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsL4wYCB38BfQJAIAgrAwC2IhBDAACAv5KLQwAAADRfQQFzRQRAIAdFDQEgBkEEayENIAZBA0ohDgNAQQAhCCAOBEADQCACIAhBAXIiCWotAAAhCiAAIAlqLQAAIQsgBCAIaiACIAhqLQAAIAAgCGotAABsIgxB/wEgDEH/AUkbOgAAIAQgCWogCiALbCIJQf8BIAlB/wFJGzoAACACIAhBA3IiCWotAAAhCyAAIAlqLQAAIQwgBCAIQQJyIgpqIAIgCmotAAAgACAKai0AAGwiCkH/ASAKQf8BSRs6AAAgBCAJaiALIAxsIglB/wEgCUH/AUkbOgAAIAhBBGoiCCANTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGogAiAIai0AACAAIAhqLQAAbCIJQf8BIAlB/wFJGzoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsMAQsgB0UNACAGQQRrIQ4gBkEDSiEPA0BBACEIIA8EQANAIAAgCGotAABBAnRBoPQDaioCACAQlCACIAhqLQAAQQJ0QaD0A2oqAgCUEIMVIQkgAiAIQQFyIgpqLQAAIQsgACAKai0AACEMIAQgCGogCUEAIAlBAEobIglB/wEgCUH/AUgbOgAAIAQgCmogDEECdEGg9ANqKgIAIBCUIAtBAnRBoPQDaioCAJQQgxUiCUEAIAlBAEobIglB/wEgCUH/AUgbOgAAIAAgCEECciIJai0AAEECdEGg9ANqKgIAIBCUIAIgCWotAABBAnRBoPQDaioCAJQQgxUhCiACIAhBA3IiC2otAAAhDCAAIAtqLQAAIQ0gBCAJaiAKQQAgCkEAShsiCUH/ASAJQf8BSBs6AAAgBCALaiANQQJ0QaD0A2oqAgAgEJQgDEECdEGg9ANqKgIAlBCDFSIJQQAgCUEAShsiCUH/ASAJQf8BSBs6AAAgCEEEaiIIIA5MDQALCyAHQQFrIQcgBiAISgRAA0AgBCAIaiAAIAhqLQAAQQJ0QaD0A2oqAgAgEJQgAiAIai0AAEECdEGg9ANqKgIAlBCDFSIJQQAgCUEAShsiCUH/ASAJQf8BSBs6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwvFBgIHfwF9AkAgCCsDALYiEEMAAIC/kotDAAAANF9BAXNFBEAgB0UNASAGQQRrIQ0gBkEDSiEOA0BBACEIIA4EQANAIAIgCEEBciIJaiwAACEKIAAgCWosAAAhDCAEIAhqIAIgCGosAAAgACAIaiwAAGwiC0GAfyALQYB/ShsiC0H/ACALQf8ASBs6AAAgBCAJaiAKIAxsIglBgH8gCUGAf0obIglB/wAgCUH/AEgbOgAAIAIgCEEDciIJaiwAACEMIAAgCWosAAAhCyAEIAhBAnIiCmogAiAKaiwAACAAIApqLAAAbCIKQYB/IApBgH9KGyIKQf8AIApB/wBIGzoAACAEIAlqIAsgDGwiCUGAfyAJQYB/ShsiCUH/ACAJQf8ASBs6AAAgCEEEaiIIIA1MDQALCyAHQQFrIQcgBiAISgRAA0AgBCAIaiACIAhqLAAAIAAgCGosAABsIglBgH8gCUGAf0obIglB/wAgCUH/AEgbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwwBCyAHRQ0AIAZBBGshDiAGQQNKIQ8DQEEAIQggDwRAA0AgECAAIAhqLAAAspQgAiAIaiwAALKUEIMVIQkgAiAIQQFyIgpqLAAAIQwgACAKaiwAACELIAQgCGogCUGAfyAJQYB/ShsiCUH/ACAJQf8ASBs6AAAgBCAKaiAQIAuylCAMspQQgxUiCUGAfyAJQYB/ShsiCUH/ACAJQf8ASBs6AAAgECAAIAhBAnIiCWosAACylCACIAlqLAAAspQQgxUhCiACIAhBA3IiDGosAAAhCyAAIAxqLAAAIQ0gBCAJaiAKQYB/IApBgH9KGyIJQf8AIAlB/wBIGzoAACAEIAxqIBAgDbKUIAuylBCDFSIJQYB/IAlBgH9KGyIJQf8AIAlB/wBIGzoAACAIQQRqIgggDkwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIBAgACAIaiwAALKUIAIgCGosAACylBCDFSIJQYB/IAlBgH9KGyIJQf8AIAlB/wBIGzoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsLC84GAgd/AX0gBUEBdiENIANBAXYhDiABQQF2IQ8CQCAIKwMAtiIQQwAAgL+Si0MAAAA0X0EBc0UEQCAHRQ0BIAZBBGshCyAGQQNKIQwDQEEAIQggDARAA0AgAiAIQQF0IgFBAnIiA2ovAQAhBSAAIANqLwEAIQkgASAEaiABIAJqLwEAIAAgAWovAQBsIgpB//8DIApB//8DSRs7AQAgAyAEaiAFIAlsIgNB//8DIANB//8DSRs7AQAgAiABQQZyIgNqLwEAIQUgACADai8BACEJIAQgAUEEciIBaiABIAJqLwEAIAAgAWovAQBsIgFB//8DIAFB//8DSRs7AQAgAyAEaiAFIAlsIgFB//8DIAFB//8DSRs7AQAgCEEEaiIIIAtMDQALCyAHQQFrIQcgBiAISgRAA0AgBCAIQQF0IgFqIAEgAmovAQAgACABai8BAGwiAUH//wMgAUH//wNJGzsBACAIQQFqIgggBkcNAAsLIAQgDUEBdGohBCACIA5BAXRqIQIgACAPQQF0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQsgBkEDSiEMA0BBACEIIAwEQANAIBAgACAIQQF0IgFqLwEAs5QgASACai8BALOUEIMVIQMgAiABQQJyIgVqLwEAIQkgACAFai8BACEKIAEgBGogA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgBCAFaiAQIAqzlCAJs5QQgxUiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgECAAIAFBBHIiA2ovAQCzlCACIANqLwEAs5QQgxUhBSACIAFBBnIiAWovAQAhCSAAIAFqLwEAIQogAyAEaiAFQQAgBUEAShsiA0H//wMgA0H//wNIGzsBACABIARqIBAgCrOUIAmzlBCDFSIBQQAgAUEAShsiAUH//wMgAUH//wNIGzsBACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAXQiAWogECAAIAFqLwEAs5QgASACai8BALOUEIMVIgFBACABQQBKGyIBQf//AyABQf//A0gbOwEAIAhBAWoiCCAGRw0ACwsgBCANQQF0aiEEIAIgDkEBdGohAiAAIA9BAXRqIQAgBw0ACwsLqAcCB38BfSAFQQF2IQ0gA0EBdiEOIAFBAXYhDwJAIAgrAwC2IhBDAACAv5KLQwAAADRfQQFzRQRAIAdFDQEgBkEEayELIAZBA0ohDANAQQAhCCAMBEADQCACIAhBAXQiAUECciIDai4BACEFIAAgA2ouAQAhCSABIARqIAEgAmouAQAgACABai4BAGwiCkGAgH4gCkGAgH5KGyIKQf//ASAKQf//AUgbOwEAIAMgBGogBSAJbCIDQYCAfiADQYCAfkobIgNB//8BIANB//8BSBs7AQAgAiABQQZyIgNqLgEAIQUgACADai4BACEJIAQgAUEEciIBaiABIAJqLgEAIAAgAWouAQBsIgFBgIB+IAFBgIB+ShsiAUH//wEgAUH//wFIGzsBACADIARqIAUgCWwiAUGAgH4gAUGAgH5KGyIBQf//ASABQf//AUgbOwEAIAhBBGoiCCALTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCEEBdCIBaiABIAJqLgEAIAAgAWouAQBsIgFBgIB+IAFBgIB+ShsiAUH//wEgAUH//wFIGzsBACAIQQFqIgggBkcNAAsLIAQgDUEBdGohBCACIA5BAXRqIQIgACAPQQF0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQsgBkEDSiEMA0BBACEIIAwEQANAIBAgACAIQQF0IgFqLgEAspQgASACai4BALKUEIMVIQMgAiABQQJyIgVqLgEAIQkgACAFai4BACEKIAEgBGogA0GAgH4gA0GAgH5KGyIDQf//ASADQf//AUgbOwEAIAQgBWogECAKspQgCbKUEIMVIgNBgIB+IANBgIB+ShsiA0H//wEgA0H//wFIGzsBACAQIAAgAUEEciIDai4BALKUIAIgA2ouAQCylBCDFSEFIAIgAUEGciIBai4BACEJIAAgAWouAQAhCiADIARqIAVBgIB+IAVBgIB+ShsiA0H//wEgA0H//wFIGzsBACABIARqIBAgCrKUIAmylBCDFSIBQYCAfiABQYCAfkobIgFB//8BIAFB//8BSBs7AQAgCEEEaiIIIAtMDQALCyAHQQFrIQcgBiAISgRAA0AgBCAIQQF0IgFqIBAgACABai4BALKUIAEgAmouAQCylBCDFSIBQYCAfiABQYCAfkobIgFB//8BIAFB//8BSBs7AQAgCEEBaiIIIAZHDQALCyAEIA1BAXRqIQQgAiAOQQF0aiECIAAgD0EBdGohACAHDQALCwuLBQMEfwJ9AXwgBUECdiEKIANBAnYhCyABQQJ2IQwCQCAIKwMAIg9EAAAAAAAA8L+gmUQAAAAAAACAPmVBAXNFBEAgB0UNASAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ0gACADaioCACEOIAEgBGogACABaioCACABIAJqKgIAlDgCACADIARqIA4gDZQ4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAAIAFqKgIAIAEgAmoqAgCUOAIAIAMgBGogDiANlDgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlDgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ0gACADaioCACEOIAEgBGogDyAAIAFqKgIAu6IgASACaioCALuitjgCACADIARqIA8gDruiIA27orY4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAPIAAgAWoqAgC7oiABIAJqKgIAu6K2OAIAIAMgBGogDyAOu6IgDbuitjgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogDyAAIAFqKgIAu6IgASACaioCALuitjgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC5MFAgZ/AXwgBUECdiEMIANBAnYhDSABQQJ2IQ4CQCAIKwMAIg9EAAAAAAAA8L+gmUQAAAAAAACAPmVBAXNFBEAgB0UNASAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogASACaigCACAAIAFqKAIAbDYCACADIARqIAUgCWw2AgAgAiABQQxyIgNqKAIAIQUgACADaigCACEJIAQgAUEIciIBaiABIAJqKAIAIAAgAWooAgBsNgIAIAMgBGogBSAJbDYCACAIQQRqIgggCkwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogASACaigCACAAIAFqKAIAbDYCACAIQQFqIgggBkcNAAsLIAQgDEECdGohBCACIA1BAnRqIQIgACAOQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogDyAAIAFqKAIAt6IgASACaigCALeiEIIVNgIAIAMgBGogDyAJt6IgBbeiEIIVNgIAIAIgAUEM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IQ0gACADaioCACEOIAEgBGogACABaioCACABIAJqKgIAlTgCACADIARqIA4gDZU4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAAIAFqKgIAIAEgAmoqAgCVOAIAIAMgBGogDiANlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ4gACADaioCACEPIAEgBGogACABaioCACANlCABIAJqKgIAlTgCACADIARqIA8gDZQgDpU4AgAgAiABQQxyIgNqKgIAIQ4gACADaioCACEPIAQgAUEIciIBaiAAIAFqKgIAIA2UIAEgAmoqAgCVOAIAIAMgBGogDyANlCAOlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACANlCABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC/YEAgV/A3wgBUEDdiEKIANBA3YhCyABQQN2IQwCQCAIKwMARAAAAAAAAPA/YQRAIAdFDQEgBkEEayEFIAZBA0ohCQNAQQAhASAJBEADQCACIAFBA3QiA0EIciIIaisDACEOIAAgCGorAwAhDyADIARqIAAgA2orAwAgAiADaisDAKM5AwAgBCAIaiAPIA6jOQMAIAIgA0EYciIIaisDACEOIAAgCGorAwAhDyAEIANBEHIiA2ogACADaisDACACIANqKwMAozkDACAEIAhqIA8gDqM5AwAgAUEEaiIBIAVMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQN0IgNqIAAgA2orAwAgAiADaisDAKM5AwAgAUEBaiIBIAZHDQALCyAEIApBA3RqIQQgAiALQQN0aiECIAAgDEEDdGohACAHDQALDAELIAdFDQAgBkEEayEJIAZBA0ohDQNAQQAhASANBEADQCACIAFBA3QiA0EIciIFaisDACEO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FyAVIAItAAG4oqAhFyAWIBUgAi0AALiioCEWIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRUMAQsgBCANaiECQQAhAEQAAAAAAAAAACEVA0AgFSAHIABBAnRqKgIAuyACLQAAuKKgIRUgAiAMaiECIABBAWoiACABRw0ACwsgCiAEQQJ0aiAVIAOitjgCACAEQQFqIgQgCEcNAAsLIAogEkECdGohCiAGQQFqIgYgCEcNAAsLIAcgEUcEQCAHEKIbCyALQaAIaiQAC68IAxR/AX0BfCMAQaAIayIHJAAgASgCMEECdiESIAAoAjAhDSABKAIQIQogACgCECEOIAAoAigiACgCACELIAAoAgQhBAJAIAIoAhAiCEUEQCALQQFIDQEgBEF8cSEJIARBBGshBkEAIQggBEEDSiEQA0AgDiAIIA1saiEBIAghDANAIA4gDCANbGohAkEAIQBEAAAAAAAAAAAhGQJ/IBAEQANAIBkgACABai0AALggACACai0AALiiIAEgAEEBciIFai0AALggAiAFai0AALiioCABIABBAnIiBWotAAC4IAIgBWotAAC4oqAgASAAQQNyIgVqLQAAuCACIAVqLQAAuKKgoCEZIABBBGoiACAGTA0ACyAJIQALIAAgBEgLBEADQCAZIAAgAWotAAC4IAAgAmotAAC4oqAhGSAAQQFqIgAgBEcNAAsLIAogDEECdGogGSADorY4AgAgDEEBaiIMIAtHDQALIAogEkECdGohCiAIQQFqIgggC0cNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAEQQJ0IgA2AgQgByAHQQhqIhM2AgAgEyEFIABBiQhPBEAgByAAENUaIgU2AgALIAtBAU4EQCAGQQJ2QQAgAUEBShshFCAEQXxxIRUgBEEEayEMIARBAUghFiAEQQNKIRcgBCARRkEEdCEQA0AgDiANIA9saiECIAggDyAUbEECdGohAQJAIAQgEUwEQEEAIQAgBEEATA0BA0AgBSAAQQJ0IgZqIAAgAmotAACzIAEgBmoqAgCTOAIAIABBAWoiACAERw0ACwwBC0EAIQAgFg0AA0AgBSAAQQJ0aiAAIAJqLQAAsyABKgIAkzgCACAAQQFqIgAgBEcNAAsLIA8hCQNAIAkgDWwhACAIIAkgFGxBAnRqIQIgBCARSgRAIAcgAioCACIYOAKYCCAHIBg4ApwIIAcgGDgClAggByAYOAKQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhGUEAIQACfyAXBEADQCAZIAUgAEECdGoqAgC7IAAgAWotAACzIAIqAgCTu6IgBSAAQQFyIgZBAnRqKgIAuyABIAZqLQAAsyACKgIEk7uioCAFIABBAnIiBkECdGoqAgC7IAEgBmotAACzIAIqAgiTu6KgIAUgAEEDciIGQQJ0aioCALsgASAGai0AALMgAioCDJO7oqCgIRkgAiAQaiECIABBBGoiACAMTA0ACyAVIQALIAAgBEgLBEADQCAZIAUgAEECdGoqAgC7IAAgAWotAACzIAIqAgCTu6KgIRkgAkEEaiECIABBAWoiACAERw0ACwsgCiAJQQJ0aiAZIAOitjgCACAJQQFqIgkgC0cNAAsgCiASQQJ0aiEKIA9BAWoiDyALRw0ACwsgBSATRg0AIAUQohsLIAdBoAhqJAALoAwCEH8FfCMAQaAIayILJAAgACgCMCEMIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCiAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgC0GICDYCFCALIAtBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAsgAjYCFCARIQcgAkGJCE8EQCALIAIQ1RoiBzYCEAsgBkEDdiESIARFDQEgBUEDdkEAIABBAUobIQYCQCAPBEAgBCEJDAELIAcgAUEDdGohCSABQQFOBEBBACECA0AgCSACQQV0IgBBGHJqIAQgAiAGbEEDdGorAwAiFDkDACAJIABBEHJqIBQ5AwAgCSAAQQhyaiAUOQMAIAAgCWogFDkDACACQQFqIgIgAUcNAAsLIAZBAEdBAnQhBiAJIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkEDdGogDSACIAxsIBBqai0AALggDiACIAZsQQN0aisDAKE5AwAgAkEBaiICIAFHDQALDAELQQAhAiAPDQADQCAHIAJBA3RqIA0gAiAMbCAQamotAAC4IAkgAiAGbCAQakEDdGorAwChOQMAIAJBAWoiAiABRw0ACwsgECIFIBNMBEADQAJAIA8EQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIAUgDWohAiAOIAkgBUEDdGogDhshAEEAIQREAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAEQQN0aisDACIUIAItAAO4IAArAxihoqAhGCAXIBQgAi0AArggACsDEKGioCEXIBYgFCACLQABuCAAKwMIoaKgIRYgFSAUIAItAAC4IAArAwChoqAhFSACIAxqIQIgACAGQQN0aiEAIARBAWoiBCABRw0ACwsgCiAFQQN0aiICIBUgA6I5AwAgAiAYIAOiOQMYIAIgFyADojkDECACIBYgA6I5AwggBUEEaiIFIBNMDQALCyAFIAhIBEADQAJAIA8EQEQAAAAAAAAAACEUDAELIAUgDWohAiAOIAkgBUEDdGogDhshAEEAIQREAAAAAAAAAAAhFANAIBQgByAEQQN0aisDACACLQAAuCAAKwMAoaKgIRQgAiAMaiECIAAgBkEDdGohACAEQQFqIgQgAUcNAAsLIAogBUEDdGogFCADojkDACAFQQFqIgUgCEcNAAsLIAogEkEDdGohCiAQQQFqIhAgCEcNAAsMAgtBqX4gC0GfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQVBACEGA0BBACECIAFBAEoEQANAIAcgAkEDdGogDSACIAxsIAZqai0AALg5AwAgAkEBaiICIAFHDQALCyAFIAYiBE4EQANAAkAgAUEBSARARAAAAAAAAAAAIRVEAAAAAAAAAAAhFkQAAAAAAAAAACEXRAAAAAAAAAAAIRgMAQsgBCANaiECQQAhAEQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFkQAAAAAAAAAACEVA0AgGCAHIABBA3RqKwMAIhQgAi0AA7iioCEYIBcgFCACLQACuKKgIRcgFiAUIAItAAG4oqAhFiAVIBQgAi0AALiioCEVIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIARBBGoiBCAFTA0ACwsgBCAISARAA0ACQCABQQFIBEBEAAAAAAAAAAAhFAwBCyAEIA1qIQJBACEARAAAAAAAAAAAIRQDQCAUIAcgAEEDdGorAwAgAi0AALiioCEUIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEEDdGogFCADojkDACAEQQFqIgQgCEcNAAsLIAogEkEDdGohCiAGQQFqIgYgCEcNAAsLIAcgEUcEQCAHEKIbCyALQaAIaiQAC50IAhN/AXwjAEGwCGsiByQAIAEoAjBBA3YhEiAAKAIwIQ0gASgCECEKIAAoAhAhDiAAKAIoIgAoAgAhCyAAKAIEIQQCQCACKAIQIghFBEAgC0EBSA0BIARBfHEhCSAEQQRrIQZBACEIIARBA0ohEANAIA4gCCANbGohASAIIQwDQCAOIAwgDWxqIQJBACEARAAAAAAAAAAAIRcCfyAQBEADQCAXIAAgAWotAAC4IAAgAmotAAC4oiABIABBAXIiBWotAAC4IAIgBWotAAC4oqAgASAAQQJyIgVqLQAAuCACIAVqLQAAuKKgIAEgAEEDciIFai0AALggAiAFai0AALiioKAhFyAAQQRqIgAgBkwNAAsgCSEACyAAIARICwRAA0AgFyAAIAFqLQAAuCAAIAJqLQAAuKKgIRcgAEEBaiIAIARHDQALCyAKIAxBA3RqIBcgA6I5AwAgDEEBaiIMIAtHDQALIAogEkEDdGohCiAIQQFqIgggC0cNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAEQQN0IgA2AgQgByAHQQhqIhM2AgAgEyEFIABBiQhPBEAgByAAENUaIgU2AgALIAtBAU4EQCAGQQN2QQAgAUEBShshFCAEQXxxIRUgBEEEayEMIARBAUghFiAEIBFGQQV0IRADQCAOIA0gD2xqIQIgCCAPIBRsQQN0aiEBAkAgBCARTARAQQAhACAEQQBMDQEDQCAFIABBA3QiBmogACACai0AALggASAGaisDAKE5AwAgAEEBaiIAIARHDQALDAELQQAhACAWDQADQCAFIABBA3RqIAAgAmotAAC4IAErAwChOQMAIABBAWoiACAERw0ACwsgDyEJA0AgCSANbCEAIAggCSAUbEEDdGohAiAEIBFKBEAgByACKwMAIhc5A6AIIAcgFzkDqAggByAXOQOYCCAHIBc5A5AIIAdBkAhqIQILIAAgDmohAUQAAAAAAAAAACEXQQAhAAJ/IARBA0oEQANAIBcgBSAAQQN0aisDACAAIAFqLQAAuCACKwMAoaIgBSAAQQFyIgZBA3RqKwMAIAEgBmotAAC4IAIrAwihoqAgBSAAQQJyIgZBA3RqKwMAIAEgBmotAAC4IAIrAxChoqAgBSAAQQNyIgZBA3RqKwMAIAEgBmotAAC4IAIrAxihoqCgIRcgAiAQaiECIABBBGoiACAMTA0ACyAVIQALIAAgBEgLBEADQCAXIAUgAEEDdGorAwAgACABai0AALggAisDAKGioCEXIAJBCGohAiAAQQFqIgAgBEcNAAsLIAogCUEDdGogFyADojkDACAJQQFqIgkgC0cNAAsgCiASQQN0aiEKIA9BAWoiDyALRw0ACwsgBSATRg0AIAUQohsLIAdBsAhqJAAL3QwDEH8BfQV8IwBBoAhrIgwkACAAKAIwIQkgASgCMCEGIAIoAjAhBSACKAIQIQQgASgCECELIAAoAhAhDSACKAIMIQcgACgCKCIAKAIEIQggACgCACEBIAIoAgghACAMQYgINgIUIAwgDEEYaiIRNgIQIAFBAnQhAgJAAkACQAJAIAcgCE4iDw0AIARFDQAgB0EBRw0BIAFBFGwhAgsgDCACNgIUIBEhByACQYkITwRAIAwgAhDVGiIHNgIQCyAGQQJ2IRIgCUEBdiEJIARFDQEgBUECdkEAIABBAUobIQYCQCAPBEAgBCEKDAELIAcgAUECdGohCiABQQFOBEBBACECA0AgCiACQQR0IgBBDHJqIAQgAiAGbEECdGoqAgAiFDgCACAKIABBCHJqIBQ4AgAgCiAAQQRyaiAUOAIAIAAgCmogFDgCACACQQFqIgIgAUcNAAsLIAZBAEdBAnQhBiAKIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkECdGogDSACIAlsIBBqQQF0ai8BALMgDiACIAZsQQJ0aioCAJM4AgAgAkEBaiICIAFHDQALDAELQQAhAiAPDQADQCAHIAJBAnRqIA0gAiAJbCAQakEBdGovAQCzIAogAiAGbCAQakECdGoqAgCTOAIAIAJBAWoiAiABRw0ACwsgECIFIBNMBEADQAJAIA8EQEQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGEQAAAAAAAAAACEZDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhGUQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFgNAIBkgByAEQQJ0aioCALsiFSACLwEGsyAAKgIMk7uioCEZIBggFSACLwEEsyAAKgIIk7uioCEYIBcgFSACLwECsyAAKgIEk7uioCEXIBYgFSACLwEAsyAAKgIAk7uioCEWIAAgBkECdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBUEEaiIFIBNMDQALCyAFIAhIBEADQAJAIA8EQEQAAAAAAAAAACEVDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhFQNAIBUgByAEQQJ0aioCALsgAi8BALMgACoCAJO7oqAhFSAAIAZBAnRqIQAgAiAJQQF0aiECIARBAWoiBCABRw0ACwsgCyAFQQJ0aiAVIAOitjgCACAFQQFqIgUgCEcNAAsLIAsgEkECdGohCyAQQQFqIhAgCEcNAAsMAgtBqX4gDEGfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQVBACEGA0BBACECIAFBAEoEQANAIAcgAkECdGogDSACIAlsIAZqQQF0ai8BALM4AgAgAkEBaiICIAFHDQALCyAFIAYiBE4EQANAAkAgAUEBSARARAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYRAAAAAAAAAAAIRkMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEZRAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWA0AgGSAHIABBAnRqKgIAuyIVIAIvAQa4oqAhGSAYIBUgAi8BBLiioCEYIBcgFSACLwECuKKgIRcgFiAVIAIvAQC4oqAhFiACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBEEEaiIEIAVMDQALCyAEIAhIBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhFQNAIBUgByAAQQJ0aioCALsgAi8BALiioCEVIAIgCUEBdGohAiAAQQFqIgAgAUcNAAsLIAsgBEECdGogFSADorY4AgAgBEEBaiIEIAhHDQALCyALIBJBAnRqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvVCAMTfwF9AXwjAEGgCGsiByQAIAEoAjBBAnYhEiAAKAIwQQF2IQ0gASgCECEKIAAoAhAhDiAAKAIoIgAoAgAhCyAAKAIEIQUCQCACKAIQIg9FBEAgC0EBSA0BIAVBfHEhDyAFQQRrIREgBUEDSiEIA0AgDiAJIA1sQQF0aiEBIAkhDANAIA4gDCANbEEBdGohAkEAIQBEAAAAAAAAAAAhGAJ/IAgEQANAIBggASAAQQF0IgRqLwEAuCACIARqLwEAuKIgASAEQQJyIgZqLwEAuCACIAZqLwEAuKKgIAEgBEEEciIGai8BALggAiAGai8BALiioCABIARBBnIiBGovAQC4IAIgBGovAQC4oqCgIRggAEEEaiIAIBFMDQALIA8hAAsgACAFSAsEQANAIBggASAAQQF0IgRqLwEAuCACIARqLwEAuKKgIRggAEEBaiIAIAVHDQALCyAKIAxBAnRqIBggA6K2OAIAIAxBAWoiDCALRw0ACyAKIBJBAnRqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUECdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkECdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFQQNKIRYgBSAJRkEEdCEMA0AgDyAQIBRsQQJ0aiECIA4gDSAQbEEBdGohAQJAIAUgCUwEQEEAIQAgBUEATA0BA0AgBCAAQQJ0IgZqIAEgAEEBdGovAQCzIAIgBmoqAgCTOAIAIABBAWoiACAFRw0ACwwBC0EAIQAgBUEBSA0AA0AgBCAAQQJ0aiABIABBAXRqLwEAsyACKgIAkzgCACAAQQFqIgAgBUcNAAsLIBAhCANAIA8gCCAUbEECdGohAiAIIA1sQQF0IQAgBSAJSgRAIAcgAioCACIXOAKYCCAHIBc4ApwIIAcgFzgClAggByAXOAKQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhGEEAIQACfyAWBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGovAQCzIAIqAgCTu6IgBCAAQQFyIgZBAnRqKgIAuyABIAZBAXRqLwEAsyACKgIEk7uioCAEIABBAnIiBkECdGoqAgC7IAEgBkEBdGovAQCzIAIqAgiTu6KgIAQgAEEDciIGQQJ0aioCALsgASAGQQF0ai8BALMgAioCDJO7oqCgIRggAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGovAQCzIAIqAgCTu6KgIRggAkEEaiECIABBAWoiACAFRw0ACwsgCiAIQQJ0aiAYIAOitjgCACAIQQFqIgggC0cNAAsgCiASQQJ0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBoAhqJAALyAwCEH8FfCMAQaAIayIMJAAgACgCMCEJIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCyAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgDEGICDYCFCAMIAxBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAwgAjYCFCARIQcgAkGJCE8EQCAMIAIQ1RoiBzYCEAsgBkEDdiESIAlBAXYhCSAERQ0BIAVBA3ZBACAAQQFKGyEGAkAgDwRAIAQhCgwBCyAHIAFBA3RqIQogAUEBTgRAQQAhAgNAIAogAkEFdCIAQRhyaiAEIAIgBmxBA3RqKwMAIhQ5AwAgCiAAQRByaiAUOQMAIAogAEEIcmogFDkDACAAIApqIBQ5AwAgAkEBaiICIAFHDQALCyAGQQBHQQJ0IQYgCiEOCyAIQQFIDQIgCEEEayETIAFBAUghDwNAAkAgDgRAQQAhAiABQQBMDQEDQCAHIAJBA3RqIA0gAiAJbCAQakEBdGovAQC4IA4gAiAGbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBAXRqLwEAuCAKIAIgBmwgEGpBA3RqKwMAoTkDACACQQFqIgIgAUcNAAsLIBAiBSATTARAA0ACQCAPBEBEAAAAAAAAAAAhFUQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWRAAAAAAAAAAAIRUDQCAYIAcgBEEDdGorAwAiFCACLwEGuCAAKwMYoaKgIRggFyAUIAIvAQS4IAArAxChoqAhFyAWIBQgAi8BArggACsDCKGioCEWIBUgFCACLwEAuCAAKwMAoaKgIRUgACAGQQN0aiEAIAIgCUEBdGohAiAEQQFqIgQgAUcNAAsLIAsgBUEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAVBBGoiBSATTA0ACwsgBSAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRQDQCAUIAcgBEEDdGorAwAgAi8BALggACsDAKGioCEUIAAgBkEDdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBA3RqIBQgA6I5AwAgBUEBaiIFIAhHDQALCyALIBJBA3RqIQsgEEEBaiIQIAhHDQALDAILQal+IAxBn4MCEIkDQa+DAkHR+gFBkRAQmAoACyAIQQFIDQAgCEEEayEFQQAhBgNAQQAhAiABQQBKBEADQCAHIAJBA3RqIA0gAiAJbCAGakEBdGovAQC4OQMAIAJBAWoiAiABRw0ACwsgBSAGIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIvAQa4oqAhGCAXIBQgAi8BBLiioCEXIBYgFCACLwECuKKgIRYgFSAUIAIvAQC4oqAhFSACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIgIgFSADojkDACACIBggA6I5AxggAiAXIAOiOQMQIAIgFiADojkDCCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRQMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEUA0AgFCAHIABBA3RqKwMAIAIvAQC4oqAhFCACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIBQgA6I5AwAgBEEBaiIEIAhHDQALCyALIBJBA3RqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvDCAISfwF8IwBBsAhrIgckACABKAIwQQN2IRIgACgCMEEBdiENIAEoAhAhCiAAKAIQIQ4gACgCKCIAKAIAIQsgACgCBCEFAkAgAigCECIPRQRAIAtBAUgNASAFQXxxIQ8gBUEEayERIAVBA0ohCANAIA4gCSANbEEBdGohASAJIQwDQCAOIAwgDWxBAXRqIQJBACEARAAAAAAAAAAAIRYCfyAIBEADQCAWIAEgAEEBdCIEai8BALggAiAEai8BALiiIAEgBEECciIGai8BALggAiAGai8BALiioCABIARBBHIiBmovAQC4IAIgBmovAQC4oqAgASAEQQZyIgRqLwEAuCACIARqLwEAuKKgoCEWIABBBGoiACARTA0ACyAPIQALIAAgBUgLBEADQCAWIAEgAEEBdCIEai8BALggAiAEai8BALiioCEWIABBAWoiACAFRw0ACwsgCiAMQQN0aiAWIAOiOQMAIAxBAWoiDCALRw0ACyAKIBJBA3RqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUEDdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkEDdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFIAlGQQV0IQwDQCAPIBAgFGxBA3RqIQIgDiANIBBsQQF0aiEBAkAgBSAJTARAQQAhACAFQQBMDQEDQCAEIABBA3QiBmogASAAQQF0ai8BALggAiAGaisDAKE5AwAgAEEBaiIAIAVHDQALDAELQQAhACAFQQFIDQADQCAEIABBA3RqIAEgAEEBdGovAQC4IAIrAwChOQMAIABBAWoiACAFRw0ACwsgECEIA0AgDyAIIBRsQQN0aiECIAggDWxBAXQhACAFIAlKBEAgByACKwMAIhY5A6AIIAcgFjkDqAggByAWOQOYCCAHIBY5A5AIIAdBkAhqIQILIAAgDmohAUQAAAAAAAAAACEWQQAhAAJ/IAVBA0oEQANAIBYgBCAAQQN0aisDACABIABBAXRqLwEAuCACKwMAoaIgBCAAQQFyIgZBA3RqKwMAIAEgBkEBdGovAQC4IAIrAwihoqAgBCAAQQJyIgZBA3RqKwMAIAEgBkEBdGovAQC4IAIrAxChoqAgBCAAQQNyIgZBA3RqKwMAIAEgBkEBdGovAQC4IAIrAxihoqCgIRYgAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAWIAQgAEEDdGorAwAgASAAQQF0ai8BALggAisDAKGioCEWIAJBCGohAiAAQQFqIgAgBUcNAAsLIAogCEEDdGogFiADojkDACAIQQFqIgggC0cNAAsgCiASQQN0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBsAhqJAAL3QwDEH8BfQV8IwBBoAhrIgwkACAAKAIwIQkgASgCMCEGIAIoAjAhBSACKAIQIQQgASgCECELIAAoAhAhDSACKAIMIQcgACgCKCIAKAIEIQggACgCACEBIAIoAgghACAMQYgINgIUIAwgDEEYaiIRNgIQIAFBAnQhAgJAAkACQAJAIAcgCE4iDw0AIARFDQAgB0EBRw0BIAFBFGwhAgsgDCACNgIUIBEhByACQYkITwRAIAwgAhDVGiIHNgIQCyAGQQJ2IRIgCUEBdiEJIARFDQEgBUECdkEAIABBAUobIQYCQCAPBEAgBCEKDAELIAcgAUECdGohCiABQQFOBEBBACECA0AgCiACQQR0IgBBDHJqIAQgAiAGbEECdGoqAgAiFDgCACAKIABBCHJqIBQ4AgAgCiAAQQRyaiAUOAIAIAAgCmogFDgCACACQQFqIgIgAUcNAAsLIAZBAEdBAnQhBiAKIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkECdGogDSACIAlsIBBqQQF0ai4BALIgDiACIAZsQQJ0aioCAJM4AgAgAkEBaiICIAFHDQALDAELQQAhAiAPDQADQCAHIAJBAnRqIA0gAiAJbCAQakEBdGouAQCyIAogAiAGbCAQakECdGoqAgCTOAIAIAJBAWoiAiABRw0ACwsgECIFIBNMBEADQAJAIA8EQEQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGEQAAAAAAAAAACEZDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhGUQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFgNAIBkgByAEQQJ0aioCALsiFSACLgEGsiAAKgIMk7uioCEZIBggFSACLgEEsiAAKgIIk7uioCEYIBcgFSACLgECsiAAKgIEk7uioCEXIBYgFSACLgEAsiAAKgIAk7uioCEWIAAgBkECdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBUEEaiIFIBNMDQALCyAFIAhIBEADQAJAIA8EQEQAAAAAAAAAACEVDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhFQNAIBUgByAEQQJ0aioCALsgAi4BALIgACoCAJO7oqAhFSAAIAZBAnRqIQAgAiAJQQF0aiECIARBAWoiBCABRw0ACwsgCyAFQQJ0aiAVIAOitjgCACAFQQFqIgUgCEcNAAsLIAsgEkECdGohCyAQQQFqIhAgCEcNAAsMAgtBqX4gDEGfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQVBACEGA0BBACECIAFBAEoEQANAIAcgAkECdGogDSACIAlsIAZqQQF0ai4BALI4AgAgAkEBaiICIAFHDQALCyAFIAYiBE4EQANAAkAgAUEBSARARAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYRAAAAAAAAAAAIRkMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEZRAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWA0AgGSAHIABBAnRqKgIAuyIVIAIuAQa3oqAhGSAYIBUgAi4BBLeioCEYIBcgFSACLgECt6KgIRcgFiAVIAIuAQC3oqAhFiACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBEEEaiIEIAVMDQALCyAEIAhIBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhFQNAIBUgByAAQQJ0aioCALsgAi4BALeioCEVIAIgCUEBdGohAiAAQQFqIgAgAUcNAAsLIAsgBEECdGogFSADorY4AgAgBEEBaiIEIAhHDQALCyALIBJBAnRqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvVCAMTfwF9AXwjAEGgCGsiByQAIAEoAjBBAnYhEiAAKAIwQQF2IQ0gASgCECEKIAAoAhAhDiAAKAIoIgAoAgAhCyAAKAIEIQUCQCACKAIQIg9FBEAgC0EBSA0BIAVBfHEhDyAFQQRrIREgBUEDSiEIA0AgDiAJIA1sQQF0aiEBIAkhDANAIA4gDCANbEEBdGohAkEAIQBEAAAAAAAAAAAhGAJ/IAgEQANAIBggASAAQQF0IgRqLgEAtyACIARqLgEAt6IgASAEQQJyIgZqLgEAtyACIAZqLgEAt6KgIAEgBEEEciIGai4BALcgAiAGai4BALeioCABIARBBnIiBGouAQC3IAIgBGouAQC3oqCgIRggAEEEaiIAIBFMDQALIA8hAAsgACAFSAsEQANAIBggASAAQQF0IgRqLgEAtyACIARqLgEAt6KgIRggAEEBaiIAIAVHDQALCyAKIAxBAnRqIBggA6K2OAIAIAxBAWoiDCALRw0ACyAKIBJBAnRqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUECdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkECdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFQQNKIRYgBSAJRkEEdCEMA0AgDyAQIBRsQQJ0aiECIA4gDSAQbEEBdGohAQJAIAUgCUwEQEEAIQAgBUEATA0BA0AgBCAAQQJ0IgZqIAEgAEEBdGouAQCyIAIgBmoqAgCTOAIAIABBAWoiACAFRw0ACwwBC0EAIQAgBUEBSA0AA0AgBCAAQQJ0aiABIABBAXRqLgEAsiACKgIAkzgCACAAQQFqIgAgBUcNAAsLIBAhCANAIA8gCCAUbEECdGohAiAIIA1sQQF0IQAgBSAJSgRAIAcgAioCACIXOAKYCCAHIBc4ApwIIAcgFzgClAggByAXOAKQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhGEEAIQACfyAWBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGouAQCyIAIqAgCTu6IgBCAAQQFyIgZBAnRqKgIAuyABIAZBAXRqLgEAsiACKgIEk7uioCAEIABBAnIiBkECdGoqAgC7IAEgBkEBdGouAQCyIAIqAgiTu6KgIAQgAEEDciIGQQJ0aioCALsgASAGQQF0ai4BALIgAioCDJO7oqCgIRggAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGouAQCyIAIqAgCTu6KgIRggAkEEaiECIABBAWoiACAFRw0ACwsgCiAIQQJ0aiAYIAOitjgCACAIQQFqIgggC0cNAAsgCiASQQJ0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBoAhqJAALyAwCEH8FfCMAQaAIayIMJAAgACgCMCEJIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCyAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgDEGICDYCFCAMIAxBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAwgAjYCFCARIQcgAkGJCE8EQCAMIAIQ1RoiBzYCEAsgBkEDdiESIAlBAXYhCSAERQ0BIAVBA3ZBACAAQQFKGyEGAkAgDwRAIAQhCgwBCyAHIAFBA3RqIQogAUEBTgRAQQAhAgNAIAogAkEFdCIAQRhyaiAEIAIgBmxBA3RqKwMAIhQ5AwAgCiAAQRByaiAUOQMAIAogAEEIcmogFDkDACAAIApqIBQ5AwAgAkEBaiICIAFHDQALCyAGQQBHQQJ0IQYgCiEOCyAIQQFIDQIgCEEEayETIAFBAUghDwNAAkAgDgRAQQAhAiABQQBMDQEDQCAHIAJBA3RqIA0gAiAJbCAQakEBdGouAQC3IA4gAiAGbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBAXRqLgEAtyAKIAIgBmwgEGpBA3RqKwMAoTkDACACQQFqIgIgAUcNAAsLIBAiBSATTARAA0ACQCAPBEBEAAAAAAAAAAAhFUQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWRAAAAAAAAAAAIRUDQCAYIAcgBEEDdGorAwAiFCACLgEGtyAAKwMYoaKgIRggFyAUIAIuAQS3IAArAxChoqAhFyAWIBQgAi4BArcgACsDCKGioCEWIBUgFCACLgEAtyAAKwMAoaKgIRUgACAGQQN0aiEAIAIgCUEBdGohAiAEQQFqIgQgAUcNAAsLIAsgBUEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAVBBGoiBSATTA0ACwsgBSAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRQDQCAUIAcgBEEDdGorAwAgAi4BALcgACsDAKGioCEUIAAgBkEDdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBA3RqIBQgA6I5AwAgBUEBaiIFIAhHDQALCyALIBJBA3RqIQsgEEEBaiIQIAhHDQALDAILQal+IAxBn4MCEIkDQa+DAkHR+gFBkRAQmAoACyAIQQFIDQAgCEEEayEFQQAhBgNAQQAhAiABQQBKBEADQCAHIAJBA3RqIA0gAiAJbCAGakEBdGouAQC3OQMAIAJBAWoiAiABRw0ACwsgBSAGIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIuAQa3oqAhGCAXIBQgAi4BBLeioCEXIBYgFCACLgECt6KgIRYgFSAUIAIuAQC3oqAhFSACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIgIgFSADojkDACACIBggA6I5AxggAiAXIAOiOQMQIAIgFiADojkDCCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRQMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEUA0AgFCAHIABBA3RqKwMAIAIuAQC3oqAhFCACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIBQgA6I5AwAgBEEBaiIEIAhHDQALCyALIBJBA3RqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvDCAISfwF8IwBBsAhrIgckACABKAIwQQN2IRIgACgCMEEBdiENIAEoAhAhCiAAKAIQIQ4gACgCKCIAKAIAIQsgACgCBCEFAkAgAigCECIPRQRAIAtBAUgNASAFQXxxIQ8gBUEEayERIAVBA0ohCANAIA4gCSANbEEBdGohASAJIQwDQCAOIAwgDWxBAXRqIQJBACEARAAAAAAAAAAAIRYCfyAIBEADQCAWIAEgAEEBdCIEai4BALcgAiAEai4BALeiIAEgBEECciIGai4BALcgAiAGai4BALeioCABIARBBHIiBmouAQC3IAIgBmouAQC3oqAgASAEQQZyIgRqLgEAtyACIARqLgEAt6KgoCEWIABBBGoiACARTA0ACyAPIQALIAAgBUgLBEADQCAWIAEgAEEBdCIEai4BALcgAiAEai4BALeioCEWIABBAWoiACAFRw0ACwsgCiAMQQN0aiAWIAOiOQMAIAxBAWoiDCALRw0ACyAKIBJBA3RqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUEDdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkEDdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFIAlGQQV0IQwDQCAPIBAgFGxBA3RqIQIgDiANIBBsQQF0aiEBAkAgBSAJTARAQQAhACAFQQBMDQEDQCAEIABBA3QiBmogASAAQQF0ai4BALcgAiAGaisDAKE5AwAgAEEBaiIAIAVHDQALDAELQQAhACAFQQFIDQADQCAEIABBA3RqIAEgAEEBdGouAQC3IAIrAwChOQMAIABBAWoiACAFRw0ACwsgECEIA0AgDyAIIBRsQQN0aiECIAggDWxBAXQhACAFIAlKBEAgByACKwMAIhY5A6AIIAcgFjkDqAggByAWOQOYCCAHIBY5A5AIIAdBkAhqIQILIAAgDmohAUQAAAAAAAAAACEWQQAhAAJ/IAVBA0oEQANAIBYgBCAAQQN0aisDACABIABBAXRqLgEAtyACKwMAoaIgBCAAQQFyIgZBA3RqKwMAIAEgBkEBdGouAQC3IAIrAwihoqAgBCAAQQJyIgZBA3RqKwMAIAEgBkEBdGouAQC3IAIrAxChoqAgBCAAQQNyIgZBA3RqKwMAIAEgBkEBdGouAQC3IAIrAxihoqCgIRYgAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAWIAQgAEEDdGorAwAgASAAQQF0ai4BALcgAisDAKGioCEWIAJBCGohAiAAQQFqIgAgBUcNAAsLIAogCEEDdGogFiADojkDACAIQQFqIgggC0cNAAsgCiASQQN0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBsAhqJAAL0wwDEH8BfQV8IwBBoAhrIgwkACAAKAIwIQkgASgCMCEFIAIoAjAhBiACKAIQIQQgASgCECELIAAoAhAhDSACKAIMIQcgACgCKCIAKAIEIQggACgCACEBIAIoAgghACAMQYgINgIUIAwgDEEYaiIRNgIQIAFBAnQhAgJAAkACQAJAIAcgCE4iDw0AIARFDQAgB0EBRw0BIAFBFGwhAgsgDCACNgIUIBEhByACQYkITwRAIAwgAhDVGiIHNgIQCyAFQQJ2IRIgCUECdiEJIARFDQEgBkECdkEAIABBAUobIQUCQCAPBEAgBCEKDAELIAcgAUECdGohCiABQQFOBEBBACECA0AgCiACQQR0IgBBDHJqIAQgAiAFbEECdGoqAgAiFDgCACAKIABBCHJqIBQ4AgAgCiAAQQRyaiAUOAIAIAAgCmogFDgCACACQQFqIgIgAUcNAAsLIAVBAEdBAnQhBSAKIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkECdGogDSACIAlsIBBqQQJ0aioCACAOIAIgBWxBAnRqKgIAkzgCACACQQFqIgIgAUcNAAsMAQtBACECIA8NAANAIAcgAkECdGogDSACIAlsIBBqQQJ0aioCACAKIAIgBWwgEGpBAnRqKgIAkzgCACACQQFqIgIgAUcNAAsLIBAiBiATTARAA0ACQCAPBEBEAAAAAAAAAAAhFkQAAAAAAAAAACEXRAAAAAAAAAAAIRhEAAAAAAAAAAAhGQwBCyANIAZBAnQiAGohAiAOIAAgCmogDhshAEEAIQREAAAAAAAAAAAhGUQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFgNAIBkgByAEQQJ0aioCALsiFSACKgIMIAAqAgyTu6KgIRkgGCAVIAIqAgggACoCCJO7oqAhGCAXIBUgAioCBCAAKgIEk7uioCEXIBYgFSACKgIAIAAqAgCTu6KgIRYgACAFQQJ0aiEAIAIgCUECdGohAiAEQQFqIgQgAUcNAAsLIAsgBkECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAGQQRqIgYgE0wNAAsLIAYgCEgEQANAAkAgDwRARAAAAAAAAAAAIRUMAQsgDSAGQQJ0IgBqIQIgDiAAIApqIA4bIQBBACEERAAAAAAAAAAAIRUDQCAVIAcgBEECdGoqAgC7IAIqAgAgACoCAJO7oqAhFSAAIAVBAnRqIQAgAiAJQQJ0aiECIARBAWoiBCABRw0ACwsgCyAGQQJ0aiAVIAOitjgCACAGQQFqIgYgCEcNAAsLIAsgEkECdGohCyAQQQFqIhAgCEcNAAsMAgtBqX4gDEGfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQZBACEFA0BBACECIAFBAEoEQANAIAcgAkECdGogDSACIAlsIAVqQQJ0aioCADgCACACQQFqIgIgAUcNAAsLIAYgBSIETgRAA0ACQCABQQFIBEBEAAAAAAAAAAAhFkQAAAAAAAAAACEXRAAAAAAAAAAAIRhEAAAAAAAAAAAhGQwBCyANIARBAnRqIQJBACEARAAAAAAAAAAAIRlEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRYDQCAZIAcgAEECdGoqAgC7IhUgAioCDLuioCEZIBggFSACKgIIu6KgIRggFyAVIAIqAgS7oqAhFyAWIBUgAioCALuioCEWIAIgCUECdGohAiAAQQFqIgAgAUcNAAsLIAsgBEECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAEQQRqIgQgBkwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRUMAQsgDSAEQQJ0aiECQQAhAEQAAAAAAAAAACEVA0AgFSAHIABBAnRqKgIAuyACKgIAu6KgIRUgAiAJQQJ0aiECIABBAWoiACABRw0ACwsgCyAEQQJ0aiAVIAOitjgCACAEQQFqIgQgCEcNAAsLIAsgEkECdGohCyAFQQFqIgUgCEcNAAsLIAcgEUcEQCAHEKIbCyAMQaAIaiQAC74IAxV/AX0BfCMAQaAIayIHJAAgASgCMEECdiETIAAoAjBBAnYhDiABKAIQIQogACgCECEPIAAoAigiACgCACELIAAoAgQhBQJAIAIoAhAiCEUEQCALQQFIDQEgBUF8cSEJIAVBBGshDUEAIQggBUEDSiERA0AgDyAIIA5sQQJ0aiEBIAghDANAIA8gDCAObEECdGohAkEAIQBEAAAAAAAAAAAhGgJ/IBEEQANAIBogASAAQQJ0IgRqKgIAuyACIARqKgIAu6IgASAEQQRyIgZqKgIAuyACIAZqKgIAu6KgIAEgBEEIciIGaioCALsgAiAGaioCALuioCABIARBDHIiBGoqAgC7IAIgBGoqAgC7oqCgIRogAEEEaiIAIA1MDQALIAkhAAsgACAFSAsEQANAIBogASAAQQJ0IgRqKgIAuyACIARqKgIAu6KgIRogAEEBaiIAIAVHDQALCyAKIAxBAnRqIBogA6K2OAIAIAxBAWoiDCALRw0ACyAKIBNBAnRqIQogCEEBaiIIIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCESIAcgBUECdCIANgIEIAcgB0EIaiIUNgIAIBQhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkECdkEAIAFBAUobIRUgBUF8cSEWIAVBBGshDCAFQQFIIRcgBUEDSiEYIAUgEkZBBHQhEQNAIAggECAVbEECdGohASAPIA4gEGxBAnRqIQYCQCAFIBJMBEBBACEAIAVBAEwNAQNAIAQgAEECdCICaiACIAZqKgIAIAEgAmoqAgCTOAIAIABBAWoiACAFRw0ACwwBC0EAIQAgFw0AA0AgBCAAQQJ0IgJqIAIgBmoqAgAgASoCAJM4AgAgAEEBaiIAIAVHDQALCyAQIQkDQCAIIAkgFWxBAnRqIQAgCSAObEECdCECIAUgEkoEQCAHIAAqAgAiGTgCmAggByAZOAKcCCAHIBk4ApQIIAcgGTgCkAggB0GQCGohAAsgAiAPaiEBRAAAAAAAAAAAIRpBACECAn8gGARAA0AgGiAEIAJBAnQiBmoqAgC7IAEgBmoqAgAgACoCAJO7oiAEIAZBBHIiDWoqAgC7IAEgDWoqAgAgACoCBJO7oqAgBCAGQQhyIg1qKgIAuyABIA1qKgIAIAAqAgiTu6KgIAQgBkEMciIGaioCALsgASAGaioCACAAKgIMk7uioKAhGiAAIBFqIQAgAkEEaiICIAxMDQALIBYhAgsgAiAFSAsEQANAIBogBCACQQJ0IgZqKgIAuyABIAZqKgIAIAAqAgCTu6KgIRogAEEEaiEAIAJBAWoiAiAFRw0ACwsgCiAJQQJ0aiAaIAOitjgCACAJQQFqIgkgC0cNAAsgCiATQQJ0aiEKIBBBAWoiECALRw0ACwsgBCAURg0AIAQQohsLIAdBoAhqJAALyAwCEH8FfCMAQaAIayIMJAAgACgCMCEJIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCyAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgDEGICDYCFCAMIAxBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAwgAjYCFCARIQcgAkGJCE8EQCAMIAIQ1RoiBzYCEAsgBkEDdiESIAlBAnYhCSAERQ0BIAVBA3ZBACAAQQFKGyEGAkAgDwRAIAQhCgwBCyAHIAFBA3RqIQogAUEBTgRAQQAhAgNAIAogAkEFdCIAQRhyaiAEIAIgBmxBA3RqKwMAIhQ5AwAgCiAAQRByaiAUOQMAIAogAEEIcmogFDkDACAAIApqIBQ5AwAgAkEBaiICIAFHDQALCyAGQQBHQQJ0IQYgCiEOCyAIQQFIDQIgCEEEayETIAFBAUghDwNAAkAgDgRAQQAhAiABQQBMDQEDQCAHIAJBA3RqIA0gAiAJbCAQakECdGoqAgC7IA4gAiAGbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBAnRqKgIAuyAKIAIgBmwgEGpBA3RqKwMAoTkDACACQQFqIgIgAUcNAAsLIBAiBSATTARAA0ACQCAPBEBEAAAAAAAAAAAhFUQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGAwBCyANIAVBAnRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWRAAAAAAAAAAAIRUDQCAYIAcgBEEDdGorAwAiFCACKgIMuyAAKwMYoaKgIRggFyAUIAIqAgi7IAArAxChoqAhFyAWIBQgAioCBLsgACsDCKGioCEWIBUgFCACKgIAuyAAKwMAoaKgIRUgACAGQQN0aiEAIAIgCUECdGohAiAEQQFqIgQgAUcNAAsLIAsgBUEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAVBBGoiBSATTA0ACwsgBSAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAVBAnRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRQDQCAUIAcgBEEDdGorAwAgAioCALsgACsDAKGioCEUIAAgBkEDdGohACACIAlBAnRqIQIgBEEBaiIEIAFHDQALCyALIAVBA3RqIBQgA6I5AwAgBUEBaiIFIAhHDQALCyALIBJBA3RqIQsgEEEBaiIQIAhHDQALDAILQal+IAxBn4MCEIkDQa+DAkHR+gFBkRAQmAoACyAIQQFIDQAgCEEEayEFQQAhBgNAQQAhAiABQQBKBEADQCAHIAJBA3RqIA0gAiAJbCAGakECdGoqAgC7OQMAIAJBAWoiAiABRw0ACwsgBSAGIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEECdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIqAgy7oqAhGCAXIBQgAioCCLuioCEXIBYgFCACKgIEu6KgIRYgFSAUIAIqAgC7oqAhFSACIAlBAnRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIgIgFSADojkDACACIBggA6I5AxggAiAXIAOiOQMQIAIgFiADojkDCCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRQMAQsgDSAEQQJ0aiECQQAhAEQAAAAAAAAAACEUA0AgFCAHIABBA3RqKwMAIAIqAgC7oqAhFCACIAlBAnRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIBQgA6I5AwAgBEEBaiIEIAhHDQALCyALIBJBA3RqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvHCAITfwF8IwBBsAhrIgckACABKAIwQQN2IRIgACgCMEECdiENIAEoAhAhCiAAKAIQIQ4gACgCKCIAKAIAIQsgACgCBCEFAkAgAigCECIPRQRAIAtBAUgNASAFQXxxIQ8gBUEEayERIAVBA0ohCANAIA4gCSANbEECdGohASAJIQwDQCAOIAwgDWxBAnRqIQJBACEARAAAAAAAAAAAIRcCfyAIBEADQCAXIAEgAEECdCIEaioCALsgAiAEaioCALuiIAEgBEEEciIGaioCALsgAiAGaioCALuioCABIARBCHIiBmoqAgC7IAIgBmoqAgC7oqAgASAEQQxyIgRqKgIAuyACIARqKgIAu6KgoCEXIABBBGoiACARTA0ACyAPIQALIAAgBUgLBEADQCAXIAEgAEECdCIEaioCALsgAiAEaioCALuioCEXIABBAWoiACAFRw0ACwsgCiAMQQN0aiAXIAOiOQMAIAxBAWoiDCALRw0ACyAKIBJBA3RqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUEDdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkEDdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFQQFIIRYgBSAJRkEFdCEMA0AgDyAQIBRsQQN0aiECIA4gDSAQbEECdGohAQJAIAUgCUwEQEEAIQAgBUEATA0BA0AgBCAAQQN0IgZqIAEgAEECdGoqAgC7IAIgBmorAwChOQMAIABBAWoiACAFRw0ACwwBC0EAIQAgFg0AA0AgBCAAQQN0aiABIABBAnRqKgIAuyACKwMAoTkDACAAQQFqIgAgBUcNAAsLIBAhCANAIA8gCCAUbEEDdGohAiAIIA1sQQJ0IQAgBSAJSgRAIAcgAisDACIXOQOgCCAHIBc5A6gIIAcgFzkDmAggByAXOQOQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhF0EAIQACfyAFQQNKBEADQCAXIAQgAEEDdGorAwAgASAAQQJ0aioCALsgAisDAKGiIAQgAEEBciIGQQN0aisDACABIAZBAnRqKgIAuyACKwMIoaKgIAQgAEECciIGQQN0aisDACABIAZBAnRqKgIAuyACKwMQoaKgIAQgAEEDciIGQQN0aisDACABIAZBAnRqKgIAuyACKwMYoaKgoCEXIAIgDGohAiAAQQRqIgAgEUwNAAsgFSEACyAAIAVICwRAA0AgFyAEIABBA3RqKwMAIAEgAEECdGoqAgC7IAIrAwChoqAhFyACQQhqIQIgAEEBaiIAIAVHDQALCyAKIAhBA3RqIBcgA6I5AwAgCEEBaiIIIAtHDQALIAogEkEDdGohCiAQQQFqIhAgC0cNAAsLIAQgE0YNACAEEKIbCyAHQbAIaiQAC7kMAhB/BXwjAEGgCGsiDCQAIAAoAjAhCSABKAIwIQUgAigCMCEGIAIoAhAhBCABKAIQIQsgACgCECENIAIoAgwhByAAKAIoIgAoAgQhCCAAKAIAIQEgAigCCCEAIAxBiAg2AhQgDCAMQRhqIhE2AhAgAUEDdCECAkACQAJAAkAgByAITiIPDQAgBEUNACAHQQFHDQEgAUEobCECCyAMIAI2AhQgESEHIAJBiQhPBEAgDCACENUaIgc2AhALIAVBA3YhEiAJQQN2IQkgBEUNASAGQQN2QQAgAEEBShshBQJAIA8EQCAEIQoMAQsgByABQQN0aiEKIAFBAU4EQEEAIQIDQCAKIAJBBXQiAEEYcmogBCACIAVsQQN0aisDACIUOQMAIAogAEEQcmogFDkDACAKIABBCHJqIBQ5AwAgACAKaiAUOQMAIAJBAWoiAiABRw0ACwsgBUEAR0ECdCEFIAohDgsgCEEBSA0CIAhBBGshEyABQQFIIQ8DQAJAIA4EQEEAIQIgAUEATA0BA0AgByACQQN0aiANIAIgCWwgEGpBA3RqKwMAIA4gAiAFbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBA3RqKwMAIAogAiAFbCAQakEDdGorAwChOQMAIAJBAWoiAiABRw0ACwsgECIGIBNMBEADQAJAIA8EQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBkEDdCIAaiECIA4gACAKaiAOGyEAQQAhBEQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFkQAAAAAAAAAACEVA0AgGCAHIARBA3RqKwMAIhQgAisDGCAAKwMYoaKgIRggFyAUIAIrAxAgACsDEKGioCEXIBYgFCACKwMIIAArAwihoqAhFiAVIBQgAisDACAAKwMAoaKgIRUgACAFQQN0aiEAIAIgCUEDdGohAiAEQQFqIgQgAUcNAAsLIAsgBkEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAZBBGoiBiATTA0ACwsgBiAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAZBA3QiAGohAiAOIAAgCmogDhshAEEAIQREAAAAAAAAAAAhFANAIBQgByAEQQN0aisDACACKwMAIAArAwChoqAhFCAAIAVBA3RqIQAgAiAJQQN0aiECIARBAWoiBCABRw0ACwsgCyAGQQN0aiAUIAOiOQMAIAZBAWoiBiAIRw0ACwsgCyASQQN0aiELIBBBAWoiECAIRw0ACwwCC0GpfiAMQZ+DAhCJA0GvgwJB0foBQZEQEJgKAAsgCEEBSA0AIAhBBGshBkEAIQUDQEEAIQIgAUEASgRAA0AgByACQQN0aiANIAIgCWwgBWpBA3RqKwMAOQMAIAJBAWoiAiABRw0ACwsgBiAFIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEEDdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIrAxiioCEYIBcgFCACKwMQoqAhFyAWIBQgAisDCKKgIRYgFSAUIAIrAwCioCEVIAIgCUEDdGohAiAAQQFqIgAgAUcNAAsLIAsgBEEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIARBBGoiBCAGTA0ACwsgBCAISARAA0ACQCABQQFIBEBEAAAAAAAAAAAhFAwBCyANIARBA3RqIQJBACEARAAAAAAAAAAAIRQDQCAUIAcgAEEDdGorAwAgAisDAKKgIRQgAiAJQQN0aiECIABBAWoiACABRw0ACwsgCyAEQQN0aiAUIAOiOQMAIARBAWoiBCAIRw0ACwsgCyASQQN0aiELIAVBAWoiBSAIRw0ACwsgByARRwRAIAcQohsLIAxBoAhqJAALmggCFH8BfCMAQbAIayIHJAAgASgCMEEDdiESIAAoAjBBA3YhDSABKAIQIQkgACgCECEOIAAoAigiACgCACEKIAAoAgQhBQJAIAIoAhAiE0UEQCAKQQFIDQEgBUF8cSEQIAVBBGshDANAIA4gCCANbEEDdGohASAIIQsDQCAOIAsgDWxBA3RqIQJBACEARAAAAAAAAAAAIRgCfyAFQQNKBEADQCAYIAEgAEEDdCIEaisDACACIARqKwMAoiABIARBCHIiBmorAwAgAiAGaisDAKKgIAEgBEEQciIGaisDACACIAZqKwMAoqAgASAEQRhyIgRqKwMAIAIgBGorAwCioKAhGCAAQQRqIgAgDEwNAAsgECEACyAAIAVICwRAA0AgGCABIABBA3QiBGorAwAgAiAEaisDAKKgIRggAEEBaiIAIAVHDQALCyAJIAtBA3RqIBggA6I5AwAgC0EBaiILIApHDQALIAkgEkEDdGohCSAIQQFqIgggCkcNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAFQQN0IgA2AgQgByAHQQhqIhQ2AgAgFCEEIABBiQhPBEAgByAAENUaIgQ2AgALIApBAU4EQCAGQQN2QQAgAUEBShshFSAFQXxxIRYgBUEEayELIAVBAUghFyAFIBFGQQV0IRADQCATIA8gFWxBA3RqIQEgDiANIA9sQQN0aiEGAkAgBSARTARAQQAhACAFQQBMDQEDQCAEIABBA3QiAmogAiAGaisDACABIAJqKwMAoTkDACAAQQFqIgAgBUcNAAsMAQtBACEAIBcNAANAIAQgAEEDdCICaiACIAZqKwMAIAErAwChOQMAIABBAWoiACAFRw0ACwsgDyEIA0AgEyAIIBVsQQN0aiEAIAggDWxBA3QhAiAFIBFKBEAgByAAKwMAIhg5A6AIIAcgGDkDqAggByAYOQOYCCAHIBg5A5AIIAdBkAhqIQALIAIgDmohAUQAAAAAAAAAACEYQQAhAgJ/IAVBA0oEQANAIBggBCACQQN0IgZqKwMAIAEgBmorAwAgACsDAKGiIAQgBkEIciIMaisDACABIAxqKwMAIAArAwihoqAgBCAGQRByIgxqKwMAIAEgDGorAwAgACsDEKGioCAEIAZBGHIiBmorAwAgASAGaisDACAAKwMYoaKgoCEYIAAgEGohACACQQRqIgIgC0wNAAsgFiECCyACIAVICwRAA0AgGCAEIAJBA3QiBmorAwAgASAGaisDACAAKwMAoaKgIRggAEEIaiEAIAJBAWoiAiAFRw0ACwsgCSAIQQN0aiAYIAOiOQMAIAhBAWoiCCAKRw0ACyAJIBJBA3RqIQkgD0EBaiIPIApHDQALCyAEIBRGDQAgBBCiGwsgB0GwCGokAAvMAQIDfwF8An8gAkEETgRAIAJBBGshBQNAIAYgACADai0AALggASADai0AALiiIAAgA0EBciIEai0AALggASAEai0AALiioCAAIANBAnIiBGotAAC4IAEgBGotAAC4oqAgACADQQNyIgRqLQAAuCABIARqLQAAuKKgoCEGIANBBGoiAyAFTA0ACyACQXxxIQMLIAIgA0oLBEADQCAGIAAgA2otAAC4IAEgA2otAAC4oqAhBiADQQFqIgMgAkcNAAsLIAZEAAAAAAAAAACgC8wBAgN/AXwCfyACQQROBEAgAkEEayEFA0AgBiAAIANqLAAAtyABIANqLAAAt6IgACADQQFyIgRqLAAAtyABIARqLAAAt6KgIAAgA0ECciIEaiwAALcgASAEaiwAALeioCAAIANBA3IiBGosAAC3IAEgBGosAAC3oqCgIQYgA0EEaiIDIAVMDQALIAJBfHEhAwsgAiADSgsEQANAIAYgACADaiwAALcgASADaiwAALeioCEGIANBAWoiAyACRw0ACwsgBkQAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai8BALggASAEai8BALiiIAAgBEECciIFai8BALggASAFai8BALiioCAAIARBBHIiBWovAQC4IAEgBWovAQC4oqAgACAEQQZyIgRqLwEAuCABIARqLwEAuKKgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai8BALggASAEai8BALiioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeiIAAgBEECciIFai4BALcgASAFai4BALeioCAAIARBBHIiBWouAQC3IAEgBWouAQC3oqAgACAEQQZyIgRqLgEAtyABIARqLgEAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKALzAECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeiIAAgBEEEciIFaigCALcgASAFaigCALeioCAAIARBCHIiBWooAgC3IAEgBWooAgC3oqAgACAEQQxyIgRqKAIAtyABIARqKAIAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeioCEHIANBAWoiAyACRw0ACwsgBwvWAQIEfwF8An8gAkEETgRAIAJBBGshBgNAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6IgACAEQQRyIgVqKgIAuyABIAVqKgIAu6KgIAAgBEEIciIFaioCALsgASAFaioCALuioCAAIARBDHIiBGoqAgC7IAEgBGoqAgC7oqCgIQcgA0EEaiIDIAZMDQALIAJBfHEhAwsgAiADSgsEQANAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6KgIQcgA0EBaiIDIAJHDQALCyAHRAAAAAAAAAAAoAvqCgEEfyMAQdACayIHJAACQCAAEMwHQYCABEYEQCAHQZgCaiAAKAIEEK0GGgwBCyAHQZgCaiAAEMkHCwJAIAEQzAdBgIAERgRAIAdB4AFqIAEoAgQQrQYaDAEL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QQJ0akEANgIAIAFBAWoiASAAKAI0SA0ACwsgCyAAKAJcIgFHBEAgARDuAwsgAEH4AGohAQJAIAAoAowBIghFDQAgCCAIKAIMIglBAWs2AgwgCUEBRw0AIAAoAowBIglFDQAgAEEANgKMAQJAIAkoAgQiCA0AIAAoAogBIggNABCgBiEICyAIIAkgCCgCACgCGBECAAsgAEEANgKMASABQgA3AgggAUIANwIAIAAoAmxBAU4EQCAAKAKQASEIQQAhAQNAIAggAUECdGpBADYCACABQQFqIgEgACgCbEgNAAsLIAAoApQBIgEgBUYNACABEO4DCyAAQaACaiQADwtBqX4gAEHoAGpBvoMCEIkDQYGEAkHggwJBwAAQmAoAC9cHAQR/IwBBoAJrIgAkAAJAAkAgAUUNACACRQ0AIAIoAhAhCiABKAIQIQsgA0EBTgRAIANBAmshDUEAIQEDQCAEIAFBAnQiAmooAgAiCUF/TA0DIAlFDQIgBQRAQQEhDCALIAEgDUwEfyACIAZqKAIABSAMCyACIAVqKAIAbGohCwsgBwRAQQEhDCAKIAEgDUwEfyACIAhqKAIABSAMCyACIAdqKAIAbGohCgsgAEGgAWogAmogCTYCACABQQFqIgEgA0cNAAsLIABB/ABqIgFCADcCACAAQgA3AnRBACECIABBADYCjAEgAEIANwKEASAAQZgBaiIFQgA3AwAgASALNgIAIABCADcCbCAAQYCA/JcENgJoIAAgBTYClAEgACAAQfAAajYCkAEgACALNgJ4IABB6ABqIAMgAEGgAWogBkEBEJ4GIABB6ABqEJ8GIABBxABqIgFCADcCACAAQgA3AjwgAEEANgJUIABCADcCTCAAQeAAaiIHQgA3AwAgASAKNgIAIABCADcCNCAAIAc2AlwgACAAQThqNgJYIABBgID8lwQ2AjAgACAKNgJAIABBMGogAyAAQaABaiAIQQEQngYgAEEwahCfBiAAIABBMGo2AiwgACAAQegAajYCKCAAIABBKGogAEEgakECEKwHIgEoAhAEQCABKAIUIQkDQCAAKAIkIAAoAiAgCRCuGxogARCtByACQQFqIgIgASgCEEkNAAsLIABBQGshAQJAIAAoAlQiAkUNACACIAIoAgwiCUEBazYCDCAJQQFHDQAgACgCVCIJRQ0AIABBADYCVAJAIAkoAgQiAg0AIAAoAlAiAg0AEKAGIQILIAIgCSACKAIAKAIYEQIACyAAQQA2AlQgAUIANwIIIAFCADcCACAAKAI0QQFOBEAgACgCWCECQQAhAQNAIAIgAUECdGpBADYCACABQQFqIgEgACgCNEgNAAsLIAcgACgCXCIBRwRAIAEQ7gMLIABB+ABqIQECQCAAKAKMASICRQ0AIAIgAigCDCIJQQFrNgIMIAlBAUcNACAAKAKMASIJRQ0AIABBADYCjAECQCAJKAIEIgINACAAKAKIASICDQAQoAYhAgsgAiAJIAIoAgAoAhgRAgALIABBADYCjAEgAUIANwIIIAFCADcCACAAKAJsQQFOBEAgACgCkAEhAkEAIQEDQCACIAFBAnRqQQA2AgAgAUEBaiIBIAAoAmxIDQALCyAAKAKUASIBIAVGDQAgARDuAwsgAEGgAmokAA8LQal+IABB6ABqQb6DAhCJA0GIhAJB4IMCQeEAEJgKAAsxAAJAQZjWCi0AAEEBcQ0AQZjWChD9GkUNAEGU1gpBkJUCNgIAQZjWChCBGwtBlNYKC5wBAQR/AkAgACgCACIDQQRrKAIAIgAgASgCACIBQQRrKAIARw0AIABBAkcEQEEBIQIgAEEBSA0BQQAhAiADKAIAIAEoAgBHDQFBASEEA0AgACAEIgJHBEAgAkEBaiEEIAMgAkECdCIFaigCACABIAVqKAIARg0BCwsgACACTA8LIAMoAgAgASgCAEcNACADKAIEIAEoAgRGIQILIAIL0wECBH8BfgJAIAFBAUgNAANAIAIgBEECdGooAgBBAUoNASAEQQFqIgQgAUcNAAsgASEECyAEIAFBAWsiBSAEIAVIGyEGIAIgBCAFIAEgBEobQQJ0ajQCACAAQQN2Qf8DcUEBaq1+IQgDQAJAIAQgBSIBTgRAIAYhAQwBCyAIIAIgAUECdCIFaigCACIHrH4hCCADIAVqKAIAIAdsIAMgAUEBayIFQQJ0aigCAE8NAQsLIABB//9+cSAIQoCAgIAIfEKAgICAEFRBDnRBACABIARMG3IL8gECCH8BfiAAKAIoIQQgACgCACEFAkAgACgCBCICQQFIDQADQCAEIAFBAnRqKAIAQQFKDQEgAUEBaiIBIAJHDQALIAIhAQsgACgCLCEGIAEgAkEBayIDIAEgA0gbIQcgBCABIAMgASACSBtBAnRqNAIAIAVBA3ZB/wNxQQFqrX4hCQNAAkAgASADIgJOBEAgByECDAELIAkgBCACQQJ0IgNqKAIAIgisfiEJIAMgBmooAgAgCGwgBiACQQFrIgNBAnRqKAIATw0BCwsgACAFQf//fnEgCUKAgICACHxCgICAgBBUQQ50QQAgASACThtyNgIAC1EBAX8gAEIANwIEIABBgID8lwQ2AgAgAEIANwIMIABCADcCFCAAQgA3AhwgAEEANgIkIABBMGoiAUIANwIAIAAgATYCLCAAIABBCGo2AiggAAuBAQECfyMAQRBrIgQkACAAQgA3AgQgAEGAgPyXBDYCACAAQgA3AgwgAEIANwIUIABCADcCHCAAQQA2AiQgAEEwaiIFQgA3AgAgACAFNgIsIAAgAEEIajYCKCAEIAI2AgwgBCABNgIIIABBAiAEQQhqIANB/x9xEKkGIARBEGokACAAC+AGAQV/IwBBkAFrIgUkAAJAAkACQAJAAkACQAJAAkACQAJAIAFBIEsNACACRQ0AIANB/x9xIQggACgCEEUNBAJAIAEgACgCBCIDRwRAIAFBAUcNBiADQQNODQYgCCAAKAIAQf8fcUcNAQwDCyAIIAAoAgBB/x9xRw0FIAFBAkYEQCAAKAIIIAIoAgBHDQMgACgCDCACKAIERw0DDAoLIAFBAU4NAkEAIQMMAwsgAEEoaiEHIAAoAiggAkcNBwwFC0GpfiAFQRBqQfiGAhCJA0GchwJB4IMCQZoFEJgKAAsgACgCKCEHQQAhAwNAIAcgA0ECdCIEaigCACACIARqKAIARw0BIANBAWoiAyABRw0ACwwBCyABIANHDQELIAFBAUoNBCAAKAIoKAIEQQFGDQQLIABBKGohByAAKAIoIAJHDQIgAUEBSA0BCyAFQRBqIAIgAUECdBCuGxoLIAVBEGohAgsgAEEQaiEDAkAgACgCJCIERQ0AIAQgBCgCDCIGQQFrNgIMIAZBAUcNACAAKAIkIgRFDQAgAEEANgIkAkAgBCgCBCIGDQAgACgCICIGDQAQoAYhBgsgBiAEIAYoAgAoAhgRAgALIABBADYCJCADQgA3AgggA0IANwIAIAAoAgRBAU4EQCAHKAIAIQRBACEDA0AgBCADQQJ0akEANgIAIANBAWoiAyAAKAIESA0ACwsgAUUNACAAIAhBgID8lwRyNgIAQQAhAyAAIAEgAkEAQQEQngYCQCAAKAIEIgFBA04EQCAHKAIAIQJBASEEA0AgAiADQQJ0aigCACAEbCEEIANBAWoiAyABRw0ACwwBCyAAKAIMIAAoAghsIQQLAkACQCAEBEAgACAAKAIgIgMQoAYgAxsiAyAAKAIEIAAoAiggCEEAIAAoAixBgICAGEEAIAMoAgAoAggREgAiAzYCJCADRQ0EIAAoAiwgACgCBEECdGpBBGsoAgBBkcSQwgIgACgCACIEQQJ0QRxxdkEPcSAEQQN2Qf8DcUEBamxGDQFBqX4gBUGqhwIQiQNBnIcCQeCDAkHLBRCYCgALIAAoAiQiA0UNAQsgAyADKAIMQQFqNgIMCyAAEJ8GCyAFQZABaiQADwtBqX4gBUGjhwIQiQNBnIcCQeCDAkHCBRCYCgALcQEBfyMAQRBrIgQkACADQf8fcSEDAkACQCAAKAIEQQJKDQAgACgCCCABRw0AIAAoAgwgAkcNACAAKAIAQf8fcSADRw0AIAAoAhANAQsgBCACNgIMIAQgATYCCCAAQQIgBEEIaiADEKkGCyAEQRBqJAALiQEBAn8jAEEQayIFJAAgAEIANwIEIABBgID8lwQ2AgAgAEIANwIMIABCADcCFCAAQgA3AhwgAEEANgIkIABBMGoiBkIANwIAIAAgBjYCLCAAIABBCGo2AiggBSACNgIMIAUgATYCCCAAQQIgBUEIaiADQf8fcRCpBiAAIAQQmAQaIAVBEGokACAAC4ABAQJ/IwBBEGsiAyQAIABCADcCBCAAQYCA/JcENgIAIABCADcCDCAAQgA3AhQgAEIANwIcIABBADYCJCAAQTBqIgRCADcCACAAIAQ2AiwgACAAQQhqNgIoIAMgASkCAEIgiTcCCCAAQQIgA0EIaiACQf8fcRCpBiADQRBqJAAgAAvCAgEFfyAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcIAAgASgCIDYCICABKAIkIQIgAEEwaiIDQgA3AgAgACADNgIsIAAgAEEIajYCKCAAIAI2AiQgAgRAIAIgAigCDEEBajYCDAsgASgCBEECTARAIAAoAiwiAiABKAIsIgEoAgA2AgAgAiABKAIENgIEIAAPC0EAIQIgAEEANgIEIAAgASgCBEEAQQBBABCeBiAAKAIEQQFOBEAgACgCLCEDIAEoAiwhBCAAKAIoIQUgASgCKCEGA0AgBSACQQJ0IgFqIAEgBmooAgA2AgAgASADaiABIARqKAIANgIAIAJBAWoiAiAAKAIESA0ACwsgAAuCBAIHfwF+IwBBEGsiByQAIABCADcCGCAAIAQ2AhQgACAENgIQIAAgAjYCDCAAIAE2AgggAEECNgIEIABCADcCICAAIABBMGoiBjYCLCAAIABBCGoiCDYCKCAGQgA3AgAgACADQf8fcUGAgPyXBHIiCTYCAAJAAkBBACABIAJsIAQbRQRAQZHEkMICIANBAnRBHHF2QQ9xIgogA0EDdkH/A3FBAWoiC2wiDCACbCIGIQMgBQRAIAUgBkkNAiAFIgMgCnANAwsgACAMNgI0IAAgAzYCMCAAIAQgASADbGoiBDYCHCAAIAQgA2sgBmo2AhhBACEDAn8gAUEBTARAQQEhA0ECIAJBAkgNARoLIAggAUECSEECdGooAgAhAiADCyIFQQBHIQYgAqwgC61+IQ1BASEBIABBMGohAwNAAkAgBSABIgJPBEAgBiECDAELIA0gCCACQQJ0IgFqKAIAIgSsfiENIAEgA2ooAgAgBGwgAyACQQFrIgFBAnRqKAIATw0BCwsgACANQoCAgIAIfEKAgICAEFRBDnRBACACIAVMGyAJcjYCACAHQRBqJAAgAA8LQal+IAdBq4UCEIkDQciFAkHggwJBrAMQmAoAC0GpfiAHQcyFAhCJA0HIhQJB4IMCQbYDEJgKAAtBcyAHQd2FAhCJA0HIhQJB4IMCQbkDEJgKAAtNAQN/IAAoAgQiAkEDTgRAIAAoAighA0EAIQBBASEBA0AgAyAAQQJ0aigCACABbCEBIABBAWoiACACRw0ACyABDwsgACgCDCAAKAIIbAuABAIIfwF+IwBBEGsiByQAIABBAjYCBCAAIAJB/x9xQYCA/JcEciIJNgIAIAAgASgCBCIGNgIIIAEoAgAhASAAQgA3AhggACADNgIUIAAgAzYCECAAIAE2AgwgAEIANwIgIAAgAEEwaiIFNgIsIAAgAEEIaiIINgIoIAVCADcCAAJAAkAgA0VBACABIAZsG0UEQCABQZHEkMICIAJBAnRBHHF2QQ9xIgogAkEDdkH/A3FBAWoiC2wiDGwiBSECIAQEQCAEIAVJDQIgBCICIApwDQMLIAAgDDYCNCAAIAI2AjAgACADIAIgBmxqIgM2AhwgACADIAJrIAVqNgIYQQAhAwJ/IAZBAUwEQEEBIQNBAiABQQJIDQEaCyAIIAZBAkhBAnRqKAIAIQEgAwsiBEEARyEFIAGsIAutfiENQQEhAyAAQTBqIQIDQAJAIAQgAyIBTwRAIAUhAQwBCyANIAggAUECdCIDaigCACIGrH4hDSACIANqKAIAIAZsIAIgAUEBayIDQQJ0aigCAE8NAQsLIAAgDUKAgICACHxCgICAgBBUQQ50QQAgASAETBsgCXI2AgAgB0EQaiQAIAAPC0GpfiAHQauFAhCJA0HIhQJB4IMCQcgDEJgKAAsgBCAFQYCGAhDWAwALQXMgB0HdhQIQiQNByIUCQeCDAkHWAxCYCgALwgEBAn8CQCAAKAIkIgFFDQAgASABKAIMIgJBAWs2AgwgAkEBRw0AIAAoAiQiAUUNACAAQQA2AiQCQCABKAIEIgINACAAKAIgIgINABCgBiECCyACIAEgAigCACgCGBECAAsgAEIANwIQIABBADYCJCAAQgA3AhggACgCBEEBTgRAIAAoAighAkEAIQEDQCACIAFBAnRqQQA2AgAgAUEBaiIBIAAoAgRIDQALCyAAKAIsIgEgAEEwakcEQCABEO4DCyAAC6sBAQJ/AkAgACgCJCIBRQ0AIAEgASgCDCICQQFrNgIMIAJBAUcNACAAKAIkIgFFDQAgAEEANgIkAkAgASgCBCICDQAgACgCICICDQAQoAYhAgsgAiABIAIoAgAoAhgRAgALIABCADcCECAAQQA2AiQgAEIANwIYIAAoAgRBAU4EQCAAKAIoIQJBACEBA0AgAiABQQJ0akEANgIAIAFBAWoiASAAKAIESA0ACwsL7AMBBn8gACABRwRAIAEoAiQiAgRAIAIgAigCDEEBajYCDAsCQCAAKAIkIgJFDQAgAiACKAIMIgNBAWs2AgwgA0EBRw0AIAAoAiQiAkUNACAAQQA2AiQCQCACKAIEIgMNACAAKAIgIgMNABCgBiEDCyADIAIgAygCACgCGBECAAsgAEIANwIQIABBADYCJCAAQgA3AhgCQAJAAkAgACgCBEEATARAIAAgASgCADYCAAwBCyAAKAIoIQNBACECA0AgAyACQQJ0akEANgIAIAJBAWoiAiAAKAIEIgRIDQALIAAgASgCADYCACAEQQNIDQAgASgCBCECDAELIAEoAgQiAkECSg0AIAAgAjYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAoAiwiAiABKAIsIgMoAgA2AgAgAiADKAIENgIEDAELQQAhAyAAIAJBAEEAQQAQngYgACgCBEEBSA0AIAAoAiwhBCABKAIsIQUgACgCKCEGIAEoAighBwNAIAYgA0ECdCICaiACIAdqKAIANgIAIAIgBGogAiAFaigCADYCACADQQFqIgMgACgCBEgNAAsLIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkCwt+AQJ/IwBBEGsiAiQAIABCADcCBCAAQYCA/JcENgIAIABCADcCDCAAQgA3AhQgAEIANwIcIABBADYCJCAAQTBqIgNCADcCACAAIAM2AiwgACAAQQhqNgIoIAIgADYCBCACQYCAhBA2AgAgAkIANwMIIAEgAhCWBCACQRBqJAALfwECfyMAQRBrIgMkACACQf8fcSEEIAEoAgAhAiABKAIEIQECQAJAIAAoAgRBAkoNACAAKAIIIAFHDQAgACgCDCACRw0AIAAoAgBB/x9xIARHDQAgACgCEA0BCyADIAI2AgwgAyABNgIIIABBAiADQQhqIAQQqQYLIANBEGokAAsmACAAKAIsIAFBAnRqKAIAQZHEkMICIAAoAgBBAnRBHHF2QQ9xbgtlAQN/AkACQCAAKAIQBEAgACgCBCICQQNIDQEgACgCKCEDQQAhAEEBIQEDQCADIABBAnRqKAIAIAFsIQEgAEEBaiIAIAJHDQALDAILQQEPCyAAKAIMIAAoAghsIQELIAJFIAFFcgvGAgEDfyMAQRBrIgQkACAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcIAAgASgCIDYCICABKAIkIQIgACAAQTBqIgM2AiwgACAAQQhqNgIoIAAgAjYCJCADQgA3AgAgASgCLCECAkACQCABKAIEQQJMBEAgACACKAIANgIwIAAgAigCBDYCNAwBCyACIAFBMGoiA0YNASAAIAI2AiwgACABKAIoNgIoIAEgAUEIajYCKCABIAM2AiwLIAFBgID8lwQ2AgAgAUEEaiIBQQA2AiAgAUIANwIYIAFCADcCECABQgA3AgggAUIANwIAIARBEGokACAADwtBqX4gBEHXhgIQiQNByIUCQeCDAkHmBBCYCgALhQQBA38jAEEQayIEJAACQCAAIAFHBEACQCAAKAIkIgJFDQAgAiACKAIMIgNBAWs2AgwgA0EBRw0AIAAoAiQiAkUNACAAQQA2AiQCQCACKAIEIgMNACAAKAIgIgMNABCgBiEDCyADIAIgAygCACgCGBECAAsgAEIANwIQIABBADYCJCAAQgA3AhggACgCBEEBTgRAIAAoAighA0EAIQIDQCADIAJBAnRqQQA2AgAgAkEBaiICIAAoAgRIDQALCyAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcIAAgASgCIDYCICAAIAEoAiQ2AiQCQCAAKAIsIgMgAEEwaiICRgRAIAMhAgwBCyADEO4DIAAgAEEIajYCKCAAIAI2AiwLIAEoAiwhAwJAIAEoAgRBAkwEQCACIAMoAgA2AgAgAiADKAIENgIEDAELIAMgAUEwaiICRg0CIAAgAzYCLCAAIAEoAig2AiggASABQQhqNgIoIAEgAjYCLAsgAUGAgPyXBDYCACABQQRqIgJBADYCICACQgA3AhggAkIANwIQIAJCADcCCCACQgA3AgALIARBEGokACAADwtBqX4gBEHXhgIQiQNB7oYCQeCDAkGJBRCYCgAL3QoCBn8BfiMAQYAJayIFJAAgAEIANwIEIABBgID8lwQ2AgAgAEIANwIMIABCADcCFCAAQgA3AhwgAEEANgIkIAAgAEEwaiIENgIsIAAgAEEIaiIGNgIoIARCADcCAAJAAkAgASgCBCIEQQFKBEACQCAEQQJHBEAgBSAFQUBrQQBBwAgQrxsiBjYCOAJAIARBiAFNBEAgBSAENgI8IAYhBAwBCyAFIAQ2AjwgBUF/IARBA3QiByAEQf////8BcSAERxsQ1RoiBEEAIAcQrxs2AjgLIAQgAikCADcCACADKQIAIQogBEKAgICA+P////8ANwIQIAQgCjcCCEEDIQQgASgCBEEDSgRAA0AgBSgCOCAEQQN0akKAgICA+P////8ANwIAIARBAWoiBCABKAIESA0ACwsgACAFIAEgBSgCOBC7BiIBELkGGgJAIAEoAiQiBEUNACAEIAQoAgwiAkEBazYCDCACQQFHDQAgASgCJCICRQ0AIAFBADYCJAJAIAIoAgQiBA0AIAEoAiAiBA0AEKAGIQQLIAQgAiAEKAIAKAIYEQIACyABQgA3AhAgAUEANgIkIAFCADcCGCABKAIEQQFOBEAgASgCKCECQQAhBANAIAIgBEECdGpBADYCACAEQQFqIgQgASgCBEgNAAsLIAEoAiwiBCABQTBqRwRAIAQQ7gMLIAUoAjgiBCAGRg0BIARFDQEgBBCiGwwBCyAAIAEQswYgAigCBCEEAkAgAigCACICQYCAgIB4RkEAIARB/////wdGGw0AIAJFBEAgBCAGKAIARg0BCyACQQBIDQMgAiAESg0DIAQgASgCCEoNAyAAIAQgAms2AgggACAAKAIAQYCAAnI2AgAgACAAKAIQIAAoAjAgAmxqNgIQCwJAIAMoAgAiAkGAgICAeEZBACADKAIEIgRB/////wdGGw0AIAJFBEAgBCAAKAIMRg0BCyACQQBIDQQgAiAESg0EIAQgASgCDEoNBCAAIAQgAms2AgwgACAAKAIQAn9BACAAKAIEIgRBAUgNABogACgCLCAEQQJ0akEEaygCAAsgAmxqNgIQIAAgACgCAEGAgAJyNgIACyAAKAIoIQcgACgCACEIQQAhBAJAIAAoAgQiAUEBSA0AA0AgByAEQQJ0aigCAEEBSg0BIARBAWoiBCABRw0ACyABIQQLIAAoAiwhAyAEIAFBAWsiAiACIARKGyEJIAcgBCACIAEgBEobQQJ0ajQCACAIQQN2Qf8DcUEBaq1+IQoDQAJAIAQgAiIBTgRAIAkhAQwBCyAKIAcgAUECdCICaigCACIGrH4hCiACIANqKAIAIAZsIAMgAUEBayICQQJ0aigCAE8NAQsLIAAgCEH//35xIApCgICAgAh8QoCAgIAQVEEOdEEAIAEgBEwbcjYCACAAKAIIQQFOBEAgACgCDEEASg0BCyAAQRBqIQIgAEEEaiEDAkAgACgCJCIERQ0AIAQgBCgCDCIBQQFrNgIMIAFBAUcNACAAKAIkIgRFDQAgAEEANgIkAkAgBCgCBCIBDQAgACgCICIBDQAQoAYhAQsgASAEIAEoAgAoAhgRAgALIABBADYCJCACQgA3AgggAkIANwIAIAAoAgRBAU4EQCAAKAIoIQFBACEEA0AgASAEQQJ0akEANgIAIARBAWoiBCADKAIASA0ACwsgAEIANwIICyAFQYAJaiQAIAAPC0GpfiAFQThqQdaHAhCJA0HIhQJB4IMCQe8FEJgKAAtBqX4gBUE4akHihwIQiQNByIUCQeCDAkGBBhCYCgALQal+IAVBOGpBtogCEIkDQciFAkHggwJBigYQmAoAC74FAgd/AX4jAEEQayIIJAAgAEIANwIEIABBgID8lwQ2AgAgAEIANwIMIABCADcCFCAAQgA3AhwgAEEANgIkIAAgAEEwaiIDNgIsIAAgAEEIajYCKCADQgA3AgACQAJAIAIEQCABKAIEIgdBAEoNASAAIAEQswYMAgtBqX4gCEGTigIQiQNByIUCQeCDAkHXBhCYCgALIAEoAighBkEAIQMCQANAAkAgAiADQQN0aikCACIKQiCIpyEEIAqnIgVBgICAgHhGQQAgBEH/////B0YbRQRAIAVBAEgNASAEIAVMDQEgBiADQQJ0aigCACAESA0BCyAHIANBAWoiA0cNAQwCCwtBqX4gCEGaigIQiQNByIUCQeCDAkHbBhCYCgALIAAgARCzBkEAIQMgB0EATA0AA0AgAiADQQN0aikCACIKQiCIpyEEAkAgCqciBUGAgICAeEZBACAEQf////8HRhsNACADQQJ0IgEgACgCKGohBiAFRQRAIAYoAgAgBEYNAQsgBiAEIAVrNgIAIAAoAiwgAWooAgAhBCAAIAAoAgBBgIACcjYCACAAIAAoAhAgBCAFbGo2AhALIANBAWoiAyAHRw0ACwsgACgCKCEGIAAoAgAhAUEAIQMCQCAAKAIEIgRBAUgNAANAIAYgA0ECdGooAgBBAUoNASADQQFqIgMgBEcNAAsgBCEDCyAAKAIsIQIgAyAEQQFrIgUgAyAFSBshCSAGIAMgBSADIARIG0ECdGo0AgAgAUEDdkH/A3FBAWqtfiEKA0ACQCADIAUiBE4EQCAJIQQMAQsgCiAGIARBAnQiBWooAgAiB6x+IQogAiAFaigCACAHbCACIARBAWsiBUECdGooAgBPDQELCyAAIAFB//9+cSAKQoCAgIAIfEKAgICAEFRBDnRBACADIAROG3I2AgAgCEEQaiQAIAALxwYCC38BfiMAQRBrIggkACABKAIAIQQgAEECNgIEIAAgBDYCACAAIAIoAgwiCTYCCCAAIAIoAggiBjYCDCAAIAEoAhAgASgCLCgCACACKAIEbGoiBTYCECAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCAAIAEoAiA2AiAgASgCJCEHIAAgAEEwaiIDNgIsIAAgAEEIaiIKNgIoIAAgBzYCJCADQgA3AgACQCABKAIEQQNIBEAgAEEQaiIMIAUgAigCACIDIARBA3ZB/wNxQQFqQZHEkMICIARBAnRBHHF2QQ9xbCILbGo2AgAgAyACKAIIIgVyQQBIDQEgASgCDCINIAMgBWpIDQEgAigCDCIDIAIoAgQiAnJBAEgNASACIANqIAEoAggiAkoNASAFIA1OQQAgAiADTBtFBEAgACAEQYCAAnIiBDYCAAsgASgCLCgCACEBIAAgCzYCNCAAIAE2AjBBACEBAn8gCUEBTARAQQEhAUECIAZBAkgNARoLIAogCUECSEECdGooAgAhBiABCyIFQQBHIQtBASECIAasIARBA3ZB/wNxQQFqrX4hDiAAQTBqIQYDQAJAIAUgAiIBTwRAIAshAQwBCyAOIAogAUECdCICaigCACIDrH4hDiACIAZqKAIAIANsIAYgAUEBayICQQJ0aigCAE8NAQsLIAAgBEH//35xIA5CgICAgAh8QoCAgIAQVEEOdEEAIAEgBUwbcjYCAAJAIAcEfyAHIAcoAgxBAWo2AgwgCigCAAUgCQtBAU4EQCAAKAIMQQBKDQELIABCADcCCAJAIAAoAiQiAUUNACABIAEoAgwiAkEBazYCDCACQQFHDQAgACgCJCIBRQ0AIABBADYCJAJAIAEoAgQiAg0AIAAoAiAiAg0AEKAGIQILIAIgASACKAIAKAIYEQIACyAAQQA2AiQgDEIANwIIIAxCADcCACAAKAIEQQFIDQAgACgCKCECQQAhAQNAIAIgAUECdGpBADYCACABQQFqIgEgACgCBEgNAAsLIAhBEGokACAADwtBqX4gCEGKiQIQiQNByIUCQeCDAkGmBhCYCgALQal+IAhBlokCEIkDQciFAkHggwJBqwYQmAoAC30BAn8gAEEUaiIGQgA3AgAgAEIANwIMIABCADcCBCAAQQA2AiQgAEIANwIcIAAgAEEwaiIHNgIsIAAgAEEIajYCKCAHQgA3AgAgBiAENgIAIAAgBDYCECAAIANB/x9xQYCA/JcEcjYCACAAIAEgAiAFQQEQngYgABCfBiAAC5IEAgh/AX4jAEEQayIHJAAgASgCBEEDSARAIAAgARCtBiEDIAEoAgQiAEEBTgRAIAEoAiwgAEECdGpBBGsoAgAhBAsCfyACQQBOBEAgASgCCCIAIAEoAgwgAmsiBSAAIAVIGyEAIAMoAhAgAiAEbGoMAQsgASgCDCIAIAEoAgggAmoiBSAAIAVIGyEAIAMoAhAgASgCLCgCACACbGsLIQIgAyAANgIIIAMgAjYCECADKAIoIgYgADYCACADQQE2AgwgBkEBNgIEQQAhAiADKAIsIgUgBSgCACAEQQAgAEEBShtqNgIAIAMoAgAhCAJAIAMoAgQiAEEBSA0AA0AgBiACQQJ0aigCAEEBSg0BIAJBAWoiAiAARw0ACyAAIQILIAIgAEEBayIEIAIgBEgbIQkgBiACIAQgACACShtBAnRqNAIAIAhBA3ZB/wNxQQFqrX4hCwNAAkAgAiAEIgBOBEAgCSEADAELIAsgBiAAQQJ0IgRqKAIAIgqsfiELIAQgBWooAgAgCmwgBSAAQQFrIgRBAnRqKAIATw0BCwsgAyAIQf//fnEgC0KAgICACHxCgICAgBBUQQ50QQAgACACTBtyIgA2AgACQCABKAIoIgIoAgRBAUYEQCACKAIAQQFGDQELIAMgAEGAgAJyNgIACyAHQRBqJAAPC0GpfiAHQeeKAhCJA0HxigJB4IMCQYgHEJgKAAv1AQEHfyMAQRBrIgkkAAJAIAAoAgQiA0ECSg0AIAAoAiwiBigCACIIRQ0AIANBAU4EQCADQQJ0IAZqQQRrKAIAIQULIAAoAhggACgCFCIHayEGQQAhAyAAKAIQIAdrIgcEQCAHIAcgCG4iBCAIbGsgBW4hAwsgAiADNgIAIAIgBDYCBCABIAAoAgggBGoiAiAGIAAoAgwgA2oiBCAFbGsgCG5BAWoiAyACIANKGyIDNgIEIAEgBCAGIAAoAjAgA0EBa2xrIAVuIgAgACAESBs2AgAgCUEQaiQADwtBqX4gCUH2igIQiQNBj4sCQeCDAkHNCBCYCgAL6gQCB38BfiMAQSBrIggkAAJAIAAoAgQiBUECSg0AIAAoAiwiBygCAEUNACAIQgA3AxAgCEIANwMIIAVBAU4EQCAFQQJ0IAdqQQRrKAIAIQoLIAAgCEEQaiAIQQhqEL8GIAgoAhQhBSAIKAIMIQcgACAIKAIQIgYgCCgCCCILIANrIgNBACADQQBKGyIDIAMgBkobIgMgBiAAKAIMIAQgC2pqIgQgBCAGShsiBkEAIAZBAEobIgYgAyAGSiIEGyAGIAMgBBsiA2s2AgwgACAFIAcgAWsiBkEAIAZBAEobIgYgBSAGSBsiBiAFIAAoAgggAiAHamoiASABIAVKGyIFQQAgBUEAShsiBSAFIAZIIgEbIAUgBiABGyIFayIGNgIIIAAgACgCECADIAtrIApsIAAoAjAgBSAHa2xqajYCECAAKAIoIgMgBjYCACADIAAoAgw2AgQgACgCACEKAkAgACgCBCIFQQFIDQAgBkEBSg0AA0AgBSAJQQFqIglGBEAgBSEJDAILIAMgCUECdGooAgBBAkgNAAsLIAAoAiwhBiAJIAVBAWsiByAHIAlKGyEBIAMgCSAHIAUgCUobQQJ0ajQCACAKQQN2Qf8DcUEBaq1+IQwDQAJAIAkgByIFTgRAIAEhBQwBCyAMIAMgBUECdCIHaigCACILrH4hDCAGIAdqKAIAIAtsIAYgBUEBayIHQQJ0aigCAE8NAQsLIAAgCkH//35xIAxCgICAgAh8QoCAgIAQVEEOdEEAIAUgCUwbcjYCACAIQSBqJAAPC0GpfiAIQRBqQfaKAhCJA0GZiwJB4IMCQeIIEJgKAAuwCwEGfyMAQdAAayIJJAAgASgCAEEDdkH/A3FBAWohBSAJQQhqIAEQrQYhBAJAAkACQAJAAkACQAJAAn8gASgCBCIHQQNOBEACQAJAIAJFDQAgAw0AIAdBAWtBAnQiBiABKAIoaigCACAFbCACbw0BIAQgAkEDdEEIayIBIAQoAgAiCEGHYHFyNgIAIAQoAiwiByAGaiABQQN2Qf8DcUEBakGRxJDCAiAIQQJ0QRxxdkEPcWw2AgAgBCgCKCIBIAZqIgYgBigCACAFbCACbTYCACAAIAQoAgA2AgAgACAEKAIEIgU2AgQgACAEKAIINgIIIAAgBCgCDDYCDCAAIAQoAhA2AhAgACAEKAIUNgIUIAAgBCgCGDYCGCAAIAQoAhw2AhwgACAEKAIgNgIgIAQoAiQhBiAAIABBMGoiCDYCLCAAIABBCGo2AiggACAGNgIkIAhCADcCAAJAIAVBAkwEQCAAIAcoAgA2AjAgACAHKAIENgI0DAELIAcgBEEwaiIFRg0GIAAgATYCKCAAIAc2AiwgBCAEQQhqNgIoIAQgBTYCLAsgBEGAgPyXBDYCACAEQQRqDAMLIANBAUgNACAJIAM2AkAgASgCKCEIQQAhBUEBIQYDQCAIIAVBAnRqKAIAIAZsIQYgBUEBaiIFIAdHDQALIAkgBiADbjYCRCAAIAEgAkECIAlBQGsQwgYgBCgCJCIFRQ0DIAUgBSgCDCIGQQFrNgIMIAZBAUcNAyAEKAIkIgZFDQMgBEEANgIkAkAgBigCBCIFDQAgBCgCICIFDQAQoAYhBQsgBSAGIAUoAgAoAhgRAgAMAwtBqX4gCUFAa0HnigIQiQNBo4sCQeCDAkGJCRCYCgALAkACQAJAAkAgAiAFIAIbIgYgASgCDCAFbCIFTARAIAUgBm8hByADDQIgBw0BDAILIAMNAgsgASgCCCAFbCAGbSEDCyADRQ0BCyADIAEoAggiB0YNACABKAIAIghBgIABcUUNBCADIAUgB2wiB0sNBSAHIANtIgUgA2wgB0cNBiAEIAM2AgggBCgCLCAFQZHEkMICIAhBAnRBHHF2QQ9xbDYCAAsgBSAGbSIHIAZsIAVHDQYgBCAHNgIMIAQgBkEDdEEIayIGIAQoAgAiCEGHYHFyIgE2AgAgBCgCLCIFIAZBA3ZB/wNxQQFqQZHEkMICIAhBAnRBHHF2QQ9xbDYCBCAAIAE2AgAgACAEKAIEIgY2AgQgBCgCCCEIIAAgBzYCDCAAIAg2AgggACAEKAIQNgIQIAAgBCgCFDYCFCAAIAQoAhg2AhggACAEKAIcNgIcIAAgBCgCIDYCICAEKAIkIQcgACAAQTBqIgg2AiwgACAAQQhqNgIoIAAgBzYCJCAIQgA3AgACQCAGQQJMBEAgACAFKAIANgIwIAAgBSgCBDYCNAwBCyAFIARBMGoiBkYNCCAAIAU2AiwgACAEKAIoNgIoIAQgBEEIajYCKCAEIAY2AiwLIARBgID8lwQ2AgAgBEEEagsiBUIANwIAIAVBADYCICAFQgA3AhggBUIANwIQIAVCADcCCAsgBEIANwIQIARBADYCJCAEQgA3AhggBCgCBEEBTgRAIAQoAighBkEAIQUDQCAGIAVBAnRqQQA2AgAgBUEBaiIFIAQoAgRIDQALCyAEKAIsIgUgBEEwakcEQCAFEO4DCyAJQdAAaiQADwtBqX4gCUFAa0HXhgIQiQNByIUCQeCDAkHmBBCYCgALQXMgCUFAa0GriwIQiQNBo4sCQeCDAkGYCRCYCgALQa1+IAlBQGtB9IsCEIkDQaOLAkHggwJBmwkQmAoAC0F7IAlBQGtBi4wCEIkDQaOLAkHggwJBoQkQmAoAC0FxIAlBQGtB2owCEIkDQaOLAkHggwJBqwkQmAoAC0GpfiAJQUBrQdeGAhCJA0HIhQJB4IMCQeYEEJgKAAuVBQEKfyMAQTBrIgUkAAJAAkACQAJAAkAgASgCBCIJIANHDQAgBEUEQCAAIAEgAkEAEMEGDAILIANBAkcNACAAIAEgAiAEKAIAEMEGDAELAkAgASgCACILQYCAAXEEQAJAAkACQCAERQ0AIAJBAEgNACADQQFrQSBPDQACQCACRQRAIAtBA3ZB/wNxQQFqIQIMAQsgAkGBBE4NAgsgCUEDSA0CIAEoAighB0EBIQgDQCAHIAZBAnRqKAIAIAhsIQggBkEBaiIGIAlHDQALDAQLQal+IAVBGGpBmY0CEIkDQaOLAkHggwJBvwkQmAoAC0GpfiAFQRhqQdiNAhCJA0GjiwJB4IMCQcQJEJgKAAsgASgCDCABKAIIbCEIDAELQat+IAVBGGpB/I4CEIkDQaOLAkHggwJB4wkQmAoACyAFIAVBIGoiDDYCGCAFIAM2AhwgDCENIANBBU8EQCAFQX8gA0ECdCADQf////8DcSADRxsQ1RoiDTYCGAsgAiEKIANBAU4EQEEAIQcDQCAEIAdBAnQiDmooAgAiBkF/TA0DIAZFBEAgByAJTg0FIAEoAiggDmooAgAhBgsgDSAOaiAGNgIAIAYgCmwhCiAHQQFqIgcgA0cNAAsLIAogCCALQQN2Qf8DcUEBamxHDQMgACABEK0GIgYgAkEDdEEIayAGKAIAQYdgcXI2AgAgBiADIAUoAhhBAEEBEJ4GIAUoAhgiBiAMRg0AIAZFDQAgBhCiGwsgBUEwaiQADwtBqX4gBUEIakHpjQIQiQNBo4sCQeCDAkHNCRCYCgALQa1+IAVBCGpB+I0CEIkDQaOLAkHggwJB1AkQmAoAC0GvfiAFQQhqQb2OAhCJA0GjiwJB4IMCQdoJEJgKAAuSAgECf0F/IQUCQCAAKAIQRQ0AIAJBAU5BACAAKAIAIgRBB3EgAkcbDQAgBEGAgAFxIgJFQQAgAxsNACAEQQN2Qf8DcUEBagJ/AkACQCAAKAIEQQJrDgIAAQMLAkACQCAAKAIIIgNBAUcEQCAAKAIMIgJBAUcNAQsgACgCDCECIARBA3ZB/wNxQQFqIAFGDQELIARB+B9xDQMgASACRiEAIAEhAiAARQ0DCyACIANsDAELIARB+B9xDQEgACgCKCIDKAIIIAFHDQEgAygCACIEQQFHBEAgAygCBEEBRw0CCyACRQRAIAAoAiwiACgCBCAAKAIIIAFsRw0CCyADKAIIIAMoAgQgBGxsC2wgAW4hBQsgBQtlAgF/AX4gASgCBCIDQQNOBEAgA0ECQcSPAhDVAwALIAAgASgCCCIDQQEgASgCAEGAgAFxRSADrCABKAIMIgGsIAKsfn4iBEL+////B1VyIgMbNgIEIAAgASACbCAEpyADGzYCAAv6BgIGfwF+IwBBQGoiBSQAAkACQAJAAkACQCABKAIEIgRBA0gEQCACKAIEIgRBA04NAQJ/AkAgASgCKCIEKAIEIAIoAigiBigCBEYEQCAEKAIAIAYoAgBGDQELIAEoAgwiBCABKAIIIghsIgcgAigCDCIGIAIoAggiCWxHDQQgBEEBR0EAIAhBAUcbDQUgBkEBR0EAIAlBAUcbDQYgBUEIaiABQQACfyABKAIAIAIoAgBxQYCAAXEEQCAHQQEgA6wgB61+Qv7///8HVRshBwsgBwsQwQYgASAFQQhqELkGGgJAIAUoAiwiBEUNACAEIAQoAgwiBkEBazYCDCAGQQFHDQAgBSgCLCIGRQ0AIAVBADYCLAJAIAYoAgQiBA0AIAUoAigiBA0AEKAGIQQLIAQgBiAEKAIAKAIYEQIACyAFQgA3AyAgBUIANwMYIAVBADYCLCAFKAIMQQFOBEAgBSgCMCEGQQAhBANAIAYgBEECdGpBADYCACAEQQFqIgQgBSgCDEgNAAsLIAUoAjQiBCAFQThqRwRAIAQQ7gMLIAVBCGogAkEAIAcQwQYgAiAFQQhqELkGGgJAIAUoAiwiBEUNACAEIAQoAgwiBkEBazYCDCAGQQFHDQAgBSgCLCIGRQ0AIAVBADYCLAJAIAYoAgQiBA0AIAUoAigiBA0AEKAGIQQLIAQgBiAEKAIAKAIYEQIACyAFQgA3AyAgBUIANwMYIAVBADYCLCAFKAIMQQFOBEAgBSgCMCEGQQAhBANAIAYgBEECdGpBADYCACAEQQFqIgQgBSgCDEgNAAsLIAUoAjQiBCAFQThqRwRAIAQQ7gMLIAEoAgwiBiACKAIMRw0HIAEoAggiBCACKAIIRw0HIAMgBmwMAQsgASgCCCIEQQEgASgCACACKAIAcUGAgAFxRSAErCABKAIMIgasIAOsfn4iCkL+////B1VyIgEbIQQgAyAGbCAKpyABGwshBiAAIAQ2AgQgACAGNgIAIAVBQGskAA8LIARBAkGckAIQ1QMACyAEQQJB9JACENUDAAsgByACEK8GQZiRAhDWAwALQal+IAVBCGpByJECEIkDQdWRAkHggwJBpgoQmAoAC0GpfiAFQQhqQemRAhCJA0HVkQJB4IMCQaYKEJgKAAtBqX4gBUEIakH2kQIQiQNB1ZECQeCDAkGuChCYCgAL/gkCCH8BfiMAQUBqIgYkAAJAAkACQAJAAkACQAJAAkAgASgCBCIFQQNIBEAgAigCBCIFQQNODQEgAygCBCIFQQNODQICfwJAAkAgASgCKCIFKAIEIgggAigCKCIHKAIERw0AIAUoAgAiBSAHKAIARw0AIAggAygCKCIHKAIERw0AIAUgBygCAEYNAQsgASgCDCIFIAEoAggiCWwiCCACKAIMIgcgAigCCCIKbEcNBSAIIAMoAgwiCyADKAIIIgxsRw0GIAVBAUdBACAJQQFHGw0HIAdBAUdBACAKQQFHGw0IIAtBAUYgDEEBRnJFDQkgBkEIaiABQQACfyADKAIAIAEoAgAgAigCAHFxQYCAAXEEQCAIQQEgBKwgCK1+Qv7///8HVRshCAsgCAsQwQYgASAGQQhqELkGGgJAIAYoAiwiBUUNACAFIAUoAgwiB0EBazYCDCAHQQFHDQAgBigCLCIHRQ0AIAZBADYCLAJAIAcoAgQiBQ0AIAYoAigiBQ0AEKAGIQULIAUgByAFKAIAKAIYEQIACyAGQgA3AyAgBkIANwMYIAZBADYCLCAGKAIMQQFOBEAgBigCMCEHQQAhBQNAIAcgBUECdGpBADYCACAFQQFqIgUgBigCDEgNAAsLIAYoAjQiBSAGQThqRwRAIAUQ7gMLIAZBCGogAkEAIAgQwQYgAiAGQQhqELkGGgJAIAYoAiwiBUUNACAFIAUoAgwiB0EBazYCDCAHQQFHDQAgBigCLCIHRQ0AIAZBADYCLAJAIAcoAgQiBQ0AIAYoAigiBQ0AEKAGIQULIAUgByAFKAIAKAIYEQIACyAGQgA3AyAgBkIANwMYIAZBADYCLCAGKAIMQQFOBEAgBigCMCEHQQAhBQNAIAcgBUECdGpBADYCACAFQQFqIgUgBigCDEgNAAsLIAYoAjQiBSAGQThqRwRAIAUQ7gMLIAZBCGogA0EAIAgQwQYgAyAGQQhqELkGGgJAIAYoAiwiBUUNACAFIAUoAgwiB0EBazYCDCAHQQFHDQAgBigCLCIHRQ0AIAZBADYCLAJAIAcoAgQiBQ0AIAYoAigiBQ0AEKAGIQULIAUgByAFKAIAKAIYEQIACyAGQgA3AyAgBkIANwMYIAZBADYCLCAGKAIMQQFOBEAgBigCMCEHQQAhBQNAIAcgBUECdGpBADYCACAFQQFqIgUgBigCDEgNAAsLIAYoAjQiBSAGQThqRwRAIAUQ7gMLIAEoAgwiByACKAIMRw0KIAEoAggiBSACKAIIRw0KIAcgAygCDEcNCiAFIAMoAghHDQogBCAHbAwBCyABKAIIIgVBASADKAIAIAEoAgAgAigCAHFxQYCAAXFFIAWsIAEoAgwiB6wgBKx+fiINQv7///8HVXIiARshBSAEIAdsIA2nIAEbCyEHIAAgBTYCBCAAIAc2AgAgBkFAayQADwsgBUECQaCSAhDVAwALIAVBAkGEkwIQ1QMACyAFQQJBoJMCENUDAAsgCCACEK8GQcSTAhDWAwALIAggAxCvBkHgkwIQ1gMAC0GpfiAGQQhqQciRAhCJA0HVkQJB4IMCQcMKEJgKAAtBqX4gBkEIakHpkQIQiQNB1ZECQeCDAkHDChCYCgALQal+IAZBCGpBh5QCEIkDQdWRAkHggwJBwwoQmAoAC0GpfiAGQQhqQZSUAhCJA0HVkQJB4IMCQcwKEJgKAAsEAEF/CwMAAQsDAAEL/wEBAX8jAEEQayIIJAAgA0EDdkH/A3FBAWpBkcSQwgIgA0ECdEEccXZBD3FsIQMgAUEBTgRAA0AgASIHQQFrIQECQCAFBEACQCAERQ0AIAUgAUECdGooAgAiBkH/////B0YNACADIAZNDQJBqX4gCEHUlgIQiQNB5ZYCQeCDAkGLARCYCgALIAUgAUECdGogAzYCAAsgAyEGCyACIAFBAnRqKAIAIAZsIQMgB0EBSg0ACwsgBCIGRQRAIAMQ7AMhBgtBPBDVGiIBIAAQxAohByABIAM2AhggASAGNgIQIAEgBjYCFCAEBEAgASABKAIcQSByNgIcCyAIQRBqJAAgBwsHACABQQBHC4UBACMAQRBrIgAkAAJAAkAgAQRAIAEoAggNASABKAIMDQIgAS0AHEEgcUUEQCABKAIUEO4DIAFBADYCFAsgARDFChCiGwsgAEEQaiQADwtBqX4gAEHulgIQiQNBgJcCQeCDAkGoARCYCgALQal+IABBi5cCEIkDQYCXAkHggwJBqQEQmAoAC44KAQh/IwBB8AJrIgYkAAJAAkACQAJAIAFFBEAgABCnBhoMAQsCQCABKAIAIgRBgIB8cSIFQYCAiJIERgRAIAEoAhhBAEgNASABKAIUQQBIDQEgABCnBiEAIAEoAgAhAyAAQQI2AgQgACADQf+fAXFBgID8lwRyNgIAIAAgASgCFCIFNgIIIAAgASgCGCIENgIMIAAgASgCECICNgIUIAAgAjYCECAAIAIgBSABKAIEIgEgBCADQQN2Qf8DcUEBakGRxJDCAiADQQJ0QRxxdkEPcWwiA2wiBCABGyIBbGoiAjYCHCAAIAIgAWsgBGo2AhggACgCLCIAIAM2AgQgACABNgIADAILIAVBgICMkgRGBEAgASgCEEUNASAAEKcGIgQgASgCECIANgIUIAQgADYCECAEIAQoAgAgASgCAEH/H3FyNgIAQQAhACABKAIEIgVBAEoEQANAIABBAnQiAyAGQfABamogASAAQQN0aiICKAIUNgIAIAZB8ABqIANqIAIoAhg2AgAgAEEBaiIAIAVHDQALCyAEIAUgBkHwAWogBkHwAGpBABCeBiAEEJ8GDAILIARB8ABGBEAgASgCREUNAQJAIAINACABKAIwIgNFDQAgAygCAEEBTg0ECyAAEKcGIgBBAjYCBCABKAIQIQMgACgCLCIKIAEoAkgiAjYCAEGgitiYBCADQQJ2QTxxIANBH3VBFHFqdiEEIAEoAhwhBQJAIAEoAjAiA0UEQCAFDQYgACAEQQdxQfj/+5cEciABKAIIQQN0aiIFNgIAIAAgASgCLCIENgIIIAAgASgCKCIHNgIMIAAgASgCRCIDNgIUIAAgAzYCECAFQQN2Qf8DcUEBakGRxJDCAiAFQQJ0QRxxdkEPcWwhBQwBCyADKAIAIQggAAJ/AkACQCAFBEAgCA0BQal+IAZB8AFqQcGaAhCJA0GzmgJBnJcCQfgAEJgKAAsgBEEHcSEHDAELIARBB3EhB0EBIQlBACAFQQFGDQEaC0EAIQkgASgCCEEDdEEIawsgB2pBgID8lwRqIgU2AgAgACADKAIQIgQ2AgggACADKAIMIgc2AgwgBUEDdkH/A3FBAWpBkcSQwgIgBUECdEEccXZBD3FsIQUgACAJBH8gASgCLCAAKAIwIAhBAWtsbAVBAAsgASgCRGogAygCCCACbGogAygCBCAFbGoiAzYCFCAAIAM2AhALIAAgAyACIARsajYCHCAAIAMgBEEBayACbGogBSAHbGo2AhggCiAFNgIEIAAQpgYMAgsgBUGAgOSUBEcNACABKAIYIgJFBEAgABCnBhoMAgsgAkEBSA0EIAEoAhwgBEEDdkH/A3FBAWpBkcSQwgIgBEECdEEccXZBD3FsRw0EIARB/x9xIQUgASgCNCIEKAIEIARGBEAgACACQQEgBSAEKAIQQQAQrgYaDAILIAZB8AFqIAJBASAFEKgGIgMoAhAhAiAGQoCAgIDw////PzcDGCAGQoCAgIDw////PzcDCCABIAIgBkEIahChBCAAIAMQuAYaIAMQsQYaDAELQXsgBkHwAWpBnJgCEIkDQeSXAkGclwJBvgEQmAoACyAGQfACaiQADwtBaCAGQfABakG/lwIQiQNB5JcCQZyXAkGmARCYCgALQal+IAZB8AFqQYyaAhCJA0GzmgJBnJcCQe8AEJgKAAtBqX4gBkHwAWpB75cCEIkDQeSXAkGclwJBrwEQmAoAC5ACAQF/IwBBgAFrIgIkACACQcgAaiAAQQEQzQYgASACKAJMIAIoAnAgAigCSEEHcUEAQQAQ3gcCQCABEMwHQYCABEYEQCACQRBqIAEoAgQQrQYaDAELIAJBEGogARDJBwsCQAJAIABFDQAgACgCAEHwAEcNACAAKAJERQ0AIAAQgQQiAEEBSA0BIABBAWsiACACKAJIQQN2Qf8DcUoNASACQQA2AgQgAiAANgIAIAJByABqIAJBEGogAhCDBCACQRBqELEGGiACQcgAahCxBhogAkGAAWokAA8LQal+IAJBr5gCEIkDQcCYAkGclwJByAEQmAoAC0GpfiACQdCYAhCJA0HAmAJBnJcCQcsBEJgKAAuJAQIBfwN8IwBB8ABrIgIkACACQThqIABBABDNBiACQYCAhBg2AiggAkIANwMwIAIgAkE4ajYCLCABKwMAIQMgASsDCCEEIAErAxAhBSACIAErAxg5AyAgAiAFOQMYIAIgBDkDECACIAM5AwggAkEoaiACQQhqELEHIAJBOGoQsQYaIAJB8ABqJAAL0wEBAX8jAEGQAWsiAiQAIAJB2ABqIABBABDNBiACQSBqIAFBABDNBgJAAkAgAigCYCACKAIsRw0AIAIoAmQgAigCKEcNACACKAIgIAIoAlhzQf8fcUUNAQtBqX4gAkEQakHxmAIQiQNBupkCQZyXAkHyARCYCgALIAJCADcDGCACQYCAhAg2AhAgAiACQdgAajYCFCACQYCAhBA2AgAgAkIANwMIIAIgAkEgajYCBCACQRBqIAIQtAcgAkEgahCxBhogAkHYAGoQsQYaIAJBkAFqJAALmQIBAX8jAEGAAmsiAyQAIANByAFqIABBABDNBiADQZABaiACQQAQzQYCQAJAIAMoAvABIgIoAgQgAygCuAEiACgCBEcNACACKAIAIAAoAgBHDQAgAygCkAEgAygCyAFzQf8fcUUNAQtBqX4gA0HYAGpBxpkCEIkDQf2ZAkGclwJBggIQmAoACyADQRBqIAFBABDNBiADQgA3A1AgA0GAgIQINgJIIAMgA0EQajYCTCADQdgAaiADQcgBaiADQcgAahCzByADQYCAhBA2AgAgA0IANwMIIAMgA0GQAWo2AgQgA0HYAGogAxCWBCADQdgAahCxBhogA0EQahCxBhogA0GQAWoQsQYaIANByAFqELEGGiADQYACaiQACxEAIAAgASACIAMgBCAFENMGC+oFAgt/An1BASENAkAgAkEBSA0AIARBAnYhDiABQQJ2IQsgA0UgBUEBSHIhDwNAIAciBiEEIAZBAWoiByEBIAIgB0wiEEUEQANAIAEgBCAAIAEgC2wgBmpBAnRqKgIAiyAAIAQgC2wgBmpBAnRqKgIAi14bIQQgAUEBaiIBIAJHDQALCyAAIAQgC2wiDCAGakECdGoqAgCLQwAAoDVdBEBBACENDAILIAQgBkcEQCAGIAtsIQkgBiEBA0AgACABIAlqQQJ0aiIIKgIAIREgCCAAIAEgDGpBAnRqIgoqAgA4AgAgCiAROAIAIAFBAWoiASACRw0ACyAPRQRAIAQgDmwhCiAGIA5sIQxBACEBA0AgAyABIAxqQQJ0aiIEKgIAIREgBCADIAEgCmpBAnRqIggqAgA4AgAgCCAROAIAIAFBAWoiASAFRw0ACwtBACANayENCyAQRQRAQwAAgL8gACAGIAtsIgogBmpBAnRqKgIAlSESIAYgDmwhDCAHIQkDQCASIAAgCSALbCIIIAZqQQJ0aioCAJQhESAHIQEDQCAAIAEgCGpBAnRqIgQgBCoCACARIAAgASAKakECdGoqAgCUkjgCACABQQFqIgEgAkcNAAsgD0UEQCAJIA5sIQhBACEBA0AgAyABIAhqQQJ0aiIEIAQqAgAgESADIAEgDGpBAnRqKgIAlJI4AgAgAUEBaiIBIAVHDQALCyAJQQFqIgkgAkcNAAsLIAIgB0cNAAsgA0UNACACQQFIDQAgBUEBSCEPIAIhBwNAIAciCkEBayEHIA9FBEAgByAObCEJIAAgByALbCIIIAdqQQJ0aiEGQQAhBANAIAMgBCAJakECdGoiDCoCACERIAoiASACSARAA0AgESAAIAEgCGpBAnRqKgIAIAMgASAObCAEakECdGoqAgCUkyERIAFBAWoiASACRw0ACwsgDCARIAYqAgCVOAIAIARBAWoiBCAFRw0ACwsgCkECTg0ACwsgDQsRACAAIAEgAiADIAQgBRDVBgvyBQILfwJ8QQEhDQJAIAJBAUgNACAEQQN2IQ4gAUEDdiELIANFIAVBAUhyIQ8DQCAHIgYhBCAGQQFqIgchASACIAdMIhBFBEADQCABIAQgACABIAtsIAZqQQN0aisDAJkgACAEIAtsIAZqQQN0aisDAJlkGyEEIAFBAWoiASACRw0ACwsgACAEIAtsIgwgBmpBA3RqKwMAmUQAAAAAAAAZPWMEQEEAIQ0MAgsgBCAGRwRAIAYgC2whCSAGIQEDQCAAIAEgCWpBA3RqIggrAwAhESAIIAAgASAMakEDdGoiCisDADkDACAKIBE5AwAgAUEBaiIBIAJHDQALIA9FBEAgBCAObCEKIAYgDmwhDEEAIQEDQCADIAEgDGpBA3RqIgQrAwAhESAEIAMgASAKakEDdGoiCCsDADkDACAIIBE5AwAgAUEBaiIBIAVHDQALC0EAIA1rIQ0LIBBFBEBEAAAAAAAA8L8gACAGIAtsIgogBmpBA3RqKwMAoyESIAYgDmwhDCAHIQkDQCASIAAgCSALbCIIIAZqQQN0aisDAKIhESAHIQEDQCAAIAEgCGpBA3RqIgQgBCsDACARIAAgASAKakEDdGorAwCioDkDACABQQFqIgEgAkcNAAsgD0UEQCAJIA5sIQhBACEBA0AgAyABIAhqQQN0aiIEIAQrAwAgESADIAEgDGpBA3RqKwMAoqA5AwAgAUEBaiIBIAVHDQALCyAJQQFqIgkgAkcNAAsLIAIgB0cNAAsgA0UNACACQQFIDQAgBUEBSCEPIAIhBwNAIAciCkEBayEHIA9FBEAgByAObCEJIAAgByALbCIIIAdqQQN0aiEGQQAhBANAIAMgBCAJakEDdGoiDCsDACERIAoiASACSARAA0AgESAAIAEgCGpBA3RqKwMAIAMgASAObCAEakEDdGorAwCioSERIAFBAWoiASACRw0ACwsgDCARIAYrAwCjOQMAIARBAWoiBCAFRw0ACwsgCkECTg0ACwsgDQsRACAAIAEgAiADIAQgBRDXBgvKBgIIfwF8QQEhBgJAIAJBAUgNACAEQQJ2IQsgAUECdiEIA0AgByAIbCEEQQAhBgJAIAdFBEAgACAEIAdqQQJ0aiIGKgIAuyEODAELA0AgACAEIAZqQQJ0aiIKKgIAuyEOAkAgBkUEQEEAIQkMAQsgBiAIbCEJQQAhAQNAIA4gACABIARqQQJ0aioCACAAIAEgCWpBAnRqKgIAlLuhIQ4gAUEBaiIBIAZHDQALCyAKIA4gACAGIAlqQQJ0aioCALuitjgCACAGQQFqIgYgB0cNAAsgACAEIAdqQQJ0aiIGKgIAuyEOQQAhAQNAIA4gACABIARqQQJ0aioCALsiDiAOoqEhDiABQQFqIgEgB0cNAAsLIA5EAAAAAAAAgD5jBEBBAA8LIAZEAAAAAAAA8D8gDp+jtjgCACAHQQFqIgcgAkcNAAsCQCADBEBBASEGIAJBAUgNAkEAIQQgBUEBSCEMA0AgDEUEQCAEIAtsIQogACAEIAhsIgkgBGpBAnRqIQ1BACEGA0AgAyAGIApqQQJ0aiIHKgIAuyEOQQAhASAEBEADQCAOIAAgASAJakECdGoqAgAgAyABIAtsIAZqQQJ0aioCAJS7oSEOIAFBAWoiASAERw0ACwsgByAOIA0qAgC7orY4AgAgBkEBaiIGIAVHDQALCyAEQQFqIgQgAkcNAAtBASEGIAJBAUgNAiAFQQFIIQwgAkEBayIJIQYDQCAMRQRAIAYgC2whCiAAIAYgCGwgBmpBAnRqIQ1BACEEA0AgAyAEIApqQQJ0aiIHKgIAuyEOIAkiASAGSgRAA0AgDiAAIAEgCGwgBmpBAnRqKgIAIAMgASALbCAEakECdGoqAgCUu6EhDiABQQFrIgEgBkoNAAsLIAcgDiANKgIAu6K2OAIAIARBAWoiBCAFRw0ACwsgBkEASiEBIAZBAWshBiABDQALQQAhASACQQBKDQFBAQ8LQQEhBiACQQFIDQFBACEBA0AgACABIAhsIAFqQQJ0aiIGQwAAgD8gBioCAJU4AgBBASEGIAFBAWoiASACRw0ACwwBCwNAIAAgASAIbCABakECdGoiBkMAAIA/IAYqAgCVOAIAQQEhBiABQQFqIgEgAkcNAAsLIAYLEQAgACABIAIgAyAEIAUQ2QYLwgYCCH8BfEEBIQYCQCACQQFIDQAgBEEDdiELIAFBA3YhCANAIAcgCGwhBEEAIQYCQCAHRQRAIAAgBCAHakEDdGoiBisDACEODAELA0AgACAEIAZqQQN0aiIKKwMAIQ4CQCAGRQRAQQAhCQwBCyAGIAhsIQlBACEBA0AgDiAAIAEgBGpBA3RqKwMAIAAgASAJakEDdGorAwCioSEOIAFBAWoiASAGRw0ACwsgCiAOIAAgBiAJakEDdGorAwCiOQMAIAZBAWoiBiAHRw0ACyAAIAQgB2pBA3RqIgYrAwAhDkEAIQEDQCAOIAAgASAEakEDdGorAwAiDiAOoqEhDiABQQFqIgEgB0cNAAsLIA5EAAAAAAAAsDxjBEBBAA8LIAZEAAAAAAAA8D8gDp+jOQMAIAdBAWoiByACRw0ACwJAIAMEQEEBIQYgAkEBSA0CQQAhBCAFQQFIIQwDQCAMRQRAIAQgC2whCiAAIAQgCGwiCSAEakEDdGohDUEAIQYDQCADIAYgCmpBA3RqIgcrAwAhDkEAIQEgBARAA0AgDiAAIAEgCWpBA3RqKwMAIAMgASALbCAGakEDdGorAwCioSEOIAFBAWoiASAERw0ACwsgByAOIA0rAwCiOQMAIAZBAWoiBiAFRw0ACwsgBEEBaiIEIAJHDQALQQEhBiACQQFIDQIgBUEBSCEMIAJBAWsiCSEGA0AgDEUEQCAGIAtsIQogACAGIAhsIAZqQQN0aiENQQAhBANAIAMgBCAKakEDdGoiBysDACEOIAkiASAGSgRAA0AgDiAAIAEgCGwgBmpBA3RqKwMAIAMgASALbCAEakEDdGorAwCioSEOIAFBAWsiASAGSg0ACwsgByAOIA0rAwCiOQMAIARBAWoiBCAFRw0ACwsgBkEASiEBIAZBAWshBiABDQALQQAhASACQQBKDQFBAQ8LQQEhBiACQQFIDQFBACEBA0AgACABIAhsIAFqQQN0aiIGRAAAAAAAAPA/IAYrAwCjOQMAQQEhBiABQQFqIgEgAkcNAAsMAQsDQCAAIAEgCGwgAWpBA3RqIgZEAAAAAAAA8D8gBisDAKM5AwBBASEGIAFBAWoiASACRw0ACwsgBgujCQILfwN9IwBBsAhrIg0kACANIA1BEGoiEDYCCCANIAIgA2pBACACGyIHNgIMIBAhCSAHQYkCTwRAIA1BfyAHQQJ0IAdB/////wNxIAdHGxDVGiIJNgIICwJ/AkAgA0EATA0AIAZBAnYhDiABQQJ2IQEgAkECdCAJaiEPIAIhCwNAQQAhB0MAAAAAIRMgAiAIayIMQQBKBEADQCAJIAdBAnRqIAAgByAIaiABbCAIakECdGoqAgAiEjgCACATIBIgEpSSIRMgB0EBaiIHIAtHDQALCyAJIAkqAgAiEiATkSIUIBSMIBJDAAAAAGAbkiIUOAIAAn8gCCAMQQFIDQAaIAkgFCATIBQgFJSSIBIgEpSTkSISlTgCAEEBIQcgCCALQQFGDQAaA0AgCSAHQQJ0aiIKIAoqAgAgEpU4AgAgB0EBaiIHIAtHDQALIAgLIQoDQEMAAAAAIRIgCCIHIAJIBEADQCASIAkgByAIa0ECdGoqAgAgACABIAdsIApqQQJ0aioCAJSSIRIgB0EBaiIHIAJHDQALIAghBwNAIAAgASAHbCAKakECdGoiBiAGKgIAIBIgCSAHIAhrQQJ0aioCACITIBOSlJM4AgAgB0EBaiIHIAJHDQALCyAKQQFqIgogA0cNAAsgDyAIQQJ0aiAJKgIAIhIgEpQ4AgAgDEECTgRAIAkqAgAhEkEBIQcDQCAAIAcgCGogAWwgCGpBAnRqIAkgB0ECdGoqAgAgEpU4AgAgB0EBaiIHIAtHDQALCyALQQFrIQsgCEEBaiIIIANHDQALIAVFDQBBACEIIAIhDANAIAlBgICA/AM2AgBBASEHIAIgCGtBAUoEQANAIAkgB0ECdGogACAHIAhqIAFsIAhqQQJ0aioCADgCACAHQQFqIgcgDEcNAAsLIARBAU4EQCAPIAhBAnRqIQtBACEKA0BDAAAAACESIAgiByACSARAA0AgEiAJIAcgCGtBAnRqKgIAIAUgByAObCAKakECdGoqAgCUkiESIAdBAWoiByACRw0ACyAIIQcDQCAFIAcgDmwgCmpBAnRqIgYgBioCACALKgIAIBIgCSAHIAhrQQJ0aioCACITIBOSlJSTOAIAIAdBAWoiByACRw0ACwsgCkEBaiIKIARHDQALCyAMQQFrIQwgCEEBaiIIIANHDQALIARBAUghDCADQQFrIhEhBwNAIAciAyABbCEPIAcgEUgEQCADIA5sIQYgESELA0AgDEUEQCALIA5sIQggACALIA9qQQJ0aiEKQQAhBwNAIAUgBiAHakECdGoiAiACKgIAIAUgByAIakECdGoqAgAgCioCAJSTOAIAIAdBAWoiByAERw0ACwsgC0EBayILIANKDQALC0EAIAAgAyAPakECdGoiCCoCACISi0MAAKA1XQ0CGgJAIAwNACAFIAMgDmwiCkECdGoiByAHKgIAIBKVOAIAQQEhByAEQQFGDQADQCAFIAcgCmpBAnRqIgIgAioCACAIKgIAlTgCACAHQQFqIgcgBEcNAAsLIANBAWshByADQQBKDQALC0EBCyEHIAkgEEcEQCAJEKIbCyANQbAIaiQAIAcLuwkCC38DfCMAQdAIayINJAAgDSANQRBqIhA2AgggDSACIANqQQAgAhsiBzYCDCAQIQkgB0GJAU8EQCANQX8gB0EDdCAHQf////8BcSAHRxsQ1RoiCTYCCAsCfwJAIANBAEwNACAGQQN2IQ4gAUEDdiEBIAJBA3QgCWohDyACIQsDQEEAIQdEAAAAAAAAAAAhEyACIAhrIgxBAEoEQANAIAkgB0EDdGogACAHIAhqIAFsIAhqQQN0aisDACISOQMAIBMgEiASoqAhEyAHQQFqIgcgC0cNAAsLIAkgCSsDACISIBOfIhQgFJogEkQAAAAAAAAAAGYboCIUOQMAAn8gCCAMQQFIDQAaIAkgFCATIBQgFKKgIBIgEqKhnyISozkDAEEBIQcgCCALQQFGDQAaA0AgCSAHQQN0aiIKIAorAwAgEqM5AwAgB0EBaiIHIAtHDQALIAgLIQoDQEQAAAAAAAAAACESIAgiByACSARAA0AgEiAJIAcgCGtBA3RqKwMAIAAgASAHbCAKakEDdGorAwCioCESIAdBAWoiByACRw0ACyAIIQcDQCAAIAEgB2wgCmpBA3RqIgYgBisDACASIAkgByAIa0EDdGorAwAiEyAToKKhOQMAIAdBAWoiByACRw0ACwsgCkEBaiIKIANHDQALIA8gCEEDdGogCSsDACISIBKiOQMAIAxBAk4EQCAJKwMAIRJBASEHA0AgACAHIAhqIAFsIAhqQQN0aiAJIAdBA3RqKwMAIBKjOQMAIAdBAWoiByALRw0ACwsgC0EBayELIAhBAWoiCCADRw0ACyAFRQ0AQQAhCCACIQwDQCAJQoCAgICAgID4PzcDAEEBIQcgAiAIa0EBSgRAA0AgCSAHQQN0aiAAIAcgCGogAWwgCGpBA3RqKwMAOQMAIAdBAWoiByAMRw0ACwsgBEEBTgRAIA8gCEEDdGohC0EAIQoDQEQAAAAAAAAAACESIAgiByACSARAA0AgEiAJIAcgCGtBA3RqKwMAIAUgByAObCAKakEDdGorAwCioCESIAdBAWoiByACRw0ACyAIIQcDQCAFIAcgDmwgCmpBA3RqIgYgBisDACALKwMAIBIgCSAHIAhrQQN0aisDACITIBOgoqKhOQMAIAdBAWoiByACRw0ACwsgCkEBaiIKIARHDQALCyAMQQFrIQwgCEEBaiIIIANHDQALIARBAUghDCADQQFrIhEhBwNAIAciAyABbCEPIAcgEUgEQCADIA5sIQYgESELA0AgDEUEQCALIA5sIQggACALIA9qQQN0aiEKQQAhBwNAIAUgBiAHakEDdGoiAiACKwMAIAUgByAIakEDdGorAwAgCisDAKKhOQMAIAdBAWoiByAERw0ACwsgC0EBayILIANKDQALC0EAIAAgAyAPakEDdGoiCCsDACISmUQAAAAAAAAZPWMNAhoCQCAMDQAgBSADIA5sIgpBA3RqIgcgBysDACASozkDAEEBIQcgBEEBRg0AA0AgBSAHIApqQQN0aiICIAIrAwAgCCsDAKM5AwAgB0EBaiIHIARHDQALCyADQQFrIQcgA0EASg0ACwtBAQshByAJIBBHBEAgCRCiGwsgDUHQCGokACAHC/sBAQN/IwBBEGsiACQAAkBBrNYKLQAAQQFxDQBBrNYKEP0aRQ0AAkBBtNYKLQAAQQFxDQBBtNYKEP0aRQ0AQZABENUaIgFB4M4KKAIAEOkKIQIQjQoaIABBy5sCQdybAhCwCiACIAAQ7AogACwAC0F/TARAIAAoAgAQohsLQbDWCiABNgIAQbTWChCBGwtBsNYKKAIAIQEgAEEGOgALIABB/poCKAAANgIAIABBgpsCLwAAOwEEIABBADoABiABIAAQ9AohASAALAALQX9MBEAgACgCABCiGwtBqNYKIAE2AgBBrNYKEIEbC0Go1gooAgAhASAAQRBqJAAgAQu1DAIFfwF+IwBB4AFrIgIkABCtCiEFIAJBADYC2AEgAkIANwPQAQJAQbzWCi0AAEEBcQ0AQbzWChD9GkUNAEG41gpB3ZsCQQEQjgo6AABBvNYKEIEbCwJAQcTWCi0AAEEBcQ0AQcTWChD9GkUNAEHA1gpB8psCQQAQjgo6AABBxNYKEIEbCwJAAkACQAJAQbjWCi0AAEHA1gotAABBAXRyQQFrDgMAAgECCxCbCiEHIAIgBTYCECACIAe5RJXWJugLLhE+ojkDGCACQcgAakGFmwIgAkEQahCUCiACLADbAUF/TARAIAIoAtABEKIbCyACIAIoAlA2AtgBIAIgAikDSDcD0AEMAgsgAhCbCjcDKCACIAU2AiAgAkHIAGpBjpsCIAJBIGoQlAogAiwA2wFBf0wEQCACKALQARCiGwsgAiACKAJQNgLYASACIAIpA0g3A9ABDAELIAIgBTYCACACQcgAakGWmwIgAhCUCiACLADbAUF/TARAIAIoAtABEKIbCyACIAIoAlA2AtgBIAIgAikDSDcD0AELIAJB5JwCNgKAASACQdCcAjYCSCACQYABaiACQcgAakEEciIFEOAWIAJCgICAgHA3A8gBIAJBrJwCNgKAASACQZicAjYCSCAFEIoWIQYgAkIANwJsIAJCADcCdCACQRA2AnwgAkGUywE2AkwCQAJAAkACQAJAAkACQAJAAkACQCAADgcJAQIDBAUGAAsgAEH/////B0cNBwwICyACQThqIAJByABqQZmbAkEHEMwDIAIoAtABIAJB0AFqIAItANsBIgNBGHRBGHVBAEgiBBsgAigC1AEgAyAEGxDMA0GhmwJBAhDMAyABIAEQuBsQzAMiASABKAIAQQxrKAIAahCmFiACQThqQbyYCxC5FyIDQQogAygCACgCHBEDACEDIAJBOGoQtBcgASADENQWDAULIAJBOGogAkHIAGpBpJsCQQcQzAMgAigC0AEgAkHQAWogAi0A2wEiA0EYdEEYdUEASCIEGyACKALUASADIAQbEMwDQaGbAkECEMwDIAEgARC4GxDMAyIBIAEoAgBBDGsoAgBqEKYWIAJBOGpBvJgLELkXIgNBCiADKAIAKAIcEQMAIQMgAkE4ahC0FyABIAMQ1BYMBAsgAkE4aiACQcgAakGsmwJBBxDMAyACKALQASACQdABaiACLQDbASIDQRh0QRh1QQBIIgQbIAIoAtQBIAMgBBsQzANBoZsCQQIQzAMgASABELgbEMwDIgEgASgCAEEMaygCAGoQphYgAkE4akG8mAsQuRciA0EKIAMoAgAoAhwRAwAhAyACQThqELQXIAEgAxDUFgwDCyACQThqIAJByABqQbSbAkEHEMwDIAIoAtABIAJB0AFqIAItANsBIgNBGHRBGHVBAEgiBBsgAigC1AEgAyAEGxDMA0GhmwJBAhDMAyABIAEQuBsQzAMiASABKAIAQQxrKAIAahCmFiACQThqQbyYCxC5FyIDQQogAygCACgCHBEDACEDIAJBOGoQtBcgASADENQWDAILIAJBOGogAkHIAGpBvJsCQQcQzAMgAigC0AEgAkHQAWogAi0A2wEiA0EYdEEYdUEASCIEGyACKALUASADIAQbEMwDQaGbAkECEMwDIAEgARC4GxDMAyIBIAEoAgBBDGsoAgBqEKYWIAJBOGpBvJgLELkXIgNBCiADKAIAKAIcEQMAIQMgAkE4ahC0FyABIAMQ1BYMAQsgAkE4aiACQcgAaiABIAEQuBsQzAMiASABKAIAQQxrKAIAahCmFiACQThqQbyYCxC5FyIDQQogAygCACgCHBEDACEDIAJBOGoQtBcgASADENQWCyABEKUWCyACQThqIAUQ0QNBoJELQfiPCyAAQQRIGyIDIAIoAjggAkE4aiACLQBDIgFBGHRBGHVBAEgiBRsgAigCPCABIAUbEMwDGiACLABDQX9MBEAgAigCOBCiGwsgAEEDSg0AIAMQpRYLIAJBrJwCNgKAASACQZicAjYCSCACQZTLATYCTCACLAB3QX9MBEAgAigCbBCiGwsgBhCIFhogAkGAAWoQhBYaIAIsANsBQX9MBEAgAigC0AEQohsLIAJB4AFqJAALRAAgAEGsnAI2AjggAEGYnAI2AgAgAEGUywE2AgQgACwAL0F/TARAIAAoAiQQohsLIABBBGoQiBYaIABBOGoQhBYaIAALgAMBA38jAEGgAWsiBiQAIAZB5JwCNgJQIAZB0JwCNgIYIAZB0ABqIAZBGGpBBHIiBxDgFiAGQoCAgIBwNwOYASAGQaycAjYCUCAGQZicAjYCGCAHEIoWIQggBkIANwI8IAZCADcCRCAGQRA2AkwgBkGUywE2AhwgAQRAIAZBGGogASABELgbEMwDQcSbAkEBEMwDGgsgAgRAIAZBGGogAiACELgbEMwDQcSbAkEBEMwDGgsgA0EBTgRAIAZBGGpBxpsCQQEQzAMgAxDNFkHImwJBAhDMAxoLIAQEQCAGQRhqIAQgBBC4GxDMA0HEmwJBARDMAxoLIAZBGGogBSAFELgbEMwDGiAGQQhqIAcQ0QMgACAGKAIIIAZBCGogBiwAE0EASBsQ3QYgBiwAE0F/TARAIAYoAggQohsLIAZBrJwCNgJQIAZBmJwCNgIYIAZBlMsBNgIcIAYsAEdBf0wEQCAGKAI8EKIbCyAIEIgWGiAGQdAAahCEFhogBkGgAWokAAtSACAAIAAoAgBBDGsoAgBqIgBBrJwCNgI4IABBmJwCNgIAIABBlMsBNgIEIAAsAC9Bf0wEQCAAKAIkEKIbCyAAQQRqEIgWGiAAQThqEIQWGiAAC0cAIABBrJwCNgI4IABBmJwCNgIAIABBlMsBNgIEIAAsAC9Bf0wEQCAAKAIkEKIbCyAAQQRqEIgWGiAAQThqEIQWGiAAEKIbC1UAIAAgACgCAEEMaygCAGoiAEGsnAI2AjggAEGYnAI2AgAgAEGUywE2AgQgACwAL0F/TARAIAAoAiQQohsLIABBBGoQiBYaIABBOGoQhBYaIAAQohsLgAEBA38jAEEQayIAJAACQEG01gotAABBAXENAEG01goQ/RpFDQBBkAEQ1RoiAUHgzgooAgAQ6QohAhCNChogAEHLmwJB3JsCELAKIAIgABDsCiAALAALQX9MBEAgACgCABCiGwtBsNYKIAE2AgBBtNYKEIEbCxDcBhogAEEQaiQAC/AHAw1/AX4CfCMAQcADayIFJAACQCAAIAEgACgCACgCCBEDAARAIAEpAwAhEiAFQagBahCnBiEAIAVB8ABqEKcGIQYgBUE4ahCnBiEHIAErA7ABIRMgASsDuAEhFCAFIBI3A+ABIAVB6AFqIAAQrQYhCCAFQaACaiAGEK0GIQkgBUHYAmogBxCtBiEKIAVBmANqIgsgFDkDACAFIBM5A5ADIAUgASsDwAE5A6ADIAVBqANqIgwgASsDyAE5AwAgBUGwA2oiDSABKwPQATkDACAFQbgDaiIOIAErA9gBOQMAIAQgBSkD4AE3AwAgBEEIaiIPIAgQuQYaIARBQGsiECAJELkGGiAEQfgAaiIRIAoQuQYaIAQgCykDADcDuAEgBCAFKQOQAzcDsAEgBCAFKwOgAzkDwAEgBCAMKwMAOQPIASAEIA0rAwA5A9ABIAQgDisDADkD2AEgChCxBhogCRCxBhogCBCxBhogBxCxBhogBhCxBhogABCxBhogASgCGARAIAMpAgAhEiAFIAIpAgA3A3AgBSASNwOoASAPIAVB4AFqIAFBCGogBUHwAGogBUGoAWoQugYiBBC5BhogBBCxBhoLIAEoAlAEQCADKQIAIRIgBSACKQIANwNwIAUgEjcDqAEgECAFQeABaiABQUBrIAVB8ABqIAVBqAFqELoGIgQQuQYaIAQQsQYaCyABKAKIAUUNASADKQIAIRIgBSACKQIANwNwIAUgEjcDqAEgESAFQeABaiABQfgAaiAFQfAAaiAFQagBahC6BiIEELkGGiAEELEGGgwBCyAFQagBahCnBiEAIAEoAgAiBiABIABBfyAGKAIAKAIMEQYAIAMpAgAhEiAFIAIpAgA3AzggBSASNwPgASAFQfAAaiAAIAVBOGogBUHgAWoQugYhASAFQThqEKcGIQIgBRCnBiEDIAVBADYC5AEgBUHkzgo2AuABIAVB6AFqIAEQrQYhBiAFQaACaiACEK0GIQcgBUHYAmogAxCtBiEIIAVBmANqIglCgICAgICAgPg/NwMAIAVBqANqIgpCADcDACAFQbADaiILQgA3AwAgBUG4A2oiDEIANwMAIAVCADcDoAMgBUKAgICAgICA+D83A5ADIAQgBSkD4AE3AwAgBEEIaiAGELkGGiAEQUBrIAcQuQYaIARB+ABqIAgQuQYaIAQgCSkDADcDuAEgBCAFKQOQAzcDsAEgBCAFKwOgAzkDwAEgBCAKKwMAOQPIASAEIAsrAwA5A9ABIAQgDCsDADkD2AEgCBCxBhogBxCxBhogBhCxBhogAxCxBhogAhCxBhogARCxBhogABCxBhoLIAVBwANqJAALgwcDDX8BfgJ8IwBBwANrIgQkAAJAIAAgASAAKAIAKAIIEQMABEAgASkDACERIARBqAFqEKcGIQAgBEHwAGoQpwYhBSAEQThqEKcGIQYgASsDsAEhEiABKwO4ASETIAQgETcD4AEgBEHoAWogABCtBiEHIARBoAJqIAUQrQYhCCAEQdgCaiAGEK0GIQkgBEGYA2oiCiATOQMAIAQgEjkDkAMgBCABKwPAATkDoAMgBEGoA2oiCyABKwPIATkDACAEQbADaiIMIAErA9ABOQMAIARBuANqIg0gASsD2AE5AwAgAyAEKQPgATcDACADQQhqIg4gBxC5BhogA0FAayIPIAgQuQYaIANB+ABqIhAgCRC5BhogAyAKKQMANwO4ASADIAQpA5ADNwOwASADIAQrA6ADOQPAASADIAsrAwA5A8gBIAMgDCsDADkD0AEgAyANKwMAOQPYASAJELEGGiAIELEGGiAHELEGGiAGELEGGiAFELEGGiAAELEGGiABKAIYBEAgBEHgAWogAUEIaiACEL4GIA4gBEHgAWoQuQYaIARB4AFqELEGGgsgASgCUARAIARB4AFqIAFBQGsgAhC+BiAPIARB4AFqELkGGiAEQeABahCxBhoLIAEoAogBRQ0BIARB4AFqIAFB+ABqIAIQvgYgECAEQeABahC5BhogBEHgAWoQsQYaDAELIARBqAFqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgBEHwAGogACACEL4GIARBOGoQpwYhASAEEKcGIQIgBEEANgLkASAEQeTOCjYC4AEgBEHoAWogBEHwAGoQrQYhBSAEQaACaiABEK0GIQYgBEHYAmogAhCtBiEHIARBmANqIghCgICAgICAgPg/NwMAIARBqANqIglCADcDACAEQbADaiIKQgA3AwAgBEG4A2oiC0IANwMAIARCADcDoAMgBEKAgICAgICA+D83A5ADIAMgBCkD4AE3AwAgA0EIaiAFELkGGiADQUBrIAYQuQYaIANB+ABqIAcQuQYaIAMgCCkDADcDuAEgAyAEKQOQAzcDsAEgAyAEKwOgAzkDwAEgAyAJKwMAOQPIASADIAorAwA5A9ABIAMgCysDADkD2AEgBxCxBhogBhCxBhogBRCxBhogAhCxBhogARCxBhogBEHwAGoQsQYaIAAQsQYaCyAEQcADaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAgAEIANwNYIAAgAzYCVCAAQYCAhAg2AlAgACACNgJEIABBgICEkHw2AkAgAEIANwNIIABB4ABqIABB0ABqIABBQGtB1NYKENsFIAMQsQYaIABB8ABqJAALnwEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0HU1goQ3QUgAxCxBhogAEHwAGokAAvjAQECfyMAQbABayIAJAAgABCnBiEDIAEoAgAiBCABIANBfyAEKAIAKAIMEQYAIABCADcDqAEgACACNgKkASAAQYCAhAg2AqABIABCADcDmAEgACADNgKUASAAQYCAhAg2ApABIABByABqEKcGIQEgAEIANwOIASAAIAE2AoQBIABBgICECDYCgAEgACACNgI8IABBgICEEDYCOCAAQgA3A0AgAEGgAWogAEGQAWpEAAAAAAAA8D8gAEGAAWpEAAAAAAAAAAAgAEE4akEAEIIGIAEQsQYaIAMQsQYaIABBsAFqJAALpAEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0QAAAAAAADwPxDgBSADELEGGiAAQfAAaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAg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IAAQrQYhBiAEQagCaiACEK0GIQcgBEGIA2oiCCAPOQMAIARBgANqIgkgDDkDACAEQfgCaiIKIA05AwAgBEHoAmoiCyAROQMAIAQgDjkD8AIgBCAQOQPgAiADIAQpA7ABNwMAIANBCGogARC5BhogA0FAayAGELkGGiADQfgAaiAHELkGGiADIAspAwA3A7gBIAMgBCkD4AI3A7ABIAMgBCsD8AI5A8ABIAMgCisDADkDyAEgAyAJKwMAOQPQASADIAgrAwA5A9gBIAcQsQYaIAYQsQYaIAEQsQYaIAIQsQYaIAAQsQYaIAUQsQYaDAELIAUgASACIAMgBSgCACgCPBEGAAsgBEGQA2okAAv0AgEJfyMAQZADayIAJAAgAEFAaxCnBiEFIAIoAgAiBCACIAVBfyAEKAIAKAIMEQYAIABBCGoQpwYhAiAAQfgAahCnBiEEIABBADYCtAEgAEHozgo2ArABIABBuAFqIAUQrQYhBiAAQfABaiACEK0GIQcgAEGoAmogBBCtBiEIIABB6AJqIglCADcDACAAQoCAgICAgID4v383A+ACIAAgASsDADkD8AIgAEH4AmoiCiABKwMIOQMAIABBgANqIgsgASsDEDkDACAAQYgDaiIMIAErAxg5AwAgAyAAKQOwATcDACADQQhqIAYQuQYaIANBQGsgBxC5BhogA0H4AGogCBC5BhogAyAJKQMANwO4ASADIAApA+ACNwOwASADIAArA/ACOQPAASADIAorAwA5A8gBIAMgCysDADkD0AEgAyAMKwMAOQPYASAIELEGGiAHELEGGiAGELEGGiAEELEGGiACELEGGiAFELEGGiAAQZADaiQAC6oKAgh/AXwjAEGQA2siBSQAAkAgACACKAIAIgZGBEAgBUFAaxCnBiEAIAVBCGoQpwYhBgJAAkACQAJAIAEoAgAiB0HszgpHDQAgASgCBEEvRw0AIAEoAlAEQCABKwO4AUQAAAAAAAAAAGINAgsCQAJAIAIoAgAiB0HozgpHDQAgAigCUARAIAIrA7gBRAAAAAAAAAAAYg0BCyACKwPAAUQAAAAAAAAAAGINACACKwPIAUQAAAAAAAAAAGINACACKwPQAUQAAAAAAAAAAGINACACKwPYAUQAAAAAAAAAAGINACACKwOwASENIAYgAkEIahCzBiANIASiIQQMAQsgByAC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ADkD0AEgAyALKwMAOQPYASAHELEGGiAFELEGGiABELEGGiACELEGGiAAELEGGiAGELEGGgwBCyAGIAEgAiADIAYoAgAoAlwRBgALIARBkANqJAALRQECfyMAQUBqIgQkACAEQQhqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgAyACIAAQ+gYgABCxBhogBEFAayQAC7wCAQl/IwBB0AJrIgMkACADQThqEKcGIQQgAxCnBiEFIAMgATYCdCADQfTOCjYCcCADQfgAaiACEK0GIQIgA0GwAWogBBCtBiEBIANB6AFqIAUQrQYhBiADQagCaiIHQgA3AwAgA0GwAmoiCEIANwMAIANBuAJqIglCADcDACADQcACaiIKQgA3AwAgA0HIAmoiC0IANwMAIANCgICAgICAgPg/NwOgAiAAIAMpA3A3AwAgAEEIaiACELkGGiAAQUBrIAEQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACADKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiABELEGGiACELEGGiAFELEGGiAEELEGGiADQdACaiQACzsAIAACfyACQTBqIAJBCGoQtwZFDQAaIAJB6ABqIAJBQGsQtwYNABogAkGgAWoLKAIAKQIAQiCJNwIACy8AAkAgAUEIaiIAELcGRQ0AIAFBQGsiABC3Bg0AIAFB+ABqIQALIAAoAgBB/x9xC8QDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB6M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPi/fzcDACADQYgCaiIPQgA3AwAgA0GQAmoiEEIANwMAIANBmAJqIhFCADcDACADQgA3A4ACIANCgICAgICAgPg/NwPwASAAIAMpA0A3AwAgBiABELkGGiAHIAIQuQYaIAggBRC5BhogDSAOKQMANwMAIAAgAykD8AE3A7ABIAwgAysDgAI5AwAgCyAPKwMAOQMAIAogECsDADkDACAJIBErAwA5AwAgBRCxBhogAhCxBhogARCxBhogBBCxBhogA0GgAmokAAvCAwESfyMAQdACayICJAAgARC3BgRAQXsgAkHwAGpB2qkCEIkDQcepAkHqnQJBGBCYCgALIABCADcDACAAQQhqEKcGIQcgAEFAaxCnBiEIIABB+ABqEKcGIQkgAEHYAWoiCkIANwMAIABB0AFqIgtCADcDACAAQcgBaiIMQgA3AwAgAEHAAWoiDUIANwMAIABBuAFqIg5CADcDACAAQgA3A7ABIAIQpwYhAyACQThqEKcGIQQgAkEANgJ0IAJB6M4KNgJwIAJB+ABqIAEQrQYhASACQbABaiADEK0GIQUgAkHoAWogBBCtBiEGIAJBqAJqIg9CADcDACACQbACaiIQQgA3AwAgAkG4AmoiEUIANwMAIAJBwAJqIhJCADcDACACQcgCaiITQgA3AwAgAkKAgICAgICA+L9/NwOgAiAAIAIpA3A3AwAgByABELkGGiAIIAUQuQYaIAkgBhC5BhogDiAPKQMANwMAIAAgAikDoAI3A7ABIA0gECsDADkDACAMIBErAwA5AwAgCyASKwMAOQMAIAogEysDADkDACAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC8MDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB8M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPg/NwMAIANBiAJqIg9CADcDACADQZACaiIQQgA3AwAgA0GYAmoiEUIANwMAIANCADcDgAIgA0KAgICAgICA+D83A/ABIAAgAykDQDcDACAGIAEQuQYaIAcgAhC5BhogCCAFELkGGiANIA4pAwA3AwAgACADKQPwATcDsAEgDCADKwOAAjkDACALIA8rAwA5AwAgCiAQKwMAOQMAIAkgESsDADkDACAFELEGGiACELEGGiABELEGGiAEELEGGiADQaACaiQAC7kDARJ/IwBB0AJrIgMkACABELcGBEBBeyADQfAAakHaqQIQiQNBx6kCQeqdAkEYEJgKAAsgAEIANwMAIABBCGoQpwYhCCAAQUBrEKcGIQkgAEH4AGoQpwYhCiAAQdgBaiILQgA3AwAgAEHQAWoiDEIANwMAIABByAFqIg1CADcDACAAQcABaiIOQgA3AwAgAEG4AWoiD0IANwMAIABCADcDsAEgAxCnBiEEIANBOGoQpwYhBSADQQA2AnQgA0Hozgo2AnAgA0H4AGogARCtBiEBIANBsAFqIAQQrQYhBiADQegBaiAFEK0GIQcgA0GoAmoiEEIANwMAIANBsAJqIhFCADcDACADQbgCaiISQgA3AwAgA0HAAmoiE0IANwMAIANByAJqIhRCADcDACADIAI5A6ACIAAgAykDcDcDACAIIAEQuQYaIAkgBhC5BhogCiAHELkGGiAPIBApAwA3AwAgACADKQOgAjcDsAEgDiARKwMAOQMAIA0gEisDADkDACAMIBMrAwA5AwAgCyAUKwMAOQMAIAcQsQYaIAYQsQYaIAEQsQYaIAUQsQYaIAQQsQYaIANB0AJqJAAL/gEBBH8jAEHgAWsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgASgCACEEIANBADYCBCADQeTOCjYCACADQQhqIAIQrQYhAiADQUBrEKcGIQUgA0H4AGoQpwYhBiADQgA3A8ABIANCADcDyAEgA0IANwPQASADQgA3A9gBIANCADcDuAEgA0KAgICAgICA+D83A7ABIAQgASADIAAgBCgCACgCXBEGACAGELEGGiAFELEGGiACELEGGiADQeABaiQAC58CAQR/IwBB4AFrIgMkACABELcGBEBBeyADQdqpAhCJA0HHqQJB6p0CQRgQmAoACyAAQgA3AwAgAEEIahCnBhogAEFAaxCnBhogAEH4AGoQpwYaIABCADcD2AEgAEIANwPQASAAQgA3A8gBIABCADcDwAEgAEIANwO4ASAAQgA3A7ABIAIoAgAhBCADQQA2AgQgA0Hkzgo2AgAgA0EIaiABEK0GIQEgA0FAaxCnBiEFIANB+ABqEKcGIQYgA0IANwPAASADQgA3A8gBIANCADcD0AEgA0IANwPYASADQgA3A7gBIANCgICAgICAgPg/NwOwASAEIAMgAiAAIAQoAgAoAlwRBgAgBhCxBhogBRCxBhogARCxBhogA0HgAWokAAvFAgEJfyMAQdACayIDJAAgA0E4ahCnBiEEIAMQpwYhBSADQeEANgJ0IANB7M4KNgJwIANB+ABqIAEQrQYhASADQbABaiAEEK0GIQYgA0HoAWogBRCtBiEHIANBqAJqIghCADcDACADQoCAgICAgID4PzcDoAIgAyACKwMAOQOwAiADQbgCaiIJIAIrAwg5AwAgA0HAAmoiCiACKwMQOQMAIANByAJqIgsgAisDGDkDACAAIAMpA3A3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACADKQOgAjcDsAEgACADKwOwAjkDwAEgACAJKwMAOQPIASAAIAorAwA5A9ABIAAgCysDADkD2AEgBxCxBhogBhCxBhogARCxBhogBRCxBhogBBCxBhogA0HQAmokAAueAQEBfyMAQRBrIgAkAAJAAkACQCADQX9HBEAgASgCCCIEQf8fcSADRw0BCyACIAFBCGoQswYMAQsgAyAEc0H4H3ENASAAIAI2AgQgAEGAgIQQNgIAIABCADcDCCABQQhqIAAgA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgAEEQaiQADwtBqX4gAEHAnQIQiQNB450CQeqdAkGBChCYCgAL5hQCB38DfCMAQfABayIEJAAgBEG4AWoQpwYhCQJ/IANBf0cEQCAJIAEoAghB/x9xIANHDQEaCyACCyEAIAFBwAFqIQUCQAJAIAEoAlAEQCABQUBrIQMgASsDyAEhCwJAAkACQAJAIAErA8ABRAAAAAAAAAAAYg0AIAtEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQIgC0QAAAAAAAAAAGENAQwCCyALRAAAAAAAAAAAYg0BCyABKwPQAUQAAAAAAAAAAGINACABKwPYAUQAAAAAAAAAAGENAQsgASsDuAEhCwJAIAErA7ABIgxEAAAAAAAA8D9hBEAgC0QAAAAAAADwP2EEQCAEQgA3AxAgBEGAgIQINgIIIAQgAUEIajYCDCAEQgA3A7ABIAQgAzYCrAEgBEGAgIQINgKoASAEIAA2ApwBIARBgICEEDYCmAEgBEIANwOgASAEQQhqIARBqAFqIARBmAFqQdTWChDbBQwCCyALRAAAAAAAAPC/YQRAIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogBEGoAWogBEGYAWpB1NYKEN0FDAILIARCADcDECAEIAM2AgwgBEGAgIQINgIIIARCADcDsAEgBCABQQhqNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogCyAEQagBaiAEQZgBahCDBgwBCyALRAAAAAAAAPA/YQRAIAxEAAAAAAAA8L9hBEAgBEIANwMQIAQgAzYCDCAEQYCAhAg2AgggBEIANwOwASAEIAFBCGo2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAEQagBaiAEQZgBakHU1goQ3QUMAgsgBEIANwMQIARBgICECDYCCCAEIAFBCGo2AgwgBEIANwOwASAEIAM2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAMIARBqAFqIARBmAFqEIMGDAELIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogDCAEQagBaiALRAAAAAAAAAAAIARBmAFqQX8Q4gULAkAgASsDyAFEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQMLIARCADcDECAEIAA2AgwgBEGAgIQINgIIIARCgYCAgMAANwOwASAEIAU2AqwBIARBhoCI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ASADIAErA8ABOQPAASADIAErA8gBOQPIASADIAErA9ABOQPQASADIAErA9gBOQPYASADIAMrA7ABIAKiOQOwAQ8LIAMgASACIAMQ8gYL+wICCX8BfCMAQdACayIAJAACQAJAIAIoAgRBL0cNACACKAJQBEAgAisDuAFEAAAAAAAAAABiDQELIAAQpwYhBCACKwOwASENIABBOGoQpwYhBSAAQQA2AnQgAEHozgo2AnAgAEH4AGogAkEIahCtBiECIABBsAFqIAQQrQYhBiAAQegBaiAFEK0GIQcgAEGoAmoiCEIANwMAIABBsAJqIglCADcDACAAQbgCaiIKQgA3AwAgAEHAAmoiC0IANwMAIABByAJqIgxCADcDACAAIAEgDaM5A6ACIAMgACkDcDcDACADQQhqIAIQuQYaIANBQGsgBhC5BhogA0H4AGogBxC5BhogAyAIKQMANwO4ASADIAApA6ACNwOwASADIAkrAwA5A8ABIAMgCisDADkDyAEgAyALKwMAOQPQASADIAwrAwA5A9gBIAcQsQYaIAYQsQYaIAIQsQYaIAUQsQYaIAQQsQYaDAELIAAgASACIAMQ9AYLIABB0AJqJAAL2wECAn8BfCMAQeAAayIEJAAgBEEoahCnBiEFAn8gA0F/RwRAIAUgASgCCEH/H3EgA0cNARoLIAILIQAgBEIANwMgIARBgICECDYCGCAEIAFBCGo2AhwgBEGAgIQQNgIIIARCADcDECAEIAA2AgwgBEEYaiAEQQhqELQHIAAoAhAgAigCEEZBACABKwOwASIGRAAAAAAAAPA/YRtFBEAgBCACNgIcIARBgICEEDYCGCAEQgA3AyAgACAEQRhqIAMgBkQAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAQAgAyABKQMANwMAIANBCGogAUEIahCzBiADQUBrIAFBQGsQswYgA0H4AGogAUH4AGoQswYgAyABKQO4ATcDuAEgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEL5AICCX8BfCMAQdACayIAJAAgAUEIaiEDAkAgASsDsAFEAAAAAAAA8D9hBEAgAiADEJIHDAELIAAQpwYhBCABKwOwASEMIABBOGoQpwYhASAAQQA2AnQgAEHozgo2AnAgAEH4AGogAxCtBiEDIABBsAFqIAQQrQYhBSAAQegBaiABEK0GIQYgAEGoAmoiB0IANwMAIABBsAJqIghCADcDACAAQbgCaiIJQgA3AwAgAEHAAmoiCkIANwMAIABByAJqIgtCADcDACAAIAw5A6ACIAIgACkDcDcDACACQQhqIAMQuQYaIAJBQGsgBRC5BhogAkH4AGogBhC5BhogAiAHKQMANwO4ASACIAApA6ACNwOwASACIAgrAwA5A8ABIAIgCSsDADkDyAEgAiAKKwMAOQPQASACIAsrAwA5A9gBIAYQsQYaIAUQsQYaIAMQsQYaIAEQsQYaIAQQsQYaCyAAQdACaiQAC7wCAQp/IwBB0AJrIgIkACACQThqEKcGIQMgAhCnBiEEIAJBADYCdCACQeTOCjYCcCACQfgAaiABEK0GIQEgAkGwAWogAxCtBiEFIAJB6AFqIAQQrQYhBiACQagCaiIHQgA3AwAgAkGwAmoiCEIANwMAIAJBuAJqIglCADcDACACQcACaiIKQgA3AwAgAkHIAmoiC0IANwMAIAJCgICAgICAgPg/NwOgAiAAIAIpA3A3AwAgAEEIaiABELkGGiAAQUBrIAUQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACACKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC6cCAgJ/AnwjAEGAAWsiBCQAIARByABqEKcGIQUCfyADQX9HBEAgBSABKAIIQf8fcSADRw0BGgsgAgshACAEQgA3A0AgBEGAgIQINgI4IAQgAUEIajYCPCAEQgA3AzAgBCABQUBrNgIsIARBgICECDYCKCABKwOwASEGIARCADcDICAEIAFB+ABqNgIcIARBgICECDYCGCABKwO4ASEHIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBOGogBEEoaiAGIARBGGogByAEQQhqIAEoAgQQggYgACgCECACKAIQRwRAIAQgAjYCPCAEQYCAhBA2AjggBEIANwNAIAAgBEE4aiADRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyAFELEGGiAEQYABaiQAC4kIAgV/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BEH4AGogAUEIahCtBiEBIARBuAFqIgYgCjkDACAEQcgBaiIAQgA3AwAgBEHQAWoiB0IANwMAIARB2AFqIghCADcDACAEQgA3A8ABIAQgCZo5A7ABIAMgBCkDADcDACADQQhqIAUQuQYaIANBQGsgAhC5BhogA0H4AGogARC5BhogAyAGKQMANwO4ASADIAQpA7ABNwOwASADIAQrA8ABOQPAASADIAArAwA5A8gBIAMgBysDADkD0AEgAyAIKwMAOQPYASABELEGGiACELEGGiAFELEGGgwBCyAAIAVGBEAgBSABIAIgAxDvBgwBCyAFIAEgAiADIAUoAgAoAjwRBgALIARB4AFqJAALngEAIAMgASkDADcDACADQQhqIAFBCGoQswYgA0FAayABQUBrELMGIANB+ABqIAFB+ABqELMGIANBuAFqIgAgASkDuAE3AwAgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEgACAAKwMAIAKiOQMAC64BAQF/IAIgASkDADcDACACQQhqIgAgAUEIahCzBiACQUBrIgMgAUFAaxCzBiACQfgAaiABQfgAahCzBiACIAEpA7gBNwO4ASACIAEpA7ABNwOwASACIAErA8ABOQPAASACIAErA8gBOQPIASACIAErA9ABOQPQASACIAErA9gBOQPYASACIAEoAgQiAUEBdEECcSABQQRxciABQQF2QQFxckEHczYCBCAAIAMQrgcLzwEBAn8jAEHgAGsiBCQAIARBKGoQpwYhBQJ/IANBf0cEQCAFIAEoAghB/x9xIANHDQEaCyACCyEAIARCADcDICAEQYCAhAg2AhggBCABQQhqNgIcIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBGGogBEEIaiABKAIEEKsEIAAoAhAgAigCEEcEQCAEIAI2AhwgBEGAgIQQNgIYIARCADcDICAAIARBGGogA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAwEGfyMAQaACayIEJAAgAigCACEFAkACQCABKAIAQfTOCkcNACAFQeTOCkcNACABKAIEIQAgBEEIahCnBiEFIAQgADYCRCAEQfzOCjYCQCAEQcgAaiAB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QdDWChCBGwtBzNYKKAIAIQYgBCACKQIAIg03AwggBCANNwOAASAEQYgBaiAEQQhqIANB7t27935BABCwBiECIARByABqEKcGIQMgBEEQahCnBiEFIAQgATYCxAEgBCAGNgLAASAEQcgBaiACEK0GIQEgBEGAAmogAxCtBiEGIARBuAJqIAUQrQYhByAEQfgCaiIIQgA3AwAgBEGAA2oiCUIANwMAIARBiANqIgpCADcDACAEQZADaiILQgA3AwAgBEGYA2oiDEIANwMAIAREAAAAAAAA8D85A/ACIAAgBCkDwAE3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACAEKQPwAjcDsAEgACAJKwMAOQPAASAAIAorAwA5A8gBIAAgCysDADkD0AEgACAMKwMAOQPYASAHELEGGiAGELEGGiABELEGGiAFELEGGiADELEGGiACELEGGiAEQaADaiQAC4cBAgF/AX4jAEEQayIDJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASADIAEpAgAiBDcDACADIAQ3AwggAEEwIAMgAhCgByADQRBqJAALigEBAX8jAEEQayIEJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASAEIAE2AgwgBCACNgIIIAQgBCkDCDcDACAAQTEgBCADEKAHIARBEGokAAuHAQIBfwF+IwBBEGsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgAyABKQIAIgQ3AwAgAyAENwMIIABBMSADIAIQoAcgA0EQaiQAC4sBAQF/IwBBEGsiBCQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgBCABNgIMIAQgAjYC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AAAAXhu7IRQMCAsgAygCqCEhAgJAAkAgB0EGaw4CAAECCyACIAQQhQq3IRQMCAtBACEBQQAgBEEESA0GGiAEQQRrIQVBACEAA0AgAiAAQQNyai0AAEHg0QJqLQAAIAIgAEECcmotAABB4NECai0AACACIABBAXJqLQAAQeDRAmotAAAgASAAIAJqLQAAQeDRAmotAABqampqIQEgAEEEaiIAIAVMDQALDAULIANB4CBqELcGRQRAIAMvAeAgQf8fcQ0CCyAFQQZGBEAgA0HgIGoQtwZFBEAgA0EIahCnBiEAIANCADcDoCAgA0GAgIQINgKYICADIANBmCFqNgKcICADQgA3A9ggIANBgICECDYC0CAgAyADQeAgajYC1CAgAyAANgLEICADQYCAhBA2AsAgIANCADcDyCAgA0GYIGogA0HQIGogA0HAIGpB1NYKENQFIANCADcDoCAgAyAANgKcICADQYCAhAg2ApggIANBmCBqIAdB1NYKEIcIIRQgABCxBhoMCAtBACEAIANBADYCnCAgAyADQZghajYCmCAgA0EANgLQICADQQhqIANBmCBqIANB0CBqQX8QrAciAigCEEUNB0EBQQIgB0EGRhshBCACKAIUIQVBACEBA0AgAygC0CAgBSAEEIUIIABqIQAgAhCtByABQQFqIgEgAigCEEkNAAsgALchFAwHCyAHQQR0QeAAcUEFIAogCkEHRhtBAnRyQdDbAmooAgAiDUUNAiADQQA2AtggIAMgA0HgIGo2AtQgIAMgA0GYIWo2AtAgIANCADcDwCAgA0IANwO4ICADQZggaiADQdAgaiADQcAgakF/EKwHIggoAhQiAUH/////B08NAwJAAkAgB0ECRiAKQQRJcUUEQCAFQQRGIApBAklxRQ0BCyADKAKcISIAQQFOBEAgAygCxCEgAEECdGpBBGsoAgAhDgsgA0EANgIIQYCAgARBgIACIApBAkkbQYCAAiAHQQJGGyAJbiELIAgoAhBFDQEgCyABIAEgC0obIQJBACEFA0AgDEEBaiEMIAFBAU4EQEEAIQQgAygCxCAhBiADKALAICEPA0AgDyAGIANBCGogAiABIARrIgAgACACShsiACAJIA0RCQAaAkAgCyAAIAVqIgUgAmpKBEAgACAEaiABSA0BIAwgCCgCEEkNAQsgAygCCCEGQQAhBSAD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DAELIAAoAgQhByAAKAIAIQggBSAAKAALNgALIAUgACgCCDYCCCAAQgA3AgQgAC0ADyEJIABBADYCDCAAKAIUIQogACgCECELIABCADcCECAAQQRqIQQgBgRAIAAgAigCADYCACAEIAIoAgw2AgggBCACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEDIAIoAhAhASACQgA3AhAgACABNgIQIAAoAhQhASAAIAM2AhQCQCABRQ0AIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAQAgARDQGgsgAiAINgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAc2AgQgAiAFKAIINgIIIAIgBSgACzYACyACIAs2AhAgAiAJOgAPIAIoAhQhASACIAo2AhQCQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgtBAQwCCyAAIAEoAgA2AgAgBCABKAIMNgIIIAQgASkCBDcCACABQQA6AA8gAUEAOgAEIAEoAhQhBiABKAIQIQQgAUIANwIQIAAgBDYCECAAKAIUIQQgACAGNgIUAkAgBEUNACAEIAQoAgQiAEEBazYCBCAADQAgBCAEKAIAKAIIEQEAIAQQ0BoLIAFBBGohBiABIAg2AgAgASwAD0F/TARAIAYoAgAQohsLIAEgBzYCBCABQQhqIgcgBSgCCDYCACABIAUoAAs2AAsgASALNgIQIAEgCToADyABKAIUIQAgASAKNgIUAkAgAEUNACAAIAAoAgQiBEEBazYCBCAEDQAgACAAKAIAKAIIEQEAIAAQ0BoLQQEgAiABIAMoAgARAwBFDQEaIAEoAgQhAyABKAIAIQQgBSAHKAIANgIIIAUgBygAAzYACyABLQAPIQcgBkIANwIAIAZBCGoiAEEANgIAIAEoAhQhCCABKAIQIQkgAUIANwIQIAEgAigCADYCACAAIAIoAgw2AgAgBiACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEGIAIoAhAhACACQgA3AhAgASAANgIQIAEoAhQhACABIAY2AhQCQCAARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABDQGgsgAiAENgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAM2AgQgAiAFKAIINgIIIAIgBSgA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QCABKAIIEKIbCyABEKIbIAIiAQ0ACwsgACgCiAIhASAAQQA2AogCIAEEQCABEKIbCyAAKAL4ASIBBEAgACABNgL8ASABEKIbCyAAKALsASIBBEAgACABNgLwASABEKIbCyAAKALgASIEBEACfyAEIAQgACgC5AEiAUYNABoDQCABIgJBCGshAQJAIAJBBGsoAgAiAkUNACACIAIoAgQiA0EBazYCBCADDQAgAiACKAIAKAIIEQEAIAIQ0BoLIAEgBEcNAAsgACgC4AELIQEgACAENgLkASABEKIbCyAAKALUASIBBEAgACABNgLYASABEKIbCyAAKAK4ASIBBEAgACABNgK8ASABEKIbCyAAKAKsASIBBEAgACABNgKwASABEKIbCwJAIAAoAqABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApgBIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQfQAaiIDEO0IAkAgACgCeCIBIAAoAnwiAkYNAANAIAEoAgAQohsgAUEEaiIBIAJHDQALIAAoAnwiASAAKAJ4IgJGDQAgACABIAEgAmtBBGtBAnZBf3NBAnRqNgJ8CyADKAIAIgEEQCABEKIbCyAAKAJkIgEEQCAAIAE2AmggARCiGwsgAEHMAGoiAxDuCAJAIAAoAlAiASAAKAJUIgJGDQADQCABKAIAEKIbIAFBBGoiASACRw0ACyAAKAJUIgEgACgCUCICRg0AIAAgASABIAJrQQRrQQJ2QX9zQQJ0ajYCVAsgAygCACIBBEAgARCiGwsgACwAE0F/TARAIAAoAggQohsLIAAL0gQBB38jAEEQayIDJAACQAJAIAAtACRFDQACQCABRQ0AIAEsAAtBf0wEQCABKAIAQQA6AAAgAUEANgIEDAELIAFBADoACyABQQA6AAALAkAgAC0AJkUNACAAKAJgQQJPBEADQCAAEO8IIAAoAmBBAUsNAAsLIAAgACgCACgCOBEAABoCQAJAIAAoAihBCGsOEQACAgICAgICAgICAgICAgIBAgsgAEHU6AIgACgCACgCDBECAAwBCyAAQefo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ICADQgA3ABggA0IANwAQIANCADcACCADQgA3AAAgAEEcaiIFQQA2AgAgAEIANwIUIAAgBzYCDCAAQcEAENUaIgQ2AhQgBSAEQcEAaiIFNgIAIARBAEHBABCvGxogACAHNgIoIAAgAzYCICAAIAU2AhggACADNgIkIAEtACYEQCACBEAgASABKAIAKAI4EQAAGgsgBkEQaiQADwtBqX4gBkHBgwMQiQNB3IMDQbyCA0EcEJgKAAuBAgEEfyMAQeAAayIDJAACQCAAKAIgIgEgACgCFCAAKAIkIAFrEMUJRQ0AIAAgACgCIDYCJCAALQAERQRAIAAoAgAiASAAKAIUIAEoAgAoAgwRAgAMAQsgA0EKOwFeIANBICAAKAIAIgEoAlAgASgCYCABKAJcakEBayIEQcwBbiICQQJ0aigCACAEIAJBzAFsa0EUbGooAhAiBBCvGyICIARqQQA6AAAgASACIAEoAgAoAgwRAgAgACgCACIBIAAoAhQgASgCACgCDBECACAAKAIAIgEgAkHeAGogASgCACgCDBECACAAKAIAIgAgACgCACgCOBEAABoLIANB4ABqJAALZwECfyAAKAIAIgEEQCABKAIkIAEoAiBHBEAgARDICQsgASgCFCICBEAgASACNgIYIAIQohsLIAEoAggiAgRAIAEgAjYCDCACEKIbCyABEKIbCyAALAAPQX9MBEAgACgCBBCiGwsgAAvUAgEDfyAAQSBqIgIgARDfGiAAQQA2AiwgACgCMCIBQQhxBEACQCACLAALIgNBf0wEQCAAKAIgIgMgACgCJGohBAwBCyACIANB/wFxaiEEIAIhAwsgACAENgIQIAAgAzYCDCAAIAM2AgggACAENgIsCwJAIAFBEHFFDQAgAgJ/IAIsAAsiAUEATgRAIAAgAiABQf8BcSIBajYCLEEKDAELIAAgACgCJCIBIAAoAiBqNgIsIAAoAihB/////wdxQQFrCxDiGgJ/IAIsAAsiA0F/TARAIAAoAiAhAiAAKAIkDAELIANB/wFxCyEDIAAgAjYCFCAAIAI2AhggACACIANqNgIcIAAtADBBA3FFDQACQCABQX9MBEAgAkECayACQf////8HaiABQf////8HayIBQQBIIgMbIQJBASABIAMbIQEMAQsgAUUNAQsgACABIAJqNgIYCws6AQF/QRQQ1RoiAkIA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EIkDQdSzA0HusQNBuQUQmAoACyAMQRBqJAAL3AEBA38gAkEESAR/QQAFIAJBBGshBQNAIAQgASADai0AACAAIANqLQAAc0HgzwJqLQAAaiABIANBAXIiBGotAAAgACAEai0AAHNB4M8Cai0AAGogASADQQJyIgRqLQAAIAAgBGotAABzQeDPAmotAABqIAEgA0EDciIEai0AACAAIARqLQAAc0HgzwJqLQAAaiEEIANBBGoiAyAFTA0ACyACQXxxCyIDIAJIBEADQCAEIAEgA2otAAAgACADai0AAHNB4M8Cai0AAGohBCADQQFqIgMgAkcNAAsLIAQLqQEBA38gAUEESAR/QQAFIAFBBGshBANAIAAgAkEDcmotAABB4M8Cai0AACAAIAJBAnJqLQAAQeDPAmotAAAgACACQQFyai0AAEHgzwJqLQAAIAMgACACai0AAEHgzwJqLQAAampqaiEDIAJBBGoiAiAETA0ACyABQXxxCyICIAFIBEADQCADIAAgAmotAABB4M8Cai0AAGohAyACQQFqIgIgAUcNAAsLIAML0wgBCn8CQAJAAkAgAUUEQAJAAkACQCAEQQRvIgFBAWsOAwABAgYLIAIoAgAhByADQQRIBEAgACEFDAULIANBBGshCCAEQQJ0IQkgBEEDbCELIARBAXQhCiAAIQUDQCAFIAtqLQAAIAUgCmotAAAgBCAFai0AACAHIAUtAABqampqIQcgBSAJaiEFIAZBBGoiBiAITA0ACwwDCyACKAIEIQcgAigCACEIIANBAU4EQCAAIQUDQCAHIAUtAAFqIQcgCCAFLQAAaiEIIAQgBWohBSAGQQFqIgYgA0cNAAsgAyEGCyACIAc2AgQgAiAINgIADAQLIAIoAgghByACKAIEIQggAigCACEJIANBAU4EQCAAIQUDQCAHIAUtAAJqIQcgCCAFLQABaiEIIAkgBS0AAGohCSAEIAVqIQUgBkEBaiIGIANHDQALIAMhBgsgAiAHNgIIIAIgCDYCBCACIAk2AgAMAwsCQAJAAkACQCAEQQFrDgMBAAIACyADQQFODQJBAA8LIAIoAgAhBiADQQFOBEADQCABIAVqLQAABEAgB0EBaiEHIAYgACAFai0AAGohBgsgBUEBaiIFIANHDQALCyACIAY2AgAgBw8LIAIoAgghBiACKAIEIQcgAigCACEI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KAIAIAFB6ABqIAItAAsiBEEYdEEYdUEASCIFGyACKAIEIAQgBRsQzAMaIAIsAAtBf0wEQCACKAIAEKIbCwJ/IAMsAAsiAkF/TARAIAAoAhghAiAAKAIUDAELIAJB/wFxIQIgAwshBCACIARqQQFrLQAAQQpHBEAgAUHoAGogBiABKAKAAUEMaygCAGoQphYgAUHoAGpBvJgLELkXIgJBCiACKAIAKAIcEQMAIQIgAUHoAGoQtBcgBiACENQWIAYQpRYLIAFB6ABqIAkQ0QMgAywAC0F/TARAIAMoAgAQohsLIAMgASkDaDcCACADIAEoAnA2AgggAUH8yAE2ArgBIAFB1MgBNgJ4IAFBlMsBNgKEASABQejIATYCgAEgASwArwFBf0wEQCABKAKkARCiGwsgChCIFhogAUG4AWoQhBYaCwJAAn8gACwAKyICQX9MBEAgACgCJAwBCyACQf8BcQsEQCAAQSBqIQIgCEF/RwRAIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAK0F/TARAIAIoAgAhAgsgASADLAALQX9MBH8gAygCAAUgAws2AlggASACNgJUIAEgBjYCUCABIAc2AkwgASAFNgJIIAEgBDYCRCABQfC0AzYCQCABQfgAakG7tAMgAUFAaxCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAILIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAH0F/TARAIAMoAgAhAwsgASACLAALQX9MBH8gAigCAAUgAgs2AjggASADNgI0IAEgBjYCMCABIAc2AiwgASAFNgIoIAEgBDYCJCABQfC0AzYCICABQfgAakH6tAMgAUEgahCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAELIABBLGohAiAALAA3QX9MBEAgAigCACECCyAAKAI4IQQgACgCECIFEJMKIQcgASAALAAfQX9MBH8gAygCAAUgAws2AhQgASAHNgIQIAFB17UDQda1AyAIQX9GGzYCGCABIAU2AgwgASAENgIIIAEgAjYCBCABQfC0AzYCACABQfgAakGwtQMg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IAdB24IEEIkDQf2CBEG5ggRB+QMQmAoAC0GpfiAHQYWDBBCJA0H9ggRBuYIEQZQEEJgKAAtBrX4gB0GMgwQQiQNB/YIEQbmCBEGeBBCYCgALsAIBBX8gACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYIgI2AhggASgCHCEDIAAgAEEoaiIENgIkIAAgAEEIajYCICAAIAM2AhwgBEIANwIAIAIEQCACIAIoAghBAWo2AggLIAEoAgRBAkwEQCAAKAIkIgIgASgCJCIBKAIANgIAIAIgASgCBDYCBCAADwtBACECIABBADYCBCAAIAEoAgRBAEEAQQAQzAogACgCBEEBTgRAIAAoAiQhAyABKAIkIQQgACgCICEFIAEoAiAhBgNAIAUgAkECdCIBaiABIAZqKAIANgIAIAEgA2ogASAEaigCADYCACACQQFqIgIgACgCBEgNAAsLIAALuQMBBn8gACABRwRAIAEoAhgiAgRAIAIgAigCCEEBajYCCAsCQCAAKAIYIgJFDQAgAiACKAIIIgNBAWs2AgggA0EBRw0AIAAoAhghAiAAQQA2AhggAigCBCIDIAIgAygCACgCEBECAAsCQAJAAkAgACgCBEEATARAIABBADYCGCAAIAEoAgA2AgAMAQsgACgCICEDQQAhAgNAIAMgAkECdGpBADYCACACQQFqIgIgACgCBCIESA0ACyAAQQA2AhggACABKAIANgIAIARBA0gNACABKAIEIQIMAQsgASgCBCICQQJKDQAgACACNgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACgCJCICIAEoAiQiAygCADYCACACIAMoAgQ2AgQMAQtBACEDIAAgAkEAQQBBABDMCiAAKAIEQQFIDQAgACgCJCEEIAEoAiQhBSAAKAIgIQYgASgCICEHA0AgBiADQQJ0IgJqIAIgB2ooAgA2AgAgAiAEaiACIAVqKAIANgIAIANBAWoiAyAAKAIESA0ACwsgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcCwuFAQECfwJAIAAoAhgiAUUNACABIAEoAggiAkEBazYCCCACQQFHDQAgACgCGCEBIABBADYCGCABKAIEIgIgASACKAIAKAIQ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ASADKAIYNgIYIANBCGogARDwCiABQQxqIQYgASgCDCIFBEACfyAFIAUgASgCECIERg0AGgNAIARBDGshAiAEQQFrLAAAQX9MBEAgAigCABCiGwsgAiEEIAIgBUcNAAsgBigCAAshAiABIAU2AhAgAhCiGwsgASADKAIINgIMIAEgAygCDDYCECABIAMoAhA2AhQgACAGIAFBHGoiAhDxCiADLQAcBEAgACABKAIYIAIQ8goLIAEoAhgiBCAAKAIEIAAoAgAiAmtBDG1JBEAgASACIARBDGxqNgIoIAEtACwEQCAAIAEQ8woLIANBIGokAA8LENoaAAv1AQEBfyAAKAKIASICIAEQ3xogAhDgCiACKAJEIAIoAkhGGgJAIAAoAogBIgEoAkQgASgCSEcNACAAKAKIARDjCiEBIAAoAhwgASgCDDYCBCAAKAKIARDlCiICKAIAIgEgAigCBCICRwRAA0AgACABIAEoAgxBAhDtCiABQRRqIgEgAkcNAAsLIAAoAogBQThqIgIoAgAiASACKAIEIgJHBEADQCAAIAEgASgCDEEDEO0KIAFBFGoiASACRw0ACwsgACgCiAEQ5AoiAigCACIBIAIoAgQiAkYNAANAIAAgASABKAIMEO4KIAFBFGoiASACRw0ACwsL8QEBAn8jAEEwayIEJAAgABDTGiAEQQhqIAEQ2xohASAEQQA2AiggBEIANwMgIARBAToAHCAEQgA3AhQgBCAAQSBqIgUgARD2CiIBNgIUIAEgACgCMCAAKAIsIgBrQQN1SQRAIAQgACABQQN0aiIBNgIYAkACfyAELQAcBEAgBSAEQQhqEPcKIAQoAhghAQsgAyABKAIERgsEQCABKAIAIAJGDQELIAEgAjYCACABIAM2AgQgBEEIahD4CgsgBCgCICIBBEAgBCABNgIkIAEQohsLIAQsABNBf0wEQCAEKAIIEKIbCyAEQTBqJAAPCxDaGgALsQIBAX8jAEFAaiIDJAAgABDTGiADIAEQ2xoaIANBADYCOCADQgA3AhQgA0IANwIcIANCADcCJCADQQA6ACwgA0IANwMwIANCADcCDCAAQSBqIAMQ6woCQCADKAIoIgEoAghBAUYEQCABKAIEIAJGDQELIAEgAjYCBCABQQE2AgggASgCACIBRQ0AIAEgAjYCBAsgAygCMCIBBEAgAyABNgI0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ESAtayIBNgJAIAggCTYCPCAIIAI2AjggCCABNgI0IAhBACAJayILNgIwIBUgEWshGCAgQQFqISkgIyASIB9saiEUQQAhHQNAIBsgCyASaiITIBdsaiEFICMgEyAfbGohCQJAIBwEQCABIAJKDQFBACALayEQA0ACQCABIAVqIgstAAAEQCABIQsMAQsgBiAJIAFBAnRqKAIAIA5rIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhAwJAIAUgAUEBayILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIDQQFrIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCwJAIAUgAUEBaiILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIBQQFqIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCyANIBA7AQogDSAVOwEIIA0gETsBBiANIAE7AQQgDSADOwECIA0gEzsBACANQQxqIg0gGUcNAAJAIAgoAsQCIgwgCCgCwAIiAWtBDG0iDUEDbEEBdiIHIA1LBEAgCEHAAmogByANaxCGCyAIKALEAiEMIAgoAsACIQEMAQsgByANTw0AIAggASAHQQxsaiIMNgLEAgsgASAZIB5rQQxtQQxsaiENIAwhGSABIR4LIAtBAWohASACIAtKDQALDAELICRFBEAgASACSg0BQQAgC2shGgNAAkAgASAFaiILLQAABEAgASELDAELIAYgCSABQQJ0IgxqKAIAIAwgFGooAgBrIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhDAJAIAUgAUEBayILaiIHLQAADQADQCAJIAtBAnRqKAIAIAkgDEECdGooAgBrIgMgBkgNASADIApKDQEgByAAOgAAIAshDCAFIAtBAWsiC2oiBy0AAEUNAAsLAkAgBSABQQFqIgtqIgctAAANAANAAkAgBiAJIAtBAnQiEGooAgAiDyAJIAFBAnRqKAIAayIDTEEAIAMgCkwbDQAgBiAPIBAgFGooAgBrIgNKDQIgASAVTg0CIAMgCkwNAAwCCyAHIAA6AAAgBSALIgFB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IgRFDQAgBC0ADA0AIARBDGohBAwCCwJAIAEgAygCAEYEQCADIQQMAQsgAyADKAIEIgQoAgAiATYCBCAEIAEEfyABIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAQ2AgAgBCADNgIAIAMgBDYCCCAEKAIIIQILIARBAToADCACQQA6AAwgAiACKAIAIgMoAgQiBDYCACAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCA8LAkAgBEUNACAELQAMDQAgBEEMaiEEDAELAkAgASADKAIARwRAIAMhAQwBCyADIAEoAgQiBDYCACABIAQEfyAEIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAE2AgAgASADNgIEIAMgATYCCCABKAIIIQILIAFBAToADCACQQA6AAwgAiACKAIEIgMoAgAiBDYCBCAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIAIAIgAzYCCAwCCyADQQE6AAwgAiAAIAJGOgAMIARBAToAACACIQEgACACRw0ACwsLSgEBf0EgENUaIgFCADcCBCABQpCAgIAQNwIYIAFChICAgIABNwIQIAFB7JIENgIAIAFB4JMENgIMIAAgATYCBCAAIAFBDGo2AgALkwIBBH8jAEHQAGsiAyQAIANBmJgELQAAOgAsIANBlJgEKAAANgIoIAMgA0EoajYCJEEBIQQgAyACKAIIQQFHBH8gASgCEEUFIAQLOgAjIANBADoAIiACKAIAIQVBsAEQ1RoiBEIANwIEIARB0JQENgIAIANBOGoiBiACNgIAIAMgAUEMaiABQQhqIAVBB3FBBkYbIgI2AkggAyACNgIYIAMgA0EkajYCPCADIAYpAwA3AwggAyADQSJqNgJEIANBQGsiAiADQSNqNgIAIAMgAikDADcDECADQcaUBDYCNCADQcSUBDYCMCADIAMpAzA3AwAgBEEMaiICIAMQkAsgACAENgIEIAAgAjYCACADQdAAaiQAC/4CAQV/IwBB4ABrIgIkAAJAIAEoAgAiBRC4GyIDQXBJBEACQAJAIANBC08EQCADQRBqQXBxIgYQ1RohBCACIAZBgICA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CwsgAwu7AQEEfyABQQRIBH9BAAUgAUEEayEFA0AgAyAAIARBA3QiAmorAwBEAAAAAAAAAABiaiAAIAJBCHJqKwMARAAAAAAAAAAAYmogACACQRByaisDAEQAAAAAAAAAAGJqIAAgAkEYcmorAwBEAAAAAAAAAABiaiEDIARBBGoiBCAFTA0ACyABQXxxCyICIAFIBEADQCADIAAgAkEDdGorAwBEAAAAAAAAAABiaiEDIAJBAWoiAiABRw0ACwsgAwuoAgEFfyMAQfAAayIBJAACQAJAIAAQywdB+B9xRQRAAkAgABDMB0GAgARGBEAgAUE4aiAAKAIEEK0GGgwBCyABQThqIAAQyQcLIAEoAjhBB3EiAEEHRg0BIAFBADYCNCABIAFBOGo2AjAgAUEANgIsIAFBCGogAUEwaiABQSxqQX8QrAciAigCEEUEQEEAIQAMAwsgAEECdEHQogRqKAIAIQQgAigCFCEFQQAhAANAIAEoAiwgBSAEEQMAIABqIQAgAhCtByADQQFqIgMgAigCEEkNAAsMAgtBqX4gAUE4akHwogQQiQNB+KIEQYWjBEGAARCYCgALQal+IAFBCGpBt6MEEIkDQfiiBEGFowRBkAEQmAoACyABQThqELEGGiABQfAAaiQAIAALmgcCEn8EfCMAQfAJayIDJAACQCABEMwHQYCABEYEQCADQbgJaiABKAIEEK0GGgwBCyADQbgJaiABEMkHCwJAIAIQzAdBgIAERgRAIANBgAlqIAIoAgQQrQYaDAELIANBgAlqIAIQyQcLAkACQCADQYAJahC3BkUEQCADLwGACUH/H3ENAQsgAygCuAkhASADQfgIakIANwMAIANB8AhqQgA3AwAgA0HoCGpCADcDACADQgA3A+AIIAFBB3EiAkECdEHwswNqKAIAIQ4gAUEDdkH/A3EiCkEDSw0BIA5FDQEgCkEBaiEPIANBADYC3AggAyADQYAJajYC2AggAyADQbgJajYC1AggA0IANwPICCADQagIaiADQdQIaiADQcgIakF/EKwHIggoAhQhBCADQYgCNgIEIAMgA0EIaiIQNgIAIANB4AhqIQUgBCEGIAJBA00EQCADIA82AgQgEEEAIApBAnRBBGoQrxshAUGAgIAEQYCAAiACQQJJGyIRIAQgBCARShshBiADKAK8CSIFQQFOBEAgAygC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IANBgApqQQBB2AEQrxsaDAsLRAAAAAAAAAAAIRAgAkUNCSADQYAKakEAQdgBEK8bGiADQoCAgICAgIDwv383A/gKIANCgICAgICAgPC/fzcDmAsgA0KAgICAgICA8D83A6gLIANCgICAgICAgPC/fzcDqAogA0KAgICAgICA8D83A9gKIANCgICAgICAgPA/NwO4CgwJC0QAAAAAAADwPyAPIA+goyEQIAIEQCADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A8gDIANCADcD0AMgA0IANwPoAyADQgA3A/ADIANCADcDiAQgA0IANwOQBCADQgA3A4gDIANCADcDgAMgA0IANwPAAyADQoCAgICAgID4v383A7gDIANCADcDsAMgA0KAgICAgICA+D83A6gDIANCADcD4AMgA0KAgICAgICA+L9/NwPYAyADQgA3A4AEIANCgICAgICAgPg/NwP4AyADQgA3A7gEIANCADcDwAQgA0IANwPIBCADQgA3A9AEIANCADcD8AQgA0IANwPoBCADQgA3A5AFIANCADcDiAUgA0KAgICAgICA+L9/NwOoBCADQgA3A6AEIANCgICAgICAgPg/NwOYBCADQgA3A7AEIANCADcD4AQgA0IANwOABSADRAAAAAAAAPC/IA+jIhdEAAAAAAAA4D+iIhY5A6AFIAMgFyAVIBCaoiAPo0QAAAAAAADgP6KiIg85A9gEIAMgDzkD+AQgAyAPOQOYBSADQgA3A7gFIANCADcDsAUgA0IANwOoBSADIBY5A8AFIANCADcD2AUgA0IANwPQBSADQgA3A8gFIAMgFjkD4AUgA0IANwPgBiADQgA3A/gGIANCADcDoAcgA0IANwOoByADQgA3A8gHIANCADcD0AcgA0IANwPYByADQgA3A+AHIANCADcD2AYgAyAQOQPQBiADQgA3A/AGIANCADcDmAcgA0IANwOIByADIBA5A4AHIANCADcDwAcgAyAQOQOwByADIBE5A7gHIAMgFDkD6AYgAyASOQOQByADQoCAgICAgID4PzcD6AcgA0IANwOwAiADQgA3A+gCIANCADcDqAIgAyATOQOgAiADQgA3A+ACIAMgEiAQojkD2AIgA0IANwPQAiADIBM5A8gCIANCADcDwAIgAyAUIBCiOQO4AiADIBEgEKI5A/gCIAMgEzkD8AIgA0KGgImShAk3A4ACIANChYCAgJABNwKUAiADQgA3A4gCIAMgA0GAA2o2ApACIANChoCJkoQFNwPgASADQoSAgIDQADcC9AEgA0IANwPoASADIANB0AZqNgLwASADQoaAiZKEBDcDwAEgA0KDgICAwAA3AtQBIANCADcDyAEgAyADQaACajYC0AEgA0KGgImShAU3AyAgA0KDgICA0AA3AjQgA0IANwMoIAMgA0FAazYCMCADQcABaiADQeABakQAAAAAAADwP0EARAAAAAAAAPA/IANBIGpBABCGBiADQSBqIANBgAJqRAAAAAAAAPA/QQBEAAAAAAAA8D8gA0HgCWpBABCGBiADKwOYCiEPIAMgAysDiAo5A5gKIAMgDzkDiAogAysDkAohDyADIAMrA7AKOQOQCiADIA85A7AKIAMrA6gKIQ8gAyADKwO4CjkDqAogAyAPOQO4CiADKwPQCiEPIAMgAysD4Ao5A9AKIAMgDzkD4AogAysD2AohDyADIAMrA/gKOQPYCiADIA85A/gKIAMrA4ALIQ8gAyADKwPwCjkDgAsgAyAPOQPwCiADKwOoCyEPIAMgAysDmAs5A6gLIAMgDzkDmAsgAysDwAshDyADIAMrA6ALOQPACyADIA85A6ALIAMrA8gLIQ8gAyADKwO4CzkDyAsgAyAPOQO4CwsgESAQIBOiIhOiIRAgEiAToiERIBQgE6IhFAwJCyAcIBaiIRIgGCAWoiETIBYgGaIhD0EAIQBEAAAAAAAA8D8hFANAIABBA3QiAUHIAGoiBCADQYAKamogDyAUoiATIANBQGsgAWorAwCioCAQIANBgANqIARqKwMAoqAgEiADQaACaiABaisDAKKgIBEgA0HQBmogBGorAwCioDkDACAAQQFqIgBBCUZFBEAgA0GwCGogAEEDdGorAwAhFAwBCwsgHCAXoiESIBggF6IhEyAXIBmiIQ9BACEARAAAAAAAAPA/IRQDQCAAQQN0IgFBkAFqIgQgA0GACmpqIA8gFKIgEyADQUBrIAFqKwMAoqAgECADQYADaiAEaisDAKKgIBIgA0GgAmogAWorAwCioCARIANB0AZqIARqKwMAoqA5AwAgAEEBaiIAQQlGDQsgA0GwCGogAEEDdGorAwAhFAwACwALQa5+IANBgANqQe6lBBCJA0GxpQRB46QEQYsC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hAEgAEEBOgCAASAAQgE3A3ggACAIOQNwIAZBQGskAAvHBQECfyAAQQA2AgAgACgCBCEBIABBADYCBAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AgggAEEMaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCECAAQRRqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIYIABBHGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AiAgAEEkaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCKCAAQSxqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIwIABBNGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AjggAEE8aiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCQCAAQcQAaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCSCAAQcwAaiIBKAIAIQAgAUEANgIAAkAgAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQ0BoLC/0DAQJ/IAAQzwsCQCAAKAJMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAkQiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCPCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAg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IARByAFqIARBwAFqELoGIQcgBEIANwNIIAQgBzYCRCAEQYCAhJB8NgJAIAYgBEFAaxCWBCAHELEGGiAGELEGGiACKAIAIQYgAigCBCEHCyAFIAcgBmtIDQALCyAEQgA3A1ggBEGAgIyIeDYCUCAEIAM2AlQgASAEQdAAahC+CyAKQQYQqgYgAygCBCIHIAMoAgAiBmtBAU4EQEEAIQhBACEFA0ACQCAFIAZqLQAARQRAIAVBAWohBQwBCyAEIAU2AgggBCAFQQFqIgU2AgwgBEKAgICA+P////8ANwNAIARB0ABqIAkgBEEIaiAEQUBrELoGIQYgBCAINgLIASAEIAhBAWoiCDYCzAEgBEKAgICA+P////8ANwPAASAEQQhqIAEgBEHIAWogBEHAAWoQugYhByAEQgA3A0ggBCAHNgJEIARBgICEkHw2AkAgBiAEQUBrEJYEIAcQsQYaIAYQsQYaIAMoAgAhBiADKAIEIQcLIAUgByAGa0gNAAsLIAkQsQYaIARB0AFqJAALiQUBAX8jAEGAA2siAyQAIANByAJqIABBABDNBiADQZACaiABQQAQzQYCQCADLwHIAkH4H3ENACADKALQAkF+cUECRw0AIAMoAtQCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0HIAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANByAJqNgKkASADQdgBaiADQaABahC0BwsCQCADLwGQAkH4H3ENACADKAKYAkF+cUECRw0AIAMoApwCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0GQAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANBkAJqNgKkASADQdgBaiADQaABahC0BwsgA0HYAWogAkEAEM0GIANBoAFqQQBBABDNBiADQgA3AyggA0GAgIQINgIgIAMgA0HIAmo2AiQgA0IANwMIIANBgICECDYCACADIANBkAJqNgIEIANCADcDYCADQQA2AlwgA0GAgIAQNgJYIANB6ABqIANBIGogAyADQdgAahDWCwJAIANB6ABqELcGBEAgA0EgaiACQQAQzQYgA0IANwMYIANCADcDECADQgA3AwggA0KBgICAwAA3A2AgA0GGgIiIfDYCWCADQgA3AwAgAyADNgJcIANBIGogA0HYAGpB1NYKEJkEIANBIGoQsQYaDAELIANBgICEkHw2AiAgA0IANwMoIAMoAtgBIQAgAyADQdgBajYCJCADQegAaiADQSBqIABB/x9xRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyADQegAahCxBhogA0GgAWoQsQYaIANB2AFqELEGGiADQZACahCxBhogA0HIAmoQsQYaIANBgANqJAALsAcBBH8jAEHwAWsiAiQAIAJBuAFqIABBABDNBiACQYABaiABQQAQzQYgAkHIAGogAkGAAWoQrQYhAQJAIAIoArgBQQN2Qf8DcSIABEAgAEEBaiEADAELIAIoAsQBIgAgAigCwAEiA0wNACACQgA3AwggAkGAgIQINgIAIAIgAkG4AWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBuAFqNgI8IAIgAkE4ahC0ByADIQALAkAgAigCgAFBA3ZB/wNxIgNBAWogAigCiAEiBCACKAKMASIFIAQgBUgbIAMbIgMgAEYEQCACQYCAhBA2AgAgAkIANwMIIAIgAkGAAWo2AgQgAkG4AWogAhCWBAwBCyAAIANIBEAgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ2QsMAQsgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ1wsLIAIgAkGAAWogASgCAEEDdkH/A3EiAEEBaiABKAIMIgQgASgCCCAARSADIARIcSIAGxDBBiACQYABaiACELkGGiACELEGGgJAAkACQCAABEAgAigCiAEgASgCDEcNAiACKAKMASABKAIIRw0CIAIoAoABIAEoAgBzQf8fcUUEQCACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAiABNgI8IAJBgICEkHw2AjggAkIANwNAIAIgAkE4ahC0BwwCCyACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBgAFqNgI8IAIgAkE4ahC0ByACQYCAhJB8NgIAIAJCADcDCCACIAE2AgQgAkGAAWogAiABKAIAQf8fcUQAAAAAAADwP0QAAAAAAAAAABCIAwwBCyACKAKoASIAKAIEIAEo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OQOQASABIAArA4gBIAihOQOYASABIAArA6ABIAihOQOgASABIAArA3ggACsDYCIIoTkDqAEgASAAKwOQASAIoTkDsAEgASAAKwOoASAIoTkDuAEgASAAKwOAASAAKwNoIgihOQPAASABIAArA5gBIAihOQPIASABIAArA7ABIAihOQPQASABQSBqIAEQtwQgACgCUCIFQQFOBEAgACgCOCEGIAAoAiAhBwNAIAYgA0EFdGoiBCABKwNAIAcgA0EYbGoiAisDACAAKwNYoaIgASsDSCACKwMIIAArA2ChoqAgASsDUCACKwMQIAArA2ihoqAiCDkDCCAEIAErA1ggAisDACAAKwNYoaIgASsDYCACKwMIIAArA2ChoqAgASsDaCACKwMQIAArA2ihoqAiCTkDECAEIAErA3AgAisDACAAKwNYoaIgASsDeCACKwMIIAArA2ChoqAgASsDgAEgAisDECAAKwNooaKgIgo5AxggBEQAAAAAAADwPyAIoSAJoSAKoTkDACADQQFqIgMgBUcNAAsLIAFB4AFqJAALqAMBAnwgACsDECEGIAMrAwAhByABKAIQIAJB4ABsaiIBQgA3AwggASAHIAaiOQMAIAMrAwAhBiAAKwMAIQcgAUIANwNgIAEgBiAHIAShojkDECABIAMrAwAgACsDGKI5A2ggASADKwMAIAArAwggBaGiOQNwIAArAxAhBiADKwMIIQcgAUIANwMgIAEgByAGojkDGCADKwMIIQYgACsDACEHIAFCADcDeCABIAYgByAEoaI5AyggASADKwMIIAArAxiiOQOAASABIAMrAwggACsDCCAFoaI5A4gBIAArAxAhBiADKwMQIQcgAUIANwM4IAEgByAGojkDMCADKwMQIQYgACsDACEHIAFCADcDkAEgASAGIAcgBKGiOQNAIAEgAysDECAAKwMYojkDmAEgASADKwMQIAArAwggBaGiOQOgASAAKwMQIQYgAysDGCEHIAFCADcDUCABIAcgBqI5A0ggAysDGCEGIAArAwAhByABQgA3A6gBIAEgBiAHIAShojkDWCABIAMrAxggACsDGKI5A7ABIAEgAysDGCAAKwMIIAWhojkDuAELwAICBH8MfCAAQbgBakEAQeAAEK8bIQYDQCAGIBIgASAFQQN0aiIDKwMAIAJBCyAFa0HgAGxqIgQrAwCioCISOQMAIAAgESADKwMAIAQrAwiioCIROQPAASAAIBAgAysDACAEKwMQoqAiEDkDyAEgACAPIAMrAwAgBCsDGKKgIg85A9ABIAAgDiADKwMAIAQrAyCioCIOOQPYASAAIA0gAysDACAEKwMooqAiDTkD4AEgACAMIAMrAwAgBCsDMKKgIgw5A+gBIAAgCyADKwMAIAQrAziioCILOQPwASAAIAogAysDACAEKwNAoqAiCjkD+AEgACAJIAMrAwAgBCsDSKKgIgk5A4ACIAAgCCADKwMAIAQrA1CioCIIOQOIAiAAIAcgAysDACAEKwNYoqAiBzkDkAIgBUEBaiIFQQRHDQALC+YBAQZ/IAAoAlAiBEEBTgRAIAAoAkQhBSAAKAI4IQYDQCAFIAJBGGxqIgMgBiACQQV0aiIBKwMAIAArA7gBoiABKwMIIAArA9ABoqAgASsDECAAKwPoAaKgIAErAxggACsDgAKioDkDACADIAErAwAgACsDwAGiIAErAwggACsD2AGioCABKwMQIAArA/ABoqAgASsDGCAAKwOIAqKgOQMIIAMgASsDACAAKwPIAaIgASsDCCAAKwPgAaKgIAErAxAgACsD+AGioCABKwMYIAArA5ACoqA5AxAgAkEBaiICIARHDQALCwuNCwIFfw18IwBBkB1rIgMkACAAEJ4MIAAQnwwgAyAAKAJQQQF0QQxBBhD3AyIFNgKMHSAAKAJQQQFOBEADQCAAIAUgBEEBdCAAKAI4IARBBXRqIAAoAiwiByAEQQR0IgZqKwMAIAcgBkEIcmorAwAQoAwgBEEBaiIEIAAoAlBIDQALCyADQYAUakEAQYAJEK8bGiADQaATakEAQeAAEK8bGiADQaAKakEAQYAJEK8bGiADQoaAiZKEDDcDgAogA0KMgICAwAE3ApQKIANCADcDiAogAyADQYAUajYCkAogA0KGgImShAE3A+AJIANCjICAgBA3AvQJIANCADcD6AkgAyADQaATajYC8AkgA0KGgImShAw3A8AJIANCjICAgMABNwLUCSADQgA3A8gJIAMgA0GgCmo2AtAJIAUgA0GACmpBABCHBiADQYAKaiADQeAJaiADQcAJakEAQQMQuQQgA0GMHWoQ+wMgA0HgBWpBAEHgAxCvGxogA0HYBWoiBEIANwMAIANB0AVqIgdCADcDACADQcgF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+AIgAyAPIAUrAxAgHKEgBCsDECAQoaKgIg85A4ADIAZBAWoiBiAHRw0ACwsgA0HgAGogA0FAayADQSBqIANBARC5BCABIAMrA9ABIhMgAysDgAEiFKIgAysD2AEiCyADKwOIASIVoqAgAysD4AEiDCADKwOQASIWoqAiDzkDACABIBMgAysDmAEiF6IgCyADKwOgASIdoqAgDCADKwOoASIeoqAiCjkDCCABIBMgAysDsAEiGKIgCyADKwO4ASIZoqAgDCADKwPAASILoqAiEzkDECABIBggAysD6AEiDKIgGSADKwPwASIaoqAgCyADKwP4ASIboqAiHzkDKCABIAwgF6IgGiAdoqAgGyAeoqAiIDkDICABIAwgFKIgGiAVoqAgGyAWoqAiGjkDGCABQUBrIBggAysDgAIiG6IgGSADKwOIAiIYoqAgCyADKwOQAiIZoqAiCzkDACABIBsgF6IgGCAdoqAgGSAeoqAiDDkDOCABIBsgFKIgGCAVoqAgGSAWoqAiFDkDMCAPICCiIAuiIAogH6IgFKKgIBMgGqIgDKKgIBQgICAToqKhIAsgCiAaoqKhIA8gH6IgDKKhRAAAAAAAAAAAYwRAIAEgC5o5A0AgASAMmjkDOCABIBSaOQMwCyACIBEgDyANoiAKIA6ioCATIBCioKE5AwAgAiASIA0gASsDGKIgDiABKwMgoqAgECABKwMooqChOQMIIAIgHCANIAErAzCiIA4gASsDOKKgIBAgASsDQKKgoTkDECADQZADaiQAC8wCAgN/FXwCQCAAKAJQIgNBAUgEQAwBCyABQUBrKwMAIQkgASsDOCEKIAErAyghCyABKwMgIQwgACgCLCEEIAArAxghDSAAKwMIIQ4gACsDECEPIAArAwAhECACKwMQIREgASsDMCESIAIrAwghEyABKwMYIRQgAisDACEVIAErAxAhFiABKwMIIRcgASsDACEYIAAoAiAhBUEAIQEDQCAGIAQgAUEEdCICaisDACAQIBUgGCAFIAFBGGxqIgArAwAiBqIgFyAAKwMIIgeioCAWIAArAxAiCKKgoCAPokQAAAAAAADwPyARIAYgEqIgByAKoqAgCCAJoqCgoyIZoqChIhogGqIgBCACQQhyaisDACAOIBkgEyAGIBSiIAcgDKKgIAggC6KgoCANoqKgoSIGIAaioJ+gIQYgAUEBaiIBIANHDQALCyAGIAO3owvuAwIHfwJ8IwBB8AFrIgMkACADQeAAakEAQZABEK8bGiADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEAzcDICADQoaAgIAwNwI0IANCADcDKCADIANB4ABqNgIwIANChoCJkoQBNwMAIANCg4CAgBA3AhQgA0IANwMIIAMgA0FAazYCECAAKAIEIQggACgCAEH/H3FBBUchCQNAIAQgCGwiBSAAKAIQaiEHAnwgCUUEQCAEQRhsIgYgAygCMGogByoCALs5AwAgAygCMCAGaiAAKAIQIAVqKgIEuzkDCCAAKAIQIAVqKgIIuwwBCyAEQRhsIgYgAygCMGogBysDADkDACADKAIwIAZqIAAoAhAgBWorAwg5AwggACgCECAFaisDEAshCiADKAIwIAZqIAo5AxAgBEEBaiIEQQZHDQALIANBIGogASADELgEAkAgAysDQCIKRAAAAAAAAAAAYwRAIAIgCpqfIgs5AwAgAysDUCIKRAAAAAAAAAAAYyEEIAqaIQoMAQsgAiAKnyILOQMAIAMrA1AiCkQAAAAAAAAAAGQhBAsgAiAKn0QAAAAAAAAAACAEGzkDCCADKwNIRAAAAAAAAAAAY0EBc0UEQCACIAuaOQMACyACQgA3AxAgAkIANwMYIANB8AFqJAAL4wQCB38CfCMAQeACayIDJAAgA0HwAGpBAEHwARCvGxogA0IANwNgIANCADcDWCADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEBTcDICADQoaAgIDQADcCNCADQgA3AyggAyADQfAAajYCMCADQoaAiZKEATcDACADQoWAgIAQNwIUIANCADcDCCADIANBQGs2AhAgACgCBCEIIAAoAgBB/x9xQQVHIQkDQCAGIAhsIgQgACgCEGohBwJ8IAlFBEAgBkEobCIFIAMoAjBqIAcqAgC7OQMAIAMoAjAgBWogACgCECAEaioCBLs5AwggAygCMCAFaiAAKAIQIARqKgIIuzkDECADKAIwIAVqIAAoAhAgBGoqAgy7OQMYIAAoAhAgBGoqAhC7DAELIAZBKGwiBSADKAIwaiAHKwMAOQMAIAMoAjAgBWogACgCECAEaisDCDkDCCADKAIwIAVqIAAoAhAgBGorAxA5AxAgAygCMCAFaiAAKAIQIARqKwMY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IhUrAwA5AxggFSAMKAIAaisDACErIAIgLCAuoiApICqioJo5AyggAiArOQMgIAIgASsDADkDMCACIBQrAwA5AzggAiABIApBAXRqKwMAOQNAIANCADcDUCADQgA3A1ggA0HoAGoiAUIANwMAIANCADcDSCADQoOAgIAwNwNAIANChoD9lyQ3AzggAyABNgJkIAMgA0FAazYCYCADQfAIakEDQQNBBiACQQAQrgYhASADQYCAhBA2ArgBIANCADcDwAEgAyADQThqNgK8ASABIANBuAFqEJYEIAEQsQYaIANBuAFqICEgA0E4ahD/BiADQThqELEGGiADQfAIaiADQbgBaiAgEIEHIAMQpwYhCiADKALwCCIBIANB8AhqIApBfyABKAIAKAIMEQYAIANBOGogChDDCyACIANBOGpByAAQrhshASAKELEGGiAJELEGGiAIELEGGiANELEGGiAQELEGGiARELEGGiASELEGGiABIAErA0AiKUQAAAAAAADwPyApoyIpojkDQCABICkgASsDOKI5AzggASApIAErAzCiOQMwIAEgKSABKwMoojkDKCABICkgASsDIKI5AyAgASApIAErAxiiOQMYIAEgKSABKwMQojkDECABICkgASsDCKI5AwggASABKwMAICmiOQMAIAUQsQYaIAQQsQYaIAAQsQYaIAYQsQYaIA8QsQYaIAsQsQYaIAcQsQYaIBoQsQYaIB8QsQYaIB4QsQYaIB0QsQYaIBwQsQYaIBsQsQYaICYQsQYaIBgQsQYaIBkQsQYaIBcQsQYaIBYQsQYaICUQsQYaICQQsQYaICMQsQYaICIQsQYaICgQsQYaICEQsQYaICAQsQYaICcQsQYaIBMQsQYaIA4QsQYaIANB4BBqJAAL0ggCA38IfCMAQaADayIFJAAgA0EEQQRBBkEAQQAQ9wcgBEEEQQRBBkEAQQAQ9wcCQCADEMwHQYCABEYEQCAFQeACaiADKAIEEK0GGgwBCyAFQeACaiADEMkHCwJAIAQQzAdBgIAERgRAIAVBqAJqIAQoAgQQrQYaDAELIAVBqAJqIAQQyQcLIAVCgYCAgBA3A/gBIAVBhoCIiHw2AvABIAVCADcDuAEgBSAFQbgBajYC9AEgBUHgAmogBUHwAWpB1NYKEJkEIAUoAvACIAUoAowDKAIAQQNsakKAgICAgICA+D83AxggBUKBgICAEDcD+AEgBUGGgIiIfDYC8AEgBUIANwO4ASAFIAVBuAFqNgL0ASAFQagCaiAFQfABakHU1goQmQQgBSgCuAIgBSgC1AIoAgBBA2xqQoCAgICAgID4PzcDGCACKwMAIQwgAisDCCENIAIrAxAhCCACKwMYIQ4gAisDMCEKIAIrAyAhDyACKwMoIQkgAisDOCELIAVCgICAgPj/////ADcD8AEgBUKAgICAMDcDgAEgBUG4AWogBUHgAmogBUHwAWogBUGAAWoQugYhBCAFQoCAgIAwNwOAASAFQoCAgID4/////wA3A0ggBUHwAWogBCAFQYABaiAFQcgAahC6BiECIAQQsQYaIAVCgICAgPj/////ADcDuAEgBUKAgICAMDcDSCAFQYABaiAFQagCaiAFQbgBaiAFQcgAahC6BiEDIAVCgICAgDA3A0ggBUKAgICA+P////8ANwMQIAVBuAFqIAMgBUHIAGogBUEQahC6BiEEIAMQsQYaIAUgAjYChAEgBUGAgIQQNgKAASAFQgA3A4gBIAUgBDYCTCAFQYCAhBA2AkggBUIANwNQIAwgCiAIoqEgDSAIIAuioSAOIAogCaKhIA8gCyAJoqEgCCAJIAVBgAFqIAVByABqELoMIAVCgICAgPj/////ADcDgAEgBUKDgICAwAA3AxAgBUHIAGogBUHgAmogBUGAAWogBUEQahC6BiEDIAVCgICAgDA3AxAgBUKAgICA+P////8ANwMAIAVBgAFqIAMgBUEQaiAFELoGIQYgAxCxBhogBUKAgICA+P////8ANwNIIAVCg4CAgMAANwMAIAVBEGogBUGoAmogBUHIAGogBRC6BiEDIAVCgICAgDA3AwAgBUKAgICA+P////8ANwOYAyAFQcgAaiADIAUgBUGYA2oQugYhByADELEGGiAFQgA3AxggBSACNgIUIAVBgICECDYCECAFIAY2AgQgBUGAgIQQNgIAIAVCADcDCCAAIAEgBUEQaiAFELsMIAVCADcDGCAFIAQ2AhQgBUGAgIQINgIQIAUgBzYCBCAFQYCAhBA2AgAgBUIANwMIIAAgASAFQRBqIAUQuwwgBxCxBhogBhCxBhogBBCxBhogAhCxBhogBUGoAmoQsQYaIAVB4AJqELEGGiAFQaADaiQAC6gNAhB/An0jAEHABWsiBCQA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gIAERgRAIANBOGogASgCBBCtBhoMAQsgA0E4aiABEMkHCyADQfAAaiADQThqEJwHIANBiANqIANB0AJqIANB8ABqEIIHIANB6ARqIANBiANqEKYHIQEgA0GAgIQQNgIoIANCADcDMCADIAI2AiwgAyAFNgIcIANBgICEEDYCGCADQgA3AyAgAyAHNgIMIANBgICEEDYCCCADQgA3AxAgASADQShqIANBGGogA0EIakEAEK8EIANBgARqELEGGiADQcgDahCxBhogA0GQA2oQsQYaIANB6AFqELEGGiADQbABahCxBhogA0H4AGoQsQYaIANBOGoQsQYaIANB0AJqELEGGgJAAn8CQAJAIAItAAFBwABxDQAgAigCKCIBKAIAQQFGDQAgASgCBEEBRw0BIAIoAhAiBCACKAIsKAIAQQF0agwCCyACKAIQIgRBCGohASAEKwMQIQwMAgsgAigCECIEQQIgAigCDCIGbSILIAIoAiwoAgBsakECIAYgC2xrQQN0agsrAwAhDCABKAIEQQFGBEAgBCACKAIsKAIAaiEBDAELIAQgAigCDCIBQQAgAUEBakEDSRsiBiACKAIsKAIAbGpBASABIAZsa0EDdGohAQsgACsDACAMIAErAwCjZARAIANBiANqIAUQnAcgAygCiAMiASADQYgDaiADQcgHakF/IAEoAgAoAgwRBgAgA0GABGoQsQYaIANByANqELEGGiADQZADahCxBhogA0IANwOQAyADQYCAhAg2AogDIAMgA0HIB2o2AowDIANBiANqEKoERAAAAAAAAAAAY0EBc0UEQCADKALYByADKAL0BygCAEEBdGoiASABKwMAmjkDACABIAErAwiaOQMIIAEgASsDEJo5AxALIAcQsQYaIAUQsQYaIAIQsQYaIAoQsQYaIAkQsQYaIAgQsQYaIANByAdqELEGGiADQYAIaiQADwtBqX4gA0GIA2pBouwEEIkDQbfsBEGm3QRB1QYQmAoAC4UUAwx/AX0FfCMAQeADayIEJAACQCAAEMwHQYCABEYEQCAEQagDaiAAKAIEEK0GGgwBCyAEQagDaiAAEMkHCwJAAkACQCAEKAKwAyIMQQFHQQAgBCgCtAMiCUEBRxtFBEAgBCgCqANBA3ZB/wNxQQFrQQJPDQEgCSAMbCIJQQNMDQIgABDLByIKQRZLDQNBASAK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aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiACELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoCAgIAwNwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiAFELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoOAgIDAADcDyAEgCCABIAhBOGogCEHIAWoQugYhACAIQoCAgIAwNwPIASAIQoCAgID4/////wA3A4ABIAhBOGogACAIQcgBaiAIQYABahC6BiIEIAMQlgQgBBCxBhogABCxBhogCEKAgICA+P////8ANwM4IAhCg4CAgMAANwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A8gBIAhCgICAgPj/////ADcDgAEgCEE4aiAAIAhByAFqIAhBgAFqELoGIgQgBhCWBCAEELEGGiAAELEGGiAKELEGGiABELEGGiAOELEGGiANELEGGiAJELEGGiAMELEGGiAIQYAEahCxBhogCxCxBhogCEHwBGokAAuREQIEfxV8IwBBwAFrIgMkAAJ8An8CQAJAIAAQywdBDUcEQCAAEMsHQQ5HDQELAkAgABDMB0GAgARGBEAgA0GIAWogACgCBBCtBhoMAQsgA0GIAWogABDJBwsgABDLByEAIAMoAogBQYCAAXEhBSAAQQ1GBEACQAJAIAVFBEAgAygCmAEiACoCBIy7IQ0gACoCAIy7IQ4CQAJAAkACQAJAAkACQCADKAKwASIFKAIAQQFHBEACfyAFKAIEQQFGBEAgACADKAK0ASgCAGoMAQsgACADKAKUASIEQQAgBEEBakEDSRsiBiADKAK0ASgCAGxqQQEgBCAGbGtBA3RqCyoCAIy7IQoMAQsgACoCCIy7IQogAygCsAEiBSgCAEEBRg0BCwJ/IAUoAgRBAUYEQCAAIAMoArQBKAIAagwBCyAAIAMoApQBIgRBACAEQQFqQQNJ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ACsDkAIgGyABKwMIoqE5A5ACIAAgACsDmAIgHCABKwMIoqE5A5gCIAAgACsD2AIgHSABKwMIoqE5A9gCIAAgACsD4AIgHiABKwMIoqE5A+ACIAAgACsDqAMgHyABKwMIoqE5A6gDIAAgGCAYoiAZIBmioCIQIBqiIAArA+ADoDkD4AMgACAQIBuiIAArA+gDoDkD6AMgACAQIByiIAArA/ADoDkD8AMgACAQIB2iIAArA7AEoDkDsAQgACAQIB6iIAArA7gEoDkDuAQgACAQIB+iIAArA4AFoDkDgAUgAyACKwMAIAMrA7gJoDkDuAkgAyACKwMIIAMrA8AJoDkDwAkgAyACKwMQIAMrA8gJoDkDyAkgAyACKwMAIAMrA5gKoDkDmAogAyACKwMIIAMrA6AKoDkDoAogAyACKwMQIAMrA6gKoDkDqAogAyADKwPoCSABKwMAIAIrAwCioTkD6AkgAyADKwPwCSABKwMAIAIrAwiioTkD8AkgAyADKwP4CSABKwMAIAIrAxCioTkD+AkgAyADKwOwCiABKwMIIAIrAwCioTkDsAogAyADKwO4CiABKwMIIAIrAwiioTkDuAogAyADKwPACiABKwMIIAIrAxCioTkDwAogAyADKwPICiABKwMAIAIrAwCioTkDyAogAyADKwPQCiABKwMAIAIrAwiioTkD0AogAyADKwPYCiABKwMAIAIrAxCioTkD2AogAyADKwPgCiABKwMIIAIrAwCioTkD4AogAyADKwPoCiABKwMIIAIrAwiioTkD6AogAyADKwPwCiABKwMIIAIrAxCioTkD8AogAyADKwP4CiAQIAIrAwCioDkD+AogAyADKwOACyAQIAIrAwiioDkDgAsgAyADKwOICyAQIAIrAxCioDkDiAsgIiARoCEiICEgEqAhISAgIBegISAgEyAZoCETIBUgGKAhFSAWIBCgIRYgBEEBaiIEIAVHDQALCyAAIAArAzg5A3ggACAAKwNAOQPAASAAIAArA4gBOQPIASAAIAArA5ACOQPQAiAAIAArA5gCOQOYAyAAIAArA+ACOQOgAyAAIAArA+gDOQOoBCAAIAArA/ADOQPwBCAAIAArA7gEOQP4BCAAIAArAwA5A/ABIAAgACsDCCIQOQP4ASAAIAArAxAiETkDgAIgACAAKwNQOQPAAiAAIAArA1giEjkD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IAIrAwAgA0HAA2ogAWorAwCgOQMAIARBAWoiBEHRAEcNAAsgA0KJgICAkAE3A8gDIANBhoCIiHw2AsADIAMgADYCxAMgA0GYAmoQpwYhByADQdACahCnBiEFIANBiANqEKcGIQYgA0GYAmogA0HAA2oQtQQgA0HAA2ogBRDZDCAAQYgFaiADQcADakHIABCuGxogAyAGEJwHIANB4AFqEKcGIQEgAygCACICIAMgAUF/IAIoAgAoAgwRBgAgA0HAA2ogARDaDCAAQdAFaiADQcADakGIBRCuGxogARCxBhogA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaAkACQCAAKwOIBURIr7ya8td6PmZBAXNFBEAgAEEAIAAoAsgMIgFrQQN0aisDwAVESK+8mvLXej5jDQEgASEEDAILQal+IANBwANqQYOBBRCJA0H2gAVBwPwEQfsBEJgKAAsDQEEGIAFrIQIgAUEBaiIEIQEgACACQQN0aisDiAVESK+8mvLXej5jDQALCyAAIARBAWo2AsgMIARBBk4NASAAQcAMaiAiIBSjOQMAIABBuAxqICEgFKM5AwAgACAgIBSjOQOwDCAGELEGGiAFELEGGiAHELEGGiADQcgIahCxBhogA0GACWoQsQYaIANBkAtqJAAPC0GpfiADQcADakHAgAUQiQNB9oAFQcD8BEHuARCYCgALQal+IANBwANqQZGBBRCJA0H2gAVBwPwEQf8BEJgKAAu8HAIFfxt8IwBB0ANrIgEkACABQv/////////3/wA3A8gDRP///////+9/IQdBCSAAKALIDCICa0EIIAJBAEobIgRBCEwEQCABQZgCaiEFIAQhAwNAIAAgA0EDdGoiAisD0AUhCCACKwOYBiEJIAIrA+AGIQogAisDqAchCyACKwPwByEMIAJBuAhqKwMAIQ0gAkGACWorAwAhDiACQcgJaisDACEPIAEgAkGQCmorAwBEqkxY6Hq2+z+iIgc5A8ADIAEgD0SqTFjoerb7P6IiDzkDuAMgASAORKpMWOh6tvs/oiIOOQOwAyABIA1EqkxY6Hq2+z+iIg05A6gDIAEgDESqTFjoerb7P6IiDDkDoAMgASALRKpMWOh6tvs/oiILOQOYAyABIApEqkxY6Hq2+z+iIgo5A5ADIAEgCUSqTFjoerb7P6IiCTkDiAMgASAI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NgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbCxgAIAAoAgQiACABIAIgACgCACgCIBEFAAu9AgEDfyMAQRBrIgMkACADQQhqIAEoAgQiAiACKAIAKAIsEQIAIAMgASgCDCIBIAEoAgAoAiwRAgBBIBDVGiIBQgA3AgQgAUGokgU2AgAgAUEMaiIEEOMLGiABQaSTBTYCDCABIAMoAgg2AhAgASADKAIMIgI2AhQgAgRAIAIgAigCBEEBajYCBAsgASADKAIANgIYIAEgAygCBCICNgIcAkAgAkUEQCAAIAE2AgQgACAENgIADAELIAIgAigCBEEBajYCBCADKAIEIQIgACABNgIEIAAgBDYCACACRQ0AIAIgAigCBCIBQQFrNgIEIAENACACIAIoAgAoAggRAQAgAhDQGgsCQCADKAIMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyADQRBqJAALiQEBA38gAEG0lQU2AgwgAEG8lAU2AgACQCAAKAIcIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQxqIQICQCAAKAIUIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAC4wBAQN/IABBtJUFNgIMIABBvJQFNgIAAkAgACgCHCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEMaiECAkAgACgCFCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwt5AQJ/IABBtJUFNgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC3wBAn8gAEG0lQU2AgACQCAAKAIQIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLvQIBA38jAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECACADIAEoAgwiASABKAIAKAIsEQIAQSAQ1RoiAUIANwIEIAFBvJQFNgIAIAFBDGoiBBDjCxogAUG0lQU2AgwgASADKAIINgIQIAEgAygCDCICNgIUIAIEQCACIAIoAgRBAWo2AgQLIAEgAygCADYCGCABIAMoAgQiAjYCHAJAIAJFBEAgACABNgIEIAAgBDYCAAwBCyACIAIoAgRBAWo2AgQgAygCBCECIAAgATYCBCAAIAQ2AgAgAkUNACACIAIoAgQiAUEBazYCBCABDQAgAiACKAIAKAIIEQEAIAIQ0BoLAkAgAygCDCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgA0EQaiQACzcBAX8gAEHQlwU2AgwgAEHIlgU2AgAgACgCYCIBBEAgACABNgJkIAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQdCXBTYCDCAAQciWBTYCACAAKAJgIgEEQCAAIAE2AmQgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABB0JcFNgIAIAAoAlQiAQRAIAAgATYCWCABEKIbCyAAEOMLGiAACy4BAX8gAEHQlwU2AgAgACgCVCIBBEAgACABNgJYIAEQohsLIAAQ4wsaIAAQohsLnwMBAn8jAEGgAmsiAyQAAkACQCABELcGRQRAIAEoAgBBB3EiAkEGRw0BIAAgASgCECICKwMAtjgCDCAAIAIrAwi2OAIQIAAgAisDELY4AhQgACACKwMYtjgCGCAAIAIrAyC2OAIcIAAgAisDKLY4AiAgACACKwMwtjgCJCAAIAIrAzi2OAIoIAAgAisDQLY4AiwgA0EIaiABQQAQnQcgA0HoAWoQpwYhASADKAIIIgIgA0EIaiABQX8gAigCACgCDBEGACADQYABahCxBhogA0HIAGoQsQYaIANBEGoQsQYaIAEoAgBBB3EiAkEGRw0CIAAgASgCECICKwMAtjgCMCAAIAIrAwi2OAI0IAAgAisDELY4AjggACACKwMYtjgCPCAAIAIrAyC2OAJAIAAgAisDKLY4AkQgACACKwMwtjgCSCAAIAIrAzi2OAJMIAAgAisDQLY4AlAgARCxBhogA0GgAmokAA8LQal+IANBCGpBiJkFEIkDQZeZBUGqmQVB8QEQmAoACyACQQZB2JkFENIDAAsgAkEGQeiaBRDSAwALhAICAX8FfSAAKAIIIgIgAUEEdCIBQQhyaioCACIDQwAAgD8gACoCLCABIAJqKgIAIgQgACoCJJQgAiABQQRyaioCACIHIAAqAiiUkpKVIgUgACoCFCAEIAAqAgyUIAcgACoCEJSSkpSTIgYgBpQgAiABQQxyaioCACIGIAUgACoCICAEIAAqAhiUIAcgACoCHJSSkpSTIgUgBZSSIARDAACAPyAAKgJQIAMgACoCSJQgBiAAKgJMlJKSlSIFIAAqAjggAyAAKgIwlCAGIAAqAjSUkpKUkyIEIASUkiAHIAUgACoCRCADIAAqAjyUIAYgACoCQJSSkpSTIgMgA5SSQwAAAD+UC8wCAgR/BX0gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCVCEFIAAoAgghAQNAIAUgAkECdGogASACQQR0IgNBCHJqKgIAIgZDAACAPyAAKgIsIAEgA2oqAgAiByAAKgIklCABIANBBHJqKgIAIgogACoCKJSSkpUiCCAAKgIUIAcgACoCDJQgCiAAKgIQlJKSlJMiCSAJlCABIANBDHJqKgIAIgkgCCAAKgIgIAcgACoCGJQgCiAAKgIclJKSlJMiCCAIlJIgB0MAAIA/IAAqAlAgBiAAKgJIlCAJIAAqAkyUkpKVIgggACoCOCAGIAAqAjCUIAkgACoCNJSSkpSTIgcgB5SSIAogCCAAKgJEIAYgACoCPJQgCSAAKgJAlJKSlJMiBiAGlJJDAAAAP5Q4AgAgAkEBaiICIARHDQALCyAAQdQAagu9AQEEfyABKAIEIQJB7AAQ1RoiAUIANwIEIAFByJYFNgIAIAFBDGoiBBDjCxogASACNgIQIAFB0JcFNgIMIAEgAigCEDYCFCABQRhqQQBByAAQrxsaIAIoAgghAiABQQA2AmggAUIANwJgAkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCYCABIAIgA2oiBTYCaCADQQAgAhCvGxogASAFNgJkCyAAIAE2AgQgACAENgIADwsQ/BoACzoBAX8gAEGknAU2AgwgAEGgmwU2AgAgACgCPCIBBEAgAEFAayABNgIAIAEQohsLIABBDGoQ4wsaIAALPQEBfyAAQaScBTYCDCAAQaCbBTYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABBpJwFNgIAIAAoAjAiAQRAIAAgATYCNCABEKIbCyAAEOMLGiAACy4BAX8gAEGknAU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIAAQ4wsaIAAQohsLvwEBAn8jAEEQayICJAACQCABELcGRQRAIAEoAgBBB3EiA0EGRw0BIAAgASgCECIBKwMAtjgCDCAAIAErAwi2OAIQIAAgASsDELY4AhQgACABKwMYtjgCGCAAIAErAyC2OAIcIAAgASsDKLY4AiAgACABKwMwtjgCJCAAIAErAzi2OAIoIAAgASsDQLY4AiwgAkEQaiQADwtBqX4gAkGImQUQiQNBl5kFQaqZBUG1AhCYCgALIANBBkG8nQUQ0gMAC5cBAgF/BH0gACgCCCICIAFBBHQiAUEIcmoqAgBDAACAPyAAKgIsIAEgAmoqAgAiAyAAKgIklCACIAFBBHJqKgIAIgQgACoCKJSSkpUiBSAAKgIUIAMgACoCDJQgBCAAKgIQlJKSlJMiBiAGlCACIAFBDHJqKgIAIAUgACoCICADIAAqAhiUIAQgACoCHJSSkpSTIgMgA5SSC94BAgR/BH0gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCMCEFIAAoAgghAQNAIAUgAkECdGogASACQQR0IgNBCHJqKgIAQwAAgD8gACoCLCABIANqKgIAIgYgACoCJJQgASADQQRyaioCACIHIAAqAiiUkpKVIgggACoCFCAGIAAqAgyUIAcgACoCEJSSkpSTIgkgCZQgASADQQxyaioCACAIIAAqAiAgBiAAKgIYlCAHIAAqAhyUkpKUkyIGIAaUkjgCACACQQFqIgIgBEcNAAsLIABBMGoL1gEBBH8gASgCBCECQcgAENUaIgFCADcCBCABQaCbBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQaScBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAFCADcCMCABQQA2AjggAigCCCECIAFBADYCRCABQgA3AjwCQCACBEAgAkGAgICABE8NASABIAJBAnQiAhDVGiIDNgI8IAEgAiADaiIFNgJEIANBACACEK8bGiABIAU2AkALIAAgATYCBCAAIAQ2AgAPCxD8GgALOgEBfyAAQbSfBTYCDCAAQbyeBTYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEMahDjCxogAAs9AQF/IABBtJ8FNgIMIABBvJ4FNgIAIAAoAjwiAQRAIABBQGsgATYCACABEKIbCyAAQQxqEOMLGiAAEKIbCysBAX8gAEG0nwU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIAAQ4wsaIAALLgEBfyAAQbSfBTYCACAAKAIwIgEEQCAAIAE2AjQgARCiGwsgABDjCxogABCiGwu/AQECfyMAQRBrIgIkAAJAIAEQtwZFBEAgASgCAEEHcSIDQQZHDQEgACABKAIQIgErAwC2OAIMIAAgASsDCLY4AhAgACABKwMQtjgCFCAAIAErAxi2OAIYIAAgASsDILY4AhwgACABKwMotjgCICAAIAErAzC2OAIkIAAgASsDOLY4AiggACABKwNAtjgCLCACQRBqJAAPC0GpfiACQYiZBRCJA0GXmQVBqpkFQesCEJgKAAsgA0EGQbSgBRDSAwALzwECAX8LfSAAKgIsIAAoAggiAiABQQR0IgFBBHJqKgIAIgQgACoCKCIIlCABIAJqKgIAIgMgACoCJCIJlCACIAFBCHJqKgIAIgUgACoCFCADIAAqAgwiCpQgBCAAKgIQIguUkpIiBpQgAiABQQxyaioCACIHIAAqAiAgAyAAKgIYIgyUIAQgACoCHCIDlJKSIgSUkpKSkiINIA2UIAUgC5QgByADlJIgCJIiAyADlCAFIAqUIAcgDJSSIAmSIgMgA5QgBiAGlCAEIASUkpKSlQuWAgIEfwt9IAAgASAAKAIAKAIgEQIAIAAoAgQoAggiBEEBTgRAIAAoAjAhBSAAKAIIIQEDQCAFIAJBAnRqIAAqAiwgASACQQR0IgNBBHJqKgIAIgcgACoCKCILlCABIANqKgIAIgYgACoCJCIMlCABIANBCHJqKgIAIgggACoCFCAGIAAqAgwiDZQgByAAKgIQIg6UkpIiCZQgASADQQxyaioCACIKIAAqAiAgBiAAKgIYIg+UIAcgACoCHCIGlJKSIgeUkpKSkiIQIBCUIAggDpQgCiAGlJIgC5IiBiAGlCAIIA2UIAogD5SSIAySIgYgBpQgCSAJlCAHIAeUkpKSlTgCACACQQFqIgIgBEcNAAsLIABBMGoL1gEBBH8gASgCBCECQcgAENUaIgFCADcCBCABQbyeBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQbSfBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAFCADcCMCABQQA2AjggAigCCCECIAFBADYCRCABQgA3AjwCQCACBEAgAkGAgICABE8NASABIAJBAnQiAhDVGiIDNgI8IAEgAiADaiIFNgJEIANBACACEK8bGiABIAU2AkALIAAgATYCBCAAIAQ2AgAPCxD8GgALOgEBfyAAQbCiBTYCDCAAQaihBTYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEMahDjCxogAAs9AQF/IABBsKIFNgIMIABBqKEFNgIAIAAoAjwiAQRAIABBQGsgATYCACABEKIbCyAAQQxqEOMLGiAAEKIbCysBAX8gAEGwogU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIAAQ4wsaIAALLgEBfyAAQbCiBTYCACAAKAIwIgEEQCAAIAE2AjQgARCiGwsgABDjCxogABCiGwu/AQECfyMAQRBrIgIkAAJAIAEQtwZFBEAgASgCAEEHcSIDQQZHDQEgACABKAIQIgErAwC2OAIMIAAgASsDCLY4AhAgACABKwMQtjgCFCAAIAErAxi2OAIYIAAgASsDILY4AhwgACABKwMotjgCICAAIAErAzC2OAIkIAAgASsDOLY4AiggACABKwNAtjgCLCACQRBqJAAPC0GpfiACQYiZBRCJA0GXmQVBqpkFQbIDEJgKAAsgA0EGQcyjBRDSAwAL1AECAX8LfSAAKgIsIAAoAggiAiABQQR0IgFBDHJqKgIAIgMgACoCICIJlCACIAFBCHJqKgIAIgQgACoCFCIKlCABIAJqKgIAIgYgACoCJCAEIAAqAgwiC5QgAyAAKgIYIgyUkpIiB5QgAiABQQRyaioCACIIIAAqAiggBCAAKgIQIg2UIAMgACoCHCIElJKSIgOUkpKSkiIFIAWUIgUgByAHlCADIAOUkpUgBSAGIAuUIAggDZSSIAqSIgMgA5QgBiAMlCAIIASUkiAJkiIDIAOUkpWSC5sCAgR/C30gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCMCEFIAAoAgghAQNAIAUgAkECdGogACoCLCABIAJBBHQiA0EMcmoqAgAiBiAAKgIgIgyUIAEgA0EIcmoqAgAiByAAKgIUIg2UIAEgA2oqAgAiCSAAKgIkIAcgACoCDCIOlCAGIAAqAhgiD5SSkiIKlCABIANBBHJqKgIAIgsgACoCKCAHIAAqAhAiEJQgBiAAKgIcIgeUkpIiBpSSkpKSIgggCJQiCCAKIAqUIAYgBpSSlSAIIA0gCSAOlCALIBCUkpIiBiAGlCAJIA+UIAsgB5SSIAySIgYgBpSSlZI4AgAgAkEBaiICIARHDQALCyAAQTBqC9YBAQR/IAEoAgQhAkHIABDVGiIBQgA3AgQgAUGooQU2AgAgAUEMaiIEEOMLGiABIAI2AhAgAUGwogU2AgwgAigCECEDIAFCADcCGCABIAM2AhQgAUIANwIgIAFCADcCKCABQgA3AjAgAUEANgI4IAIoAgghAiABQQA2AkQgAUIANwI8AkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCPCABIAIgA2oiBTYCRCADQQAgAhCvGxogASAFNgJACyAAIAE2AgQgACAENgIADwsQ/BoACzcBAX8gAEHQpQU2AgwgAEHMpAU2AgAgACgCSCIBBEAgACABNgJMIAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQdClBTYCDCAAQcykBTYCACAAKAJIIgEEQCAAIAE2AkwgARCiGwsgAEEMahDjCxogABCiGwsuAQF/IABB0KUFNgIAIAAoAjwiAQRAIABBQGsgATYCACABEKIbCyAAEOMLGiAACzEBAX8gAEHQpQU2AgAgACgCPCIBBEAgAEFAayABNgIAIAEQohsLIAAQ4wsaIAAQohsL4AEBAn8jAEEQayICJAACQCABELcGRQRAIAEoAgBBB3EiA0EGRw0BIAAgASgCECIBKwMAtjgCDCAAIAErAwi2OAIQIAAgASsDELY4AhQgACABKwMYtjgCGCAAIAErAyC2OAIcIAAgASsDKLY4AiAgACABKwMwtjgCJCAAIAErAzi2OAIoIAAgASsDQLY4AiwgACABKwNItjgCMCAAIAErA1C2OAI0IAAgASsDWLY4AjggAkEQaiQADwtBqX4gAkGImQUQiQNBl5kFQaqZBUHyAxCYCgALIANBBkHopgUQ0gMAC6EBAQV9IAAoAgggAUEUbGoiASoCAEMAAIA/IAAqAjggASoCCCICIAAqAiyUIAEqAgwiAyAAKgIwlJIgASoCECIEIAAqAjSUkpKVIgUgACoCGCACIAAqAgyUIAMgACoCEJSSIAQgACoCFJSSkpSTIgYgBpQgASoCBCAFIAAqAiggAiAAKgIclCADIAAqAiCUkiAEIAAqAiSUkpKUkyICIAKUkgvsAQIEfwV9IAAgASAAKAIAKAIgEQIAIAAoAgQoAggiA0EBTgRAIAAoAjwhBCAAKAIIIQUDQCAEIAJBAnRqIAUgAkEUbGoiASoCAEMAAIA/IAAqAjggASoCCCIGIAAqAiyUIAEqAgwiByAAKgIwlJIgASoCECIIIAAqAjSUkpKVIgkgACoCGCAGIAAqAgyUIAcgACoCEJSSIAggACoCFJSSkpSTIgogCpQgASoCBCAJIAAqAiggBiAAKgIclCAHIAAqAiCUkiAIIAAqAiSUkpKUkyIGIAaUkjgCACACQQFqIgIgA0cNAAsLIABBPGoL4AEBBH8gASgCBCECQdQAENUaIgFCADcCBCABQcykBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQdClBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAFCADcCMCABQgA3AjggAUFAa0IANwIAIAIoAgghAiABQQA2AlAgAUIANwJIAkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCSCABIAIgA2oiBTYCUCADQQAgAhCvGxogASAFNgJMCyAAIAE2AgQgACAENgIADwsQ/BoACzcBAX8gAEHwqAU2AgwgAEHopwU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQfCoBTYCDCAAQeinBTYCACAAKAIwIgEEQCAAIAE2AjQgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABB8KgFNgIAIAAoAiQiAQRAIAAgATYCKCABEKIbCyAAEOMLGiAACy4BAX8gAEHwqAU2AgAgACgCJCIBBEAgACABNgIoIAEQohsLIAAQ4wsaIAAQohsLngEBAn8jAEEQayICJAACQCABELcGRQRAIAEoAgBBB3EiA0EGRw0BIAAgASgCECIBKwMAtjgCDCAAIAErAwi2OAIQIAAgASsDELY4AhQgACABKwMYtjgCGCAAIAErAyC2OAIcIAAgASsDKLY4AiAgAkEQaiQADwtBqX4gAkGImQUQiQNBl5kFQaqZBUGxBBCYCgALIANBBkGIqgUQ0gMAC3QCAX8DfSAAKAIIIgIgAUEEdCIBQQhyaioCACAAKgIUIAEgAmoqAgAiAyAAKgIMlCACIAFBBHJqKgIAIgQgACoCEJSSkpMiBSAFlCACIAFBDHJqKgIAIAAqAiAgAyAAKgIYlCAEIAAqAhyUkpKTIgMgA5SSC7sBAgR/A30gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCJCEFIAAoAgghAQNAIAUgAkECdGogASACQQR0IgNBCHJqKgIAIAAqAhQgASADaioCACIGIAAqAgyUIAEgA0EEcmoqAgAiByAAKgIQlJKSkyIIIAiUIAEgA0EMcmoqAgAgACoCICAGIAAqAhiUIAcgACoCHJSSkpMiBiAGlJI4AgAgAkEBaiICIARHDQALCyAAQSRqC8cBAQR/IAEoAgQhAkE8ENUaIgFCADcCBCABQeinBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQfCoBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAIoAgghAiABQQA2AjggAUIANwIwAkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCMCABIAIgA2oiBTYCOCADQQAgAhCvGxogASAFNgI0CyAAIAE2AgQgACAENgIADwsQ/BoACxYAIABBiKsFNgIAIABBDGoQ4wsaIAALGQAgAEGIqwU2AgAgAEEMahDjCxogABCiGwsNACAAEOMLGiAAEKIbC6gGAwV/Bn0IfCMAQUBqIgokAAJAAkAgA0EATARARAAAAAAAAAAAIAO3IhWjIhQhFiAUIRcgFCEYDAELIAAoAgQhBiACKAIAIQkDQCARIAYgCSAIQQJ0aigCAEEEdCIHaioCALugIREgFCAGIAdBDHJqKgIAu6AhFCATIAYgB0EIcmoqAgC7oCETIBIgBiAHQQRyaioCALugIRIgCEEBaiIIIANHDQALIBQgA7ciFaMhFCATIBWjIRYgEiAVoyEXIBEgFaMhGCADQQFIBEBEAAAAAAAAAAAhEQwBCyAAKAIEIQYgAigCACEJQQAhCEQAAAAAAAAAACESRAAAAAAAAAAAIREDQCARIAYgCSAIQQJ0aigCAEEEdCIHQQhyaioCALsgFqEiEyAToiAGIAdBDHJqKgIAuyAUoSITIBOioJ+gIREgEiAGIAdqKgIAuyAYoSITIBOiIAYgB0EEcmoqAgC7IBehIhMgE6Kgn6AhEiAIQQFqIgggA0cNAAsMAQtEAAAAAAAAAAAhEgsgBEIANwMwIARCADcDGCAEQgA3AwggBEKAgICAgICA+D83A0AgBEIANwM4IAREzTt/Zp6g9j8gEiAVo6MiEjkDICAEIBI5AwAgBCASIBeaoiITOQMoIAQgEiAYmqIiFzkDECAFQgA3AzAgBUTNO39mnqD2PyARIBWjoyIRIBSaoiIUOQMoIAUgETkDICAFQgA3AxggBSARIBaaoiIWOQMQIAVCADcDCCAFIBE5AwAgBUIANwM4IAVCgICAgICAgPg/NwNAIAEgCkEIaiADQQRBBRCoBiIGELkGGiAGELEGGiADQQFOBEAgEbYhCyAStiEMIBS2IQ0gFrYhDiATtiEPIBe2IRAgACgCBCEHIAIoAgAhBCABKAIQIQZBACEJA0AgBiAHIAQgCUECdGooAgBBBHQiCGoqAgAgDJQgEJI4AgAgBiAHIAhBBHJqKgIAIAyUIA+SOAIEIAYgByAIQQhyaioCACALlCAOkjgCCCAGIAcgCEEMcmoqAgAgC5QgDZI4AgwgBkEQaiEGIAlBAWoiCSADRw0ACwsgCkFAayQAC4kGAg5/CnxBpPkKQgA3AgBBoPkKQbgXNgIAQZj5CkLS8PqouL2U/D83AwBBkPkKQvuouL2U3J6JwAA3AwBBrPkKQgA3AgBBtPkKQgA3AgBBvPkKQgA3AgBBxPkKQQA2AgBBkAMQ1RpB+KwFQZADEK4bIQdBkAMQ1RpBiLAFQZADEK4bIQhBkAMQ1RpBmLMFQZADEK4bIQlBrPkKQcC7ARDVGkEAQcC7ARCvGyIBQcC7AWoiAzYCAEGo+QogAzYCAEGk+QogATYCAEG4+QpBwLsBENUaQQBBwLsBEK8bIgNBwLsBaiIANgIAQbT5CiAANgIAQbD5CiADNgIAQcT5CkHAuwEQ1RpBAEHAuwEQrxsiBkHAuwFqIgA2AgBBwPkKIAA2AgBBvPkKIAY2AgBEau+0kfhb/D8hDkRq77SR+Fv8PyEPA0AgDyEQIBQhESAOIRIgCSAEQQFqIgRBA3QiAGorAwAiDiASoUQAAAAAAIBOQKMhFSAAIAhqKwMAIhQgEaFEAAAAAACATkCjIRYgACAHaisDACIPIBChRAAAAAAAgE5AoyEXQQAhAANAIAEgAiIFQQN0IgJqIBAgFyAAtyIToqA5AwAgAiADaiARIBYgE6KgOQMAIAIgBmogEiAVIBOioDkDACAFQQFqIQIgAEEBaiIAQT1HDQALIARBMUcNAAsCQCAFQbcXTg0AIAVBA3QhCkHAuwEgAkEDdCIEayILQQFIIgxFBEAgASAKaiENIAtBA3YhACABIARqIQEDQCABIA0rAwA5AwAgAUEIaiEBIABBAUohBCAAQQFrIQAgBA0ACwsgDEUEQCADIApqIQQgC0EDdiEAIAMgAkEDdGohAQNAIAEgBCsDADkDACABQQhqIQEgAEEBSiEDIABBAWshACADDQALC0HAuwEgAkEDdCICayIAQQFIDQAgBiAFQQN0aiEBIABBA3YhACACIAZqIQIDQCACIAErAwA5AwAgAkEIaiECIABBAUohBSAAQQFrIQAgBQ0ACwsgCRCiGyAIEKIbIAcQohsLBwAgACgCEAspAAJAQcj5Ci0AAEEBcQ0AQcj5ChD9GkUNABC9DUHI+QoQgRsLQZD5CgtQAEG8+QooAgAiAARAQcD5CiAANgIAIAAQohsLQbD5CigCACIABEBBtPkKIAA2AgAgABCiGwtBpPkKKAIAIgAEQEGo+QogADYCACAAEKIbCwu1BQMBfwJ9BHwgABDjCxogAEH0vAU2AgAgACADKAIANgIEIAAgAygCBCIDNgIIIAMEQCADIAMoAgRBAWo2AgQLEL8NIQMgACAIOQNwIAAgBzkDaCAAIAk5A1AgACAGOQMwIAAgBTYCKCAAIAQ5AyAgACACNgIQIAAgAzYCDCAAIAEgAaI5AxggACADQRRqNgKoASAAKAIMEOQKIQMgAEL/////////9/8ANwN4IAAgAzYCrAEgACAAKwMwIgEgAaJEAAAAAAAA4D+iOQM4IAAgACgCKLciBEQAAAAAAADwP6BEAAAAAAAA4D+iIgY5A0ggACAERAAAAAAAAPC/oEQAAAAAAADgP6IiBDkDQCAAIAArAxiftiABtpUiCzgCgAEgACAGEKsbIgE5A2AgACAEEKsbOQNYIAAgCyALlCIMOAKEASAAIAEgC7ujOQOQASAAIAwgDJI4AowBIAAgDEMAAAA/lDgCiAEgACAAKAIMIgIoAhggAigCFGtBA3W4IAIrAwCjOQOYASAAKAIMKAIQIQMgAEK7+97O/Zvf7T03A6ABIAAgA0EBayICNgKwAUQAAAAAAAAAACEBIAArAxgiB0QAAAAAAAAAAGRBAXNFBEAgB0QAAAAAAAA+QKMhCCAAKwNoIQkgACsDkAEhDSAAKwOYASEOIAAoAqgBKAIAIQUgACgCrAEoAgAhCiAAKgKIAbshDyAAKgKMAbshEES7vdfZ33zbPSEGA0AgBiANIAogAiACAn8gASAOoiAQoxCIFSIEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsiAyADQQBIGyACIANMG0EDdCIDaisDACAPoiABRAAAAAAAANA/oiADIAVqKwMAIAmhoqCiIgRjQQFzRQRAIAAgBDkDoAEgBCEGCyAIIAGgIgEgB2MNAAsLC4UGAQR/IwBBEGsiCyQAIAAQ4wsaIABBmMMFNgIAIAAgAaxC/////w8gARs3AwggACACKAIANgIQIAAgAigCBCICNgIUIAIEQCACIAIoAgRBAWo2AgQLQQAhAiAAQQA2AqgBIAAgCDkDSCAAIAc5A0AgACAEOQMoIAAgAzYCGCAAQgA3AoABIAAgCTYCuAEgAEIANwKIASAAQgA3ApABIABCADcCmAEgAEEANgKgASAAQv/////////3/wA3A7ABIAAgBEQAAAAAAAAiQKJEAAAAAAAA0D+iIgQ5AzAgAEQAAAAAAADwPyAEozkDOCALQQA2AgggC0IANwMAQQAhAQJAIAMEQCADQYCAgIAETw0BIANBAnQiChDVGiIBQQAgChCvGyAKaiIKIQwLIABBCGohDSAAIAo2ApQBIAAgDDYCkAEgACABNgKMASADQQBKBEADQCABIAJBAnRqIAI2AgAgAkEBaiICIANIDQALCyALIABBjAFqNgIEIAtBhICMmHg2AgAgC0IANwMIIAsgDRD5CQJAIAAoAogBIAAoAoABIgJrQQV1QRNLDQAgACgChAEhCkGABRDVGiIBQYAFaiEMIAEgCiACayIKaiENIApBAU4EQCABIAIgChCuGxoLIAAgDDYCiAEgACANNgKEASAAIAE2AoABIAJFDQAgAhCiGwsgACAFIAYQ7w1BACECIABBADoAvAEgAEL/////////9/8ANwNQIABBADYCHCAAIAlBAkkiCiAJQQNGciIBOgC9ASAKRQRAIAtBADYCCCALQgA3AwBBACEKQQAhCSADBEAgA0GAgICABE8NAiALIANBAnQiAxDVGiIJNgIAIAsgAyAJaiICNgIIIAlBACADEK8bGiALIAI2AgQgAiEKCyAAKAKYASIDBEAgACADNgKcASADEKIbIAsoAgghAiALKAIEIQogCygCACEJIAAtAL0BIQELIAAgAjYCoAEgACAKNgKcASAAIAk2ApgBCyAAIAFBAXM6AL4BIAtBEGokAA8LEPwaAAtXAQN/IABB8LcFNgIQIABB9LYFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQfC3BTYCECAAQfS2BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbCxMAIABBEGogACgCECgCABEAABoLRwECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLjgECAn8BfSABKAIEIgMgAiADKAIAKAIgEQIAAkAgASgCDEEBSARAQQAhAwwBC0EAIQJBACEDA0AgASgCBCIEIAIgBCgCACgCJBEZACEFIAErAxiaIAMgASsDECAFu2RqIgMgASgCDCIEIAJrardkDQEgAkEBaiICIARIDQALCyAAIAM2AgAgACADt5o5AwgLJgAjAEEQayIAJABBq34gAEGguQUQiQNBsbkFQbq5BUHjARCYCgALpQECAn8BfCAAKwMQIQUgACgCBCIAIAEgACgCACgCKBEDACEAIAIoAgQiASACKAIAIgNrIgJBAUgEQEEADwsgAyABayIBIAIgASACShtBAnYiAkEBIAJBAUsbIQEgACgCACEEQQAhAkEAIQADQCAFIAQgAkECdGoqAgC7ZEEBc0UEQCADIABBAnRqIAI2AgAgAEEBaiEACyACQQFqIgIgAUcNAAsgAAucAQECfyAAKAIEIgAgASAAKAIAKAIoEQMAIQEgAigCBCIAIAIoAgAiBGsiAkEBSARAQQAPCyAEIABrIgAgAiAAIAJKG0ECdiICQQEgAkEBSxshACABKAIAIQVBACECQQAhAQNAIAUgAkECdGoqAgC7IANjQQFzRQRAIAQgAUECdGogAjYCACABQQFqIQELIAJBAWoiAiAARw0ACyABCxgAIAArAxggAWRBAXNFBEAgACABOQMYCwvlAQIDfwF8IAArAxAhBgJAIAIoAgQiA0UNACACKAIAQQAgA0EFdkECdCIEEK8bIQUgA0EfcSIDRQ0AIAQgBWoiBCAEKAIAQX9BICADa3ZBf3NxNgIACyAAKAIEIgAgASAAKAIAKAIoEQMAIQAgAigCBCIDQQFIBEBBAA8LIAIoAgAhBSAAKAIAIQRBACEAQQAhAQNAIAYgBCAAQQJ0aioCALtkQQFzRQRAIAUgAEEDdkH8////AXFqIgMgAygCAEEBIAB0cjYCACACKAIEIQMgAUEBaiEBCyAAQQFqIgAgA0gNAAsgAQsHACAAKAIMC+8BAgR/AXwjAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEEwENUaIgJCADcCBCACQfS2BTYCACABKwMQIQYgASgCDCEEIAJBEGoiBRDjCxogAkHwtwU2AhAgAiADKAIINgIUIAIgAygCDCIBNgIYIAEEfyABIAEoAgRBAWo2AgQgAygCDAVBAAshASACQv/////////3/wA3AyggAiAGOQMgIAIgBDYCHCAAIAI2AgQgACAFNgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIANBEGokAAtXAQN/IABB5LoFNgIQIABB7LkFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQeS6BTYCECAAQey5BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbC0cBAn8gAEHkugU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC0oBAn8gAEHkugU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbC7IBAgJ/AnwgASgCBCIDIAIgAygCACgCIBECAAJAIAEoAgxBAUgEQAwBC0EAIQIDQAJAIAEoAgQiAyACIAMoAgAoAiQRGQC7IgYgASsDIGNBAXMNACAFRAAAAAAAAPA/IAErAyggBqKhoSEFIAErAxAgBmRBAXMNACAEQQFqIQQLIAErAxggBSABKAIMIgO3oSACt6BjDQEgAkEBaiICIANIDQALCyAAIAU5AwggACAENgIAC54CAgR/AXwjAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEHAABDVGiICQgA3AgQgAkHsuQU2AgAgASsDECEGIAEoAgwhBCACQRBqIgUQ4wsaIAJB5LoFNgIQIAIgAygCCDYCFCACIAMoAgwiATYCGCABBH8gASABKAIEQQFqNgIEIAMoAgwFQQALIQEgAkL/////////9/8ANwMoIAIgBjkDICACIAQ2AhwgAiAGRAAAAAAAACJAokQAAAAAAADQP6IiBjkDMCACRAAAAAAAAPA/IAajOQM4IAAgAjYCBCAAIAU2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgA0EQaiQAC1cBA38gAEH0vAU2AhAgAEH4uwU2AgAgAEEQaiECAkAgACgCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogAAtaAQN/IABB9LwFNgIQIABB+LsFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAAQohsLRwECfyAAQfS8BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfS8BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLxAICBH8DfCABKAIEIgMgAiADKAIAKAIgEQIAAkAgASgCEEEBSARAQQAhAwwBC0EAIQJBACEDA0AgASgCBCIEIAIgBCgCACgCJBEZALsiCCABKwMgYyEEIAErAxggCGRBAXNFBEACfyABKwOYASAIoiABKgKMAbujEIgVIgmZRAAAAAAAAOBBYwRAIAmqDAELQYCAgIB4CyEFIAdEAAAAAAAA8D8gASsDkAEgASgCsAEiBiAGIAUgBUEASBsgBSAGThtBA3QiBSABKAKsASgCAGorAwAgASoCiAG7oiAIRAAAAAAAANA/oiABKAKoASgCACAFaisDACABKwNooaKgoiABKwOgAaOhoSEHCyADIARqIQMgASsDeCAHIAEoAhAiBCACa7ehYw0BIAJBAWoiAiAESA0ACwsgACAHOQMIIAAgAzYCAAurAgIFfwZ8AkAgASgCECIFQQFIBEAMAQsgASsDeCEKIAErAxghCyABKwMgIQwgAigCACEHQQAhAgNAIAwgByACQQJ0aioCALsiCWQgBGohBCAJIAtjQQFzRQRAAn8gASsDmAEgCaIgASoCjAG7oxCIFSINmUQAAAAAAADgQWMEQCANqgwBC0GAgICAeAshAyAIRAAAAAAAAPA/IAErA5ABIAEoArABIgYgBiADIANBAEgbIAMgBk4bQQN0IgMgASgCrAEoAgBqKwMAIAEqAogBu6IgCUQAAAAAAADQP6IgASgCqAEoAgAgA2orAwAgASsDaKGioKIgASsDoAGjoaEhCAsgCCAFIAJrt6EgCmQNASAFIAJBAWoiAkoNAAsLIAAgCDkDCCAAIAQ2AgALpQECAn8BfCAAKwMgIQUgACgCBCIAIAEgACgCACgCKBEDACEAIAIoAgQiASACKAIAIgNrIgJBAUgEQEEADwsgAyABayIBIAIgASACShtBAnYiAkEBIAJBAUsbIQEgACgCACEEQQAhAkEAIQADQCAFIAQgAkECdGoqAgC7ZEEBc0UEQCADIABBAnRqIAI2AgAgAEEBaiEACyACQQFqIgIgAUcNAAsgAAsYACAAKwN4IAFkQQFzRQRAIAAgATkDeAsL5QECA38BfCAAKwMgIQYCQCACKAIEIgNFDQAgAigCAEEAIANBBXZBAnQiBBCvGyEFIANBH3EiA0UNACAEIAVqIgQgBCgCAEF/QSAgA2t2QX9zcTYCAAsgACgCBCIAIAEgACgCACgCKBEDACEAIAIoAgQiA0EBSARAQQAPCyACKAIAIQUgACgCACEEQQAhAEEAIQEDQCAGIAQgAEECdGoqAgC7ZEEBc0UEQCAFIABBA3ZB/P///wFxaiIDIAMoAgBBASAAdHI2AgAgAigCBCEDIAFBAWohAQsgAEEBaiIAIANIDQALIAELugEBA38jAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEHIARDVGiICQgA3AgQgAkH4uwU2AgAgAkEQaiIEIAEqAoABuyABKAIQIANBCGogASsDICABKAIoIAErAzAgASsDaCABKwNwIAErA1AQwQ0gACACNgIEIAAgBDYCAAJAIAMoAgwiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIANBEGokAAtXAQN/IABBhL8FNgIQIABBjL4FNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQYS/BTYCECAAQYy+BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbC0cBAn8gAEGEvwU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC0oBAn8gAEGEvwU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbC5oCAwV/AX0BfCMAQRBrIgMkACABKAIEIgQgAiAEKAIAKAIoEQMAIQIgA0EANgIIIANCADcDAEEAIQQCQCACKAIEIAIoAgBrIgUEQCAFQQJ1IgdBgICAgARPDQEgAyAFENUaIgQ2AgAgAyAENgIEIAMgBCAHQQJ0ajYCCCADAn8gBCACKAIEIAIoAgAiBWsiAkEBSA0AGiAEIAUgAhCuGyACags2AgQLIAEoAgwiBUEBTgRAIAErAxAhCUEAIQIDQCAGIAkgBCACQQJ0aioCALtkaiEGIAJBAWoiAiAFRw0ACwsgAxD7EyEIIAAgBjYCACAAIAi7OQMIIAMoAgAiAgRAIAMgAjYCBCACEKIbCyADQRBqJAAPCxD8GgALAwABC98BAgR/AXwjAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEEoENUaIgJCADcCBCACQYy+BTYCACABKwMQIQYgASgCDCEEIAJBEGoiBRDjCxogAkGEvwU2AhAgAiADKAIINgIUIAIgAygCDCIBNgIYIAEEfyABIAEoAgRBAWo2AgQgAygCDAVBAAshASACIAY5AyAgAiAENgIcIAAgAjYCBCAAIAU2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgA0EQaiQACzcBAX8gAEGYwQU2AgwgAEGcwAU2AgAgACgCECIBBEAgACABNgIUIAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQZjBBTYCDCAAQZzABTYCACAAKAIQIgEEQCAAIAE2AhQgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABBmMEFNgIAIAAoAgQiAQRAIAAgATYCCCABEKIbCyAAEOMLGiAACy4BAX8gAEGYwQU2AgAgACgCBCIBBEAgACABNgIIIAEQohsLIAAQ4wsaIAAQohsLBwAgAEEEagtVAEEcENUaIgFCADcCBCABQgA3AgwgAUGcwAU2AgAgAUIANwIUIAFBDGoiAhDjCxogAUEANgIYIAFCADcCECABQZjBBTYCDCAAIAE2AgQgACACNgIAC58BAQN/IABBmMMFNgIQIABBqMIFNgIAIAAoAqgBIgEEQCAAIAE2AqwBIAEQohsLIAAoApwBIgEEQCAAIAE2AqABIAEQohsLIAAoApABIgEEQCAAIAE2ApQBIAEQohsLIABBEGohAgJAIAAoAiQiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALogEBA38gAEGYwwU2AhAgAEGowgU2AgAgACgCqAEiAQRAIAAgATYCrAEgARCiGwsgACgCnAEiAQRAIAAgATYCoAEgARCiGwsgACgCkAEiAQRAIAAgATYClAEgARCiGwsgAEEQaiECAkAgACgCJCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwvEAwIGfwF8IABEK4cW2c737z8gASABROkLIef9/+8/ZBsiASABRC1DHOviNhq/oCACIAEgAmMbRDMzMzMzM9M/pCICEPANIQkCQAJAAkAgACgChAEiAyAAKAKIASIESQRAIANCADcDGCADIAk5AxAgAyACOQMIIAMgATkDACAAIANBIGoiAzYChAEMAQsgAyAAQYABaigCACIGayIHQQV1IghBAWoiA0GAgIDAAE8NAQJ/QQAgAyAEIAZrIgRBBHUiBSADIAVLG0H///8/IARBBXVB////H0kbIgVFDQAaIAVBgICAwABPDQMgBUEFdBDVGgsiBCAIQQV0aiIDQgA3AxggAyAJOQMQIAMgAjkDCCADIAE5AwAgBCAFQQV0aiEFIANBIGohAyAHQQFOBEAgBCAGIAcQrhsaCyAAIAU2AogBIAAgAzYChAEgACAENgKAASAGRQ0AIAYQohsgACgChAEhAwsgACACOQNgIAAgCTkDaCAAIAE5A1ggACACIAGjOQNwIABEAAAAAAAA8D8gAqFEAAAAAAAA8D8gAaGjOQN4IAAgAyAAKAKAAWtBBXVBAWs2AiAPCxD8GgALQai2BRC+AgAL2gIBAnxEAAAAAAAA8D8gAqEiA0QAAAAAAADwPyABoaMQlRUhBAJAIAIgAaMQlRUgAqIgAyAEoqAgACsDQKIgACsDSKNEAAAAAAAA8D+gIgIgAhCVFaAiASACoZlEAAAAAAAAgD5jDQAgAiABEJUVoCIDIAGhmUQAAAAAAACAPmNBAXNFBEAgAyEBDAELIAIgAxCVFaAiASADoZlEAAAAAAAAgD5jDQAgAiABEJUVoCIDIAGhmUQAAAAAAACAPmMEQCADDwsgAiADEJUVoCIBIAOhmUQAAAAAAACAPmMNACACIAEQlRWgIgMgAaGZRAAAAAAAAIA+YwRAIAMPCyACIAMQlRWgIgEgA6GZRAAAAAAAAIA+Yw0AIAIgARCVFaAiAyABoZlEAAAAAAAAgD5jBEAgAw8LIAIgAxCVFaAiASADoZlEAAAAAAAAgD5jDQAgAiABEJUVoA8LIAELjwEBAn8gAEGYwwU2AgAgACgCmAEiAQRAIAAgATYCnAEgARCiGwsgACgCjAEiAQRAIAAgATYCkAEgARCiGwsgACgCgAEiAQRAIAAgATYChAEgARCiGwsCQCAAKAIUIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC5IBAQJ/IABBmMMFNgIAIAAoApgBIgEEQCAAIAE2ApwBIAEQohsLIAAoAowBIgEEQCAAIAE2ApABIAEQohsLIAAoAoABIgEEQCAAIAE2AoQBIAEQohsLAkAgACgCFCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogABCiGwurBQQEfwF+AX0DfCABELcGBH8gAgUgACgCECICIAEgAigCACgCIBECACAAQQE6ALwBQQAhAgJAIAAoAhgiAUUEQEEAIQEMAQsgACAAKQMIIgZC/////w+DQorG/cEPfiAGQiCIfCIGNwMIIAFBAUgEQAwBCyAGpyABcCEERAAAAAAAAPA/IQgDQAJAIAAoAhAiBSAEQQAgASAEShsiBEECdCIBIAAoAowBaigCACAFKAIAKAIkERkAIge7IgogACsDKGNBAXNFBEAgA0EBaiEDIAggACsDcKIhCAwBCyAIIAArA3iiIgggACsDaGRBAXMNACAAKAIYIQEMAgsCQAJAAkACQCAAKAK4AQ4CAQACCyAAKwMwIApkQQFzRQRAIAlEAAAAAAAA8D8gACsDOCAKoqGhIQkLIAArA1AgCSAAKAIYIgG3oSACt6BjRQ0CDAQLIAAoAhwgACgCGCIBIAMgAmtqTA0BDAMLIAAoApgBIAAoAowBIAFqKAIAQQJ0aiAHOAIAIAAoAhghAQsgBEEBaiEEIAJBAWoiAiABSA0ACwsgACABIAJGOgC8ASAAKAKAASAAKAIgQQV0aiIEIAQoAhhBAWo2AhgCQCABIAJGBEAgACADNgKoAQJAAkACQAJAIAAoArgBDgQBAAMCAwsgACAJOQOwASAAKwNQIAlkQQFzDQIgACAJOQNQDAILIAAgA7eaOQOwAQwBCyAAIABBmAFqEPsTuzkDsAEgACgCGCEBCyADtyABt6MiCCAAKwNYZEEBcw0BIAAgAzYCHCAAIAggACsDYBDvDQwBCyADtyACQQFqt6MiCEQAAAAAAAAAAGRBAXMNACAAKwNgIgogCKGZIAqjRJqZmZmZmak/ZEEBcw0AIAAgACsDWCAIEO8NCyAALQC8AUEARwsLNQEBfwJAIAAtALwBRQ0AIAAtAL0BRQ0AIAEgACkDqAE3AwAgASAAKQOwATcDCEEBIQILIAILTwEBfCABtyAAKAIYt6MiAiAAKwNYZEEBc0UEQCAAIAE2AhwgACgCgAEgACgCIEEFdGoiASgCGEUEQCABQQE2AhgLIAAgAiAAKwNgEO8NCwsIACAAQZgBagsIACAALQC+AQvNAQEFfyMAQRBrIgQkACAEQQhqIAEoAhAiAyADKAIAKAIsEQIAIAEoAoABIQUgASgCICEGQdABENUaIgNCADcCBCADQajCBTYCACADQRBqIgcgAiAEQQhqIAEoAhggASsDKCAFIAZBBXRqIgUrAwAgBSsDCCABKwNAIAErA0ggASgCuAEQwg0gACADNgIEIAAgBzYCAAJAIAQoAgwiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIARBEGokAAsIACAAQYABagtMAQJ/QRwQ1RoiAkIANwIEIAJB9MYFNgIAIAJBDGoiAxDjCxogAiABNgIQIAJB/McFNgIMIAJBFGogARDnDCAAIAI2AgQgACADNgIACxYAIABBmMQFNgIAIABBDGoQ4wsaIAALGQAgAEGYxAU2AgAgAEEMahDjCxogABCiGwvKCQMEfwR9BHwjAEGAAWsiBSQAIAVBwAQQ1RoiAzYCcCAFIANBwARqIgQ2AnggA0EYakEAQfgDEK8bGiAFIAQ2AnQgACgCCCIAIAEoAgAiASgCAEEEdCIEQQRyaioCACEHIAAgBEEIcmoqAgAhCCAAIARqKgIAIQkgACAEQQxyaioCACEKIANCgICAgICAgPi/fzcDcCADQoCAgICAgID4v383AxAgAyAKuyILOQOIASADIAm7Ig2aIgw5A2AgAyAIuyIOOQNAIAMgDDkDACADIAe7IgwgC6I5A4ABIAMgDSALojkDeCADIAyaIgs5A2ggAyAMIA6iOQM4IAMgDSAOojkDMCADIAs5AwggACABKAIEQQR0IgRBBHJqKgIAIQcgACAEQQhyaioCACEIIAAgBGoqAgAhCSAAIARBDHJqKgIAIQogA0KAgICAgICA+L9/NwOAAiADQoCAgICAgID4v383A6ABIAMgCrsiCzkDmAIgAyAJuyINmiIMOQPwASADIAi7Ig45A9ABIAMgDDkDkAEgAyAHuyIMIAuiOQOQAiADIA0gC6I5A4gCIAMgDJoiCzkD+AEgAyAMIA6iOQPIASADIA0gDqI5A8ABIAMgCzkDmAEgACABKAIIQQR0IgRBBHJqKgIAIQcgACAEQQhyaioCACEIIAAgBGoqAgAhCSAAIARBDHJqKgIAIQogA0KAgICAgICA+L9/NwOQAyADQoCAgICAgID4v383A7ACIAMgCrsiCzkDqAMgAyAJuyINmiIMOQOAAyADIAi7Ig45A+ACIAMgDDkDoAIgAyAHuyIMIAuiOQOgAyADIA0gC6I5A5gDIAMgDJoiCzkDiAMgAyAMIA6iOQPYAiADIA0gDqI5A9ACIAMgCzkDqAIgACABKAIMQQR0IgFBBHJqKgIAIQcgACABQQhyaioCACEIIAAgAWoqAgAhCSAAIAFBDHJqKgIAIQogA0KAgICAgICA+L9/NwOgBCADQoCAgICAgID4v383A8ADIAMgCrsiCzkDuAQgAyAJuyINmiIMOQOQBCADIAi7Ig45A/ADIAMgDDkDsAMgAyAHuyIMIAuiOQOwBCADIA0gC6I5A6gEIAMgDJoiCzkDmAQgAyAMIA6iOQPoAyADIA0gDqI5A+ADIAMgCzkDuAMCQAJAIAVB8ABqQQhBCRD4EwRAIAVBOGogBUEDQQNBBhCoBiIGELgGIQNBOBDVGiIBIAMQrQYaIAFBOGohBCACKAIAIgAEQAJ/IAAgACACKAIEIgNGDQAaA0AgA0E4axCxBiIDIABHDQALIAIoAgALIQMgAiAANgIEIAMQohsLIAIgBDYCCCACIAQ2AgQgAiABNgIAIAVBOGoQsQYaIAYQsQYaIAIoAgAoAhAiAkKAgICAgICA+D83A0BBByEDIAUoAnAhAANAIAMiBEEJbCEBRAAAAAAAAAAAIQsDQCALIAAgA0EBaiIDIAFqQQN0aisDACACIANBA3RqKwMAoqEhCyADQQhHDQALIAIgBEEDdGogCyAAIARB0ABsaisDAKMiCzkDACALIAthBEAgBEEBayEDIAQNAQsLIAsgC2EhBgwBCyAFKAJwIgBFDQELIAUgADYCdCAAEKIbCyAFQYABaiQAIAYLBABBBAsEAEEBC1MBAn8gASgCBCECQRgQ1RoiAUIANwIEIAFBmMQFNgIAIAFBDGoiAxDjCxogASACNgIQIAFBpMUFNgIMIAEgAigCEDYCFCAAIAE2AgQgACADNgIAC1cBA38gAEH8xwU2AgwgAEH0xgU2AgAgAEEMaiECAkAgACgCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogAAtaAQN/IABB/McFNgIMIABB9MYFNgIAIABBDGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAAQohsLRwECfyAAQfzHBTYCAAJAIAAoAgwiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfzHBTYCAAJAIAAoAgwiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLkxQDBn8EfQ58IwBBsBZrIgUkACAAIAAoAgAoAiQRAAAgAkwEQCAFQaAVakEAQcgAEK8bGiAFQdgUakEAQcgAEK8bGiAFQaAUahCnBiEJIAAoAggiACAJIAEgAiAFQaAVaiAFQdgUaiAAKAIAKAIgEQ0AIAkoAhAhByAFQdATakEAQcgAEK8bGiAFQoCAgICAgID4v383A+ATIAVBgBNqQQBByAAQrxsaIAVCgICAgICAgPi/fzcDqBMgBUHwDWpBAEGIBRCvGxoCQCAEKAIAIgogBCgCBEcEQCACQQFIDQEDQCAHIAhBBHQiAEEMcmoqAgAhCyAHIABBCHJqKgIAIQwgByAAQQRyaioCACENIAAgB2oqAgAhDiAFIAogCEEDdGorAwAiEJoiDzkD4BMgBSAPOQOoEyAFIA8gDrsiEaIiEjkD0BMgBSASOQOYEyAFIA8gDbsiEqIiDzkD2BMgBSAPOQOgEyAFIBAgDLuiIg85A5AUIAUgDyASojkDiBQgBSAPIBGiOQOAFCAFIBAgC7uiIg85A8ATIAUgDyASojkDuBMgBSAPIBGiOQOwE0EAIQEDQCAFQfANaiABQdAAbGoiACAAKwMAIAFBA3QiACAFQdATamorAwAiDyAPoiAFQYATaiAAaisDACIQIBCioKA5AwAgAUEBaiIAQQlHBEAgAUEJbCEEA0AgBUHwDWogACAEakEDdGoiBiAGKwMAIA8gAEEDdCIGIAVB0BNqaisDAKIgECAFQYATaiAGaisDAKKgoDkDACAAQQFqIgBBCUcNAAsLIAFBAWoiAUEJRw0ACyAIQQFqIgggAkcNAAsMAQsgAkEBSA0AA0AgByAIQQR0IgBBDHJqKgIAIQsgByAAQQhyaioCACEMIAcgAEEEcmoqAgAhDSAFIAAgB2oqAgC7Ig+aIhA5A9ATIAUgEDkDmBMgBSANuyIQmiIROQPYEyAFIBE5A6ATIAUgDLsiETkDkBQgBSAQIBGiOQOIFCAFIA8gEaI5A4AUIAUgC7siETkDwBMgBSAQIBGiOQO4EyAFIA8gEaI5A7ATQQAhAQNAIAVB8A1qIAFB0ABsaiIAIAArAwAgAUEDdCIAIAVB0BNqaisDACIPIA+iIAVBgBNqIABqKwMAIhAgEKKgoDkDACABQQFqIgBBCUcEQCABQQlsIQQDQCAFQfANaiAAIARqQQN0aiIGIAYrAwAgDyAAQQN0IgYgBUHQE2pqKwMAoiAQIAVBgBNqIAZqKwMAoqCgOQMAIABBAWoiAEEJRw0ACwsgAUEBaiIBQQlHDQALIAhBAWoiCCACRw0ACwsgBSAFKwP4DTkDuA4gBSAFKwOADjkDgA8gBSAFKwPIDjkDiA8gBSAFKwOIDjkDyA8gBSAFKwPQDjkD0A8gBSAFKwOYDzkD2A8gBSAFKwOQDjkDkBAgBSAFKwPYDjkDmBAgBSAFKwOgDzkDoBAgBSAFKwPoDzkDqBAgBSAFKwOYDjkD2BAgBSAFKwPgDjkD4BAgBSAFKwOoDzkD6BAgBSAFKwPwDzkD8BAgBSAFKwO4EDkD+BAgBSAFKwOgDjkDoBEgBSAFKwPoDjkDqBEgBSAFKwOwDzkDsBEgBSAFKwP4DzkDuBEgBSAFKwPAEDkDwBEgBSAFKwOIETkDyBEgBSAFKwOoDjkD6BEgBSAFKwPwDjkD8BEgBSAFKwO4DzkD+BEgBSAFKwOAEDkDgBIgBSAFKwPIEDkDiBIgBSAFKwOQETkDkBIgBSAFKwPYETkDmBIgBSAFKwOwDjkDsBIgBSAFKwP4DjkDuBIgBSAFKwPADzkDwBIgBSAFKwOIEDkDyBIgBSAFKwPQEDkD0BIgBSAFKwOYETkD2BIgBSAFKwPgETkD4BIgBSAFKwOoEjkD6BJBACEGIAVB6AhqQQBBiAUQrxsaIAVBoAhqQQBByAAQrxsaIAVBmANqIAVB8A1qQYgFEK4bGiAFQomAgICQATcDUCAFQYaAiIh8NgJIIAUgBUGYA2o2AkwgBUKBgICAkAE3AwggBUGGgIiQfDYCACAFIAVBoAhqNgIEIAVCiYCAgJABNwPwFSAFQYaAiJB8NgLoFSAFIAVB6AhqNgLsFSAFQcgAaiAFIAVB6BVqEK4EBEAgBUHgAmogBUGYA2pBA0EDQQYgBUGoDWpBABCuBiIAELgGIQEgABCxBhoCQCAFKwPoFCITIAUrA5AVIhAgBSsD8BQiEaIgBSsD+BQiEiAFKwOIFSIWoqEiGaIgBSsD2BQiFCASIAUrA5gVIheiIBAgBSsDgBUiGKKhIhqiIAUrA+AUIhUgFyARoiIbIBggFqIiHKGioaAiD0QAAAAAAAAAAGIEQCAFIBlEAAAAAAAA8D8gD6MiD6I5AzAgBSAcIBuhIA+iOQMYIAUgGiAPojkDACAFIBQgEqIgFSARoqEgD6I5A0AgBSAVIBaiIBQgEKKhIA+iOQM4IAUgESAToiAUIBiioSAPojkDKCAFIBQgF6IgFiAToqEgD6I5AyAgBSAYIBWiIBIgE6KhIA+iOQMQIAUgECAToiAXIBWioSAPojkDCAwBCyAFQQBByAAQrxsaCyAFQYAWaiIHQgA3AwAgBUGIFmoiCEIANwMAIAVBmBZqIgBCADcDACAFQgA3A/gVIAVCg4CAgDA3A/AVIAVChoD9lyQ3A+gVIAUgADYClBYgBSAFQfAVaiICNgKQFiAFQZgDakEDQQNBBiAFQQAQrgYhBiAFQYCAhBA2AkggBUIANwNQIAUgBUHoFWo2AkwgBiAFQcgAahCWBCAGELEGGiAFQcgAaiAFQegVaiABEP8GIAVB6BVqELEGGiAFQagCahCnBiEEIAUoAkgiBiAFQcgAaiAEQX8gBigCACgCDBEGACAHQgA3AwAgCEIANwMAIABCADcDACAFQgA3A/gVIAVCg4CAgDA3A/AVIAVChoD9lyQ3A+gVIAUgADYClBYgBSACNgKQFiAFQZgDakEDQQNBBiAFQaAVakEAEK4GIQAgBUGAgIQQNgKgFiAFQgA3A6gWIAUgBUHoFWo2AqQWIAAgBUGgFmoQlgQgABCxBhogBUGYA2ogBCAFQegVahD/BiAFQegVahCxBhogBUHoFWoQpwYhACAFKAKYAyIGIAVBmANqIABBfyAGKAIAKAIMEQYAQTgQ1RoiByAAEK0GGiAHQThqIQggAygCACIGBEACfyAGIAYgAygCBCIARg0AGgNAIABBOGsQsQYiACAGRw0ACyADKAIACyEAIAMgBjYCBCAAEKIbCyADIAg2AgggAyAINgIEIAMgBzYCACAFQegVahCxBhogBUGQBGoQsQYaIAVB2ANqELEGGiAFQaADahCxBhogBBCxBhogBUHAAWoQsQYaIAVBiAFqELEGGiAFQdAAahCxBhogARCxBhpBASEGCyAJELEGGgsgBUGwFmokACAGC1MBAn8gASgCBCECQRwQ1RoiAUIANwIEIAFB9MYFNgIAIAFBDGoiAxDjCxogASACNgIQIAFB/McFNgIMIAFBFGogAhDnDCAAIAE2AgQgACADNgIACxYAIABByMkFNgIAIABBDGoQ4wsaIAALGQAgAEHIyQU2AgAgAEEMahDjCxogABCiGwu9BQMEfwx9BHwjAEHQAWsiAyQAIAAoAggiACABKAIAIgEoAgRBBHQiBWoqAgAiCSAAIAEoAghBBHQiBkEEcmoqAgAiCpQgACABKAIAQQR0IgFBBHJqKgIAIgcgACAGaioCACILlCAAIAFqKgIAIgggACAFQQRyaioCACIMlCAHIAmUkyAIIAqUk5KSIAwgC5STuyITmUQAAAAAAACAPmNFBEAgACAGQQxyaioCACEPIAAgBkEIcmoqAgAhECAAIAVBDHJqKgIAIREgACAFQQhyaioCACESIAAgAUEMcmoqAgAhDSAAIAFBCHJqKgIAIQ4gA0FAa0IANwMAIANCADcDaCADQgA3A3AgA0GAAWoiAEIANwMAIANCADcDYCADQoOAgIAwNwNYIANChoD9lyQ3A1AgA0IANwM4IANCgICAgICAgPg/NwNIIAMgADYCfCADIANB2ABqNgJ4IANEAAAAAAAA8D8gE6MiEyARIAuUIA0gCZQgCCARlJMgDSALlJMgCCAPlJKSIAkgD5STjLuiIhQ5AyggAyATIBEgCpQgDSAMlCAHIBGUkyANIAqUkyAHIA+UkpIgDCAPlJO7oiIVOQMgIAMgDbsgFSAIuyIWoqEgFCAHuyIVoqE5AzAgAyATIBIgC5QgDiAJlCAIIBKUkyAOIAuUkyAIIBCUkpIgCSAQlJOMu6IiFDkDECADIBMgEiAKlCAOIAyUIAcgEpSTIA4gCpSTIAcgEJSSkiAMIBCUk7uiIhM5AwggAyAOuyATIBaioSAUIBWioTkDGCADQZgBakEDQQNBBiADQQhqQQAQrgYhACADQYCAhBA2AogBIANCADcDkAEgAyADQdAAajYCjAEgACADQYgBahCWBCAAELEGGiACKAIAIANB0ABqELkGGiADQdAAahCxBhpBASEECyADQdABaiQAIAQLBABBAwtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQcjJBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQcjKBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQdzLBTYCACAAQQxqEOMLGiAACxkAIABB3MsFNgIAIABBDGoQ4wsaIAAQohsLtQ0DB38EfQR8IwBBoAdrIgUkAAJ/QQAgACAAKAIAKAIkEQAAIAJKDQAaIAVBsARqQQBBoAIQrxsaIAVCADcDqAQgBUIANwOgBCAFQgA3A5gEIAVCADcDkAQgBUIANwOIBCAFQgA3A4AEIAVCADcD+AMgBUIANwPwAyAFQgA3A+gDIAVCgICAgICAgPg/NwPgAyAFQgA3A9gDIAVCADcD0AMgBUIANwPAAyAFQgA3A7gDIAVCADcDsAMgBUKAgICAgICA+D83A8gDIAVCADcDqAMgBUIANwOgAwJAIAQoAgAiCiAEKAIERwRAIAJBAUgNASAAKAIIIQYgASgCACELA0AgBiALIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQwgBiAAQQxyaioCACENIAYgAEEEcmoqAgAhDiAAIAZqKgIAIQ8gBSAKIAhBA3RqKwMAIhA5A+ADIAUgEDkDyAMgBSAQIA+7oiIROQPQAyAFIBE5A7gDIAUgECAOu6IiETkD2AMgBSAROQPAAyAQIA27oiESIBAgDLuiIRNBACEBA0AgBUGwBGogAUE4bGoiACAAKwMAIAFBA3QiCSAFQdADamorAwAiECAQoiAFQaADaiAJaisDACIRIBGioKA5AwAgAUEBaiIAQQZHBEAgAUEGbCEEA0AgBUGwBGogACAEakEDdGoiByAHKwMAIBAgAEEDdCIHIAVB0ANqaisDAKIgESAFQaADaiAHaisDAKKgoDkDACAAQQFqIgBBBkcNAAsLIAVBgARqIAlqIgAgACsDACATIBCiIBIgEaKgoDkDACABQQFqIgFBBkcNAAsgCEEBaiIIIAJHDQALDAELIAJBAUgNACAAKAIIIQYgASgCACEKA0AgBiAKIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQwgBiAAQQxyaioCACENIAYgAEEEcmoqAgAhDiAFIAAgBmoqAgC7IhA5A9ADIAUgEDkDuAMgBSAOuyIQOQPYAyAFIBA5A8ADIA27IRIgDLshE0EAIQEDQCAFQbAEaiABQThsaiIAIAArAwAgAUEDdCIJIAVB0ANqaisDACIQIBCiIAVBoANqIAlqKwMAIhEgEaKgoDkDACABQQFqIgBBBkcEQCABQQZsIQQDQCAFQbAEaiAAIARqQQN0aiIHIAcrAwAgECAAQQN0IgcgBUHQA2pqKwMAoiARIAVBoANqIAdqKwMAoqCgOQMAIABBAWoiAEEGRw0ACwsgBUGABGogCWoiACAAKwMAIBAgE6IgESASoqCgOQMAIAFBAWoiAUEGRw0ACyAIQQFqIgggAkcNAAsLIAUgBSsDuAQ5A+AEIAUgBSsDwAQ5A5AFIAUgBSsD8AQ5A5gFIAUgBSsDyAQ5A8AFIAUgBSsD+AQ5A8gFIAUgBSsDqAU5A9AFIAUgBSsD0AQ5A/AFIAUgBSsDgAU5A/gFIAUgBSsDsAU5A4AGIAUgBSsD4AU5A4gGIAUgBSsD2AQ5A6AGIAUgBSsDiAU5A6gGIAUgBSsDuAU5A7AGIAUgBSsD6AU5A7gGIAUgBSsDmAY5A8AGIAVCADcDmAMgBUIANwOQAyAFQgA3A4gDIAVCADcDgAMgBUIANwP4AiAFQgA3A/ACIAVB0ABqIAVBsARqQaACEK4bGiAFQoaAgIDgADcDECAFQYaAiIh8NgIIIAUgBUHQAGo2AgwgBUKBgICA4AA3A+AGIAVBhoCIiHw2AtgGIAUgBSsDgAQ5A+gGIAUgBSsDiAQ5A/AGIAUgBSsDkAQ5A/gGIAUgBSsDmAQ5A4AHIAUgBSsDoAQ5A4gHIAUgBSsDqAQ5A5AHIAUgBUHoBmo2AtwGIAVCgYCAgOAANwNIIAVBhoCIkHw2AkAgBSAFQfACajYCREEAIAVBCGogBUHYBmogBUFAa0EAELQERQ0AGiAFQgA3A4gBIAVCg4CAgDA3AxAgBUKGgP2XJDcDCCAFQgA3A4ABIAUgBSsDmAM5A3ggBSAFKwOQAzkDcCAFIAUrA4gDOQNoIAUgBSsDgAM5A2AgBSAFKwP4AjkDWCAFIAUrA/ACOQNQIAVCgICAgICAgPg/NwOQASAFQgA3AyggBUIANwMgIAVBOGoiAEIANwMAIAVCADcDGCAFIAA2AjQgBSAFQRBqNgIwIAVB6AZqQQNBA0EGIAVB0ABqQQAQrgYhACAFQYCAhBA2AtgGIAVCADcD4AYgBSAFQQhqNgLcBiAAIAVB2AZqEJYEIAAQsQYaIAMoAgAgBUEIahC5BhogBUEIahCxBhpBAQshByAFQaAHaiQAIAcLUwECfyABKAIEIQJBGBDVGiIBQgA3AgQgAUHcywU2AgAgAUEMaiIDEOMLGiABIAI2AhAgAUHgzAU2AgwgASACKAIQNgIUIAAgATYCBCAAIAM2AgALmw8CAX8VfCMAQfACayICJAAgAkHgAWpBAEHIABCvGxogAkGYAWpBAEHIABCvGxogAkIANwOQASACQgA3A4gBIAJCADcDgAEgAkIANwMIIAIgADYCBCACQYCAhAg2AgAgAkKBgICAMDcDwAIgAkGGgIiQfDYCuAIgAiACQYABajYCvAIgAkKDgICAMDcDUCACQYaAiJB8NgJIIAIgAkHgAWo2AkwgAkKDgICAMDcDsAIgAkGGgIiQfDYCqAIgAiACQZgBajYCrAIgAiACQbgCaiACQcgAaiACQagCakEBEK8EAkAgAQRAIAIgAisDgAEiBiACKwPgASIEokQAAAAAAAAAAKAgAisD6AEiBUQAAAAAAAAAAKIiD6AgAisD8AFEAAAAAAAAAACiIgOgIhMgAisDmAEiC6JEAAAAAAAAAACgIAREAAAAAAAAAACiRAAAAAAAAAAAoCIEIAIrA4gBIhQgBaKgIAOgIhUgAisDsAEiEKKgIAQgD6AgA6AiDyACKwPIASIMoqA5AwAgAisDiAIhCSACKwP4ASEKIAIrA4ACIQ0gAisDoAIhCCACKwOQAiEHIAIrA5gCIQ4gAisD0AEhAyACKwOgASEEIAIrA7gBIQUgAkIANwNoIAJCADcDYCACQfgAaiIBQgA3AwAgAiATIASiRAAAAAAAAAAAoCAVIAWioCAPIAOioDkDCCACIAQgBiAHokQAAAAAAAAAAKAgDkQAAAAAAAAAAKIiEaAgCEQAAAAAAAAAAKIiCKAiFqJEAAAAAAAAAACgIAUgB0QAAAAAAAAAAKJEAAAAAAAAAACgIhIgFCAOoqAgCKAiB6KgIAMgEiARoCAIoCIOoqA5AzggAiAOIAyiIAcgEKIgCyAWokQAAAAAAAAAAKCgoDkDMCACIAQgBiAKokQAAAAAAAAAAKAgDUQAAAAAAAAAAKIiEaAgCUQAAAAAAAAAAKIiBqAiCKJEAAAAAAAAAACgIAUgCkQAAAAAAAAAAKJEAAAAAAAAAACgIgogFCANoqAgBqAiBKKgIAMgCiARoCAGoCIFoqA5AyAgAiAIIAuiRAAAAAAAAAAAoCAEIBCioCAFIAyioDkDGCACQoaA/ZckNwNIIAJCg4CAgDA3A1AgAkIANwNYIAIgAkHQAGo2AnAgAiABNgJ0IAIgFiACKwOoASIDokQAAAAAAAAAAKAgByACKwPAASIGoqAgDiACKwPYASILoqA5A0AgAiAIIAOiRAAAAAAAAAAAoCAEIAaioCAFIAuioDkDKCACIBMgA6JEAAAAAAAAAACgIBUgBqKgIA8gC6KgOQMQIAJBuAJqQQNBA0EGIAJBABCuBiEBIAJBgICEEDYCqAIgAkIANwOwAiACIAJByABqNgKsAiABIAJBqAJqEJYEIAEQsQYaIAAgAkHIAGoQuQYaIAJByABqELEGGgwBCyACIAIrA4ABIAIrA4gBoEQAAAAAAADgP6IiAyACKwPgASIFokQAAAAAAAAAAKAgAisD6AEiBkQAAAAAAAAAAKIiEKAgAisD8AFEAAAAAAAAAACiIgSgIhMgAisDmAEiC6JEAAAAAAAAAACgIAVEAAAAAAAAAACiRAAAAAAAAAAAoCIFIAMgBqKgIASgIhQgAisDsAEiFaKgIAUgEKAgBKAiECACKwPIASIPoqA5AwAgAisDiAIhEiACKwOAAiEMIAIrA/gBIQogAisDoAIhCSACKwOYAiENIAIrA5ACIQcgAiATIAIrA6ABIg6iRAAAAAAAAAAAoCAUIAIrA7gBIgiioCAQIAIrA9ABIhaioDkDCCACKwPYASEEIAIrA6gBIQUgAisDwAEhBiACIA4gAyAHokQAAAAAAAAAAKAgDUQAAAAAAAAAAKIiF6AgCUQAAAAAAAAAAKIiCaAiEaJEAAAAAAAAAACgIAggB0QAAAAAAAAAAKJEAAAAAAAAAACgIgcgAyANoqAgCaAiDaKgIBYgByAXoCAJoCIHoqA5AzggAiAHIA+iIA0gFaIgCyARokQAAAAAAAAAAKCgoDkDMCACIA4gAyAKokQAAAAAAAAAAKAgDEQAAAAAAAAAAKIiF6AgEkQAAAAAAAAAAKIiCaAiEqJEAAAAAAAAAACgIAggCkQAAAAAAAAAAKJEAAAAAAAAAACgIgogAyAMoqAgCaAiA6KgIBYgCiAXoCAJoCIMoqA5AyAgAiASIAuiRAAAAAAAAAAAoCADIBWioCAMIA+ioDkDGCACIBEgBaJEAAAAAAAAAACgIA0gBqKgIAcgBKKgOQNAIAIgEiAFokQAAAAAAAAAAKAgAyAGoqAgDCAEoqA5AyggAiATIAWiRAAAAAAAAAAAoCAUIAaioCAQIASioDkDECACQoOAgIAwNwNQIAJChoD9lyQ3A0ggAkIANwNoIAJCADcDYCACQgA3A1ggAkH4AGoiAUIANwMAIAIgATYCdCACIAJB0ABqNgJwIAJBuAJqQQNBA0EGIAJBABCuBiEBIAJBgICEEDYCqAIgAkIANwOwAiACIAJByABqNgKsAiABIAJBqAJqEJYEIAEQsQYaIAAgAkHIAGoQuQYaIAJByABqELEGGgsgAkHwAmokAAuNDwEIfyMAQUBqIgckACAAEOMLGiAAQaTVBTYCACAAIAGsQv////8PIAEbNwMIIAAgAigCADYCECAAIAIoAgQiATYCFCABBEAgASABKAIEQQFqNgIECyADKAIQIQEgACADNgIcIAAgATYCGCAAQSBqIAMQ5gwgAEIANwIoIABBMGoQ4wsaIAAgAzYCNCAAQcjPBTYCMCADKAIQIQEgAEKRx8/bp+j9g0A3A0ggACAFOQNAIAAgBDYCPCAAIAE2AjggB0EMENUaIgE2AgAgByABQQxqIgY2AgggAUECNgIIIAFCgICAgBA3AgAgByAGNgIEIAdBDBDVGiIBQQxqIgY2AhQgByABNgIMIAFBBTYCCCABQoOAgIDAADcCACAHIAY2AhAgB0EMENUaIgFBDGoiBjYCICAHIAE2AhggAUEGNgIIIAFCgICAgBA3AgAgByAGNgIcIAdBDBDVGiIBQQxqIgY2AiwgByABNgIkIAFBBjYCCCABQoOAgIDAADcCACAHIAY2AiggB0EMENUaIglBDGoiATYCOCAHIAk2AjAgCUEGNgIIIAlCgoCAgNAANwIAIAcgATYCNCAAQdgAaiIGQQA2AgAgAEIANwJQIABBPBDVGiIBNgJQIAAgATYCVCAGIAFBPGo2AgAgAEHQAGohCiAHQTxqIQ0gByEGAkACQANAIAFBADYCCCABQgA3AgAgBigCBCAGKAIAIgtrIggEQCAIQQJ1IgxBgICAgARPDQIgASAIENUaIgg2AgAgASAINgIEIAEgCCAMQQJ0ajYCCCABIAYoAgQgC2siDEEBTgR/IAggCyAMEK4bIAxqBSAICzYCBAsgAUEMaiEBIAZBDGoiBiANRw0ACyAAIAE2AlQgByAJNgI0IAkQohsgBygCJCIBBEAgByABNgIoIAEQohsLIAcoAhgiAQRAIAcgATYCHCABEKIbCyAHKAIMIgEEQCAHIAE2AhAgARCiGwsgBygCACIBBEAgByABNgIEIAEQohsLIABCADcCXEEAIQEgAEEANgJ8IABCADcCdCAAQgA3AmwgAEIANwJkIAIoAgAiBiAGKAIAKAI4EQAAIQYgACAENgKEASAAIAY2AoABIARBCEYEQCAHQQwQ1RoiBjYCACAHIAZBDGoiCDYCCCAGQQc2AgggBkKAgICAEDcCACAHIAg2AgQCQCAAKAJUIgYgACgCWEkEQCAGQQA2AgggBkIANwIAIAYgBygCADYCACAGIAcoAgQ2AgQgBiAHKAIINgIIIAAgBkEMajYCVAwBCyAKIAcQng4gBygCACIGRQ0AIAcgBjYCBCAGEKIbCyAHQQwQ1RoiBjYCACAHIAZBDGoiCDYCCCAGQQc2AgggBkKAgICAIDcCACAHIAg2AgQCQCAAKAJUIgYgACgCWEkEQCAGQQA2AgggBkIANwIAIAYgBygCADYCACAGIAcoAgQ2AgQgBiAHKAIINgIIIAAgBkEMajYCVAwBCyAKIAcQng4gBygCACIGRQ0AIAcgBjYCBCAGEKIbCyAHQQwQ1RoiBjYCACAHIAZBDGoiCDYCCCAGQQc2AgggBkKDgICA0AA3AgAgByAINgIEAkAgACgCVCIGIAAoAlhJBEAgBkEANgIIIAZCADcCACAGIAcoAgA2AgAgBiAHKAIENgIEIAYgBygCCDYCCCAAIAZBDGo2AlQMAQsgCiAHEJ4OIAcoAgAiBkUNACAHIAY2AgQgBhCiGwsgB0EMENUaIgY2AgAgByAGQQxqIgg2AgggBkEHNgIIIAZCg4CAgOAANwIAIAcgCDYCBAJAIAAoAlQiBiAAKAJYSQRAIAZBADYCCCAGQgA3AgAgBiAHKAIANgIAIAYgBygCBDYCBCAGIAcoAgg2AgggACAGQQxqNgJUDAELIAogBxCeDiAHKAIAIgZFDQAgByAGNgIEIAYQohsLIAdBDBDVGiIGNgIAIAcgBkEMaiIINgIIIAZBBzYCCCAGQoKAgIDAADcCACAHIAg2AgQCQCAAKAJUIgYgACgCWEkEQCAGQQA2AgggBkIANwIAIAYgBygCADYCACAGIAcoAgQ2AgQgBiAHKAIINgIIIAAgBkEMajYCVAwBCyAKIAcQng4gBygCACIGRQ0AIAcgBjYCBCAGEKIbCyAAKAKAASEGCyAHQQA2AgggB0IANwMAQQAhCCAGBEAgBkGAgICABE8NAiAHIAZBAnQiBhDVGiIINgIAIAcgBiAIaiIBNgIIIAhBACAGEK8bGiAHIAE2AgQLIAEhBiAAIAAoAlwiCwR/IAAgCzYCYCALEKIbIAcoAgQhBiAHKAIAIQggBygCCAUgAQs2AmQgACAGNgJgIAAgCDYCXCAHIAMQ+g0gBygCACEBIAcoAgQiBgRAIAYgBigCBEEBajYCBAsgACABNgIoIAAoAiwhASAAIAY2AiwCQCABRQ0AIAEgASgCBCIGQQFrNgIEIAYNACABIAEoAgAoAggRAQAgARDQGgsCQCAHKAIEIgFFDQAgASABKAIEIgZBAWs2AgQgBg0AIAEgASgCACgCCBEBACABENAaCyAHQUBrJAAPCxD8GgALEPwaAAsWACAAQcDOBTYCACAAQQxqEOMLGiAACxkAIABBwM4FNgIAIABBDGoQ4wsaIAAQohsLlQYCBH8HfCMAQfABayIDJAAgA0KAgICAEDcDoAEgA0KAgICA+P////8ANwMwIANB6ABqIAEgA0GgAWogA0EwahC6BiEFIANCgoCAgDA3A6ABIANCgICAgPj/////ADcD2AEgA0EwaiABIANBoAFqIANB2AFqELoGIQQgA0IANwMgIAMgBDYCHCADQYCAhAg2AhggA0GgAWogBSADQRhqELMHIANB2AFqIANBoAFqEJUOIANBoAFqELEGGiAEELEGGiAFELEGGkEBIQUCQCADKwPYASIHRDtfvSX//+E8ZUEBcw0AIAdEO1+9Jf//4bxmQQFzDQAgAysD4AEiB0Q7X70l///hPGVBAXMNACAHRDtfvSX//+G8ZkEBcw0AIAMrA+gBIgdEO1+9Jf//4TxlQQFzDQAgB0Q7X70l///hvGZBAXMNACADQoGAgIAgNwOgASADQoCAgID4/////wA3AzAgA0HoAGogASADQaABaiADQTBqELoGIQQgA0KCgICAMDcDoAEgA0KAgICA+P////8ANwMYIANBMGogASADQaABaiADQRhqELoGIQYgA0IANwMQIAMgBjYCDCADQYCAhAg2AgggA0GgAWogBCADQQhqELMHIANBGGogA0GgAWoQlQ4gAyADKQMoNwPoASADIAMpAyA3A+ABIAMgAykDGDcD2AEgA0GgAWoQsQYaIAYQsQYaIAQQsQYaCyAAKAIMIgZBAk4EQCABKAIQIgQrAzAiCCAEKwMAIgkgACgCCCIBIAIoAgAiACgCAEEEdCICQQhyaioCALuiIAQrAxgiCiABIAJBDHJqKgIAu6KgoCADKwPgASILIAMrA+gBIgwgASACQQRyaioCALuioaIhDQNAAkAgCyAMIAEgACAFQQJ0aigCAEEEdCIEQQRyaioCALuioSANIAggCSABIARBCHJqKgIAu6IgCiABIARBDHJqKgIAu6KgoKKiIQcgBUEBaiIFIAZODQAgB0QAAAAAAAAAAGNBAXMNAQsLIAdEAAAAAAAAAABjQQFzIQULIANB8AFqJAAgBQvXAgIFfwN8IwBB4ABrIgIkAAJAIAEoAhAiBUUNACABKAIEQQJKDQBBASEDIAEoAgwhBAJAIAEoAggiBkEBRgRAIAQhAwwBCyAEQQFHDQELIAMgBmpBBEcNACABKAIAIgRB+B9xDQACQCAEQf+fAXFBhoABRgRAIAUrAxAhByAFKwMIIQggBSsDACEJDAELIAJB2ABqIgVCADcDACACQdAAaiIEQgA3AwAgAkIANwNIIAIgAkEQaiAGIANBBiACQcgAakEAEK4GIgM2AgQgAkGAgIQQNgIAIAJCADcDCCABIAIgAygCAEH/H3FEAAAAAAAA8D9EAAAAAAAAAAAQiAMgBCsDACEIIAUrAwAhByACKwNIIQkgAxCxBhoLIAAgBzkDECAAIAg5AwggACAJOQMAIAJB4ABqJAAPC0GpfiACQRBqQeTQBRCJA0G90QVBytEFQeAIEJgKAAtlAQJ/IAEoAgQhA0EcENUaIgJCADcCBCACQcDOBTYCACABKAIMIQEgAkEMaiIEEOMLGiACIAM2AhAgAkHIzwU2AgwgAygCECEDIAIgATYCGCACIAM2AhQgACACNgIEIAAgBDYCAAsWACAAQYjSBTYCACAAQQxqEOMLGiAACxkAIABBiNIFNgIAIABBDGoQ4wsaIAAQohsLpwYCBH8YfQJAIAAoAggiACABKAIAIgIoAgBBBHQiAWoqAgAiByAAIAIoAgRBBHQiA0EEcmoqAgAiCJQgACABQQRyaioCACIGIAAgA2oqAgAiEJSTIgogBiAIkyILIAAgAigCCEEEdCIEaioCACIRlCAQIAeTIhcgACAEQQRyaioCACISlJKSIAAgAUEIcmoqAgAiDCAAIANBDHJqKgIAIg6UIAAgAUEMcmoqAgAiCSAAIANBCHJqKgIAIhOUkyIPIAkgDpMiDSAAIARBCHJqKgIAIhSUIBMgDJMiGCAAIARBDHJqKgIAIhWUkpKUQwAAAABdDQAgCiALIAAgAigCDEEEdCIBaioCACIWlCAXIAAgAUEEcmoqAgAiC5SSkiAPIA0gACABQQhyaioCACIKlCAYIAAgAUEMcmoqAgAiDZSSkpRDAAAAAF0NACARIAuUIBIgFpSTIg8gBiAWIBGTIhmUIAcgEiALkyIalJKSIBQgDZQgFSAKlJMiGyAJIAogFJMiHJQgDCAVIA2TIh2UkpKUQwAAAABdDQAgDyAIIBmUIBAgGpSSkiAbIA4gHJQgEyAdlJKSlEMAAAAAXQ0AIBcgEiAGkyIZlCAIIAaTIg8gESAHkyIalJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgFyALIAaTIgaUIA8gFiAHkyIHlJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgGiAGlCAZIAeUk4u7RAAAAAAAAOA/okQAAAAAAACAPmMNACARIBCTIAsgCJOUIBIgCJMgFiAQk5STi7tEAAAAAAAA4D+iRAAAAAAAAIA+Yw0AIBggFSAJkyIHlCAOIAmTIgYgFCAMkyIIlJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgGCANIAmTIgmUIAYgCiAMkyIMlJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgCCAJlCAHIAyUk4u7RAAAAAAAAOA/okQAAAAAAACAPmMNACAUIBOTIA0gDpOUIBUgDpMgCiATk5STi7tEAAAAAAAA4D+iRAAAAAAAAIA+Yw0AQQEhBQsgBQtTAQF/IAEoAgQhAkEYENUaIgFCADcCBCABQYjSBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQYjTBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQaDUBTYCACAAQRBqEJwOGiAAC/wCAQR/IABBpNUFNgIAIAAoAnQiAgRAAn8gAiACIAAoAngiAUYNABoDQCABQThrELEGIgEgAkcNAAsgACgCdAshASAAIAI2AnggARCiGwsgACgCaCIBBEAgACABNgJsIAEQohsLIAAoAlwiAQRAIAAgATYCYCABEKIbCyAAKAJQIgMEQAJ/IAMgAyAAKAJUIgJGDQAaA0AgAkEMayIBKAIAIgQEQCACQQhrIAQ2AgAgBBCiGwsgASECIAEgA0cNAAsgACgCUAshASAAIAM2AlQgARCiGwsgAEEwahDjCxoCQCAAKAIsIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAiQiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCFCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogAAsZACAAQaDUBTYCACAAQRBqEJwOGiAAEKIbC5wDAQR/AkACQAJAIAAoAgQgACgCACIDa0EMbSIFQQFqIgJB1qrVqgFJBEAgBUEMbAJ/IAIgACgCCCADa0EMbSIDQQF0IgUgAiAFSxtB1arVqgEgA0Gq1arVAEkbIgMEQCADQdaq1aoBTw0DIANBDGwQ1RohBAsgBAtqIgIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAFBADYCCCABQgA3AgAgBCADQQxsaiEDIAJBDGohBSAAKAIEIgEgACgCACIERg0CA0AgAkEMayICQQA2AgggAkIANwIAIAIgAUEMayIBKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAUEANgIIIAFCADcCACABIARHDQALIAAgAzYCCCAAKAIEIQMgACAFNgIEIAAoAgAhBCAAIAI2AgAgAyAERg0DA0AgA0EMayIBKAIAIgIEQCADQQhrIAI2AgAgAhCiGwsgASEDIAEgBEcNAAsMAwsQ/BoAC0H0zQUQvgIACyAAIAM2AgggACAFNgIEIAAgAjYCAAsgBARAIAQQohsLCwoAIAAQnA4QohsLDgAgAEEwaiABIAIQlA4LmRYDDn8BfR58IwBB0AJrIgUkACAEQv/////////3/wA3AwggBEEANgIAIAVCgICAgPj/////ADcD4AEgBUKAgICAEDcDACAFQZgBaiACIAVB4AFqIAUQugYhByAFQoCAgID4/////wA3A+ABIAVCgoCAgDA3A6gCIAUgAiAFQeABaiAFQagCahC6BiEGIAVCADcDUCAFIAY2AkwgBUGAgIQINgJIIAVB4AFqIAcgBUHIAGoQswcgBUGoAmogBUHgAWoQlQ4gBUHgAWoQsQYaIAYQsQYaIAcQsQYaAkAgBSsDqAKZRLu919nffNs9Y0EBcw0AIAUrA7ACmUS7vdfZ33zbPWNBAXMNACAFKwO4AplEu73X2d982z1jQQFzDQAgBUKAgICA+P////8ANwPgASAFQoGAgIAgNwMAIAVBmAFqIAIgBUHgAWogBRC6BiEHIAVCgICAgPj/////ADcD4AEgBUKCgICAMDcDSCAFIAIgBUHgAWogBUHIAGoQugYhBiAFQgA3A4gBIAUgBjYChAEgBUGAgIQINgKAASAFQeABaiAHIAVBgAFqELMHIAVByABqIAVB4AFqEJUOIAUgBSkDWDcDuAIgBSAFKQNQNwOwAiAFIAUpA0g3A6gCIAVB4AFqELEGGiAGELEGGiAHELEGGgsgBUHgAWogBUGoAmoQ9RMgBUGYAWogAhDDCyAFKwPwASEUIAUrA+ABIRYgBSsD6AEhFSAFKwOIAiEXIAUrA/gBIRggBSsDgAIhGSAFKwPIASEbIAUrA5gBIRwgBSsDsAEhHSAFKwPQASEaIAUrA6ABIR4gBSsDuAEhHyAFKwOgAiEgIAUrA9gBISEgBSsDkAIhIiAFKwOoASEjIAUrA5gCISQgBSsDwAEhJSAFQgA3A5ABIAVCADcDiAEgBUIANwOAASAFQgA3A+gBIAVCADcDgAIgBUIANwOYAiAFQgA3A+ABIAVCADcD+AEgBUKAgICAgICA+D83A/ABIAVCADcDkAIgBUKAgICAgICA+D83A4gCIAVCgICAgICAgPg/NwOgAiAAKAJQIgwgACgCVCIQRwRAICMgIqJEAAAAAAAAAACgICUgJKKgICEgIKKgISYgHiAiokQAAAAAAAAAAKAgHyAkoqAgGiAgoqAhJyAcICKiRAAAAAAAAAAAoCAdICSioCAbICCioCEgICMgGKJEAAAAAAAAAACgICUgGaKgICEgF6KgISIgHiAYokQAAAAAAAAAAKAgHyAZoqAgGiAXoqAhJCAcIBiiRAAAAAAAAAAAoCAdIBmioCAbIBeioCEoIBYgI6JEAAAAAAAAAACgIBUgJaKgIBQgIaKgISEgFiAeokQAAAAAAAAAAKAgFSAfoqAgFCAaoqAhHyAWIByiRAAAAAAAAAAAoCAVIB2ioCAUIBuioCEjIABB6ABqIREgAEH0AGohDiAAQdwAaiESIAVB+ABqIQ8gBUHYAGohCiAFQdAAaiENA0AgACgCGCEHIAEoAgAhCSAMKAIAIQggBSsDqAIhGyAFKwOwAiEcIAUrA7gCIR1BACECA0AgBUGAAWogAkEDdGogIiAoIAcgCSAIIAJBAnRqKAIAQQJ0aigCAEEEdCIGaioCALsiFKJEAAAAAAAAAACgICQgByAGQQRyaioCALsiFqKgoCIaIAcgBkEIcmoqAgC7IhWiICEgIyAUokQAAAAAAAAAAKAgHyAWoqCgIhkgByAGQQxyaioCALsiF6KhIBwgFaIgGyAXoqEiGKIgGSAmICAgFKJEAAAAAAAAAACgICcgFqKgoCIeIBWioSAbIB0gFaKhIhWiIB0gF6IgHKEiGSAeIBeiIBqhokQAAAAAAAAAAKCgoCAZIBmiRAAAAAAAAAAAoCAVIBWioCAYIBiioJ8iFSAVoqM5AwAgBUHgAWogAkEYbGoiBiAUOQMAIAYgFjkDCCACQQFqIgJBA0cNAAtEAAAAAAAAAAAhHkQAAAAAAAAAACElRAAAAAAAAAAAISlEAAAAAAAAAAAhKkQAAAAAAAAAACErRAAAAAAAAAAAISxEAAAAAAAAAAAhLUQAAAAAAAAAACEuRAAAAAAAAAAAIS8gBSsDmAIiFyAFKwP4ASIWoiAFKwOAAiIYIAUrA5ACIhWioSIwIAUrA+ABIhkgGCAXoSIxoiAFKwPoASIaIBYgFaGioaAiFEQAAAAAAAAAAGIEQCAWIBmhRAAAAAAAAPA/IBSjIhSiISwgGSAVoSAUoiErIBUgFqEgFKIhKiAaIBihIBSiISkgFyAaoSAUoiElIBkgGKIgGiAWoqEgFKIhLyAaIBWiIBkgF6KhIBSiIS4gMCAUoiEtIDEgFKIhHgsgBSAmIC0gBSsDgAEiFKJEAAAAAAAAAACgIC4gBSsDiAEiFqKgIC8gBSsDkAEiFaKgIhcgHaJEAAAAAAAAAACgoTkD2AEgBSAnICogFKJEAAAAAAAAAACgICsgFqKgICwgFaKgIhggHaJEAAAAAAAAAACgoTkD0AEgBSAgIB4gFKJEAAAAAAAAAACgICUgFqKgICkgFaKgIhQgHaJEAAAAAAAAAACgoTkDyAEgBSAiIBcgHKJEAAAAAAAAAACgoTkDwAEgBSAkIBggHKJEAAAAAAAAAACgoTkDuAEgBSAoIBQgHKJEAAAAAAAAAACgoTkDsAEgBSAhIBsgF6JEAAAAAAAAAACgoTkDqAEgBSAfIBsgGKJEAAAAAAAAAACgoTkDoAEgBSAjIBsgFKJEAAAAAAAAAACgoTkDmAEgACgCICEHIAVCg4CAgDA3A1AgBUKGgP2XJDcDSCAKQQhqIglCADcCACAKQRBqIghCADcCACAKQgA3AgAgBUIANwN4IAUgDzYCdCAFIA02AnBBACECIAVBA0EDQQYgBUGYAWpBABCuBiEGIAVBgICEEDYCwAIgBUIANwPIAiAFIAVByABqNgLEAiAGIAVBwAJqEJYEIAYQsQYaIAcgBUHIAGogBygCACgCIBECACAFQcgAahCxBhpBACEGAkAgACgChAFBAEoEQANAAkAgACgCICIHIAEoAgAgAkECdGooAgAgBygCACgCJBEZACETIAArA0AgE7tjQQFzRQRAIAZBAUohByAGQQFqIQYgBw0BCyACQQFqIgIgACgChAFIDQELCyAGQQJKDQELIAAoAiAhAiAFQoOAgIAwNwNQIAVChoD9lyQ3A0ggCUIANwIAIAhCADcCACAKQgA3AgAgBUIANwN4IAUgDzYCdCAFIA02AnBBACEHIAVBA0EDQQYgBUGYAWpBABCuBiEGIAVBgICEEDYCwAIgBUIANwPIAiAFIAVByABqNgLEAiAGIAVBwAJqEJYEIAYQsQYaIAIgBUHIAGogAigCACgCKBEDACEIIAVByABqELEGGiAAKAKAASIGQQFOBEAgACsDQCEUIAgoAgAhCUEAIQIDQCAUIAkgAkECdGoqAgC7ZEEBc0UEQCAAKAJcIAdBAnRqIAI2AgAgB0EBaiEHIAAoAoABIQYLIAJBAWoiAiAGSA0ACwsgACgCKCICIBIgByAOIBEgAigCACgCIBEJAARAIAUgDigCABDDCyAFQZgBaiAFQcgAEK4bGgsgBUHIAGogACAFQZgBaiAFEKcGIgIgCBCiDiAFKwNQIAQrAwhjQQFzRQRAIAQgBSkDSDcDACAEIA0pAwA3AwggBSADNgLEAiAFQYCAhBA2AsACIAVCADcDyAIgAiAFQcACahCWBAsgAhCxBhpBASELCyAMQQxqIgwgEEcNAAsLIAVB0AJqJAAgCwu2DAMKfwJ+EnwjAEHwAWsiBSQAIABC//////////f/ADcDCCAAQQA2AgAgBUE4aiELIAVBGGohCiAFQRBqIQxB5AAhCQNAQQAhCAJAIAEoAoABIgYEQCABIAEpAwgiD0L/////D4NCisb9wQ9+IA9CIIh8Ig9C/////w+DQorG/cEPfiAPQiCIfCIQNwMIIA+nIAZwIgggEKcgBnAiB0cNAQsDQCAGBH8gASABKQMIIg9C/////w+DQorG/cEPfiAPQiCIfCIPNwMIIA+nIAZwBUEACyIHIAhGDQALCwJAIAErA0AiESAEKAIAIgYgCEECdGoqAgC7Y0EBcw0AIBEgBiAHQQJ0aioCALtjQQFzDQAgBSACKwNAIhQgAisDMCIVIAEoAhgiBiAIQQR0IghqKgIAuyIRokQAAAAAAAAAAKAgAisDOCIXIAYgCEEEcmoqAgC7IhKioKAiGCAGIAhBDHJqKgIAuyIaoiACKwMoIhsgAisDGCIcIBGiRAAAAAAAAAAAoCACKwMgIh0gEqKgoCIeoSIfIAIrAxAiGSACKwMAIiAgBiAHQQR0IgdqKgIAuyIWokQAAAAAAAAAAKAgAisDCCIhIAYgB0EEcmoqAgC7IhOioKAiIiAUIBUgFqJEAAAAAAAAAACgIBcgE6KgoCIUIAYgB0EIcmoqAgC7IhWioSIXoiAZICAgEaJEAAAAAAAAAACgICEgEqKgoCIRIBggBiAIQQhyaioCALsiEqKhIhggFCAGIAdBDHJqKgIAuyIZoiAbIBwgFqJEAAAAAAAAAACgIB0gE6KgoCIWoSIToqE5AxggBSAeIBKiIBEgGqKhIhEgE6IgHyAWIBWiICIgGaKhIhKioTkDECAFIBggEqIgESAXoqE5AwggBUHQAGogBUEIahD1EyAFIAUrA1AiEyACKwMAIhSiRAAAAAAAAAAAoCAFKwNYIhUgAisDGCIXoqAgBSsDYCIYIAIrAzAiGqKgOQOYASAFIBMgAisDCCIbokQAAAAAAAAAAKAgFSACKwMgIhyioCAYIAIrAzgiHaKgOQOgASACKwNAIREgAisDECESIAIrAyghFiAFIBQgBSsDaCIeokQAAAAAAAAAAKAgFyAFKwNwIh+ioCAaIAUrA3giGaKgOQOwASAFIBsgHqJEAAAAAAAAAACgIBwgH6KgIB0gGaKgOQO4ASAFIBMgEqJEAAAAAAAAAACgIBUgFqKgIBggEaKgOQOoASAFIBIgHqJEAAAAAAAAAACgIBYgH6KgIBEgGaKgOQPAASAFIBQgBSsDgAEiE6JEAAAAAAAAAACgIBcgBSsDiAEiFKKgIBogBSsDkAEiFaKgOQPIASAFIBsgE6JEAAAAAAAAAACgIBwgFKKgIB0gFaKgOQPQASAFIBIgE6JEAAAAAAAAAACgIBYgFKKgIBEgFaKgOQPYASABKAIQIQcgBUKDgICAMDcDECAFQoaA/ZckNwMIIApBCGoiCEIANwIAIApBEGoiDkIANwIAIApCADcCACAFQgA3AzggBSALNgI0IAUgDDYCMCAFQdAAakEDQQNBBiAFQZgBakEAEK4GIQYgBUGAgIQQNgLgASAFQgA3A+gBIAUgBUEIajYC5AEgBiAFQeABahCWBCAGELEGGiAFQUBrIAcgBUEIaiAHKAIAKAIgEQQAIAVBCGoQsQYaIAUrA0ggACsDCGNBAXMNACAAIAUpA0A3AwAgACAFKQNINwMIIAVCg4CAgDA3AxAgBUKGgP2XJDcDCCAIQgA3AgAgDkIANwIAIApCADcCACAFQgA3AzggBSALNgI0IAUgDDYCMCAFQdAAakEDQQNBBiAFQZgBakEAEK4GIQcgBUGAgIQQNgLgASAFQgA3A+gBIAUgBUEIajYC5AEgByAFQeABahCWBCAHELEGGiADIAVBCGoQuQYaIAVBCGoQsQYaIAErA0hEAAAAAAAA8D8gBSgCQLcgASgCgAG3oyIRIBGioRCVFaMiEb1C////////////AINCgICAgICAgPj/AFIhBwJ/IBGZRAAAAAAAAOBBYwRAIBGqDAELQYCAgIB4CyAJIAcbIAkgESAJt2MbIQkLIA1BAWoiDSAJSA0ACyAFQfABaiQAC6YBAQR/IwBBEGsiBCQAIARBCGogASgCECIDIAMoAgAoAjwRAgAgASgCHCEFQZgBENUaIgNCADcCBCADQaDUBTYCACADQRBqIgYgAiAEQQhqIAUgASgChAEgASsDQBCRDiAAIAM2AgQgACAGNgIAAkAgBCgCDCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgBEEQaiQACygAIABBvNcFNgIMIABBvNYFNgIAIABBGGoQ4wsaIABBDGoQ4wsaIAALKwAgAEG81wU2AgwgAEG81gU2AgAgAEEYahDjCxogAEEMahDjCxogABCiGwscACAAQbzXBTYCACAAQQxqEOMLGiAAEOMLGiAACx8AIABBvNcFNgIAIABBDGoQ4wsaIAAQ4wsaIAAQohsLDgAgAEEMaiABIAIQlA4LhQEBAn8gASgCBCEDQSgQ1RoiAkIANwIEIAJBvNYFNgIAIAEoAgghASACQQxqIgQQ4wsaIAIgATYCFCACIAM2AhAgAkG81wU2AgwgAkEYahDjCxogAiADNgIcIAJByM8FNgIYIAMoAhAhAyACIAE2AiQgAiADNgIgIAAgAjYCBCAAIAQ2AgALFgAgAEHQ2AU2AgAgAEEMahDjCxogAAsZACAAQdDYBTYCACAAQQxqEOMLGiAAEKIbC9oPAwV/BH0VfCMAQbADayIDJAAgA0H4AxDVGiIENgKgAyADIARB+ANqIgU2AqgDIARBAEH4AxCvGxogAyAFNgKkAyAAKAIIIQAgASgCACEFA0AgACAFIAZBAnRqKAIAQQR0IgFBCHJqKgIAIQggACABQQxyaioCACEJIAAgAUEEcmoqAgAhCiAAIAFqKgIAIQsgBEKAgICAgICA+D83A0AgBCALuzkDMCAEIAq7OQM4IAQgCbs5AyggBCAIuzkDECAEIAogCZS7OQMgIAQgCyAJlLs5AxggBCAKIAiUuzkDCCAEIAsgCJS7OQMAIARByABqIQQgBkEBaiIGQQdHDQALQQAhBAJAAkAgA0GgA2pBB0EJEPgTRQ0AIANCgICAgICAgPg/NwOQAyADQgA3A4gDIAMoAqADIgErA+ADIQwgASsD8AMhDSADQoCAgICAgID4PzcDwAIgAyANmiINIAyjOQOAAyABKwPoAyEMIANCADcDsAIgAyANIAyjOQO4AkEFIQQCQANAIAQiBUEJbCEGRAAAAAAAAAAAIQxEAAAAAAAAAAAhDQNAIAwgASAEQQFqIgQgBmpBA3RqKwMAIg4gBEEDdCIAIANBgAJqaisDAKKhIQwgDSAOIANB0AJqIABqKwMAoqEhDSAEQQhHDQALIAVBA3QiBCADQYACamogDCABIAVB0ABsaisDACIOoyIMOQMAIANB0AJqIARqIA0gDqMiDTkDACANIA1iIAwgDGJyRQRAIAVBAWshBCAFRQ0CDAELC0EAIQQMAQsgA0H4AWoiAEIANwMAIANB8AFqIgFCADcDACADQgA3A+gBIANCADcD4AEgA0IANwPQASADQgA3A8gBIANCADcDwAFBACEEIANBiAFqQQFBBEEGIANB4AFqQQAQrgYhBSADQdAAakEBQQNBBiADQcABakEAEK4GIQcgAyADKwP4AiADKwOoAiIToSIUOQP4AiADIAMrA/ACIAMrA6ACIg+hIhU5A/ACIAMgAysD6AIgAysDmAIiFqEiFzkD6AIgAyADKwPgAiADKwOQAiIMoSINOQPgAiADIAMrA9ACIAMrA4ACIg6hIhA5A9ACIAMgAysD2AIgAysDiAIiEaEiEjkD2AIgAyADKwOAAyADKwOwAiIYoSIZOQOAAyADIAMrA4gDIAMrA7gCIhqhIhs5A4gDIAMgAysDkAMgAysDwAIiHKEiHTkDkAMgACAOIA8gHKIgEyAaoqEiHqIgESAcIBaiIBMgGKKhIh+ioSAMIBogFqIgDyAYoqEiIKKgOQMAIAEgHiAQoiAfIBKioSAgIA2ioCAcIBGiIBogDKKhIBeioSAcIA6iIBggDKKhIBWioCAaIA6iIBggEaKhIBSioSATIBGiIA8gDKKhIBmioCATIA6iIBYgDKKhIBuioSAPIA6iIBYgEaKhIB2ioDkDACADIBwgECAVoiASIBeioaIgGCASIBSiIA0gFaKhoiAPIBAgHaIgDSAZoqGiIAwgFyAboiAVIBmioSIPoiAOIBUgHaIgFCAboqEiDKIgESAXIB2iIBQgGaKhIg6ioaAgFiASIB2iIA0gG6KhoqGgIBMgECAboiASIBmioaKhoCAaIBAgFKIgDSAXoqGioaA5A+gBIAMgDSAPoiAQIAyiIBIgDqKhoDkD4AEgA0IANwMQIANBhoCEiHg2AgggAyADQYgBajYCDCADQYaAhJB4NgJAIANCADcDSCADIANB0ABqNgJEIANBCGogA0FAaxCzCyIGQQFOBEAgA0EANgIQIANCADcDCCAGQaWSySRPDQIgAyAGQThsIgAQ1RoiBDYCCCADIAQ2AgwgAyAAIARqIgA2AhADQCAEEKcGQThqIgQgAEcNAAsgAyAANgIMIAIoAgAiAQRAAn8gASABIAIoAgQiBEYNABoDQCAEQThrELEGIgQgAUcNAAsgAigCAAshBCACIAE2AgQgBBCiGyADKAIMIQALIAMoAgghBCACIAA2AgQgAiAENgIAIAIgAygCEDYCCCAGQQFOBEBBACEAIAMrA7gCIRAgAysDiAMhESADKwOwAiESIAMrA4ADIRMgAysDqAIhFCADKwP4AiEPIAMrA6ACIRUgAysD8AIhFiADKwOYAiEXIAMrA+gCIRggAysDkAIhGSADKwPgAiEaIAMrA4gCIRsgAysD2AIhHiADKwOAAiEfIAMrA9ACISADQCADQQhqQQNBA0EGEKgGIQQgAEE4bCIBIAIoAgBqIAQQuQYaIAQQsQYaIAIoAgAgAWooAhAiBAJ8IBwgHSADQcABaiAAQQN0aisDACIMoqAiDZlEAAAAAAAAgD5kQQFzBEBEAAAAAAAA8D8hDUQAAAAAAAAAAAwBCyAMRAAAAAAAAPA/IA2jIg2iIQxEAAAAAAAA8D8LOQNAIAQgDCARoiANIBCioDkDOCAEIAwgE6IgDSASoqA5AzAgBCAMIA+iIA0gFKKgOQMoIAQgDCAWoiANIBWioDkDICAEIAwgGKIgDSAXoqA5AxggBCAMIBqiIA0gGaKgOQMQIAQgDCAeoiANIBuioDkDCCAEIAwgIKIgDSAfoqA5AwAgAEEBaiIAIAZHDQALCyAGIQQLIAcQsQYaIAUQsQYaCyADKAKgAyIABEAgAyAANgKkAyAAEKIbCyADQbADaiQAIAQPCxD8GgALBABBBwtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQdDYBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQdjZBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQYDbBTYCACAAQQxqEOMLGiAACxkAIABBgNsFNgIAIABBDGoQ4wsaIAAQohsL5gQDBH8EfQF8IwBBgAFrIgQkACAEQcAEENUaIgM2AnAgBCADQcAEaiIFNgJ4IANBAEHABBCvGxogBCAFNgJ0IAAoAgghACABKAIAIQUDQCAAIAUgBkECdGooAgBBBHQiAUEIcmoqAgAhByAAIAFBDHJqKgIAIQggACABQQRyaioCACEJIAAgAWoqAgAhCiADQoCAgICAgID4PzcDQCADIAq7OQMwIAMgCbs5AzggAyAIuzkDKCADIAe7OQMQIAMgCSAIlLs5AyAgAyAKIAiUuzkDGCADIAkgB5S7OQMIIAMgCiAHlLs5AwAgA0HIAGohAyAGQQFqIgZBCEcNAAsCQAJAIARB8ABqQQhBCRD4EwRAIARBOGogBEEDQQNBBhCoBiIFELgGIQNBOBDVGiIBIAMQrQYaIAFBOGohBiACKAIAIgAEQAJ/IAAgACACKAIEIgNGDQAaA0AgA0E4axCxBiIDIABHDQALIAIoAgALIQMgAiAANgIEIAMQohsLIAIgBjYCCCACIAY2AgQgAiABNgIAIARBOGoQsQYaIAUQsQYaIAIoAgAoAhAiAUKAgICAgICA+D83A0BBByEDIAQoAnAhAANAIAMiBUEJbCEGRAAAAAAAAAAAIQsDQCALIAAgA0EBaiIDIAZqQQN0aisDACABIANBA3RqKwMAoqEhCyADQQhHDQALIAEgBUEDdGogCyAAIAVB0ABsaisDAKMiCzkDACALIAthBEAgBUEBayEDIAUNAQsLIAsgC2EhAwwBC0EAIQMgBCgCcCIARQ0BCyAEIAA2AnQgABCiGwsgBEGAAWokACADCwQAQQgLUwECfyABKAIEIQJBGBDVGiIBQgA3AgQgAUGA2wU2AgAgAUEMaiIDEOMLGiABIAI2AhAgAUGI3AU2AgwgASACKAIQNgIUIAAgATYCBCAAIAM2AgALVwEDfyAAQbjeBTYCDCAAQbDdBTYCACAAQQxqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAC1oBA38gAEG43gU2AgwgAEGw3QU2AgAgAEEMaiECAkAgACgCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwtHAQJ/IABBuN4FNgIAAkAgACgCDCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogAAtKAQJ/IABBuN4FNgIAAkAgACgCDCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogABCiGwv1EQMGfwR9BHwjAEHQG2siBSQAIAAgACgCACgCJBEAACACTARAIAVBwBpqQQBByAAQrxsaIAVB+BlqQQBByAAQrxsaIAVBwBlqEKcGIQkgACgCCCIAIAkgASACIAVBwBpqIAVB+BlqIAAoAgAoAiARDQAgCSgCECEGIAVBqBlqQgA3AwAgBUGgGWpCADcDACAFQZgZakIANwMAIAVBkBlqQgA3AwAgBUGIGWpCADcDACAFQYAZakIANwMAIAVCADcD+BggBUIANwPwGCAFQoCAgICAgID4PzcDsBkgBUHgE2pBAEGIBRCvGxoCQCAEKAIAIgogBCgCBEcEQCACQQFIDQEDQCAGIAhBBHQiAEEIcmoqAgAhCyAGIABBDHJqKgIAIQwgBiAAQQRyaioCACENIAAgBmoqAgAhDiAFIAogCEEDdGorAwAiDzkDsBkgBSAPIA67IhCiOQOgGSAFIA8gDbsiEaI5A6gZIAUgDyAMu6IiEjkDmBkgBSASIBGiOQOQGSAFIBIgEKI5A4gZIAUgDyALu6IiDzkDgBkgBSAPIBGiOQP4GCAFIA8gEKI5A/AYQQAhAQNAIAVB4BNqIAFB0ABsaiIAIAArAwAgBUHwGGogAUEDdGorAwAiDyAPoqA5AwAgAUEBaiIAQQlHBEAgAUEJbCEEA0AgBUHgE2ogACAEakEDdGoiByAHKwMAIA8gBUHwGGogAEEDdGorAwCioDkDACAAQQFqIgBBCUcNAAsLIAFBAWoiAUEJRw0ACyAIQQFqIgggAkcNAAsMAQsgAkEBSA0AA0AgBiAIQQR0IgBBCHJqKgIAIQsgACAGaioCACEMIAYgAEEEcmoqAgAhDSAFIAYgAEEMcmoqAgC7Ig85A5gZIAUgDbsiEDkDqBkgBSAQIA+iOQOQGSAFIAy7IhE5A6AZIAUgESAPojkDiBkgBSALuyIPOQOAGSAFIBAgD6I5A/gYIAUgESAPojkD8BhBACEBA0AgBUHgE2ogAUHQAGxqIgAgACsDACAFQfAYaiABQQN0aisDACIPIA+ioDkDACABQQFqIgBBCUcEQCABQQlsIQQDQCAFQeATaiAAIARqQQN0aiIHIAcrAwAgDyAFQfAYaiAAQQN0aisDAKKgOQMAIABBAWoiAEEJRw0ACwsgAUEBaiIBQQlHDQALIAhBAWoiCCACRw0ACwsgBSAFKwPoEzkDqBQgBSAFKwPwEzkD8BQgBSAFKwO4FDkD+BQgBSAFKwP4EzkDuBUgBSAFKwPAFDkDwBUgBSAFKwOIFTkDyBUgBSAFKwOAFDkDgBYgBSAFKwPIFDkDiBYgBSAFKwOQFTkDkBYgBSAFKwPYFTkDmBYgBSAFKwOIFDkDyBYgBSAFKwPQFDkD0BYgBSAFKwOYFTkD2BYgBSAFKwPgFTkD4BYgBSAFKwOoFjkD6BYgBSAFKwOQFDkDkBcgBSAFKwPYFDkDmBcgBSAFKwOgFTkDoBcgBSAFKwPoFTkDqBcgBSAFKwOwFjkDsBcgBSAFKwP4FjkDuBcgBSAFKwOYFDkD2BcgBSAFKwPgFDkD4BcgBSAFKwOoFTkD6BcgBSAFKwPwFTkD8BcgBSAFKwO4FjkD+BcgBSAFKwOAFzkDgBggBSAFKwPIFzkDiBggBSAFKwOgFDkDoBggBSAFKwPoFDkDqBggBSAFKwOwFTkDsBggBSAFKwP4FTkDuBggBSAFKwPAFjkDwBggBSAFKwOIFzkDyBggBSAFKwPQFzkD0BggBSAFKwOYGDkD2BggBUHYDmogBUHgE2pBiAUQrhsaIAVB0AlqQQBBiAUQrxsaIAVByARqQQBBiAUQrxsaIAVBgARqQQBByAAQrxsaIAVCiYCAgJABNwOoAiAFQYaAiIh8NgKgAiAFIAVB2A5qNgKkAiAFQoGAgICQATcDECAFQYaAiJB8NgIIIAUgBUGABGo2AgwgBUKJgICAkAE3A6AbIAVBhoCIkHw2ApgbIAUgBUHQCWo2ApwbIAVCiYCAgJABNwPwASAFQYaAiJB8NgLoASAFIAVByARqNgLsASAFQaACaiAFQQhqIAVBmBtqIAVB6AFqQQUQrwQgBUGgAmogBUEIakEDQQNBBiAFQYgJakEAEK4GIgYQuAYhAEE4ENUaIgQgABCtBhogBEE4aiEBIAMoAgAiBwRAAn8gByAHIAMoAgQiAEYNABoDQCAAQThrELEGIgAgB0cNAAsgAygCAAshACADIAc2AgQgABCiGwsgAyABNgIIIAMgATYCBCADIAQ2AgAgBUGgAmoQsQYaIAYQsQYaIAMoAgBBARCQDiAFIAUrA4gaOQOoGiAFKwOgGiEPIAVCADcDoBogBSAPOQOwGiAFQgA3A4gaIAMoAgAhASAFQbAbaiIGQgA3AwAgBUG4G2oiCEIANwMAIAVByBtqIgBCADcDACAFQgA3A6gbIAVCg4CAgDA3A6AbIAVChoD9lyQ3A5gbIAUgADYCxBsgBSAFQaAbaiICNgLAGyAFQaACakEDQQNBBiAFQfgZakEAEK4GIQQgBUGAgIQQNgIIIAVCADcDECAFIAVBmBtqNgIMIAQgBUEIahCWBCAEELEGGiAFQQhqIAVBmBtqIAEQ/wYgBUGYG2oQsQYaIAVB6AFqEKcGIQQgBSgCCCIBIAVBCGogBEF/IAEoAgAoAgwRBgAgBkIANwMAIAhCADcDACAAQgA3AwAgBUIANwOoGyAFQoOAgIAwNwOgGyAFQoaA/ZckNwOYGyAFIAA2AsQbIAUgAjYCwBsgBUGgAmpBA0EDQQYgBUHAGmpBABCuBiEAIAVBgICEEDYCiBsgBUIANwOQGyAFIAVBmBtqNgKMGyAAIAVBiBtqEJYEIAAQsQYaIAVBoAJqIAQgBUGYG2oQ/wYgBUGYG2oQsQYaIAUoAqACIgAgBUGgAmogAygCAEF/IAAoAgAoAgwRBgAgBUGYA2oQsQYaIAVB4AJqELEGGiAFQagCahCxBhogBBCxBhogBUGAAWoQsQYaIAVByABqELEGGiAFQRBqELEGGiAJELEGGkEBIQcLIAVB0BtqJAAgBwtTAQJ/IAEoAgQhAkEcENUaIgFCADcCBCABQbDdBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQbjeBTYCDCABQRRqIAIQ5wwgACABNgIEIAAgAzYCAAsWACAAQdzfBTYCACAAQQxqEOMLGiAACxkAIABB3N8FNgIAIABBDGoQ4wsaIAAQohsLJgAjAEEQayIAJABBq34gAEGY4gUQiQNB3OIFQeXiBUHFARCYCgALBABBBQsEAEEKC0kBAn8gASgCBCECQRQQ1RoiAUIANwIEIAFB3N8FNgIAIAFBDGoiAxDjCxogASACNgIQIAFB7OAFNgIMIAAgATYCBCAAIAM2AgALFgAgAEGg4wU2AgAgAEEMahDjCxogAAsZACAAQaDjBTYCACAAQQxqEOMLGiAAEKIbC5sNAwZ/BH0EfCMAQdAWayIFJAAgACAAKAIAKAIkEQAAIAJMBEAgBUG4FmpCADcDACAFQbAWakIANwMAIAVBqBZqQgA3AwAgBUGgFmpCADcDACAFQZgWakIANwMAIAVBkBZqQgA3AwAgBUIANwOIFiAFQgA3A4AWIAVCgICAgICAgPg/NwPAFiAFQfAQakEAQYgFEK8bGgJAIAQoAgAiCSAEKAIERwRAIAJBAUgNASAAKAIIIQYgASgCACEKA0AgBiAKIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQsgBiAAQQxyaioCACEMIAYgAEEEcmoqAgAhDSAAIAZqKgIAIQ4gBSAJIAhBA3RqKwMAIg85A8AWIAUgDyAOuyIQojkDsBYgBSAPIA27IhGiOQO4FiAFIA8gDLuiIhI5A6gWIAUgEiARojkDoBYgBSASIBCiOQOYFiAFIA8gC7uiIg85A5AWIAUgDyARojkDiBYgBSAPIBCiOQOAFkEAIQEDQCAFQfAQaiABQdAAbGoiACAAKwMAIAVBgBZqIAFBA3RqKwMAIg8gD6KgOQMAIAFBAWoiAEEJRwRAIAFBCWwhBANAIAVB8BBqIAAgBGpBA3RqIgcgBysDACAPIAVBgBZqIABBA3RqKwMAoqA5AwAgAEEBaiIAQQlHDQALCyABQQFqIgFBCUcNAAsgCEEBaiIIIAJHDQALDAELIAJBAUgNACAAKAIIIQYgASgCACEJA0AgBiAJIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQsgACAGaioCACEMIAYgAEEEcmoqAgAhDSAFIAYgAEEMcmoqAgC7Ig85A6gWIAUgDbsiEDkDuBYgBSAQIA+iOQOgFiAFIAy7IhE5A7AWIAUgESAPojkDmBYgBSALuyIPOQOQFiAFIBAgD6I5A4gWIAUgESAPojkDgBZBACEBA0AgBUHwEGogAUHQAGxqIgAgACsDACAFQYAWaiABQQN0aisDACIPIA+ioDkDACABQQFqIgBBCUcEQCABQQlsIQQDQCAFQfAQaiAAIARqQQN0aiIHIAcrAwAgDyAFQYAWaiAAQQN0aisDAKKgOQMAIABBAWoiAEEJRw0ACwsgAUEBaiIBQQlHDQALIAhBAWoiCCACRw0ACwsgBSAFKwP4EDkDuBEgBSAFKwOAETkDgBIgBSAFKwPIETkDiBIgBSAFKwOIETkDyBIgBSAFKwPQETkD0BIgBSAFKwOYEjkD2BIgBSAFKwOQETkDkBMgBSAFKwPYETkDmBMgBSAFKwOgEjkDoBMgBSAFKwPoEjkDqBMgBSAFKwOYETkD2BMgBSAFKwPgETkD4BMgBSAFKwOoEjkD6BMgBSAFKwPwEjkD8BMgBSAFKwO4EzkD+BMgBSAFKwOgETkDoBQgBSAFKwPoETkDqBQgBSAFKwOwEjkDsBQgBSAFKwP4EjkDuBQgBSAFKwPAEzkDwBQgBSAFKwOIFDkDyBQgBSAFKwOoETkD6BQgBSAFKwPwETkD8BQgBSAFKwO4EjkD+BQgBSAFKwOAEzkDgBUgBSAFKwPIEzkDiBUgBSAFKwOQFDkDkBUgBSAFKwPYFDkDmBUgBSAFKwOwETkDsBUgBSAFKwP4ETkDuBUgBSAFKwPAEjkDwBUgBSAFKwOIEzkDyBUgBSAFKwPQEzkD0BUgBSAFKwOYFDkD2BUgBSAFKwPgFDkD4BUgBSAFKwOoFTkD6BUgBUHoC2ogBUHwEGpBiAUQrhsaIAVB4AZqQQBBiAUQrxsaIAVB2AFqQQBBiAUQrxsaIAVBkAFqQQBByAAQrxsaIAVCiYCAgJABNwNAIAVBhoCIiHw2AjggBSAFQegLajYCPCAFQoGAgICQATcDCCAFQYaAiJB8NgIAIAUgBUGQAWo2AgQgBUKJgICAkAE3A4gBIAVBhoCIkHw2AoABIAUgBUHgBmo2AoQBIAVCiYCAgJABNwN4IAVBhoCIkHw2AnAgBSAFQdgBajYCdCAFQThqIAUgBUGAAWogBUHwAGpBBRCvBCAFQThqIAVBA0EDQQYgBUGYBmpBABCuBiIGELgGIQBBOBDVGiIEIAAQrQYaIARBOGohASADKAIAIgcEQAJ/IAcgByADKAIEIgBGDQAaA0AgAEE4axCxBiIAIAdHDQALIAMoAgALIQAgAyAHNgIEIAAQohsLIAMgATYCCCADIAE2AgQgAyAENgIAIAVBOGoQsQYaIAYQsQYaIAMoAgBBABCQDkEBIQcLIAVB0BZqJAAgBwtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQaDjBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQajkBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQcjlBTYCACAAQQxqEOMLGiAACxkAIABByOUFNgIAIABBDGoQ4wsaIAAQohsLBABBAAsEAEEbC1kCAn8BfiABKQIEIQQgASgCDCECQRwQ1RoiAUIANwIEIAFByOUFNgIAIAFBDGoiAxDjCxogASACNgIYIAEgBDcCECABQbzmBTYCDCAAIAE2AgQgACADNgIACxYAIABB/OcFNgIAIABBDGoQ4wsaIAALGQAgAEH85wU2AgAgAEEMahDjCxogABCiGwuXDAMHfwF9BXwjAEGQAWsiBCQAIARB4AMQ1RoiAzYCgAEgBCADQeADaiIFNgKIASADQQBB4AMQrxshCSAEIAU2AoQBIARBwAMQ1RoiAzYCcCAEIANBwANqIgU2AnggA0EAQcADEK8bIQMgBCAFNgJ0IAAoAgghByABKAIAIQhBACEFQQAhAANAIAggAEECdGooAgBBBWxBAnQgB2oiASoCELshDCABKgIMuyENIAEqAgi7IQ4gASoCBLshCyAAQQVHBEAgASoCACEKIAkgBkEDdGoiAUKAgICAgICA+D83AxggASAMOQMQIAEgDTkDCCABIA45AwAgASAKu5oiDzkDWCABIAwgD6I5A1AgASANIA+iOQNIIAFBQGsgDiAPojkDACAGQQxqIQYLIAMgBUEDdCIBaiAOOQMAIAMgAUEIcmogDTkDACADIAFBEHJqIAw5AwAgAyABQRhyakKAgICAgICA+D83AwAgAyABQSByaiALmiILIA6iOQMAIAMgAUEocmogCyANojkDACADIAFBMHJqIAsgDKI5AwAgAyABQThyaiALOQMAIAVBCGohBSAAQQFqIgBBBkcNAAsgBEGAAWpBBUEMEPgTGiAEKAJwIgMgBCgCgAEiASsDoAM5A4ADIAMgASsDqAM5A4gDIAMgASsDsAM5A5ADIAMgASsDuAM5A5gDIAMgASsDwAM5A6ADIAMgASsDyAM5A6gDIAMgASsD0AM5A7ADIAMgASsD2AM5A7gDQQAhASAEQfAAakEHQQgQ+BMEQEEGIQMgBEE4aiAEQQNBBEEGEKgGIgEQuAYhCCABELEGGiAIKAIQIgBCgICAgICAgPg/NwNYIAQoAnAhBgJAA0AgAyIHQQN0IQVEAAAAAAAAAAAhCwNAIANBA3QhASALIAYgA0EBaiIDIAVqQQN0aisDACAAIAFqKwMooqEhCyADQQdHDQALIAAgBWogCyAGIAdByABsaisDAKMiCzkDIEEAIQEgCyALYg0BIAdBAWshAyAHDQALIABEAAAAAAAAAAAgBCgCgAEiAysDwAIgACsDIKKhIAMrA8gCIAArAyiioSADKwPQAiAAKwMwoqEgAysD2AIgACsDOKKhIAMrA+ACIAArA0CioSADKwPoAiAAKwNIoqEgAysD8AIgACsDUKKhIAMrA/gCIAArA1iioSADKwO4AqMiCzkDGCALIAtiDQAgAEQAAAAAAAAAACADKwPYASAAKwMYoqEgAysD4AEgACsDIKKhIAMrA+gBIAArAyiioSADKwPwASAAKwMwoqEgAysD+AEgACsDOKKhIAMrA4ACIAArA0CioSADKwOIAiAAKwNIoqEgAysDkAIgACsDUKKhIAMrA5gCIAArA1iioSADKwPQAaMiCzkDECALIAtiDQAgAEQAAAAAAAAAACADKwNwIAArAxCioSADKwN4IAArAxiioSADKwOAASAAKwMgoqEgAysDiAEgACsDKKKhIAMrA5ABIAArAzCioSADKwOYASAAKwM4oqEgAysDoAEgACsDQKKhIAMrA6gBIAArA0iioSADKwOwASAAKwNQoqEgAysDuAEgACsDWKKhIAMrA2ijIgs5AwggCyALYg0AIABEAAAAAAAAAAAgAysDCCAAKwMIoqEgAysDECAAKwMQoqEgAysDGCAAKwMYoqEgAysDICAAKwMgoqEgAysDKCAAKwMooqEgAysDMCAAKwMwoqEgAysDOCAAKwM4oqEgAysDQCAAKwNAoqEgAysDSCAAKwNIoqEgAysDUCAAKwNQoqEgAysDWCAAKwNYoqEgAysDAKMiCzkDACALIAtiDQAgBCAIEK0GIQNBOBDVGiIAIAMQrQYaIABBOGohBSACKAIAIgEEQAJ/IAEgASACKAIEIgNGDQAaA0AgA0E4axCxBiIDIAFHDQALIAIoAgALIQMgAiABNgIEIAMQohsLIAIgBTYCCCACIAU2AgQgAiAANgIAIAQQsQYaQQEhAQsgCBCxBhoLIAQoAnAiAwRAIAQgAzYCdCADEKIbCyAEKAKAASIDBEAgBCADNgKEASADEKIbCyAEQZABaiQAIAELBABBBgtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQfznBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQfzoBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQZTqBTYCACAAQQxqEOMLGiAACxkAIABBlOoFNgIAIABBDGoQ4wsaIAAQohsL9xIDBn8FfQd8IwBBsB5rIgUkAAJ/QQAgAkEGSA0AGiAFQeAUakEAQYAJEK8bGiAFQbgUakIANwMAIAVBsBRqQgA3AwAgBUGoFGpCADcDACAFQgA3A6AUIAVCgICAgICAgPi/fzcDmBQgBUG4E2pCADcDACAFQbATakIANwMAIAVCADcDqBMgBUIANwOgEyAFQoCAgICAgID4v383A9gTIAAoAgghCCABKAIAIQkCQCAEKAIAIgogBCgCBEYEQANAIAggCSAHQQJ0aigCAEEUbGoiBioCBCELIAYqAgghDCAGKgIMIQ0gBioCECEOIAUgBioCALsiEDkD2BQgBSAQIA67IhGiOQPQFCAFIBAgDbsiEqI5A8gUIAUgECAMuyITojkDwBQgBSARmiIQOQOQFCAFIBKaIhQ5A4gUIAUgE5oiFTkDgBQgBSAQOQPQEyAFIBQ5A8gTIAUgFTkDwBMgBSALuyIQOQP4EyAFIBAgEaI5A/ATIAUgECASojkD6BMgBSAQIBOiOQPgE0EAIQEDQCAFQeAUaiABQegAbGoiBiAGKwMAIAFBA3QiBiAFQYAUamorAwAiECAQoiAFQaATaiAGaisDACIRIBGioKA5AwAgAUEBaiIGQQxHBEAgAUEMbCEAA0AgBUHgFGogACAGakEDdGoiBCAEKwMAIBAgBkEDdCIEIAVBgBRqaisDAKIgESAFQaATaiAEaisDAKKgoDkDACAGQQFqIgZBDEcNAAsLIAFBAWoiAUEMRw0ACyAHQQFqIgcgAkcNAAwCCwALA0AgCCAJIAdBAnRqKAIAQRRsaiIGKgIIIQsgBioCDCEMIAYqAhAhDSAGKgIEIQ4gBioCACEPIAUgCiAHQQN0aisDACIQmiIROQOYFCAFIBE5A9gTIAUgECAPuyIRojkD2BQgBSAQIA67IhKiOQP4EyAFIBAgDbuiIhMgEaI5A9AUIAUgECAMu6IiFCARojkDyBQgBSAQIAu7oiIQIBGiOQPAFCAFIBOaIhE5A5AUIAUgFJoiFTkDiBQgBSAQmiIWOQOAFCAFIBMgEqI5A/ATIAUgFCASojkD6BMgBSAQIBKiOQPgEyAFIBE5A9ATIAUgFTkDyBMgBSAWOQPAE0EAIQEDQCAFQeAUaiABQegAbGoiBiAGKwMAIAFBA3QiBiAFQYAUamorAwAiECAQoiAFQaATaiAGaisDACIRIBGioKA5AwAgAUEBaiIGQQxHBEAgAUEMbCEAA0AgBUHgFGogACAGakEDdGoiBCAEKwMAIBAgBkEDdCIEIAVBgBRqaisDAKIgESAFQaATaiAEaisDAKKgoDkDACAGQQFqIgZBDEcNAAsLIAFBAWoiAUEMRw0ACyAHQQFqIgcgAkcNAAsLIAUgBSsD6BQ5A8AVIAUgBSsD8BQ5A6AWIAUgBSsD0BU5A6gWIAUgBSsD+BQ5A4AXIAUgBSsD2BU5A4gXIAUgBSsDuBY5A5AXIAUgBSsDgBU5A+AXIAUgBSsD4BU5A+gXIAUgBSsDwBY5A/AXIAUgBSsDoBc5A/gXIAUgBSsDiBU5A8AYIAUgBSsD6BU5A8gYIAUgBSsDyBY5A9AYIAUgBSsDqBc5A9gYIAUgBSsDiBg5A+AYIAUgBSsDkBU5A6AZIAUgBSsD8BU5A6gZIAUgBSsD0BY5A7AZIAUgBSsDsBc5A7gZIAUgBSsDkBg5A8AZIAUgBSsD8Bg5A8gZIAUgBSsDmBU5A4AaIAUgBSsD+BU5A4gaIAUgBSsD2BY5A5AaIAUgBSsDuBc5A5gaIAUgBSsDmBg5A6AaIAUgBSsD+Bg5A6gaIAUgBSsD2Bk5A7AaIAUgBSsDoBU5A+AaIAUgBSsDgBY5A+gaIAUgBSsD4BY5A/AaIAUgBSsDwBc5A/gaIAUgBSsDoBg5A4AbIAUgBSsDgBk5A4gbIAUgBSsD4Bk5A5AbIAUgBSsDwBo5A5gbIAUgBSsDqBU5A8AbIAUgBSsDiBY5A8gbIAUgBSsD6BY5A9AbIAUgBSsDyBc5A9gbIAUgBSsDqBg5A+AbIAUgBSsDiBk5A+gbIAUgBSsD6Bk5A/AbIAUgBSsDyBo5A/gbIAUgBSsDqBs5A4AcIAUgBSsDsBU5A6AcIAUgBSsDkBY5A6gcIAUgBSsD8BY5A7AcIAUgBSsD0Bc5A7gcIAUgBSsDsBg5A8AcIAUgBSsDkBk5A8gcIAUgBSsD8Bk5A9AcIAUgBSsD0Bo5A9gcIAUgBSsDsBs5A+AcIAUgBSsDkBw5A+gcIAUgBSsDuBU5A4AdIAUgBSsDmBY5A4gdIAUgBSsD+BY5A5AdIAUgBSsD2Bc5A5gdIAUgBSsDuBg5A6AdIAUgBSsDmBk5A6gdIAUgBSsD+Bk5A7AdIAUgBSsD2Bo5A7gdIAUgBSsDuBs5A8AdIAUgBSsDmBw5A8gdIAUgBSsD+Bw5A9AdIAVBoApqQQBBgAkQrxsaIAVBwAlqQQBB4AAQrxsaIAVBQGsgBUHgFGpBgAkQrhsaIAVCjICAgMABNwOAHiAFQYaAiIh8NgL4HSAFIAVBQGs2AvwdIAVCgYCAgMABNwMQIAVBhoCIkHw2AgggBSAFQcAJajYCDCAFQoyAgIDAATcD8B0gBUGGgIiQfDYC6B0gBSAFQaAKajYC7B1BACAFQfgdaiAFQQhqIAVB6B1qEK4ERQ0AGiAFIAUrA5gTOQOYASAFIAUrA5ATOQOQASAFIAUrA4gTOQOIASAFIAUrA4ATOQOAASAFIAUrA/gSOQN4IAUgBSsD8BI5A3AgBSAFKwPoEjkDaCAFIAUrA+ASOQNgIAUgBSsD2BI5A1ggBSAFKwPQEjkDUCAFIAUrA8gSOQNIIAUgBSsDwBI5A0AgBUIANwMgIAVCADcDKCAFQThqIgZCADcDACAFQoOAgIDAADcDECAFQoaA/ZckNwMIIAVCADcDGCAFIAVBEGo2AjAgBSAGNgI0IAVB+B1qQQNBBEEGIAVBQGtBABCuBiEGIAVBgICEEDYC6B0gBUIANwPwHSAFIAVBCGo2AuwdIAYgBUHoHWoQlgQgBhCxBhpBOBDVGiIAIAVBCGoQrQYaIABBOGohASADKAIAIgQEQAJ/IAQgBCADKAIEIgZGDQAaA0AgBkE4axCxBiIGIARHDQALIAMoAgALIQYgAyAENgIEIAYQohsLIAMgATYCCCADIAE2AgQgAyAANgIAIAVBCGoQsQYaQQELIQYgBUGwHmokACAGC1MBAn8gASgCBCECQRgQ1RoiAUIANwIEIAFBlOoFNgIAIAFBDGoiAxDjCxogASACNgIQIAFBlOsFNgIMIAEgAigCEDYCFCAAIAE2AgQgACADNgIACxYAIABBqOwFNgIAIABBEGoQ4wsaIAALGQAgAEGo7AU2AgAgAEEQahDjCxogABCiGwvBHQMRfwl9OXwjAEGAB2siAyQAAkAgACgCGCIHIAEoAgAiBCgCCCIIQRRsaiIBKgIIuyIhIAQoAgAiBkEUbCAHaiIFKgIIuyJAoSIfIB+iRAAAAAAAAAAAoCABKgIMuyIoIAUqAgy7IkGhIh4gHqKgIAEqAhC7IicgBSoCELsiQqEiJiAmoqCfIjsgACsDICIdYw0AIEAgBCgCBCIEQRRsIAdqIgEqAgi7Ii2hIjAgMKJEAAAAAAAAAACgIEEgASoCDLsiKaEiMCAwoqAgQiABKgIQuyIxoSIwIDCioJ8iMCAdYw0AIC0gIaEiISAhokQAAAAAAAAAAKAgKSAooSIhICGioCAxICehIiEgIaKgnyI/IB1jDQAgACgCFCIBIAZBDGxqIgUqAgghFCAFKgIEIRUgBSoCACEWIAEgBEEMbGoiBSoCCCEXIAEgCEEMbGoiASoCCCEYIAUqAgQhGSABKgIEIRogBSoCACEbIAEqAgAhHCADQfgFaiIBQgA3AwAgA0HwBWoiBUIANwMAIANCADcD6AUgA0IANwPgBSA/ID+iIjYgNqIiHSA7IDuiIjMgM6IiKqIiLiAzIDAgMKIiKCAdIB2gIiCioiIvICggKKIiIyAdoiIrIB0gHaIiISAzICggHUQAAAAAAAAQQKIiIqKiIiQgG7siSyAcuyJMoiAZuyJNIBq7Ik6ioCAXuyJPIBi7IlCioCI0IDSiIjKiIjehICggNiAdoiIlICWgIieiIjihIDMgJ6IiOaGgoKAgMyAlRAAAAAAAACBAoiI6oiI8IBa7IlEgS6IgFbsiUiBNoqAgFLsiUyBPoqAiJ6IiPSAoICVEAAAAAAAAEECiIj6iIiwgJ6IiQyA0ICQgUSBMoiBSIE6ioCBTIFCioCI1oqIiRCAzICggHUQAAAAAAAAgQKKioiJFICeiIDKiIDQgLCA1oqIiRqAgNCAjICKiIh0gNaKiIkehoCAhRAAAAAAAABBAoiJIICeiIkmhoKAgJCAnoiIkoSAqICKiIiIgJ6IiSqEgKiAgoiAhICGgICIgJyAnoiIqoiAdIDKiIB0gNSA1oiIioiBIICqiIDQgJyAoICVEAAAAAAAAIMCioiA1oqKiIDQgJyBFIDWioqKhoCAsICKiIh2hIDwgKqKhoKAgN6GgoCAzID6ioSAjICCioaAgJCA9IEQgRiAnICggOqIgIqKioCBHoaAgSaEgQ6GgoCBKoSArIC4gOCAhIB2hIC+hoKCgIDmhIANB4AVqIANB4AVqQQhyIAUgARC/DCEEIAIoAgAiBQRAAn8gBSAFIAIoAgQiAUYNABoDQCABQThrELEGIgEgBUcNAAsgAigCAAshASACIAU2AgQgARCiGwsgAkEANgIIIAJCADcCACACIAQQ1Q4gKSBBoUQAAAAAAADwPyAwoyIloiIhICEgJkQAAAAAAADwPyA7oyIpoiIdoiAxIEKhICWiIiYgHiApoiIxoqEiIEQAAAAAAADwPyAtIEChICWiIh4gMaIgISAfICmiIiqioSItIC2iICYgKqIgHiAdoqEiJSAloiAgICCiRAAAAAAAAAAAoKCgn6MiKaIiH6IgHiAlICmiIiWioUQAAAAAAADwPyAxIC0gKaIiLaIgHSAloqEiKSAmICWiICEgLaKhIiCiIB8gISAqICWiIDEgH6KhIjGiICYgHSAfoiAqIC2ioSIqoqEiI6IgHiAlIDGiIiIgLSAqoiIkoaKhoCJDoyIdoiFEIB4gLaIgJiAfoqEgHaIhRSAgIB2iIUYgJSApoiAfICqioSAdoiFHIB8gMaIgLSApoqEgHaIhSCAkICKhIB2iIUkgHiAqoiAhICmioSAdoiFKICYgKaIgHiAxoqEgHaIhVCAjIB2iIVUgMyA0oiElIDYgNaIhLSA2IDOhISkgKCAzIDahIh0gHaCiIDSiITEgA0EoaiEKIANB4ABqIQsgA0GYAWohDCADQcACaiENIANB+AJqIQ4gA0GwA2ohDyADQbAGaiEQIANBkAZqIQcgA0GIBmohESADQdgEaiESIANBuARqIQkgA0GwBGohEyAoICigISogA0GABmohBSADQeAFaiEBA0ACQCABKwMAIh1EAAAAAAAAAABlDQAgMCAdIB2iIiFEAAAAAAAA8D+gICcgHSAdoKKhIiafoyIeRAAAAAAAAAAAZQ0AIB0gHqIiH0QAAAAAAAAAAGUNACAeICggNiAzICGioaIgKSA2ICaiICggIaKhoqAgMSAdoiAqIC0gJSAdoqGioKOiIh1EAAAAAAAAAABlDQAgACsDICIhIB4gHqIiICAfIB+iIiagICcgHiAeoCAfoqKhnyAwoSAwo5ljDQAgJiAdIB2iIiOgIDQgHyAfoCAdoqKhnyA/oSA/o5kgIWQNACAgICOgIDUgHiAdIB2goqKhnyA7oSA7o5kgIWQNAEQAAAAAAAAAACEyIB0gTKIgHiBRoiIhoSIgRAAAAAAAAPA/IB0gUKIgHiBToiImoSIjICOiIB0gTqIgHiBSoiIdoSIiICKiICAgIKJEAAAAAAAAAACgoKCfoyIgoiIsICwgHyBPoiAmoSIeRAAAAAAAAPA/IB4gHqIgHyBNoiAdoSIkICSiIB8gS6IgIaEiHyAfokQAAAAAAAAAAKCgoJ+jIiuiIh6iIB8gK6IiHyAjICCiIi6ioSIjRAAAAAAAAPA/IB8gIiAgoiIvoiAsICQgK6IiIKKhIiQgJKIgIyAjoiAgIC6iIB4gL6KhIiIgIqJEAAAAAAAAAACgoKCfoyIroiIjoiAvICIgK6IiIqKhITwgLiAioiAsICQgK6IiJKKhIT0gLyAkoiAuICOioSE+RAAAAAAAAAAAISxEAAAAAAAAAAAhLkQAAAAAAAAAACEvRAAAAAAAAAAAIStEAAAAAAAAAAAhN0QAAAAAAAAAACE4RAAAAAAAAAAAITlEAAAAAAAAAAAhOiBDRAAAAAAAAAAAYgRAIFUhMiBUISwgSiEuIEkhLyBHITcgRiE4IEUhOSBEITogSCErCyADICQgLqJEAAAAAAAAAACgIB4gN6KgIDwgOqKgOQP4AiADICQgLKJEAAAAAAAAAACgIB4gK6KgIDwgOaKgOQPwAiADICQgMqJEAAAAAAAAAACgIB4gL6KgIDwgOKKgOQPoAiADICMgLqJEAAAAAAAAAACgICAgN6KgID0gOqKgOQPgAiADICMgLKJEAAAAAAAAAACgICAgK6KgID0gOaKgOQPYAiADICMgMqJEAAAAAAAAAACgICAgL6KgID0gOKKgOQPQAiADICIgLqJEAAAAAAAAAACgIB8gN6KgID4gOqKgOQPIAiADICIgLKJEAAAAAAAAAACgIB8gK6KgID4gOaKgOQPAAiADICIgMqJEAAAAAAAAAACgIB8gL6KgID4gOKKgOQO4AiADQSBqIANBuAJqEPcTIANBmAVqIANBIGoQ9hMgA0HgBGoQpwYhCCADIAAoAhAiBCsDACADKwOYBSIeokQAAAAAAAAAAKAgBCsDCCIyIAMrA7AFIh+ioCAEKwMQIiAgAysDyAUiI6KgOQO4AiADIAQrAwAgAysDoAUiIqJEAAAAAAAAAACgIDIgAysDuAUiJKKgICAgAysD0AUiMqKgOQPAAiADIAQrAwAgAysDqAUiLKJEAAAAAAAAAACgIAQrAwggAysDwAUiLqKgICAgAysD2AUiL6KgOQPIAiADIB4gBCsDGKJEAAAAAAAAAACgIB8gBCsDICIroqAgIyAEKwMoIiCioDkD0AIgAyAyICCiICQgK6IgIiAEKwMYokQAAAAAAAAAAKCgoDkD2AIgAyAvICCiICwgBCsDGKJEAAAAAAAAAACgIC4gBCsDIKKgoDkD4AIgAyAeIAQrAzCiRAAAAAAAAAAAoCAfIAQrAzgiIKKgICMgBCsDQCIeoqA5A+gCIAMgMiAeoiAkICCiICIgBCsDMKJEAAAAAAAAAACgoKA5A/ACIAQrAzAhHyAEKwM4ISAgA0KDgICAMDcDsAQgA0KGgP2XJDcDqAQgAyAvIB6iICwgH6JEAAAAAAAAAACgIC4gIKKgoDkD+AIgCUIANwIIIAlCADcCACAJQgA3AhAgA0IANwPYBCADIBI2AtQEIAMgEzYC0AQgA0EgakEDQQNBBiADQbgCakEAEK4GIQQgA0GAgIQQNgLIBiADQgA3A9AGIAMgA0GoBGo2AswGIAQgA0HIBmoQlgQgBBCxBhogA0IANwOgBCADQYCAhAg2ApgEIAMgA0GoBGo2ApwEIANBIGogA0GoBGoQ/gYgA0GAAmoQpwYhBCADKAIgIgYgA0EgaiAEQX8gBigCACgCDBEGACADIEIgISADKwOoBaJEAAAAAAAAAACgIB0gAysDwAWioCAmIAMrA9gFoqChOQMYIAMgQSAhIAMrA6AFokQAAAAAAAAAAKAgHSADKwO4BaKgICYgAysD0AWioKE5AxAgAyBAICEgAysDmAWiRAAAAAAAAAAAoCAdIAMrA7AFoqAgJiADKwPIBaKgoTkDCCADQoOAgIAQNwOIBiADQoaA/ZckNwOABiAHQgA3AgggB0IANwIQIAdCADcCACADQgA3A7AGIAMgEDYCrAYgAyARNgKoBiADQcgGakEDQQFBBiADQQhqQQAQrgYhBiADQYCAhBA2ArgGIANCADcDwAYgAyADQYAGajYCvAYgBiADQbgGahCWBCAGELEGGiADQbgCaiAEIANBgAZqEP8GIANBgAZqELEGGiADQcgGaiADQbgCahCmByEGIAMgCDYChAYgA0GAgIQQNgKABiADQgA3A4gGIANBmARqIAYgA0GABmoQsAcgDxCxBhogDhCxBhogDRCxBhogBBCxBhogDBCxBhogCxCxBhogChCxBhoCQCACKAIEIgQgAigCCEkEQCACIAQgCBCtBkE4ajYCBAwBCyACIAgQ1g4LIANBqARqELEGGiAIELEGGgsgAUEIaiIBIAVHDQALIAIoAgQgAigCAGtBOG0hCQsgA0GAB2okACAJC+ABAQR/AkAgACgCCCAAKAIAIgNrQThtIAFPDQACQAJAIAFBpZLJJEkEQCAAKAIEIQIgAUE4bCIBENUaIgQgAWohBSAEIAIgA2tBOG1BOGxqIQQgAiADRg0BIAQhAQNAIAFBOGsgAkE4ayICEK0GIQEgAiADRw0ACyAAIAU2AgggACgCBCECIAAgBDYCBCAAKAIAIQMgACABNgIAIAIgA0YNAgNAIAJBOGsQsQYiAiADRw0ACwwCC0Gw5wUQvgIACyAAIAU2AgggACAENgIEIAAgBDYCAAsgA0UNACADEKIbCwunAgEEfwJAAkACQCAAKAIEIAAoAgAiA2tBOG0iBEEBaiICQaWSySRJBEACf0EAIAIgACgCCCADa0E4bSIDQQF0IgUgAiAFSxtBpJLJJCADQZLJpBJJGyICRQ0AGiACQaWSySRPDQIgAkE4bBDVGgshAyADIAJBOGxqIQUgAyAEQThsaiABEK0GIgNBOGohBCAAKAIEIgIgACgCACIBRg0CA0AgA0E4ayACQThrIgIQrQYhAyABIAJHDQALIAAgBTYCCCAAKAIEIQIgACAENgIEIAAoAgAhASAAIAM2AgAgASACRg0DA0AgAkE4axCxBiICIAFHDQALDAMLEPwaAAtBsOcFEL4CAAsgACAFNgIIIAAgBDYCBCAAIAM2AgALIAEEQCABEKIbCwuTAQEEfyABKAIEIQIgASgCCCEDIAEoAgwhBEE4ENUaIgFCADcCBCABQajsBTYCACABQRBqIgUQ4wsaIAEgBDYCICABIAQ2AhwgASADNgIYIAEgAjYCFCABQaDtBTYCECABIAMoAhA2AiQgAigCECECIAFCrYbx2K7cjY0/NwMwIAEgAjYCKCAAIAE2AgQgACAFNgIAC9gHAQF/IwBBEGsiCSQAIAAQ4wsaIABB2O8FNgIAIAAgBCgCADYCBCAAIAQoAgQiBDYCCCAEBEAgBCAEKAIEQQFqNgIECyAAIAEoAgA2AgwgACABKAIEIgQ2AhAgBARAIAQgBCgCBEEBajYCBAsgACADKAIANgIUIAAgAygCBCIENgIYIAQEQCAEIAQoAgRBAWo2AgQLIAAgBSgCADYCHCAAIAUoAgQiBDYCICAEBEAgBCAEKAIEQQFqNgIECyAAIAIoAgA2AiQgACACKAIEIgQ2AiggBARAIAQgBCgCBEEBajYCBAsgAEIANwJQQQAhBCAAQQA2AogBIABCADcCgAEgAEIANwJ4IABCADcCcCAAQgA3AmggAEIANwJgIABCADcCWCADKAIAIgMgAygCACgCOBEAACEDIAAgBkQAAAAAAAACQKI5A0AgACAHOQM4IAAgAzYCNCAFKAIAIgMgAygCACgCNBEAACEDIAAgCDYCMCAAIAM2AiwgAEQAAAAAAADwPyAAKwM4oTkDSCAAKAI0IQMgCUEANgIIIAlCADcDAEEAIQUCQCADBEAgA0GAgICAAk8NASADQQN0IgQQ1RoiBUEAIAQQrxsgBGohBAsgACgCXCIBBEAgACABNgJgIAEQohsgACgCNCEDCyAAIAQ2AmQgACAENgJgIAAgBTYCXEEAIQUgCUEANgIIIAlCADcDAEEAIQQgAwRAIANBgICAgARPDQEgA0ECdCIFENUaIgRBACAFEK8bIAVqIQULIAAoAlAiAQRAIAAgATYCVCABEKIbIAAoAjQhAwsgACAFNgJYIAAgBTYCVCAAIAQ2AlACQCADIANsIgNFBEBBACEEQQAhBQwBCyADQQFrQQV2IgFBAWoiBEECdBDVGiIFIAUgAUECdGogA0EhSRtBADYCACAFQQAgA0EFdkECdCIBEK8bIQIgA0EfcSIIRQ0AIAEgAmoiASABKAIAQX9BICAIa3ZBf3NxNgIACyAAKAJ0IgEEQCABEKIbCyAAIAQ2AnwgACADNgJ4IAAgBTYCdEEAIQUgACgCDCIDIAMoAgAoAjQRAAAhAyAJQQA2AgggCUIANwMAQQAhASADBEAgA0GlkskkTw0BIANBOGwiAxDVGiIBIANqIQUgASEDA0AgAxCnBkE4aiIDIAVHDQALCyAAKAKAASIEBEACfyAEIAQgACgChAEiA0YNABoDQCADQThrELEGIgMgBEcNAAsgACgCgAELIQMgACAENgKEASADEKIbCyAAIAU2AoQBIAAgATYCgAEgACAFNgKIASAJQRBqJAAPCxD8GgAL3QkBAX8jAEEQayILJAAgABDjCxogAEHs8wU2AgAgACABKAIANgIEIAAgASgCBCIBNgIIIAEEQCABIAEoAgRBAWo2AgQLIAAgAigCADYCDCAAIAIoAgQiATYCECABBEAgASABKAIEQQFqNgIECyAAIAMoAgAiATYCFCAAIAMoAgQiAjYCGCACBEAgAiACKAIEQQFqNgIEIAAoAhQhAQsgAEIANwIcQQAhAiAAQQA2AmAgAEIANwNwIAAgBTkDaCAAIAk2AlggACAINgJUIABCADcCJCAAQgA3AiwgAEIANwI0IABCADcCPCAAQgA3AkQgAEIANwJMIABCADcDeCAAQgA3A4ABIABBADYCiAEgASABKAIAKAI0EQAAIQEgACAGOgBkIAAgATYCXAJAIAYEQCAAIAc2AmAgC0EAIAQgBxD6EyALKAIAIQEgCygCBCIDBEAgAyADKAIEQQFqNgIECyAAIAE2AhwgACgCICEBIAAgAzYCIAJAIAFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCwJAIAsoAgQiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLQQAhAyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NAiALIAFBOGwiAxDVGiIBNgIAIAsgATYCBCALIAEgA2oiAzYCCANAIAEQpwZBOGoiASADRw0ACyALIAM2AgQLIAAoAjAiBgRAAn8gBiAGIAAoAjQiAUYNABoDQCABQThrELEGIgEgBkcNAAsgACgCMAshASAAIAY2AjQgARCiGyALKAIEIQMLIAsoAgAhASAAIAM2AjQgACABNgIwIAAgCygCCDYCOEEAIQEgC0EANgIIIAtCADcDAEEAIQMgBARAIARBgICAgARPDQIgCyAEQQJ0IgYQ1RoiAzYCACALIAMgBmoiATYCCCADQQAgBhCvGxogCyABNgIECyABIQYgACAAKAJIIgcEfyAAIAc2AkwgBxCiGyALKAIEIQYgCygCACEDIAsoAggFIAELNgJQIAAgBjYCTCAAIAM2AkggACAAKwNoIgUgCqIiCjkDcCAAIAogBaEgCbejOQN4CyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NASALIAFBOGwiAhDVGiIBNgIAIAsgATYCBCALIAEgAmoiAjYCCANAIAEQpwZBOGoiASACRw0ACyALIAI2AgQLIAAoAiQiAwRAAn8gAyADIAAoAigiAUYNABoDQCABQThrELEGIgEgA0cNAAsgACgCJAshASAAIAM2AiggARCiGyALKAIEIQILIAsoAgAhASAAIAI2AiggACABNgIkIAAgCygCCDYCLEEAIQEgC0EANgIIIAtCADcDAEEAIQIgBARAIARBgICAgARPDQEgCyAEQQJ0IgMQ1RoiAjYCACALIAIgA2oiATYCCCACQQAgAxCvGxogCyABNgIECyABIQMgACgCPCIGBEAgACAGNgJAIAYQohsgCygCBCEDIAsoAgAhAiALKAIIIQELIAAgAzYCQCAAIAI2AjwgACABNgJEIAtBEGokAA8LEPwaAAvYCQECfyMAQRBrIg0kACAAEOMLGiAAQYz2BTYCACAAIAEoAgA2AgQgACABKAIEIgw2AgggDARAIAwgDCgCBEEBajYCBAsgACADKAIANgIMIAAgAygCBCIMNgIQIAwEQCAMIAwoAgRBAWo2AgQLIAAgAigCADYCFCAAIAIoAgQiDDYCGCAMBEAgDCAMKAIEQQFqNgIECyAAIAQoAgA2AhwgACAEKAIEIgw2AiAgDARAIAwgDCgCBEEBajYCBAsQvw0hDCAAIAo5A0AgACAIOQMwIAAgBzYCKCAAIAw2AiQgASgCACIBIAEoAgAoAigRAAAhASAAIAk5A3AgACABNgJIIAMoAgAiAyADKAIAKAI4EQAAIQMgAEIANwKYASAAIAs5A5ABIAAgCzkDiAEgACAGNgKEASAAIAM2AoABIABCADcCoAEgAEIANwKoASAAQgA3ArABIABCADcCuAEgAEIANwLAASAAQgA3AsgBQQAhASAAQQA2AtABIABC/////w83A+gBIAAgACgCJBDlCjYC8AEgACAAKwOQASILIAuiIgggCKAiCDkDYCAAIAAoAii3RAAAAAAAAPC/oEQAAAAAAADgP6IiCTkDOCAAIAhEAAAAAAAA4D+iOQN4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FBEBAAsgABCiGws1ACAAKAIYIgBFBEBBBBAVIgBBoOgINgIAIABByOgIQY8MEBYACyAAIAEgACgCACgCGBECAAtbACABQaiCBjYCACABIAApAgQ3AgQgASAAKQIMNwIMIAEgACkCFDcCFCABIAApAhw3AhwgASAAKQIkNwIkIAEgACkCLDcCLCABIAApAjQ3AjQgASAAKAI8NgI8CwoAIABBBGoQ/Q4L8hcDGH8CfgJ8IwBBwAJrIgEkAAJAAkACQCAAKAIALQAAQQFxDQAgACgCCCEIIAAoAgQiAiACKAIAIglBAWo2AgAgCCgCTCECIAFBqAJqIAgoAggiAyADKAIAKAI4EQIAIAFBoAJqIAgoAjAiAyACIAlBCmxqIgIgAygCACgCLBEEACABQZgCaiAIKAIQIgMgAygCACgCPBECACABQZACaiAIKAIoIgMgAkEBaiADKAIAKAI0EQQAIAJBAmohAyAAKAIMLQAABEAgAUHQAWogCCgCOCIGIAMgBigCACgCJBEEACABKALQASEOAkAgASgC1AEiCkUNACAKIAooAgRBAWo2AgQgASgC1AEiA0UNACADIAMoAgQiBkEBazYCBCAGDQAgAyADKAIAKAIIEQEAIAMQ0BoLIAJBA2ohAwsgAUGIAmogCCgCICICIAIoAgAoAiQRAgACQCAAKAIQLQAADQAgAUHQAWogCCgCGCICIAMgAigCACgCKBEEACABKALQASEWIAEoAtQBIgtFDQAgCyALKAIEQQFqNgIEIAEoAtQBIgJFDQAgAiACKAIEIgNBAWs2AgQgAw0AIAIgAigCACgCCBEBACACENAaCyABQdABahCnBiEHIAFBmAFqEKcGIRMgAUHgAGoQpwYhDyABQv/////////3/wA3A1ggAUEANgJQIAFC//////////f/ADcDSCABQQA2AkAgAUL/////////9/8ANwM4IAFBADYCMCABQv/////////3/wA3AyggAUEANgIgIAEoAqgCIgIgAigCACgCKBEAACECIAFBADYCGCABQgA3AxAgAgRAIAJBgICAgARPDQMgASACQQJ0IgIQ1RoiAzYCECABIAIgA2oiBjYCGCADQQAgAhCvGxogASAGNgIUCyABKAKoAiICIAIoAgAoAjARAAAhAiABQQA2AgggAUIANwMAIAIEQCACQaWSySRPDQIg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ASIBBEAgACABNgKkASABEKIbCyAAEOMLGiAAEKIbCw0AIAAoAiBBAWtBAkkLCAAgACgCIEULCgAgACgCIEEDRgsNACAAKAIgQQVrQQJJCwcAIAAoAhgLCAAgAC0AsQELBwAgACgCYAsHACAAKAI8CwgAIAAoApABCwcAIAAoAigLBwAgACgCHAsHACAAKwMQCwcAIAArAwgLBwAgACgCJAsIACAAKwOIAQsHACAAKwN4CwcAIAArA3ALCAAgACsDgAELBwAgACgCOAsHACAAKAIsCwcAIAAoAjALBwAgACgCNAsIACAAKwOYAQsIACAAKAKsAQsIACAAKAK8AQsIACAAKwPAAQsIACAAKwPIAQsIACAAKwPQAQsIACAAKwPYAQsIACAAKwPgAQsHACAAKwNYCwcAIAAoAkwLBwAgACgCUAsIACAAQaABagsIACAAKAK0AQsIACAAKAK4AQsJACAAIAE2AjwLCQAgACABNgIsCwkAIAAgATYCOAsJACAAIAE2AjALCgAgACABOgCxAQsJACAAIAE2AmQLCQAgACABNgJgCwoAIAAgATYCkAELCQAgACABNgJECwkAIAAgATYCSAsJACAAIAE2AkALKwAgARCIFSIBmUQAAAAAAADgQWMEQCAAIAGqNgJMDwsgAEGAgICAeDYCTAsKACAAIAE2ArQBCwoAIAAgAToAsAELCAAgAC0AsAEL+AEBBX8jAEEQayIEJAACQCABIAAoAhBOBEAgASAAKAIUIgNKBEAgBEEANgIIIARCADcDACABBEAgAUGAgICABE8NAyABQQJ0IgIQ1RoiBkEAIAIQrxsgAmohAgsgACgCBCIFBEAgACAFNgIIIAUQohsgACgCFCEDCyAAIAY2AgQgACACNgIMIAAgAjYCCAsCQCABIANGDQAgACABNgIUIAFBAUgNACAAKAIEIQNBACEBA0AgAyABQQJ0aiABNgIAIAFBAWoiASAAKAIUSA0ACwsgBEEQaiQADwtBqX4gBEH8jgYQiQNBmI8GQaaPBkEwEJgKAAsQ/BoAC9ADAgN/AnwjAEEQayIGJAAgABDjCxogAEEANgIMIABCADcCBCAAQYSRBjYCACAAQShqIAEQ+RMCQCACIANOBEAgACAENgIgIAAgAjYCECAAIAM2AhQgBkEANgIIIAZCADcDACACBEAgAkGAgICABE8N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AOBBYwRAIAeqDAELQYCAgIB4CyACIAEbIAIgB71C////////////AINCgICAgICAgPj/AFIbDwtBACECIAhEAAAAAAAAAABjDQAgCCAAKAIYIgK3IgpjQQFzRQRAIAcgCRCVFaMiByAKYyEBAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIAIgARsgAiAHvUL///////////8Ag0KAgICAgICA+P8AUhsiAgJ/IAiZRAAAAAAAAOBBYwRAIAiqDAELQYCAgIB4CyIBIAEgAkobDwsgByAJEJUVoyIHIApjIQECfyAHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAsgAiABGyACIAe9Qv///////////wCDQoCAgICAgID4/wBSGw8LIAILkQEDA38BfgF8IAEoAgQhAyABKwMIIQZBMBDVGiICQgA3AgQgAkHEmwY2AgAgASkCECEFIAEoAhghASACQRBqIgQQ4wsaIAIgATYCKCACIAU3AyAgAiAGEIQVRAAAAAAAAPC/oEQAAAAAAADwP6AQlRU5AxggAiADNgIUIAJBwJwGNgIQIAAgAjYCBCAAIAQ2AgALKAAgAEHIngY2AhAgAEHEnQY2AgAgAEEYahDjCxogAEEQahDjCxogAAsrACAAQcieBjYCECAAQcSdBjYCACAAQRhqEOMLGiAAQRBqEOMLGiAAEKIbCxwAIABByJ4GNgIAIABBCGoQ4wsaIAAQ4wsaIAALHwAgAEHIngY2AgAgAEEIahDjCxogABDjCxogABCiGwuhAQIBfwF8IABBCGogASACEPAPIQEgACsDMCACtyAAKAJAt6OgIgREAAAAAAAA8D9mBH8gAwUgBCAAKAJEtxCTFSEEIAArAzhEAAAAAAAA8D8gBKEQlRWjIgS9Qv///////////wCDQoCAgICAgID4/wBSIQACfyAEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsgASAAGyABIAQgAbdjGwsL4wECBX8CfCABKAIoIQMgASsDOCEHQeAAENUaIgJCADcCBCACQcSdBjYCACABKwMwIQggASgCQCEEIAEoAkQhBSABKAJIIQEgAkEQaiIGEOMLGiACQcieBjYCECACQRhqEOMLGiACIAE2AlggAiAFNgJUIAIgBDYCUCACIAcQhBVEAAAAAAAA8L+gRAAAAAAA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ECADIAQ2AhhBGBDVGiIBIANBEGogAigCABDMECABKAIAKAIIEQEAIAAgATYCACADQSBqJAAPCyADIAU2AgAgA0EQakHEtwYgAxCUCkGufiADQRBqQc23BkGApAZB0AIQmAoAC0F7IANBEGpB2bcGEIkDQc23BkGApAZB0gIQmAoAC+YCAQR/IwBBMGsiAiQAIAEQuBsiA0FwSQRAAkACQCADQQtPBEAgA0EQakFwcSIFENUaIQQgAiAFQYCAgIB4cjYCKCACIAQ2AiAgAiADNgIkDAELIAIgAzoAKyACQSBqIQQgA0UNAQsgBCABIAMQrhsaCyADIARqQQA6AAAgAkEAOgAQIAJBADoAGyACQcAAENUaIgM2AgAgAkKygICAgIiAgIB/NwIEIANBADoAMiADQfyoBi8AADsAMCADQfSoBikAADcAKCADQeyoBikAADcAICADQeSoBikAADcAGCADQdyoBikAADcAECADQdSoBikAADcACCADQcyoBikAADcAACAAQQAgAkEgaiACQRBqIAJBLhCRChogAiwAC0F/TARAIAIoAgAQohsLIAIsABtBf0wEQCACKAIQEKIbCyACLAArQX9MBEAgAigCIBCiGwsgAEGIqQY2AgAgAkEwaiQADwsQ2RoAC7ICAQN/IwBB0ABrIgQkACACKAIAQf+fAXFBgIABRgRAIAIoAgghBiACKAIMIQUgBCACKAIQNgI0IAQgBTYCLCAEIAY2AiggBCAFNgIwIARCADcCHCAEIARBGGpBBHI2AhggBCAAKAIINgIUIARBADoAESAEQfyhBi0AADoAECAEQQk6ABMgBEH0oQYpAAA3AwggBCAEQQhqNgJAIARByABqIARBGGogBEEIaiAEQUBrEJAQIAQoAkhBHGogBEEUahCOECAELAATQX9MBEAgBCgCCBCiGwtBGBDVGiICIARBKGogBEEYahDMECADIAIoAgAoAhgRAgAgASACNgIAIARBGGogBCgCHBD/DyAEQdAAaiQADwtBqX4gBEEoakGxmgcQiQNB85oHQYCkBkGGBhCYCgALsgIBA38jAEHQAGsiBCQAIAIoAgBB/58BcUGFgAFGBEAgAigCCCEGIAIoAgwhBSAEIAIoAhA2AjQgBCAFNgIsIAQgBjYCKCAEIAU2AjAgBEIANwIcIAQgBEEYakEEcjYCGCAEIAAo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KAIoEQAANgI0IAIgASABKAIAKAIcEQAANgI4IAIgASABKAIAKAIgEQAANgI8IAJBEGpBMEEBIAMQtBsaIAIgACgCBDYCECACQRBqQQRBASADELQbGiABIAMgASgCACgCFBECAAwCCyADEJoVQXsgAkEQakHYowYQiQNBtqUGQYCkBkH7BRCYCgALIAAoAhAhASACQaSoBigAADYCGCACQgA3ACcgAkEAOgAvIAJBrZoHKAAANgAjIAJBnKgGKQAANwMQIAJBADYCHCACQaqaBygAADYCICACQQQ2AjAgAiABIAEoAgAoAigRAAA2AjQgAiABIAEoAgAoAhwRAAA2AjggAiABIAEoAgAoAiARAAA2AjwgAkEQakEwQQEgAxC0GxogAiAAKAIENgIQIAJBEGpBBEEBIAMQtBsaIAEgAyABKAIAKAIUEQIACyADEJoVIAJBQGskAA8LIAIgASgCACABIAEsAAtBAEgbNgIAIAJBEGpBiKUGIAIQlApBfiACQRBqQbalBkGApAZB1wUQmAoAC40BAQF/IwBB8ABrIgMkACAAIAAoAgAoAhwRAQACQCABEMwHQYCABEYEQCADIAEoAgQQrQYaDAELIAMgARDJBwsgA0E4aiADELQGIABBFGoiASADQThqELkGGiADQThqELEGGiADELEGGiADQThqIAEQrQYhASAAIAIQlRAhACABELEGGiADQfAAaiQAIAALDQAgABCVChogABCiGwuXAgEHfyAAQQRqIQQCQCAAKAIEIgAEQCACKAIAIAIgAi0ACyIDQRh0QRh1QQBIIgUbIQggAigCBCADIAUbIQIDQAJAAkACQAJAAkACQCAAKAIUIAAtABsiAyADQRh0QRh1QQBIIgYbIgMgAiACIANLIgkbIgUEQCAIIABBEGoiBygCACAHIAYbIgcgBRD4FCIGRQRAIAIgA0kNAgwDCyAGQX9KDQIMAQsgAiADTw0CCyAAKAIAIgMNBCABIAA2AgAgAA8LIAcgCCAFEPgUIgMNAQsgCQ0BDAULIANBf0oNBAsgAEEEaiEEIAAoAgQiA0UNAyAEIQALIAAhBCADIQAMAAsACyABIAQ2AgAgBA8LIAEgADYCACAECxgAIAEoAgAiAARAIAAQohsLIAFBADYCAAsMACACQQEQ1Ro2AgALBwAgASgCAAsGAEHkqwYLDgAgAUHsqwZBCxDMAxoLDAAgAiABKAIANgIACwQAIAELBgBB/NIJCw0AIAEgAigCABDNFhoLDAAgAiABKgIAOAIACwYAQazTCQsMACABIAIqAgAQzxYLDAAgAiABLQAAOgAACwYAQbTSCQsMACABIAItAAAQxxYLGABBBBDVGiIAIAEoAgA2AgAgAiAANgIACxsAQQQQ1RoiACABKAIAKAIANgIAIAIgADYCAAsSACACKAIAIAEoAgAoAgA2AgALBgBB0LEGCxAAIAEgAigCACgCABDNFhoLBgBB0LMGCysAIAEoAgAiAARAIAAsAAtBf0wEQCAAKAIAEKIbCyAAEKIbCyABQQA2AgALFgBBDBDVGiIAIAEQ2xoaIAIgADYCAAsZAEEMENUaIgAgASgCABDbGhogAiAANgIACyoAIAIoAgAiACwAC0F/TAR/IAAoAgAQohsgAigCAAUgAAsgASgCABDfGgsEAEEMCwYAQdS8AQspACABAn8gAigCACICLAALQX9MBEAgAigCACECCyACCyACELgbEMwDGgsYAEEIENUaIgAgASsDADkDACACIAA2AgALGwBBCBDVGiIAIAEoAgArAwA5AwAgAiAANgIACxIAIAIoAgAgASgCACsDADkDAAsGAEG40wkLDwAgASACKAIAKwMAENEWC4QDAQd/IwBBQGoiAyQAIABBiLgGNgIAIABBEGoiB0IANwIAIAAgBzYCDCACKAIAIgYgAkEEaiIIRwRAIABBDGohCQNAIAkgByAGIgRBEGoQzRACQCAEKAIEIgVFBEAgBCgCCCIGKAIAIARGDQEgBEEIaiEEA0AgBCgCACIFQQhqIQQgBSAFKAIIIgYoAgBHDQALDAELA0AgBSIGKAIAIgUNAAsLIAYgCEcNAAsLIANBADoAMSADQfyhBi0AADoAMCADQQk6ADMgA0H0oQYpAAA3AyggAiADQShqEM4QIQUgAywAM0F/TARAIAMoAigQohsLIABBADoACAJAIAVB/gFGBEAgA0EIOgATIANBADoAECADQubSsavmrdi25QA3AwggA0EYaiACIANBCGoQzxAgACABIANBGGoQ0BA2AgQgAywAI0F/TARAIAMoAhgQohsLIAMsABNBf0wEQCADKAIIEKIbCyAAQQE6AAgMAQsgACABIAIQ0RA2AgQLIANBQGskACAAC48BAQJ/IwBBEGsiAyQAIAAgASADQQxqIANBCGogAhDvECIEKAIARQRAQSQQ1RoiAUEQaiACEPAQIAEgAygCDDYCCCABQgA3AgAgBCABNgIAAn8gASAAKAIAKAIAIgJFDQAaIAAgAjYCACAEKAIACyECIAAoAgQgAhCNCyAAIAAoAghBAWo2AggLIANBEGokAAu5AQECfyMAQUBqIgMkAAJAIAAgARCBECICIABBBGpHBEAgAigCHCIAIAAoAgAoAhwRAAAoAgRBsLEGRw0BIAIoAhwiACACQSBqIAAoAgAoAhQRAwAoAgAhAiADQUBrJAAgAg8LQTwQFSECIANBIGogA0EQakHkvQYQiQMgARDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgAiADQTBqENMQIAJBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALuAEBAn8jAEFAaiIDJAACQCABIAIQgRAiBCABQQRqRwRAIAQoAhwiASABKAIAKAIcEQAAKAIEQeS7AUcNASAAIAQoAhwiASAEQSBqIAEoAgAoAhQRAwAQ2xoaIANBQGskAA8LQTwQFSEEIANBIGogA0EQakHkvQYQiQMgAhDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgBCADQTBqENMQIARBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALnAMBAn8jAEHwAGsiAiQAAkACQAJAAkAgASgCACABIAEsAAtBAEgbQbulBhCjFSIBBEAgAkEgakEwQQEgARCoFUEBRw0BIAJBIGpBnKgGQQwQ+BQNAiACKAJAQQRHDQMgAigCSCAAKAIARw0EIAIoAkwgACgCBEcNBCACQgA3AhQgAiACQRBqQQRyNgIQIAJBADoACSACQfyhBi0AADoACCACQQk6AAsgAkH0oQYpAAA3AwAgAiACNgJgIAJB6ABqIAJBEGogAiACQeAAahCQECACKAJoQRxqIAJBxABqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyAAIAJBEGoQ0RAiAyABIAMoAgAoAhgRAgAgARCaFSACQRBqIAIoAhQQ/w8LIAJB8ABqJAAgAw8LQTwQFSICQdSnBhCZECACQZCoBkHjBxAWAAtBPBAVIgJBqKgGEJkQIAJBkKgGQeMHEBYACyABEJoVQTwQFSICQZK+BhCZECACQZCoBkHjBxAWAAsgARCaFUE8EBUiAkHWvgYQmRAgAkGQqAZB4wcQFgAL+QIBBn8jAEEQayIDJAAgA0EAOgAJIANB/KEGLQAAOgAIIANBCToACyADQfShBikAADcDACABIAMQzhAhBCADLAALQX9MBEAgAygCABCiGwsCQAJAAkACQAJAAkAgBA4HAAMEAwMBAgMLQSQQ1RoiAkGgvwY2AgAgAiAAKQIANwIEIAIgACkCCDcCDCACQgA3AhggAiACQRhqIgU2AhQgASgCACIAIAFBBGoiBkYNBCACQRRqIQcDQCAHIAUgACIEQRBqEM0QAkAgACgCBCIBRQRAIAQoAggiACgCACAERg0BIARBCGohBANAIAQoAgAiAUEIaiEEIAEgASgCCCIAKAIARw0ACwwBCwNAIAEiACgCACIBDQALCyAAIAZHDQALDAQLQegAENUaIgIgACABEPEQDAMLQcwAENUaIgIgACABEPIQDAILQTwQFSIBQYW/BhCZECABQZCoBkHjBxAWAAtB7AAQ1RoiAiAAIAEQ8xALIANBEGokACACC1QBAX8gACABIAIoAgAgAiACLQALIgFBGHRBGHVBAEgiAxsgAigCBCABIAMbEOcaIgIpAgA3AgAgACACQQhqIgAoAgA2AgggAkIANwIAIABBADYCAAvcAQECfyMAQSBrIgIkACACQQA6ABAgAkEAOgAbIAJBwAAQ1RoiAzYCACACQrKAgICAiICAgH83AgQgA0EAOgAyIANB/KgGLwAAOwAwIANB9KgGKQAANwAoIANB7KgGKQAANwAgIANB5KgGKQAANwAYIANB3KgGKQAANwAQIANB1KgGKQAANwAIIANBzKgGKQAANwAAIABBACABIAJBEGogAkEwEJEKGiACLAALQX9MBEAgAigCABCiGwsgAiwAG0F/TARAIAIoAhAQohsLIABBiKkGNgIAIAJBIGokAAszAQF/IABBiLgGNgIAIAAoAgQiAQRAIAEgASgCACgCBBEBAAsgAEEMaiAAKAIQEP8PIAALNgEBfyAAQYi4BjYCACAAKAIEIgEEQCABIAEoAgAoAgQRAQALIABBDGogACgCEBD/DyAAEKIbCx0AIAAtAAhFBEAgACgCBCIAIAAoAgAoAggRAQALCx4AIAAoAgQiACABIAIgAyAEIAUgACgCACgCDBENAAseACAAKAIEIgAgASACIAMgBCAFIAAo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IQALAkACQAJAAkAgBkH/AXFFDQAgAEUNACAHBEADQCACLQAMIQECQCACIAIoAggiAygCAEcEQAJAAn8gAUH/AXFFBEAgAkEBOgAMIANBADoADCADIAMoAgQiASgCACIENgIEIAQEQCAEIAM2AggLIAEgAygCCDYCCCADKAIIIgQgBCgCACADR0ECdGogATYCACABIAM2AgAgAyABNgIIIAIgACAAIAIoAgAiA0YbIQAgAygCBCECCyACKAIAIgMLBEAgAy0ADEUNAQsgAigCBCIBBEAgAS0ADEUNBwsgAkEAOgAMAkAgACACKAIIIgJGBEAgACECDAELIAItAAwNAwsgAkEBOgAMDwsgAigCBCIBDQUMBgsCQCABQf8BcQRAIAIhAQwBCyACQQE6AAwgA0EAOgAMIAMgAigCBCIBNgIAIAEEQCABIAM2AggLIAIgAygCCDYCCAJAIAMgAygCCCIEKAIARgRAIAQgAjYCACADKAIAIQEMAQsgBCACNgIECyACIAM2AgQgAyACNgIIIAIgACAAIANGGyEACwJAAkAgASgCACIDRQ0AIAMtAAwNACABIQIMAQsCQCABKAIEIgIEQCACLQAMRQ0BCyABQQA6AAwgACABKAIIIgJHBEAgAi0ADA0DCyACQQE6AAwPCyADBEAgAy0ADEUEQCABIQIMAgsgASgCBCECCyACQQE6AAwgAUEAOgAMIAEgAigCACIDNgIEIAMEQCADIAE2AggLIAIgASgCCDYCCCABKAIIIgMgAygCACABR0ECdGogAjYCACACIAE2AgAgASACNgIIIAEhAwsgAiACKAIIIgAtAAw6AAwgAEEBOgAMIANBAToADCAAIAAoAgAiAigCBCIDNgIAIAMEQCADIAA2AggLIAIgACgCCDYCCCAAKAIIIgMgAygCACAAR0ECdGogAjYCACACIAA2AgQgACACNgIIDwsgAigCCCIDIAMoAgAgAkZBAnRqKAIAIQIMAAsACyAEQQE6AAwLDwsgAS0ADA0AIAIhAwwBCyADQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAEQCAAIAI2AggLIAMgAigCCDYCCCACKAIIIgAgACgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIIAIhAQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAFBAToADCACIAIo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BEAgAhCiGyAAKAJIIANqQQA2AgAgACgCECEECyABQQFqIgEgBE4NASAAKAJIIQIMAAsACyAEQQFIDQBB7OQIKAIAIQYDQEF/IAAoAjwiAkECdCACQf////8DcSACRxsQ1RohASAFQQJ0IgMgACgCSGogATYCACACBEAgACgCSCADaigCACEEQQAhAQNAIAQgAUECdGogATYCACABQQFqIgEgAkcNAAsLAkACfyAAKAJQIgJBIE4EQCAAKAJYDAELIAAgACgCZCACajYCZEGAwAAQoRsiAUUEQEHkxQZBG0EBIAYQtBsaQQAhAQwCCyABIAAoAlQ2AgAgACABNgJUQfw/IQIgAUEEagshASAAIAJBIGs2AlAgACABQSBqNgJYIAAgACgCYEEgajYCYAsgACgCRCADaiABNgIAIAAoAkQgA2ooAgAiAUIANwIAIAFCADcCGCABQgA3AhAgAUIANwIIIAAgACgCRCADaigCACAAKAJIIANqKAIAIAAoAjwQhREgACAAKAJEIANqKAIAIAAoAkggA2ooAgAgACgCPCAAKAIMQQAQhhEgBUEBaiIFIAAoAhBIDQALCw8LQTwQFSIBQcDFBhCZECABQZCoBkHjBxAWAAusCgMOfwJ+A3wgACgCQCIKENUaIQ0gACAKIAAoAmhqNgJoQX8gCkEFdCIHIApBA3QiDEH4////A3EgDEcbENUaQQAgBxCvGyEHIAMEfCAMQQFrQQN2IQ8gACgCKCEQIAAoAiwhEQNAIBEgECACIA5BAnRqKAIAbGohC0EAIQlBACEEQQAhBSAKBEADQCAFIAQgC2otAABBgMYGai0AAGohBSAEQQFqIgQgCkcNAAsLIAUgBWytIRNBACEGIAwEQANAIAcgBkECdCIEaiIFIAUoAgAgCSALaiIFLQAAQQFxajYCACAHIARBBHJqIgggCCgCACAFLQAAQQF2QQFxajYCACAHIARBCHJqIgggCCgCACAFLQAAQQJ2QQFxajYCACAHIARBDHJqIgggCCgCACAFLQAAQQN2QQFxajYCACAHIARBEHJqIgggCCgCACAFLQAAQQR2QQFxajYCACAHIARBFHJqIgggCCgCACAFLQAAQQV2QQFxajYCACAHIARBGHJqIgggCCgCACAFLQAAQQZ2QQFxajYCACAHIARBHHJqIgQgBCgCACAFLQAAQQd2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IABBJGogACgCKBD/DyAAKAIEIgIEQAJ/IAIgAiAAKAIIIgFGDQAaA0AgAUHIAGsQsBEiASACRw0ACyAAKAIECyEBIAAgAjYCCCABEKIbCyAAEKIbC8QCAgd/AXwjAEHQAGsiBiQAAkAgACgCMCIBIAAoAggiAiAAKAIEIgRrQcgAbSIDSwRAIABBBGogASADaxCzEQwBCyABIANPDQAgBCABQcgAbGoiASACRwRAA0AgAkHIAGsQsBEiAiABRw0ACwsgACABNgIICyAAKAIwQQFOBEADQCAAKAIEIAVByABsaiIBIAZBCGogACgCICAAKAI0ELQRIgIQtREgAhCwERogACgCHCEEIAAoAhghByABQQxqAn8gACgCECIDIAEoAhhquEQzMzMzMzPzP6IiCEQAAAAAAADwQWMgCEQAAAAAAAAAAGZxBEAgCKsMAQtBAAsQnBFBACECIAMEQANAIAEgAiAEIAIgB2xqELYRIAJBAWoiAiADRw0ACwsgARC3ESAFQQFqIgUgACgCMEgNAAsLIAZB0ABqJAALkgQBBX8gASAAKAIIIgMgACgCBCICa0HIAG1NBEAgACABBH8gAiABQcgAbGohAwNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiADRw0ACyADBSACCzYCBA8LAkACQAJAIAIgACgCACIEa0HIAG0iBSABaiICQeTxuBxJBEAgBUHIAGwCf0EAIAIgAyAEa0HIAG0iA0EBdCIEIAIgBEsbQePxuBwgA0HxuJwOSRsiBUUNABogBUHk8bgcTw0CIAVByABsENUaCyIGaiIDIAFByABsaiEEIAMhAgNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiAERw0ACyAGIAVByABsaiEGIAAoAgQiAiAAKAIAIgFGDQIDQCADQcgAayIDIAJByABrIgIQwREgASACRw0ACyAAIAY2AgggACgCBCECIAAgBDYCBCAAKAIAIQEgACADNgIAIAEgAkYNAwNAIAJByABrELARIgIgAUcNAAsMAwsQ/BoA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CwNAIAIiASgCACICDQALCyABIAdHDQALCyAAQgA3AjAgAEEANgJUIABCADcCPCAAQgA3AkwgAEKAgICAgIAINwJEIAAgACkCDDcCKCADQYyiBi0AADoAOCADQQk6ADsgA0EAOgA5IANBhKIGKQAANwMwAkACQAJAAkAgACAFIAYgA0EwahCBECICRwR/IAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNASACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIABUEgCzYCWCADLAA7QX9MBEAgAygCMBCiGwsgA0EQENUaIgI2AiAgA0KMgICAgIKAgIB/NwIkIAJBADoADCACQaGiBigAADYACCACQZmiBikAADcAACAAIAUgBiADQSBqEIEQIgJHBH8gAigCHCIBIAEoAgAoAhwRAAAoAgRBrLMGRw0CIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgAFQQALNgJgIAMsACtBf0wEQCADKAIgEKIbCyADQQU6ABsgA0EAOgAVIANB/qEGKAAANgIQIANBgqIGLQAAOgAUIAACf0EEIAUgBiADQRBqEIEQIgJGDQAaIAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNAyACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIACzYCXCADLAAbQX9MBEAgAygCEBCiGwsgA0EAOgAJIANB6qIGLQAAOgAIIANBCToACyADQeKiBikAADcDACAAAn9B5AAgBSAGIAMQgRAiAkYNABogAigCHCIBIAEoAgAoAhwRAAAoAgRBgNMJKAIARw0EIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgALNgJkIAMsAAtBf0wEQCADKAIAEKIbC0HFDSECAkACQAJAAkACQCAAKAJgDgQEAwABAgtBxg0hAgwDC0HHDSECDAILQTwQFSICQczCBhCZECACQZCoBkHjBxAWAAtByA0hAgsgACACNgIEIABBADYCCCAAQX8gACgCXCIEQQJ0IARB/////wNxIARHGyICENUaIgE2AjAgACACENUaNgI0QQEhAgJAIARBAUgNACABQQA2AgAgACgCNEEANgIAIARBAUYNAANAIAJBAnQiASAAKAIwakEANgIAIAAoAjQgAWpBADYCACACQQFqIgIgBEcNAAsLIANBQGskAA8LQQEQFUGctgZBABAWAAtBARAVQZy2BkEAEBYAC0EBEBVBnLYGQQAQFgALQQEQFUGctgZBABAWAAuTBgEFfyMAQTBrIgMkACAAQgA3AgQgAEHU/gY2AgAgAEEANgIMIAAgASkCADcCECAAIAEpAgg3AhggAEEoaiIFQgA3AgAgACAFNgIkIABBJGohBiACKAIAIgEgAkEEaiIHRwRAA0AgBiAFIAEiBEEQahDNEAJAIAEoAgQiAkUEQCAEKAIIIgEoAgAgBEYNASAEQQhqIQQDQCAEKAIAIgJBCGohBCACIAIoAggiASgCAEcNAAsMAQsDQCACIgEoAgAiAg0ACwsgASAHRw0ACwsgAEIANwI8IABBADYCRCADQRAQ1RoiAjYCICADQoyAgICAgoCAgH83AiQgAkEAOgAMIAJB9KIGKAAANgAIIAJB7KIGKQAANwAAAkACQAJAIAAgBSAGIANBIGoQgRAiAkcEfyACKAIcIgEgASgCACgCHBEAACgCBEGA0wkoAgBHDQEgAigCHCIBIAJBIGogASgCACgCFBEDACgCAAVBDAs2AjAgAywAK0F/TARAIAMoAiAQohsLIANBADoAGCADQuvK5fu1rpq95QA3AxAgA0EIOgAbIAACf0EUIAUgBiADQRBqEIEQIgJGDQAaIAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNAiACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIACzYCNCADLAAbQX9MBEAgAygCEBCiGwsgA0EgENUaIgI2AgAgA0KRgICAgISAgIB/NwIEIAJBADoAESACQYmjBi0AADoAECACQYGjBikAADcACCACQfmiBikAADcAAAJ/QQIgBSAGIAMQgRAiAkYNABogAigCHCIBIAEoAgAoAhwRAAAoAgRBgNMJKAIARw0DIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgALIQIgAEE8aiEBIAAgAjYCOCADLAALQX9MBEAgAygCABCiGyAAKAI4IQILIAAgACgCFDYCICAAQQAgACgCNCACIAEQ6BEgA0EwaiQADwtBARAVQZy2BkEAEBYAC0EBEBVBnLYGQQAQFgALQQEQFUGctgZBABAWAAuOBwEGfyMAQTBrIgQkACAAQcjcBjYCACAAIAEpAgA3AgQgACABKQIINwIMIABBGGoiB0IANwIAIAAgBzYCFCACKAIAIgMgAkEEaiIGRwRAIABBFGohCANAIAggByADIgVBEGoQzRACQCADKAIEIgFFBEAgBSgCCCIDKAIAIAVGDQEgBUEIaiEFA0AgBSgCACIBQQhqIQUgASABKAIIIgMoAgBHDQALDAELA0AgASIDKAIAIgENAAsLIAMgBkcNAAsLIABCADcCTCAAQgA3AiggAEIANwJcIABCADcCVCAAQgA3AjAgAEIANwI4IABBQGtBADYCACAAQgA3AmwgAEKAgICAgIAINwJkIAAgACkCBDcCRCAEQQM6ACsgBEEAOgAjIARB/NwGLwAAOwEgIARB/twGLQAAOgAiQX8hAQJAAkACQCAGIAIgBEEgahCBECIDRwRAIAMoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNASADKAIcIgEgA0EgaiABKAIAKAIUEQMAKAIAIQELIAQsACtBf0wEQCAEKAIgEKIbCyABQQFOBEAgACABNgJICyAEQRAQ1RoiATYCECAEQo2AgICAgoCAgH83AhQgAUEAOgANIAFBhd0GKQAANwAFIAFBgN0GKQAANwAAIAACf0EKIAYgAiAEQRBqEIEQIgFGDQAaIAEoAhwiAyADKAIAKAIcEQAAKAIEQYDTCSgCAEcNAiABKAIcIgMgAUEgaiADKAIAKAIUEQMAKAIACzYCICAELAAbQX9MBEAgBCgCEBCiGwsgBEEHOgALIARBADoAByAEQY7dBigAADYCACAEQZHdBigAADYAAyAAAn9BASAGIAIgBBCBECIBRg0AGiABKAIcIgMgAygCACgCHBEAACgCBEG40gkoAgBHDQMgASgCHCIDIAFBIGogAygCACgCFBEDAC0AAEEARws6ACQgBCwAC0F/TARAIAQoAgAQohsLIABBKGohAQJAIAAoAkQiAyAAKAIsIAAoAigiBmtBAnUiBUsEQCABIAMgBWsQ4wcgACgCRCEDDAELIAMgBU8NACAAIAYgA0ECdGo2AiwLIAMEQCABKAIAIQVBACEBA0AgBSABQQJ0aiABNgIAIAFBAWoiASADRw0ACwsgBEEwaiQADwtBARAVQZy2BkEAEBYAC0EBEBVBnLYGQQAQFgALQQEQFUGctgZBABAWAAv3BgEDfyMAQUBqIgQkACAAQfDuBjYCACAAQQxqIgNCADcCACAAQRhqIgVCADcCACAAIAM2AgggACAFNgIUIABBFGpBIBDjESAAQgA3AkggAEFAa0IANwIAIABCADcCOCAAQgA3AjAgAEIANwIoIABCADcCICAAIAEpAgA3AlQgACABKQIINwJcIARBIBDVGiIBNgIwIARCkICAgICEgICAfzcCNCABQQA6ABAgAUGuogYpAAA3AAggAUGmogYpAAA3AAACQAJAAkACQCAAAn1DzcxMPyACIARBMGoQgRAiAyACQQRqIgFGDQAaIAMoAhwiBSAFKAIAKAIcEQAAKAIEQbDTCSgCAEcNASADKAIcIgUgA0EgaiAFKAIAKAIUEQMAKgIACzgCZCAELAA7QX9MBEAgBCgCMBCiGwsgBEEQENUaIgM2AiAgBEKMgICAgIKAgIB/NwIkIANBADoADCADQb+iBigAADYACCADQbeiBikAADcAACAAAn1DCtcjPCABIAIgBEEgahCBECIDRg0AGiADKAIcIgUgBSgCACgCHBEAACgCBEGw0wkoAgBHDQIgAygCHCIFIANBIGogBSgCACgCFBEDACoCAAs4AmggBCwAK0F/TARAIAQoAiAQohsLIARBEBDVGiIDNgIQIARCjYCAgICCgICAfzcCFCADQQA6AA0gA0HJogYpAAA3AAUgA0HEogYpAAA3AAAgAAJ9QwAAAAAgASACIARBEGoQgRAiA0YNABogAygCHCIFIAUoAgAoAhwRAAAoAgRBsNMJKAIARw0DIAMoAhwiBSADQSBqIAUoAgAoAhQRAwAqAgALOAJsIAQsABtBf0wEQCAEKAIQEKIbCyAEQRAQ1RoiAzYCACAEQo+AgICAgoCAgH83AgQgA0EAOgAPIANB2aIGKQAANwAHIANB0qIGKQAANwAAIAACfUPNzMw9IAEgAiAEEIEQIgJGDQAaIAIoAhwiASABKAIAKAIcEQAAKAIEQbDTCSgCAEcNBCACKAIcIgEgAkEgaiABKAIAKAIUEQMAKgIACzgCcCAELAALQX9MBEAgBCgCABCiGwsgAEEANgJQIABBADYCBCAEQUBrJAAPC0EBEBVBnLYGQQAQFgALQQEQFUGctgZBABAWAAtBARAVQZy2BkEAEBYAC0EBEBVBnLYGQQAQFgAL5AQCDn8BfSMAQTBrIgYkACAGQQA2AhAgBkIANwMIAkAgA0UEQCAGQQA2AhQMAQsgBkEIaiADEOMHIAYgAzYCFCADQQFIDQBBACEDIAYoAgghBwNAIAcgA0ECdGogAzYCACADQQFqIgMgBigCFEgNAAsLIAZBhICMmHg2AiAgBkIANwMoIAYgBkEIajYCJCAGQSBqQQAQ+QkgBkEANgIYAkACQAJAIAFBAEwEQCAGKAIIIQkMAQsgBigCCCEJIAYoAhQhDwNAIAQgCEECdGohECAMIQMDQCADIA9GDQIgBiADQQFqIgw2AhggCSADQQJ0aigCACIDQX9MBEAgBSAINgIADAQLIBAgAiADQQJ0aigCACIDNgIAIAgEQCAAKAIsIhEgACgCKCISIANsQQJ0aiITIAAoAiRBAnRqIg1BDGshDkEAIQpBACELA0AgESAEIApBAnRqKAIAIBJsQQJ0aiEHQwAAAAAhFCAOIBMiA0sEQANAIBQgAyoCACAHKgIAkyIUIBSUIAMqAgQgByoCBJMiFCAUlJIgAyoCCCAHKgIIkyIUIBSUkiADKgIMIAcqAgyTIhQgFJSSkiEUIAdBEGohByADQRBqIgMgDkkNAAsLIAMgDUkEQANAIBQgAyoCACAHKgIAkyIUIBSUkiEUIAdBBGohByADQQRqIgMgDUkNAAsLQQEgCyAUu0S8idiXstKcPGMbIQsgCkEBaiIKIAhHDQALIAwhAyALQQFxDQELCyAIQQFqIgggAUcNAAsgASEICyAFIAg2AgAgCUUNAQsgBiAJNgIMIAkQohsLIAZBMGokAAv1CQQQfwF+An0CfEF/IANBAnQgA0H/////A3EgA0cbENUaIQoQmQoiBiAGKQMAIhZC/////w+DQorG/cEPfiAWQiCIfCIWNwMAIAQgAgJ/IBanQf////8HcbdEAAAAAAAAAD6iIAO3oiIZmUQAAAAAAADgQWMEQCAZqgwBC0GAgICAeAtBAnRqIgYoAgA2AgACQCADQQFIBEBEAAAAAAAAAAAhGQwBCyAAKAIsIgsgACgCKCIMIAYoAgBsQQJ0aiENRAAAAAAAAAAAIRkgACgCJEECdCEOA0BDAAAAACEYIA0hByALIAwgAiAIQQJ0Ig9qKAIAbEECdGoiBiAGIA5qIglBDGsiEEkEQANAIBggBioCACAHKgIAkyIXIBeUIAYqAgQgByoCBJMiFyAXlJIgBioCCCAHKgIIkyIXIBeUkiAGKgIMIAcqAgyTIhcgF5SSkiEYIAdBEGohByAGQRBqIgYgEEkNAAsLIAYgCUkEQANAIBggBioCACAHKgIAkyIXIBeUkiEYIAdBBGohByAGQQRqIgYgCUkNAAsLIAogD2ogGDgCACAZIBi7oCEZIAhBAWoiCCADRw0ACwsgBSABQQJOBH8gA0EBayERIANBAkghEyADQQBKIRJBASEFA0AQmQoiBiAGKQMAIhZC/////w+DQorG/cEPfiAWQiCIfCIWNwMAQQAhBgJAIBMNACAZIBanQf////8HcbdEAAAAAAAAAD6iokQAAAAAAAAAAKAhGQNAIBkgCiAGQQJ0aioCALsiGmUNASAZIBqhIRkgBkEBaiIGIBFHDQALIBEhBgsCQCASRQRAIAQgBUECdGogAiAGQQJ0aigCADYCAEQAAAAAAAAAACEZDAELIAAoAiwiCyACIAZBAnRqIhQoAgAiFSAAKAIoIgxsQQJ0aiENIAAoAiQhDkQAAAAAAAAAACEZQQAhCANAQwAAAAAhGCANIQcgCyAMIAIgCEECdCIPaigCAGxBAnRqIgYgBiAOQQJ0aiIJQQxrIhBJBEADQCAYIAYqAgAgByoCAJMiFyAXlCAGKgIEIAcqAgSTIhcgF5SSIAYqAgggByoCCJMiFyAXlJIgBioCDCAHKgIMkyIXIBeUkpIhGCAHQRBqIQcgBkEQaiIGIBBJDQALCyAGIAlJBEADQCAYIAYqAgAgByoCAJMiFyAXlJIhGCAHQQRqIQcgBkEEaiIGIAlJDQALCyAZIAogD2oqAgAiFyAYIBcgGF0bu6AhGSAIQQFqIgggA0cNAAsgBCAFQQJ0aiAVNgIAIBJFDQAgACgCLCILIAAoAigiDCAUKAIAbEECdGohDSAAKAIkIQ5BACEIA0BDAAAAACEYIA0hByALIAwgAiAIQQJ0Ig9qKAIAbEECdGoiBiAGIA5BAnRqIglBDGsiEEkEQANAIBggBioCACAHKgIAkyIXIBeUIAYqAgQgByoCBJMiFyAXlJIgBioCCCAHKgIIkyIXIBeUkiAGKgIMIAcqAgyTIhcgF5SSkiEYIAdBEGohByAGQRBqIgYgEEkNAAsLIAYgCUkEQANAIBggBioCACAHKgIAkyIXIBeUkiEYIAdBBGohByAGQQRqIgYgCUkNAAsLIAogD2oiBiAGKgIAIhcgGCAXIBhdGzgCACAIQQFqIgggA0cNAAsLIAVBAWoiBSABRw0ACyABBUEBCzYCACAKEKIbC8QFBA9/AX4DfQF8EJkKIgYgBikDACIVQv////8Pg0KKxv3BD34gFUIgiHwiFTcDACAEIAICfyAVp0H/////B3G3RAAAAAAAAAA+oiADt6IiGZlEAAAAAAAA4EFjBEAgGaoMAQtBgICAgHgLQQJ0aigCADYCAEEBIQgCQCABQQJIDQADQCADQQFIDQEgACgCLCIMIAAoAigiDSAEKAIAbEECdGoiESAAKAIkQQJ0IhJqIg5BDGshD0F/IQlDAAAAACEYQQAhCgNAQwAAAAAhFyAMIAIgCkECdGooAgAgDWxBAnRqIhMhByAPIBEiBksEQANAIBcgBioCACAHKgIAkyIWIBaUIAYqAgQgByoCBJMiFiAWlJIgBioCCCAHKgIIkyIWIBaUkiAGKgIMIAcqAgyTIhYgFpSSkiEXIAdBEGohByAGQRBqIgYgD0kNAAsLIAYgDkkEQANAIBcgBioCACAHKgIAkyIWIBaUkiEXIAdBBGohByAGQQRqIgYgDkkNAAsLQQEhCyAIQQFLBEADQEMAAAAAIRYgEyEHIAwgBCALQQJ0aigCACANbEECdGoiBiAGIBJqIhBBDGsiFEkEQANAIBYgBioCACAHKgIAkyIWIBaUIAYqAgQgByoCBJMiFiAWlJIgBioCCCAHKgIIkyIWIBaUkiAGKgIMIAcqAgyTIhYgFpSSkiEWIAdBEGohByAGQRBqIgYgFEkNAAsLIAYgEEkEQANAIBYgBioCACAHKgIAkyIWIBaUkiEWIAdBBGohByAGQQRqIgYgEEkNAAsLIBYgFyAWIBddGyEXIAtBAWoiCyAIRw0ACwsgFyAYIBcgGF4iBhshGCAKIAkgBhshCSAKQQFqIgogA0cNAAsgCUF/Rg0BIAQgCEECdGogAiAJQQJ0aigCADYCACAIQQFqIgggAUcNAAsgASEICyAFIAg2AgAL2AMBAX8jAEEwayICJAAgAkMAAAAAOAIQIAIgATYCFCACQQE6AA8gAkEAOgAOIAJBBjoACyACQQA6AAYgAkGLowYoAAA2AgAgAkGPowYvAAA7AQQgAiACNgIgIAJBKGogACACIAJBIGoQkBAgAigCKEEcaiACQRRqEIYQIAIsAAtBf0wEQCACKAIAEKIbCyACQQM6AAsgAkEAOgADIAJBkqMGLwAAOwEAIAJBlKMGLQAAOgACIAIgAjYCICACQShqIAAgAiACQSBqEJAQIAIoAihBHGogAkEQahCKECACLAALQX9MBEAgAigCABCiGwsgAkEGOgALIAJBADoABiACQZajBigAADYCACACQZqjBi8AADsBBCACIAI2AiAgAkEoaiAAIAIgAkEgahCQECACKAIoQRxqIAJBD2oQjBAgAiwAC0F/TARAIAIoAgAQohsLIAJBIBDVGiIBNgIAIAJCkYCAgICEgICAfzcCBCABQQA6ABEgAUGtowYtAAA6ABAgAUGlowYpAAA3AAggAUGdowYpAAA3AAAgAiACNgIgIAJBKGogACACIAJBIGoQkBAgAigCKEEcaiACQQ5qEIwQIAIsAAtBf0wEQCACKAIAEKIbCyACQTBqJAAL5AQCDn8BfSMAQTBrIgYkACAGQQA2AhAgBkIANwMIAkAgA0UEQCAGQQA2AhQMAQsgBkEIaiADEOMHIAYgAzYCFCADQQFIDQBBACEDIAYoAgghBwNAIAcgA0ECdGogAzYCACADQQFqIgMgBigCFEgNAAsLIAZBhICMmHg2AiAgBkIANwMoIAYgBkEIajYCJCAGQSBqQQAQ+QkgBkEANgIYAkACQAJAIAFBAEwEQCAGKAIIIQkMAQsgBigCCCEJIAYoAhQhDwNAIAQgCEECdGohECAMIQMDQCADIA9GDQIgBiADQQFqIgw2AhggCSADQQJ0aigCACIDQX9MBEAgBSAINgIADAQLIBAgAiADQQJ0aigCACIDNgIAIAgEQCAAKAIYIhEgACgCFCISIANsQQJ0aiITIAAoAhBBAnRqIg1BDGshDkEAIQpBACELA0AgESAEIApBAnRqKAIAIBJsQQJ0aiEHQwAAAAAhFCAOIBMiA0sEQANAIBQgAyoCACAHKgIAkyIUIBSUIAMqAgQgByoCBJMiFCAUlJIgAyoCCCAHKgIIkyIUIBSUkiADKgIMIAcqAgyTIhQgFJSSkiEUIAdBEGohByADQRBqIgMgDkkNAAsLIAMgDUkEQANAIBQgAyoCACAHKgIAkyIUIBSUkiEUIAdBBGohByADQQRqIgMgDUkNAAsLQQEgCyAUu0S8idiXstKcPGMbIQsgCkEBaiIKIAhHDQALIAwhAyALQQFxDQELCyAIQQFqIgggAUcNAAsgASEICyAFIAg2AgAgCUUNAQsgBiAJNgIMIAkQohsLIAZBMGokAAv1CQQQfwF+An0CfEF/IANBAnQgA0H/////A3EgA0cbENUaIQoQmQoiBiAGKQMAIhZC/////w+DQorG/cEPfiAWQiCIfCIWNwMAIAQgAgJ/IBanQf////8HcbdEAAAAAAAAAD6iIAO3oiIZmUQAAAAAAADgQWMEQCAZqgwBC0GAgICAeAtBAnRqIgYoAgA2AgACQCADQQFIBEBEAAAAAAAAAAAhGQwBCyAAKAIYIgsgACgCFCIMIAYoAgBsQQJ0aiENRAAAAAAAAAAAIRkgACgCEEECdCEOA0BDAAAAACEYIA0hByALIAwgAiAIQQJ0Ig9qKAIAbEECdGoiBiAGIA5qIglBDGsiEEkEQANAIBggBioCACAHKgIAkyIXIBeUIAYqAgQgByoCBJMiFyAXlJIgBioCCCAHKgIIkyIXIBeUkiAGKgIMIAcqAgyTIhcgF5SSkiEYIAdBEGohByAGQRBqIgYgEEkNAAsLIAYgCUkEQANAIBggBioCACAHKgIAkyIXIBeUkiEYIAdBBGohByAGQQRqIgYgCUkNAAsLIAogD2ogGDgCACAZIBi7oCEZIAhBAWoiCCADRw0ACwsgBSABQQJOBH8gA0EBayERIANBAkghEyADQQBKIRJBASEFA0AQmQoiBiAGKQMAIhZC/////w+DQorG/cEPfiAWQiCIfCIWNwMAQQAhBgJAIBMNACAZIBanQf////8HcbdEAAAAAAAAAD6iokQAAAAAAAAAAKAhGQNAIBkgCiAGQQJ0aioCALsiGmUNASAZIBqhIRkgBkEBaiIGIBFHDQALIBEhBgsCQCASRQRAIAQgBUECdGogAiAGQQJ0aigCADYCAEQAAAAAAAAAACEZDAELIAAoAhgiCyACIAZBAnRqIhQoAgAiFSAAKAIUIgxsQQJ0aiENIAAoAhAhDkQAAAAAAAAAACEZQQAhCANAQwAAAAAhGCANIQcgCyAMIAIgCEECdCIPaigCAGxBAnRqIgYgBiAOQQJ0aiIJQQxrIhBJBEADQCAYIAYqAgAgByoCAJMiFyAXlCAGKgIEIAcqAgSTIhcgF5SSIAYqAgggByoCCJMiFyAXlJIgBioCDCAHKgIMkyIXIBeUkpIhGCAHQRBqIQcgBkEQaiIGIBBJDQALCyAGIAlJBEADQCAYIAYqAgAgByoCAJMiFyAXlJIhGCAHQQRqIQcgBkEEaiIGIAlJDQALCyAZIAogD2oqAgAiFyAYIBcgGF0bu6AhGSAIQQFqIgggA0cNAAsgBCAFQQJ0aiAVNgIAIBJFDQAgACgCGCILIAAoAhQiDCAUKAIAbEECdGohDSAAKAIQIQ5BACEIA0BDAAAAACEYIA0hByALIAwgAiAIQQJ0Ig9qKAIAbEECdGoiBiAGIA5BAnRqIglBDGsiEEkEQANAIBggBioCACAHKgIAkyIXIBeUIAYqAgQgByoCBJMiFyAXlJIgBioCCCAHKgIIkyIXIBeUkiAGKgIMIAcqAgyTIhcgF5SSkiEYIAdBEGohByAGQRBqIgYgEEkNAAsLIAYgCUkEQANAIBggBioCACAHKgIAkyIXIBeUkiEYIAdBBGohByAGQQRqIgYgCUkNAAsLIAogD2oiBiAGKgIAIhcgGCAXIBhdGzgCACAIQQFqIgggA0cNAAsLIAVBAWoiBSABRw0ACyABBUEBCzYCACAKEKIbC6IJBA1/AX4EfQJ8QX8gA0ECdCADQf////8DcSADRxsQ1RohChCZCiIGIAYpAwAiE0L/////D4NCisb9wQ9+IBNCIIh8IhM3AwAgBCACAn8gE6dB/////wdxt0QAAAAAAAAAPqIgA7eiIhiZRAAAAAAAAOBBYwRAIBiqDAELQYCAgIB4C0ECdGoiBigCADYCACADQQFOBEAgACgCGCILIAAoAhQiDCAGKAIAbEECdGohDSAAKAIQQQJ0IQ4DQEMAAAAAIRUgDSEHIAsgDCACIAhBAnQiD2ooAgBsQQJ0aiIGIAYgDmoiCUEMayIQSQRAA0AgFSAGKgIAIAcqAgCTIhQgFJQgBioCBCAHKgIEkyIUIBSUkiAGKgIIIAcqAgiTIhQgFJSSIAYqAgwgByoCDJMiFCAUlJKSIRUgB0EQaiEHIAZBEGoiBiAQSQ0ACwsgBiAJSQRAA0AgFSAGKgIAIAcqAgCTIhQgFJSSIRUgB0EEaiEHIAZBBGoiBiAJSQ0ACwsgCiAPaiAVOAIAIAhBAWoiCCADRw0ACwsgBSABQQJOBH9BASERA0BBACEFAkAgA0EASgRARAAAAAAAAPC/IRlDAAAAACEWQQAhEgNAAkAgCiASQQJ0IgZqKgIAIhcgFkNmZqY/lF5BAXMNACAAKAIYIgsgACgCFCIMIAIgBmooAgBsQQJ0aiENIAAoAhAhDkQAAAAAAAAAACEYQQAhCANAQwAAAAAhFSANIQcgCyAMIAIgCEECdCIPaigCAGxBAnRqIgYgBiAOQQJ0aiIJQQxrIhBJBEADQCAVIAYqAgAgByoCAJMiFCAUlCAGKgIEIAcqAgSTIhQgFJSSIAYqAgggByoCCJMiFCAUlJIgBioCDCAHKgIMkyIUIBSUkpIhFSAHQRBqIQcgBkEQaiIGIBBJDQALCyAGIAlJBEADQCAVIAYqAgAgByoCAJMiFCAUlJIhFSAHQQRqIQcgBkEEaiIGIAlJDQALCyAYIAogD2oqAgAiFCAVIBQgFV0bu6AhGCAIQQFqIgggA0cNAAsgGUQAAAAAAAAAAGNFQQAgGCAZZUEBcxsNACAYIRkgEiEFIBchFgsgEkEBaiISIANHDQALIAQgEUECdGogAiAFQQJ0aiIGKAIANgIAIANBAUgNASAAKAIYIgsgACgCFCIMIAYoAgBsQQJ0aiENIAAoAhAhDkEAIQgDQEMAAAAAIRUgDSEHIAsgDCACIAhBAnQiD2ooAgBsQQJ0aiIGIAYgDkECdGoiCUEMayIQSQRAA0AgFSAGKgIAIAcqAgCTIhQgFJQgBioCBCAHKgIEkyIUIBSUkiAGKgIIIAcqAgiTIhQgFJSSIAYqAgwgByoCDJMiFCAUlJKSIRUgB0EQaiEHIAZBEGoiBiAQSQ0ACwsgBiAJSQRAA0AgFSAGKgIAIAcqAgCTIhQgFJSSIRUgB0EEaiEHIAZBBGoiBiAJSQ0ACwsgCiAPaiIGIAYqAgAiFCAVIBQgFV0bOAIAIAhBAWoiCCADRw0ACwwBCyAEIBFBAnRqIAIoAgA2AgALIBFBAWoiESABRw0ACyABBUEBCzYCACAKEKIbC8QFBA9/AX4DfQF8EJkKIgYgBikDACIVQv////8Pg0KKxv3BD34gFUIgiHwiFTcDACAEIAICfyAVp0H/////B3G3RAAAAAAAAAA+oiADt6IiGZlEAAAAAAAA4EFjBEAgGaoMAQtBgICAgHgLQQJ0aigCADYCAEEBIQgCQCABQQJIDQADQCADQQFIDQEgACgCGCIMIAAoAhQiDSAEKAIAbEECdGoiESAAKAIQQQJ0IhJqIg5BDGshD0F/IQlDAAAAACEYQQAhCgNAQwAAAAAhFyAMIAIgCkECdGooAgAgDWxBAnRqIhMhByAPIBEiBksEQANAIBcgBioCACAHKgIAkyIWIBaUIAYqAgQgByoCBJMiFiAWlJIgBioCCCAHKgIIkyIWIBaUkiAGKgIMIAcqAgyTIhYgFpSSkiEXIAdBEGohByAGQRBqIgYgD0kNAAsLIAYgDkkEQANAIBcgBioCACAHKgIAkyIWIBaUkiEXIAdBBGohByAGQQRqIgYgDkkNAAsLQQEhCyAIQQFLBEADQEMAAAAAIRYgEyEHIAwgBCALQQJ0aigCACANbEECdGoiBiAGIBJqIhBBDGsiFEkEQANAIBYgBioCACAHKgIAkyIWIBaUIAYqAgQgByoCBJMiFiAWlJIgBioCCCAHKgIIkyIWIBaUkiAGKgIMIAcqAgyTIhYgFpSSkiEWIAdBEGohByAGQRBqIgYgFEkNAAsLIAYgEEkEQANAIBYgBioCACAHKgIAkyIWIBaUkiEWIAdBBGohByAGQQRqIgYgEEkNAAsLIBYgFyAWIBddGyEXIAtBAWoiCyAIRw0ACwsgFyAYIBcgGF4iBhshGCAKIAkgBhshCSAKQQFqIgogA0cNAAsgCUF/Rg0BIAQgCEECdGogAiAJQQJ0aigCADYCACAIQQFqIgggAUcNAAsgASEICyAFIAg2AgALqgIBBX8CQAJAAkAgBCgCBCIFIAQoAghHBEAgBSABNgIAIAQgBUEEajYCBAwBCyAFIAQoAgAiCWsiCEECdSIHQQFqIgVBgICAgARPDQECf0EAIAUgCEEBdSIGIAUgBksbQf////8DIAdB/////wFJGyIGRQ0AGiAGQYCAgIAETw0DIAZBAnQQ1RoLIgUgB0ECdGoiByABNgIAIAUgBkECdGohBiAHQQRqIQcgCEEBTgRAIAUgCSAIEK4bGgsgBCAGNgIIIAQgBzYCBCAEIAU2AgAgCUUNACAJEKIbCwJAIANFDQAgAkEBSA0AIANBAWshCANAIABBASACQQFrIgV0IAFyIAUgCCAEEOgRIAJBAUohAyAFIQIgAw0ACwsPCxD8GgALQZSpBhC+AgALGgAgAEHc2wY2AgAgAEEUaiAAKAIYEP8PIAALHQAgAEHc2wY2AgAgAEEUaiAAKAIYEP8PIAAQohsLgQICBX8BfSAAKAIEBEAgACgCCCEFIAAoAhAhBgNAQwAAAAAhCSACIQQgBiIDIAMgBUECdGoiBUEMayIISQRAA0AgCSADKgIAIAQqAgCTIgkgCZQgAyoCBCAEKgIEkyIJIAmUkiADKgIIIAQqAgiTIgkgCZSSIAMqAgwgBCoCDJMiCSAJlJKSIQkgBEEQaiEEIANBEGoiAyAISQ0ACwsgAyAFSQRAA0AgCSADKgIAIAQqAgCTIgkgCZSSIQkgBEEEaiEEIANBBGoiAyAFSQ0ACwsgASAJIAcgASgCACgCDBEYACAGIAAoAggiBUECdGohBiAHQQFqIgcgACgCBEkNAAsLC40BAQJ/IABByNwGNgIAAkAgAC0AJEUNACAAQUBrKAIAIgFFDQAgARCiGwsgACgCYCICBEADQCACKAIAIQEgAhCiGyAAIAE2AmAgASECIAENAAsLIAAoAlAiAQRAIAAgATYCVCABEKIbCyAAKAIoIgEEQCAAIAE2AiwgARCiGwsgAEEUaiAAKAIYEP8PIAALCgAgABDsERCiGwuGAgEIfyAAIABB0ABqIgEQ7xEgACAAQQAgACgCRCABEPARNgJMAkAgAC0AJARAIABBQGsoAgAiAQRAIAEQohsLIABBfyAAKAJIIgIgACgCRCIDbCIBQQJ0IAFB/////wNxIAFHGxDVGiIFNgJAIAAgAjYCPCAAIAI2AjggACADNgI0IANFDQEDQCACBEAgBSACIARsQQJ0aiEGIAAoAhAgACgCDCAAKAIoIARBAnRqKAIAbEECdGohB0EAIQEDQCAGIAFBAnQiCGogByAIaioCADgCACABQQFqIgEgAkcNAAsLIARBAWoiBCADRw0ACwwBCyAAIAApAgQ3AjQgACAAKQIMNwI8CwuxAgIHfwF9AkAgACgCSCIDIAEoAgQgASgCACIEa0EDdSICSwRAIAEgAyACaxD8ESAAKAJIIQMMAQsgAiADTQ0AIAEgBCADQQN0ajYCBAsgAwRAIAAoAhAhBSABKAIAIQZBACECA0AgBiACQQN0aiIEIAUgAkECdGoiByoCADgCACAEIAcqAgA4AgQgAkEBaiICIANHDQALCyAAKAIEIghBAk8EQCABKAIAIQZBASEBA0AgAwRAIAAoAhAgACgCDCABbEECdGohBUEAIQIDQCAFIAJBAnRqIgcqAgAiCSAGIAJBA3RqIgQqAgBdQQFzRQRAIAQgCTgCACAHKgIAIQkLIAkgBCoCBF5BAXNFBEAgBCAJOAIECyACQQFqIgIgA0cNAAsLIAFBAWoiASAIRw0ACwsL/wcCCH8CfSMAQTBrIgUkAAJAIAACfyAAKAJcIgRBIE4EQCAAKAJkIQcgBEEgawwBCyAAQfAAaiIGIAYoAgAgBGo2AgBBgMAAEKEbIgRFBEBB5MUGQRtBAUHs5AgoAgAQtBsaDAILIAQgAEHgAGoiBigCADYCACAGIAQ2AgAgBEEEaiEHQdw/CzYCXCAAIAdBIGo2AmQgAEHsAGoiBCAEKAIAQSBqNgIACwJAAkACQCACIAFrIgQgACgCIEwEQCAHQgA3AhQgByACNgIEIAcgATYCACAAKAJIIggEQCAAKAIQIAAoAgwgACgCKCABQQJ0aigCAGxBAnRqIQkgAygCACELQQAhBANAIAsgBEEDdGoiBiAJIARBAnRqIgoqAgA4AgAgBiAKKgIAOAIEIARBAWoiBCAIRw0ACwsgAUEBaiIBIAJODQEgAygCACELA0AgCARAIAAoAhAgACgCDCAAKAIoIAFBAnRqKAIAbEECdGohCUEAIQQDQAJ/IAkgBEECdGoiCioCACIMIAsgBEEDdGoiBioCAF1BAXNFBEAgBiAMOAIAIAoqAgAhDAsgBioCBCAMXUEBc0ULBEAgBiAMOAIECyAEQQFqIgQgCEcNAAsLIAIgAUEBaiIBRw0ACwwBCyAAIAAoAiggAUECdGogBCAFQSxqIAVBKGogBUEkaiADEP0RIAcgBSgCKCIKNgIIIAVBADYCICAFQgA3AxggAygCBCADKAIAIglrIgZBA3UiCEGAgICAAk8NASAFIAYQ1RoiBDYCGCAFIAQ2AhwgBSAEIAhBA3RqNgIgIAUgBkEBSAR/IAQFIAQgCSAGEK4bIAZqCzYCHCAEIApBA3RqIAUqAiQ4AgQgByAAIAEgBSgCLCABaiAFQRhqEPARNgIUIAVBADYCECAFQgA3AwggAygCBCADKAIAIghrIgZBA3UiCkGAgICAAk8NAiAFIAYQ1RoiBDYCCCAFIAQ2AgwgBSAEIApBA3RqNgIQIAUgBkEBSAR/IAQFIAQgCCAGEK4bIAZqCzYCDCAEIAUoAihBA3RqIAUqAiQ4AgAgByAAIAUoAiwgAWogAiAFQQhqEPARNgIYIAcgBSgCGCILIAUoAihBA3QiBGoqAgQ4AgwgByAFKAIIIgkgBGoqAgA4AhAgACgCSCIABEAgAygCACEBQQAhBANAIAEgBEEDdCIGaiIKIAYgCWoiCCoCACIMIAYgC2oiBioCACINIAwgDV0bOAIAIAogCCoCBCIMIAYqAgQiDSAMIA1eGzgCBCAEQQFqIgQgAEcNAAsLIAUgCTYCDCAJEKIbIAUoAhgiBEUNACAFIAQ2AhwgBBCiGwsgBUEwaiQAIAcPCxD8GgALEPwaAAu4AwEGfyMAQSBrIgYkAAJAAkACQAJAAkAgASgCBCAAIAAoAgAoAiARAABGBEAgASgCACIHIAIoAgBLDQEgAygCACAHSQ0CIAIoAgQgBEgNAyADKAIEIARIDQQgBiAENgIUIAZBlN4GNgIIIAdFDQVBACEHA0AgAygCDCEIIAMoAgghCSACKAIMIQogAigCCCELIAZCgICAgPD//7//ADcDGCAGIAogByALbEECdGo2AgwgBiAIIAcgCWxBAnRqIgg2AhAgBEECdCAIakEEa0H////7BzYCACAAIAZBCGogASgCDCABKAIIIAdsQQJ0aiAFIAAoAgAoAjARBgAgB0EBaiIHIAEoAgBPDQYgBigCFCEEDAALAAtBqX4gBkEIakGYuQYQiQNBraQGQczdBkHXARCYCgALQal+IAZBCGpB5bkGEIkDQa2kBkHM3QZB2AEQmAoAC0GpfiAGQQhqQYK6BhCJA0GtpAZBzN0GQdkBEJgKAAtBqX4gBkEIakGdugYQiQNBraQGQczdBkHaARCYCgALQal+IAZBCGpBtroGEIkDQa2kBkHM3QZB2wEQmAoACyAGQSBqJAAL8wEBAX8jAEEQayICJAAgAEHEAGpBBEEBIAEQtBsaIABByABqQQRBASABELQbGiACIAAoAlQgACgCUGtBA3U2AgggAkEIakEEQQEgARC0GxogACgCUEEIIAIoAgggARC0GxogACwAJCABEJkVIABBIGpBBEEBIAEQtBsaIAIgACgCLCAAKAIoa0ECdTYCDCACQQxqQQRBASABELQbGiAAKAIoQQQgAigCDCABELQbGiAALQAkBEAgAEE0akEQQQEgARC0GxogAEFAaygCAEEEIAAoAjggACgCNGwgARC0GxoLIAAgASAAKAJMEPMRIAJBEGokAAsvAQF/A0AgAkEcQQEgARC0GxogAigCFCIDBEAgACABIAMQ8xELIAIoAhgiAg0ACwvrBAEDfyMAQTBrIgIkAAJAAkACQCAAQcQAakEEQQEgARCoFUEBRgRAIABByABqQQRBASABEKgVQQFHDQEgASAAQdAAahD1ESAAQSRqIgNBAUEBIAEQqBVBAUcNAiAAQSBqIgRBBEEBIAEQqBVBAUcNAyABIABBKGoQ9hECQCAALQAkBEAgASAAQTRqEPcRDAELIAAgACkCBDcCNCAAIAApAgw3AjwLIAAgASAAQcwAahD4ESACIAAgACgCACgCKBEAADYCECACQQA6AAkgAkH8oQYtAAA6AAggAkEJOgALIAJB9KEGKQAANwMAIAIgAjYCICACQShqIABBFGoiASACIAJBIGoQkBAgAigCKEEcaiACQRBqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyACQRAQ1RoiADYCACACQo2AgICAgoCAgH83AgQgAEEAOgANIABBhd0GKQAANwAFIABBgN0GKQAANwAAIAIgAjYCICACQShqIAEgAiACQSBqEJAQIAIoAihBHGogBBCGECACLAALQX9MBEAgAigCABCiGwsgAkEHOgALIAJBADoAByACQY7dBigAADYCACACQZHdBigAADYAAyACIAI2AiAgAkEoaiABIAIgAkEgahCQECACKAIoQRxqIAMQjBAgAiwAC0F/TARAIAIoAgAQohsLIAJBMGokAA8LQTwQFSICQejIBhCZECACQZCoBkHjBxAWAAtBPBAVIgJB6MgGEJkQIAJBkKgGQeMHEBYAC0E8EBUiAkHoyAYQmRAgAkGQqAZB4wcQFgALQTwQFSICQejIBhCZECACQZCoBkHjBxAWAAu1AQEEfyMAQRBrIgMkAAJAIANBDGpBBEEBIAAQqBVBAUYEQAJAIAMoAgwiAiABKAIEIAEoAgAiBGtBA3UiBUsEQCABIAIgBWsQ/BEgASgCACEEDAELIAIgBU8NACABIAQgAkEDdGo2AgQLIARBCCACIAAQqBUgAkcNASADQRBqJAAPC0E8EBUiAUHoyAYQmRAgAUGQqAZB4wcQFgALQTwQFSIBQejIBhCZECABQZCoBkHjBxAWAAu1AQEEfyMAQRBrIgMkAAJAIANBDGpBBEEBIAAQqBVBAUYEQAJAIAMoAgwiAiABKAIEIAEoAgAiBGtBAnUiBUsEQCABIAIgBWsQ4wcgASgCACEEDAELIAIgBU8NACABIAQgAkECdGo2AgQLIARBBCACIAAQqBUgAkcNASADQRBqJAAPC0E8EBUiAUHoyAYQmRAgAUGQqAZB4wcQFgALQTwQFSIBQejIBhCZECABQZCoBkHjBxAWAAuNAQECfwJAIAFBEEEBIAAQqBVBAUYEQCABQX8gASgCBCABKAIAbCICQQJ0IAJB/////wNxIAJHGxDVGiIDNgIMIANBBCACIAAQqBUgASgCBCABKAIAbEcNAQ8LQTwQFSIBQejIBhCZECABQZCoBkHjBxAWAAtBPBAVIgFB6MgGEJkQIAFBkKgGQeMHEBYAC/wBAQN/QezkCCgCACEFAkADQAJAAn8gACgCXCIDQSBOBEAgA0EgayEEIAAoAmQMAQsgACAAKAJwIANqNgJwQYDAABChGyIDRQRAQeTFBkEbQQEgBRC0GxpBACEDDAILIAMgACgCYDYCACAAIAM2AmBB3D8hBCADQQRqCyEDIAAgBDYCXCAAIANBIGo2AmQgACAAKAJsQSBqNgJsCyACIAM2AgAgA0EcQQEgARCoFUEBRw0BIAIoAgAiAygCFARAIAAgASADQRRqEPgRIAIoAgAhAwsgA0EYaiECIAMoAhgNAAsPC0E8EBUiAEHoyAYQmRAgAEGQqAZB4wcQFgALFgAgACgCcCAAKAJsaiAAKAIEQQJ0agvKAwIGfwR9IwBBIGsiBCQAIARBAzoAGyAEQQA6ABMgBEGSowYvAAA7ARAgBEGUowYtAAA6ABICQAJAAn1DAACAPyADIARBEGoQgRAiBSADQQRqRg0AGiAFKAIcIgMgAygCACgCHBEAACgCBEGw0wkoAgBHDQEgBSgCHCIDIAVBIGogAygCACgCFBEDACoCAEMAAIA/kgshDSAELAAbQX9MBEAgBCgCEBCiGwsgACgCSCEGIARBADYCCCAEQgA3AwAgBgRAIAZBgICAgARPDQIgBCAGQQJ0IgUQ1RoiBzYCACAEIAUgB2oiCDYCCEEAIQMgB0EAIAUQrxshCSAEIAg2AgQgACgCUCEIA0AgAiADQQJ0IgVqKgIAIgogCCADQQN0aiIHKgIAIgtdQQFzRQRAIAUgCWogCiALkyILIAuUIgs4AgAgDCALkiEMCyAKIAcqAgQiC15BAXNFBEAgBSAJaiAKIAuTIgogCpQiCjgCACAMIAqSIQwLIANBAWoiAyAGRw0ACwsgACABIAIgACgCTCAMIAQgDRD7ESAEKAIAIgMEQCAEIAM2AgQgAxCiGwsgBEEgaiQADwtBARAVQZy2BkEAEBYACxD8GgALuwYCBn8DfQJAAkAgAygCFCILDQAgAygCGA0AIAEgASgCACgCEBEXACEEIAMoAgQhCSADKAIAIQggAC0AJARAIAggCU4NAgNAIAIgACgCSEECdGoiCkEMayELIAAoAkAgACgCPCAIbEECdGohB0MAAAAAIQYgAiEFA0ACQCAFIAtPBEAgBSAKTw0BA0AgBiAFKgIAIAcqAgCTIg0gDZSSIQYgB0EEaiEHIAVBBGoiBSAKSQ0ACwwBCyAGIAUqAgAgByoCAJMiDSANlCAFKgIEIAcqAgSTIg0gDZSSIAUqAgggByoCCJMiDSANlJIgBSoCDCAHKgIMkyINIA2UkpIhBiAHQRBqIQcgBUEQaiEFIARDAAAAAF5BAXMNASAEIAZdRQ0BCwsgBCAGXkEBc0UEQCABIAYgACgCKCAIQQJ0aigCACABKAIAKAIMERgAIAMoAgQhCQsgCEEBaiIIIAlIDQALDAILIAggCU4NAQNAIAIgACgCSEECdGoiCkEMayELIAAoAkAgACgCKCAIQQJ0aigCACIMIAAoAjxsQQJ0aiEHQwAAAAAhBiACIQUDQAJAIAUgC08EQCAFIApPDQEDQCAGIAUqAgAgByoCAJMiDSANlJIhBiAHQQRqIQcgBUEEaiIFIApJDQALDAELIAYgBSoCACAHKgIAkyINIA2UIAUqAgQgByoCBJMiDSANlJIgBSoCCCAHKgIIkyINIA2UkiAFKgIMIAcqAgyTIg0gDZSSkiEGIAdBEGohByAFQRBqIQUgBEMAAAAAXkEBcw0BIAQgBl1FDQELCyAEIAZeQQFzRQRAIAEgBiAMIAEoAgAoAgwRGAAgAygCBCEJCyAIQQFqIgggCUgNAAsMAQsgACABIAIgCyADKAIYIgkgAiADKAIIQQJ0IgdqKgIAIg4gAyoCDJMiDSAOIAMqAhCTIg6SQwAAAABdIgobIAQgBSAGEPsRIAUoAgAgB2oiCCoCACEPIAggDiAOlCANIA2UIAobIg04AgAgASABKAIAKAIQERcAIA0gBJIgD5MiBCAGlGBBAXNFBEAgACABIAIgCSALIAobIAQgBSAGEPsRCyAFKAIAIAdqIA84AgALC4cCAQZ/IAEgACgCCCICIAAoAgQiA2tBA3VNBEAgACABBH8gA0EAIAFBA3QiARCvGyABagUgAws2AgQPCwJAIAMgACgCACIEayIGQQN1IgUgAWoiB0GAgICAAkkEQEEAIQMgBUEDdAJ/IAcgAiAEayICQQJ1IgUgBSAHSRtB/////wEgAkEDdUH/////AEkbIgIEQCACQYCAgIACTw0DIAJBA3QQ1RohAwsgAwtqQQAgAUEDdCIBEK8bIAFqIQEgAyACQQN0aiECIAZBAU4EQCADIAQgBhCuGxoLIAAgAjYCCCAAIAE2AgQgACADNgIAIAQEQCAEEKIbCw8LEPwaAAtBlKkGEL4CAAuNBQIIfwZ9IwBBEGsiCSQAIAYoAgAiCyoCBCIRIAsqAgAiEpMhD0EBIQYgACgCSCIMQQFLBEADQCALIAZBA3RqIgcqAgQgByoCAJMiECAPIA8gEF0bIQ8gBkEBaiIGIAxHDQALCyAEQQA2AgAgDARAIA9DWP9/P5QhE0MAAIC/IRQDQAJAIBEgEpMgE15BAXMNACAIQQJ0IgcgACgCECIGIAAoAgwiDSABKAIAbEECdGpqKgIAIRACQCACQQJIBEAgECERDAELIAYgB2ohDkEBIQYgECERIBAhEgNAIA4gASAGQQJ0aigCACANbEECdGoqAgAiDyAQIA8gEF0iBxshECAPIBEgEiAHGyISIA8gEl4iBxshEiAPIBEgBxshESAGQQFqIgYgAkcNAAsLIBEgEJMiDyAUXkEBcw0AIAQgCDYCACAIIQogDyEUCyAMIAhBAWoiCEcEQCALIAhBA3RqIgYqAgAhEiAGKgIEIREMAQsLIAsgCkEDdGoiBioCBCERIAYqAgAhEgsgCkECdCIHIAAoAhAiBiAAKAIMIg0gASgCAGxBAnRqaioCACEQIBIgEZJDAAAAP5QhEwJAIAJBAkgEQCAQIREMAQsgBiAHaiEOIBAhESAQIRJBASEGA0AgDiABIAZBAnRqKAIAIA1sQQJ0aioCACIPIBAgDyAQXSIHGyEQIA8gESASIAcbIhIgDyASXiIHGyESIA8gESAHGyERIAZBAWoiBiACRw0ACwsgBSAQIBEgEyARIBNdGyAQIBNeGyIPOAIAIAAgASACIAogDyAJQQxqIAlBCGoQ/hEgAyAJKAIMIgcgCSgCCCIBIAJBAm0iBiABIAZIGyAGIAdIGzYCACAJQRBqJAAL6AMBB38gA0ECdCENIAJBAWsiAiEIA0ACQCAHIAhKDQAgCEEBaiEMIAAoAhAgDWohCSAAKAIMIQsDQCAJIAsgASAHQQJ0aigCAGxBAnRqKgIAIARdQQFzDQEgByAIRyEKIAdBAWohByAKDQALIAwhBwsCQCAHIAhMBEAgACgCECANaiEJIAAoAgwhCwNAIAkgCyABIAhBAnRqIgooAgAiDGxBAnRqKgIAIARgQQFzDQIgByAISCEKIAhBAWshCCAKDQALCyAFIAc2AgAgA0ECdCEMA0ACQCACIAdIDQAgAkEBaiELIAAoAhAgDGohCiAAKAIMIQkDQCAKIAkgASAHQQJ0aigCAGxBAnRqKgIAIARfQQFzDQEgAiAHRyEIIAdBAWohByAIDQALIAshBwsCQCACIAdOBEAgACgCECAMaiEKIAAoAgwhCQNAIAogCSABIAJBAnRqIggoAgAiC2xBAnRqKgIAIAReQQFzDQIgAiAHSiEIIAJBAWshAiAIDQALCyAGIAc2AgAPCyABIAdBAnRqIgooAgAhCSAKIAs2AgAgCCAJNgIAIAJBAWshAiAHQQFqIQcMAAsACyABIAdBAnRqIgkoAgAhCyAJIAw2AgAgCiALNgIAIAhBAWshCCAHQQFqIQcMAAsACw0AIAAoAhAgACgCDEYL4gECBX8BfSAAKgIUIAFfRQRAAn8gACgCECIDQQFIBEAgAwwBCyAAKAIIIQcCQANAIAcgA0EBayIEQQJ0IgVqKgIAIgggAV5BAXMNASAAKAIMIANKBEAgByADQQJ0IgZqIAg4AgAgBiAAKAIEIgZqIAUgBmooAgA2AgALIANBAUohBSAEIQMgBQ0AC0EAIQMLIAAoAhALIgQgACgCDEgEQCAAIARBAWo2AhALIAAoAggiBCADQQJ0IgNqIAE4AgAgACgCBCADaiACNgIAIAAgBCAAKAIMQQJ0akEEayoCADgCFAsLBwAgACoCFAuHAQECfyAAQeDeBjYCACAAKAJAIgEEQCABEKIbCyAAKAI4IgEEQCABEKIbCyAAKAI8IgEEQCABEKIbCyAAKAJIIgIEQANAIAIoAgAhASACEKIbIAAgATYCSCABIQIgAQ0ACwsgAEEkaiAAKAIoEP8PIAAoAggiAQRAIAAgATYCDCABEKIbCyAACwoAIAAQghIQohsLeQEEfyMAQRBrIgEkACAAKAIEQQFOBEAgAEEIaiEDA0AgASADNgIEIAFBhICMmHg2AgAgAUIANwMIIAFBABD5CSAAIAAoAgggACgCMBCFEiEEIAAoAkAgAkECdGogBDYCACACQQFqIgIgACgCBEgNAAsLIAFBEGokAAuuAgEDfyMAQRBrIgUkAAJAAn8gACgCRCIDQRBOBEAgA0EQayEEIAAoAkwMAQsgAEHYAGoiBCAEKAIAIANqNgIAQYDAABChGyIDRQRAQQAhA0HkxQZBG0EBQezkCCgCABC0GxoMAgsgAyAAQcgAaiIEKAIANgIAIAQgAzYCAEHsPyEEIANBBGoLIQMgACAENgJEIAAgA0EQajYCTCAAQdQAaiIEIAQoAgBBEGo2AgALAkAgAkEBRgRAIANCADcCCCADIAEoAgA2AgAMAQsgACABIAIgBUEMaiAFQQhqIAVBBGoQjxIgAyAFKAIINgIAIAMgBSoCBDgCBCADIAAgASAFKAIMEIUSNgIIIAMgACABIAUoAgwiBEECdGogAiAEaxCFEjYCDAsgBUEQaiQAIAMLRQEBfyAAQQRqQQRBASABELQbGiAAKAIEQQFOBEADQCAAIAEgACgCQCACQQJ0aigCABCHEiACQQFqIgIgACgCBEgNAAsLCy8BAX8DQCACQRBBASABELQbGiACKAIIIgMEQCAAIAEgAxCHEgsgAigCDCICDQALC5YDAQV/IwBBMGsiAiQAIABBBGoiA0EEQQEgARCoFUEBRgRAIAAoAkAiBARAIAQQohsLIABBQGsiBUF/IAMoAgAiBEECdCAEQf////8DcSAERxsQ1RoiBjYCAEEBIQMCQCAEQQFIDQAgACABIAYQiRIgACgCBEEBTA0AA0AgACABIAAoAkAgA0ECdGoQiRIgA0EBaiIDIAAoAgRIDQALCyACIAAgACgCACgCKBEAADYCECACQQA6AAkgAkH8oQYtAAA6AAggAkEJOgALIAJB9KEGKQAANwMAIAIgAjYCICACQShqIABBJGoiACACIAJBIGoQkBAgAigCKEEcaiACQRBqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyACQQU6AAsgAkEAOgAFIAJB/qEGKAAANgIAIAJBgqIGLQAAOgAEIAIgAjYCICACQShqIAAgAiACQSBqEJAQIAIoAihBHGogBRCKEiACLAALQX9MBEAgAigCABCiGwsgAkEwaiQADwtBPBAVIgBB6MgGEJkQIABBkKgGQeMHEBYAC/wBAQN/QezkCCgCACEFAkADQAJAAn8gACgCRCIDQRBOBEAgA0EQayEEIAAoAkwMAQsgACAAKAJYIANqNgJYQYDAABChGyIDRQRAQeTFBkEbQQEgBRC0GxpBACEDDAILIAMgACgCSDYCACAAIAM2AkhB7D8hBCADQQRqCyEDIAAgBDYCRCAAIANBEGo2AkwgACAAKAJUQRBqNgJUCyACIAM2AgAgA0EQQQEgARCoFUEBRw0BIAIoAgAiAygCCARAIAAgASADQQhqEIkSIAIoAgAhAwsgA0EMaiECIAMoAgwNAAsPC0E8EBUiAEHoyAYQmRAgAEGQqAZB4wcQFgALhAEBAn8gACgCACICIABBBGoiAyACKAIAKAIAEQIAAkBBzPkKLQAAQQFxDQBBzPkKEP0aRQ0AQcz5ChCBGwsgAEHEzwo2AgACQEHc+gotAABBAXENAEHc+goQ/RpFDQBB3PoKEIEbCyAAQeTPCjYCAEHkzwogASADQeTPCigCACgCBBEEAAsWACAAKAJYIAAoAlRqIAAoAhRBAnRqC70EAgV/AX0jAEEwayIEJAAgBEEGOgArIARBADoAJiAEQYujBigAADYCICAEQY+jBi8AADsBJAJAAkACQAJ/QSAgAyAEQSBqEIEQIgUgA0EEaiIIRg0AGiAFKAIcIgcgBygCACgCHBEAACgCBEGA0wkoAgBHDQEgBSgCHCIHIAVBIGogBygCACgCFBEDACgCAAshByAELAArQX9MBEAgBCgCIBCiGwsgBEEDOgAbIARBADoAEyAEQZKjBi8AADsBECAEQZSjBi0AADoAEgJ9QwAAgD8gCCADIARBEGoQgRAiBUYNABogBSgCHCIGIAYoAgAoAhwRAAAoAgRBsNMJKAIARw0CIAUoAhwiBiAFQSBqIAYoAgAoAhQRAwAqAgBDAACAP5ILIQkgBCwAG0F/TARAIAQoAhAQohsLIARBIBDVGiIFNgIAIARCkYCAgICEgICAfzcCBEEAIQYgBUEAOgARIAVBraMGLQAAOgAQIAVBpaMGKQAANwAIIAVBnaMGKQAANwAAIAggAyAEEIEQIgNHBEAgAygCHCIFIAUoAgAoAhwRAAAoAgRBuNIJKAIARw0DIAMoAhwiBSADQSBqIAUoAgAoAhQRAwAtAABBAEchBgsgBCwAC0F/TARAIAQoAgAQohsLAkAgB0F/RgRAIAAgASACIAkQjRIMAQsgACABIAIgByAJIAYQjhILIARBMGokAA8LQQEQFUGctgZBABAWAAtBARAVQZy2BkEAEBYAC0EBEBVBnLYGQQAQFgALhwEBAn8jAEEQayIEJAAgACgCBCIFQQJOBH9B1OIGQcQAQQFB7OQIKAIAELQbGiAAKAIEBSAFC0EBTgRAIAAgASACIAAoAkAoAgBDAAAAACADEJQSCyABIAEoAgAoAggRAABFBEBBqX4gBEH+yAYQiQNBmeMGQavjBkGzAxCYCgALIARBEGokAAugBgMKfwF+An0jAEEwayIHJAAgB0EANgIsIAcgACgCMCIGNgIkIAdBADYCICAHQgA3AxggB0EYaiAGQQV2QQFqENwJIAcoAhwgBygCGCIGayIIQQFOBEAgBkEAIAhBAnYiCCAIQQBHa0ECdEEEahCvGxoLIAcQrQo2AgAgB0EQaiAHIAAoAjAQlRICQCAAKAIEQQFIDQBBACEGA0AgACABIAIgACgCQCAGQQJ0aigCAEMAAAAAIAdBLGogAyAEIAdBEGogB0EYaiAFEJYSAkAgBygCLCADSA0AIAUNACABIAEoAgAoAggRAAANAgsgBkEBaiIGIAAoAgRIDQALCwJAIAcoAhAiCCgCACIFIAgoAgQiBkYNACAIQQRqIQsDQCAFKgIEIRIgBSgCACEMAkAgBiAFayIJQQlIDQAgBSkCACEQIAUgBkEIayIGKQIANwIAIAYgEDcCACAJQRBGDQAgBUEIaiEGIAlBA3UiCkEDa0ECbSENAn9BASAJQRlIDQAaQQEgBSoCFCAFKgIMXUEBcw0AGiAFQRBqIQZBAgshCCAFKgIEIhEgBioCBF0NACAKQQFrIQ4gBSgCACEPIAUhCQNAAkAgCSAGIgkpAgA3AgAgCCANSg0AIAUgCEEBdCIIQQFyIgpBA3RqIQYCQCAOIAhBAmoiCEwEQCAKIQgMAQsgBioCDCAGKgIEXUEBcwRAIAohCAwBCyAGQQhqIQYLIAYqAgQgEV5BAXMNAQsLIAkgETgCBCAJIA82AgALIAsgCygCAEEIazYCACADIAcoAixMBEAgASABKAIAKAIIEQAADQILIAAgASACIAwgEiAHQSxqIAMgBCAHQRBqIAdBGGpBABCWEiAHKAIQIgZBBGohCyAGKAIAIgUgBigCBCIGRw0ACwsgASABKAIAKAIIEQAABEACQCAHKAIUIgZFDQAgBiAGKAIEIgVBAWs2AgQgBQ0AIAYgBigCACgCCBEBACAGENAaCyAHKAIYIgYEQCAHIAY2AhwgBhCiGwsgB0EwaiQADwtBqX4gB0H+yAYQiQNB4+MGQavjBkHUAxCYCgALyQQCDH8BfSMAQRBrIgokACAAKAI4QQAgACgCNEECdBCvGxogACgCPEEAIAAoAjRBAnQQrxsaIAJB5QAgAkHlAEgbIQkCQCACQQBMBEAgACgCNCEHDAELIAlBASAJQQFKGyEMIAAoAhwhDiAAKAIgIQ8gACgCNCEHA0AgBwRAIA8gDiABIAtBAnRqKAIAbEECdGohECAAKAI4IRFBACEGA0AgESAGQQJ0IghqIg0gCCAQaioCACANKgIAkjgCACAGQQFqIgYgB0cNAAsLIAtBAWoiCyAMRw0ACwsgBwRAIAAoAjghDSAJsiESQQAhBgNAIA0gBkECdGoiCCAIKgIAIBKVOAIAIAZBAWoiBiAHRw0ACwsgAkEBTgRAIAlBASAJQQFKGyEOIAAoAhwhDyAAKAIgIQlBACEMA0AgBwRAIAkgDyABIAxBAnRqKAIAbEECdGohECAAKAI8IREgACgCOCELQQAhBgNAIBEgBkECdCIIaiINIA0qAgAgCCAQaioCACAIIAtqKgIAkyISIBKUkjgCACAGQQFqIgYgB0cNAAsLIAxBAWoiDCAORw0ACwsgBCAAIAAoAjwQkBIiBjYCACAFIAAoAjggBkECdGoqAgAiEjgCACAAIAEgAiAGIBIgCkEMaiAKQQhqEJESAkAgCigCDCIGIAJBAm0iCEoEQCADIAY2AgAgCigCCCEHDAELIAggCigCCCIHSgRAIAMgBzYCAAwBCyADIAg2AgALIAIgBkdBACAHG0UEQCADIAg2AgALIApBEGokAAvoAgMJfwF+AXwjAEEgayIDJAAgACgCNCIHBEADQAJAAkAgAkEFTgRAIAEgBEECdGoqAgAgASACQQJ0IANqQQRrIgAoAgBBAnRqKgIAXkEBcw0CIAAgBDYCACACIQUMAQsgAyACQQJ0aiAENgIAIAJBAUghACACQQFqIgUhAiAADQELIAUhAgNAIAEgAyACQQFrIgBBAnRqIgYoAgAiCEECdGoqAgAgASACQQJ0IANqQQhrIgkoAgAiCkECdGoqAgBeQQFzRQRAIAYgCjYCACAJIAg2AgAgAkECSiEGIAAhAiAGDQELCyAFIQILIARBAWoiBCAHRw0ACwsQmQoiASABKQMAIgtC/////w+DQorG/cEPfiALQiCIfCILNwMAIAMCfyALp0H/////B3G3RAAAAAAAAAA+oiACt6IiDJlEAAAAAAAA4EFjBEAgDKoMAQtBgICAgHgLQQJ0aigCACECIANBIGokACACC+gDAQd/IANBAnQhDSACQQFrIgIhCANAAkAgByAISg0AIAhBAWohDCAAKAIgIA1qIQkgACgCHCELA0AgCSALIAEgB0ECdGooAgBsQQJ0aioCACAEXUEBcw0BIAcgCEchCiAHQQFqIQcgCg0ACyAMIQcLAkAgByAITARAIAAoAiAgDWohCSAAKAIcIQsDQCAJIAsgASAIQQJ0aiIKKAIAIgxsQQJ0aioCACAEYEEBcw0CIAcgCEghCiAIQQFrIQggCg0ACwsgBSAHNgIAIANBAnQhDANAAkAgAiAHSA0AIAJBAWohCyAAKAIgIAxqIQogACgCHCEJA0AgCiAJIAEgB0ECdGooAgBsQQJ0aioCACAEX0EBcw0BIAIgB0chCCAHQQFqIQcgCA0ACyALIQcLAkAgAiAHTgRAIAAoAiAgDGohCiAAKAIcIQkDQCAKIAkgASACQQJ0aiIIKAIAIgtsQQJ0aioCACAEXkEBcw0CIAIgB0ohCCACQQFrIQIgCA0ACwsgBiAHNgIADwsgASAHQQJ0aiIKKAIAIQkgCiALNgIAIAggCTYCACACQQFrIQIgB0EBaiEHDAALAAsgASAHQQJ0aiIJKAIAIQsgCSAMNgIAIAogCzYCACAIQQFrIQggB0EBaiEHDAALAAsGAEHE4gYLDAAgASACKAIAENIWC9gCAgN/AX0DQAJAIAMoAggNACADKAIMDQBDAAAAACEEIAAoAiAgAygCACIIIAAoAhxsQQJ0aiIDIAMgACgCNEECdGoiBkEMayIHSQRAA0AgBCADKgIAIAIqAgCTIgkgCZQgAyoCBCACKgIEkyIJIAmUkiADKgIIIAIqAgiTIgkgCZSSIAMqAgwgAioCDJMiCSAJlJKSIQQgAkEQaiECIANBEGoiAyAHSQ0ACwsgAyAGSQRAA0AgBCADKgIAIAIqAgCTIgkgCZSSIQQgAkEEaiECIANBBGoiAyAGSQ0ACwsgASAEIAggASgCACgCDBEYAA8LIANBDEEIIAIgAygCAEECdGoqAgAgAyoCBJMiCUMAAAAAXSIGG2ooAgAhByAAIAEgAiADQQhBDCAGG2ooAgAgBCAFEJQSIAchAyABIAEoAgAoAhARFwAgBCAJIAmUkiIEIAWUYA0ACwutBwEIfyMAQSBrIgYkAAJAQfz6Ci0AAEEBcQ0AQfz6ChD9GkUNAEHg+goQ0RoaQfz6ChCBGwtB4PoKENMaAkBBlPsKLQAAQQFxDQBBlPsKEP0aRQ0AQYj7CkIANwIAQYD7CkIANwIAQZD7CkGAgID8AzYCAEGU+woQgRsLAkACQAJAAkACQAJAAkBBhPsKKAIAIgVFDQBBgPsKKAIAAn8gASgCACIEIAVBAWtxIAVpIghBAU0NABogBCAEIAVJDQAaIAQgBXALIglBAnRqKAIAIgNFDQAgAygCACIHRQ0AIAVBAWshCiAIQQFLIQgDQAJAIAQgBygCBCIDRwRAAkAgCEUEQCADIApxIQMMAQsgAyAFSQ0AIAMgBXAhAwsgAyAJRg0BDAMLIAcoAgggBEYNAwsgBygCACIHDQALC0EYENUaIgNCADcCBCADQQA2AhQgA0IANwIMIANBxOYGNgIAIAIEQCACQYCAgIACTw0DIAMgAkEDdCIHENUaIgQ2AhAgAyAENgIMIAMgBCAHajYCFAsgBkEANgIQIAYgAzYCDCAGIANBDGo2AgggBkEYakGA+wogASABIAZBCGoQlxEgBi0AHEUNAyAGKAIYIQcgBigCDCIDRQ0BIAMgAygCBCIEQQFrNgIEIAQNASADIAMoAgAoAggRAQAgAxDQGgwBCwJAAn9BACAHKAIQIgNFDQAaIAMoAgRFDQEgAygCBEEBagtBAUGg5gYQ1QMACyAHKAIMIgMgAygCACIENgIEAkAgAygCCCAEa0EDdSACTw0AIAJBgICAgAJPDQQgAyACQQN0IgEQ1RoiBTYCBCADIAU2AgAgAyABIAVqNgIIIARFDQAgBBCiGwsgB0EANgIUCxDPCEEBdCECAkBBiPsKKAIAIgNFDQADQCADIAMoAhQiBEEBajYCFCACIARIBEAgAyAHRg0GIAMoAgAhBCAGQQhqQYD7CiADEJgRIAYoAgghAyAGQQA2AgggAwRAAkAgBi0AEEUNACADKAIQIgVFDQAgBSAFKAIEIgFBAWs2AgQgAQ0AIAUgBSgCACgCCBEBACAFENAaCyADEKIbCyAEIgMNAQwCCyADKAIAIgMNAAsLIAAgBygCDDYCACAAIAcoAhAiAzYCBCADBEAgAyADKAIEQQFqNgIECyAGQSBqJAAPC0GUqQYQvgIAC0EAQQFB8OMGENUDAAtBlKkGEL4CAAtBqX4gBkEIakGVzgYQiQNBqc4GQYzMBkHlARCYCgALsgUCBH8BfQJAIAEgASgCACgCEBEXACAEXQ0AA0ACQCADKAIIDQAgAygCDA0AIAkoAgAiCyADKAIAIgxBBXYiA0ECdGooAgAiDUEBIAx0IghxDQIgCiAFKAIAIg4gBkhyQQFxRQRAIAEgASgCACgCCBEAAA0DIAUoAgAhDiAJKAIAIgsgA0ECdGooAgAhDQsgCyADQQJ0aiAIIA1yNgIAIAUgDkEBajYCAEMAAAAAIQ8gACgCICAAKAIcIAxsQQJ0aiIKIAogACgCNEECdGoiA0EMayILSQRAA0AgDyAKKgIAIAIqAgCTIgQgBJQgCioCBCACKgIEkyIEIASUkiAKKgIIIAIqAgiTIgQgBJSSIAoqAgwgAioCDJMiBCAElJKSIQ8gAkEQaiECIApBEGoiCiALSQ0ACwsgAyAKSwRAA0AgDyAKKgIAIAIqAgCTIgQgBJSSIQ8gAkEEaiECIApBBGoiCiADSQ0ACwsgASAPIAwgASgCACgCDBEYAA8LIANBDEEIIAIgAygCAEECdGoqAgAgAyoCBJMiD0MAAAAAXSIKG2ooAgAhDCADQQhBDCAKG2ooAgAhAwJAIAEgASgCACgCEBEXACAPIA+UIASSIg8gB5ReRQRAIAEgASgCACgCCBEAAA0BCyAIKAIAIgooAgQiCyAKKAIIRg0AIAsgDzgCBCALIAw2AgAgCiALQQhqIg02AgQgDSAKKAIAIgxrIgpBCUgNACALKgIEIg8gDCAKQQN2QQJrQQJtIgpBA3RqKgIEXUEBcw0AIAsoAgAhDgNAAkAgCyAMIApBA3RqIg0pAgA3AgAgCkUNACANIQsgDCAKQQFrQQJtIgpBA3RqKgIEIA9eDQELCyANIA42AgAgDSAPOAIEC0EAIQogASABKAIAKAIQERcAIARdQQFzDQALCwtzAQN/QYj7CigCACIABEADQCAAIgIoAgAhAAJAIAIoAhAiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQohsgAA0ACwtBgPsKKAIAIQBBgPsKQQA2AgAgAARAIAAQohsLCyUBAX8gAEHE5gY2AgAgACgCDCIBBEAgACABNgIQIAEQohsLIAALKAEBfyAAQcTmBjYCACAAKAIMIgEEQCAAIAE2AhAgARCiGwsgABCiGwuDAgEEfyAAQeznBjYCAAJAIAAoAkQiAUUNACAAKAIQIgNBAU4EQANAIAEgAkECdGooAgAiAQRAIAAgARCbEiAAKAIQIQMLIAAoAkQhASACQQFqIgIgA0gNAAsgAUUNAQsgARCiGwsCQCAAKAJIIgFFDQAgACgCECIDQQFOBEBBACECA0AgASACQQJ0IgRqKAIAIgEEQCABEKIbIAAoAkggBGpBADYCACAAKAIQIQMLIAAoAkghASACQQFqIgIgA0gNAAsgAUUNAQsgARCiGwsgACgCVCIBBEADQCABKAIAIQIgARCiGyAAIAI2AlQgAiIBDQALCyAAQTBqIAAoAjQQ/w8gAAtnAQJ/IAEoAgAiAgRAIAIQohsLAkAgASgCFCIDRQ0AQQEhAiAAKAIMQQFIDQAgACADKAIAEJsSIAAoAgxBAkgNAANAIAAgASgCFCACQQJ0aigCABCbEiACQQFqIgIgACgCDEgNAAsLCwoAIAAQmhIQohsLkAQBBn8gACgCDEEBSgRAIAAoAhAhBAJAAkAgACgCSCICRQ0AIARBAUgNAQNAIAIgAUECdCIDaigCACICBEAgAhCiGyAAKAJIIANqQQA2AgAgACgCECEECyABQQFqIgEgBE4NASAAKAJIIQIMAAsACyAEQQFIDQBB7OQIKAIAIQYDQEF/IAAoAjwiAkECdCACQf////8DcSACRxsQ1RohASAFQQJ0IgMgACgCSGogATYCACACBEAgACgCSCADaigCACEEQQAhAQNAIAQgAUECdGogATYCACABQQFqIgEgAkcNAAsLAkACfyAAKAJQIgJBIE4EQCAAKAJYDAELIAAgACgCZCACajYCZEGAwAAQoRsiAUUEQEHkxQZBG0EBIAYQtBsaQQAhAQwCCyABIAAoAlQ2AgAgACABNgJUQfw/IQIgAUEEagshASAAIAJBIGs2AlAgACABQSBqNgJYIAAgACgCYEEgajYCYAsgACgCRCADaiABNgIAIAAoAkQgA2ooAgAiAUIANwIAIAFCADcCGCABQgA3AhAgAUIANwIIIAAgACgCRCADaigCACAAKAJIIANqKAIAIAAoAjwQnhIgACAAKAJEIANqKAIAIAAoAkggA2ooAgAgACgCPCAAKAIMQQAQnxIgBUEBaiIFIAAoAhBIDQALCw8LQTwQFSIBQcDFBhCZECABQZCoBkHjBxAWAAv1BQMKfwR9AXxBfyAAKAJAIgZBAnQiCSAGQf////8DcSAGRxsQ1RohBCAAIAAoAmggCWo2AmggBEEAIAkQrxshByADBEAgACgCKCEMIAAoAiwhDQNAIA0gDCACIApBAnRqKAIAbEECdGohBEEAIQUgBgRAA0AgByAFQQJ0IghqIgsgBCAIaioCACALKgIAkjgCACAFQQFqIgUgBkcNAAsLQwAAAAAhDiAEIAlqIgVBDGsiCCAESwRAA0AgDiAEKgIAIg4gDpQgBCoCBCIOIA6UkiAEKgIIIg4gDpSSIAQqAgwiDiAOlJKSIQ4gBEEQaiIEIAhJDQALCyAEIAVJBEADQCAOIAQqAgAiDiAOlJIhDiAEQQRqIgQgBUkNAAsLIBEgDpIhESAKQQFqIgogA0cNAAsLIAYEQCADuCESQQAhBANAIAcgBEECdGoiBSAFKgIAuyASo7Y4AgAgBEEBaiIEIAZHDQALCwJAIAcgBkECdGoiCEEMayILIAdLIgpFBEAgByEEDAELIAchBANAIA8gBCoCACIOIA6UIAQqAgQiDiAOlJIgBCoCCCIOIA6UkiAEKgIMIg4gDpSSkiEPIARBEGoiBCALSQ0ACwsgBCAISQRAA0AgDyAEKgIAIg4gDpSSIQ8gBEEEaiIEIAhJDQALCyADBEAgACgCKCEJIAAoAiwhDEEAIQYDQCAMIAkgAiAGQQJ0aigCAGxBAnRqIQVDAAAAACEOIAchBCAKBEADQCAOIAQqAgAgBSoCAJMiDiAOlCAEKgIEIAUqAgSTIg4gDpSSIAQqAgggBSoCCJMiDiAOlJIgBCoCDCAFKgIMkyIOIA6UkpIhDiAFQRBqIQUgBEEQaiIEIAtJDQALCyAEIAhJBEADQCAOIAQqAgAgBSoCAJMiDiAOlJIhDiAFQQRqIQUgBEEEaiIEIAhJDQALCyAOIBAgDiAQXhshECAGQQFqIgYgA0cNAAsLIAEgEDgCBCABIAc2AgAgASARIAOzlSAPkzgCDAvpCQIWfwJ9IwBBkBlrIgckACABIAU2AhwgASADNgIQAkAgAyAESARAIAEgAjYCGCACIAIgA0ECdGogB0HoEGoQ8hUgAUEANgIUDAELIAcgB0HwEGoiEDYC6BAgByAENgLsECAQIQwgBEGJAk8EQCAHQX8gBEECdCAEQf////8DcSAERxsQ1RoiDDYC6BALIAAoAgQhBiAAIAAoAggiCkEBdWoiCCAEIAIgAyAMIAdB5BBqIApBAXEEfyAIKAIAIAZqKAIABSAGCxENAAJAIAQgBygC5BBKBEAgASACNgIYIAIgAiADQQJ0aiAHQbAIahDyFSABQQA2AhQMAQsgB0EANgLgECAHQgA3A9gQAkAgBARAIARBgICAgARPDQEgByAEQQJ0IgYQ1RoiDTYC2BAgByAGIA1qIgg2AuAQIA1BACAGEK8bGiAHIAg2AtwQCyAHIAdBuAhqIhE2ArAIIAcgBDYCtAgCQAJAIARBiQJPBEAgByAEQQJ0ENUaIgs2ArAIDAELIBEhCyAERQ0BC0EAIQYDQCANIAZBAnQiCGpBADYCACAIIAtqQQA2AgAgBkEBaiIGIARHDQALCyAHIAdBEGoiEjYCCCAHIAM2AgwgEiEOIANBiQJPBEAgB0F/IANBAnQgA0H/////A3EgA0cbENUaIg42AggLIANBAU4EQCAAKAIsIhMgACgCKCIUIAwoAgBsQQJ0aiEYIAAoAkBBAnQhGQNAQwAAAAAhHSAYIQggEyAUIAIgFUECdCIJaigCAGxBAnRqIg8hBiAPIA8gGWoiCkEMayIWSSIaBEADQCAdIAYqAgAgCCoCAJMiHCAclCAGKgIEIAgqAgSTIhwgHJSSIAYqAgggCCoCCJMiHCAclJIgBioCDCAIKgIMkyIcIByUkpIhHSAIQRBqIQggBkEQaiIGIBZJDQALCyAGIApJBEADQCAdIAYqAgAgCCoCAJMiHCAclJIhHSAIQQRqIQggBkEEaiIGIApJDQALC0EAIRcgCSAOaiIbQQA2AgBBASEJIARBAUoEQANAIBMgDCAJQQJ0aigCACAUbEECdGohCEMAAAAAIRwgDyEGIBoEQANAIBwgBioCACAIKgIAkyIcIByUIAYqAgQgCCoCBJMiHCAclJIgBioCCCAIKgIIkyIcIByUkiAGKgIMIAgqAgyTIhwgHJSSkiEcIAhBEGohCCAGQRBqIgYgFkkNAAsLIAYgCkkEQANAIBwgBioCACAIKgIAkyIcIByUkiEcIAhBBGohCCAGQQRqIgYgCkkNAAsLIBwgHV1BAXNFBEAgGyAJNgIAIAkhFyAcIR0LIAlBAWoiCSAERw0ACwsgDSAXQQJ0IgZqIggqAgAgHV0EQCAIIB04AgALIAYgC2oiBiAGKAIAQQFqNgIAIBVBAWoiFSADRw0ACwsgACACIAMgBEF/IARBAnQgBEH/////A3EgBEcbENUaIgYgB0HYEGogDiALEKgSIAAgASACIAMgBCAFIAYgB0HYEGogDiALEKkSIAYQohsCQCAHKAIIIgYgEkYNACAGRQ0AIAYQohsLAkAgBygCsAgiBiARRg0AIAZFDQAgBhCiGwsgBygC2BAiBkUNASAHIAY2AtwQIAYQohsMAQsQ/BoACyAHKALoECIGIBBGDQAgBkUNACAGEKIbCyAHQZAZaiQAC54BAQJ/IABBDGpBBEEBIAEQtBsaIABBFGpBBEEBIAEQtBsaIABB6ABqQQRBASABELQbGiAAQRxqQQRBASABELQbGiAAQRBqQQRBASABELQbGiAAKAIQQQFOBEADQCACQQJ0IgMgACgCSGooAgBBBCAAKAI8IAEQtBsaIAAgASAAKAJEIANqKAIAIAIQoRIgAkEBaiICIAAoAhBIDQALCwu7AQECfyMAQRBrIgUkACACQSBBASABELQbGiACKAIAQQQgACgCQCABELQbGgJAIAIoAhQiBARAIAAoAgxBAUgNASAAIAEgBCgCACADEKESQQEhBCAAKAIMQQFMDQEDQCAAIAEgAigCFCAEQQJ0aigCACADEKESIARBAWoiBCAAKAIMSA0ACwwBCyAFIAIoAhggACgCSCADQQJ0aigCAGtBAnU2AgwgBUEMakEEQQEgARC0GxoLIAVBEGokAAvSCQEJfyMAQTBrIgIkAAJAIAAoAkgiA0UNACAAKAIQIgVBAU4EQANAIAMgBEECdCIGaigCACIDBEAgAxCiGyAAKAJIIAZqQQA2AgAgACgCECEFCyAAKAJIIQMgBEEBaiIEIAVIDQALIANFDQELIAMQohsLAkAgACgCRCIDRQ0AIAAoAhAiBUEBSA0AQQAhBANAIAMgBEECdGooAgAiAwRAIAAgAxCbEiAAKAIQIQULIARBAWoiBCAFTg0BIAAoAkQhAwwACwALAkACQAJAAkACQCAAQQxqIgdBBEEBIAEQqBVBAUYEQCAAQRRqIghBBEEBIAEQqBVBAUcNASAAQegAakEEQQEgARCoFUEBRw0CIABBHGoiCUEEQQEgARCoFUEBRw0DIABBEGoiCkEEQQEgARCoFUEBRw0EIABBfyAAKAIQIgRBAnQgBEH/////A3EgBEcbENUaNgJIIARBAU4EQEEAIQMDQEF/IAAoAjwiBEECdCAEQf////8DcSAERxsQ1RohBiADQQJ0IgUgACgCSGogBjYCACAAKAJIIAVqKAIAQQQgBCABEKgVIARHDQcgACABIAAoAkQgBWogAxCjEiADQQFqIgMgACgCEEgNAAsLIAIgACAAKAIAKAIoEQAANgIQIAJBADoACSACQQhqIgNB/KEGLQAAOgAAIAJBCToACyACQfShBikAADcDACACIAI2AiAgAkEoaiAAQTBqIgQgAiACQSBqEJAQIAIoAihBHGogAkEQahCOECACLAALQX9MBEAgAigCABCiGwsgAkEAOgAJIANBjKIGLQAAOgAAIAJBCToACyACQYSiBikAADcDACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIAcQhhAgAiwAC0F/TARAIAIoAgAQohsLIAJBBToACyACQQA6AAUgAkH+oQYoAAA2AgAgAkGCogYtAAA6AAQgAiACNgIgIAJBKGogBCACIAJBIGoQkBAgAigCKEEcaiAKEIYQIAIsAAtBf0wEQCACKAIAEKIbCyACQZaiBi8AADsBCCACQYAUOwEKIAJBjqIGKQAANwMAIAIgAjYCICACQShqIAQgAiACQSBqEJAQIAIoAihBHGogCBCGECACLAALQX9MBEAgAigCABCiGwsgAkEQENUaIgM2AgAgAkKMgICAgIKAgIB/NwIEIANBADoADCADQaGiBigAADYACCADQZmiBikAADcAACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIABBGGoQkRAgAiwAC0F/TARAIAIoAgAQohsLIAJBADoACCACQuPE/crmjdmy+AA3AwAgAkEIOgALIAIg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IGoQugYhCiAFIAQ2AiQgBSABNgIgIAVCgICAgPj/////ADcDECAFQTBqIAggBUEgaiAFQRBqELoGIQEgACgCLCELIAVCADcDKCAFIAk2AiQgBUGAgIQINgIgIAUgCjYCFCAFQYCAhBA2AhAgBUIANwMYIAUgATYCBCAFQYCAhBA2AgAgBUIANwMIIAsgBUEgaiAFQRBqIAUgDCAGIAAoAiQgCygCACgCEBFDABogARCxBhogChCxBhogCRCxBhogBCIBIAUoAtACSA0ACwsgAEE0aiAHIAggAhDoEyAIELEGGiAHELEGGiAFQcgCahCxBhogBUGAA2okAAuXAQECfyAAQfycBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgJGDQAaA0AgAkEwaxDYCiICIAFHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiAkYNABoDQCACQThrELEGIgIgAUcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogAAvTAQECfyAAQaybBzYCNCAAQfCfBzYCACAAKAJwIgEEQCAAIAE2AnQgARCiGwsgAEE4ahCxBhoCQCAAKAIwIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAigiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCICIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDrExogAAsKACAAEOwTEKIbCxYAIABBhKYHNgIAIABBDGoQ7BMaIAALGQAgAEGEpgc2AgAgAEEMahDsExogABCiGwsWACAAQfimBzYCACAAQQxqEJ0QGiAACxkAIABB+KYHNgIAIABBDGoQnRAaIAAQohsLFQAgAEHopwc2AgAgAEEMahD+DyAACxgAIABB6KcHNgIAIABBDGoQ/g8gABCiGwsKACAAQQxqEP4PC1sBA3wgASsDCCECIAErAxAhAyABKwMAIQQgAEIANwNAIAAgBDkDOCAAQgA3AyAgACADOQMYIAAgAjkDECAAQgA3AwAgACACmjkDMCAAIASaOQMoIAAgA5o5AwgLhQIBCHwgACABKwMAIgIgAqIgASsDCCID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IABBDGoPCyADIAJB9LEHENUDAAvhAQEFfyMAQRBrIgUkAEEwENUaIgNCADcCBCADQYSqBzYCACABKAIEIQQgASgCCCEGIANBEGoiBxDjCxogA0IANwIcIANBiKsHNgIQQQAhASADQQA2AiQgAyACrEL/////DyACGzcDKCADIAY2AhggAyAENgIUIAVBADYCCCAFQgA3AwBBACECAkAgBARAIARBgICAgARPDQEgBEECdCIEENUaIgJBACAEEK8bIARqIQELIAMgATYCJCADIAE2AiAgAyACNgIcIAAgAzYCBCAAIAc2AgAgBUEQaiQADwsQ/BoAC3wBBH8gAEGktAc2AgwgAEGYswc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIABBDGoQ4wsaIAALfwEEfyAAQaS0BzYCDCAAQZizBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCEAshAiAAIAE2AhQgAhCiGwsgAEEMahDjCxogABCiGwtwAQR/IABBpLQHNgIAIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC3MBBH8gAEGktAc2AgAgACgCBCIBBEACfyABIAEgACgCCCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAgQLIQIgACABNgIIIAIQohsLIAAQ4wsaIAAQohsLDQAgACgCBCABQQxsagsVACAAQai2BzYCACAAQQxqEP4PIAALGAAgAEGotgc2AgAgAEEMahD+DyAAEKIbCxUAIABBpLcHNgIAIABBDGoQ/g8gAAsYACAAQaS3BzYCACAAQQxqEP4PIAAQohsL1wEBBH8gAEGguQc2AgwgAEGcuAc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsLIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAQQxqEOMLGiAACwoAIAAQkRQQohsLywEBBH8gAEGguQc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC84BAQR/IABBoLkHNgIAIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAKAIEIgEEQAJ/IAEgASAAKAIIIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogABCiGwsNACAAKAIQIAFBDGxqC4kBAQR/IABB9LsHNgIMIABB8LoHNgIAIAAoAhwiAQRAAn8gASABIAAoAiAiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIcCyECIAAgATYCICACEKIbCyAAQRBqIAAoAhQQlxQgAEEMahDjCxogAAs2ACABBEAgACABKAIAEJcUIAAgASgCBBCXFCABKAIgIgAEQCABIAA2AiQgABCiGwsgARCiGwsLjAEBBH8gAEH0uwc2AgwgAEHwugc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsL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OQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAJBmgVGDQAgAkEqRw0BCwJ/An8CfyABKAIIIgIEQCAAKAIoIAIgAxECACAAKAIcIQELIAEoAkQiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAkAiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAjgiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAAoAiggASAAKAIkEQIAIABBADYCHAsLmQIBA39BfiECAkAgAEUNACAAKAIgRQ0AIAAoAiRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCBCIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsgAEECNgIsIABBADYCCCAAQgA3AhQgAUEANgIUIAEgASgCCDYCECABKAIYIgJBf0wEQCABQQAgAmsiAjYCGAsgAUE5QSpB8QAgAhsgAkECRhs2AgQgAAJ/IAJBAkYEQEEAQQBBABCpFAwBC0EAQQBBABCnFAs2AjBBACECIAFBADYCKCABEMEUCyACC7cBAQJ/IAAQrBRFBEAgACgCHCIAIAAoAixBAXQ2AjwgACgCRCIBIAAoAkxBAXRBAmsiAmpBADsBACABQQAgAhCvGxogAEEANgK0LSAAQoCAgIAgNwJ0IABCADcCaCAAQoCAgIAgNwJcIABBADYCSCAAIAAoAoQBQQxsIgFB5P4Hai8BADYCkAEgACABQeD+B2ovAQA2AowBIAAgAUHi/gdqLwEANgKAASAAIAFB5v4Hai8BADYCfAsLoAYBCn8gACgCLCIHQYYCayEJIAAoAnQhBSAHIQEDQCAAKAI8IAVrIAAoAmwiCGshBiABIAlqIAhNBEAgACgCOCIBIAEgB2ogByAGaxCuGxogACAAKAJwIAdrNgJwIAAgACgCbCAHayIINgJsIAAgACgCXCAHazYCXCAAKAJEIAAoAkwiA0EBdGohASAAKAIsIQIDQCABQQJrIgFBACABLwEAIgQgAmsiBSAEIAVJGzsBACADQQFrIgMNAAsgACgCQCACQQF0aiEBIAIhAwNAIAFBAmsiAUEAIAEvAQAiBCACayIFIAQgBUkbOwEAIANBAWsiAw0ACyAGIAdqIQYLAkAgACgCACIBKAIEIgNFDQAgACgCdCEEIAYgAyADIAZLGyICBEAgACgCOCEFIAEgAyACazYCBCAFIAhqIARqIAEoAgAgAhCuGyEDAkACQAJAIAEoAhwoAhhBAWsOAgABAgsgASABKAIwIAMgAhCnFDYCMAwBCyABIAEoAjAgAyACEKkUNgIwCyABIAEoAgAgAmo2AgAgASABKAIIIAJqNgIIIAAoAnQhBAsgACACIARqIgU2AnQCQCAAKAK0LSICIAVqQQNJDQAgACAAKAI4IgYgACgCbCACayIBaiIDLQAAIgQ2AkggACAAKAJUIgogAy0AASAEIAAoAlgiCHRzcSIDNgJIA0AgAkUNASAAIAEgBmotAAIgAyAIdHMgCnEiAzYCSCAAKAJAIAAoAjQgAXFBAXRqIAAoAkQgA0EBdGoiBC8BADsBACAEIAE7AQAgACACQQFrIgI2ArQtIAFBAWohASACIAVqQQJLDQALCyAFQYUCSw0AIAAoAgAoAgRFDQAgACgCLCEBDAELCwJAIAAoAjwiAyAAKALALSIBTQ0AIAAoAnQgACgCbGoiAiABSwRAIAAoAjggAmpBACADIAJrIgFBggIgAUGCAkkbIgEQrxsaIAAgASACajYCwC0PCyACQYICaiICIAFNDQAgACgCOCABakEAIAMgAWsiAyACIAFrIgEgASADSxsiARCvGxogACAAKALALSABajYCwC0LC4M2AQp/QX4hAwJAIABFDQAgACgCIEUNACAAKAIkRQ0AIAAoAhwiAkUNACACKAIAIABHDQACQAJAIAIoAgQiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAFBBUsNAAJAAkAgACgCDEUNACAAKAIEIgMEQCAAKAIARQ0BCyABQQRGDQEgBEGaBUcNAQsgAEGgrggoAgA2AhhBfg8LIAAoAhBFBEAgAEGsrggoAgA2AhhBew8LIAIoAighBiACIAE2AigCQCACKAIUBEAgAhDEFAJAIAAoAhAiBCACKAIUIgUgBCAFSRsiA0UNACAAKAIM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IAdFDQQgAiAGLQAAOgADIAdBAUYEQCACQQRqIQMMBQsgAiAELQAEOgAEIAJBBWohAwwECyADIAItAAE6AAEgA0ECaiEDDAMLIAAgBzYCGEHR/gALNgIEDAILIAMgBzoAACADQQFqIQMLIAMgDU8NACAIIA5JDQELCyAAIAM2AgwgACAIIAVBA3ZrIgI2AgAgACANIANrQYECajYCECAAIA4gAmtBBWo2AgQgCSAFQQdxIgU2AkAgCSABQX8gBXRBf3NxNgI8C2IAIABBADYCvC0gAEEAOwG4LSAAQbgWakGYngg2AgAgACAAQfwUajYCsBYgAEGsFmpBhJ4INgIAIAAgAEGIE2o2AqQWIABBoBZqQfCdCDYCACAAIABBlAFqNgKYFiAAEMIUC9oEAQF/A0AgACABQQJ0akEAOwGUASABQQFqIgFBngJHDQALIABBADsB/BQgAEEAOwGIEyAAQcQVakEAOwEAIABBwBVqQQA7AQAgAEG8FWpBADsBACAAQbgVakEAOwEAIABBtBVqQQA7AQAgAEGwFWpBADsBACAAQawVakEAOwEAIABBqBVqQQA7AQAgAEGkFWpBADsBACAAQaAVakEAOwEAIABBnBVqQQA7AQAgAEGYFWpBADsBACAAQZQVakEAOwEAIABBkBVqQQA7AQAgAEGMFWpBADsBACAAQYgVakEAOwEAIABBhBVqQQA7AQAgAEGAFWpBADsBACAAQfwTakEAOwEAIABB+BNqQQA7AQAgAEH0E2pBADsBACAAQfATakEAOwEAIABB7BNqQQA7AQAgAEHoE2pBADsBACAAQeQTakEAOwEAIABB4BNqQQA7AQAgAEHcE2pBADsBACAAQdgTakEAOwEAIABB1BNqQQA7AQAgAEHQE2pBADsBACAAQcwTakEAOwEAIABByBNqQQA7AQAgAEHEE2pBADsBACAAQcATakEAOwEAIABBvBNqQQA7AQAgAEG4E2pBADsBACAAQbQTakEAOwEAIABBsBNqQQA7AQAgAEGsE2pBADsBACAAQagTakEAOwEAIABBpBNqQQA7AQAgAEGgE2pBADsBACAAQZwTakEAOwEAIABBmBNqQQA7AQAgAEGUE2pBADsBACAAQZATakEAOwEAIABBjBNqQQA7AQAgAEIANwKsLSAAQZQJakEBOwEAIABBADYCqC0gAEEANgKg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FEUEQEHE/QpBHDYCAAwBC0GYCRChGyICDQELQQAMAQsgAkEAQZABEK8bGiABQSsQ/BRFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAECQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAkGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQJQ0AIAJBCjoASwsgAkH6ETYCKCACQfsRNgIkIAJB/BE2AiAgAkH9ETYCDEHM/QooAgBFBEAgAkF/NgJMCyACEMMVCyECIANBIGokACACC3EBA38jAEEQayICJAACQAJAQbTfCCABLAAAEPwURQRAQcT9CkEcNgIADAELIAEQxxUhBCACQbYDNgIAIAAgBEGAgAJyIAIQIBDrFCIAQQBIDQEgACABEKIVIgMNASAAECMaC0EAIQMLIAJBEGokACADC7sBAQJ/IwBBoAFrIgQkACAEQQhqQbjfCEGQARCuGxoCQAJAIAFBAWtB/////wdPBEAgAQ0BQQEhASAEQZ8BaiEACyAEIAA2AjQgBCAANgIcIARBfiAAayIFIAEgASAFSxsiATYCOCAEIAAgAWoiADYCJCAEIAA2AhggBEEIaiACIAMQvBUhACABRQ0BIAQoAhwiASABIAQoAhhGa0EAOgAADAELQcT9CkE9NgIAQX8hAAsgBEGgAWokACAACzQBAX8gACgCFCIDIAEgAiAAKAIQIANrIgMgAiADSRsiAxCuGxogACAAKAIUIANqNgIUIAILiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC/FSAEBEAgAygCHCIEIAQgAygCGEZrQQA6AAALIANBoAFqJAALiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhDAFSAE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A6dBAXENACAGDQBBxP0KQcQANgIAIANCAX0hAwwDCyADIAlaDQBBxP0KQcQANgIADAILIAkgBqwiA4UgA30hAwwBC0IAIQMgAEIAEMgVCyAHQRBqJAAgAwsNACAAIAEgAkJ/EMwVC3wBAX8jAEGQAWsiBCQAIAQgADYCLCAEIAA2AgQgBEEANgIAIARBfzYCTCAEQX8gAEH/////B2ogAEEASBs2AgggBEIAEMgVIAQgAkEBIAMQyhUhAyABBEAgASAAIAQoAgQgBCgCeGogBCgCCGtqNgIACyAEQZABaiQAIAMLEgAgACABIAJCgICAgAgQzBWnCzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMIC8QCAQF/IwBB0ABrIgQkAAJAIANBgIABTgRAIARBIGogASACQgBCgICAgICAgP//ABDqFSAEKQMoIQIgBCkDICEBIANB//8BSARAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABDqFSADQf3/AiADQf3/AkgbQf7/AWshAyAEKQMYIQIgBCkDECEBDAELIANBgYB/Sg0AIARBQGsgASACQgBCgICAgICAwAAQ6hUgBCkDSCECIAQpA0AhASADQYOAfkoEQCADQf7/AGohAwwBCyAEQTBqIAEgAkIAQoCAgICAgMAAEOoVIANBhoB9IANBhoB9ShtB/P8BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhDqFSAAIAQpAwg3AwggACAEKQMANwMAIARB0ABqJAALlAgCBn8CfiMAQTBrIgYkAAJAIAJBAk0EQCABQQRqIQUgAkECdCICQcznCGooAgAhCCACQcDnCGooAgAhCQNAAn8gASgCBCICIAEoAmhJBEAgBSACQQFqNgIAIAItAAAMAQsgARDJFQsiAhDnFA0AC0EBIQcCQAJAIAJBK2sOAwABAAELQX9BASACQS1GGyEHIAEoAgQiAiABKAJoSQRAIAUgAkEBajYCACACLQAAIQIMAQsgARDJFSECCwJAAkADQCAEQfrmCGosAAAgAkEgckYEQAJAIARBBksNACABKAIEIgIgASgCaEkEQCAFIAJBAWo2AgAgAi0AACECDAELIAEQyRUhAgsgBEEBaiIEQQhH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DQAgAC0AAEUNACAAQT0Q/BQNAEGshgsoAgAoAgAiAkUNAAJAA0AgACACIAQQgBUhA0GshgsoAgAhAiADRQRAIAIgAUECdGooAgAgBGoiAy0AAEE9Rg0CCyACIAFBAWoiAUECdGooAgAiAg0AC0EADwsgA0EBaiEBCyABCxYAIABFBEBBAA8LQcT9CiAANgIAQX8LAwABC9kBAQN/IABFBEBBHA8LQbCGCygCAEUEQEGwhgtBBDYCAEG0hgtBEBChGzYCAAtBuIYLKAIAIgMEQEG0hgsoAgAhAgJAA0AgAiABQQN0aigCBEUNASABQQFqIgEgA0cNAAsgAyEBCyADQQJ0IQILQbCGCygCACABRgRAQbCGCyABQQF0NgIAQbSGC0G0hgsoAgAgAhCjGzYCAEG4hgsoAgAhAwsgAUEBaiECIAEgA0YEQEG4hgsgAjYCAAtBtIYLKAIAIAFBA3RqQoCAgIAQNwIAIAAgAjYCAEEAC0UBAX9BHCEBAkAgAEEBayIAQbiGCygCAE8NAEG0hgsoAgAgAEEDdGoiACgCBEUNAEEAIQEgAEEANgIAIABBADYCBAsgAQs2AAJ/QQAgAEEBayIAQbiGCygCAE8NABpBAEG0hgsoAgAgAEEDdGoiACgCBEUNABogACgCAAsLPgEBf0EcIQICQCAAQQFrIgBBuIYLKAIATw0AQbSGCygCACAAQQN0aiIAKAIERQ0AIAAgATYCAEEAIQILIAIL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvEAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQBBACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEBBACABIAJTIAEgAlEbDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwtpAQN+IAAgAkIgiCIDIAFCIIgiBH4gAkL/////D4MiAiABQv////8PgyIBfiIFQiCIIAIgBH58IgJCIIh8IAEgA34gAkL/////D4N8IgJCIIh8NwMIIAAgBUL/////D4MgAkIghoQ3AwALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgL4QkCBH8EfiMAQfAAayIFJAAgBEL///////////8AgyEKAkACQCABQgF9IglCf1EgAkL///////////8AgyILIAEgCVatfEIBfSIJQv///////7///wBWIAlC////////v///AFEbRQRAIANCAX0iCUJ/UiAKIAMgCVatfEIBfSIJQv///////7///wBUIAlC////////v///AFEbDQELIAFQIAtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAtCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIGGyEEQgAgASAGGyEDDAILIAMgCkKAgICAgIDA//8AhYRQDQEgASALhFAEQCADIAqEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAqEUEUNACABIQMgAiEEDAELIAMgASABIANUIAogC1YgCiALURsiBxshCiAEIAIgBxsiC0L///////8/gyEJIAIgBCAHGyICQjCIp0H//wFxIQggC0IwiKdB//8BcSIGRQRAIAVB4ABqIAogCSAKIAkgCVAiBht5IAZBBnStfKciBkEPaxDkFSAFKQNoIQkgBSkDYCEKQRAgBmshBgsgASADIAcbIQMgAkL///////8/gyEEIAhFBEAgBUHQAGogAyAEIAMgBCAEUCIHG3kgB0EGdK18pyIHQQ9rEOQVQRAgB2shCCAFKQNYIQQgBSkDUCEDCyAEQgOGIANCPYiEQoCAgICAgIAEhCEEIAlCA4YgCkI9iIQhASACIAuFIQkCfiADQgOGIgMgBiAIayIHRQ0AGiAHQf8ASwRAQgAhBEIBDAELIAVBQGsgAyAEQYABIAdrEOQVIAVBMGogAyAEIAcQ5xUgBSkDOCEEIAUpAzAgBSkDQCAFKQNIhEIAUq2ECyEDIAFCgICAgICAgASEIQwgCkIDhiECAkAgCUJ/VwRAIAIgA30iASAMIAR9IAIgA1StfSIEhFAEQEIAIQNCACEEDAMLIARC/////////wNWDQEgBUEgaiABIAQgASAEIARQIgcbeSAHQQZ0rXynQQxrIgcQ5BUgBiAHayEGIAUpAyghBCAFKQMgIQEMAQsgAiADfCIBIANUrSAEIAx8fCIEQoCAgICAgIAIg1ANACABQgGDIARCP4YgAUIBiISEIQEgBkEBaiEGIARCAYghBAsgC0KAgICAgICAgIB/gyECIAZB//8BTgRAIAJCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBkEASgRAIAYhBwwBCyAFQRBqIAEgBCAGQf8AahDkFSAFIAEgBEEBIAZrEOcVIAUpAwAgBSkDECAFKQMYhEIAUq2EIQEgBSkDCCEECyAEQj2GIAFCA4iEIgMgAyABp0EHcSIGQQRLrXwiAVatIARCA4hC////////P4MgAoQgB61CMIaEfCEEAkACQCAGQQRHBEAgASEDDAELIAQgAUIBgyICIAF8IgMgAlStfCEEDAELIAZFDQELCyAAIAM3AwAgACAENwMIIAVB8ABqJAALxwECA38CfiMAQRBrIgMkAAJ+IAG8IgRB/////wdxIgJBgICABGtB////9wdNBEAgAq1CGYZCgICAgICAgMA/fAwBCyACQYCAgPwHTwRAIAStQhmGQoCAgICAgMD//wCEDAELIAJFBEBCAAwBCyADIAKtQgAgAmciAkHRAGoQ5BUgAykDACEFIAMpAwhCgICAgICAwACFQYn/ACACa61CMIaECyEGIAAgBTcDACAAIAYgBEGAgICAeHGtQiCGhDcDCCADQRBqJAALUAEBfgJAIANBwABxBEAgAiADQUBqrYghAUIAIQIMAQsgA0UNACACQcAAIANrrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLtgMCA38BfiMAQSBrIgMkAAJAIAFC////////////AIMiBUKAgICAgIDAwD99IAVCgICAgICAwL/AAH1UBEAgAUIZiKchBCAAUCABQv///w+DIgVCgICACFQgBUKAgIAIURtFBEAgBEGBgICABGohAgwCCyAEQYCAgIAEaiECIAAgBUKAgIAIhYRCAFINASACIARBAXFqIQIMAQsgAFAgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCABQhmIp0H///8BcUGAgID+B3IhAgwBC0GAgID8ByECIAVC////////v7/AAFYNAEEAIQIgBUIwiKciBEGR/gBJDQAgA0EQaiAAIAFC////////P4NCgICAgICAwACEIgUgBEGB/gBrEOQVIAMgACAFQYH/ACAEaxDnFSADKQMIIgVCGYinIQIgAykDACADKQMQIAMpAxiEQgBSrYQiAFAgBUL///8PgyIFQoCAgAhUIAVCgICACFEbRQRAIAJBAWohAgwBCyAAIAVCgICACIWEQgBSDQAgAkEBcSACaiECCyADQSBqJAAgAiABQiCIp0GAgICAeHFyvgv6AQICfwN+IwBBEGsiAiQAAn4gAb0iBUL///////////8AgyIEQoCAgICAgIAIfUL/////////7/8AWARAIARCPIYhBiAEQgSIQoCAgICAgICAPHwMAQsgBEKAgICAgICA+P8AWgRAIAVCPIYhBiAFQgSIQoCAgICAgMD//wCEDAELIARQBEBCAAwBCyACIARCACAFp2dBIGogBEIgiKdnIARCgICAgBBUGyIDQTFqEOQVIAIpAwAhBiACKQMIQoCAgICAgMAAhUGM+AAgA2utQjCGhAshBCAAIAY3AwAgACAEIAVCgICAgICAgICAf4OENwMIIAJBEGokAAueCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ4gBEIvhiADQhGIhCELIARC////////P4MiDEIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghESAMQhGIIRIgBEIwiKdB//8BcSEGAkACfyACQjCIp0H//wFxIghBAWtB/f8BTQRAQQAgBkEBa0H+/wFJDQEaCyABUCACQv///////////wCDIg9CgICAgICAwP//AFQgD0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgD0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA+EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA+EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAPQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIHG3kgB0EGdK18pyIHQQ9rEOQVIAUpA1giDUIghiAFKQNQIgFCIIiEIQ4gDUIgiCERQRAgB2shBwsgByACQv///////z9WDQAaIAVBQGsgAyAMIAMgDCAMUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCELIAJCEYghEiAHIAlrQRBqCyEHIAtC/////w+DIgIgAUL/////D4MiBH4iEyADQg+GQoCA/v8PgyIBIA5C/////w+DIgN+fCIOQiCGIgwgASAEfnwiCyAMVK0gAiADfiIVIAEgDUL/////D4MiDH58Ig8gEEL/////D4MiDSAEfnwiECAOIBNUrUIghiAOQiCIhHwiEyACIAx+IhYgASARQoCABIQiDn58IhEgAyANfnwiFCASQv////8Hg0KAgICACIQiASAEfnwiEkIghnwiF3whBCAGIAhqIAdqQf//AGshBgJAIAwgDX4iGCACIA5+fCICIBhUrSACIAEgA358IgMgAlStfCADIA8gFVStIA8gEFatfHwiAiADVK18IAEgDn58IAEgDH4iAyANIA5+fCIBIANUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASASIBRUrSARIBZUrSARIBRWrXx8QiCGIBJCIIiEfCIDIAFUrXwgAyAQIBNWrSATIBdWrXx8IgIgA1StfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAtCAYYhCyADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIIQYABTwRAQgAhAQwDCyAFQTBqIAsgBCAGQf8AaiIGEOQVIAVBIGogAiABIAYQ5BUgBUEQaiALIAQgCBDnFSAFIAIgASAIEOcVIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAtQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAsgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAtBAQF/IwBBEGsiBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRDlFSAAIAUpAwA3AwAgACAFKQMINwMIIAVBEGokAAt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICaiACcyICrUIAIAJnIgJB0QBqEOQVIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC4gRAgV/DH4jAEHAAWsiBSQAIARC////////P4MhEiACQv///////z+DIRAgAiAEhUKAgICAgICAgIB/gyERIARCMIinQf//AXEhBwJAAkACQCACQjCIp0H//wFxIghBAWtB/f8BTQRAIAdBAWtB/v8BSQ0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCERDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIREgAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACERDAMLIBFCgICAgICAwP//AIQhEUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASALhFANAiACIAOEUARAIBFCgICAgICAwP//AIQhEUIAIQEMAgsgC0L///////8/WARAIAVBsAFqIAEgECABIBAgEFAiBht5IAZBBnStfKciBkEPaxDkFUEQIAZrIQYgBSkDuAEhECAFKQOwASEBCyACQv///////z9WDQAgBUGgAWogAyASIAMgEiASUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAYgCWpBEGshBiAFKQOoASESIAUpA6ABIQMLIAVBkAFqIBJCgICAgICAwACEIhRCD4YgA0IxiIQiAkKEyfnOv+a8gvUAIAJ9IgQQ4xUgBUGAAWpCACAFKQOYAX0gBBDjFSAFQfAAaiAFKQOIAUIBhiAFKQOAAUI/iIQiBCACEOMVIAVB4ABqIARCACAFKQN4fRDjFSAFQdAAaiAFKQNoQgGGIAUpA2BCP4iEIgQgAhDjFSAFQUBrIARCACAFKQNYfRDjFSAFQTBqIAUpA0hCAYYgBSkDQEI/iIQiBCACEOMVIAVBIGogBEIAIAUpAzh9EOMVIAVBEGogBSkDKEIBhiAFKQMgQj+IhCIEIAIQ4xUgBSAEQgAgBSkDGH0Q4xUgBiAIIAdraiEHAn5CACAFKQMIQgGGIAUpAwBCP4iEQgF9IgtC/////w+DIgQgAkIgiCIKfiIMIAtCIIgiCyACQv////8PgyIPfnwiAkIgiCACIAxUrUIghoQgCiALfnwgAkIghiIKIAQgD358IgIgClStfCACIAQgA0IRiEL/////D4MiDH4iDyALIANCD4ZCgID+/w+DIg1+fCIKQiCGIg4gBCANfnwgDlStIAsgDH4gCiAPVK1CIIYgCkIgiIR8fHwiCiACVK18IApCAFKtfH0iAkL/////D4MiDCAEfiIPIAsgDH4iDSAEIAJCIIgiDn58IgJCIIZ8IgwgD1StIAsgDn4gAiANVK1CIIYgAkIgiIR8fCAMQgAgCn0iAkIgiCIKIAR+Ig8gAkL/////D4MiDSALfnwiAkIghiIOIAQgDX58IA5UrSAKIAt+IAIgD1StQiCGIAJCIIiEfHx8IgIgDFStfCACQgJ9Ig8gAlStfEIBfSIKQv////8PgyICIBBCAoYgAUI+iIRC/////w+DIgR+IgwgAUIeiEL/////D4MiCyAKQiCIIgp+fCINIAxUrSANIA9CIIgiDCAQQh6IQv//7/8Pg0KAgBCEIhB+fCIOIA1UrXwgCiAQfnwgAiAQfiITIAQgCn58Ig0gE1StQiCGIA1CIIiEfCAOIA1CIIZ8Ig0gDlStfCANIAsgDH4iEyAPQv////8PgyIPIAR+fCIOIBNUrSAOIAIgAUIChkL8////D4MiE358IhUgDlStfHwiDiANVK18IA4gCiATfiINIA8gEH58IgogBCAMfnwiBCACIAt+fCICQiCIIAIgBFStIAogDVStIAQgClStfHxCIIaEfCIKIA5UrXwgCiAVIAwgE34iBCALIA9+fCILQiCIIAQgC1atQiCGhHwiBCAVVK0gBCACQiCGfCAEVK18fCIEIApUrXwiAkL/////////AFgEQCABQjGGIARC/////w+DIgEgA0L/////D4MiC34iCkIAUq19QgAgCn0iDyAEQiCIIgogC34iDSABIANCIIgiDH58IhBCIIYiDlStfSACQv////8PgyALfiABIBJC/////w+DfnwgCiAMfnwgDSAQVq1CIIYgEEIgiIR8IAQgFEIgiH4gAyACQiCIfnwgAiAMfnwgCiASfnxCIIZ8fSELIAdBAWshByAPIA59DAELIARCIYghDCABQjCGIAJCP4YgBEIBiIQiBEL/////D4MiASADQv////8PgyILfiIKQgBSrX1CACAKfSIQIAEgA0IgiCIKfiIPIAwgAkIfhoQiDUL/////D4MiDiALfnwiDEIghiITVK19IAQgFEIgiH4gAyACQiGIfnwgAkIBiCICIAp+fCANIBJ+fEIghiAKIA5+IAJC/////w+DIAt+fCABIBJC/////w+DfnwgDCAPVK1CIIYgDEIgiIR8fH0hCyAQIBN9CyEBIAdBgIABTgRAIBFCgICAgICAwP//AIQhEUIAIQEMAQsgB0H//wBqIQggB0GBgH9MBEACQCAIDQAgBCABQgGGIANWIAtCAYYgAUI/iIQiASAUViABIBRRG618IgEgBFStIAJC////////P4N8IgNCgICAgICAwACDUA0AIAMgEYQhEQwCC0IAIQEMAQsgBCABQgGGIANaIAtCAYYgAUI/iIQiASAUWiABIBRRG618IgEgBFStIAJC////////P4N8IAitQjCGfCARhCERCyAAIAE3AwAgACARNwMIIAVBwAFqJAAPCyAAQgA3AwAgAEKAgICAgIDg//8AIBEgAiADhFAbNwMIIAVBwAFqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQUMAgsgBEKAgICAgICAgEB9IQUgAEKAgICAgICAgAiFQgBSDQEgBSAEQgGDfCEFDAELIABQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBQwBC0KAgICAgICA+P8AIQUgBEL///////+//8MAVg0AQgAhBSAEQjCIpyIDQZH3AEkNACACQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBCADQYH3AGsQ5BUgAiAAIARBgfgAIANrEOcVIAIpAwhCBIYgAikDACIEQjyIhCEFIAIpAxAgAikDGIRCAFKtIARC//////////8Pg4QiBEKBgICAgICAgAhaBEAgBUIBfCEFDAELIARCgICAgICAgIAIhUIAUg0AIAVCAYMgBXwhBQsgAkEgaiQAIAUgAUKAgICAgICAgIB/g4S/C2QCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahDkFSACKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALNQEBfyMAQRBrIgIkACACIAAtAAA6AA8gACABLQAAOgAAIAEgAkEPai0AADoAACACQRBqJAALNQEBfyMAQRBrIgIkACACIAAoAgA2AgwgACABKAIANgIAIAEgAkEMaigCADYCACACQRBqJAALnwUBBn8DQCABQQRrIQcDQCAAIQMDQAJAAkACQAJAAkACQAJAAkAgASADayIAQQJ1IgUOBgcHAAQBAgMLIAFBBGsiACADEPMVRQ0GIAMgABDxFQ8LIAMgA0EEaiADQQhqIAFBBGsQ9BUaDwsgAyADQQRqIANBCGogA0EMaiABQQRrEPUVGg8LIABB+wBMBEAgAyABEPYVDwsgAyAFQQJtQQJ0aiEEAn8gAEGdH04EQCADIAMgBUEEbUECdCIAaiAEIAAgBGogBxD1FQwBCyAD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fyABQQJxDQEgAEECOgAAQQEFQQALDwsACx4BAX8jAEEQayIBJAAgASAAEP4aEIIbIAFBEGokAAszAQF/IwBBEGsiASQAIAFBCGogACgCBBCTGCgCAEEBOgAAIAAoAghBAToAACABQRBqJAALAwAACw0AQYjVCigCABEOAAALBgBB4c0JCy0BAX8gAEGkzgk2AgAgAEEEaigCAEEMayIBQQhqELwZQX9MBEAgARCiGwsgAAsKACAAEIYbEKIbCw0AIAAQhhsaIAAQohsLCwAgACABQQAQihsLLQAgAkUEQCAAKAIEIAEoAgRGDwsgACABRgRAQQEPCyAAEM0UIAEQzRQQ/xRFC6cBAQF/IwBBQGoiAyQAAn9BASAAIAFBABCKGw0AGkEAIAFFDQAaQQAgAUG8zwlB7M8JEIwbIgFFDQAaIANBCGpBBHJBAEE0EK8bGiADQQE2AjggA0F/NgIUIAMgADYCECADIAE2AgggASADQQhqIAIoAgBBASABKAIAKAIcEQYAIAMoAiAiAEEBRgRAIAIgAygCGDYCAAsgAEEBRgshACADQUBrJAAgAAujAgEDfyMAQUBqIgMkACAAKAIAIgVBBGsoAgAhBCAFQQhrKAIAIQUgA0EANgIUIAMgATYCECADIAA2AgwgAyACNgIIQQAhASADQRhqQQBBJxCvGxogACAFaiEAAkAgBCACQQAQihsEQCADQQE2AjggBCADQQhqIAAgAEEBQQAgBCgCACgCFBENACAAQQAgAygCIEEBRhshAQwBCyAEIANBCGogAEEBQQAgBCgCACgCGBEIAAJAAkAgAygCLA4CAAECCyADKAIcQQAgAygCKEEBRhtBACADKAIkQQFGG0EAIAMoAjBBAUYbIQEMAQsgAygCIEEBRwRAIAMoAjANASADKAIkQQFHDQEgAygCKEEBRw0BCyADKAIYIQELIANBQGskACABC10BAX8gACgCECIDRQRAIABBATYCJCAAIAI2AhggACABNgIQDwsCQCABIANGBEAgACgCGEECRw0BIAAgAjYCGA8LIABBAToANiAAQQI2AhggACAAKAIkQQFqNgIkCwsaACAAIAEoAghBABCKGwRAIAEgAiADEI0bCwszACAAIAEoAghBABCKGwRAIAEgAiADEI0bDwsgACgCCCIAIAEgAiADIAAoAgAoAhwRBgALUgEB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DQA/AEEQdCAASQRAIAAQKkUNAQtBjNUKIAA2AgAgAQ8LQcT9CkEwNgIAQX8LRgAgAL1C////////////AINCgICAgICAgPj/AFgEQCAAIAAgAaUgAb1C////////////AINCgICAgICAgPj/AFYbDwsgAQucBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEOEVRQ0AIAMgBBCtGyEHIAJCMIinIghB//8BcSIGQf//AUYNACAHDQELIAVBEGogASACIAMgBBDqFSAFIAUpAxAiBCAFKQMYIgMgBCADEO0VIAUpAwghAiAFKQMAIQQMAQsgASACQv///////z+DIAatQjCGhCIKIAMgBEL///////8/gyAEQjCIp0H//wFxIgetQjCGhCIJEOEVQQBMBEAgASAKIAMgCRDhFQRAIAEhBAwCCyAFQfAAaiABIAJCAEIAEOoVIAUpA3ghAiAFKQNwIQQMAQsgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQ6hUgBSkDaCIKQjCIp0H4AGshBiAFKQNgCyEEIAdFBEAgBUHQAGogAyAJQgBCgICAgICAwLvAABDqFSAFKQNYIglCMIinQfgAayEHIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQhCyAKQv///////z+DQoCAgICAgMAAhCEKIAYgB0oEQANAAn4gCiALfSADIARWrX0iCUIAWQRAIAkgBCADfSIEhFAEQCAFQSBqIAEgAkIAQgAQ6hUgBSkDKCECIAUpAyAhBAwFCyAJQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiALfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQ6hUgBSkDOCECIAUpAzAhBAwBCyAJQv///////z9YBEADQCAEQj+IIQMgBkEBayEGIARCAYYhBCADIAlCAYaEIglCgICAgICAwABUDQALCyAIQYCAAnEhByAGQQBMBEAgBUFAayAEIAlC////////P4MgBkH4AGogB3KtQjCGhEIAQoCAgICAgMDDPxDqFSAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu4AgMCfwF+AnwCQAJ8IAC9IgNCIIinQf////8HcSIBQYDgv4QETwRAAkAgA0IAUw0AIAFBgIDAhARJDQAgAEQAAAAAAADgf6IPCyABQYCAwP8HTwRARAAAAAAAAPC/IACjDwsgAEQAAAAAAMyQwGVBAXMNAkQAAAAAAAAAACADQn9XDQEaDAILIAFB//+/5ANLDQEgAEQAAAAAAADwP6ALDwsgAEQAAAAAAAC4QqAiBL2nQYABaiIBQQR0QfAfcSICQZDWCWorAwAiBSAFIAAgBEQAAAAAAAC4wqChIAJBCHJBkNYJaisDAKEiAKIgACAAIAAgAER0XIcDgNhVP6JEAAT3iKuygz+gokSmoATXCGusP6CiRHXFgv+9v84/oKJE7zn6/kIu5j+goqAgAUGAfnFBgAJtEKwbC6gBAAJAIAFBgAhOBEAgAEQAAAAAAADgf6IhACABQf8PSARAIAFB/wdrIQEMAgsgAEQAAAAAAADgf6IhACABQf0XIAFB/RdIG0H+D2shAQwBCyABQYF4Sg0AIABEAAAAAAAAEACiIQAgAUGDcEoEQCABQf4HaiEBDAELIABEAAAAAAAAEACiIQAgAUGGaCABQYZoShtB/A9qIQELIAAgAUH/B2qtQjSGv6ILRAIBfwF+IAFC////////P4MhAwJ/IAFCMIinQf//AXEiAkH//wFHBEBBBCACDQEaQQJBAyAAIAOEUBsPCyAAIAOEUAsLggQBA38gAkGABE8EQCAAIAEgAhArGiAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIAJBAUgEQCAAIQIMAQsgAEEDcUUEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA08NASACQQNxDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC+kCAQF/AkAgACABRg0AIAEgAGsgAmtBACACQQF0a00EQCAAIAEgAhCuGxoPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIAAgAmpBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiED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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgMsAAAiBEHMAGsOKQATExMTExMTARMTExMTExMTExMTEwMTBAUGAgcTCBMTCQoLDA0ODxAREgsgABD3GyECDBULIAAQ6BshAgwUCwJAIABBARDDGyICQfAARwRAIAJB/wFxQcwARw0BIABBAhDDG0Ewa0EJSw0BCyAAEK8cIQIMFAsgABCwHCECDBMLAkACQAJAAkACQAJAAkAgAywAASIEQeEAaw4EARkZAgALIARBzgBGDQMgBEHTAEYNBCAEQe4ARg0CIARB9ABGDQUgBEH6AEcNGCAAIANBAmo2AgAgASAAEPYbIgI2AvgEIAJFDRcgAEGZ/gkgAUH4BGoQlxwhAgwYCyAAIANBAmo2AgAgASABQagFakGP/gkQwBspAgA3AxAgACABQRBqELEcIQIMFwsgACADQQJqNgIAIAEgAUGgBWpBkv4JEMAbKQIANwMYIAAgAUEYahCyHCECDBYLIAAgA0ECajYCACABIAFBmAVqQZL+CRDAGykCADcDICAAIAFBIGoQsRwhAgwVCyAAIANBAmo2AgAgASABQZAFakGU/gkQwBspAgA3AyggACABQShqELEcIQIMFAsgACADQQJqNgIAIAEgAUGIBWpBl/4JEMAbKQIANwMwIAAgAUEwahCxHCECDBMLIAAgA0ECajYCACABIAAQyRsiAjYC+AQgAkUNESAAQZn+CSABQfgEahCXHCECDBILAkACQAJAAkACQCADLAABIgRB7ABrDgQBAhYDAAsgBEH2AEYNAyAEQeMARw0VIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0UIAEgAxD2GyICNgKEBSACRQ0UIABBoANqQaP+CSABQfgEaiABQYQFahDEHCECDBULIAAgA0ECajYCACABIAAiBBD2GyIDNgKEBSADRQ0UIABBCGoiBRD2ASEGA0AgAEHFABDFG0UEQCABIAQQ9hsiAzYC+AQgA0UNFiAFIAFB+ARqENgbDAELCyABQfgEaiAAIAYQ2RsgAEGgA2ogAUGEBWogAUH4BGoQxRwhAgwUCyAAIANBAmo2AgAgASABQfAEakGu/gkQwBspAgA3AzggACABQThqELEcIQIMEwsgACADQQJqNgIAIAEgAUHoBGpBsP4JEMAbKQIANwNAIAAgAUFAaxCyHCECDBILIAAQsxwhAgwRCwJAAkACQAJAAkACQAJAIAMsAAEiBEHsAGsOCwEXAhcXFxcDBBcFAAsCQAJAAkAgBEHhAGsOBQAZARkCCAsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0XIAFBAToAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBgLIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0WIAEgAxD2GyICNgKEBSACRQ0WIABBoANqQbL+CSABQfgEaiABQYQFahDEHCECDBcLIAAgA0ECajYCACABIAFB4ARqQb/+CRDAGykCADcDSCAAIAFByABqELIcIQIMFgsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0UIAFBADoAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBULIAAQtRwhAgwUCyAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNEiABIAMQ9hsiAjYChAUgAkUNEiAAIAFB+ARqQcH+CSABQYQFahC2HCECDBMLIAAgA0ECajYCACABIAAiAxD2GyICNgL4BCACRQ0RIAEgAxD2GyICNgKEBSACRQ0RIABBoANqIAFB+ARqQcT+CSABQYQFahDMHCECDBILIAAgA0ECajYCACABIAFB2ARqQcb+CRDAGykCADcDUCAAIAFB0ABqELEcIQIMEQsgBEHWAEcNECAAIANBAmo2AgAgASABQdAEakHI/gkQwBspAgA3A1ggACABQdgAahCxHCECDBALAkACQAJAIAMsAAEiBEHvAGsOAwASAgELIAAgA0ECajYCACABIAFByARqQcv+CRDAGykCADcDYCAAIAFB4ABqELEcIQIMEQsgBEHPAEcNECAAIANBAmo2AgAgASABQcAEakHN/gkQwBspAgA3A2ggACABQegAahCxHCECDBALIAAgA0ECajYCACABIAFBuARqQdD+CRDAGykCADcDcCAAIAFB8ABqELEcIQIMDwsgAywAASIEQfQARwRAIARB5QBHDQ8gACADQQJqNgIAIAEgAUGwBGpB0/4JEMAbKQIANwN4IAAgAUH4AGoQsRwhAgwPCyAAIANBAmo2AgAgASABQagEakHW/gkQwBspAgA3A4ABIAAgAUGAAWoQsRwhAgwOCyADLAABIgRB7ABHBEAgBEH4AEcNDiAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNDSABIAMQ9hsiAjYChAUgAkUNDSAAQaADakEQEPwbIAFB+ARqKAIAIAFBhAVqKAIAEK0dIQIMDgsgACADQQJqNgIAIABBCGoiBBD2ASEFA0AgAEHFABDFG0UEQCABIAAQtxwiAzYC+AQgA0UNDyAEIAFB+ARqENgbDAELCyABQQA2AoQFIAFB+ARqIAAgBRDZGyAAQaADaiABQYQFaiABQfgEahDOHCECDA0LAkACQAJAAkAgAywAASIEQfMAaw4CAQMACyAEQdMARg0BIARB5QBHDQ8gACADQQJqNgIAIAEgAUGgBGpB2P4JEMAbKQIANwOIASAAIAFBiAFqELEcIQIMDwsgACADQQJqNgIAIAEgAUGYBGpB2/4JEMAbKQIANwOQASAAIAFBkAFqELEcIQIMDgsgACADQQJqNgIAIAEgAUGQBGpB3v4JEMAbKQIANwOYASAAIAFBmAFqELEcIQIMDQsgACADQQJqNgIAIAEgAUGIBGpB4v4JEMAbKQIANwOgASAAIAFBoAFqELEcIQIMDAsCQAJAAkACQAJAAkAgAywAASIEQekAaw4FARERAwUACyAEQckAaw4EARAQAxALIAAgA0ECajYCACABIAFBgARqQeT+CRDAGykCADcDqAEgACABQagBahCxHCECDA8LIAAgA0ECajYCACABIAFB+ANqQeb+CRDAGykCADcDsAEgACABQbABahCxHCECDA4LIAAgA0ECajYCACABIAFB8ANqQb/+CRDAGykCADcDuAEgACABQbgBahCxHCECDA0LIAAgA0ECajYCACABIAFB6ANqQen+CRDAGykCADcDwAEgACABQcABahCxHCECDAwLIAAgA0ECajYCACAAQd8AEMUbBEAgASABQeADakHs/gkQwBspAgA3A8gBIAAgAUHIAWoQshwhAgwMCyABIAAQ9hsiAjYC+AQgAkUNCiAAIAFB+ARqQez+CRC4HCECDAsLAkACQAJAAkACQAJAIAMsAAEiBEHhAGsOBwEQEBACEAMACyAEQfQAaw4FAw8PAAQPCyAAELkcIQIMDgsgACADQQJqNgIAIAEgAUHYA2pB7/4JEMAbKQIANwPQASAAIAFB0AFqELEcIQIMDQsgACAD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Amo2AgAgAEGDnAoQ3hshAgwKCyAAIAAoAgBBAmo2AgAgAEGOnAoQ3hshAgwJCwJAAkACQAJAAkACQCAAQQEQwxsiAUHhAGsOBwEODg4CDgMACyABQfQAaw4EAw0NBA0LIAAgACgCAEECajYCACAAQZmcChDeGyECDAwLIAAgACgCAEECajYCACAAQaicChDeGyECDAsLIAAgACgCAEECajYCACAAQe6bChDeGyECDAoLIAAgACgCAEECajYCACAAQbOcChDeGyECDAkLIAAgACgCAEECajYCACAAQb2cChDeGyECDAgLAkACQAJAIABBARDDGyIBQe8Aaw4EAAoKAQILIAAgACgCAEECajYCACAAQcqcChDeGyECDAkLIAAgACgCAEECajYCACAAQdWcChDeGyECDAgLIAFB0gBHDQcgACAAKAIAQQJqNgIAIABB35wKEN4bIQIMBwsCQAJAAkACQAJAAkAgAEEBEMMbIgFB7ABrDgkBAAwMAwwMBAUCCyAAIAAoAgBBAmo2AgAgAEHqnAoQ3hshAgwLCyAAIAAoAgBBAmo2AgAgAEH2nAoQ3hshAgwKCyABQcwARw0JIAAgACgCAEECajYCACAAQYCdChDeGyECDAkLIAAgACgCAEECajYCACAAQYudChDeGyECDAgLIAAgACgCAEECajYCACAAQfacChDeGyECDAcLIAAgACgCAEECajYCACAAQZadChDeGyECDAYLIABBARDDG0H1AEcNBSAAIAAoAgBBAmo2AgAgAEGhnQoQ3hshAgwFCwJAAkAgAEEBEMMbIgFBzQBHBEAgAUHTAEYNAiABQfMARg0BIAFB7QBHDQcgACAAKAIAQQJqNgIAIABBq50KEN4bIQIMBwsgACAAKAIAQQJqNgIAIABBtZ0KEN4bIQIMBgsgACAAKAIAQQJqNgIAIABBwJ0KEN4bIQIMBQsgACAAKAIAQQJqNgIAIABBy50KEN4bIQIMBAsgAEEBEMMbQfMARw0DIAAgACgCAEECajYCACAAQdedChDeGyECDAMLIABBARDDG0Ewa0EJSw0CIAAgACgCAEECajYCACADIAAQmhwiAjYCGCACRQ0BIAAgA0EYahCjHSECDAILIAAgACgCAEECajYCACAAQfiZChDeGyECDAELQQAhAgsgA0EgaiQAIAILJAAgAEEHQQFBAUEBEIAcIABBvPsJNgIAIAAgASkCADcCCCAACzACAX8BfiMAQRBrIgIkACACIAApAggiAzcDACACIAM3AwggASACEIIcIAJBEGokAAsoACAAQRdBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQaD8CTYCACAAC0MBAX8jAEEQayICJAAgACgCCCABELwbIAIgAkEIakGA/QkQwBspAgA3AwAgASACEIIcIAAoAgwgARC8GyACQRBqJAALFgAgACABKAIMIgEgASgCACgCGBECAAsuAQF/An9BACAAKAIAIgEgACgCBEYNABogACABQQFqNgIAIAEtAAALQRh0QRh1Cy8AIABBJEECQQJBAhCAHCAAQQA6ABAgAEEANgIMIAAgATYCCCAAQZD9CTYCACAAC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARClHCEDIAQQphwLIAJBEGokACADC0kBAX8jAEEQayIDJAAgAyACOgAPIAAgATYCACABLQAAIQEgAEEBOgAFIAAgAToABCAAKAIAIANBD2otAAA6AAAgA0EQaiQAIAALJAEBfyAALQAFIgJBAkcEQCACRQ8LIAAgASAAKAIAKAIAEQMACxoAIAAtAAUEQCAAKAIAIABBBGotAAA6AAALC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARCoHCEDIAQQphwLIAJBEGokACADCyQBAX8gAC0ABiICQQJHBEAgAkUPCyAAIAEgACgCACgCBBEDAAtBAQN/IwBBEGsiAiQAIAAtABBFBEAgAkEIaiAAQRBqQQEQpBwhBCAAKAIMIAEQqhwhAyAEEKYcCyACQRBqJAAgAwskAQF/IAAtAAciAkECRwRAIAJFDwsgACABIAAoAgAoAggRAwALSwECfyMAQRBrIgIkACAALQAQRQRAIAJBCGogAEEQakEBEKQcIQMgACgCDCIAIAEgACgCACgCDBEDACEAIAMQphwLIAJBEGokACAAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhARAgAgAxCmHAsgAkEQaiQAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhQRAgAgAxCmHAsgAkEQaiQACxUAIAEgAGsiAQRAIAIgACABELAbCwvQAQECfyMAQTBrIgEkACABIAFBKGpBtI8KEMAbKQIANwMQAkAgACABQRBqEMEbBEAgABCGHBogAUEgaiAAQQAQxhsgAEHfABDFG0UNASAAIAFBIGoQwhwhAgwBCyABIAFBGGpBt48KEMAbKQIANwMIIAAgAUEIahDBG0UNACABQSBqIABBABDGGyABQSBqEMcbDQAgAEHwABDFG0UNACAAEIYcGiABQSBqIABBABDGGyAAQd8AEMUbRQ0AIAAgAUEgahDCHCECCyABQTBqJAAgAgusEQEGfyMAQZAEayIBJAACQCAAQeYAEMUbRQ0AIAECf0EBIABBABDDGyIEQcwARg0AGiAEQf8BcSIDQfIARwRAQQEgA0HsAEYNARogA0HSAEcNAgtBAAs6AI8EIAAgACgCAEEBajYCACABQYAEahDaGyEDIAEgAUH4A2pBqJAKEMAbKQIANwPwAQJAIAAgAUHwAWoQwRsEQCABQfADakGP/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHoA2pBq5AKEMAbKQIANwPoASAAIAFB6AFqEMEbBEAgAUHwA2pBkv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFB4ANqQa6QChDAGykCADcD4AEgACABQeABahDBGwRAIAFB8ANqQZT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgDakGxkAoQwBspAgA3A9gBIAAgAUHYAWoQwRsEQCABQfADakGX/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHQA2pBtJAKEMAbKQIANwPQASAAIAFB0AFqEMEbBEAgAUHwA2pBrv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFByANqQbeQChDAGykCADcDyAEgACABQcgBahDBGwRAIAFB8ANqQcH+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcADakG6kAoQwBspAgA3A8ABIAAgAUHAAWoQwRsEQCABQfADakHG/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUG4A2pBvZAKEMAbKQIANwO4ASAAIAFBuAFqEMEbBEAgAUHwA2pByP4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBsANqQcCQChDAGykCADcDsAEgACABQbABahDBGwRAIAFB8ANqQcv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQagDakHDkAoQwBspAgA3A6gBIAAgAUGoAWoQwRsEQCABQfADakHN/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGgA2pBxpAKEMAbKQIANwOgASAAIAFBoAFqEMEbBEAgAUHwA2pB0P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBmANqQcmQChDAGykCADcDmAEgACABQZgBahDBGwRAIAFB8ANqQdP+CRDAGxogASABKQPwAzcDgAQMAQsgASABQZADakHMkAoQwBspAgA3A5ABIAAgAUGQAWoQwRsEQCABQfADakHW/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGIA2pBz5AKEMAbKQIANwOIASAAIAFBiAFqEMEbBEAgAUHwA2pB2P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBgANqQdKQChDAGykCADcDgAEgACABQYABahDBGwRAIAFB8ANqQdv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfgCakHVkAoQwBspAgA3A3ggACABQfgAahDBGwRAIAFB8ANqQd7+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfACakHYkAoQwBspAgA3A3AgACABQfAAahDBGwRAIAFB8ANqQeL+CRDAGxogASABKQPwAzcDgAQMAQsgASABQegCakHbkAoQwBspAgA3A2ggACABQegAahDBGwRAIAFB8ANqQeT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQeACakHekAoQwBspAgA3A2AgACABQeAAahDBGwRAIAFB8ANqQeb+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgCakHhkAoQwBspAgA3A1ggACABQdgAahDBGwRAIAFB8ANqQb/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdACakHkkAoQwBspAgA3A1AgACABQdAAahDBGwRAIAFB8ANqQen+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcgCakHnkAoQwBspAgA3A0ggACABQcgAahDBGwRAIAFB8ANqQe/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcACakHqkAoQwBspAgA3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ahDHGw0AIABBxQAQxRtFDQAgAEGgA2ogASACQQhqEN8cIQMLIAJBEGokACADCzkAIABBoANqQQwQ/BshACABKAIAQQBHIQEgAEHBAEEBQQFBARCAHCAAIAE6AAggAEHwgQo2AgAgAAuWAQEFfyMAQRBrIgIkAAJ/QQAgABDEG0EJSQ0AGiACQQhqIAAoAgAiASABQQhqEJAZIgMoAgAhASADKAIEIQQCQANAIAEgBEYNASABLAAAIQUgAUEBaiEBIAUQoBcNAAtBAAwBCyAAIAAoAgBBCGo2AgBBACAAQcUAEMUbRQ0AGiAAQaADaiADEOQcCyEBIAJBEGokACABC5YBAQV/IwBBEGsiAiQAAn9BACAAEMQbQRFJDQAaIAJBCGogACgCACIBIAFBEGoQkBkiAygCACEBIAMoAgQhBAJAA0AgASAERg0BIAEsAAAhBSABQQFqIQEgBRCgFw0AC0EADAELIAAgACgCAEEQajYCAEEAIABBxQAQxRtFDQAaIABBoANqIAMQ5hwLIQEgAkEQaiQAIAELlgEBBX8jAEEQayICJAACf0EAIAAQxBtBIUkNABogAkEIaiAAKAIAIgEgAUEgahCQGSIDKAIAIQEgAygCBCEEAkADQCABIARGDQEgASwAACEFIAFBAWohASAFEKAXDQALQQAMAQsgACAAKAIAQSBqNgIAQQAgAEHFABDFG0UNABogAEGgA2ogAxDoHAshASACQRBqJAAgAQsNACAAQaADaiABEIcdCxwBAX8gACgCACECIAAgASgCADYCACABIAI2AgALUAEBfyMAQRBrIgQkACAAQRgQ/BshACAEQQhqIAEQwBshASADKAIAIQMgAigCACECIAQgASkCADcDACAAIAQgAiADEJcdIQIgBEEQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQmR0hAiADQRBqJAAgAgsPACAAQaADaiABIAIQmx0LgQEBAn8jAEEQayICJAACQAJAIABBABDDGyIBQcQARwRAIAFB/wFxQdQARw0BIAIgABDoGyIBNgIMIAFFDQIgAEGUAWogAkEMahDYGwwCCyACIAAQ4RsiATYCCCABRQ0BIABBlAFqIAJBCGoQ2BsMAQsgABDsGyEBCyACQRBqJAAg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IwBBEGsiAiQAIAIgATYCDCAAKAIAIgAgAUECdGpBjANqIgEgASgCACIBQQFqNgIAIAIgATYCCCACIABBoANqQRAQ/BsgAkEMaigCACACQQhqKAIAEPIcIgE2AgQgAEHMAmoQkxwoAgAgAkEEahDYGyACQRBqJAAgAQttAgF/A34jAEEwayIEJAAgAEEgEPwbIQAgBCABKQIAIgU3AyggBCACKQIAIgY3AyAgBCADKQIAIgc3AxggBCAFNwMQIAQgBjcDCCAEIAc3AwAgACAEQRBqIARBCGogBBCBHSEDIARBMGokACADC2wCAX8BfiMAQTBrIgIkACACIAJBKGpBuIcKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAggiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAJBMGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEcQQBBAUEBEIAcIAAgATYCCCAAQeCICjYCACAAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPwcIQIgA0EQaiQAIAILMQAgAEEMEPwbIQAgASgCACEBIABBH0EAQQFBARCAHCAAIAE2AgggAEHwiwo2AgAgAAsoACAAQRtBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQdyHCjYCACAAC3oBAX8jAEEgayICJAACQCACAn8CQAJAAkAgACgCCA4DAAECBAsgAkEYakHMiAoQwBsMAgsgAkEQakHPiAoQwBsMAQsgAkEIakHSiAoQwBsLKQIANwMAIAEgAhCCHAsgACgCDCIABEAgASAAQQFrrRD0HAsgAkEgaiQAC3gBAn8jAEEwayICJAACQCABUARAIABBMBC9GwwBCyACQRBqEPUcIQMDQCABUEUEQCADQQFrIgMgASABQgqAIgFCCn59p0EwcjoAAAwBCwsgAiACQQhqIAMgAkEQahD1HBCQGSkCADcDACAAIAIQ9hwLIAJBMGokAAsHACAAQRVqCzACAX8BfiMAQRBrIgIkACACIAEpAgAiAzcDACACIAM3AwggACACEIIcIAJBEGokAAstACMAQRBrIgAkACAAIABBCGpBzIkKEMAbKQIANwMAIAEgABCCHCAAQRBqJAALDAAgACgCCCABELwbCygAIABBHUEAQQFBARCAHCAAIAI2AgwgACABNgIIIABB4IkKNgIAIAALUQECfyMAQRBrIgIkACAAKAIMIgMgASADKAIAKAIQEQIAIAAoAgwgARClHEUEQCACIAJBCGpB0IoKEMAbKQIANwMAIAEgAhCCHAsgAkEQaiQACyAAIAAoAgggARC8GyAAKAIMIgAgASAAKAIAKAIUEQIACysAIABBHkEAQQFBARCAHCAAIAE2AgggAEHcigo2AgAgACACKQIANwIMIAALVwEBfyMAQSBrIgIkACACIAJBGGpBzIsKEMAbKQIANwMIIAEgAkEIahCCHCAAQQxqIAEQ/hwgAiACQRBqQdaLChDAGykCADcDACABIAIQghwgAkEgaiQAC40BAQV/IwBBEGsiAiQAQQEhAwNAIAAoAgQgBEcEQCABKAIEIQUgA0EBcUUEQCACIAJBCGpB4osKEMAbKQIANwMAIAEgAhCCHAsgASgCBCEGIAAoAgAgBEECdGooAgAgARC8GyAEQQFqIQQgBiABKAIERgR/IAEgBRCRCyADBUEACyEDDAELCyACQRBqJAALQwEBfyMAQRBrIgIkACAAKAIIIgAgASAAKAIAKAIQEQIAIAIgAkEIakHcjAoQwBspAgA3AwAgASACEIIcIAJBEGokAAsWACAAKAIIIgAgASAAKAIAKAIUEQIACzgAIABBLUEBQQFBARCAHCAAQeiMCjYCACAAIAEpAgA3AgggACACKQIANwIQIAAgAykCADcCGCAAC3MCAX8BfiMAQTBrIgIkACACIAJBKGpBzI0KEMAbKQIANwMQIAEgAkEQahCCHCACIAApAhgiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAAgARCDHSACQTBqJAALqAEBAn8jAEFAaiICJAAgAEEIaiIDENocRQRAIAIgAkE4akHi/gkQwBspAgA3AxggASACQRhqEIIcIAMgARD+HCACIAJBMGpB1v4JEMAbKQIANwMQIAEgAkEQahCCHAsgAiACQShqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEQaiABEP4cIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtkAQF/IwBBIGsiAiQAIAIgAkEYakG8jgoQwBspAgA3AwggASACQQhqEIIcIAAoAggiAC0ABEEtRgRAIAAgARCDHQsgAiACQRBqQb+OChDAGykCADcDACABIAIQghwgAkEgaiQACywAIABBxABBAUEBQQEQgBwgACABNgIIIABB0I4KNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYr+CRDAGykCADcDCCABIAJBCGoQghwgAiAAKQIMIgM3AwAgAiADNwMYIAEgAhCCHCACQTBqJAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQTtBAUEBQQEQgBwgAEHEjwo2AgAgACACKQIANwIIIAJBEGokACAAC04CAX8BfiMAQSBrIgIkACACIAJBGGpBtI8KEMAbKQIANwMIIAEgAkEIahCCHCACIAApAggiAzcDACACIAM3AxAgASACEIIcIAJBIGokAAtYAgF/AX4jAEEQayIFJAAgAEEcEPwbIQAgAS0AACEBIAUgAikCACIGNwMIIAQoAgAhBCADKAIAIQMgBSAGNwMAIAAgASAFIAMgBBCKHSEDIAVBEGokACADCz8BAX4gAEE+QQFBAUEBEIAcIAAgBDYCDCAAIAM2AgggAEGQkQo2AgAgAikCACEFIAAgAToAGCAAIAU3AhAgAAvRAgICfwF+IwBB8ABrIgIkACACIAA2AmwgAiABNgJoIAFBKBC9GwJAIAAtABgEQCAAKAIMIgMEQCADIAEQvBsgAUEgEL0bIAIgACkCECIENwMwIAIgBDcDYCABIAJBMGoQghwgAUEgEL0bCyACIAJB2ABqQeyRChDAGykCADcDKCABIAJBKGoQghwgAiAAKQIQIgQ3AyAgAiAENwNQIAEgAkEgahCCHCABQSAQvRsgAkHoAGoQjB0MAQsgAkHoAGoQjB0gAUEgEL0bIAIgACkCECIENwMYIAIgBDcDSCABIAJBGGoQghwgAiACQUBrQfGRChDAGykCADcDECABIAJBEGoQghwgACgCDEUNACABQSAQvRsgAiAAKQIQIgQ3AwggAiAENwM4IAEgAkEIahCCHCABQSAQvRsgACgCDCABELwbCyABQSkQvRsgAkHwAGokAAtBAQJ/IwBBEGsiASQAIAAoAgQhAiAAKAIAQSgQvRsgASACKAIIEI0dIAAoAgAQvBsgACgCAEEpEL0bIAFBEGokAAshACAAQSJBAUEBQQEQgBwgACABNgIIIABBgJIKNgIAIAAL3wEBBX8jAEFAaiICJAAgAkEwaiABQQxqEI8dIQUgAkEgaiABQRBqEI8dIQYgASgCBCEEIAAoAgggARC8GwJAAkACQAJAIAEoAhAiA0EBag4CAgABCyABIAQQkQsMAgsgA0EBIANBAUsbIQRBASEDA0AgAyAERg0CIAIgAkEQakHiiwoQwBspAgA3AwAgASACEIIcIAEgAzYCDCAAKAIIIAEQvBsgA0EBaiEDDAALAAsgAiACQRhqQdyMChDAGykCADcDCCABIAJBCGoQghwLIAYQ3BwgBRDcHCACQUBrJAALSQEBfyMAQRBrIgIkACACQX82AgwgACABNgIAIAEoAgAhASAAQQE6AAggACABNgIEIAAoAgAgAkEMaigCADYCACACQRBqJAAgAAtPAgF/AX4jAEEQayIEJAAgAEEYEPwbIQAgASgCACEBIAQgAikCACIFNwMIIAMoAgAhAyAEIAU3AwAgACABIAQgAxCRHSEDIARBEGokACADCzgBAX4gAEEvQQFBAUEBEIAcIAAgATYCCCAAQfSSCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC7ECAgJ/AX4jAEGAAWsiAiQAIABBDGoiAyACQfgAakHW/gkQwBsQkx0EQCACIAJB8ABqQeSBChDAGykCADcDOCABIAJBOGoQghwLIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCAAKAIIIAEQvBsgAiACQeAAakHUkwoQwBspAgA3AyggASACQShqEIIcIAIgACkCDCIENwMgIAIgBDcDWCABIAJBIGoQghwgAiACQdAAakHXkwoQwBspAgA3AxggASACQRhqEIIcIAAoAhQgARC8GyACIAJByABqQYr+CRDAGykCADcDECABIAJBEGoQghwgAyACQfgAakHW/gkQwBsQkx0EQCACIAJBQGtBiv4JEMAbKQIANwMIIAEgAkEIahCCHAsgAkGAAWokAAslACAAEMQbIAEQxBtGBH8gACgCACAAKAIEIAEoAgAQ7hsFQQALC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACADIAEpAgAiBDcDCCACKAIAIQIgAyAENwMAIAAgAyACEJUdIQIgA0EQaiQAIAILMQEBfiAAQTpBAUEBQQEQgBwgAEHkkwo2AgAgASkCACEDIAAgAjYCECAAIAM3AgggAAt2AgF/AX4jAEEwayICJAAgAiAAKQIIIgM3AxAgAiADNwMoIAEgAkEQahCCHCACIAJBIGpB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIQIAEQvBsgAiACQRhqQYr+CRDAGykCADcDACABIAIQghwgAkEwaiQACzgBAX4gAEE1QQFBAUEBEIAcIABBzJQKNgIAIAEpAgAhBCAAIAM2AhQgACACNgIQIAAgBDcCCCAAC7IBAgJ/AX4jAEFAaiICJAAgAiAAKQIIIgQ3AxggAiAENwM4IAEgAkEYahCCHCACIAJBMGpB4v4JEMAbKQIANwMQIAEgAkEQahCCHCAAKAIQIgMgASADKAIAKAIQEQIAIAIgAkEoakGolQoQwBspAgA3AwggASACQQhqEIIcIAAoAhQiACABIAAoAgAoAhARAgAgAiACQSBqQYr+CRDAGykCADcDACABIAIQghwgAkFAayQACysAIABBN0EBQQFBARCAHCAAIAE2AgggAEG0lQo2AgAgACACKQIANwIMIAALYQEBfyMAQSBrIgIkACAAKAIIIAEQvBsgAiACQRhqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBIGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgASgCACEBIAMgAikCACIENwMAIAMgBDcDCCAAIAEgAxCcHSECIANBEGokACACCysAIABBPEEBQQFBARCAHCAAIAE2AgggAEGclgo2AgAgACACKQIANwIMIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYCXChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEYakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsvACAAQTlBAUEBQQEQgBwgACADOgANIAAgAjoADCAAIAE2AgggAEGMlwo2AgAgAAuFAQEBfyMAQTBrIgIkACAALQAMBEAgAiACQShqQYD9CRDAGykCADcDECABIAJBEGoQghwLIAIgAkEgakHslwoQwBspAgA3AwggASACQQhqEIIcIAAtAA0EQCACIAJBGGpB85cKEMAbKQIANwMAIAEgAhCCHAsgACgCCCABELwbIAJBMGokAAtYAQJ/IwBBEGsiAiQAIAAhASACAn8gAEEAEMMbQTBrQQlNBEAgARDIHAwBCyABEMccCyIBNgIMIAEEfyAAQaADaiACQQxqEKQdBUEACyEAIAJBEGokACAACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACEJwcIQAgAkEQaiQAIAALKAAgAEEWQQFBAUEBEIAcIAAgAjYCDCAAIAE2AgggAEGomAo2AgAgAAs1ACAAQaADakEMEPwbIQAgASgCACEBIABBBEEBQQFBARCAHCAAIAE2AgggAEHsnQo2AgAgAAsxACAAQQwQ/BshACABKAIAIQEgAEErQQFBAUEBEIAcIAAgATYCCCAAQZyZCjYCACAAC0MBAX8jAEEQayICJAAgAiACQQhqQbD+CRDAGykCADcDACABIAIQghwgACgCCCIAIAEgACgCACgCEBECACACQRBqJAALMQAgAEEMEPwbIQAgASgCACEBIABBE0EBQQFBARCAHCAAIAE2AgggAEHsngo2AgAgAAs5AQF/IwBBEGsiAiQAIAIgAkEIakHYngoQwBspAgA3AwAgASACEIIcIAAoAgggARC8GyACQRBqJAALOQEBfyMAQRBrIgIkACACIAJBCGpB0J8KEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQACzkBAX8jAEEQayICJAAgAiACQQhqQYD9CRDAGykCADcDACABIAIQghwgACgCCCABELwbIAJBEGokAAsWACAAIAEoAggiASABKAIAKAIYEQIACzgBAX4gAEEzQQFBAUEBEIAcIAAgATYCCCAAQdSgCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC0QCAX8BfiMAQRBrIgIkACAAKAIIIAEQvBsgAiAAKQIMIgM3AwAgAiADNwMIIAEgAhCCHCAAKAIUIAEQvBsgAkEQaiQACygAIABBMEEBQQFBARCAHCAAIAI2AgwgACABNgIIIABBvKEKNgIAIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQaSiChDAGykCADcDCCABIAJBCGoQghwgACgCDCABELwbIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAswACAAQckAQQFBAUEBEIAcIAAgAzoAECAAIAI2AgwgACABNgIIIABBtKIKNgIAIAALjAEBAn8jAEEQayICJAACQCAALQAQBEAgAUHbABC9GyAAKAIIIAEQvBsgAUHdABC9GwwBCyABQS4QvRsgACgCCCABELwbCyAAKAIMIgMtAARByQBrQf8BcUECTwR/IAIgAkEIakGUowoQwBspAgA3AwAgASACEIIcIAAoAgwFIAMLIAEQvBsgAkEQaiQACzAAIABBygBBAUEBQQEQgBwgACADNgIQIAAgAjYCDCAAIAE2AgggAEGgowo2AgAgAAuWAQECfyMAQSBrIgIkACABQdsAEL0bIAAoAgggARC8GyACIAJBGGpBhKQKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIAEQvBsgAUHdABC9GyAAKAIQIgMtAARByQBrQf8BcUECTwR/IAIgAkEQakGUowoQwBspAgA3AwAgASACEIIcIAAoAhAFIAMLIAEQvBsgAkEgaiQACysAIABBPUEBQQFBARCAHCAAIAE2AgggAEGUpAo2AgAgACACKQIANwIMIAALLwEBfyAAKAIIIgIEQCACIAEQvBsLIAFB+wAQvRsgAEEMaiABEP4cIAFB/QAQvRsLKwAgAEExQQFBAUEBEIAcIAAgATYCCCAAQYClCjYCACAAIAIpAgA3AgwgAAtwAQF/IwBBIGsiBiQAIABBIBD8GyEAIAYgASkCADcDGCACKAIAIQIgBiADKQIANwMQIAQtAAAhBCAFLQAAIQUgBiAGKQMYNwMIIAYgBikDEDcDACAAIAZBCGogAiAGIAQgBRC3HSEFIAZBIGokACAFC00BAX4gAEE4QQFBAUEBEIAcIABB9KUKNgIAIAEpAgAhBiAAIAI2AhAgACAGNwIIIAMpAgAhBiAAIAU6AB0gACAEOgAcIAAgBjcCFCAAC7UCAQJ/IwBB8ABrIgIkACAALQAcBEAgAiACQegAakHQpgoQwBspAgA3AzAgASACQTBqEIIcCyACIAJB4ABqQdymChDAGykCADcDKCABIAJBKGoQghwgAC0AHQRAIAIgAkHYAGpBvI4KEMAbKQIANwMgIAEgAkEgahCCHAsgAUEgEL0bIABBCGoiAxDaHEUEQCACIAJB0ABqQeSBChDAGykCADcDGCABIAJBGGoQghwgAyABEP4cIAIgAkHIAGpBiv4JEMAbKQIANwMQIAEgAkEQahCCHAsgACgCECABELwbIABBFGoiABDaHEUEQCACIAJBQGtB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAIAEQ/hwgAiACQThqQYr+CRDAGykCADcDACABIAIQghwLIAJB8ABqJAALOwEBfiAAQTRBAUEBQQEQgBwgAEHopgo2AgAgASkCACEEIAAgAjYCECAAIAQ3AgggACADKQIANwIUIAALVwIBfwF+IwBBIGsiAiQAIAIgACkCCCIDNwMIIAIgAzcDGCABIAJBCGoQghwgACgCECABELwbIAIgACkCFCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACy8AIABBMkEBQQFBARCAHCAAIAM2AhAgACACNgIMIAAgATYCCCAAQdSnCjYCACAAC6cBAQF/IwBBQGoiAiQAIAIgAkE4akHkgQoQwBspAgA3AxggASACQRhqEIIcIAAoAgggARC8GyACIAJBMGpBuKgKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIMIAEQvBsgAiACQShqQb6oChDAGykCADcDCCABIAJBCGoQghwgACgCECABELwbIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtfAQF/IwBBMGsiAiQAIAIgAkEoakG0qQoQwBspAgA3AwggASACQQhqEIIcIAJBGGogACgCCBCNHSABEI4dIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsMACAAQQhqIAEQ/hwLOQEBfyMAQRBrIgIkACACIAJBCGpBlKsKEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQAC1cBAX8jAEEgayICJAAgAiACQRhqQYSsChDAGykCADcDCCABIAJBCGoQ9hwgACgCCCABELwbIAIgAkEQakGK/gkQwBspAgA3AwAgASACEPYcIAJBIGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEoQQFBAUEBEIAcIAAgATYCCCAAQZisCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBqa0KEMAbDAMLIAJBIGpB8K0KEMAbDAILIAJBGGpBoq4KEMAbDAELIAJBEGpB1K4KEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRB+MoKaigCABDAGxoLLwAgAEEqQQFBAUEBEIAcIAAgAzYCECAAIAI6AAwgACABNgIIIABB1K8KNgIAIAALYgEBfyMAQSBrIgIkACAALQAMBEAgAiACQRhqQbD+CRDAGykCADcDCCABIAJBCGoQghwLIAJBEGogACgCCCIAIAAoAgAoAhgRAgAgAiACKQMQNwMAIAEgAhCCHCACQSBqJAALRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQxx0hAiADQRBqJAAgAgs0ACAAQQggAS0ABSABLQAGIAEtAAcQgBwgACABNgIIIABBwLAKNgIAIAAgAikCADcCDCAAC4ABAgJ/AX4jAEEwayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAJBKGpBoLEKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAgwiBDcDCCACIAQ3AyAgASACQQhqEIIcIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAtUAgF/AX4jAEEQayICJAAgAEEQEPwbIQAgAiABKQIAIgM3AwAgAiADNwMIIABBLkEBQQFBARCAHCAAQbSxCjYCACAAIAIpAgA3AgggAkEQaiQAIAALHAAgAUHbABC9GyAAQQhqIAEQ/hwgAUHdABC9GwsoACAAQRhBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQbiyCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBiLQKEMAbDAMLIAJBIGpBlLQKEMAbDAILIAJBGGpBobQKEMAbDAELIAJBEGpBrrQKEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRBkMsKaigCABDAGxoLIQEBfyAAIABBHGo2AgggACAAQQxqIgE2AgQgACABNgIACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACENEdIQAgAkEQaiQAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQSNBAUEBQQEQgBwgAEHQtQo2AgAgACACKQIANwIIIAJBEGokACAAC4MBAQF+IABBIEEBQQFBARCAHCAAQeS0CjYCACABKQIAIQIgAEECOgAHIAAgAjcCCCAAQYIEOwAFIABBAUECIABBCGoiASgCACABENIdENMdGzoABiABKAIAIAEQ0h0Q1B0EQCAAQQE6AAcLIAEoAgAgARDSHRDVHQRAIABBAToABQsgAAsQACAAKAIAIAAoAgRBAnRqCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAGQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAHQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAFQQFGDQELCyACCy8BAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBH8gACACENgdIAEQpRwFQQALCyIAIAEoAhBBf0YEQCAAKAIMIQAgAUEANgIMIAEgADYCEAsLEAAgACgCACABQQJ0aigCAAsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKgcBUEACwsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKocBUEACws5AQJ/IAAgARDXHSABKAIMIgMgAEEIaiICKAIESQR/IAIgAxDYHSIAIAEgACgCACgCDBEDAAUgAAsLNgEBfyAAIAEQ1x0gASgCDCICIABBCGoiACgCBEkEQCAAIAIQ2B0iACABIAAoAgAoAhARAgALCzYBAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBEAgACACENgdIgAgASAAKAIAKAIUEQIACwuAAQEBfyMAQTBrIgIkACACIAJBKGpB4v4JEMAbKQIANwMQIAEgAkEQahCCHCAAQQhqIAEQ/hwgARDfHUE+RgRAIAIgAkEgakHQigoQwBspAgA3AwggASACQQhqEIIcCyACIAJBGGpB1v4JEMAbKQIANwMAIAEgAhCCHCACQTBqJAALKAEBfwJ/QQAgACgCBCIBRQ0AGiABIAAoAgBqQQFrLQAAC0EYdEEYdQsoACAAQSVBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQby2CjYCACAACxYAIAAoAgggARC8GyAAKAIMIAEQvBsLMQAgAEEMEPwbIQAgASgCACEBIABBJ0EBQQFBARCAHCAAIAE2AgggAEG0two2AgAgAAs5AQF/IwBBEGsiAiQAIAIgAkEIakGcuAoQwBspAgA3AwAgASACEIIcIAAoAgggARC8GyACQRBqJAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQSFBAUEBQQEQgBwgAEGsuAo2AgAgACACKQIANwIIIAJBEGokACAAC0EBAX8jAEEQayICJAAgAiACQQhqQYS6ChDAGykCADcDACABIAIQghwgAEEIaiABEP4cIAFB3QAQvRsgAkEQaiQAC00BAX4gAEESQQBBAUEAEIAcIAAgAjYCDCAAIAE2AgggAEGcugo2AgAgAykCACEHIAAgBjoAICAAIAU2AhwgACAENgIYIAAgBzcCECAAC2EBAn8jAEEQayICJAACQCAAKAIIIgNFDQAgAyABIAMoAgAoAhARAgAgACgCCCABEKUcDQAgAiACQQhqQdCKChDAGykCADcDACABIAIQghwLIAAoAgwgARC8GyACQRBqJAAL1wIBAn8jAEHwAGsiAiQAIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCAAQRBqIAEQ/hwgAiACQeAAakGK/gkQwBspAgA3AyggASACQShqEIIcIAAoAggiAwRAIAMgASADKAIAKAIUEQIACwJ/IAAoAhwiA0EBcQRAIAIgAkHYAGpBhLsKEMAbKQIANwMgIAEgAkEgahCCHCAAKAIcIQMLIANBAnELBH8gAiACQdAAakGLuwoQwBspAgA3AxggASACQRhqEIIcIAAoAhwFIAMLQQRxBEAgAiACQcgAakGVuwoQwBspAgA3AxAgASACQRBqEIIcCwJAIAICfwJAAkAgAC0AIEEBaw4CAAEDCyACQUBrQZ+7ChDAGwwBCyACQThqQaK7ChDAGwspAgA3AwggASACQQhqEIIcCyAAKAIYIgAEQCAAIAEQvBsLIAJB8ABqJAALKwAgAEEBQQFBAUEBEIAcIAAgATYCCCAAQbC7CjYCACAAIAIpAgA3AgwgAAt2AgF/AX4jAEEwayICJAAgACgCCCABELwbIAIgAkEoakHXkwoQwBspAgA3AxAgASACQRBqEIIcIAIgACkCDCIDNwMIIAIgAzcDICABIAJBCGoQghwgAiACQRhqQYr+CRDAGykCADcDACABIAIQghwgAkEwaiQACxoAIABBoANqQRAQ/BsgASgCACACKAIAEIUeCzAAIABBDBD8GyIAQQsgASgCACIBLQAFQQFBARCAHCAAIAE2AgggAEGoyAo2AgAgAAtDAQF/IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIANBCGogAhDAGykCADcDACAAIAEgAxCYHiECIANBEGokACACCzEAIABBDBD8GyEAIAEoAgAhASAAQRBBAUEBQQEQgBwgACABNgIIIABBmL4KNgIAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQRFBAUEBQQEQgBwgAEGQvwo2AgAgACACKQIANwIIIAJBEGokACAAC2ECAX8BfiMAQRBrIgYkACAAQSAQ/BshACABKAIAIQEgBiACKQIAIgc3AwggBSgCACEFIAQtAAAhBCADKAIAIQMgBiAHNwMAIAAgASAGIAMgBCAFEPMdIQMgBkEQaiQAIAMLVwEBfyMAQSBrIgIkACACIAJBGGpB/L4KEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIIAEQvBsgAiACQRBqQYr+CRDAGykCADcDACABIAIQghwgAkEgaiQAC0ABAX8jAEEQayICJAAgAiACQQhqQfy/ChDAGykCADcDACABIAIQghwgAEEIaiABEP4cIAFBKRC9GyACQRBqJAALRgEBfiAAQQ9BAEEBQQAQgBwgACABNgIIIABBjMAKNgIAIAIpAgAhBiAAIAU2AhwgACAEOgAYIAAgAzYCFCAAIAY3AgwgAAtDAQF/IwBBEGsiAiQAIAAoAggiACABIAAoAgAoAhARAgAgAiACQQhqQdCKChDAGykCADcDACABIAIQghwgAkEQaiQAC9oCAQJ/IwBB8ABrIgIkACACIAJB6ABqQeSBChDAGykCADcDMCABIAJBMGoQghwgAEEMaiABEP4cIAIgAkHgAGpBiv4JEMAbKQIANwMoIAEgAkEoahCCHCAAKAIIIgMgASADKAIAKAIUEQIAAn8gACgCFCIDQQFxBEAgAiACQdgAakGEuwoQwBspAgA3AyAgASACQSBqEIIcIAAoAhQhAwsgA0ECcQsEfyACIAJB0ABqQYu7ChDAGykCADcDGCABIAJBGGoQghwgACgCFAUgAwtBBHEEQCACIAJByABqQZW7ChDAGykCADcDECABIAJBEGoQghwLAkAgAgJ/AkACQCAALQAYQQFrDgIAAQMLIAJBQGtBn7sKEMAbDAELIAJBOGpBorsKEMAbCykCADcDCCABIAJBCGoQghwLIAAoAhwEQCABQSAQvRsgACgCHCABELwbCyACQfAAaiQAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPgdIQIgA0EQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQ+h0hAiADQRBqJAAgAgsrACAAQQpBAUEBQQEQgBwgACABNgIIIABBhMEKNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACAAKAIIIAEQvBsgAiACQShqQeL+CRDAGykCADcDECABIAJBEGoQghwgAiAAKQIMIgM3AwggAiADNwMgIAEgAkEIahCCHCACIAJBGGpB1v4JEMAbKQIANwMAIAEgAhCCHCACQTBqJAALKwAgAEECQQFBAUEBEIAcIAAgATYCCCAAQfDBCjYCACAAIAIpAgA3AgwgAAtYAgF/AX4jAEEgayICJAAgACgCCCABELwbIAIgAkEYakHQigoQwBspAgA3AwggASACQQhqEIIcIAIgACkCDCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACzEAIABBAyABLQAFIAEtAAYgAS0ABxCAHCAAIAE2AgwgACACNgIIIABB4MIKNgIAIAALDAAgACgCDCABEKUcCwwAIAAoAgwgARCoHAsMACAAKAIMIAEQqhwLHwEBfyAAKAIMIgIgASACKAIAKAIQEQIAIAAgARCBHguYAQECfyMAQTBrIgIkAAJ/IAAoAggiA0EBcQRAIAIgAkEoakGEuwoQwBspAgA3AxAgASACQRBqEIIcIAAoAgghAwsgA0ECcQsEfyACIAJBIGpBi7sKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIBSADC0EEcQRAIAIgAkEYakGVuwoQwBspAgA3AwAgASACEIIcCyACQTBqJAALFgAgACgCDCIAIAEgACgCACgCFBECAAsxACAAQQwQ/BshACABKAIAIQEgAEEaQQFBAUEBEIAcIAAgATYCCCAAQcjDCjYCACAAC1cBAX8jAEEgayICJAAgAiACQRhqQazEChDAGykCADcDCCABIAJBCGoQghwgACgCCCABELwbIAIgAkEQakGnogoQwBspAgA3AwAgASACEIIcIAJBIGokAAsoACAAQRlBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQcTECjYCACAAC2gBAX8jAEEgayICJAAgACgCCCABELwbIAIgAkEYakGkxQoQwBspAgA3AwggASACQQhqEIIcIAAoAgwiAARAIAAgARC8GwsgAiACQRBqQaeiChDAGykCADcDACABIAIQghwgAkEgaiQACygAIABBDkEAQQBBARCAHCAAIAI2AgwgACABNgIIIABBuMUKNgIAIAALFgAgACgCCCIAIAEgACgCACgCEBECAAucAQECfyMAQTBrIgIkACABEN8dQd0ARwRAIAIgAkEoakHQigoQwBspAgA3AxAgASACQRBqEIIcCyACIAJBIGpBmMYKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIgMEQCADIAEQvBsLIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAAoAggiACABIAAoAgAoAhQRAgAgAkEwaiQACysAIABBDSACLQAFQQFBARCAHCAAIAI2AgwgACABNgIIIABBpMYKNgIAIAALnQEBAn8jAEEwayICJAAgACgCDCIDIAEgAygCACgCEBECACACAn8CQCAAKAIMIAEQqBxFBEAgACgCDCABEKocRQ0BCyACQShqQeSBChDAGwwBCyACQSBqQdCKChDAGwspAgA3AxAgASACQRBqEIIcIAAoAgggARC8GyACIAJBGGpBjMcKEMAbKQIANwMIIAEgAkEIahCCHCACQTBqJAALYQEBfyMAQRBrIgIkAAJAIAAoAgwgARCoHEUEQCAAKAIMIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIMIgAgASAAKAIAKAIUEQIAIAJBEGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgAyABKQIAIgQ3AwggAigCACECIAMgBDcDACAAIAMgAhCOHiECIANBEGokACACCzEBAX4gAEEGQQFBAUEBEIAcIABBtMcKNgIAIAEpAgAhAyAAIAI2AhAgACADNwIIIAALQQIBfwF+IwBBEGsiAiQAIAIgACkCCCIDNwMAIAIgAzcDCCABIAIQghwgAUEgEL0bIAAoAhAgARC8GyACQRBqJAALDAAgACgCCCABEKUcC6YCAgJ/AX4jAEHgAGsiAiQAIAICfwJAAn8gACgCCCIDLQAEQQpGBEAgAxCSHg0CIAAoAgghAwsgAwsgASADKAIAKAIQEQIAIAAoAgggARCoHARAIAIgAkHYAGpB0IoKEMAbKQIANwMoIAEgAkEoahCCHAsCQCAAKAIIIAEQqBxFBEAgACgCCCABEKocRQ0BCyACIAJB0ABqQeSBChDAGykCADcDICABIAJBIGoQghwLIAJByABqQb/+CRDAGwwBCyAAKAIIIQAgAiACQUBrQYjJChDAGykCADcDGCABIAJBGGoQghwgAiAAKQIMIgQ3AxAgAiAENwM4IAEgAkEQahCCHCACQTBqQdb+CRDAGwspAgA3AwggASACQQhqEIIcIAJB4ABqJAALQwECfyMAQRBrIgEkACAAKAIIIgAtAARBB0YEQCABQQhqIAAQkhwgAUEIaiABQYzJChDAGxCTHSECCyABQRBqJAAgAgt+AQJ/IwBBEGsiAiQAAkACQCAAKAIIIgMtAARBCkYEfyADEJIeDQIgACgCCAUgAwsgARCoHEUEQCAAKAIIIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIIIgAgASAAKAIAKAIUEQIACyACQRBqJAALMgAgAEEMIAEtAAVBAUEBEIAcIABBADoAECAAIAI2AgwgACABNgIIIABBoMkKNgIAIAAL3wEBAn8jAEFAaiICJAAgAC0AEEUEQCACQThqIABBEGpBARCkHCEDIAJBMGogACABEJYeIAIoAjQiACABIAAoAgAoAhARAgAgAigCNCABEKgcBEAgAiACQShqQdCKChDAGykCADcDECABIAJBEGoQghwLAkAgAigCNCABEKgcRQRAIAIoAjQgARCqHEUNAQsgAiACQSBqQeSBChDAGykCADcDCCABIAJBCGoQghwLIAIgAkEYakGP/glBkv4JIAIoAjAbEMAbKQIANwMAIAEgAhCCHCADEKYcCyACQUBrJAALbQEBfyAAIAFBDGooAgA2AgAgACABQQhqKAIANgIEIAAoAgQhAQNAIAEgAiABKAIAKAIMEQMAIgMtAARBDEYEQCAAIAMoAggiATYCBCAAIANBDGoiAyAAIAMoAgAgACgCAEgbKAIANgIADAELCwuMAQECfyMAQSBrIgIkACAALQAQRQRAIAJBGGogAEEQakEBEKQcIQMgAkEQaiAAIAEQlh4CQCACKAIUIAEQqBxFBEAgAigCFCABEKocRQ0BCyACIAJBCGpBiv4JEMAbKQIANwMAIAEgAhCCHAsgAigCFCIAIAEgACgCACgCFBECACADEKYcCyACQSBqJAALKwAgAEEFQQFBAUEBEIAcIAAgATYCCCAAQYzKCjYCACAAIAIpAgA3AgwgAAtEAgJ/AX4jAEEQayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAApAgwiBDcDACACIAQ3AwggASACEIIcIAJBEGokAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACx8AQfCqCygCAEUEQEH0qgsgATYCAEHwqgsgADYCAAsLGQAgASACIAOtIAStQiCGhCAFIAYgABEsAAsWAQF+IAEgABEdACICQiCIpxAsIAKnCxMAIAEgAq0gA61CIIaEIAARJgALIgEBfiABIAKtIAOtQiCGhCAEIAARHgAiBUIgiKcQLCAFpwsZACABIAIgAyAEIAWtIAatQiCGhCAAEScACyMAIAEgAiADIAQgBa0gBq1CIIaEIAetIAitQiCGhCAAETgACyUAIAEgAiADIAQgBSAGrSAHrUIghoQgCK0gCa1CIIaEIAARNwALEwAgACABpyABQiCIpyACIAMQLQsLm6oKhAEAQYAIC7COAXB1c2gAeAB5AHdpZHRoAGhlaWdodABJbnRWZWN0b3IARmxvYXRWZWN0b3IARG91YmxlVmVjdG9yAFBvaW50VmVjdG9yAE1hdFZlY3RvcgBSZWN0VmVjdG9yAEtleVBvaW50VmVjdG9yAERNYXRjaFZlY3RvcgBETWF0Y2hWZWN0b3JWZWN0b3IATWF0AGV5ZQBvbmVzAHplcm9zAHJvd3MAY29scwBtYXRTaXplAHN0ZXAAZGF0YQBkYXRhOFMAZGF0YTE2VQBkYXRhMTZTAGRhdGEzMlMAZGF0YTMyRgBkYXRhNjRGAGVsZW1TaXplAGVsZW1TaXplMQBjaGFubmVscwBjb252ZXJ0VG8AdG90YWwAcm93AGNyZWF0ZQByb3dSYW5nZQBjb3B5VG8AdHlwZQBlbXB0eQBjb2xSYW5nZQBzdGVwMQBjbG9uZQBkZXB0aABjb2wAZG90AG11bABpbnYAdAByb2kAZGlhZwBpc0NvbnRpbnVvdXMAc2V0VG8Ac2l6ZQBwdHIAdWNoYXJQdHIAY2hhclB0cgBzaG9ydFB0cgB1c2hvcnRQdHIAaW50UHRyAGZsb2F0UHRyAGRvdWJsZVB0cgBjaGFyQXQAdWNoYXJBdABzaG9ydEF0AHVzaG9ydEF0AGludEF0AGZsb2F0QXQAZG91YmxlQXQAUmFuZ2UAc3RhcnQAZW5kAFRlcm1Dcml0ZXJpYQBtYXhDb3VudABlcHNpbG9uACN0eXBlAFJlY3QAUmVjdDJmAFJvdGF0ZWRSZWN0AGNlbnRlcgBhbmdsZQByb3RhdGVkUmVjdFBvaW50cwByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdAByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdDJmAEtleVBvaW50AGNsYXNzX2lkAG9jdGF2ZQBwdAByZXNwb25zZQBETWF0Y2gAcXVlcnlJZHgAdHJhaW5JZHgAaW1nSWR4AGRpc3RhbmNlAFNjYWxhcgBNaW5NYXhMb2MAbWluVmFsAG1heFZhbABtaW5Mb2MAbWF4TG9jAENpcmNsZQByYWRpdXMATW9tZW50cwBtMDAAbTEwAG0wMQBtMjAAbTExAG0wMgBtMzAAbTIxAG0xMgBtMDMAbXUyMABtdTExAG11MDIAbXUzMABtdTIxAG11MTIAbXUwMwBudTIwAG51MTEAbnUwMgBudTMwAG51MjEAbnUxMgBudTAzAEV4Y2VwdGlvbgBjb2RlAG1zZwBleGNlcHRpb25Gcm9tUHRyAG1pbkVuY2xvc2luZ0NpcmNsZQBmbG9vZEZpbGwAbWluTWF4TG9jAG1vcnBob2xvZ3lEZWZhdWx0Qm9yZGVyVmFsdWUAQ1ZfTUFUX0RFUFRIAENhbVNoaWZ0AG1lYW5TaGlmdABUcmFja2VyAGluaXQAdXBkYXRlAGdldEJ1aWxkSW5mb3JtYXRpb24AQ1ZfOFVDMQBDVl84VUMyAENWXzhVQzMAQ1ZfOFVDNABDVl84U0MxAENWXzhTQzIAQ1ZfOFNDMwBDVl84U0M0AENWXzE2VUMxAENWXzE2VUMyAENWXzE2VUMzAENWXzE2VUM0AENWXzE2U0MxAENWXzE2U0MyAENWXzE2U0MzAENWXzE2U0M0AENWXzMyU0MxAENWXzMyU0MyAENWXzMyU0MzAENWXzMyU0M0AENWXzMyRkMxAENWXzMyRkMyAENWXzMyRkMzAENWXzMyRkM0AENWXzY0RkMxAENWXzY0RkMyAENWXzY0RkMzAENWXzY0RkM0AENWXzhVAENWXzhTAENWXzE2VQBDVl8xNlMAQ1ZfMzJTAENWXzMyRgBDVl82NEYASU5UX01JTgBJTlRfTUFYAFJvZHJpZ3VlcwBTVkRlY29tcABzb2x2ZVBuUABBQ0NFU1NfRkFTVABBQ0NFU1NfTUFTSwBBQ0NFU1NfUkVBRABBQ0NFU1NfUlcAQUNDRVNTX1dSSVRFAEFEQVBUSVZFX1RIUkVTSF9HQVVTU0lBTl9DAEFEQVBUSVZFX1RIUkVTSF9NRUFOX0MAQUtBWkVfREVTQ1JJUFRPUl9LQVpFAEFLQVpFX0RFU0NSSVBUT1JfS0FaRV9VUFJJR0hUAEFLQVpFX0RFU0NSSVBUT1JfTUxEQgBBS0FaRV9ERVNDUklQVE9SX01MREJfVVBSSUdIVABBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9BR0FTVF81XzgAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMmQAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMnMAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfTk9OTUFYX1NVUFBSRVNTSU9OAEFnYXN0RmVhdHVyZURldGVjdG9yX09BU1RfOV8xNgBBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9USFJFU0hPTEQAQk9SREVSX0NPTlNUQU5UAEJPUkRFUl9ERUZBVUxUAEJPUkRFUl9JU09MQVRFRABCT1JERVJfUkVGTEVDVABCT1JERVJfUkVGTEVDVDEwMQBCT1JERVJfUkVGTEVDVF8xMDEAQk9SREVSX1JFUExJQ0FURQBCT1JERVJfVFJBTlNQQVJFTlQAQk9SREVSX1dSQVAAQ0FMSUJfQ0JfQUNDVVJBQ1kAQ0FMSUJfQ0JfQURBUFRJVkVfVEhSRVNIAENBTElCX0NCX0FTWU1NRVRSSUNfR1JJRABDQUxJQl9DQl9DTFVTVEVSSU5HAENBTElCX0NCX0VYSEFVU1RJVkUAQ0FMSUJfQ0JfRkFTVF9DSEVDSwBDQUxJQl9DQl9GSUxURVJfUVVBRFMAQ0FMSUJfQ0JfTEFSR0VSAENBTElCX0NCX01BUktFUgBDQUxJQl9DQl9OT1JNQUxJWkVfSU1BR0UAQ0FMSUJfQ0JfU1lNTUVUUklDX0dSSUQAQ0FMSUJfRklYX0FTUEVDVF9SQVRJTwBDQUxJQl9GSVhfRk9DQUxfTEVOR1RIAENBTElCX0ZJWF9JTlRSSU5TSUMAQ0FMSUJfRklYX0sxAENBTElCX0ZJWF9LMgBDQUxJQl9GSVhfSzMAQ0FMSUJfRklYX0s0AENBTElCX0ZJWF9LNQBDQUxJQl9GSVhfSzYAQ0FMSUJfRklYX1BSSU5DSVBBTF9QT0lOVABDQUxJQl9GSVhfUzFfUzJfUzNfUzQAQ0FMSUJfRklYX1RBTkdFTlRfRElTVABDQUxJQl9GSVhfVEFVWF9UQVVZAENBTElCX0hBTkRfRVlFX0FORFJFRkYAQ0FMSUJfSEFORF9FWUVfREFOSUlMSURJUwBDQUxJQl9IQU5EX0VZRV9IT1JBVUQAQ0FMSUJfSEFORF9FWUVfUEFSSwBDQUxJQl9IQU5EX0VZRV9UU0FJAENBTElCX05JTlRSSU5TSUMAQ0FMSUJfUkFUSU9OQUxfTU9ERUwAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfTEkAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfU0hBSABDQUxJQl9TQU1FX0ZPQ0FMX0xFTkdUSABDQUxJQl9USElOX1BSSVNNX01PREVMAENBTElCX1RJTFRFRF9NT0RFTABDQUxJQl9VU0VfRVhUUklOU0lDX0dVRVNTAENBTElCX1VTRV9JTlRSSU5TSUNfR1VFU1MAQ0FMSUJfVVNFX0xVAENBTElCX1VTRV9RUgBDQUxJQl9aRVJPX0RJU1BBUklUWQBDQUxJQl9aRVJPX1RBTkdFTlRfRElTVABDQVNDQURFX0RPX0NBTk5ZX1BSVU5JTkcAQ0FTQ0FERV9ET19ST1VHSF9TRUFSQ0gAQ0FTQ0FERV9GSU5EX0JJR0dFU1RfT0JKRUNUAENBU0NBREVfU0NBTEVfSU1BR0UAQ0NMX0JCRFQAQ0NMX0JPTEVMTEkAQ0NMX0RFRkFVTFQAQ0NMX0dSQU5BAENDTF9TQVVGAENDTF9TUEFHSEVUVEkAQ0NMX1dVAENDX1NUQVRfQVJFQQBDQ19TVEFUX0hFSUdIVABDQ19TVEFUX0xFRlQAQ0NfU1RBVF9NQVgAQ0NfU1RBVF9UT1AAQ0NfU1RBVF9XSURUSABDSEFJTl9BUFBST1hfTk9ORQBDSEFJTl9BUFBST1hfU0lNUExFAENIQUlOX0FQUFJPWF9UQzg5X0tDT1MAQ0hBSU5fQVBQUk9YX1RDODlfTDEAQ01QX0VRAENNUF9HRQBDTVBfR1QAQ01QX0xFAENNUF9MVABDTVBfTkUAQ09MT1JNQVBfQVVUVU1OAENPTE9STUFQX0JPTkUAQ09MT1JNQVBfQ0lWSURJUwBDT0xPUk1BUF9DT09MAENPTE9STUFQX0RFRVBHUkVFTgBDT0xPUk1BUF9IT1QAQ09MT1JNQVBfSFNWAENPTE9STUFQX0lORkVSTk8AQ09MT1JNQVBfSkVUAENPTE9STUFQX01BR01BAENPTE9STUFQX09DRUFOAENPTE9STUFQX1BBUlVMQQBDT0xPUk1BUF9QSU5LAENPTE9STUFQX1BMQVNNQQBDT0xPUk1BUF9SQUlOQk9XAENPTE9STUFQX1NQUklORwBDT0xPUk1BUF9TVU1NRVIAQ09MT1JNQVBfVFVSQk8AQ09MT1JNQVBfVFdJTElHSFQAQ09MT1JNQVBfVFdJTElHSFRfU0hJRlRFRABDT0xPUk1BUF9WSVJJRElTAENPTE9STUFQX1dJTlRFUgBDT0xPUl9CR1IyQkdSNTU1AENPTE9SX0JHUjJCR1I1NjUAQ09MT1JfQkdSMkJHUkEAQ09MT1JfQkdSMkdSQVkAQ09MT1JfQkdSMkhMUwBDT0xPUl9CR1IySExTX0ZVTEwAQ09MT1JfQkdSMkhTVgBDT0xPUl9CR1IySFNWX0ZVTEwAQ09MT1JfQkdSMkxhYgBDT0xPUl9CR1IyTHV2AENPTE9SX0JHUjJSR0IAQ09MT1JfQkdSMlJHQkEAQ09MT1JfQkdSMlhZWgBDT0xPUl9CR1IyWUNyQ2IAQ09MT1JfQkdSMllVVgBDT0xPUl9CR1IyWVVWX0k0MjAAQ09MT1JfQkdSMllVVl9JWVVWAENPTE9SX0JHUjJZVVZfWVYxMgBDT0xPUl9CR1I1NTUyQkdSAENPTE9SX0JHUjU1NTJCR1JBAENPTE9SX0JHUjU1NTJHUkFZAENPTE9SX0JHUjU1NTJSR0IAQ09MT1JfQkdSNTU1MlJHQkEAQ09MT1JfQkdSNTY1MkJHUgBDT0xPUl9CR1I1NjUyQkdSQQBDT0xPUl9CR1I1NjUyR1JBWQBDT0xPUl9CR1I1NjUyUkdCAENPTE9SX0JHUjU2NTJSR0JBAENPTE9SX0JHUkEyQkdSAENPTE9SX0JHUkEyQkdSNTU1AENPTE9SX0JHUkEyQkdSNTY1AENPTE9SX0JHUkEyR1JBWQBDT0xPUl9CR1JBMlJHQgBDT0xPUl9CR1JBMlJHQkEAQ09MT1JfQkdSQTJZVVZfSTQyMABDT0xPUl9CR1JBMllVVl9JWVVWAENPTE9SX0JHUkEyWVVWX1lWMTIAQ09MT1JfQmF5ZXJCRzJCR1IAQ09MT1JfQmF5ZXJCRzJCR1JBAENPTE9SX0JheWVyQkcyQkdSX0VBAENPTE9SX0JheWVyQkcyQkdSX1ZORwBDT0xPUl9CYXllckJHMkdSQVkAQ09MT1JfQmF5ZXJCRzJSR0IAQ09MT1JfQmF5ZXJCRzJSR0JBAENPTE9SX0JheWVyQkcyUkdCX0VBAENPTE9SX0JheWVyQkcyUkdCX1ZORwBDT0xPUl9CYXllckJHR1IyQkdSAENPTE9SX0JheWVyQkdHUjJCR1JBAENPTE9SX0JheWVyQkdHUjJCR1JfRUEAQ09MT1JfQmF5ZXJCR0dSMkJHUl9WTkcAQ09MT1JfQmF5ZXJCR0dSMkdSQVkAQ09MT1JfQmF5ZXJCR0dSMlJHQgBDT0xPUl9CYXllckJHR1IyUkdCQQBDT0xPUl9CYXllckJHR1IyUkdCX0VBAENPTE9SX0JheWVyQkdHUjJSR0JfVk5HAENPTE9SX0JheWVyR0IyQkdSAENPTE9SX0JheWVyR0IyQkdSQQBDT0xPUl9CYXllckdCMkJHUl9FQQBDT0xPUl9CYXllckdCMkJHUl9WTkcAQ09MT1JfQmF5ZXJHQjJHUkFZAENPTE9SX0JheWVyR0IyUkdCAENPTE9SX0JheWVyR0IyUkdCQQBDT0xPUl9CYXllckdCMlJHQl9FQQBDT0xPUl9CYXllckdCMlJHQl9WTkcAQ09MT1JfQmF5ZXJHQlJHMkJHUgBDT0xPUl9CYXllckdCUkcyQkdSQQBDT0xPUl9CYXllckdCUkcyQkdSX0VBAENPTE9SX0JheWVyR0JSRzJCR1JfVk5HAENPTE9SX0JheWVyR0JSRzJHUkFZAENPTE9SX0JheWVyR0JSRzJSR0IAQ09MT1JfQmF5ZXJHQlJHMlJHQkEAQ09MT1JfQmF5ZXJHQlJHMlJHQl9FQQBDT0xPUl9CYXllckdCUkcyUkdCX1ZORwBDT0xPUl9CYXllckdSMkJHUgBDT0xPUl9CYXllckdSMkJHUkEAQ09MT1JfQmF5ZXJHUjJCR1JfRUEAQ09MT1JfQmF5ZXJHUjJCR1JfVk5HAENPTE9SX0JheWVyR1IyR1JBWQBDT0xPUl9CYXllckdSMlJHQgBDT0xPUl9CYXllckdSMlJHQkEAQ09MT1JfQmF5ZXJHUjJSR0JfRUEAQ09MT1JfQmF5ZXJHUjJSR0JfVk5HAENPTE9SX0JheWVyR1JCRzJCR1IAQ09MT1JfQmF5ZXJHUkJHMkJHUkEAQ09MT1JfQmF5ZXJHUkJHMkJHUl9FQQBDT0xPUl9CYXllckdSQkcyQkdSX1ZORwBDT0xPUl9CYXllckdSQkcyR1JBWQBDT0xPUl9CYXllckdSQkcyUkdCAENPTE9SX0JheWVyR1JCRzJSR0JBAENPTE9SX0JheWVyR1JCRzJSR0JfRUEAQ09MT1JfQmF5ZXJHUkJHMlJHQl9WTkcAQ09MT1JfQmF5ZXJSRzJCR1IAQ09MT1JfQmF5ZXJSRzJCR1JBAENPTE9SX0JheWVyUkcyQkdSX0VBAENPTE9SX0JheWVyUkcyQkdSX1ZORwBDT0xPUl9CYXllclJHMkdSQVkAQ09MT1JfQmF5ZXJSRzJSR0IAQ09MT1JfQmF5ZXJSRzJSR0JBAENPTE9SX0JheWVyUkcyUkdCX0VBAENPTE9SX0JheWVyUkcyUkdCX1ZORwBDT0xPUl9CYXllclJHR0IyQkdSAENPTE9SX0JheWVyUkdHQjJCR1JBAENPTE9SX0JheWVyUkdHQjJCR1JfRUEAQ09MT1JfQmF5ZXJSR0dCMkJHUl9WTkcAQ09MT1JfQmF5ZXJSR0dCMkdSQVkAQ09MT1JfQmF5ZXJSR0dCMlJHQgBDT0xPUl9CYXllclJHR0IyUkdCQQBDT0xPUl9CYXllclJHR0IyUkdCX0VBAENPTE9SX0JheWVyUkdHQjJSR0JfVk5HAENPTE9SX0NPTE9SQ1ZUX01BWABDT0xPUl9HUkFZMkJHUgBDT0xPUl9HUkFZMkJHUjU1NQBDT0xPUl9HUkFZMkJHUjU2NQBDT0xPUl9HUkFZMkJHUkEAQ09MT1JfR1JBWTJSR0IAQ09MT1JfR1JBWTJSR0JBAENPTE9SX0hMUzJCR1IAQ09MT1JfSExTMkJHUl9GVUxMAENPTE9SX0hMUzJSR0IAQ09MT1JfSExTMlJHQl9GVUxMAENPTE9SX0hTVjJCR1IAQ09MT1JfSFNWMkJHUl9GVUxMAENPTE9SX0hTVjJSR0IAQ09MT1JfSFNWMlJHQl9GVUxMAENPTE9SX0xCR1IyTGFiAENPTE9SX0xCR1IyTHV2AENPTE9SX0xSR0IyTGFiAENPTE9SX0xSR0IyTHV2AENPTE9SX0xhYjJCR1IAQ09MT1JfTGFiMkxCR1IAQ09MT1JfTGFiMkxSR0IAQ09MT1JfTGFiMlJHQgBDT0xPUl9MdXYyQkdSAENPTE9SX0x1djJMQkdSAENPTE9SX0x1djJMUkdCAENPTE9SX0x1djJSR0IAQ09MT1JfUkdCMkJHUgBDT0xPUl9SR0IyQkdSNTU1AENPTE9SX1JHQjJCR1I1NjUAQ09MT1JfUkdCMkJHUkEAQ09MT1JfUkdCMkdSQVkAQ09MT1JfUkdCMkhMUwBDT0xPUl9SR0IySExTX0ZVTEwAQ09MT1JfUkdCMkhTVgBDT0xPUl9SR0IySFNWX0ZVTEwAQ09MT1JfUkdCMkxhYgBDT0xPUl9SR0IyTHV2AENPTE9SX1JHQjJSR0JBAENPTE9SX1JHQjJYWVoAQ09MT1JfUkdCMllDckNiAENPTE9SX1JHQjJZVVYAQ09MT1JfUkdCMllVVl9JNDIwAENPTE9SX1JHQjJZVVZfSVlVVgBDT0xPUl9SR0IyWVVWX1lWMTIAQ09MT1JfUkdCQTJCR1IAQ09MT1JfUkdCQTJCR1I1NTUAQ09MT1JfUkdCQTJCR1I1NjUAQ09MT1JfUkdCQTJCR1JBAENPTE9SX1JHQkEyR1JBWQBDT0xPUl9SR0JBMlJHQgBDT0xPUl9SR0JBMllVVl9JNDIwAENPTE9SX1JHQkEyWVVWX0lZVVYAQ09MT1JfUkdCQTJZVVZfWVYxMgBDT0xPUl9SR0JBMm1SR0JBAENPTE9SX1hZWjJCR1IAQ09MT1JfWFlaMlJHQgBDT0xPUl9ZQ3JDYjJCR1IAQ09MT1JfWUNyQ2IyUkdCAENPTE9SX1lVVjJCR1IAQ09MT1JfWVVWMkJHUkFfSTQyMABDT0xPUl9ZVVYyQkdSQV9JWVVWAENPTE9SX1lVVjJCR1JBX05WMTIAQ09MT1JfWVVWMkJHUkFfTlYyMQBDT0xPUl9ZVVYyQkdSQV9VWU5WAENPTE9SX1lVVjJCR1JBX1VZVlkAQ09MT1JfWVVWMkJHUkFfWTQyMgBDT0xPUl9ZVVYyQkdSQV9ZVU5WAENPTE9SX1lVVjJCR1JBX1lVWTIAQ09MT1JfWVVWMkJHUkFfWVVZVgBDT0xPUl9ZVVYyQkdSQV9ZVjEyAENPTE9SX1lVVjJCR1JBX1lWWVUAQ09MT1JfWVVWMkJHUl9JNDIwAENPTE9SX1lVVjJCR1JfSVlVVgBDT0xPUl9ZVVYyQkdSX05WMTIAQ09MT1JfWVVWMkJHUl9OVjIxAENPTE9SX1lVVjJCR1JfVVlOVgBDT0xPUl9ZVVYyQkdSX1VZVlkAQ09MT1JfWVVWMkJHUl9ZNDIyAENPTE9SX1lVVjJCR1JfWVVOVgBDT0xPUl9ZVVYyQkdSX1lVWTIAQ09MT1JfWVVWMkJHUl9ZVVlWAENPTE9SX1lVVjJCR1JfWVYxMgBDT0xPUl9ZVVYyQkdSX1lWWVUAQ09MT1JfWVVWMkdSQVlfNDIwAENPTE9SX1lVVjJHUkFZX0k0MjAAQ09MT1JfWVVWMkdSQVlfSVlVVgBDT0xPUl9ZVVYyR1JBWV9OVjEyAENPTE9SX1lVVjJHUkFZX05WMjEAQ09MT1JfWVVWMkdSQVlfVVlOVgBDT0xPUl9ZVVYyR1JBWV9VWVZZAENPTE9SX1lVVjJHUkFZX1k0MjIAQ09MT1JfWVVWMkdSQVlfWVVOVgBDT0xPUl9ZVVYyR1JBWV9ZVVkyAENPTE9SX1lVVjJHUkFZX1lVWVYAQ09MT1JfWVVWMkdSQVlfWVYxMgBDT0xPUl9ZVVYyR1JBWV9ZVllVAENPTE9SX1lVVjJSR0IAQ09MT1JfWVVWMlJHQkFfSTQyMABDT0xPUl9ZVVYyUkdCQV9JWVVWAENPTE9SX1lVVjJSR0JBX05WMTIAQ09MT1JfWVVWMlJHQkFfTlYyMQBDT0xPUl9ZVVYyUkdCQV9VWU5WAENPTE9SX1lVVjJSR0JBX1VZVlkAQ09MT1JfWVVWMlJHQkFfWTQyMgBDT0xPUl9ZVVYyUkdCQV9ZVU5WAENPTE9SX1lVVjJSR0JBX1lVWTIAQ09MT1JfWVVWMlJHQkFfWVVZVgBDT0xPUl9ZVVYyUkdCQV9ZVjEyAENPTE9SX1lVVjJSR0JBX1lWWVUAQ09MT1JfWVVWMlJHQl9JNDIwAENPTE9SX1lVVjJSR0JfSVlVVgBDT0xPUl9ZVVYyUkdCX05WMTIAQ09MT1JfWVVWMlJHQl9OVjIxAENPTE9SX1lVVjJSR0JfVVlOVgBDT0xPUl9ZVVYyUkdCX1VZVlkAQ09MT1JfWVVWMlJHQl9ZNDIyAENPTE9SX1lVVjJSR0JfWVVOVgBDT0xPUl9ZVVYyUkdCX1lVWTIAQ09MT1JfWVVWMlJHQl9ZVVlWAENPTE9SX1lVVjJSR0JfWVYxMgBDT0xPUl9ZVVYyUkdCX1lWWVUAQ09MT1JfWVVWNDIwcDJCR1IAQ09MT1JfWVVWNDIwcDJCR1JBAENPTE9SX1lVVjQyMHAyR1JBWQBDT0xPUl9ZVVY0MjBwMlJHQgBDT0xPUl9ZVVY0MjBwMlJHQkEAQ09MT1JfWVVWNDIwc3AyQkdSAENPTE9SX1lVVjQyMHNwMkJHUkEAQ09MT1JfWVVWNDIwc3AyR1JBWQBDT0xPUl9ZVVY0MjBzcDJSR0IAQ09MT1JfWVVWNDIwc3AyUkdCQQBDT0xPUl9tUkdCQTJSR0JBAENPTlRPVVJTX01BVENIX0kxAENPTlRPVVJTX01BVENIX0kyAENPTlRPVVJTX01BVENIX0kzAENPVkFSX0NPTFMAQ09WQVJfTk9STUFMAENPVkFSX1JPV1MAQ09WQVJfU0NBTEUAQ09WQVJfU0NSQU1CTEVEAENPVkFSX1VTRV9BVkcAQ2lyY2xlc0dyaWRGaW5kZXJQYXJhbWV0ZXJzX0FTWU1NRVRSSUNfR1JJRABDaXJjbGVzR3JpZEZpbmRlclBhcmFtZXRlcnNfU1lNTUVUUklDX0dSSUQARENUX0lOVkVSU0UARENUX1JPV1MAREVDT01QX0NIT0xFU0tZAERFQ09NUF9FSUcAREVDT01QX0xVAERFQ09NUF9OT1JNQUwAREVDT01QX1FSAERFQ09NUF9TVkQAREZUX0NPTVBMRVhfSU5QVVQAREZUX0NPTVBMRVhfT1VUUFVUAERGVF9JTlZFUlNFAERGVF9SRUFMX09VVFBVVABERlRfUk9XUwBERlRfU0NBTEUARElTT3B0aWNhbEZsb3dfUFJFU0VUX0ZBU1QARElTT3B0aWNhbEZsb3dfUFJFU0VUX01FRElVTQBESVNPcHRpY2FsRmxvd19QUkVTRVRfVUxUUkFGQVNUAERJU1RfQwBESVNUX0ZBSVIARElTVF9IVUJFUgBESVNUX0wxAERJU1RfTDEyAERJU1RfTDIARElTVF9MQUJFTF9DQ09NUABESVNUX0xBQkVMX1BJWEVMAERJU1RfTUFTS18zAERJU1RfTUFTS181AERJU1RfTUFTS19QUkVDSVNFAERJU1RfVVNFUgBESVNUX1dFTFNDSABEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0VfSEFNTUlORwBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX0hBTU1JTkdMVVQARGVzY3JpcHRvck1hdGNoZXJfQlJVVEVGT1JDRV9MMQBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX1NMMgBEZXNjcmlwdG9yTWF0Y2hlcl9GTEFOTkJBU0VEAERyYXdNYXRjaGVzRmxhZ3NfREVGQVVMVABEcmF3TWF0Y2hlc0ZsYWdzX0RSQVdfT1ZFUl9PVVRJTUcARHJhd01hdGNoZXNGbGFnc19EUkFXX1JJQ0hfS0VZUE9JTlRTAERyYXdNYXRjaGVzRmxhZ3NfTk9UX0RSQVdfU0lOR0xFX1BPSU5UUwBGSUxMRUQARklMVEVSX1NDSEFSUgBGTE9PREZJTExfRklYRURfUkFOR0UARkxPT0RGSUxMX01BU0tfT05MWQBGTV83UE9JTlQARk1fOFBPSU5UAEZNX0xNRURTAEZNX1JBTlNBQwBGT05UX0hFUlNIRVlfQ09NUExFWABGT05UX0hFUlNIRVlfQ09NUExFWF9TTUFMTABGT05UX0hFUlNIRVlfRFVQTEVYAEZPTlRfSEVSU0hFWV9QTEFJTgBGT05UX0hFUlNIRVlfU0NSSVBUX0NPTVBMRVgARk9OVF9IRVJTSEVZX1NDUklQVF9TSU1QTEVYAEZPTlRfSEVSU0hFWV9TSU1QTEVYAEZPTlRfSEVSU0hFWV9UUklQTEVYAEZPTlRfSVRBTElDAEZhY2VSZWNvZ25pemVyU0ZfRlJfQ09TSU5FAEZhY2VSZWNvZ25pemVyU0ZfRlJfTk9STV9MMgBGYXN0RmVhdHVyZURldGVjdG9yX0ZBU1RfTgBGYXN0RmVhdHVyZURldGVjdG9yX05PTk1BWF9TVVBQUkVTU0lPTgBGYXN0RmVhdHVyZURldGVjdG9yX1RIUkVTSE9MRABGYXN0RmVhdHVyZURldGVjdG9yX1RZUEVfNV84AEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV83XzEyAEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV85XzE2AEZpbGVOb2RlX0VNUFRZAEZpbGVOb2RlX0ZMT0FUAEZpbGVOb2RlX0ZMT1cARmlsZU5vZGVfSU5UAEZpbGVOb2RlX01BUABGaWxlTm9kZV9OQU1FRABGaWxlTm9kZV9OT05FAEZpbGVOb2RlX1JFQUwARmlsZU5vZGVfU0VRAEZpbGVOb2RlX1NUUgBGaWxlTm9kZV9TVFJJTkcARmlsZU5vZGVfVFlQRV9NQVNLAEZpbGVOb2RlX1VOSUZPUk0ARmlsZVN0b3JhZ2VfQVBQRU5EAEZpbGVTdG9yYWdlX0JBU0U2NABGaWxlU3RvcmFnZV9GT1JNQVRfQVVUTwBGaWxlU3RvcmFnZV9GT1JNQVRfSlNPTgBGaWxlU3RvcmFnZV9GT1JNQVRfTUFTSwBGaWxlU3RvcmFnZV9GT1JNQVRfWE1MAEZpbGVTdG9yYWdlX0ZPUk1BVF9ZQU1MAEZpbGVTdG9yYWdlX0lOU0lERV9NQVAARmlsZVN0b3JhZ2VfTUVNT1JZAEZpbGVTdG9yYWdlX05BTUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfUkVBRABGaWxlU3RvcmFnZV9VTkRFRklORUQARmlsZVN0b3JhZ2VfVkFMVUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfV1JJVEUARmlsZVN0b3JhZ2VfV1JJVEVfQkFTRTY0AEZvcm1hdHRlcl9GTVRfQwBGb3JtYXR0ZXJfRk1UX0NTVgBGb3JtYXR0ZXJfRk1UX0RFRkFVTFQARm9ybWF0dGVyX0ZNVF9NQVRMQUIARm9ybWF0dGVyX0ZNVF9OVU1QWQBGb3JtYXR0ZXJfRk1UX1BZVEhPTgBHQ19CR0QAR0NfRVZBTABHQ19FVkFMX0ZSRUVaRV9NT0RFTABHQ19GR0QAR0NfSU5JVF9XSVRIX01BU0sAR0NfSU5JVF9XSVRIX1JFQ1QAR0NfUFJfQkdEAEdDX1BSX0ZHRABHRU1NXzFfVABHRU1NXzJfVABHRU1NXzNfVABISVNUQ01QX0JIQVRUQUNIQVJZWUEASElTVENNUF9DSElTUVIASElTVENNUF9DSElTUVJfQUxUAEhJU1RDTVBfQ09SUkVMAEhJU1RDTVBfSEVMTElOR0VSAEhJU1RDTVBfSU5URVJTRUNUAEhJU1RDTVBfS0xfRElWAEhPR0Rlc2NyaXB0b3JfREVGQVVMVF9OTEVWRUxTAEhPR0Rlc2NyaXB0b3JfREVTQ1JfRk9STUFUX0NPTF9CWV9DT0wASE9HRGVzY3JpcHRvcl9ERVNDUl9GT1JNQVRfUk9XX0JZX1JPVwBIT0dEZXNjcmlwdG9yX0wySHlzAEhPVUdIX0dSQURJRU5UAEhPVUdIX0dSQURJRU5UX0FMVABIT1VHSF9NVUxUSV9TQ0FMRQBIT1VHSF9QUk9CQUJJTElTVElDAEhPVUdIX1NUQU5EQVJEAElOUEFJTlRfTlMASU5QQUlOVF9URUxFQQBJTlRFUlNFQ1RfRlVMTABJTlRFUlNFQ1RfTk9ORQBJTlRFUlNFQ1RfUEFSVElBTABJTlRFUl9BUkVBAElOVEVSX0JJVFMASU5URVJfQklUUzIASU5URVJfQ1VCSUMASU5URVJfTEFOQ1pPUzQASU5URVJfTElORUFSAElOVEVSX0xJTkVBUl9FWEFDVABJTlRFUl9NQVgASU5URVJfTkVBUkVTVABJTlRFUl9ORUFSRVNUX0VYQUNUAElOVEVSX1RBQl9TSVpFAElOVEVSX1RBQl9TSVpFMgBLQVpFX0RJRkZfQ0hBUkJPTk5JRVIAS0FaRV9ESUZGX1BNX0cxAEtBWkVfRElGRl9QTV9HMgBLQVpFX0RJRkZfV0VJQ0tFUlQAS01FQU5TX1BQX0NFTlRFUlMAS01FQU5TX1JBTkRPTV9DRU5URVJTAEtNRUFOU19VU0VfSU5JVElBTF9MQUJFTFMATERSX1NJWkUATElORV80AExJTkVfOABMSU5FX0FBAExNRURTAExPQ0FMX09QVElNX0dDAExPQ0FMX09QVElNX0lOTkVSX0FORF9JVEVSX0xPAExPQ0FMX09QVElNX0lOTkVSX0xPAExPQ0FMX09QVElNX05VTEwATE9DQUxfT1BUSU1fU0lHTUEATFNEX1JFRklORV9BRFYATFNEX1JFRklORV9OT05FAExTRF9SRUZJTkVfU1REAE1BUktFUl9DUk9TUwBNQVJLRVJfRElBTU9ORABNQVJLRVJfU1FVQVJFAE1BUktFUl9TVEFSAE1BUktFUl9USUxURURfQ1JPU1MATUFSS0VSX1RSSUFOR0xFX0RPV04ATUFSS0VSX1RSSUFOR0xFX1VQAE1JWEVEX0NMT05FAE1PTk9DSFJPTUVfVFJBTlNGRVIATU9SUEhfQkxBQ0tIQVQATU9SUEhfQ0xPU0UATU9SUEhfQ1JPU1MATU9SUEhfRElMQVRFAE1PUlBIX0VMTElQU0UATU9SUEhfRVJPREUATU9SUEhfR1JBRElFTlQATU9SUEhfSElUTUlTUwBNT1JQSF9PUEVOAE1PUlBIX1JFQ1QATU9SUEhfVE9QSEFUAE1PVElPTl9BRkZJTkUATU9USU9OX0VVQ0xJREVBTgBNT1RJT05fSE9NT0dSQVBIWQBNT1RJT05fVFJBTlNMQVRJT04ATWF0X0FVVE9fU1RFUABNYXRfQ09OVElOVU9VU19GTEFHAE1hdF9ERVBUSF9NQVNLAE1hdF9NQUdJQ19NQVNLAE1hdF9NQUdJQ19WQUwATWF0X1NVQk1BVFJJWF9GTEFHAE1hdF9UWVBFX01BU0sATkVJR0hfRkxBTk5fS05OAE5FSUdIX0ZMQU5OX1JBRElVUwBORUlHSF9HUklEAE5PUk1BTF9DTE9ORQBOT1JNQ09OVl9GSUxURVIATk9STV9IQU1NSU5HAE5PUk1fSEFNTUlORzIATk9STV9JTkYATk9STV9MMQBOT1JNX0wyAE5PUk1fTDJTUVIATk9STV9NSU5NQVgATk9STV9SRUxBVElWRQBOT1JNX1RZUEVfTUFTSwBPUFRGTE9XX0ZBUk5FQkFDS19HQVVTU0lBTgBPUFRGTE9XX0xLX0dFVF9NSU5fRUlHRU5WQUxTAE9QVEZMT1dfVVNFX0lOSVRJQUxfRkxPVwBPUkJfRkFTVF9TQ09SRQBPUkJfSEFSUklTX1NDT1JFAFBDQV9EQVRBX0FTX0NPTABQQ0FfREFUQV9BU19ST1cAUENBX1VTRV9BVkcAUFJPSl9TUEhFUklDQUxfRVFSRUNUAFBST0pfU1BIRVJJQ0FMX09SVEhPAFBhcmFtX0FMR09SSVRITQBQYXJhbV9CT09MRUFOAFBhcmFtX0ZMT0FUAFBhcmFtX0lOVABQYXJhbV9NQVQAUGFyYW1fTUFUX1ZFQ1RPUgBQYXJhbV9SRUFMAFBhcmFtX1NDQUxBUgBQYXJhbV9TVFJJTkcAUGFyYW1fVUNIQVIAUGFyYW1fVUlOVDY0AFBhcmFtX1VOU0lHTkVEX0lOVABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfSABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTQBRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfUQBRUkNvZGVFbmNvZGVyX0VDSV9VVEY4AFFSQ29kZUVuY29kZXJfTU9ERV9BTFBIQU5VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX0FVVE8AUVJDb2RlRW5jb2Rlcl9NT0RFX0JZVEUAUVJDb2RlRW5jb2Rlcl9NT0RFX0VDSQBRUkNvZGVFbmNvZGVyX01PREVfS0FOSkkAUVJDb2RlRW5jb2Rlcl9NT0RFX05VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX1NUUlVDVFVSRURfQVBQRU5EAFFVQVRfQVNTVU1FX05PVF9VTklUAFFVQVRfQVNTVU1FX1VOSVQAUXVhdEVudW1fRVVMRVJfQU5HTEVTX01BWF9WQUxVRQBRdWF0RW51bV9FWFRfWFlYAFF1YXRFbnVtX0VYVF9YWVoAUXVhdEVudW1fRVhUX1haWABRdWF0RW51bV9FWFRfWFpZAFF1YXRFbnVtX0VYVF9ZWFkAUXVhdEVudW1fRVhUX1lYWgBRdWF0RW51bV9FWFRfWVpYAFF1YXRFbnVtX0VYVF9ZWlkAUXVhdEVudW1fRVhUX1pYWQBRdWF0RW51bV9FWFRfWlhaAFF1YXRFbnVtX0VYVF9aWVgAUXVhdEVudW1fRVhUX1pZWgBRdWF0RW51bV9JTlRfWFlYAFF1YXRFbnVtX0lOVF9YWVoAUXVhdEVudW1fSU5UX1haWABRdWF0RW51bV9JTlRfWFpZAFF1YXRFbnVtX0lOVF9ZWFkAUXVhdEVudW1fSU5UX1lYWgBRdWF0RW51bV9JTlRfWVpYAFF1YXRFbnVtX0lOVF9ZWlkAUXVhdEVudW1fSU5UX1pYWQBRdWF0RW51bV9JTlRfWlhaAFF1YXRFbnVtX0lOVF9aWVgAUXVhdEVudW1fSU5UX1pZWgBSQU5TQUMAUkVDVVJTX0ZJTFRFUgBSRURVQ0VfQVZHAFJFRFVDRV9NQVgAUkVEVUNFX01JTgBSRURVQ0VfU1VNAFJFVFJfQ0NPTVAAUkVUUl9FWFRFUk5BTABSRVRSX0ZMT09ERklMTABSRVRSX0xJU1QAUkVUUl9UUkVFAFJITwBSTkdfTk9STUFMAFJOR19VTklGT1JNAFJPVEFURV8xODAAUk9UQVRFXzkwX0NMT0NLV0lTRQBST1RBVEVfOTBfQ09VTlRFUkNMT0NLV0lTRQBTQU1QTElOR19OQVBTQUMAU0FNUExJTkdfUFJPR1JFU1NJVkVfTkFQU0FDAFNBTVBMSU5HX1BST1NBQwBTQU1QTElOR19VTklGT1JNAFNDT1JFX01FVEhPRF9MTUVEUwBTQ09SRV9NRVRIT0RfTUFHU0FDAFNDT1JFX01FVEhPRF9NU0FDAFNDT1JFX01FVEhPRF9SQU5TQUMAU09MVkVMUF9NVUxUSQBTT0xWRUxQX1NJTkdMRQBTT0xWRUxQX1VOQk9VTkRFRABTT0xWRUxQX1VORkVBU0lCTEUAU09MVkVQTlBfQVAzUABTT0xWRVBOUF9ETFMAU09MVkVQTlBfRVBOUABTT0xWRVBOUF9JUFBFAFNPTFZFUE5QX0lQUEVfU1FVQVJFAFNPTFZFUE5QX0lURVJBVElWRQBTT0xWRVBOUF9NQVhfQ09VTlQAU09MVkVQTlBfUDNQAFNPTFZFUE5QX1NRUE5QAFNPTFZFUE5QX1VQTlAAU09SVF9BU0NFTkRJTkcAU09SVF9ERVNDRU5ESU5HAFNPUlRfRVZFUllfQ09MVU1OAFNPUlRfRVZFUllfUk9XAFNWRF9GVUxMX1VWAFNWRF9NT0RJRllfQQBTVkRfTk9fVVYAU3BhcnNlTWF0X0hBU0hfQklUAFNwYXJzZU1hdF9IQVNIX1NDQUxFAFNwYXJzZU1hdF9NQUdJQ19WQUwAU3BhcnNlTWF0X01BWF9ESU0AU3RlcmVvQk1fUFJFRklMVEVSX05PUk1BTElaRURfUkVTUE9OU0UAU3RlcmVvQk1fUFJFRklMVEVSX1hTT0JFTABTdGVyZW9NYXRjaGVyX0RJU1BfU0NBTEUAU3RlcmVvTWF0Y2hlcl9ESVNQX1NISUZUAFN0ZXJlb1NHQk1fTU9ERV9ISABTdGVyZW9TR0JNX01PREVfSEg0AFN0ZXJlb1NHQk1fTU9ERV9TR0JNAFN0ZXJlb1NHQk1fTU9ERV9TR0JNXzNXQVkAU3ViZGl2MkRfTkVYVF9BUk9VTkRfRFNUAFN1YmRpdjJEX05FWFRfQVJPVU5EX0xFRlQAU3ViZGl2MkRfTkVYVF9BUk9VTkRfT1JHAFN1YmRpdjJEX05FWFRfQVJPVU5EX1JJR0hUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX0RTVABTdWJkaXYyRF9QUkVWX0FST1VORF9MRUZUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX09SRwBTdWJkaXYyRF9QUkVWX0FST1VORF9SSUdIVABTdWJkaXYyRF9QVExPQ19FUlJPUgBTdWJkaXYyRF9QVExPQ19JTlNJREUAU3ViZGl2MkRfUFRMT0NfT05fRURHRQBTdWJkaXYyRF9QVExPQ19PVVRTSURFX1JFQ1QAU3ViZGl2MkRfUFRMT0NfVkVSVEVYAFRIUkVTSF9CSU5BUlkAVEhSRVNIX0JJTkFSWV9JTlYAVEhSRVNIX01BU0sAVEhSRVNIX09UU1UAVEhSRVNIX1RPWkVSTwBUSFJFU0hfVE9aRVJPX0lOVgBUSFJFU0hfVFJJQU5HTEUAVEhSRVNIX1RSVU5DAFRNX0NDT0VGRgBUTV9DQ09FRkZfTk9STUVEAFRNX0NDT1JSAFRNX0NDT1JSX05PUk1FRABUTV9TUURJRkYAVE1fU1FESUZGX05PUk1FRABUZXJtQ3JpdGVyaWFfQ09VTlQAVGVybUNyaXRlcmlhX0VQUwBUZXJtQ3JpdGVyaWFfTUFYX0lURVIAVU1hdERhdGFfQVNZTkNfQ0xFQU5VUABVTWF0RGF0YV9DT1BZX09OX01BUABVTWF0RGF0YV9ERVZJQ0VfQ09QWV9PQlNPTEVURQBVTWF0RGF0YV9ERVZJQ0VfTUVNX01BUFBFRABVTWF0RGF0YV9IT1NUX0NPUFlfT0JTT0xFVEUAVU1hdERhdGFfVEVNUF9DT1BJRURfVU1BVABVTWF0RGF0YV9URU1QX1VNQVQAVU1hdERhdGFfVVNFUl9BTExPQ0FURUQAVU1hdF9BVVRPX1NURVAAVU1hdF9DT05USU5VT1VTX0ZMQUcAVU1hdF9ERVBUSF9NQVNLAFVNYXRfTUFHSUNfTUFTSwBVTWF0X01BR0lDX1ZBTABVTWF0X1NVQk1BVFJJWF9GTEFHAFVNYXRfVFlQRV9NQVNLAFVTQUNfQUNDVVJBVEUAVVNBQ19ERUZBVUxUAFVTQUNfRkFTVABVU0FDX0ZNXzhQVFMAVVNBQ19NQUdTQUMAVVNBQ19QQVJBTExFTABVU0FDX1BST1NBQwBVU0FHRV9BTExPQ0FURV9ERVZJQ0VfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX0hPU1RfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX1NIQVJFRF9NRU1PUlkAVVNBR0VfREVGQVVMVABXQVJQX0ZJTExfT1VUTElFUlMAV0FSUF9JTlZFUlNFX01BUABXQVJQX1BPTEFSX0xJTkVBUgBXQVJQX1BPTEFSX0xPRwBfSW5wdXRBcnJheV9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfQ1VEQV9IT1NUX01FTQBfSW5wdXRBcnJheV9FWFBSAF9JbnB1dEFycmF5X0ZJWEVEX1NJWkUAX0lucHV0QXJyYXlfRklYRURfVFlQRQBfSW5wdXRBcnJheV9LSU5EX01BU0sAX0lucHV0QXJyYXlfS0lORF9TSElGVABfSW5wdXRBcnJheV9NQVQAX0lucHV0QXJyYXlfTUFUWABfSW5wdXRBcnJheV9OT05FAF9JbnB1dEFycmF5X09QRU5HTF9CVUZGRVIAX0lucHV0QXJyYXlfU1REX0FSUkFZAF9JbnB1dEFycmF5X1NURF9BUlJBWV9NQVQAX0lucHV0QXJyYXlfU1REX0JPT0xfVkVDVE9SAF9JbnB1dEFycmF5X1NURF9WRUNUT1IAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9VTUFUAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfVkVDVE9SAF9JbnB1dEFycmF5X1VNQVQAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMTZGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzE2UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS18xNlUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMzJGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzMyUwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS182NEYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFMAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLX0FMTF8xNkYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMX0JVVF84UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS19GTFQAX19VTUFUX1VTQUdFX0ZMQUdTXzMyQklUAEJhZEFsaWduAEJhZEFscGhhQ2hhbm5lbABCYWRDT0kAQmFkQ2FsbEJhY2sAQmFkRGF0YVB0cgBCYWREZXB0aABCYWRJbWFnZVNpemUAQmFkTW9kZWxPckNoU2VxAEJhZE51bUNoYW5uZWwxVQBCYWROdW1DaGFubmVscwBCYWRPZmZzZXQAQmFkT3JkZXIAQmFkT3JpZ2luAEJhZFJPSVNpemUAQmFkU3RlcABCYWRUaWxlU2l6ZQBHcHVBcGlDYWxsRXJyb3IAR3B1Tm90U3VwcG9ydGVkAEhlYWRlcklzTnVsbABNYXNrSXNUaWxlZABPcGVuQ0xBcGlDYWxsRXJyb3IAT3BlbkNMRG91YmxlTm90U3VwcG9ydGVkAE9wZW5DTEluaXRFcnJvcgBPcGVuQ0xOb0FNREJsYXNGZnQAT3BlbkdsQXBpQ2FsbEVycm9yAE9wZW5HbE5vdFN1cHBvcnRlZABTdHNBc3NlcnQAU3RzQXV0b1RyYWNlAFN0c0JhY2tUcmFjZQBTdHNCYWRBcmcAU3RzQmFkRmxhZwBTdHNCYWRGdW5jAFN0c0JhZE1hc2sAU3RzQmFkTWVtQmxvY2sAU3RzQmFkUG9pbnQAU3RzQmFkU2l6ZQBTdHNEaXZCeVplcm8AU3RzRXJyb3IAU3RzRmlsdGVyT2Zmc2V0RXJyAFN0c0ZpbHRlclN0cnVjdENvbnRlbnRFcnIAU3RzSW5wbGFjZU5vdFN1cHBvcnRlZABTdHNJbnRlcm5hbABTdHNLZXJuZWxTdHJ1Y3RDb250ZW50RXJyAFN0c05vQ29udgBTdHNOb01lbQBTdHNOb3RJbXBsZW1lbnRlZABTdHNOdWxsUHRyAFN0c09iamVjdE5vdEZvdW5kAFN0c09rAFN0c091dE9mUmFuZ2UAU3RzUGFyc2VFcnJvcgBTdHNVbm1hdGNoZWRGb3JtYXRzAFN0c1VubWF0Y2hlZFNpemVzAFN0c1Vuc3VwcG9ydGVkRm9ybWF0AFN0c1ZlY0xlbmd0aEVycgBURVNUX0NVU1RPTQBURVNUX0VRAFRFU1RfR0UAVEVTVF9HVABURVNUX0xFAFRFU1RfTFQAVEVTVF9ORQBUcmFja2VyU2FtcGxlckNTQ19NT0RFX0RFVEVDVABUcmFja2VyU2FtcGxlckNTQ19NT0RFX0lOSVRfTkVHAFRyYWNrZXJTYW1wbGVyQ1NDX01PREVfSU5JVF9QT1MAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19ORUcAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19QT1MARE5OX0JBQ0tFTkRfQ1VEQQBETk5fQkFDS0VORF9ERUZBVUxUAEROTl9CQUNLRU5EX0hBTElERQBETk5fQkFDS0VORF9JTkZFUkVOQ0VfRU5HSU5FAEROTl9CQUNLRU5EX09QRU5DVgBETk5fQkFDS0VORF9WS0NPTQBETk5fQkFDS0VORF9XRUJOTgBETk5fVEFSR0VUX0NQVQBETk5fVEFSR0VUX0NVREEARE5OX1RBUkdFVF9DVURBX0ZQMTYARE5OX1RBUkdFVF9GUEdBAEROTl9UQVJHRVRfSERETABETk5fVEFSR0VUX01ZUklBRABETk5fVEFSR0VUX09QRU5DTABETk5fVEFSR0VUX09QRU5DTF9GUDE2AEROTl9UQVJHRVRfVlVMS0FOAFNvZnROTVNNZXRob2RfU09GVE5NU19HQVVTU0lBTgBTb2Z0Tk1TTWV0aG9kX1NPRlROTVNfTElORUFSAENBTElCX0NIRUNLX0NPTkQAQ0FMSUJfRklYX1NLRVcAQ0FMSUJfUkVDT01QVVRFX0VYVFJJTlNJQwBFTlVNX0xPR19MRVZFTF9GT1JDRV9JTlQATE9HX0xFVkVMX0RFQlVHAExPR19MRVZFTF9FUlJPUgBMT0dfTEVWRUxfRkFUQUwATE9HX0xFVkVMX0lORk8ATE9HX0xFVkVMX1NJTEVOVABMT0dfTEVWRUxfVkVSQk9TRQBMT0dfTEVWRUxfV0FSTklORwAAHGkCAHxpAgAcaQIAoGkCABxpAgDoSAAATjJjdjZQb2ludF9JZkVFABRqAgDYSAAAHGkCAAxJAABOMmN2MTFSb3RhdGVkUmVjdEUAABRqAgD4SAAAHGkCACxJAABOMmN2NVJlY3RfSWlFRQAAFGoCABxJAAAcaQIAfGkCABxpAgA0aQIAcHVzaF9iYWNrAHJlc2l6ZQBnZXQAc2V0AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATlN0M19fMjZ2ZWN0b3JJaU5TXzlhbGxvY2F0b3JJaUVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlpTlNfOWFsbG9jYXRvcklpRUVFRQBOU3QzX18yMjBfX3ZlY3Rvcl9iYXNlX2NvbW1vbklMYjFFRUUAAAAUagIA8UkAAJhqAgDFSQAAAAAAAAEAAAAYSgAAAAAAAJhqAgChSQAAAAAAAAEAAAAgSgAAAAAAAFBOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAAD0agIAUEoAAAAAAAA4SgAAUEtOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAPRqAgCISgAAAQAAADhKAABpaQB2AHZpAHhKAAAcaQIAeEoAAHxpAgB2aWlpAAAAABxpAgB4SgAAoGkCAHxpAgB2aWlpaQAAAKBpAgCwSgAAaWlpACRLAAA4SgAAoGkCAE4xMGVtc2NyaXB0ZW4zdmFsRQAAFGoCABBLAABpaWlpAEHAlgELswg0aQIAOEoAAKBpAgB8aQIAaWlpaWkATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlmTlNfOWFsbG9jYXRvcklmRUVFRQAAAJhqAgB6SwAAAAAAAAEAAAAYSgAAAAAAAJhqAgBWSwAAAAAAAAEAAACoSwAAAAAAAFBOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAAD0agIA2EsAAAAAAADASwAAUEtOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAPRqAgAQTAAAAQAAAMBLAAAATAAAHGkCAABMAACsaQIAdmlpZgAAAAAcaQIAAEwAAKBpAgCsaQIAdmlpaWYAAACgaQIAOEwAACRLAADASwAAoGkCAAAAAAA0aQIAwEsAAKBpAgCsaQIAaWlpaWYATlN0M19fMjZ2ZWN0b3JJZE5TXzlhbGxvY2F0b3JJZEVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlkTlNfOWFsbG9jYXRvcklkRUVFRQAAAJhqAgDKTAAAAAAAAAEAAAAYSgAAAAAAAJhqAgCmTAAAAAAAAAEAAAD4TAAAAAAAAFBOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAAD0agIAKE0AAAAAAAAQTQAAUEtOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAPRqAgBgTQAAAQAAABBNAABQTQAAHGkCAFBNAAC4aQIAdmlpZAAAAAAcaQIAUE0AAKBpAgC4aQIAdmlpaWQAAACgaQIAiE0AACRLAAAQTQAAoGkCAAAAAAA0aQIAEE0AAKBpAgC4aQIAaWlpaWQATlN0M19fMjZ2ZWN0b3JJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAmGoCACpOAAAAAAAAAQAAABhKAAAAAAAAmGoCAPZNAAAAAAAAAQAAAGhOAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y2UG9pbnRfSWlFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAD0agIAmE4AAAAAAACATgAAUEtOU3QzX18yNnZlY3RvcklOMmN2NlBvaW50X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAD0agIA4E4AAAEAAACATgAA0E4AABxpAgDQTgAASE8AAE4yY3Y2UG9pbnRfSWlFRQAUagIAOE8AABxpAgDQTgAAoGkCAEhPAACgaQIAGE8AACRLAACATgAAoGkCAEGAnwELxgI0aQIAgE4AAKBpAgBITwAATlN0M19fMjZ2ZWN0b3JJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAJhqAgC+TwAAAAAAAAEAAAAYSgAAAAAAAJhqAgCQTwAAAAAAAAEAAAD0TwAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2M01hdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAPRqAgAkUAAAAAAAAAxQAABQS05TdDNfXzI2dmVjdG9ySU4yY3YzTWF0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQD0agIAZFAAAAEAAAAMUAAAVFAAABxpAgBUUAAAwFAAAE4yY3YzTWF0RQAAABRqAgC0UABB0KEBCyMcaQIAVFAAAKBpAgDAUAAAoGkCAJRQAAAkSwAADFAAAKBpAgBBgKIBC/MCNGkCAAxQAACgaQIAwFAAAE5TdDNfXzI2dmVjdG9ySU4yY3Y1UmVjdF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAACYagIAQ1EAAAAAAAABAAAAGEoAAAAAAACYagIAEFEAAAAAAAABAAAAgFEAAAAAAABQTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUA9GoCALBRAAAAAAAAmFEAAFBLTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAA9GoCAPRRAAABAAAAmFEAAORRAAAcaQIA5FEAACxJAAAAAAAAHGkCAORRAACgaQIALEkAAKBpAgAsUgAAJEsAAJhRAACgaQIAQYClAQviAjRpAgCYUQAAoGkCACxJAABOU3QzX18yNnZlY3RvcklOMmN2OEtleVBvaW50RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAmGoCAMNSAAAAAAAAAQAAABhKAAAAAAAAmGoCAJBSAAAAAAAAAQAAAABTAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAPRqAgAwUwAAAAAAABhTAABQS05TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAAPRqAgB0UwAAAQAAABhTAABkUwAAHGkCAGRTAADcUwAATjJjdjhLZXlQb2ludEUAABRqAgDMUwBB8KcBCyMcaQIAZFMAAKBpAgDcUwAAoGkCAKxTAAAkSwAAGFMAAKBpAgBBoKgBC4MDNGkCABhTAACgaQIA3FMAAE5TdDNfXzI2dmVjdG9ySU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAJhqAgBhVAAAAAAAAAEAAAAYSgAAAAAAAJhqAgAwVAAAAAAAAAEAAACcVAAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAD0agIAzFQAAAAAAAC0VAAAUEtOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAPRqAgAQVQAAAQAAALRUAAAAVQAAHGkCAABVAAB0VQAATjJjdjZETWF0Y2hFAAAAABRqAgBkVQAAAAAAABxpAgAAVQAAoGkCAHRVAACgaQIARFUAACRLAAC0VAAAoGkCAEGwqwELswM0aQIAtFQAAKBpAgB0VQAATlN0M19fMjZ2ZWN0b3JJTlMwX0lOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUVOUzNfSVM1X0VFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlOU182dmVjdG9ySU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzNfRUVFRU5TNF9JUzZfRUVFRQAAAJhqAgACVgAAAAAAAAEAAAAYSgAAAAAAAJhqAgDAVQAAAAAAAAEAAABUVgAAAAAAAFBOU3QzX18yNnZlY3RvcklOUzBfSU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRU5TM19JUzVfRUVFRQAA9GoCAIRWAAAAAAAAbFYAAFBLTlN0M19fMjZ2ZWN0b3JJTlMwX0lOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUVOUzNfSVM1X0VFRUUA9GoCANhWAAABAAAAbFYAAMhWAAAcaQIAyFYAALRUAAAAAAAAHGkCAMhWAACgaQIAtFQAAKBpAgAcVwAAJEsAAGxWAACgaQIAQfCuAQt2NGkCAGxWAACgaQIAtFQAAFBOMmN2M01hdEUAAPRqAgCAVwAAAAAAAMBQAABQS04yY3YzTWF0RQD0agIAnFcAAAEAAADAUAAAjFcAAIxXAADAUAAAjFcAAOBXAAB8aQIATjJjdjVTaXplX0lpRUUAABRqAgDQVwBB8K8BC4IBjFcAAHxpAgB8aQIAfGkCAIxXAAB8aQIAfGkCAHxpAgBgWAAATjJjdjdTY2FsYXJfSWRFRQBOMmN2M1ZlY0lkTGk0RUVFAE4yY3Y0TWF0eElkTGk0RUxpMUVFRQAUagIANlgAADxqAgAlWAAATFgAADxqAgAUWAAAVFgAAGlpaWlpaQBBgLEBC+YCjFcAAHxpAgB8aQIAfGkCAJRpAgCgaQIAaWlpaWlpaQDAUAAA4FcAAHxpAgAAAAAAwFAAAHxpAgB8aQIAfGkCAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAAFGoCAMBYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAABRqAgDoWAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAAAUagIAEFkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAFGoCADhZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAABRqAgBgWQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAAAUagIAiFkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQAAFGoCALBZAACgaQIAqFcAAHxpAgCoVwBB8LMBC1ccaQIAwFAAAMBQAAB8aQIAuGkCALhpAgB2aWlpaWRkABxpAgDAUAAAwFAAAHxpAgAcaQIAwFAAAMBQAAB8aQIAuGkCAHZpaWlpZAAAwFAAAKhXAAB8aQIAQdC0AQuTAhxpAgCMVwAAfGkCAHxpAgB8aQIAdmlpaWlpAAAAAAAAHGkCAIxXAADgVwAAfGkCAMBQAACoVwAAfGkCAHxpAgDAUAAAqFcAAKhaAABOMmN2NVJhbmdlRQAUagIAnFoAABxpAgDAUAAAwFAAAAAAAAAcaQIAwFAAAMBQAADAUAAANGkCAKhXAACgaQIAqFcAAHxpAgDAUAAAqFcAALhpAgDAUAAAwFAAAGRpaWkAAAAAwFAAAMBQAADAUAAAuGkCAMBQAADAUAAAfGkCAMBQAADAUAAAwFAAAKhXAAAsSQAAHGkCAMBQAABgWAAAAAAAABxpAgDAUAAAYFgAAMBQAADgVwAAwFAAACRLAADAUAAAfGkCAEHwtgELlAIkSwAAwFAAAHxpAgB8aQIAQGkCAIxXAAB8aQIAAAAAAEBpAgCMVwAAfGkCAHxpAgBAaQIAjFcAAHxpAgB8aQIAfGkCAExpAgCMVwAAfGkCAExpAgCMVwAAfGkCAHxpAgBMaQIAjFcAAHxpAgB8aQIAfGkCAGRpAgCMVwAAfGkCAGRpAgCMVwAAfGkCAHxpAgBkaQIAjFcAAHxpAgB8aQIAfGkCAHBpAgCMVwAAfGkCAHBpAgCMVwAAfGkCAHxpAgBwaQIAjFcAAHxpAgB8aQIAfGkCAHxpAgCMVwAAfGkCAHxpAgCMVwAAfGkCAHxpAgB8aQIAjFcAAHxpAgB8aQIAfGkCAKxpAgCMVwAAfGkCAGZpaWkAQZC5AQsVrGkCAIxXAAB8aQIAfGkCAGZpaWlpAEGwuQELR6xpAgCMVwAAfGkCAHxpAgB8aQIAZmlpaWlpAAAAAAAAuGkCAIxXAAB8aQIAfGkCAHxpAgBkaWlpaWkAALhpAgCMVwAAfGkCAEGAugELhAS4aQIAjFcAAHxpAgB8aQIAZGlpaWkAaQBOMmN2MTJUZXJtQ3JpdGVyaWFFABRqAgAYXQAAZGlpAE4yY3Y1U2l6ZV9JZkVFAAAUagIAOF0AAGZpaQBOMmN2NVJlY3RfSWZFRQAAFGoCAFRdAAAkSwAADEkAACxJAAAMSQAAZF0AAAxJAABOMTNiaW5kaW5nX3V0aWxzOU1pbk1heExvY0UAFGoCAIRdAABOMTNiaW5kaW5nX3V0aWxzNkNpcmNsZUUAAAAAFGoCAKhdAABOMmN2N01vbWVudHNFAAAAFGoCAMxdAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAAAAABRqAgAjXgAAmGoCAORdAAAAAAAAAQAAAExeAAAAAAAA1O0AAJRpAgDEXQAAwFAAAAAAAAB8aQIAwFAAAMBQAABITwAAYFgAACRLAABgWAAAYFgAAHxpAgBpaWlpaWlpaWlpAAB8aQIAwFAAAMBQAABITwAAYFgAACRLAABgWAAAYFgAAGlpaWlpaWlpaQAAAAAAAAB8aQIAwFAAAMBQAABITwAAYFgAACRLAABgWAAAaWlpaWlpaWkAQZC+AQsWfGkCAMBQAADAUAAASE8AAGBYAAAkSwBBsL4BCzN8aQIAwFAAAMBQAABITwAAYFgAAKBdAADAUAAAwFAAAKBdAADAUAAAYFgAAHxpAgB8aQIAQfC+AQuyASRLAADAUAAALEkAACxdAABQTjJjdjdUcmFja2VyRQAA9GoCAIBfAAAAAAAA4N4BAFBLTjJjdjdUcmFja2VyRQD0agIAoF8AAAEAAADg3gEAHGkCAODeAQDAUAAALEkAACRLAADg3gEAwFAAAFReAAAcaQIAwFAAAMBQAADAUAAAHGkCAMBQAADAUAAAwFAAAMBQAAB8aQIAdmlpaWlpaQAcaQIAwFAAAMBQAADAUAAAwFAAQbDAAQsjNGkCAMBQAADAUAAAwFAAAMBQAADAUAAAwFAAADRpAgB8aQIAQeDAAQulFzRpAgDAUAAAwFAAAMBQAADAUAAAwFAAAMBQAAA0aQIANGkCAMBQAADAUAAAwFAAAMBQAADAUAAAwFAAAAAAAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACdAQAApgEAAKcBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAArwEAALABAACxAQAAsgEAALMBAAC0AQAAtQEAALYBAACuAQAAtwEAALgBAAC5AQAAugEAALsBAAC8AQAAvQEAAL4BAAC/AQAAwAEAAMEBAADCAQAAwwEAAMQBAADFAQAAxgEAAMcBAAC/AQAAyAEAAMkBAADKAQAAywEAAMwBAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAADTAQAA1AEAANUBAADWAQAA1wEAANgBAACuAQAAZnVuYyAhPSAwAGNvbnZlcnRUbwAvc3JjL21vZHVsZXMvY29yZS9zcmMvY29udmVydC5kaXNwYXRjaC5jcHAAANkBAADaAQAA2wEAANwBAADdAQAA3gEAAN8BAADgAQAA4QEAAOIBAADjAQAA5AEAAOUBAADmAQAA5wEAAOgBAADpAQAA6gEAAOsBAADsAQAA7QEAAO4BAADvAQAA8AEAAPEBAADyAQAA8wEAAPQBAAD1AQAA9gEAAPcBAAD4AQAA+QEAAPoBAAD7AQAA/AEAAP0BAAD+AQAA/wEAAAACAAABAgAAAgIAAAMCAAAEAgAABQIAAAYCAAAHAgAACAIAAAkCAAAKAgAACwIAAAwCAAANAgAADgIAAA8CAAAQAgAAEQIAABICAAATAgAAFAIAABUCAAAWAgAAFwIAABgCAAA8aW52YWxpZCB0eXBlPgAAEGMAABZjAAAcYwAAI2MAACpjAAAxYwAAOGMAAD9jAABDVl84VQBDVl84UwBDVl8xNlUAQ1ZfMTZTAENWXzMyUwBDVl8zMkYAQ1ZfNjRGAENWXzE2RgAlc0MlZAAgKGV4cGVjdGVkOiAnACAAJyksIHdoZXJlACAgICAnACcgaXMgACAoACkAbXVzdCBiZSAAOgAnAHdoZXJlAAAAAAAAAKxjAACwYwAAs2MAALZjAAC5YwAAu2MAAL5jAAA/Pz8APT0AIT0APD0APAA+PQA+ANxjAADrYwAA9GMAAAFkAAAXZAAAIWQAADpkAAB7Y3VzdG9tIGNoZWNrfQBlcXVhbCB0bwBub3QgZXF1YWwgdG8AbGVzcyB0aGFuIG9yIGVxdWFsIHRvAGxlc3MgdGhhbgBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8AZ3JlYXRlciB0aGFuAABAAAAAAAAAAIBlAAAaAgAAGwIAADgAAAD4////gGUAABwCAAAdAgAAwP///8D///+AZQAAHgIAAB8CAABUZAAAuGQAAPRkAAAIZQAAHGUAADBlAADgZAAAzGQAAHxkAABoZAAAQAAAAAAAAAB0OgIAIAIAACECAAA4AAAA+P///3Q6AgAiAgAAIwIAAMD////A////dDoCACQCAAAlAgAAQAAAAAAAAAAEOQIAJgIAACcCAADA////wP///wQ5AgAoAgAAKQIAADgAAAAAAAAAlDkCACoCAAArAgAAyP///8j///+UOQIALAIAAC0CAABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAAA8agIAOGUAAHQ6AgAAAAAAEGYAAC4CAAAvAgAAMAIAADECAAAyAgAAMwIAADQCAAA1AgAANgIAADcCAAA4AgAAOQIAADoCAAA7AgAATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAAA8agIAzGUAAJA4AgBbACB4IABdAAAAAACsZgAAPAIAAD0CAAA+AgAAPwIAAEACAABBAgAAQgIAAE4yY3Y1dXRpbHMxMl9HTE9CQUxfX05fMTE5QWxsb2NhdG9yU3RhdGlzdGljc0UATjJjdjV1dGlsczI4QWxsb2NhdG9yU3RhdGlzdGljc0ludGVyZmFjZUUAAAAAFGoCAHdmAAA8agIASGYAAKRmAABPUEVOQ1ZfRU5BQkxFX01FTUFMSUdOAEZhaWxlZCB0byBhbGxvY2F0ZSAlbGx1IGJ5dGVzAE91dE9mTWVtb3J5RXJyb3IAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FsbG9jLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYXJyYXkuY3BwAE5vbi1wb3NpdGl2ZSB3aWR0aCBvciBoZWlnaHQAY3ZDcmVhdGVNYXRIZWFkZXIASW52YWxpZCBtYXRyaXggdHlwZQAAY3ZJbml0TWF0SGVhZGVyAE5vbi1wb3NpdGl2ZSBjb2xzIG9yIHJvd3MAY3ZSZWxlYXNlTWF0AEJhZCBDdk1hdCBoZWFkZXIAY3ZDbG9uZU1hdABJbnZhbGlkIHNwYXJzZSBtYXRyaXggaGVhZGVyAGN2SW5pdFNwYXJzZU1hdEl0ZXJhdG9yAE5VTEwgaXRlcmF0b3IgcG9pbnRlcgBEYXRhIGlzIGFscmVhZHkgYWxsb2NhdGVkAGN2Q3JlYXRlRGF0YQBUb28gYmlnIGJ1ZmZlciBpcyBhbGxvY2F0ZWQAT3ZlcmZsb3cgZm9yIGltYWdlU2l6ZQB1bnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBPbmx5IGNvbnRpbnVvdXMgbkQgYXJyYXlzIGFyZSBzdXBwb3J0ZWQgaGVyZQBjdkdldENvbHMATlVMTCBhcnJheSBwb2ludGVyIGlzIHBhc3NlZABjdkdldE1hdABUaGUgbWF0cml4IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBUaGUgaW1hZ2UgaGFzIE5VTEwgZGF0YSBwb2ludGVyAEltYWdlcyB3aXRoIHBsYW5hciBkYXRhIGxheW91dCBzaG91bGQgYmUgdXNlZCB3aXRoIENPSSBzZWxlY3RlZABUaGUgaW1hZ2UgaXMgaW50ZXJsZWF2ZWQgYW5kIGhhcyBvdmVyIENWX0NOX01BWCBjaGFubmVscwBQaXhlbCBvcmRlciBzaG91bGQgYmUgdXNlZCB3aXRoIGNvaSA9PSAwAElucHV0IGFycmF5IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBVbnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdHJpeCBlbGVtZW50cyBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIHJvd3MAY3ZSZXNoYXBlAENPSSBpcyBub3Qgc3VwcG9ydGVkAFRoZSBtYXRyaXggaXMgbm90IGNvbnRpbnVvdXMsIHRodXMgaXRzIG51bWJlciBvZiByb3dzIGNhbiBub3QgYmUgY2hhbmdlZABCYWQgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAGN2R2V0SW1hZ2VDT0kAc3JjICYmIG5zcmNzID4gMCAmJiBkc3QgJiYgbmRzdHMgPiAwICYmIGZyb21UbyAmJiBucGFpcnMgPiAwAG1peENoYW5uZWxzAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jaGFubmVscy5jcHAAaiA8IG5zcmNzICYmIHNyY1tqXS5kZXB0aCgpID09IGRlcHRoAGkxID49IDAgJiYgaiA8IG5kc3RzICYmIGRzdFtqXS5kZXB0aCgpID09IGRlcHRoAEGQ2AELmiFDAgAAQwIAAEQCAABEAgAARQIAAEUCAABGAgAAAAAAAGNuIDw9IDQAc2NhbGFyVG9SYXdEYXRhAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3B5LmNwcAAAY3Z0Rm4AY29udmVydEFuZFVucm9sbFNjYWxhcgBzY24gPT0gMQBjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51ICE9IE5VTEwAZGltcyA+IDAgJiYgZGltcyA8IENWX01BWF9ESU0A/GwAAEhsAABmAQAABQAAAGdsAAAobQAAMW0AAHZvaWQgY3Y6Ok1hdDo6Y29weVRvKGN2OjpPdXRwdXRBcnJheSkgY29uc3QAc3oud2lkdGgAMABtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikAc2l6ZSgpID09IG1hc2suc2l6ZSgpAHN6IDw9IHNpemVvZihzY2FsYXIpAG9wZXJhdG9yPQBjaGVja1NjYWxhcih2YWx1ZSwgdHlwZSgpLCBfdmFsdWUua2luZCgpLCBfSW5wdXRBcnJheTo6TUFUICkAc2V0VG8AbWFzay5lbXB0eSgpIHx8IChtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikgJiYgc2l6ZSA9PSBtYXNrLnNpemUpAF9zcmMuZ2V0T2JqKCkgIT0gX2RzdC5nZXRPYmooKQByZXBlYXQAX3NyYy5kaW1zKCkgPD0gMgBueSA+IDAgJiYgbnggPiAwAG1hc2thcnIgPT0gMABjdkNvcHkAc3JjLmRlcHRoKCkgPT0gZHN0LmRlcHRoKCkgJiYgc3JjLnNpemUgPT0gZHN0LnNpemUAKGNvaTEgIT0gMCB8fCBzcmMuY2hhbm5lbHMoKSA9PSAxKSAmJiAoY29pMiAhPSAwIHx8IGRzdC5jaGFubmVscygpID09IDEpAHNyYy5jaGFubmVscygpID09IGRzdC5jaGFubmVscygpAAAvc3JjL21vZHVsZXMvY29yZS9zcmMvZGF0YXN0cnVjdHMuY3BwAGN2UmVzdG9yZU1lbVN0b3JhZ2VQb3MATlVMTCBzdG9yYWdlIHBvaW50ZXIAY3ZNZW1TdG9yYWdlQWxsb2MAVG9vIGxhcmdlIG1lbW9yeSBibG9jayBpcyByZXF1ZXN0ZWQAc3RvcmFnZS0+ZnJlZV9zcGFjZSAlIENWX1NUUlVDVF9BTElHTiA9PSAwAHJlcXVlc3RlZCBzaXplIGlzIG5lZ2F0aXZlIG9yIHRvbyBiaWcAKHNpemVfdClwdHIgJSBDVl9TVFJVQ1RfQUxJR04gPT0gMABjdlNldFNlcUJsb2NrU2l6ZQBTdG9yYWdlIGJsb2NrIHNpemUgaXMgdG9vIHNtYWxsIHRvIGZpdCB0aGUgc2VxdWVuY2UgZWxlbWVudHMAY3ZDdnRTZXFUb0FycmF5AGN2U2V0U2VxUmVhZGVyUG9zAE5VTEwgc2VxdWVuY2UgcG9pbnRlcgBudW1iZXIgb2YgcmVtb3ZlZCBlbGVtZW50cyBpcyBuZWdhdGl2ZQBjdlNlcVBvcE11bHRpAGRlbHRhID4gMABjdkNsZWFyU2VxAGN2U2V0QWRkAGNvdW50IDw9IENWX1NFVF9FTEVNX0lEWF9NQVNLKzEAaWN2R29OZXh0TWVtQmxvY2sAcGFyZW50LT5ib3R0b20gPT0gYmxvY2sAaWN2R3Jvd1NlcQBUaGUgc2VxdWVuY2UgaGFzIE5VTEwgc3RvcmFnZSBwb2ludGVyAHN0b3JhZ2UtPmZyZWVfc3BhY2UgPj0gZGVsdGEAYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMCAmJiBibG9jay0+Y291bnQgPiAwAHNlcS0+Zmlyc3QtPnN0YXJ0X2luZGV4ID09IDAAKGluX2Zyb250X29mID8gYmxvY2sgOiBibG9jay0+cHJldiktPmNvdW50ID09IDAAaWN2RnJlZVNlcUJsb2NrAHNlcS0+cHRyID09IGJsb2NrLT5kYXRhAGJsb2NrLT5jb3VudCA+IDAgJiYgYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMAAvc3JjL21vZHVsZXMvY29yZS9zcmMvbGFwYWNrLmNwcAAhbWF0LmVtcHR5KCkAZGV0ZXJtaW5hbnQAbWF0LnJvd3MgPT0gbWF0LmNvbHMgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQB0eXBlID09IENWXzMyRiB8fCB0eXBlID09IENWXzY0RgBpbnZlcnQAbSA9PSBuAG1ldGhvZCA9PSBERUNPTVBfTFUgfHwgbWV0aG9kID09IERFQ09NUF9DSE9MRVNLWQBuID09IDEAdHlwZSA9PSBfc3JjMi50eXBlKCkgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQBzb2x2ZQC4cwAAf3IAAEgEAAAAAAAA/XMAACJ0AAApdAAAYm9vbCBjdjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCkAVW5zdXBwb3J0ZWQgbWV0aG9kLCBzZWUgI0RlY29tcFR5cGVzAG1ldGhvZABtZXRob2QgPT0gREVDT01QX0xVIHx8IG1ldGhvZCA9PSBERUNPTVBfU1ZEIHx8IG1ldGhvZCA9PSBERUNPTVBfRUlHIHx8IG1ldGhvZCA9PSBERUNPTVBfQ0hPTEVTS1kgfHwgbWV0aG9kID09IERFQ09NUF9RUgAobWV0aG9kICE9IERFQ09NUF9MVSAmJiBtZXRob2QgIT0gREVDT01QX0NIT0xFU0tZKSB8fCBpc19ub3JtYWwgfHwgc3JjLnJvd3MgPT0gc3JjLmNvbHMAc3JjLnJvd3MgPT0gMQBUaGUgZnVuY3Rpb24gY2FuIG5vdCBzb2x2ZSB1bmRlci1kZXRlcm1pbmVkIGxpbmVhciBzeXN0ZW1zAHNyYy5yb3dzID09IHNyYy5jb2xzAGVpZ2VuAHcudHlwZSgpID09IHUudHlwZSgpICYmIHUudHlwZSgpID09IHZ0LnR5cGUoKSAmJiB1LmRhdGEgJiYgdnQuZGF0YSAmJiB3LmRhdGEAYmFja1N1YnN0AHUuY29scyA+PSBubSAmJiB2dC5yb3dzID49IG5tICYmICh3LnNpemUoKSA9PSBTaXplKG5tLCAxKSB8fCB3LnNpemUoKSA9PSBTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBTaXplKHZ0LnJvd3MsIHUuY29scykpAHJocy5kYXRhID09IDAgfHwgKHJocy50eXBlKCkgPT0gdHlwZSAmJiByaHMucm93cyA9PSBtKQAAcm93cyA9PSBtYXQtPmNvbHMAY3ZEZXQAc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpICYmIHNyYy5yb3dzID09IGRzdC5jb2xzICYmIHNyYy5jb2xzID09IGRzdC5yb3dzAGN2SW52ZXJ0AEEudHlwZSgpID09IHgudHlwZSgpICYmIEEuY29scyA9PSB4LnJvd3MgJiYgeC5jb2xzID09IGIuY29scwBjdlNvbHZlAHcudHlwZSgpID09IHR5cGUgJiYgKHcuc2l6ZSgpID09IGN2OjpTaXplKG5tLDEpIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBjdjo6U2l6ZShubSwgbm0pIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKG4sIG0pKQBjdlNWRAB1LnR5cGUoKSA9PSB0eXBlAHYudHlwZSgpID09IHR5cGUAdS5zaXplKCkgPT0gc3ZkLnUuc2l6ZSgpAHYuc2l6ZSgpID09IHN2ZC52dC5zaXplKCkAX1NWRGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5zaW1kLmhwcABjbXBvcCA9PSBDTVBfTkUAY21wX2xvb3Bfbm9zaW1kAGNtcF9sb29wAG9wID09IENNUF9MVCB8fCBvcCA9PSBDTVBfTEUgfHwgb3AgPT0gQ01QX0VRIHx8IG9wID09IENNUF9ORSB8fCBvcCA9PSBDTVBfR0UgfHwgb3AgPT0gQ01QX0dUAGNvbXBhcmUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5jcHAAX3NyYzEuZW1wdHkoKSA9PSBfc3JjMi5lbXB0eSgpAFRoZSBvcGVyYXRpb24gaXMgbmVpdGhlciAnYXJyYXkgb3AgYXJyYXknICh3aGVyZSBhcnJheXMgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCB0aGUgc2FtZSB0eXBlKSwgbm9yICdhcnJheSBvcCBzY2FsYXInLCBub3IgJ3NjYWxhciBvcCBhcnJheScAVW5zdXBwb3J0ZWQgZGVwdGggdmFsdWUgQ1ZfMTZGAGZ1bmMAY3Z0Rm4Ac3JjMS5zaXplID09IGRzdC5zaXplICYmIHNyYzEuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdlN1YgBiaW5hcnlfb3AAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHR5cGUpLCBub3IgJ2FycmF5IG9wIHNjYWxhcicsIG5vciAnc2NhbGFyIG9wIGFycmF5JwBwc3JjMS0+c2FtZVNpemUoKnBzcmMyKSAmJiB0eXBlMSA9PSB0eXBlMgAobXR5cGUgPT0gQ1ZfOFUgfHwgbXR5cGUgPT0gQ1ZfOFMpICYmIF9tYXNrLnNhbWVTaXplKCpwc3JjMSkAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHRoZSBzYW1lIG51bWJlciBvZiBjaGFubmVscyksIG5vciAnYXJyYXkgb3Agc2NhbGFyJywgbm9yICdzY2FsYXIgb3AgYXJyYXknAGFyaXRobV9vcAB0eXBlMiA9PSBDVl82NEYgJiYgKHN6Mi5oZWlnaHQgPT0gMSB8fCBzejIuaGVpZ2h0ID09IDQpAFdoZW4gdGhlIGlucHV0IGFycmF5cyBpbiBhZGQvc3VidHJhY3QvbXVsdGlwbHkvZGl2aWRlIGZ1bmN0aW9ucyBoYXZlIGRpZmZlcmVudCB0eXBlcywgdGhlIG91dHB1dCBhcnJheSB0eXBlIG11c3QgYmUgZXhwbGljaXRseSBzcGVjaWZpZWQAKG10eXBlID09IENWXzhVQzEgfHwgbXR5cGUgPT0gQ1ZfOFNDMSkgJiYgX21hc2suc2FtZVNpemUoKnBzcmMxKQCVAgAAlgIAAJcCAACYAgAAmQIAAJoCAACbAgBBvvkBCwJgwABBzvkBCxrgwAAAAAAAAODBAAAA4P//78f////////v/wBB9fkBC9UI4G9AAAAAAADAX0AAAAAA4P/vQAAAAADA/99AAADA////30EAAADg///vR////////+9/AAAAAAAAAAAEAAAAAQAAAAIAAAAwICYmICJOb3Qgc3VwcG9ydGVkIgAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLnNpbWQuaHBwAGdldFNjYWxlQWRkRnVuYwBmdW5jICYmICJOb3Qgc3VwcG9ydGVkIgBnZXRNdWxUcmFuc3Bvc2VkRnVuYwAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLmRpc3BhdGNoLmNwcAB0eXBlID09IEIudHlwZSgpAGdlbW0AKHR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgdHlwZSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCB0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpIHx8IHR5cGUgPT0gKCgoNikgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkpAGFfc2l6ZS53aWR0aCA9PSBsZW4AYV9zaXplLmhlaWdodCA9PSBsZW4AQy50eXBlKCkgPT0gdHlwZQAoKChmbGFncyZHRU1NXzNfVCkgPT0gMCAmJiBDLnJvd3MgPT0gZF9zaXplLmhlaWdodCAmJiBDLmNvbHMgPT0gZF9zaXplLndpZHRoKSB8fCAoKGZsYWdzJkdFTU1fM19UKSAhPSAwICYmIEMucm93cyA9PSBkX3NpemUud2lkdGggJiYgQy5jb2xzID09IGRfc2l6ZS5oZWlnaHQpKQB0eXBlID09IENWXzY0RkMyAGZ1bmMgIT0gMAB0eXBlID09IF9zcmMyLnR5cGUoKQBzY2FsZUFkZABzcmMxLnNpemUgPT0gc3JjMi5zaXplAHNyYy5jaGFubmVscygpID09IDEAbXVsVHJhbnNwb3NlZABkZWx0YS5jaGFubmVscygpID09IDEAKGRlbHRhLnJvd3MgPT0gc3JjLnJvd3MgfHwgZGVsdGEucm93cyA9PSAxKQAoZGVsdGEuY29scyA9PSBzcmMuY29scyB8fCBkZWx0YS5jb2xzID09IDEpAABtYXQudHlwZSgpID09IHR5cGUoKQBkb3QAbWF0LnNpemUgPT0gc2l6ZQAoRC5yb3dzID09ICgoZmxhZ3MgJiAxKSA9PSAwID8gQS5yb3dzIDogQS5jb2xzKSkAY3ZHRU1NAChELmNvbHMgPT0gKChmbGFncyAmIDIpID09IDAgPyBCLmNvbHMgOiBCLnJvd3MpKQBELnR5cGUoKSA9PSBBLnR5cGUoKQAAAAAAAAAAvAIAAL0CAAC+AgAAvwIAAMACAADBAgAAwgIAQYCDAguILGdlbW1JbXBsADAAR0VNTV9UcmFuc3Bvc2VCbG9jawBkZWx0YV9jb2xzID09IDEATXVsVHJhbnNwb3NlZFIAc3pbaV0gPD0gKHNpemVfdClJTlRfTUFYAGRvd25sb2FkAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tYXRyaXguY3BwAHVwbG9hZABjb3B5ADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABTdGVwICV6dSBmb3IgZGltZW5zaW9uICVkIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxICV6dQBUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAdG90YWwoKSA9PSAwIHx8IGRhdGEgIT0gTlVMTABNYXQAX3N0ZXAgPj0gbWluc3RlcABTdGVwIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxAAAAAByDAADggQAA0gEAAAUAAABIgwAASYMAAE+DAABjdjo6TWF0OjpNYXQoY3Y6OlNpemUsIGludCwgdm9pZCAqLCBzaXplX3QpAABfc3RlcABtaW5zdGVwAG0uc3RlcC5wICE9IG0uc3RlcC5idWYAb3BlcmF0b3I9ADAgPD0gZCAmJiBkIDw9IENWX01BWF9ESU0gJiYgX3NpemVzAGNyZWF0ZQB1ICE9IDAAc3RlcFtkaW1zLTFdID09IChzaXplX3QpQ1ZfRUxFTV9TSVpFKGZsYWdzKQBtLmRpbXMgPj0gMgAwIDw9IF9yb3dSYW5nZS5zdGFydCAmJiBfcm93UmFuZ2Uuc3RhcnQgPD0gX3Jvd1JhbmdlLmVuZCAmJiBfcm93UmFuZ2UuZW5kIDw9IG0ucm93cwAwIDw9IF9jb2xSYW5nZS5zdGFydCAmJiBfY29sUmFuZ2Uuc3RhcnQgPD0gX2NvbFJhbmdlLmVuZCAmJiBfY29sUmFuZ2UuZW5kIDw9IG0uY29scwBtLmRpbXMgPD0gMgAwIDw9IHJvaS54ICYmIDAgPD0gcm9pLndpZHRoICYmIHJvaS54ICsgcm9pLndpZHRoIDw9IG0uY29scyAmJiAwIDw9IHJvaS55ICYmIDAgPD0gcm9pLmhlaWdodCAmJiByb2kueSArIHJvaS5oZWlnaHQgPD0gbS5yb3dzAHJhbmdlcwByID09IFJhbmdlOjphbGwoKSB8fCAoMCA8PSByLnN0YXJ0ICYmIHIuc3RhcnQgPCByLmVuZCAmJiByLmVuZCA8PSBtLnNpemVbaV0pAGRpbXMgPD0gMgBkaWFnAGRpbXMgPD0gMiAmJiBzdGVwWzBdID4gMABsb2NhdGVST0kAYWRqdXN0Uk9JAHJlc2hhcGUAVGhlIG1hdHJpeCBpcyBub3QgY29udGludW91cywgdGh1cyBpdHMgbnVtYmVyIG9mIHJvd3MgY2FuIG5vdCBiZSBjaGFuZ2VkAEJhZCBuZXcgbnVtYmVyIG9mIHJvd3MAVGhlIHRvdGFsIG51bWJlciBvZiBtYXRyaXggZWxlbWVudHMgaXMgbm90IGRpdmlzaWJsZSBieSB0aGUgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAF9jbiA+PSAwICYmIF9uZXduZGltcyA+IDAgJiYgX25ld25kaW1zIDw9IENWX01BWF9ESU0gJiYgX25ld3N6AF9jbiA8PSBDVl9DTl9NQVgAX25ld3N6W2ldID49IDAAQ29weSBkaW1lbnNpb24gKHdoaWNoIGhhcyB6ZXJvIHNpemUpIGlzIG5vdCBwcmVzZW50IGluIHNvdXJjZSBtYXRyaXgAUmVxdWVzdGVkIGFuZCBzb3VyY2UgbWF0cmljZXMgaGF2ZSBkaWZmZXJlbnQgY291bnQgb2YgZWxlbWVudHMAUmVzaGFwaW5nIG9mIG4tZGltZW5zaW9uYWwgbm9uLWNvbnRpbnVvdXMgbWF0cmljZXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQA4IcAAOCBAAAXBQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgaW50KQBtMS5kaW1zADIAADiIAADggQAAHQUAAAMAAABIgwAAEYgAABmIAABjdjo6U2l6ZSBjdjo6Z2V0Q29udGludW91c1NpemUyRChjdjo6TWF0ICYsIGN2OjpNYXQgJiwgaW50KQA4iAAA4IEAAB4FAAADAAAASIMAAJCIAAAZiAAAbTIuZGltcwA4iAAA4IEAACMFAAABAAAASIMAALSIAAC9iAAAdG90YWxfc3oAbTIudG90YWwoKQBpc19tMV92ZWN0b3IAZ2V0Q29udGludW91c1NpemUyRABpc19tMl92ZWN0b3IAbTEuY29scyA9PSBtMi5jb2xzICYmIG0xLnJvd3MgPT0gbTIucm93cwAAPIkAAOCBAAA3BQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgY3Y6Ok1hdCAmLCBjdjo6TWF0ICYsIGludCkAADyJAADggQAAOAUAAAMAAABIgwAAkIgAABmIAAA8iQAA4IEAADkFAAADAAAASIMAALyJAAAZiAAAbTMuZGltcwA8iQAA4IEAAD4FAAABAAAASIMAALSIAAC9iAAAPIkAAOCBAAA/BQAAAQAAAEiDAAC0iAAA/IkAAG0zLnRvdGFsKCkAaXNfbTNfdmVjdG9yAG0xLmNvbHMgPT0gbTIuY29scyAmJiBtMS5yb3dzID09IG0yLnJvd3MgJiYgbTEuY29scyA9PSBtMy5jb2xzICYmIG0xLnJvd3MgPT0gbTMucm93cwBOMmN2MTJNYXRBbGxvY2F0b3JFAAAAABRqAgBpigAAAAAAAPCKAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAABOMmN2MjVEdW1teUJ1ZmZlclBvb2xDb250cm9sbGVyRQBOMmN2MjBCdWZmZXJQb29sQ29udHJvbGxlckUAAAAAFGoCAMmKAAA8agIAqIoAAOiKAAAAAAAASIsAAMkCAADKAgAAywIAAMwCAADNAgAAzgIAAM8CAADQAgAA0QIAANICAADTAgAATjJjdjE1U3RkTWF0QWxsb2NhdG9yRQAAPGoCADCLAACAigAAdG90YWwgPD0gc3RlcFtpXQBhbGxvY2F0ZQB1LT51cmVmY291bnQgPT0gMABkZWFsbG9jYXRlAHUtPnJlZmNvdW50ID09IDAAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9jLmNwcABDT0kgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZnVuY3Rpb24AY3ZhcnJUb01hdAB0b3RhbCA+IDAgJiYgQ1ZfRUxFTV9TSVpFKHNlcS0+ZmxhZ3MpID09IGVzegBVbmtub3duIGFycmF5IHR5cGUAQ1ZfSVNfSU1BR0UoYXJyKQBleHRyYWN0SW1hZ2VDT0kAMCA8PSBjb2kgJiYgY29pIDwgbWF0LmNoYW5uZWxzKCkAc3JjLnJvd3MgPT0gZHN0LmNvbHMgJiYgc3JjLmNvbHMgPT0gZHN0LnJvd3MgJiYgc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpAGN2VHJhbnNwb3NlAHNyY0Euc2l6ZSgpID09IGRzdC5zaXplKCkgJiYgc3JjQS50eXBlKCkgPT0gZHN0LnR5cGUoKQBjdkNyb3NzUHJvZHVjdABpbWctPmRhdGFPcmRlciA9PSBJUExfREFUQV9PUkRFUl9QSVhFTABpcGxJbWFnZVRvTWF0AGltZy0+ZGF0YU9yZGVyID09IElQTF9EQVRBX09SREVSX1BJWEVMIHx8IGltZy0+cm9pLT5jb2kgIT0gMABnbG9iYWwAJWRAJTAuM2YAJWRAJWxsdQAlZABbRkFUQUw6AF0gAFtFUlJPUjoAWyBXQVJOOgBbIElORk86AFtERUJVRzoAIAAoACkgAE9QRU5DVl9MT0dfTEVWRUwAAE9QRU5DVl9MT0dfVElNRVNUQU1QAE9QRU5D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KXZ2LnNpemUoKQAwIDw9IGkgJiYgaSA8IChpbnQpdi5zaXplKCkAMCA8PSBpICYmIGkgPCBzei5oZWlnaHQAWW91IHNob3VsZCBleHBsaWNpdGx5IGNhbGwgbWFwSG9zdC91bm1hcEhvc3QgbWV0aG9kcyBmb3Igb2dsOjpCdWZmZXIgb2JqZWN0AFlvdSBzaG91bGQgZXhwbGljaXRseSBjYWxsIGRvd25sb2FkIG1ldGhvZCBmb3IgY3VkYTo6R3B1TWF0IG9iamVjdABVbmtub3duL3Vuc3VwcG9ydGVkIGFycmF5IHR5cGUAZ2V0VU1hdABnZXRNYXRWZWN0b3IAZ2V0VU1hdFZlY3RvcgBDVURBIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9DVURBKQBzaXplAGkgPCAoaW50KXZ2LnNpemUoKQBpIDwgc3ouaGVpZ2h0AHNpemVuZAComgAA0pgAADcCAAADAAAA1poAAOSaAADsmgAAaW50IGN2OjpfSW5wdXRBcnJheTo6c2l6ZW5kKGludCAqLCBpbnQpIGNvbnN0AE5vdCBzdXBwb3J0ZWQAZGltcyhpKQAyAGRpbXMAKGZsYWdzICYgRklYRURfVFlQRSkgIT0gMAB0eXBlAGVtcHR5AGkgPj0gMCAmJiAoc2l6ZV90KWkgPCB2di5zaXplKCkAaXNDb250aW51b3VzAGkgPj0gMCAmJiBpIDwgc3ouaGVpZ2h0AABjb3B5VG8AIWZpeGVkU2l6ZSgpIHx8ICgoTWF0KilvYmopLT5zaXplLm9wZXJhdG9yKCkoKSA9PSBfc3oAY3JlYXRlACFmaXhlZFR5cGUoKSB8fCAoKE1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IF9zegAhZml4ZWRUeXBlKCkgfHwgKChVTWF0KilvYmopLT50eXBlKCkgPT0gbXR5cGUAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6R3B1TWF0KilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKGN1ZGE6OkdwdU1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT50eXBlKCkgPT0gbXR5cGUAT3BlbkdMIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9PUEVOR0wpACFmaXhlZFNpemUoKSB8fCAoKGN1ZGE6Okhvc3RNZW0qKW9iaiktPnNpemUoKSA9PSBfc3oAIWZpeGVkVHlwZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKE1hdCopb2JqKS0+c2l6ZS5vcGVyYXRvcigpKCkgPT0gU2l6ZShfY29scywgX3Jvd3MpACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhZml4ZWRTaXplKCkgfHwgKChjdWRhOjpHcHVNYXQqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgob2dsOjpCdWZmZXIqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+c2l6ZSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhKG0uZW1wdHkoKSAmJiBmaXhlZFR5cGUoKSAmJiBmaXhlZFNpemUoKSkgJiYgIkNhbid0IHJlYWxsb2NhdGUgZW1wdHkgTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiALSfAADSmAAAFAUAAAEAAAAToAAAZKAAAG2gAAB2b2lkIGN2OjpfT3V0cHV0QXJyYXk6OmNyZWF0ZShpbnQsIGNvbnN0IGludCAqLCBpbnQsIGludCwgYm9vbCwgX091dHB1dEFycmF5OjpEZXB0aE1hc2spIGNvbnN0AENhbid0IHJlYWxsb2NhdGUgTWF0IHdpdGggbG9ja2VkIHR5cGUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAG0udHlwZSgpAENWX01BVF9UWVBFKG10eXBlKQC0nwAA0pgAABgFAAABAAAAnKAAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBNYXQgd2l0aCBsb2NrZWQgc2l6ZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAbS5kaW1zAGQAAAC0nwAA0pgAABoFAAABAAAAnKAAABShAAAeoQAAbS5zaXplW2pdAHNpemVzW2pdACEobS5lbXB0eSgpICYmIGZpeGVkVHlwZSgpICYmIGZpeGVkU2l6ZSgpKSAmJiAiQ2FuJ3QgcmVhbGxvY2F0ZSBlbXB0eSBVTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiAAAAALSfAADSmAAAMgUAAAEAAADQoQAAZKAAAG2gAABDYW4ndCByZWFsbG9jYXRlIFVNYXQgd2l0aCBsb2NrZWQgdHlwZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAAAC0nwAA0pgAADYFAAABAAAAQKIAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBVTWF0IHdpdGggbG9ja2VkIHNpemUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAAAAtJ8AANKYAAA4BQAAAQAAAECiAAAUoQAAHqEAAG10eXBlID09IHR5cGUwIHx8IChDVl9NQVRfQ04obXR5cGUpID09IDEgJiYgKCgxIDw8IHR5cGUwKSAmIGZpeGVkRGVwdGhNYXNrKSAhPSAwKQAAALSfAADSmAAAQwUAAAMAAABdmwAA9KAAAOyaAAC0nwAA0pgAAEkFAAAAAAAAXZsAADyjAABLowAAcmVxdWVzdGVkX3NpemUAc3RkOjptYXgocmVxdWVzdGVkX3NpemUud2lkdGgsIHJlcXVlc3RlZF9zaXplLmhlaWdodCkgPT0gdG90YWxfMWQAAAAAtJ8AANKYAABPBQAAAQAAAF2bAAA8owAArKMAAHN6AAC0nwAA0pgAAFUFAAAAAAAAXZsAADyjAADMowAAKHJlcXVlc3RlZF9zaXplID09IHN6IHx8IChyZXF1ZXN0ZWRfc2l6ZS5oZWlnaHQgPT0gc3oud2lkdGggJiYgcmVxdWVzdGVkX3NpemUud2lkdGggPT0gc3ouaGVpZ2h0KSkAZCA9PSAyICYmIChzaXplc1swXSA9PSAxIHx8IHNpemVzWzFdID09IDEgfHwgc2l6ZXNbMF0qc2l6ZXNbMV0gPT0gMCkAIWZpeGVkU2l6ZSgpIHx8IGxlbiA9PSB2di5zaXplKCkAbXR5cGUgPT0gdHlwZTAgfHwgKENWX01BVF9DTihtdHlwZSkgPT0gQ1ZfTUFUX0NOKHR5cGUwKSAmJiAoKDEgPDwgdHlwZTApICYgZml4ZWREZXB0aE1hc2spICE9IDApACFmaXhlZFNpemUoKSB8fCBsZW4gPT0gKChzdGQ6OnZlY3Rvcjx1Y2hhcj4qKXYpLT5zaXplKCkgLyBlc3oAVmVjdG9ycyB3aXRoIGVsZW1lbnQgc2l6ZSAlZCBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlLCBtb2RpZnkgT3V0cHV0QXJyYXk6OmNyZWF0ZSgpCgBjcmVhdGUoKSBjYWxsZWQgZm9yIHRoZSBtaXNzaW5nIG91dHB1dCBhcnJheQAhZml4ZWRTaXplKCkgfHwgbGVuID09IGxlbjAAdltqXS5lbXB0eSgpAGkgPCAoaW50KXYuc2l6ZSgpACFmaXhlZFR5cGUoKSAmJiAhZml4ZWRTaXplKCkAQ1ZfTUFUX1RZUEUobXR5cGUpID09IG0udHlwZSgpAG0uZGltcyA9PSBkAG0uc2l6ZVtqXSA9PSBzaXplc1tqXQBsZW4gPT0gbGVuMAAhZml4ZWRTaXplKCkAcmVsZWFzZQBrID09IE1BVABnZXRNYXRSZWYAayA9PSBTVERfVkVDVE9SX01BVCB8fCBrID09IFNURF9BUlJBWV9NQVQAc2V0VG8AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAoY24gPT0gMSAmJiAoX21hc2suZW1wdHkoKSB8fCBfbWFzay50eXBlKCkgPT0gQ1ZfOFUpKSB8fCAoY24gPiAxICYmIF9tYXNrLmVtcHR5KCkgJiYgIW1pbklkeCAmJiAhbWF4SWR4KQBtaW5NYXhJZHgAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21pbm1heC5jcHAAZnVuYyAhPSAwAF9pbWcuZGltcygpIDw9IDIAbWluTWF4TG9jAEHAzwIL3SgtAwAALgMAAC8DAAAwAwAAMQMAADIDAAAzAwAAAAAAAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAQEBAQICAgECAgIBAgICAQICAgIDAwMCAwMDAgMDAwECAgICAwMDAgMDAwIDAwMBAgICAgMDAwIDAwMCAwMDAQICAgIDAwMCAwMDAgMDAwIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAECAgICAwMDAgMDAwIDAwMCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQBAgICAgMDAwIDAwMCAwMDAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAAEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAm5vcm1UeXBlID09IE5PUk1fSU5GIHx8IG5vcm1UeXBlID09IE5PUk1fTDEgfHwgbm9ybVR5cGUgPT0gTk9STV9MMiB8fCBub3JtVHlwZSA9PSBOT1JNX0wyU1FSIHx8ICgobm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HIHx8IG5vcm1UeXBlID09IE5PUk1fSEFNTUlORzIpICYmIF9zcmMudHlwZSgpID09IENWXzhVKQBub3JtAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9ub3JtLmNwcABtYXNrLmVtcHR5KCkgfHwgbWFzay50eXBlKCkgPT0gQ1ZfOFUAZnVuYyAhPSAwAAAAAASsAACXqwAAxwIAAAQAAAA5rAAAOqwAAEqsAABkb3VibGUgY3Y6Om5vcm0oY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAAAoc2l6ZV90KWl0LnNpemUAKHNpemVfdClJTlRfTUFYAAAAeKwAAJerAAA5BAAAAQAAAL2sAADRrAAA3qwAAGRvdWJsZSBjdjo6bm9ybShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAElucHV0IHR5cGUgbWlzbWF0Y2gAX3NyYzEudHlwZSgpAF9zcmMyLnR5cGUoKQBfc3JjMS5zYW1lU2l6ZShfc3JjMikAbm9ybVR5cGUgPT0gTk9STV9JTkYgfHwgbm9ybVR5cGUgPT0gTk9STV9MMSB8fCBub3JtVHlwZSA9PSBOT1JNX0wyIHx8IG5vcm1UeXBlID09IE5PUk1fTDJTUVIgfHwgKChub3JtVHlwZSA9PSBOT1JNX0hBTU1JTkcgfHwgbm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HMikgJiYgc3JjMS50eXBlKCkgPT0gQ1ZfOFUpAAB4rAAAl6sAAKUEAAAEAAAAOawAADqsAABKrAAANAMAADUDAAA2AwAANwMAADgDAAA5AwAAOgMAAAAAAAA7AwAAPAMAAD0DAAA+AwAAPwMAAEADAABBAwAAAAAAAEIDAABDAwAARAMAAEUDAABGAwAARwMAAEgDAAAAAAAASQMAAEoDAABLAwAATAMAAE0DAABOAwAATwMAAAAAAABQAwAAUQMAAFIDAABTAwAAVAMAAFUDAABWAwAAAAAAAFcDAABYAwAAWQMAAFoDAABbAwAAXAMAAF0DAAAAAAAATjJjdjE2UGFyYWxsZWxMb29wQm9keUUAFGoCAJCuAAAAAAAA9K4AAF8DAABgAwAAYQMAAE4yY3YxMl9HTE9CQUxfX05fMTIzUGFyYWxsZWxMb29wQm9keVdyYXBwZXJFAAAAADxqAgDErgAAqK4AAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wYXJhbGxlbC9wYXJhbGxlbC5jcHAAY29yZShwYXJhbGxlbCk6IEJ1aWx0aW4gYmFja2VuZHMoACk6IAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGFyYWxsZWwvcmVnaXN0cnlfcGFyYWxsZWwuaW1wbC5ocHAAUGFyYWxsZWxCYWNrZW5kUmVnaXN0cnkAY29yZShwYXJhbGxlbCk6IFVwZGF0ZWQgYmFja2VuZHMgcHJpb3JpdGllczogAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV8lcwBjb3JlKHBhcmFsbGVsKTogRGlzYWJsZSBiYWNrZW5kOiAAY29yZShwYXJhbGxlbCk6IEF2YWlsYWJsZSBiYWNrZW5kcygAY29yZShwYXJhbGxlbCk6IEVuYWJsZWQgYmFja2VuZHMoACwgc29ydGVkIGJ5IHByaW9yaXR5KTogAE4vQQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplADsgAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUAGNvcmUocGFyYWxsZWwpOiBDb25maWd1cmVkIHByaW9yaXR5IGxpc3QgKE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUKTogAHJlYWRQcmlvcml0eVNldHRpbmdzAGNvcmUocGFyYWxsZWwpOiBOZXcgYmFja2VuZCBwcmlvcml0eTogJwAnID0+IABjb3JlKHBhcmFsbGVsKTogQWRkaW5nIHBhcmFsbGVsIGJhY2tlbmQgKHBsdWdpbik6ICcAJwBjb3JlKHBhcmFsbGVsKTogSW5pdGlhbGl6aW5nIHBhcmFsbGVsIGJhY2tlbmQuLi4AY3JlYXRlRGVmYXVsdFBhcmFsbGVsRm9yQVBJAE9QRU5DVl9QQVJBTExFTF9CQUNLRU5EAABjb3JlKHBhcmFsbGVsKTogcmVxdWVzdGVkIGJhY2tlbmQgbmFtZTogAGNyZWF0ZVBhcmFsbGVsRm9yQVBJAGNvcmUocGFyYWxsZWwpOiB0cnlpbmcgYmFja2VuZDogACAocHJpb3JpdHk9ACkAY29yZShwYXJhbGxlbCk6IGZhY3RvcnkgaXMgbm90IGF2YWlsYWJsZSAocGx1Z2lucyByZXF1aXJlIGZpbGVzeXN0ZW0gc3VwcG9ydCk6IABjb3JlKHBhcmFsbGVsKTogdXNpbmcgYmFja2VuZDogAGNvcmUocGFyYWxsZWwpOiBmYWxsYmFjayBvbiBidWlsdGluIGNvZGUAY29yZShwYXJhbGxlbCk6IHVua25vd24gYmFja2VuZDogAAAlZC4wACVkLgAlLjE2ZQAuTmFuAC0uSW5mAC5JbmYAZm10X3BhaXJzICE9IDAgJiYgbWF4X2xlbiA+IDAAZGVjb2RlRm9ybWF0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZS5jcHAASW52YWxpZCBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgBUb28gbG9uZyBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgAAAAAAANC/AABnAwAAaAMAAGkDAABqAwAAawMAAGwDAABtAwAAbgMAAG8DAABwAwAAcQMAAHIDAABzAwAAdAMAAHUDAAB2AwAAdwMAAHgDAAB5AwAAegMAAHsDAAB8AwAAfQMAAH4DAAB/AwAAgAMAAIEDAACCAwAAPC9vcGVuY3Zfc3RvcmFnZT4KAH0KAGJhc2U2NABOVUxMIG9yIGVtcHR5IGZpbGVuYW1lAG9wZW4ARmlsZVN0b3JhZ2U6OkFQUEVORCBhbmQgRmlsZVN0b3JhZ2U6Ok1FTU9SWSBhcmUgbm90IGN1cnJlbnRseSBjb21wYXRpYmxlAEFwcGVuZGluZyBkYXRhIHRvIGNvbXByZXNzZWQgZmlsZSBpcyBub3QgaW1wbGVtZW50ZWQAcnQAd3QAYSt0AC5negAueG1sAC54bWwuZ3oALmpzb24ALmpzb24uZ3oAVVRGLTE2AFVURi0xNiBYTUwgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZCEgVXNlIDgtYml0IGVuY29kaW5nCgBzdHJsZW4oZW5jb2RpbmcpIDwgMTAwMAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSIlcyI/PgoAPD94bWwgdmVyc2lvbj0iMS4wIj8+CgA8b3BlbmN2X3N0b3JhZ2U+CgAAAAAAPC9vcGVuY3Zfc3RvcmFnZT4AQ291bGQgbm90IGZpbmQgPC9vcGVuY3Zfc3RvcmFnZT4gaW4gdGhlIGVuZCBvZiBmaWxlLgoAcit0AGZpbGUgIT0gMAAgPCEtLSByZXN1bWVkIC0tPgAKACVZQU1MOjEuMAotLS0KAC4uLgotLS0KAGZtdCA9PSBGaWxlU3RvcmFnZTo6Rk9STUFUX0pTT04AewoAQ291bGQgbm90IGZpbmQgJ30nIGluIHRoZSBlbmQgb2YgZmlsZS4KACVZQU1MADw/eG1sAGJ1ZgBJbnB1dCBmaWxlIGlzIGludmFsaWQAVW5zdXBwb3J0ZWQgZmlsZSBzdG9yYWdlIGZvcm1hdAAhZnNfZGF0YV9wdHJzLmVtcHR5KCkAd3JpdGVfbW9kZQBwdXRzAFRoZSBzdG9yYWdlIGlzIG5vdCBvcGVuZWQAZ2V0c0Zyb21GaWxlAG1heENvdW50IDwgTUFYX0JMT0NLX1NJWkUAZ2V0cwB3cml0dGVuX2xlbiA8PSAoaW50KSBidWZmZXIuc2l6ZSgpAHJlc2l6ZVdyaXRlQnVmZmVyAGVuZFdyaXRlU3RydWN0ACF3cml0ZV9zdGFjay5lbXB0eSgpAHN0YXJ0V3JpdGVTdHJ1Y3RfaGVscGVyAFNvbWUgY29sbGVjdGlvbiB0eXBlOiBGaWxlTm9kZTo6U0VRIG9yIEZpbGVOb2RlOjpNQVAgbXVzdCBiZSBzcGVjaWZpZWQAdHlwZV9pZABiaW5hcnkAbXVzdCBzZXQgJ3N0cnVjdF9mbGFncyB8PSBDVl9OT0RFX1NFUScgaWYgdXNpbmcgQmFzZTY0LgBzdGFydFdyaXRlU3RydWN0AGZ1bmN0aW9uICdjdlN0YXJ0V3JpdGVTdHJ1Y3QnIGNhbGxzIGNhbm5vdCBiZSBuZXN0ZWQgaWYgdXNpbmcgQmFzZTY0LgBBdCB0aGUgZW5kIG9mIHRoZSBvdXRwdXQgQmFzZTY0LCBgY3ZFbmRXcml0ZVN0cnVjdGAgaXMgbmVlZGVkLgB3cml0ZQBVbnN1cHBvcnRlZCB0eXBlAFVuZXhwZWN0ZWQgZXJyb3IsIHVuYWJsZSB0byBkZXRlcm1pbmUgdGhlIEJhc2U2NCBzdGF0ZS4AVW5leHBlY3RlZCBlcnJvciwgdW5hYmxlIHRvIHN3aXRjaCB0byB0aGlzIHN0YXRlLgAiJGJhc2U2NCQAc3dpdGNoX3RvX0Jhc2U2NF9zdGF0ZQAiAGlzX3dyaXRlX3N0cnVjdF9kZWxheWVkID09IGZhbHNlAG1ha2Vfd3JpdGVfc3RydWN0X2RlbGF5ZWQAcHRyID49IGJ1ZmZlcnN0YXJ0ICYmIHB0ciA8PSBidWZmZXJFbmQoKQBzZXRCdWZmZXJQdHIAZ2V0Q3VycmVudFN0cnVjdABwcm9jZXNzU3BlY2lhbERvdWJsZQBCYWQgZm9ybWF0IG9mIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50AHR5cGUgPT0gRmlsZU5vZGU6OlNFUSB8fCB0eXBlID09IEZpbGVOb2RlOjpNQVAAY29udmVydFRvQ29sbGVjdGlvbgB0eXBlID09IEZpbGVOb2RlOjpTRVEAVGhlIG5vZGUgb2YgdHlwZSAlZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGNvbGxlY3Rpb24AYmxvY2tJZHggPT0gZnNfZGF0YV9wdHJzLnNpemUoKSAtIDEAcmVzZXJ2ZU5vZGVTcGFjZQBvZnMgPD0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0AZnJlZVNwYWNlT2ZzIDw9IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAHB0ciA+PSBmc19kYXRhX3B0cnNbYmxvY2tJZHhdICYmIHB0ciA8PSBibG9ja0VuZABfAGFkZE5vZGUATWFwIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBuYW1lAFNlcXVlbmNlIGVsZW1lbnQgc2hvdWxkIG5vdCBoYXZlIG5hbWUgKHVzZSA8Xz48L18+KQBvZnMgPT0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0Abm9ybWFsaXplTm9kZU9mcwBBy/gCC1A+AAAAPzQ1Njc4OTo7PD0AAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkAAAAAAAAaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMwBBoPoCC9EIb2ZzIDw9IHN6AHJlYWRNb3JlACFwYXJzZXIuZW1wdHkoKSAmJiBwdHIAIWJhc2U2NGRlY29kZXIuZW5kT2ZTdHJlYW0oKQBwYXJzZUJhc2U2NAAlcyglZCk6ICVzAGJsb2NrSWR4IDwgZnNfZGF0YV9wdHJzLnNpemUoKQBnZXROb2RlUHRyAG9mcyA8IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAAAAAAAAAPC/AACDAwAAhAMAAIUDAACGAwAAhwMAAIgDAABFeHRyYSBjbG9zaW5nICclYycAb3BlcmF0b3I8PABUaGUgY2xvc2luZyAnJWMnIGRvZXMgbm90IG1hdGNoIHRoZSBvcGVuaW5nICclYycAIWZzX2ltcGwtPndyaXRlX3N0YWNrLmVtcHR5KCkASW5jb3JyZWN0IGVsZW1lbnQgbmFtZSAlczsgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgJ18nAEludmFsaWQgZnMuc3RhdGUAaXNNYXAoKQBvcGVyYXRvcltdAGtleTIgPCBmcy0+c3RyX2hhc2hfZGF0YS5zaXplKCkAaXNTZXEoKQAwIDw9IGkgJiYgaSA8IHN6AHRwID09IFNUUklORyB8fCB0cCA9PSBTRVEgfHwgdHAgPT0gTUFQAHJhd1NpemUAcCAhPSAwAHNldFZhbHVlAGN1cnJlbnRfdHlwZSA9PSBOT05FIHx8IGN1cnJlbnRfdHlwZSA9PSB0eXBlAE9ubHkgc2NhbGFyIHR5cGVzIGNhbiBiZSBkeW5hbWljYWxseSBhc3NpZ25lZCB0byBhIGZpbGUgbm9kZQBOMmN2MTVGaWxlU3RvcmFnZV9BUElFAAAUagIAmL8AAE4yY3YxMUZpbGVTdG9yYWdlNEltcGxFADxqAgC4vwAAsL8AAE4yY3YxMUZpbGVTdG9yYWdlRQAAFGoCANy/AAB1Y3dzaWZkaABzeW1ib2xUb1R5cGUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAC8wAAAiQMAAIoDAACLAwAAjAMAAI0DAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFTlMyX0lTNF9FRUVFAAAAPGoCAHDAAADEZQIAAAAAADDBAACOAwAAjwMAAJADAACMAwAAkQMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMUZpbGVTdG9yYWdlNEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIA5MAAAMRlAgAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfYmFzZTY0X2VuY29kaW5nLmNwcABBgIMDC5YvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBmcy53cml0ZV9tb2RlAEJhc2U2NFdyaXRlcgBCYXNlNjRDb250ZXh0RW1pdHRlcgAAAAAAAAAAWMIAAJIDAACTAwAAlAMAAIwDAACVAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExSlNPTkVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCABDCAADEZQIAAAAAAMzCAACWAwAAlwMAAJgDAACZAwAAmgMAAJsDAACcAwAAnQMAAJ4DAACfAwAATjJjdjExSlNPTkVtaXR0ZXJFAE4yY3YxOEZpbGVTdG9yYWdlRW1pdHRlckUAAAAAFGoCAKfCAAA8agIAlMIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfanNvbi5jcHAAYmluYXJ5AE51bGwgc3RyaW5nIHBvaW50ZXIAd3JpdGUAVGhlIHdyaXR0ZW4gc3RyaW5nIGlzIHRvbyBsb25nAEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBUaGUga2V5IGlzIGFuIGVtcHR5AFRoZSBrZXkgaXMgdG9vIGxvbmcAQW4gYXR0ZW1wdCB0byBhZGQgZWxlbWVudCB3aXRob3V0IGEga2V5IHRvIGEgbWFwLCBvciBhZGQgZWxlbWVudCB3aXRoIGtleSB0byBzZXF1ZW5jZQBLZXkgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIF8AS2V5IG5hbWVzIG1heSBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgW2EtekEtWjAtOV0sICctJywgJ18nIGFuZCAnICcATnVsbCBjb21tZW50AHdyaXRlQ29tbWVudAAuLi4KAC0tLQoAAAAAAABIxQAAoAMAAKEDAACiAwAAjAMAAKMDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTBKU09OUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAAA8agIAAMUAAMRlAgAAAAAAoMUAAKQDAAClAwAApgMAAKcDAABOMmN2MTBKU09OUGFyc2VyRQBOMmN2MTdGaWxlU3RvcmFnZVBhcnNlckUAABRqAgB+xQAAPGoCAGzFAACYxQAAcGFyc2UASW52YWxpZCBpbnB1dABsZWZ0LWJyYWNlIG9mIHRvcCBsZXZlbCBpcyBtaXNzaW5nAHNraXBTcGFjZXMATm90IHN1cHBvcnRlZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcHRyAEFib3J0IGF0IHBhcnNlIHRpbWUAcGFyc2VNYXAAcHRyIGlzIE5VTEwAJ3snIC0gbGVmdC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBVbmV4cGVjdGVkIGNoYXJhY3RlcgAnfScgLSByaWdodC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBwYXJzZUtleQBLZXkgbXVzdCBzdGFydCB3aXRoICciJwBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBLZXkgbXVzdCBlbmQgd2l0aCAnIicAS2V5IGlzIGVtcHR5AE1pc3NpbmcgJzonIGJldHdlZW4ga2V5IGFuZCB2YWx1ZQBwYXJzZVZhbHVlAEludmFsaWQgdmFsdWUgaW5wdXQAVW5leHBlY3RlZCBFbmQtT2YtRmlsZQAnIicgLSByaWdodC1xdW90ZSBvZiBzdHJpbmcgaXMgbWlzc2luZwBzdHJpbmcgaXMgdG9vIGxvbmcAJ1x1WFhYWCcgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQASW52YWxpZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgbnVtZXJpYyB2YWx1ZSAoaW5jb25zaXN0ZW50IGV4cGxpY2l0IHR5cGUgc3BlY2lmaWNhdGlvbj8pAFZhbHVlICdudWxsJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcGFyc2VyAGZhbHNlAFVucmVjb2duaXplZCB2YWx1ZQBwYXJzZVNlcQAnWycgLSBsZWZ0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nACddJyAtIHJpZ2h0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nAGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAAAAAKDJAACoAwAAqQMAAKoDAACMAwAAqwMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMFhNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgBYyQAAxGUCAAAAAADwyQAAlgMAAKwDAACtAwAArgMAAK8DAACwAwAAsQMAALIDAACzAwAAtAMAAE4yY3YxMFhNTEVtaXR0ZXJFAAAAPGoCANzJAADEwgAAdHlwZV9pZABBbiBhdHRlbXB0IHRvIGFkZCBlbGVtZW50IHdpdGhvdXQgYSBrZXkgdG8gYSBtYXAsIG9yIGFkZCBlbGVtZW50IHdpdGgga2V5IHRvIHNlcXVlbmNlAHdyaXRlVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZV94bWwuY3BwAF8AQSBzaW5nbGUgXyBpcyBhIHJlc2VydmVkIHRhZyBuYW1lAENsb3NpbmcgdGFnIHNob3VsZCBub3QgaW5jbHVkZSBhbnkgYXR0cmlidXRlcwBLZXkgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZSBtYXkgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXpBLVowLTldLCAnLScgYW5kICdfJwBuYXR0ciAlIDIgPT0gMABsZW4wID4gMABOdWxsIHN0cmluZyBwb2ludGVyAHdyaXRlAFRoZSB3cml0dGVuIHN0cmluZyBpcyB0b28gbG9uZwBhbXAAI3glMDJ4AEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBlbGVtZW50cyB3aXRoIGtleXMgY2FuIG5vdCBiZSB3cml0dGVuIHRvIHNlcXVlbmNlAE51bGwgY29tbWVudAB3cml0ZUNvbW1lbnQALS0ARG91YmxlIGh5cGhlbiAnLS0nIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBjb21tZW50cwA8IS0tICVzIC0tPgA8IS0tAAo8IS0tIG5leHQgc3RyZWFtIC0tPgoAAAAAAOTMAAC1AwAAtgMAALcDAACMAwAAuAMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y5WE1MUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCAKDMAADEZQIAAAAAABjNAACkAwAAuQMAALoDAAC7AwAATjJjdjlYTUxQYXJzZXJFADxqAgAIzQAAmMUAAGZzICE9IDAAcGFyc2UASW52YWxpZCBpbnB1dAA8P3htbABWYWxpZCBYTUwgc2hvdWxkIHN0YXJ0IHdpdGggJzw/eG1sIC4uLj8+JwBvcGVuY3Zfc3RvcmFnZQA8b3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nADwvb3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nAGZzLT5lb2YoKQBza2lwU3BhY2VzAENvbW1lbnRzIGFyZSBub3QgYWxsb3dlZCBoZXJlAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcGFyc2VUYWcASW52YWxpZCB0YWcgaW5wdXQAVW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbQBUYWcgc2hvdWxkIHN0YXJ0IHdpdGggJzwnAE9wZW5DViBwZXJzaXN0ZW5jZSBkb2Vzbid0IHN1cHBvcnQgdmVyeSBsb25nIGxpbmVzAHB0clsxXSAhPSAnLScgfHwgcHRyWzJdICE9ICctJwBVbmtub3duIHRhZyB0eXBlAE5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZQBDbG9zaW5nIHRhZyBzaG91bGQgbm90IGNvbnRhaW4gYW55IGF0dHJpYnV0ZXMASW52YWxpZCBhdHRyaWJ1dGUAQXR0cmlidXRlIG5hbWUgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICc9JwBBdHRyaWJ1dGUgdmFsdWUgc2hvdWxkIGJlIHB1dCBpbnRvIHNpbmdsZSBvciBkb3VibGUgcXVvdGVzAFVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAdHlwZV9uYW1lLmVtcHR5KCkASW52YWxpZCBjbG9zaW5nIHRhZyBmb3IgPD94bWwgLi4uAFRoZXJlIHNob3VsZCBiZSBzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXMAcGFyc2VWYWx1ZQBEaXJlY3RpdmUgdGFncyBhcmUgbm90IGFsbG93ZWQgaGVyZQBFbXB0eSB0YWdzIGFyZSBub3Qgc3VwcG9ydGVkAHRhZ190eXBlID09IENWX1hNTF9PUEVOSU5HX1RBRwBzdHIAbWFwAHNlcQBiaW5hcnkATWlzbWF0Y2hlZCBjbG9zaW5nIHRhZwBUaGVyZSBzaG91bGQgYmUgc3BhY2UgYmV0d2VlbiBsaXRlcmFscwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBMaXRlcmFsICIgaXMgbm90IGFsbG93ZWQgd2l0aGluIGEgc3RyaW5nLiBVc2UgJnF1b3Q7AENsb3NpbmcgIiBpcyBleHBlY3RlZABMaXRlcmFsICcgb3IgPiBhcmUgbm90IGFsbG93ZWQuIFVzZSAmYXBvczsgb3IgJmd0OwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgaW4gdGhlIHN0cmluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiB0aGUgc3ltYm9sIGVudGl0eSBuYW1lAHN0cmluZyBpcyB0b28gbG9uZwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABnZXRCYXNlNjRSb3cAAAAAAAAAeNIAALwDAAC9AwAAvgMAAIwDAAC/AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExWUFNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCADDSAADEZQIAAAAAAMjSAACWAwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAATjJjdjExWUFNTEVtaXR0ZXJFAAA8agIAtNIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfeW1sLmNwcABiaW5hcnkAISFiaW5hcnkgfAAhISVzICVjACEhJXMATnVsbCBzdHJpbmcgcG9pbnRlcgB3cml0ZQBUaGUgd3JpdHRlbiBzdHJpbmcgaXMgdG9vIGxvbmcAeCUwMngAQXQgcHJlc2VudCwgb3V0cHV0IEJhc2U2NCBkYXRhIG9ubHkuAHdyaXRlU2NhbGFyAEFuIGF0dGVtcHQgdG8gYWRkIGVsZW1lbnQgd2l0aG91dCBhIGtleSB0byBhIG1hcCwgb3IgYWRkIGVsZW1lbnQgd2l0aCBrZXkgdG8gc2VxdWVuY2UAVGhlIGtleSBpcyBhbiBlbXB0eQBUaGUga2V5IGlzIHRvbyBsb25nAEtleSBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZXMgbWF5IG9ubHkgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBbYS16QS1aMC05XSwgJy0nLCAnXycgYW5kICcgJwBOdWxsIGNvbW1lbnQAd3JpdGVDb21tZW50AC4uLgoALS0tCgAAAAAAYNUAAMkDAADKAwAAywMAAIwDAADMAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEwWUFNTFBhcnNlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCABjVAADEZQIAAAAAAJjVAACkAwAAzQMAAM4DAADPAwAATjJjdjEwWUFNTFBhcnNlckUAAAA8agIAhNUAAJjFAABwYXJzZQBJbnZhbGlkIGlucHV0ACVZQU1MAFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAoaXQgbXVzdCBiZSAxLngpAC0tLQBUaGUgWUFNTCBzdHJlYW1zIG11c3Qgc3RhcnQgd2l0aCAnLS0tJywgZXhjZXB0IHRoZSBmaXJzdCBvbmUASW52YWxpZCBvciB1bnN1cHBvcnRlZCBzeW50YXgALi4uAE9ubHkgY29sbGVjdGlvbnMgYXMgWUFNTCBzdHJlYW1zIGFyZSBzdXBwb3J0ZWQgYnkgdGhpcyBwYXJzZXIAc2tpcFNwYWNlcwBJbmNvcnJlY3QgaW5kZW50YXRpb24AVG9vIGxvbmcgc3RyaW5nIG9yIGEgbGFzdCBzdHJpbmcgdy9vIG5ld2xpbmUAVGFicyBhcmUgcHJvaGliaXRlZCBpbiBZQU1MIQBJbnZhbGlkIGNoYXJhY3RlcgBwYXJzZVZhbHVlADx0YWc6eWFtbC5vcmcsMjAwMjoARW1wdHkgdHlwZSBuYW1lAHN0cgBpbnQAc2VxAG1hcABmbG9hdABJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABUaGUgd3JvbmcgY2xvc2luZyBicmFja2V0AE1pc3NpbmcgLCBiZXR3ZWVuIHRoZSBlbGVtZW50cwBDb21wbGV4IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQATXVsdGktbGluZSB0ZXh0IGxpdGVyYWxzIGFyZSBub3Qgc3VwcG9ydGVkAEJsb2NrIHNlcXVlbmNlIGVsZW1lbnRzIG11c3QgYmUgcHJlY2VkZWQgd2l0aCAnLScAcGFyc2VLZXkAS2V5IG1heSBub3Qgc3RhcnQgd2l0aCAnLScATWlzc2luZyAnOicAQW4gZW1wdHkga2V5AGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9yYW5kLmNwcABmdW5jICE9IDAAQaSyAwse0AMAANEDAADSAwAA0wMAAAAAAADUAwAAAAAAANUDAEHQsgMLAtYDAEHgsgMLAtcDAEGAswMLAtgDAEGgswMLQNkDAABkc3QuZWxlbVNpemUoKSA8PSAzMgByYW5kU2h1ZmZsZQBfYXJyLmRpbXMgPD0gMgByYW5kU2h1ZmZsZV8AQfCzAwv6OtoDAADbAwAA3AMAAN0DAADeAwAA3wMAAOADAAAAAAAAT1BFTkNWX0RVTVBfRVJST1JTAAAAAAAA1O0AAOMDAADmAwAA5wMAAD4gAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpIGluIGZ1bmN0aW9uICclcycKJXMANC41LjUtZGV2AE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzIGluIGZ1bmN0aW9uICclcycKAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzJXMAAAoACkdlbmVyYWwgY29uZmlndXJhdGlvbiBmb3IgT3BlbkNWIDQuNS41LWRldiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgVmVyc2lvbiBjb250cm9sOiAgICAgICAgICAgICAgIDQuNS41LTIwLWdhMTE0M2M0ZWEwLWRpcnR5CgogIFBsYXRmb3JtOgogICAgVGltZXN0YW1wOiAgICAgICAgICAgICAgICAgICAyMDIyLTAxLTExVDAzOjE1OjQxWgogICAgSG9zdDogICAgICAgICAgICAgICAgICAgICAgICBMaW51eCA0LjkuOTMtbGludXhraXQtYXVmcyB4ODZfNjQKICAgIFRhcmdldDogICAgICAgICAgICAgICAgICAgICAgRW1zY3JpcHRlbiAxIHg4NgogICAgQ01ha2U6ICAgICAgICAgICAgICAgICAgICAgICAzLjEzLjQKICAgIENNYWtlIGdlbmVyYXRvcjogICAgICAgICAgICAgVW5peCBNYWtlZmlsZXMKICAgIENNYWtlIGJ1aWxkIHRvb2w6ICAgICAgICAgICAgL3Vzci9iaW4vbWFrZQogICAgQ29uZmlndXJhdGlvbjogICAgICAgICAgICAgICBSZWxlYXNlCgogIENQVS9IVyBmZWF0dXJlczoKICAgIEJhc2VsaW5lOgoKICBDL0MrKzoKICAgIEJ1aWx0IGFzIGR5bmFtaWMgbGlicz86ICAgICAgTk8KICAgIEMrKyBzdGFuZGFyZDogICAgICAgICAgICAgICAgMTEKICAgIEMrKyBDb21waWxlcjogICAgICAgICAgICAgICAgL2Vtc2RrL3Vwc3RyZWFtL2Vtc2NyaXB0ZW4vZW0rKyAgKHZlciAxMi4wLjApCiAgICBDKysgZmxhZ3MgKFJlbGVhc2UpOiAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQysrIGZsYWdzIChEZWJ1Zyk6ICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgQyBDb21waWxlcjogICAgICAgICAgICAgICAgICAvZW1zZGsvdXBzdHJlYW0vZW1zY3JpcHRlbi9lbWNjCiAgICBDIGZsYWdzIChSZWxlYXNlKTogICAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQyBmbGFncyAoRGVidWcpOiAgICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgTGlua2VyIGZsYWdzIChSZWxlYXNlKTogICAgICAtV2wsLS1nYy1zZWN0aW9ucyAtTzIgCiAgICBMaW5rZXIgZmxhZ3MgKERlYnVnKTogICAgICAgIC1XbCwtLWdjLXNlY3Rpb25zICAKICAgIGNjYWNoZTogICAgICAgICAgICAgICAgICAgICAgTk8KICAgIFByZWNvbXBpbGVkIGhlYWRlcnM6ICAgICAgICAgTk8KICAgIEV4dHJhIGRlcGVuZGVuY2llczoKICAgIDNyZHBhcnR5IGRlcGVuZGVuY2llczogICAgICAgemxpYiBsaWJwcm90b2J1ZiBxdWlyYwoKICBPcGVuQ1YgbW9kdWxlczoKICAgIFRvIGJlIGJ1aWx0OiAgICAgICAgICAgICAgICAgY2FsaWIzZCBjb3JlIGRubiBmZWF0dXJlczJkIGZsYW5uIGltZ3Byb2MganMgb2JqZGV0ZWN0IHBob3RvIHZpZGVvCiAgICBEaXNhYmxlZDogICAgICAgICAgICAgICAgICAgIGhpZ2hndWkgaW1nY29kZWNzIG1sIHN0aXRjaGluZyB2aWRlb2lvIHdvcmxkCiAgICBEaXNhYmxlZCBieSBkZXBlbmRlbmN5OiAgICAgIHRzCiAgICBVbmF2YWlsYWJsZTogICAgICAgICAgICAgICAgIGdhcGkgamF2YSBweXRob24yIHB5dGhvbjMKICAgIEFwcGxpY2F0aW9uczogICAgICAgICAgICAgICAgZXhhbXBsZXMKICAgIERvY3VtZW50YXRpb246ICAgICAgICAgICAgICAganMKICAgIE5vbi1mcmVlIGFsZ29yaXRobXM6ICAgICAgICAgTk8KCiAgR1VJOiAKCiAgTWVkaWEgSS9POiAKICAgIFpMaWI6ICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgKHZlciAxLjIuMTEpCiAgICBKUEVHIDIwMDA6ICAgICAgICAgICAgICAgICAgIGJ1aWxkICh2ZXIgMi40LjApCiAgICBIRFI6ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwogICAgU1VOUkFTVEVSOiAgICAgICAgICAgICAgICAgICBZRVMKICAgIFBYTTogICAgICAgICAgICAgICAgICAgICAgICAgWUVTCiAgICBQRk06ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwoKICBWaWRlbyBJL086CgogIFBhcmFsbGVsIGZyYW1ld29yazogICAgICAgICAgICBub25lCgogIE90aGVyIHRoaXJkLXBhcnR5IGxpYnJhcmllczoKICAgIFZBOiAgICAgICAgICAgICAgICAgICAgICAgICAgTk8KICAgIEN1c3RvbSBIQUw6ICAgICAgICAgICAgICAgICAgTk8KICAgIFByb3RvYnVmOiAgICAgICAgICAgICAgICAgICAgYnVpbGQgKDMuMTkuMSkKCiAgUHl0aG9uIChmb3IgYnVpbGQpOiAgICAgICAgICAgIC91c3IvYmluL3B5dGhvbjMKCiAgSW5zdGFsbCB0bzogICAgICAgICAgICAgICAgICAgIC91c3IvbG9jYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgBsZW4gPj0gMCAmJiAiQ2hlY2sgZm9ybWF0IHN0cmluZyBmb3IgZXJyb3JzIgBmb3JtYXQAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3N5c3RlbS5jcHAATjJjdjlFeGNlcHRpb25FAAA8agIAw+0AABRnAgBObyBFcnJvcgBCYWNrdHJhY2UAVW5zcGVjaWZpZWQgZXJyb3IASW50ZXJuYWwgZXJyb3IASW5zdWZmaWNpZW50IG1lbW9yeQBCYWQgYXJndW1lbnQASXRlcmF0aW9ucyBkbyBub3QgY29udmVyZ2UAQXV0b3RyYWNlIGNhbGwASW5jb3JyZWN0IHNpemUgb2YgaW5wdXQgYXJyYXkATnVsbCBwb2ludGVyAERpdmlzaW9uIGJ5IHplcm8gb2NjdXJyZWQASW1hZ2Ugc3RlcCBpcyB3cm9uZwBJbnBsYWNlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkAFJlcXVlc3RlZCBvYmplY3Qgd2FzIG5vdCBmb3VuZABJbnB1dCBpbWFnZSBkZXB0aCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGZ1bmN0aW9uAEZvcm1hdHMgb2YgaW5wdXQgYXJndW1lbnRzIGRvIG5vdCBtYXRjaABTaXplcyBvZiBpbnB1dCBhcmd1bWVudHMgZG8gbm90IG1hdGNoAE9uZSBvZiB0aGUgYXJndW1lbnRzJyB2YWx1ZXMgaXMgb3V0IG9mIHJhbmdlAFVuc3VwcG9ydGVkIGZvcm1hdCBvciBjb21iaW5hdGlvbiBvZiBmb3JtYXRzAElucHV0IENPSSBpcyBub3Qgc3VwcG9ydGVkAEJhZCBudW1iZXIgb2YgY2hhbm5lbHMAQmFkIGZsYWcgKHBhcmFtZXRlciBvciBzdHJ1Y3R1cmUgZmllbGQpAEJhZCBwYXJhbWV0ZXIgb2YgdHlwZSBDdlBvaW50AEJhZCB0eXBlIG9mIG1hc2sgYXJndW1lbnQAUGFyc2luZyBlcnJvcgBUaGUgZnVuY3Rpb24vZmVhdHVyZSBpcyBub3QgaW1wbGVtZW50ZWQATWVtb3J5IGJsb2NrIGhhcyBiZWVuIGNvcnJ1cHRlZABBc3NlcnRpb24gZmFpbGVkAE5vIENVREEgc3VwcG9ydABHcHUgQVBJIGNhbGwATm8gT3BlbkdMIHN1cHBvcnQAT3BlbkdMIEFQSSBjYWxsAFVua25vd24gJXMgY29kZSAlZABzdGF0dXMAZXJyb3IAcHRocmVhZF9rZXlfY3JlYXRlKCZ0bHNLZXksIG9wZW5jdl90bHNfZGVzdHJ1Y3RvcikgPT0gMABUbHNBYnN0cmFjdGlvbgBPcGVuQ1YgRVJST1I6IFRsc0Fic3RyYWN0aW9uOjp+VGxzQWJzdHJhY3Rpb24oKTogcHRocmVhZF9rZXlfZGVsZXRlKCkgY2FsbCBmYWlsZWQKAHB0aHJlYWRfc2V0c3BlY2lmaWModGxzS2V5LCBwRGF0YSkgPT0gMABzZXREYXRhAAAAAAAAjPIAAOgDAADpAwAA6gMAAOoDAABrZXlfID09IC0xAH5UTFNEYXRhQ29udGFpbmVyAGtleV8gIT0gLTEgJiYgIkNhbid0IGZldGNoIGRhdGEgZnJvbSB0ZXJtaW5hdGVkIFRMUyBjb250YWluZXIuIgBnZXREYXRhAE4yY3YxNlRMU0RhdGFDb250YWluZXJFAAAAABRqAgBx8gAAT1BFTkNWX0RVTVBfQ09ORklHAApPcGVuQ1YgYnVpbGQgY29uZmlndXJhdGlvbiBpczoKJXMKAE1NWABTU0UAU1NFMgBTU0UzAFNTU0UzAFNTRTQuMQBTU0U0LjIAUE9QQ05UAEZQMTYAQVZYAEFWWDIARk1BMwBBVlg1MTJGAEFWWDUxMkJXAEFWWDUxMkNEAEFWWDUxMkRRAEFWWDUxMkVSAEFWWDUxMklGTUEAQVZYNTEyUEYAQVZYNTEyVkJNSQBBVlg1MTJWTABBVlg1MTJWQk1JMgBBVlg1MTJWTk5JAEFWWDUxMkJJVEFMRwBBVlg1MTJWUE9QQ05URFEAQVZYNTEyNFZOTklXAEFWWDUxMjRGTUFQUwBORU9OAFZTWABWU1gzAENQVV9NU0EAUklTQ1ZWAEFWWDUxMi1DT01NT04AQVZYNTEyLVNLWABBVlg1MTItS05MAEFWWDUxMi1LTk0AQVZYNTEyLUNOTABBVlg1MTItQ0xYAEFWWDUxMi1JQ0wAUlZWAE9QRU5DVl9DUFVfRElTQUJMRQBmZWF0dXJlLnNpemUoKSA+IDAAcmVhZFNldHRpbmdzAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgYmFzZWxpbmUgQ1BVIGZlYXR1cmU6ICclcycuVGhpcyBoYXMgdmVyeSBsaW1pdGVkIGVmZmVjdCwgYmVjYXVzZSBjb2RlIG9wdGltaXphdGlvbnMgZm9yIHRoaXMgZmVhdHVyZSBhcmUgZXhlY3V0ZWQgdW5jb25kaXRpb25hbGx5IGluIHRoZSBtb3N0IGNhc2VzLgoAT1BFTkNWOiBUcnlpbmcgdG8gZGlzYWJsZSB1bmF2YWlsYWJsZSBDUFUgZmVhdHVyZSBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybTogJyVzJy4KAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgdW5r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FkMAABdDAAAYQwAAGUMAABpDAAAbQwAAHEMAAB1DAAAeQwAAH0MAACBDAAAhQwAAIkMAACNDAAAkQwAAJUMAACZDAAAnQwAAKEMAAClDAAAqQwAAK0MAACxDAAAtQwAALkMAAC9DAAAwQwAAMUMAADJDAAAzQwAANEMAADVDAAA2QwAAN0MAADhDAAA5QwAAOkMAADtDAAA8QwAAPUMAAD5DAAA/QwAAQEMAAEFDAABCQwAAQ0MAAERDAABFQwAARkMAAEdDAABIQwAASUMAAEpDAABLQwAATEMAAE1DAABOQwAAT0MAAFBDAABRQwAAUkMAAFNDAABUQwAAVUMAAFZDAABXQwAAWEMAAFlDAABaQwAAW0MAAFxDAABdQwAAXkMAAF9DAABgQwAAYUMAAGJDAABjQwAAZEMAAGVDAABmQwAAZ0MAAGhDAABpQwAAakMAAGtDAABsQwAAbUMAAG5DAABvQwAAcEMAAHFDAAByQwAAc0MAAHRDAAB1QwAAdkMAAHdDAAB4QwAAeUMAAHpDAAB7QwAAfEMAAH1DAAB+QwAAf0MAQaH+Awv2GQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////bWFwY291bnQgPT0gMAB+VU1hdERhdGEAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3VtYXRyaXguY3BwADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAZGF0YSA9PSBkYXRhc3RhcnQAZ2V0VU1hdABhbGxvY2F0ZWQAMCA8PSBkICYmIGQgPD0gQ1ZfTUFYX0RJTSAmJiBfc2l6ZXMAY3JlYXRlAHUgIT0gMABzdGVwW2RpbXMtMV0gPT0gKHNpemVfdClDVl9FTEVNX1NJWkUoZmxhZ3MpAG0uZGltcyA+PSAyAFVNYXQAMCA8PSBfcm93UmFuZ2Uuc3RhcnQgJiYgX3Jvd1JhbmdlLnN0YXJ0IDw9IF9yb3dSYW5nZS5lbmQgJiYgX3Jvd1JhbmdlLmVuZCA8PSBtLnJvd3MAMCA8PSBfY29sUmFuZ2Uuc3RhcnQgJiYgX2NvbFJhbmdlLnN0YXJ0IDw9IF9jb2xSYW5nZS5lbmQgJiYgX2NvbFJhbmdlLmVuZCA8PSBtLmNvbHMAbS5kaW1zIDw9IDIAMCA8PSByb2kueCAmJiAwIDw9IHJvaS53aWR0aCAmJiByb2kueCArIHJvaS53aWR0aCA8PSBtLmNvbHMgJiYgMCA8PSByb2kueSAmJiAwIDw9IHJvaS5oZWlnaHQgJiYgcm9pLnkgKyByb2kuaGVpZ2h0IDw9IG0ucm93cwByYW5nZXMAciA9PSBSYW5nZTo6YWxsKCkgfHwgKDAgPD0gci5zdGFydCAmJiByLnN0YXJ0IDwgci5lbmQgJiYgci5lbmQgPD0gbS5zaXplW2ldKQB1LT5kYXRhICE9IDAgJiYgIkVycm9yIG1hcHBpbmcgb2YgVU1hdCB0byBob3N0IG1lbW9yeS4iAGdldE1hdABjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51AAAAAAAAhAQBAPQDAAD1AwAA9gMAAPcDAABOMmN2N1RMU0RhdGFJTlNfMThVTWF0RGF0YUF1dG9Mb2NrZXJFRUUAmGoCAFwEAQAAAAAAAQAAAIzyAAAAAAAAdXNhZ2VfY291bnQgPT0gMABsb2NrAHVzYWdlX2NvdW50ID09IDEAcmVsZWFzZQBnbG9iYWwAREVCVUcARElTQUJMRQBESVNBQkxFRABFUlJPUgBGQVRBTABJTkZPAE9GRgBTSUxFTlQAVkVSQk9TRQBXQVJOAFdBUk5JTkcAV0FSTklOR1MAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBnbG9iYWwAZnVsbE5hbWVSZXN1bHQubV9maW5kQ3Jvc3NSZWZlcmVuY2VzAGludGVybmFsX2FwcGx5TmFtZVBhcnRDb25maWdUb1NwZWNpZmljVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy91dGlscy9sb2d0YWdtYW5hZ2VyLmNwcABuYW1lUGFydFJlc3VsdC5tX2ZpbmRDcm9zc1JlZmVyZW5jZXMAaW50ZXJuYWxfYXBwbHlOYW1lUGFydENvbmZpZ1RvTWF0Y2hpbmdUYWdzAHNjb3BlICE9IE1hdGNoaW5nU2NvcGU6OkZ1bGwAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFAcBAPgDAAD5AwAA+gMAAIwDAAD7AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjV1dGlsczdsb2dnaW5nMThMb2dUYWdDb25maWdQYXJzZXJFTlNfOWFsbG9jYXRvcklTNF9FRUVFAAA8agIAuAYBAMRlAgBOdW1iZXIgb2YgY2hhbm5lbHMgaW4gaW5wdXQgaW1hZ2UgbXVzdCBiZSAxIG9yIDMAZmxvb2RGaWxsAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9mbG9vZGZpbGwuY3BwAENvbm5lY3Rpdml0eSBtdXN0IGJlIDQsIDAoPTQpIG9yIDgAbG9fZGlmZiBhbmQgdXBfZGlmZiBtdXN0IGJlIG5vbi1uZWdhdGl2ZQBTZWVkIHBvaW50IGlzIG91dHNpZGUgb2YgaW1hZ2UAAG1hc2sucm93cyA9PSBzaXplLmhlaWdodCsyICYmIG1hc2suY29scyA9PSBzaXplLndpZHRoKzIAbWFzay50eXBlKCkgPT0gQ1ZfOFUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbnZhbGlkIGltYWdlIHR5cGUgKG11c3QgYmUgc2luZ2xlLWNoYW5uZWwpAG1vbWVudHMAL3NyYy9tb2R1bGVzL2ltZ3Byb2Mvc3JjL21vbWVudHMuY3BwAABjb250b3VyLmRlcHRoKCkgPT0gQ1ZfMzJTIHx8IGNvbnRvdXIuZGVwdGgoKSA9PSBDVl8zMkYAY29udG91ck1vbWVudHMAAP0DAAD+AwAA/QMAAP8DAAAABAAATjJjdjlGb3JtYXR0ZWRFABRqAgA0CQEATjJjdjlGb3JtYXR0ZXJFABRqAgBMCQEAAAAAAMwJAQAJBAAACgQAAAsEAACMAwAADAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxNkRlZmF1bHRGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAgAkBAMRlAgAAAAAAOAoBAA0EAAAOBAAADwQAABAEAAARBAAAEgQAABMEAABOMmN2MTZEZWZhdWx0Rm9ybWF0dGVyRQBOMmN2MTNGb3JtYXR0ZXJCYXNlRQAAAAA8agIAFAoBAFwJAQA8agIA/AkBACwKAQBbAF0AAAAAAKwKAQAUBAAAFQQAABYEAACMAwAAFwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxM0Zvcm1hdHRlZEltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFADxqAgBkCgEAxGUCAAAAAAAkCwEAGAQAABkEAAAaBAAAGwQAAG0uZGltcyA8PSAyAEZvcm1hdHRlZEltcGwAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL291dC5jcHAAJSUuJWRnAE4yY3YxM0Zvcm1hdHRlZEltcGxFADxqAgAPCwEARAkBACUzZAAlZAAKKDosIDosICVkKSA9IAoAKDosIDosICVkKSA9IAoAAAAAAAAAwAsBABwEAAAdBAAAHgQAAIwDAAAfBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1TWF0bGFiRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgB0CwEAxGUCAAAAAAAIDAEADQQAACAEAAAhBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNU1hdGxhYkZvcm1hdHRlckUAADxqAgDwCwEALAoBAAAAOwBBoJgEC6spgAwBACIEAAAjBAAAJAQAAIwDAAAlBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEyQ1NWRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCADgMAQDEZQIAAAAAAMQMAQANBAAAJgQAACcEAAAQBAAAEQQAABIEAAATBAAATjJjdjEyQ1NWRm9ybWF0dGVyRQA8agIAsAwBACwKAQAAAAAAOA0BACgEAAApBAAAKgQAAIwDAAArBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1UHl0aG9uRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgDsDAEAxGUCAAAAAACADQEADQQAACwEAAAtBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNVB5dGhvbkZvcm1hdHRlckUAADxqAgBoDQEALAoBAAAAAAD0DQEALgQAAC8EAAAwBAAAjAMAADEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTROdW1weUZvcm1hdHRlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCAKgNAQDEZQIAAAAAADwOAQANBAAAMgQAADMEAAAQBAAAEQQAABIEAAATBAAATjJjdjE0TnVtcHlGb3JtYXR0ZXJFAAAAPGoCACQOAQAsCgEAdWludDgAaW50OAB1aW50MTYAaW50MTYAaW50MzIAZmxvYXQzMgBmbG9hdDY0AGZsb2F0MTYAW10sW11hcnJheShbAF0sIGR0eXBlPSclcycpAAAAAAAAAAAPAQA0BAAANQQAADYEAACMAwAANwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMENGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgC4DgEAxGUCAAAAAABEDwEADQQAADgEAAA5BAAAEAQAABEEAAASBAAAEwQAAE4yY3YxMENGb3JtYXR0ZXJFAAAAPGoCADAPAQAsCgEAAAAsAAB7AH0AL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdGhmdW5jcy5jcHAAcHQgPT0gTlVMTABjaGVja1JhbmdlAHRoZSB2YWx1ZSBhdCAoJWQsICVkKT0lcyBpcyBvdXQgb2YgcmFuZ2UgWyVmLCAlZikAY3R5cGUgPT0gQ1ZfMzJGIHx8IGN0eXBlID09IENWXzY0RgBzb2x2ZUN1YmljAChjb2VmZnMuc2l6ZSgpID09IFNpemUobjAsIDEpIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZShuMCsxLCAxKSB8fCBjb2VmZnMuc2l6ZSgpID09IFNpemUoMSwgbjApIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZSgxLCBuMCsxKSkAY291bnQgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzMyUykAbWluRW5jbG9zaW5nQ2lyY2xlAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9zaGFwZWRlc2NyLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvY29udmVydF9jLmNwcABzcmMuc2l6ZSA9PSBkc3Quc2l6ZSAmJiBzcmMuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdkNvbnZlcnRTY2FsZQA/BAAAPwQAAEAEAABABAAAQQQAAEIEAABDBAAAAAAAAGNuID09IDEAY291bnROb25aZXJvAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3VudF9ub25femVyby5kaXNwYXRjaC5jcHAAZnVuYyAhPSAwAG1hc2suZW1wdHkoKSB8fCBtYXNrLnR5cGUoKSA9PSBDVl84VQBtZWFuAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tZWFuLmRpc3BhdGNoLmNwcABjbiA8PSA0ICYmIGZ1bmMgIT0gMAAwIDwgY29pICYmIGNvaSA8PSA0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9zdGF0X2MuY3BwAGN2QXZnAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9jYWxpYnJhdGlvbi5jcHAASW5wdXQgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgbWF0cml4AGN2Um9kcmlndWVzMgBUaGUgZmlyc3Qgb3V0cHV0IGFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIG1hdHJpeABUaGUgbWF0cmljZXMgbXVzdCBoYXZlIDMyZiBvciA2NGYgZGF0YSB0eXBlAEFsbCB0aGUgbWF0cmljZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGRhdGEgdHlwZQBKYWNvYmlhbiBpcyBub3QgYSB2YWxpZCBtYXRyaXgASmFjb2JpYW4gbXVzdCBoYXZlIDMyZkMxIG9yIDY0ZkMxIGRhdGF0eXBlAEphY29iaWFuIG11c3QgYmUgM3g5IG9yIDl4MwBJbnB1dCBtYXRyaXggbXVzdCBiZSAxeDMsIDN4MSBvciAzeDMAT3V0cHV0IG1hdHJpeCBtdXN0IGJlIDN4Mywgc2luZ2xlLWNoYW5uZWwgZmxvYXRpbmcgcG9pbnQgbWF0cml4AE91dHB1dCBtYXRyaXggbXVzdCBiZSAxeDMgb3IgM3gxAElucHV0IG1hdHJpeCBtdXN0IGJlIDF4MyBvciAzeDEgZm9yIGEgcm90YXRpb24gdmVjdG9yLCBvciAzeDMgZm9yIGEgcm90YXRpb24gbWF0cml4AENWX0lTX01BVChvYmplY3RQb2ludHMpICYmIENWX0lTX01BVChpbWFnZVBvaW50cykgJiYgQ1ZfSVNfTUFUKEEpICYmIENWX0lTX01BVChydmVjKSAmJiBDVl9JU19NQVQodHZlYykAY3ZGaW5kRXh0cmluc2ljQ2FtZXJhUGFyYW1zMgAoQ1ZfTUFUX0RFUFRIKHJ2ZWMtPnR5cGUpID09IENWXzY0RiB8fCBDVl9NQVRfREVQVEgocnZlYy0+dHlwZSkgPT0gQ1ZfMzJGKSAmJiAocnZlYy0+cm93cyA9PSAxIHx8IHJ2ZWMtPmNvbHMgPT0gMSkgJiYgcnZlYy0+cm93cypydmVjLT5jb2xzKkNWX01BVF9DTihydmVjLT50eXBlKSA9PSAzAChDVl9NQVRfREVQVEgodHZlYy0+dHlwZSkgPT0gQ1ZfNjRGIHx8IENWX01BVF9ERVBUSCh0dmVjLT50eXBlKSA9PSBDVl8zMkYpICYmICh0dmVjLT5yb3dzID09IDEgfHwgdHZlYy0+Y29scyA9PSAxKSAmJiB0dmVjLT5yb3dzKnR2ZWMtPmNvbHMqQ1ZfTUFUX0NOKHR2ZWMtPnR5cGUpID09IDMAKGNvdW50ID49IDQpIHx8IChjb3VudCA9PSAzICYmIHVzZUV4dHJpbnNpY0d1ZXNzKQAAAACsFgEAYxIBAJUEAAAFAAAAIRcBAH0XAQCDFwEAdm9pZCBjdkZpbmRFeHRyaW5zaWNDYW1lcmFQYXJhbXMyKGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIEN2TWF0ICosIEN2TWF0ICosIGludCkARExUIGFsZ29yaXRobSBuZWVkcyBhdCBsZWFzdCA2IHBvaW50cyBmb3IgcG9zZSBlc3RpbWF0aW9uIGZyb20gM0QtMkQgcG9pbnQgY29ycmVzcG9uZGVuY2VzLgBjb3VudAA2AGZhYnMoc2MpID4gREJMX0VQU0lMT04AuBcBAGMSAQCXDQAAAAAAADQUAQD9FwEAAxgBAHZvaWQgY3Y6OlJvZHJpZ3Vlcyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAHNyY1N6AHNyY1N6ID09IFNpemUoMywgMSkgfHwgc3JjU3ogPT0gU2l6ZSgxLCAzKSB8fCAoc3JjU3ogPT0gU2l6ZSgxLCAxKSAmJiBzcmMuY2hhbm5lbHMoKSA9PSAzKSB8fCBzcmNTeiA9PSBTaXplKDMsIDMpAG5wb2ludHMgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAcHJvamVjdFBvaW50cwBfaXBvaW50cy5uZWVkZWQoKQBPbmUgb2YgcmVxdWlyZWQgYXJndW1lbnRzIGlzIG5vdCBhIHZhbGlkIG1hdHJpeABjdlByb2plY3RQb2ludHMySW50ZXJuYWwASG9tb2dlbmVvdXMgY29vcmRpbmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQAUm90YXRpb24gbXVzdCBiZSByZXByZXNlbnRlZCBieSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHJvdGF0aW9uIHZlY3Rvciwgb3IgM3gzIHJvdGF0aW9uIG1hdHJpeABUcmFuc2xhdGlvbiB2ZWN0b3IgbXVzdCBiZSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHZlY3RvcgBJbnRyaW5zaWMgcGFyYW1ldGVycyBtdXN0IGJlIDN4MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZHJvdCBtdXN0IGJlIDJOeDMgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RUIG11c3QgYmUgMk54MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZGYgbXVzdCBiZSAyTngyIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkcC9kYyBtdXN0IGJlIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RmIG11c3QgYmUgMk54MTQsIDJOeDEyLCAyTng4LCAyTng1LCAyTng0IG9yIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRpc3RDb2VmZnMgaXMgTlVMTCB3aGlsZSBkcGRrIGlzIG5vdABkcC9kbyBtdXN0IGJlIDJOeDNOIGZsb2F0aW5nLXBvaW50IG1hdHJpeABEaXN0b3J0aW9uIGNvZWZmaWNpZW50cyBtdXN0IGJlIDF4NCwgNHgxLCAxeDUsIDV4MSwgMXg4LCA4eDEsIDF4MTIsIDEyeDEsIDF4MTQgb3IgMTR4MSBmbG9hdGluZy1wb2ludCB2ZWN0b3IAAAAAAAA0HAEARAQAAEUEAABGBAAARwQAAEgEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQNUN2TWF0TjJjdjE0RGVmYXVsdERlbGV0ZXJJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUAAAAAPGoCANwbAQDEZQIATjJjdjE0RGVmYXVsdERlbGV0ZXJJNUN2TWF0RUUAZGF0YSAmJiBkaW1zIDw9IDIgJiYgcm93cyA9PSBtICYmIGNvbHMgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgTWF0eAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9tYXQuaW5sLmhwcABfdy5kYXRhID09ICh1Y2hhciopJncudmFsWzBdICYmIF91LmRhdGEgPT0gKHVjaGFyKikmdS52YWxbMF0gJiYgX3Z0LmRhdGEgPT0gKHVjaGFyKikmdnQudmFsWzBdAGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvb3BlcmF0aW9ucy5ocHAAIWVyci5lbXB0eSgpAHVwZGF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvY29tcGF0X3B0c2V0cmVnLmNwcABzdGF0ZSA9PSBDSEVDS19FUlIAZHN0LnJvd3MgPT0gZHN0MC5jb2xzICYmIGRzdC5jb2xzID09IGRzdDAucm93cwBjdkNvbnZlcnRQb2ludHNIb21vZ2VuZW91cwBkc3Quc2l6ZSgpID09IGRzdDAuc2l6ZSgpAFRoZSBpbnB1dCBhcnJheXMgc2hvdWxkIGJlIDJEIG9yIDNEIHBvaW50IHNldHMAZmluZEhvbW9ncmFwaHkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2Z1bmRhbS5jcHAAVGhlIGlucHV0IGFycmF5cyBzaG91bGQgaGF2ZSBhdCBsZWFzdCA0IGNvcnJlc3BvbmRpbmcgcG9pbnQgc2V0cyB0byBjYWxjdWxhdGUgSG9tb2dyYXBoeQBzcmMuY2hlY2tWZWN0b3IoMikgPT0gZHN0LmNoZWNrVmVjdG9yKDIpAFVua25vd24gZXN0aW1hdGlvbiBtZXRob2QAbnBvaW50cyA+PSAwAGNvbnZlcnRQb2ludHNGcm9tSG9tb2dlbmVvdXMAbnBvaW50cyA+PSAwICYmIChkZXB0aCA9PSBDVl8zMlMgfHwgZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAZHN0LmlzQ29udGludW91cygpAABjb252ZXJ0UG9pbnRzVG9Ib21vZ2VuZW91cwAAAAAAAABIIAEASQQAAEoEAABLBAAAjAMAAEwEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjdIb21vZ3JhcGh5RXN0aW1hdG9yQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCAPAfAQDEZQIAAAAAAMAgAQBNBAAATgQAAE8EAABQBAAAUQQAAE4yY3YyN0hvbW9ncmFwaHlFc3RpbWF0b3JDYWxsYmFja0UATjJjdjE5UG9pbnRTZXRSZWdpc3RyYXRvcjhDYWxsYmFja0UAABRqAgCTIAEAPGoCAHAgAQC4IAEAQdTBBAuD6AEBAAAAAgAAAAEAAAACAAAAAwAAAAAAAAACAAAAAwAAAAAAAAABAAAAAwAAAAAAAABwIQEAUgQAAFMEAABUBAAAjAMAAFUEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjRIb21vZ3JhcGh5UmVmaW5lQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAHCEBAMRlAgAAAAAA0CEBAFYEAABXBAAAWAQAAE4yY3YyNEhvbW9ncmFwaHlSZWZpbmVDYWxsYmFja0UATjJjdjhMTVNvbHZlcjhDYWxsYmFja0UAFGoCALAhAQA8agIAkCEBAMghAQBKLmlzQ29udGludW91cygpICYmIEouY29scyA9PSA4AGNvbXB1dGUAAAAAAFAiAQBZBAAAWgQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAG15X29iamVjdABmb3JtYXQATjJjdjlBbGdvcml0aG1FAAAAABRqAgA9IgEATm8gZWxlbWVudCBuYW1lIGhhcyBiZWVuIGdpdmVuAG9wZXJhdG9yPDwAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvcGVyc2lzdGVuY2UuaHBwAAAAAAAAAAAgIwEAYQQAAGIEAABjBAAAjAMAAGQEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTJMTVNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIA2CIBAMRlAgAAAAAAkCMBAGUEAABmBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZwQAAGgEAABpBAAATjJjdjEyTE1Tb2x2ZXJJbXBsRQBOMmN2OExNU29sdmVyRQAAPGoCAHQjAQBQIgEAPGoCAGAjAQCEIwEAKHBhcmFtMC5jb2xzID09IDEgfHwgcGFyYW0wLnJvd3MgPT0gMSkgJiYgKHB0eXBlID09IENWXzMyRiB8fCBwdHlwZSA9PSBDVl82NEYpAHJ1bgAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvbGV2bWFycS5jcHAAY2IAQS50eXBlKCkgPT0gQ1ZfNjRGICYmIEEucm93cyA9PSBseAAlYyUxMGQgJTEwZCAlMTUuNGUgJTE2LjRlICUxNy40ZSAlMTYuNGUgJTE3LjRlCgBpdGVycyA+IDAAc2V0TWF4SXRlcnMACWl0cgluZkoJCVNVTShyXjIpCQl4CQlkeAkJbAkJbGMAKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAHRoZSBudW1iZXIgb2YgbW9kZWwgcG9pbnRzIHNob3VsZCBiZSBwb3NpdGl2ZQBSQU5TQUNVcGRhdGVOdW1JdGVycwAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvcHRzZXRyZWcuY3BwAAAAAAAA2CUBAGoEAABrBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAbAQAAG0EAABOMmN2MjVSQU5TQUNQb2ludFNldFJlZ2lzdHJhdG9yRQBOMmN2MTlQb2ludFNldFJlZ2lzdHJhdG9yRQA8agIAsSUBAFAiAQA8agIAkCUBAMwlAQBjYgBydW4AY29uZmlkZW5jZSA+IDAgJiYgY29uZmlkZW5jZSA8IDEAY291bnQgPj0gMCAmJiBjb3VudDIgPT0gY291bnQAKGJlc3RNYXNrLmNvbHMgPT0gMSB8fCBiZXN0TWFzay5yb3dzID09IDEpICYmIChpbnQpYmVzdE1hc2sudG90YWwoKSA9PSBjb3VudABtb2RlbC5yb3dzICUgbm1vZGVscyA9PSAwAChlc3oxICUgc2l6ZW9mKGludCkpID09IDAgJiYgKGVzejIgJSBzaXplb2YoaW50KSkgPT0gMABnZXRTdWJzZXQAY291bnQgPj0gbW9kZWxQb2ludHMgJiYgY291bnQgPT0gY291bnQyAGVyci5pc0NvbnRpbnVvdXMoKSAmJiBlcnIudHlwZSgpID09IENWXzMyRiAmJiBtYXNrLmlzQ29udGludW91cygpICYmIG1hc2sudHlwZSgpID09IENWXzhVAGZpbmRJbmxpZXJzAAAAAACwJwEAagQAAG4EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABsBAAAbwQAAE4yY3YyNExNZURTUG9pbnRTZXRSZWdpc3RyYXRvckUAPGoCAJAnAQDYJQEAKG1hc2suY29scyA9PSAxIHx8IG1hc2sucm93cyA9PSAxKSAmJiAoaW50KW1hc2sudG90YWwoKSA9PSBjb3VudABlcnJmLmlzQ29udGludW91cygpICYmIGVycmYudHlwZSgpID09IENWXzMyRiAmJiAoaW50KWVycmYudG90YWwoKSA9PSBjb3VudAAAAAAA1CgBAEQEAABwBAAAcQQAAHIEAABzBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTMl9FRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgBkKAEAxGUCAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFRUUAAAAAAACoKQEARAQAAHQEAAB1BAAAdgQAAHcEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCADgpAQDEZQIATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRUVFAE9QRU5DVl9CVUZGRVJfQVJFQV9BTFdBWVNfU0FGRQB0b3RhbFNpemUgPiAwAGNvbW1pdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYnVmZmVyX2FyZWEuY3BwAG9uZUJ1ZiA9PSBOVUxMACFibG9ja3MuZW1wdHkoKQBwdHIgJiYgKnB0ciA9PSBOVUxMAEJsb2NrAHJlYWxfYWxsb2NhdGUAcmVpbnRlcnByZXRfY2FzdDxzaXplX3Q+KCpwdHIpICUgYWxpZ25tZW50ID09IDAAc3RhdGljX2Nhc3Q8dWNoYXIqPigqcHRyKSArIHR5cGVfc2l6ZSAqIGNvdW50IDw9IHN0YXRpY19jYXN0PHVjaGFyKj4ocmF3X21lbSkgKyB0eXBlX3NpemUgKiBhbGxvY2F0ZWRfY291bnQAcHRyICYmICpwdHIAZmFzdF9hbGxvY2F0ZQByZWludGVycHJldF9jYXN0PHNpemVfdD4oYnVmKSAlIGFsaWdubWVudCA9PSAwAGNsZWFudXAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFCwBAHgEAAB5BAAAegQAAHsEAAB8BAAAfQQAAH4EAAB/BAAATjJjdjEzUkhPX0hFU1RfUkVGQ0UATjJjdjhSSE9fSEVTVEUAFGoCAP0rAQA8agIA6CsBAAwsAQBwdHIgPT0gTlVMTABhbGxvY2F0ZQAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS91dGlscy9idWZmZXJfYXJlYS5wcml2YXRlLmhwcABjb3VudCA+IDAAYWxpZ25tZW50ID4gMABhbGlnbm1lbnQgJSBzaXplb2YoVCkgPT0gMAAoYWxpZ25tZW50ICYgKGFsaWdubWVudCAtIDEpKSA9PSAwAHB0ciAhPSBOVUxMAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAKAtAQBEBAAAgAQAAIEEAACCBAAAgwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBOMmN2MTNSSE9fSEVTVF9SRUZDRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAA8agIAPC0BAMRlAgBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlOMmN2MTNSSE9fSEVTVF9SRUZDRUVFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAADwuAQCmLgEAVQAAAAAAAADILgEA+y4BAAMvAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpzb2x2ZUdlbmVyaWMoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2lwcGUuY3BwAFR5cGUgb2YgX29iamVjdFBvaW50cyBtdXN0IGJlIENWXzMyRkMzIG9yIENWXzY0RkMzAG9ialR5cGUAb2JqVHlwZSA9PSBDVl8zMkZDMyB8fCBvYmpUeXBlID09IENWXzY0RkMzAAAAPC4BAKYuAQBXAAAAAAAAAEwvAQCILwEAky8BAFR5cGUgb2YgX25vcm1hbGl6ZWRJbnB1dFBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAHR5cGVfaW5wdXQAdHlwZV9pbnB1dCA9PSBDVl8zMkZDMiB8fCB0eXBlX2lucHV0ID09IENWXzY0RkMyAF9vYmplY3RQb2ludHMucm93cygpID09IDEgfHwgX29iamVjdFBvaW50cy5jb2xzKCkgPT0gMQBzb2x2ZUdlbmVyaWMAX29iamVjdFBvaW50cy5yb3dzKCkgPj0gNCB8fCBfb2JqZWN0UG9pbnRzLmNvbHMoKSA+PSA0AF9ub3JtYWxpemVkSW5wdXRQb2ludHMucm93cygpID09IDEgfHwgX25vcm1hbGl6ZWRJbnB1dFBvaW50cy5jb2xzKCkgPT0gMQBzdGF0aWNfY2FzdDxzaXplX3Q+KF9vYmplY3RQb2ludHMucm93cygpKSAqIHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5jb2xzKCkpID09IG4AX29iamVjdFBvaW50cy50eXBlKCkAFDEBAKYuAQAoAQAAAAAAAFgxAQB0MQEAfjEBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OnJvdDJ2ZWMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfUiBtdXN0IGJlIENWXzY0RkMxAF9SLnR5cGUoKQBfUi50eXBlKCkgPT0gQ1ZfNjRGQzEAX1Iucm93cygpID09IDMAcm90MnZlYwBfUi5jb2xzKCkgPT0gMwAAANgxAQCmLgEASwEAAAAAAABHMgEA4zABAG4yAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpjb21wdXRlVHJhbnNsYXRpb24oY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9vYmplY3RQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfb2JqZWN0UG9pbnRzLnR5cGUoKSA9PSBDVl82NEZDMgAA2DEBAKYuAQBNAQAAAAAAAKwyAQDaMgEA9jIBAFR5cGUgb2YgX25vcm1hbGl6ZWRJbWdQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfbm9ybWFsaXplZEltZ1BvaW50cy50eXBlKCkAX25vcm1hbGl6ZWRJbWdQb2ludHMudHlwZSgpID09IENWXzY0RkMyAAAA2DEBAKYuAQBPAQAAAAAAAFgxAQB0MQEAfjEBAF9SLnJvd3MoKSA9PSAzICYmIF9SLmNvbHMoKSA9PSAzAGNvbXB1dGVUcmFuc2xhdGlvbgBfbm9ybWFsaXplZEltZ1BvaW50cy5yb3dzKCkgPT0gMSB8fCBfbm9ybWFsaXplZEltZ1BvaW50cy5jb2xzKCkgPT0gMQBuID09IHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5yb3dzKCkgKiBfb2JqZWN0UG9pbnRzLmNvbHMoKSkAY29tcHV0ZVJvdGF0aW9ucwBnYW1tYSBpcyB6ZXJvLgAAODQBAKYuAQACAgAAAAAAAJc0AQDKNAEA3zQBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OmhvbW9ncmFwaHlGcm9tU3F1YXJlUG9pbnRzKGN2OjpJbnB1dEFycmF5LCBkb3VibGUsIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfdGFyZ2V0UG9pbnRzIG11c3QgYmUgQ1ZfMzJGQzIgb3IgQ1ZfNjRGQzIAX3RhcmdldFBvaW50cy50eXBlKCkAX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfMzJGQzIgfHwgX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfNjRGQzIARGV0ZXJtaW5hbnQgaXMgemVybyEAaG9tb2dyYXBoeUZyb21TcXVhcmVQb2ludHMAcDUBAKYuAQBAAgAAAAAAAMguAQD7LgEAAy8BAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6Om1ha2VDYW5vbmljYWxPYmplY3RQb2ludHMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBDYW5ub3QgdHJhbnNmb3JtIG9iamVjdCBwb2ludHMgdG8gdGhlIHBsYW5lIHo9MCEAbWFrZUNhbm9uaWNhbE9iamVjdFBvaW50cwBzMyAvIHMyIDwgSVBQRV9TTUFMTABjb21wdXRlT2JqZXh0U3BhY2VSU3ZEAERhdGEucm93cyA9PSAxIHx8IERhdGEuY29scyA9PSAxAG5vcm1hbGl6ZURhdGFJc290cm9waWMARGF0YS5jaGFubmVscygpID09IDIgfHwgRGF0YS5jaGFubmVscygpID09IDMAbnVtUG9pbnRzID49IDQAAADgNgEApi4BAG0DAAAAAAAAUTcBAJU3AQCeNwEAdm9pZCBjdjo6SG9tb2dyYXBoeUhPOjpub3JtYWxpemVEYXRhSXNvdHJvcGljKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9EYXRhIG11c3QgYmUgb25lIG9mIENWXzMyRkMyLCBDVl8zMkZDMywgQ1ZfNjRGQzIsIENWXzY0RkMzAGRhdGFUeXBlAGRhdGFUeXBlID09IENWXzMyRkMyIHx8IGRhdGFUeXBlID09IENWXzMyRkMzIHx8IGRhdGFUeXBlID09IENWXzY0RkMyIHx8IGRhdGFUeXBlID09IENWXzY0RkMzAG4gPT0gRGF0YUIuY29scwBob21vZ3JhcGh5SE8AL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3NvbHZlcG5wLmNwcABucG9pbnRzID09IHN0ZDo6bWF4KGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfMzJGKSwgaXBvaW50cy5jaGVja1ZlY3RvcigyLCBDVl82NEYpKQBzb2x2ZVAzUABucG9pbnRzID09IDMgfHwgbnBvaW50cyA9PSA0AGZsYWdzID09IFNPTFZFUE5QX1AzUCB8fCBmbGFncyA9PSBTT0xWRVBOUF9BUDNQACggKG5wb2ludHMgPj0gNCkgfHwgKG5wb2ludHMgPT0gMyAmJiBmbGFncyA9PSBTT0xWRVBOUF9JVEVSQVRJVkUgJiYgdXNlRXh0cmluc2ljR3Vlc3MpIHx8IChucG9pbnRzID49IDMgJiYgZmxhZ3MgPT0gU09MVkVQTlBfU1FQTlApICkgJiYgbnBvaW50cyA9PSBzdGQ6Om1heChpcG9pbnRzLmNoZWNrVmVjdG9yKDIsIENWXzMyRiksIGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfNjRGKSkAc29sdmVQblBHZW5lcmljACFfcnZlYy5lbXB0eSgpICYmICFfdHZlYy5lbXB0eSgpAChydHlwZSA9PSBDVl8zMkZDMSB8fCBydHlwZSA9PSBDVl82NEZDMSkgJiYgKHR0eXBlID09IENWXzMyRkMxIHx8IHR0eXBlID09IENWXzY0RkMxKQAocnNpemUgPT0gU2l6ZSgxLCAzKSB8fCByc2l6ZSA9PSBTaXplKDMsIDEpKSAmJiAodHNpemUgPT0gU2l6ZSgxLCAzKSB8fCB0c2l6ZSA9PSBTaXplKDMsIDEpKQBucG9pbnRzID09IDQAVGhlIGZsYWdzIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIFNPTFZFUE5QX0lURVJBVElWRSwgU09MVkVQTlBfUDNQLCBTT0xWRVBOUF9FUE5QLCBTT0xWRVBOUF9ETFMsIFNPTFZFUE5QX1VQTlAsIFNPTFZFUE5QX0FQM1AsIFNPTFZFUE5QX0lQUEUsIFNPTFZFUE5QX0lQUEVfU1FVQVJFIG9yIFNPTFZFUE5QX1NRUE5QAHZlY19ydmVjcy5zaXplKCkgPT0gdmVjX3R2ZWNzLnNpemUoKQAArDsBABg4AQBbBAAAAAAAAIE8AQC5PAEA0jwBAGludCBjdjo6c29sdmVQblBHZW5lcmljKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMsIGJvb2wsIGN2OjpTb2x2ZVBuUE1ldGhvZCwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAFR5cGUgb2YgcmVwcm9qZWN0aW9uRXJyb3IgbXVzdCBiZSBDVl8zMkZDMSBvciBDVl82NEZDMSEAcmVwcm9qZWN0aW9uRXJyb3IudHlwZSgpAHR5cGUgPT0gQ1ZfMzJGQzEgfHwgdHlwZSA9PSBDVl82NEZDMQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAERhdGFUeXBlPF9UcD46OmNoYW5uZWxzID09IG0uY2hhbm5lbHMoKSB8fCBtLmVtcHR5KCkAb3BlcmF0b3I9AAAAAMw9AQBAPgEAVgAAAAAAAABjPgEAlT4BAJ0+AQB2b2lkIGN2OjpzcXBucDo6UG9zZVNvbHZlcjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMpAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9zcXBucC5jcHAAVHlwZSBvZiBvYmplY3RQb2ludHMgbXVzdCBiZSBDVl8zMkZDMyBvciBDVl82NEZDMwBvYmpUeXBlAG9ialR5cGUgPT0gQ1ZfMzJGQzMgfHwgb2JqVHlwZSA9PSBDVl82NEZDMwDMPQEAQD4BAFoAAAAAAAAA5D4BABU/AQAdPwEAVHlwZSBvZiBpbWFnZVBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAGltZ1R5cGUAaW1nVHlwZSA9PSBDVl8zMkZDMiB8fCBpbWdUeXBlID09IENWXzY0RkMyAG9iamVjdFBvaW50cy5yb3dzKCkgPT0gMSB8fCBvYmplY3RQb2ludHMuY29scygpID09IDEAc29sdmUAb2JqZWN0UG9pbnRzLnJvd3MoKSA+PSAzIHx8IG9iamVjdFBvaW50cy5jb2xzKCkgPj0gMwBpbWFnZVBvaW50cy5yb3dzKCkgPT0gMSB8fCBpbWFnZVBvaW50cy5jb2xzKCkgPT0gMQBpbWFnZVBvaW50cy5yb3dzKCkgKiBpbWFnZVBvaW50cy5jb2xzKCkgPT0gb2JqZWN0UG9pbnRzLnJvd3MoKSAqIG9iamVjdFBvaW50cy5jb2xzKCkAcG9pbnRfY29vcmRpbmF0ZV92YXJpYW5jZSA+PSBQT0lOVF9WQVJJQU5DRV9USFJFU0hPTEQAY29tcHV0ZU9tZWdhAHNfKDApID49IDFlLTcAKytudW1fbnVsbF92ZWN0b3JzXyA8PSA2AGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAGRhdGEgJiYgZGltcyA8PSAyICYmIHJvd3MgPT0gbSAmJiBjb2xzID09IG4gJiYgY2hhbm5lbHMoKSA9PSAxAG9wZXJhdG9yIE1hdHgAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VuZGlzdG9ydC5kaXNwYXRjaC5jcHAAbnBvaW50cyA+PSAwICYmIHNyYy5pc0NvbnRpbnVvdXMoKSAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAdW5kaXN0b3J0UG9pbnRzAGNyaXRlcmlhLmlzVmFsaWQoKQBjdlVuZGlzdG9ydFBvaW50c0ludGVybmFsAENWX0lTX01BVChfc3JjKSAmJiBDVl9JU19NQVQoX2RzdCkgJiYgKF9zcmMtPnJvd3MgPT0gMSB8fCBfc3JjLT5jb2xzID09IDEpICYmIChfZHN0LT5yb3dzID09IDEgfHwgX2RzdC0+Y29scyA9PSAxKSAmJiBfc3JjLT5jb2xzICsgX3NyYy0+cm93cyAtIDEgPT0gX2RzdC0+cm93cyArIF9kc3QtPmNvbHMgLSAxICYmIChDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl8zMkZDMiB8fCBDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl82NEZDMikgJiYgKENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzMyRkMyIHx8IENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzY0RkMyKQBDVl9JU19NQVQoX2NhbWVyYU1hdHJpeCkgJiYgX2NhbWVyYU1hdHJpeC0+cm93cyA9PSAzICYmIF9jYW1lcmFNYXRyaXgtPmNvbHMgPT0gMwBDVl9JU19NQVQoX2Rpc3RDb2VmZnMpICYmIChfZGlzdENvZWZmcy0+cm93cyA9PSAxIHx8IF9kaXN0Q29lZmZzLT5jb2xzID09IDEpICYmIChfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSA0IHx8IF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDUgfHwgX2Rpc3RDb2VmZnMtPnJvd3MqX2Rpc3RDb2VmZnMtPmNvbHMgPT0gOCB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxMiB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxNCkAQ1ZfSVNfTUFUKG1hdFIpICYmIG1hdFItPnJvd3MgPT0gMyAmJiBtYXRSLT5jb2xzID09IDMAQ1ZfSVNfTUFUKG1hdFApICYmIG1hdFAtPnJvd3MgPT0gMyAmJiAobWF0UC0+Y29scyA9PSAzIHx8IG1hdFAtPmNvbHMgPT0gNCkAAAAAAAxGAQCEBAAAhQQAAIYEAACMAwAAhwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAtEUBAMRlAgAAAAAA0EYBAIgEAACJBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAigQAAIsEAACMBAAAjQQAAI4EAACPBAAAkAQAAE4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE5SG9tb2dyYXBoeUVzdGltYXRvckUATjJjdjR1c2FjOUVzdGltYXRvckUAAAAAPGoCAKBGAQBQIgEAPGoCAIBGAQC4RgEAPGoCAFxGAQDERgEAAAAAAFBHAQCRBAAAkgQAAJMEAACMAwAAlAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA+EYBAMRlAgAAAAAA9EcBAJUEAACWBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAAnQQAAE4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMyMEZ1bmRhbWVudGFsRXN0aW1hdG9yRQAAADxqAgDFRwEAuEYBADxqAgCgRwEA6EcBAAAAAAB0SAEAngQAAJ8EAACgBAAAjAMAAKEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCABxIAQDEZQIAAAAAABRJAQCiBAAAowQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKQEAAClBAAApgQAAKcEAACoBAAAqQQAAKoEAABOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE4RXNzZW50aWFsRXN0aW1hdG9yRQAAADxqAgDnSAEAuEYBADxqAgDESAEACEkBAAAAAACQSQEAqwQAAKwEAACtBAAAjAMAAK4EAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOUFmZmluZUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPEkBAMRlAgAAAAAAKEoBAK8EAACwBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAsQQAALIEAACzBAAAtAQAALUEAAC2BAAAtwQAAE4yY3Y0dXNhYzE5QWZmaW5lRXN0aW1hdG9ySW1wbEUATjJjdjR1c2FjMTVBZmZpbmVFc3RpbWF0b3JFADxqAgAASgEAuEYBADxqAgDgSQEAHEoBAAAAAACgSgEAuAQAALkEAAC6BAAAjAMAALsEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNlBuUEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBQSgEAxGUCAAAAAAA0SwEAvAQAAL0EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC+BAAAvwQAAMAEAADBBAAAwgQAAMMEAADEBAAATjJjdjR1c2FjMTZQblBFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMxMlBuUEVzdGltYXRvckUAAAA8agIADUsBALhGAQA8agIA8EoBAChLAQAAAAAAvEsBAMUEAADGBAAAxwQAAIwDAADIBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAFxLAQDEZQIAAAAAAHxMAQDJBAAAygQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMsEAADMBAAAzQQAAM4EAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkVycm9yU3ltbWV0cmljSW1wbEUATjJjdjR1c2FjMjZSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0UATjJjdjR1c2FjNUVycm9yRQAAPGoCAFJMAQBQIgEAPGoCACtMAQBkTAEAPGoCAABMAQBwTAEAIW1vZGVsLmVtcHR5KCkAc2V0TW9kZWxQYXJhbWV0ZXJzAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy91c2FjL2VzdGltYXRvci5jcHAAAAD0TAEAqkwBAPIAAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAABtb2RlbC5kZXB0aCgpAENWXzY0RgAAAAD0TAEAqkwBAPoAAAABAAAAT00BAIRNAQBeTQEAbW9kZWxfaW52LmRlcHRoKCkAAAAAAAAAEE4BAM8EAADQBAAA0QQAAIwDAADSBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvckZvcndhcmRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAtE0BAMRlAgAAAAAAsE4BANMEAADUBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA1QQAANYEAADXBAAA2AQAAE4yY3Y0dXNhYzI4UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbEUATjJjdjR1c2FjMjRSZXByb2plY3Rpb25FcnJvckZvcndhcmRFAAAAPGoCAH1OAQBkTAEAPGoCAFROAQCkTgEA2E4BAKpMAQA2AQAAAQAAAE9NAQBQTQEAXk0BAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAAAAKBPAQDZBAAA2gQAANsEAACMAwAA3AQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE2U2FtcHNvbkVycm9ySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAFBPAQDEZQIAAAAAAChQAQDdBAAA3gQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAN8EAADgBAAA4QQAAOIEAABOMmN2NHVzYWMxNlNhbXBzb25FcnJvckltcGxFAE4yY3Y0dXNhYzEyU2FtcHNvbkVycm9yRQAAADxqAgABUAEAZEwBADxqAgDkTwEAHFABAFBQAQCqTAEAbAEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlNhbXBzb25FcnJvckltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAAAAAAAAAAAcUQEA4wQAAOQEAADlBAAAjAMAAOYEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMFN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAvFABAMRlAgAAAAAAwFEBAOcEAADoBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA6QQAAOoEAADrBAAA7AQAAE4yY3Y0dXNhYzMwU3ltbWV0cmljR2VvbWV0cmljRGlzdGFuY2VJbXBsRQBOMmN2NHVzYWMyNlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlRQAAADxqAgCLUQEAZEwBADxqAgBgUQEAtFEBAOhRAQCqTAEAswEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAC8UgEA7QQAAO4EAADvBAAAjAMAAPAEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyOFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBgUgEAxGUCAAAAAABcUwEA8QQAAPIEAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzBAAA9AQAAPUEAAD2BAAATjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsRQBOMmN2NHVzYWMyNFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEUAAAA8agIAKVMBAGRMAQA8agIAAFMBAFBTAQCEUwEAqkwBAPMBAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsOjpzZXRNb2RlbFBhcmFtZXRlcnMoY29uc3QgY3Y6Ok1hdCAmKQAAAAAAAAAAXFQBAPcEAAD4BAAA+QQAAIwDAAD6BAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25EaXN0YW5jZUFmZmluZUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAPxTAQDEZQIAAAAAAPxUAQD7BAAA/AQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAP0EAAD+BAAA/wQAAAAFAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1wbEUATjJjdjR1c2FjMjNSZXByb2plY3Rpb25FcnJvckFmZmluZUUAADxqAgDLVAEAZEwBADxqAgCgVAEA8FQBACRVAQCqTAEAMgIAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1w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dWFsaXR5RQBOMmN2NHVzYWM3UXVhbGl0eUUAADxqAgBoXAEAUCIBADxqAgBOXAEAfFwBADxqAgAwXAEAiFwBAGdldFNjb3JlKGVycm9ycykAZ2V0U2NvcmUAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvLi4vdXNhYy5ocHAAAAAAAFBdAQAWBQAAFwUAABgFAACMAwAAGQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE1TXNhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAABdAQDEZQIAAAAAAORdAQAaBQAAGwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAABwFAAAPBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAATjJjdjR1c2FjMTVNc2FjUXVhbGl0eUltcGxFAE4yY3Y0dXNhYzExTXNhY1F1YWxpdHlFADxqAgDAXQEAfFwBADxqAgCkXQEA2F0BAAAAAABgXgEAIwUAACQFAAAlBQAAjAMAACYFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIADF4BAMRlAgAAAAAA+F4BACcFAAAoBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKQUAACoFAAArBQAALAUAAC0FAAAuBQAALwUAADAFAABOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRQBOMmN2NHVzYWMxM01hZ3NhY1F1YWxpdHlFADxqAgDSXgEAfFwBADxqAgC0XgEA7F4BAAAAAABwXwEAMQUAADIFAAAzBQAAjAMAADQFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNkxNZWRzUXVhbGl0eUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgAgXwEAxGUCAAAAAAAIYAEANQUAADYFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAA3BQAADwUAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAE4yY3Y0dXNhYzE2TE1lZHNRdWFsaXR5SW1wbEUATjJjdjR1c2FjMTJMTWVkc1F1YWxpdHlFAAAAPGoCAOFfAQB8XAEAPGoCAMRfAQD8XwEAAAAAAIRgAQA+BQAAPwUAAEAFAACMAwAAQQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TW9kZWxWZXJpZmllckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgAwYAEAxGUCAAAAAAAUYQEAQgUAAEMFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABEBQAARQUAAEYFAABHBQAASAUAAEkFAABOMmN2NHVzYWMxN01vZGVsVmVyaWZpZXJJbXBsRQBOMmN2NHVzYWMxM01vZGVsVmVyaWZpZXJFADxqAgDuYAEAUCIBADxqAgDQYAEACGEBAAAAAACEYQEASgUAAEsFAABMBQAAjAMAAE0FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM4U1BSVEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPGEBAMRlAgAAAAAABGIBAE4FAABPBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAUAUAAFEFAABSBQAAUwUAAFQFAABVBQAAVgUAAE4yY3Y0dXNhYzhTUFJUSW1wbEUATjJjdjR1c2FjNFNQUlRFADxqAgDoYQEACGEBADxqAgDUYQEA+GEBAAAAAACQYgEAVwUAAFgFAABZBQAAjAMAAFoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCACxiAQDEZQIAAAAAAGBjAQBZBAAAWwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAFwFAABdBQAAXgUAAF8FAABOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU1pbmltYWxTb2x2ZXI0cHRzR0VNRQBOMmN2NHVzYWMxM01pbmltYWxTb2x2ZXJFADxqAgAuYwEAUCIBADxqAgADYwEASGMBADxqAgDUYgEAVGMBAAAAAADoYwEAYAUAAGEFAABiBQAAjAMAAGMFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAiGMBAMRlAgAAAAAAtGQBAGQFAABlBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZgUAAGcFAABoBQAAaQUAAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNkhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVyRQBOMmN2NHVzYWMxNk5vbk1pbmltYWxTb2x2ZXJFAAA8agIAfmQBAFAiAQA8agIAV2QBAJxkAQA8agIALGQBAKhkAQAAAAAANGUBAGoFAABrBQAAbAUAAIwDAABtBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDcZAEAxGUCAAAAAADIZQEAWQQAAG4FAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABvBQAAcAUAAHEFAAByBQAATjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEUATjJjdjR1c2FjMTlBZmZpbmVNaW5pbWFsU29sdmVyRQA8agIAnGUBAEhjAQA8agIAeGUBALxlAQAAAAAATGYBAHMFAAB0BQAAdQUAAIwDAAB2BQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjZBZmZpbmVOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIA8GUBAMRlAgAAAAAA6GYBAFkEAAB3BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAeAUAAHkFAAB6BQAAewUAAE4yY3Y0dXNhYzI2QWZmaW5lTm9uTWluaW1hbFNvbHZlckltcGxFAE4yY3Y0dXNhYzIyQWZmaW5lTm9uTWluaW1hbFNvbHZlckUAAAA8agIAt2YBAJxkAQA8agIAkGYBANxmAQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAAAAC0ZwEAfAUAAH0FAAB+BQAAjAMAAH8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAVGcBAMRlAgAAAAAAWGgBAFkEAACABQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAIIFAACDBQAAhAUAAE4yY3Y0dXNhYzMwRXBpcG9sYXJHZW9tZXRyeURlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMyNkVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5RQAAADxqAgAjaAEAIIMBADxqAgD4ZwEATGgBAGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAAAAAAAAAAB0aQEAhQUAAIYFAACHBQAAjAMAAIgFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCABxpAQDEZQIAAAAAAAxqAQBZBAAAiQUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIoFAACLBQAAgwUAAIwFAABOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjBIb21vZ3JhcGh5RGVnZW5lcmFjeUUAAAA8agIA3WkBACCDAQA8agIAuGkBAABqAQAAAAAAkGoBAI0FAACOBQAAjwUAAIwDAACQBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVGdW5kYW1lbnRhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIANGoBAMRlAgAAAAAAKGsBAJEFAACSBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAJMFAACUBQAAlQUAAE4yY3Y0dXNhYzI1RnVuZGFtZW50YWxEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjFGdW5kYW1lbnRhbERlZ2VuZXJhY3lFADxqAgD6agEATGgBADxqAgDUagEAHGsBAAAAAACoawEAlgUAAJcFAACYBQAAjAMAAJkFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAFBrAQDEZQIAAAAAADxsAQCaBQAAmwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACcBQAAgwUAAJ0FAABOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMxOUVzc2VudGlhbERlZ2VuZXJhY3lFADxqAgAQbAEATGgBADxqAgDsawEAMGwBAAAAAADEbAEAngUAAJ8FAACgBQAAjAMAAKEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjdwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZGwBAMRlAgAAAAAAbG0BAFkEAACiBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAowUAAKQFAAClBQAApgUAAE4yY3Y0dXNhYzMyRnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0ltcGxFAE4yY3Y0dXNhYzI4RnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0UAAAA8agIANW0BAEhjAQA8agIACG0BAGBtAQAAAAAA9G0BAKcFAACoBQAAqQUAAIwDAACqBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzJGdW5kYW1lbnRhbE1pbmltYWxTb2x2ZXI4cHRzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAJRtAQDEZQIAAAAAAJxuAQBZBAAAqwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKwFAACtBQAArgUAAK8FAABOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNJbXBsRQBOMmN2NHVzYWMyOEZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNFAAAAPGoCAGVuAQBIYwEAPGoCADhuAQCQbgEAAAAAACRvAQCwBQAAsQUAALIFAACMAwAAswUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxRnVuZGFtZW50YWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDEbgEAxGUCAAAAAADIbwEAtAUAALUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC2BQAAtwUAALgFAAC5BQAATjJjdjR1c2FjMzFGdW5kYW1lbnRhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyN0Z1bmRhbWVudGFsTm9uTWluaW1hbFNvbHZlckUAPGoCAJRvAQCcZAEAPGoCAGhvAQC8bwEAAAAAAFhwAQC6BQAAuwUAALwFAACMAwAAvQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM5RXNzZW50aWFsTWluaW1hbFNvbHZlclN0ZXdlbml1czVwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAPBvAQDEZQIAAAAAAAxxAQBZBAAAvgUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAL8FAADABQAAwQUAAMIFAABOMmN2NHVzYWMzOUVzc2VudGlhbE1pbmltYWxTb2x2ZXJTdGV3ZW5pdXM1cHRzSW1wbEUATjJjdjR1c2FjMzVFc3NlbnRpYWxNaW5pbWFsU29sdmVyU3Rld2VuaXVzNXB0c0UAPGoCANBwAQBIYwEAPGoCAJxwAQAAcQEAVG8gdXNlIGVzc2VudGlhbCBtYXRyaXggc29sdmVyIExBUEFDSyBvciBFaWdlbiBoYXMgdG8gYmUgaW5zdGFsbGVkIQBlc3RpbWF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9lc3NlbnRpYWxfc29sdmVyLmNwcAAAAAAAFHIBAMMFAADEBQAAxQUAAIwDAADGBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlFc3NlbnRpYWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALRxAQDEZQIAAAAAALRyAQBZBAAAxwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMgFAADJBQAAygUAAMsFAABOMmN2NHVzYWMyOUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJFADxqAgCCcgEAnGQBADxqAgBYcgEAqHIBAAAAAAAocwEAzAUAAM0FAADOBQAAjAMAAM8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERMU1BuUEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCANxyAQDEZQIAAAAAAKRzAQBZBAAA0AUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANEFAADSBQAA0wUAANQFAABOMmN2NHVzYWMxMERMU1BuUEltcGxFAE4yY3Y0dXNhYzZETFNQblBFAAAAADxqAgCDcwEAnGQBADxqAgBscwEAmHMBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGh0AQDVBQAA1gUAANcFAACMAwAA2AUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAEHQBAMRlAgAAAAAAAHUBAFkEAADZBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA2gUAANsFAADcBQAA3QUAAE4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRQBOMmN2NHVzYWMyMFBuUE1pbmltYWxTb2x2ZXI2UHRzRQAAADxqAgDRdAEASGMBADxqAgCsdAEA9HQBAAAAAACAdQEA3gUAAN8FAADgBQAAjAMAAOEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCACh1AQDEZQIAAAAAABR2AQBZBAAA4gUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOMFAADkBQAA5QUAAOYFAABOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMxOVBuUE5vbk1pbmltYWxTb2x2ZXJFADxqAgDodQEAnGQBADxqAgDEdQEACHYBAAAAAACMdgEA5wUAAOgFAADpBQAAjAMAAOoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxM1AzUFNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgA8dgEAxGUCAAAAAAAMdwEAWQQAAOsFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADsBQAA7QUAAO4FAADvBQAATjJjdjR1c2FjMTNQM1BTb2x2ZXJJbXBsRQBOMmN2NHVzYWM5UDNQU29sdmVyRQAAPGoCAOp2AQBIYwEAPGoCANB2AQAAdwEAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAxHcBAPAFAADxBQAA8gUAAIwDAADzBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTJHcmFwaEN1dEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgB4dwEAxGUCAAAAAABkeAEA9AUAAPUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAD2BQAA9wUAAE4yY3Y0dXNhYzEyR3JhcGhDdXRJbXBsRQBOMmN2NHVzYWM4R3JhcGhDdXRFAE4yY3Y0dXNhYzE3TG9jYWxPcHRpbWl6YXRpb25FAAA8agIALXgBAFAiAQA8agIAGXgBAEx4AQA8agIAAHgBAFh4AQBpPj0wICYmIGk8KGludCl2dGNzLnNpemUoKQBhZGRUZXJtV2VpZ2h0cwAvc3JjL21vZHVsZXMvaW1ncHJvYy9pbmNsdWRlL29wZW5jdjIvaW1ncHJvYy9kZXRhaWwvZ2NncmFwaC5ocHAAYWRkRWRnZXMAaj49MCAmJiBqPChpbnQpdnRjcy5zaXplKCkAdz49MCAmJiByZXZ3Pj0wAGkgIT0gagAhdnRjcy5lbXB0eSgpAG1heEZsb3cAIWVkZ2VzLmVtcHR5KCkAbWluV2VpZ2h0ID4gMABpblNvdXJjZVNlZ21lbnQAAAAAANh5AQD4BQAA+QUAAPoFAACMAwAA+wUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM1SW5uZXJJdGVyYXRpdmVMb2NhbE9wdGltaXphdGlvbkltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAdHkBAMRlAgAAAAAAfHoBAPwFAAD9BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA/gUAAP8FAABOMmN2NHVzYWMzNUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25JbXBsRQBOMmN2NHVzYWMzMUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25FADxqAgBEegEATHgBADxqAgAUegEAcHoBAAAAAAD4egEAAAYAAAEGAAACBgAAjAMAAAMGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIApHoBAMRlAgAAAAAAfHsBAAQGAAAFBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAABgYAAAcGAABOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEUATjJjdjR1c2FjMTRTaWdtYUNvbnNlbnN1c0UAAAA8agIAU3sBAEx4AQA8agIANHsBAHB7AQAAAAAAAHwBAAgGAAAJBgAACgYAAIwDAAALBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVMZWFzdFNxdWFyZXNQb2xpc2hpbmdJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIApHsBAMRlAgAAAAAAuHwBAAwGAAANBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAADgYAAE4yY3Y0dXNhYzI1TGVhc3RTcXVhcmVzUG9saXNoaW5nSW1wbEUATjJjdjR1c2FjMjFMZWFzdFNxdWFyZXNQb2xpc2hpbmdFAE4yY3Y0dXNhYzE4RmluYWxNb2RlbFBvbGlzaGVyRQAAPGoCAIB8AQBQIgEAPGoCAF58AQCgfAEAPGoCADh8AQCsfAEASW5jb3JyZWN0IGZsYWcgZm9yIFVTQUMhAHNldFBhcmFtZXRlcnMAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvcmFuc2FjX3NvbHZlcnMuY3BwADh9AQDrfAEAIAMAAAEAAADzfQEAF34BADt+AQBib29sIGN2Ojp1c2FjOjpydW4oY29uc3QgUHRyPGNvbnN0IGN2Ojp1c2FjOjpNb2RlbD4gJiwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQsIFB0cjxjdjo6dXNhYzo6UmFuc2FjT3V0cHV0PiAmLCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkASW50cmluc2ljIG1hdHJpeCBtdXN0IG5vdCBiZSBlbXB0eSEAKGludCkoIUsxXy5lbXB0eSgpICYmICFLMl8uZW1wdHkoKSkAMQBHcmFwaCB0eXBlIGlzIG5vdCBpbXBsZW1lbnRlZCEAcnVuADh9AQDrfAEASQMAAAEAAAB8fgEAqn4BAL9+AQBQcm9ncmVzc2l2ZU5BUFNBQyBmb3IgUG5QIGlzIG5vdCBpbXBsZW1lbnRlZCEAKGludClwYXJhbXMtPmlzUG5QKCkAMABQcm9ncmVzc2l2ZSBOQVBTQUMgc2FtcGxlcjogQ2VsbCBudW1iZXIgaW4gbGF5ZXJzIG11c3QgYmUgaW4gZGVjcmVhc2luZyBvcmRlciEARXJyb3IgbWV0cmljIGlzIG5vdCBpbXBsZW1lbnRlZCEAU2NvcmUgaXMgbm90IGltZXBsZW1ldGVkIQBFc3RpbWF0b3Igbm90IGltcGxlbWVudGVkIQBTYW1wbGVyIGlzIG5vdCBpbXBsZW1lbnRlZCEAVmVyaWZpZXIgaXMgbm90IGltZXBsZW1lbnRlZCEATG9jYWwgT3B0aW1pemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCEAAOR/AQDrfAEAigEAAAUAAABlgAEAgIABAIyAAQBhdXRvIGN2Ojp1c2FjOjptZXJnZVBvaW50cyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpNYXQgJiwgYm9vbCk6Oihhbm9ueW1vdXMgY2xhc3MpOjpvcGVyYXRvcigpKGN2OjpNYXQgJiwgaW50KSBjb25zdABJbnZhbGlkIGRpbWVuc2lvbiBvZiBwb2ludABwb2ludHMuY29scwBwdF9kaW0AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAABSBAQAQBgAAEQYAABIGAABOMmN2MjlQYXJhbGxlbExvb3BCb2R5TGFtYmRhV3JhcHBlckUAAAAAPGoCAOyAAQCorgAAAAAAAACCAQATBgAAFAYAABUGAAAWBgAAFwYAABgGAAAZBgAAGgYAABsGAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TMl8zUHRySU5TM18xMlJhbnNhY091dHB1dEVFRUVVbFJLTlMyXzVSYW5nZUVFX05TXzlhbGxvY2F0b3JJU0NfRUVGdlNCX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJLTjJjdjVSYW5nZUVFRUUAFGoCAMqBAQA8agIATIEBAPiBAQBaTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TXzNQdHJJTlMwXzEyUmFuc2FjT3V0cHV0RUVFRVVsUktOU181UmFuZ2VFRV8AAAAUagIADIIBAAAAAADEggEAHAYAAB0GAAAeBgAAjAMAAB8GAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERlZ2VuZXJhY3lFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAHiCAQDEZQIAAAAAACCDAQBZBAAAIAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACLBQAAgwUAACEGAABOMmN2NHVzYWMxMERlZ2VuZXJhY3lFAAA8agIACIMBAFAiAQAAAAAAmIMBACIGAAAjBgAAJAYAAIwDAAAlBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTZSYW5zYWNPdXRwdXRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIASIMBAMRlAgAAAAAAPIQBACYGAAAnBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKAYAACkGAAAqBgAAKwYAACwGAAAtBgAALgYAAC8GAAAwBgAAMQYAADIGAABOMmN2NHVzYWMxNlJhbnNhY091dHB1dEltcGxFAE4yY3Y0dXNhYzEyUmFuc2FjT3V0cHV0RQAAADxqAgAVhAEAUCIBADxqAgD4gwEAMIQBAAAAAACshAEAMwYAADQGAAA1BgAAjAMAADYGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM5TW9kZWxJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZIQBAMRlAgAAAAAAJIYBADcGAAA4BgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAOQYAADoGAAA7BgAAPAYAAD0GAAA+BgAAPwYAAEAGAABBBgAAQgYAAEMGAABEBgAARQYAAEYGAABHBgAASAYAAEkGAABKBgAASwYAAEwGAABNBgAATgYAAE8GAABQBgAAUQYAAFIGAABTBgAAVAYAAFUGAABWBgAAVwYAAFgGAABZBgAAWgYAAFsGAABcBgAAXQYAAF4GAABfBgAAYAYAAGEGAABiBgAAYwYAAGQGAABlBgAAZgYAAGcGAABoBgAAaQYAAGoGAABrBgAAbAYAAG0GAABuBgAAbwYAAHAGAABxBgAARXN0aW1hdG9yIGhhcyBub3QgaW1wbGVtZW50ZWQgeWV0IQBNb2RlbEltcGwATjJjdjR1c2FjOU1vZGVsSW1wbEUATjJjdjR1c2FjNU1vZGVsRQAAPGoCAAaGAQBQIgEAPGoCAPGFAQAYhgEATjJjdjR1c2FjN1NhbXBsZXJFAAA8agIAMIYBAFAiAQBOMmN2NHVzYWMxM1Byb3NhY1NhbXBsZXJFAAAAPGoCAFCGAQBEhgEAAAAAAOiGAQByBgAAcwYAAHQGAACMAwAAdQYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE4VW5pZm9ybVNhbXBsZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgCUhgEAxGUCAAAAAABwhwEAdgYAAHcGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAB4BgAAeQYAAHoGAABOMmN2NHVzYWMxOFVuaWZvcm1TYW1wbGVySW1wbEUATjJjdjR1c2FjMTRVbmlmb3JtU2FtcGxlckUAAAA8agIAR4cBAESGAQA8agIAKIcBAGSHAQBzYW1wbGVfc2l6ZSA8PSBwb2ludHNfc2l6ZV8Ac2V0UG9pbnRzU2l6ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9zYW1wbGVyLmNwcABzYW1wbGVfc2l6ZV8gPD0gcG9pbnRzX3NpemVfAHNldE5ld1BvaW50c1NpemUAAAAAAAAAcIgBAHsGAAB8BgAAfQYAAIwDAAB+BgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTdQcm9zYWNTYW1wbGVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAByIAQDEZQIAAAAAAOyIAQB/BgAAgAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEGAACCBgAAgwYAAIQGAACFBgAAhgYAAFByb3NhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3UHJvc2FjU2FtcGxlckltcGxFADxqAgDOiAEAbIYBAENoYW5naW5nIHBvaW50cyBzaXplIGluIFBST1NBQyByZXF1aXJlcyB0byBjaGFuZ2UgYWxzbyB0ZXJtaW5hdGlvbiBjcml0ZXJpYSEgVXNlIFBST1NBQyBzaW1wbGVyIHZlcnNpb24AAAAAANSJAQCHBgAAiAYAAIkGAACMAwAAigYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIAfIkBAMRlAgAAAAAAeIoBAIsGAACMBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAjQYAAI4GAACPBgAAUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsAE4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRQBOMmN2NHVzYWMxN1Byb2dyZXNzaXZlTmFwc2FjRQAAADxqAgBMigEARIYBADxqAgAqigEAbIoBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIFAtTkFQU0FDIQAAAAAAAFCLAQCQBgAAkQYAAJIGAACMAwAAkwYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgD8igEAxGUCAAAAAAAEjAEAlAYAAJUGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACWBgAAlwYAAJgGAABwb2ludHNfc2l6ZV8gPj0gc2FtcGxlX3NpemVfAE5hcHNhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFAE4yY3Y0dXNhYzEzTmFwc2FjU2FtcGxlckUAADxqAgDdiwEARIYBADxqAgC/iwEA+IsBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIE5BUFNBQyEAAAAAAAAAAOiMAQCZBgAAmgYAAJsGAACMAwAAnAYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgCIjAEAxGUCAAAAAACwjQEAWQQAAJ0GAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACeBgAAnwYAAE4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjdTdGFuZGFyZFRlcm1pbmF0aW9uQ3JpdGVyaWFFAE4yY3Y0dXNhYzE5VGVybWluYXRpb25Dcml0ZXJpYUUAPGoCAHiNAQBQIgEAPGoCAFCNAQCYjQEAPGoCACSNAQCkjQEAAAAAACyOAQCgBgAAoQYAAKIGAACMAwAAowYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDYjQEAxGUCAAAAAACwjgEAWQQAAKQGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAClBgAApgYAAE4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEUATjJjdjR1c2FjMTVTUFJUVGVybWluYXRpb25FADxqAgCIjgEAmI0BADxqAgBojgEApI4BAAAAAAA0jwEApwYAAKgGAACpBgAAjAMAAKoGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNlNQUlRQTmFwc2FjVGVybWluYXRpb25JbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgDYjgEAxGUCAAAAAADIjwEAqwYAAKwGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACtBgAArgYAAE4yY3Y0dXNhYzI2U1BSVFBOYXBzYWNUZXJtaW5hdGlvbkltcGxFAE4yY3Y0dXNhYzIyU1BSVFBOYXBzYWNUZXJtaW5hdGlvbkUAAAA8agIAl48BAJiNAQA8agIAcI8BALyPAQAAAAAAUJABAK8GAACwBgAAsQYAAIwDAACyBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAPCPAQDEZQIAAAAAAOiQAQCzBgAAtAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAALUGAAC2BgAATjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjVQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhRQA8agIAtpABAJiNAQA8agIAjJABANyQAQBhbGdvcml0aG0AdHJlZXMAYnJhbmNoaW5nAGl0ZXJhdGlvbnMAY2VudGVyc19pbml0AHRhcmdldF9wcmVjaXNpb24AYnVpbGRfd2VpZ2h0AG1lbW9yeV93ZWlnaHQAc2FtcGxlX2ZyYWN0aW9uAGxlYWZfc2l6ZQB0YWJsZV9udW1iZXIAbXVsdGlfcHJvYmVfbGV2ZWwAY2hlY2tzAGVwcwBzb3J0ZWQAZXhwbG9yZV9hbGxfdHJlZXMAAAAAAADMkwEA3QYAAN4GAADfBgAA4AYAAOEGAADiBgAA4wYAAOQGAABVbmtub3duL3Vuc3VwcG9ydGVkIGRpc3RhbmNlIHR5cGUAYnVpbGQAL3NyYy9tb2R1bGVzL2ZsYW5uL3NyYy9taW5pZmxhbm4uY3BwAHJlbGVhc2UAa25uU2VhcmNoAG1heFJlc3VsdHMgPiAwAHJhZGl1c1NlYXJjaABMU0ggaW5kZXggZG9lcyBub3Qgc3VwcG9ydCByYWRpdXNTZWFyY2ggb3BlcmF0aW9uAHdiAENhbiBub3Qgb3BlbiBmaWxlICVzIGZvciB3cml0aW5nIEZMQU5OIGluZGV4CgBzYXZlAHJiAFJlYWRpbmcgRkxBTk4gaW5kZXggZXJyb3I6IHRoZSBzYXZlZCBkYXRhIHNpemUgKCVkLCAlZCkgb3IgdHlwZSAoJWQpIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwYXNzZWQgb25lICglZCwgJWQpLCAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZmVhdHVyZSB0eXBlICVkIGZvciB0aGUgaW5kZXggdHlwZSAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlzdGFuY2UgdHlwZSAlZAoATjJjdjVmbGFubjVJbmRleEUAABRqAgC5kwEASW52YWxpZCBpbmRleCBmaWxlLCBjYW5ub3QgcmVhZABON2N2Zmxhbm4xNEZMQU5ORXhjZXB0aW9uRQAAPGoCAPSTAQDU7QAARkxBTk5fSU5ERVgASW52YWxpZCBpbmRleCBmaWxlLCB3cm9uZyBzaWduYXR1cmUAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9nZW5lcmFsLmgAAAAAAAAQlAEA4wMAAOUGAADnAwAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBB4KkGC9MZuJUBAOYGAADnBgAA6AYAAOkGAADqBgAA6wYAAOwGAADtBgAA7gYAAO8GAADwBgAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TMF85ZW1wdHlfYW55RUVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJTlMwXzllbXB0eV9hbnlFRUUATjdjdmZsYW5uN2FueWltcGwxNWJhc2VfYW55X3BvbGljeUUAABRqAgB/lQEAPGoCAESVAQCklQEAPGoCABCVAQCslQEATjdjdmZsYW5uN2FueWltcGw5ZW1wdHlfYW55RQAAAAAUagIAxJUBAFtlbXB0eV9hbnldAAAAAACQlgEA8QYAAPIGAADzBgAA9AYAAPUGAAD2BgAA9wYAAPgGAAD5BgAA7wYAAPoGAABON2N2Zmxhbm43YW55aW1wbDE2c21hbGxfYW55X3BvbGljeUlpRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlpRUUAAAAAPGoCAFSWAQCklQEAPGoCACyWAQCElgEAAAAAADSXAQD7BgAA/AYAAP0GAAD+BgAA/wYAAAAHAAABBwAAAgcAAAMHAADvBgAABAcAAE43Y3ZmbGFubjdhbnlpbXBsMTZzbWFsbF9hbnlfcG9saWN5SWZFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWZFRQAAAAA8agIA+JYBAKSVAQA8agIA0JYBACiXAQAAAAAA2JcBAAUHAAAGBwAABwcAAAgHAAAJBwAACgcAAAsHAAAMBwAADQcAAO8GAAAOBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJYkVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJYkVFAAAAADxqAgCclwEApJUBADxqAgB0lwEAzJcBAAAAAACkmAEADwcAABAHAAARBwAAEgcAABMHAAAUBwAAFQcAABYHAAAXBwAA7wYAABgHAABON2N2Zmxhbm43YW55aW1wbDE0YmlnX2FueV9wb2xpY3lJTlNfMTdmbGFubl9hbGdvcml0aG1fdEVFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SU5TXzE3Zmxhbm5fYWxnb3JpdGhtX3RFRUUAADxqAgBUmAEApJUBADxqAgAYmAEAmJgBAE43Y3ZmbGFubjE3Zmxhbm5fYWxnb3JpdGhtX3RFAAAAyGkCALCYAQAAAAAAoJkBABkHAAAaBwAAGwcAABwHAAAdBwAAHgcAAB8HAAAgBwAAIQcAAO8GAAAiBwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TXzIwZmxhbm5fY2VudGVyc19pbml0X3RFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU18yMGZsYW5uX2NlbnRlcnNfaW5pdF90RUVFAAAAADxqAgBLmQEApJUBADxqAgAMmQEAlJkBAE43Y3ZmbGFubjIwZmxhbm5fY2VudGVyc19pbml0X3RFAAAAAMhpAgCsmQEAAAAAAOyaAQAjBwAAJAcAACUHAAAmBwAAJwcAACgHAAApBwAAKgcAACsHAADvBgAALAcAAE43Y3ZmbGFubjdhbnlpbXBsMTRiaWdfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUAAAAAPGoCAHGaAQCklQEAPGoCAAyaAQDgmgEATjdjdmZsYW5uN2FueWltcGwxMmJhZF9hbnlfY2FzdEUAAAAAFGoCAPiaAQAAAAAAuJsBAC0HAAAuBwAALwcAADAHAAAxBwAAMgcAADMHAAA0BwAANQcAAO8GAAA2BwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SWRFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWRFRQAAPGoCAH6bAQCklQEAPGoCAFibAQCsmwEAdHlwZT0lZAoAYnVpbGRJbmRleF8AT25seSBjb250aW51b3VzIGFycmF5cyBhcmUgc3VwcG9ydGVkAAAAAAAAAIycAQA3BwAAOAcAADkHAAA6BwAAOwcAADwHAAA9BwAAPgcAAD8HAABABwAAQQcAAEIHAABDBwAATjdjdmZsYW5uNUluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18xMEhhbW1pbmdMVVRFRUUAFGoCAF+cAQA8agIAPJwBAIScAQBxdWVyaWVzLmNvbHMgPT0gdmVjbGVuKCkAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9ubl9pbmRleC5oAGluZGljZXMucm93cyA+PSBxdWVyaWVzLnJvd3MAZGlzdHMucm93cyA+PSBxdWVyaWVzLnJvd3MAaW50KGluZGljZXMuY29scykgPj0ga25uAGludChkaXN0cy5jb2xzKSA+PSBrbm4AAAAAAAAAAOidAQBEBwAARQcAAEYHAABHBwAASAcAAEkHAABKBwAASwcAAE43Y3ZmbGFubjE4S05OVW5pcXVlUmVzdWx0U2V0SWlFRQBON2N2Zmxhbm4xNVVuaXF1ZVJlc3VsdFNldElpRUUATjdjdmZsYW5uOVJlc3VsdFNldElpRUUAAAAAFGoCALmdAQA8agIAmp0BANSdAQA8agIAeJ0BANydAQAAAAAA3J0BAEQHAABMBwAARgcAAOoDAABIBwAA6gMAAEoHAABLBwAASSBjYW4gb25seSBzZWFyY2ggb25lIGZlYXR1cmUgYXQgYSB0aW1lIGZvciByYW5nZSBzZWFyY2gKAHF1ZXJ5LmNvbHMgPT0gdmVjbGVuKCkAaW5kaWNlcy5jb2xzID09IGRpc3RzLmNvbHMAAAAAANieAQBEBwAATQcAAE4HAABPBwAAUAcAAFEHAABKBwAASwcAAE43Y3ZmbGFubjIxUmFkaXVzVW5pcXVlUmVzdWx0U2V0SWlFRQAAAAA8agIAsJ4BANydAQBNaXNzaW5nIHBhcmFtZXRlciAnACcgaW4gdGhlIHBhcmFtZXRlcnMgZ2l2ZW4ARGF0YXR5cGUgb2Ygc2F2ZWQgaW5kZXggaXMgZGlmZmVyZW50IHRoYW4gb2YgdGhlIG9uZSB0byBiZSBjcmVhdGVkLgBUaGUgaW5kZXggc2F2ZWQgYmVsb25ncyB0byBhIGRpZmZlcmVudCBkYXRhc2V0AFVua25vd24gaW5kZXggdHlwZQAAAAAAAKABAFIHAABTBwAAVAcAAFUHAABWBwAAVwcAAFgHAABZBwAAWgcAAFsHAABcBwAAXQcAAF4HAABON2N2Zmxhbm4xMUxpbmVhckluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQAAADxqAgDUnwEAhJwBAAAAAAAAAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIAAAAAKihAQBfBwAAYAcAAGEHAABVBwAAVgcAAGIHAABjBwAAZAcAAGUHAABmBwAAZwcAAGgHAABpBwAAVW5rbm93biBhbGdvcml0aG0gZm9yIGNob29zaW5nIGluaXRpYWwgY2VudGVycy4ATjdjdmZsYW5uMTFLTWVhbnNJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAfKEBAIScAQBBwcMGC8ZOAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIQnJhbmNoaW5nIGZhY3RvciBtdXN0IGJlIGF0IGxlYXN0IDIARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeS4KAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAAAAXKQBAF8DAABqBwAAawcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMTBIYW1taW5nTFVURUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJUFBoRUUAADxqAgAUpAEAqK4AAENhbm5vdCByZWFkIGZyb20gZmlsZQByZXN1bHQuZnVsbCgpAGZpbmROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rbWVhbnNfaW5kZXguaAAAAPCkAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+LCBIYXNoYWJsZVQgPSBpbnRdAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vaGVhcC5oAEZhaWxlZCB0byBpbnNlcnQgdGhlIGhlYXAgaW50byBpdHMgbWVtb3J5IHBvb2wAc3RhdGljX2Nhc3Q8aW50PihlbXBsYWNlUmVzdWx0LnNlY29uZCkAMQDwpAEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAQ2Fubm90IG1vZGlmeSBhIGhlYXAgdGhhdCBpcyBjdXJyZW50bHkgYWNjZXNzZWQgYnkgYW5vdGhlciBjYWxsZXIAaGVhcEl0LT5zZWNvbmQuaGVhcFB0ci51c2VfY291bnQoKQBjbGVhbnVwSXQgIT0gaGVhcEl0AGdldFBvb2xlZEluc3RhbmNlAAAAAAAA6KcBAGwHAABtBwAAbgcAAIwDAABvBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLTWVhbnNJbmRleElOUzFfMTBIYW1taW5nTFVURUUxMEtNZWFuc05vZGVFaUVFRUVOU185YWxsb2NhdG9ySVNBX0VFRUUAAAAAPGoCAFinAQDEZQIAAAAAAGyoAQBwBwAAcQcAAHIHAABVBwAAVgcAAHMHAAB0BwAAdQcAAHYHAAB3BwAAeAcAAHkHAAB6BwAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMTBIYW1taW5nTFVURUVFAAAAPGoCADCoAQCEnAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9oaWVyYXJjaGljYWxfY2x1c3RlcmluZ19pbmRleC5oAAAAAOCoAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6SGFtbWluZ0xVVD46Ok5vZGUgKiwgaW50Pj46OmdldFBvb2xlZEluc3RhbmNlKGNvbnN0IEhhc2hhYmxlVCAmLCBjb25zdCBpbnQsIGludCkgW1QgPSBjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkhhbW1pbmdMVVQ+OjpOb2RlICosIGludD4sIEhhc2hhYmxlVCA9IGludF0A4KgBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAADgqgEAewcAAHwHAAB9BwAAjAMAAH4HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8yN0hpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleElOUzFfMTBIYW1taW5nTFVURUU0Tm9kZUVpRUVFRU5TXzlhbGxvY2F0b3JJU0FfRUVFRQAAADxqAgBIqgEAxGUCAAAAAABQqwEAfwcAAIAHAACBBwAAggcAAFYHAACDBwAAhAcAAIUHAACGBwAAhwcAAIgHAACJBwAAigcAAE43Y3ZmbGFubjhMc2hJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAKKsBAIScAQBJbnZhbGlkIGtleV9zaXplICg9JWQpLiBWYWxpZCB2YWx1ZXMgZm9yIHlvdXIgc3lzdGVtIGFyZSAlZCA8PSBrZXlfc2l6ZSA8ICVkLgBpbml0aWFsaXplAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vbHNoX3RhYmxlLmgAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9sc2hfaW5kZXguaAAAAAAAAKCsAQCLBwAAjAcAAI0HAACOBwAAjwcAAJAHAACRBwAAkgcAAJMHAACUBwAAlQcAAJYHAACXBwAATjdjdmZsYW5uNUluZGV4SU5TXzJMMklmRUVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18yTDJJZkVFRUUAFGoCAHmsAQA8agIAXKwBAJisAQAAAAAARK0BAJgHAACZBwAAmgcAAJsHAACcBwAAnQcAAJ4HAACfBwAATjdjdmZsYW5uMThLTk5VbmlxdWVSZXN1bHRTZXRJZkVFAE43Y3ZmbGFubjE1VW5pcXVlUmVzdWx0U2V0SWZFRQBON2N2Zmxhbm45UmVzdWx0U2V0SWZFRQAAAAAUagIAFa0BADxqAgD2rAEAMK0BADxqAgDUrAEAOK0BAAAAAAA4rQEAmAcAAKAHAACaBwAA6gMAAJwHAADqAwAAngcAAJ8HAAAAAAAAyK0BAJgHAAChBwAAogcAAKMHAACkBwAApQcAAJ4HAACfBwAATjdjdmZsYW5uMjFSYWRpdXNVbmlxdWVSZXN1bHRTZXRJZkVFAAAAADxqAgCgrQEAOK0BAAAAAAA0rgEApgcAAKcHAACoBwAAqQcAAKoHAACrBwAArAcAAK0HAACuBwAArwcAALAHAACxBwAAsgcAAE43Y3ZmbGFubjExTGluZWFySW5kZXhJTlNfMkwySWZFRUVFADxqAgAQrgEAmKwBAAAAAADArgEAswcAALQHAAC1BwAAtgcAAKoHAAC3BwAAuAcAALkHAAC6BwAAuwcAALwHAAC9BwAAvgcAAGRpbQBsZWFmX21heF9zaXplAHJlb3JkZXIATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDJJZkVFRUUAPGoCAJauAQCYrAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfc2luZ2xlX2luZGV4LmgAAAAAAABMrwEAvwcAAMAHAADBBwAAwgcAAMMHAABON2N2Zmxhbm4xOEtOTlNpbXBsZVJlc3VsdFNldElmRUUAAAA8agIAKK8BADCtAQAAAAAAuK8BAMQHAADFBwAAxgcAAKkHAACqBwAAxwcAAMgHAADJBwAAygcAAMsHAADMBwAAzQcAAM4HAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFRQA8agIAlK8BAJisAQAAAAAAoLABAM8HAADQBwAA0QcAANIHAADTBwAA1AcAANUHAADWBwAA1wcAAO8GAADYBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUVFRQAAPGoCAEOwAQCklQEAPGoCAPivAQCUsAEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUUAAAAUagIAAbEBAPRqAgDXsAEAAAAAACyxAQD0agIArLABAAAAAAA0sQEASXQgZG9lc24ndCBtYWtlIGFueSBzZW5zZSB0byB1c2UgbW9yZSB0aGFuIG9uZSB0cmVlIGZvciBleGFjdCBzZWFyY2gAZ2V0RXhhY3ROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfaW5kZXguaABnZXROZWlnaGJvcnMADLIBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAAyyAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAA2LMBANkHAADaBwAA2wcAAIwDAADcBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwySWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAWLMBAMRlAgAAAAAARLQBAN0HAADeBwAA3wcAAKkHAACqBwAA4AcAAOEHAADiBwAA4wcAAOQHAADlBwAA5gcAAOcHAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMklmRUVFRQA8agIAILQBAJisAQAAAAAAsLQBAF8DAADoBwAA6QcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwySWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAZLQBAKiuAADYtAEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAA2LQBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAC4tgEA6gcAAOsHAADsBwAAjAMAAO0HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDJJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCADC2AQDEZQIAAAAAACi3AQDuBwAA7wcAAPAHAACpBwAAqgcAAPEHAADyBwAA8wcAAPQHAAD1BwAA9gcAAPcHAAD4BwAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDJJZkVFRUUAADxqAgAAtwEAmKwBAEJ1aWxkaW5nIGttZWFucyB0cmVlLi4uCgBCdWlsZGluZyBrZHRyZWUgdHJlZS4uLgoAAAAAAAAAzLcBAPkHAAD6BwAA+wcAAKkHAACqBwAA/AcAAP0HAAD+BwAA/wcAAAAIAAABCAAAAggAAAMIAABON2N2Zmxhbm4xNEF1dG90dW5lZEluZGV4SU5TXzJMMklmRUVFRQAAPGoCAKS3AQCYrAEALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAQXV0b3R1bmVkIHBhcmFtZXRlcnM6CgAlcwBTZWFyY2ggcGFyYW1ldGVyczoKAEVudGVyaW5nIGF1dG90dW5pbmcsIGRhdGFzZXQgc2l6ZTogJWQsIHNhbXBsZVNpemU6ICVkLCB0ZXN0U2FtcGxlU2l6ZTogJWQsIHRhcmdldCBwcmVjaXNpb246ICVnCgBDaG9vc2luZyBsaW5lYXIsIGRhdGFzZXQgdG9vIHNtYWxsCgBDb21wdXRpbmcgZ3JvdW5kIHRydXRoLi4uIAoAQXV0b3R1bmluZyBwYXJhbWV0ZXJzLi4uCgBLTUVBTlMsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS01lYW5zVHJlZSB1c2luZyBwYXJhbXM6IG1heF9pdGVyYXRpb25zPSVkLCBicmFuY2hpbmc9JWQKAEtNZWFuc1RyZWUgYnVpbGRUaW1lPSVnLCBzZWFyY2hUaW1lPSVnLCBidWlsZF93ZWlnaHQ9JWcKACAgTm9kZXMgIFByZWNpc2lvbiglKSAgIFRpbWUocykgICBUaW1lL3ZlYyhtcykgIE1lYW4gZGlzdAoALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBHb3QgYXMgY2xvc2UgYXMgSSBjYW4KAFN0YXJ0IGxpbmVhciBlc3RpbWF0aW9uCgBObyBuZWVkIGZvciBsaW5lYXIgZXN0aW1hdGlvbgoAbWF0Y2hlcy5jb2xzPSVkLCBubj0lZAoAR3JvdW5kIHRydXRoIGlzIG5vdCBjb21wdXRlZCBmb3IgYXMgbWFueSBuZWlnaGJvcnMgYXMgcmVxdWVzdGVkACU4ZCAlMTAuNGcgJTEwLjVnICUxMC41ZyAlMTAuNWcKAAAAAAAADLsBAL8HAAAECAAABQgAAAYIAAAHCAAATjdjdmZsYW5uMTJLTk5SZXN1bHRTZXRJZkVFADxqAgDwugEAMK0BAEtELVRSRUUsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS0RUcmVlIHVzaW5nIHBhcmFtczogdHJlZXM9JWQKAEtEVHJlZSBidWlsZFRpbWU9JWcsIHNlYXJjaFRpbWU9JWcKACA6IABiZXN0SW5kZXhfICE9IE5VTEwgJiYgIlJlcXVpcmVzIGEgdmFsaWQgaW5kZXgiAGVzdGltYXRlU2VhcmNoUGFyYW1zAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vYXV0b3R1bmVkX2luZGV4LmgAQ29tcHV0aW5nIGdyb3VuZCB0cnV0aAoARXN0aW1hdGluZyBudW1iZXIgb2YgY2hlY2tzCgBLTWVhbnMgYWxnb3JpdGhtLCBlc3RpbWF0aW5nIGNsdXN0ZXIgYm9yZGVyIGZhY3RvcgoAT3B0aW11bSBjYl9pbmRleDogJWcKAFJlcXVpcmVkIG51bWJlciBvZiBjaGVja3M6ICVkIAoAAAAAAAAAABy9AQAICAAACQgAAAoIAACpBwAAqgcAAAsIAAAMCAAADQgAAA4IAAAPCAAAEAgAABEIAAASCAAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMkwySWZFRUVFADxqAgDovAEAmKwBAES9AQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OkhpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAES9AQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAQL8BABMIAAAUCAAAFQgAAIwDAAAWCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlMxXzJMMklmRUVFNE5vZGVFZkVFRUVOU185YWxsb2NhdG9ySVNCX0VFRUUAPGoCALC+AQDEZQIAAAAAAKi/AQAXCAAAGAgAABkIAAAaCAAAqgcAABsIAAAcCAAAHQgAAB4IAAAfCAAAIAgAACEIAAAiCAAATjdjdmZsYW5uOExzaEluZGV4SU5TXzJMMklmRUVFRQA8agIAiL8BAJisAQBMU0ggaXMgbm90IGltcGxlbWVudGVkIGZvciB0aGF0IHR5cGUATHNoVGFibGUAZ2V0S2V5AAAAAAAAAABswAEAIwgAACQIAAAlCAAAJggAACcIAAAoCAAAKQgAACoIAAArCAAALAgAAC0IAAAuCAAALwgAAE43Y3ZmbGFubjVJbmRleElOU18yTDFJZkVFRUUATjdjdmZsYW5uN05OSW5kZXhJTlNfMkwxSWZFRUVFABRqAgBFwAEAPGoCACjAAQBkwAEAAAAAANjAAQAwCAAAMQgAADIIAAAzCAAANAgAADUIAAA2CAAANwgAADgIAAA5CAAAOggAADsIAAA8CAAATjdjdmZsYW5uMTFMaW5lYXJJbmRleElOU18yTDFJZkVFRUUAPGoCALTAAQBkwAEAAAAAAEzBAQA9CAAAPggAAD8IAABACAAANAgAAEEIAABCCAAAQwgAAEQIAABFCAAARggAAEcIAABICAAATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDFJZkVFRUUAAAA8agIAIMEBAGTAAQAAAAAAuMEBAEkIAABKCAAASwgAADMIAAA0CAAATAgAAE0IAABOCAAATwgAAFAIAABRCAAAUggAAFMIAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFRQA8agIAlMEBAGTAAQAAAAAAoMIBAFQIAABVCAAAVggAAFcIAABYCAAAWQgAAFoIAABbCAAAXAgAAO8GAABdCAAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUVFRQAAPGoCAEPCAQCklQEAPGoCAPjBAQCUwgEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUUAAAAUagIAAcMBAPRqAgDXwgEAAAAAACzDAQD0agIArMIBAAAAAAA0wwEAcMMBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMTxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAHDDAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAPMUBAF4IAABfCAAAYAgAAIwDAABhCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwxSWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAvMQBAMRlAgAAAAAAqMUBAGIIAABjCAAAZAgAADMIAAA0CAAAZQgAAGYIAABnCAAAaAgAAGkIAABqCAAAawgAAGwIAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMUlmRUVFRQA8agIAhMUBAGTAAQAAAAAAFMYBAF8DAABtCAAAbggAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwxSWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAyMUBAKiuAAA8xgEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAAPMYBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAAcyAEAbwgAAHAIAABxCAAAjAMAAHIIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDFJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCAJTHAQDEZQIAAAAAAIzIAQBzCAAAdAgAAHUIAAAzCAAANAgAAHYIAAB3CAAAeAgAAHkIAAB6CAAAewgAAHwIAAB9CAAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDFJZkVFRUUAADxqAgBkyAEAZMABAAAAAAD8yAEAfggAAH8IAACACAAAMwgAADQIAACBCAAAgggAAIMIAACECAAAhQgAAIYIAACHCAAAiAgAAE43Y3ZmbGFubjE0QXV0b3R1bmVkSW5kZXhJTlNfMkwxSWZFRUVFAAA8agIA1MgBAGTAAQBBkJIHCyIBAAAABQAAAAoAAAAPAAAAEAAAACAAAABAAAAAgAAAAAABAEHAkgcLyQgBAAAABAAAAAgAAAAQAAAAIAAAAAAAAADEyQEAiQgAAIoIAACLCAAAMwgAADQIAACMCAAAjQgAAI4IAACPCAAAkAgAAJEIAACSCAAAkwgAAE43Y3ZmbGFubjI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TXzJMMUlmRUVFRQA8agIAkMkBAGTAAQDsyQEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4sIEhhc2hhYmxlVCA9IGludF0AAADsyQEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAAAAAAOjLAQCUCAAAlQgAAJYIAACMAwAAlwgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU43Y3ZmbGFubjRIZWFwSU5TMV8xMkJyYW5jaFN0cnVjdElQTlMxXzI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TMV8yTDFJZkVFRTROb2RlRWZFRUVFTlNfOWFsbG9jYXRvcklTQl9FRUVFADxqAgBYywEAxGUCAAAAAABQzAEAmAgAAJkIAACaCAAAmwgAADQIAACcCAAAnQgAAJ4IAACfCAAAoAgAAKEIAACiCAAAowgAAE43Y3ZmbGFubjhMc2hJbmRleElOU18yTDFJZkVFRUUAPGoCADDMAQBkwAEAKHNpemVfdClrbm4gPD0gaW5kZXhfLT5zaXplKCkAcnVuS25uU2VhcmNoXwBxdWVyeS50eXBlKCkgPT0gdHlwZSAmJiBpbmRpY2VzLnR5cGUoKSA9PSBDVl8zMlMgJiYgZGlzdHMudHlwZSgpID09IGR0eXBlAHF1ZXJ5LmlzQ29udGludW91cygpICYmIGluZGljZXMuaXNDb250aW51b3VzKCkgJiYgZGlzdHMuaXNDb250aW51b3VzKCkAcnVuUmFkaXVzU2VhcmNoXwAxLjYuMTAARGF0YVR5cGU8RWxlbWVudFR5cGU+Ojp0eXBlID09IGRhdGEudHlwZSgpICYmIGRhdGEuaXNDb250aW51b3VzKCkAbG9hZEluZGV4XwAAAAEAAAADAAAABABBlJsHCwECAEGgmwcL82QFAAAAAAAAAIjSAQCkCAAApQgAAKYIAABpbWFnZUNvdW50ID4gMABzZXQAL3NyYy9tb2R1bGVzL2ZlYXR1cmVzMmQvc3JjL21hdGNoZXJzLmNwcABkaW0gPiAwAGRlc2NyaXB0b3JzW2ldLmNvbHMgPT0gZGltICYmIGRlc2NyaXB0b3JzW2ldLnR5cGUoKSA9PSB0eXBlAChnbG9iYWxEZXNjSWR4Pj0wKSAmJiAoZ2xvYmFsRGVzY0lkeCA8IHNpemUoKSkAZ2V0TG9jYWxJZHgAAAAAAABM0gEApwgAAKgIAACpCAAAqggAAKsIAACsCAAAXwQAAGAEAACtCAAA6gMAAK4IAADqAwAA6gMAAOoDAABfZGVzY3JpcHRvcnMuaXNVTWF0KCkgfHwgX2Rlc2NyaXB0b3JzLmlzVU1hdFZlY3RvcigpIHx8IF9kZXNjcmlwdG9ycy5pc01hdCgpIHx8IF9kZXNjcmlwdG9ycy5pc01hdFZlY3RvcigpAGFkZABtYXNrcy5zaXplKCkgPT0gaW1hZ2VDb3VudABjaGVja01hc2tzAG1hc2tzW2ldLnR5cGUoKSA9PSBDVl84VUMxICYmIG1hc2tzW2ldLnJvd3MgPT0gcXVlcnlEZXNjcmlwdG9yc0NvdW50ICYmIG1hc2tzW2ldLmNvbHMgPT0gcm93cwBtYXhEaXN0YW5jZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjplcHNpbG9uKCkAcmFkaXVzTWF0Y2gAAAAAAACs0gEArwgAALAIAACxCAAAsggAALMIAACsCAAAXwQAAGAEAAC0CAAAtQgAALYIAAC3CAAAuAgAALkIAABfaW5kZXhQYXJhbXMARmxhbm5CYXNlZE1hdGNoZXIAX3NlYXJjaFBhcmFtcwB0cmFpbkRlc2NDb2xsZWN0aW9uLnNpemUoKSA9PSAwAHRyYWluAGluZGV4UGFyYW1zAGlwLnR5cGUoKSA9PSBGaWxlTm9kZTo6U0VRAHJlYWQAaXBbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAbmFtZQB0eXBlAADs0AEAy80BAKkEAAADAAAAK9EBACzRAQA20QEAdmlydHVhbCB2b2lkIGN2OjpGbGFubkJhc2VkTWF0Y2hlcjo6cmVhZChjb25zdCBjdjo6RmlsZU5vZGUgJikAAChpbnQpdHlwZQAoaW50KUxBU1RfVkFMVUVfRkxBTk5fSU5ERVhfVFlQRQB2YWx1ZQBzZWFyY2hQYXJhbXMAc3AudHlwZSgpID09IEZpbGVOb2RlOjpTRVEAc3BbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAAOzQAQDLzQEA0gQAAAMAAAAr0QEALNEBADbRAQBkZWVwIGNsb25lIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGltcGxlbWVudGVkLCBiZWNhdXNlIEZsYW5uOjpJbmRleCBoYXMgbm90IGNvcHkgY29uc3RydWN0b3Igb3IgY2xvbmUgbWV0aG9kIABjbG9uZQBOMmN2MTdEZXNjcmlwdG9yTWF0Y2hlckUAADxqAgAy0gEAUCIBAE4yY3YxN0Rlc2NyaXB0b3JNYXRjaGVyMjBEZXNjcmlwdG9yQ29sbGVjdGlvbkUAABRqAgBY0gEATjJjdjE3Rmxhbm5CYXNlZE1hdGNoZXJFAAAAADxqAgCQ0gEATNIBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGTTAQC6CAAAuwgAALwIAACMAwAAvQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxN0ZsYW5uQmFzZWRNYXRjaGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQA8agIAGNMBAMRlAgAAAAAA1NMBAL4IAAC/CAAAwAgAAIwDAADBCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjVJbmRleEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAIzTAQDEZQIAAAAAAEjUAQDCCAAAwwgAAMQIAACMAwAAxQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMUluZGV4UGFyYW1zRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA/NMBAMRlAgBObyBlbGVtZW50IG5hbWUgaGFzIGJlZW4gZ2l2ZW4Ab3BlcmF0b3I8PAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9wZXJzaXN0ZW5jZS5ocHAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAAAdNUBAMYIAADHCAAAyAgAAIwDAADJCAAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAGdUBAMRlAgAAAAAAUNYBAMoIAADLCAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAzAgAAM0IAADOCAAAzwgAANAIAADRCAAA0ggAANMIAADUCAAA1QgAAE4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFAE4yY3Y0dXNhYzIyVW5pZm9ybVJhbmRvbUdlbmVyYXRvckUATjJjdjR1c2FjMTVSYW5kb21HZW5lcmF0b3JFAAAAPGoCABrWAQBQIgEAPGoCAPfVAQA41gEAPGoCANDVAQBE1gEAeNYBAL/WAQDfAAAABQAAAOfWAQAI1wEACtcBAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGw6OnJlc2V0R2VuZXJhdG9yKGludCkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvdXRpbHMuY3BwAG1heCByYW5nZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwADAAbWF4X3JhbmdlXwAAAAA01wEAv9YBAOQAAAADAAAAk9cBAMfXAQDT1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmKQBSYW5kb21HZW5lcmF0b3IuIFN1YnNldCBzaXplIG11c3QgYmUgTEUgdGhhbiByYW5nZSEAc3Vic2V0X3NpemUAbWF4X3JhbmdlAAAAAPzXAQC/1gEACAEAAAMAAACT1wEAZdgBAArXAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlVuaWZvcm1SYW5kb21HZW5lcmF0b3JJbXBsOjpnZW5lcmF0ZVVuaXF1ZVJhbmRvbVNldChzdGQ6OnZlY3RvcjxpbnQ+ICYsIGludCwgaW50KQBzdWJzZXRfc2l6ZV8AAACQ2AEAv9YBAPoAAAADAAAAk9cBAMfXAQAK1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpABDZAQC/1gEAFAEAAAMAAACT1wEAx9cBAIrZAQB2aXJ0dWFsIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJmN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TdWJzZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpAHNpemUxAAAAAAAQ2gEA1ggAANcIAADYCAAAjAMAANkIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzM1JhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAKzZAQDEZQIAAAAAABTbAQDaCAAA2wgAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANwIAABjb250YWluZXJfLnR5cGUoKSA9PSBDVl8zMkYAUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsAE4yY3Y0dXNhYzMzUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyOVJhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoRQBOMmN2NHVzYWMxN05laWdoYm9yaG9vZEdyYXBoRQA8agIA3toBAFAiAQA8agIAtNoBAPzaAQA8agIAhtoBAAjbAQAAAAAAkNsBAN0IAADeCAAA3wgAAIwDAADgCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjE3S0RUcmVlSW5kZXhQYXJhbXNFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADzbAQDEZQIAAAAAAAjcAQDhCAAA4ggAAOMIAACMAwAA5AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMlNlYXJjaFBhcmFtc0VOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALjbAQDEZQIAAAAAAIzcAQDlCAAA5ggAAOcIAACMAwAA6AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2Rmxhbm5OZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADDcAQDEZQIAAAAAAFzdAQDpCAAA6ggAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOsIAADsCAAAa19uZWFyZXN0X25laWdoYm9ycyA8PSBwb2ludHNfc2l6ZQBGbGFubk5laWdoYm9yaG9vZEdyYXBoSW1wbABOMmN2NHVzYWMyNkZsYW5uTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMkZsYW5uTmVpZ2hib3Job29kR3JhcGhFADxqAgAt3QEA/NoBADxqAgAG3QEAUN0BAAAAAADg3QEA7QgAAO4IAADvCAAAjAMAAPAIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNUdyaWROZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgCE3QEAxGUCAAAAAABs3gEA8QgAAPIIAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzCAAATjJjdjR1c2FjMjVHcmlkTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMUdyaWROZWlnaGJvcmhvb2RHcmFwaEUAPGoCAD7eAQD82gEAPGoCABjeAQBg3gEAY24gPT0gMQBtZWFuU2hpZnQA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BwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAA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AAgAGgAIAJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0ACAAtAAgArQAIAG0ACADtAAgAHQAIAJ0ACABdAAgA3QAIAD0ACAC9AAgAfQAIAP0ACAATAAkAEwEJAJMACQCTAQkAUwAJAFMBCQDTAAkA0wEJADMACQAzAQkAswAJALMBCQBzAAkAcwEJAPMACQDzAQkACwAJAAsBCQCLAAkAiwEJAEsACQBLAQkAywAJAMsBCQArAAkAKwEJAKsACQCrAQkAawAJAGsBCQDrAAkA6wEJABsACQAbAQkAmwAJAJsBCQBbAAkAWwEJANsACQDbAQkAOwAJADsBCQC7AAkAuwEJAHsACQB7AQkA+wAJAPsBCQAHAAkABwEJAIcACQCHAQkARwAJAEcBCQDHAAkAxwEJACcACQAnAQkApwAJAKcBCQBnAAkAZwEJAOcACQDnAQkAFwAJABcBCQCXAAkAlwEJAFcACQBXAQkA1wAJANcBCQA3AAkANwEJALcACQC3AQkAdwAJAHcBCQD3AAkA9wEJAA8ACQAPAQkAjwAJAI8BCQBPAAkATwEJAM8ACQDPAQkALwAJAC8BCQCvAAkArwEJAG8ACQBvAQkA7wAJAO8BCQAfAAkAHwEJAJ8ACQCfAQkAXwAJAF8BCQDfAAkA3wEJAD8ACQA/AQkAvwAJAL8BCQB/AAkAfwEJAP8ACQD/AQkAAAAHAEAABwAgAAcAYAAHABAABwBQAAcAMAAHAHAABwAIAAcASAAHACgABwBoAAcAGAAHAFgABwA4AAcAeAAHAAQABwBEAAcAJAAHAGQABwAUAAcAVAAHADQABwB0AAcAAwAIAIMACABDAAgAwwAIACMACACjAAgAYwAIAOMACAAAAAUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQBB0KgIC00BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQBBwKkIC2UBAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABAAAAAUAAAAFAAAABgAAAAYAAAAHAAAABwAAAAgAAAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQBB8KoICyMCAAAAAwAAAAcAAAAAAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBBpKsIC2kBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQaSsCAuzDAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3RyZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAmBYCAKgWAgCzFgIAtBYCAL8WAgDMFgIA1xYCAOsWAgD4FgIAsxYCAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAACYagIAThoCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAmGoCAKgaAgAAAAAAAQAAAExeAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAACYagIAABsCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAJhqAgBcGwIAAAAAAAEAAABMXgAAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAFGoCALgbAgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAABRqAgDgGwIATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAUagIACBwCAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAFGoCADAcAgBB4LgIC1cZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQcC5CAuKDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5v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BhEAAAAREREAQbHhCAshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEHr4QgLAQwAQffhCAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGl4ggLAQ4AQbHiCAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHf4ggLARAAQeviCAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGi4wgLDhIAAAASEhIAAAAAAAAJAEHT4wgLAQsAQd/jCAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEGN5AgLAQwAQZnkCAvtAgwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRi0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgAAAADQqAIAaKkCAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAaW5maW5pdHkAbmFuAEGQ5wgLwwHRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///9jbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwAAAAAAAAAAEg0AgAPBgAAAwkAAAQJAABOU3QzX18yMTdiYWRfZnVuY3Rpb25fY2FsbEUAPGoCACw0AgAUZwIAQeToCAvzDwIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8A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ANAJAABOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAAAJhqAgDYVwIAAAAAAAEAAAAgVwIAAAAAAJhqAgCUVwIAAAAAAAIAAABwUAIAAgAAAPBXAgBBrLAJC5sLCFkCANEJAADSCQAAUgkAANMJAADUCQAA1QkAANYJAADXCQAA2AkAANkJAAD4////CFkCANoJAADbCQAA3AkAAN0JAADeCQAA3wkAAOAJAABOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOXRpbWVfYmFzZUUAFGoCAMFYAgBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUAAAAUagIA3FgCAJhqAgB8WAIAAAAAAAMAAABwUAIAAgAAANRYAgACAAAAAFkCAAAIAAAAAAAA9FkCAOEJAADiCQAAUgkAAOMJAADkCQAA5QkAAOYJAADnCQAA6AkAAOkJAAD4////9FkCAOoJAADrCQAA7AkAAO0JAADuCQAA7wkAAPAJAABOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUAABRqAgDJWQIAmGoCAIRZAgAAAAAAAwAAAHBQAgACAAAA1FgCAAIAAADsWQIAAAgAAAAAAACYWgIA8QkAAPIJAABSCQAA8wkAAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAFGoCAHlaAgCYagIANFoCAAAAAAACAAAAcFACAAIAAACQWgIAAAgAAAAAAAAYWwIA9AkAAPUJAABSCQAA9gkAAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVF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TlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAAACYagIApGUCAAAAAAABAAAAnGUCAAAAAAByZWN1cnNpdmVfbXV0ZXggY29uc3RydWN0b3IgZmFpbGVkAHJlY3Vyc2l2ZV9tdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAc3RvdWxsADogbm8gY29udmVyc2lvbgAlcwoAOiBvdXQgb2YgcmFuZ2UAdmVjdG9yAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHRlcm1pbmF0aW5nAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBzdGQ6OmV4Y2VwdGlvbgAAAAAAFGcCADUKAAA2CgAANwoAAFN0OWV4Y2VwdGlvbgAAAAAUagIABGcCAAAAAABAZwIAnAEAADgKAAA5CgAAU3QxMWxvZ2ljX2Vycm9yADxqAgAwZwIAFGcCAAAAAAB0ZwIAnAEAADoKAAA5CgAAU3QxMmxlbmd0aF9lcnJvcgAAAAA8agIAYGcCAEBnAgBTdDl0eXBlX2luZm8AAAAAFGoCAIBnAgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAAA8agIAmGcCAJBnAgBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAAA8agIAyGcCALxnAgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAAA8agIA+GcCALxnAgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQA8agIAKGgCABxoAgBOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UAAAAAPGoCAFhoAgC8ZwIATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAAAAPGoCAIxoAgAcaAIAAAAAAAxpAgA7CgAAPAoAAD0KAAA+CgAAPwoAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQA8agIA5GgCALxnAgB2AAAA0GgCABhpAgBEbgAA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AABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME5lc3RlZE5hbWVFAAA8agIARH4CANh8AgA6OgBhdXRvAAAAAAD0fgIAYwoAAGQKAABlCgAAZgoAAGcKAABoCgAAVwoAAFgKAABpCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjRGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2VFAAAAADxqAgC0fgIA2HwCAGRlY2x0eXBlKAApAGdzACYmACYAJj0APQBhbGlnbm9mICgAY29uc3RfY2FzdAAsAH4AZHluYW1pY19jYXN0ACoALioALgAvAC89AF4AXj0APT0APj0APgA8PQA8PAA8PD0APAAtAC09ACo9AC0tACE9ACEAbm9leGNlcHQgKAB8fAB8AHw9AC0+KgArACs9ACsrAC0+AHJlaW50ZXJwcmV0X2Nhc3QAJQAlPQA+PgA+Pj0Ac3RhdGljX2Nhc3QAc2l6ZW9mICgAc2l6ZW9mLi4uICgAdHlwZWlkICgAdGhyb3cAdThfX3V1aWRvZnQAdThfX3V1aWRvZnoAd2NoYXJfdABiMEUAYjFFAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydAAAdQBsAHVsAGxsAHVsbABfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABEbkUAbnVsbHB0cgAAAAAAAAAA2IACAFEKAABSCgAAUwoAAFQKAABqCgAAVgoAAFcKAABYCgAAawoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAAA8agIApIACANh8AgAoAAAAAAAAAECBAgBRCgAAUgoAAFMKAABUCgAAbAoAAFYKAABXCgAAWAoAAG0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Qm9vbEV4cHJFADxqAgAUgQIA2HwCAHRydWUAZmFsc2UAAAAAAAC8gQIAUQoAAFIKAABTCgAAVAoAAG4KAABWCgAAVwoAAFgKAABvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGbG9hdExpdGVyYWxJbXBsSWZFRQA8agIAhIECANh8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T0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQAAADxqAgBMjAIA2HwCAGRuAG9uAAAAAAAAAOyMAgBRCgAAUgoAAFMKAABUCgAAoQoAAFYKAABXCgAAWAoAAKIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4RHRvck5hbWVFADxqAgDAjAIA2HwCAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3I8PT4AAAAAAABMjwIAUQoAAFIKAABTCgAAVAoAAKMKAABWCgAAVwoAAFgKAACkCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJDb252ZXJzaW9uT3BlcmF0b3JUeXBlRQAAPGoCABCPAgDYfAIAb3BlcmF0b3IgAAAAAAAAAMSPAgBRCgAAUgoAAFMKAABUCgAApQoAAFYKAABXCgAAWAoAAKYKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAPGoCAJCPAgDYfAIAb3BlcmF0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YWxsb2NhdG9yPGNoYXI+ID4Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfaW9zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGFsbG9jYXRvcgBiYXNpY19zdHJpbmcAYmFzaWNfaXN0cmVhbQBiYXNpY19vc3RyZWFtAGJhc2ljX2lvc3RyZWFtAAAAAAAAAAAsmAIAUQoAAFIKAABTCgAAVAoAAMcKAABWCgAAVwoAAFgKAADICgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJDdG9yRHRvck5hbWVFAAAAADxqAgD4lwIA2HwCAAAAAACUmAIAUQoAAFIKAABTCgAAVAoAAMkKAABWCgAAVwoAAFgKAADKCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBBYmlUYWdBdHRyRQAAPGoCAGSYAgDYfAIAW2FiaToAREMAAAAAAAAAABSZAgBRCgAAUgoAAFMKAABUCgAAywoAAFYKAABXCgAAWAoAAMwKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAAAA8agIA2JgCANh8AgBzdHJpbmcgbGl0ZXJhbAAAAAAAAIyZAgBRCgAAUgoAAFMKAABUCgAAzQoAAFYKAABXCgAAWAoAAM4KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5TG9jYWxOYW1lRQAAAAA8agIAXJkCANh8AgAAAAAA/JkCAFEKAABSCgAAUwoAAFQKAADPCgAAVgoAANAKAABYCgAA0QoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAPGoCAMSZAgDYfAIAc3RkOjpzdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0AAAAAALyaAgDSCgAA0woAANQKAADVCgAA1goAANcKAABXCgAAWAoAANgKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAAAAPGoCAIiaAgDYfAIAAAAAACibAgBRCgAAUgoAAFMKAABUCgAA2QoAAFYKAABXCgAAWAoAANoKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMlRlbXBsYXRlQXJnc0UAAAAAPGoCAPSaAgDYfAIAAAAAAJybAgBRCgAAUgoAAFMKAABUCgAA2woAAFYKAADcCgAAWAoAAN0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQAAAAA8agIAYJsCANh8AgBTdEwAAAAAABCcAgBRCgAAUgoAAFMKAABUCgAA3goAAFYKAADfCgAAWAoAAOAKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNlN0ZFF1YWxpZmllZE5hbWVFAAAAADxqAgDYmwIA2HwCAHN0ZDo6AAAAAAAAAIycAgBRCgAAUgoAAFMKAABUCgAA4QoAAFYKAABXCgAAWAoAAOIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFRlbXBsYXRlQXJndW1lbnRQYWNrRQAAAAA8agIAUJwCANh8AgAAAAAA+JwCAFEKAABSCgAAUwoAAFQKAADjCgAAVgoAAFcKAABYCgAA5AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRW5hYmxlSWZBdHRyRQAAAAA8agIAxJwCANh8AgAgW2VuYWJsZV9pZjoAAAAAAAAAAHidAgDlCgAAUgoAAOYKAABUCgAA5woAAOgKAABXCgAAWAoAAOkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZ1bmN0aW9uRW5jb2RpbmdFAAAAADxqAgBAnQIA2HwCACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0ACAmACAmJgAAAAAAAAAEngIAUQoAAFIKAABTCgAAVAoAAOoKAABWCgAAVwoAAFgKAADrCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOURvdFN1ZmZpeEUAAAAAPGoCANSdAgDYfAIAdm9pZABib29sAGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGxvbmcgbG9uZwB1bnNpZ25lZCBsb25nIGxvbmcAZmxvYXQAZG91YmxlAGxvbmcgZG91YmxlAF9fZmxvYXQxMjgAZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABjaGFyOF90AGRlY2x0eXBlKGF1dG8pAHN0ZDo6bnVsbHB0cl90ACBjb21wbGV4ACBpbWFnaW5hcnkARG8Abm9leGNlcHQARE8ARHcARHgAUkUAT0UAAAAAAABwnwIAUQoAAFIKAABTCgAAVAoAAOwKAABWCgAAVwoAAFgKAADtCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAAAAADxqAgA8nwIA2HwCAG5vZXhjZXB0KAAAAAAAAADwnwIAUQoAAFIKAABTCgAAVAoAAO4KAABWCgAAVwoAAFgKAADvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBEeW5hbWljRXhjZXB0aW9uU3BlY0UAAAAAPGoCALSfAgDYfAIAdGhyb3coAAAAAAAAZKACAPAKAABSCgAA8QoAAFQKAADyCgAA8woAAFcKAABYCgAA9AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRnVuY3Rpb25UeXBlRQAAAAA8agIAMKACANh8AgBvYmpjcHJvdG8AAAAAAAAA3KACAFEKAABSCgAAUwoAAFQKAAD1CgAAVgoAAFcKAABYCgAA9goAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzT2JqQ1Byb3RvTmFtZUUAAAA8agIAqKACANh8AgAAAAAATKECAFEKAABSCgAAUwoAAFQKAAD3CgAAVgoAAFcKAABYCgAA+AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE3VmVuZG9yRXh0UXVhbFR5cGVFAAAAPGoCABShAgDYfAIAAAAAALChAgD5CgAA+goAAPsK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";function KA(){try{if(S)return new Uint8Array(S);var A=TC(dA);if(A)return A;if(h)return h(dA);throw"both async and sync fetching of the wasm failed"}catch(A){GA(A)}}function kA(){return S||!e&&!s||"function"!=typeof fetch||lA(dA)?Promise.resolve().then(KA):fetch(dA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+dA+"'";return A.arrayBuffer()})).catch((function(){return KA()}))}function JA(){var A={env:WC,wasi_snapshot_preview1:WC};function I(A,I){var g=A.exports;Q.asm=g,gA((U=Q.asm.memory).buffer),CA=Q.asm.__indirect_function_table,cA()}function g(A){I(A.instance)}function C(I){return kA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){R("failed to asynchronously prepare wasm: "+A),GA(A)}))}if(wA(),Q.instantiateWasm)try{return Q.instantiateWasm(A,I)}catch(A){return R("Module.instantiateWasm callback failed with error: "+A),!1}return(S||"function"!=typeof WebAssembly.instantiateStreaming||RA(dA)||lA(dA)||"function"!=typeof fetch?C(g):fetch(dA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){return R("wasm streaming compile failed: "+A),R("falling back to ArrayBuffer instantiation"),C(g)}))}))).catch(B),{}}function YA(A,I){if(LA.mainLoop.timingMode=A,LA.mainLoop.timingValue=I,!LA.mainLoop.func)return 1;if(0==A)LA.mainLoop.scheduler=function(){var A=0|Math.max(0,LA.mainLoop.tickStartTime+I-UA());setTimeout(LA.mainLoop.runner,A)},LA.mainLoop.method="timeout";else if(1==A)LA.mainLoop.scheduler=function(){LA.requestAnimationFrame(LA.mainLoop.runner)},LA.mainLoop.method="rAF";else if(2==A){if("undefined"==typeof setImmediate){var g=[],C="setimmediate";addEventListener("message",(function(A){A.data!==C&&A.data.target!==C||(A.stopPropagation(),g.shift()())}),!0),setImmediate=function(A){g.push(A),s?(void 0===Q.setImmediates&&(Q.setImmediates=[]),Q.setImmediates.push(A),postMessage({target:C})):postMessage(C,"*")}}LA.mainLoop.scheduler=function(){setImmediate(LA.mainLoop.runner)},LA.mainLoop.method="immediate"}return 0}function uA(A,I,g,C,B){k(!LA.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),LA.mainLoop.func=A,LA.mainLoop.arg=C;var Q=LA.mainLoop.currentlyRunningMainloop;if(LA.mainLoop.runner=function(){if(!K)if(LA.mainLoop.queue.length>0){var I=Date.now(),g=LA.mainLoop.queue.shift();if(g.func(g.arg),LA.mainLoop.remainingBlockers){var C=LA.mainLoop.remainingBlockers,B=C%1==0?C-1:Math.floor(C);g.counted?LA.mainLoop.remainingBlockers=B:(B+=.5,LA.mainLoop.remainingBlockers=(8*C+B)/9)}if(console.log('main loop blocker "'+g.name+'" took '+(Date.now()-I)+" ms"),LA.mainLoop.updateStatus(),Q1&&LA.mainLoop.currentFrameNumber%LA.mainLoop.timingValue!=0?LA.mainLoop.scheduler():(0==LA.mainLoop.timingMode&&(LA.mainLoop.tickStartTime=UA()),LA.mainLoop.runIter(A),Q0?YA(0,1e3/I):YA(1,1),LA.mainLoop.scheduler()),g)throw"unwind"}RA(dA)||(dA=y(dA)),UA=a?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var LA={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){LA.mainLoop.scheduler=null,LA.mainLoop.currentlyRunningMainloop++},resume:function(){LA.mainLoop.currentlyRunningMainloop++;var A=LA.mainLoop.timingMode,I=LA.mainLoop.timingValue,g=LA.mainLoop.func;LA.mainLoop.func=null,uA(g,0,!1,LA.mainLoop.arg,!0),YA(A,I),LA.mainLoop.scheduler()},updateStatus:function(){if(Q.setStatus){var A=Q.statusMessage||"Please wait...",I=LA.mainLoop.remainingBlockers,g=LA.mainLoop.expectedBlockers;I?I=6;){var E=C>>B-6&63;B-=6,g+=I[E]}return 2==B?(g+=I[(3&C)<<4],g+="=="):4==B&&(g+=I[(15&C)<<2],g+="="),g}(A),E(e))},e.src=t,LA.safeSetTimeout((function(){E(e)}),1e4)}};Q.preloadPlugins.push(I);var g=Q.canvas;g&&(g.requestPointerLock=g.requestPointerLock||g.mozRequestPointerLock||g.webkitRequestPointerLock||g.msRequestPointerLock||function(){},g.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},g.exitPointerLock=g.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",C,!1),document.addEventListener("mozpointerlockchange",C,!1),document.addEventListener("webkitpointerlockchange",C,!1),document.addEventListener("mspointerlockchange",C,!1),Q.elementPointerLock&&g.addEventListener("click",(function(A){!LA.pointerLock&&Q.canvas.requestPointerLock&&(Q.canvas.requestPointerLock(),A.preventDefault())}),!1))}function C(){LA.pointerLock=document.pointerLockElement===Q.canvas||document.mozPointerLockElement===Q.canvas||document.webkitPointerLockElement===Q.canvas||document.msPointerLockElement===Q.canvas}},createContext:function(A,I,g,C){if(I&&Q.ctx&&A==Q.canvas)return Q.ctx;var B,E;if(I){var i={antialias:!1,alpha:!1,majorVersion:1};if(C)for(var o in C)i[o]=C[o];"undefined"!=typeof GL&&(E=GL.createContext(A,i))&&(B=GL.getContext(E).GLctx)}else B=A.getContext("2d");return B?(g&&(I||k("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Q.ctx=B,I&&GL.makeContextCurrent(E),Q.useWebGL=I,LA.moduleContextCreatedCallbacks.forEach((function(A){A()})),LA.init()),B):null},destroyContext:function(A,I,g){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(A,I){LA.lockPointer=A,LA.resizeCanvas=I,void 0===LA.lockPointer&&(LA.lockPointer=!0),void 0===LA.resizeCanvas&&(LA.resizeCanvas=!1);var g=Q.canvas;function C(){LA.isFullscreen=!1;var A=g.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===A?(g.exitFullscreen=LA.exitFullscreen,LA.lockPointer&&g.requestPointerLock(),LA.isFullscreen=!0,LA.resizeCanvas?LA.setFullscreenCanvasSize():LA.updateCanvasDimensions(g)):(A.parentNode.insertBefore(g,A),A.parentNode.removeChild(A),LA.resizeCanvas?LA.setWindowedCanvasSize():LA.updateCanvasDimensions(g)),Q.onFullScreen&&Q.onFullScreen(LA.isFullscreen),Q.onFullscreen&&Q.onFullscreen(LA.isFullscreen)}LA.fullscreenHandlersInstalled||(LA.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",C,!1),document.addEventListener("mozfullscreenchange",C,!1),document.addEventListener("webkitfullscreenchange",C,!1),document.addEventListener("MSFullscreenChange",C,!1));var B=document.createElement("div");g.parentNode.insertBefore(B,g),B.appendChild(g),B.requestFullscreen=B.requestFullscreen||B.mozRequestFullScreen||B.msRequestFullscreen||(B.webkitRequestFullscreen?function(){B.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(B.webkitRequestFullScreen?function(){B.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),B.requestFullscreen()},exitFullscreen:function(){return!!LA.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(A){var I=Date.now();if(0===LA.nextRAF)LA.nextRAF=I+1e3/60;else for(;I+2>=LA.nextRAF;)LA.nextRAF+=1e3/60;var g=Math.max(LA.nextRAF-I,0);setTimeout(A,g)},requestAnimationFrame:function(A){"function"!=typeof requestAnimationFrame?(0,LA.fakeRequestAnimationFrame)(A):requestAnimationFrame(A)},safeCallback:function(A){return function(){if(!K)return A.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){LA.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(LA.allowAsyncCallbacks=!0,LA.queuedAsyncCallbacks.length>0){var A=LA.queuedAsyncCallbacks;LA.queuedAsyncCallbacks=[],A.forEach((function(A){A()}))}},safeRequestAnimationFrame:function(A){return LA.requestAnimationFrame((function(){K||(LA.allowAsyncCallbacks?A():LA.queuedAsyncCallbacks.push(A))}))},safeSetTimeout:function(A,I){return setTimeout((function(){K||(LA.allowAsyncCallbacks?A():LA.queuedAsyncCallbacks.push(A))}),I)},safeSetInterval:function(A,I){return setInterval((function(){K||LA.allowAsyncCallbacks&&A()}),I)},getMimetype:function(A){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[A.substr(A.lastIndexOf(".")+1)]},getUserMedia:function(A){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(A)},getMovementX:function(A){return A.movementX||A.mozMovementX||A.webkitMovementX||0},getMovementY:function(A){return A.movementY||A.mozMovementY||A.webkitMovementY||0},getMouseWheelDelta:function(A){var I=0;switch(A.type){case"DOMMouseScroll":I=A.detail/3;break;case"mousewheel":I=A.wheelDelta/120;break;case"wheel":switch(I=A.deltaY,A.deltaMode){case 0:I/=100;break;case 1:I/=3;break;case 2:I*=80;break;default:throw"unrecognized mouse wheel delta mode: "+A.deltaMode}break;default:throw"unrecognized mouse wheel event: "+A.type}return I},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(A){if(LA.pointerLock)"mousemove"!=A.type&&"mozMovementX"in A?LA.mouseMovementX=LA.mouseMovementY=0:(LA.mouseMovementX=LA.getMovementX(A),LA.mouseMovementY=LA.getMovementY(A)),"undefined"!=typeof SDL?(LA.mouseX=SDL.mouseX+LA.mouseMovementX,LA.mouseY=SDL.mouseY+LA.mouseMovementY):(LA.mouseX+=LA.mouseMovementX,LA.mouseY+=LA.mouseMovementY);else{var I=Q.canvas.getBoundingClientRect(),g=Q.canvas.width,C=Q.canvas.height,B=void 0!==window.scrollX?window.scrollX:window.pageXOffset,E=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===A.type||"touchend"===A.type||"touchmove"===A.type){var i=A.touch;if(void 0===i)return;var o=i.pageX-(B+I.left),t=i.pageY-(E+I.top),e={x:o*=g/I.width,y:t*=C/I.height};if("touchstart"===A.type)LA.lastTouches[i.identifier]=e,LA.touches[i.identifier]=e;else if("touchend"===A.type||"touchmove"===A.type){var s=LA.touches[i.identifier];s||(s=e),LA.lastTouches[i.identifier]=s,LA.touches[i.identifier]=e}return}var a=A.pageX-(B+I.left),D=A.pageY-(E+I.top);a*=g/I.width,D*=C/I.height,LA.mouseMovementX=a-LA.mouseX,LA.mouseMovementY=D-LA.mouseY,LA.mouseX=a,LA.mouseY=D}},asyncLoad:function(A,I,g,C){var B=C?"":"al "+A;r(A,(function(g){k(g,'Loading data file "'+A+'" failed (no arrayBuffer).'),I(new Uint8Array(g)),B&&cA()}),(function(I){if(!g)throw'Loading data file "'+A+'" failed.';g()})),B&&wA()},resizeListeners:[],updateResizeListeners:function(){var A=Q.canvas;LA.resizeListeners.forEach((function(I){I(A.width,A.height)}))},setCanvasSize:function(A,I,g){var C=Q.canvas;LA.updateCanvasDimensions(C,A,I),g||LA.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var A=V[SDL.screen>>2];A|=8388608,T[SDL.screen>>2]=A}LA.updateCanvasDimensions(Q.canvas),LA.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var A=V[SDL.screen>>2];A&=-8388609,T[SDL.screen>>2]=A}LA.updateCanvasDimensions(Q.canvas),LA.updateResizeListeners()},updateCanvasDimensions:function(A,I,g){I&&g?(A.widthNative=I,A.heightNative=g):(I=A.widthNative,g=A.heightNative);var C=I,B=g;if(Q.forcedAspectRatio&&Q.forcedAspectRatio>0&&(C/B0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?CA.get(g)():CA.get(g)(I.arg):g(void 0===I.arg?null:I.arg)}else I(Q)}}var fA={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function HA(A){return ZC(A+fA.SIZE)+fA.SIZE}function mA(A,I){}function qA(A){this.excPtr=A,this.ptr=A-fA.SIZE,this.set_type=function(A){T[this.ptr+fA.TYPE_OFFSET>>2]=A},this.get_type=function(){return T[this.ptr+fA.TYPE_OFFSET>>2]},this.set_destructor=function(A){T[this.ptr+fA.DESTRUCTOR_OFFSET>>2]=A},this.get_destructor=function(){return T[this.ptr+fA.DESTRUCTOR_OFFSET>>2]},this.set_refcount=function(A){T[this.ptr+fA.REFCOUNT_OFFSET>>2]=A},this.set_caught=function(A){A=A?1:0,m[this.ptr+fA.CAUGHT_OFFSET>>0]=A},this.get_caught=function(){return 0!=m[this.ptr+fA.CAUGHT_OFFSET>>0]},this.set_rethrown=function(A){A=A?1:0,m[this.ptr+fA.RETHROWN_OFFSET>>0]=A},this.get_rethrown=function(){return 0!=m[this.ptr+fA.RETHROWN_OFFSET>>0]},this.init=function(A,I){this.set_type(A),this.set_destructor(I),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var A=T[this.ptr+fA.REFCOUNT_OFFSET>>2];T[this.ptr+fA.REFCOUNT_OFFSET>>2]=A+1},this.release_ref=function(){var A=T[this.ptr+fA.REFCOUNT_OFFSET>>2];return T[this.ptr+fA.REFCOUNT_OFFSET>>2]=A-1,1===A}}function xA(A,I,g){throw new qA(A).init(I,g),A}function bA(A){return T[XC()>>2]=A,A}var TA={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,C=A.length-1;C>=0;C--){var B=A[C];"."===B?A.splice(C,1):".."===B?(A.splice(C,1),g++):g&&(A.splice(C,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=TA.splitPath(A),g=I[0],C=I[1];return g||C?(C&&(C=C.substr(0,C.length-1)),g+C):"."},basename:function(A){if("/"===A)return"/";var I=(A=(A=TA.normalize(A)).replace(/\/$/,"")).lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return TA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return TA.normalize(A.join("/"))},join2:function(A,I){return TA.normalize(A+"/"+I)}};function VA(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var A=new Uint8Array(1);return function(){return crypto.getRandomValues(A),A[0]}}if(a)try{var I=g(3906);return function(){return I.randomBytes(1)[0]}}catch(A){}return function(){GA("randomDevice")}}var WA={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var C=g>=0?arguments[g]:XA.cwd();if("string"!=typeof C)throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";A=C+"/"+A,I="/"===C.charAt(0)}return(I?"/":"")+(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=WA.resolve(A).substr(1),I=WA.resolve(I).substr(1);for(var C=g(A.split("/")),B=g(I.split("/")),Q=Math.min(C.length,B.length),E=Q,i=0;i0?g.slice(0,C).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=mC(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(F(Y(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(F(Y(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(R(Y(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(R(Y(A.output,0)),A.output=[])}}};function ZA(A){for(var I=l(A,16384),g=ZC(I);A=I)){I=Math.max(I,g*(g<1048576?2:1.125)>>>0),0!=g&&(I=Math.max(I,256));var C=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(C.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-B,C);if(E>8&&Q.subarray)I.set(Q.subarray(B,B+E),g);else for(var i=0;i0||C+g8)throw new XA.ErrnoError(32);for(var B=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=XA.root,E="/",i=0;i40)throw new XA.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(XA.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,C=0;C>>0)%XA.nameTable.length},hashAddNode:function(A){var I=XA.hashName(A.parent.id,A.name);A.name_next=XA.nameTable[I],XA.nameTable[I]=A},hashRemoveNode:function(A){var I=XA.hashName(A.parent.id,A.name);if(XA.nameTable[I]===A)XA.nameTable[I]=A.name_next;else for(var g=XA.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=XA.mayLookup(A);if(g)throw new XA.ErrnoError(g,A);for(var C=XA.hashName(A.id,I),B=XA.nameTable[C];B;B=B.name_next){var Q=B.name;if(B.parent.id===A.id&&Q===I)return B}return XA.lookup(A,I)},createNode:function(A,I,g,C){var B=new XA.FSNode(A,I,g,C);return XA.hashAddNode(B),B},destroyNode:function(A){XA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(A){var I=XA.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return XA.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return XA.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return XA.lookupNode(A,I),20}catch(A){}return XA.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var C;try{C=XA.lookupNode(A,I)}catch(A){return A.errno}var B=XA.nodePermissions(A,"wx");if(B)return B;if(g){if(!XA.isDir(C.mode))return 54;if(XA.isRoot(C)||XA.getPath(C)===XA.cwd())return 10}else if(XA.isDir(C.mode))return 31;return 0},mayOpen:function(A,I){return A?XA.isLink(A.mode)?32:XA.isDir(A.mode)&&("r"!==XA.flagsToPermissionString(I)||512&I)?31:XA.nodePermissions(A,XA.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||XA.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!XA.streams[g])return g;throw new XA.ErrnoError(33)},getStream:function(A){return XA.streams[A]},createStream:function(A,I,g){XA.FSStream||(XA.FSStream=function(){},XA.FSStream.prototype={object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var C=new XA.FSStream;for(var B in A)C[B]=A[B];A=C;var Q=XA.nextfd(I,g);return A.fd=Q,XA.streams[Q]=A,A},closeStream:function(A){XA.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=XA.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new XA.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){XA.devices[A]={stream_ops:I}},getDevice:function(A){return XA.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var C=g.pop();I.push(C),g.push.apply(g,C.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),XA.syncFSRequests++,XA.syncFSRequests>1&&R("warning: "+XA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=XA.getMounts(XA.root.mount),C=0;function B(A){return XA.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,B(A));++C>=g.length&&B(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var C,B="/"===g,Q=!g;if(B&&XA.root)throw new XA.ErrnoError(10);if(!B&&!Q){var E=XA.lookupPath(g,{follow_mount:!1});if(g=E.path,C=E.node,XA.isMountpoint(C))throw new XA.ErrnoError(10);if(!XA.isDir(C.mode))throw new XA.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,B?XA.root=o:C&&(C.mounted=i,C.mount&&C.mount.mounts.push(i)),o},unmount:function(A){var I=XA.lookupPath(A,{follow_mount:!1});if(!XA.isMountpoint(I.node))throw new XA.ErrnoError(28);var g=I.node,C=g.mounted,B=XA.getMounts(C);Object.keys(XA.nameTable).forEach((function(A){for(var I=XA.nameTable[A];I;){var g=I.name_next;-1!==B.indexOf(I.mount)&&XA.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(C);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var C=XA.lookupPath(A,{parent:!0}).node,B=TA.basename(A);if(!B||"."===B||".."===B)throw new XA.ErrnoError(28);var Q=XA.mayCreate(C,B);if(Q)throw new XA.ErrnoError(Q);if(!C.node_ops.mknod)throw new XA.ErrnoError(63);return C.node_ops.mknod(C,B,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,XA.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,XA.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),C="",B=0;Bthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,C=Number(A.getResponseHeader("Content-length")),B=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;B||(E=C);var i=this;i.setDataGetter((function(A){var I=A*E,B=(A+1)*E-1;if(B=Math.min(B,C-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>C-1)throw new Error("only "+C+" bytes available! programmer error!");var B=new XMLHttpRequest;if(B.open("GET",g,!1),C!==E&&B.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(B.responseType="arraybuffer"),B.overrideMimeType&&B.overrideMimeType("text/plain; charset=x-user-defined"),B.send(null),!(B.status>=200&&B.status<300||304===B.status))throw new Error("Couldn't load "+g+". Status: "+B.status);return void 0!==B.response?new Uint8Array(B.response||[]):mC(B.responseText||"",!0)}(I,B)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&C||(E=C=1,C=this.getter(0).length,E=C,F("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=C,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!s)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var o=XA.createFile(A,I,i,C,B);i.contents?o.contents=i.contents:i.url&&(o.contents=null,o.url=i.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var t={};return Object.keys(o.stream_ops).forEach((function(A){var I=o.stream_ops[A];t[A]=function(){return XA.forceLoadFile(o),I.apply(null,arguments)}})),t.read=function(A,I,g,C,B){XA.forceLoadFile(o);var Q=A.node.contents;if(B>=Q.length)return 0;var E=Math.min(Q.length-B,C);if(Q.slice)for(var i=0;i>2]=C.dev,T[g+4>>2]=0,T[g+8>>2]=C.ino,T[g+12>>2]=C.mode,T[g+16>>2]=C.nlink,T[g+20>>2]=C.uid,T[g+24>>2]=C.gid,T[g+28>>2]=C.rdev,T[g+32>>2]=0,SA=[C.size>>>0,(MA=C.size,+Math.abs(MA)>=1?MA>0?(0|Math.min(+Math.floor(MA/4294967296),4294967295))>>>0:~~+Math.ceil((MA-+(~~MA>>>0))/4294967296)>>>0:0)],T[g+40>>2]=SA[0],T[g+44>>2]=SA[1],T[g+48>>2]=4096,T[g+52>>2]=C.blocks,T[g+56>>2]=C.atime.getTime()/1e3|0,T[g+60>>2]=0,T[g+64>>2]=C.mtime.getTime()/1e3|0,T[g+68>>2]=0,T[g+72>>2]=C.ctime.getTime()/1e3|0,T[g+76>>2]=0,SA=[C.ino>>>0,(MA=C.ino,+Math.abs(MA)>=1?MA>0?(0|Math.min(+Math.floor(MA/4294967296),4294967295))>>>0:~~+Math.ceil((MA-+(~~MA>>>0))/4294967296)>>>0:0)],T[g+80>>2]=SA[0],T[g+84>>2]=SA[1],0},doMsync:function(A,I,g,C,B){var Q=q.slice(A,A+g);XA.msync(I,Q,B,g,C)},doMkdir:function(A,I){return"/"===(A=TA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),XA.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return XA.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var C=XA.readlink(A),B=Math.min(g,f(C)),Q=m[I+B];return p(C,I,g+1),m[I+B]=Q,B},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=XA.lookupPath(A,{follow:!0}).node))return-44;var C="";return 4&I&&(C+="r"),2&I&&(C+="w"),1&I&&(C+="x"),C&&XA.nodePermissions(g,C)?-2:0},doDup:function(A,I,g){var C=XA.getStream(g);return C&&XA.close(C),XA.open(A,I,0,g,g).fd},doReadv:function(A,I,g,C){for(var B=0,Q=0;Q>2],i=T[I+(8*Q+4)>>2],o=XA.read(A,m,E,i,C);if(o<0)return-1;if(B+=o,o>2],i=T[I+(8*Q+4)>>2],o=XA.write(A,m,E,i,C);if(o<0)return-1;B+=o}return B},varargs:void 0,get:function(){return PA.varargs+=4,T[PA.varargs-4>>2]},getStr:function(A){return u(A)},getStreamFromFD:function(A){var I=XA.getStream(A);if(!I)throw new XA.ErrnoError(8);return I},get64:function(A,I){return A}};function jA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 0:return(B=PA.get())<0?-28:XA.open(C.path,C.flags,0,B).fd;case 1:case 2:return 0;case 3:return C.flags;case 4:var B=PA.get();return C.flags|=B,0;case 12:return B=PA.get(),x[B+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return bA(28),-1;default:return-28}}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),-A.errno}}function zA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 21509:case 21505:return C.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return C.tty?0:-59;case 21519:if(!C.tty)return-59;var B=PA.get();return T[B>>2]=0,0;case 21520:return C.tty?-28:-59;case 21531:return B=PA.get(),XA.ioctl(C,I,B);case 21523:case 21524:return C.tty?0:-59;default:GA("bad ioctl syscall "+I)}}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),-A.errno}}function _A(A,I,g){PA.varargs=g;try{var C=PA.getStr(A),B=PA.get();return XA.open(C,I,B).fd}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),-A.errno}}var $A={};function AI(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function II(A){return this.fromWireType(V[A>>2])}var gI={},CI={},BI={},QI=48,EI=57;function iI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=QI&&I<=EI?"_"+A:A}function oI(A,I){return A=iI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function tI(A,I){var g=oI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var eI=void 0;function sI(A){throw new eI(A)}function aI(A,I,g){function C(I){var C=g(I);C.length!==A.length&&sI("Mismatched type converter count");for(var B=0;B>Q])},destructorFunction:null})}function lI(A){if(!(this instanceof xI))return!1;if(!(A instanceof xI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function MI(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function SI(A){FI(A.$$.ptrType.registeredClass.name+" instance already deleted")}var UI=!1;function dI(A){}function KI(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function kI(A){A.count.value-=1,0===A.count.value&&KI(A)}function JI(A){return"undefined"==typeof FinalizationGroup?(JI=function(A){return A},A):(UI=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?kI(g):console.warn("object already deleted: "+g.ptr)}})),dI=function(A){UI.unregister(A.$$)},(JI=function(A){return UI.register(A,A.$$,A.$$),A})(A))}function YI(){if(this.$$.ptr||SI(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=JI(Object.create(Object.getPrototypeOf(this),{$$:{value:MI(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function uI(){this.$$.ptr||SI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&FI("Object already scheduled for deletion"),dI(this),kI(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function LI(){return!this.$$.ptr}var pI=void 0,fI=[];function HI(){for(;fI.length;){var A=fI.pop();A.$$.deleteScheduled=!1,A.delete()}}function mI(){return this.$$.ptr||SI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&FI("Object already scheduled for deletion"),fI.push(this),1===fI.length&&pI&&pI(HI),this.$$.deleteScheduled=!0,this}function qI(){xI.prototype.isAliasOf=lI,xI.prototype.clone=YI,xI.prototype.delete=uI,xI.prototype.isDeleted=LI,xI.prototype.deleteLater=mI}function xI(){}var bI={};function TI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||FI("Function '"+g+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function VI(A,I,g){Q.hasOwnProperty(A)?((void 0===g||void 0!==Q[A].overloadTable&&void 0!==Q[A].overloadTable[g])&&FI("Cannot register public name '"+A+"' twice"),TI(Q,A,A),Q.hasOwnProperty(g)&&FI("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),Q[A].overloadTable[g]=I):(Q[A]=I,void 0!==g&&(Q[A].numArguments=g))}function WI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function vI(A,I,g){for(;I!==g;)I.upcast||FI("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function ZI(A,I){if(null===I)return this.isReference&&FI("null is not a valid "+this.name),0;I.$$||FI('Cannot pass "'+fg(I)+'" as a '+this.name),I.$$.ptr||FI("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return vI(I.$$.ptr,g,this.registeredClass)}function OI(A,I){var g;if(null===I)return this.isReference&&FI("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||FI('Cannot pass "'+fg(I)+'" as a '+this.name),I.$$.ptr||FI("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&FI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=vI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&FI("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:FI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,Lg((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:FI("Unsupporting sharing policy")}return g}function XI(A,I){if(null===I)return this.isReference&&FI("null is not a valid "+this.name),0;I.$$||FI('Cannot pass "'+fg(I)+'" as a '+this.name),I.$$.ptr||FI("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&FI("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return vI(I.$$.ptr,g,this.registeredClass)}function PI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function jI(A){this.rawDestructor&&this.rawDestructor(A)}function zI(A){null!==A&&A.delete()}function _I(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=_I(A,I,g.baseClass);return null===C?null:g.downcast(C)}function $I(){return Object.keys(Cg).length}function Ag(){var A=[];for(var I in Cg)Cg.hasOwnProperty(I)&&A.push(Cg[I]);return A}function Ig(A){pI=A,fI.length&&pI&&pI(HI)}function gg(){Q.getInheritedInstanceCount=$I,Q.getLiveInheritedInstances=Ag,Q.flushPendingDeletes=HI,Q.setDelayFunction=Ig}var Cg={};function Bg(A,I){for(void 0===I&&FI("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function Qg(A,I){return I=Bg(A,I),Cg[I]}function Eg(A,I){return I.ptrType&&I.ptr||sI("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&sI("Both smartPtrType and smartPtr must be specified"),I.count={value:1},JI(Object.create(A,{$$:{value:I}}))}function ig(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=Qg(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?Eg(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):Eg(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=bI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var o=_I(I,this.registeredClass,Q.registeredClass);return null===o?B.call(this):this.isSmartPointer?Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o,smartPtrType:this,smartPtr:A}):Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o})}function og(){tg.prototype.getPointee=PI,tg.prototype.destructor=jI,tg.prototype.argPackAdvance=8,tg.prototype.readValueFromPointer=II,tg.prototype.deleteObject=zI,tg.prototype.fromWireType=ig}function tg(A,I,g,C,B,Q,E,i,o,t,e){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=o,this.rawShare=t,this.rawDestructor=e,B||void 0!==I.baseClass?this.toWireType=OI:C?(this.toWireType=ZI,this.destructorFunction=null):(this.toWireType=XI,this.destructorFunction=null)}function eg(A,I,g){Q.hasOwnProperty(A)||sI("Replacing nonexistant public symbol"),void 0!==Q[A].overloadTable&&void 0!==g?Q[A].overloadTable[g]=I:(Q[A]=I,Q[A].argCount=g)}function sg(A,I,g){return g&&g.length?Q["dynCall_"+A].apply(null,[I].concat(g)):Q["dynCall_"+A].call(null,I)}function ag(A,I,g){return-1!=A.indexOf("j")?sg(A,I,g):CA.get(I).apply(null,g)}function Dg(A,I){k(A.indexOf("j")>=0,"getDynCaller should only be called with i64 sigs");var g=[];return function(){g.length=arguments.length;for(var C=0;C0?", ":"")+s),a+=(t?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",i)a+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+C]);return g}function Rg(A,I,g,C,B,Q,E){var i=Fg(g,C);I=GI(I),Q=ng(B,Q),aI([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){wg("Cannot call "+C+" due to unbound types",i)}var o=A.registeredClass.constructor;return void 0===o[I]?(B.argCount=g-1,o[I]=B):(TI(o,I,C),o[I].overloadTable[g-1]=B),aI([],i,(function(A){var B=[A[0],null].concat(A.slice(1)),i=yg(C,B,null,Q,E);return void 0===o[I].overloadTable?(i.argCount=g-1,o[I]=i):o[I].overloadTable[g-1]=i,[]})),[]}))}function Ng(A,I,g,C,B,Q){k(I>0);var E=Fg(I,g);B=ng(C,B);var i=[Q],o=[];aI([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new yI("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class '"+A.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){wg("Cannot construct "+A.name+" due to unbound types",E)},aI([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&FI(g+" called with "+arguments.length+" arguments, expected "+(I-1)),o.length=0,i.length=I;for(var A=1;A4&&0==--Kg[A].refcount&&(Kg[A]=void 0,dg.push(A))}function Jg(){for(var A=0,I=5;I>2])};case 3:return function(A){return this.fromWireType(v[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function mg(A,I,g){var C=hI(g);RI(A,{name:I=GI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+fg(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:Hg(I,C),destructorFunction:null})}function qg(A,I,g,C,B,Q){var E=Fg(I,g);A=GI(A),B=ng(C,B),VI(A,(function(){wg("Cannot call "+A+" due to unbound types",E)}),I-1),aI([],E,(function(g){var C=[g[0],null].concat(g.slice(1));return eg(A,yg(A,C,null,B,Q),I-1),[]}))}function xg(A,I,g){switch(I){case 0:return g?function(A){return m[A]}:function(A){return q[A]};case 1:return g?function(A){return x[A>>1]}:function(A){return b[A>>1]};case 2:return g?function(A){return T[A>>2]}:function(A){return V[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function bg(A,I,g,C,B){I=GI(I),-1===B&&(B=4294967295);var Q=hI(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");RI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+fg(g)+'" to '+this.name);if(gB)throw new TypeError('Passing a number "'+fg(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+C+", "+B+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:xg(I,Q,0!==C),destructorFunction:null})}function Tg(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=V,g=I[A>>=2],B=I[A+1];return new C(H,B,g)}RI(A,{name:g=GI(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function Vg(A,I){var g="std::string"===(I=GI(I));RI(A,{name:I,fromWireType:function(A){var I,C=V[A>>2];if(g)for(var B=A+4,Q=0;Q<=C;++Q){var E=A+4+Q;if(Q==C||0==q[E]){var i=u(B,E-B);void 0===I?I=i:(I+=String.fromCharCode(0),I+=i),B=E+1}}else{var o=new Array(C);for(Q=0;Q>2]=B,g&&C)p(I,Q+4,B+1);else if(C)for(var E=0;E255&&(OC(Q),FI("String has UTF-16 code units that do not fit in 8 bits")),q[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=A+4,t=0;t<=B;++t){var e=A+4+t*I;if(t==B||0==E[e>>i]){var s=C(o,e-o);void 0===g?g=s:(g+=String.fromCharCode(0),g+=s),o=e+I}}return OC(A),g},toWireType:function(A,C){"string"!=typeof C&&FI("Cannot pass non-string to C++ string type "+g);var Q=E(C),o=ZC(4+Q+I);return V[o>>2]=Q>>i,B(C,o+4,Q+I),null!==A&&A.push(OC,o),o},argPackAdvance:8,readValueFromPointer:II,destructorFunction:function(A){OC(A)}})}function vg(A,I,g,C,B,Q){$A[A]={name:GI(I),rawConstructor:ng(g,C),rawDestructor:ng(B,Q),elements:[]}}function Zg(A,I,g,C,B,Q,E,i,o){$A[A].elements.push({getterReturnType:I,getter:ng(g,C),getterContext:B,setterArgumentType:Q,setter:ng(E,i),setterContext:o})}function Og(A,I,g,C,B,Q){nI[A]={name:GI(I),rawConstructor:ng(g,C),rawDestructor:ng(B,Q),fields:[]}}function Xg(A,I,g,C,B,Q,E,i,o,t){nI[A].fields.push({fieldName:GI(I),getterReturnType:g,getter:ng(C,B),getterContext:Q,setterArgumentType:E,setter:ng(i,o),setterContext:t})}function Pg(A,I){RI(A,{isVoid:!0,name:I=GI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var jg={};function zg(A){var I=jg[A];return void 0===I?GI(A):I}var _g=[];function $g(A){return A||FI("Cannot use deleted val. handle = "+A),Kg[A].value}function AC(A,I,g,C){(A=_g[A])(I=$g(I),g=zg(g),null,C)}function IC(A){var I=_g.length;return _g.push(A),I}function gC(A,I){var g=CI[A];return void 0===g&&FI(I+" has unknown type "+hg(A)),g}function CC(A,I){for(var g=new Array(A),C=0;C>2)+C],"parameter "+C);return g}function BC(A,I){for(var g=CC(A,I),C=g[0],B=C.name+"_$"+g.slice(1).map((function(A){return A.name})).join("_")+"$",Q=["retType"],E=[C],i="",o=0;o4&&(Kg[A].refcount+=1)}function EC(){return Lg([])}function iC(A){return Lg(zg(A))}function oC(A,I,g){A=$g(A),I=$g(I),g=$g(g),A[I]=g}function tC(A,I){return Lg((A=gC(A,"_emval_take_value")).readValueFromPointer(I))}function eC(){GA()}var sC=!0;function aC(A,I){var g;if(0===A)g=Date.now();else{if(1!==A&&4!==A||!sC)return bA(28),-1;g=UA()}return T[I>>2]=g/1e3|0,T[I+4>>2]=g%1e3*1e3*1e3|0,0}function DC(A,I,g){q.copyWithin(A,I,I+g)}function nC(){return q.length}function rC(A){try{return U.grow(A-H.byteLength+65535>>>16),gA(U.buffer),1}catch(A){}}function hC(A){A>>>=0;var I=nC(),g=1073741824;if(A>g)return!1;for(var C=1;C<=4;C*=2){var B=I*(1+.2/C);if(B=Math.min(B,A+100663296),rC(Math.min(g,IA(Math.max(16777216,A,B),65536))))return!0}return!1}var wC={};function cC(){return t||"./this.program"}function GC(){if(!GC.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:cC()};for(var I in wC)A[I]=wC[I];var g=[];for(var I in A)g.push(I+"="+A[I]);GC.strings=g}return GC.strings}function yC(A,I){try{var g=0;return GC().forEach((function(C,B){var Q=I+g;T[A+4*B>>2]=Q,AA(C,Q),g+=C.length+1})),0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function FC(A,I){try{var g=GC();T[A>>2]=g.length;var C=0;return g.forEach((function(A){C+=A.length+1})),T[I>>2]=C,0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function RC(A){try{var I=PA.getStreamFromFD(A);return XA.close(I),0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function NC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doReadv(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function lC(A,I,g,C,B){try{var Q=PA.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(XA.llseek(Q,E,C),SA=[Q.position>>>0,(MA=Q.position,+Math.abs(MA)>=1?MA>0?(0|Math.min(+Math.floor(MA/4294967296),4294967295))>>>0:~~+Math.ceil((MA-+(~~MA>>>0))/4294967296)>>>0:0)],T[B>>2]=SA[0],T[B+4>>2]=SA[1],Q.getdents&&0===E&&0===C&&(Q.getdents=null),0)}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function MC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doWritev(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function SC(A){d(0|A)}function UC(A){return A%4==0&&(A%100!=0||A%400==0)}function dC(A,I){for(var g=0,C=0;C<=I;g+=A[C++]);return g}var KC=[31,29,31,30,31,30,31,31,30,31,30,31],kC=[31,28,31,30,31,30,31,31,30,31,30,31];function JC(A,I){for(var g=new Date(A.getTime());I>0;){var C=UC(g.getFullYear()),B=g.getMonth(),Q=(C?KC:kC)[B];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),B<11?g.setMonth(B+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function YC(A,I,g,C){var B=T[C+40>>2],Q={tm_sec:T[C>>2],tm_min:T[C+4>>2],tm_hour:T[C+8>>2],tm_mday:T[C+12>>2],tm_mon:T[C+16>>2],tm_year:T[C+20>>2],tm_wday:T[C+24>>2],tm_yday:T[C+28>>2],tm_isdst:T[C+32>>2],tm_gmtoff:T[C+36>>2],tm_zone:B?u(B):""},E=u(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var t=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],e=["January","February","March","April","May","June","July","August","September","October","November","December"];function s(A,I,g){for(var C="number"==typeof A?A.toString():A||"";C.length0?1:0}var C;return 0===(C=g(A.getFullYear()-I.getFullYear()))&&0===(C=g(A.getMonth()-I.getMonth()))&&(C=g(A.getDate()-I.getDate())),C}function n(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function r(A){var I=JC(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),C=new Date(I.getFullYear()+1,0,4),B=n(g),Q=n(C);return D(B,I)<=0?D(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var h={"%a":function(A){return t[A.tm_wday].substring(0,3)},"%A":function(A){return t[A.tm_wday]},"%b":function(A){return e[A.tm_mon].substring(0,3)},"%B":function(A){return e[A.tm_mon]},"%C":function(A){return a((A.tm_year+1900)/100|0,2)},"%d":function(A){return a(A.tm_mday,2)},"%e":function(A){return s(A.tm_mday,2," ")},"%g":function(A){return r(A).toString().substring(2)},"%G":function(A){return r(A)},"%H":function(A){return a(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),a(I,2)},"%j":function(A){return a(A.tm_mday+dC(UC(A.tm_year+1900)?KC:kC,A.tm_mon-1),3)},"%m":function(A){return a(A.tm_mon+1,2)},"%M":function(A){return a(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return a(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:JC(I,7-I.getDay()),C=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(D(g,C)<0){var B=dC(UC(C.getFullYear())?KC:kC,C.getMonth()-1)-31,Q=31-g.getDate()+B+C.getDate();return a(Math.ceil(Q/7),2)}return 0===D(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),C=new Date(A.tm_year+1901,0,4),B=n(g),Q=n(C),E=JC(new Date(A.tm_year+1900,0,1),A.tm_yday);return D(E,B)<0?"53":D(Q,E)<=0?"01":(I=B.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in h)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),h[o](Q)));var w=mC(E,!1);return w.length>I?0:($(w,A),w.length-1)}function uC(A,I,g,C){return YC(A,I,g,C)}Q.requestFullscreen=function(A,I){LA.requestFullscreen(A,I)},Q.requestAnimationFrame=function(A){LA.requestAnimationFrame(A)},Q.setCanvasSize=function(A,I,g){LA.setCanvasSize(A,I,g)},Q.pauseMainLoop=function(){LA.mainLoop.pause()},Q.resumeMainLoop=function(){LA.mainLoop.resume()},Q.getUserMedia=function(){LA.getUserMedia()},Q.createContext=function(A,I,g,C){return LA.createContext(A,I,g,C)};var LC=function(A,I,g,C){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=XA.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=C},pC=365,fC=146;Object.defineProperties(LC.prototype,{read:{get:function(){return(this.mode&pC)===pC},set:function(A){A?this.mode|=pC:this.mode&=~pC}},write:{get:function(){return(this.mode&fC)===fC},set:function(A){A?this.mode|=fC:this.mode&=~fC}},isFolder:{get:function(){return XA.isDir(this.mode)}},isDevice:{get:function(){return XA.isChrdev(this.mode)}}}),XA.FSNode=LC,XA.staticInit(),Q.FS_createPath=XA.createPath,Q.FS_createDataFile=XA.createDataFile,Q.FS_createPreloadedFile=XA.createPreloadedFile,Q.FS_createLazyFile=XA.createLazyFile,Q.FS_createDevice=XA.createDevice,Q.FS_unlink=XA.unlink,eI=Q.InternalError=tI(Error,"InternalError"),wI(),yI=Q.BindingError=tI(Error,"BindingError"),qI(),og(),gg(),rg=Q.UnboundTypeError=tI(Error,"UnboundTypeError"),ug();var HC=!1;function mC(A,I,g){var C=g>0?g:f(A)+1,B=new Array(C),Q=L(A,B,0,B.length);return I&&(B.length=Q),B}function qC(A){for(var I=[],g=0;g255&&(HC&&k(!1,"Character code "+C+" ("+String.fromCharCode(C)+") at offset "+g+" not in 0x00-0xFF."),C&=255),I.push(String.fromCharCode(C))}return I.join("")}var xC="function"==typeof atob?atob:function(A){var I,g,C,B,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",t=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(t++))<<2|(B=i.indexOf(A.charAt(t++)))>>4,g=(15&B)<<4|(Q=i.indexOf(A.charAt(t++)))>>2,C=(3&Q)<<6|(E=i.indexOf(A.charAt(t++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(C))}while(t0||(oA(),nA>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),I()}),1)):I()))}if(Q.___embind_register_native_and_builtin_types=function(){return(Q.___embind_register_native_and_builtin_types=Q.asm.__embind_register_native_and_builtin_types).apply(null,arguments)},Q._emscripten_main_thread_process_queued_calls=function(){return(Q._emscripten_main_thread_process_queued_calls=Q.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Q.stackSave=function(){return(Q.stackSave=Q.asm.stackSave).apply(null,arguments)},Q.stackRestore=function(){return(Q.stackRestore=Q.asm.stackRestore).apply(null,arguments)},Q.stackAlloc=function(){return(Q.stackAlloc=Q.asm.stackAlloc).apply(null,arguments)},Q._setThrew=function(){return(Q._setThrew=Q.asm.setThrew).apply(null,arguments)},Q.___cxa_demangle=function(){return(Q.___cxa_demangle=Q.asm.__cxa_demangle).apply(null,arguments)},Q.dynCall_viijii=function(){return(Q.dynCall_viijii=Q.asm.dynCall_viijii).apply(null,arguments)},Q.dynCall_ji=function(){return(Q.dynCall_ji=Q.asm.dynCall_ji).apply(null,arguments)},Q.dynCall_vij=function(){return(Q.dynCall_vij=Q.asm.dynCall_vij).apply(null,arguments)},Q.dynCall_jiji=function(){return(Q.dynCall_jiji=Q.asm.dynCall_jiji).apply(null,arguments)},Q.dynCall_iiiiij=function(){return(Q.dynCall_iiiiij=Q.asm.dynCall_iiiiij).apply(null,arguments)},Q.dynCall_iiiiijj=function(){return(Q.dynCall_iiiiijj=Q.asm.dynCall_iiiiijj).apply(null,arguments)},Q.dynCall_iiiiiijj=function(){return(Q.dynCall_iiiiiijj=Q.asm.dynCall_iiiiiijj).apply(null,arguments)},Q.addRunDependency=wA,Q.removeRunDependency=cA,Q.FS_createPath=XA.createPath,Q.FS_createDataFile=XA.createDataFile,Q.FS_createPreloadedFile=XA.createPreloadedFile,Q.FS_createLazyFile=XA.createLazyFile,Q.FS_createDevice=XA.createDevice,Q.FS_unlink=XA.unlink,hA=function A(){VC||zC(),VC||(hA=A)},Q.run=zC,Q.preInit)for("function"==typeof Q.preInit&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();function _C(A,I){this.start=void 0===A?0:A,this.end=void 0===I?0:I}function $C(A,I){this.x=void 0===A?0:A,this.y=void 0===I?0:I}function AB(A,I){this.width=void 0===A?0:A,this.height=void 0===I?0:I}function IB(){switch(arguments.length){case 0:this.x=0,this.y=0,this.width=0,this.height=0;break;case 1:var A=arguments[0];this.x=A.x,this.y=A.y,this.width=A.width,this.height=A.height;break;case 2:var I=arguments[0],g=arguments[1];this.x=I.x,this.y=I.y,this.width=g.width,this.height=g.height;break;case 4:this.x=arguments[0],this.y=arguments[1],this.width=arguments[2],this.height=arguments[3];break;default:throw new Error("Invalid arguments")}}function gB(){switch(arguments.length){case 0:this.center={x:0,y:0},this.size={width:0,height:0},this.angle=0;break;case 3:this.center=arguments[0],this.size=arguments[1],this.angle=arguments[2];break;default:throw new Error("Invalid arguments")}}function CB(A,I,g,C){this.push(void 0===A?0:A),this.push(void 0===I?0:I),this.push(void 0===g?0:g),this.push(void 0===C?0:C)}function BB(){switch(arguments.length){case 0:this.minVal=0,this.maxVal=0,this.minLoc=new $C,this.maxLoc=new $C;break;case 4:this.minVal=arguments[0],this.maxVal=arguments[1],this.minLoc=arguments[2],this.maxLoc=arguments[3];break;default:throw new Error("Invalid arguments")}}function QB(){switch(arguments.length){case 0:this.center=new $C,this.radius=0;break;case 2:this.center=arguments[0],this.radius=arguments[1];break;default:throw new Error("Invalid arguments")}}function EB(){switch(arguments.length){case 0:this.type=0,this.maxCount=0,this.epsilon=0;break;case 3:this.type=arguments[0],this.maxCount=arguments[1],this.epsilon=arguments[2];break;default:throw new Error("Invalid arguments")}}return zC(),void 0===Q.FS&&void 0!==XA&&(Q.FS=XA),Q.imread=function(I){var g,C=null,B=null;if((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLImageElement)(C=document.createElement("canvas")).width=g.width,C.height=g.height,(B=C.getContext("2d")).drawImage(g,0,0,g.width,g.height);else{if(!(g instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas or img id.");B=(C=g).getContext("2d")}var Q=B.getImageData(0,0,C.width,C.height);return A.matFromImageData(Q)},Q.imshow=function(I,g){var C=null;if(!((C="string"==typeof I?document.getElementById(I):I)instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas element or id.");if(!(g instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");var B=new A.Mat,Q=g.type()%8,E=Q<=A.CV_8S?1:Q<=A.CV_32S?1/256:255,i=Q===A.CV_8S||Q===A.CV_16S?128:0;switch(g.convertTo(B,A.CV_8U,E,i),B.type()){case A.CV_8UC1:A.cvtColor(B,B,A.COLOR_GRAY2RGBA);break;case A.CV_8UC3:A.cvtColor(B,B,A.COLOR_RGB2RGBA);break;case A.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)")}var o=new ImageData(new Uint8ClampedArray(B.data),B.cols,B.rows),t=C.getContext("2d");t.clearRect(0,0,C.width,C.height),C.width=o.width,C.height=o.height,t.putImageData(o,0,0),B.delete()},Q.VideoCapture=function(I){var g;if(!((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLVideoElement))throw new Error("Please input the valid video element or id.");var C=document.createElement("canvas");C.width=g.width,C.height=g.height;var B=C.getContext("2d");this.video=g,this.read=function(I){if(!(I instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");if(I.type()!==A.CV_8UC4)throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");if(I.cols!==g.width||I.rows!==g.height)throw new Error("Bad size of input mat: the size should be same as the video.");B.drawImage(g,0,0,g.width,g.height),I.data.set(B.getImageData(0,0,g.width,g.height).data)}},Q.Range=_C,Q.Point=$C,Q.Size=AB,Q.Rect=IB,gB.points=function(A){return Q.rotatedRectPoints(A)},gB.boundingRect=function(A){return Q.rotatedRectBoundingRect(A)},gB.boundingRect2f=function(A){return Q.rotatedRectBoundingRect2f(A)},Q.RotatedRect=gB,CB.prototype=new Array,CB.all=function(A){return new CB(A,A,A,A)},Q.Scalar=CB,Q.MinMaxLoc=BB,Q.Circle=QB,Q.TermCriteria=EB,Q.matFromArray=function(I,g,C,B){var Q=new A.Mat(I,g,C);switch(C){case A.CV_8U:case A.CV_8UC1:case A.CV_8UC2:case A.CV_8UC3:case A.CV_8UC4:Q.data.set(B);break;case A.CV_8S:case A.CV_8SC1:case A.CV_8SC2:case A.CV_8SC3:case A.CV_8SC4:Q.data8S.set(B);break;case A.CV_16U:case A.CV_16UC1:case A.CV_16UC2:case A.CV_16UC3:case A.CV_16UC4:Q.data16U.set(B);break;case A.CV_16S:case A.CV_16SC1:case A.CV_16SC2:case A.CV_16SC3:case A.CV_16SC4:Q.data16S.set(B);break;case A.CV_32S:case A.CV_32SC1:case A.CV_32SC2:case A.CV_32SC3:case A.CV_32SC4:Q.data32S.set(B);break;case A.CV_32F:case A.CV_32FC1:case A.CV_32FC2:case A.CV_32FC3:case A.CV_32FC4:Q.data32F.set(B);break;case A.CV_64F:case A.CV_64FC1:case A.CV_64FC2:case A.CV_64FC3:case A.CV_64FC4:Q.data64F.set(B);break;default:throw new Error("Type is unsupported")}return Q},Q.matFromImageData=function(I){var g=new A.Mat(I.height,I.width,A.CV_8UC4);return g.data.set(I.data),g},A.ready},A.exports=C,"undefined"==typeof Module&&(Module={}),C(Module));var I,C}.call(I,g,I,A))||(A.exports=C)},2749:(A,I,g)=>{g(4412);const C=g(9894).Z,B=g(7676).Z,Q=g(2810).Z;A.exports={UI:class{constructor({uiLoading:A,uiScanning:I,uiError:g}){"yes"===A?this.loadingModal=this._loadHTML(C):"no"!==A&&(this.loadingModal=document.querySelector(A)),"yes"===g?this.compatibilityModal=this._loadHTML(B):"no"!==g&&(this.compatibilityModal=document.querySelector(g)),"yes"===I?this.scanningMask=this._loadHTML(Q):"no"!==I&&(this.scanningMask=document.querySelector(I)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(A){const I=document.createElement("template");I.innerHTML=A.trim();const g=I.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(g),g}}}},3906:()=>{},2993:()=>{},1386:()=>{}},I={};function g(C){if(I[C])return I[C].exports;var B=I[C]={id:C,exports:{}};return A[C].call(B.exports,B,B.exports,g),B.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var C in I)g.o(I,C)&&!g.o(A,C)&&Object.defineProperty(A,C,{enumerable:!0,get:I[C]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),g.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},(()=>{const A=g(2212),{CSS3DRenderer:I}=g(1564),{Controller:C}=g(1320),{UI:B}=g(2749);window.MINDAR||(window.MINDAR={}),window.MINDAR.FACE||(window.MINDAR.FACE={}),window.MINDAR.FACE.MindARThree=class{constructor({container:g,uiLoading:Q="yes",uiScanning:E="yes",uiError:i="yes",filterMinCF:o=null,filterBeta:t=null}){this.container=g,this.ui=new B({uiLoading:Q,uiScanning:E,uiError:i}),this.controller=new C({filterMinCF:o,filterBeta:t}),this.scene=new A.Scene,this.cssScene=new A.Scene,this.renderer=new A.WebGLRenderer({antialias:!0,alpha:!0}),this.cssRenderer=new I({antialias:!0}),this.renderer.outputEncoding=A.sRGBEncoding,this.renderer.setPixelRatio(window.devicePixelRatio),this.camera=new A.PerspectiveCamera,this.anchors=[],this.faceMeshes=[],this.container.appendChild(this.renderer.domElement),this.container.appendChild(this.cssRenderer.domElement),this.shouldFaceUser=!0,window.addEventListener("resize",this._resize.bind(this))}async start(){this.ui.showLoading(),await this._startVideo(),await this._startAR(),this.ui.hideLoading()}stop(){this.video.srcObject.getTracks().forEach((function(A){A.stop()})),this.video.remove(),this.controller.stopProcessVideo()}switchCamera(){this.shouldFaceUser=!this.shouldFaceUser,this.stop(),this.start()}addFaceMesh(){const I=this.controller.createThreeFaceGeometry(A),g=new A.Mesh(I,new A.MeshStandardMaterial({color:16777215}));return g.visible=!1,g.matrixAutoUpdate=!1,this.faceMeshes.push(g),g}addAnchor(I){const g=new A.Group;g.matrixAutoUpdate=!1;const C={group:g,landmarkIndex:I,css:!1};return this.anchors.push(C),this.scene.add(g),C}addCSSAnchor(I){const g=new A.Group;g.matrixAutoUpdate=!1;const C={group:g,landmarkIndex:I,css:!0};return this.anchors.push(C),this.cssScene.add(g),C}_startVideo(){return new Promise(((A,I)=>{if(this.video=document.createElement("video"),this.video.setAttribute("autoplay",""),this.video.setAttribute("muted",""),this.video.setAttribute("playsinline",""),this.video.style.position="absolute",this.video.style.top="0px",this.video.style.left="0px",this.video.style.zIndex="-2",this.container.appendChild(this.video),!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)return this.ui.showCompatibility(),void I();navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:this.shouldFaceUser?"face":"environment"}}).then((I=>{this.video.addEventListener("loadedmetadata",(()=>{this.video.setAttribute("width",this.video.videoWidth),this.video.setAttribute("height",this.video.videoHeight),A()})),this.video.srcObject=I})).catch((A=>{console.log("getUserMedia error",A),I()}))}))}_startAR(){return new Promise((async(A,I)=>{const g=this.video;this.container,this.controller.onUpdate=({hasFace:A,estimateResult:I})=>{for(let I=0;I{I.element.style.visibility=A?"visible":"hidden"})):this.anchors[I].group.visible=A;for(let I=0;IC.clientWidth/C.clientHeight?(E=C.clientHeight,Q=E*i):(Q=C.clientWidth,E=Q/i),B.style.top=-(E-C.clientHeight)/2+"px",B.style.left=-(Q-C.clientWidth)/2+"px",B.style.width=Q+"px",B.style.height=E+"px";const o=A.domElement,t=I.domElement;o.style.position="absolute",o.style.top=B.style.top,o.style.left=B.style.left,o.style.width=B.style.width,o.style.height=B.style.height,t.style.position="absolute",t.style.top=B.style.top,t.style.left=B.style.left,t.style.transformOrigin="top left",t.style.transform="scale("+Q/parseFloat(t.style.width)+","+E/parseFloat(t.style.height)+")"}},window.MINDAR.FACE.THREE=A})()})(); \ No newline at end of file +(()=>{var A={8818:function(A,I,g){(function(){"use strict";var A;function I(A){var I=0;return function(){return I>>0)+"_",B=0;return function A(C){if(this instanceof A)throw new TypeError("Symbol is not a constructor");return new I(g+(C||"")+"_"+B++,C)}})),Q("Symbol.iterator",(function(A){if(A)return A;A=Symbol("Symbol.iterator");for(var g="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),Q=0;Q(I=I||0)&&(I=Math.max(I+C,0));IQ)C[g++]=Q;else{if(2048>Q)C[g++]=Q>>6|192;else{if(55296<=Q&&57343>=Q){if(56319>=Q&&B=E){Q=1024*(Q-55296)+E-56320+65536,C[g++]=Q>>18|240,C[g++]=Q>>12&63|128,C[g++]=Q>>6&63|128,C[g++]=63&Q|128;continue}B--}if(I)throw Error("Found an unpaired surrogate");Q=65533}C[g++]=Q>>12|224,C[g++]=Q>>6&63|128}C[g++]=63&Q|128}}A=C.subarray(0,g)}return A}var u={},L=null;function p(A,I){void 0===I&&(I=0),f(),I=u[I];for(var g=Array(Math.floor(A.length/3)),C=I[64]||"",B=0,Q=0;B>2];E=I[(3&E)<<4|i>>4],i=I[(15&i)<<2|o>>6],o=I[63&o],g[Q++]=t+E+i+o}switch(t=0,o=C,A.length-B){case 2:o=I[(15&(t=A[B+1]))<<2]||C;case 1:A=A[B],g[Q]=I[A>>2]+I[(3&A)<<4|t>>4]+o+C}return g.join("")}function f(){if(!L){L={};for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),I=["+/=","+/","-_=","-_.","-_"],g=0;5>g;g++){var C=A.concat(I[g].split(""));u[g]=C;for(var B=0;B>4),64!=E&&(I(Q<<4&240|E>>2),64!=i&&I(E<<6&192|i))}}(A,(function(A){C[B++]=A})),C.subarray(0,B)}(I):I instanceof Uint8Array?new Uint8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(0),A.h=I,A.l=0,A.j=A.h.length,A.g=A.l}function V(A){for(var I=128,g=0,C=0,B=0;4>B&&128<=I;B++)g|=(127&(I=A.h[A.g++]))<<7*B;if(128<=I&&(g|=(127&(I=A.h[A.g++]))<<28,C|=(127&I)>>4),128<=I)for(B=0;5>B&&128<=I;B++)C|=(127&(I=A.h[A.g++]))<<7*B+3;if(128>I)return A=g>>>0,(C=2147483648&(I=C>>>0))&&(I=~I>>>0,0==(A=1+~A>>>0)&&(I=I+1>>>0)),A=4294967296*I+(A>>>0),C?-A:A;A.m=!0}b.prototype.reset=function(){this.g=this.l},b.prototype.i=function(){var A=this.h,I=A[this.g],g=127&I;return 128>I?(this.g+=1,g):(g|=(127&(I=A[this.g+1]))<<7,128>I?(this.g+=2,g):(g|=(127&(I=A[this.g+2]))<<14,128>I?(this.g+=3,g):(g|=(127&(I=A[this.g+3]))<<21,128>I?(this.g+=4,g):(g|=(15&(I=A[this.g+4]))<<28,128>I?(this.g+=5,g>>>0):(this.g+=5,128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&this.g++,g)))))},b.prototype.o=function(){var A=this.h[this.g],I=this.h[this.g+1],g=this.h[this.g+2],C=this.h[this.g+3];return this.g+=4,A=2*((g=(A<<0|I<<8|g<<16|C<<24)>>>0)>>31)+1,I=g>>>23&255,g&=8388607,255==I?g?NaN:1/0*A:0==I?A*Math.pow(2,-149)*g:A*Math.pow(2,I-150)*(g+Math.pow(2,23))};var W=[];function v(){this.g=new Uint8Array(64),this.h=0}function Z(A,I){for(;127>>=7;A.push(I)}function O(A){var I={},g=void 0!==I.N&&I.N;this.o={v:void 0!==I.v&&I.v},this.N=g,I=this.o,W.length?(g=W.pop(),I&&(g.v=I.v),A&&T(g,A),A=g):A=new b(A,I),this.g=A,this.m=this.g.g,this.h=this.i=this.l=-1,this.j=!1}function X(A){var I=A.g;if((I=I.g==I.j)||(I=A.j)||(I=(I=A.g).m||0>I.g||I.g>I.j),I)return!1;A.m=A.g.g;var g=7&(I=A.g.i());return 0!=g&&5!=g&&1!=g&&2!=g&&3!=g&&4!=g?(A.j=!0,!1):(A.i=I,A.l=I>>>3,A.h=g,!0)}function P(A){switch(A.h){case 0:if(0!=A.h)P(A);else{for(A=A.g;128&A.h[A.g];)A.g++;A.g++}break;case 1:1!=A.h?P(A):(A=A.g).g+=8;break;case 2:if(2!=A.h)P(A);else{var I=A.g.i();(A=A.g).g+=I}break;case 5:5!=A.h?P(A):(A=A.g).g+=4;break;case 3:for(I=A.l;;){if(!X(A)){A.j=!0;break}if(4==A.h){A.l!=I&&(A.j=!0);break}P(A)}break;default:A.j=!0}}function j(A,I,g){var C=A.g.j,B=A.g.i(),Q=A.g.g+B;if(A.g.j=Q,g(I,A),0!=(g=Q-A.g.g))throw Error("Message parsing ended unexpectedly. Expected to read "+B+" bytes, instead read "+(B-g)+" bytes, either the data ended unexpectedly or the message misreported its own length");return A.g.g=Q,A.g.j=C,I}function z(A){return A.g.o()}function _(A){var I,g=A.g.i(),C=(A=A.g).g;if(A.g+=g,A=A.h,k)(I=d)||(I=d=new TextDecoder("utf-8",{fatal:!1})),I=I.decode(A.subarray(C,C+g));else{g=C+g;for(var B,Q,E,i=[],o=null;C(B=A[C++])?i.push(B):224>B?C>=g?i.push(65533):(Q=A[C++],194>B||128!=(192&Q)?(C--,i.push(65533)):i.push((31&B)<<6|63&Q)):240>B?C>=g-1?i.push(65533):128!=(192&(Q=A[C++]))||224===B&&160>Q||237===B&&160<=Q||128!=(192&(I=A[C++]))?(C--,i.push(65533)):i.push((15&B)<<12|(63&Q)<<6|63&I):244>=B?C>=g-2?i.push(65533):128!=(192&(Q=A[C++]))||0!=Q-144+(B<<28)>>30||128!=(192&(I=A[C++]))||128!=(192&(E=A[C++]))?(C--,i.push(65533)):(B=(7&B)<<18|(63&Q)<<12|(63&I)<<6|63&E,B-=65536,i.push(55296+(B>>10&1023),56320+(1023&B))):i.push(65533),8192<=i.length&&(o=U(o,i),i.length=0);I=U(o,i)}return I}function $(A,I,g){var C=A.g.i();for(C=A.g.g+C;A.g.gC?1:0)?-C:C)?x=0<1/C?0:2147483648:isNaN(C)?x=2147483647:34028234663852886e22>>0:11754943508222875e-54>C?(C=Math.round(C/Math.pow(2,-149)),x=(g<<31|C)>>>0):(I=Math.floor(Math.log(C)/Math.LN2),C*=Math.pow(2,-I),16777216<=(C=Math.round(8388608*C))&&++I,x=(g<<31|I+127<<23|8388607&C)>>>0),g=x,A.push(g>>>0&255),A.push(g>>>8&255),A.push(g>>>16&255),A.push(g>>>24&255)}}v.prototype.push=function(A){if(!(this.h+1=A.l?A.i?A.i[I]:void 0:A.h[I+A.j]}function hA(A,I){var g=void 0!==g&&g,C=rA(A,I,g);return null==C&&(C=DA),C===DA&&yA(A,I,C=sA([]),g),C}function wA(A){var I=hA(A,3);if(A.m||(A.m={}),!A.m[3]){for(var g=0;g=A.l?(nA(A),A.i[I]=g):A.h[I+A.j]=g}function FA(A,I,g){if(-1===g)return null;if(A.g||(A.g={}),!A.g[g]){var C=rA(A,g,!1);C&&(A.g[g]=new I(C))}return A.g[g]}function RA(A,I){A.g||(A.g={});var g=A.g[1];if(!g){var C=hA(A,1);g=[];for(var B=0;BU;var d=(U=Math.abs(U))>>>0;for(U=Math.floor((U-d)/4294967296),U>>>=0,M&&(U=~U>>>0,4294967295<(d=1+(~d>>>0))&&(d=0,4294967295<++U&&(U=0))),M=x=d,d=U;0>>7|d<<25)>>>0,d>>>=7;S.push(M)}if(SA(N,l),R=CA(R),y.call(G,F,R),w.O)for(G=0;GU;U++)M.push(127&d|128),d>>=7;M.push(1)}BA(S,2,rA(l,2)),null!=(M=rA(l,3))&&(M=Y(M),Z(S.g,26),Z(S.g,M.length),gA(S,S.g.end()),gA(S,M)),null!=(M=rA(l,4))&&(M=Y(M),Z(S.g,34),Z(S.g,M.length),gA(S,S.g.end()),gA(S,M)),SA(l,S),N=CA(N),F.call(y,R,N)}}n=n.data;break A;default:n={}}}switch(e=n,s=t.stream,t.type){case"video":B.pushTexture2d(Object.assign(Object.assign({},e),{stream:s,timestamp:C}));break;case"detections":(a=e).stream=s,a.timestamp=C,B.pushDetectionList(a);break;default:throw Error("Unknown input config type: '"+t.type+"'")}}return D.i.send(B),c(g,D.C,4);case 4:B.delete(),g.g=0}}))}))},A.onResults=function(A,I){this.listeners[I||"$"]=A},S("Solution",II),S("OptionType",{BOOL:0,NUMBER:1,aa:2,0:"BOOL",1:"NUMBER",2:"STRING"});var QI={files:[{url:"face_mesh_solution_packed_assets_loader.js"},{simd:!0,url:"face_mesh_solution_simd_wasm_bin.js"},{simd:!1,url:"face_mesh_solution_wasm_bin.js"}],graph:{url:"face_mesh.binarypb"},listeners:[{wants:["multi_face_geometry","image_transformed","multi_face_landmarks"],outs:{image:"image_transformed",multiFaceGeometry:{type:"proto_list",stream:"multi_face_geometry",transform:function(A){return A.map(BI)}},multiFaceLandmarks:{type:"proto_list",stream:"multi_face_landmarks",transform:function(A){return A.map((function(A){return RA(qA(A),fA).map(XA)}))}}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},enableFaceGeometry:{type:0,graphOptionXref:{calculatorName:"EnableFaceGeometryConstant",calculatorType:"ConstantSidePacketCalculator",fieldName:"bool_value"}},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},maxNumFaces:{type:1,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorNumFaces",fieldName:"int_value"}},refineLandmarks:{type:0,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorRefineLandmarks",fieldName:"bool_value"}},minDetectionConfidence:{type:1,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facelandmarkfrontgpu__facedetectionshortrangegpu__facedetectionshortrangecommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}},minTrackingConfidence:{type:1,graphOptionXref:{calculatorType:"ThresholdingCalculator",calculatorName:"facelandmarkfrontgpu__facelandmarkgpu__ThresholdingCalculator",fieldName:"threshold"}},cameraNear:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"near"}},cameraFar:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"far"}},cameraVerticalFovDegrees:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"vertical_fov_degrees"}}}},EI=[[61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]],iI=[[263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]],oI=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],tI=[[33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]],eI=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],sI=[[10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]],aI=[].concat(o(EI),o(iI),o(oI),o(tI),o(eI),o(sI));function DI(A){A=A||{},A=Object.assign(Object.assign({},QI),A),this.g=new II(A)}(A=DI.prototype).close=function(){return this.g.close(),Promise.resolve()},A.onResults=function(A){this.g.onResults(A)},A.initialize=function(){return JA(this,(function A(){var I=this;return N(A,(function(A){return c(A,I.g.initialize(),0)}))}))},A.reset=function(){this.g.reset()},A.send=function(A){return JA(this,(function I(){var g=this;return N(I,(function(I){return c(I,g.g.send(A),0)}))}))},A.setOptions=function(A){this.g.setOptions(A)},S("FACE_GEOMETRY",{Layout:{COLUMN_MAJOR:0,ROW_MAJOR:1,0:"COLUMN_MAJOR",1:"ROW_MAJOR"},PrimitiveType:{TRIANGLE:0,0:"TRIANGLE"},VertexType:{VERTEX_PT:0,0:"VERTEX_PT"},DEFAULT_CAMERA_PARAMS:{verticalFovDegrees:63,near:1,far:1e4}}),S("FaceMesh",DI),S("FACEMESH_LIPS",EI),S("FACEMESH_LEFT_EYE",iI),S("FACEMESH_LEFT_EYEBROW",oI),S("FACEMESH_LEFT_IRIS",[[474,475],[475,476],[476,477],[477,474]]),S("FACEMESH_RIGHT_EYE",tI),S("FACEMESH_RIGHT_EYEBROW",eI),S("FACEMESH_RIGHT_IRIS",[[469,470],[470,471],[471,472],[472,469]]),S("FACEMESH_FACE_OVAL",sI),S("FACEMESH_CONTOURS",aI),S("FACEMESH_TESSELATION",[[127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]]),S("matrixDataToMatrix",(function(A){for(var I=A.getCols(),g=A.getRows(),C=A.getPackedDataList(),B=[],Q=0;Q{"use strict";g.d(I,{Z:()=>Q});var C=g(3645),B=g.n(C)()((function(A){return A[1]}));B.push([A.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const Q=B},3645:A=>{"use strict";A.exports=function(A){var I=[];return I.toString=function(){return this.map((function(I){var g=A(I);return I[2]?"@media ".concat(I[2]," {").concat(g,"}"):g})).join("")},I.i=function(A,g,C){"string"==typeof A&&(A=[[null,A,""]]);var B={};if(C)for(var Q=0;Q{"use strict";g.d(I,{Z:()=>C});const C='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},2810:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},4412:(A,I,g)=>{"use strict";g.r(I),g.d(I,{default:()=>E});var C=g(3379),B=g.n(C),Q=g(8485);B()(Q.Z,{insert:"head",singleton:!1});const E=Q.Z.locals||{}},3379:(A,I,g)=>{"use strict";var C,B=function(){var A={};return function(I){if(void 0===A[I]){var g=document.querySelector(I);if(window.HTMLIFrameElement&&g instanceof window.HTMLIFrameElement)try{g=g.contentDocument.head}catch(A){g=null}A[I]=g}return A[I]}}(),Q=[];function E(A){for(var I=-1,g=0;g{"use strict";g.r(I),g.d(I,{ACESFilmicToneMapping:()=>gA,AddEquation:()=>M,AddOperation:()=>z,AdditiveAnimationBlendMode:()=>vI,AdditiveBlending:()=>F,AlphaFormat:()=>fA,AlwaysDepth:()=>T,AlwaysStencilFunc:()=>hg,AmbientLight:()=>_s,AmbientLightProbe:()=>ra,AnimationClip:()=>Ns,AnimationLoader:()=>Js,AnimationMixer:()=>Oa,AnimationObjectGroup:()=>va,AnimationUtils:()=>es,ArcCurve:()=>vt,ArrayCamera:()=>Do,ArrowHelper:()=>fD,Audio:()=>Ua,AudioAnalyser:()=>ua,AudioContext:()=>aa,AudioListener:()=>Sa,AudioLoader:()=>Da,AxesHelper:()=>HD,AxisHelper:()=>Dn,BackSide:()=>r,BasicDepthPacking:()=>zI,BasicShadowMap:()=>e,BinaryTextureLoader:()=>cn,Bone:()=>At,BooleanKeyframeTrack:()=>hs,BoundingBoxHelper:()=>nn,Box2:()=>CD,Box3:()=>EC,Box3Helper:()=>JD,BoxBufferGeometry:()=>DQ,BoxGeometry:()=>DQ,BoxHelper:()=>kD,BufferAttribute:()=>KB,BufferGeometry:()=>OB,BufferGeometryLoader:()=>Qa,ByteType:()=>MA,Cache:()=>Ms,Camera:()=>cQ,CameraHelper:()=>UD,CanvasRenderer:()=>yn,CanvasTexture:()=>Yt,CatmullRomCurve3:()=>zt,CineonToneMapping:()=>IA,CircleBufferGeometry:()=>ut,CircleGeometry:()=>ut,ClampToEdgeWrapping:()=>aA,Clock:()=>ya,Color:()=>MB,ColorKeyframeTrack:()=>ws,CompressedTexture:()=>Jt,CompressedTextureLoader:()=>Ys,ConeBufferGeometry:()=>pt,ConeGeometry:()=>pt,CubeCamera:()=>FQ,CubeReflectionMapping:()=>QA,CubeRefractionMapping:()=>EA,CubeTexture:()=>RQ,CubeTextureLoader:()=>Ls,CubeUVReflectionMapping:()=>tA,CubeUVRefractionMapping:()=>eA,CubicBezierCurve:()=>Ie,CubicBezierCurve3:()=>ge,CubicInterpolant:()=>as,CullFaceBack:()=>i,CullFaceFront:()=>o,CullFaceFrontBack:()=>t,CullFaceNone:()=>E,Curve:()=>Vt,CurvePath:()=>te,CustomBlending:()=>l,CustomToneMapping:()=>CA,CylinderBufferGeometry:()=>Lt,CylinderGeometry:()=>Lt,Cylindrical:()=>ID,DataTexture:()=>It,DataTexture2DArray:()=>rE,DataTexture3D:()=>FE,DataTextureLoader:()=>ps,DataUtils:()=>bD,DecrementStencilOp:()=>Qg,DecrementWrapStencilOp:()=>ig,DefaultLoadingManager:()=>Us,DepthFormat:()=>bA,DepthStencilFormat:()=>TA,DepthTexture:()=>wo,DirectionalLight:()=>zs,DirectionalLightHelper:()=>lD,DiscreteInterpolant:()=>ns,DodecahedronBufferGeometry:()=>Ht,DodecahedronGeometry:()=>Ht,DoubleSide:()=>h,DstAlphaFactor:()=>f,DstColorFactor:()=>m,DynamicBufferAttribute:()=>gn,DynamicCopyUsage:()=>lg,DynamicDrawUsage:()=>cg,DynamicReadUsage:()=>Fg,EdgesGeometry:()=>Tt,EdgesHelper:()=>rn,EllipseCurve:()=>Wt,EqualDepth:()=>v,EqualStencilFunc:()=>sg,EquirectangularReflectionMapping:()=>iA,EquirectangularRefractionMapping:()=>oA,Euler:()=>WC,EventDispatcher:()=>dg,ExtrudeBufferGeometry:()=>qe,ExtrudeGeometry:()=>qe,FaceColors:()=>vD,FileLoader:()=>ks,FlatShading:()=>w,Float16BufferAttribute:()=>HB,Float32Attribute:()=>sn,Float32BufferAttribute:()=>mB,Float64Attribute:()=>an,Float64BufferAttribute:()=>qB,FloatType:()=>kA,Fog:()=>No,FogExp2:()=>Ro,Font:()=>Un,FontLoader:()=>Sn,FramebufferTexture:()=>kt,FrontSide:()=>n,Frustum:()=>kQ,GLBufferAttribute:()=>ja,GLSL1:()=>Sg,GLSL3:()=>Ug,GreaterDepth:()=>O,GreaterEqualDepth:()=>Z,GreaterEqualStencilFunc:()=>rg,GreaterStencilFunc:()=>Dg,GridHelper:()=>GD,Group:()=>no,HalfFloatType:()=>JA,HemisphereLight:()=>ms,HemisphereLightHelper:()=>cD,HemisphereLightProbe:()=>na,IcosahedronBufferGeometry:()=>be,IcosahedronGeometry:()=>be,ImageBitmapLoader:()=>ea,ImageLoader:()=>us,ImageUtils:()=>Xg,ImmediateRenderObject:()=>dn,IncrementStencilOp:()=>Bg,IncrementWrapStencilOp:()=>Eg,InstancedBufferAttribute:()=>Qt,InstancedBufferGeometry:()=>Ba,InstancedInterleavedBuffer:()=>Pa,InstancedMesh:()=>et,Int16Attribute:()=>En,Int16BufferAttribute:()=>uB,Int32Attribute:()=>tn,Int32BufferAttribute:()=>pB,Int8Attribute:()=>Cn,Int8BufferAttribute:()=>kB,IntType:()=>dA,InterleavedBuffer:()=>Mo,InterleavedBufferAttribute:()=>Uo,Interpolant:()=>ss,InterpolateDiscrete:()=>mI,InterpolateLinear:()=>qI,InterpolateSmooth:()=>xI,InvertStencilOp:()=>og,JSONLoader:()=>Fn,KeepStencilOp:()=>gg,KeyframeTrack:()=>rs,LOD:()=>Oo,LatheBufferGeometry:()=>Te,LatheGeometry:()=>Te,Layers:()=>vC,LensFlare:()=>Nn,LessDepth:()=>V,LessEqualDepth:()=>W,LessEqualStencilFunc:()=>ag,LessStencilFunc:()=>eg,Light:()=>Hs,LightProbe:()=>Ia,Line:()=>wt,Line3:()=>ED,LineBasicMaterial:()=>st,LineCurve:()=>Ce,LineCurve3:()=>Be,LineDashedMaterial:()=>os,LineLoop:()=>Ft,LinePieces:()=>VD,LineSegments:()=>yt,LineStrip:()=>TD,LinearEncoding:()=>PI,LinearFilter:()=>GA,LinearInterpolant:()=>Ds,LinearMipMapLinearFilter:()=>NA,LinearMipMapNearestFilter:()=>FA,LinearMipmapLinearFilter:()=>RA,LinearMipmapNearestFilter:()=>yA,LinearToneMapping:()=>$,Loader:()=>ds,LoaderUtils:()=>Ca,LoadingManager:()=>Ss,LoopOnce:()=>pI,LoopPingPong:()=>HI,LoopRepeat:()=>fI,LuminanceAlphaFormat:()=>xA,LuminanceFormat:()=>qA,MOUSE:()=>B,Material:()=>cB,MaterialLoader:()=>ga,Math:()=>xg,MathUtils:()=>xg,Matrix3:()=>Tg,Matrix4:()=>LC,MaxEquation:()=>K,Mesh:()=>sQ,MeshBasicMaterial:()=>SB,MeshDepthMaterial:()=>io,MeshDistanceMaterial:()=>oo,MeshFaceMaterial:()=>OD,MeshLambertMaterial:()=>Es,MeshMatcapMaterial:()=>is,MeshNormalMaterial:()=>Qs,MeshPhongMaterial:()=>Cs,MeshPhysicalMaterial:()=>gs,MeshStandardMaterial:()=>Is,MeshToonMaterial:()=>Bs,MinEquation:()=>d,MirroredRepeatWrapping:()=>DA,MixOperation:()=>j,MultiMaterial:()=>XD,MultiplyBlending:()=>N,MultiplyOperation:()=>P,NearestFilter:()=>nA,NearestMipMapLinearFilter:()=>cA,NearestMipMapNearestFilter:()=>hA,NearestMipmapLinearFilter:()=>wA,NearestMipmapNearestFilter:()=>rA,NeverDepth:()=>b,NeverStencilFunc:()=>tg,NoBlending:()=>G,NoColors:()=>WD,NoToneMapping:()=>_,NormalAnimationBlendMode:()=>WI,NormalBlending:()=>y,NotEqualDepth:()=>X,NotEqualStencilFunc:()=>ng,NumberKeyframeTrack:()=>cs,Object3D:()=>QB,ObjectLoader:()=>Ea,ObjectSpaceNormalMap:()=>Ag,OctahedronBufferGeometry:()=>Ve,OctahedronGeometry:()=>Ve,OneFactor:()=>J,OneMinusDstAlphaFactor:()=>H,OneMinusDstColorFactor:()=>q,OneMinusSrcAlphaFactor:()=>p,OneMinusSrcColorFactor:()=>u,OrthographicCamera:()=>VQ,PCFShadowMap:()=>s,PCFSoftShadowMap:()=>a,PMREMGenerator:()=>BE,ParametricGeometry:()=>ln,Particle:()=>jD,ParticleBasicMaterial:()=>$D,ParticleSystem:()=>zD,ParticleSystemMaterial:()=>An,Path:()=>ee,PerspectiveCamera:()=>GQ,Plane:()=>UQ,PlaneBufferGeometry:()=>uQ,PlaneGeometry:()=>uQ,PlaneHelper:()=>YD,PointCloud:()=>PD,PointCloudMaterial:()=>_D,PointLight:()=>Ps,PointLightHelper:()=>nD,Points:()=>Ut,PointsMaterial:()=>Rt,PolarGridHelper:()=>yD,PolyhedronBufferGeometry:()=>ft,PolyhedronGeometry:()=>ft,PositionalAudio:()=>Ya,PropertyBinding:()=>Wa,PropertyMixer:()=>La,QuadraticBezierCurve:()=>Qe,QuadraticBezierCurve3:()=>Ee,Quaternion:()=>gC,QuaternionKeyframeTrack:()=>ys,QuaternionLinearInterpolant:()=>Gs,REVISION:()=>C,RGBADepthPacking:()=>_I,RGBAFormat:()=>mA,RGBAIntegerFormat:()=>XA,RGBA_ASTC_10x10_Format:()=>wI,RGBA_ASTC_10x5_Format:()=>nI,RGBA_ASTC_10x6_Format:()=>rI,RGBA_ASTC_10x8_Format:()=>hI,RGBA_ASTC_12x10_Format:()=>cI,RGBA_ASTC_12x12_Format:()=>GI,RGBA_ASTC_4x4_Format:()=>EI,RGBA_ASTC_5x4_Format:()=>iI,RGBA_ASTC_5x5_Format:()=>oI,RGBA_ASTC_6x5_Format:()=>tI,RGBA_ASTC_6x6_Format:()=>eI,RGBA_ASTC_8x5_Format:()=>sI,RGBA_ASTC_8x6_Format:()=>aI,RGBA_ASTC_8x8_Format:()=>DI,RGBA_BPTC_Format:()=>yI,RGBA_ETC2_EAC_Format:()=>QI,RGBA_PVRTC_2BPPV1_Format:()=>gI,RGBA_PVRTC_4BPPV1_Format:()=>II,RGBA_S3TC_DXT1_Format:()=>jA,RGBA_S3TC_DXT3_Format:()=>zA,RGBA_S3TC_DXT5_Format:()=>_A,RGBFormat:()=>HA,RGBIntegerFormat:()=>OA,RGB_ETC1_Format:()=>CI,RGB_ETC2_Format:()=>BI,RGB_PVRTC_2BPPV1_Format:()=>AI,RGB_PVRTC_4BPPV1_Format:()=>$A,RGB_S3TC_DXT1_Format:()=>PA,RGFormat:()=>vA,RGIntegerFormat:()=>ZA,RawShaderMaterial:()=>WQ,Ray:()=>uC,Raycaster:()=>za,RectAreaLight:()=>$s,RedFormat:()=>VA,RedIntegerFormat:()=>WA,ReinhardToneMapping:()=>AA,RepeatWrapping:()=>sA,ReplaceStencilOp:()=>Cg,ReverseSubtractEquation:()=>U,RingBufferGeometry:()=>We,RingGeometry:()=>We,SRGB8_ALPHA8_ASTC_10x10_Format:()=>YI,SRGB8_ALPHA8_ASTC_10x5_Format:()=>KI,SRGB8_ALPHA8_ASTC_10x6_Format:()=>kI,SRGB8_ALPHA8_ASTC_10x8_Format:()=>JI,SRGB8_ALPHA8_ASTC_12x10_Format:()=>uI,SRGB8_ALPHA8_ASTC_12x12_Format:()=>LI,SRGB8_ALPHA8_ASTC_4x4_Format:()=>FI,SRGB8_ALPHA8_ASTC_5x4_Format:()=>RI,SRGB8_ALPHA8_ASTC_5x5_Format:()=>NI,SRGB8_ALPHA8_ASTC_6x5_Format:()=>lI,SRGB8_ALPHA8_ASTC_6x6_Format:()=>MI,SRGB8_ALPHA8_ASTC_8x5_Format:()=>SI,SRGB8_ALPHA8_ASTC_8x6_Format:()=>UI,SRGB8_ALPHA8_ASTC_8x8_Format:()=>dI,Scene:()=>lo,SceneUtils:()=>Rn,ShaderChunk:()=>LQ,ShaderLib:()=>fQ,ShaderMaterial:()=>wQ,ShadowMaterial:()=>As,Shape:()=>se,ShapeBufferGeometry:()=>ve,ShapeGeometry:()=>ve,ShapePath:()=>mD,ShapeUtils:()=>fe,ShortType:()=>SA,Skeleton:()=>Bt,SkeletonHelper:()=>aD,SkinnedMesh:()=>$o,SmoothShading:()=>c,Sphere:()=>MC,SphereBufferGeometry:()=>Ze,SphereGeometry:()=>Ze,Spherical:()=>AD,SphericalHarmonics3:()=>Aa,SplineCurve:()=>ie,SpotLight:()=>Ws,SpotLightHelper:()=>oD,Sprite:()=>Vo,SpriteMaterial:()=>Ko,SrcAlphaFactor:()=>L,SrcAlphaSaturateFactor:()=>x,SrcColorFactor:()=>Y,StaticCopyUsage:()=>Ng,StaticDrawUsage:()=>wg,StaticReadUsage:()=>yg,StereoCamera:()=>Ga,StreamCopyUsage:()=>Mg,StreamDrawUsage:()=>Gg,StreamReadUsage:()=>Rg,StringKeyframeTrack:()=>Fs,SubtractEquation:()=>S,SubtractiveBlending:()=>R,TOUCH:()=>Q,TangentSpaceNormalMap:()=>$I,TetrahedronBufferGeometry:()=>Oe,TetrahedronGeometry:()=>Oe,TextGeometry:()=>Mn,Texture:()=>jg,TextureLoader:()=>fs,TorusBufferGeometry:()=>Xe,TorusGeometry:()=>Xe,TorusKnotBufferGeometry:()=>Pe,TorusKnotGeometry:()=>Pe,Triangle:()=>hB,TriangleFanDrawMode:()=>XI,TriangleStripDrawMode:()=>OI,TrianglesDrawMode:()=>ZI,TubeBufferGeometry:()=>je,TubeGeometry:()=>je,UVMapping:()=>BA,Uint16Attribute:()=>on,Uint16BufferAttribute:()=>LB,Uint32Attribute:()=>en,Uint32BufferAttribute:()=>fB,Uint8Attribute:()=>Bn,Uint8BufferAttribute:()=>JB,Uint8ClampedAttribute:()=>Qn,Uint8ClampedBufferAttribute:()=>YB,Uniform:()=>Xa,UniformsLib:()=>pQ,UniformsUtils:()=>hQ,UnsignedByteType:()=>lA,UnsignedInt248Type:()=>pA,UnsignedIntType:()=>KA,UnsignedShort4444Type:()=>YA,UnsignedShort5551Type:()=>uA,UnsignedShort565Type:()=>LA,UnsignedShortType:()=>UA,VSMShadowMap:()=>D,Vector2:()=>bg,Vector3:()=>CC,Vector4:()=>_g,VectorKeyframeTrack:()=>Rs,Vertex:()=>In,VertexColors:()=>ZD,VideoTexture:()=>Kt,WebGL1Renderer:()=>Fo,WebGLCubeRenderTarget:()=>NQ,WebGLMultipleRenderTargets:()=>AC,WebGLMultisampleRenderTarget:()=>IC,WebGLRenderTarget:()=>$g,WebGLRenderTargetCube:()=>Gn,WebGLRenderer:()=>yo,WebGLUtils:()=>ao,WireframeGeometry:()=>ze,WireframeHelper:()=>hn,WrapAroundEnding:()=>VI,XHRLoader:()=>wn,ZeroCurvatureEnding:()=>bI,ZeroFactor:()=>k,ZeroSlopeEnding:()=>TI,ZeroStencilOp:()=>Ig,sRGBEncoding:()=>jI});const C="136",B={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Q={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},E=0,i=1,o=2,t=3,e=0,s=1,a=2,D=3,n=0,r=1,h=2,w=1,c=2,G=0,y=1,F=2,R=3,N=4,l=5,M=100,S=101,U=102,d=103,K=104,k=200,J=201,Y=202,u=203,L=204,p=205,f=206,H=207,m=208,q=209,x=210,b=0,T=1,V=2,W=3,v=4,Z=5,O=6,X=7,P=0,j=1,z=2,_=0,$=1,AA=2,IA=3,gA=4,CA=5,BA=300,QA=301,EA=302,iA=303,oA=304,tA=306,eA=307,sA=1e3,aA=1001,DA=1002,nA=1003,rA=1004,hA=1004,wA=1005,cA=1005,GA=1006,yA=1007,FA=1007,RA=1008,NA=1008,lA=1009,MA=1010,SA=1011,UA=1012,dA=1013,KA=1014,kA=1015,JA=1016,YA=1017,uA=1018,LA=1019,pA=1020,fA=1021,HA=1022,mA=1023,qA=1024,xA=1025,bA=1026,TA=1027,VA=1028,WA=1029,vA=1030,ZA=1031,OA=1032,XA=1033,PA=33776,jA=33777,zA=33778,_A=33779,$A=35840,AI=35841,II=35842,gI=35843,CI=36196,BI=37492,QI=37496,EI=37808,iI=37809,oI=37810,tI=37811,eI=37812,sI=37813,aI=37814,DI=37815,nI=37816,rI=37817,hI=37818,wI=37819,cI=37820,GI=37821,yI=36492,FI=37840,RI=37841,NI=37842,lI=37843,MI=37844,SI=37845,UI=37846,dI=37847,KI=37848,kI=37849,JI=37850,YI=37851,uI=37852,LI=37853,pI=2200,fI=2201,HI=2202,mI=2300,qI=2301,xI=2302,bI=2400,TI=2401,VI=2402,WI=2500,vI=2501,ZI=0,OI=1,XI=2,PI=3e3,jI=3001,zI=3200,_I=3201,$I=0,Ag=1,Ig=0,gg=7680,Cg=7681,Bg=7682,Qg=7683,Eg=34055,ig=34056,og=5386,tg=512,eg=513,sg=514,ag=515,Dg=516,ng=517,rg=518,hg=519,wg=35044,cg=35048,Gg=35040,yg=35045,Fg=35049,Rg=35041,Ng=35046,lg=35050,Mg=35042,Sg="100",Ug="300 es";class dg{addEventListener(A,I){void 0===this._listeners&&(this._listeners={});const g=this._listeners;void 0===g[A]&&(g[A]=[]),-1===g[A].indexOf(I)&&g[A].push(I)}hasEventListener(A,I){if(void 0===this._listeners)return!1;const g=this._listeners;return void 0!==g[A]&&-1!==g[A].indexOf(I)}removeEventListener(A,I){if(void 0===this._listeners)return;const g=this._listeners[A];if(void 0!==g){const A=g.indexOf(I);-1!==A&&g.splice(A,1)}}dispatchEvent(A){if(void 0===this._listeners)return;const I=this._listeners[A.type];if(void 0!==I){A.target=this;const g=I.slice(0);for(let I=0,C=g.length;I>8&255]+Kg[A>>16&255]+Kg[A>>24&255]+"-"+Kg[255&I]+Kg[I>>8&255]+"-"+Kg[I>>16&15|64]+Kg[I>>24&255]+"-"+Kg[63&g|128]+Kg[g>>8&255]+"-"+Kg[g>>16&255]+Kg[g>>24&255]+Kg[255&C]+Kg[C>>8&255]+Kg[C>>16&255]+Kg[C>>24&255]).toUpperCase()}function Lg(A,I,g){return Math.max(I,Math.min(g,A))}function pg(A,I){return(A%I+I)%I}function fg(A,I,g){return(1-g)*A+g*I}function Hg(A){return 0==(A&A-1)&&0!==A}function mg(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))}function qg(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))}var xg=Object.freeze({__proto__:null,DEG2RAD:Jg,RAD2DEG:Yg,generateUUID:ug,clamp:Lg,euclideanModulo:pg,mapLinear:function(A,I,g,C,B){return C+(A-I)*(B-C)/(g-I)},inverseLerp:function(A,I,g){return A!==I?(g-A)/(I-A):0},lerp:fg,damp:function(A,I,g,C){return fg(A,I,1-Math.exp(-g*C))},pingpong:function(A,I=1){return I-Math.abs(pg(A,2*I)-I)},smoothstep:function(A,I,g){return A<=I?0:A>=g?1:(A=(A-I)/(g-I))*A*(3-2*A)},smootherstep:function(A,I,g){return A<=I?0:A>=g?1:(A=(A-I)/(g-I))*A*A*(A*(6*A-15)+10)},randInt:function(A,I){return A+Math.floor(Math.random()*(I-A+1))},randFloat:function(A,I){return A+Math.random()*(I-A)},randFloatSpread:function(A){return A*(.5-Math.random())},seededRandom:function(A){return void 0!==A&&(kg=A%2147483647),kg=16807*kg%2147483647,(kg-1)/2147483646},degToRad:function(A){return A*Jg},radToDeg:function(A){return A*Yg},isPowerOfTwo:Hg,ceilPowerOfTwo:mg,floorPowerOfTwo:qg,setQuaternionFromProperEuler:function(A,I,g,C,B){const Q=Math.cos,E=Math.sin,i=Q(g/2),o=E(g/2),t=Q((I+C)/2),e=E((I+C)/2),s=Q((I-C)/2),a=E((I-C)/2),D=Q((C-I)/2),n=E((C-I)/2);switch(B){case"XYX":A.set(i*e,o*s,o*a,i*t);break;case"YZY":A.set(o*a,i*e,o*s,i*t);break;case"ZXZ":A.set(o*s,o*a,i*e,i*t);break;case"XZX":A.set(i*e,o*n,o*D,i*t);break;case"YXY":A.set(o*D,i*e,o*n,i*t);break;case"ZYZ":A.set(o*n,o*D,i*e,i*t);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+B)}}});class bg{constructor(A=0,I=0){this.x=A,this.y=I}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,I){return this.x=A,this.y=I,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A,I){return void 0!==I?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,I)):(this.x+=A.x,this.y+=A.y,this)}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this}sub(A,I){return void 0!==I?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,I)):(this.x-=A.x,this.y-=A.y,this)}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const I=this.x,g=this.y,C=A.elements;return this.x=C[0]*I+C[3]*g+C[6],this.y=C[1]*I+C[4]*g+C[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this}clampLength(A,I){const g=this.length();return this.divideScalar(g||1).multiplyScalar(Math.max(A,Math.min(I,g)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,g=this.y-A.y;return I*I+g*g}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this}lerpVectors(A,I,g){return this.x=A.x+(I.x-A.x)*g,this.y=A.y+(I.y-A.y)*g,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A}fromBufferAttribute(A,I,g){return void 0!==g&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(I),this.y=A.getY(I),this}rotateAround(A,I){const g=Math.cos(I),C=Math.sin(I),B=this.x-A.x,Q=this.y-A.y;return this.x=B*g-Q*C+A.x,this.y=B*C+Q*g+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}bg.prototype.isVector2=!0;class Tg{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(A,I,g,C,B,Q,E,i,o){const t=this.elements;return t[0]=A,t[1]=C,t[2]=E,t[3]=I,t[4]=B,t[5]=i,t[6]=g,t[7]=Q,t[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const I=this.elements,g=A.elements;return I[0]=g[0],I[1]=g[1],I[2]=g[2],I[3]=g[3],I[4]=g[4],I[5]=g[5],I[6]=g[6],I[7]=g[7],I[8]=g[8],this}extractBasis(A,I,g){return A.setFromMatrix3Column(this,0),I.setFromMatrix3Column(this,1),g.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const I=A.elements;return this.set(I[0],I[4],I[8],I[1],I[5],I[9],I[2],I[6],I[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const g=A.elements,C=I.elements,B=this.elements,Q=g[0],E=g[3],i=g[6],o=g[1],t=g[4],e=g[7],s=g[2],a=g[5],D=g[8],n=C[0],r=C[3],h=C[6],w=C[1],c=C[4],G=C[7],y=C[2],F=C[5],R=C[8];return B[0]=Q*n+E*w+i*y,B[3]=Q*r+E*c+i*F,B[6]=Q*h+E*G+i*R,B[1]=o*n+t*w+e*y,B[4]=o*r+t*c+e*F,B[7]=o*h+t*G+e*R,B[2]=s*n+a*w+D*y,B[5]=s*r+a*c+D*F,B[8]=s*h+a*G+D*R,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[3]*=A,I[6]*=A,I[1]*=A,I[4]*=A,I[7]*=A,I[2]*=A,I[5]*=A,I[8]*=A,this}determinant(){const A=this.elements,I=A[0],g=A[1],C=A[2],B=A[3],Q=A[4],E=A[5],i=A[6],o=A[7],t=A[8];return I*Q*t-I*E*o-g*B*t+g*E*i+C*B*o-C*Q*i}invert(){const A=this.elements,I=A[0],g=A[1],C=A[2],B=A[3],Q=A[4],E=A[5],i=A[6],o=A[7],t=A[8],e=t*Q-E*o,s=E*i-t*B,a=o*B-Q*i,D=I*e+g*s+C*a;if(0===D)return this.set(0,0,0,0,0,0,0,0,0);const n=1/D;return A[0]=e*n,A[1]=(C*o-t*g)*n,A[2]=(E*g-C*Q)*n,A[3]=s*n,A[4]=(t*I-C*i)*n,A[5]=(C*B-E*I)*n,A[6]=a*n,A[7]=(g*i-o*I)*n,A[8]=(Q*I-g*B)*n,this}transpose(){let A;const I=this.elements;return A=I[1],I[1]=I[3],I[3]=A,A=I[2],I[2]=I[6],I[6]=A,A=I[5],I[5]=I[7],I[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const I=this.elements;return A[0]=I[0],A[1]=I[3],A[2]=I[6],A[3]=I[1],A[4]=I[4],A[5]=I[7],A[6]=I[2],A[7]=I[5],A[8]=I[8],this}setUvTransform(A,I,g,C,B,Q,E){const i=Math.cos(B),o=Math.sin(B);return this.set(g*i,g*o,-g*(i*Q+o*E)+Q+A,-C*o,C*i,-C*(-o*Q+i*E)+E+I,0,0,1),this}scale(A,I){const g=this.elements;return g[0]*=A,g[3]*=A,g[6]*=A,g[1]*=I,g[4]*=I,g[7]*=I,this}rotate(A){const I=Math.cos(A),g=Math.sin(A),C=this.elements,B=C[0],Q=C[3],E=C[6],i=C[1],o=C[4],t=C[7];return C[0]=I*B+g*i,C[3]=I*Q+g*o,C[6]=I*E+g*t,C[1]=-g*B+I*i,C[4]=-g*Q+I*o,C[7]=-g*E+I*t,this}translate(A,I){const g=this.elements;return g[0]+=A*g[2],g[3]+=A*g[5],g[6]+=A*g[8],g[1]+=I*g[2],g[4]+=I*g[5],g[7]+=I*g[8],this}equals(A){const I=this.elements,g=A.elements;for(let A=0;A<9;A++)if(I[A]!==g[A])return!1;return!0}fromArray(A,I=0){for(let g=0;g<9;g++)this.elements[g]=A[g+I];return this}toArray(A=[],I=0){const g=this.elements;return A[I]=g[0],A[I+1]=g[1],A[I+2]=g[2],A[I+3]=g[3],A[I+4]=g[4],A[I+5]=g[5],A[I+6]=g[6],A[I+7]=g[7],A[I+8]=g[8],A}clone(){return(new this.constructor).fromArray(this.elements)}}function Vg(A){if(0===A.length)return-1/0;let I=A[0];for(let g=1,C=A.length;gI&&(I=A[g]);return I}Tg.prototype.isMatrix3=!0;const Wg={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function vg(A,I){return new Wg[A](I)}function Zg(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}let Og;class Xg{static getDataURL(A){if(/^data:/i.test(A.src))return A.src;if("undefined"==typeof HTMLCanvasElement)return A.src;let I;if(A instanceof HTMLCanvasElement)I=A;else{void 0===Og&&(Og=Zg("canvas")),Og.width=A.width,Og.height=A.height;const g=Og.getContext("2d");A instanceof ImageData?g.putImageData(A,0,0):g.drawImage(A,0,0,A.width,A.height),I=Og}return I.width>2048||I.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),I.toDataURL("image/jpeg",.6)):I.toDataURL("image/png")}}let Pg=0;class jg extends dg{constructor(A=jg.DEFAULT_IMAGE,I=jg.DEFAULT_MAPPING,g=aA,C=aA,B=GA,Q=RA,E=mA,i=lA,o=1,t=PI){super(),Object.defineProperty(this,"id",{value:Pg++}),this.uuid=ug(),this.name="",this.image=A,this.mipmaps=[],this.mapping=I,this.wrapS=g,this.wrapT=C,this.magFilter=B,this.minFilter=Q,this.anisotropy=o,this.format=E,this.internalFormat=null,this.type=i,this.offset=new bg(0,0),this.repeat=new bg(1,1),this.center=new bg(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Tg,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=t,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(A){return this.name=A.name,this.image=A.image,this.mipmaps=A.mipmaps.slice(0),this.mapping=A.mapping,this.wrapS=A.wrapS,this.wrapT=A.wrapT,this.magFilter=A.magFilter,this.minFilter=A.minFilter,this.anisotropy=A.anisotropy,this.format=A.format,this.internalFormat=A.internalFormat,this.type=A.type,this.offset.copy(A.offset),this.repeat.copy(A.repeat),this.center.copy(A.center),this.rotation=A.rotation,this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrix.copy(A.matrix),this.generateMipmaps=A.generateMipmaps,this.premultiplyAlpha=A.premultiplyAlpha,this.flipY=A.flipY,this.unpackAlignment=A.unpackAlignment,this.encoding=A.encoding,this.userData=JSON.parse(JSON.stringify(A.userData)),this}toJSON(A){const I=void 0===A||"string"==typeof A;if(!I&&void 0!==A.textures[this.uuid])return A.textures[this.uuid];const g={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const C=this.image;if(void 0===C.uuid&&(C.uuid=ug()),!I&&void 0===A.images[C.uuid]){let I;if(Array.isArray(C)){I=[];for(let A=0,g=C.length;A1)switch(this.wrapS){case sA:A.x=A.x-Math.floor(A.x);break;case aA:A.x=A.x<0?0:1;break;case DA:1===Math.abs(Math.floor(A.x)%2)?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x)}if(A.y<0||A.y>1)switch(this.wrapT){case sA:A.y=A.y-Math.floor(A.y);break;case aA:A.y=A.y<0?0:1;break;case DA:1===Math.abs(Math.floor(A.y)%2)?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){!0===A&&this.version++}}function zg(A){return"undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap?Xg.getDataURL(A):A.data?{data:Array.prototype.slice.call(A.data),width:A.width,height:A.height,type:A.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}jg.DEFAULT_IMAGE=void 0,jg.DEFAULT_MAPPING=BA,jg.prototype.isTexture=!0;class _g{constructor(A=0,I=0,g=0,C=1){this.x=A,this.y=I,this.z=g,this.w=C}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,I,g,C){return this.x=A,this.y=I,this.z=g,this.w=C,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;case 3:this.w=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this}add(A,I){return void 0!==I?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,I)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this)}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this.w=A.w+I.w,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this.w+=A.w*I,this}sub(A,I){return void 0!==I?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,I)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this)}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this.w=A.w-I.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const I=this.x,g=this.y,C=this.z,B=this.w,Q=A.elements;return this.x=Q[0]*I+Q[4]*g+Q[8]*C+Q[12]*B,this.y=Q[1]*I+Q[5]*g+Q[9]*C+Q[13]*B,this.z=Q[2]*I+Q[6]*g+Q[10]*C+Q[14]*B,this.w=Q[3]*I+Q[7]*g+Q[11]*C+Q[15]*B,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const I=Math.sqrt(1-A.w*A.w);return I<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/I,this.y=A.y/I,this.z=A.z/I),this}setAxisAngleFromRotationMatrix(A){let I,g,C,B;const Q=.01,E=.1,i=A.elements,o=i[0],t=i[4],e=i[8],s=i[1],a=i[5],D=i[9],n=i[2],r=i[6],h=i[10];if(Math.abs(t-s)i&&A>w?Aw?i=0?1:-1,C=1-I*I;if(C>Number.EPSILON){const B=Math.sqrt(C),Q=Math.atan2(B,I*g);A=Math.sin(A*Q)/B,E=Math.sin(E*Q)/B}const B=E*g;if(i=i*A+s*B,o=o*A+a*B,t=t*A+D*B,e=e*A+n*B,A===1-E){const A=1/Math.sqrt(i*i+o*o+t*t+e*e);i*=A,o*=A,t*=A,e*=A}}A[I]=i,A[I+1]=o,A[I+2]=t,A[I+3]=e}static multiplyQuaternionsFlat(A,I,g,C,B,Q){const E=g[C],i=g[C+1],o=g[C+2],t=g[C+3],e=B[Q],s=B[Q+1],a=B[Q+2],D=B[Q+3];return A[I]=E*D+t*e+i*a-o*s,A[I+1]=i*D+t*s+o*e-E*a,A[I+2]=o*D+t*a+E*s-i*e,A[I+3]=t*D-E*e-i*s-o*a,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,I,g,C){return this._x=A,this._y=I,this._z=g,this._w=C,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,I){if(!A||!A.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const g=A._x,C=A._y,B=A._z,Q=A._order,E=Math.cos,i=Math.sin,o=E(g/2),t=E(C/2),e=E(B/2),s=i(g/2),a=i(C/2),D=i(B/2);switch(Q){case"XYZ":this._x=s*t*e+o*a*D,this._y=o*a*e-s*t*D,this._z=o*t*D+s*a*e,this._w=o*t*e-s*a*D;break;case"YXZ":this._x=s*t*e+o*a*D,this._y=o*a*e-s*t*D,this._z=o*t*D-s*a*e,this._w=o*t*e+s*a*D;break;case"ZXY":this._x=s*t*e-o*a*D,this._y=o*a*e+s*t*D,this._z=o*t*D+s*a*e,this._w=o*t*e-s*a*D;break;case"ZYX":this._x=s*t*e-o*a*D,this._y=o*a*e+s*t*D,this._z=o*t*D-s*a*e,this._w=o*t*e+s*a*D;break;case"YZX":this._x=s*t*e+o*a*D,this._y=o*a*e+s*t*D,this._z=o*t*D-s*a*e,this._w=o*t*e-s*a*D;break;case"XZY":this._x=s*t*e-o*a*D,this._y=o*a*e-s*t*D,this._z=o*t*D+s*a*e,this._w=o*t*e+s*a*D;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+Q)}return!1!==I&&this._onChangeCallback(),this}setFromAxisAngle(A,I){const g=I/2,C=Math.sin(g);return this._x=A.x*C,this._y=A.y*C,this._z=A.z*C,this._w=Math.cos(g),this._onChangeCallback(),this}setFromRotationMatrix(A){const I=A.elements,g=I[0],C=I[4],B=I[8],Q=I[1],E=I[5],i=I[9],o=I[2],t=I[6],e=I[10],s=g+E+e;if(s>0){const A=.5/Math.sqrt(s+1);this._w=.25/A,this._x=(t-i)*A,this._y=(B-o)*A,this._z=(Q-C)*A}else if(g>E&&g>e){const A=2*Math.sqrt(1+g-E-e);this._w=(t-i)/A,this._x=.25*A,this._y=(C+Q)/A,this._z=(B+o)/A}else if(E>e){const A=2*Math.sqrt(1+E-g-e);this._w=(B-o)/A,this._x=(C+Q)/A,this._y=.25*A,this._z=(i+t)/A}else{const A=2*Math.sqrt(1+e-g-E);this._w=(Q-C)/A,this._x=(B+o)/A,this._y=(i+t)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(A,I){let g=A.dot(I)+1;return gMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=g):(this._x=0,this._y=-A.z,this._z=A.y,this._w=g)):(this._x=A.y*I.z-A.z*I.y,this._y=A.z*I.x-A.x*I.z,this._z=A.x*I.y-A.y*I.x,this._w=g),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Lg(this.dot(A),-1,1)))}rotateTowards(A,I){const g=this.angleTo(A);if(0===g)return this;const C=Math.min(1,I/g);return this.slerp(A,C),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A,I){return void 0!==I?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(A,I)):this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,I){const g=A._x,C=A._y,B=A._z,Q=A._w,E=I._x,i=I._y,o=I._z,t=I._w;return this._x=g*t+Q*E+C*o-B*i,this._y=C*t+Q*i+B*E-g*o,this._z=B*t+Q*o+g*i-C*E,this._w=Q*t-g*E-C*i-B*o,this._onChangeCallback(),this}slerp(A,I){if(0===I)return this;if(1===I)return this.copy(A);const g=this._x,C=this._y,B=this._z,Q=this._w;let E=Q*A._w+g*A._x+C*A._y+B*A._z;if(E<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,E=-E):this.copy(A),E>=1)return this._w=Q,this._x=g,this._y=C,this._z=B,this;const i=1-E*E;if(i<=Number.EPSILON){const A=1-I;return this._w=A*Q+I*this._w,this._x=A*g+I*this._x,this._y=A*C+I*this._y,this._z=A*B+I*this._z,this.normalize(),this._onChangeCallback(),this}const o=Math.sqrt(i),t=Math.atan2(o,E),e=Math.sin((1-I)*t)/o,s=Math.sin(I*t)/o;return this._w=Q*e+this._w*s,this._x=g*e+this._x*s,this._y=C*e+this._y*s,this._z=B*e+this._z*s,this._onChangeCallback(),this}slerpQuaternions(A,I,g){this.copy(A).slerp(I,g)}random(){const A=Math.random(),I=Math.sqrt(1-A),g=Math.sqrt(A),C=2*Math.PI*Math.random(),B=2*Math.PI*Math.random();return this.set(I*Math.cos(C),g*Math.sin(B),g*Math.cos(B),I*Math.sin(C))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,I=0){return this._x=A[I],this._y=A[I+1],this._z=A[I+2],this._w=A[I+3],this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._w,A}fromBufferAttribute(A,I){return this._x=A.getX(I),this._y=A.getY(I),this._z=A.getZ(I),this._w=A.getW(I),this}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}}gC.prototype.isQuaternion=!0;class CC{constructor(A=0,I=0,g=0){this.x=A,this.y=I,this.z=g}set(A,I,g){return void 0===g&&(g=this.z),this.x=A,this.y=I,this.z=g,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,I){switch(A){case 0:this.x=I;break;case 1:this.y=I;break;case 2:this.z=I;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A,I){return void 0!==I?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,I)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this)}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,I){return this.x=A.x+I.x,this.y=A.y+I.y,this.z=A.z+I.z,this}addScaledVector(A,I){return this.x+=A.x*I,this.y+=A.y*I,this.z+=A.z*I,this}sub(A,I){return void 0!==I?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,I)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this)}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,I){return this.x=A.x-I.x,this.y=A.y-I.y,this.z=A.z-I.z,this}multiply(A,I){return void 0!==I?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(A,I)):(this.x*=A.x,this.y*=A.y,this.z*=A.z,this)}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,I){return this.x=A.x*I.x,this.y=A.y*I.y,this.z=A.z*I.z,this}applyEuler(A){return A&&A.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(QC.setFromEuler(A))}applyAxisAngle(A,I){return this.applyQuaternion(QC.setFromAxisAngle(A,I))}applyMatrix3(A){const I=this.x,g=this.y,C=this.z,B=A.elements;return this.x=B[0]*I+B[3]*g+B[6]*C,this.y=B[1]*I+B[4]*g+B[7]*C,this.z=B[2]*I+B[5]*g+B[8]*C,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const I=this.x,g=this.y,C=this.z,B=A.elements,Q=1/(B[3]*I+B[7]*g+B[11]*C+B[15]);return this.x=(B[0]*I+B[4]*g+B[8]*C+B[12])*Q,this.y=(B[1]*I+B[5]*g+B[9]*C+B[13])*Q,this.z=(B[2]*I+B[6]*g+B[10]*C+B[14])*Q,this}applyQuaternion(A){const I=this.x,g=this.y,C=this.z,B=A.x,Q=A.y,E=A.z,i=A.w,o=i*I+Q*C-E*g,t=i*g+E*I-B*C,e=i*C+B*g-Q*I,s=-B*I-Q*g-E*C;return this.x=o*i+s*-B+t*-E-e*-Q,this.y=t*i+s*-Q+e*-B-o*-E,this.z=e*i+s*-E+o*-Q-t*-B,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const I=this.x,g=this.y,C=this.z,B=A.elements;return this.x=B[0]*I+B[4]*g+B[8]*C,this.y=B[1]*I+B[5]*g+B[9]*C,this.z=B[2]*I+B[6]*g+B[10]*C,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,I){return this.x=Math.max(A.x,Math.min(I.x,this.x)),this.y=Math.max(A.y,Math.min(I.y,this.y)),this.z=Math.max(A.z,Math.min(I.z,this.z)),this}clampScalar(A,I){return this.x=Math.max(A,Math.min(I,this.x)),this.y=Math.max(A,Math.min(I,this.y)),this.z=Math.max(A,Math.min(I,this.z)),this}clampLength(A,I){const g=this.length();return this.divideScalar(g||1).multiplyScalar(Math.max(A,Math.min(I,g)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,I){return this.x+=(A.x-this.x)*I,this.y+=(A.y-this.y)*I,this.z+=(A.z-this.z)*I,this}lerpVectors(A,I,g){return this.x=A.x+(I.x-A.x)*g,this.y=A.y+(I.y-A.y)*g,this.z=A.z+(I.z-A.z)*g,this}cross(A,I){return void 0!==I?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(A,I)):this.crossVectors(this,A)}crossVectors(A,I){const g=A.x,C=A.y,B=A.z,Q=I.x,E=I.y,i=I.z;return this.x=C*i-B*E,this.y=B*Q-g*i,this.z=g*E-C*Q,this}projectOnVector(A){const I=A.lengthSq();if(0===I)return this.set(0,0,0);const g=A.dot(this)/I;return this.copy(A).multiplyScalar(g)}projectOnPlane(A){return BC.copy(this).projectOnVector(A),this.sub(BC)}reflect(A){return this.sub(BC.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const I=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===I)return Math.PI/2;const g=this.dot(A)/I;return Math.acos(Lg(g,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const I=this.x-A.x,g=this.y-A.y,C=this.z-A.z;return I*I+g*g+C*C}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,I,g){const C=Math.sin(I)*A;return this.x=C*Math.sin(g),this.y=Math.cos(I)*A,this.z=C*Math.cos(g),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,I,g){return this.x=A*Math.sin(I),this.y=g,this.z=A*Math.cos(I),this}setFromMatrixPosition(A){const I=A.elements;return this.x=I[12],this.y=I[13],this.z=I[14],this}setFromMatrixScale(A){const I=this.setFromMatrixColumn(A,0).length(),g=this.setFromMatrixColumn(A,1).length(),C=this.setFromMatrixColumn(A,2).length();return this.x=I,this.y=g,this.z=C,this}setFromMatrixColumn(A,I){return this.fromArray(A.elements,4*I)}setFromMatrix3Column(A,I){return this.fromArray(A.elements,3*I)}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,I=0){return this.x=A[I],this.y=A[I+1],this.z=A[I+2],this}toArray(A=[],I=0){return A[I]=this.x,A[I+1]=this.y,A[I+2]=this.z,A}fromBufferAttribute(A,I,g){return void 0!==g&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(I),this.y=A.getY(I),this.z=A.getZ(I),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=2*(Math.random()-.5),I=Math.random()*Math.PI*2,g=Math.sqrt(1-A**2);return this.x=g*Math.cos(I),this.y=g*Math.sin(I),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}CC.prototype.isVector3=!0;const BC=new CC,QC=new gC;class EC{constructor(A=new CC(1/0,1/0,1/0),I=new CC(-1/0,-1/0,-1/0)){this.min=A,this.max=I}set(A,I){return this.min.copy(A),this.max.copy(I),this}setFromArray(A){let I=1/0,g=1/0,C=1/0,B=-1/0,Q=-1/0,E=-1/0;for(let i=0,o=A.length;iB&&(B=o),t>Q&&(Q=t),e>E&&(E=e)}return this.min.set(I,g,C),this.max.set(B,Q,E),this}setFromBufferAttribute(A){let I=1/0,g=1/0,C=1/0,B=-1/0,Q=-1/0,E=-1/0;for(let i=0,o=A.count;iB&&(B=o),t>Q&&(Q=t),e>E&&(E=e)}return this.min.set(I,g,C),this.max.set(B,Q,E),this}setFromPoints(A){this.makeEmpty();for(let I=0,g=A.length;Ithis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,oC),oC.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let I,g;return A.normal.x>0?(I=A.normal.x*this.min.x,g=A.normal.x*this.max.x):(I=A.normal.x*this.max.x,g=A.normal.x*this.min.x),A.normal.y>0?(I+=A.normal.y*this.min.y,g+=A.normal.y*this.max.y):(I+=A.normal.y*this.max.y,g+=A.normal.y*this.min.y),A.normal.z>0?(I+=A.normal.z*this.min.z,g+=A.normal.z*this.max.z):(I+=A.normal.z*this.max.z,g+=A.normal.z*this.min.z),I<=-A.constant&&g>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(hC),wC.subVectors(this.max,hC),eC.subVectors(A.a,hC),sC.subVectors(A.b,hC),aC.subVectors(A.c,hC),DC.subVectors(sC,eC),nC.subVectors(aC,sC),rC.subVectors(eC,aC);let I=[0,-DC.z,DC.y,0,-nC.z,nC.y,0,-rC.z,rC.y,DC.z,0,-DC.x,nC.z,0,-nC.x,rC.z,0,-rC.x,-DC.y,DC.x,0,-nC.y,nC.x,0,-rC.y,rC.x,0];return!!yC(I,eC,sC,aC,wC)&&(I=[1,0,0,0,1,0,0,0,1],!!yC(I,eC,sC,aC,wC)&&(cC.crossVectors(DC,nC),I=[cC.x,cC.y,cC.z],yC(I,eC,sC,aC,wC)))}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return oC.copy(A).clamp(this.min,this.max).sub(A).length()}getBoundingSphere(A){return this.getCenter(A.center),A.radius=.5*this.getSize(oC).length(),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()||(iC[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),iC[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),iC[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),iC[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),iC[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),iC[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),iC[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),iC[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(iC)),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}EC.prototype.isBox3=!0;const iC=[new CC,new CC,new CC,new CC,new CC,new CC,new CC,new CC],oC=new CC,tC=new EC,eC=new CC,sC=new CC,aC=new CC,DC=new CC,nC=new CC,rC=new CC,hC=new CC,wC=new CC,cC=new CC,GC=new CC;function yC(A,I,g,C,B){for(let Q=0,E=A.length-3;Q<=E;Q+=3){GC.fromArray(A,Q);const E=B.x*Math.abs(GC.x)+B.y*Math.abs(GC.y)+B.z*Math.abs(GC.z),i=I.dot(GC),o=g.dot(GC),t=C.dot(GC);if(Math.max(-Math.max(i,o,t),Math.min(i,o,t))>E)return!1}return!0}const FC=new EC,RC=new CC,NC=new CC,lC=new CC;class MC{constructor(A=new CC,I=-1){this.center=A,this.radius=I}set(A,I){return this.center.copy(A),this.radius=I,this}setFromPoints(A,I){const g=this.center;void 0!==I?g.copy(I):FC.setFromPoints(A).getCenter(g);let C=0;for(let I=0,B=A.length;Ithis.radius*this.radius&&(I.sub(this.center).normalize(),I.multiplyScalar(this.radius).add(this.center)),I}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){lC.subVectors(A,this.center);const I=lC.lengthSq();if(I>this.radius*this.radius){const A=Math.sqrt(I),g=.5*(A-this.radius);this.center.add(lC.multiplyScalar(g/A)),this.radius+=g}return this}union(A){return!0===this.center.equals(A.center)?NC.set(0,0,1).multiplyScalar(A.radius):NC.subVectors(A.center,this.center).normalize().multiplyScalar(A.radius),this.expandByPoint(RC.copy(A.center).add(NC)),this.expandByPoint(RC.copy(A.center).sub(NC)),this}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const SC=new CC,UC=new CC,dC=new CC,KC=new CC,kC=new CC,JC=new CC,YC=new CC;class uC{constructor(A=new CC,I=new CC(0,0,-1)){this.origin=A,this.direction=I}set(A,I){return this.origin.copy(A),this.direction.copy(I),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,I){return I.copy(this.direction).multiplyScalar(A).add(this.origin)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,SC)),this}closestPointToPoint(A,I){I.subVectors(A,this.origin);const g=I.dot(this.direction);return g<0?I.copy(this.origin):I.copy(this.direction).multiplyScalar(g).add(this.origin)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const I=SC.subVectors(A,this.origin).dot(this.direction);return I<0?this.origin.distanceToSquared(A):(SC.copy(this.direction).multiplyScalar(I).add(this.origin),SC.distanceToSquared(A))}distanceSqToSegment(A,I,g,C){UC.copy(A).add(I).multiplyScalar(.5),dC.copy(I).sub(A).normalize(),KC.copy(this.origin).sub(UC);const B=.5*A.distanceTo(I),Q=-this.direction.dot(dC),E=KC.dot(this.direction),i=-KC.dot(dC),o=KC.lengthSq(),t=Math.abs(1-Q*Q);let e,s,a,D;if(t>0)if(e=Q*i-E,s=Q*E-i,D=B*t,e>=0)if(s>=-D)if(s<=D){const A=1/t;e*=A,s*=A,a=e*(e+Q*s+2*E)+s*(Q*e+s+2*i)+o}else s=B,e=Math.max(0,-(Q*s+E)),a=-e*e+s*(s+2*i)+o;else s=-B,e=Math.max(0,-(Q*s+E)),a=-e*e+s*(s+2*i)+o;else s<=-D?(e=Math.max(0,-(-Q*B+E)),s=e>0?-B:Math.min(Math.max(-B,-i),B),a=-e*e+s*(s+2*i)+o):s<=D?(e=0,s=Math.min(Math.max(-B,-i),B),a=s*(s+2*i)+o):(e=Math.max(0,-(Q*B+E)),s=e>0?B:Math.min(Math.max(-B,-i),B),a=-e*e+s*(s+2*i)+o);else s=Q>0?-B:B,e=Math.max(0,-(Q*s+E)),a=-e*e+s*(s+2*i)+o;return g&&g.copy(this.direction).multiplyScalar(e).add(this.origin),C&&C.copy(dC).multiplyScalar(s).add(UC),a}intersectSphere(A,I){SC.subVectors(A.center,this.origin);const g=SC.dot(this.direction),C=SC.dot(SC)-g*g,B=A.radius*A.radius;if(C>B)return null;const Q=Math.sqrt(B-C),E=g-Q,i=g+Q;return E<0&&i<0?null:E<0?this.at(i,I):this.at(E,I)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const I=A.normal.dot(this.direction);if(0===I)return 0===A.distanceToPoint(this.origin)?0:null;const g=-(this.origin.dot(A.normal)+A.constant)/I;return g>=0?g:null}intersectPlane(A,I){const g=this.distanceToPlane(A);return null===g?null:this.at(g,I)}intersectsPlane(A){const I=A.distanceToPoint(this.origin);return 0===I||A.normal.dot(this.direction)*I<0}intersectBox(A,I){let g,C,B,Q,E,i;const o=1/this.direction.x,t=1/this.direction.y,e=1/this.direction.z,s=this.origin;return o>=0?(g=(A.min.x-s.x)*o,C=(A.max.x-s.x)*o):(g=(A.max.x-s.x)*o,C=(A.min.x-s.x)*o),t>=0?(B=(A.min.y-s.y)*t,Q=(A.max.y-s.y)*t):(B=(A.max.y-s.y)*t,Q=(A.min.y-s.y)*t),g>Q||B>C?null:((B>g||g!=g)&&(g=B),(Q=0?(E=(A.min.z-s.z)*e,i=(A.max.z-s.z)*e):(E=(A.max.z-s.z)*e,i=(A.min.z-s.z)*e),g>i||E>C?null:((E>g||g!=g)&&(g=E),(i=0?g:C,I)))}intersectsBox(A){return null!==this.intersectBox(A,SC)}intersectTriangle(A,I,g,C,B){kC.subVectors(I,A),JC.subVectors(g,A),YC.crossVectors(kC,JC);let Q,E=this.direction.dot(YC);if(E>0){if(C)return null;Q=1}else{if(!(E<0))return null;Q=-1,E=-E}KC.subVectors(this.origin,A);const i=Q*this.direction.dot(JC.crossVectors(KC,JC));if(i<0)return null;const o=Q*this.direction.dot(kC.cross(KC));if(o<0)return null;if(i+o>E)return null;const t=-Q*KC.dot(YC);return t<0?null:this.at(t/E,B)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class LC{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(A,I,g,C,B,Q,E,i,o,t,e,s,a,D,n,r){const h=this.elements;return h[0]=A,h[4]=I,h[8]=g,h[12]=C,h[1]=B,h[5]=Q,h[9]=E,h[13]=i,h[2]=o,h[6]=t,h[10]=e,h[14]=s,h[3]=a,h[7]=D,h[11]=n,h[15]=r,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new LC).fromArray(this.elements)}copy(A){const I=this.elements,g=A.elements;return I[0]=g[0],I[1]=g[1],I[2]=g[2],I[3]=g[3],I[4]=g[4],I[5]=g[5],I[6]=g[6],I[7]=g[7],I[8]=g[8],I[9]=g[9],I[10]=g[10],I[11]=g[11],I[12]=g[12],I[13]=g[13],I[14]=g[14],I[15]=g[15],this}copyPosition(A){const I=this.elements,g=A.elements;return I[12]=g[12],I[13]=g[13],I[14]=g[14],this}setFromMatrix3(A){const I=A.elements;return this.set(I[0],I[3],I[6],0,I[1],I[4],I[7],0,I[2],I[5],I[8],0,0,0,0,1),this}extractBasis(A,I,g){return A.setFromMatrixColumn(this,0),I.setFromMatrixColumn(this,1),g.setFromMatrixColumn(this,2),this}makeBasis(A,I,g){return this.set(A.x,I.x,g.x,0,A.y,I.y,g.y,0,A.z,I.z,g.z,0,0,0,0,1),this}extractRotation(A){const I=this.elements,g=A.elements,C=1/pC.setFromMatrixColumn(A,0).length(),B=1/pC.setFromMatrixColumn(A,1).length(),Q=1/pC.setFromMatrixColumn(A,2).length();return I[0]=g[0]*C,I[1]=g[1]*C,I[2]=g[2]*C,I[3]=0,I[4]=g[4]*B,I[5]=g[5]*B,I[6]=g[6]*B,I[7]=0,I[8]=g[8]*Q,I[9]=g[9]*Q,I[10]=g[10]*Q,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromEuler(A){A&&A.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const I=this.elements,g=A.x,C=A.y,B=A.z,Q=Math.cos(g),E=Math.sin(g),i=Math.cos(C),o=Math.sin(C),t=Math.cos(B),e=Math.sin(B);if("XYZ"===A.order){const A=Q*t,g=Q*e,C=E*t,B=E*e;I[0]=i*t,I[4]=-i*e,I[8]=o,I[1]=g+C*o,I[5]=A-B*o,I[9]=-E*i,I[2]=B-A*o,I[6]=C+g*o,I[10]=Q*i}else if("YXZ"===A.order){const A=i*t,g=i*e,C=o*t,B=o*e;I[0]=A+B*E,I[4]=C*E-g,I[8]=Q*o,I[1]=Q*e,I[5]=Q*t,I[9]=-E,I[2]=g*E-C,I[6]=B+A*E,I[10]=Q*i}else if("ZXY"===A.order){const A=i*t,g=i*e,C=o*t,B=o*e;I[0]=A-B*E,I[4]=-Q*e,I[8]=C+g*E,I[1]=g+C*E,I[5]=Q*t,I[9]=B-A*E,I[2]=-Q*o,I[6]=E,I[10]=Q*i}else if("ZYX"===A.order){const A=Q*t,g=Q*e,C=E*t,B=E*e;I[0]=i*t,I[4]=C*o-g,I[8]=A*o+B,I[1]=i*e,I[5]=B*o+A,I[9]=g*o-C,I[2]=-o,I[6]=E*i,I[10]=Q*i}else if("YZX"===A.order){const A=Q*i,g=Q*o,C=E*i,B=E*o;I[0]=i*t,I[4]=B-A*e,I[8]=C*e+g,I[1]=e,I[5]=Q*t,I[9]=-E*t,I[2]=-o*t,I[6]=g*e+C,I[10]=A-B*e}else if("XZY"===A.order){const A=Q*i,g=Q*o,C=E*i,B=E*o;I[0]=i*t,I[4]=-e,I[8]=o*t,I[1]=A*e+B,I[5]=Q*t,I[9]=g*e-C,I[2]=C*e-g,I[6]=E*t,I[10]=B*e+A}return I[3]=0,I[7]=0,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,this}makeRotationFromQuaternion(A){return this.compose(HC,A,mC)}lookAt(A,I,g){const C=this.elements;return bC.subVectors(A,I),0===bC.lengthSq()&&(bC.z=1),bC.normalize(),qC.crossVectors(g,bC),0===qC.lengthSq()&&(1===Math.abs(g.z)?bC.x+=1e-4:bC.z+=1e-4,bC.normalize(),qC.crossVectors(g,bC)),qC.normalize(),xC.crossVectors(bC,qC),C[0]=qC.x,C[4]=xC.x,C[8]=bC.x,C[1]=qC.y,C[5]=xC.y,C[9]=bC.y,C[2]=qC.z,C[6]=xC.z,C[10]=bC.z,this}multiply(A,I){return void 0!==I?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(A,I)):this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,I){const g=A.elements,C=I.elements,B=this.elements,Q=g[0],E=g[4],i=g[8],o=g[12],t=g[1],e=g[5],s=g[9],a=g[13],D=g[2],n=g[6],r=g[10],h=g[14],w=g[3],c=g[7],G=g[11],y=g[15],F=C[0],R=C[4],N=C[8],l=C[12],M=C[1],S=C[5],U=C[9],d=C[13],K=C[2],k=C[6],J=C[10],Y=C[14],u=C[3],L=C[7],p=C[11],f=C[15];return B[0]=Q*F+E*M+i*K+o*u,B[4]=Q*R+E*S+i*k+o*L,B[8]=Q*N+E*U+i*J+o*p,B[12]=Q*l+E*d+i*Y+o*f,B[1]=t*F+e*M+s*K+a*u,B[5]=t*R+e*S+s*k+a*L,B[9]=t*N+e*U+s*J+a*p,B[13]=t*l+e*d+s*Y+a*f,B[2]=D*F+n*M+r*K+h*u,B[6]=D*R+n*S+r*k+h*L,B[10]=D*N+n*U+r*J+h*p,B[14]=D*l+n*d+r*Y+h*f,B[3]=w*F+c*M+G*K+y*u,B[7]=w*R+c*S+G*k+y*L,B[11]=w*N+c*U+G*J+y*p,B[15]=w*l+c*d+G*Y+y*f,this}multiplyScalar(A){const I=this.elements;return I[0]*=A,I[4]*=A,I[8]*=A,I[12]*=A,I[1]*=A,I[5]*=A,I[9]*=A,I[13]*=A,I[2]*=A,I[6]*=A,I[10]*=A,I[14]*=A,I[3]*=A,I[7]*=A,I[11]*=A,I[15]*=A,this}determinant(){const A=this.elements,I=A[0],g=A[4],C=A[8],B=A[12],Q=A[1],E=A[5],i=A[9],o=A[13],t=A[2],e=A[6],s=A[10],a=A[14];return A[3]*(+B*i*e-C*o*e-B*E*s+g*o*s+C*E*a-g*i*a)+A[7]*(+I*i*a-I*o*s+B*Q*s-C*Q*a+C*o*t-B*i*t)+A[11]*(+I*o*e-I*E*a-B*Q*e+g*Q*a+B*E*t-g*o*t)+A[15]*(-C*E*t-I*i*e+I*E*s+C*Q*e-g*Q*s+g*i*t)}transpose(){const A=this.elements;let I;return I=A[1],A[1]=A[4],A[4]=I,I=A[2],A[2]=A[8],A[8]=I,I=A[6],A[6]=A[9],A[9]=I,I=A[3],A[3]=A[12],A[12]=I,I=A[7],A[7]=A[13],A[13]=I,I=A[11],A[11]=A[14],A[14]=I,this}setPosition(A,I,g){const C=this.elements;return A.isVector3?(C[12]=A.x,C[13]=A.y,C[14]=A.z):(C[12]=A,C[13]=I,C[14]=g),this}invert(){const A=this.elements,I=A[0],g=A[1],C=A[2],B=A[3],Q=A[4],E=A[5],i=A[6],o=A[7],t=A[8],e=A[9],s=A[10],a=A[11],D=A[12],n=A[13],r=A[14],h=A[15],w=e*r*o-n*s*o+n*i*a-E*r*a-e*i*h+E*s*h,c=D*s*o-t*r*o-D*i*a+Q*r*a+t*i*h-Q*s*h,G=t*n*o-D*e*o+D*E*a-Q*n*a-t*E*h+Q*e*h,y=D*e*i-t*n*i-D*E*s+Q*n*s+t*E*r-Q*e*r,F=I*w+g*c+C*G+B*y;if(0===F)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const R=1/F;return A[0]=w*R,A[1]=(n*s*B-e*r*B-n*C*a+g*r*a+e*C*h-g*s*h)*R,A[2]=(E*r*B-n*i*B+n*C*o-g*r*o-E*C*h+g*i*h)*R,A[3]=(e*i*B-E*s*B-e*C*o+g*s*o+E*C*a-g*i*a)*R,A[4]=c*R,A[5]=(t*r*B-D*s*B+D*C*a-I*r*a-t*C*h+I*s*h)*R,A[6]=(D*i*B-Q*r*B-D*C*o+I*r*o+Q*C*h-I*i*h)*R,A[7]=(Q*s*B-t*i*B+t*C*o-I*s*o-Q*C*a+I*i*a)*R,A[8]=G*R,A[9]=(D*e*B-t*n*B-D*g*a+I*n*a+t*g*h-I*e*h)*R,A[10]=(Q*n*B-D*E*B+D*g*o-I*n*o-Q*g*h+I*E*h)*R,A[11]=(t*E*B-Q*e*B-t*g*o+I*e*o+Q*g*a-I*E*a)*R,A[12]=y*R,A[13]=(t*n*C-D*e*C+D*g*s-I*n*s-t*g*r+I*e*r)*R,A[14]=(D*E*C-Q*n*C-D*g*i+I*n*i+Q*g*r-I*E*r)*R,A[15]=(Q*e*C-t*E*C+t*g*i-I*e*i-Q*g*s+I*E*s)*R,this}scale(A){const I=this.elements,g=A.x,C=A.y,B=A.z;return I[0]*=g,I[4]*=C,I[8]*=B,I[1]*=g,I[5]*=C,I[9]*=B,I[2]*=g,I[6]*=C,I[10]*=B,I[3]*=g,I[7]*=C,I[11]*=B,this}getMaxScaleOnAxis(){const A=this.elements,I=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],g=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],C=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(I,g,C))}makeTranslation(A,I,g){return this.set(1,0,0,A,0,1,0,I,0,0,1,g,0,0,0,1),this}makeRotationX(A){const I=Math.cos(A),g=Math.sin(A);return this.set(1,0,0,0,0,I,-g,0,0,g,I,0,0,0,0,1),this}makeRotationY(A){const I=Math.cos(A),g=Math.sin(A);return this.set(I,0,g,0,0,1,0,0,-g,0,I,0,0,0,0,1),this}makeRotationZ(A){const I=Math.cos(A),g=Math.sin(A);return this.set(I,-g,0,0,g,I,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,I){const g=Math.cos(I),C=Math.sin(I),B=1-g,Q=A.x,E=A.y,i=A.z,o=B*Q,t=B*E;return this.set(o*Q+g,o*E-C*i,o*i+C*E,0,o*E+C*i,t*E+g,t*i-C*Q,0,o*i-C*E,t*i+C*Q,B*i*i+g,0,0,0,0,1),this}makeScale(A,I,g){return this.set(A,0,0,0,0,I,0,0,0,0,g,0,0,0,0,1),this}makeShear(A,I,g,C,B,Q){return this.set(1,g,B,0,A,1,Q,0,I,C,1,0,0,0,0,1),this}compose(A,I,g){const C=this.elements,B=I._x,Q=I._y,E=I._z,i=I._w,o=B+B,t=Q+Q,e=E+E,s=B*o,a=B*t,D=B*e,n=Q*t,r=Q*e,h=E*e,w=i*o,c=i*t,G=i*e,y=g.x,F=g.y,R=g.z;return C[0]=(1-(n+h))*y,C[1]=(a+G)*y,C[2]=(D-c)*y,C[3]=0,C[4]=(a-G)*F,C[5]=(1-(s+h))*F,C[6]=(r+w)*F,C[7]=0,C[8]=(D+c)*R,C[9]=(r-w)*R,C[10]=(1-(s+n))*R,C[11]=0,C[12]=A.x,C[13]=A.y,C[14]=A.z,C[15]=1,this}decompose(A,I,g){const C=this.elements;let B=pC.set(C[0],C[1],C[2]).length();const Q=pC.set(C[4],C[5],C[6]).length(),E=pC.set(C[8],C[9],C[10]).length();this.determinant()<0&&(B=-B),A.x=C[12],A.y=C[13],A.z=C[14],fC.copy(this);const i=1/B,o=1/Q,t=1/E;return fC.elements[0]*=i,fC.elements[1]*=i,fC.elements[2]*=i,fC.elements[4]*=o,fC.elements[5]*=o,fC.elements[6]*=o,fC.elements[8]*=t,fC.elements[9]*=t,fC.elements[10]*=t,I.setFromRotationMatrix(fC),g.x=B,g.y=Q,g.z=E,this}makePerspective(A,I,g,C,B,Q){void 0===Q&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const E=this.elements,i=2*B/(I-A),o=2*B/(g-C),t=(I+A)/(I-A),e=(g+C)/(g-C),s=-(Q+B)/(Q-B),a=-2*Q*B/(Q-B);return E[0]=i,E[4]=0,E[8]=t,E[12]=0,E[1]=0,E[5]=o,E[9]=e,E[13]=0,E[2]=0,E[6]=0,E[10]=s,E[14]=a,E[3]=0,E[7]=0,E[11]=-1,E[15]=0,this}makeOrthographic(A,I,g,C,B,Q){const E=this.elements,i=1/(I-A),o=1/(g-C),t=1/(Q-B),e=(I+A)*i,s=(g+C)*o,a=(Q+B)*t;return E[0]=2*i,E[4]=0,E[8]=0,E[12]=-e,E[1]=0,E[5]=2*o,E[9]=0,E[13]=-s,E[2]=0,E[6]=0,E[10]=-2*t,E[14]=-a,E[3]=0,E[7]=0,E[11]=0,E[15]=1,this}equals(A){const I=this.elements,g=A.elements;for(let A=0;A<16;A++)if(I[A]!==g[A])return!1;return!0}fromArray(A,I=0){for(let g=0;g<16;g++)this.elements[g]=A[g+I];return this}toArray(A=[],I=0){const g=this.elements;return A[I]=g[0],A[I+1]=g[1],A[I+2]=g[2],A[I+3]=g[3],A[I+4]=g[4],A[I+5]=g[5],A[I+6]=g[6],A[I+7]=g[7],A[I+8]=g[8],A[I+9]=g[9],A[I+10]=g[10],A[I+11]=g[11],A[I+12]=g[12],A[I+13]=g[13],A[I+14]=g[14],A[I+15]=g[15],A}}LC.prototype.isMatrix4=!0;const pC=new CC,fC=new LC,HC=new CC(0,0,0),mC=new CC(1,1,1),qC=new CC,xC=new CC,bC=new CC,TC=new LC,VC=new gC;class WC{constructor(A=0,I=0,g=0,C=WC.DefaultOrder){this._x=A,this._y=I,this._z=g,this._order=C}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,I,g,C=this._order){return this._x=A,this._y=I,this._z=g,this._order=C,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,I=this._order,g=!0){const C=A.elements,B=C[0],Q=C[4],E=C[8],i=C[1],o=C[5],t=C[9],e=C[2],s=C[6],a=C[10];switch(I){case"XYZ":this._y=Math.asin(Lg(E,-1,1)),Math.abs(E)<.9999999?(this._x=Math.atan2(-t,a),this._z=Math.atan2(-Q,B)):(this._x=Math.atan2(s,o),this._z=0);break;case"YXZ":this._x=Math.asin(-Lg(t,-1,1)),Math.abs(t)<.9999999?(this._y=Math.atan2(E,a),this._z=Math.atan2(i,o)):(this._y=Math.atan2(-e,B),this._z=0);break;case"ZXY":this._x=Math.asin(Lg(s,-1,1)),Math.abs(s)<.9999999?(this._y=Math.atan2(-e,a),this._z=Math.atan2(-Q,o)):(this._y=0,this._z=Math.atan2(i,B));break;case"ZYX":this._y=Math.asin(-Lg(e,-1,1)),Math.abs(e)<.9999999?(this._x=Math.atan2(s,a),this._z=Math.atan2(i,B)):(this._x=0,this._z=Math.atan2(-Q,o));break;case"YZX":this._z=Math.asin(Lg(i,-1,1)),Math.abs(i)<.9999999?(this._x=Math.atan2(-t,o),this._y=Math.atan2(-e,B)):(this._x=0,this._y=Math.atan2(E,a));break;case"XZY":this._z=Math.asin(-Lg(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(s,o),this._y=Math.atan2(E,B)):(this._x=Math.atan2(-t,a),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+I)}return this._order=I,!0===g&&this._onChangeCallback(),this}setFromQuaternion(A,I,g){return TC.makeRotationFromQuaternion(A),this.setFromRotationMatrix(TC,I,g)}setFromVector3(A,I=this._order){return this.set(A.x,A.y,A.z,I)}reorder(A){return VC.setFromEuler(this),this.setFromQuaternion(VC,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],I=0){return A[I]=this._x,A[I+1]=this._y,A[I+2]=this._z,A[I+3]=this._order,A}toVector3(A){return A?A.set(this._x,this._y,this._z):new CC(this._x,this._y,this._z)}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}}WC.prototype.isEuler=!0,WC.DefaultOrder="XYZ",WC.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class vC{constructor(){this.mask=1}set(A){this.mask=(1<>>0}enable(A){this.mask|=1<1){for(let A=0;A1){for(let A=0;A0){C.children=[];for(let I=0;I0){C.animations=[];for(let I=0;I0&&(g.geometries=I),C.length>0&&(g.materials=C),B.length>0&&(g.textures=B),E.length>0&&(g.images=E),i.length>0&&(g.shapes=i),o.length>0&&(g.skeletons=o),t.length>0&&(g.animations=t)}return g.object=C,g;function Q(A){const I=[];for(const g in A){const C=A[g];delete C.metadata,I.push(C)}return I}}clone(A){return(new this.constructor).copy(this,A)}copy(A,I=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.userData=JSON.parse(JSON.stringify(A.userData)),!0===I)for(let I=0;I0?C.multiplyScalar(1/Math.sqrt(B)):C.set(0,0,0)}static getBarycoord(A,I,g,C,B){EB.subVectors(C,I),iB.subVectors(g,I),oB.subVectors(A,I);const Q=EB.dot(EB),E=EB.dot(iB),i=EB.dot(oB),o=iB.dot(iB),t=iB.dot(oB),e=Q*o-E*E;if(0===e)return B.set(-2,-1,-1);const s=1/e,a=(o*i-E*t)*s,D=(Q*t-E*i)*s;return B.set(1-a-D,D,a)}static containsPoint(A,I,g,C){return this.getBarycoord(A,I,g,C,tB),tB.x>=0&&tB.y>=0&&tB.x+tB.y<=1}static getUV(A,I,g,C,B,Q,E,i){return this.getBarycoord(A,I,g,C,tB),i.set(0,0),i.addScaledVector(B,tB.x),i.addScaledVector(Q,tB.y),i.addScaledVector(E,tB.z),i}static isFrontFacing(A,I,g,C){return EB.subVectors(g,I),iB.subVectors(A,I),EB.cross(iB).dot(C)<0}set(A,I,g){return this.a.copy(A),this.b.copy(I),this.c.copy(g),this}setFromPointsAndIndices(A,I,g,C){return this.a.copy(A[I]),this.b.copy(A[g]),this.c.copy(A[C]),this}setFromAttributeAndIndices(A,I,g,C){return this.a.fromBufferAttribute(A,I),this.b.fromBufferAttribute(A,g),this.c.fromBufferAttribute(A,C),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return EB.subVectors(this.c,this.b),iB.subVectors(this.a,this.b),.5*EB.cross(iB).length()}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return hB.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,I){return hB.getBarycoord(A,this.a,this.b,this.c,I)}getUV(A,I,g,C,B){return hB.getUV(A,this.a,this.b,this.c,I,g,C,B)}containsPoint(A){return hB.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return hB.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,I){const g=this.a,C=this.b,B=this.c;let Q,E;eB.subVectors(C,g),sB.subVectors(B,g),DB.subVectors(A,g);const i=eB.dot(DB),o=sB.dot(DB);if(i<=0&&o<=0)return I.copy(g);nB.subVectors(A,C);const t=eB.dot(nB),e=sB.dot(nB);if(t>=0&&e<=t)return I.copy(C);const s=i*e-t*o;if(s<=0&&i>=0&&t<=0)return Q=i/(i-t),I.copy(g).addScaledVector(eB,Q);rB.subVectors(A,B);const a=eB.dot(rB),D=sB.dot(rB);if(D>=0&&a<=D)return I.copy(B);const n=a*o-i*D;if(n<=0&&o>=0&&D<=0)return E=o/(o-D),I.copy(g).addScaledVector(sB,E);const r=t*D-a*e;if(r<=0&&e-t>=0&&a-D>=0)return aB.subVectors(B,C),E=(e-t)/(e-t+(a-D)),I.copy(C).addScaledVector(aB,E);const h=1/(r+n+s);return Q=n*h,E=s*h,I.copy(g).addScaledVector(eB,Q).addScaledVector(sB,E)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}let wB=0;class cB extends dg{constructor(){super(),Object.defineProperty(this,"id",{value:wB++}),this.uuid=ug(),this.name="",this.type="Material",this.fog=!0,this.blending=y,this.side=n,this.vertexColors=!1,this.opacity=1,this.format=mA,this.transparent=!1,this.blendSrc=L,this.blendDst=p,this.blendEquation=M,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=W,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=hg,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=gg,this.stencilZFail=gg,this.stencilZPass=gg,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(A){this._alphaTest>0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(void 0!==A)for(const I in A){const g=A[I];if(void 0===g){console.warn("THREE.Material: '"+I+"' parameter is undefined.");continue}if("shading"===I){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=g===w;continue}const C=this[I];void 0!==C?C&&C.isColor?C.set(g):C&&C.isVector3&&g&&g.isVector3?C.copy(g):this[I]=g:console.warn("THREE."+this.type+": '"+I+"' is not a property of this material.")}}toJSON(A){const I=void 0===A||"string"==typeof A;I&&(A={textures:{},images:{}});const g={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function C(A){const I=[];for(const g in A){const C=A[g];delete C.metadata,I.push(C)}return I}if(g.uuid=this.uuid,g.type=this.type,""!==this.name&&(g.name=this.name),this.color&&this.color.isColor&&(g.color=this.color.getHex()),void 0!==this.roughness&&(g.roughness=this.roughness),void 0!==this.metalness&&(g.metalness=this.metalness),void 0!==this.sheen&&(g.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(g.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(g.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(g.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(g.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(g.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(g.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(g.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(g.shininess=this.shininess),void 0!==this.clearcoat&&(g.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(g.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(g.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(g.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(g.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,g.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(g.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(g.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(g.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(g.lightMap=this.lightMap.toJSON(A).uuid,g.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(g.aoMap=this.aoMap.toJSON(A).uuid,g.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(g.bumpMap=this.bumpMap.toJSON(A).uuid,g.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(g.normalMap=this.normalMap.toJSON(A).uuid,g.normalMapType=this.normalMapType,g.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(g.displacementMap=this.displacementMap.toJSON(A).uuid,g.displacementScale=this.displacementScale,g.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(g.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(g.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(g.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(g.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(g.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(g.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(g.envMap=this.envMap.toJSON(A).uuid,void 0!==this.combine&&(g.combine=this.combine)),void 0!==this.envMapIntensity&&(g.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(g.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(g.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(g.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.transmission&&(g.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(g.transmissionMap=this.transmissionMap.toJSON(A).uuid),void 0!==this.thickness&&(g.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(g.thicknessMap=this.thicknessMap.toJSON(A).uuid),void 0!==this.attenuationDistance&&(g.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(g.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(g.size=this.size),null!==this.shadowSide&&(g.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(g.sizeAttenuation=this.sizeAttenuation),this.blending!==y&&(g.blending=this.blending),this.side!==n&&(g.side=this.side),this.vertexColors&&(g.vertexColors=!0),this.opacity<1&&(g.opacity=this.opacity),this.format!==mA&&(g.format=this.format),!0===this.transparent&&(g.transparent=this.transparent),g.depthFunc=this.depthFunc,g.depthTest=this.depthTest,g.depthWrite=this.depthWrite,g.colorWrite=this.colorWrite,g.stencilWrite=this.stencilWrite,g.stencilWriteMask=this.stencilWriteMask,g.stencilFunc=this.stencilFunc,g.stencilRef=this.stencilRef,g.stencilFuncMask=this.stencilFuncMask,g.stencilFail=this.stencilFail,g.stencilZFail=this.stencilZFail,g.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(g.rotation=this.rotation),!0===this.polygonOffset&&(g.polygonOffset=!0),0!==this.polygonOffsetFactor&&(g.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(g.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(g.linewidth=this.linewidth),void 0!==this.dashSize&&(g.dashSize=this.dashSize),void 0!==this.gapSize&&(g.gapSize=this.gapSize),void 0!==this.scale&&(g.scale=this.scale),!0===this.dithering&&(g.dithering=!0),this.alphaTest>0&&(g.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(g.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(g.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(g.wireframe=this.wireframe),this.wireframeLinewidth>1&&(g.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(g.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(g.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(g.flatShading=this.flatShading),!1===this.visible&&(g.visible=!1),!1===this.toneMapped&&(g.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(g.userData=this.userData),I){const I=C(A.textures),B=C(A.images);I.length>0&&(g.textures=I),B.length>0&&(g.images=B)}return g}clone(){return(new this.constructor).copy(this)}copy(A){this.name=A.name,this.fog=A.fog,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.format=A.format,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const I=A.clippingPlanes;let g=null;if(null!==I){const A=I.length;g=new Array(A);for(let C=0;C!==A;++C)g[C]=I[C].clone()}return this.clippingPlanes=g,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){!0===A&&this.version++}}cB.prototype.isMaterial=!0;const GB={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},yB={h:0,s:0,l:0},FB={h:0,s:0,l:0};function RB(A,I,g){return g<0&&(g+=1),g>1&&(g-=1),g<1/6?A+6*(I-A)*g:g<.5?I:g<2/3?A+6*(I-A)*(2/3-g):A}function NB(A){return A<.04045?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function lB(A){return A<.0031308?12.92*A:1.055*Math.pow(A,.41666)-.055}class MB{constructor(A,I,g){return void 0===I&&void 0===g?this.set(A):this.setRGB(A,I,g)}set(A){return A&&A.isColor?this.copy(A):"number"==typeof A?this.setHex(A):"string"==typeof A&&this.setStyle(A),this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,this}setRGB(A,I,g){return this.r=A,this.g=I,this.b=g,this}setHSL(A,I,g){if(A=pg(A,1),I=Lg(I,0,1),g=Lg(g,0,1),0===I)this.r=this.g=this.b=g;else{const C=g<=.5?g*(1+I):g+I-g*I,B=2*g-C;this.r=RB(B,C,A+1/3),this.g=RB(B,C,A),this.b=RB(B,C,A-1/3)}return this}setStyle(A){function I(I){void 0!==I&&parseFloat(I)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let g;if(g=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(A)){let A;const C=g[1],B=g[2];switch(C){case"rgb":case"rgba":if(A=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(B))return this.r=Math.min(255,parseInt(A[1],10))/255,this.g=Math.min(255,parseInt(A[2],10))/255,this.b=Math.min(255,parseInt(A[3],10))/255,I(A[4]),this;if(A=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(B))return this.r=Math.min(100,parseInt(A[1],10))/100,this.g=Math.min(100,parseInt(A[2],10))/100,this.b=Math.min(100,parseInt(A[3],10))/100,I(A[4]),this;break;case"hsl":case"hsla":if(A=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(B)){const g=parseFloat(A[1])/360,C=parseInt(A[2],10)/100,B=parseInt(A[3],10)/100;return I(A[4]),this.setHSL(g,C,B)}}}else if(g=/^\#([A-Fa-f\d]+)$/.exec(A)){const A=g[1],I=A.length;if(3===I)return this.r=parseInt(A.charAt(0)+A.charAt(0),16)/255,this.g=parseInt(A.charAt(1)+A.charAt(1),16)/255,this.b=parseInt(A.charAt(2)+A.charAt(2),16)/255,this;if(6===I)return this.r=parseInt(A.charAt(0)+A.charAt(1),16)/255,this.g=parseInt(A.charAt(2)+A.charAt(3),16)/255,this.b=parseInt(A.charAt(4)+A.charAt(5),16)/255,this}return A&&A.length>0?this.setColorName(A):this}setColorName(A){const I=GB[A.toLowerCase()];return void 0!==I?this.setHex(I):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=NB(A.r),this.g=NB(A.g),this.b=NB(A.b),this}copyLinearToSRGB(A){return this.r=lB(A.r),this.g=lB(A.g),this.b=lB(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(A){const I=this.r,g=this.g,C=this.b,B=Math.max(I,g,C),Q=Math.min(I,g,C);let E,i;const o=(Q+B)/2;if(Q===B)E=0,i=0;else{const A=B-Q;switch(i=o<=.5?A/(B+Q):A/(2-B-Q),B){case I:E=(g-C)/A+(g65535?fB:LB)(A,1):this.index=A,this}getAttribute(A){return this.attributes[A]}setAttribute(A,I){return this.attributes[A]=I,this}deleteAttribute(A){return delete this.attributes[A],this}hasAttribute(A){return void 0!==this.attributes[A]}addGroup(A,I,g=0){this.groups.push({start:A,count:I,materialIndex:g})}clearGroups(){this.groups=[]}setDrawRange(A,I){this.drawRange.start=A,this.drawRange.count=I}applyMatrix4(A){const I=this.attributes.position;void 0!==I&&(I.applyMatrix4(A),I.needsUpdate=!0);const g=this.attributes.normal;if(void 0!==g){const I=(new Tg).getNormalMatrix(A);g.applyNormalMatrix(I),g.needsUpdate=!0}const C=this.attributes.tangent;return void 0!==C&&(C.transformDirection(A),C.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(A){return bB.makeRotationFromQuaternion(A),this.applyMatrix4(bB),this}rotateX(A){return bB.makeRotationX(A),this.applyMatrix4(bB),this}rotateY(A){return bB.makeRotationY(A),this.applyMatrix4(bB),this}rotateZ(A){return bB.makeRotationZ(A),this.applyMatrix4(bB),this}translate(A,I,g){return bB.makeTranslation(A,I,g),this.applyMatrix4(bB),this}scale(A,I,g){return bB.makeScale(A,I,g),this.applyMatrix4(bB),this}lookAt(A){return TB.lookAt(A),TB.updateMatrix(),this.applyMatrix4(TB.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(VB).negate(),this.translate(VB.x,VB.y,VB.z),this}setFromPoints(A){const I=[];for(let g=0,C=A.length;g0&&(A.userData=this.userData),void 0!==this.parameters){const I=this.parameters;for(const g in I)void 0!==I[g]&&(A[g]=I[g]);return A}A.data={attributes:{}};const I=this.index;null!==I&&(A.data.index={type:I.array.constructor.name,array:Array.prototype.slice.call(I.array)});const g=this.attributes;for(const I in g){const C=g[I];A.data.attributes[I]=C.toJSON(A.data)}const C={};let B=!1;for(const I in this.morphAttributes){const g=this.morphAttributes[I],Q=[];for(let I=0,C=g.length;I0&&(C[I]=Q,B=!0)}B&&(A.data.morphAttributes=C,A.data.morphTargetsRelative=this.morphTargetsRelative);const Q=this.groups;Q.length>0&&(A.data.groups=JSON.parse(JSON.stringify(Q)));const E=this.boundingSphere;return null!==E&&(A.data.boundingSphere={center:E.center.toArray(),radius:E.radius}),A}clone(){return(new this.constructor).copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const I={};this.name=A.name;const g=A.index;null!==g&&this.setIndex(g.clone(I));const C=A.attributes;for(const A in C){const g=C[A];this.setAttribute(A,g.clone(I))}const B=A.morphAttributes;for(const A in B){const g=[],C=B[A];for(let A=0,B=C.length;A0){const A=I[g[0]];if(void 0!==A){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,g=A.length;I0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(A,I){const g=this.geometry,C=this.material,B=this.matrixWorld;if(void 0===C)return;if(null===g.boundingSphere&&g.computeBoundingSphere(),jB.copy(g.boundingSphere),jB.applyMatrix4(B),!1===A.ray.intersectsSphere(jB))return;if(XB.copy(B).invert(),PB.copy(A.ray).applyMatrix4(XB),null!==g.boundingBox&&!1===PB.intersectsBox(g.boundingBox))return;let Q;if(g.isBufferGeometry){const B=g.index,E=g.attributes.position,i=g.morphAttributes.position,o=g.morphTargetsRelative,t=g.attributes.uv,e=g.attributes.uv2,s=g.groups,a=g.drawRange;if(null!==B)if(Array.isArray(C))for(let g=0,D=s.length;gg.far?null:{distance:t,point:eQ.clone(),object:A}}(A,I,g,C,zB,_B,$B,tQ);if(D){i&&(EQ.fromBufferAttribute(i,t),iQ.fromBufferAttribute(i,e),oQ.fromBufferAttribute(i,s),D.uv=hB.getUV(tQ,zB,_B,$B,EQ,iQ,oQ,new bg)),o&&(EQ.fromBufferAttribute(o,t),iQ.fromBufferAttribute(o,e),oQ.fromBufferAttribute(o,s),D.uv2=hB.getUV(tQ,zB,_B,$B,EQ,iQ,oQ,new bg));const A={a:t,b:e,c:s,normal:new CC,materialIndex:0};hB.getNormal(zB,_B,$B,A.normal),D.face=A}return D}sQ.prototype.isMesh=!0;class DQ extends OB{constructor(A=1,I=1,g=1,C=1,B=1,Q=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:I,depth:g,widthSegments:C,heightSegments:B,depthSegments:Q};const E=this;C=Math.floor(C),B=Math.floor(B),Q=Math.floor(Q);const i=[],o=[],t=[],e=[];let s=0,a=0;function D(A,I,g,C,B,Q,D,n,r,h,w){const c=Q/r,G=D/h,y=Q/2,F=D/2,R=n/2,N=r+1,l=h+1;let M=0,S=0;const U=new CC;for(let Q=0;Q0?1:-1,t.push(U.x,U.y,U.z),e.push(i/r),e.push(1-Q/h),M+=1}}for(let A=0;A0&&(I.defines=this.defines),I.vertexShader=this.vertexShader,I.fragmentShader=this.fragmentShader;const g={};for(const A in this.extensions)!0===this.extensions[A]&&(g[A]=!0);return Object.keys(g).length>0&&(I.extensions=g),I}}wQ.prototype.isShaderMaterial=!0;class cQ extends QB{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new LC,this.projectionMatrix=new LC,this.projectionMatrixInverse=new LC}copy(A,I){return super.copy(A,I),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this}getWorldDirection(A){this.updateWorldMatrix(!0,!1);const I=this.matrixWorld.elements;return A.set(-I[8],-I[9],-I[10]).normalize()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,I){super.updateWorldMatrix(A,I),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}cQ.prototype.isCamera=!0;class GQ extends cQ{constructor(A=50,I=1,g=.1,C=2e3){super(),this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=g,this.far=C,this.focus=10,this.aspect=I,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const I=.5*this.getFilmHeight()/A;this.fov=2*Yg*Math.atan(I),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(.5*Jg*this.fov);return.5*this.getFilmHeight()/A}getEffectiveFOV(){return 2*Yg*Math.atan(Math.tan(.5*Jg*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(A,I,g,C,B,Q){this.aspect=A/I,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=I,this.view.offsetX=g,this.view.offsetY=C,this.view.width=B,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let I=A*Math.tan(.5*Jg*this.fov)/this.zoom,g=2*I,C=this.aspect*g,B=-.5*C;const Q=this.view;if(null!==this.view&&this.view.enabled){const A=Q.fullWidth,E=Q.fullHeight;B+=Q.offsetX*C/A,I-=Q.offsetY*g/E,C*=Q.width/A,g*=Q.height/E}const E=this.filmOffset;0!==E&&(B+=A*E/this.getFilmWidth()),this.projectionMatrix.makePerspective(B,B+C,I,I-g,A,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.fov=this.fov,I.object.zoom=this.zoom,I.object.near=this.near,I.object.far=this.far,I.object.focus=this.focus,I.object.aspect=this.aspect,null!==this.view&&(I.object.view=Object.assign({},this.view)),I.object.filmGauge=this.filmGauge,I.object.filmOffset=this.filmOffset,I}}GQ.prototype.isPerspectiveCamera=!0;const yQ=90;class FQ extends QB{constructor(A,I,g){if(super(),this.type="CubeCamera",!0!==g.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=g;const C=new GQ(yQ,1,A,I);C.layers=this.layers,C.up.set(0,-1,0),C.lookAt(new CC(1,0,0)),this.add(C);const B=new GQ(yQ,1,A,I);B.layers=this.layers,B.up.set(0,-1,0),B.lookAt(new CC(-1,0,0)),this.add(B);const Q=new GQ(yQ,1,A,I);Q.layers=this.layers,Q.up.set(0,0,1),Q.lookAt(new CC(0,1,0)),this.add(Q);const E=new GQ(yQ,1,A,I);E.layers=this.layers,E.up.set(0,0,-1),E.lookAt(new CC(0,-1,0)),this.add(E);const i=new GQ(yQ,1,A,I);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new CC(0,0,1)),this.add(i);const o=new GQ(yQ,1,A,I);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new CC(0,0,-1)),this.add(o)}update(A,I){null===this.parent&&this.updateMatrixWorld();const g=this.renderTarget,[C,B,Q,E,i,o]=this.children,t=A.xr.enabled,e=A.getRenderTarget();A.xr.enabled=!1;const s=g.texture.generateMipmaps;g.texture.generateMipmaps=!1,A.setRenderTarget(g,0),A.render(I,C),A.setRenderTarget(g,1),A.render(I,B),A.setRenderTarget(g,2),A.render(I,Q),A.setRenderTarget(g,3),A.render(I,E),A.setRenderTarget(g,4),A.render(I,i),g.texture.generateMipmaps=s,A.setRenderTarget(g,5),A.render(I,o),A.setRenderTarget(e),A.xr.enabled=t}}class RQ extends jg{constructor(A,I,g,C,B,Q,E,i,o,t){super(A=void 0!==A?A:[],I=void 0!==I?I:QA,g,C,B,Q,E,i,o,t),this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}RQ.prototype.isCubeTexture=!0;class NQ extends $g{constructor(A,I,g){Number.isInteger(I)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),I=g),super(A,A,I),I=I||{},this.texture=new RQ(void 0,I.mapping,I.wrapS,I.wrapT,I.magFilter,I.minFilter,I.format,I.type,I.anisotropy,I.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==I.generateMipmaps&&I.generateMipmaps,this.texture.minFilter=void 0!==I.minFilter?I.minFilter:GA,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(A,I){this.texture.type=I.type,this.texture.format=mA,this.texture.encoding=I.encoding,this.texture.generateMipmaps=I.generateMipmaps,this.texture.minFilter=I.minFilter,this.texture.magFilter=I.magFilter;const g={tEquirect:{value:null}},C="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",B="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",Q=new DQ(5,5,5),E=new wQ({name:"CubemapFromEquirect",uniforms:nQ(g),vertexShader:C,fragmentShader:B,side:r,blending:G});E.uniforms.tEquirect.value=I;const i=new sQ(Q,E),o=I.minFilter;return I.minFilter===RA&&(I.minFilter=GA),new FQ(1,10,this).update(A,i),I.minFilter=o,i.geometry.dispose(),i.material.dispose(),this}clear(A,I,g,C){const B=A.getRenderTarget();for(let B=0;B<6;B++)A.setRenderTarget(this,B),A.clear(I,g,C);A.setRenderTarget(B)}}NQ.prototype.isWebGLCubeRenderTarget=!0;const lQ=new CC,MQ=new CC,SQ=new Tg;class UQ{constructor(A=new CC(1,0,0),I=0){this.normal=A,this.constant=I}set(A,I){return this.normal.copy(A),this.constant=I,this}setComponents(A,I,g,C){return this.normal.set(A,I,g),this.constant=C,this}setFromNormalAndCoplanarPoint(A,I){return this.normal.copy(A),this.constant=-I.dot(this.normal),this}setFromCoplanarPoints(A,I,g){const C=lQ.subVectors(g,I).cross(MQ.subVectors(A,I)).normalize();return this.setFromNormalAndCoplanarPoint(C,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,I){return I.copy(this.normal).multiplyScalar(-this.distanceToPoint(A)).add(A)}intersectLine(A,I){const g=A.delta(lQ),C=this.normal.dot(g);if(0===C)return 0===this.distanceToPoint(A.start)?I.copy(A.start):null;const B=-(A.start.dot(this.normal)+this.constant)/C;return B<0||B>1?null:I.copy(g).multiplyScalar(B).add(A.start)}intersectsLine(A){const I=this.distanceToPoint(A.start),g=this.distanceToPoint(A.end);return I<0&&g>0||g<0&&I>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,I){const g=I||SQ.getNormalMatrix(A),C=this.coplanarPoint(lQ).applyMatrix4(A),B=this.normal.applyMatrix3(g).normalize();return this.constant=-C.dot(B),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return(new this.constructor).copy(this)}}UQ.prototype.isPlane=!0;const dQ=new MC,KQ=new CC;class kQ{constructor(A=new UQ,I=new UQ,g=new UQ,C=new UQ,B=new UQ,Q=new UQ){this.planes=[A,I,g,C,B,Q]}set(A,I,g,C,B,Q){const E=this.planes;return E[0].copy(A),E[1].copy(I),E[2].copy(g),E[3].copy(C),E[4].copy(B),E[5].copy(Q),this}copy(A){const I=this.planes;for(let g=0;g<6;g++)I[g].copy(A.planes[g]);return this}setFromProjectionMatrix(A){const I=this.planes,g=A.elements,C=g[0],B=g[1],Q=g[2],E=g[3],i=g[4],o=g[5],t=g[6],e=g[7],s=g[8],a=g[9],D=g[10],n=g[11],r=g[12],h=g[13],w=g[14],c=g[15];return I[0].setComponents(E-C,e-i,n-s,c-r).normalize(),I[1].setComponents(E+C,e+i,n+s,c+r).normalize(),I[2].setComponents(E+B,e+o,n+a,c+h).normalize(),I[3].setComponents(E-B,e-o,n-a,c-h).normalize(),I[4].setComponents(E-Q,e-t,n-D,c-w).normalize(),I[5].setComponents(E+Q,e+t,n+D,c+w).normalize(),this}intersectsObject(A){const I=A.geometry;return null===I.boundingSphere&&I.computeBoundingSphere(),dQ.copy(I.boundingSphere).applyMatrix4(A.matrixWorld),this.intersectsSphere(dQ)}intersectsSprite(A){return dQ.center.set(0,0,0),dQ.radius=.7071067811865476,dQ.applyMatrix4(A.matrixWorld),this.intersectsSphere(dQ)}intersectsSphere(A){const I=this.planes,g=A.center,C=-A.radius;for(let A=0;A<6;A++)if(I[A].distanceToPoint(g)0?A.max.x:A.min.x,KQ.y=C.normal.y>0?A.max.y:A.min.y,KQ.z=C.normal.z>0?A.max.z:A.min.z,C.distanceToPoint(KQ)<0)return!1}return!0}containsPoint(A){const I=this.planes;for(let g=0;g<6;g++)if(I[g].distanceToPoint(A)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function JQ(){let A=null,I=!1,g=null,C=null;function B(I,Q){g(I,Q),C=A.requestAnimationFrame(B)}return{start:function(){!0!==I&&null!==g&&(C=A.requestAnimationFrame(B),I=!0)},stop:function(){A.cancelAnimationFrame(C),I=!1},setAnimationLoop:function(A){g=A},setContext:function(I){A=I}}}function YQ(A,I){const g=I.isWebGL2,C=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),C.get(A)},remove:function(I){I.isInterleavedBufferAttribute&&(I=I.data);const g=C.get(I);g&&(A.deleteBuffer(g.buffer),C.delete(I))},update:function(I,B){if(I.isGLBufferAttribute){const A=C.get(I);return void((!A||A.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\treturn texture2D( envMap, uv ).rgb;\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform vec2 morphTargetsTextureSize;\n\t\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\n\t\t\tfloat texelIndex = float( vertexIndex * stride + offset );\n\t\t\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\n\t\t\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\n\t\t\treturn texture( morphTargetsTexture, morphUV ).xyz;\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\t#ifndef USE_MORPHNORMALS\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\n\t\t\t#else\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\n\t\t\t#endif\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},pQ={common:{diffuse:{value:new MB(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Tg},uv2Transform:{value:new Tg},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new bg(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new MB(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new MB(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Tg}},sprite:{diffuse:{value:new MB(16777215)},opacity:{value:1},center:{value:new bg(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Tg}}},fQ={basic:{uniforms:rQ([pQ.common,pQ.specularmap,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.fog]),vertexShader:LQ.meshbasic_vert,fragmentShader:LQ.meshbasic_frag},lambert:{uniforms:rQ([pQ.common,pQ.specularmap,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)}}]),vertexShader:LQ.meshlambert_vert,fragmentShader:LQ.meshlambert_frag},phong:{uniforms:rQ([pQ.common,pQ.specularmap,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)},specular:{value:new MB(1118481)},shininess:{value:30}}]),vertexShader:LQ.meshphong_vert,fragmentShader:LQ.meshphong_frag},standard:{uniforms:rQ([pQ.common,pQ.envmap,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.roughnessmap,pQ.metalnessmap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:LQ.meshphysical_vert,fragmentShader:LQ.meshphysical_frag},toon:{uniforms:rQ([pQ.common,pQ.aomap,pQ.lightmap,pQ.emissivemap,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.gradientmap,pQ.fog,pQ.lights,{emissive:{value:new MB(0)}}]),vertexShader:LQ.meshtoon_vert,fragmentShader:LQ.meshtoon_frag},matcap:{uniforms:rQ([pQ.common,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,pQ.fog,{matcap:{value:null}}]),vertexShader:LQ.meshmatcap_vert,fragmentShader:LQ.meshmatcap_frag},points:{uniforms:rQ([pQ.points,pQ.fog]),vertexShader:LQ.points_vert,fragmentShader:LQ.points_frag},dashed:{uniforms:rQ([pQ.common,pQ.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:LQ.linedashed_vert,fragmentShader:LQ.linedashed_frag},depth:{uniforms:rQ([pQ.common,pQ.displacementmap]),vertexShader:LQ.depth_vert,fragmentShader:LQ.depth_frag},normal:{uniforms:rQ([pQ.common,pQ.bumpmap,pQ.normalmap,pQ.displacementmap,{opacity:{value:1}}]),vertexShader:LQ.meshnormal_vert,fragmentShader:LQ.meshnormal_frag},sprite:{uniforms:rQ([pQ.sprite,pQ.fog]),vertexShader:LQ.sprite_vert,fragmentShader:LQ.sprite_frag},background:{uniforms:{uvTransform:{value:new Tg},t2D:{value:null}},vertexShader:LQ.background_vert,fragmentShader:LQ.background_frag},cube:{uniforms:rQ([pQ.envmap,{opacity:{value:1}}]),vertexShader:LQ.cube_vert,fragmentShader:LQ.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:LQ.equirect_vert,fragmentShader:LQ.equirect_frag},distanceRGBA:{uniforms:rQ([pQ.common,pQ.displacementmap,{referencePosition:{value:new CC},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:LQ.distanceRGBA_vert,fragmentShader:LQ.distanceRGBA_frag},shadow:{uniforms:rQ([pQ.lights,pQ.fog,{color:{value:new MB(0)},opacity:{value:1}}]),vertexShader:LQ.shadow_vert,fragmentShader:LQ.shadow_frag}};function HQ(A,I,g,C,B){const Q=new MB(0);let E,i,o=0,t=null,e=0,s=null;function a(A,I){g.buffers.color.setClear(A.r,A.g,A.b,I,B)}return{getClearColor:function(){return Q},setClearColor:function(A,I=1){Q.set(A),o=I,a(Q,o)},getClearAlpha:function(){return o},setClearAlpha:function(A){o=A,a(Q,o)},render:function(g,B){let D=!1,h=!0===B.isScene?B.background:null;h&&h.isTexture&&(h=I.get(h));const w=A.xr,c=w.getSession&&w.getSession();c&&"additive"===c.environmentBlendMode&&(h=null),null===h?a(Q,o):h&&h.isColor&&(a(h,1),D=!0),(A.autoClear||D)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),h&&(h.isCubeTexture||h.mapping===tA)?(void 0===i&&(i=new sQ(new DQ(1,1,1),new wQ({name:"BackgroundCubeMaterial",uniforms:nQ(fQ.cube.uniforms),vertexShader:fQ.cube.vertexShader,fragmentShader:fQ.cube.fragmentShader,side:r,depthTest:!1,depthWrite:!1,fog:!1})),i.geometry.deleteAttribute("normal"),i.geometry.deleteAttribute("uv"),i.onBeforeRender=function(A,I,g){this.matrixWorld.copyPosition(g.matrixWorld)},Object.defineProperty(i.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),C.update(i)),i.material.uniforms.envMap.value=h,i.material.uniforms.flipEnvMap.value=h.isCubeTexture&&!1===h.isRenderTargetTexture?-1:1,t===h&&e===h.version&&s===A.toneMapping||(i.material.needsUpdate=!0,t=h,e=h.version,s=A.toneMapping),g.unshift(i,i.geometry,i.material,0,0,null)):h&&h.isTexture&&(void 0===E&&(E=new sQ(new uQ(2,2),new wQ({name:"BackgroundMaterial",uniforms:nQ(fQ.background.uniforms),vertexShader:fQ.background.vertexShader,fragmentShader:fQ.background.fragmentShader,side:n,depthTest:!1,depthWrite:!1,fog:!1})),E.geometry.deleteAttribute("normal"),Object.defineProperty(E.material,"map",{get:function(){return this.uniforms.t2D.value}}),C.update(E)),E.material.uniforms.t2D.value=h,!0===h.matrixAutoUpdate&&h.updateMatrix(),E.material.uniforms.uvTransform.value.copy(h.matrix),t===h&&e===h.version&&s===A.toneMapping||(E.material.needsUpdate=!0,t=h,e=h.version,s=A.toneMapping),g.unshift(E,E.geometry,E.material,0,0,null))}}}function mQ(A,I,g,C){const B=A.getParameter(34921),Q=C.isWebGL2?null:I.get("OES_vertex_array_object"),E=C.isWebGL2||null!==Q,i={},o=a(null);let t=o;function e(I){return C.isWebGL2?A.bindVertexArray(I):Q.bindVertexArrayOES(I)}function s(I){return C.isWebGL2?A.deleteVertexArray(I):Q.deleteVertexArrayOES(I)}function a(A){const I=[],g=[],C=[];for(let A=0;A=0){let Q=o[I];if(void 0===Q&&("instanceMatrix"===I&&B.instanceMatrix&&(Q=B.instanceMatrix),"instanceColor"===I&&B.instanceColor&&(Q=B.instanceColor)),void 0!==Q){const I=Q.normalized,E=Q.itemSize,o=g.get(Q);if(void 0===o)continue;const t=o.buffer,e=o.type,s=o.bytesPerElement;if(Q.isInterleavedBufferAttribute){const g=Q.data,o=g.stride,a=Q.offset;if(g&&g.isInstancedInterleavedBuffer){for(let A=0;A0&&A.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";I="mediump"}return"mediump"===I&&A.getShaderPrecisionFormat(35633,36337).precision>0&&A.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const Q="undefined"!=typeof WebGL2RenderingContext&&A instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&A instanceof WebGL2ComputeRenderingContext;let E=void 0!==g.precision?g.precision:"highp";const i=B(E);i!==E&&(console.warn("THREE.WebGLRenderer:",E,"not supported, using",i,"instead."),E=i);const o=Q||I.has("WEBGL_draw_buffers"),t=!0===g.logarithmicDepthBuffer,e=A.getParameter(34930),s=A.getParameter(35660),a=A.getParameter(3379),D=A.getParameter(34076),n=A.getParameter(34921),r=A.getParameter(36347),h=A.getParameter(36348),w=A.getParameter(36349),c=s>0,G=Q||I.has("OES_texture_float");return{isWebGL2:Q,drawBuffers:o,getMaxAnisotropy:function(){if(void 0!==C)return C;if(!0===I.has("EXT_texture_filter_anisotropic")){const g=I.get("EXT_texture_filter_anisotropic");C=A.getParameter(g.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else C=0;return C},getMaxPrecision:B,precision:E,logarithmicDepthBuffer:t,maxTextures:e,maxVertexTextures:s,maxTextureSize:a,maxCubemapSize:D,maxAttributes:n,maxVertexUniforms:r,maxVaryings:h,maxFragmentUniforms:w,vertexTextures:c,floatFragmentTextures:G,floatVertexTextures:c&&G,maxSamples:Q?A.getParameter(36183):0}}function bQ(A){const I=this;let g=null,C=0,B=!1,Q=!1;const E=new UQ,i=new Tg,o={value:null,needsUpdate:!1};function t(){o.value!==g&&(o.value=g,o.needsUpdate=C>0),I.numPlanes=C,I.numIntersection=0}function e(A,g,C,B){const Q=null!==A?A.length:0;let t=null;if(0!==Q){if(t=o.value,!0!==B||null===t){const I=C+4*Q,B=g.matrixWorldInverse;i.getNormalMatrix(B),(null===t||t.length0){const E=A.getRenderTarget(),i=new NQ(Q.height/2);return i.fromEquirectangularTexture(A,B),I.set(B,i),A.setRenderTarget(E),B.addEventListener("dispose",C),g(i.texture,B.mapping)}return null}}}return B},dispose:function(){I=new WeakMap}}}fQ.physical={uniforms:rQ([fQ.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new bg(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new MB(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new bg},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new MB(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new MB(1,1,1)},specularColorMap:{value:null}}]),vertexShader:LQ.meshphysical_vert,fragmentShader:LQ.meshphysical_frag};class VQ extends cQ{constructor(A=-1,I=1,g=1,C=-1,B=.1,Q=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=I,this.top=g,this.bottom=C,this.near=B,this.far=Q,this.updateProjectionMatrix()}copy(A,I){return super.copy(A,I),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this}setViewOffset(A,I,g,C,B,Q){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=I,this.view.offsetX=g,this.view.offsetY=C,this.view.width=B,this.view.height=Q,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),I=(this.top-this.bottom)/(2*this.zoom),g=(this.right+this.left)/2,C=(this.top+this.bottom)/2;let B=g-A,Q=g+A,E=C+I,i=C-I;if(null!==this.view&&this.view.enabled){const A=(this.right-this.left)/this.view.fullWidth/this.zoom,I=(this.top-this.bottom)/this.view.fullHeight/this.zoom;B+=A*this.view.offsetX,Q=B+A*this.view.width,E-=I*this.view.offsetY,i=E-I*this.view.height}this.projectionMatrix.makeOrthographic(B,Q,E,i,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const I=super.toJSON(A);return I.object.zoom=this.zoom,I.object.left=this.left,I.object.right=this.right,I.object.top=this.top,I.object.bottom=this.bottom,I.object.near=this.near,I.object.far=this.far,null!==this.view&&(I.object.view=Object.assign({},this.view)),I}}VQ.prototype.isOrthographicCamera=!0;class WQ extends wQ{constructor(A){super(A),this.type="RawShaderMaterial"}}WQ.prototype.isRawShaderMaterial=!0;const vQ=Math.pow(2,8),ZQ=[.125,.215,.35,.446,.526,.582],OQ=5+ZQ.length,XQ={[PI]:0,[jI]:1},PQ=new VQ,{_lodPlanes:jQ,_sizeLods:zQ,_sigmas:_Q}=QE(),$Q=new MB;let AE=null;const IE=(1+Math.sqrt(5))/2,gE=1/IE,CE=[new CC(1,1,1),new CC(-1,1,1),new CC(1,1,-1),new CC(-1,1,-1),new CC(0,IE,gE),new CC(0,IE,-gE),new CC(gE,0,IE),new CC(-gE,0,IE),new CC(IE,gE,0),new CC(-IE,gE,0)];class BE{constructor(A){this._renderer=A,this._pingPongRenderTarget=null,this._blurMaterial=function(A){const I=new Float32Array(20),g=new CC(0,1,0);return new WQ({name:"SphericalGaussianBlur",defines:{n:20},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:I},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:g}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:G,depthTest:!1,depthWrite:!1})}(),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(A,I=0,g=.1,C=100){AE=this._renderer.getRenderTarget();const B=this._allocateTargets();return this._sceneToCubeUV(A,g,C,B),I>0&&this._blur(B,0,0,I),this._applyPMREM(B),this._cleanup(B),B}fromEquirectangular(A){return this._fromTexture(A)}fromCubemap(A){return this._fromTexture(A)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=tE(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=oE(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let A=0;A2?vQ:0,vQ,vQ),i.setRenderTarget(C),a&&i.render(s,B),i.render(A,B)}s.geometry.dispose(),s.material.dispose(),i.toneMapping=t,i.autoClear=o,A.background=D}_setEncoding(A,I){!0===this._renderer.capabilities.isWebGL2&&I.format===mA&&I.type===lA&&I.encoding===jI?A.value=XQ[PI]:A.value=XQ[I.encoding]}_textureToCubeUV(A,I){const g=this._renderer,C=A.mapping===QA||A.mapping===EA;C?null==this._cubemapShader&&(this._cubemapShader=tE()):null==this._equirectShader&&(this._equirectShader=oE());const B=C?this._cubemapShader:this._equirectShader,Q=new sQ(jQ[0],B),E=B.uniforms;E.envMap.value=A,C||E.texelSize.value.set(1/A.image.width,1/A.image.height),this._setEncoding(E.inputEncoding,A),iE(I,0,0,3*vQ,2*vQ),g.setRenderTarget(I),g.render(Q,PQ)}_applyPMREM(A){const I=this._renderer,g=I.autoClear;I.autoClear=!1;for(let I=1;I20&&console.warn(`sigmaRadians, ${B}, is too large and will clip, as it requested ${n} samples when the maximum is set to 20`);const r=[];let h=0;for(let A=0;A<20;++A){const I=A/D,g=Math.exp(-I*I/2);r.push(g),0==A?h+=g:A4?C-8+4:0),3*w,2*w),i.setRenderTarget(I),i.render(t,PQ)}}function QE(){const A=[],I=[],g=[];let C=8;for(let B=0;B4?E=ZQ[B-8+4-1]:0==B&&(E=0),g.push(E);const i=1/(Q-1),o=-i/2,t=1+i/2,e=[o,o,t,o,t,t,o,o,t,t,o,t],s=6,a=6,D=3,n=2,r=1,h=new Float32Array(D*a*s),w=new Float32Array(n*a*s),c=new Float32Array(r*a*s);for(let A=0;A2?0:-1,C=[I,g,0,I+2/3,g,0,I+2/3,g+1,0,I,g,0,I+2/3,g+1,0,I,g+1,0];h.set(C,D*a*A),w.set(e,n*a*A);const B=[A,A,A,A,A,A];c.set(B,r*a*A)}const G=new OB;G.setAttribute("position",new KB(h,D)),G.setAttribute("uv",new KB(w,n)),G.setAttribute("faceIndex",new KB(c,r)),A.push(G),C>4&&C--}return{_lodPlanes:A,_sizeLods:I,_sigmas:g}}function EE(A){const I=new $g(3*vQ,3*vQ,A);return I.texture.mapping=tA,I.texture.name="PMREM.cubeUv",I.scissorTest=!0,I}function iE(A,I,g,C,B){A.viewport.set(I,g,C,B),A.scissor.set(I,g,C,B)}function oE(){const A=new bg(1,1);return new WQ({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:A},inputEncoding:{value:XQ[PI]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t}\n\t\t",blending:G,depthTest:!1,depthWrite:!1})}function tE(){return new WQ({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:XQ[PI]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\n\n\t\t\t}\n\t\t",blending:G,depthTest:!1,depthWrite:!1})}function eE(A){let I=new WeakMap,g=null;function C(A){const g=A.target;g.removeEventListener("dispose",C);const B=I.get(g);void 0!==B&&(I.delete(g),B.dispose())}return{get:function(B){if(B&&B.isTexture&&!1===B.isRenderTargetTexture){const Q=B.mapping,E=Q===iA||Q===oA,i=Q===QA||Q===EA;if(E||i){if(I.has(B))return I.get(B).texture;{const Q=B.image;if(E&&Q&&Q.height>0||i&&Q&&function(A){let I=0;for(let g=0;g<6;g++)void 0!==A[g]&&I++;return 6===I}(Q)){const Q=A.getRenderTarget();null===g&&(g=new BE(A));const i=E?g.fromEquirectangular(B):g.fromCubemap(B);return I.set(B,i),A.setRenderTarget(Q),B.addEventListener("dispose",C),i.texture}return null}}}return B},dispose:function(){I=new WeakMap,null!==g&&(g.dispose(),g=null)}}}function sE(A){const I={};function g(g){if(void 0!==I[g])return I[g];let C;switch(g){case"WEBGL_depth_texture":C=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":C=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":C=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":C=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:C=A.getExtension(g)}return I[g]=C,C}return{has:function(A){return null!==g(A)},init:function(A){A.isWebGL2?g("EXT_color_buffer_float"):(g("WEBGL_depth_texture"),g("OES_texture_float"),g("OES_texture_half_float"),g("OES_texture_half_float_linear"),g("OES_standard_derivatives"),g("OES_element_index_uint"),g("OES_vertex_array_object"),g("ANGLE_instanced_arrays")),g("OES_texture_float_linear"),g("EXT_color_buffer_half_float"),g("WEBGL_multisampled_render_to_texture")},get:function(A){const I=g(A);return null===I&&console.warn("THREE.WebGLRenderer: "+A+" extension not supported."),I}}}function aE(A,I,g,C){const B={},Q=new WeakMap;function E(A){const i=A.target;null!==i.index&&I.remove(i.index);for(const A in i.attributes)I.remove(i.attributes[A]);i.removeEventListener("dispose",E),delete B[i.id];const o=Q.get(i);o&&(I.remove(o),Q.delete(i)),C.releaseStatesOfGeometry(i),!0===i.isInstancedBufferGeometry&&delete i._maxInstanceCount,g.memory.geometries--}function i(A){const g=[],C=A.index,B=A.attributes.position;let E=0;if(null!==C){const A=C.array;E=C.version;for(let I=0,C=A.length;I65535?fB:LB)(g,1);i.version=E;const o=Q.get(A);o&&I.remove(o),Q.set(A,i)}return{get:function(A,I){return!0===B[I.id]||(I.addEventListener("dispose",E),B[I.id]=!0,g.memory.geometries++),I},update:function(A){const g=A.attributes;for(const A in g)I.update(g[A],34962);const C=A.morphAttributes;for(const A in C){const g=C[A];for(let A=0,C=g.length;AI.maxTextureSize&&(s=Math.ceil(e/I.maxTextureSize),e=I.maxTextureSize);const a=new Float32Array(e*s*4*C),D=new rE(a,e,s,C);D.format=mA,D.type=kA,D.needsUpdate=!0;const n=4*o;for(let I=0;I0)return A;const B=I*g;let Q=SE[B];if(void 0===Q&&(Q=new Float32Array(B),SE[B]=Q),0!==I){C.toArray(Q,0);for(let C=1,B=0;C!==I;++C)B+=g,A[C].toArray(Q,B)}return Q}function YE(A,I){if(A.length!==I.length)return!1;for(let g=0,C=A.length;g/gm;function Hi(A){return A.replace(fi,mi)}function mi(A,I){const g=LQ[I];if(void 0===g)throw new Error("Can not resolve #include <"+I+">");return Hi(g)}const qi=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,xi=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function bi(A){return A.replace(xi,Vi).replace(qi,Ti)}function Ti(A,I,g,C){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Vi(0,I,g,C)}function Vi(A,I,g,C){let B="";for(let A=parseInt(I);A0&&(c+="\n"),G=[r,h].filter(ui).join("\n"),G.length>0&&(G+="\n")):(c=[Wi(g),"#define SHADER_NAME "+g.shaderName,h,g.instancing?"#define USE_INSTANCING":"",g.instancingColor?"#define USE_INSTANCING_COLOR":"",g.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define MAX_BONES "+g.maxBones,g.useFog&&g.fog?"#define USE_FOG":"",g.useFog&&g.fogExp2?"#define FOG_EXP2":"",g.map?"#define USE_MAP":"",g.envMap?"#define USE_ENVMAP":"",g.envMap?"#define "+e:"",g.lightMap?"#define USE_LIGHTMAP":"",g.aoMap?"#define USE_AOMAP":"",g.emissiveMap?"#define USE_EMISSIVEMAP":"",g.bumpMap?"#define USE_BUMPMAP":"",g.normalMap?"#define USE_NORMALMAP":"",g.normalMap&&g.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",g.normalMap&&g.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",g.clearcoatMap?"#define USE_CLEARCOATMAP":"",g.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",g.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",g.displacementMap&&g.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",g.specularMap?"#define USE_SPECULARMAP":"",g.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",g.specularColorMap?"#define USE_SPECULARCOLORMAP":"",g.roughnessMap?"#define USE_ROUGHNESSMAP":"",g.metalnessMap?"#define USE_METALNESSMAP":"",g.alphaMap?"#define USE_ALPHAMAP":"",g.transmission?"#define USE_TRANSMISSION":"",g.transmissionMap?"#define USE_TRANSMISSIONMAP":"",g.thicknessMap?"#define USE_THICKNESSMAP":"",g.sheenColorMap?"#define USE_SHEENCOLORMAP":"",g.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",g.vertexTangents?"#define USE_TANGENT":"",g.vertexColors?"#define USE_COLOR":"",g.vertexAlphas?"#define USE_COLOR_ALPHA":"",g.vertexUvs?"#define USE_UV":"",g.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",g.flatShading?"#define FLAT_SHADED":"",g.skinning?"#define USE_SKINNING":"",g.useVertexTexture?"#define BONE_TEXTURE":"",g.morphTargets?"#define USE_MORPHTARGETS":"",g.morphNormals&&!1===g.flatShading?"#define USE_MORPHNORMALS":"",g.morphTargets&&g.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",g.morphTargets&&g.isWebGL2?"#define MORPHTARGETS_COUNT "+g.morphTargetsCount:"",g.doubleSided?"#define DOUBLE_SIDED":"",g.flipSided?"#define FLIP_SIDED":"",g.shadowMapEnabled?"#define USE_SHADOWMAP":"",g.shadowMapEnabled?"#define "+o:"",g.sizeAttenuation?"#define USE_SIZEATTENUATION":"",g.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",g.logarithmicDepthBuffer&&g.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ui).join("\n"),G=[r,Wi(g),"#define SHADER_NAME "+g.shaderName,h,g.useFog&&g.fog?"#define USE_FOG":"",g.useFog&&g.fogExp2?"#define FOG_EXP2":"",g.map?"#define USE_MAP":"",g.matcap?"#define USE_MATCAP":"",g.envMap?"#define USE_ENVMAP":"",g.envMap?"#define "+t:"",g.envMap?"#define "+e:"",g.envMap?"#define "+n:"",g.lightMap?"#define USE_LIGHTMAP":"",g.aoMap?"#define USE_AOMAP":"",g.emissiveMap?"#define USE_EMISSIVEMAP":"",g.bumpMap?"#define USE_BUMPMAP":"",g.normalMap?"#define USE_NORMALMAP":"",g.normalMap&&g.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",g.normalMap&&g.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",g.clearcoat?"#define USE_CLEARCOAT":"",g.clearcoatMap?"#define USE_CLEARCOATMAP":"",g.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",g.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",g.specularMap?"#define USE_SPECULARMAP":"",g.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",g.specularColorMap?"#define USE_SPECULARCOLORMAP":"",g.roughnessMap?"#define USE_ROUGHNESSMAP":"",g.metalnessMap?"#define USE_METALNESSMAP":"",g.alphaMap?"#define USE_ALPHAMAP":"",g.alphaTest?"#define USE_ALPHATEST":"",g.sheen?"#define USE_SHEEN":"",g.sheenColorMap?"#define USE_SHEENCOLORMAP":"",g.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",g.transmission?"#define USE_TRANSMISSION":"",g.transmissionMap?"#define USE_TRANSMISSIONMAP":"",g.thicknessMap?"#define USE_THICKNESSMAP":"",g.vertexTangents?"#define USE_TANGENT":"",g.vertexColors||g.instancingColor?"#define USE_COLOR":"",g.vertexAlphas?"#define USE_COLOR_ALPHA":"",g.vertexUvs?"#define USE_UV":"",g.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",g.gradientMap?"#define USE_GRADIENTMAP":"",g.flatShading?"#define FLAT_SHADED":"",g.doubleSided?"#define DOUBLE_SIDED":"",g.flipSided?"#define FLIP_SIDED":"",g.shadowMapEnabled?"#define USE_SHADOWMAP":"",g.shadowMapEnabled?"#define "+o:"",g.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",g.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",g.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",g.logarithmicDepthBuffer&&g.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(g.extensionShaderTextureLOD||g.envMap)&&g.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",g.toneMapping!==_?"#define TONE_MAPPING":"",g.toneMapping!==_?LQ.tonemapping_pars_fragment:"",g.toneMapping!==_?Yi("toneMapping",g.toneMapping):"",g.dithering?"#define DITHERING":"",g.format===HA?"#define OPAQUE":"",LQ.encodings_pars_fragment,g.map?ki("mapTexelToLinear",g.mapEncoding):"",g.matcap?ki("matcapTexelToLinear",g.matcapEncoding):"",g.envMap?ki("envMapTexelToLinear",g.envMapEncoding):"",g.emissiveMap?ki("emissiveMapTexelToLinear",g.emissiveMapEncoding):"",g.specularColorMap?ki("specularColorMapTexelToLinear",g.specularColorMapEncoding):"",g.sheenColorMap?ki("sheenColorMapTexelToLinear",g.sheenColorMapEncoding):"",g.lightMap?ki("lightMapTexelToLinear",g.lightMapEncoding):"",Ji("linearToOutputTexel",g.outputEncoding),g.depthPacking?"#define DEPTH_PACKING "+g.depthPacking:"","\n"].filter(ui).join("\n")),E=Hi(E),E=Li(E,g),E=pi(E,g),i=Hi(i),i=Li(i,g),i=pi(i,g),E=bi(E),i=bi(i),g.isWebGL2&&!0!==g.isRawShaderMaterial&&(y="#version 300 es\n",c=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+c,G=["#define varying in",g.glslVersion===Ug?"":"layout(location = 0) out highp vec4 pc_fragColor;",g.glslVersion===Ug?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+G);const F=y+G+i,R=Si(B,35633,y+c+E),N=Si(B,35632,F);if(B.attachShader(w,R),B.attachShader(w,N),void 0!==g.index0AttributeName?B.bindAttribLocation(w,0,g.index0AttributeName):!0===g.morphTargets&&B.bindAttribLocation(w,0,"position"),B.linkProgram(w),A.debug.checkShaderErrors){const A=B.getProgramInfoLog(w).trim(),I=B.getShaderInfoLog(R).trim(),g=B.getShaderInfoLog(N).trim();let C=!0,Q=!0;if(!1===B.getProgramParameter(w,35714)){C=!1;const I=Ki(B,R,"vertex"),g=Ki(B,N,"fragment");console.error("THREE.WebGLProgram: Shader Error "+B.getError()+" - VALIDATE_STATUS "+B.getProgramParameter(w,35715)+"\n\nProgram Info Log: "+A+"\n"+I+"\n"+g)}else""!==A?console.warn("THREE.WebGLProgram: Program Info Log:",A):""!==I&&""!==g||(Q=!1);Q&&(this.diagnostics={runnable:C,programLog:A,vertexShader:{log:I,prefix:c},fragmentShader:{log:g,prefix:G}})}let l,M;return B.deleteShader(R),B.deleteShader(N),this.getUniforms=function(){return void 0===l&&(l=new Mi(B,w)),l},this.getAttributes=function(){return void 0===M&&(M=function(A,I){const g={},C=A.getProgramParameter(I,35721);for(let B=0;B0,u=Q.clearcoat>0;return{isWebGL2:e,shaderID:M,shaderName:Q.type,vertexShader:U,fragmentShader:d,defines:Q.defines,customVertexShaderID:K,customFragmentShaderID:k,isRawShaderMaterial:!0===Q.isRawShaderMaterial,glslVersion:Q.glslVersion,precision:w,instancing:!0===F.isInstancedMesh,instancingColor:!0===F.isInstancedMesh&&null!==F.instanceColor,supportsVertexTextures:n,outputEncoding:null!==J?G(J.texture):A.outputEncoding,map:!!Q.map,mapEncoding:G(Q.map),matcap:!!Q.matcap,matcapEncoding:G(Q.matcap),envMap:!!l,envMapMode:l&&l.mapping,envMapEncoding:G(l),envMapCubeUV:!!l&&(l.mapping===tA||l.mapping===eA),lightMap:!!Q.lightMap,lightMapEncoding:G(Q.lightMap),aoMap:!!Q.aoMap,emissiveMap:!!Q.emissiveMap,emissiveMapEncoding:G(Q.emissiveMap),bumpMap:!!Q.bumpMap,normalMap:!!Q.normalMap,objectSpaceNormalMap:Q.normalMapType===Ag,tangentSpaceNormalMap:Q.normalMapType===$I,clearcoat:u,clearcoatMap:u&&!!Q.clearcoatMap,clearcoatRoughnessMap:u&&!!Q.clearcoatRoughnessMap,clearcoatNormalMap:u&&!!Q.clearcoatNormalMap,displacementMap:!!Q.displacementMap,roughnessMap:!!Q.roughnessMap,metalnessMap:!!Q.metalnessMap,specularMap:!!Q.specularMap,specularIntensityMap:!!Q.specularIntensityMap,specularColorMap:!!Q.specularColorMap,specularColorMapEncoding:G(Q.specularColorMap),alphaMap:!!Q.alphaMap,alphaTest:Y,gradientMap:!!Q.gradientMap,sheen:Q.sheen>0,sheenColorMap:!!Q.sheenColorMap,sheenColorMapEncoding:G(Q.sheenColorMap),sheenRoughnessMap:!!Q.sheenRoughnessMap,transmission:Q.transmission>0,transmissionMap:!!Q.transmissionMap,thicknessMap:!!Q.thicknessMap,combine:Q.combine,vertexTangents:!!Q.normalMap&&!!F.geometry&&!!F.geometry.attributes.tangent,vertexColors:Q.vertexColors,vertexAlphas:!0===Q.vertexColors&&!!F.geometry&&!!F.geometry.attributes.color&&4===F.geometry.attributes.color.itemSize,vertexUvs:!!(Q.map||Q.bumpMap||Q.normalMap||Q.specularMap||Q.alphaMap||Q.emissiveMap||Q.roughnessMap||Q.metalnessMap||Q.clearcoatMap||Q.clearcoatRoughnessMap||Q.clearcoatNormalMap||Q.displacementMap||Q.transmissionMap||Q.thicknessMap||Q.specularIntensityMap||Q.specularColorMap||Q.sheenColorMap||Q.sheenRoughnessMap),uvsVertexOnly:!(Q.map||Q.bumpMap||Q.normalMap||Q.specularMap||Q.alphaMap||Q.emissiveMap||Q.roughnessMap||Q.metalnessMap||Q.clearcoatNormalMap||Q.transmission>0||Q.transmissionMap||Q.thicknessMap||Q.specularIntensityMap||Q.specularColorMap||Q.sheen>0||Q.sheenColorMap||Q.sheenRoughnessMap||!Q.displacementMap),fog:!!R,useFog:Q.fog,fogExp2:R&&R.isFogExp2,flatShading:!!Q.flatShading,sizeAttenuation:Q.sizeAttenuation,logarithmicDepthBuffer:s,skinning:!0===F.isSkinnedMesh&&S>0,maxBones:S,useVertexTexture:a,morphTargets:!!F.geometry&&!!F.geometry.morphAttributes.position,morphNormals:!!F.geometry&&!!F.geometry.morphAttributes.normal,morphTargetsCount:F.geometry&&F.geometry.morphAttributes.position?F.geometry.morphAttributes.position.length:0,numDirLights:i.directional.length,numPointLights:i.point.length,numSpotLights:i.spot.length,numRectAreaLights:i.rectArea.length,numHemiLights:i.hemi.length,numDirLightShadows:i.directionalShadowMap.length,numPointLightShadows:i.pointShadowMap.length,numSpotLightShadows:i.spotShadowMap.length,numClippingPlanes:E.numPlanes,numClipIntersection:E.numIntersection,format:Q.format,dithering:Q.dithering,shadowMapEnabled:A.shadowMap.enabled&&t.length>0,shadowMapType:A.shadowMap.type,toneMapping:Q.toneMapped?A.toneMapping:_,physicallyCorrectLights:A.physicallyCorrectLights,premultipliedAlpha:Q.premultipliedAlpha,doubleSided:Q.side===h,flipSided:Q.side===r,depthPacking:void 0!==Q.depthPacking&&Q.depthPacking,index0AttributeName:Q.index0AttributeName,extensionDerivatives:Q.extensions&&Q.extensions.derivatives,extensionFragDepth:Q.extensions&&Q.extensions.fragDepth,extensionDrawBuffers:Q.extensions&&Q.extensions.drawBuffers,extensionShaderTextureLOD:Q.extensions&&Q.extensions.shaderTextureLOD,rendererExtensionFragDepth:e||C.has("EXT_frag_depth"),rendererExtensionDrawBuffers:e||C.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:e||C.has("EXT_shader_texture_lod"),customProgramCacheKey:Q.customProgramCacheKey()}},getProgramCacheKey:function(I){const g=[];if(I.shaderID?g.push(I.shaderID):(g.push(I.customVertexShaderID),g.push(I.customFragmentShaderID)),void 0!==I.defines)for(const A in I.defines)g.push(A),g.push(I.defines[A]);return!1===I.isRawShaderMaterial&&(function(A,I){A.push(I.precision),A.push(I.outputEncoding),A.push(I.mapEncoding),A.push(I.matcapEncoding),A.push(I.envMapMode),A.push(I.envMapEncoding),A.push(I.lightMapEncoding),A.push(I.emissiveMapEncoding),A.push(I.combine),A.push(I.vertexUvs),A.push(I.fogExp2),A.push(I.sizeAttenuation),A.push(I.maxBones),A.push(I.morphTargetsCount),A.push(I.numDirLights),A.push(I.numPointLights),A.push(I.numSpotLights),A.push(I.numHemiLights),A.push(I.numRectAreaLights),A.push(I.numDirLightShadows),A.push(I.numPointLightShadows),A.push(I.numSpotLightShadows),A.push(I.shadowMapType),A.push(I.toneMapping),A.push(I.numClippingPlanes),A.push(I.numClipIntersection),A.push(I.format),A.push(I.specularColorMapEncoding),A.push(I.sheenColorMapEncoding)}(g,I),function(A,I){i.disableAll(),I.isWebGL2&&i.enable(0),I.supportsVertexTextures&&i.enable(1),I.instancing&&i.enable(2),I.instancingColor&&i.enable(3),I.map&&i.enable(4),I.matcap&&i.enable(5),I.envMap&&i.enable(6),I.envMapCubeUV&&i.enable(7),I.lightMap&&i.enable(8),I.aoMap&&i.enable(9),I.emissiveMap&&i.enable(10),I.bumpMap&&i.enable(11),I.normalMap&&i.enable(12),I.objectSpaceNormalMap&&i.enable(13),I.tangentSpaceNormalMap&&i.enable(14),I.clearcoat&&i.enable(15),I.clearcoatMap&&i.enable(16),I.clearcoatRoughnessMap&&i.enable(17),I.clearcoatNormalMap&&i.enable(18),I.displacementMap&&i.enable(19),I.specularMap&&i.enable(20),I.roughnessMap&&i.enable(21),I.metalnessMap&&i.enable(22),I.gradientMap&&i.enable(23),I.alphaMap&&i.enable(24),I.alphaTest&&i.enable(25),I.vertexColors&&i.enable(26),I.vertexAlphas&&i.enable(27),I.vertexUvs&&i.enable(28),I.vertexTangents&&i.enable(29),I.uvsVertexOnly&&i.enable(30),I.fog&&i.enable(31),A.push(i.mask),i.disableAll(),I.useFog&&i.enable(0),I.flatShading&&i.enable(1),I.logarithmicDepthBuffer&&i.enable(2),I.skinning&&i.enable(3),I.useVertexTexture&&i.enable(4),I.morphTargets&&i.enable(5),I.morphNormals&&i.enable(6),I.premultipliedAlpha&&i.enable(7),I.shadowMapEnabled&&i.enable(8),I.physicallyCorrectLights&&i.enable(9),I.doubleSided&&i.enable(10),I.flipSided&&i.enable(11),I.depthPacking&&i.enable(12),I.dithering&&i.enable(13),I.specularIntensityMap&&i.enable(14),I.specularColorMap&&i.enable(15),I.transmission&&i.enable(16),I.transmissionMap&&i.enable(17),I.thicknessMap&&i.enable(18),I.sheen&&i.enable(19),I.sheenColorMap&&i.enable(20),I.sheenRoughnessMap&&i.enable(21),A.push(i.mask)}(g,I),g.push(A.outputEncoding)),g.push(I.customProgramCacheKey),g.join()},getUniforms:function(A){const I=c[A.type];let g;if(I){const A=fQ[I];g=hQ.clone(A.uniforms)}else g=A.uniforms;return g},acquireProgram:function(I,g){let C;for(let A=0,I=t.length;A0?C.push(e):!0===E.transparent?B.push(e):g.push(e)},unshift:function(A,I,E,i,o,t){const e=Q(A,I,E,i,o,t);E.transmission>0?C.unshift(e):!0===E.transparent?B.unshift(e):g.unshift(e)},finish:function(){for(let g=I,C=A.length;g1&&g.sort(A||zi),C.length>1&&C.sort(I||_i),B.length>1&&B.sort(I||_i)}}}function Ao(){let A=new WeakMap;return{get:function(I,g){let C;return!1===A.has(I)?(C=new $i,A.set(I,[C])):g>=A.get(I).length?(C=new $i,A.get(I).push(C)):C=A.get(I)[g],C},dispose:function(){A=new WeakMap}}}function Io(){const A={};return{get:function(I){if(void 0!==A[I.id])return A[I.id];let g;switch(I.type){case"DirectionalLight":g={direction:new CC,color:new MB};break;case"SpotLight":g={position:new CC,direction:new CC,color:new MB,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":g={position:new CC,color:new MB,distance:0,decay:0};break;case"HemisphereLight":g={direction:new CC,skyColor:new MB,groundColor:new MB};break;case"RectAreaLight":g={color:new MB,position:new CC,halfWidth:new CC,halfHeight:new CC}}return A[I.id]=g,g}}}let go=0;function Co(A,I){return(I.castShadow?1:0)-(A.castShadow?1:0)}function Bo(A,I){const g=new Io,C=function(){const A={};return{get:function(I){if(void 0!==A[I.id])return A[I.id];let g;switch(I.type){case"DirectionalLight":case"SpotLight":g={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new bg};break;case"PointLight":g={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new bg,shadowCameraNear:1,shadowCameraFar:1e3}}return A[I.id]=g,g}}}(),B={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let A=0;A<9;A++)B.probe.push(new CC);const Q=new CC,E=new LC,i=new LC;return{setup:function(Q,E){let i=0,o=0,t=0;for(let A=0;A<9;A++)B.probe[A].set(0,0,0);let e=0,s=0,a=0,D=0,n=0,r=0,h=0,w=0;Q.sort(Co);const c=!0!==E?Math.PI:1;for(let A=0,I=Q.length;A0&&(I.isWebGL2||!0===A.has("OES_texture_float_linear")?(B.rectAreaLTC1=pQ.LTC_FLOAT_1,B.rectAreaLTC2=pQ.LTC_FLOAT_2):!0===A.has("OES_texture_half_float_linear")?(B.rectAreaLTC1=pQ.LTC_HALF_1,B.rectAreaLTC2=pQ.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),B.ambient[0]=i,B.ambient[1]=o,B.ambient[2]=t;const G=B.hash;G.directionalLength===e&&G.pointLength===s&&G.spotLength===a&&G.rectAreaLength===D&&G.hemiLength===n&&G.numDirectionalShadows===r&&G.numPointShadows===h&&G.numSpotShadows===w||(B.directional.length=e,B.spot.length=a,B.rectArea.length=D,B.point.length=s,B.hemi.length=n,B.directionalShadow.length=r,B.directionalShadowMap.length=r,B.pointShadow.length=h,B.pointShadowMap.length=h,B.spotShadow.length=w,B.spotShadowMap.length=w,B.directionalShadowMatrix.length=r,B.pointShadowMatrix.length=h,B.spotShadowMatrix.length=w,G.directionalLength=e,G.pointLength=s,G.spotLength=a,G.rectAreaLength=D,G.hemiLength=n,G.numDirectionalShadows=r,G.numPointShadows=h,G.numSpotShadows=w,B.version=go++)},setupView:function(A,I){let g=0,C=0,o=0,t=0,e=0;const s=I.matrixWorldInverse;for(let I=0,a=A.length;I=g.get(C).length?(Q=new Qo(A,I),g.get(C).push(Q)):Q=g.get(C)[B],Q},dispose:function(){g=new WeakMap}}}class io extends cB{constructor(A){super(),this.type="MeshDepthMaterial",this.depthPacking=zI,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}io.prototype.isMeshDepthMaterial=!0;class oo extends cB{constructor(A){super(),this.type="MeshDistanceMaterial",this.referencePosition=new CC,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(A)}copy(A){return super.copy(A),this.referencePosition.copy(A.referencePosition),this.nearDistance=A.nearDistance,this.farDistance=A.farDistance,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}function to(A,I,g){let C=new kQ;const B=new bg,Q=new bg,E=new _g,i=new io({depthPacking:_I}),o=new oo,t={},e=g.maxTextureSize,a={0:r,1:n,2:h},w=new wQ({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new bg},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),c=w.clone();c.defines.HORIZONTAL_PASS=1;const y=new OB;y.setAttribute("position",new KB(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const F=new sQ(y,w),R=this;function N(g,C){const B=I.update(F);w.defines.VSM_SAMPLES!==g.blurSamples&&(w.defines.VSM_SAMPLES=g.blurSamples,c.defines.VSM_SAMPLES=g.blurSamples,w.needsUpdate=!0,c.needsUpdate=!0),w.uniforms.shadow_pass.value=g.map.texture,w.uniforms.resolution.value=g.mapSize,w.uniforms.radius.value=g.radius,A.setRenderTarget(g.mapPass),A.clear(),A.renderBufferDirect(C,null,B,w,F,null),c.uniforms.shadow_pass.value=g.mapPass.texture,c.uniforms.resolution.value=g.mapSize,c.uniforms.radius.value=g.radius,A.setRenderTarget(g.map),A.clear(),A.renderBufferDirect(C,null,B,c,F,null)}function l(I,g,C,B,Q,E,e){let s=null;const n=!0===B.isPointLight?I.customDistanceMaterial:I.customDepthMaterial;if(s=void 0!==n?n:!0===B.isPointLight?o:i,A.localClippingEnabled&&!0===C.clipShadows&&0!==C.clippingPlanes.length||C.displacementMap&&0!==C.displacementScale||C.alphaMap&&C.alphaTest>0){const A=s.uuid,I=C.uuid;let g=t[A];void 0===g&&(g={},t[A]=g);let B=g[I];void 0===B&&(B=s.clone(),g[I]=B),s=B}return s.visible=C.visible,s.wireframe=C.wireframe,s.side=e===D?null!==C.shadowSide?C.shadowSide:C.side:null!==C.shadowSide?C.shadowSide:a[C.side],s.alphaMap=C.alphaMap,s.alphaTest=C.alphaTest,s.clipShadows=C.clipShadows,s.clippingPlanes=C.clippingPlanes,s.clipIntersection=C.clipIntersection,s.displacementMap=C.displacementMap,s.displacementScale=C.displacementScale,s.displacementBias=C.displacementBias,s.wireframeLinewidth=C.wireframeLinewidth,s.linewidth=C.linewidth,!0===B.isPointLight&&!0===s.isMeshDistanceMaterial&&(s.referencePosition.setFromMatrixPosition(B.matrixWorld),s.nearDistance=Q,s.farDistance=E),s}function M(g,B,Q,E,i){if(!1===g.visible)return;if(g.layers.test(B.layers)&&(g.isMesh||g.isLine||g.isPoints)&&(g.castShadow||g.receiveShadow&&i===D)&&(!g.frustumCulled||C.intersectsObject(g))){g.modelViewMatrix.multiplyMatrices(Q.matrixWorldInverse,g.matrixWorld);const C=I.update(g),B=g.material;if(Array.isArray(B)){const I=C.groups;for(let o=0,t=I.length;oe||B.y>e)&&(B.x>e&&(Q.x=Math.floor(e/n.x),B.x=Q.x*n.x,s.mapSize.x=Q.x),B.y>e&&(Q.y=Math.floor(e/n.y),B.y=Q.y*n.y,s.mapSize.y=Q.y)),null===s.map&&!s.isPointLightShadow&&this.type===D){const A={minFilter:GA,magFilter:GA,format:mA};s.map=new $g(B.x,B.y,A),s.map.texture.name=t.name+".shadowMap",s.mapPass=new $g(B.x,B.y,A),s.camera.updateProjectionMatrix()}if(null===s.map){const A={minFilter:nA,magFilter:nA,format:mA};s.map=new $g(B.x,B.y,A),s.map.texture.name=t.name+".shadowMap",s.camera.updateProjectionMatrix()}A.setRenderTarget(s.map),A.clear();const r=s.getViewportCount();for(let A=0;A=1):-1!==oA.indexOf("OpenGL ES")&&(iA=parseFloat(/^OpenGL ES (\d)/.exec(oA)[1]),EA=iA>=2);let tA=null,eA={};const sA=A.getParameter(3088),aA=A.getParameter(2978),DA=(new _g).fromArray(sA),nA=(new _g).fromArray(aA);function rA(I,g,C){const B=new Uint8Array(4),Q=A.createTexture();A.bindTexture(I,Q),A.texParameteri(I,10241,9728),A.texParameteri(I,10240,9728);for(let I=0;IC||A.height>C)&&(B=C/Math.max(A.width,A.height)),B<1||!0===I){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const C=I?qg:Math.floor,Q=C(B*A.width),E=C(B*A.height);void 0===n&&(n=h(Q,E));const i=g?h(Q,E):n;return i.width=Q,i.height=E,i.getContext("2d").drawImage(A,0,0,Q,E),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+A.width+"x"+A.height+") to ("+Q+"x"+E+")."),i}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+A.width+"x"+A.height+")."),A}return A}function c(A){return Hg(A.width)&&Hg(A.height)}function G(A,I){return A.generateMipmaps&&I&&A.minFilter!==nA&&A.minFilter!==GA}function y(I){A.generateMipmap(I)}function F(g,C,B,Q){if(!1===i)return C;if(null!==g){if(void 0!==A[g])return A[g];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+g+"'")}let E=C;return 6403===C&&(5126===B&&(E=33326),5131===B&&(E=33325),5121===B&&(E=33321)),6407===C&&(5126===B&&(E=34837),5131===B&&(E=34843),5121===B&&(E=32849)),6408===C&&(5126===B&&(E=34836),5131===B&&(E=34842),5121===B&&(E=Q===jI?35907:32856)),33325!==E&&33326!==E&&34842!==E&&34836!==E||I.get("EXT_color_buffer_float"),E}function R(A,I,g){return!0===G(A,g)||A.isFramebufferTexture&&A.minFilter!==nA&&A.minFilter!==GA?Math.log2(Math.max(I.width,I.height))+1:void 0!==A.mipmaps&&A.mipmaps.length>0?A.mipmaps.length:A.isCompressedTexture&&Array.isArray(A.image)?I.mipmaps.length:1}function N(A){return A===nA||A===rA||A===wA?9728:9729}function l(I){const g=I.target;g.removeEventListener("dispose",l),function(I){const g=C.get(I);void 0!==g.__webglInit&&(A.deleteTexture(g.__webglTexture),C.remove(I))}(g),g.isVideoTexture&&D.delete(g),E.memory.textures--}function M(I){const g=I.target;g.removeEventListener("dispose",M),function(I){const g=I.texture,B=C.get(I),Q=C.get(g);if(I){if(void 0!==Q.__webglTexture&&(A.deleteTexture(Q.__webglTexture),E.memory.textures--),I.depthTexture&&I.depthTexture.dispose(),I.isWebGLCubeRenderTarget)for(let I=0;I<6;I++)A.deleteFramebuffer(B.__webglFramebuffer[I]),B.__webglDepthbuffer&&A.deleteRenderbuffer(B.__webglDepthbuffer[I]);else A.deleteFramebuffer(B.__webglFramebuffer),B.__webglDepthbuffer&&A.deleteRenderbuffer(B.__webglDepthbuffer),B.__webglMultisampledFramebuffer&&A.deleteFramebuffer(B.__webglMultisampledFramebuffer),B.__webglColorRenderbuffer&&A.deleteRenderbuffer(B.__webglColorRenderbuffer),B.__webglDepthRenderbuffer&&A.deleteRenderbuffer(B.__webglDepthRenderbuffer);if(I.isWebGLMultipleRenderTargets)for(let I=0,B=g.length;I0&&B.__version!==A.version){const g=A.image;if(void 0===g)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==g.complete)return void u(B,A,I);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}g.activeTexture(33984+I),g.bindTexture(3553,B.__webglTexture)}function d(I,B){const E=C.get(I);I.version>0&&E.__version!==I.version?function(I,C,B){if(6!==C.image.length)return;Y(I,C),g.activeTexture(33984+B),g.bindTexture(34067,I.__webglTexture),A.pixelStorei(37440,C.flipY),A.pixelStorei(37441,C.premultiplyAlpha),A.pixelStorei(3317,C.unpackAlignment),A.pixelStorei(37443,0);const E=C&&(C.isCompressedTexture||C.image[0].isCompressedTexture),o=C.image[0]&&C.image[0].isDataTexture,e=[];for(let A=0;A<6;A++)e[A]=E||o?o?C.image[A].image:C.image[A]:w(C.image[A],!1,!0,t);const s=e[0],a=c(s)||i,D=Q.convert(C.format),n=Q.convert(C.type),r=F(C.internalFormat,D,n,C.encoding),h=i&&!0!==C.isVideoTexture,N=void 0===I.__version;let l,M=R(C,s,a);if(J(34067,C,a),E){h&&N&&g.texStorage2D(34067,M,r,s.width,s.height);for(let A=0;A<6;A++){l=e[A].mipmaps;for(let I=0;I0&&M++,g.texStorage2D(34067,M,r,e[0].width,e[0].height));for(let A=0;A<6;A++)if(o){h?g.texSubImage2D(34069+A,0,0,0,e[A].width,e[A].height,D,n,e[A].data):g.texImage2D(34069+A,0,r,e[A].width,e[A].height,0,D,n,e[A].data);for(let I=0;I1||C.get(Q).__currentAnisotropy)&&(A.texParameterf(g,E.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(Q.anisotropy,B.getMaxAnisotropy())),C.get(Q).__currentAnisotropy=Q.anisotropy)}}function Y(I,g){void 0===I.__webglInit&&(I.__webglInit=!0,g.addEventListener("dispose",l),I.__webglTexture=A.createTexture(),E.memory.textures++)}function u(I,C,B){let E=3553;C.isDataTexture2DArray&&(E=35866),C.isDataTexture3D&&(E=32879),Y(I,C),g.activeTexture(33984+B),g.bindTexture(E,I.__webglTexture),A.pixelStorei(37440,C.flipY),A.pixelStorei(37441,C.premultiplyAlpha),A.pixelStorei(3317,C.unpackAlignment),A.pixelStorei(37443,0);const o=function(A){return!i&&(A.wrapS!==aA||A.wrapT!==aA||A.minFilter!==nA&&A.minFilter!==GA)}(C)&&!1===c(C.image),t=w(C.image,o,!1,e),s=c(t)||i,a=Q.convert(C.format);let D,n=Q.convert(C.type),r=F(C.internalFormat,a,n,C.encoding);J(E,C,s);const h=C.mipmaps,N=i&&!0!==C.isVideoTexture,l=void 0===I.__version,M=R(C,t,s);if(C.isDepthTexture)r=6402,i?r=C.type===kA?36012:C.type===KA?33190:C.type===pA?35056:33189:C.type===kA&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),C.format===bA&&6402===r&&C.type!==UA&&C.type!==KA&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),C.type=UA,n=Q.convert(C.type)),C.format===TA&&6402===r&&(r=34041,C.type!==pA&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),C.type=pA,n=Q.convert(C.type))),N&&l?g.texStorage2D(3553,1,r,t.width,t.height):g.texImage2D(3553,0,r,t.width,t.height,0,a,n,null);else if(C.isDataTexture)if(h.length>0&&s){N&&l&&g.texStorage2D(3553,M,r,h[0].width,h[0].height);for(let A=0,I=h.length;A0&&s){N&&l&&g.texStorage2D(3553,M,r,h[0].width,h[0].height);for(let A=0,I=h.length;A=o&&console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+o),S+=1,A},this.resetTextureUnits=function(){S=0},this.setTexture2D=U,this.setTexture2DArray=function(A,I){const B=C.get(A);A.version>0&&B.__version!==A.version?u(B,A,I):(g.activeTexture(33984+I),g.bindTexture(35866,B.__webglTexture))},this.setTexture3D=function(A,I){const B=C.get(A);A.version>0&&B.__version!==A.version?u(B,A,I):(g.activeTexture(33984+I),g.bindTexture(32879,B.__webglTexture))},this.setTextureCube=d,this.rebindTextures=function(A,I,g){const B=C.get(A);void 0!==I&&L(B.__webglFramebuffer,A,A.texture,36064,3553),void 0!==g&&f(A)},this.setupRenderTarget=function(I){const o=I.texture,t=C.get(I),e=C.get(o);I.addEventListener("dispose",M),!0!==I.isWebGLMultipleRenderTargets&&(void 0===e.__webglTexture&&(e.__webglTexture=A.createTexture()),e.__version=o.version,E.memory.textures++);const s=!0===I.isWebGLCubeRenderTarget,a=!0===I.isWebGLMultipleRenderTargets,D=o.isDataTexture3D||o.isDataTexture2DArray,n=c(I)||i;if(!i||o.format!==HA||o.type!==kA&&o.type!==JA||(o.format=mA,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),s){t.__webglFramebuffer=[];for(let I=0;I<6;I++)t.__webglFramebuffer[I]=A.createFramebuffer()}else if(t.__webglFramebuffer=A.createFramebuffer(),a)if(B.drawBuffers){const g=I.texture;for(let I=0,B=g.length;Ii+t?(o.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!o.inputState.pinching&&E<=i-t&&(o.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else null!==i&&A.gripSpace&&(B=I.getPose(A.gripSpace,g),null!==B&&(i.matrix.fromArray(B.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),B.linearVelocity?(i.hasLinearVelocity=!0,i.linearVelocity.copy(B.linearVelocity)):i.hasLinearVelocity=!1,B.angularVelocity?(i.hasAngularVelocity=!0,i.angularVelocity.copy(B.angularVelocity)):i.hasAngularVelocity=!1));return null!==E&&(E.visible=null!==C),null!==i&&(i.visible=null!==B),null!==o&&(o.visible=null!==Q),this}}class wo extends jg{constructor(A,I,g,C,B,Q,E,i,o,t){if((t=void 0!==t?t:bA)!==bA&&t!==TA)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===g&&t===bA&&(g=UA),void 0===g&&t===TA&&(g=pA),super(null,C,B,Q,E,i,t,g,o),this.image={width:A,height:I},this.magFilter=void 0!==E?E:nA,this.minFilter=void 0!==i?i:nA,this.flipY=!1,this.generateMipmaps=!1}}wo.prototype.isDepthTexture=!0;class co extends dg{constructor(A,I){super();const g=this;let C=null,B=1,Q=null,E="local-floor";const i=A.extensions.has("WEBGL_multisampled_render_to_texture");let o=null,t=null,e=null,s=null,a=!1,D=null;const n=I.getContextAttributes();let r=null,h=null;const w=[],c=new Map,G=new GQ;G.layers.enable(1),G.viewport=new _g;const y=new GQ;y.layers.enable(2),y.viewport=new _g;const F=[G,y],R=new Do;R.layers.enable(1),R.layers.enable(2);let N=null,l=null;function M(A){const I=c.get(A.inputSource);I&&I.dispatchEvent({type:A.type,data:A.inputSource})}function S(){c.forEach((function(A,I){A.disconnect(I)})),c.clear(),N=null,l=null,A.setRenderTarget(r),s=null,e=null,t=null,C=null,h=null,Y.stop(),g.isPresenting=!1,g.dispatchEvent({type:"sessionend"})}function U(A){const I=C.inputSources;for(let A=0;A0&&(I.alphaTest.value=g.alphaTest);const C=A.get(g).envMap;let B,Q;C&&(I.envMap.value=C,I.flipEnvMap.value=C.isCubeTexture&&!1===C.isRenderTargetTexture?-1:1,I.reflectivity.value=g.reflectivity,I.ior.value=g.ior,I.refractionRatio.value=g.refractionRatio),g.lightMap&&(I.lightMap.value=g.lightMap,I.lightMapIntensity.value=g.lightMapIntensity),g.aoMap&&(I.aoMap.value=g.aoMap,I.aoMapIntensity.value=g.aoMapIntensity),g.map?B=g.map:g.specularMap?B=g.specularMap:g.displacementMap?B=g.displacementMap:g.normalMap?B=g.normalMap:g.bumpMap?B=g.bumpMap:g.roughnessMap?B=g.roughnessMap:g.metalnessMap?B=g.metalnessMap:g.alphaMap?B=g.alphaMap:g.emissiveMap?B=g.emissiveMap:g.clearcoatMap?B=g.clearcoatMap:g.clearcoatNormalMap?B=g.clearcoatNormalMap:g.clearcoatRoughnessMap?B=g.clearcoatRoughnessMap:g.specularIntensityMap?B=g.specularIntensityMap:g.specularColorMap?B=g.specularColorMap:g.transmissionMap?B=g.transmissionMap:g.thicknessMap?B=g.thicknessMap:g.sheenColorMap?B=g.sheenColorMap:g.sheenRoughnessMap&&(B=g.sheenRoughnessMap),void 0!==B&&(B.isWebGLRenderTarget&&(B=B.texture),!0===B.matrixAutoUpdate&&B.updateMatrix(),I.uvTransform.value.copy(B.matrix)),g.aoMap?Q=g.aoMap:g.lightMap&&(Q=g.lightMap),void 0!==Q&&(Q.isWebGLRenderTarget&&(Q=Q.texture),!0===Q.matrixAutoUpdate&&Q.updateMatrix(),I.uv2Transform.value.copy(Q.matrix))}function g(I,g){I.roughness.value=g.roughness,I.metalness.value=g.metalness,g.roughnessMap&&(I.roughnessMap.value=g.roughnessMap),g.metalnessMap&&(I.metalnessMap.value=g.metalnessMap),g.emissiveMap&&(I.emissiveMap.value=g.emissiveMap),g.bumpMap&&(I.bumpMap.value=g.bumpMap,I.bumpScale.value=g.bumpScale,g.side===r&&(I.bumpScale.value*=-1)),g.normalMap&&(I.normalMap.value=g.normalMap,I.normalScale.value.copy(g.normalScale),g.side===r&&I.normalScale.value.negate()),g.displacementMap&&(I.displacementMap.value=g.displacementMap,I.displacementScale.value=g.displacementScale,I.displacementBias.value=g.displacementBias),A.get(g).envMap&&(I.envMapIntensity.value=g.envMapIntensity)}return{refreshFogUniforms:function(A,I){A.fogColor.value.copy(I.color),I.isFog?(A.fogNear.value=I.near,A.fogFar.value=I.far):I.isFogExp2&&(A.fogDensity.value=I.density)},refreshMaterialUniforms:function(A,C,B,Q,E){C.isMeshBasicMaterial?I(A,C):C.isMeshLambertMaterial?(I(A,C),function(A,I){I.emissiveMap&&(A.emissiveMap.value=I.emissiveMap)}(A,C)):C.isMeshToonMaterial?(I(A,C),function(A,I){I.gradientMap&&(A.gradientMap.value=I.gradientMap),I.emissiveMap&&(A.emissiveMap.value=I.emissiveMap),I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshPhongMaterial?(I(A,C),function(A,I){A.specular.value.copy(I.specular),A.shininess.value=Math.max(I.shininess,1e-4),I.emissiveMap&&(A.emissiveMap.value=I.emissiveMap),I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshStandardMaterial?(I(A,C),C.isMeshPhysicalMaterial?function(A,I,C){g(A,I),A.ior.value=I.ior,I.sheen>0&&(A.sheenColor.value.copy(I.sheenColor).multiplyScalar(I.sheen),A.sheenRoughness.value=I.sheenRoughness,I.sheenColorMap&&(A.sheenColorMap.value=I.sheenColorMap),I.sheenRoughnessMap&&(A.sheenRoughnessMap.value=I.sheenRoughnessMap)),I.clearcoat>0&&(A.clearcoat.value=I.clearcoat,A.clearcoatRoughness.value=I.clearcoatRoughness,I.clearcoatMap&&(A.clearcoatMap.value=I.clearcoatMap),I.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=I.clearcoatRoughnessMap),I.clearcoatNormalMap&&(A.clearcoatNormalScale.value.copy(I.clearcoatNormalScale),A.clearcoatNormalMap.value=I.clearcoatNormalMap,I.side===r&&A.clearcoatNormalScale.value.negate())),I.transmission>0&&(A.transmission.value=I.transmission,A.transmissionSamplerMap.value=C.texture,A.transmissionSamplerSize.value.set(C.width,C.height),I.transmissionMap&&(A.transmissionMap.value=I.transmissionMap),A.thickness.value=I.thickness,I.thicknessMap&&(A.thicknessMap.value=I.thicknessMap),A.attenuationDistance.value=I.attenuationDistance,A.attenuationColor.value.copy(I.attenuationColor)),A.specularIntensity.value=I.specularIntensity,A.specularColor.value.copy(I.specularColor),I.specularIntensityMap&&(A.specularIntensityMap.value=I.specularIntensityMap),I.specularColorMap&&(A.specularColorMap.value=I.specularColorMap)}(A,C,E):g(A,C)):C.isMeshMatcapMaterial?(I(A,C),function(A,I){I.matcap&&(A.matcap.value=I.matcap),I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshDepthMaterial?(I(A,C),function(A,I){I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isMeshDistanceMaterial?(I(A,C),function(A,I){I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias),A.referencePosition.value.copy(I.referencePosition),A.nearDistance.value=I.nearDistance,A.farDistance.value=I.farDistance}(A,C)):C.isMeshNormalMaterial?(I(A,C),function(A,I){I.bumpMap&&(A.bumpMap.value=I.bumpMap,A.bumpScale.value=I.bumpScale,I.side===r&&(A.bumpScale.value*=-1)),I.normalMap&&(A.normalMap.value=I.normalMap,A.normalScale.value.copy(I.normalScale),I.side===r&&A.normalScale.value.negate()),I.displacementMap&&(A.displacementMap.value=I.displacementMap,A.displacementScale.value=I.displacementScale,A.displacementBias.value=I.displacementBias)}(A,C)):C.isLineBasicMaterial?(function(A,I){A.diffuse.value.copy(I.color),A.opacity.value=I.opacity}(A,C),C.isLineDashedMaterial&&function(A,I){A.dashSize.value=I.dashSize,A.totalSize.value=I.dashSize+I.gapSize,A.scale.value=I.scale}(A,C)):C.isPointsMaterial?function(A,I,g,C){let B;A.diffuse.value.copy(I.color),A.opacity.value=I.opacity,A.size.value=I.size*g,A.scale.value=.5*C,I.map&&(A.map.value=I.map),I.alphaMap&&(A.alphaMap.value=I.alphaMap),I.alphaTest>0&&(A.alphaTest.value=I.alphaTest),I.map?B=I.map:I.alphaMap&&(B=I.alphaMap),void 0!==B&&(!0===B.matrixAutoUpdate&&B.updateMatrix(),A.uvTransform.value.copy(B.matrix))}(A,C,B,Q):C.isSpriteMaterial?function(A,I){let g;A.diffuse.value.copy(I.color),A.opacity.value=I.opacity,A.rotation.value=I.rotation,I.map&&(A.map.value=I.map),I.alphaMap&&(A.alphaMap.value=I.alphaMap),I.alphaTest>0&&(A.alphaTest.value=I.alphaTest),I.map?g=I.map:I.alphaMap&&(g=I.alphaMap),void 0!==g&&(!0===g.matrixAutoUpdate&&g.updateMatrix(),A.uvTransform.value.copy(g.matrix))}(A,C):C.isShadowMaterial?(A.color.value.copy(C.color),A.opacity.value=C.opacity):C.isShaderMaterial&&(C.uniformsNeedUpdate=!1)}}}function yo(A={}){const I=void 0!==A.canvas?A.canvas:function(){const A=Zg("canvas");return A.style.display="block",A}(),g=void 0!==A.context?A.context:null,B=void 0!==A.alpha&&A.alpha,Q=void 0===A.depth||A.depth,E=void 0===A.stencil||A.stencil,i=void 0!==A.antialias&&A.antialias,o=void 0===A.premultipliedAlpha||A.premultipliedAlpha,t=void 0!==A.preserveDrawingBuffer&&A.preserveDrawingBuffer,e=void 0!==A.powerPreference?A.powerPreference:"default",s=void 0!==A.failIfMajorPerformanceCaveat&&A.failIfMajorPerformanceCaveat;let a=null,D=null;const w=[],c=[];this.domElement=I,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=PI,this.physicallyCorrectLights=!1,this.toneMapping=_,this.toneMappingExposure=1;const G=this;let y=!1,F=0,R=0,N=null,l=-1,M=null;const S=new _g,U=new _g;let d=null,K=I.width,k=I.height,J=1,Y=null,u=null;const L=new _g(0,0,K,k),p=new _g(0,0,K,k);let f=!1;const H=[],m=new kQ;let q=!1,x=!1,b=null;const T=new LC,V=new CC,W={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function v(){return null===N?J:1}let Z,O,X,P,j,z,$,AA,IA,gA,CA,BA,QA,EA,iA,oA,tA,eA,sA,DA,rA,hA,wA,cA=g;function GA(A,g){for(let C=0;C0&&function(A,I,g){if(null===b){const A=!0===i&&!0===O.isWebGL2;b=new(A?IC:$g)(1024,1024,{generateMipmaps:!0,type:null!==hA.convert(JA)?JA:lA,minFilter:RA,magFilter:nA,wrapS:aA,wrapT:aA,useRenderToTexture:Z.has("WEBGL_multisampled_render_to_texture")})}const C=G.getRenderTarget();G.setRenderTarget(b),G.clear();const B=G.toneMapping;G.toneMapping=_,pA(A,I,g),G.toneMapping=B,z.updateMultisampleRenderTarget(b),z.updateRenderTargetMipmap(b),G.setRenderTarget(C)}(B,I,g),C&&X.viewport(S.copy(C)),B.length>0&&pA(B,I,g),Q.length>0&&pA(Q,I,g),E.length>0&&pA(E,I,g)}function pA(A,I,g){const C=!0===I.isScene?I.overrideMaterial:null;for(let B=0,Q=A.length;B0?c[c.length-1]:null,w.pop(),a=w.length>0?w[w.length-1]:null},this.getActiveCubeFace=function(){return F},this.getActiveMipmapLevel=function(){return R},this.getRenderTarget=function(){return N},this.setRenderTargetTextures=function(A,I,g){j.get(A.texture).__webglTexture=I,j.get(A.depthTexture).__webglTexture=g;const C=j.get(A);C.__hasExternalTextures=!0,C.__hasExternalTextures&&(C.__autoAllocateDepthBuffer=void 0===g,C.__autoAllocateDepthBuffer||A.useRenderToTexture&&(console.warn("render-to-texture extension was disabled because an external texture was provided"),A.useRenderToTexture=!1,A.useRenderbuffer=!0))},this.setRenderTargetFramebuffer=function(A,I){const g=j.get(A);g.__webglFramebuffer=I,g.__useDefaultFramebuffer=void 0===I},this.setRenderTarget=function(A,I=0,g=0){N=A,F=I,R=g;let C=!0;if(A){const I=j.get(A);void 0!==I.__useDefaultFramebuffer?(X.bindFramebuffer(36160,null),C=!1):void 0===I.__webglFramebuffer?z.setupRenderTarget(A):I.__hasExternalTextures&&z.rebindTextures(A,j.get(A.texture).__webglTexture,j.get(A.depthTexture).__webglTexture)}let B=null,Q=!1,E=!1;if(A){const g=A.texture;(g.isDataTexture3D||g.isDataTexture2DArray)&&(E=!0);const C=j.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(B=C[I],Q=!0):B=A.useRenderbuffer?j.get(A).__webglMultisampledFramebuffer:C,S.copy(A.viewport),U.copy(A.scissor),d=A.scissorTest}else S.copy(L).multiplyScalar(J).floor(),U.copy(p).multiplyScalar(J).floor(),d=f;if(X.bindFramebuffer(36160,B)&&O.drawBuffers&&C){let I=!1;if(A)if(A.isWebGLMultipleRenderTargets){const g=A.texture;if(H.length!==g.length||36064!==H[0]){for(let A=0,I=g.length;A=0&&I<=A.width-C&&g>=0&&g<=A.height-B&&cA.readPixels(I,g,C,B,hA.convert(i),hA.convert(o),Q):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const A=null!==N?j.get(N).__webglFramebuffer:null;X.bindFramebuffer(36160,A)}}},this.copyFramebufferToTexture=function(A,I,g=0){if(!0!==I.isFramebufferTexture)return void console.error("THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.");const C=Math.pow(2,-g),B=Math.floor(I.image.width*C),Q=Math.floor(I.image.height*C);z.setTexture2D(I,0),cA.copyTexSubImage2D(3553,g,0,0,A.x,A.y,B,Q),X.unbindTexture()},this.copyTextureToTexture=function(A,I,g,C=0){const B=I.image.width,Q=I.image.height,E=hA.convert(g.format),i=hA.convert(g.type);z.setTexture2D(g,0),cA.pixelStorei(37440,g.flipY),cA.pixelStorei(37441,g.premultiplyAlpha),cA.pixelStorei(3317,g.unpackAlignment),I.isDataTexture?cA.texSubImage2D(3553,C,A.x,A.y,B,Q,E,i,I.image.data):I.isCompressedTexture?cA.compressedTexSubImage2D(3553,C,A.x,A.y,I.mipmaps[0].width,I.mipmaps[0].height,E,I.mipmaps[0].data):cA.texSubImage2D(3553,C,A.x,A.y,E,i,I.image),0===C&&g.generateMipmaps&&cA.generateMipmap(3553),X.unbindTexture()},this.copyTextureToTexture3D=function(A,I,g,C,B=0){if(G.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const Q=A.max.x-A.min.x+1,E=A.max.y-A.min.y+1,i=A.max.z-A.min.z+1,o=hA.convert(C.format),t=hA.convert(C.type);let e;if(C.isDataTexture3D)z.setTexture3D(C,0),e=32879;else{if(!C.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");z.setTexture2DArray(C,0),e=35866}cA.pixelStorei(37440,C.flipY),cA.pixelStorei(37441,C.premultiplyAlpha),cA.pixelStorei(3317,C.unpackAlignment);const s=cA.getParameter(3314),a=cA.getParameter(32878),D=cA.getParameter(3316),n=cA.getParameter(3315),r=cA.getParameter(32877),h=g.isCompressedTexture?g.mipmaps[0]:g.image;cA.pixelStorei(3314,h.width),cA.pixelStorei(32878,h.height),cA.pixelStorei(3316,A.min.x),cA.pixelStorei(3315,A.min.y),cA.pixelStorei(32877,A.min.z),g.isDataTexture||g.isDataTexture3D?cA.texSubImage3D(e,B,I.x,I.y,I.z,Q,E,i,o,t,h.data):g.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),cA.compressedTexSubImage3D(e,B,I.x,I.y,I.z,Q,E,i,o,h.data)):cA.texSubImage3D(e,B,I.x,I.y,I.z,Q,E,i,o,t,h),cA.pixelStorei(3314,s),cA.pixelStorei(32878,a),cA.pixelStorei(3316,D),cA.pixelStorei(3315,n),cA.pixelStorei(32877,r),0===B&&C.generateMipmaps&&cA.generateMipmap(e),X.unbindTexture()},this.initTexture=function(A){z.setTexture2D(A,0),X.unbindTexture()},this.resetState=function(){F=0,R=0,N=null,X.reset(),wA.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}yo.prototype.isWebGLRenderer=!0;class Fo extends yo{}Fo.prototype.isWebGL1Renderer=!0;class Ro{constructor(A,I=25e-5){this.name="",this.color=new MB(A),this.density=I}clone(){return new Ro(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Ro.prototype.isFogExp2=!0;class No{constructor(A,I=1,g=1e3){this.name="",this.color=new MB(A),this.near=I,this.far=g}clone(){return new No(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}No.prototype.isFog=!0;class lo extends QB{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,I){return super.copy(A,I),null!==A.background&&(this.background=A.background.clone()),null!==A.environment&&(this.environment=A.environment.clone()),null!==A.fog&&(this.fog=A.fog.clone()),null!==A.overrideMaterial&&(this.overrideMaterial=A.overrideMaterial.clone()),this.autoUpdate=A.autoUpdate,this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const I=super.toJSON(A);return null!==this.fog&&(I.object.fog=this.fog.toJSON()),I}}lo.prototype.isScene=!0;class Mo{constructor(A,I){this.array=A,this.stride=I,this.count=void 0!==A?A.length/I:0,this.usage=wg,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=ug()}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}setUsage(A){return this.usage=A,this}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,I,g){A*=this.stride,g*=I.stride;for(let C=0,B=this.stride;CA.far||I.push({distance:i,point:Jo.clone(),uv:hB.getUV(Jo,Ho,mo,qo,xo,bo,To,new bg),face:null,object:this})}copy(A){return super.copy(A),void 0!==A.center&&this.center.copy(A.center),this.material=A.material,this}}function Wo(A,I,g,C,B,Q){Lo.subVectors(A,g).addScalar(.5).multiply(C),void 0!==B?(po.x=Q*Lo.x-B*Lo.y,po.y=B*Lo.x+Q*Lo.y):po.copy(Lo),A.copy(I),A.x+=po.x,A.y+=po.y,A.applyMatrix4(fo)}Vo.prototype.isSprite=!0;const vo=new CC,Zo=new CC;class Oo extends QB{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const I=A.levels;for(let A=0,g=I.length;A0){let g,C;for(g=1,C=I.length;g0){vo.setFromMatrixPosition(this.matrixWorld);const g=A.ray.origin.distanceTo(vo);this.getObjectForDistance(g).raycast(A,I)}}update(A){const I=this.levels;if(I.length>1){vo.setFromMatrixPosition(A.matrixWorld),Zo.setFromMatrixPosition(this.matrixWorld);const g=vo.distanceTo(Zo)/A.zoom;let C,B;for(I[0].object.visible=!0,C=1,B=I.length;C=I[C].distance;C++)I[C-1].object.visible=!1,I[C].object.visible=!0;for(this._currentLevel=C-1;Ci)continue;s.applyMatrix4(this.matrixWorld);const a=A.ray.origin.distanceTo(s);aA.far||I.push({distance:a,point:e.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this})}else for(let g=Math.max(0,Q.start),C=Math.min(B.count,Q.start+Q.count)-1;gi)continue;s.applyMatrix4(this.matrixWorld);const C=A.ray.origin.distanceTo(s);CA.far||I.push({distance:C,point:e.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this})}}else g.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const A=this.geometry;if(A.isBufferGeometry){const I=A.morphAttributes,g=Object.keys(I);if(g.length>0){const A=I[g[0]];if(void 0!==A){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,g=A.length;I0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}wt.prototype.isLine=!0;const ct=new CC,Gt=new CC;class yt extends wt{constructor(A,I){super(A,I),this.type="LineSegments"}computeLineDistances(){const A=this.geometry;if(A.isBufferGeometry)if(null===A.index){const I=A.attributes.position,g=[];for(let A=0,C=I.count;A0){const A=I[g[0]];if(void 0!==A){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let I=0,g=A.length;I0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function dt(A,I,g,C,B,Q,E){const i=lt.distanceSqToPoint(A);if(iB.far)return;Q.push({distance:o,distanceToRay:Math.sqrt(i),point:g,index:I,face:null,object:E})}}Ut.prototype.isPoints=!0;class Kt extends jg{constructor(A,I,g,C,B,Q,E,i,o){super(A,I,g,C,B,Q,E,i,o),this.format=void 0!==E?E:HA,this.minFilter=void 0!==Q?Q:GA,this.magFilter=void 0!==B?B:GA,this.generateMipmaps=!1;const t=this;"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback((function I(){t.needsUpdate=!0,A.requestVideoFrameCallback(I)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;!1=="requestVideoFrameCallback"in A&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}Kt.prototype.isVideoTexture=!0;class kt extends jg{constructor(A,I,g){super({width:A,height:I}),this.format=g,this.magFilter=nA,this.minFilter=nA,this.generateMipmaps=!1,this.needsUpdate=!0}}kt.prototype.isFramebufferTexture=!0;class Jt extends jg{constructor(A,I,g,C,B,Q,E,i,o,t,e,s){super(null,Q,E,i,o,t,C,B,e,s),this.image={width:I,height:g},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}Jt.prototype.isCompressedTexture=!0;class Yt extends jg{constructor(A,I,g,C,B,Q,E,i,o){super(A,I,g,C,B,Q,E,i,o),this.needsUpdate=!0}}Yt.prototype.isCanvasTexture=!0;class ut extends OB{constructor(A=1,I=8,g=0,C=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:A,segments:I,thetaStart:g,thetaLength:C},I=Math.max(3,I);const B=[],Q=[],E=[],i=[],o=new CC,t=new bg;Q.push(0,0,0),E.push(0,0,1),i.push(.5,.5);for(let B=0,e=3;B<=I;B++,e+=3){const s=g+B/I*C;o.x=A*Math.cos(s),o.y=A*Math.sin(s),Q.push(o.x,o.y,o.z),E.push(0,0,1),t.x=(Q[e]/A+1)/2,t.y=(Q[e+1]/A+1)/2,i.push(t.x,t.y)}for(let A=1;A<=I;A++)B.push(A,A+1,0);this.setIndex(B),this.setAttribute("position",new mB(Q,3)),this.setAttribute("normal",new mB(E,3)),this.setAttribute("uv",new mB(i,2))}static fromJSON(A){return new ut(A.radius,A.segments,A.thetaStart,A.thetaLength)}}class Lt extends OB{constructor(A=1,I=1,g=1,C=8,B=1,Q=!1,E=0,i=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:A,radiusBottom:I,height:g,radialSegments:C,heightSegments:B,openEnded:Q,thetaStart:E,thetaLength:i};const o=this;C=Math.floor(C),B=Math.floor(B);const t=[],e=[],s=[],a=[];let D=0;const n=[],r=g/2;let h=0;function w(g){const B=D,Q=new bg,n=new CC;let w=0;const c=!0===g?A:I,G=!0===g?1:-1;for(let A=1;A<=C;A++)e.push(0,r*G,0),s.push(0,G,0),a.push(.5,.5),D++;const y=D;for(let A=0;A<=C;A++){const I=A/C*i+E,g=Math.cos(I),B=Math.sin(I);n.x=c*B,n.y=r*G,n.z=c*g,e.push(n.x,n.y,n.z),s.push(0,G,0),Q.x=.5*g+.5,Q.y=.5*B*G+.5,a.push(Q.x,Q.y),D++}for(let A=0;A0&&w(!0),I>0&&w(!1)),this.setIndex(t),this.setAttribute("position",new mB(e,3)),this.setAttribute("normal",new mB(s,3)),this.setAttribute("uv",new mB(a,2))}static fromJSON(A){return new Lt(A.radiusTop,A.radiusBottom,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class pt extends Lt{constructor(A=1,I=1,g=8,C=1,B=!1,Q=0,E=2*Math.PI){super(0,A,I,g,C,B,Q,E),this.type="ConeGeometry",this.parameters={radius:A,height:I,radialSegments:g,heightSegments:C,openEnded:B,thetaStart:Q,thetaLength:E}}static fromJSON(A){return new pt(A.radius,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class ft extends OB{constructor(A=[],I=[],g=1,C=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:I,radius:g,detail:C};const B=[],Q=[];function E(A,I,g,C){const B=C+1,Q=[];for(let C=0;C<=B;C++){Q[C]=[];const E=A.clone().lerp(g,C/B),i=I.clone().lerp(g,C/B),o=B-C;for(let A=0;A<=o;A++)Q[C][A]=0===A&&C===B?E:E.clone().lerp(i,A/o)}for(let A=0;A.9&&E<.1&&(I<.2&&(Q[A+0]+=1),g<.2&&(Q[A+2]+=1),C<.2&&(Q[A+4]+=1))}}()}(),this.setAttribute("position",new mB(B,3)),this.setAttribute("normal",new mB(B.slice(),3)),this.setAttribute("uv",new mB(Q,2)),0===C?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(A){return new ft(A.vertices,A.indices,A.radius,A.details)}}class Ht extends ft{constructor(A=1,I=0){const g=(1+Math.sqrt(5))/2,C=1/g;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-C,-g,0,-C,g,0,C,-g,0,C,g,-C,-g,0,-C,g,0,C,-g,0,C,g,0,-g,0,-C,g,0,-C,-g,0,C,g,0,C],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],A,I),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:I}}static fromJSON(A){return new Ht(A.radius,A.detail)}}const mt=new CC,qt=new CC,xt=new CC,bt=new hB;class Tt extends OB{constructor(A=null,I=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:A,thresholdAngle:I},null!==A){const g=4,C=Math.pow(10,g),B=Math.cos(Jg*I),Q=A.getIndex(),E=A.getAttribute("position"),i=Q?Q.count:E.count,o=[0,0,0],t=["a","b","c"],e=new Array(3),s={},a=[];for(let A=0;A0)){o=C;break}o=C-1}if(C=o,g[C]===Q)return C/(B-1);const t=g[C];return(C+(Q-t)/(g[C+1]-t))/(B-1)}getTangent(A,I){const g=1e-4;let C=A-g,B=A+g;C<0&&(C=0),B>1&&(B=1);const Q=this.getPoint(C),E=this.getPoint(B),i=I||(Q.isVector2?new bg:new CC);return i.copy(E).sub(Q).normalize(),i}getTangentAt(A,I){const g=this.getUtoTmapping(A);return this.getTangent(g,I)}computeFrenetFrames(A,I){const g=new CC,C=[],B=[],Q=[],E=new CC,i=new LC;for(let I=0;I<=A;I++){const g=I/A;C[I]=this.getTangentAt(g,new CC)}B[0]=new CC,Q[0]=new CC;let o=Number.MAX_VALUE;const t=Math.abs(C[0].x),e=Math.abs(C[0].y),s=Math.abs(C[0].z);t<=o&&(o=t,g.set(1,0,0)),e<=o&&(o=e,g.set(0,1,0)),s<=o&&g.set(0,0,1),E.crossVectors(C[0],g).normalize(),B[0].crossVectors(C[0],E),Q[0].crossVectors(C[0],B[0]);for(let I=1;I<=A;I++){if(B[I]=B[I-1].clone(),Q[I]=Q[I-1].clone(),E.crossVectors(C[I-1],C[I]),E.length()>Number.EPSILON){E.normalize();const A=Math.acos(Lg(C[I-1].dot(C[I]),-1,1));B[I].applyMatrix4(i.makeRotationAxis(E,A))}Q[I].crossVectors(C[I],B[I])}if(!0===I){let I=Math.acos(Lg(B[0].dot(B[A]),-1,1));I/=A,C[0].dot(E.crossVectors(B[0],B[A]))>0&&(I=-I);for(let g=1;g<=A;g++)B[g].applyMatrix4(i.makeRotationAxis(C[g],I*g)),Q[g].crossVectors(C[g],B[g])}return{tangents:C,normals:B,binormals:Q}}clone(){return(new this.constructor).copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class Wt extends Vt{constructor(A=0,I=0,g=1,C=1,B=0,Q=2*Math.PI,E=!1,i=0){super(),this.type="EllipseCurve",this.aX=A,this.aY=I,this.xRadius=g,this.yRadius=C,this.aStartAngle=B,this.aEndAngle=Q,this.aClockwise=E,this.aRotation=i}getPoint(A,I){const g=I||new bg,C=2*Math.PI;let B=this.aEndAngle-this.aStartAngle;const Q=Math.abs(B)C;)B-=C;B0?0:(Math.floor(Math.abs(o)/B)+1)*B:0===t&&o===B-1&&(o=B-2,t=1),this.closed||o>0?E=C[(o-1)%B]:(Ot.subVectors(C[0],C[1]).add(C[0]),E=Ot);const e=C[o%B],s=C[(o+1)%B];if(this.closed||o+2C.length-2?C.length-1:Q+1],e=C[Q>C.length-3?C.length-1:Q+2];return g.set(_t(E,i.x,o.x,t.x,e.x),_t(E,i.y,o.y,t.y,e.y)),g}copy(A){super.copy(A),this.points=[];for(let I=0,g=A.points.length;I=g){const A=C[B]-g,Q=this.curves[B],E=Q.getLength(),i=0===E?0:1-A/E;return Q.getPointAt(i,I)}B++}return null}getLength(){const A=this.getCurveLengths();return A[A.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const A=[];let I=0;for(let g=0,C=this.curves.length;g1&&!I[I.length-1].equals(I[0])&&I.push(I[0]),I}copy(A){super.copy(A),this.curves=[];for(let I=0,g=A.curves.length;I0){const A=o.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(o);const t=o.getPoint(1);return this.currentPoint.copy(t),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class se extends ee{constructor(A){super(A),this.uuid=ug(),this.type="Shape",this.holes=[]}getPointsHoles(A){const I=[];for(let g=0,C=this.holes.length;g0)for(Q=I;Q=I;Q-=C)E=ue(Q,A[Q],A[Q+1],E);return E&&Ue(E,E.next)&&(Le(E),E=E.next),E}function De(A,I){if(!A)return A;I||(I=A);let g,C=A;do{if(g=!1,C.steiner||!Ue(C,C.next)&&0!==Se(C.prev,C,C.next))C=C.next;else{if(Le(C),C=I=C.prev,C===C.next)break;g=!0}}while(g||C!==I);return I}function ne(A,I,g,C,B,Q,E){if(!A)return;!E&&Q&&function(A,I,g,C){let B=A;do{null===B.z&&(B.z=Re(B.x,B.y,I,g,C)),B.prevZ=B.prev,B.nextZ=B.next,B=B.next}while(B!==A);B.prevZ.nextZ=null,B.prevZ=null,function(A){let I,g,C,B,Q,E,i,o,t=1;do{for(g=A,A=null,Q=null,E=0;g;){for(E++,C=g,i=0,I=0;I0||o>0&&C;)0!==i&&(0===o||!C||g.z<=C.z)?(B=g,g=g.nextZ,i--):(B=C,C=C.nextZ,o--),Q?Q.nextZ=B:A=B,B.prevZ=Q,Q=B;g=C}Q.nextZ=null,t*=2}while(E>1)}(B)}(A,C,B,Q);let i,o,t=A;for(;A.prev!==A.next;)if(i=A.prev,o=A.next,Q?he(A,C,B,Q):re(A))I.push(i.i/g),I.push(A.i/g),I.push(o.i/g),Le(A),A=o.next,t=o.next;else if((A=o)===t){E?1===E?ne(A=we(De(A),I,g),I,g,C,B,Q,2):2===E&&ce(A,I,g,C,B,Q):ne(De(A),I,g,C,B,Q,1);break}}function re(A){const I=A.prev,g=A,C=A.next;if(Se(I,g,C)>=0)return!1;let B=A.next.next;for(;B!==A.prev;){if(le(I.x,I.y,g.x,g.y,C.x,C.y,B.x,B.y)&&Se(B.prev,B,B.next)>=0)return!1;B=B.next}return!0}function he(A,I,g,C){const B=A.prev,Q=A,E=A.next;if(Se(B,Q,E)>=0)return!1;const i=B.xQ.x?B.x>E.x?B.x:E.x:Q.x>E.x?Q.x:E.x,e=B.y>Q.y?B.y>E.y?B.y:E.y:Q.y>E.y?Q.y:E.y,s=Re(i,o,I,g,C),a=Re(t,e,I,g,C);let D=A.prevZ,n=A.nextZ;for(;D&&D.z>=s&&n&&n.z<=a;){if(D!==A.prev&&D!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,D.x,D.y)&&Se(D.prev,D,D.next)>=0)return!1;if(D=D.prevZ,n!==A.prev&&n!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,n.x,n.y)&&Se(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(;D&&D.z>=s;){if(D!==A.prev&&D!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,D.x,D.y)&&Se(D.prev,D,D.next)>=0)return!1;D=D.prevZ}for(;n&&n.z<=a;){if(n!==A.prev&&n!==A.next&&le(B.x,B.y,Q.x,Q.y,E.x,E.y,n.x,n.y)&&Se(n.prev,n,n.next)>=0)return!1;n=n.nextZ}return!0}function we(A,I,g){let C=A;do{const B=C.prev,Q=C.next.next;!Ue(B,Q)&&de(B,C,C.next,Q)&&Je(B,Q)&&Je(Q,B)&&(I.push(B.i/g),I.push(C.i/g),I.push(Q.i/g),Le(C),Le(C.next),C=A=Q),C=C.next}while(C!==A);return De(C)}function ce(A,I,g,C,B,Q){let E=A;do{let A=E.next.next;for(;A!==E.prev;){if(E.i!==A.i&&Me(E,A)){let i=Ye(E,A);return E=De(E,E.next),i=De(i,i.next),ne(E,I,g,C,B,Q),void ne(i,I,g,C,B,Q)}A=A.next}E=E.next}while(E!==A)}function Ge(A,I){return A.x-I.x}function ye(A,I){if(I=function(A,I){let g=I;const C=A.x,B=A.y;let Q,E=-1/0;do{if(B<=g.y&&B>=g.next.y&&g.next.y!==g.y){const A=g.x+(B-g.y)*(g.next.x-g.x)/(g.next.y-g.y);if(A<=C&&A>E){if(E=A,A===C){if(B===g.y)return g;if(B===g.next.y)return g.next}Q=g.x=g.x&&g.x>=o&&C!==g.x&&le(BQ.x||g.x===Q.x&&Fe(Q,g)))&&(Q=g,s=e)),g=g.next}while(g!==i);return Q}(A,I),I){const g=Ye(I,A);De(I,I.next),De(g,g.next)}}function Fe(A,I){return Se(A.prev,A,I.prev)<0&&Se(I.next,A,A.next)<0}function Re(A,I,g,C,B){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=32767*(A-g)*B)|A<<8))|A<<4))|A<<2))|A<<1))|(I=1431655765&((I=858993459&((I=252645135&((I=16711935&((I=32767*(I-C)*B)|I<<8))|I<<4))|I<<2))|I<<1))<<1}function Ne(A){let I=A,g=A;do{(I.x=0&&(A-E)*(C-i)-(g-E)*(I-i)>=0&&(g-E)*(Q-i)-(B-E)*(C-i)>=0}function Me(A,I){return A.next.i!==I.i&&A.prev.i!==I.i&&!function(A,I){let g=A;do{if(g.i!==A.i&&g.next.i!==A.i&&g.i!==I.i&&g.next.i!==I.i&&de(g,g.next,A,I))return!0;g=g.next}while(g!==A);return!1}(A,I)&&(Je(A,I)&&Je(I,A)&&function(A,I){let g=A,C=!1;const B=(A.x+I.x)/2,Q=(A.y+I.y)/2;do{g.y>Q!=g.next.y>Q&&g.next.y!==g.y&&B<(g.next.x-g.x)*(Q-g.y)/(g.next.y-g.y)+g.x&&(C=!C),g=g.next}while(g!==A);return C}(A,I)&&(Se(A.prev,A,I.prev)||Se(A,I.prev,I))||Ue(A,I)&&Se(A.prev,A,A.next)>0&&Se(I.prev,I,I.next)>0)}function Se(A,I,g){return(I.y-A.y)*(g.x-I.x)-(I.x-A.x)*(g.y-I.y)}function Ue(A,I){return A.x===I.x&&A.y===I.y}function de(A,I,g,C){const B=ke(Se(A,I,g)),Q=ke(Se(A,I,C)),E=ke(Se(g,C,A)),i=ke(Se(g,C,I));return B!==Q&&E!==i||!(0!==B||!Ke(A,g,I))||!(0!==Q||!Ke(A,C,I))||!(0!==E||!Ke(g,A,C))||!(0!==i||!Ke(g,I,C))}function Ke(A,I,g){return I.x<=Math.max(A.x,g.x)&&I.x>=Math.min(A.x,g.x)&&I.y<=Math.max(A.y,g.y)&&I.y>=Math.min(A.y,g.y)}function ke(A){return A>0?1:A<0?-1:0}function Je(A,I){return Se(A.prev,A,A.next)<0?Se(A,I,A.next)>=0&&Se(A,A.prev,I)>=0:Se(A,I,A.prev)<0||Se(A,A.next,I)<0}function Ye(A,I){const g=new pe(A.i,A.x,A.y),C=new pe(I.i,I.x,I.y),B=A.next,Q=I.prev;return A.next=I,I.prev=A,g.next=B,B.prev=g,C.next=g,g.prev=C,Q.next=C,C.prev=Q,C}function ue(A,I,g,C){const B=new pe(A,I,g);return C?(B.next=C.next,B.prev=C,C.next.prev=B,C.next=B):(B.prev=B,B.next=B),B}function Le(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function pe(A,I,g){this.i=A,this.x=I,this.y=g,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class fe{static area(A){const I=A.length;let g=0;for(let C=I-1,B=0;B80*g){i=t=A[0],o=e=A[1];for(let I=g;It&&(t=s),a>e&&(e=a);D=Math.max(t-i,e-o),D=0!==D?1/D:0}return ne(Q,E,g,i,o,D),E}(g,C);for(let A=0;A2&&A[I-1].equals(A[0])&&A.pop()}function me(A,I){for(let g=0;gNumber.EPSILON){const s=Math.sqrt(e),a=Math.sqrt(o*o+t*t),D=I.x-i/s,n=I.y+E/s,r=((g.x-t/a-D)*t-(g.y+o/a-n)*o)/(E*t-i*o);C=D+E*r-A.x,B=n+i*r-A.y;const h=C*C+B*B;if(h<=2)return new bg(C,B);Q=Math.sqrt(h/2)}else{let A=!1;E>Number.EPSILON?o>Number.EPSILON&&(A=!0):E<-Number.EPSILON?o<-Number.EPSILON&&(A=!0):Math.sign(i)===Math.sign(t)&&(A=!0),A?(C=-i,B=E,Q=Math.sqrt(e)):(C=E,B=i,Q=Math.sqrt(e/2))}return new bg(C/Q,B/Q)}const J=[];for(let A=0,I=S.length,g=I-1,C=A+1;A=0;A--){const I=A/D,g=e*Math.cos(I*Math.PI/2),C=s*Math.sin(I*Math.PI/2)+a;for(let A=0,I=S.length;A=0;){const C=g;let B=g-1;B<0&&(B=A.length-1);for(let A=0,g=i+2*D;A0)&&a.push(I,B,o),(A!==g-1||i0!=A>0&&this.version++,this._sheen=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.ior=A.ior,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}gs.prototype.isMeshPhysicalMaterial=!0;class Cs extends cB{constructor(A){super(),this.type="MeshPhongMaterial",this.color=new MB(16777215),this.specular=new MB(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new MB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=P,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this}}Cs.prototype.isMeshPhongMaterial=!0;class Bs extends cB{constructor(A){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new MB(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new MB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this}}Bs.prototype.isMeshToonMaterial=!0;class Qs extends cB{constructor(A){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}Qs.prototype.isMeshNormalMaterial=!0;class Es extends cB{constructor(A){super(),this.type="MeshLambertMaterial",this.color=new MB(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new MB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=P,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this}}Es.prototype.isMeshLambertMaterial=!0;class is extends cB{constructor(A){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new MB(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=$I,this.normalScale=new bg(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this}}is.prototype.isMeshMatcapMaterial=!0;class os extends st{constructor(A){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}os.prototype.isLineDashedMaterial=!0;var ts=Object.freeze({__proto__:null,ShadowMaterial:As,SpriteMaterial:Ko,RawShaderMaterial:WQ,ShaderMaterial:wQ,PointsMaterial:Rt,MeshPhysicalMaterial:gs,MeshStandardMaterial:Is,MeshPhongMaterial:Cs,MeshToonMaterial:Bs,MeshNormalMaterial:Qs,MeshLambertMaterial:Es,MeshDepthMaterial:io,MeshDistanceMaterial:oo,MeshBasicMaterial:SB,MeshMatcapMaterial:is,LineDashedMaterial:os,LineBasicMaterial:st,Material:cB});const es={arraySlice:function(A,I,g){return es.isTypedArray(A)?new A.constructor(A.subarray(I,void 0!==g?g:A.length)):A.slice(I,g)},convertArray:function(A,I,g){return!A||!g&&A.constructor===I?A:"number"==typeof I.BYTES_PER_ELEMENT?new I(A):Array.prototype.slice.call(A)},isTypedArray:function(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)},getKeyframeOrder:function(A){const I=A.length,g=new Array(I);for(let A=0;A!==I;++A)g[A]=A;return g.sort((function(I,g){return A[I]-A[g]})),g},sortedArray:function(A,I,g){const C=A.length,B=new A.constructor(C);for(let Q=0,E=0;E!==C;++Q){const C=g[Q]*I;for(let g=0;g!==I;++g)B[E++]=A[C+g]}return B},flattenJSON:function(A,I,g,C){let B=1,Q=A[0];for(;void 0!==Q&&void 0===Q[C];)Q=A[B++];if(void 0===Q)return;let E=Q[C];if(void 0!==E)if(Array.isArray(E))do{E=Q[C],void 0!==E&&(I.push(Q.time),g.push.apply(g,E)),Q=A[B++]}while(void 0!==Q);else if(void 0!==E.toArray)do{E=Q[C],void 0!==E&&(I.push(Q.time),E.toArray(g,g.length)),Q=A[B++]}while(void 0!==Q);else do{E=Q[C],void 0!==E&&(I.push(Q.time),g.push(E)),Q=A[B++]}while(void 0!==Q)},subclip:function(A,I,g,C,B=30){const Q=A.clone();Q.name=I;const E=[];for(let A=0;A=C)){o.push(I.times[A]);for(let g=0;gQ.tracks[A].times[0]&&(i=Q.tracks[A].times[0]);for(let A=0;A=C.times[s]){const A=s*o+i,I=A+o-i;a=es.arraySlice(C.values,A,I)}else{const A=C.createInterpolant(),I=i,g=o-i;A.evaluate(Q),a=es.arraySlice(A.resultBuffer,I,g)}"quaternion"===B&&(new gC).fromArray(a).normalize().conjugate().toArray(a);const D=E.times.length;for(let A=0;A=B)break A;{const E=I[1];A=B)break I}Q=g,g=0}}for(;g>>1;AI;)--Q;if(++Q,0!==B||Q!==C){B>=Q&&(Q=Math.max(Q,1),B=Q-1);const A=this.getValueSize();this.times=es.arraySlice(g,B,Q),this.values=es.arraySlice(this.values,B*A,Q*A)}return this}validate(){let A=!0;const I=this.getValueSize();I-Math.floor(I)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const g=this.times,C=this.values,B=g.length;0===B&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let Q=null;for(let I=0;I!==B;I++){const C=g[I];if("number"==typeof C&&isNaN(C)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,I,C),A=!1;break}if(null!==Q&&Q>C){console.error("THREE.KeyframeTrack: Out of order keys.",this,I,C,Q),A=!1;break}Q=C}if(void 0!==C&&es.isTypedArray(C))for(let I=0,g=C.length;I!==g;++I){const g=C[I];if(isNaN(g)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,I,g),A=!1;break}}return A}optimize(){const A=es.arraySlice(this.times),I=es.arraySlice(this.values),g=this.getValueSize(),C=this.getInterpolation()===xI,B=A.length-1;let Q=1;for(let E=1;E0){A[Q]=A[B];for(let A=B*g,C=Q*g,E=0;E!==g;++E)I[C+E]=I[A+E];++Q}return Q!==A.length?(this.times=es.arraySlice(A,0,Q),this.values=es.arraySlice(I,0,Q*g)):(this.times=A,this.values=I),this}clone(){const A=es.arraySlice(this.times,0),I=es.arraySlice(this.values,0),g=new(0,this.constructor)(this.name,A,I);return g.createInterpolant=this.createInterpolant,g}}rs.prototype.TimeBufferType=Float32Array,rs.prototype.ValueBufferType=Float32Array,rs.prototype.DefaultInterpolation=qI;class hs extends rs{}hs.prototype.ValueTypeName="bool",hs.prototype.ValueBufferType=Array,hs.prototype.DefaultInterpolation=mI,hs.prototype.InterpolantFactoryMethodLinear=void 0,hs.prototype.InterpolantFactoryMethodSmooth=void 0;class ws extends rs{}ws.prototype.ValueTypeName="color";class cs extends rs{}cs.prototype.ValueTypeName="number";class Gs extends ss{constructor(A,I,g,C){super(A,I,g,C)}interpolate_(A,I,g,C){const B=this.resultBuffer,Q=this.sampleValues,E=this.valueSize,i=(g-I)/(C-I);let o=A*E;for(let A=o+E;o!==A;o+=4)gC.slerpFlat(B,0,Q,o-E,Q,o,i);return B}}class ys extends rs{InterpolantFactoryMethodLinear(A){return new Gs(this.times,this.values,this.getValueSize(),A)}}ys.prototype.ValueTypeName="quaternion",ys.prototype.DefaultInterpolation=qI,ys.prototype.InterpolantFactoryMethodSmooth=void 0;class Fs extends rs{}Fs.prototype.ValueTypeName="string",Fs.prototype.ValueBufferType=Array,Fs.prototype.DefaultInterpolation=mI,Fs.prototype.InterpolantFactoryMethodLinear=void 0,Fs.prototype.InterpolantFactoryMethodSmooth=void 0;class Rs extends rs{}Rs.prototype.ValueTypeName="vector";class Ns{constructor(A,I=-1,g,C=WI){this.name=A,this.tracks=g,this.duration=I,this.blendMode=C,this.uuid=ug(),this.duration<0&&this.resetDuration()}static parse(A){const I=[],g=A.tracks,C=1/(A.fps||1);for(let A=0,B=g.length;A!==B;++A)I.push(ls(g[A]).scale(C));const B=new this(A.name,A.duration,I,A.blendMode);return B.uuid=A.uuid,B}static toJSON(A){const I=[],g=A.tracks,C={name:A.name,duration:A.duration,tracks:I,uuid:A.uuid,blendMode:A.blendMode};for(let A=0,C=g.length;A!==C;++A)I.push(rs.toJSON(g[A]));return C}static CreateFromMorphTargetSequence(A,I,g,C){const B=I.length,Q=[];for(let A=0;A1){const A=Q[1];let I=C[A];I||(C[A]=I=[]),I.push(g)}}const Q=[];for(const A in C)Q.push(this.CreateFromMorphTargetSequence(A,C[A],I,g));return Q}static parseAnimation(A,I){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const g=function(A,I,g,C,B){if(0!==g.length){const Q=[],E=[];es.flattenJSON(g,Q,E,C),0!==Q.length&&B.push(new A(I,Q,E))}},C=[],B=A.name||"default",Q=A.fps||30,E=A.blendMode;let i=A.length||-1;const o=A.hierarchy||[];for(let A=0;A{I&&I(B),this.manager.itemEnd(A)}),0),B;if(void 0!==Ks[A])return void Ks[A].push({onLoad:I,onProgress:g,onError:C});Ks[A]=[],Ks[A].push({onLoad:I,onProgress:g,onError:C});const Q=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(Q).then((I=>{if(200===I.status||0===I.status){if(0===I.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===I.body.getReader)return I;const g=Ks[A],C=I.body.getReader(),B=I.headers.get("Content-Length"),Q=B?parseInt(B):0,E=0!==Q;let i=0;const o=new ReadableStream({start(A){!function I(){C.read().then((({done:C,value:B})=>{if(C)A.close();else{i+=B.byteLength;const C=new ProgressEvent("progress",{lengthComputable:E,loaded:i,total:Q});for(let A=0,I=g.length;A{switch(this.responseType){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then((A=>(new DOMParser).parseFromString(A,this.mimeType)));case"json":return A.json();default:return A.text()}})).then((I=>{Ms.add(A,I);const g=Ks[A];delete Ks[A];for(let A=0,C=g.length;A{const g=Ks[A];if(void 0===g)throw this.manager.itemError(A),I;delete Ks[A];for(let A=0,C=g.length;A{this.manager.itemEnd(A)})),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class Js extends ds{constructor(A){super(A)}load(A,I,g,C){const B=this,Q=new ks(this.manager);Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,(function(g){try{I(B.parse(JSON.parse(g)))}catch(I){C?C(I):console.error(I),B.manager.itemError(A)}}),g,C)}parse(A){const I=[];for(let g=0;g0:C.vertexColors=A.vertexColors),void 0!==A.uniforms)for(const I in A.uniforms){const B=A.uniforms[I];switch(C.uniforms[I]={},B.type){case"t":C.uniforms[I].value=g(B.value);break;case"c":C.uniforms[I].value=(new MB).setHex(B.value);break;case"v2":C.uniforms[I].value=(new bg).fromArray(B.value);break;case"v3":C.uniforms[I].value=(new CC).fromArray(B.value);break;case"v4":C.uniforms[I].value=(new _g).fromArray(B.value);break;case"m3":C.uniforms[I].value=(new Tg).fromArray(B.value);break;case"m4":C.uniforms[I].value=(new LC).fromArray(B.value);break;default:C.uniforms[I].value=B.value}}if(void 0!==A.defines&&(C.defines=A.defines),void 0!==A.vertexShader&&(C.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(C.fragmentShader=A.fragmentShader),void 0!==A.extensions)for(const I in A.extensions)C.extensions[I]=A.extensions[I];if(void 0!==A.shading&&(C.flatShading=1===A.shading),void 0!==A.size&&(C.size=A.size),void 0!==A.sizeAttenuation&&(C.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(C.map=g(A.map)),void 0!==A.matcap&&(C.matcap=g(A.matcap)),void 0!==A.alphaMap&&(C.alphaMap=g(A.alphaMap)),void 0!==A.bumpMap&&(C.bumpMap=g(A.bumpMap)),void 0!==A.bumpScale&&(C.bumpScale=A.bumpScale),void 0!==A.normalMap&&(C.normalMap=g(A.normalMap)),void 0!==A.normalMapType&&(C.normalMapType=A.normalMapType),void 0!==A.normalScale){let I=A.normalScale;!1===Array.isArray(I)&&(I=[I,I]),C.normalScale=(new bg).fromArray(I)}return void 0!==A.displacementMap&&(C.displacementMap=g(A.displacementMap)),void 0!==A.displacementScale&&(C.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(C.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(C.roughnessMap=g(A.roughnessMap)),void 0!==A.metalnessMap&&(C.metalnessMap=g(A.metalnessMap)),void 0!==A.emissiveMap&&(C.emissiveMap=g(A.emissiveMap)),void 0!==A.emissiveIntensity&&(C.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(C.specularMap=g(A.specularMap)),void 0!==A.specularIntensityMap&&(C.specularIntensityMap=g(A.specularIntensityMap)),void 0!==A.specularColorMap&&(C.specularColorMap=g(A.specularColorMap)),void 0!==A.envMap&&(C.envMap=g(A.envMap)),void 0!==A.envMapIntensity&&(C.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(C.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(C.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(C.lightMap=g(A.lightMap)),void 0!==A.lightMapIntensity&&(C.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(C.aoMap=g(A.aoMap)),void 0!==A.aoMapIntensity&&(C.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(C.gradientMap=g(A.gradientMap)),void 0!==A.clearcoatMap&&(C.clearcoatMap=g(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap=g(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(C.clearcoatNormalMap=g(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(C.clearcoatNormalScale=(new bg).fromArray(A.clearcoatNormalScale)),void 0!==A.transmissionMap&&(C.transmissionMap=g(A.transmissionMap)),void 0!==A.thicknessMap&&(C.thicknessMap=g(A.thicknessMap)),void 0!==A.sheenColorMap&&(C.sheenColorMap=g(A.sheenColorMap)),void 0!==A.sheenRoughnessMap&&(C.sheenRoughnessMap=g(A.sheenRoughnessMap)),C}setTextures(A){return this.textures=A,this}}class Ca{static decodeText(A){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(A);let I="";for(let g=0,C=A.length;g0){const g=new Ss(I);B=new us(g),B.setCrossOrigin(this.crossOrigin);for(let I=0,g=A.length;I0){C=new us(this.manager),C.setCrossOrigin(this.crossOrigin);for(let I=0,C=A.length;I0){this.source.connect(this.filters[0]);for(let A=1,I=this.filters.length;A0){this.source.disconnect(this.filters[0]);for(let A=1,I=this.filters.length;A0&&this._mixBufferRegionAdditive(g,C,this._addIndex*I,1,I);for(let A=I,B=I+I;A!==B;++A)if(g[A]!==g[A+I]){E.setValue(g,C);break}}saveOriginalState(){const A=this.binding,I=this.buffer,g=this.valueSize,C=g*this._origIndex;A.getValue(I,C);for(let A=g,B=C;A!==B;++A)I[A]=I[C+A%g];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=3*this.valueSize;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,I=A+this.valueSize;for(let g=A;g=.5)for(let C=0;C!==B;++C)A[I+C]=A[g+C]}_slerp(A,I,g,C){gC.slerpFlat(A,I,A,I,A,g,C)}_slerpAdditive(A,I,g,C,B){const Q=this._workIndex*B;gC.multiplyQuaternionsFlat(A,Q,A,I,A,g),gC.slerpFlat(A,I,A,I,A,Q,C)}_lerp(A,I,g,C,B){const Q=1-C;for(let E=0;E!==B;++E){const B=I+E;A[B]=A[B]*Q+A[g+E]*C}}_lerpAdditive(A,I,g,C,B){for(let Q=0;Q!==B;++Q){const B=I+Q;A[B]=A[B]+A[g+Q]*C}}}const pa=new RegExp("[\\[\\]\\.:\\/]","g"),fa="[^\\[\\]\\.:\\/]",Ha="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",ma=/((?:WC+[\/:])*)/.source.replace("WC",fa),qa=/(WCOD+)?/.source.replace("WCOD",Ha),xa=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",fa),ba=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",fa),Ta=new RegExp("^"+ma+qa+xa+ba+"$"),Va=["material","materials","bones"];class Wa{constructor(A,I,g){this.path=I,this.parsedPath=g||Wa.parseTrackName(I),this.node=Wa.findNode(A,this.parsedPath.nodeName)||A,this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,I,g){return A&&A.isAnimationObjectGroup?new Wa.Composite(A,I,g):new Wa(A,I,g)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(pa,"")}static parseTrackName(A){const I=Ta.exec(A);if(!I)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const g={nodeName:I[2],objectName:I[3],objectIndex:I[4],propertyName:I[5],propertyIndex:I[6]},C=g.nodeName&&g.nodeName.lastIndexOf(".");if(void 0!==C&&-1!==C){const A=g.nodeName.substring(C+1);-1!==Va.indexOf(A)&&(g.nodeName=g.nodeName.substring(0,C),g.objectName=A)}if(null===g.propertyName||0===g.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return g}static findNode(A,I){if(!I||""===I||"."===I||-1===I||I===A.name||I===A.uuid)return A;if(A.skeleton){const g=A.skeleton.getBoneByName(I);if(void 0!==g)return g}if(A.children){const g=function(A){for(let C=0;C=B){const Q=B++,t=A[Q];I[t.uuid]=o,A[o]=t,I[i]=Q,A[Q]=E;for(let A=0,I=C;A!==I;++A){const I=g[A],C=I[Q],B=I[o];I[o]=C,I[Q]=B}}}this.nCachedObjects_=B}uncache(){const A=this._objects,I=this._indicesByUUID,g=this._bindings,C=g.length;let B=this.nCachedObjects_,Q=A.length;for(let E=0,i=arguments.length;E!==i;++E){const i=arguments[E].uuid,o=I[i];if(void 0!==o)if(delete I[i],o0&&(I[E.uuid]=o),A[o]=E,A.pop();for(let A=0,I=C;A!==I;++A){const I=g[A];I[o]=I[B],I.pop()}}}this.nCachedObjects_=B}subscribe_(A,I){const g=this._bindingsIndicesByPath;let C=g[A];const B=this._bindings;if(void 0!==C)return B[C];const Q=this._paths,E=this._parsedPaths,i=this._objects,o=i.length,t=this.nCachedObjects_,e=new Array(o);C=B.length,g[A]=C,Q.push(A),E.push(I),B.push(e);for(let g=t,C=i.length;g!==C;++g){const C=i[g];e[g]=new Wa(C,A,I)}return e}unsubscribe_(A){const I=this._bindingsIndicesByPath,g=I[A];if(void 0!==g){const C=this._paths,B=this._parsedPaths,Q=this._bindings,E=Q.length-1,i=Q[E];I[A[E]]=g,Q[g]=i,Q.pop(),B[g]=B[E],B.pop(),C[g]=C[E],C.pop()}}}va.prototype.isAnimationObjectGroup=!0;class Za{constructor(A,I,g=null,C=I.blendMode){this._mixer=A,this._clip=I,this._localRoot=g,this.blendMode=C;const B=I.tracks,Q=B.length,E=new Array(Q),i={endingStart:bI,endingEnd:bI};for(let A=0;A!==Q;++A){const I=B[A].createInterpolant(null);E[A]=I,I.settings=i}this._interpolantSettings=i,this._interpolants=E,this._propertyBindings=new Array(Q),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=fI,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(A){return this._startTime=A,this}setLoop(A,I){return this.loop=A,this.repetitions=I,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,I,g){if(A.fadeOut(I),this.fadeIn(I),g){const g=this._clip.duration,C=A._clip.duration,B=C/g,Q=g/C;A.warp(1,B,I),this.warp(Q,1,I)}return this}crossFadeTo(A,I,g){return A.crossFadeFrom(this,I,g)}stopFading(){const A=this._weightInterpolant;return null!==A&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,I,g){const C=this._mixer,B=C.time,Q=this.timeScale;let E=this._timeScaleInterpolant;null===E&&(E=C._lendControlInterpolant(),this._timeScaleInterpolant=E);const i=E.parameterPositions,o=E.sampleValues;return i[0]=B,i[1]=B+g,o[0]=A/Q,o[1]=I/Q,this}stopWarping(){const A=this._timeScaleInterpolant;return null!==A&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,I,g,C){if(!this.enabled)return void this._updateWeight(A);const B=this._startTime;if(null!==B){const C=(A-B)*g;if(C<0||0===g)return;this._startTime=null,I=g*C}I*=this._updateTimeScale(A);const Q=this._updateTime(I),E=this._updateWeight(A);if(E>0){const A=this._interpolants,I=this._propertyBindings;if(this.blendMode===vI)for(let g=0,C=A.length;g!==C;++g)A[g].evaluate(Q),I[g].accumulateAdditive(E);else for(let g=0,B=A.length;g!==B;++g)A[g].evaluate(Q),I[g].accumulate(C,E)}}_updateWeight(A){let I=0;if(this.enabled){I=this.weight;const g=this._weightInterpolant;if(null!==g){const C=g.evaluate(A)[0];I*=C,A>g.parameterPositions[1]&&(this.stopFading(),0===C&&(this.enabled=!1))}}return this._effectiveWeight=I,I}_updateTimeScale(A){let I=0;if(!this.paused){I=this.timeScale;const g=this._timeScaleInterpolant;null!==g&&(I*=g.evaluate(A)[0],A>g.parameterPositions[1]&&(this.stopWarping(),0===I?this.paused=!0:this.timeScale=I))}return this._effectiveTimeScale=I,I}_updateTime(A){const I=this._clip.duration,g=this.loop;let C=this.time+A,B=this._loopCount;const Q=g===HI;if(0===A)return-1===B?C:Q&&1==(1&B)?I-C:C;if(g===pI){-1===B&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(C>=I)C=I;else{if(!(C<0)){this.time=C;break A}C=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=C,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(-1===B&&(A>=0?(B=0,this._setEndings(!0,0===this.repetitions,Q)):this._setEndings(0===this.repetitions,!0,Q)),C>=I||C<0){const g=Math.floor(C/I);C-=I*g,B+=Math.abs(g);const E=this.repetitions-B;if(E<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,C=A>0?I:0,this.time=C,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(1===E){const I=A<0;this._setEndings(I,!I,Q)}else this._setEndings(!1,!1,Q);this._loopCount=B,this.time=C,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:g})}}else this.time=C;if(Q&&1==(1&B))return I-C}return C}_setEndings(A,I,g){const C=this._interpolantSettings;g?(C.endingStart=TI,C.endingEnd=TI):(C.endingStart=A?this.zeroSlopeAtStart?TI:bI:VI,C.endingEnd=I?this.zeroSlopeAtEnd?TI:bI:VI)}_scheduleFading(A,I,g){const C=this._mixer,B=C.time;let Q=this._weightInterpolant;null===Q&&(Q=C._lendControlInterpolant(),this._weightInterpolant=Q);const E=Q.parameterPositions,i=Q.sampleValues;return E[0]=B,i[0]=I,E[1]=B+A,i[1]=g,this}}class Oa extends dg{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,I){const g=A._localRoot||this._root,C=A._clip.tracks,B=C.length,Q=A._propertyBindings,E=A._interpolants,i=g.uuid,o=this._bindingsByRootAndName;let t=o[i];void 0===t&&(t={},o[i]=t);for(let A=0;A!==B;++A){const B=C[A],o=B.name;let e=t[o];if(void 0!==e)Q[A]=e;else{if(e=Q[A],void 0!==e){null===e._cacheIndex&&(++e.referenceCount,this._addInactiveBinding(e,i,o));continue}const C=I&&I._propertyBindings[A].binding.parsedPath;e=new La(Wa.create(g,o,C),B.ValueTypeName,B.getValueSize()),++e.referenceCount,this._addInactiveBinding(e,i,o),Q[A]=e}E[A].resultBuffer=e.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(null===A._cacheIndex){const I=(A._localRoot||this._root).uuid,g=A._clip.uuid,C=this._actionsByClip[g];this._bindAction(A,C&&C.knownActions[0]),this._addInactiveAction(A,g,I)}const I=A._propertyBindings;for(let A=0,g=I.length;A!==g;++A){const g=I[A];0==g.useCount++&&(this._lendBinding(g),g.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const I=A._propertyBindings;for(let A=0,g=I.length;A!==g;++A){const g=I[A];0==--g.useCount&&(g.restoreOriginalState(),this._takeBackBinding(g))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const I=A._cacheIndex;return null!==I&&I=0;--I)A[I].stop();return this}update(A){A*=this.timeScale;const I=this._actions,g=this._nActiveActions,C=this.time+=A,B=Math.sign(A),Q=this._accuIndex^=1;for(let E=0;E!==g;++E)I[E]._update(C,A,B,Q);const E=this._bindings,i=this._nActiveBindings;for(let A=0;A!==i;++A)E[A].apply(Q);return this}setTime(A){this.time=0;for(let A=0;Athis.max.x||A.ythis.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,I){return I.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y)}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return gD.copy(A).clamp(this.min,this.max).sub(A).length()}intersect(A){return this.min.max(A.min),this.max.min(A.max),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}CD.prototype.isBox2=!0;const BD=new CC,QD=new CC;class ED{constructor(A=new CC,I=new CC){this.start=A,this.end=I}set(A,I){return this.start.copy(A),this.end.copy(I),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,I){return this.delta(I).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,I){BD.subVectors(A,this.start),QD.subVectors(this.end,this.start);const g=QD.dot(QD);let C=QD.dot(BD)/g;return I&&(C=Lg(C,0,1)),C}closestPointToPoint(A,I,g){const C=this.closestPointToPointParameter(A,I);return this.delta(g).multiplyScalar(C).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const iD=new CC;class oD extends QB{constructor(A,I){super(),this.light=A,this.light.updateMatrixWorld(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=I;const g=new OB,C=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let A=0,I=1,g=32;A.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{uD.set(A.z,0,-A.x).normalize();const I=Math.acos(A.y);this.quaternion.setFromAxisAngle(uD,I)}}setLength(A,I=.2*A,g=.2*I){this.line.scale.set(1,Math.max(1e-4,A-I),1),this.line.updateMatrix(),this.cone.scale.set(g,I,g),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}}class HD extends yt{constructor(A=1){const I=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],g=new OB;g.setAttribute("position",new mB(I,3)),g.setAttribute("color",new mB([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(g,new st({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(A,I,g){const C=new MB,B=this.geometry.attributes.color.array;return C.set(A),C.toArray(B,0),C.toArray(B,3),C.set(I),C.toArray(B,6),C.toArray(B,9),C.set(g),C.toArray(B,12),C.toArray(B,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class mD{constructor(){this.type="ShapePath",this.color=new MB,this.subPaths=[],this.currentPath=null}moveTo(A,I){return this.currentPath=new ee,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,I),this}lineTo(A,I){return this.currentPath.lineTo(A,I),this}quadraticCurveTo(A,I,g,C){return this.currentPath.quadraticCurveTo(A,I,g,C),this}bezierCurveTo(A,I,g,C,B,Q){return this.currentPath.bezierCurveTo(A,I,g,C,B,Q),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A,I){function g(A){const I=[];for(let g=0,C=A.length;gNumber.EPSILON){if(o<0&&(g=I[Q],i=-i,E=I[B],o=-o),A.yE.y)continue;if(A.y===g.y){if(A.x===g.x)return!0}else{const I=o*(A.x-g.x)-i*(A.y-g.y);if(0===I)return!0;if(I<0)continue;C=!C}}else{if(A.y!==g.y)continue;if(E.x<=A.x&&A.x<=g.x||g.x<=A.x&&A.x<=E.x)return!0}}return C}const B=fe.isClockWise,Q=this.subPaths;if(0===Q.length)return[];if(!0===I)return g(Q);let E,i,o;const t=[];if(1===Q.length)return i=Q[0],o=new se,o.curves=i.curves,t.push(o),t;let e=!B(Q[0].getPoints());e=A?!e:e;const s=[],a=[];let D,n,r=[],h=0;a[h]=void 0,r[h]=[];for(let I=0,g=Q.length;I1){let A=!1;const I=[];for(let A=0,I=a.length;A0&&(A||(r=s))}for(let A=0,I=a.length;A65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),A=65504),qD[0]=A;const I=xD[0];let g=I>>16&32768,C=I>>12&2047;const B=I>>23&255;return B<103?g:B>142?(g|=31744,g|=(255==B?0:1)&&8388607&I,g):B<113?(C|=2048,g|=(C>>114-B)+(C>>113-B&1),g):(g|=B-112<<10|C>>1,g+=1&C,g)}}const TD=0,VD=1,WD=0,vD=1,ZD=2;function OD(A){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),A}function XD(A=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),A.isMultiMaterial=!0,A.materials=A,A.clone=function(){return A.slice()},A}function PD(A,I){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Ut(A,I)}function jD(A){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Vo(A)}function zD(A,I){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Ut(A,I)}function _D(A){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Rt(A)}function $D(A){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Rt(A)}function An(A){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Rt(A)}function In(A,I,g){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new CC(A,I,g)}function gn(A,I){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new KB(A,I).setUsage(cg)}function Cn(A,I){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new kB(A,I)}function Bn(A,I){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new JB(A,I)}function Qn(A,I){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new YB(A,I)}function En(A,I){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new uB(A,I)}function on(A,I){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new LB(A,I)}function tn(A,I){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new pB(A,I)}function en(A,I){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new fB(A,I)}function sn(A,I){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new mB(A,I)}function an(A,I){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new qB(A,I)}function Dn(A){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new HD(A)}function nn(A,I){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new kD(A,I)}function rn(A,I){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new yt(new Tt(A.geometry),new st({color:void 0!==I?I:16777215}))}function hn(A,I){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new yt(new ze(A.geometry),new st({color:void 0!==I?I:16777215}))}function wn(A){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new ks(A)}function cn(A){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new ps(A)}function Gn(A,I,g){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new NQ(A,g)}function yn(){console.error("THREE.CanvasRenderer has been removed")}function Fn(){console.error("THREE.JSONLoader has been removed.")}Vt.create=function(A,I){return console.log("THREE.Curve.create() has been deprecated"),A.prototype=Object.create(Vt.prototype),A.prototype.constructor=A,A.prototype.getPoint=I,A},ee.prototype.fromPoints=function(A){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(A)},GD.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},aD.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},ds.prototype.extractUrlBase=function(A){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),Ca.extractUrlBase(A)},ds.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},CD.prototype.center=function(A){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(A)},CD.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},CD.prototype.isIntersectionBox=function(A){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},CD.prototype.size=function(A){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(A)},EC.prototype.center=function(A){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(A)},EC.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},EC.prototype.isIntersectionBox=function(A){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},EC.prototype.isIntersectionSphere=function(A){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(A)},EC.prototype.size=function(A){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(A)},MC.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},kQ.prototype.setFromMatrix=function(A){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(A)},ED.prototype.center=function(A){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(A)},Tg.prototype.flattenToArrayOffset=function(A,I){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(A,I)},Tg.prototype.multiplyVector3=function(A){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),A.applyMatrix3(this)},Tg.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},Tg.prototype.applyToBufferAttribute=function(A){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),A.applyMatrix3(this)},Tg.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},Tg.prototype.getInverse=function(A){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(A).invert()},LC.prototype.extractPosition=function(A){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(A)},LC.prototype.flattenToArrayOffset=function(A,I){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(A,I)},LC.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new CC).setFromMatrixColumn(this,3)},LC.prototype.setRotationFromQuaternion=function(A){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(A)},LC.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},LC.prototype.multiplyVector3=function(A){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.multiplyVector4=function(A){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},LC.prototype.rotateAxis=function(A){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),A.transformDirection(this)},LC.prototype.crossVector=function(A){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},LC.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},LC.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},LC.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},LC.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},LC.prototype.applyToBufferAttribute=function(A){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},LC.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},LC.prototype.makeFrustum=function(A,I,g,C,B,Q){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(A,I,C,g,B,Q)},LC.prototype.getInverse=function(A){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(A).invert()},UQ.prototype.isIntersectionLine=function(A){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(A)},gC.prototype.multiplyVector3=function(A){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),A.applyQuaternion(this)},gC.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},uC.prototype.isIntersectionBox=function(A){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},uC.prototype.isIntersectionPlane=function(A){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(A)},uC.prototype.isIntersectionSphere=function(A){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(A)},hB.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},hB.prototype.barycoordFromPoint=function(A,I){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(A,I)},hB.prototype.midpoint=function(A){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(A)},hB.prototypenormal=function(A){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(A)},hB.prototype.plane=function(A){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(A)},hB.barycoordFromPoint=function(A,I,g,C,B){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),hB.getBarycoord(A,I,g,C,B)},hB.normal=function(A,I,g,C){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),hB.getNormal(A,I,g,C)},se.prototype.extractAllPoints=function(A){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(A)},se.prototype.extrude=function(A){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new qe(this,A)},se.prototype.makeGeometry=function(A){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new ve(this,A)},bg.prototype.fromAttribute=function(A,I,g){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,I,g)},bg.prototype.distanceToManhattan=function(A){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(A)},bg.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},CC.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},CC.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},CC.prototype.getPositionFromMatrix=function(A){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(A)},CC.prototype.getScaleFromMatrix=function(A){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(A)},CC.prototype.getColumnFromMatrix=function(A,I){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(I,A)},CC.prototype.applyProjection=function(A){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(A)},CC.prototype.fromAttribute=function(A,I,g){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,I,g)},CC.prototype.distanceToManhattan=function(A){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(A)},CC.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},_g.prototype.fromAttribute=function(A,I,g){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,I,g)},_g.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},QB.prototype.getChildByName=function(A){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(A)},QB.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},QB.prototype.translate=function(A,I){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(I,A)},QB.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},QB.prototype.applyMatrix=function(A){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)},Object.defineProperties(QB.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(A){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=A}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),sQ.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(sQ.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),ZI},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),$o.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},GQ.prototype.setLens=function(A,I){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==I&&(this.filmGauge=I),this.setFocalLength(A)},Object.defineProperties(Hs.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(A){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=A}},shadowCameraLeft:{set:function(A){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=A}},shadowCameraRight:{set:function(A){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=A}},shadowCameraTop:{set:function(A){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=A}},shadowCameraBottom:{set:function(A){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=A}},shadowCameraNear:{set:function(A){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=A}},shadowCameraFar:{set:function(A){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=A}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(A){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=A}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(A){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=A}},shadowMapHeight:{set:function(A){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=A}}}),Object.defineProperties(KB.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===cg},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(cg)}}}),KB.prototype.setDynamic=function(A){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===A?cg:wg),this},KB.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},KB.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},OB.prototype.addIndex=function(A){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(A)},OB.prototype.addAttribute=function(A,I){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),I&&I.isBufferAttribute||I&&I.isInterleavedBufferAttribute?"index"===A?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(I),this):this.setAttribute(A,I):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(A,new KB(arguments[1],arguments[2])))},OB.prototype.addDrawCall=function(A,I,g){void 0!==g&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(A,I)},OB.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},OB.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},OB.prototype.removeAttribute=function(A){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(A)},OB.prototype.applyMatrix=function(A){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)},Object.defineProperties(OB.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Mo.prototype.setDynamic=function(A){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===A?cg:wg),this},Mo.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},qe.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},qe.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},qe.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},lo.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Xa.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(cB.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new MB}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(A){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=A===w}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(A){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=A}},vertexTangents:{get:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")},set:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")}}}),Object.defineProperties(wQ.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(A){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=A}}}),yo.prototype.clearTarget=function(A,I,g,C){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(A),this.clear(I,g,C)},yo.prototype.animate=function(A){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(A)},yo.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},yo.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},yo.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},yo.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},yo.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},yo.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},yo.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},yo.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},yo.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},yo.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},yo.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},yo.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},yo.prototype.enableScissorTest=function(A){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(A)},yo.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},yo.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},yo.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},yo.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},yo.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},yo.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},yo.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},yo.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},yo.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},yo.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(yo.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(A){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=A}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(A){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=A}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(A){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===A?jI:PI}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}},gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}}),Object.defineProperties(to.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties($g.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(A){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=A}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(A){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=A}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(A){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=A}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(A){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=A}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(A){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=A}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(A){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=A}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(A){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=A}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(A){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=A}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(A){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=A}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(A){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=A}}}),Ua.prototype.load=function(A){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const I=this;return(new Da).load(A,(function(A){I.setBuffer(A)})),this},ua.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},FQ.prototype.updateCubeMap=function(A,I){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(A,I)},FQ.prototype.clear=function(A,I,g,C){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(A,I,g,C)},Xg.crossOrigin=void 0,Xg.loadTexture=function(A,I,g,C){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const B=new fs;B.setCrossOrigin(this.crossOrigin);const Q=B.load(A,g,void 0,C);return I&&(Q.mapping=I),Q},Xg.loadTextureCube=function(A,I,g,C){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const B=new Ls;B.setCrossOrigin(this.crossOrigin);const Q=B.load(A,g,void 0,C);return I&&(Q.mapping=I),Q},Xg.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},Xg.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const Rn={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function Nn(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}function ln(){return console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),new OB}function Mn(){return console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),new OB}function Sn(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function Un(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function dn(){console.error("THREE.ImmediateRenderObject has been removed.")}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:C}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=C)},1564:(A,I,g)=>{"use strict";g.r(I),g.d(I,{CSS3DObject:()=>i,CSS3DSprite:()=>o,CSS3DRenderer:()=>s});var C=g(2212);const B=new C.Vector3,Q=new C.Quaternion,E=new C.Vector3;class i extends C.Object3D{constructor(A=document.createElement("div")){super(),this.element=A,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",(function(){this.traverse((function(A){A.element instanceof Element&&null!==A.element.parentNode&&A.element.parentNode.removeChild(A.element)}))}))}copy(A,I){return super.copy(A,I),this.element=A.element.cloneNode(!0),this}}i.prototype.isCSS3DObject=!0;class o extends i{constructor(A){super(A),this.rotation2D=0}copy(A,I){return super.copy(A,I),this.rotation2D=A.rotation2D,this}}o.prototype.isCSS3DSprite=!0;const t=new C.Matrix4,e=new C.Matrix4;class s{constructor(A={}){const I=this;let g,C,i,o;const s={camera:{fov:0,style:""},objects:new WeakMap},a=void 0!==A.element?A.element:document.createElement("div");a.style.overflow="hidden",this.domElement=a;const D=document.createElement("div");function n(A){return Math.abs(A)<1e-10?0:A}function r(A){const I=A.elements;return"matrix3d("+n(I[0])+","+n(-I[1])+","+n(I[2])+","+n(I[3])+","+n(I[4])+","+n(-I[5])+","+n(I[6])+","+n(I[7])+","+n(I[8])+","+n(-I[9])+","+n(I[10])+","+n(I[11])+","+n(I[12])+","+n(-I[13])+","+n(I[14])+","+n(I[15])+")"}function h(A){const I=A.elements;return"translate(-50%,-50%)matrix3d("+n(I[0])+","+n(I[1])+","+n(I[2])+","+n(I[3])+","+n(-I[4])+","+n(-I[5])+","+n(-I[6])+","+n(-I[7])+","+n(I[8])+","+n(I[9])+","+n(I[10])+","+n(I[11])+","+n(I[12])+","+n(I[13])+","+n(I[14])+","+n(I[15])+")"}function w(A,g,C,i){if(A.isCSS3DObject){let i;A.onBeforeRender(I,g,C),A.isCSS3DSprite?(t.copy(C.matrixWorldInverse),t.transpose(),0!==A.rotation2D&&t.multiply(e.makeRotationZ(A.rotation2D)),A.matrixWorld.decompose(B,Q,E),t.setPosition(B),t.scale(E),t.elements[3]=0,t.elements[7]=0,t.elements[11]=0,t.elements[15]=1,i=h(t)):i=h(A.matrixWorld);const o=A.element,a=s.objects.get(A);if(void 0===a||a.style!==i){o.style.transform=i;const I={style:i};s.objects.set(A,I)}o.style.display=A.visible?"":"none",o.parentNode!==D&&D.appendChild(o),A.onAfterRender(I,g,C)}for(let I=0,B=A.children.length;I{const{FaceMeshHelper:C}=g(8470),{cv:B,waitCV:Q}=g(9487),{Estimator:E}=g(107),{createThreeFaceGeometry:i}=g(1873),{positions:o}=g(2319),{OneEuroFilter:t}=g(344);A.exports={Controller:class{constructor({onUpdate:A=null,filterMinCF:I=null,filterBeta:g=null}){this.customFaceGeometries=[],this.estimator=null,this.lastEstimateResult=null,this.filterMinCF=null===I?.001:I,this.filterBeta=null===g?1:g,this.onUpdate=A,this.landmarkFilters=[];for(let A=0;A{const g=await this.faceMeshHelper.detect(A);if(0===g.multiFaceLandmarks.length){this.lastEstimateResult=null,this.onUpdate({hasFace:!1});for(let A=0;A[A.x,A.y,A.z])),I=this.estimator.estimate(A);if(null===this.lastEstimateResult)this.lastEstimateResult=I;else{const A=this.lastEstimateResult.metricLandmarks,g=(this.lastEstimateResult.faceMatrix,this.lastEstimateResult.faceScale,[]);for(let C=0;C{const{positions:C,landmarkBasis:B}=g(2319),{cv:Q}=g(9487),E=[];for(let A=0;A{E[A]=I}));const i=[];for(let A=0;A{o.includes(A)||o.push(A)})),o.sort(((A,I)=>A-I));let t=0,e=0;for(let A=0;AC[e][0]&&(e=A);A.exports={Estimator:class{constructor(A){const I=A.height,g=A.width,C=g,B=2*Math.atan(I/(2*C)),Q=2*Math.tan(.5*B),E=g*Q/I;this.near=1,this.far=1e4,this.frameHeight=I,this.frameWidth=g,this.focalLength=C,this.fov=B,this.left=-.5*E,this.right=.5*E,this.bottom=-.5*Q,this.top=.5*Q,this.focalLength=C,this.center=[g/2,I/2]}estimate(A){const I=this._projectToScreen(A);let g=this._cloneLandmarks(I);this._changeHandedness(g);const B=I.reduce(((A,I)=>A+I[2]),0)/I.length,E=this._estimateScale(g);g=this._cloneLandmarks(I),this._moveAndRescaleZ(B,E,g),this._unprojectScreen(g),this._changeHandedness(g);const s=this._estimateScale(g);let a=this._cloneLandmarks(I);const D=E*s;this._moveAndRescaleZ(B,D,a),this._unprojectScreen(a),this._changeHandedness(a);const n=this._solveWeightedOrthogonal(C,a,i),r=Q.matFromArray(4,4,Q.CV_64F,[n[0][0],n[0][1],n[0][2],n[0][3],n[1][0],n[1][1],n[1][2],n[1][3],n[2][0],n[2][1],n[2][2],n[2][3],n[3][0],n[3][1],n[3][2],n[3][3]]).inv(0).data64F,h=[[r[0],r[1],r[2],r[3]],[r[4],r[5],r[6],r[7]],[r[8],r[9],r[10],r[11]],[r[12],r[13],r[14],r[15]]],w=[];for(let A=0;A{c.push(w[I][0],w[I][1],w[I][2]),G.push(A[I][0]*this.frameWidth,A[I][1]*this.frameHeight)}));const y=Q.matFromArray(c.length/3,3,Q.CV_64F,c),F=Q.matFromArray(G.length/2,2,Q.CV_64F,G),R=Q.matFromArray(3,3,Q.CV_64F,[this.focalLength,0,this.center[0],0,this.focalLength,this.center[1],0,0,1]),N=Q.Mat.zeros(4,1,Q.CV_64F),l=new Q.Mat(3,1,Q.CV_64F),M=new Q.Mat(3,1,Q.CV_64F),S=new Q.Mat(3,3,Q.CV_64F);Q.solvePnP(y,F,R,N,l,M,!1),Q.Rodrigues(l,S);const U=[S.data64F[0],S.data64F[1],S.data64F[2],M.data64F[0],-S.data64F[3],-S.data64F[4],-S.data64F[5],-M.data64F[1],-S.data64F[6],-S.data64F[7],-S.data64F[8],-M.data64F[2],0,0,0,1],d=w[e][0]-w[t][0];return{metricLandmarks:w,faceMatrix:U,faceScale:d}}_estimateScale(A){const I=this._solveWeightedOrthogonal(C,A,i);return Math.sqrt(I[0][0]*I[0][0]+I[0][1]*I[0][1]+I[0][2]*I[0][2])}_solveWeightedOrthogonal(A,I,g){const C=[],B=[];for(let Q=0;QA+I*I),0),E=[];for(let A=0;A{A.exports={positions:[[0,-3.406404,5.979507],[0,-1.126865,7.475604],[0,-2.089024,6.058267],[-.463928,.955357,6.633583],[0,-.46317,7.58658],[0,.365669,7.24287],[0,2.473255,5.788627],[-4.253081,2.577646,3.279702],[0,4.019042,5.284764],[0,4.885979,5.385258],[0,8.261778,4.481535],[0,-3.706811,5.864924],[0,-3.918301,5.56943],[0,-3.994436,5.219482],[0,-4.5424,5.404754],[0,-4.745577,5.529457],[0,-5.019567,5.601448],[0,-5.365123,5.535441],[0,-6.149624,5.071372],[0,-1.501095,7.112196],[-.416106,-1.466449,6.447657],[-7.08796,5.434801,.09962],[-2.628639,2.035898,3.848121],[-3.198363,1.985815,3.796952],[-3.775151,2.039402,3.646194],[-4.465819,2.42295,3.155168],[-2.164289,2.189867,3.851822],[-3.208229,3.223926,4.115822],[-2.673803,3.205337,4.092203],[-3.745193,3.165286,3.972409],[-4.161018,3.059069,3.719554],[-5.062006,1.934418,2.776093],[-2.266659,-7.425768,4.389812],[-4.445859,2.663991,3.173422],[-7.21453,2.263009,.07315],[-5.799793,2.349546,2.204059],[-2.844939,-.720868,4.43313],[-.711452,-3.329355,5.877044],[-.606033,-3.924562,5.444923],[-1.431615,-3.500953,5.496189],[-1.91491,-3.803146,5.02893],[-1.131043,-3.973937,5.189648],[-1.563548,-4.082763,4.842263],[-2.650112,-5.003649,4.188483],[-.427049,-1.094134,7.360529],[-.496396,-.475659,7.440358],[-5.253307,3.881582,3.363159],[-1.718698,.974609,4.558359],[-1.608635,-.942516,5.814193],[-1.651267,-.610868,5.581319],[-4.765501,-.701554,3.534632],[-.478306,.295766,7.101013],[-3.734964,4.50823,4.550454],[-4.588603,4.302037,4.048484],[-6.279331,6.615427,1.42585],[-1.220941,4.142165,5.106035],[-2.193489,3.100317,4.000575],[-3.102642,-4.352984,4.095905],[-6.719682,-4.788645,-1.745401],[-1.193824,-1.306795,5.737747],[-.729766,-1.593712,5.833208],[-2.456206,-4.342621,4.283884],[-2.204823,-4.304508,4.162499],[-4.985894,4.802461,3.751977],[-1.592294,-1.257709,5.456949],[-2.644548,4.524654,4.921559],[-2.760292,5.100971,5.01599],[-3.523964,8.005976,3.729163],[-5.599763,5.71547,2.724259],[-3.063932,6.566144,4.529981],[-5.720968,4.254584,2.830852],[-6.374393,4.78559,1.591691],[-.672728,-3.688016,5.737804],[-1.26256,-3.787691,5.417779],[-1.732553,-3.952767,5.000579],[-1.043625,-1.464973,5.662455],[-2.321234,-4.329069,4.258156],[-2.056846,-4.477671,4.520883],[-2.153084,-4.276322,4.038093],[-.946874,-1.035249,6.512274],[-1.469132,-4.036351,4.604908],[-1.02434,-3.989851,4.926693],[-.533422,-3.993222,5.138202],[-.76972,-6.095394,4.985883],[-.699606,-5.29185,5.448304],[-.669687,-4.94977,5.509612],[-.630947,-4.695101,5.449371],[-.583218,-4.517982,5.339869],[-1.53717,-4.423206,4.74547],[-1.6156,-4.475942,4.813632],[-1.729053,-4.61868,4.854463],[-1.838624,-4.828746,4.823737],[-2.36825,-3.106237,4.868096],[-7.542244,-1.049282,-2.431321],[0,-1.724003,6.60139],[-1.826614,-4.399531,4.399021],[-1.929558,-4.411831,4.497052],[-.597442,-2.013686,5.866456],[-1.405627,-1.714196,5.241087],[-.662449,-1.819321,5.863759],[-2.34234,.572222,4.294303],[-3.327324,.104863,4.11386],[-1.726175,-.919165,5.273355],[-5.133204,7.485602,2.660442],[-4.538641,6.319907,3.683424],[-3.986562,5.109487,4.466315],[-2.169681,-5.440433,4.455874],[-1.395634,5.011963,5.316032],[-1.6195,6.599217,4.921106],[-1.891399,8.236377,4.274997],[-4.195832,2.235205,3.375099],[-5.733342,1.411738,2.431726],[-1.859887,2.355757,3.843181],[-4.988612,3.074654,3.083858],[-1.303263,1.416453,4.831091],[-1.305757,-.672779,6.415959],[-6.46517,.937119,1.689873],[-5.258659,.945811,2.974312],[-4.432338,.722096,3.522615],[-3.300681,.861641,3.872784],[-2.430178,1.131492,4.039035],[-1.820731,1.467954,4.224124],[-.563221,2.307693,5.566789],[-6.338145,-.529279,1.881175],[-5.587698,3.208071,2.687839],[-.242624,-1.462857,7.071491],[-1.611251,.339326,4.895421],[-7.743095,2.364999,-2.005167],[-1.391142,1.851048,4.448999],[-1.785794,-.978284,4.85047],[-4.670959,2.664461,3.084075],[-1.33397,-.283761,6.097047],[-7.270895,-2.890917,-2.252455],[-1.856432,2.585245,3.757904],[-.923388,.073076,6.671944],[-5.000589,-6.135128,1.892523],[-5.085276,-7.17859,.714711],[-7.159291,-.81182,-.072044],[-5.843051,-5.248023,.924091],[-6.847258,3.662916,.724695],[-2.412942,-8.258853,4.119213],[-.179909,-1.689864,6.573301],[-2.103655,-.163946,4.566119],[-6.407571,2.236021,1.560843],[-3.670075,2.360153,3.63523],[-3.177186,2.294265,3.775704],[-2.196121,-4.598322,4.479786],[-6.234883,-1.94443,1.663542],[-1.292924,-9.29592,4.094063],[-3.210651,-8.533278,2.802001],[-4.068926,-7.993109,1.925119],[0,6.54539,5.027311],[0,-9.403378,4.264492],[-2.724032,2.315802,3.777151],[-2.28846,2.398891,3.697603],[-1.998311,2.496547,3.689148],[-6.13004,3.399261,2.038516],[-2.28846,2.886504,3.775031],[-2.724032,2.96181,3.871767],[-3.177186,2.964136,3.876973],[-3.670075,2.927714,3.724325],[-4.018389,2.857357,3.482983],[-7.555811,4.106811,-.991917],[-4.018389,2.483695,3.440898],[0,-2.521945,5.932265],[-1.776217,-2.683946,5.213116],[-1.222237,-1.182444,5.952465],[-.731493,-2.536683,5.815343],[0,3.271027,5.236015],[-4.135272,-6.996638,2.67197],[-3.311811,-7.660815,3.382963],[-1.313701,-8.639995,4.702456],[-5.940524,-6.223629,-.631468],[-1.998311,2.743838,3.74403],[-.901447,1.236992,5.754256],[0,-8.765243,4.891441],[-2.308977,-8.974196,3.60907],[-6.954154,-2.439843,-.131163],[-1.098819,-4.458788,5.120727],[-1.181124,-4.579996,5.189564],[-1.255818,-4.787901,5.237051],[-1.325085,-5.106507,5.20501],[-1.546388,-5.819392,4.757893],[-1.953754,-4.183892,4.431713],[-2.117802,-4.137093,4.555096],[-2.285339,-4.051196,4.582438],[-2.85016,-3.66572,4.484994],[-5.278538,-2.238942,2.861224],[-.946709,1.907628,5.196779],[-1.314173,3.104912,4.231404],[-1.78,2.86,3.881555],[-1.84511,-4.09888,4.247264],[-5.436187,-4.030482,2.109852],[-.766444,3.182131,4.861453],[-1.938616,-6.61441,4.521085],[0,1.059413,6.774605],[-.516573,1.583572,6.148363],[0,1.728369,6.31675],[-1.246815,.230297,5.681036],[0,-7.942194,5.181173],[0,-6.991499,5.153478],[-.997827,-6.930921,4.979576],[-3.288807,-5.382514,3.795752],[-2.311631,-1.566237,4.590085],[-2.68025,-6.111567,4.096152],[-3.832928,-1.537326,4.137731],[-2.96186,-2.274215,4.440943],[-4.386901,-2.683286,3.643886],[-1.217295,-7.834465,4.969286],[-1.542374,-.136843,5.201008],[-3.878377,-6.041764,3.311079],[-3.084037,-6.809842,3.814195],[-3.747321,-4.503545,3.726453],[-6.094129,-3.205991,1.473482],[-4.588995,-4.728726,2.983221],[-6.583231,-3.941269,.070268],[-3.49258,-3.19582,4.130198],[-1.255543,.802341,5.307551],[-1.126122,-.933602,6.538785],[-1.443109,-1.142774,5.905127],[-.923043,-.529042,7.003423],[-1.755386,3.529117,4.327696],[-2.632589,3.713828,4.364629],[-3.388062,3.721976,4.309028],[-4.075766,3.675413,4.076063],[-4.62291,3.474691,3.646321],[-5.171755,2.535753,2.670867],[-7.297331,.763172,-.048769],[-4.706828,1.651,3.109532],[-4.071712,1.476821,3.476944],[-3.269817,1.470659,3.731945],[-2.527572,1.617311,3.865444],[-1.970894,1.858505,3.961782],[-1.579543,2.097941,4.084996],[-7.664182,.673132,-2.435867],[-1.397041,-1.340139,5.630378],[-.884838,.65874,6.233232],[-.767097,-.968035,7.077932],[-.460213,-1.334106,6.787447],[-.748618,-1.067994,6.798303],[-1.236408,-1.585568,5.48049],[-.387306,-1.40999,6.957705],[-.319925,-1.607931,6.508676],[-1.639633,2.556298,3.863736],[-1.255645,2.467144,4.2038],[-1.031362,2.382663,4.615849],[-4.253081,2.772296,3.315305],[-4.53,2.91,3.339685],[.463928,.955357,6.633583],[4.253081,2.577646,3.279702],[.416106,-1.466449,6.447657],[7.08796,5.434801,.09962],[2.628639,2.035898,3.848121],[3.198363,1.985815,3.796952],[3.775151,2.039402,3.646194],[4.465819,2.42295,3.155168],[2.164289,2.189867,3.851822],[3.208229,3.223926,4.115822],[2.673803,3.205337,4.092203],[3.745193,3.165286,3.972409],[4.161018,3.059069,3.719554],[5.062006,1.934418,2.776093],[2.266659,-7.425768,4.389812],[4.445859,2.663991,3.173422],[7.21453,2.263009,.07315],[5.799793,2.349546,2.204059],[2.844939,-.720868,4.43313],[.711452,-3.329355,5.877044],[.606033,-3.924562,5.444923],[1.431615,-3.500953,5.496189],[1.91491,-3.803146,5.02893],[1.131043,-3.973937,5.189648],[1.563548,-4.082763,4.842263],[2.650112,-5.003649,4.188483],[.427049,-1.094134,7.360529],[.496396,-.475659,7.440358],[5.253307,3.881582,3.363159],[1.718698,.974609,4.558359],[1.608635,-.942516,5.814193],[1.651267,-.610868,5.581319],[4.765501,-.701554,3.534632],[.478306,.295766,7.101013],[3.734964,4.50823,4.550454],[4.588603,4.302037,4.048484],[6.279331,6.615427,1.42585],[1.220941,4.142165,5.106035],[2.193489,3.100317,4.000575],[3.102642,-4.352984,4.095905],[6.719682,-4.788645,-1.745401],[1.193824,-1.306795,5.737747],[.729766,-1.593712,5.833208],[2.456206,-4.342621,4.283884],[2.204823,-4.304508,4.162499],[4.985894,4.802461,3.751977],[1.592294,-1.257709,5.456949],[2.644548,4.524654,4.921559],[2.760292,5.100971,5.01599],[3.523964,8.005976,3.729163],[5.599763,5.71547,2.724259],[3.063932,6.566144,4.529981],[5.720968,4.254584,2.830852],[6.374393,4.78559,1.591691],[.672728,-3.688016,5.737804],[1.26256,-3.787691,5.417779],[1.732553,-3.952767,5.000579],[1.043625,-1.464973,5.662455],[2.321234,-4.329069,4.258156],[2.056846,-4.477671,4.520883],[2.153084,-4.276322,4.038093],[.946874,-1.035249,6.512274],[1.469132,-4.036351,4.604908],[1.02434,-3.989851,4.926693],[.533422,-3.993222,5.138202],[.76972,-6.095394,4.985883],[.699606,-5.29185,5.448304],[.669687,-4.94977,5.509612],[.630947,-4.695101,5.449371],[.583218,-4.517982,5.339869],[1.53717,-4.423206,4.74547],[1.6156,-4.475942,4.813632],[1.729053,-4.61868,4.854463],[1.838624,-4.828746,4.823737],[2.36825,-3.106237,4.868096],[7.542244,-1.049282,-2.431321],[1.826614,-4.399531,4.399021],[1.929558,-4.411831,4.497052],[.597442,-2.013686,5.866456],[1.405627,-1.714196,5.241087],[.662449,-1.819321,5.863759],[2.34234,.572222,4.294303],[3.327324,.104863,4.11386],[1.726175,-.919165,5.273355],[5.133204,7.485602,2.660442],[4.538641,6.319907,3.683424],[3.986562,5.109487,4.466315],[2.169681,-5.440433,4.455874],[1.395634,5.011963,5.316032],[1.6195,6.599217,4.921106],[1.891399,8.236377,4.274997],[4.195832,2.235205,3.375099],[5.733342,1.411738,2.431726],[1.859887,2.355757,3.843181],[4.988612,3.074654,3.083858],[1.303263,1.416453,4.831091],[1.305757,-.672779,6.415959],[6.46517,.937119,1.689873],[5.258659,.945811,2.974312],[4.432338,.722096,3.522615],[3.300681,.861641,3.872784],[2.430178,1.131492,4.039035],[1.820731,1.467954,4.224124],[.563221,2.307693,5.566789],[6.338145,-.529279,1.881175],[5.587698,3.208071,2.687839],[.242624,-1.462857,7.071491],[1.611251,.339326,4.895421],[7.743095,2.364999,-2.005167],[1.391142,1.851048,4.448999],[1.785794,-.978284,4.85047],[4.670959,2.664461,3.084075],[1.33397,-.283761,6.097047],[7.270895,-2.890917,-2.252455],[1.856432,2.585245,3.757904],[.923388,.073076,6.671944],[5.000589,-6.135128,1.892523],[5.085276,-7.17859,.714711],[7.159291,-.81182,-.072044],[5.843051,-5.248023,.924091],[6.847258,3.662916,.724695],[2.412942,-8.258853,4.119213],[.179909,-1.689864,6.573301],[2.103655,-.163946,4.566119],[6.407571,2.236021,1.560843],[3.670075,2.360153,3.63523],[3.177186,2.294265,3.775704],[2.196121,-4.598322,4.479786],[6.234883,-1.94443,1.663542],[1.292924,-9.29592,4.094063],[3.210651,-8.533278,2.802001],[4.068926,-7.993109,1.925119],[2.724032,2.315802,3.777151],[2.28846,2.398891,3.697603],[1.998311,2.496547,3.689148],[6.13004,3.399261,2.038516],[2.28846,2.886504,3.775031],[2.724032,2.96181,3.871767],[3.177186,2.964136,3.876973],[3.670075,2.927714,3.724325],[4.018389,2.857357,3.482983],[7.555811,4.106811,-.991917],[4.018389,2.483695,3.440898],[1.776217,-2.683946,5.213116],[1.222237,-1.182444,5.952465],[.731493,-2.536683,5.815343],[4.135272,-6.996638,2.67197],[3.311811,-7.660815,3.382963],[1.313701,-8.639995,4.702456],[5.940524,-6.223629,-.631468],[1.998311,2.743838,3.74403],[.901447,1.236992,5.754256],[2.308977,-8.974196,3.60907],[6.954154,-2.439843,-.131163],[1.098819,-4.458788,5.120727],[1.181124,-4.579996,5.189564],[1.255818,-4.787901,5.237051],[1.325085,-5.106507,5.20501],[1.546388,-5.819392,4.757893],[1.953754,-4.183892,4.431713],[2.117802,-4.137093,4.555096],[2.285339,-4.051196,4.582438],[2.85016,-3.66572,4.484994],[5.278538,-2.238942,2.861224],[.946709,1.907628,5.196779],[1.314173,3.104912,4.231404],[1.78,2.86,3.881555],[1.84511,-4.09888,4.247264],[5.436187,-4.030482,2.109852],[.766444,3.182131,4.861453],[1.938616,-6.61441,4.521085],[.516573,1.583572,6.148363],[1.246815,.230297,5.681036],[.997827,-6.930921,4.979576],[3.288807,-5.382514,3.795752],[2.311631,-1.566237,4.590085],[2.68025,-6.111567,4.096152],[3.832928,-1.537326,4.137731],[2.96186,-2.274215,4.440943],[4.386901,-2.683286,3.643886],[1.217295,-7.834465,4.969286],[1.542374,-.136843,5.201008],[3.878377,-6.041764,3.311079],[3.084037,-6.809842,3.814195],[3.747321,-4.503545,3.726453],[6.094129,-3.205991,1.473482],[4.588995,-4.728726,2.983221],[6.583231,-3.941269,.070268],[3.49258,-3.19582,4.130198],[1.255543,.802341,5.307551],[1.126122,-.933602,6.538785],[1.443109,-1.142774,5.905127],[.923043,-.529042,7.003423],[1.755386,3.529117,4.327696],[2.632589,3.713828,4.364629],[3.388062,3.721976,4.309028],[4.075766,3.675413,4.076063],[4.62291,3.474691,3.646321],[5.171755,2.535753,2.670867],[7.297331,.763172,-.048769],[4.706828,1.651,3.109532],[4.071712,1.476821,3.476944],[3.269817,1.470659,3.731945],[2.527572,1.617311,3.865444],[1.970894,1.858505,3.961782],[1.579543,2.097941,4.084996],[7.664182,.673132,-2.435867],[1.397041,-1.340139,5.630378],[.884838,.65874,6.233232],[.767097,-.968035,7.077932],[.460213,-1.334106,6.787447],[.748618,-1.067994,6.798303],[1.236408,-1.585568,5.48049],[.387306,-1.40999,6.957705],[.319925,-1.607931,6.508676],[1.639633,2.556298,3.863736],[1.255645,2.467144,4.2038],[1.031362,2.382663,4.615849],[4.253081,2.772296,3.315305],[4.53,2.91,3.339685]],uvs:[[.499977,.347466],[.500026,.452513],[.499974,.397628],[.482113,.528021],[.500151,.472844],[.49991,.501747],[.499523,.598938],[.289712,.619236],[.499955,.687602],[.499987,.730081],[.500023,.89295],[.500023,.333766],[.500016,.320776],[.500023,.307652],[.499977,.304722],[.499977,.294066],[.499977,.280615],[.499977,.262981],[.499968,.218629],[.499816,.437019],[.473773,.42609],[.104907,.745859],[.36593,.590424],[.338758,.586975],[.31112,.59054],[.274658,.610869],[.393362,.596294],[.345234,.655989],[.370094,.653924],[.319322,.652735],[.297903,.646409],[.247792,.58919],[.396889,.157245],[.280098,.6244],[.10631,.600044],[.209925,.608647],[.355808,.465594],[.471751,.349596],[.474155,.319808],[.439785,.342771],[.414617,.333459],[.450374,.319139],[.428771,.317309],[.374971,.272195],[.486717,.452371],[.485301,.472605],[.257765,.68551],[.401223,.544828],[.429819,.451385],[.421352,.466259],[.276896,.467943],[.48337,.500413],[.337212,.717117],[.296392,.706757],[.169295,.806186],[.44758,.69739],[.39239,.646112],[.35449,.303216],[.067305,.269895],[.442739,.427174],[.457098,.415208],[.381974,.305289],[.392389,.305797],[.277076,.728068],[.422552,.436767],[.385919,.718636],[.383103,.74416],[.331431,.880286],[.229924,.767997],[.364501,.810886],[.229622,.700459],[.173287,.721252],[.472879,.333802],[.446828,.331473],[.422762,.32611],[.445308,.419934],[.388103,.306039],[.403039,.29346],[.403629,.306047],[.460042,.442861],[.431158,.307634],[.452182,.307634],[.475387,.307634],[.465828,.22081],[.472329,.263774],[.473087,.282143],[.473122,.295374],[.473033,.304722],[.427942,.304722],[.426479,.29646],[.423162,.288154],[.418309,.279937],[.390095,.360427],[.013954,.439966],[.499914,.419853],[.4132,.3046],[.409626,.298177],[.46808,.398465],[.422729,.414015],[.46308,.406216],[.37212,.526586],[.334562,.503927],[.411671,.453035],[.242176,.852324],[.290777,.798554],[.327338,.743473],[.39951,.251079],[.441728,.738324],[.429765,.812166],[.412198,.891099],[.288955,.601048],[.218937,.564589],[.412782,.60103],[.257135,.64456],[.427685,.562039],[.44834,.463064],[.17856,.542446],[.247308,.542806],[.286267,.532325],[.332828,.539288],[.368756,.552793],[.398964,.567345],[.47641,.594194],[.189241,.476076],[.228962,.651049],[.490726,.437599],[.40467,.514867],[.019469,.598436],[.426243,.579569],[.396993,.451203],[.26647,.623023],[.439121,.481042],[.032314,.355643],[.419054,.612845],[.462783,.494253],[.238979,.220255],[.198221,.168062],[.10755,.459245],[.18361,.259743],[.13441,.666317],[.385764,.116846],[.490967,.420622],[.382385,.491427],[.174399,.602329],[.318785,.603765],[.343364,.599403],[.3961,.289783],[.187885,.411462],[.430987,.055935],[.318993,.101715],[.266248,.130299],[.500023,.809424],[.499977,.045547],[.36617,.601178],[.393207,.604463],[.410373,.60892],[.194993,.657898],[.388665,.637716],[.365962,.644029],[.343364,.644643],[.318785,.64166],[.301415,.636844],[.058133,.680924],[.301415,.612551],[.499988,.381566],[.415838,.375804],[.445682,.433923],[.465844,.379359],[.499923,.648476],[.288719,.180054],[.335279,.14718],[.440512,.097581],[.128294,.208059],[.408772,.626106],[.455607,.548199],[.499877,.09101],[.375437,.075808],[.11421,.384978],[.448662,.304722],[.44802,.295368],[.447112,.284192],[.444832,.269206],[.430012,.233191],[.406787,.314327],[.400738,.318931],[.3924,.322297],[.367856,.336081],[.247923,.398667],[.45277,.57915],[.436392,.640113],[.416164,.631286],[.413386,.307634],[.228018,.316428],[.468268,.647329],[.411362,.195673],[.499989,.530175],[.479154,.557346],[.499974,.560363],[.432112,.506411],[.499886,.133083],[.499913,.178271],[.456549,.180799],[.344549,.254561],[.378909,.42599],[.374293,.219815],[.319688,.429262],[.357155,.39573],[.295284,.378419],[.44775,.137523],[.410986,.491277],[.313951,.224692],[.354128,.187447],[.324548,.296007],[.189096,.3537],[.279777,.285342],[.133823,.317299],[.336768,.355267],[.429884,.533478],[.455528,.451377],[.437114,.441104],[.467288,.470075],[.414712,.66478],[.377046,.677222],[.344108,.679849],[.312876,.677668],[.283526,.66681],[.241246,.617214],[.102986,.531237],[.267612,.57544],[.297879,.566824],[.333434,.566122],[.366427,.573884],[.396012,.583304],[.420121,.589772],[.007561,.519223],[.432949,.430482],[.458639,.520911],[.473466,.454256],[.476088,.43617],[.468472,.444943],[.433991,.417638],[.483518,.437016],[.482483,.422151],[.42645,.610201],[.438999,.603505],[.450067,.599566],[.289712,.631747],[.27667,.636627],[.517862,.528052],[.710288,.619236],[.526227,.42609],[.895093,.745859],[.63407,.590424],[.661242,.586975],[.68888,.59054],[.725342,.610869],[.60663,.596295],[.654766,.655989],[.629906,.653924],[.680678,.652735],[.702097,.646409],[.752212,.589195],[.602918,.157137],[.719902,.6244],[.893693,.60004],[.790082,.608646],[.643998,.465512],[.528249,.349596],[.52585,.319809],[.560215,.342771],[.585384,.333459],[.549626,.319139],[.571228,.317308],[.624852,.271901],[.51305,.452718],[.515097,.472748],[.742247,.685493],[.598631,.545021],[.570338,.451425],[.578632,.466377],[.723087,.467946],[.516446,.500361],[.662801,.717082],[.703624,.706729],[.830705,.806186],[.552386,.697432],[.60761,.646112],[.645429,.303293],[.932695,.269895],[.557261,.427174],[.542902,.415208],[.618026,.305289],[.607591,.305797],[.722943,.728037],[.577414,.436833],[.614083,.718613],[.616907,.744114],[.668509,.880086],[.770092,.767979],[.635536,.810751],[.770391,.700444],[.826722,.721245],[.527121,.333802],[.553172,.331473],[.577238,.32611],[.554692,.419934],[.611897,.306039],[.596961,.29346],[.596371,.306047],[.539958,.442861],[.568842,.307634],[.547818,.307634],[.524613,.307634],[.53409,.220859],[.527671,.263774],[.526913,.282143],[.526878,.295374],[.526967,.304722],[.572058,.304722],[.573521,.29646],[.576838,.288154],[.581691,.279937],[.609945,.36009],[.986046,.439966],[.5868,.3046],[.590372,.298177],[.531915,.398463],[.577268,.414065],[.536915,.406214],[.627543,.526648],[.665586,.504049],[.588354,.453138],[.757824,.852324],[.70925,.798492],[.672684,.743419],[.600409,.250995],[.558266,.738328],[.570304,.812129],[.588166,.890956],[.711045,.601048],[.78107,.564595],[.587247,.601068],[.74287,.644554],[.572156,.562348],[.551868,.46343],[.821442,.542444],[.752702,.542818],[.713757,.532373],[.667113,.539327],[.631101,.552846],[.600862,.567527],[.523481,.594373],[.810748,.476074],[.771046,.651041],[.509127,.437282],[.595293,.514976],[.980531,.598436],[.5735,.58],[.602995,.451312],[.73353,.623023],[.560611,.480983],[.967686,.355643],[.580985,.61284],[.537728,.494615],[.760966,.220247],[.801779,.168062],[.892441,.459239],[.816351,.25974],[.865595,.666313],[.614074,.116754],[.508953,.420562],[.617942,.491684],[.825608,.602325],[.681215,.603765],[.656636,.599403],[.6039,.289783],[.812086,.411461],[.568013,.055435],[.681008,.101715],[.733752,.130299],[.63383,.601178],[.606793,.604463],[.58966,.608938],[.805016,.657892],[.611335,.637716],[.634038,.644029],[.656636,.644643],[.681215,.64166],[.698585,.636844],[.941867,.680924],[.698585,.612551],[.584177,.375893],[.554318,.433923],[.534154,.37936],[.711218,.180025],[.66463,.147129],[.5591,.097368],[.871706,.208059],[.591234,.626106],[.544341,.548416],[.624563,.075808],[.88577,.384971],[.551338,.304722],[.55198,.295368],[.552888,.284192],[.555168,.269206],[.569944,.232965],[.593203,.314324],[.599262,.318931],[.6076,.322297],[.631938,.3365],[.752033,.398685],[.547226,.579605],[.563544,.640172],[.583841,.631286],[.586614,.307634],[.771915,.316422],[.531597,.647517],[.588371,.195559],[.520797,.557435],[.567985,.506521],[.543283,.180745],[.655317,.254485],[.621009,.425982],[.62556,.219688],[.680198,.429281],[.642764,.395662],[.704663,.37847],[.552012,.137408],[.589072,.491363],[.685945,.224643],[.645735,.18736],[.675343,.296022],[.810858,.353695],[.720122,.285333],[.866152,.317295],[.663187,.355403],[.570082,.533674],[.544562,.451624],[.562759,.441215],[.531987,.46986],[.585271,.664823],[.622953,.677221],[.655896,.679837],[.687132,.677654],[.716482,.666799],[.758757,.617213],[.897013,.531231],[.732392,.575453],[.702114,.566837],[.666525,.566134],[.633505,.573912],[.603876,.583413],[.579658,.590055],[.99244,.519223],[.567192,.43058],[.541366,.521101],[.526564,.453882],[.523913,.43617],[.531529,.444943],[.566036,.417671],[.516311,.436946],[.517472,.422123],[.573595,.610193],[.560698,.604668],[.549756,.600249],[.710288,.631747],[.72333,.636627]],faces:[173,155,133,246,33,7,382,398,362,263,466,249,308,415,324,78,95,191,356,389,264,127,34,162,368,264,389,139,162,34,267,0,302,37,72,0,11,302,0,11,0,72,349,451,350,120,121,231,452,350,451,232,231,121,267,302,269,37,39,72,303,269,302,73,72,39,357,343,350,128,121,114,277,350,343,47,114,121,350,452,357,121,128,232,453,357,452,233,232,128,299,333,297,69,67,104,332,297,333,103,104,67,175,152,396,175,171,152,377,396,152,148,152,171,381,384,382,154,155,157,398,382,384,173,157,155,280,347,330,50,101,118,348,330,347,119,118,101,269,303,270,39,40,73,304,270,303,74,73,40,9,336,151,9,151,107,337,151,336,108,107,151,344,278,360,115,131,48,279,360,278,49,48,131,262,431,418,32,194,211,424,418,431,204,211,194,304,408,270,74,40,184,409,270,408,185,184,40,272,310,407,42,183,80,415,407,310,191,80,183,322,270,410,92,186,40,409,410,270,185,40,186,347,449,348,118,119,229,450,348,449,230,229,119,434,432,430,214,210,212,422,430,432,202,212,210,313,314,18,83,18,84,17,18,314,17,84,18,307,375,306,77,76,146,291,306,375,61,146,76,259,387,260,29,30,160,388,260,387,161,160,30,286,414,384,56,157,190,398,384,414,173,190,157,418,424,406,194,182,204,335,406,424,106,204,182,367,416,364,138,135,192,434,364,416,214,192,135,391,423,327,165,98,203,358,327,423,129,203,98,298,301,284,68,54,71,251,284,301,21,71,54,4,275,5,4,5,45,281,5,275,51,45,5,254,373,253,24,23,144,374,253,373,145,144,23,320,321,307,90,77,91,375,307,321,146,91,77,280,425,411,50,187,205,427,411,425,207,205,187,421,313,200,201,200,83,18,200,313,18,83,200,335,321,406,106,182,91,405,406,321,181,91,182,405,321,404,181,180,91,320,404,321,90,91,180,17,314,16,17,16,84,315,16,314,85,84,16,425,266,426,205,206,36,423,426,266,203,36,206,369,396,400,140,176,171,377,400,396,148,171,176,391,269,322,165,92,39,270,322,269,40,39,92,417,465,413,193,189,245,464,413,465,244,245,189,257,258,386,27,159,28,385,386,258,158,28,159,260,388,467,30,247,161,466,467,388,246,161,247,248,456,419,3,196,236,399,419,456,174,236,196,333,298,332,104,103,68,284,332,298,54,68,103,285,8,417,55,193,8,168,417,8,168,8,193,340,261,346,111,117,31,448,346,261,228,31,117,285,417,441,55,221,193,413,441,417,189,193,221,327,460,326,98,97,240,328,326,460,99,240,97,277,355,329,47,100,126,371,329,355,142,126,100,309,392,438,79,218,166,439,438,392,219,166,218,381,382,256,154,26,155,341,256,382,112,155,26,360,279,420,131,198,49,429,420,279,209,49,198,365,364,379,136,150,135,394,379,364,169,135,150,355,277,437,126,217,47,343,437,277,114,47,217,443,444,282,223,52,224,283,282,444,53,224,52,281,275,363,51,134,45,440,363,275,220,45,134,431,262,395,211,170,32,369,395,262,140,32,170,337,299,338,108,109,69,297,338,299,67,69,109,335,273,321,106,91,43,375,321,273,146,43,91,348,450,349,119,120,230,451,349,450,231,230,120,467,359,342,247,113,130,446,342,359,226,130,113,282,283,334,52,105,53,293,334,283,63,53,105,250,458,462,20,242,238,461,462,458,241,238,242,276,353,300,46,70,124,383,300,353,156,124,70,325,292,324,96,95,62,308,324,292,78,62,95,283,276,293,53,63,46,300,293,276,70,46,63,447,264,345,227,116,34,372,345,264,143,34,116,352,345,346,123,117,116,340,346,345,111,116,117,1,19,274,1,44,19,354,274,19,125,19,44,248,281,456,3,236,51,363,456,281,134,51,236,425,426,427,205,207,206,436,427,426,216,206,207,380,381,252,153,22,154,256,252,381,26,154,22,391,393,269,165,39,167,267,269,393,37,167,39,199,428,200,199,200,208,421,200,428,201,208,200,330,329,266,101,36,100,371,266,329,142,100,36,422,432,273,202,43,212,287,273,432,57,212,43,290,250,328,60,99,20,462,328,250,242,20,99,258,286,385,28,158,56,384,385,286,157,56,158,342,446,353,113,124,226,265,353,446,35,226,124,257,386,259,27,29,159,387,259,386,160,159,29,430,422,431,210,211,202,424,431,422,204,202,211,445,342,276,225,46,113,353,276,342,124,113,46,424,422,335,204,106,202,273,335,422,43,202,106,306,292,307,76,77,62,325,307,292,96,62,77,366,447,352,137,123,227,345,352,447,116,227,123,302,268,303,72,73,38,271,303,268,41,38,73,371,358,266,142,36,129,423,266,358,203,129,36,327,294,460,98,240,64,455,460,294,235,64,240,294,331,278,64,48,102,279,278,331,49,102,48,303,271,304,73,74,41,272,304,271,42,41,74,427,436,434,207,214,216,432,434,436,212,216,214,304,272,408,74,184,42,407,408,272,183,42,184,394,430,395,169,170,210,431,395,430,211,210,170,395,369,378,170,149,140,400,378,369,176,140,149,296,334,299,66,69,105,333,299,334,104,105,69,417,168,351,193,122,168,6,351,168,6,168,122,280,411,352,50,123,187,376,352,411,147,187,123,319,320,325,89,96,90,307,325,320,77,90,96,285,295,336,55,107,65,296,336,295,66,65,107,404,320,403,180,179,90,319,403,320,89,90,179,330,348,329,101,100,119,349,329,348,120,119,100,334,293,333,105,104,63,298,333,293,68,63,104,323,454,366,93,137,234,447,366,454,227,234,137,16,315,15,16,15,85,316,15,315,86,85,15,429,279,358,209,129,49,331,358,279,102,49,129,15,316,14,15,14,86,317,14,316,87,86,14,8,285,9,8,9,55,336,9,285,107,55,9,329,349,277,100,47,120,350,277,349,121,120,47,252,253,380,22,153,23,374,380,253,145,23,153,402,403,318,178,88,179,319,318,403,89,179,88,351,6,419,122,196,6,197,419,6,197,6,196,324,318,325,95,96,88,319,325,318,89,88,96,397,367,365,172,136,138,364,365,367,135,138,136,288,435,397,58,172,215,367,397,435,138,215,172,438,439,344,218,115,219,278,344,439,48,219,115,271,311,272,41,42,81,310,272,311,80,81,42,5,281,195,5,195,51,248,195,281,3,51,195,273,287,375,43,146,57,291,375,287,61,57,146,396,428,175,171,175,208,199,175,428,199,208,175,268,312,271,38,41,82,311,271,312,81,82,41,444,445,283,224,53,225,276,283,445,46,225,53,254,339,373,24,144,110,390,373,339,163,110,144,295,282,296,65,66,52,334,296,282,105,52,66,346,448,347,117,118,228,449,347,448,229,228,118,454,356,447,234,227,127,264,447,356,34,127,227,336,296,337,107,108,66,299,337,296,69,66,108,151,337,10,151,10,108,338,10,337,109,108,10,278,439,294,48,64,219,455,294,439,235,219,64,407,415,292,183,62,191,308,292,415,78,191,62,358,371,429,129,209,142,355,429,371,126,142,209,345,372,340,116,111,143,265,340,372,35,143,111,388,390,466,161,246,163,249,466,390,7,163,246,352,346,280,123,50,117,347,280,346,118,117,50,295,442,282,65,52,222,443,282,442,223,222,52,19,94,354,19,125,94,370,354,94,141,94,125,295,285,442,65,222,55,441,442,285,221,55,222,419,197,248,196,3,197,195,248,197,195,197,3,359,263,255,130,25,33,249,255,263,7,33,25,275,274,440,45,220,44,457,440,274,237,44,220,300,383,301,70,71,156,368,301,383,139,156,71,417,351,465,193,245,122,412,465,351,188,122,245,466,263,467,246,247,33,359,467,263,130,33,247,389,251,368,162,139,21,301,368,251,71,21,139,374,386,380,145,153,159,385,380,386,158,159,153,379,394,378,150,149,169,395,378,394,170,169,149,351,419,412,122,188,196,399,412,419,174,196,188,426,322,436,206,216,92,410,436,322,186,92,216,387,373,388,160,161,144,390,388,373,163,144,161,393,326,164,167,164,97,2,164,326,2,97,164,354,370,461,125,241,141,462,461,370,242,141,241,0,267,164,0,164,37,393,164,267,167,37,164,11,12,302,11,72,12,268,302,12,38,12,72,386,374,387,159,160,145,373,387,374,144,145,160,12,13,268,12,38,13,312,268,13,82,13,38,293,300,298,63,68,70,301,298,300,71,70,68,340,265,261,111,31,35,446,261,265,226,35,31,380,385,381,153,154,158,384,381,385,157,158,154,280,330,425,50,205,101,266,425,330,36,101,205,423,391,426,203,206,165,322,426,391,92,165,206,429,355,420,209,198,126,437,420,355,217,126,198,391,327,393,165,167,98,326,393,327,97,98,167,457,438,440,237,220,218,344,440,438,115,218,220,382,362,341,155,112,133,463,341,362,243,133,112,457,461,459,237,239,241,458,459,461,238,241,239,434,430,364,214,135,210,394,364,430,169,210,135,414,463,398,190,173,243,362,398,463,133,243,173,262,428,369,32,140,208,396,369,428,171,208,140,457,274,461,237,241,44,354,461,274,125,44,241,316,403,317,86,87,179,402,317,403,178,179,87,315,404,316,85,86,180,403,316,404,179,180,86,314,405,315,84,85,181,404,315,405,180,181,85,313,406,314,83,84,182,405,314,406,181,182,84,418,406,421,194,201,182,313,421,406,83,182,201,366,401,323,137,93,177,361,323,401,132,177,93,408,407,306,184,76,183,292,306,407,62,183,76,408,306,409,184,185,76,291,409,306,61,76,185,410,409,287,186,57,185,291,287,409,61,185,57,436,410,432,216,212,186,287,432,410,57,186,212,434,416,427,214,207,192,411,427,416,187,192,207,264,368,372,34,143,139,383,372,368,156,139,143,457,459,438,237,218,239,309,438,459,79,239,218,352,376,366,123,137,147,401,366,376,177,147,137,4,1,275,4,45,1,274,275,1,44,1,45,428,262,421,208,201,32,418,421,262,194,32,201,327,358,294,98,64,129,331,294,358,102,129,64,367,435,416,138,192,215,433,416,435,213,215,192,455,439,289,235,59,219,392,289,439,166,219,59,328,462,326,99,97,242,370,326,462,141,242,97,326,370,2,97,2,141,94,2,370,94,141,2,460,455,305,240,75,235,289,305,455,59,235,75,448,339,449,228,229,110,254,449,339,24,110,229,261,446,255,31,25,226,359,255,446,130,226,25,449,254,450,229,230,24,253,450,254,23,24,230,450,253,451,230,231,23,252,451,253,22,23,231,451,252,452,231,232,22,256,452,252,26,22,232,256,341,452,26,232,112,453,452,341,233,112,232,413,464,414,189,190,244,463,414,464,243,244,190,441,413,286,221,56,189,414,286,413,190,189,56,441,286,442,221,222,56,258,442,286,28,56,222,442,258,443,222,223,28,257,443,258,27,28,223,444,443,259,224,29,223,257,259,443,27,223,29,259,260,444,29,224,30,445,444,260,225,30,224,260,467,445,30,225,247,342,445,467,113,247,225,250,309,458,20,238,79,459,458,309,239,79,238,290,305,392,60,166,75,289,392,305,59,75,166,460,305,328,240,99,75,290,328,305,60,75,99,376,433,401,147,177,213,435,401,433,215,213,177,250,290,309,20,79,60,392,309,290,166,60,79,411,416,376,187,147,192,433,376,416,213,192,147,341,463,453,112,233,243,464,453,463,244,243,233,453,464,357,233,128,244,465,357,464,245,244,128,412,343,465,188,245,114,357,465,343,128,114,245,437,343,399,217,174,114,412,399,343,188,114,174,363,440,360,134,131,220,344,360,440,115,220,131,456,420,399,236,174,198,437,399,420,217,198,174,456,363,420,236,198,134,360,420,363,131,134,198,361,401,288,132,58,177,435,288,401,215,177,58,353,265,383,124,156,35,372,383,265,143,35,156,255,249,339,25,110,7,390,339,249,163,7,110,261,255,448,31,228,25,339,448,255,110,25,228,14,317,13,14,13,87,312,13,317,82,87,13,317,402,312,87,82,178,311,312,402,81,178,82,402,318,311,178,81,88,310,311,318,80,88,81,318,324,310,88,80,95,415,310,324,191,95,80],landmarkBasis:[[4,.070909939706326],[6,.032100144773722],[10,.008446550928056],[33,.058724168688059],[54,.007667080033571],[67,.009078059345484],[117,.009791937656701],[119,.014565368182957],[121,.018591361120343],[127,.005197994410992],[129,.120625205338001],[132,.005560018587857],[133,.05328618362546],[136,.066890455782413],[143,.014816547743976],[147,.014262833632529],[198,.025462191551924],[205,.047252278774977],[263,.058724168688059],[284,.007667080033571],[297,.009078059345484],[346,.009791937656701],[348,.014565368182957],[350,.018591361120343],[356,.005197994410992],[358,.120625205338001],[361,.005560018587857],[362,.05328618362546],[365,.066890455782413],[372,.014816547743976],[376,.014262833632529],[420,.025462191551924],[425,.047252278774977]]}},1873:(A,I,g)=>{const{uvs:C,faces:B}=g(2319),Q=C.length;A.exports={createThreeFaceGeometry:A=>{class I extends A.BufferGeometry{constructor(I={}){super(),this.positions=new Float32Array(3*Q),this.uvs=new Float32Array(2*Q),this.setAttribute("position",new A.BufferAttribute(this.positions,3)),this.setAttribute("uv",new A.BufferAttribute(this.uvs,2)),this.setUvs(),this.setIndex(B)}setUvs(){for(let A=0;A{const{FaceMesh:C}=g(8818);A.exports={FaceMeshHelper:class{constructor(){this.detectResolve=null,this.faceMesh=new C({locateFile:A=>`https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh@0.4/${A}`}),this.faceMesh.setOptions({maxNumFaces:1,refineLandmarks:!1,minDetectionConfidence:.5,minTrackingConfidence:.5}),this.faceMesh.onResults((A=>{this.detectResolve&&this.detectResolve(A)}))}async detect(A){return await new Promise(((I,g)=>{this.detectResolve=I,this.faceMesh.send({image:A})}))}}}},344:A=>{const I=(A,I)=>{const g=2*Math.PI*I*A;return g/(g+1)},g=(A,I,g)=>A*I+(1-A)*g;A.exports={OneEuroFilter:class{constructor({minCutOff:A,beta:I}){this.minCutOff=A,this.beta=I,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(A,C){if(!this.initialized)return this.initialized=!0,this.xPrev=C,this.dxPrev=C.map((()=>0)),this.tPrev=A,C;const{xPrev:B,tPrev:Q,dxPrev:E}=this,i=A-Q,o=I(i,this.dCutOff),t=[],e=[],s=[];for(let A=0;A{const C=g(129);let B=!1;const Q={},E=[];C.then((A=>{B=!0,Object.assign(Q,A),E.forEach((A=>{A()}))})),A.exports={cv:Q,waitCV:async()=>!!B||new Promise(((A,I)=>{E.push(A)}))}},129:function(A,I,g){var C,B;B=this,C=function(){return B.cv=(I=(I="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",C=function(A){var C,B,Q=void 0!==(A=A||{})?A:{};Q.ready=new Promise((function(A,I){C=A,B=I}));var E,i={};for(E in Q)Q.hasOwnProperty(E)&&(i[E]=Q[E]);var o=[],t="./this.program",e=!1,s=!1,a=!1,D=!1;e="object"==typeof window,s="function"==typeof importScripts,a="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,D=!e&&!a&&!s;var n,r,h,w,c,G="";function y(A){return Q.locateFile?Q.locateFile(A,G):G+A}a?(G=s?g(1386).dirname(G)+"/":"//",n=function(A,I){var C=TC(A);return C?I?C:C.toString():(w||(w=g(2993)),c||(c=g(1386)),A=c.normalize(A),w.readFileSync(A,I?null:"utf8"))},h=function(A){var I=n(A,!0);return I.buffer||(I=new Uint8Array(I)),k(I.buffer),I},process.argv.length>1&&(t=process.argv[1].replace(/\\/g,"/")),o=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof jC))throw A})),process.on("unhandledRejection",GA),Q.inspect=function(){return"[Emscripten Module object]"}):D?("undefined"!=typeof read&&(n=function(A){var I=TC(A);return I?qC(I):read(A)}),h=function(A){var I;return(I=TC(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?o=scriptArgs:void 0!==arguments&&(o=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(e||s)&&(s?G=self.location.href:"undefined"!=typeof document&&document.currentScript&&(G=document.currentScript.src),I&&(G=I),G=0!==G.indexOf("blob:")?G.substr(0,G.lastIndexOf("/")+1):"",n=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=TC(A);if(g)return qC(g);throw I}},s&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=TC(A);if(g)return g;throw I}}),r=function(A,I,g){var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=function(){if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=TC(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});var F=Q.print||console.log.bind(console),R=Q.printErr||console.warn.bind(console);for(E in i)i.hasOwnProperty(E)&&(Q[E]=i[E]);i=null,Q.arguments&&(o=Q.arguments),Q.thisProgram&&(t=Q.thisProgram),Q.quit&&Q.quit;var N=16;function l(A,I){return I||(I=N),Math.ceil(A/I)*I}function M(A){M.shown||(M.shown={}),M.shown[A]||(M.shown[A]=1,R(A))}var S,U,d=function(A){};Q.wasmBinary&&(S=Q.wasmBinary),Q.noExitRuntime&&Q.noExitRuntime,"object"!=typeof WebAssembly&&GA("no native wasm support detected");var K=!1;function k(A,I){A||GA("Assertion failed: "+I)}var J="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function Y(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&J)return J.decode(A.subarray(I,B));for(var Q="";I>10,56320|1023&t)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function u(A,I){return A?Y(q,A,I):""}function L(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function p(A,I,g){return L(A,q,I,g)}function f(A){for(var I=0,g=0;g=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}var H,m,q,x,b,T,V,W,v,Z="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function O(A,I){for(var g=A,C=g>>1,B=C+I/2;!(C>=B)&&b[C];)++C;if((g=C<<1)-A>32&&Z)return Z.decode(q.subarray(A,g));for(var Q="",E=0;!(E>=I/2);++E){var i=x[A+2*E>>1];if(0==i)break;Q+=String.fromCharCode(i)}return Q}function X(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var C=I,B=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return x[I>>1]=0,I-C}function P(A){return 2*A.length}function j(A,I){for(var g=0,C="";!(g>=I/4);){var B=T[A+4*g>>2];if(0==B)break;if(++g,B>=65536){var Q=B-65536;C+=String.fromCharCode(55296|Q>>10,56320|1023&Q)}else C+=String.fromCharCode(B)}return C}function z(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var C=I,B=C+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),T[I>>2]=E,(I+=4)+4>B)break}return T[I>>2]=0,I-C}function _(A){for(var I=0,g=0;g=55296&&C<=57343&&++g,I+=4}return I}function $(A,I){m.set(A,I)}function AA(A,I,g){for(var C=0;C>0]=A.charCodeAt(C);g||(m[I>>0]=0)}function IA(A,I){return A%I>0&&(A+=I-A%I),A}function gA(A){H=A,Q.HEAP8=m=new Int8Array(A),Q.HEAP16=x=new Int16Array(A),Q.HEAP32=T=new Int32Array(A),Q.HEAPU8=q=new Uint8Array(A),Q.HEAPU16=b=new Uint16Array(A),Q.HEAPU32=V=new Uint32Array(A),Q.HEAPF32=W=new Float32Array(A),Q.HEAPF64=v=new Float64Array(A)}Q.INITIAL_MEMORY;var CA,BA=[],QA=[],EA=[],iA=[];function oA(){if(Q.preRun)for("function"==typeof Q.preRun&&(Q.preRun=[Q.preRun]);Q.preRun.length;)aA(Q.preRun.shift());pA(BA)}function tA(){Q.noFSInit||XA.init.initialized||XA.init(),vA.init(),pA(QA)}function eA(){XA.ignorePermissions=!1,pA(EA)}function sA(){if(Q.postRun)for("function"==typeof Q.postRun&&(Q.postRun=[Q.postRun]);Q.postRun.length;)DA(Q.postRun.shift());pA(iA)}function aA(A){BA.unshift(A)}function DA(A){iA.unshift(A)}var nA=0,rA=null,hA=null;function wA(A){nA++,Q.monitorRunDependencies&&Q.monitorRunDependencies(nA)}function cA(A){if(nA--,Q.monitorRunDependencies&&Q.monitorRunDependencies(nA),0==nA&&(null!==rA&&(clearInterval(rA),rA=null),hA)){var I=hA;hA=null,I()}}function GA(A){Q.onAbort&&Q.onAbort(A),R(A+=""),K=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.";var I=new WebAssembly.RuntimeError(A);throw B(I),I}function yA(A,I){return String.prototype.startsWith?A.startsWith(I):0===A.indexOf(I)}Q.preloadedImages={},Q.preloadedAudios={};var FA="data:application/octet-stream;base64,";function RA(A){return yA(A,FA)}var NA="file://";function lA(A){return yA(A,NA)}var MA,SA,UA,dA="data:application/octet-stream;base64,AGFzbQEAAAAB1Ah7YAF/AX9gAX8AYAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAIf39/f39/f38AYAV/f39/fwBgBX9/f39/AX9gCX9/f39/f39/fwBgBH9/f38Bf2AGf39/f39/AX9gBn9/f39/fwBgAABgAX8BfGAHf39/f39/fwBgAAF/YAh/f39/f39/fwF/YAR/f398AGADf398AGADf39/AXxgB39/f39/f38Bf2ABfwF9YAN/fX8AYAJ/fwF9YAp/f39/f39/f39/AGABfAF8YAJ/fABgAX8BfmADf35/AX5gDX9/f39/f39/f398fH8AYAV/fn5+fgBgBn9/f399fwF/YAJ/fwF8YAp/f39/f39/fHx/AGAFf39/f3wAYAR/f3x/AGACf34AYAV/f39/fgF/YAR/f398AX9gAnx8AXxgD39/f39/f39/f39/f39/fwBgBX9/f3x8AGAFf39+f38AYAN/f30AYAR/fH9/AGAFf39/f3wBf2AEf39/fwF+YAR/f399AGAHf398f3x/fwBgBH9+fn8AYAl/f39/f39/f38Bf2AKf39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAV/f39/fwF9YAZ/f39/fX8AYAd/f39/fX9/AGALf39/f31/f31/f38AYAd/f39/fX99AGAGf39/f319AGAGf39/f3x8AGACf30AYAx/f39/f39/f39/f38Bf2AGf39/f3x/AX9gB39/f398f38Bf2ADf398AX9gBn98f39/fwF/YAJ+fwF/YAF8AX9gAAF+YAJ/fwF+YAR/f39+AX5gA39/fwF9YAh/f39/f39/fwF9YAh/f39/fX9/fwF9YAR/f39/AXxgAnx/AXxgC39/f39/f39/f39/AGANf39/f39/f39/f39/fwBgDH9/f39/f39/fHx8fABgCX9/f39/f3x8fwBgBn9/f39/fABgC39/f39/fH9/f398AGAPf39/f31/f31/f39/f39/AGAPf39/f3x/f3x/f39/f39/AGAKf39/f3x8fHx8fwBgBn9/f31/fwBgA39/fgBgA39+fgBgA398fwBgCn98f398f3x8fHwAYAd/fH98fH9/AGADf3x8AGAMf3x8fHx8fHx8fH9/AGADfH9/AGAFfHx/f38AYAh8fHx8fHx/fwBgB39/f39/f3wBf2AOf39/f399f398f3x/f38Bf2AEf39/fQF/YBh/f398fHx8fHx8fHx8fHx8fHx8fHx8fH8Bf2AEf398fAF/YAN/fn8Bf2AEf35/fwF/YAN/fH8Bf2ADfn9/AX9gAn5+AX9gA35+fgF/YAR+fn5+AX9gAX0Bf2ACfH8Bf2AHfHx8fH9/fwF/YAl8fHx8fH9/f38Bf2ADf39/AX5gBH9/f38BfWACfn4BfWAFf39/f38BfGADf3x8AXxgAn5+AXxgA3x8fwF8AtwKLgNlbnYQX2VtdmFsX25ld19hcnJheQARA2VudhhfZW12YWxfZ2V0X21ldGhvZF9jYWxsZXIAAwNlbnYXX2VtdmFsX2NhbGxfdm9pZF9tZXRob2QABgNlbnYRX2VtdmFsX3Rha2VfdmFsdWUAAwNlbnYSX2VtdmFsX25ld19jc3RyaW5nAAADZW52E19lbXZhbF9zZXRfcHJvcGVydHkABANlbnYNX2VtdmFsX2RlY3JlZgABA2Vudg1fZW12YWxfaW5jcmVmAAEDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfY2xhc3MAUQNlbnYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgANA2VudiVfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NsYXNzX2Z1bmN0aW9uABADZW52H19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfcHJvcGVydHkAGgNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAHA2Vudh1fZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdAANA2VudiNfZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdF9maWVsZAAaA2Vudh1fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdAABA2VudhlfZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uAA0DZW52HF9lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfYXJyYXkADQNlbnYkX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9hcnJheV9lbGVtZW50AAoDZW52HF9lbWJpbmRfZmluYWxpemVfdmFsdWVfYXJyYXkAAQNlbnYZX2VtYmluZF9yZWdpc3Rlcl9jb25zdGFudAAUA2VudhhfX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24AAANlbnYLX19jeGFfdGhyb3cABANlbnYNY2xvY2tfZ2V0dGltZQADA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQAAgNlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAgDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwACA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAQDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAgNlbnYYX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyAAgDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQABANlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAEA2VudgpfX3N5c19vcGVuAAUWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQALFndhc2lfc25hcHNob3RfcHJldmlldzEHZmRfcmVhZAALFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYNX19zeXNfZmNudGw2NAAFA2VudgtfX3N5c19pb2N0bAAFFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAMDZW52BWFib3J0AA4DZW52CnN0cmZ0aW1lX2wACQNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcABQNlbnYLc2V0VGVtcFJldDAAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3NlZWsACQP6HfgdDgkrBBMCBgQGBCITAgQCBAQCAgQCAgIABAICEhIWDAkLBgYEBAICAgEODg4ODg4ODg4OAAEAEQMABQMLBQkLDAUECwYDBAIDAgICAgICAgIAAwAAPwYkBAUIBgYLBAQABgQFAwAEFSgFAwQAAwQFBgsEBgQGBAYEBgQGBAYDBQULCwkFCwkDBQULCQULCQMFBQsJS3U5dwMVBU4RAREiFBktEREDBAMDERERIhQREREBAwQDAzQSFgwJBQMAAQsAAAABEQIEBAYA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BpwGnQahBqIGowbeBuEG4AbiBvUD7wOnB4QH5AblBuYG5wboBukG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUG9gb4BvkG+wb8Bu8DpweFB4YHhweIB4kHiweKB+8DpweMB40HjgfvA6gHkweUB5UHlgeXB6kH7wOoB5gHmQfvA6gHjweQB5EH7wOoB5oH7wOoB5sHkAe1B7YHtwe4B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gH/gf/B4AIgQiCCIMIhAiTCJQIlQiWCJcIjAiYCJkImgicCJ0InwiKCKEIowilCKcIqQirCIgIrQivCLAIsQiyCLMIkgi0CLUItwi5CLsIvQiQCL8IwQjDCMUIxwjJCI4IywjOCPUD7wPQCNgI3QjVCNII1wjrCPAIpQn8CP4I/wiACYEJggmDCY0JjgmPCZAJhAmTCZEJkgmWCZoJngmVCaMJpAmMCYsJoAmhCacJqAmpCaoJqwmuCb0Jvgm/CagH7wPCCcMJxAnvA/UD7wPECe8D9QPvA80JzgnPCdAJ0QnSCdMJ1An1A+8DxAnvA/UD7wPVCdkJ9QPvA8QJ7wPvA98J4QnPCeIJ4wnkCeUJ5gn1A+8DxAnvA+8D5wnrCfUD7wPECe8D7wPuCe8JzwniCfAJ8QnyCfMJ9QPvA8QJ7wPvA/QJ9wn6CfsJ/An9Cf4J/wmACoEKggqDCoYKhwqICokKigqLCowKvwqdCpUKoAq1CpYKlwqmCqcKgxu2CrcKuAq5CroKuwq8Cr0KyQbbCtwK3Qq9Cv0K/gr/Cu8DiAuJC4oLiwuMC5kLmgubC5wLnQueC58LoAv1A+8DyQbvA/UD7wOPC5ELkguTC5QLlQuWC5cL7wOhC6ILowukC/UD7wPJBu8D7wOlC/UD7wPJBu8D7wOmC/UD7wPJBu8D7wOoC/UD7wPJBu8D7wOpC/UD7wPJBu8D7wOrC6wLrQuuC68LsAu5C7oLuwu8C70L9QPvA8sLzAvvA/UD7wPJBu8D9QPvA9oL2wvcC90L3gvfC+8D4AvhC+IL4wvvA8kGyAbIBu0L5AvlC+gL6QvqC+8D6wvsC+4L7wvwC/ML9Av1C/EL9AvyC+8D+Qv6C+8D7wP5C/sL7wOCDIMMjwyRDJIMlAyVDIQM7wP5C5YM7wPoDOkMxAnvA+oM6wzsDO0M7gzvDPAM8QzyDPMM9AzECe8D9Qz2DPcM7QzuDO8M8AzxDPgM+Qz6DMQJ7wP7DPwM9wztDO4M7wzwDPEM/Qz+DP8MxAnvA4ANgQ2CDe0M7gzvDPAM8QyDDYQNhQ3ECe8Dhg2HDYIN7QzuDO8M8AzxDIgNiQ2KDcQJ7wOLDYwNjQ2ODY8NkA2RDZINxAnvA5MNlA2VDZYNlw2YDZkNmg3ECe8Dmw2cDZ0Nng2fDaANoQ2iDcQJ7wOjDaQNpQ2mDacNqA2pDaoNxAnvA6sNrA2tDa4Nrw2wDbENsg3ECe8Dsw20DbUNtg23DbgNuQ26DcQJ7wO7DbwNwA3DDcQNxQ3vA8YNxw3IDckNyg3LDcwNzQ3ODc8N0A3RDcUN7wPSDdMN1A3KDcsNzA3NDc4N1Q3WDdcNxQ3vA9gN2Q3aDdsN3A3LDd0N3g2+Dd8N4A3hDcUN7wPiDeMN5A3KDcsN5Q3NDc4N5g3nDegNxAnvA+kN6g2nB6gHyAbrDe0L7A3tDe4NxQ3vA/EN8g3zDfQN9Q32DfcN+A35DfsN/A3ECe8Duw39Df4N/w2ADoEOgg7ECe8Dgw6EDoUO/g3/DYYOhw6IDsQJ7wO7DYkOig7/DYsOjA6NDsQJ7wO7DY4Oig7/DY8Okg6TDsQJ7wO7DacHlA7GDpYOlw6YDsQJ7wO7DZkOgg+aDpsOnQ7FDe8DnA6fDqAOoQ6jDqQOpQ7ECe8Dpg6nDqgOqQ6qDqsOxAnvA7sNrA6tDooOrg6vDrAOxAnvA7sNsQ6yDv8Nsw60DrUOxAnvA7YOtw64DrIO/w25DroOuw7ECe8Duw28Dr0Ovg6/DsAOwQ7ECe8Duw3CDrIO/w3DDsQOxQ7ECe8Duw3GDooOxw7IDskOyg7ECe8Duw3LDswO/w3NDs4Ozw7ECe8Duw3QDswO/w3RDtIO0w7FDe8Duw3UDooO/g3XDtsO3Q7FDe8D3A7eDt8O4Q7mDugOxQ3vA+cO6Q7qDusO7A7uDsUN7wPtDu8O8A7xDvIO9A7ECe8D8w71DvYO9QP4DvkO+g71A+8D9w77DskG7wP8Dv4O/w6AD4EPxAnvA7sNgw+ED4UPxQ3vA4YPhw+ID4kPig+LD4wPjwmND44Pjw+QD+sNkQ+SD8UN7wOTD5QPlQ+WD5cPmA+ZD5oPjwmbD5wPnQ/wC54Pnw+gD6EPjgmiD6MPpA+lD6YPpw+oD6kPqg+r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QRBqJAALQAEBfyMAQRBrIgQkACAEIAE2AgQgBEGAgIQQNgIAIARCADcDCCAAIAQgAiADRAAAAAAAAAAAEIgDIARBEGokAAsSACAAIAEoAigpAgBCIIk3AgALXAEBfyMAQeABayIEJAAgBCABIAIgAxCfByAAEKcGIQAgBCgCACIBIAQgAEF/IAEoAgAoAgwRBgAgBEH4AGoQsQYaIARBQGsQsQYaIARBCGoQsQYaIARB4AFqJAALdgIBfwF+IwBB8AFrIgMkACADIAEpAgAiBDcDACADIAQ3AwggA0EQaiADIAIQoQcgABCnBiEAIAMoAhAiAiADQRBqIABBfyACKAIAKAIMEQYAIANBiAFqELEGGiADQdAAahCxBhogA0EYahCxBhogA0HwAWokAAtcAQF/IwBB4AFrIgQkACAEIAEgAiADEKIHIAAQpwYhACAEKAIAIgEgBCAAQX8gASgCACgCDBEGACAEQfgAahCxBhogBEFAaxCxBhogBEEIahCxBhogBEHgAWokAAt2AgF/AX4jAEHwAWsiAyQAIAMgASkCACIENwMAIAMgBDcDCCADQRBqIAMgAhCjByAAEKcGIQAgAygCECICIANBEGogAEF/IAIoAgAoAgwRBgAgA0GIAWoQsQYaIANB0ABqELEGGiADQRhqELEGGiADQfABaiQACzkCAX8BfCMAQRBrIgIkACACQgA3AwggAiABNgIEIAJBgICECDYCACAAIAIQhQYhAyACQRBqJAAgAwt7AQF/IwBB8AFrIgQkACAEQgA3AwggBCACNgIEIARBgICECDYCACAEQRBqIAEgBCADEJ4HIAAQpwYhACAEKAIQIgEgBEEQaiAAQX8gASgCACgCDBEGACAEQYgBahCxBhogBEHQAGoQsQYaIARBGGoQsQYaIARB8AFqJAALWAEBfyMAQeABayICJAAgAiABEJwHIAAQpwYhACACKAIAIgEgAiAAQX8gASgCACgCDBEGACACQfgAahCxBhogAkFAaxCxBhogAkEIahCxBhogAkHgAWokAAtaAQF/IwBB4AFrIgMkACADIAEgAhCdByAAEKcGIQAgAygCACIBIAMgAEF/IAEoAgAoAgwRBgAgA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaIANB4AFqJAALMwEBfyMAQRBrIgIkACACIAE2AgQgAkGAgIQQNgIAIAJCADcDCCAAIAIQlgQgAkEQaiQAC1ABAX8jAEEgayIDJAAgAyABNgIUIANBgICEEDYCECADQgA3AxggA0IANwMIIAMgAjYCBCADQYCAhAg2AgAgACADQRBqIAMQlwQgA0EgaiQACwsAIAAgASACEL4GCwsAIAAgAUEAEL4GCz0BAX8jAEEQayICJAAgAkKBgICAwAA3AwggAiABNgIEIAJBhoCIiHw2AgAgACACQdTWChCZBCACQRBqJAALVgEBfyMAQSBrIgMkACADQoGAgIDAADcDGCADIAE2AhQgA0GGgIiIfDYCECADQgA3AwggAyACNgIEIANBgICECDYCACAAIANBEGogAxCZBCADQSBqJAALxQMBA38jAEEwayICJAAgAkIANwMYIAJCADcDECACQgA3AwggAkIANwMAIAEgAhDBCiAAEAAiATYCAAJAQajVCi0AAEEBcQ0AQajVChD9GkUNAEGk1QpBAkHQkQEQATYCAEGo1QoQgRsLQaTVCigCACEDQQgQ1RoiBCACKQMANwMAIAIgBDYCKCADIAFBgAggAkEoahACIAAoAgAhAQJAQajVCi0AAEEBcQ0AQajVChD9GkUNAEGk1QpBAkHQkQEQATYCAEGo1QoQgRsLQaTVCigCACEDQQgQ1RoiBCACKQMINwMAIAIgBDYCKCADIAFBgAggAkEoahACIAAoAgAhAQJAQajVCi0AAEEBcQ0AQajVChD9GkUNAEGk1QpBAkHQkQEQATYCAEGo1QoQgRsLQaTVCigCACEDQQgQ1RoiBCACKQMQNwMAIAIgBDYCKCADIAFBgAggAkEoahACIAAoAgAhAAJAQajVCi0AAEEBcQ0AQajVChD9GkUNAEGk1QpBAkHQkQEQATYCAEGo1QoQgRsLQaTVCigCACEBQQgQ1RoiAyACKQMYNwMAIAIgAzYCKCABIABBgAggAkEoahACIAJBMGokAAsJACAAIAEQwgoLCQAgACABEMMKCwcAIABBB3ELbwECfyMAQSBrIgMkACAAQgA3AxAgAEEYaiIEQgA3AwAgA0IANwMYIAMgATYCFCADQYCAhAg2AhAgA0IANwMIIAMgAjYCBCADQYCAhAg2AgAgA0EQaiAAIABBCGogAEEQaiAEIAMQ/QcgA0EgaiQAC1YBAn8jAEEQayICJAAgAEIANwMQIABBGGoiA0IANwMAIAJCADcDCCACIAE2AgQgAkGAgIQINgIAIAIgACAAQQhqIABBEGogA0HU1goQ/QcgAkEQaiQACz8BAX8jAEEQayICJAAgAEIANwIAIAJCADcDCCACIAE2AgQgAkGAgIQINgIAIAIgACAAQQhqELQLIAJBEGokAAveAwECfyMAQaABayIIJAAgCEGYAWoiCUIANwMAIAhCADcDkAEgCCAANgKEASAIQYCAhBg2AoABIAhCADcDiAEgCCABNgJ0IAhBgICEGDYCcCAIQgA3A3ggCCACKQIANwNoIAggAysDADkDSCAIIAMrAwg5A1AgCCADKwMQOQNYIAggAysDGDkDYCAIIAUrAwA5AyggCCAFKwMIOQMwIAggBSsDEDkDOCAIIAUrAxg5A0AgCCAGKwMAOQMIIAggBisDCDkDECAIIAYrAxA5AxggCCAGKwMYOQMgIAggCCkDaDcDACAIQYABaiAIQfAAaiAIIAhByABqIAhBkAFqIAhBKGogCEEIaiAHEIULIQUgCCAIKAKQATYCgAFB/NIJIAhBgAFqEAMhBiAEKAIAQYUIEAQiAyAGEAUgAxAGIAYQBiAIIAgoApQBNgKAAUH80gkgCEGAAWoQAyEGIAQoAgBBhwgQBCIDIAYQBSADEAYgBhAGIAggCSgCADYCgAFB/NIJIAhBgAFqEAMhBiAEKAIAQYkIEAQiAyAGEAUgAxAGIAYQBiAIIAgoApwBNgKAAUH80gkgCEGAAWoQAyEGIAQoAgBBjwgQBCIEIAYQBSAEEAYgBhAGIAhBoAFqJAAgBQvdAQEBfyMAQYABayIIJAAgCCACKQIANwN4IAggAysDADkDWCAIIAMrAwg5A2AgCCADKwMQOQNoIAggAysDGDkDcCAIIAQoAgAiAzYCUCADEAcgCCAFKwMAOQMwIAggBSsDCDkDOCAIIAUrAxA5A0AgCCAFKwMYOQNIIAggBisDADkDECAIIAYrAwg5AxggCCAGKwMQOQMgIAggBisDGDkDKCAIIAgpA3g3AwggACABIAhBCGogCEHYAGogCEHQAGogCEEwaiAIQRBqIAcQSSEGIAMQBiAIQYABaiQAIAYL3QEBAX8jAEGAAWsiByQAIAcgAikCADcDeCAHIAMrAwA5A1ggByADKwMIOQNgIAcgAysDEDkDaCAHIAMrAxg5A3AgByAEKAIAIgM2AlAgAxAHIAcgBSsDADkDMCAHIAUrAwg5AzggByAFKwMQOQNAIAcgBSsDGDkDSCAHIAYrAwA5AxAgByAGKwMIOQMYIAcgBisDEDkDICAHIAYrAxg5AyggByAHKQN4NwMIIAAgASAHQQhqIAdB2ABqIAdB0ABqIAdBMGogB0EQakEEEEkhBiADEAYgB0GAAWokACAGC9cBAgF/AXwjAEGAAWsiBiQAIAYgAikCADcDeCAGIAMrAwA5A1ggBiADKwMIOQNgIAYgAysDEDkDaCAGIAMrAxg5A3AgBiAEKAIAIgM2AlAgAxAHIAYgBSsDADkDMCAGIAUrAwg5AzggBiAFKwMQOQNAIAUrAxghByAGQgA3AxggBkIANwMgIAZCADcDKCAGQgA3AxAgBiAHOQNIIAYgBikDeDcDCCAAIAEgBkEIaiAGQdgAaiAGQdAAaiAGQTBqIAZBEGpBBBBJIQUgAxAGIAZBgAFqJAAgBQvIAQEBfyMAQYABayIFJAAgBSACKQIANwN4IAUgAysDADkDWCAFIAMrAwg5A2AgBSADKwMQOQNoIAUgAysDGDkDcCAFIAQoAgAiAzYCUCADEAcgBUIANwNIIAVBQGtCADcDACAFQgA3AzggBUIANwMYIAVCADcDICAFQgA3AyggBUIANwMwIAVCADcDECAFIAUpA3g3AwggACABIAVBCGogBUHYAGogBUHQAGogBUEwaiAFQRBqQQQQSSEAIAMQBiAFQYABaiQAIAAL8AEDAX8BfgF8IwBBkAFrIgQkACAEIAA2AoQBIARBgICEGDYCgAEgBEIANwOIASAEIAE2AnQgBEGAgIQYNgJwIARCADcDeCAEIAIpAgAiBTcDaCAEIAMrAwA5A0ggBCADKwMIOQNQIAQgAysDEDkDWCADKwMYIQYgBEIANwMwIARCADcDOCAEQUBrQgA3AwAgBEIANwMQIARCADcDGCAEQgA3AyAgBEIANwMoIAQgBjkDYCAEQgA3AwggBCAFNwMAIARBgAFqIARB8ABqIAQgBEHIAGpBACAEQShqIARBCGpBBBCFCyEDIARBkAFqJAAgAwu6AgECfyMAQUBqIgQkACAEQgA3AyAgBCABNgIcIARBgICECDYCGCAEIAMpAwg3AxAgBCADKQMANwMIIARBKGogBEEYaiACIARBCGoQnBQgABAAIgE2AgACQEGw1QotAABBAXENAEGw1QoQ/RpFDQBBrNUKQQJB8JEBEAE2AgBBsNUKEIEbC0Gs1QooAgAhBUEUENUaIgMgBCgCODYCECADIAQpAzA3AgggAyAEKQMoNwIAIAQgAzYCGCAFIAFBgAggBEEYahACIAAoAgAhAAJAQbjVCi0AAEEBcQ0AQbjVChD9GkUNAEG01QpBAkGUkgEQATYCAEG41QoQgRsLQbTVCigCACEBQRAQ1RoiAyACKQIINwIIIAMgAikCADcCACAEIAM2AhggASAAQYAIIARBGGoQAiAEQUBrJAALkQIBAn8jAEEgayIEJAAgBEIANwMYIAQgATYCFCAEQYCAhAg2AhAgBCADKQMINwMIIAQgAykDADcDACAEQRBqIAIgBBCbFCEDIAAQACIBNgIAAkBBwNUKLQAAQQFxDQBBwNUKEP0aRQ0AQbzVCkECQbSSARABNgIAQcDVChCBGwtBvNUKKAIAIQUgBCADNgIQIAUgAUGACCAEQRBqEAIgACgCACEDAkBBuNUKLQAAQQFxDQBBuNUKEP0aRQ0AQbTVCkECQZSSARABNgIAQbjVChCBGwtBtNUKKAIAIQFBEBDVGiIAIAIpAgg3AgggACACKQIANwIAIAQgADYCECABIANBgAggBEEQahACIARBIGokAAs9AQF/IwBBEGsiAyQAIANCADcDCCADIAE2AgQgA0GAgIQINgIAIAAgAyACIAAoAgAoAggRBAAgA0EQaiQAC40CAQJ/IwBBIGsiAyQAIANCADcDGCADQgA3AxAgA0IANwMIIAMgAjYCBCADQYCAhAg2AgAgASADIANBEGogASgCACgCDBEFACEBIAAQACICNgIAAkBByNUKLQAAQQFxDQBByNUKEP0aRQ0AQcTVCkECQbySARABNgIAQcjVChCBGwtBxNUKKAIAIQQgAyABNgIAIAQgAkGACCADEAIgACgCACEBAkBBuNUKLQAAQQFxDQBBuNUKEP0aRQ0AQbTVCkECQZSSARABNgIAQbjVChCBGwtBtNUKKAIAIQJBEBDVGiIAIAMpAxg3AgggACADKQMQNwIAIAMgADYCACACIAFBgAggAxACIANBIGokAAsNACAAIAFBBGoQ2xoaCwwAIABBBGogARDfGgtXACAAQay0AzYCACAAQQRqIAFBBGoQ2xoaIAAgASgCEDYCECAAQRRqIAFBFGoQ2xoaIABBIGogAUEgahDbGhogAEEsaiABQSxqENsaGiAAIAEoAjg2AjgLCwAgABCcChDbGhoL5UkBAn8QWBBZEFoQWxBcEF0QXhBfEGBBwKEBQYyvAUGorwFBAEHAlQFBAUHDlQFBAEHDlQFBAEGJCUHFlQFBAhAIQcChAUEBQbivAUHAlQFBA0EEEAlBwKEBQQJBvK8BQYCWAUEFQQYQCUHAoQFBA0HErwFBrJYBQQdBCBAJQcChAUEEQfCvAUHQlgFBCUEKEAlBwKEBQQVBgLABQeywAUELQQwQCUHAoQFBBkGAsQFBmLEBQQ1BDhAJQcChAUGNCUEDQaCxAUGslgFBD0EQEApBwKEBQY0JQQRBsLEBQdCWAUERQRIQCkHAoQFBkQlBA0GgsQFBrJYBQQ9BExAKQcChAUGRCUEEQbCxAUHQlgFBEUEUEApBwKEBQZYJQQNBoLEBQayWAUEPQRUQCkHAoQFBlglBBEGwsQFB0JYBQRFBFhAKQQQQ1RoiAEEINgIAQQQQ1RoiAUEINgIAQcChAUGcCUH80glBgJYBQRcgAEH80glB2JUBQRggARALQQQQ1RoiAEEMNgIAQQQQ1RoiAUEMNgIAQcChAUGhCUH80glBgJYBQRcgAEH80glB2JUBQRggARALQQQQ1RoiAEEZNgIAQcChAUGmCUGklgFBgJYBQRogAEEAQQBBAEEAEAtBBBDVGiIAQRs2AgBBwKEBQa4JQaSWAUGAlgFBGiAAQQBBAEEAQQAQC0EEENUaIgBBHDYCAEHAoQFBswlBpJYBQYCWAUEaIABBAEEAQQBBABALQQQQ1RoiAEEdNgIAQcChAUG4CUGklgFBgJYBQRogAEEAQQBBAEEAEAtBBBDVGiIAQR42AgBBwKEBQb8JQaSWAUGAlgFBGiAAQQBBAEEAQQAQC0EEENUaIgBBHzYCAEHAoQFBxwlBpJYBQYCWAUEaIABBAEEAQQBBABALQQQQ1RoiAEEgNgIAQcChAUHPCUGklgFBgJYBQRogAEEAQQBBAEEAEAtBBBDVGiIAQSE2AgBBwKEBQdcJQaSWAUGAlgFBGiAAQQBBAEEAQQAQC0EEENUaIgBBIjYCAEHAoQFB3wlBpJYBQYCWAUEaIABBAEEAQQBBABALQQgQ1RoiAEEANgIEIABBIzYCAEHAoQFB5wlBAkHYswFBgJYBQSQgAEEAEAxBCBDVGiIAQQA2AgQgAEElNgIAQcChAUHwCUECQdizAUGAlgFBJCAAQQAQDEEIENUaIgBBADYCBCAAQSY2AgBBwKEBQfoJQQJB4LMBQYCWAUEnIABBABAMQQQQ1RoiAEEoNgIAQcChAUGDCkEGQfCzAUGItAFBKSAAQQAQDEEEENUaIgBBKjYCAEHAoQFBgwpBBEGQtAFB8JUBQSsgAEEAEAxBBBDVGiIAQSw2AgBBwKEBQYMKQQVBoLQBQbS0AUEtIABBABAMQQgQ1RoiAEEANgIEIABBLjYCAEHAoQFBjQpBAkHYswFBgJYBQSQgAEEAEAxBCBDVGiIAQQA2AgQgAEEvNgIAQcChAUGTCkEDQby0AUGslgFBMCAAQQAQDEEIENUaIgBBADYCBCAAQTE2AgBBwKEBQZcKQQVB0LQBQeS0AUEyIABBABAMQQgQ1RoiAEEANgIEIABBMzYCAEHAoQFBlwpBBEHwtAFB8JUBQTQgAEEAEAxBCBDVGiIAQQA2AgQgAEE1NgIAQcChAUGeCkEEQYC1AUHQlgFBNiAAQQAQDEEIENUaIgBBADYCBCAAQTc2AgBBwKEBQZ4KQQNBkLUBQayWAUE4IABBABAMQQQQ1RoiAEE5NgIAQcChAUGnCkEDQbC1AUHYlQFBOiAAQQAQDEEEENUaIgBBOzYCAEHAoQFBpwpBBEHAtQFB8JUBQTwgAEEAEAxBCBDVGiIAQQA2AgQgAEE9NgIAQcChAUGuCkECQeCzAUGAlgFBJyAAQQAQDEEIENUaIgBBADYCBCAAQT42AgBBwKEBQbMKQQJB0LUBQYCWAUE/IABBABAMQQgQ1RoiAEEANgIEIABBwAA2AgBBwKEBQbkKQQRBgLUBQdCWAUE2IABBABAMQQgQ1RoiAEEANgIEIABBwQA2AgBBwKEBQbkKQQNBkLUBQayWAUE4IABBABAMQQgQ1RoiAEEANgIEIABBwgA2AgBBwKEBQcIKQQNB2LUBQayWAUHDACAAQQAQDEEIENUaIgBBADYCBCAAQcQANgIAQcChAUHICkECQeS1AUGAlgFBxQAgAEEAEAxBCBDVGiIAQQA2AgQgAEHGADYCAEHAoQFBzgpBAkHgswFBgJYBQScgAEEAEAxBCBDVGiIAQQA2AgQgAEHHADYCAEHAoQFB1ApBA0G8tAFBrJYBQTAgAEEAEAxBBBDVGiIAQcgANgIAQcChAUHYCkEDQey1AUH4tQFByQAgAEEAEAxBBBDVGiIAQcoANgIAQcChAUHcCkEEQYC2AUHwmwFBywAgAEEAEAxBBBDVGiIAQcwANgIAQcChAUHgCkEDQZC2AUGslgFBzQAgAEEAEAxBBBDVGiIAQc4ANgIAQcChAUHkCkECQZy2AUGAlgFBzwAgAEEAEAxBCBDVGiIAQQA2AgQgAEHQADYCAEHAoQFB5gpBA0GktgFBrJYBQdEAIABBABAMQQQQ1RoiAEHSADYCAEHAoQFB6gpBA0GQtgFBrJYBQc0AIABBABAMQQQQ1RoiAEHTADYCAEHAoQFB6gpBAkGctgFBgJYBQc8AIABBABAMQQgQ1RoiAEEANgIEIABB1AA2AgBBwKEBQe8KQQJB0LUBQYCWAUE/IABBABAMQQQQ1RoiAEHVADYCAEHAoQFB/ApBA0GwtgFB2JUBQdYAIABBABAMQQQQ1RoiAEHXADYCAEHAoQFB/ApBBEHAtgFB8JUBQdgAIABBABAMQQQQ1RoiAEHZADYCAEHAoQFBggtBAkHQtgFBgJYBQdoAIABBABAMQQQQ1RoiAEHbADYCAEHAoQFBhwtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHdADYCAEHAoQFBhwtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHbADYCAEHAoQFBiwtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHdADYCAEHAoQFBiwtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHfADYCAEHAoQFBlAtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHgADYCAEHAoQFBlAtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHhADYCAEHAoQFBnAtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHiADYCAEHAoQFBnAtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHjADYCAEHAoQFBpQtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHkADYCAEHAoQFBpQtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHlADYCAEHAoQFBrwtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHmADYCAEHAoQFBrwtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHnADYCAEHAoQFBtgtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHoADYCAEHAoQFBtgtBBEHwtgFB0JYBQd4AIABBABAMQQQQ1RoiAEHpADYCAEHAoQFBvwtBA0HYtgFBrJYBQdwAIABBABAMQQQQ1RoiAEHqADYCAEHAoQFBvwtBBEHwtgFB0JYBQd4AIABBABAMQQgQ1RoiAEEANgIEIABB6wA2AgBBwKEBQckLQQNBgLcBQayWAUHsACAAQQAQDEEIENUaIgBBADYCBCAAQe0ANgIAQcChAUHJC0EEQZC3AUHQlgFB7gAgAEEAEAxBCBDVGiIAQQA2AgQgAEHvADYCAEHAoQFByQtBBUGgtwFB7LABQfAAIABBABAMQQgQ1RoiAEEANgIEIABB8QA2AgBBwKEBQdALQQNBtLcBQayWAUHyACAAQQAQDEEIENUaIgBBADYCBCAAQfMANgIAQcChAUHQC0EEQcC3AUHQlgFB9AAgAEEAEAxBCBDVGiIAQQA2AgQgAEH1ADYCAEHAoQFB0AtBBUHQtwFB7LABQfYAIABBABAMQQgQ1RoiAEEANgIEIABB9wA2AgBBwKEBQdgLQQNB5LcBQayWAUH4ACAAQQAQDEEIENUaIgBBADYCBCAAQfkANgIAQcChAUHYC0EEQfC3AUHQlgFB+gAgAEEAEAxBCBDVGiIAQQA2AgQgAEH7ADYCAEHAoQFB2AtBBUGAuAFB7LABQfwAIABBABAMQQgQ1RoiAEEANgIEIABB/QA2AgBBwKEBQeALQQNBlLgBQayWAUH+ACAAQQAQDEEIENUaIgBBADYCBCAAQf8ANgIAQcChAUHgC0EEQaC4AUHQlgFBgAEgAEEAEAxBCBDVGiIAQQA2AgQgAEGBATYCAEHAoQFB4AtBBUGwuAFB7LABQYIBIABBABAMQQgQ1RoiAEEANgIEIABBgwE2AgBBwKEBQekLQQNBxLgBQayWAUGEASAAQQAQDEEIENUaIgBBADYCBCAAQYUBNgIAQcChAUHpC0EEQdC4AUHQlgFBhgEgAEEAEAxBCBDVGiIAQQA2AgQgAEGHATYCAEHAoQFB6QtBBUHguAFB7LABQYgBIABBABAMQQgQ1RoiAEEANgIEIABBiQE2AgBBwKEBQe8LQQNB9LgBQYC5AUGKASAAQQAQDEEIENUaIgBBADYCBCAAQYsBNgIAQcChAUHvC0EEQZC5AUGguQFBjAEgAEEAEAxBCBDVGiIAQQA2AgQgAEGNATYCAEHAoQFB7wtBBUGwuQFBxLkBQY4BIABBABAMQQgQ1RoiAEEANgIEIABBjwE2AgBBwKEBQfcLQQVB0LkBQeS5AUGQASAAQQAQDEEIENUaIgBBADYCBCAAQZEBNgIAQcChAUH3C0EDQey5AUH4tQFBkgEgAEEAEAxBCBDVGiIAQQA2AgQgAEGTATYCAEHAoQFB9wtBBEGAugFBkLoBQZQBIABBABAMQai1AUGADEGWugFBlQFBxZUBQZYBEA1BBBDVGiIAQQA2AgBBBBDVGiIBQQA2AgBBqLUBQYYMQfzSCUGAlgFBlwEgAEH80glB2JUBQZgBIAEQDkEEENUaIgBBBDYCAEEEENUaIgFBBDYCAEGotQFBjAxB/NIJQYCWAUGXASAAQfzSCUHYlQFBmAEgARAOQai1ARAPQay6AUGQDEGWugFBmQFBxZUBQZoBEA1BBBDVGiIAQQA2AgBBBBDVGiIBQQA2AgBBrLoBQa4KQfzSCUGAlgFBmwEgAEH80glB2JUBQZwBIAEQDkEEENUaIgBBBDYCAEEEENUaIgFBBDYCAEGsugFBnQxB/NIJQYCWAUGbASAAQfzSCUHYlQFBnAEgARAOQQQQ1RoiAEEINgIAQQQQ1RoiAUEINgIAQay6AUGmDEG40wlBtLoBQZ0BIABBuNMJQaibAUGeASABEA5BrLoBEA9B4K8BQa4MQZa6AUGfAUHFlQFBoAEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEHgrwFBiQhB/NIJQYCWAUGhASAAQfzSCUHYlQFBogEgARAOQQQQ1RoiAEEENgIAQQQQ1RoiAUEENgIAQeCvAUGPCEH80glBgJYBQaEBIABB/NIJQdiVAUGiASABEA5B4K8BEA9ByLoBQa4MQZa6AUGjAUHFlQFBpAEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEHIugFBiQhBrNMJQdC6AUGlASAAQazTCUHYmAFBpgEgARAOQQQQ1RoiAEEENgIAQQQQ1RoiAUEENgIAQci6AUGPCEGs0wlB0LoBQaUBIABBrNMJQdiYAUGmASABEA5ByLoBEA9ByJ4BQa4MQZa6AUGnAUHFlQFBqAEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEHIngFBhQhB/NIJQYCWAUGpASAAQfzSCUHYlQFBqgEgARAOQQQQ1RoiAEEENgIAQQQQ1RoiAUEENgIAQcieAUGHCEH80glBgJYBQakBIABB/NIJQdiVAUGqASABEA5ByJ4BEA9B6JEBQa4MQZa6AUGrAUHFlQFBrAEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEHokQFBhQhBrNMJQdC6AUGtASAAQazTCUHYmAFBrgEgARAOQQQQ1RoiAEEENgIAQQQQ1RoiAUEENgIAQeiRAUGHCEGs0wlB0LoBQa0BIABBrNMJQdiYAUGuASABEA5B6JEBEA9BrJIBQbQMQZa6AUGvAUHFlQFBsAEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEGskgFBhQhB/NIJQYCWAUGxASAAQfzSCUHYlQFBsgEgARAOQQQQ1RoiAEEENgIAQQQQ1RoiAUEENgIAQaySAUGHCEH80glBgJYBQbEBIABB/NIJQdiVAUGyASABEA5BBBDVGiIAQQg2AgBBBBDVGiIBQQg2AgBBrJIBQYkIQfzSCUGAlgFBsQEgAEH80glB2JUBQbIBIAEQDkEEENUaIgBBDDYCAEEEENUaIgFBDDYCAEGskgFBjwhB/NIJQYCWAUGxASAAQfzSCUHYlQFBsgEgARAOQaySARAPQeS6AUG5DEGWugFBswFBxZUBQbQBEA1BBBDVGiIAQQA2AgBBBBDVGiIBQQA2AgBB5LoBQYUIQazTCUHQugFBtQEgAEGs0wlB2JgBQbYBIAEQDkEEENUaIgBBBDYCAEEEENUaIgFBBDYCAEHkugFBhwhBrNMJQdC6AUG1ASAAQazTCUHYmAFBtgEgARAOQQQQ1RoiAEEINgIAQQQQ1RoiAUEINgIAQeS6AUGJCEGs0wlB0LoBQbUBIABBrNMJQdiYAUG2ASABEA5BBBDVGiIAQQw2AgBBBBDVGiIBQQw2AgBB5LoBQY8IQazTCUHQugFBtQEgAEGs0wlB2JgBQbYBIAEQDkHkugEQD0GMkgFBwAxBlroBQbcBQcWVAUG4ARANQQQQ1RoiAEEANgIAQQQQ1RoiAUEANgIAQYySAUHMDEHokQFBgJYBQbkBIABB6JEBQdiVAUG6ASABEA5BBBDVGiIAQQg2AgBBBBDVGiIBQQg2AgBBjJIBQYILQci6AUGAlgFBuwEgAEHIugFB2JUBQbwBIAEQDkEEENUaIgBBEDYCAEEEENUaIgFBEDYCAEGMkgFB0wxBrNMJQdC6AUG9ASAAQazTCUHYmAFBvgEgARAOQYySARAPQdkMQQJB7LoBQYCWAUG/AUHAARAQQesMQQJB9LoBQYCWAUHBAUHCARAQQYMNQQJB/LoBQYCWAUHDAUHEARAQQdynAUGdDUGWugFBxQFBxZUBQcYBEA1BBBDVGiIAQQw2AgBBBBDVGiIBQQw2AgBB3KcBQdMMQazTCUHQugFBxwEgAEGs0wlB2JgBQcgBIAEQDkEEENUaIgBBGDYCAEEEENUaIgFBGDYCAEHcpwFBpg1B/NIJQYCWAUHJASAAQfzSCUHYlQFBygEgARAOQQQQ1RoiAEEUNgIAQQQQ1RoiAUEUNgIAQdynAUGvDUH80glBgJYBQckBIABB/NIJQdiVAUHKASABEA5BBBDVGiIAQQA2AgBBBBDVGiIBQQA2AgBB3KcBQbYNQeiRAUGAlgFBywEgAEHokQFB2JUBQcwBIAEQDkEEENUaIgBBEDYCAEEEENUaIgFBEDYCAEHcpwFBuQ1BrNMJQdC6AUHHASAAQazTCUHYmAFByAEgARAOQQQQ1RoiAEEINgIAQQQQ1RoiAUEINgIAQdynAUGCC0Gs0wlB0LoBQccBIABBrNMJQdiYAUHIASABEA5B3KcBEA9B9KoBQcINQZa6AUHNAUHFlQFBzgEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEH0qgFByQ1B/NIJQYCWAUHPASAAQfzSCUHYlQFB0AEgARAOQQQQ1RoiAEEENgIAQQQQ1RoiAUEENgIAQfSqAUHSDUH80glBgJYBQc8BIABB/NIJQdiVAUHQASABEA5BBBDVGiIAQQg2AgBBBBDVGiIBQQg2AgBB9KoBQdsNQfzSCUGAlgFBzwEgAEH80glB2JUBQdABIAEQDkEEENUaIgBBDDYCAEEEENUaIgFBDDYCAEH0qgFB4g1BrNMJQdC6AUHRASAAQazTCUHYmAFB0gEgARAOQfSqARAPQeCwAUHrDUGWugFB0wFBxZUBQdQBEBFB4LABQbjTCUG0ugFB1QFBAEG40wlBqJsBQdYBQQAQEkHgsAFBuNMJQbS6AUHVAUEBQbjTCUGomwFB1gFBARASQeCwAUG40wlBtLoBQdUBQQJBuNMJQaibAUHWAUECEBJB4LABQbjTCUG0ugFB1QFBA0G40wlBqJsBQdYBQQMQEkHgsAEQE0GguwFB8g1BlroBQdcBQcWVAUHYARANQQQQ1RoiAEEANgIAQQQQ1RoiAUEANgIAQaC7AUH8DUG40wlBtLoBQdkBIABBuNMJQaibAUHaASABEA5BBBDVGiIAQQg2AgBBBBDVGiIBQQg2AgBBoLsBQYMOQbjTCUG0ugFB2QEgAEG40wlBqJsBQdoBIAEQDkEEENUaIgBBEDYCAEEEENUaIgFBEDYCAEGguwFBig5ByJ4BQYCWAUHbASAAQcieAUHYlQFB3AEgARAOQQQQ1RoiAEEYNgIAQQQQ1RoiAUEYNgIAQaC7AUGRDkHIngFBgJYBQdsBIABByJ4BQdiVAUHcASABEA5BoLsBEA9BxLsBQZgOQZa6AUHdAUHFlQFB3gEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEHEuwFBzAxB6JEBQYCWAUHfASAAQeiRAUHYlQFB4AEgARAOQQQQ1RoiAEEINgIAQQQQ1RoiAUEINgIAQcS7AUGfDkGs0wlB0LoBQeEBIABBrNMJQdiYAUHiASABEA5BxLsBEA9B3LsBQaYOQZa6AUHjAUHFlQFB5AEQDUEEENUaIgBBADYCAEEEENUaIgFBADYCAEHcuwFBrg5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEEINgIAQQQQ1RoiAUEINgIAQdy7AUGyDkG40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQRA2AgBBBBDVGiIBQRA2AgBB3LsBQbYOQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBBGDYCAEEEENUaIgFBGDYCAEHcuwFBug5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEEgNgIAQQQQ1RoiAUEgNgIAQdy7AUG+DkG40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQSg2AgBBBBDVGiIBQSg2AgBB3LsBQcIOQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBBMDYCAEEEENUaIgFBMDYCAEHcuwFBxg5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEE4NgIAQQQQ1RoiAUE4NgIAQdy7AUHKDkG40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQcAANgIAQQQQ1RoiAUHAADYCAEHcuwFBzg5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEHIADYCAEEEENUaIgFByAA2AgBB3LsBQdIOQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBB0AA2AgBBBBDVGiIBQdAANgIAQdy7AUHWDkG40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQdgANgIAQQQQ1RoiAUHYADYCAEHcuwFB2w5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEHgADYCAEEEENUaIgFB4AA2AgBB3LsBQeAOQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBB6AA2AgBBBBDVGiIBQegANgIAQdy7AUHlDkG40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQfAANgIAQQQQ1RoiAUHwADYCAEHcuwFB6g5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEH4ADYCAEEEENUaIgFB+AA2AgBB3LsBQe8OQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBBgAE2AgBBBBDVGiIBQYABNgIAQdy7AUH0DkG40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQYgBNgIAQQQQ1RoiAUGIATYCAEHcuwFB+Q5BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEGQATYCAEEEENUaIgFBkAE2AgBB3LsBQf4OQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBBmAE2AgBBBBDVGiIBQZgBNgIAQdy7AUGDD0G40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQaABNgIAQQQQ1RoiAUGgATYCAEHcuwFBiA9BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQQQQ1RoiAEGoATYCAEEEENUaIgFBqAE2AgBB3LsBQY0PQbjTCUG0ugFB5QEgAEG40wlBqJsBQeYBIAEQDkEEENUaIgBBsAE2AgBBBBDVGiIBQbABNgIAQdy7AUGSD0G40wlBtLoBQeUBIABBuNMJQaibAUHmASABEA5BBBDVGiIAQbgBNgIAQQQQ1RoiAUG4ATYCAEHcuwFBlw9BuNMJQbS6AUHlASAAQbjTCUGomwFB5gEgARAOQdy7ARAPQdTbA0GcD0GWugFB5wFBxZUBQegBEA1BBBDVGiIAQRA2AgBBBBDVGiIBQRA2AgBB1NsDQaYPQfzSCUGAlgFB6QEgAEH80glB2JUBQeoBIAEQDkEEENUaIgBB6wE2AgBBBBDVGiIBQewBNgIAQdTbA0GrD0HUvAFBgJYBQe0BIABB1LwBQdiVAUHuASABEA5B1NsDEA9Brw9BAkHsvAFBgJYBQe8BQfABEBBBwA9BAkH0vAFBgJYBQfEBQfIBEBBB0w9BCUGAvQFBpL0BQfMBQfQBEBBB0w9BCEGwvQFB0L0BQfUBQfYBEBBB0w9BB0HgvQFB/L0BQfcBQfgBEBBB0w9BBkGQvgFBmLEBQfkBQfoBEBBB0w9BBUGwvgFB7LABQfsBQfwBEBBB3Q9BA0HEvgFBrJYBQf0BQf4BEBBB3Q9BAkHQvgFBgJYBQf8BQYACEBBB5w9BAUHYvgFBwJUBQYECQYICEBBBhBBBAkHcvgFBgJYBQYMCQYQCEBBBkRBBBEHwvgFB0JYBQYUCQYYCEBBBmhBBBEHwvgFB0JYBQYUCQYcCEBBB4L0HQZC/AUGwvwFBAEHAlQFBiAJBw5UBQQBBw5UBQQBBpBBBxZUBQYkCEAhBBBDVGiIAQYoCNgIAQeC9B0GsEEEEQcC/AUHwlQFBiwIgAEEAEAxBBBDVGiIAQYwCNgIAQeC9B0GxEEEDQdC/AUGslgFBjQIgAEEAEAxBuBBBAUHcvwFBwJUBQY4CQY8CEBBBzBBB/NIJRAAAAAAAAAAAEBRB1BBB/NIJRAAAAAAAACBAEBRB3BBB/NIJRAAAAAAAADBAEBRB5BBB/NIJRAAAAAAAADhAEBRB7BBB/NIJRAAAAAAAAPA/EBRB9BBB/NIJRAAAAAAAACJAEBRB/BBB/NIJRAAAAAAAADFAEBRBhBFB/NIJRAAAAAAAADlAEBRBjBFB/NIJRAAAAAAAAABAEBRBlRFB/NIJRAAAAAAAACRAEBRBnhFB/NIJRAAAAAAAADJAEBRBpxFB/NIJRAAAAAAAADpAEBRBsBFB/NIJRAAAAAAAAAhAEBRBuRFB/NIJRAAAAAAAACZAEBRBwhFB/NIJRAAAAAAAADNAEBRByxFB/NIJRAAAAAAAADtAEBRB1BFB/NIJRAAAAAAAABBAEBRB3RFB/NIJRAAAAAAAAChAEBRB5hFB/NIJRAAAAAAAADRAEBRB7xFB/NIJRAAAAAAAADxAEBRB+BFB/NIJRAAAAAAAABRAEBRBgRJB/NIJRAAAAAAAACpAEBRBihJB/NIJRAAAAAAAADVAEBRBkxJB/NIJRAAAAAAAAD1AEBRBnBJB/NIJRAAAAAAAABhAEBRBpRJB/NIJRAAAAAAAACxAEBRBrhJB/NIJRAAAAAAAADZAEBRBtxJB/NIJRAAAAAAAAD5AEBRBwBJB/NIJRAAAAAAAAAAAEBRBxhJB/NIJRAAAAAAAAPA/EBRBzBJB/NIJRAAAAAAAAABAEBRB0xJB/NIJRAAAAAAAAAhAEBRB2hJB/NIJRAAAAAAAABBAEBRB4RJB/NIJRAAAAAAAABRAEBRB6BJB/NIJRAAAAAAAABhAEBRB7xJB/NIJRAAAAAAAAODBEBRB9xJB/NIJRAAAwP///99BEBQLowIBAX9BuJQBQfiUAUGwlQFBAEHAlQFBkAJBw5UBQQBBw5UBQQBBlghBxZUBQZECEAhBuJQBQQFByJUBQcCVAUGSAkGTAhAJQQgQ1RoiAEEANgIEIABBlAI2AgBBuJQBQcSSAUEDQcyVAUHYlQFBlQIgAEEAEAxBCBDVGiIAQQA2AgQgAEGWAjYCAEG4lAFBzpIBQQRB4JUBQfCVAUGXAiAAQQAQDEEIENUaIgBBADYCBCAAQZgCNgIAQbiUAUGCC0ECQfiVAUGAlgFBmQIgAEEAEAxBBBDVGiIAQZoCNgIAQbiUAUHVkgFBA0GElgFBrJYBQZsCIABBABAMQQQQ1RoiAEGcAjYCAEG4lAFB2ZIBQQRBwJYBQdCWAUGdAiAAQQAQDAujAgEBf0HAlwFBgJgBQbiYAUEAQcCVAUGeAkHDlQFBAEHDlQFBAEGgCEHFlQFBnwIQCEHAlwFBAUHImAFBwJUBQaACQaECEAlBCBDVGiIAQQA2AgQgAEGiAjYCAEHAlwFBxJIBQQNBzJgBQdiYAUGjAiAAQQAQDEEIENUaIgBBADYCBCAAQaQCNgIAQcCXAUHOkgFBBEHgmAFB8JgBQaUCIABBABAMQQgQ1RoiAEEANgIEIABBpgI2AgBBwJcBQYILQQJB+JgBQYCWAUGnAiAAQQAQDEEEENUaIgBBqAI2AgBBwJcBQdWSAUEDQYCZAUGslgFBqQIgAEEAEAxBBBDVGiIAQaoCNgIAQcCXAUHZkgFBBEGQmQFBoJkBQasCIABBABAMC6MCAQF/QZCaAUHQmgFBiJsBQQBBwJUBQawCQcOVAUEAQcOVAUEAQawIQcWVAUGtAhAIQZCaAUEBQZibAUHAlQFBrgJBrwIQCUEIENUaIgBBADYCBCAAQbACNgIAQZCaAUHEkgFBA0GcmwFBqJsBQbECIABBABAMQQgQ1RoiAEEANgIEIABBsgI2AgBBkJoBQc6SAUEEQbCbAUHAmwFBswIgAEEAEAxBCBDVGiIAQQA2AgQgAEG0AjYCAEGQmgFBggtBAkHImwFBgJYBQbUCIABBABAMQQQQ1RoiAEG2AjYCAEGQmgFB1ZIBQQNB0JsBQayWAUG3AiAAQQAQDEEEENUaIgBBuAI2AgBBkJoBQdmSAUEEQeCbAUHwmwFBuQIgAEEAEAwLowIBAX9BgJ0BQdCdAUGYngFBAEHAlQFBugJBw5UBQQBBw5UBQQBBuQhBxZUBQbsCEAhBgJ0BQQFBqJ4BQcCVAUG8AkG9AhAJQQgQ1RoiAEEANgIEIABBvgI2AgBBgJ0BQcSSAUEDQayeAUHYlQFBvwIgAEEAEAxBCBDVGiIAQQA2AgQgAEHAAjYCAEGAnQFBzpIBQQRB0J4BQfCVAUHBAiAAQQAQDEEIENUaIgBBADYCBCAAQcICNgIAQYCdAUGCC0ECQeCeAUGAlgFBwwIgAEEAEAxBBBDVGiIAQcQCNgIAQYCdAUHVkgFBA0HongFBrJYBQcUCIABBABAMQQQQ1RoiAEHGAjYCAEGAnQFB2ZIBQQRBgJ8BQdCWAUHHAiAAQQAQDAujAgEBf0GMoAFB1KABQZShAUEAQcCVAUHIAkHDlQFBAEHDlQFBAEHFCEHFlQFByQIQCEGMoAFBAUGkoQFBwJUBQcoCQcsCEAlBCBDVGiIAQQA2AgQgAEHMAjYCAEGMoAFBxJIBQQNBqKEBQdiVAUHNAiAAQQAQDEEIENUaIgBBADYCBCAAQc4CNgIAQYygAUHOkgFBBEHQoQFB8JUBQc8CIABBABAMQQgQ1RoiAEEANgIEIABB0AI2AgBBjKABQYILQQJB4KEBQYCWAUHRAiAAQQAQDEEEENUaIgBB0gI2AgBBjKABQdWSAUEDQeihAUGslgFB0wIgAEEAEAxBBBDVGiIAQdQCNgIAQYygAUHZkgFBBEGAogFB0JYBQdUCIABBABAMC6MCAQF/QZijAUHkowFBrKQBQQBBwJUBQdYCQcOVAUEAQcOVAUEAQc8IQcWVAUHXAhAIQZijAUEBQbykAUHAlQFB2AJB2QIQCUEIENUaIgBBADYCBCAAQdoCNgIAQZijAUHEkgFBA0HApAFB2JUBQdsCIABBABAMQQgQ1RoiAEEANgIEIABB3AI2AgBBmKMBQc6SAUEEQdCkAUHwlQFB3QIgAEEAEAxBCBDVGiIAQQA2AgQgAEHeAjYCAEGYowFBggtBAkHgpAFBgJYBQd8CIABBABAMQQQQ1RoiAEHgAjYCAEGYowFB1ZIBQQNB6KQBQayWAUHhAiAAQQAQDEEEENUaIgBB4gI2AgBBmKMBQdmSAUEEQYClAUHQlgFB4wIgAEEAEAwLowIBAX9BmKYBQeSmAUGspwFBAEHAlQFB5AJBw5UBQQBBw5UBQQBB2ghBxZUBQeUCEAhBmKYBQQFBvKcBQcCVAUHmAkHnAhAJQQgQ1RoiAEEANgIEIABB6AI2AgBBmKYBQcSSAUEDQcCnAUHYlQFB6QIgAEEAEAxBCBDVGiIAQQA2AgQgAEHqAjYCAEGYpgFBzpIBQQRB8KcBQfCVAUHrAiAAQQAQDEEIENUaIgBBADYCBCAAQewCNgIAQZimAUGCC0ECQYCoAUGAlgFB7QIgAEEAEAxBBBDVGiIAQe4CNgIAQZimAUHVkgFBA0GIqAFBrJYBQe8CIABBABAMQQQQ1RoiAEHwAjYCAEGYpgFB2ZIBQQRBoKgBQdCWAUHxAiAAQQAQDAujAgEBf0G0qQFBgKoBQcSqAUEAQcCVAUHyAkHDlQFBAEHDlQFBAEHpCEHFlQFB8wIQCEG0qQFBAUHUqgFBwJUBQfQCQfUCEAlBCBDVGiIAQQA2AgQgAEH2AjYCAEG0qQFBxJIBQQNB2KoBQdiVAUH3AiAAQQAQDEEIENUaIgBBADYCBCAAQfgCNgIAQbSpAUHOkgFBBEGAqwFB8JUBQfkCIABBABAMQQgQ1RoiAEEANgIEIABB+gI2AgBBtKkBQYILQQJBkKsBQYCWAUH7AiAAQQAQDEEEENUaIgBB/AI2AgBBtKkBQdWSAUEDQZirAUGslgFB/QIgAEEAEAxBBBDVGiIAQf4CNgIAQbSpAUHZkgFBBEGwqwFB0JYBQf8CIABBABAMC6MCAQF/QeysAUHIrQFBnK4BQQBBwJUBQYADQcOVAUEAQcOVAUEAQfYIQcWVAUGBAxAIQeysAUEBQayuAUHAlQFBggNBgwMQCUEIENUaIgBBADYCBCAAQYQDNgIAQeysAUHEkgFBA0GwrgFB2JUBQYUDIABBABAMQQgQ1RoiAEEANgIEIABBhgM2AgBB7KwBQc6SAUEEQcCuAUHwlQFBhwMgAEEAEAxBCBDVGiIAQQA2AgQgAEGIAzYCAEHsrAFBggtBAkHQrgFBgJYBQYkDIABBABAMQQQQ1RoiAEGKAzYCAEHsrAFB1ZIBQQNB2K4BQayWAUGLAyAAQQAQDEEEENUaIgBBjAM2AgBB7KwBQdmSAUEEQfCuAUHQlgFBjQMgAEEAEAwLBgBBwKEBCw8AIAAEQCAAELEGEKIbCwsHACAAEREACwoAQTgQ1RoQpwYLCQAgASAAEQAACwwAQTgQ1RogABCtBgs4AQF/IwBBEGsiAyQAIAMgASkCADcDCCADIAI2AgQgA0EIaiADQQRqIAARAwAhACADQRBqJAAgAAtEAgJ/AX4jAEEQayICJABBOBDVGiEDIAIgACkCACIENwMIIAEoAgAhASACIAQ3AwAgAyACIAEQrAYhASACQRBqJAAgAQtBAQF/IwBBEGsiBCQAIAQgATYCDCAEIAI2AgggBCADNgIEIARBDGogBEEIaiAEQQRqIAARBQAhACAEQRBqJAAgAAsZAEE4ENUaIAAoAgAgASgCACACKAIAEKgGC0MBAX8jAEEQayIFJAAgBSABNgIMIAUgAjYCCCAFIAM2AgQgBUEMaiAFQQhqIAVBBGogBCAAEQsAIQAgBUEQaiQAIAALGwBBOBDVGiAAKAIAIAEoAgAgAigCACADEKsGCxEAIAEgAiADIAQgBSAAEQkAC1YCAX8BfiMAQdAAayIDJAAgAyABKQIAIgQ3AwggAyAENwMQIANBGGogA0EIaiACIAARBABBOBDVGiADQRhqELgGIQAgA0EYahCxBhogA0HQAGokACAAC3YCAX8BfiMAQfABayIDJAAgAyABKQIAIgQ3AwAgAyAENwMIIANBEGogAyACEKUHIAAQpwYhACADKAIQIgIgA0EQaiAAQX8gAigCACgCDBEGACADQYgBahCxBhogA0HQAGoQsQYaIANBGGoQsQYaIANB8AFqJAALPgEBfyMAQUBqIgQkACAEQQhqIAEgAiADIAARBgBBOBDVGiAEQQhqELgGIQAgBEEIahCxBhogBEFAayQAIAALXAEBfyMAQeABayIEJAAgBCABIAIgAxCkByAAEKcGIQAgBCgCACIBIAQgAEF/IAEoAgAoAgwRBgAgBEH4AGoQsQYaIARBQGsQsQYaIARBCGoQsQYaIARB4AFqJAALDQAgASAAKAIAaigCAAsPACABIAAoAgBqIAI2AgALowEBBX8jAEEQayICJAAgABAAIgQ2AgACQCABKAIEQQFIDQADQCABKAIoIANBAnRqIQUCQEGY1QotAABBAXENAEGY1QoQ/RpFDQBBlNUKQQJBwJEBEAE2AgBBmNUKEIEbC0GU1QooAgAhBiACIAUoAgA2AgggBiAEQYAIIAJBCGoQAiADQQFqIgMgASgCBE4NASAAKAIAIQQMAAsACyACQRBqJAALNQEBfyMAQRBrIgIkACACQQhqIAEgACgCABECACACKAIIEAcgAigCCCIBEAYgAkEQaiQAIAELowEBBX8jAEEQayICJAAgABAAIgQ2AgACQCABKAIEQQFIDQADQCABKAIsIANBAnRqIQUCQEGg1QotAABBAXENAEGg1QoQ/RpFDQBBnNUKQQJByJEBEAE2AgBBoNUKEIEbC0Gc1QooAgAhBiACIAUoAgA2AgggBiAEQYAIIAJBCGoQAiADQQFqIgMgASgCBE4NASAAKAIAIQQMAAsACyACQRBqJAALZAEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGw2AgggAEHgsQEgAkEIahADNgIAIAJBEGokAAtkAQN/IwBBEGsiAiQAIAEQrwYhBAJ/QQAgASgCBCIDQQFIDQAaIAEoAiwgA0ECdGpBBGsoAgALIQMgAiABKAIQNgIMIAIgAyAEbDYCCCAAQYiyASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQF2NgIIIABBsLIBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBAXY2AgggAEHYsgEgAkEIahADNgIAIAJBEGokAAtnAQN/IwBBEGsiAiQAIAEQrwYhBAJ/QQAgASgCBCIDQQFIDQAaIAEoAiwgA0ECdGpBBGsoAgALIQMgAiABKAIQNgIMIAIgAyAEbEECdjYCCCAAQYCzASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQJ2NgIIIABBqLMBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBA3Y2AgggAEHQswEgAkEIahADNgIAIAJBEGokAAslAQF/IAAoAgQiAUEBSARAQQAPCyAAKAIsIAFBAnRqQQRrKAIACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQAACxcAQZHEkMICIAAoAgBBAnRBHHF2QQ9xCxEAIAAoAgBBA3ZB/wNxQQFqCxQAIAEgAiADIAQgBSAAKAIAESsACxAAIAEgAiADIAAoAgARBAALEgAgASACIAMgBCAAKAIAERMAC0QBAX8jAEEQayIDJAAgAyACNgIIIAMgAkEBajYCDCADQoCAgID4/////wA3AwAgACABIANBCGogAxC6BhogA0EQaiQAC2YBAn8jAEFAaiIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIANBCGogASACIARBAXEEfyABKAIAIABqKAIABSAACxEEAEE4ENUaIANBCGoQuAYhACADQQhqELEGGiADQUBrJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEGAAtfAgJ/AX4jAEEQayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAikCACIGNwMAIAQgBjcDCCABIAQgAyAAEQQAIARBEGokAAtBAQF/IwBBEGsiBCQAIAQgAzYCDCAEIAI2AgggBEKAgICA+P////8ANwMAIAAgASAEQQhqIAQQugYaIARBEGokAAtoAQJ/IwBBQGoiBCQAIAEgACgCBCIFQQF1aiEBIAAoAgAhACAEQQhqIAEgAiADIAVBAXEEfyABKAIAIABqKAIABSAACxEGAEE4ENUaIARBCGoQuAYhACAEQQhqELEGGiAEQUBrJAAgAAszAQF/IwBBEGsiAyQAIANCgICAgPj/////ADcDCCAAIAEgAiADQQhqELoGGiADQRBqJAALDgAgASACIAAoAgARAgALCwAgACgCAEH/H3ELQQEBfyMAQRBrIgQkACAEQoCAgID4/////wA3AwggBCADNgIEIAQgAjYCACAAIAEgBEEIaiAEELoGGiAEQRBqJAALMwEBfyMAQRBrIgMkACADQoCAgID4/////wA3AwggACABIANBCGogAhC6BhogA0EQaiQACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwALZAECfyMAQUBqIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAkEIaiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEE4ENUaIAJBCGoQuAYhACACQQhqELEGGiACQUBrJAAgAAsKACAAKAIAQQdxC0QBAX8jAEEQayIDJAAgA0KAgICA+P////8ANwMIIAMgAjYCACADIAJBAWo2AgQgACABIANBCGogAxC6BhogA0EQaiQACw4AIAEgAiAAKAIAESIAC0EBAX8jAEFAaiIEJAAgBEEIaiABIAIgAyAAKAIAERMAQTgQ1RogBEEIahC4BiEBIARBCGoQsQYaIARBQGskACABCz8BAX8jAEFAaiIDJAAgA0EIaiABIAIgACgCABEEAEE4ENUaIANBCGoQuAYhASADQQhqELEGGiADQUBrJAAgAQs9AQF/IwBBQGoiAiQAIAJBCGogASAAKAIAEQIAQTgQ1RogAkEIahC4BiEBIAJBCGoQsQYaIAJBQGskACABCwwAIAAgASACELwGGgsOACAALQABQcAAcUEGdgs0AQF/IwBBEGsiAiQAIAJBCGogASAAKAIAEQIAQQgQ1RoiASACKQMINwMAIAJBEGokACABC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB4LEBIANBCGoQAzYCACADQRBqJAALNwEBfyMAQRBrIgMkACADQQhqIAEgAiAAKAIAEQQAIAMoAggQByADKAIIIgEQBiADQRBqJAAgAQthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQeCxASAEQQhqEAM2AgAgBEEQaiQACzkBAX8jAEEQayIEJAAgBEEIaiABIAIgAyAAKAIAEQYAIAQoAggQByAEKAIIIgEQBiAEQRBqJAAgAQtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYiyASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBiLIBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEHYsgEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQdiyASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABBsLIBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEGwsgEgBEEIahADNgIAIARBEGokAAtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYCzASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBgLMBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEGoswEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQaizASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB0LMBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEHQswEgBEEIahADNgIAIARBEGokAAttAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAWoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAsAAALFgAgACgCECAAKAIsKAIAIAFsaiACags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAsAAALJwAgACgCECAAKAIsIgAoAgAgAWxqIAAoAgQgAmxqIAAoAgggA2xqCz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALAAACzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAtAAALPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUALQAACz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALQAAC3MBAX8CQCAALQABQcAAcUUEQCAAKAIoIgIoAgBBAUcNAQsgACgCECABQQF0ag8LIAIoAgRBAUYEQCAAKAIQIAAoAiwoAgAgAWxqDwsgACgCECAAKAIsKAIAIAEgACgCDCIAbSICbGogASAAIAJsa0EBdGoLOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDAC4BAAsZACAAKAIQIAAoAiwoAgAgAWxqIAJBAXRqCzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC4BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC4BAAs6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMALwEACzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC8BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC8BAAtzAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAUECdGoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtBAnRqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAoAgALGQAgACgCECAAKAIsKAIAIAFsaiACQQJ0ags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAoAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAoAgALOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDACoCAAs8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwArAwALcwEBfwJAIAAtAAFBwABxRQRAIAAoAigiAigCAEEBRw0BCyAAKAIQIAFBA3RqDwsgAigCBEEBRgRAIAAoAhAgACgCLCgCACABbGoPCyAAKAIQIAAoAiwoAgAgASAAKAIMIgBtIgJsaiABIAAgAmxrQQN0ags6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMAKwMACxkAIAAoAhAgACgCLCgCACABbGogAkEDdGoLPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUAKwMACxIBAX9BCBDVGiIAQgA3AgAgAAsMACAABEAgABCiGwsLGQEBf0EQENUaIgBCADcDACAAQgA3AwggAAsNACABIAAoAgBqKwMACw8AIAEgACgCAGogAjkDAAsNACABIAAoAgBqKgIACw8AIAEgACgCAGogAjgCAAsZAQF/QRAQ1RoiAEIANwIAIABCADcCCCAACyABAX9BFBDVGiIAQgA3AgAgAEEANgIQIABCADcCCCAACx8BAX8gACgCACEAQQgQ1RoiAiAAIAFqKQIANwMAIAILEgAgASAAKAIAaiACKQIANwIACzIBAX8jAEEQayICJAAgAkEIaiABIAARAgAgAigCCBAHIAIoAggiABAGIAJBEGokACAACzgBAX8jAEEQayICJAAgAiABIAARAgBBEBDVGiIAIAIpAwg3AgggACACKQMANwIAIAJBEGokACAACzABAX9BHBDVGiIAQX82AhggAEIANwIQIABCgICAgICAgMC/fzcCCCAAQgA3AgAgAAsiAQF/QRAQ1RoiAEL/////////v/8ANwIIIABCfzcCACAACycBAX9BIBDVGiIAQgA3AwAgAEIANwMYIABCADcDECAAQgA3AwggAAsNACABIABBA3RqKwMACw8AIAEgAEEDdGogAjkDAAsZAQF/QQwQ1RoiAEIANwIAIABBADYCCCAACxAAQcABENUaQQBBwAEQrxsLCgBBPBDVGhCQCgsUACAABEAgACAAKAIAKAIEEQEACwuBAQECfyMAQRBrIgIkACACIAEgACgCABECAAJAIAIsAAsiAUEATgRAIAFB/wFxIgBBBGoQoRsiASAANgIAIAFBBGogAiAAEK4bGgwBCyACKAIEIgBBBGoQoRsiASAANgIAIAFBBGogAigCACIDIAAQrhsaIAMQohsLIAJBEGokACABC7EBAQR/IwBBEGsiAyQAIAIoAgAiBEFwSQRAIAAoAgAhBgJAAkAgBEELTwRAIARBEGpBcHEiBRDVGiEAIAMgBUGAgICAeHI2AgggAyAANgIAIAMgBDYCBCADIQUMAQsgAyAEOgALIAMiBSEAIARFDQELIAAgAkEEaiAEEK4bGgsgACAEakEAOgAAIAEgAyAGEQIAIAUsAAtBf0wEQCADKAIAEKIbCyADQRBqJAAPCxDZGgALfwEBfyMAQUBqIgIkACACIAEgABECAEE8ENUaIgBBrLQDNgIAIABBBGogAkEEchDbGhogACACKAIQNgIQIABBFGogAkEUahDbGhogAEEgaiACQSBqENsaGiAAQSxqIAJBLGoQ2xoaIAAgAigCODYCOCACEJUKGiACQUBrJAAgAAs4AQF/IwBBEGsiAiQAIAIgASAAEQIAQQwQ1RoiACACKAIINgIIIAAgAikDADcCACACQRBqJAAgAAvgAQIBfwF8IwBBgAFrIgkkACAJIAMpAgA3A3ggCSAEKwMAOQNYIAkgBCsDCDkDYCAJIAQrAxA5A2ggBCsDGCEKIAkgBTYCUCAJIAo5A3AgCSAGKwMAOQMwIAkgBisDCDkDOCAJIAYrAxA5A0AgCSAGKwMYOQNIIAkgBysDADkDECAJIAcrAwg5AxggCSAHKwMQOQMgIAkgBysDGDkDKCAJIAkpA3g3AwggASACIAlBCGogCUHYAGogCUHQAGogCUEwaiAJQRBqIAggABESACEHIAkoAlAQBiAJQYABaiQAIAcL3gECAX8BfCMAQYABayIIJAAgCCADKQIANwN4IAggBCsDADkDWCAIIAQrAwg5A2AgCCAEKwMQOQNoIAQrAxghCSAIIAU2AlAgCCAJOQNwIAggBisDADkDMCAIIAYrAwg5AzggCCAGKwMQOQNAIAggBisDGDkDSCAIIAcrAwA5AxAgCCAHKwMIOQMYIAggBysDEDkDICAIIAcrAxg5AyggCCAIKQN4NwMIIAEgAiAIQQhqIAhB2ABqIAhB0ABqIAhBMGogCEEQaiAAERYAIQcgCCgCUBAGIAhBgAFqJAAgBwuwAQMBfwF+AXwjAEHgAGsiByQAIAcgAykCACIINwNYIAcgBCsDADkDOCAHIAQrAwg5A0AgByAEKwMQOQNIIAQrAxghCSAHIAU2AjAgByAJOQNQIAcgBisDADkDECAHIAYrAwg5AxggByAGKwMQOQMgIAcgBisDGDkDKCAHIAg3AwggASACIAdBCGogB0E4aiAHQTBqIAdBEGogABEMACEGIAcoAjAQBiAHQeAAaiQAIAYLgQEDAX8BfgF8IwBBQGoiBiQAIAYgAykCACIHNwM4IAYgBCsDADkDGCAGIAQrAwg5AyAgBiAEKwMQOQMoIAQrAxghCCAGIAU2AhAgBiAIOQMwIAYgBzcDCCABIAIgBkEIaiAGQRhqIAZBEGogABEJACEEIAYoAhAQBiAGQUBrJAAgBAtlAgF/AX4jAEEwayIFJAAgBSADKQIAIgY3AyggBSAEKwMAOQMIIAUgBCsDCDkDECAFIAQrAxA5AxggBSAEKwMYOQMgIAUgBjcDACABIAIgBSAFQQhqIAARCwAhBCAFQTBqJAAgBAtOAQF/IwBBIGsiAyQAIAMgASACIAARBABBIBDVGiIAIAMpAxg3AxggACADKQMQNwMQIAAgAykDCDcDCCAAIAMpAwA3AwAgA0EgaiQAIAALTAEBfyMAQSBrIgIkACACIAEgABECAEEgENUaIgAgAikDGDcDGCAAIAIpAxA3AxAgACACKQMINwMIIAAgAikDADcDACACQSBqJAAgAAtKAQF/IwBBIGsiASQAIAEgABEBAEEgENUaIgAgASsDADkDACAAIAErAwg5AwggACABKwMQOQMQIAAgASsDGDkDGCABQSBqJAAgAAtCACAAQv/////////3/wA3AxggAEL/////////9/8ANwMQIABC//////////f/ADcDCCAAQv/////////3/wA3AwALTQEBfyMAQSBrIgQkACAEIAMpAwg3AxAgBCADKQMANwMIIARBGGogASACIARBCGogABEGACAEKAIYEAcgBCgCGCIDEAYgBEEgaiQAIAMLDQAgACgCAEEEaygCAAt8AQN/IwBBEGsiASQAIAEgABEBAAJAIAEsAAsiAEEATgRAIABB/wFxIgJBBGoQoRsiACACNgIAIABBBGogASACEK4bGgwBCyABKAIEIgJBBGoQoRsiACACNgIAIABBBGogASgCACIDIAIQrhsaIAMQohsLIAFBEGokACAACwYAQbiUAQskAQF/IAAEQCAAKAIAIgEEQCAAIAE2AgQgARCiGwsgABCiGwsLGQEBf0EMENUaIgBBADYCCCAAQgA3AgAgAAvqAQEFfyAAKAIEIgIgACgCCEcEQCACIAEoAgA2AgAgACACQQRqNgIEDwsCQCACIAAoAgAiBWsiBkECdSIEQQFqIgJBgICAgARJBEACf0EAIAIgBkEBdSIDIAIgA0sbQf////8DIARB/////wFJGyIDRQ0AGiADQYCAgIAETw0CIANBAnQQ1RoLIgIgBEECdGoiBCABKAIANgIAIAIgA0ECdGohASAEQQRqIQMgBkEBTgRAIAIgBSAGEK4bGgsgACABNgIIIAAgAzYCBCAAIAI2AgAgBQRAIAUQohsLDwsQ/BoAC0HdkgEQvgIAC1IBAn8jAEEQayIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIARBAXEEQCABKAIAIABqKAIAIQALIAMgAjYCDCABIANBDGogABECACADQRBqJAALPgECfyABIAAoAgQgACgCACIEa0ECdSIDSwRAIAAgASADayACEL8CDwsgASADSQRAIAAgBCABQQJ0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ACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQIACz4BAn8gASAAKAIEIAAoAgAiBGtBA3UiA0sEQCAAIAEgA2sgAhDCAg8LIAEgA0kEQCAAIAQgAUEDdGo2AgQLCzkBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEEAAtdAQJ/IwBBEGsiAyQAQQEhBCAAIAIgASgCBCABKAIAIgFrQQN1SQR/QQgQ1RoiBCABIAJBA3RqKQIANwMAIAMgBDYCCEHIngEgA0EIahADBSAECzYCACADQRBqJAALFwAgACgCACABQQN0aiACKQIANwIAQQELEAAgASACIAMgACgCABEFAAsGAEGMoAELTwECfyAABEAgACgCACIBBEACfyABIAEgACgCBCICRg0AGgNAIAJBOGsQsQYiAiABRw0ACyAAKAIACyECIAAgATYCBCACEKIbCyAAEKIbCwsrAQF/IAAoAgQiAiAAKAIIRwRAIAAgAiABEK0GQThqNgIEDwsgACABEMMCC1wBA38gASAAKAIEIgMgACgCACIFa0E4bSIESwRAIAAgASAEayACEMQCDwsgASAESQRAIAUgAUE4bGoiASADRwRAA0AgA0E4axCxBiIDIAFHDQALCyAAIAE2AgQLCxAAIAAoAgQgACgCAGtBOG0LWwECfyMAQRBrIgMkAEEBIQQgACACIAEoAgQgASgCACIBa0E4bUkEf0E4ENUaIgQgASACQThsahCtBhogAyAENgIIQcChASADQQhqEAMFIAQLNgIAIANBEGokAAsUACAAKAIAIAFBOGxqIAIQswZBAQsGAEGYowEL/QEBBX8gACgCBCICIAAoAghHBEAgAiABKQIANwIAIAIgASkCCDcCCCAAIAJBEGo2AgQPCwJAIAIgACgCACIFayIGQQR1IgRBAWoiAkGAgICAAUkEQAJ/QQAgAiAGQQN1IgMgAiADSxtB/////wAgBEH///8/SRsiA0UNABogA0GAgICAAU8NAiADQQR0ENUaCyICIARBBHRqIgQgASkCADcCACAEIAEpAgg3AgggAiADQQR0aiEBIARBEGohAyAGQQFOBEAgAiAFIAYQrhsaCyAAIAE2AgggACADNgIEIAAgAjYCACAFBEAg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QczvARCJA0Gk7wFB/+QBQcwNEJgKAAtBqX4gBUEQakHl7wEQiQNBpO8BQf/kAUHXDRCYCgALwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogAiAIai0AACAAIAhqLQAAQYACcmpBoPwDai0AADoAACAEIAlqIAogC0GAAnJqQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiACIApqLQAAIAAgCmotAABBgAJyakGg/ANqLQAAOgAAIAQgCWogCyAOQYACcmpBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAIgCGotAAAgACAIai0AAEGAAnJqQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwvzAgEIfyAHBEAgBkEEayEKIAZBA0ohCyAFQQF2QQF0IQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASALBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAIgA2ovAQAgACADai8BAGoiD0H//wMgD0H//wNJGzsBACAEIAVqIAggCWoiBUH//wMgBUH//wNJGzsBACACIANBBnIiBWovAQAhCCAAIAVqLwEAIQkgBCADQQRyIgNqIAIgA2ovAQAgACADai8BAGoiA0H//wMgA0H//wNJGzsBACAEIAVqIAggCWoiA0H//wMgA0H//wNJGzsBACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogAiADai8BACAAIANqLwEAaiIDQf//AyADQf//A0kbOwEAIAFBAWoiASAGRw0ACwsgBCAMaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLuQMBCH8gBwRAIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQEgDARAA0AgAiABQQF0IgNBAnIiBWouAQAhCCAAIAVqLgEAIQkgAyAEaiAAIANqLgEAIAIgA2ouAQBqIgpB//8BIApB//8BSBsiCkGAgH4gCkGAgH5KGzsBACAEIAVqIAggCWoiBUH//wEgBUH//wFIGyIFQYCAfiAFQYCAfkobOwEAIAIgA0EGciIFai4BACEIIAAgBWouAQAhCSAEIANBBHIiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgBCAFaiAIIAlqIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwutAgEHfyAHBEAgBkEEayEKIAZBA0ohCyAFQQJ2QQJ0IQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhASALBEADQCACIAFBAnQiA0EEciIFaigCACEIIAAgBWooAgAhCSADIARqIAIgA2ooAgAgACADaigCAGo2AgAgBCAFaiAIIAlqNgIAIAIgA0EMciIFaigCACEIIAAgBWooAgAhCSAEIANBCHIiA2ogAiADaigCACAAIANqKAIAajYCACAEIAVqIAggCWo2AgAgAUEEaiIBIApMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQJ0IgNqIAIgA2ooAgAgACADaigCAGo2AgAgAUEBaiIBIAZHDQALCyAEIAxqIQQgAiANaiECIAAgDmohACAHDQALCwuvAgIFfwJ9IAcEQCAGQQRrIQggBkEDSiEJIAVBAnZBAnQhCiADQQJ2QQJ0IQsgAUECdkECdCEMA0BBACEBIAkEQANAIAIgAUECdCIDQQRyIgVqKgIAIQ0gACAFaioCACEOIAMgBGogACADaioCACACIANqKgIAkjgCACAEIAVqIA4gDZI4AgAgAiADQQxyIgVqKgIAIQ0gACAFaioCACEOIAQgA0EIciIDaiAAIANqKgIAIAIgA2oqAgCSOAIAIAQgBWogDiANkjgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaioCACACIANqKgIAkjgCACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC68CAgV/AnwgBwRAIAZBBGshCCAGQQNKIQkgBUEDdkEDdCEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDSAAIAVqKwMAIQ4gAyAEaiAAIANqKwMAIAIgA2orAwCgOQMAIAQgBWogDiANoDkDACACIANBGHIiBWorAwAhDSAAIAVqKwMAIQ4gBCADQRByIgNqIAAgA2orAwAgAiADaisDAKA5AwAgBCAFaiAOIA2gOQMAIAFBBGoiASAITA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEDdCIDaiAAIANqKwMAIAIgA2orAwCgOQMAIAFBAWoiASAGRw0ACwsgBCAKaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsLwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogACAIai0AAEGAAnIgAiAIai0AAGtBoPwDai0AADoAACAEIAlqIAtBgAJyIAprQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiAAIApqLQAAQYACciACIApqLQAAa0Gg/ANqLQAAOgAAIAQgCWogDkGAAnIgC2tBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAAgCGotAABBgAJyIAIgCGotAABrQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwulAwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAAgA2ovAQAgAiADai8BAGsiCkEAIApBAEobIgpB//8DIApB//8DSBs7AQAgBCAFaiAJIAhrIgVBACAFQQBKGyIFQf//AyAFQf//A0gbOwEAIAIgA0EGciIFai8BACEIIAAgBWovAQAhCSAEIANBBHIiA2ogACADai8BACACIANqLwEAayIDQQAgA0EAShsiA0H//wMgA0H//wNIGzsBACAEIAVqIAkgCGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEEaiIBIAtMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQF0IgNqIAAgA2ovAQAgAiADai8BAGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwu5AwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai4BACEIIAAgBWouAQAhCSADIARqIAAgA2ouAQAgAiADai4BAGsiCkH//wEgCkH//wFIGyIKQYCAfiAKQYCAfkobOwEAIAQgBWogCSAIayIFQf//ASAFQf//AUgbIgVBgIB+IAVBgIB+Shs7AQAgAiADQQZyIgVqLgEAIQggACAFai4BACEJIAQgA0EEciIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACAEIAVqIAkgCGsiA0H//wEgA0H//wFIGyIDQYCAfiADQYCAfkobOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQFqIgEgBkcNAAsLIAQgDWohBCACIA5qIQIgACAPaiEAIAcNAAsLC60CAQd/IAcEQCAGQQRrIQogBkEDSiELIAVBAnZBAnQhDCADQQJ2QQJ0IQ0gAUECdkECdCEOA0BBACEBIAsEQANAIAIgAUECdCIDQQRyIgVqKAIAIQggACAFaigCACEJIAMgBGogACADaigCACACIANqKAIAazYCACAEIAVqIAkgCGs2AgAgAiADQQxyIgVqKAIAIQggACAFaigCACEJIAQgA0EIciIDaiAAIANqKAIAIAIgA2ooAgBrNgIAIAQgBWogCSAIazYCACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaigCACACIANqKAIAazYCACABQQFqIgEgBkcNAAsLIAQgDGohBCACIA1qIQIgACAOaiEAIAcNAAsLC68C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IgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEgbOgAAIAMgBGpBf0EAIAggCkgbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBIGzoAACADIARqQX9BACAIIApIGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEgbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEwbOgAAIAMgBGpBf0EAIAggCkwbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBMGzoAACADIARqQX9BACAIIApMGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEwbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLtwYBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDoBAwFCyACIAMgACABIAQgBSAGIAcQ6AQMBAsgACABIAIgAyAE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OAIAIAMgBGogDiANlDgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlDgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ0gACADaioCACEOIAEgBGogDyAAIAFqKgIAu6IgASACaioCALuitjgCACADIARqIA8gDruiIA27orY4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAPIAAgAWoqAgC7oiABIAJqKgIAu6K2OAIAIAMgBGogDyAOu6IgDbuitjgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogDyAAIAFqKgIAu6IgASACaioCALuitjgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC5MFAgZ/AXwgBUECdiEMIANBAnYhDSABQQJ2IQ4CQCAIKwMAIg9EAAAAAAAA8L+gmUQAAAAAAACAPmVBAXNFBEAgB0UNASAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogASACaigCACAAIAFqKAIAbDYCACADIARqIAUgCWw2AgAgAiABQQxyIgNqKAIAIQUgACADaigCACEJIAQgAUEIciIBaiABIAJqKAIAIAAgAWooAgBsNgIAIAMgBGogBSAJbDYCACAIQQRqIgggCkwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogASACaigCACAAIAFqKAIAbDYCACAIQQFqIgggBkcNAAsLIAQgDEECdGohBCACIA1BAnRqIQIgACAOQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogDyAAIAFqKAIAt6IgASACaigCALeiEIIVNgIAIAMgBGogDyAJt6IgBbeiEIIVNgIAIAIgAUEMciIDaigCACEFIAAgA2ooAgAhCSAEIAFBCHIiAWogDyAAIAFqKAIAt6IgASACaigCALeiEIIVNgIAIAMgBGogDyAJt6IgBbeiEIIVNgIAIAhBBGoiCCAKTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCEECdCIBaiAPIAAgAWooAgC3oiABIAJqKAIAt6IQghU2AgAgCEEBaiIIIAZHDQALCyAEIAxBAnRqIQQgAiANQQJ0aiECIAAgDkECdGohACAHDQALCwv2BAIFfwN8IAVBA3YhCiADQQN2IQsgAUEDdiEMAkAgCCsDAEQAAAAAAADwP2EEQCAHRQ0BIAZBBGshBSAGQQNKIQkDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiCGorAwAhDiAAIAhqKwMAIQ8gAyAEaiAAIANqKwMAIAIgA2orAwCiOQMAIAQgCGogDyAOojkDACACIANBGHIiCGorAwAhDiAAIAhqKwMAIQ8gBCADQRByIgNqIAAgA2orAwAgAiADaisDAKI5AwAgBCAIaiAPIA6iOQMAIAFBBGoiASAFTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEDdCIDaiAAIANqKwMAIAIgA2orAwCiOQMAIAFBAWoiASAGRw0ACwsgBCAKQQN0aiEEIAIgC0EDdGohAiAAIAxBA3RqIQAgBw0ACwwBCyAHRQ0AIAZBBGshCSAGQQNKIQ0DQEEAIQEgDQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDiAAIAVqKwMAIQ8gAyAEaiACIANqKwMAIAAgA2orAwAgCCsDACIQoqI5AwAgBCAFaiAOIBAgD6KiOQMAIAIgA0EYciIFaisDACEOIAAgBWorAwAhDyAEIANBEHIiA2ogAiADaisDACAAIANqKwMAIAgrAwAiEKKiOQMAIAQgBWogDiAQIA+iojkDACABQQRqIgEgCUwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBA3QiA2ogAiADaisDACAAIANqKwMAIAgrAwCiojkDACABQQFqIgEgBkcNAAsLIAQgCkEDdGohBCACIAtBA3RqIQIgACAMQQN0aiEAIAcNAAsLC8IEAgd/AX0gBwRAIAgrAwC2IRAgBkEEayENIAZBA0ohDgNAQQAhCCAOBEADQEEAIQlBACEKIAIgCGotAAAiCwRAIAAgCGotAABBAnRBoPQDaioCACAQlCALQQJ0QaD0A2oqAgCVEIMVIgpBACAKQQBKGyIKQf8BIApB/wFIGyEKCyACIAhBAXIiC2otAAAiDARAIAAgC2otAABBAnRBoPQDaioCACAQlCAMQQJ0QaD0A2oqAgCVEIMVIglBACAJQQBKGyIJQf8BIAlB/wFIGyEJCyAEIAhqIAo6AAAgBCALaiAJOgAAQQAhCUEAIQogAiAIQQJyIgtqLQAAIgwEQCAAIAtqLQAAQQJ0QaD0A2oqAgAgEJQgDEECdEGg9ANqKgIAlRCDFSIKQQAgCkEAShsiCkH/ASAKQf8BSBshCgsgAiAIQQNyIgxqLQAAIg8EQCAAIAxqLQAAQQJ0QaD0A2oqAgAgEJQgD0ECdEGg9ANqKgIAlRCDFSIJQQAgCUEAShsiCUH/ASAJQf8BSBshCQsgBCALaiAKOgAAIAQgDGogCToAACAIQQRqIgggDUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqAn9BACACIAhqLQAAIglFDQAaIAAgCGotAABBAnRBoPQDaioCACAQlCAJQQJ0QaD0A2oqAgCVEIMVIglBACAJQQBKGyIJQf8BIAlB/wFIGws6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwuIBAIHfwF9IAcEQCAIKwMAtiEQIAZBBGshDSAGQQNKIQ4DQEEAIQggDgRAA0BBACEJIAIgCGotAAAiDARAIBAgACAIaiwAALKUIAxBGHRBGHWylRCDFSIJQYB/IAlBgH9KGyIJQf8AIAlB/wBIGyEJC0EAIQxBACEKIAIgCEEBciILai0AACIPBEAgECAAIAtqLAAAspQgD0EYdEEYdbKVEIMVIgpBgH8gCkGAf0obIgpB/wAgCkH/AEgbIQoLIAQgCGogCToAACAEIAtqIAo6AAAgAiAIQQJyIglqLQAAIgoEQCAQIAAgCWosAACylCAKQRh0QRh1spUQgxUiDEGAfyAMQYB/ShsiDEH/ACAMQf8ASBshDAsCf0EAIAIgCEEDciIKai0AACILRQ0AGiAQIAAgCmosAACylCALQRh0QRh1spUQgxUiC0GAfyALQYB/ShsiC0H/ACALQf8ASBsLIQsgBCAJaiAMOgAAIAQgCmogCzoAACAIQQRqIgggDUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqAn9BACACIAhqLQAAIglFDQAaIBAgACAIaiwAALKUIAlBGHRBGHWylRCDFSIJQYB/IAlBgH9KGyIJQf8AIAlB/wBIGws6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwudBAIHfwF9IAcEQCAIKwMAtiEQIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQggDARAA0BBACEBQQAhAyACIAhBAXQiBWovAQAiCQRAIBAgACAFai8BALOUIAmzlRCDFSIDQQAgA0EAShsiA0H//wMgA0H//wNIGyEDCyACIAhBAXJBAXQiCWovAQAiCgRAIBAgACAJai8BALOUIAqzlRCDFSIBQQAgAUEAShsiAUH//wMgAUH//wNIGyEBCyAEIAVqIAM7AQAgBCAJaiABOwEAQQAhAUEAIQMgAiAIQQJyQQF0IgVqLwEAIgkEQCAQIAAgBWovAQCzlCAJs5UQgxUiA0EAIANBAEobIgNB//8DIANB//8DSBshAwsgAiAIQQNyQQF0IglqLwEAIgoEQCAQIAAgCWovAQCzlCAKs5UQgxUiAUEAIAFBAEobIgFB//8DIAFB//8DSBshAQsgBCAFaiADOwEAIAQgCWogATsBACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQAJ/QQAgAiAIQQF0IgFqLwEAIgNFDQAaIBAgACABai8BALOUIAOzlRCDFSIDQQAgA0EAShsiA0H//wMgA0H//wNIGwshAyABIARqIAM7AQAgCEEBaiIIIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwvRBAIIfwF9IAcEQCAIKwMAtiERIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQggDARAA0BBACEBIAIgCEEBdCIDai8BACIFBEAgESAAIANqLgEAspQgBUEQdEEQdbKVEIMVIgFBgIB+IAFBgIB+ShsiAUH//wEgAUH//wFIGyEBC0EAIQVBACEJIAIgCEEBckEBdCIKai8BACIQBEAgESAAIApqLgEAspQgEEEQdEEQdbKVEIMVIglBgIB+IAlBgIB+ShsiCUH//wEgCUH//wFIGyEJCyADIARqIAE7AQAgBCAKaiAJOwEAIAIgCEECckEBdCIBai8BACIDBEAgESAAIAFqLgEAspQgA0EQdEEQdbKVEIMVIgNBgIB+IANBgIB+ShsiA0H//wEgA0H//wFIGyEFCwJ/QQAgAiAIQQNyQQF0IgNqLwEAIglFDQAaIBEgACADai4BALKUIAlBEHRBEHWylRCDFSIJQYCAfiAJQYCAfkobIglB//8BIAlB//8BSBsLIQkgASAEaiAFOwEAIAMgBGogCTsBACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQAJ/QQAgAiAIQQF0IgFqLwEAIgNFDQAaIBEgACABai4BALKUIANBEHRBEHWylRCDFSIDQYCAfiADQYCAfkobIgNB//8BIANB//8BSBsLIQMgASAEaiADOwEAIAhBAWoiCCAGRw0ACwsgBCANaiEEIAIgDmohAiAAIA9qIQAgBw0ACwsLpwMCCH8BfSAHBEAgCCsDALYhESAGQQRrIQsgBkEDSiEMIAVBAnZBAnQhDSADQQJ2QQJ0IQ4gAUECdkECdCEPA0BBACEIIAwEQANAQQAhASACIAhBAnQiA2ooAgAiBQRAIBEgACADaigCALKUIAWylRCDFSEBC0EAIQVBACEJIAIgCEEBckECdCIKaigCACIQBEAgESAAIApqKAIAspQgELKVEIMVIQkLIAMgBGogATYCACAEIApqIAk2AgAgAiAIQQJyQQJ0IgFqKAIAIgMEQCARIAAgAWooAgCylCADspUQgxUhBQsCf0EAIAIgCEEDckECdCIDaigCACIJRQ0AGiARIAAgA2ooAgCylCAJspUQgxULIQkgASAEaiAFNgIAIAMgBGogCTYCACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQAJ/QQAgAiAIQQJ0IgFqKAIAIgNFDQAaIBEgACABaigCALKUIAOylRCDFQshAyABIARqIAM2AgAgCEEBaiIIIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwvzBAIEfwN9IAVBAnYhCiADQQJ2IQsgAUECdiEMAkAgCCsDALYiDUMAAIC/kotDAAAANF9BAXNFBEAgB0UNASAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ0gACADaioCACEOIAEgBGogACABaioCACABIAJqKgIAlTgCACADIARqIA4gDZU4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAAIAFqKgIAIAEgAmoqAgCVOAIAIAMgBGogDiANlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ4gACADaioCACEPIAEgBGogACABaioCACANlCABIAJqKgIAlTgCACADIARqIA8gDZQgDpU4AgAgAiABQQxyIgNqKgIAIQ4gACADaioCACEPIAQgAUEIciIBaiAAIAFqKgIAIA2UIAEgAmoqAgCVOAIAIAMgBGogDyANlCAOlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACANlCABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC/YEAgV/A3wgBUEDdiEKIANBA3YhCyABQQN2IQwCQCAIKwMARAAAAAAAAPA/YQRAIAdFDQEgBkEEayEFIAZBA0ohCQNAQQAhASAJBEADQCACIAFBA3QiA0EIciIIaisDACEOIAAgCGorAwAhDyADIARqIAAgA2orAwAgAiADaisDAKM5AwAgBCAIaiAPIA6jOQMAIAIgA0EYciIIaisDACEOIAAgCGorAwAhDyAEIANBEHIiA2ogACADaisDACACIANqKwMAozkDACAEIAhqIA8gDqM5AwAgAUEEaiIBIAVMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQN0IgNqIAAgA2orAwAgAiADaisDAKM5AwAgAUEBaiIBIAZHDQALCyAEIApBA3RqIQQgAiALQQN0aiECIAAgDEEDdGohACAHDQALDAELIAdFDQAgBkEEayEJIAZBA0ohDQNAQQAhASANBEADQCACIAFBA3QiA0EIciIFaisDACEO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FyAVIAItAAG4oqAhFyAWIBUgAi0AALiioCEWIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRUMAQsgBCANaiECQQAhAEQAAAAAAAAAACEVA0AgFSAHIABBAnRqKgIAuyACLQAAuKKgIRUgAiAMaiECIABBAWoiACABRw0ACwsgCiAEQQJ0aiAVIAOitjgCACAEQQFqIgQgCEcNAAsLIAogEkECdGohCiAGQQFqIgYgCEcNAAsLIAcgEUcEQCAHEKIbCyALQaAIaiQAC68IAxR/AX0BfCMAQaAIayIHJAAgASgCMEECdiESIAAoAjAhDSABKAIQIQogACgCECEOIAAoAigiACgCACELIAAoAgQhBAJAIAIoAhAiCEUEQCALQQFIDQEgBEF8cSEJIARBBGshBkEAIQggBEEDSiEQA0AgDiAIIA1saiEBIAghDANAIA4gDCANbGohAkEAIQBEAAAAAAAAAAAhGQJ/IBAEQANAIBkgACABai0AALggACACai0AALiiIAEgAEEBciIFai0AALggAiAFai0AALiioCABIABBAnIiBWotAAC4IAIgBWotAAC4oqAgASAAQQNyIgVqLQAAuCACIAVqLQAAuKKgoCEZIABBBGoiACAGTA0ACyAJIQALIAAgBEgLBEADQCAZIAAgAWotAAC4IAAgAmotAAC4oqAhGSAAQQFqIgAgBEcNAAsLIAogDEECdGogGSADorY4AgAgDEEBaiIMIAtHDQALIAogEkECdGohCiAIQQFqIgggC0cNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAEQQJ0IgA2AgQgByAHQQhqIhM2AgAgEyEFIABBiQhPBEAgByAAENUaIgU2AgALIAtBAU4EQCAGQQJ2QQAgAUEBShshFCAEQXxxIRUgBEEEayEMIARBAUghFiAEQQNKIRcgBCARRkEEdCEQA0AgDiANIA9saiECIAggDyAUbEECdGohAQJAIAQgEUwEQEEAIQAgBEEATA0BA0AgBSAAQQJ0IgZqIAAgAmotAACzIAEgBmoqAgCTOAIAIABBAWoiACAERw0ACwwBC0EAIQAgFg0AA0AgBSAAQQJ0aiAAIAJqLQAAsyABKgIAkzgCACAAQQFqIgAgBEcNAAsLIA8hCQNAIAkgDWwhACAIIAkgFGxBAnRqIQIgBCARSgRAIAcgAioCACIYOAKYCCAHIBg4ApwIIAcgGDgClAggByAYOAKQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhGUEAIQACfyAXBEADQCAZIAUgAEECdGoqAgC7IAAgAWotAACzIAIqAgCTu6IgBSAAQQFyIgZBAnRqKgIAuyABIAZqLQAAsyACKgIEk7uioCAFIABBAnIiBkECdGoqAgC7IAEgBmotAACzIAIqAgiTu6KgIAUgAEEDciIGQQJ0aioCALsgASAGai0AALMgAioCDJO7oqCgIRkgAiAQaiECIABBBGoiACAMTA0ACyAVIQALIAAgBEgLBEADQCAZIAUgAEECdGoqAgC7IAAgAWotAACzIAIqAgCTu6KgIRkgAkEEaiECIABBAWoiACAERw0ACwsgCiAJQQJ0aiAZIAOitjgCACAJQQFqIgkgC0cNAAsgCiASQQJ0aiEKIA9BAWoiDyALRw0ACwsgBSATRg0AIAUQohsLIAdBoAhqJAALoAwCEH8FfCMAQaAIayILJAAgACgCMCEMIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCiAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgC0GICDYCFCALIAtBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAsgAjYCFCARIQcgAkGJCE8EQCALIAIQ1RoiBzYCEAsgBkEDdiESIARFDQEgBUEDdkEAIABBAUobIQYCQCAPBEAgBCEJDAELIAcgAUEDdGohCSABQQFOBEBBACECA0AgCSACQQV0IgBBGHJqIAQgAiAGbEEDdGorAwAiFDkDACAJIABBEHJqIBQ5AwAgCSAAQQhyaiAUOQMAIAAgCWogFDkDACACQQFqIgIgAUcNAAsLIAZBAEdBAnQhBiAJIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkEDdGogDSACIAxsIBBqai0AALggDiACIAZsQQN0aisDAKE5AwAgAkEBaiICIAFHDQALDAELQQAhAiAPDQADQCAHIAJBA3RqIA0gAiAMbCAQamotAAC4IAkgAiAGbCAQakEDdGorAwChOQMAIAJBAWoiAiABRw0ACwsgECIFIBNMBEADQAJAIA8EQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIAUgDWohAiAOIAkgBUEDdGogDhshAEEAIQREAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAEQQN0aisDACIUIAItAAO4IAArAxihoqAhGCAXIBQgAi0AArggACsDEKGioCEXIBYgFCACLQABuCAAKwMIoaKgIRYgFSAUIAItAAC4IAArAwChoqAhFSACIAxqIQIgACAGQQN0aiEAIARBAWoiBCABRw0ACwsgCiAFQQN0aiICIBUgA6I5AwAgAiAYIAOiOQMYIAIgFyADojkDECACIBYgA6I5AwggBUEEaiIFIBNMDQALCyAFIAhIBEADQAJAIA8EQEQAAAAAAAAAACEUDAELIAUgDWohAiAOIAkgBUEDdGogDhshAEEAIQREAAAAAAAAAAAhFANAIBQgByAEQQN0aisDACACLQAAuCAAKwMAoaKgIRQgAiAMaiECIAAgBkEDdGohACAEQQFqIgQgAUcNAAsLIAogBUEDdGogFCADojkDACAFQQFqIgUgCEcNAAsLIAogEkEDdGohCiAQQQFqIhAgCEcNAAsMAgtBqX4gC0GfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQVBACEGA0BBACECIAFBAEoEQANAIAcgAkEDdGogDSACIAxsIAZqai0AALg5AwAgAkEBaiICIAFHDQALCyAFIAYiBE4EQANAAkAgAUEBSARARAAAAAAAAAAAIRVEAAAAAAAAAAAhFkQAAAAAAAAAACEXRAAAAAAAAAAAIRgMAQsgBCANaiECQQAhAEQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFkQAAAAAAAAAACEVA0AgGCAHIABBA3RqKwMAIhQgAi0AA7iioCEYIBcgFCACLQACuKKgIRcgFiAUIAItAAG4oqAhFiAVIBQgAi0AALiioCEVIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIARBBGoiBCAFTA0ACwsgBCAISARAA0ACQCABQQFIBEBEAAAAAAAAAAAhFAwBCyAEIA1qIQJBACEARAAAAAAAAAAAIRQDQCAUIAcgAEEDdGorAwAgAi0AALiioCEUIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEEDdGogFCADojkDACAEQQFqIgQgCEcNAAsLIAogEkEDdGohCiAGQQFqIgYgCEcNAAsLIAcgEUcEQCAHEKIbCyALQaAIaiQAC50IAhN/AXwjAEGwCGsiByQAIAEoAjBBA3YhEiAAKAIwIQ0gASgCECEKIAAoAhAhDiAAKAIoIgAoAgAhCyAAKAIEIQQCQCACKAIQIghFBEAgC0EBSA0BIARBfHEhCSAEQQRrIQZBACEIIARBA0ohEANAIA4gCCANbGohASAIIQwDQCAOIAwgDWxqIQJBACEARAAAAAAAAAAAIRcCfyAQBEADQCAXIAAgAWotAAC4IAAgAmotAAC4oiABIABBAXIiBWotAAC4IAIgBWotAAC4oqAgASAAQQJyIgVqLQAAuCACIAVqLQAAuKKgIAEgAEEDciIFai0AALggAiAFai0AALiioKAhFyAAQQRqIgAgBkwNAAsgCSEACyAAIARICwRAA0AgFyAAIAFqLQAAuCAAIAJqLQAAuKKgIRcgAEEBaiIAIARHDQALCyAKIAxBA3RqIBcgA6I5AwAgDEEBaiIMIAtHDQALIAogEkEDdGohCiAIQQFqIgggC0cNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAEQQN0IgA2AgQgByAHQQhqIhM2AgAgEyEFIABBiQhPBEAgByAAENUaIgU2AgALIAtBAU4EQCAGQQN2QQAgAUEBShshFCAEQXxxIRUgBEEEayEMIARBAUghFiAEIBFGQQV0IRADQCAOIA0gD2xqIQIgCCAPIBRsQQN0aiEBAkAgBCARTARAQQAhACAEQQBMDQEDQCAFIABBA3QiBmogACACai0AALggASAGaisDAKE5AwAgAEEBaiIAIARHDQALDAELQQAhACAWDQADQCAFIABBA3RqIAAgAmotAAC4IAErAwChOQMAIABBAWoiACAERw0ACwsgDyEJA0AgCSANbCEAIAggCSAUbEEDdGohAiAEIBFKBEAgByACKwMAIhc5A6AIIAcgFzkDqAggByAXOQOYCCAHIBc5A5AIIAdBkAhqIQILIAAgDmohAUQAAAAAAAAAACEXQQAhAAJ/IARBA0oEQANAIBcgBSAAQQN0aisDACAAIAFqLQAAuCACKwMAoaIgBSAAQQFyIgZBA3RqKwMAIAEgBmotAAC4IAIrAwihoqAgBSAAQQJyIgZBA3RqKwMAIAEgBmotAAC4IAIrAxChoqAgBSAAQQNyIgZBA3RqKwMAIAEgBmotAAC4IAIrAxihoqCgIRcgAiAQaiECIABBBGoiACAMTA0ACyAVIQALIAAgBEgLBEADQCAXIAUgAEEDdGorAwAgACABai0AALggAisDAKGioCEXIAJBCGohAiAAQQFqIgAgBEcNAAsLIAogCUEDdGogFyADojkDACAJQQFqIgkgC0cNAAsgCiASQQN0aiEKIA9BAWoiDyALRw0ACwsgBSATRg0AIAUQohsLIAdBsAhqJAAL3QwDEH8BfQV8IwBBoAhrIgwkACAAKAIwIQkgASgCMCEGIAIoAjAhBSACKAIQIQQgASgCECELIAAoAhAhDSACKAIMIQcgACgCKCIAKAIEIQggACgCACEBIAIoAgghACAMQYgINgIUIAwgDEEYaiIRNgIQIAFBAnQhAgJAAkACQAJAIAcgCE4iDw0AIARFDQAgB0EBRw0BIAFBFGwhAgsgDCACNgIUIBEhByACQYkITwRAIAwgAhDVGiIHNgIQCyAGQQJ2IRIgCUEBdiEJIARFDQEgBUECdkEAIABBAUobIQYCQCAPBEAgBCEKDAELIAcgAUECdGohCiABQQFOBEBBACECA0AgCiACQQR0IgBBDHJqIAQgAiAGbEECdGoqAgAiFDgCACAKIABBCHJqIBQ4AgAgCiAAQQRyaiAUOAIAIAAgCmogFDgCACACQQFqIgIgAUcNAAsLIAZBAEdBAnQhBiAKIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkECdGogDSACIAlsIBBqQQF0ai8BALMgDiACIAZsQQJ0aioCAJM4AgAgAkEBaiICIAFHDQALDAELQQAhAiAPDQADQCAHIAJBAnRqIA0gAiAJbCAQakEBdGovAQCzIAogAiAGbCAQakECdGoqAgCTOAIAIAJBAWoiAiABRw0ACwsgECIFIBNMBEADQAJAIA8EQEQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGEQAAAAAAAAAACEZDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhGUQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFgNAIBkgByAEQQJ0aioCALsiFSACLwEGsyAAKgIMk7uioCEZIBggFSACLwEEsyAAKgIIk7uioCEYIBcgFSACLwECsyAAKgIEk7uioCEXIBYgFSACLwEAsyAAKgIAk7uioCEWIAAgBkECdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBUEEaiIFIBNMDQALCyAFIAhIBEADQAJAIA8EQEQAAAAAAAAAACEVDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhFQNAIBUgByAEQQJ0aioCALsgAi8BALMgACoCAJO7oqAhFSAAIAZBAnRqIQAgAiAJQQF0aiECIARBAWoiBCABRw0ACwsgCyAFQQJ0aiAVIAOitjgCACAFQQFqIgUgCEcNAAsLIAsgEkECdGohCyAQQQFqIhAgCEcNAAsMAgtBqX4gDEGfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQVBACEGA0BBACECIAFBAEoEQANAIAcgAkECdGogDSACIAlsIAZqQQF0ai8BALM4AgAgAkEBaiICIAFHDQALCyAFIAYiBE4EQANAAkAgAUEBSARARAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYRAAAAAAAAAAAIRkMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEZRAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWA0AgGSAHIABBAnRqKgIAuyIVIAIvAQa4oqAhGSAYIBUgAi8BBLiioCEYIBcgFSACLwECuKKgIRcgFiAVIAIvAQC4oqAhFiACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBEEEaiIEIAVMDQALCyAEIAhIBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhFQNAIBUgByAAQQJ0aioCALsgAi8BALiioCEVIAIgCUEBdGohAiAAQQFqIgAgAUcNAAsLIAsgBEECdGogFSADorY4AgAgBEEBaiIEIAhHDQALCyALIBJBAnRqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvVCAMTfwF9AXwjAEGgCGsiByQAIAEoAjBBAnYhEiAAKAIwQQF2IQ0gASgCECEKIAAoAhAhDiAAKAIoIgAoAgAhCyAAKAIEIQUCQCACKAIQIg9FBEAgC0EBSA0BIAVBfHEhDyAFQQRrIREgBUEDSiEIA0AgDiAJIA1sQQF0aiEBIAkhDANAIA4gDCANbEEBdGohAkEAIQBEAAAAAAAAAAAhGAJ/IAgEQANAIBggASAAQQF0IgRqLwEAuCACIARqLwEAuKIgASAEQQJyIgZqLwEAuCACIAZqLwEAuKKgIAEgBEEEciIGai8BALggAiAGai8BALiioCABIARBBnIiBGovAQC4IAIgBGovAQC4oqCgIRggAEEEaiIAIBFMDQALIA8hAAsgACAFSAsEQANAIBggASAAQQF0IgRqLwEAuCACIARqLwEAuKKgIRggAEEBaiIAIAVHDQALCyAKIAxBAnRqIBggA6K2OAIAIAxBAWoiDCALRw0ACyAKIBJBAnRqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUECdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkECdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFQQNKIRYgBSAJRkEEdCEMA0AgDyAQIBRsQQJ0aiECIA4gDSAQbEEBdGohAQJAIAUgCUwEQEEAIQAgBUEATA0BA0AgBCAAQQJ0IgZqIAEgAEEBdGovAQCzIAIgBmoqAgCTOAIAIABBAWoiACAFRw0ACwwBC0EAIQAgBUEBSA0AA0AgBCAAQQJ0aiABIABBAXRqLwEAsyACKgIAkzgCACAAQQFqIgAgBUcNAAsLIBAhCANAIA8gCCAUbEECdGohAiAIIA1sQQF0IQAgBSAJSgRAIAcgAioCACIXOAKYCCAHIBc4ApwIIAcgFzgClAggByAXOAKQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhGEEAIQACfyAWBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGovAQCzIAIqAgCTu6IgBCAAQQFyIgZBAnRqKgIAuyABIAZBAXRqLwEAsyACKgIEk7uioCAEIABBAnIiBkECdGoqAgC7IAEgBkEBdGovAQCzIAIqAgiTu6KgIAQgAEEDciIGQQJ0aioCALsgASAGQQF0ai8BALMgAioCDJO7oqCgIRggAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGovAQCzIAIqAgCTu6KgIRggAkEEaiECIABBAWoiACAFRw0ACwsgCiAIQQJ0aiAYIAOitjgCACAIQQFqIgggC0cNAAsgCiASQQJ0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBoAhqJAALyAwCEH8FfCMAQaAIayIMJAAgACgCMCEJIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCyAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgDEGICDYCFCAMIAxBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAwgAjYCFCARIQcgAkGJCE8EQCAMIAIQ1RoiBzYCEAsgBkEDdiESIAlBAXYhCSAERQ0BIAVBA3ZBACAAQQFKGyEGAkAgDwRAIAQhCgwBCyAHIAFBA3RqIQogAUEBTgRAQQAhAgNAIAogAkEFdCIAQRhyaiAEIAIgBmxBA3RqKwMAIhQ5AwAgCiAAQRByaiAUOQMAIAogAEEIcmogFDkDACAAIApqIBQ5AwAgAkEBaiICIAFHDQALCyAGQQBHQQJ0IQYgCiEOCyAIQQFIDQIgCEEEayETIAFBAUghDwNAAkAgDgRAQQAhAiABQQBMDQEDQCAHIAJBA3RqIA0gAiAJbCAQakEBdGovAQC4IA4gAiAGbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBAXRqLwEAuCAKIAIgBmwgEGpBA3RqKwMAoTkDACACQQFqIgIgAUcNAAsLIBAiBSATTARAA0ACQCAPBEBEAAAAAAAAAAAhFUQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWRAAAAAAAAAAAIRUDQCAYIAcgBEEDdGorAwAiFCACLwEGuCAAKwMYoaKgIRggFyAUIAIvAQS4IAArAxChoqAhFyAWIBQgAi8BArggACsDCKGioCEWIBUgFCACLwEAuCAAKwMAoaKgIRUgACAGQQN0aiEAIAIgCUEBdGohAiAEQQFqIgQgAUcNAAsLIAsgBUEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAVBBGoiBSATTA0ACwsgBSAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRQDQCAUIAcgBEEDdGorAwAgAi8BALggACsDAKGioCEUIAAgBkEDdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBA3RqIBQgA6I5AwAgBUEBaiIFIAhHDQALCyALIBJBA3RqIQsgEEEBaiIQIAhHDQALDAILQal+IAxBn4MCEIkDQa+DAkHR+gFBkRAQmAoACyAIQQFIDQAgCEEEayEFQQAhBgNAQQAhAiABQQBKBEADQCAHIAJBA3RqIA0gAiAJbCAGakEBdGovAQC4OQMAIAJBAWoiAiABRw0ACwsgBSAGIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIvAQa4oqAhGCAXIBQgAi8BBLiioCEXIBYgFCACLwECuKKgIRYgFSAUIAIvAQC4oqAhFSACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIgIgFSADojkDACACIBggA6I5AxggAiAXIAOiOQMQIAIgFiADojkDCCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRQMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEUA0AgFCAHIABBA3RqKwMAIAIvAQC4oqAhFCACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIBQgA6I5AwAgBEEBaiIEIAhHDQALCyALIBJBA3RqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvDCAISfwF8IwBBsAhrIgckACABKAIwQQN2IRIgACgCMEEBdiENIAEoAhAhCiAAKAIQIQ4gACgCKCIAKAIAIQsgACgCBCEFAkAgAigCECIPRQRAIAtBAUgNASAFQXxxIQ8gBUEEayERIAVBA0ohCANAIA4gCSANbEEBdGohASAJIQwDQCAOIAwgDWxBAXRqIQJBACEARAAAAAAAAAAAIRYCfyAIBEADQCAWIAEgAEEBdCIEai8BALggAiAEai8BALiiIAEgBEECciIGai8BALggAiAGai8BALiioCABIARBBHIiBmovAQC4IAIgBmovAQC4oqAgASAEQQZyIgRqLwEAuCACIARqLwEAuKKgoCEWIABBBGoiACARTA0ACyAPIQALIAAgBUgLBEADQCAWIAEgAEEBdCIEai8BALggAiAEai8BALiioCEWIABBAWoiACAFRw0ACwsgCiAMQQN0aiAWIAOiOQMAIAxBAWoiDCALRw0ACyAKIBJBA3RqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUEDdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkEDdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFIAlGQQV0IQwDQCAPIBAgFGxBA3RqIQIgDiANIBBsQQF0aiEBAkAgBSAJTARAQQAhACAFQQBMDQEDQCAEIABBA3QiBmogASAAQQF0ai8BALggAiAGaisDAKE5AwAgAEEBaiIAIAVHDQALDAELQQAhACAFQQFIDQADQCAEIABBA3RqIAEgAEEBdGovAQC4IAIrAwChOQMAIABBAWoiACAFRw0ACwsgECEIA0AgDyAIIBRsQQN0aiECIAggDWxBAXQhACAFIAlKBEAgByACKwMAIhY5A6AIIAcgFjkDqAggByAWOQOYCCAHIBY5A5AIIAdBkAhqIQILIAAgDmohAUQAAAAAAAAAACEWQQAhAAJ/IAVBA0oEQANAIBYgBCAAQQN0aisDACABIABBAXRqLwEAuCACKwMAoaIgBCAAQQFyIgZBA3RqKwMAIAEgBkEBdGovAQC4IAIrAwihoqAgBCAAQQJyIgZBA3RqKwMAIAEgBkEBdGovAQC4IAIrAxChoqAgBCAAQQNyIgZBA3RqKwMAIAEgBkEBdGovAQC4IAIrAxihoqCgIRYgAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAWIAQgAEEDdGorAwAgASAAQQF0ai8BALggAisDAKGioCEWIAJBCGohAiAAQQFqIgAgBUcNAAsLIAogCEEDdGogFiADojkDACAIQQFqIgggC0cNAAsgCiASQQN0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBsAhqJAAL3QwDEH8BfQV8IwBBoAhrIgwkACAAKAIwIQkgASgCMCEGIAIoAjAhBSACKAIQIQQgASgCECELIAAoAhAhDSACKAIMIQcgACgCKCIAKAIEIQggACgCACEBIAIoAgghACAMQYgINgIUIAwgDEEYaiIRNgIQIAFBAnQhAgJAAkACQAJAIAcgCE4iDw0AIARFDQAgB0EBRw0BIAFBFGwhAgsgDCACNgIUIBEhByACQYkITwRAIAwgAhDVGiIHNgIQCyAGQQJ2IRIgCUEBdiEJIARFDQEgBUECdkEAIABBAUobIQYCQCAPBEAgBCEKDAELIAcgAUECdGohCiABQQFOBEBBACECA0AgCiACQQR0IgBBDHJqIAQgAiAGbEECdGoqAgAiFDgCACAKIABBCHJqIBQ4AgAgCiAAQQRyaiAUOAIAIAAgCmogFDgCACACQQFqIgIgAUcNAAsLIAZBAEdBAnQhBiAKIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkECdGogDSACIAlsIBBqQQF0ai4BALIgDiACIAZsQQJ0aioCAJM4AgAgAkEBaiICIAFHDQALDAELQQAhAiAPDQADQCAHIAJBAnRqIA0gAiAJbCAQakEBdGouAQCyIAogAiAGbCAQakECdGoqAgCTOAIAIAJBAWoiAiABRw0ACwsgECIFIBNMBEADQAJAIA8EQEQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGEQAAAAAAAAAACEZDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhGUQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFgNAIBkgByAEQQJ0aioCALsiFSACLgEGsiAAKgIMk7uioCEZIBggFSACLgEEsiAAKgIIk7uioCEYIBcgFSACLgECsiAAKgIEk7uioCEXIBYgFSACLgEAsiAAKgIAk7uioCEWIAAgBkECdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBUEEaiIFIBNMDQALCyAFIAhIBEADQAJAIA8EQEQAAAAAAAAAACEVDAELIA0gBUEBdGohAiAOIAogBUECdGogDhshAEEAIQREAAAAAAAAAAAhFQNAIBUgByAEQQJ0aioCALsgAi4BALIgACoCAJO7oqAhFSAAIAZBAnRqIQAgAiAJQQF0aiECIARBAWoiBCABRw0ACwsgCyAFQQJ0aiAVIAOitjgCACAFQQFqIgUgCEcNAAsLIAsgEkECdGohCyAQQQFqIhAgCEcNAAsMAgtBqX4gDEGfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQVBACEGA0BBACECIAFBAEoEQANAIAcgAkECdGogDSACIAlsIAZqQQF0ai4BALI4AgAgAkEBaiICIAFHDQALCyAFIAYiBE4EQANAAkAgAUEBSARARAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYRAAAAAAAAAAAIRkMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEZRAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWA0AgGSAHIABBAnRqKgIAuyIVIAIuAQa3oqAhGSAYIBUgAi4BBLeioCEYIBcgFSACLgECt6KgIRcgFiAVIAIuAQC3oqAhFiACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBAnRqIgIgFiADorY4AgAgAiAZIAOitjgCDCACIBggA6K2OAIIIAIgFyADorY4AgQgBEEEaiIEIAVMDQALCyAEIAhIBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhFQNAIBUgByAAQQJ0aioCALsgAi4BALeioCEVIAIgCUEBdGohAiAAQQFqIgAgAUcNAAsLIAsgBEECdGogFSADorY4AgAgBEEBaiIEIAhHDQALCyALIBJBAnRqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvVCAMTfwF9AXwjAEGgCGsiByQAIAEoAjBBAnYhEiAAKAIwQQF2IQ0gASgCECEKIAAoAhAhDiAAKAIoIgAoAgAhCyAAKAIEIQUCQCACKAIQIg9FBEAgC0EBSA0BIAVBfHEhDyAFQQRrIREgBUEDSiEIA0AgDiAJIA1sQQF0aiEBIAkhDANAIA4gDCANbEEBdGohAkEAIQBEAAAAAAAAAAAhGAJ/IAgEQANAIBggASAAQQF0IgRqLgEAtyACIARqLgEAt6IgASAEQQJyIgZqLgEAtyACIAZqLgEAt6KgIAEgBEEEciIGai4BALcgAiAGai4BALeioCABIARBBnIiBGouAQC3IAIgBGouAQC3oqCgIRggAEEEaiIAIBFMDQALIA8hAAsgACAFSAsEQANAIBggASAAQQF0IgRqLgEAtyACIARqLgEAt6KgIRggAEEBaiIAIAVHDQALCyAKIAxBAnRqIBggA6K2OAIAIAxBAWoiDCALRw0ACyAKIBJBAnRqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUECdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkECdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFQQNKIRYgBSAJRkEEdCEMA0AgDyAQIBRsQQJ0aiECIA4gDSAQbEEBdGohAQJAIAUgCUwEQEEAIQAgBUEATA0BA0AgBCAAQQJ0IgZqIAEgAEEBdGouAQCyIAIgBmoqAgCTOAIAIABBAWoiACAFRw0ACwwBC0EAIQAgBUEBSA0AA0AgBCAAQQJ0aiABIABBAXRqLgEAsiACKgIAkzgCACAAQQFqIgAgBUcNAAsLIBAhCANAIA8gCCAUbEECdGohAiAIIA1sQQF0IQAgBSAJSgRAIAcgAioCACIXOAKYCCAHIBc4ApwIIAcgFzgClAggByAXOAKQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhGEEAIQACfyAWBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGouAQCyIAIqAgCTu6IgBCAAQQFyIgZBAnRqKgIAuyABIAZBAXRqLgEAsiACKgIEk7uioCAEIABBAnIiBkECdGoqAgC7IAEgBkEBdGouAQCyIAIqAgiTu6KgIAQgAEEDciIGQQJ0aioCALsgASAGQQF0ai4BALIgAioCDJO7oqCgIRggAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAYIAQgAEECdGoqAgC7IAEgAEEBdGouAQCyIAIqAgCTu6KgIRggAkEEaiECIABBAWoiACAFRw0ACwsgCiAIQQJ0aiAYIAOitjgCACAIQQFqIgggC0cNAAsgCiASQQJ0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBoAhqJAALyAwCEH8FfCMAQaAIayIMJAAgACgCMCEJIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCyAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgDEGICDYCFCAMIAxBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAwgAjYCFCARIQcgAkGJCE8EQCAMIAIQ1RoiBzYCEAsgBkEDdiESIAlBAXYhCSAERQ0BIAVBA3ZBACAAQQFKGyEGAkAgDwRAIAQhCgwBCyAHIAFBA3RqIQogAUEBTgRAQQAhAgNAIAogAkEFdCIAQRhyaiAEIAIgBmxBA3RqKwMAIhQ5AwAgCiAAQRByaiAUOQMAIAogAEEIcmogFDkDACAAIApqIBQ5AwAgAkEBaiICIAFHDQALCyAGQQBHQQJ0IQYgCiEOCyAIQQFIDQIgCEEEayETIAFBAUghDwNAAkAgDgRAQQAhAiABQQBMDQEDQCAHIAJBA3RqIA0gAiAJbCAQakEBdGouAQC3IA4gAiAGbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBAXRqLgEAtyAKIAIgBmwgEGpBA3RqKwMAoTkDACACQQFqIgIgAUcNAAsLIBAiBSATTARAA0ACQCAPBEBEAAAAAAAAAAAhFUQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWRAAAAAAAAAAAIRUDQCAYIAcgBEEDdGorAwAiFCACLgEGtyAAKwMYoaKgIRggFyAUIAIuAQS3IAArAxChoqAhFyAWIBQgAi4BArcgACsDCKGioCEWIBUgFCACLgEAtyAAKwMAoaKgIRUgACAGQQN0aiEAIAIgCUEBdGohAiAEQQFqIgQgAUcNAAsLIAsgBUEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAVBBGoiBSATTA0ACwsgBSAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAVBAXRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRQDQCAUIAcgBEEDdGorAwAgAi4BALcgACsDAKGioCEUIAAgBkEDdGohACACIAlBAXRqIQIgBEEBaiIEIAFHDQALCyALIAVBA3RqIBQgA6I5AwAgBUEBaiIFIAhHDQALCyALIBJBA3RqIQsgEEEBaiIQIAhHDQALDAILQal+IAxBn4MCEIkDQa+DAkHR+gFBkRAQmAoACyAIQQFIDQAgCEEEayEFQQAhBgNAQQAhAiABQQBKBEADQCAHIAJBA3RqIA0gAiAJbCAGakEBdGouAQC3OQMAIAJBAWoiAiABRw0ACwsgBSAGIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEEBdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIuAQa3oqAhGCAXIBQgAi4BBLeioCEXIBYgFCACLgECt6KgIRYgFSAUIAIuAQC3oqAhFSACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIgIgFSADojkDACACIBggA6I5AxggAiAXIAOiOQMQIAIgFiADojkDCCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRQMAQsgDSAEQQF0aiECQQAhAEQAAAAAAAAAACEUA0AgFCAHIABBA3RqKwMAIAIuAQC3oqAhFCACIAlBAXRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIBQgA6I5AwAgBEEBaiIEIAhHDQALCyALIBJBA3RqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvDCAISfwF8IwBBsAhrIgckACABKAIwQQN2IRIgACgCMEEBdiENIAEoAhAhCiAAKAIQIQ4gACgCKCIAKAIAIQsgACgCBCEFAkAgAigCECIPRQRAIAtBAUgNASAFQXxxIQ8gBUEEayERIAVBA0ohCANAIA4gCSANbEEBdGohASAJIQwDQCAOIAwgDWxBAXRqIQJBACEARAAAAAAAAAAAIRYCfyAIBEADQCAWIAEgAEEBdCIEai4BALcgAiAEai4BALeiIAEgBEECciIGai4BALcgAiAGai4BALeioCABIARBBHIiBmouAQC3IAIgBmouAQC3oqAgASAEQQZyIgRqLgEAtyACIARqLgEAt6KgoCEWIABBBGoiACARTA0ACyAPIQALIAAgBUgLBEADQCAWIAEgAEEBdCIEai4BALcgAiAEai4BALeioCEWIABBAWoiACAFRw0ACwsgCiAMQQN0aiAWIAOiOQMAIAxBAWoiDCALRw0ACyAKIBJBA3RqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUEDdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkEDdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFIAlGQQV0IQwDQCAPIBAgFGxBA3RqIQIgDiANIBBsQQF0aiEBAkAgBSAJTARAQQAhACAFQQBMDQEDQCAEIABBA3QiBmogASAAQQF0ai4BALcgAiAGaisDAKE5AwAgAEEBaiIAIAVHDQALDAELQQAhACAFQQFIDQADQCAEIABBA3RqIAEgAEEBdGouAQC3IAIrAwChOQMAIABBAWoiACAFRw0ACwsgECEIA0AgDyAIIBRsQQN0aiECIAggDWxBAXQhACAFIAlKBEAgByACKwMAIhY5A6AIIAcgFjkDqAggByAWOQOYCCAHIBY5A5AIIAdBkAhqIQILIAAgDmohAUQAAAAAAAAAACEWQQAhAAJ/IAVBA0oEQANAIBYgBCAAQQN0aisDACABIABBAXRqLgEAtyACKwMAoaIgBCAAQQFyIgZBA3RqKwMAIAEgBkEBdGouAQC3IAIrAwihoqAgBCAAQQJyIgZBA3RqKwMAIAEgBkEBdGouAQC3IAIrAxChoqAgBCAAQQNyIgZBA3RqKwMAIAEgBkEBdGouAQC3IAIrAxihoqCgIRYgAiAMaiECIABBBGoiACARTA0ACyAVIQALIAAgBUgLBEADQCAWIAQgAEEDdGorAwAgASAAQQF0ai4BALcgAisDAKGioCEWIAJBCGohAiAAQQFqIgAgBUcNAAsLIAogCEEDdGogFiADojkDACAIQQFqIgggC0cNAAsgCiASQQN0aiEKIBBBAWoiECALRw0ACwsgBCATRg0AIAQQohsLIAdBsAhqJAAL0wwDEH8BfQV8IwBBoAhrIgwkACAAKAIwIQkgASgCMCEFIAIoAjAhBiACKAIQIQQgASgCECELIAAoAhAhDSACKAIMIQcgACgCKCIAKAIEIQggACgCACEBIAIoAgghACAMQYgINgIUIAwgDEEYaiIRNgIQIAFBAnQhAgJAAkACQAJAIAcgCE4iDw0AIARFDQAgB0EBRw0BIAFBFGwhAgsgDCACNgIUIBEhByACQYkITwRAIAwgAhDVGiIHNgIQCyAFQQJ2IRIgCUECdiEJIARFDQEgBkECdkEAIABBAUobIQUCQCAPBEAgBCEKDAELIAcgAUECdGohCiABQQFOBEBBACECA0AgCiACQQR0IgBBDHJqIAQgAiAFbEECdGoqAgAiFDgCACAKIABBCHJqIBQ4AgAgCiAAQQRyaiAUOAIAIAAgCmogFDgCACACQQFqIgIgAUcNAAsLIAVBAEdBAnQhBSAKIQ4LIAhBAUgNAiAIQQRrIRMgAUEBSCEPA0ACQCAOBEBBACECIAFBAEwNAQNAIAcgAkECdGogDSACIAlsIBBqQQJ0aioCACAOIAIgBWxBAnRqKgIAkzgCACACQQFqIgIgAUcNAAsMAQtBACECIA8NAANAIAcgAkECdGogDSACIAlsIBBqQQJ0aioCACAKIAIgBWwgEGpBAnRqKgIAkzgCACACQQFqIgIgAUcNAAsLIBAiBiATTARAA0ACQCAPBEBEAAAAAAAAAAAhFkQAAAAAAAAAACEXRAAAAAAAAAAAIRhEAAAAAAAAAAAhGQwBCyANIAZBAnQiAGohAiAOIAAgCmogDhshAEEAIQREAAAAAAAAAAAhGUQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFgNAIBkgByAEQQJ0aioCALsiFSACKgIMIAAqAgyTu6KgIRkgGCAVIAIqAgggACoCCJO7oqAhGCAXIBUgAioCBCAAKgIEk7uioCEXIBYgFSACKgIAIAAqAgCTu6KgIRYgACAFQQJ0aiEAIAIgCUECdGohAiAEQQFqIgQgAUcNAAsLIAsgBkECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAGQQRqIgYgE0wNAAsLIAYgCEgEQANAAkAgDwRARAAAAAAAAAAAIRUMAQsgDSAGQQJ0IgBqIQIgDiAAIApqIA4bIQBBACEERAAAAAAAAAAAIRUDQCAVIAcgBEECdGoqAgC7IAIqAgAgACoCAJO7oqAhFSAAIAVBAnRqIQAgAiAJQQJ0aiECIARBAWoiBCABRw0ACwsgCyAGQQJ0aiAVIAOitjgCACAGQQFqIgYgCEcNAAsLIAsgEkECdGohCyAQQQFqIhAgCEcNAAsMAgtBqX4gDEGfgwIQiQNBr4MCQdH6AUGREBCYCgALIAhBAUgNACAIQQRrIQZBACEFA0BBACECIAFBAEoEQANAIAcgAkECdGogDSACIAlsIAVqQQJ0aioCADgCACACQQFqIgIgAUcNAAsLIAYgBSIETgRAA0ACQCABQQFIBEBEAAAAAAAAAAAhFkQAAAAAAAAAACEXRAAAAAAAAAAAIRhEAAAAAAAAAAAhGQwBCyANIARBAnRqIQJBACEARAAAAAAAAAAAIRlEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRYDQCAZIAcgAEECdGoqAgC7IhUgAioCDLuioCEZIBggFSACKgIIu6KgIRggFyAVIAIqAgS7oqAhFyAWIBUgAioCALuioCEWIAIgCUECdGohAiAAQQFqIgAgAUcNAAsLIAsgBEECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAEQQRqIgQgBkwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRUMAQsgDSAEQQJ0aiECQQAhAEQAAAAAAAAAACEVA0AgFSAHIABBAnRqKgIAuyACKgIAu6KgIRUgAiAJQQJ0aiECIABBAWoiACABRw0ACwsgCyAEQQJ0aiAVIAOitjgCACAEQQFqIgQgCEcNAAsLIAsgEkECdGohCyAFQQFqIgUgCEcNAAsLIAcgEUcEQCAHEKIbCyAMQaAIaiQAC74IAxV/AX0BfCMAQaAIayIHJAAgASgCMEECdiETIAAoAjBBAnYhDiABKAIQIQogACgCECEPIAAoAigiACgCACELIAAoAgQhBQJAIAIoAhAiCEUEQCALQQFIDQEgBUF8cSEJIAVBBGshDUEAIQggBUEDSiERA0AgDyAIIA5sQQJ0aiEBIAghDANAIA8gDCAObEECdGohAkEAIQBEAAAAAAAAAAAhGgJ/IBEEQANAIBogASAAQQJ0IgRqKgIAuyACIARqKgIAu6IgASAEQQRyIgZqKgIAuyACIAZqKgIAu6KgIAEgBEEIciIGaioCALsgAiAGaioCALuioCABIARBDHIiBGoqAgC7IAIgBGoqAgC7oqCgIRogAEEEaiIAIA1MDQALIAkhAAsgACAFSAsEQANAIBogASAAQQJ0IgRqKgIAuyACIARqKgIAu6KgIRogAEEBaiIAIAVHDQALCyAKIAxBAnRqIBogA6K2OAIAIAxBAWoiDCALRw0ACyAKIBNBAnRqIQogCEEBaiIIIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCESIAcgBUECdCIANgIEIAcgB0EIaiIUNgIAIBQhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkECdkEAIAFBAUobIRUgBUF8cSEWIAVBBGshDCAFQQFIIRcgBUEDSiEYIAUgEkZBBHQhEQNAIAggECAVbEECdGohASAPIA4gEGxBAnRqIQYCQCAFIBJMBEBBACEAIAVBAEwNAQNAIAQgAEECdCICaiACIAZqKgIAIAEgAmoqAgCTOAIAIABBAWoiACAFRw0ACwwBC0EAIQAgFw0AA0AgBCAAQQJ0IgJqIAIgBmoqAgAgASoCAJM4AgAgAEEBaiIAIAVHDQALCyAQIQkDQCAIIAkgFWxBAnRqIQAgCSAObEECdCECIAUgEkoEQCAHIAAqAgAiGTgCmAggByAZOAKcCCAHIBk4ApQIIAcgGTgCkAggB0GQCGohAAsgAiAPaiEBRAAAAAAAAAAAIRpBACECAn8gGARAA0AgGiAEIAJBAnQiBmoqAgC7IAEgBmoqAgAgACoCAJO7oiAEIAZBBHIiDWoqAgC7IAEgDWoqAgAgACoCBJO7oqAgBCAGQQhyIg1qKgIAuyABIA1qKgIAIAAqAgiTu6KgIAQgBkEMciIGaioCALsgASAGaioCACAAKgIMk7uioKAhGiAAIBFqIQAgAkEEaiICIAxMDQALIBYhAgsgAiAFSAsEQANAIBogBCACQQJ0IgZqKgIAuyABIAZqKgIAIAAqAgCTu6KgIRogAEEEaiEAIAJBAWoiAiAFRw0ACwsgCiAJQQJ0aiAaIAOitjgCACAJQQFqIgkgC0cNAAsgCiATQQJ0aiEKIBBBAWoiECALRw0ACwsgBCAURg0AIAQQohsLIAdBoAhqJAALyAwCEH8FfCMAQaAIayIMJAAgACgCMCEJIAEoAjAhBiACKAIwIQUgAigCECEEIAEoAhAhCyAAKAIQIQ0gAigCDCEHIAAoAigiACgCBCEIIAAoAgAhASACKAIIIQAgDEGICDYCFCAMIAxBGGoiETYCECABQQN0IQICQAJAAkACQCAHIAhOIg8NACAERQ0AIAdBAUcNASABQShsIQILIAwgAjYCFCARIQcgAkGJCE8EQCAMIAIQ1RoiBzYCEAsgBkEDdiESIAlBAnYhCSAERQ0BIAVBA3ZBACAAQQFKGyEGAkAgDwRAIAQhCgwBCyAHIAFBA3RqIQogAUEBTgRAQQAhAgNAIAogAkEFdCIAQRhyaiAEIAIgBmxBA3RqKwMAIhQ5AwAgCiAAQRByaiAUOQMAIAogAEEIcmogFDkDACAAIApqIBQ5AwAgAkEBaiICIAFHDQALCyAGQQBHQQJ0IQYgCiEOCyAIQQFIDQIgCEEEayETIAFBAUghDwNAAkAgDgRAQQAhAiABQQBMDQEDQCAHIAJBA3RqIA0gAiAJbCAQakECdGoqAgC7IA4gAiAGbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBAnRqKgIAuyAKIAIgBmwgEGpBA3RqKwMAoTkDACACQQFqIgIgAUcNAAsLIBAiBSATTARAA0ACQCAPBEBEAAAAAAAAAAAhFUQAAAAAAAAAACEWRAAAAAAAAAAAIRdEAAAAAAAAAAAhGAwBCyANIAVBAnRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRhEAAAAAAAAAAAhF0QAAAAAAAAAACEWRAAAAAAAAAAAIRUDQCAYIAcgBEEDdGorAwAiFCACKgIMuyAAKwMYoaKgIRggFyAUIAIqAgi7IAArAxChoqAhFyAWIBQgAioCBLsgACsDCKGioCEWIBUgFCACKgIAuyAAKwMAoaKgIRUgACAGQQN0aiEAIAIgCUECdGohAiAEQQFqIgQgAUcNAAsLIAsgBUEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAVBBGoiBSATTA0ACwsgBSAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAVBAnRqIQIgDiAKIAVBA3RqIA4bIQBBACEERAAAAAAAAAAAIRQDQCAUIAcgBEEDdGorAwAgAioCALsgACsDAKGioCEUIAAgBkEDdGohACACIAlBAnRqIQIgBEEBaiIEIAFHDQALCyALIAVBA3RqIBQgA6I5AwAgBUEBaiIFIAhHDQALCyALIBJBA3RqIQsgEEEBaiIQIAhHDQALDAILQal+IAxBn4MCEIkDQa+DAkHR+gFBkRAQmAoACyAIQQFIDQAgCEEEayEFQQAhBgNAQQAhAiABQQBKBEADQCAHIAJBA3RqIA0gAiAJbCAGakECdGoqAgC7OQMAIAJBAWoiAiABRw0ACwsgBSAGIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEECdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIqAgy7oqAhGCAXIBQgAioCCLuioCEXIBYgFCACKgIEu6KgIRYgFSAUIAIqAgC7oqAhFSACIAlBAnRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIgIgFSADojkDACACIBggA6I5AxggAiAXIAOiOQMQIAIgFiADojkDCCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRQMAQsgDSAEQQJ0aiECQQAhAEQAAAAAAAAAACEUA0AgFCAHIABBA3RqKwMAIAIqAgC7oqAhFCACIAlBAnRqIQIgAEEBaiIAIAFHDQALCyALIARBA3RqIBQgA6I5AwAgBEEBaiIEIAhHDQALCyALIBJBA3RqIQsgBkEBaiIGIAhHDQALCyAHIBFHBEAgBxCiGwsgDEGgCGokAAvHCAITfwF8IwBBsAhrIgckACABKAIwQQN2IRIgACgCMEECdiENIAEoAhAhCiAAKAIQIQ4gACgCKCIAKAIAIQsgACgCBCEFAkAgAigCECIPRQRAIAtBAUgNASAFQXxxIQ8gBUEEayERIAVBA0ohCANAIA4gCSANbEECdGohASAJIQwDQCAOIAwgDWxBAnRqIQJBACEARAAAAAAAAAAAIRcCfyAIBEADQCAXIAEgAEECdCIEaioCALsgAiAEaioCALuiIAEgBEEEciIGaioCALsgAiAGaioCALuioCABIARBCHIiBmoqAgC7IAIgBmoqAgC7oqAgASAEQQxyIgRqKgIAuyACIARqKgIAu6KgoCEXIABBBGoiACARTA0ACyAPIQALIAAgBUgLBEADQCAXIAEgAEECdCIEaioCALsgAiAEaioCALuioCEXIABBAWoiACAFRw0ACwsgCiAMQQN0aiAXIAOiOQMAIAxBAWoiDCALRw0ACyAKIBJBA3RqIQogCUEBaiIJIAtHDQALDAELIAIoAgghASACKAIwIQYgAigCDCEJIAcgBUEDdCIANgIEIAcgB0EIaiITNgIAIBMhBCAAQYkITwRAIAcgABDVGiIENgIACyALQQFOBEAgBkEDdkEAIAFBAUobIRQgBUF8cSEVIAVBBGshESAFQQFIIRYgBSAJRkEFdCEMA0AgDyAQIBRsQQN0aiECIA4gDSAQbEECdGohAQJAIAUgCUwEQEEAIQAgBUEATA0BA0AgBCAAQQN0IgZqIAEgAEECdGoqAgC7IAIgBmorAwChOQMAIABBAWoiACAFRw0ACwwBC0EAIQAgFg0AA0AgBCAAQQN0aiABIABBAnRqKgIAuyACKwMAoTkDACAAQQFqIgAgBUcNAAsLIBAhCANAIA8gCCAUbEEDdGohAiAIIA1sQQJ0IQAgBSAJSgRAIAcgAisDACIXOQOgCCAHIBc5A6gIIAcgFzkDmAggByAXOQOQCCAHQZAIaiECCyAAIA5qIQFEAAAAAAAAAAAhF0EAIQACfyAFQQNKBEADQCAXIAQgAEEDdGorAwAgASAAQQJ0aioCALsgAisDAKGiIAQgAEEBciIGQQN0aisDACABIAZBAnRqKgIAuyACKwMIoaKgIAQgAEECciIGQQN0aisDACABIAZBAnRqKgIAuyACKwMQoaKgIAQgAEEDciIGQQN0aisDACABIAZBAnRqKgIAuyACKwMYoaKgoCEXIAIgDGohAiAAQQRqIgAgEUwNAAsgFSEACyAAIAVICwRAA0AgFyAEIABBA3RqKwMAIAEgAEECdGoqAgC7IAIrAwChoqAhFyACQQhqIQIgAEEBaiIAIAVHDQALCyAKIAhBA3RqIBcgA6I5AwAgCEEBaiIIIAtHDQALIAogEkEDdGohCiAQQQFqIhAgC0cNAAsLIAQgE0YNACAEEKIbCyAHQbAIaiQAC7kMAhB/BXwjAEGgCGsiDCQAIAAoAjAhCSABKAIwIQUgAigCMCEGIAIoAhAhBCABKAIQIQsgACgCECENIAIoAgwhByAAKAIoIgAoAgQhCCAAKAIAIQEgAigCCCEAIAxBiAg2AhQgDCAMQRhqIhE2AhAgAUEDdCECAkACQAJAAkAgByAITiIPDQAgBEUNACAHQQFHDQEgAUEobCECCyAMIAI2AhQgESEHIAJBiQhPBEAgDCACENUaIgc2AhALIAVBA3YhEiAJQQN2IQkgBEUNASAGQQN2QQAgAEEBShshBQJAIA8EQCAEIQoMAQsgByABQQN0aiEKIAFBAU4EQEEAIQIDQCAKIAJBBXQiAEEYcmogBCACIAVsQQN0aisDACIUOQMAIAogAEEQcmogFDkDACAKIABBCHJqIBQ5AwAgACAKaiAUOQMAIAJBAWoiAiABRw0ACwsgBUEAR0ECdCEFIAohDgsgCEEBSA0CIAhBBGshEyABQQFIIQ8DQAJAIA4EQEEAIQIgAUEATA0BA0AgByACQQN0aiANIAIgCWwgEGpBA3RqKwMAIA4gAiAFbEEDdGorAwChOQMAIAJBAWoiAiABRw0ACwwBC0EAIQIgDw0AA0AgByACQQN0aiANIAIgCWwgEGpBA3RqKwMAIAogAiAFbCAQakEDdGorAwChOQMAIAJBAWoiAiABRw0ACwsgECIGIBNMBEADQAJAIA8EQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBkEDdCIAaiECIA4gACAKaiAOGyEAQQAhBEQAAAAAAAAAACEYRAAAAAAAAAAAIRdEAAAAAAAAAAAhFkQAAAAAAAAAACEVA0AgGCAHIARBA3RqKwMAIhQgAisDGCAAKwMYoaKgIRggFyAUIAIrAxAgACsDEKGioCEXIBYgFCACKwMIIAArAwihoqAhFiAVIBQgAisDACAAKwMAoaKgIRUgACAFQQN0aiEAIAIgCUEDdGohAiAEQQFqIgQgAUcNAAsLIAsgBkEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIAZBBGoiBiATTA0ACwsgBiAISARAA0ACQCAPBEBEAAAAAAAAAAAhFAwBCyANIAZBA3QiAGohAiAOIAAgCmogDhshAEEAIQREAAAAAAAAAAAhFANAIBQgByAEQQN0aisDACACKwMAIAArAwChoqAhFCAAIAVBA3RqIQAgAiAJQQN0aiECIARBAWoiBCABRw0ACwsgCyAGQQN0aiAUIAOiOQMAIAZBAWoiBiAIRw0ACwsgCyASQQN0aiELIBBBAWoiECAIRw0ACwwCC0GpfiAMQZ+DAhCJA0GvgwJB0foBQZEQEJgKAAsgCEEBSA0AIAhBBGshBkEAIQUDQEEAIQIgAUEASgRAA0AgByACQQN0aiANIAIgCWwgBWpBA3RqKwMAOQMAIAJBAWoiAiABRw0ACwsgBiAFIgROBEADQAJAIAFBAUgEQEQAAAAAAAAAACEVRAAAAAAAAAAAIRZEAAAAAAAAAAAhF0QAAAAAAAAAACEYDAELIA0gBEEDdGohAkEAIQBEAAAAAAAAAAAhGEQAAAAAAAAAACEXRAAAAAAAAAAAIRZEAAAAAAAAAAAhFQNAIBggByAAQQN0aisDACIUIAIrAxiioCEYIBcgFCACKwMQoqAhFyAWIBQgAisDCKKgIRYgFSAUIAIrAwCioCEVIAIgCUEDdGohAiAAQQFqIgAgAUcNAAsLIAsgBEEDdGoiAiAVIAOiOQMAIAIgGCADojkDGCACIBcgA6I5AxAgAiAWIAOiOQMIIARBBGoiBCAGTA0ACwsgBCAISARAA0ACQCABQQFIBEBEAAAAAAAAAAAhFAwBCyANIARBA3RqIQJBACEARAAAAAAAAAAAIRQDQCAUIAcgAEEDdGorAwAgAisDAKKgIRQgAiAJQQN0aiECIABBAWoiACABRw0ACwsgCyAEQQN0aiAUIAOiOQMAIARBAWoiBCAIRw0ACwsgCyASQQN0aiELIAVBAWoiBSAIRw0ACwsgByARRwRAIAcQohsLIAxBoAhqJAALmggCFH8BfCMAQbAIayIHJAAgASgCMEEDdiESIAAoAjBBA3YhDSABKAIQIQkgACgCECEOIAAoAigiACgCACEKIAAoAgQhBQJAIAIoAhAiE0UEQCAKQQFIDQEgBUF8cSEQIAVBBGshDANAIA4gCCANbEEDdGohASAIIQsDQCAOIAsgDWxBA3RqIQJBACEARAAAAAAAAAAAIRgCfyAFQQNKBEADQCAYIAEgAEEDdCIEaisDACACIARqKwMAoiABIARBCHIiBmorAwAgAiAGaisDAKKgIAEgBEEQciIGaisDACACIAZqKwMAoqAgASAEQRhyIgRqKwMAIAIgBGorAwCioKAhGCAAQQRqIgAgDEwNAAsgECEACyAAIAVICwRAA0AgGCABIABBA3QiBGorAwAgAiAEaisDAKKgIRggAEEBaiIAIAVHDQALCyAJIAtBA3RqIBggA6I5AwAgC0EBaiILIApHDQALIAkgEkEDdGohCSAIQQFqIgggCkcNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAFQQN0IgA2AgQgByAHQQhqIhQ2AgAgFCEEIABBiQhPBEAgByAAENUaIgQ2AgALIApBAU4EQCAGQQN2QQAgAUEBShshFSAFQXxxIRYgBUEEayELIAVBAUghFyAFIBFGQQV0IRADQCATIA8gFWxBA3RqIQEgDiANIA9sQQN0aiEGAkAgBSARTARAQQAhACAFQQBMDQEDQCAEIABBA3QiAmogAiAGaisDACABIAJqKwMAoTkDACAAQQFqIgAgBUcNAAsMAQtBACEAIBcNAANAIAQgAEEDdCICaiACIAZqKwMAIAErAwChOQMAIABBAWoiACAFRw0ACwsgDyEIA0AgEyAIIBVsQQN0aiEAIAggDWxBA3QhAiAFIBFKBEAgByAAKwMAIhg5A6AIIAcgGDkDqAggByAYOQOYCCAHIBg5A5AIIAdBkAhqIQALIAIgDmohAUQAAAAAAAAAACEYQQAhAgJ/IAVBA0oEQANAIBggBCACQQN0IgZqKwMAIAEgBmorAwAgACsDAKGiIAQgBkEIciIMaisDACABIAxqKwMAIAArAwihoqAgBCAGQRByIgxqKwMAIAEgDGorAwAgACsDEKGioCAEIAZBGHIiBmorAwAgASAGaisDACAAKwMYoaKgoCEYIAAgEGohACACQQRqIgIgC0wNAAsgFiECCyACIAVICwRAA0AgGCAEIAJBA3QiBmorAwAgASAGaisDACAAKwMAoaKgIRggAEEIaiEAIAJBAWoiAiAFRw0ACwsgCSAIQQN0aiAYIAOiOQMAIAhBAWoiCCAKRw0ACyAJIBJBA3RqIQkgD0EBaiIPIApHDQALCyAEIBRGDQAgBBCiGwsgB0GwCGokAAvMAQIDfwF8An8gAkEETgRAIAJBBGshBQNAIAYgACADai0AALggASADai0AALiiIAAgA0EBciIEai0AALggASAEai0AALiioCAAIANBAnIiBGotAAC4IAEgBGotAAC4oqAgACADQQNyIgRqLQAAuCABIARqLQAAuKKgoCEGIANBBGoiAyAFTA0ACyACQXxxIQMLIAIgA0oLBEADQCAGIAAgA2otAAC4IAEgA2otAAC4oqAhBiADQQFqIgMgAkcNAAsLIAZEAAAAAAAAAACgC8wBAgN/AXwCfyACQQROBEAgAkEEayEFA0AgBiAAIANqLAAAtyABIANqLAAAt6IgACADQQFyIgRqLAAAtyABIARqLAAAt6KgIAAgA0ECciIEaiwAALcgASAEaiwAALeioCAAIANBA3IiBGosAAC3IAEgBGosAAC3oqCgIQYgA0EEaiIDIAVMDQALIAJBfHEhAwsgAiADSgsEQANAIAYgACADaiwAALcgASADaiwAALeioCEGIANBAWoiAyACRw0ACwsgBkQAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai8BALggASAEai8BALiiIAAgBEECciIFai8BALggASAFai8BALiioCAAIARBBHIiBWovAQC4IAEgBWovAQC4oqAgACAEQQZyIgRqLwEAuCABIARqLwEAuKKgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai8BALggASAEai8BALiioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeiIAAgBEECciIFai4BALcgASAFai4BALeioCAAIARBBHIiBWouAQC3IAEgBWouAQC3oqAgACAEQQZyIgRqLgEAtyABIARqLgEAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKALzAECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeiIAAgBEEEciIFaigCALcgASAFaigCALeioCAAIARBCHIiBWooAgC3IAEgBWooAgC3oqAgACAEQQxyIgRqKAIAtyABIARqKAIAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeioCEHIANBAWoiAyACRw0ACwsgBwvWAQIEfwF8An8gAkEETgRAIAJBBGshBgNAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6IgACAEQQRyIgVqKgIAuyABIAVqKgIAu6KgIAAgBEEIciIFaioCALsgASAFaioCALuioCAAIARBDHIiBGoqAgC7IAEgBGoqAgC7oqCgIQcgA0EEaiIDIAZMDQALIAJBfHEhAwsgAiADSgsEQANAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6KgIQcgA0EBaiIDIAJHDQALCyAHRAAAAAAAAAAAoAvqCgEEfyMAQdACayIHJAACQCAAEMwHQYCABEYEQCAHQZgCaiAAKAIEEK0GGgwBCyAHQZgCaiAAEMkHCwJAIAEQzAdBgIAERgRAIAdB4AFqIAEoAgQQrQYaDAEL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QQJ0akEANgIAIAFBAWoiASAAKAI0SA0ACwsgCyAAKAJcIgFHBEAgARDuAwsgAEH4AGohAQJAIAAoAowBIghFDQAgCCAIKAIMIglBAWs2AgwgCUEBRw0AIAAoAowBIglFDQAgAEEANgKMAQJAIAkoAgQiCA0AIAAoAogBIggNABCgBiEICyAIIAkgCCgCACgCGBECAAsgAEEANgKMASABQgA3AgggAUIANwIAIAAoAmxBAU4EQCAAKAKQASEIQQAhAQNAIAggAUECdGpBADYCACABQQFqIgEgACgCbEgNAAsLIAAoApQBIgEgBUYNACABEO4DCyAAQaACaiQADwtBqX4gAEHoAGpBvoMCEIkDQYGEAkHggwJBwAAQmAoAC9cHAQR/IwBBoAJrIgAkAAJAAkAgAUUNACACRQ0AIAIoAhAhCiABKAIQIQsgA0EBTgRAIANBAmshDUEAIQEDQCAEIAFBAnQiAmooAgAiCUF/TA0DIAlFDQIgBQRAQQEhDCALIAEgDUwEfyACIAZqKAIABSAMCyACIAVqKAIAbGohCwsgBwRAQQEhDCAKIAEgDUwEfyACIAhqKAIABSAMCyACIAdqKAIAbGohCgsgAEGgAWogAmogCTYCACABQQFqIgEgA0cNAAsLIABB/ABqIgFCADcCACAAQgA3AnRBACECIABBADYCjAEgAEIANwKEASAAQZgBaiIFQgA3AwAgASALNgIAIABCADcCbCAAQYCA/JcENgJoIAAgBTYClAEgACAAQfAAajYCkAEgACALNgJ4IABB6ABqIAMgAEGgAWogBkEBEJ4GIABB6ABqEJ8GIABBxABqIgFCADcCACAAQgA3AjwgAEEANgJUIABCADcCTCAAQeAAaiIHQgA3AwAgASAKNgIAIABCADcCNCAAIAc2AlwgACAAQThqNgJYIABBgID8lwQ2AjAgACAKNgJAIABBMGogAyAAQaABaiAIQQEQngYgAEEwahCfBiAAIABBMGo2AiwgACAAQegAajYCKCAAIABBKGogAEEgakECEKwHIgEoAhAEQCABKAIUIQkDQCAAKAIkIAAoAiAgCRCuGxogARCtByACQQFqIgIgASgCEEkNAAsLIABBQGshAQJAIAAoAlQiAkUNACACIAIoAgwiCUEBazYCDCAJQQFHDQAgACgCVCIJRQ0AIABBADYCVAJAIAko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BCAFKQOQAzcDsAEgBCAFKwOgAzkDwAEgBCAKKwMAOQPIASAEIAsrAwA5A9ABIAQgDCsDADkD2AEgCBCxBhogBxCxBhogBhCxBhogAxCxBhogAhCxBhogARCxBhogABCxBhoLIAVBwANqJAALgwcDDX8BfgJ8IwBBwANrIgQkAAJAIAAgASAAKAIAKAIIEQMABEAgASkDACERIARBqAFqEKcGIQAgBEHwAGoQpwYhBSAEQThqEKcGIQYgASsDsAEhEiABKwO4ASETIAQgETcD4AEgBEHoAWogABCtBiEHIARBoAJqIAUQrQYhCCAEQdgCaiAGEK0GIQkgBEGYA2oiCiATOQMAIAQgEjkDkAMgBCABKwPAATkDoAMgBEGoA2oiCyABKwPIATkDACAEQbADaiIMIAErA9ABOQMAIARBuANqIg0gASsD2AE5AwAgAyAEKQPgATcDACADQQhqIg4gBxC5BhogA0FAayIPIAgQuQYaIANB+ABqIhAgCRC5BhogAyAKKQMANwO4ASADIAQpA5ADNwOwASADIAQrA6ADOQPAASADIAsrAwA5A8gBIAMgDCsDADkD0AEgAyANKwMAOQPYASAJELEGGiAIELEGGiAHELEGGiAGELEGGiAFELEGGiAAELEGGiABKAIYBEAgBEHgAWogAUEIaiACEL4GIA4gBEHgAWoQuQYaIARB4AFqELEGGgsgASgCUARAIARB4AFqIAFBQGsgAhC+BiAPIARB4AFqELkGGiAEQeABahCxBhoLIAEoAogBRQ0BIARB4AFqIAFB+ABqIAIQvgYgECAEQeABahC5BhogBEHgAWoQsQYaDAELIARBqAFqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgBEHwAGogACACEL4GIARBOGoQpwYhASAEEKcGIQIgBEEANgLkASAEQeTOCjYC4AEgBEHoAWogBEHwAGoQrQYhBSAEQaACaiABEK0GIQYgBEHYAmogAhCtBiEHIARBmANqIghCgICAgICAgPg/NwMAIARBqANqIglCADcDACAEQbADaiIKQgA3AwAgBEG4A2oiC0IANwMAIARCADcDoAMgBEKAgICAgICA+D83A5ADIAMgBCkD4AE3AwAgA0EIaiAFELkGGiADQUBrIAYQuQYaIANB+ABqIAcQuQYaIAMgCCkDADcDuAEgAyAEKQOQAzcDsAEgAyAEKwOgAzkDwAEgAyAJKwMAOQPIASADIAorAwA5A9ABIAMgCysDADkD2AEgBxCxBhogBhCxBhogBRCxBhogAhCxBhogARCxBhogBEHwAGoQsQYaIAAQsQYaCyAEQcADaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAgAEIANwNYIAAgAzYCVCAAQYCAhAg2AlAgACACNgJEIABBgICEkHw2AkAgAEIANwNIIABB4ABqIABB0ABqIABBQGtB1NYKENsFIAMQsQYaIABB8ABqJAALnwEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0HU1goQ3QUgAxCxBhogAEHwAGokAAvjAQECfyMAQbABayIAJAAgABCnBiEDIAEoAgAiBCABIANBfyAEKAIAKAIMEQYAIABCADcDqAEgACACNgKkASAAQYCAhAg2AqABIABCADcDmAEgACADNgKUASAAQYCAhAg2ApABIABByABqEKcGIQEgAEIANwOIASAAIAE2AoQBIABBgICECDYCgAEgACACNgI8IABBgICEEDYCOCAAQgA3A0AgAEGgAWogAEGQAWpEAAAAAAAA8D8gAEGAAWpEAAAAAAAAAAAgAEE4akEAEIIGIAEQsQYaIAMQsQYaIABBsAFqJAALpAEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0QAAAAAAADwPxDgBSADELEGGiAAQfAAaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAg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IAAQrQYhBiAEQagCaiACEK0GIQcgBEGIA2oiCCAPOQMAIARBgANqIgkgDDkDACAEQfgCaiIKIA05AwAgBEHoAmoiCyAROQMAIAQgDjkD8AIgBCAQOQPgAiADIAQpA7ABNwMAIANBCGogARC5BhogA0FAayAGELkGGiADQfgAaiAHELkGGiADIAspAwA3A7gBIAMgBCkD4AI3A7ABIAMgBCsD8AI5A8ABIAMgCisDADkDyAEgAyAJKwMAOQPQASADIAgrAwA5A9gBIAcQsQYaIAYQsQYaIAEQsQYaIAIQsQYaIAAQsQYaIAUQsQYaDAELIAUgASACIAMgBSgCACgCPBEGAAsgBEGQA2okAAv0AgEJfyMAQZADayIAJAAgAEFAaxCnBiEFIAIoAgAiBCACIAVBfyAEKAIAKAIMEQYAIABBCGoQpwYhAiAAQfgAahCnBiEEIABBADYCtAEgAEHozgo2ArABIABBuAFqIAUQrQYhBiAAQfABaiACEK0GIQcgAEGoAmogBBCtBiEIIABB6AJqIglCADcDACAAQoCAgICAgID4v383A+ACIAAgASsDADkD8AIgAEH4AmoiCiABKwMIOQMAIABBgANqIgsgASsDEDkDACAAQYgDaiIMIAErAxg5AwAgAyAAKQOwATcDACADQQhqIAYQuQYaIANBQGsgBxC5BhogA0H4AGogCBC5BhogAyAJKQMANwO4ASADIAApA+ACNwOwASADIAArA/ACOQPAASADIAorAwA5A8gBIAMgCysDADkD0AEgAyAMKwMAOQPYASAIELEGGiAHELEGGiAGELEGGiAEELEGGiACELEGGiAFELEGGiAAQZADaiQAC6oKAgh/AXwjAEGQA2siBSQAAkAgACACKAIAIgZGBEAgBUFAaxCnBiEAIAVBCGoQpwYhBgJAAkACQAJAIAEoAgAiB0HszgpHDQAgASgCBEEvRw0AIAEoAlAEQCABKwO4AUQAAAAAAAAAAGINAgsCQAJAIAIoAgAiB0HozgpHDQAgAigCUARAIAIrA7gBRAAAAAAAAAAAYg0BCyACKwPAAUQAAAAAAAAAAGINACACKwPIAUQAAAAAAAAAAGINACACKwPQAUQAAAAAAAAAAGINACACKwPYAUQAAAAAAAAAAGINACACKwOwASENIAYgAkEIahCzBiANIASiIQQMAQsgByAC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ADkD0AEgAyALKwMAOQPYASAHELEGGiAFELEGGiABELEGGiACELEGGiAAELEGGiAGELEGGgwBCyAGIAEgAiADIAYoAgAoAlwRBgALIARBkANqJAALRQECfyMAQUBqIgQkACAEQQhqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgAyACIAAQ+gYgABCxBhogBEFAayQAC7wCAQl/IwBB0AJrIgMkACADQThqEKcGIQQgAxCnBiEFIAMgATYCdCADQfTOCjYCcCADQfgAaiACEK0GIQIgA0GwAWogBBCtBiEBIANB6AFqIAUQrQYhBiADQagCaiIHQgA3AwAgA0GwAmoiCEIANwMAIANBuAJqIglCADcDACADQcACaiIKQgA3AwAgA0HIAmoiC0IANwMAIANCgICAgICAgPg/NwOgAiAAIAMpA3A3AwAgAEEIaiACELkGGiAAQUBrIAEQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACADKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiABELEGGiACELEGGiAFELEGGiAEELEGGiADQdACaiQACzsAIAACfyACQTBqIAJBCGoQtwZFDQAaIAJB6ABqIAJBQGsQtwYNABogAkGgAWoLKAIAKQIAQiCJNwIACy8AAkAgAUEIaiIAELcGRQ0AIAFBQGsiABC3Bg0AIAFB+ABqIQALIAAoAgBB/x9xC8QDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB6M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPi/fzcDACADQYgCaiIPQgA3AwAgA0GQAmoiEEIANwMAIANBmAJqIhFCADcDACADQgA3A4ACIANCgICAgICAgPg/NwPwASAAIAMpA0A3AwAgBiABELkGGiAHIAIQuQYaIAggBRC5BhogDSAOKQMANwMAIAAgAykD8AE3A7ABIAwgAysDgAI5AwAgCyAPKwMAOQMAIAogECsDADkDACAJIBErAwA5AwAgBRCxBhogAhCxBhogARCxBhogBBCxBhogA0GgAmokAAvCAwESfyMAQdACayICJAAgARC3BgRAQXsgAkHwAGpB2qkCEIkDQcepAkHqnQJBGBCYCgALIABCADcDACAAQQhqEKcGIQcgAEFAaxCnBiEIIABB+ABqEKcGIQkgAEHYAWoiCkIANwMAIABB0AFqIgtCADcDACAAQcgBaiIMQgA3AwAgAEHAAWoiDUIANwMAIABBuAFqIg5CADcDACAAQgA3A7ABIAIQpwYhAyACQThqEKcGIQQgAkEANgJ0IAJB6M4KNgJwIAJB+ABqIAEQrQYhASACQbABaiADEK0GIQUgAkHoAWogBBCtBiEGIAJBqAJqIg9CADcDACACQbACaiIQQgA3AwAgAkG4AmoiEUIANwMAIAJBwAJqIhJCADcDACACQcgCaiITQgA3AwAgAkKAgICAgICA+L9/NwOgAiAAIAIpA3A3AwAgByABELkGGiAIIAUQuQYaIAkgBhC5BhogDiAPKQMANwMAIAAgAikDoAI3A7ABIA0gECsDADkDACAMIBErAwA5AwAgCyASKwMAOQMAIAogEysDADkDACAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC8MDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB8M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPg/NwMAIANBiAJqIg9CADcDACADQZACaiIQQgA3AwAgA0GYAmoiEUIANwMAIANCADcDgAIgA0KAgICAgICA+D83A/ABIAAgAykDQDcDACAGIAEQuQYaIAcgAhC5BhogCCAFELkGGiANIA4pAwA3AwAgACADKQPwATcDsAEgDCADKwOAAjkDACALIA8rAwA5AwAgCiAQKwMAOQMAIAkgESsDADkDACAFELEGGiACELEGGiABELEGGiAEELEGGiADQaACaiQAC7kDARJ/IwBB0AJrIgMkACABELcGBEBBeyADQfAAakHaqQIQiQNBx6kCQeqdAkEYEJgKAAsgAEIANwMAIABBCGoQpwYhCCAAQUBrEKcGIQkgAEH4AGoQpwYhCiAAQdgBaiILQgA3AwAgAEHQAWoiDEIANwMAIABByAFqIg1CADcDACAAQcABaiIOQgA3AwAgAEG4AWoiD0IANwMAIABCADcDsAEgAxCnBiEEIANBOGoQpwYhBSADQQA2AnQgA0Hozgo2AnAgA0H4AGogARCtBiEBIANBsAFqIAQQrQYhBiADQegBaiAFEK0GIQcgA0GoAmoiEEIANwMAIANBsAJqIhFCADcDACADQbgCaiISQgA3AwAgA0HAAmoiE0IANwMAIANByAJqIhRCADcDACADIAI5A6ACIAAgAykDcDcDACAIIAEQuQYaIAkgBhC5BhogCiAHELkGGiAPIBApAwA3AwAgACADKQOgAjcDsAEgDiARKwMAOQMAIA0gEisDADkDACAMIBMrAwA5AwAgCyAUKwMAOQMAIAcQsQYaIAYQsQYaIAEQsQYaIAUQsQYaIAQQsQYaIANB0AJqJAAL/gEBBH8jAEHgAWsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgASgCACEEIANBADYCBCADQeTOCjYCACADQQhqIAIQrQYhAiADQUBrEKcGIQUgA0H4AGoQpwYhBiADQgA3A8ABIANCADcDyAEgA0IANwPQASADQgA3A9gBIANCADcDuAEgA0KAgICAgICA+D83A7ABIAQgASADIAAgBCgCACgCXBEGACAGELEGGiAFELEGGiACELEGGiADQeABaiQAC58CAQR/IwBB4AFrIgMkACABELcGBEBBeyADQdqpAhCJA0HHqQJB6p0CQRgQmAoACyAAQgA3AwAgAEEIahCnBhogAEFAaxCnBhogAEH4AGoQpwYaIABCADcD2AEgAEIANwPQASAAQgA3A8gBIABCADcDwAEgAEIANwO4ASAAQgA3A7ABIAIoAgAhBCADQQA2AgQgA0Hkzgo2AgAgA0EIaiABEK0GIQEgA0FAaxCnBiEFIANB+ABqEKcGIQYgA0IANwPAASADQgA3A8gBIANCADcD0AEgA0IANwPYASADQgA3A7gBIANCgICAgICAgPg/NwOwASAEIAMgAiAAIAQoAgAoAlwRBgAgBhCxBhogBRCxBhogARCxBhogA0HgAWokAAvFAgEJfyMAQdACayIDJAAgA0E4ahCnBiEEIAMQpwYhBSADQeEANgJ0IANB7M4KNgJwIANB+ABqIAEQrQYhASADQbABaiAEEK0GIQYgA0HoAWogBRCtBiEHIANBqAJqIghCADcDACADQoCAgICAgID4PzcDoAIgAyACKwMAOQOwAiADQbgCaiIJIAIrAwg5AwAgA0HAAmoiCiACKwMQOQMAIANByAJqIgsgAisDGDkDACAAIAMpA3A3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACADKQOgAjcDsAEgACADKwOwAjkDwAEgACAJKwMAOQPIASAAIAorAwA5A9ABIAAgCysDADkD2AEgBxCxBhogBhCxBhogARCxBhogBRCxBhogBBCxBhogA0HQAmokAAueAQEBfyMAQRBrIgAkAAJAAkACQCADQX9HBEAgASgCCCIEQf8fcSADRw0BCyACIAFBCGoQswYMAQsgAyAEc0H4H3ENASAAIAI2AgQgAEGAgIQQNgIAIABCADcDCCABQQhqIAAgA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgAEEQaiQADwtBqX4gAEHAnQIQiQNB450CQeqdAkGBChCYCgAL5hQCB38DfCMAQfABayIEJAAgBEG4AWoQpwYhCQJ/IANBf0cEQCAJIAEoAghB/x9xIANHDQEaCyACCyEAIAFBwAFqIQUCQAJAIAEoAlAEQCABQUBrIQMgASsDyAEhCwJAAkACQAJAIAErA8ABRAAAAAAAAAAAYg0AIAtEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQIgC0QAAAAAAAAAAGENAQwCCyALRAAAAAAAAAAAYg0BCyABKwPQAUQAAAAAAAAAAGINACABKwPYAUQAAAAAAAAAAGENAQsgASsDuAEhCwJAIAErA7ABIgxEAAAAAAAA8D9hBEAgC0QAAAAAAADwP2EEQCAEQgA3AxAgBEGAgIQINgIIIAQgAUEIajYCDCAEQgA3A7ABIAQgAzYCrAEgBEGAgIQINgKoASAEIAA2ApwBIARBgICEEDYCmAEgBEIANwOgASAEQQhqIARBqAFqIARBmAFqQdTWChDbBQwCCyALRAAAAAAAAPC/YQRAIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogBEGoAWogBEGYAWpB1NYKEN0FDAILIARCADcDECAEIAM2AgwgBEGAgIQINgIIIARCADcDsAEgBCABQQhqNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogCyAEQagBaiAEQZgBahCDBgwBCyALRAAAAAAAAPA/YQRAIAxEAAAAAAAA8L9hBEAgBEIANwMQIAQgAzYCDCAEQYCAhAg2AgggBEIANwOwASAEIAFBCGo2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAEQagBaiAEQZgBakHU1goQ3QUMAgsgBEIANwMQIARBgICECDYCCCAEIAFBCGo2AgwgBEIANwOwASAEIAM2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAMIARBqAFqIARBmAFqEIMGDAELIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogDCAEQagBaiALRAAAAAAAAAAAIARBmAFqQX8Q4gULAkAgASsDyAFEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQMLIARCADcDECAEIAA2AgwgBEGAgIQINgIIIARCgYCAgMAANwOwASAEIAU2AqwBIARBhoCI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ASADIAErA8ABOQPAASADIAErA8gBOQPIASADIAErA9ABOQPQASADIAErA9gBOQPYASADIAMrA7ABIAKiOQOwAQ8LIAMgASACIAMQ8gYL+wICCX8BfCMAQdACayIAJAACQAJAIAIoAgRBL0cNACACKAJQBEAgAisDuAFEAAAAAAAAAABiDQELIAAQpwYhBCACKwOwASENIABBOGoQpwYhBSAAQQA2AnQgAEHozgo2AnAgAEH4AGogAkEIahCtBiECIABBsAFqIAQQrQYhBiAAQegBaiAFEK0GIQcgAEGoAmoiCEIANwMAIABBsAJqIglCADcDACAAQbgCaiIKQgA3AwAgAEHAAmoiC0IANwMAIABByAJqIgxCADcDACAAIAEgDaM5A6ACIAMgACkDcDcDACADQQhqIAIQuQYaIANBQGsgBhC5BhogA0H4AGogBxC5BhogAyAIKQMANwO4ASADIAApA6ACNwOwASADIAkrAwA5A8ABIAMgCisDADkDyAEgAyALKwMAOQPQASADIAwrAwA5A9gBIAcQsQYaIAYQsQYaIAIQsQYaIAUQsQYaIAQQsQYaDAELIAAgASACIAMQ9AYLIABB0AJqJAAL2wECAn8BfCMAQeAAayIEJAAgBEEoahCnBiEFAn8gA0F/RwRAIAUgASgCCEH/H3EgA0cNARoLIAILIQAgBEIANwMgIARBgICECDYCGCAEIAFBCGo2AhwgBEGAgIQQNgIIIARCADcDECAEIAA2AgwgBEEYaiAEQQhqELQHIAAoAhAgAigCEEZBACABKwOwASIGRAAAAAAAAPA/YRtFBEAgBCACNgIcIARBgICEEDYCGCAEQgA3AyAgACAEQRhqIAMgBkQAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAQAgAyABKQMANwMAIANBCGogAUEIahCzBiADQUBrIAFBQGsQswYgA0H4AGogAUH4AGoQswYgAyABKQO4ATcDuAEgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEL5AICCX8BfCMAQdACayIAJAAgAUEIaiEDAkAgASsDsAFEAAAAAAAA8D9hBEAgAiADEJIHDAELIAAQpwYhBCABKwOwASEMIABBOGoQpwYhASAAQQA2AnQgAEHozgo2AnAgAEH4AGogAxCtBiEDIABBsAFqIAQQrQYhBSAAQegBaiABEK0GIQYgAEGoAmoiB0IANwMAIABBsAJqIghCADcDACAAQbgCaiIJQgA3AwAgAEHAAmoiCkIANwMAIABByAJqIgtCADcDACAAIAw5A6ACIAIgACkDcDcDACACQQhqIAMQuQYaIAJBQGsgBRC5BhogAkH4AGogBhC5BhogAiAHKQMANwO4ASACIAApA6ACNwOwASACIAgrAwA5A8ABIAIgCSsDADkDyAEgAiAKKwMAOQPQASACIAsrAwA5A9gBIAYQsQYaIAUQsQYaIAMQsQYaIAEQsQYaIAQQsQYaCyAAQdACaiQAC7wCAQp/IwBB0AJrIgIkACACQThqEKcGIQMgAhCnBiEEIAJBADYCdCACQeTOCjYCcCACQfgAaiABEK0GIQEgAkGwAWogAxCtBiEFIAJB6AFqIAQQrQYhBiACQagCaiIHQgA3AwAgAkGwAmoiCEIANwMAIAJBuAJqIglCADcDACACQcACaiIKQgA3AwAgAkHIAmoiC0IANwMAIAJCgICAgICAgPg/NwOgAiAAIAIpA3A3AwAgAEEIaiABELkGGiAAQUBrIAUQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACACKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC6cCAgJ/AnwjAEGAAWsiBCQAIARByABqEKcGIQUCfyADQX9HBEAgBSABKAIIQf8fcSADRw0BGgsgAgshACAEQgA3A0AgBEGAgIQINgI4IAQgAUEIajYCPCAEQgA3AzAgBCABQUBrNgIsIARBgICECDYCKCABKwOwASEGIARCADcDICAEIAFB+ABqNgIcIARBgICECDYCGCABKwO4ASEHIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBOGogBEEoaiAGIARBGGogByAEQQhqIAEoAgQQggYgACgCECACKAIQRwRAIAQgAjYCPCAEQYCAhBA2AjggBEIANwNAIAAgBEE4aiADRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyAFELEGGiAEQYABaiQAC4kIAgV/AnwjAEHgAWsiBCQARAAAAAAAAPA/IAIrA7ABIAIoAgAiBUHkzgpGGyEJRAAAAAAAAPA/IAErA7ABIAEoAgAiBkHkzgpGGyEKAkACQAJAIAZB8M4KRw0AIAEoAogBBEAgASsDuAFEAAAAAAAAAABiDQELAkAgBUHkzgpGDQAgBUHozgpGBEAgAigCUARAIAIrA7gBRAAAAAAAAAAAYg0ECyACKwPAAUQAAAAAAAAAAGINAyACKwPIAUQAAAAAAAAAAGINAyACKwPQAUQAAAAAAAAAAGINAyACKwPYAUQAAAAAAAAAAGENAQwDCyAFQfjOCkcNAQsgASgCBCEGIARB8M4KNgIAIAQgBkF7cSAFQfjOCkZBAnRyNgIEIARBCGogAUEIahCtBiEFIARBQGsgAUFAaxCtBiEBIARB+ABqIAJBCGoQrQYhAiAEQbgBaiIGIAk5AwAgBEHIAWoiAEIANwMAIARB0AFqIgdCADcDACAEQdgBaiIIQgA3AwAgBEIANwPAASAEIAo5A7ABIAMgBCkDADcDACADQQhqIAUQuQYaIANBQGsgARC5BhogA0H4AGogAhC5BhogAyAGKQMANwO4ASADIAQpA7ABNwOwASADIAQrA8ABOQPAASADIAArAwA5A8gBIAMgBysDADkD0AEgAyAIKwMAOQPYASACELEGGiABELEGGiAFELEGGgwCCyAFQfDOCkcNACACKAKIAQRAIAIrA7gBRAAAAAAAAAAAYg0BCwJAIAZB5M4KRg0AIAZB6M4KRgRAIAEoAlAEQCABKwO4AUQAAAAAAAAAAGINAwsgASsDwAFEAAAAAAAAAABiDQIgASsDyAFEAAAAAAAAAABiDQIgASsD0AFEAAAAAAAAAABiDQIgASsD2AFEAAAAAAAAAABhDQEMAgsgBkH4zgpHDQELIAIoAgQhBSAEQfDOCjYCACAEIAVBe3EgBkH4zgpGQQJ0cjYCBCAEQQhqIAJBCGoQrQYhBSAEQUBrIAJBQGsQrQYhAiAEQfgAaiABQQhqEK0GIQEgBEG4AWoiBiAKOQMAIARByAFqIgBCADcDACAEQdABaiIHQgA3AwAgBEHYAWoiCEIANwMAIARCADcDwAEgBCAJOQOwASADIAQpAwA3AwAgA0EIaiAFELkGGiADQUBrIAIQuQYaIANB+ABqIAEQuQYaIAMgBikDADcDuAEgAyAEKQOwATcDsAEgAyAEKwPAATkDwAEgAyAAKwMAOQPIASADIAcrAwA5A9ABIAMgCCsDADkD2AEgARCxBhogAhCxBhogBRCxBhoMAQsgACAFRgRAIAUgASACIAMQ7QYMAQsgBSABIAIgAyAFKAIAKAI0EQYACyAEQeABaiQAC4sIAgV/AnwjAEHgAWsiBCQARAAAAAAAAPA/IAIrA7ABIAIoAgAiBUHkzgpGGyEJRAAAAAAAAPA/IAErA7ABIAEoAgAiBkHkzgpGGyEKAkACQAJAIAZB8M4KRw0AIAEoAogBBEAgASsDuAFEAAAAAAAAAABiDQELAkAgBUHkzgpGDQAgBUHozgpGBEAgAigCUARAIAIrA7gBRAAAAAAAAAAAYg0ECyACKwPAAUQAAAAAAAAAAGINAyACKwPIAUQAAAAAAAAAAGINAyACKwPQAUQAAAAAAAAAAGINAyACKwPYAUQAAAAAAAAAAGENAQwDCyAFQfjOCkcNAQsgASgCBCEGIARB8M4KNgIAIAQgBkF7cSAFQfjOCkZBAnRyNgIEIARBCGogAUEIahCtBiEFIARBQGsgAUFAaxCtBiEBIARB+ABqIAJBCGoQrQYhAiAEQbgBaiIGIAmaOQMAIARByAFqIgBCADcDACAEQdABaiIHQgA3AwAgBEHYAWoiCEIANwMAIARCADcDwAEgBCAKOQOwASADIAQpAwA3AwAgA0EIaiAFELkGGiADQUBrIAEQuQYaIANB+ABqIAIQuQYaIAMgBikDADcDuAEgAyAEKQOwATcDsAEgAyAEKwPAATkDwAEgAyAAKwMAOQPIASADIAcrAwA5A9ABIAMgCCsDADkD2AEgAhCxBhogARCxBhogBRCxBhoMAgsgBUHwzgpHDQAgAigCiAEEQCACKwO4AUQAAAAAAAAAAGINAQsCQCAGQeTOCkYNACAGQejOCkYEQCABKAJQBEAgASsDuAFEAAAAAAAAAABiDQMLIAErA8ABRAAAAAAAAAAAYg0CIAErA8gBRAAAAAAAAAAAYg0CIAErA9ABRAAAAAAAAAAAYg0CIAErA9gBRAAAAAAAAAAAYQ0BDAILIAZB+M4KRw0BCyACKAIEIQUgBEHwzgo2AgAgBCAFQXtxIAZB+M4KRkECdHI2AgQgBEEIaiACQQhqEK0GIQUgBEFAayACQUBrEK0GIQIgBEH4AGogAUEIahCtBiEBIARBuAFqIgYgCjkDACAEQcgBaiIAQgA3AwAgBEHQAWoiB0IANwMAIARB2AFqIghCADcDACAEQgA3A8ABIAQgCZo5A7ABIAMgBCkDADcDACADQQhqIAUQuQYaIANBQGsgAhC5BhogA0H4AGogARC5BhogAyAGKQMANwO4ASADIAQpA7ABNwOwASADIAQrA8ABOQPAASADIAArAwA5A8gBIAMgBysDADkD0AEgAyAIKwMAOQPYASABELEGGiACELEGGiAFELEGGgwBCyAAIAVGBEAgBSABIAIgAxDvBgwBCyAFIAEgAiADIAUoAgAoAjwRBgALIARB4AFqJAALngEAIAMgASkDADcDACADQQhqIAFBCGoQswYgA0FAayABQUBrELMGIANB+ABqIAFB+ABqELMGIANBuAFqIgAgASkDuAE3AwAgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEgACAAKwMAIAKiOQMAC64BAQF/IAIgASkDADcDACACQQhqIgAgAUEIahCzBiACQUBrIgMgAUFAaxCzBiACQfgAaiABQfgAahCzBiACIAEpA7gBNwO4ASACIAEpA7ABNwOwASACIAErA8ABOQPAASACIAErA8gBOQPIASACIAErA9ABOQPQASACIAErA9gBOQPYASACIAEoAgQiAUEBdEECcSABQQRxciABQQF2QQFxckEHczYCBCAAIAMQrgcLzwEBAn8jAEHgAGsiBCQAIARBKGoQpwYhBQJ/IANBf0cEQCAFIAEoAghB/x9xIANHDQEaCyACCyEAIARCADcDICAEQYCAhAg2AhggBCABQQhqNgIcIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBGGogBEEIaiABKAIEEKsEIAAoAhAgAigCEEcEQCAEIAI2AhwgBEGAgIQQNgIYIARCADcDICAAIARBGGogA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAwEGfyMAQaACayIEJAAgAigCACEFAkACQCABKAIAQfTOCkcNACAFQeTOCkcNACABKAIEIQAgBEEIahCnBiEFIAQgADYCRCAEQfzOCjYCQCAEQcgAaiAB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QdDWChCBGwtBzNYKKAIAIQYgBCACKQIAIg03AwggBCANNwOAASAEQYgBaiAEQQhqIANB7t27935BABCwBiECIARByABqEKcGIQMgBEEQahCnBiEFIAQgATYCxAEgBCAGNgLAASAEQcgBaiACEK0GIQEgBEGAAmogAxCtBiEGIARBuAJqIAUQrQYhByAEQfgCaiIIQgA3AwAgBEGAA2oiCUIANwMAIARBiANqIgpCADcDACAEQZADaiILQgA3AwAgBEGYA2oiDEIANwMAIAREAAAAAAAA8D85A/ACIAAgBCkDwAE3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACAEKQPwAjcDsAEgACAJKwMAOQPAASAAIAorAwA5A8gBIAAgCysDADkD0AEgACAMKwMAOQPYASAHELEGGiAGELEGGiABELEGGiAFELEGGiADELEGGiACELEGGiAEQaADaiQAC4cBAgF/AX4jAEEQayIDJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASADIAEpAgAiBDcDACADIAQ3AwggAEEwIAMgAhCgByADQRBqJAALigEBAX8jAEEQayIEJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASAEIAE2AgwgBCACNgIIIAQgBCkDCDcDACAAQTEgBCADEKAHIARBEGokAAuHAQIBfwF+IwBBEGsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgAyABKQIAIgQ3AwAgAyAENwMIIABBMSADIAIQoAcgA0EQaiQAC4sBAQF/IwBBEGsiBCQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgBCABNgIMIAQgAjYC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AAAAXhu7IRQMCAsgAygCqCEhAgJAAkAgB0EGaw4CAAECCyACIAQQhQq3IRQMCAtBACEBQQAgBEEESA0GGiAEQQRrIQVBACEAA0AgAiAAQQNyai0AAEHg0QJqLQAAIAIgAEECcmotAABB4NECai0AACACIABBAXJqLQAAQeDRAmotAAAgASAAIAJqLQAAQeDRAmotAABqampqIQEgAEEEaiIAIAVMDQALDAULIANB4CBqELcGRQRAIAMvAeAgQf8fcQ0CCyAFQQZGBEAgA0HgIGoQtwZFBEAgA0EIahCnBiEAIANCADcDoCAgA0GAgIQINgKYICADIANBmCFqNgKcICADQgA3A9ggIANBgICECDYC0CAgAyADQeAgajYC1CAgAyAANgLEICADQYCAhBA2AsAgIANCADcDyCAgA0GYIGogA0HQIGogA0HAIGpB1NYKENQFIANCADcDoCAgAyAANgKcICADQYCAhAg2ApggIANBmCBqIAdB1NYKEIcIIRQgABCxBhoMCAtBACEAIANBADYCnCAgAyADQZghajYCmCAgA0EANgLQICADQQhqIANBmCBqIANB0CBqQX8QrAciAigCEEUNB0EBQQIgB0EGRhshBCACKAIUIQVBACEBA0AgAygC0CAgBSAEEIUIIABqIQAgAhCtByABQQFqIgEgAigCEEkNAAsgALchFAwHCyAHQQR0QeAAcUEFIAogCkEHRhtBAnRyQdDbAmooAgAiDUUNAiADQQA2AtggIAMgA0HgIGo2AtQgIAMgA0GYIWo2AtAgIANCADcDwCAgA0IANwO4ICADQZggaiADQdAgaiADQcAgakF/EKwHIggoAhQiAUH/////B08NAwJAAkAgB0ECRiAKQQRJcUUEQCAFQQRGIApBAklxRQ0BCyADKAKcISIAQQFOBEAgAygCxCEgAEECdGpBBGsoAgAhDgsgA0EANgIIQYCAgARBgIACIApBAkkbQYCAAiAHQQJGGyAJbiELIAgoAhBFDQEgCyABIAEgC0obIQJBACEFA0AgDEEBaiEMIAFBAU4EQEEAIQQgAygCxCAhBiADKALAICEPA0AgDyAGIANBCGogAiABIARrIgAgACACShsiACAJIA0RCQAaAkAgCyAAIAVqIgUgAmpKBEAgACAEaiABSA0BIAwgCCgCEEkNAQsgAygCCCEGQQAhBSAD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DAELIAAoAgQhByAAKAIAIQggBSAAKAALNgALIAUgACgCCDYCCCAAQgA3AgQgAC0ADyEJIABBADYCDCAAKAIUIQogACgCECELIABCADcCECAAQQRqIQQgBgRAIAAgAigCADYCACAEIAIoAgw2AgggBCACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEDIAIoAhAhASACQgA3AhAgACABNgIQIAAoAhQhASAAIAM2AhQCQCABRQ0AIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAQAgARDQGgsgAiAINgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAc2AgQgAiAFKAIINgIIIAIgBSgACzYACyACIAs2AhAgAiAJOgAPIAIoAhQhASACIAo2AhQCQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgtBAQwCCyAAIAEoAgA2AgAgBCABKAIMNgIIIAQgASkCBDcCACABQQA6AA8gAUEAOgAEIAEoAhQhBiABKAIQIQQgAUIANwIQIAAgBDYCECAAKAIUIQQgACAGNgIUAkAgBEUNACAEIAQoAgQiAEEBazYCBCAADQAgBCAEKAIAKAIIEQEAIAQQ0BoLIAFBBGohBiABIAg2AgAgASwAD0F/TARAIAYoAgAQohsLIAEgBzYCBCABQQhqIgcgBSgCCDYCACABIAUoAAs2AAsgASALNgIQIAEgCToADyABKAIUIQAgASAKNgIUAkAgAEUNACAAIAAoAgQiBEEBazYCBCAEDQAgACAAKAIAKAIIEQEAIAAQ0BoLQQEgAiABIAMoAgARAwBFDQEaIAEoAgQhAyABKAIAIQQgBSAHKAIANgIIIAUgBygAAzYACyABLQAPIQcgBkIANwIAIAZBCGoiAEEANgIAIAEoAhQhCCABKAIQIQkgAUIANwIQIAEgAigCADYCACAAIAIoAgw2AgAgBiACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEGIAIoAhAhACACQgA3AhAgASAANgIQIAEoAhQhACABIAY2AhQCQCAARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABDQGgsgAiAENgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAM2AgQgAiAFKAIINgIIIAIgBSgACzYACyACIAk2AhAgAiAHOgAPIAIoAhQhASACIAg2AhQgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLQQILIQQgBUEQaiQAIAQLpAkBDH8jAEEgayIFJABBASEDAkACQAJAAkACQAJAIAEgAGtBGG0OBgUFAAECAwQLIAFBGGsiBCAAIAIoAgARAwBFDQQgACgCBCENIAAoAgAhByAFIAAoAAs2AAsgBSAAKAIINgIIIABCADcCBCAALQAPIQogAEEMaiIDQQA2AgAgAEEUaiIIKAIAIQsgACgCECEMIABCADcCECAAIAQoAgA2AgAgAyABQQxrKAIANgIAIAAgAUEUayIGKQIANwIEIAZBADoAACABQQlrQQA6AAAgAUEEayIJKAIAIQ4gAUEIayICKAIAIQMgAkIANwIAIAAgAzYCECAIKAIAIQMgCCAONgIAAkAgA0UNACADIAMoAgQiCEEBazYCBCAIDQAgAyADKAIAKAIIEQEAIAMQ0BoLIAQgBzYCACAGLAALQX9MBEAgBigCABCiGwsgAUEUayANNgIAIAFBEGsgBSgCCDYCACABQQ1rIAUoAAs2AAAgBCAKOgAPIAIgDDYCACAJKAIAIQMgCSALNgIAAkAgA0UNACADIAMoAgQiBEEBazYCBCAEDQAgAyADKAIAKAIIEQEAIAMQ0BoLQQEhAwwECyAAIABBGGogAUEYayACEOUIGgwDCyAAIABBGGogAEEwaiABQRhrIAIQ4ggaDAILIAAgAEEYaiAAQTBqIABByABqIAFBGGsgAhDjCBoMAQsgACAAQRhqIABBMGoiBiACEOUIGgJ/AkAgAEHIAGoiAyABRg0AIAVBCGpBBHIiC0EIaiEMA0ACQCADIgcgBiACKAIAEQMABEAgBSAHKAIANgIIIAwgB0EMaiIDKAIANgIAIAsgBykCBDcCACAHQgA3AgQgA0EANgIAIAUgBygCEDYCGCAFIAcoAhQ2AhwgB0IANwIQIAchBAJ/A0AgBCAGIgMoAgA2AgAgA0EEaiEIIARBBGohBiAELAAPQX9MBEAgBigCABCiGwsgBiAIKQIANwIAIAYgCEEIaiINKAIANgIIIANBADoABCADQQA6AA8gAygCFCEGIAMoAhAhCSADQgA3AhAgBCAJNgIQIARBFGoiCSgCACEEIAkgBjYCAAJAIARFDQAgBCAEKAIEIgZBAWs2AgQgBg0AIAQgBCgCACgCCBEBACAEENAaCyAAIAAgA0YNARogAyEEIAVBCGogA0EYayIGIAIoAgARAwANAAsgAwsiBCAFKAIINgIAIAMsAA9Bf0wEQCAIKAIAEKIbCyAIIAspAgA3AgAgDSAMKAIANgIAIAVBADoADCAFQQA6ABcgBSgCHCEGIAUoAhghAyAFQgA3AxggBCADNgIQIAQoAhQhAyAEIAY2AhQCQCADRQ0AIAMgAygCBCIEQQFrNgIEIAQNACADIAMoAgAoAggRAQAgAxDQGgsCQCAFKAIcIgNFDQAgAyADKAIEIgRBAWs2AgQgBA0AIAMgAygCACgCCBEBACADENAaCyAKQQFqIQogBSwAF0F/TARAIAUoAgwQohsLIApBCEYNAQsgByEGIAEgB0EYaiIDRw0BDAILCyAHQRhqIAFGIQRBAAwBC0EBCyAEciEDCyAFQSBqJAAgA0EBcQtlAQR/IAFBADoAFyAAIABBH3UiAmogAnMhAiABQRdqIQEDQCABIgNBAWsiASACQQpuIgRBdmwgAmpBMGo6AAAgAkEJSyEFIAQhAiAFDQALIABBf0wEQCADQQJrIgFBLToAAAsgAQufAgIDfwF+IwBBMGsiBCQAAkAgAb0iBkIgiKciA0GAgMD/B3FBgIDA/wdHBEAgASABEIIVIgO3YQRAIAIEQCAEIAM2AgAgAEGq5gIgBBCpFQwDCyAEIAM2AhAgAEGv5gIgBEEQahCpFQwCCyAEIAE5AyAgAEGz5gIgBEEgahCqFSAAIQMCQAJAIAAtAABBK2sOAwABAAELIABBAWohAwsDQCADIgJBAWohAyACLQAAIgVBMGtB/wFxQQpJDQALIAVBLEcNASACQS46AAAMAQsgA0H/////B3EgBqdBAEdqQYGAwP8HTwRAIABBveYCLQAAOgAEIABBueYCKAAANgAADAELIABBvuYCQcTmAiADQQBIGxD+FAsgBEEwaiQAIAALvQMBCH8jAEEQayIDJAACQAJAAkACQCAARQ0AIAAQuBsiCEUNACABRQ0BIAFBADYCACAIQQFOBEAgAEF/cyEJA0ACQCAAIAVqIgQtAAAiBkEwayICQf8BcUEJTQRAIAQtAAFBMGtB/wFxQQlNBEAgA0EANgIAIAQgA0EKEM0VIQIgAygCACAJaiEFCyACQQBKDQFBeyADQZrnAhCJA0Hn5gJB9OYCQcUBEJgKAAtBOCEEIAZB8gBHBEBB+P8CIAZBGHRBGHVBCRD6FCICRQ0GIAJB+P8CayEECyABIAdBAnRqIgIoAgAiBkUEQCACQQE2AgBBASEGCyACIAQ2AgQCQCAHQQFIDQAgBCACQQRrKAIARw0AIAJBCGsiAiACKAIAIAZqNgIAQQAhAgwBC0EAIQIgB0ECaiIHQYACTg0GCyABIAdBAnRqIAI2AgAgBUEBaiIFIAhIDQALCyAHQQJtIQULIANBEGokACAFDwtBqX4gA0HJ5gIQiQNB5+YCQfTmAkGyARCYCgALQXsgA0Ga5wIQiQNBgYADQfTmAkGeARCYCgALQXsgA0G65wIQiQNB5+YCQfTmAkHVARCYCgAL4wMBBH8gAEEANgIUIABBADYCcCAAQQA2AtABIABBADsBMCAAQQA2AiwgAEIANwI0IABCADcCJCAAQgA3AhwgAEEBOgAYIABBADYCvAIgAEIANwK0AiAAIAAoAmQ2AmggAEIANwI8IABCgICAgPAINwJEIAAgACgCqAI2AqwCIAAgACgC1AE2AtgBIAAoAuQBIgEgACgC4AEiA0cEQANAIAEiAkEIayEBAkAgAkEEaygCACICRQ0AIAIgAigCBCIEQQFrNgIEIAQNACACIAIoAgAoAggRAQAgAhDQGgsgASADRw0ACwsgACADNgLkASAAQQA2AoQCIAAgACgC7AE2AvABIAAgACgC+AE2AvwBIAAoApQCBEAgACgCkAIiAQRAA0AgASgCACECIAEsABNBf0wEQCABKAIIEKIbCyABEKIbIAIhASACDQALCyAAQQA2ApACIAAoAowCIgIEQEEAIQEDQCAAKAKIAiABQQJ0akEANgIAIAFBAWoiASACRw0ACwsgAEEANgKUAgsgACAAKAKcAjYCoAIgAEGcAmpBARDgByAAKAKcAkEAOgAAAkAgACwAE0F/TARAIAAoAghBADoAACAAQQA2AgwMAQsgAEEAOgATIABBADoACAsgAEEANgLAAgumBgEEfyAAQeTnAjYCACAAQQAQ7AggACgCqAIiAQRAIAAgATYCrAIgARCiGwsgACgCnAIiAQRAIAAgATYCoAIgARCiGwsgACgCkAIiAQRAA0AgASgCACECIAEsABNBf0wEQCABKAIIEKIbCyABEKIbIAIiAQ0ACwsgACgCiAIhASAAQQA2AogCIAEEQCABEKIbCyAAKAL4ASIBBEAgACABNgL8ASABEKIbCyAAKALsASIBBEAgACABNgLwASABEKIbCyAAKALgASIEBEACfyAEIAQgACgC5AEiAUYNABoDQCABIgJBCGshAQJAIAJBBGsoAgAiAkUNACACIAIoAgQiA0EBazYCBCADDQAgAiACKAIAKAIIEQEAIAIQ0BoLIAEgBEcNAAsgACgC4AELIQEgACAENgLkASABEKIbCyAAKALUASIBBEAgACABNgLYASABEKIbCyAAKAK4ASIBBEAgACABNgK8ASABEKIbCyAAKAKsASIBBEAgACABNgKwASABEKIbCwJAIAAoAqABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApgBIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQfQAaiIDEO0IAkAgACgCeCIBIAAoAnwiAkYNAANAIAEoAgAQohsgAUEEaiIBIAJHDQALIAAoAnwiASAAKAJ4IgJGDQAgACABIAEgAmtBBGtBAnZBf3NBAnRqNgJ8CyADKAIAIgEEQCABEKIbCyAAKAJkIgEEQCAAIAE2AmggARCiGwsgAEHMAGoiAxDuCAJAIAAoAlAiASAAKAJUIgJGDQADQCABKAIAEKIbIAFBBGoiASACRw0ACyAAKAJUIgEgACgCUCICRg0AIAAgASABIAJrQQRrQQJ2QX9zQQJ0ajYCVAsgAygCACIBBEAgARCiGwsgACwAE0F/TARAIAAoAggQohsLIAAL0gQBB38jAEEQayIDJAACQAJAIAAtACRFDQACQCABRQ0AIAEsAAtBf0wEQCABKAIAQQA6AAAgAUEANgIEDAELIAFBADoACyABQQA6AAALAkAgAC0AJkUNACAAKAJgQQJPBEADQCAAEO8IIAAoAmBBAUsNAAsLIAAgACgCACgCOBEAABoCQAJAIAAoAihBCGsOEQACAgICAgICAgICAgICAgIBAgsgAEHU6AIgACgCACgCDBECAAwBCyAAQefo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ICADQgA3ABggA0IANwAQIANCADcACCADQgA3AAAgAEEcaiIFQQA2AgAgAEIANwIUIAAgBzYCDCAAQcEAENUaIgQ2AhQgBSAEQcEAaiIFNgIAIARBAEHBABCvGxogACAHNgIoIAAgAzYCICAAIAU2AhggACADNgIkIAEtACYEQCACBEAgASABKAIAKAI4EQAAGgsgBkEQaiQADwtBqX4gBkHBgwMQiQNB3IMDQbyCA0EcEJgKAAuBAgEEfyMAQeAAayIDJAACQCAAKAIgIgEgACgCFCAAKAIkIAFrEMUJRQ0AIAAgACgCIDYCJCAALQAERQRAIAAoAgAiASAAKAIUIAEoAgAoAgwRAgAMAQsgA0EKOwFeIANBICAAKAIAIgEoAlAgASgCYCABKAJcakEBayIEQcwBbiICQQJ0aigCACAEIAJBzAFsa0EUbGooAhAiBBCvGyICIARqQQA6AAAgASACIAEoAgAoAgwRAgAgACgCACIBIAAoAhQgASgCACgCDBECACAAKAIAIgEgAkHeAGogASgCACgCDBECACAAKAIAIgAgACgCACgCOBEAABoLIANB4ABqJAALZwECfyAAKAIAIgEEQCABKAIkIAEoAiBHBEAgARDICQsgASgCFCICBEAgASACNgIYIAIQohsLIAEoAggiAgRAIAEgAjYCDCACEKIbCyABEKIbCyAALAAPQX9MBEAgACgCBBCiGwsgAAvUAgEDfyAAQSBqIgIgARDfGiAAQQA2AiwgACgCMCIBQQhxBEACQCACLAALIgNBf0wEQCAAKAIgIgMgACgCJGohBAwBCyACIANB/wFxaiEEIAIhAwsgACAENgIQIAAgAzYCDCAAIAM2AgggACAENgIsCwJAIAFBEHFFDQAgAgJ/IAIsAAsiAUEATgRAIAAgAiABQf8BcSIBajYCLEEKDAELIAAgACgCJCIBIAAoAiBqNgIsIAAoAihB/////wdxQQFrCxDiGgJ/IAIsAAsiA0F/TARAIAAoAiAhAiAAKAIkDAELIANB/wFxCyEDIAAgAjYCFCAAIAI2AhggACACIANqNgIcIAAtADBBA3FFDQACQCABQX9MBEAgAkECayACQf////8HaiABQf////8HayIBQQBIIgMbIQJBASABIAMbIQEMAQsgAUUNAQsgACABIAJqNgIYCws6AQF/QRQQ1RoiAkIA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EIkDQdSzA0HusQNBuQUQmAoACyAMQRBqJAAL3AEBA38gAkEESAR/QQAFIAJBBGshBQNAIAQgASADai0AACAAIANqLQAAc0HgzwJqLQAAaiABIANBAXIiBGotAAAgACAEai0AAHNB4M8Cai0AAGogASADQQJyIgRqLQAAIAAgBGotAABzQeDPAmotAABqIAEgA0EDciIEai0AACAAIARqLQAAc0HgzwJqLQAAaiEEIANBBGoiAyAFTA0ACyACQXxxCyIDIAJIBEADQCAEIAEgA2otAAAgACADai0AAHNB4M8Cai0AAGohBCADQQFqIgMgAkcNAAsLIAQLqQEBA38gAUEESAR/QQAFIAFBBGshBANAIAAgAkEDcmotAABB4M8Cai0AACAAIAJBAnJqLQAAQeDPAmotAAAgACACQQFyai0AAEHgzwJqLQAAIAMgACACai0AAEHgzwJqLQAAampqaiEDIAJBBGoiAiAETA0ACyABQXxxCyICIAFIBEADQCADIAAgAmotAABB4M8Cai0AAGohAyACQQFqIgIgAUcNAAsLIAML0wgBCn8CQAJAAkAgAUUEQAJAAkACQCAEQQRvIgFBAWsOAwABAgYLIAIoAgAhByADQQRIBEAgACEFDAULIANBBGshCCAEQQJ0IQkgBEEDbCELIARBAXQhCiAAIQUDQCAFIAtqLQAAIAUgCmotAAAgBCAFai0AACAHIAUtAABqampqIQcgBSAJaiEFIAZBBGoiBiAITA0ACwwDCyACKAIEIQcgAigCACEIIANBAU4EQCAAIQUDQCAHIAUtAAFqIQcgCCAFLQAAaiEIIAQgBWohBSAGQQFqIgYgA0cNAAsgAyEGCyACIAc2AgQgAiAINgIADAQLIAIoAgghByACKAIEIQggAigCACEJIANBAU4EQCAAIQUDQCAHIAUtAAJqIQcgCCAFLQABaiEIIAkgBS0AAGohCSAEIAVqIQUgBkEBaiIGIANHDQALIAMhBgsgAiAHNgIIIAIgCDYCBCACIAk2AgAMAwsCQAJAAkACQCAEQQFrDgMBAAIACyADQQFODQJBAA8LIAIoAgAhBiADQQFOBEADQCABIAVqLQAABEAgB0EBaiEHIAYgACAFai0AAGohBgsgBUEBaiIFIANHDQALCyACIAY2AgAgBw8LIAIoAgghBiACKAIEIQcgAigCACEI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KAIAIAFB6ABqIAItAAsiBEEYdEEYdUEASCIFGyACKAIEIAQgBRsQzAMaIAIsAAtBf0wEQCACKAIAEKIbCwJ/IAMsAAsiAkF/TARAIAAoAhghAiAAKAIUDAELIAJB/wFxIQIgAwshBCACIARqQQFrLQAAQQpHBEAgAUHoAGogBiABKAKAAUEMaygCAGoQphYgAUHoAGpBvJgLELkXIgJBCiACKAIAKAIcEQMAIQIgAUHoAGoQtBcgBiACENQWIAYQpRYLIAFB6ABqIAkQ0QMgAywAC0F/TARAIAMoAgAQohsLIAMgASkDaDcCACADIAEoAnA2AgggAUH8yAE2ArgBIAFB1MgBNgJ4IAFBlMsBNgKEASABQejIATYCgAEgASwArwFBf0wEQCABKAKkARCiGwsgChCIFhogAUG4AWoQhBYaCwJAAn8gACwAKyICQX9MBEAgACgCJAwBCyACQf8BcQsEQCAAQSBqIQIgCEF/RwRAIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAK0F/TARAIAIoAgAhAgsgASADLAALQX9MBH8gAygCAAUgAws2AlggASACNgJUIAEgBjYCUCABIAc2AkwgASAFNgJIIAEgBDYCRCABQfC0AzYCQCABQfgAakG7tAMgAUFAaxCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAILIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAH0F/TARAIAMoAgAhAwsgASACLAALQX9MBH8gAigCAAUgAgs2AjggASADNgI0IAEgBjYCMCABIAc2AiwgASAFNgIoIAEgBDYCJCABQfC0AzYCICABQfgAakH6tAMgAUEgahCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAELIABBLGohAiAALAA3QX9MBEAgAigCACECCyAAKAI4IQQgACgCECIFEJMKIQcgASAALAAfQX9MBH8gAygCAAUgAws2AhQgASAHNgIQIAFB17UDQda1AyAIQX9GGzYCGCABIAU2AgwgASAENgIIIAEgAjYCBCABQfC0AzYCACABQfgAakGwtQMg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IAdB24IEEIkDQf2CBEG5ggRB+QMQmAoAC0GpfiAHQYWDBBCJA0H9ggRBuYIEQZQEEJgKAAtBrX4gB0GMgwQQiQNB/YIEQbmCBEGeBBCYCgALsAIBBX8gACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYIgI2AhggASgCHCEDIAAgAEEoaiIENgIkIAAgAEEIajYCICAAIAM2AhwgBEIANwIAIAIEQCACIAIoAghBAWo2AggLIAEoAgRBAkwEQCAAKAIkIgIgASgCJCIBKAIANgIAIAIgASgCBDYCBCAADwtBACECIABBADYCBCAAIAEoAgRBAEEAQQAQzAogACgCBEEBTgRAIAAoAiQhAyABKAIkIQQgACgCICEFIAEoAiAhBgNAIAUgAkECdCIBaiABIAZqKAIANgIAIAEgA2ogASAEaigCADYCACACQQFqIgIgACgCBEgNAAsLIAALuQMBBn8gACABRwRAIAEoAhgiAgRAIAIgAigCCEEBajYCCAsCQCAAKAIYIgJFDQAgAiACKAIIIgNBAWs2AgggA0EBRw0AIAAoAhghAiAAQQA2AhggAigCBCIDIAIgAygCACgCEBECAAsCQAJAAkAgACgCBEEATARAIABBADYCGCAAIAEoAgA2AgAMAQsgACgCICEDQQAhAgNAIAMgAkECdGpBADYCACACQQFqIgIgACgCBCIESA0ACyAAQQA2AhggACABKAIANgIAIARBA0gNACABKAIEIQIMAQsgASgCBCICQQJKDQAgACACNgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACgCJCICIAEoAiQiAygCADYCACACIAMoAgQ2AgQMAQtBACEDIAAgAkEAQQBBABDMCiAAKAIEQQFIDQAgACgCJCEEIAEoAiQhBSAAKAIgIQYgASgCICEHA0AgBiADQQJ0IgJqIAIgB2ooAgA2AgAgAiAEaiACIAVqKAIANgIAIANBAWoiAyAAKAIESA0ACwsgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcCwuFAQECfwJAIAAoAhgiAUUNACABIAEoAggiAkEBazYCCCACQQFHDQAgACgCGCEBIABBADYCGCABKAIEIgIgASACKAIAKAIQ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ASADKAIYNgIYIANBCGogARDwCiABQQxqIQYgASgCDCIFBEACfyAFIAUgASgCECIERg0AGgNAIARBDGshAiAEQQFrLAAAQX9MBEAgAigCABCiGwsgAiEEIAIgBUcNAAsgBigCAAshAiABIAU2AhAgAhCiGwsgASADKAIINgIMIAEgAygCDDYCECABIAMoAhA2AhQgACAGIAFBHGoiAhDxCiADLQAcBEAgACABKAIYIAIQ8goLIAEoAhgiBCAAKAIEIAAoAgAiAmtBDG1JBEAgASACIARBDGxqNgIoIAEtACwEQCAAIAEQ8woLIANBIGokAA8LENoaAAv1AQEBfyAAKAKIASICIAEQ3xogAhDgCiACKAJEIAIoAkhGGgJAIAAoAogBIgEoAkQgASgCSEcNACAAKAKIARDjCiEBIAAoAhwgASgCDDYCBCAAKAKIARDlCiICKAIAIgEgAigCBCICRwRAA0AgACABIAEoAgxBAhDtCiABQRRqIgEgAkcNAAsLIAAoAogBQThqIgIoAgAiASACKAIEIgJHBEADQCAAIAEgASgCDEEDEO0KIAFBFGoiASACRw0ACwsgACgCiAEQ5AoiAigCACIBIAIoAgQiAkYNAANAIAAgASABKAIMEO4KIAFBFGoiASACRw0ACwsL8QEBAn8jAEEwayIEJAAgABDTGiAEQQhqIAEQ2xohASAEQQA2AiggBEIANwMgIARBAToAHCAEQgA3AhQgBCAAQSBqIgUgARD2CiIBNgIUIAEgACgCMCAAKAIsIgBrQQN1SQRAIAQgACABQQN0aiIBNgIYAkACfyAELQAcBEAgBSAEQQhqEPcKIAQoAhghAQsgAyABKAIERgsEQCABKAIAIAJGDQELIAEgAjYCACABIAM2AgQgBEEIahD4CgsgBCgCICIBBEAgBCABNgIkIAEQohsLIAQsABNBf0wEQCAEKAIIEKIbCyAEQTBqJAAPCxDaGgALsQIBAX8jAEFAaiIDJAAgABDTGiADIAEQ2xoaIANBADYCOCADQgA3AhQgA0IANwIcIANCADcCJCADQQA6ACwgA0IANwMwIANCADcCDCAAQSBqIAMQ6woCQCADKAIoIgEoAghBAUYEQCABKAIEIAJGDQELIAEgAjYCBCABQQE2AgggASgCACIBRQ0AIAEgAjYCBAsgAygCMCIBBEAgAyABNgI0IAEQohsLIAMoAhwiAQRAIAMgATYCICABEKIbCyADKAIMIgAEQAJ/IAAgACADKAIQIgJGDQAaA0AgAkEMayEBIAJBAWssAABBf0wEQCABKAIAEKIbCyABIQIgACABRw0ACyADKAIMCyEBIAMgADYCECABEKIbCyADLAALQX9MBEAgAygCABCiGwsgA0FAayQAC/gCAQh/IwBBEGsiBiQAAkACQAJAIAFBGGoiCiACEPUKIgMEQCADKAIUIQEgAEEAOgAEIAAgATYCAAwBCyAGIAEoAgQiAyABKAIAIgdrIglBDG0iBDYCBAJAIAEoAggiBSADSwRAIANCADcCACADQQA2AgggASADQQxqNgIEDAELIARBAWoiA0HWqtWqAU8NAiAEQQxsAn8gAyAFIAdrQQxtIgVBAXQiBCADIARLG0HVqtWqASAFQarVqtUASRsiBQRAIAVB1qrVqgFPDQUgBUEMbBDVGiEICyAIC2oiA0IANwIAIANBADYCCCADIAlBdG1BDGxqIQQgCCAFQQxsaiEIIANBDGohAyAJQQFOBEAgBCAHIAkQrhsaCyABIAg2AgggASADNgIEIAEgBDYCACAHRQ0AIAcQohsLIAZBCGogCiACIAIgBkEEahD6CiAGKAIEIQEgAEEBOgAEIAAgATYCAAsgBkEQaiQADwsQ/BoAC0HYjAQQvgIAC8wBAQV/IwBBEGsiBCQAIAEoAgQhBSABLQALIQMgAEEANgIIIABCADcCACAFIAMgA0EYdEEYdUEASBsiBQRAA0ACQCAFIAFBLiACEOoaIgMgA0F/RhsiAyACTQ0AIAQgASACIAMgAmsgARDdGiEGIAAoAgQiAiAAKAIISQRAIAIgBCkDADcCACACIAQoAgg2AgggACACQQxqNgIEDAELIAAgBhD5CiAELAALQX9KDQAgBCgCABCiGwsgA0EBaiICIAVJDQALCyAEQRBqJAAL7AEBBX8jAEEQayIGJAAgASgCACEDIAEoAgQhBCAGQX82AgwCQCAEIANrIgRBDG0iAyACKAIEIAIoAgAiB2tBAnUiBUsEQCACIAMgBWsgBkEMahD7CgwBCyADIAVPDQAgAiAHIANBAnRqNgIECwJAAkAgBARAIANBASADQQFLGyEHQQAhAwNAIAEoAgQgASgCACIEa0EMbSADTQ0CIAAgBCADQQxsahD2CiEEIAIoAgQgAigCACIFa0ECdSADTQ0DIAUgA0ECdGogBDYCACADQQFqIgMgB0cNAAsLIAZBEGokAA8LENoaAAsQ2hoAC9QBAgR/BH4CQCACKAIEIgQgAigCACIDayIFRQ0AIAMgBEcEQCAAQdQAaiEEIABBQGshBiAFQQJ1rSEIIAGtIQkDQCADIAenQQJ0aigCACEAQRQQ1RoiAyABNgIIIAMgATYCBCADQQA2AgAgAyAHQiCGIgogAK2ENwIMIAYgAxD8CkEUENUaIgMgCSAKhDcCDCADIAA2AgggAyAANgIEIANBADYCACAEIAMQ/AogB0IBfCIHIAhaDQIgByACKAIEIAIoAgAiA2tBAnWtVA0ACwsQ2hoACwvaBAEMfyABIAEoAjAiAjYCNCABKAIoIQogASgCGCELAkACQAJAAkACQAJAIAEoAiAiBSABKAIcIgdrIgNBAnUiBCABKAI4IAJrQRRtTQ0AIARBzZmz5gBPDQEgASAEQRRsIggQ1RoiBDYCNCABIAQ2AjAgASAEIAhqNgI4IAJFDQAgAhCiGwsgAwRAIAFBMGohDCADQX8gA0F/ShsiAkEBIAJBAUgbIAcgBWsiAiADIAIgA0obQQJ2bCIDQQEgA0EBSxshDUEAIQMDQCABKAIgIAEoAhwiAmtBAnUgA00NAyACIANBAnRqKAIAIgQgACgCECAAKAIMIgVrQQN1Tw0EIAUgBEEDdGohBwJAIAEoAjQiAiABKAI4IgZJBEAgAiAHNgIQIAIgCjYCDCACIAM2AgggAiAENgIEIAIgCzYCACABIAJBFGo2AjQMAQsgAiAMKAIAIgVrIghBFG0iCUEBaiICQc2Zs+YATw0GIAlBFGwCf0EAIAIgBiAFa0EUbSIGQQF0IgkgAiAJSxtBzJmz5gAgBkHmzJkzSRsiBkUNABogBkHNmbPmAE8NCCAGQRRsENUaCyIJaiICIAc2AhAgAiAKNgIMIAIgAzYCCCACIAQ2AgQgAiALNgIAIAIgCEFsbUEUbGohBCAJIAZBFGxqIQcgAkEUaiECIAhBAU4EQCAEIAUgCBCuGxoLIAEgBzYCOCABIAI2AjQgASAENgIwIAVFDQAgBRCiGwsgA0EBaiIDIA1HDQALCw8LQdiMBBC+AgALENoaAAsQ2hoACxD8GgALQdiMBBC+AgALWgEBfyAAENMaAkACQAJAIABBOGogARD1CiICRQ0AIAIoAhQiAiAAKAIkIAAoAiAiAWtBDG1PDQIgAUUNACABIAJBDGxqKAIAIgENAQtBACEBCyABDwsQ2hoAC5wEAQp/IAEoAgQgAS0ACyICIAJBGHRBGHVBAEgiAxsiBCECIAEoAgAgASADGyIIIQEgBCEDIARBBE8EQCAIIQEgBCECA0AgASgAAEGV08feBWwiBkEYdiAGc0GV08feBWwgAkGV08feBWxzIQIgAUEEaiEBIANBBGsiA0EDSw0ACwsCQAJAAkACQCADQQFrDgMCAQADCyABLQACQRB0IAJzIQILIAEtAAFBCHQgAnMhAgsgAiABLQAAc0GV08feBWwhAgtBACEDAkAgACgCBCIFRQ0AIAJBDXYgAnNBldPH3gVsIgFBD3YgAXMhByAAKAIAAn8gByAFQQFrcSAFaSIJQQFNDQAaIAcgBSAHSw0AGiAHIAVwCyIKQQJ0aigCACIBRQ0AIAEoAgAiAUUNACAFQQFrIQsDQAJAAkAgByABKAIEIgJHBEACQCAJQQFNBEAgAiALcSECDAELIAIgBUkNACACIAVwIQILIAIgCkYNAQwCCyABKAIMIAEtABMiAyADQRh0QRh1QQBIIgIbIARHDQAgAUEIaiIGKAIAIQACQCACRQRAIAQNASABDwsgBEUEQCABDwsgACAGIAIbIAggBBD4FA0BIAEPCyAIIgItAAAgAEH/AXFHDQADQCADQQFrIgMEQCACLQABIQAgAkEBaiECIAZBAWoiBi0AACAARg0BDAILCyABDwsgASgCACIBDQELC0EAIQMLIAMLwgIBB38jAEEQayIFJAACQAJAAn8gAEEsaiIIIAEQ9QoiAgRAIAIoAhQMAQsgBSAAKAIQIgIgACgCDCIGayIHQQN1IgQ2AgQCQCAAKAIUIgMgAksEQCACQgA3AgAgACACQQhqNgIQDAELIARBAWoiAkGAgICAAk8NAiAEQQN0An9BACACIAMgBmsiA0ECdSIEIAIgBEsbQf////8BIANBA3VB/////wBJGyIDRQ0AGiADQYCAgIACTw0EIANBA3QQ1RoLIgJqIgRCADcCACACIANBA3RqIQMgBEEIaiEEIAdBAU4EQCACIAYgBxCuGxoLIAAgAzYCFCAAIAQ2AhAgACACNgIMIAZFDQAgBhCiGwsgBUEIaiAIIAEgASAFQQRqEPoKIAUoAgQLIQAgBUEQaiQAIAAPCxD8GgALQdiMBBC+AgALmAcBDX8gASgCECENIAEoAgwhBgJAIAAoAlgiBEUNACAAKAJUAn8gBEEBayAGcSAEaSICQQFNDQAaIAYgBCAGSw0AGiAGIARwCyIHQQJ0aigCACIDRQ0AIAMoAgAiA0UNACAEQQFrIQogAkEBSyEIA0ACQCADKAIEIgIgBkcEQAJAIAhFBEAgAiAKcSECDAELIAIgBEkNACACIARwIQILIAIgB0cNAwwBCyADKAIIIAZHDQADQCAFQQFqIQUgAygCACIDRQ0DIAMoAgggBkYNAAsMAgsgAygCACIDDQALCyABIAEoAhgiAzYCHAJAAn8gBiAFIAEoAiAgA2tBFG1NDQAaIAVBzZmz5gBPDQEgASAFQRRsIgUQ1RoiAjYCHCABIAI2AhggASACIAVqNgIgIAYgA0UNABogAxCiGyAAKAJYIQQgASgCDAshBQJAIARFDQAgACgCVAJ/IARBAWsgBXEgBGkiAkEBTQ0AGiAFIAQgBUsNABogBSAEcAsiB0ECdGooAgAiA0UNACADKAIAIgNFDQAgAUEYaiEOIARBAWshCiACQQFLIQgDQAJAIAUgAygCBCICRwRAAkAgCEUEQCACIApxIQIMAQsgAiAESQ0AIAIgBHAhAgsgAiAHRw0DDAELIAMoAgggBUcNACADIQQDQCAEKAIAIgQEQCAEKAIIIAVGDQELCyADIARGDQICQAJAA0AgAygCDCIFIAAoAgQgACgCACICa0EMbUkEQCADKAIQIQggAiAFQQxsaiEKAkAgASgCHCICIAEoAiAiCUkEQCACIA02AhAgAiAKNgIMIAIgCDYCCCACIAY2AgQgAiAFNgIAIAEgAkEUajYCHAwBCyACIA4oAgAiB2siDEEUbSILQQFqIgJBzZmz5gBPDQMgC0EUbAJ/QQAgAiAJIAdrQRRtIglBAXQiCyACIAtLG0HMmbPmACAJQebMmTNJGyIJRQ0AGiAJQc2Zs+YATw0FIAlBFGwQ1RoLIgtqIgIgDTYCECACIAo2AgwgAiAINgIIIAIgBjYCBCACIAU2AgAgAiAMQWxtQRRsaiEFIAsgCUEUbGohCCACQRRqIQIgDEEBTgRAIAUgByAMEK4bGgsgASAINgIgIAEgAjYCHCABIAU2AhggB0UNACAHEKIbCyAEIAMoAgAiA0cNAQwGCwsQ2hoACxD8GgALQdiMBBC+AgALIAMoAgAiAw0ACwsPC0HYjAQQvgIAC/IBAQh/IwBBEGsiAiQAIAAtABQEQCAAKAIcIAAoAhgiBWsiA0EUbSEBAkACQAJAIAAoAhAiACgCBCIEDgICAAELQal+IAJBu4wEEIkDQZCMBEG9iwRBgQIQmAoACyADRQ0AIAAoAgAhBiABQQEgAUEBSxshB0EAIQAgBEECayEIA0ACQCAFIABBFGxqIgQoAgwiASgCACIDRQ0AIAEoAghBAUYNAAJAAkAgCA4CAAECCyAEKAIIDQELIAMgBjYCBAsgAEEBaiIAIAdHDQALCyACQRBqJAAPC0GpfiACQeuLBBCJA0GQjARBvYsEQfwBEJgKAAuAAwEFfwJAAkACQCAAKAIEIAAoAgAiAmtBDG0iBUEBaiIDQdaq1aoBSQRAIAMgACgCCCACa0EMbSICQQF0IgYgAyAGSxtB1arVqgEgAkGq1arVAEkbIgIEQCACQdaq1aoBTw0CIAJBDGwQ1RohBAsgBCAFQQxsaiIDIAEpAgA3AgAgAyABQQhqIgUoAgA2AgggAUIANwIAIAVBADYCACAEIAJBDGxqIQUgA0EMaiEGIAAoAgQiASAAKAIAIgJGDQIDQCADQQxrIgMgAUEMayIBKQIANwIAIAMgAUEIaiIEKAIANgIIIAFCADcCACAEQQA2AgAgASACRw0ACyAAIAU2AgggACgCBCEEIAAgBjYCBCAAKAIAIQIgACADNgIAIAIgBEYNAwNAIARBDGshASAEQQFrLAAAQX9MBEAgASgCABCiGwsgASEEIAEgAkcNAAsMAwsQ/BoAC0HYjAQQvgIACyAAIAU2AgggACAGNgIEIAAgAzYCAAsgAgRAIAIQohsLC4MHAgx/An0gAigCBCACLQALIgUgBUEYdEEYdUEASCIHGyIJIQUgAigCACACIAcbIg0hAiAJIgdBBE8EQCANIQIgCSEFA0AgAigAAEGV08feBWwiCkEYdiAKc0GV08feBWwgBUGV08feBWxzIQUgAkEEaiECIAdBBGsiB0EDSw0ACwsCQAJAAkACQCAHQQFrDgMCAQADCyACLQACQRB0IAVzIQULIAItAAFBCHQgBXMhBQsgBSACLQAAc0GV08feBWwhBQsgBUENdiAFc0GV08feBWwiAkEPdiACcyEIAkACQCABKAIEIgZFDQAgASgCAAJ/IAggBkEBa3EgBmkiD0EBTQ0AGiAIIAYgCEsNABogCCAGcAsiC0ECdGooAgAiAkUNACACKAIAIgJFDQAgBkEBayEQA0AgCCACKAIEIgVHBEACQCAPQQFNBEAgBSAQcSEFDAELIAUgBkkNACAFIAZwIQULIAUgC0cNAgsCQCACKAIMIAItABMiByAHQRh0QRh1QQBIIgUbIAlHDQAgAkEIaiIKKAIAIQwgBUUEQCAJRQ0EIA0iBS0AACAMQf8BcUcNAQNAIAdBAWsiB0UNBSAFLQABIQwgBUEBaiEFIAwgCkEBaiIKLQAARg0ACwwBCyAJRQ0DIAwgCiAFGyANIAkQ+BRFDQMLIAIoAgAiAg0ACwtBGBDVGiICQQhqIAMQ2xoaIAQoAgAhBSACIAg2AgQgAiAFNgIUIAJBADYCACABKgIQIREgASgCDEEBarMhEgJAIAYEQCARIAazlCASXUEBcw0BCyAGIAZBAWtxQQBHIAZBA0lyIAZBAXRyIQUgAQJ/IBIgEZWNIhFDAACAT10gEUMAAAAAYHEEQCARqQwBC0EACyIHIAUgBSAHSRsQgAsgASgCBCIGIAZBAWtxRQRAIAZBAWsgCHEhCwwBCyAGIAhLBEAgCCELDAELIAggBnAhCwsCQAJAIAEoAgAgC0ECdGoiBygCACIFRQRAIAIgASgCCDYCACABIAI2AgggByABQQhqNgIAIAIoAgAiBUUNAiAFKAIEIQUCQCAGIAZBAWsiB3FFBEAgBSAHcSEFDAELIAUgBkkNACAFIAZwIQULIAEoAgAgBUECdGohBQwBCyACIAUoAgA2AgALIAUgAjYCAAtBASEOIAEgASgCDEEBajYCDAsgACAOOgAEIAAgAjYCAAuqAgEFfyABIAAoAggiBCAAKAIEIgNrQQJ1TQRAIAAgAQR/IAMgAUECdGohAQNAIAMgAigCADYCACADQQRqIgMgAUcNAAsgAQUgAws2AgQPCwJAIAMgACgCACIGayIHQQJ1IgUgAWoiA0GAgICABEkEQCAFQQJ0An9BACADIAQgBmsiBEEBdSIFIAMgBUsbQf////8DIARBAnVB/////wFJGyIFRQ0AGiAFQYCAgIAETw0CIAVBAnQQ1RoLIgRqIgMgAUECdGohAQNAIAMgAigCADYCACADQQRqIgMgAUcNAAsgBCAFQQJ0aiEDIAdBAU4EQCAEIAYgBxCuGxoLIAAgAzYCCCAAIAE2AgQgACAENgIAIAYEQCAGEKIbCw8LEPwaAAtB2IwEEL4CAAuyAgEEfyABIAEoAggiAjYCBCAAIAIgAUEIahCCCyEDIAEoAgQhAgJAIAAoAgQiBGkiBUEBTQRAIARBAWsgAnEhAgwBCyACIARJDQAgAiAEcCECCwJAIANFBEAgASAAKAIINgIAIAAgATYCCCAAKAIAIAJBAnRqIABBCGo2AgAgASgCACICRQ0BIAIoAgQhAgJAIAVBAU0EQCACIARBAWtxIQIMAQsgAiAESQ0AIAIgBHAhAgsgACgCACACQQJ0aiABNgIADAELIAEgAygCADYCACADIAE2AgAgASgCACIDRQ0AIAMoAgQhAwJAIAVBAU0EQCADIARBAWtxIQMMAQsgAyAESQ0AIAMgBHAhAwsgAiADRg0AIAAoAgAgA0ECdGogATYCAAsgACAAKAIMQQFqNgIMCxUAIABBpI0ENgIAIABBDGoQ4QogAAsYACAAQaSNBDYCACAAQQxqEOEKIAAQohsLCgAgAEEMahDhCgu+AQIDfwF9An9BAiABQQFGDQAaIAEgASABQQFrcUUNABogARD8FQsiAiAAKAIEIgFLBEAgACACEIELDwsCQCABIAJNDQAgAUEDSSEEAn8gACgCDLMgACoCEJWNIgVDAACAT10gBUMAAAAAYHEEQCAFqQwBC0EACyEDAn8CQCAEDQAgAWlBAUsNACADQQFBICADQQFrZ2t0IANBAkkbDAELIAMQ/BULIgMgAiACIANJGyICIAFPDQAgACACEIELCwugBQERfwJAIAEEQCABQYCAgIAESQRAIAFBAnQQ1RohAyAAKAIAIQIgACADNgIAIAIEQCACEKIbCyAAIAE2AgQgAUEBIAFBAUsbIQNBACECA0AgACgCACACQQJ0akEANgIAIAJBAWoiAiADRw0ACyAAKAIIIgdFDQIgAEEIaiECIAcoAgQhBgJAIAFpIgNBAU0EQCAGIAFBAWtxIQYMAQsgASAGSw0AIAYgAXAhBgsgACgCACAGQQJ0aiACNgIAIAcoAgAiBEUNAiABQQFrIREgA0EBSyESA0AgBCgCBCECAkAgEkUEQCACIBFxIQIMAQsgASACSw0AIAIgAXAhAgsCQCACIAZGBEAgBCEHDAELAkACQCACQQJ0Ig0gACgCAGoiAygCAARAQQAhCCAEKAIAIgINASAEIQsMAgsgAyAHNgIAIAQhByACIQYMAgsgBCgCDCAELQATIg4gDkEYdEEYdUEASCIPGyEJIARBCGohDCAEIQUDQCAFIQsgAiIFKAIMIAItABMiAiACQRh0QRh1QQBIIgIbIAlHBEAgBSEIDAILIAVBCGoiAygCACADIAIbIQIgDCgCACEKAkAgD0UEQCAJRQ0BIA4hAyAMIRAgAi0AACAKQf8BcUcEQCAFIQgMBAsDQCADQQFrIgNFDQIgAi0AASEKIAJBAWohAiAKIBBBAWoiEC0AAEYNAAsgBSEIDAMLIAlFDQAgCiAMIA8bIAIgCRD4FEUNACAFIQgMAgsgBSgCACICDQALIAUhCwsgByAINgIAIAsgACgCACANaigCACgCADYCACAAKAIAIA1qKAIAIAQ2AgALIAcoAgAiBA0ACwwCC0HYjAQQvgIACyAAKAIAIQIgAEEANgIAIAIEQCACEKIbCyAAQQA2AgQLC8cCAgh/An0gACoCECELIAAoAgxBAWqzIQwCQCAAKAIEIgMEQCALIAOzlCAMXUEBcw0BCyADIANBAWtxQQBHIANBA0lyIANBAXRyIQQgAAJ/IAwgC5WNIgtDAACAT10gC0MAAAAAYHEEQCALqQwBC0EACyIFIAQgBCAFSRsQgwsgACgCBCEDCyAAKAIAAn8gA0EBayABcSADaSIFQQFNDQAaIAEgASADSQ0AGiABIANwCyIGQQJ0aigCACIERQRAQQAPCyADQQFrIQcgAigCACEIQQAhACAFQQFLIQkDQAJAIAAhBSAEIgooAgAiBEUNACAEKAIEIQACfyAAIAdxIAlFDQAaIAAgACADSQ0AGiAAIANwCyAGRw0AQQAhAiAAIAFGBEAgBCgCCCAIRiECCyACIAVyIQAgAg0BIAVBAXNBAXENAQsLIAoLvgECA38BfQJ/QQIgAUEBRg0AGiABIAEgAUEBa3FFDQAaIAEQ/BULIgIgACgCBCIBSwRAIAAgAhCECw8LAkAgASACTQ0AIAFBA0khBAJ/IAAoAgyzIAAqAhCVjSIFQwAAgE9dIAVDAAAAAGBxBEAgBakMAQtBAAshAwJ/AkAgBA0AIAFpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGwwBCyADEPwVCyIDIAIgAiADSRsiAiABTw0AIAAgAhCECwsLuQMBCX8CQAJAIAEEQCABQYCAgIAETw0CIAFBAnQQ1RohBCAAKAIAIQIgACAENgIAIAIEQCACEKIbCyAAIAE2AgQgAUEBIAFBAUsbIQRBACECA0AgACgCACACQQJ0akEANgIAIAJBAWoiAiAERw0ACyAAKAIIIgZFDQEgAEEIaiECIAYoAgQhBQJAIAFpIgNBAU0EQCAFIAFBAWtxIQUMAQsgASAFSw0AIAUgAXAhBQsgACgCACAFQQJ0aiACNgIAIAYoAgAiBEUNASABQQFrIQggA0EBSyEJA0AgBCgCBCEDAkAgCUUEQCADIAhxIQMMAQsgASADSw0AIAMgAXAhAwsCQCADIAVGBEAgBCEGDAELIAQhAiADQQJ0IgcgACgCAGoiCigCAEUEQCAKIAY2AgAgBCEGIAMhBQwBCwNAIAIiAygCACICBEAgBCgCCCACKAIIRg0BCwsgBiACNgIAIAMgACgCACAHaigCACgCADYCACAAKAIAIAdqKAIAIAQ2AgALIAYoAgAiBA0ACwwBCyAAKAIAIQIgAEEANgIAIAIEQCACEKIbCyAAQQA2AgQLDwtB2IwEEL4CAAvr7wEEL38CfhJ9AnwjAEHQAmsiCCQAIAhBADYCyAIgCEIANwPAAiAEBEAgBEIANwIAIARCADcCCAsgCEIANwO4AiAIQgA3A7ACIAhCADcDqAIgCEIANwOgAiAIQgA3AowCIAhCADcClAIgCEEAOgCCAiAIQQA7AYACIAhCADcChAIgCEIANwLsASAIQgA3AvQBIAhBADoA4gEgCEEAOwHgASAIQgA3AuQBAkAgABDMB0GAgARGBEAgCEGoAWogACgCBBCtBhoMAQsgCEGoAWogABDJBwsgCEHwAGoQpwYhJSABENgHRQRAAkAgARDMB0GAgARGBEAgCEEwaiABKAIEEK0GGgwBCyAIQTBqIAEQyQcLICUgCEEwahC5BhogCEEwahCxBhoLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAgoAqgBIgBBA3ZB/wNxIgpBAWpB/QdxQQFGBEAgCCgC0AEiASgCACENIAEoAgQhDCAHQfsBcUEAIAdB/wFxIiZBCEcbDQEgAEEHcSELIABB/x9xIQ4gJRC3BiAHQYCACHEiL0VxIQFBACEAA0AgBSAAQQN0IglqKwMAIktEAAAAAAAAAABjDQMgBiAJaisDACJMRAAAAAAAAAAAY0EBc0UNA0EAIEyZRAAAAAAAALA8YyBLmUQAAAAAAACwPGNBf3MgAUF/c3JBAXEbIQEgACAKRyEJIABBAWohACAJDQALIAIoAgAiECAMTw0DIAIoAgQiGCANTw0DIAMgCEGgAmogDkEAEIgEAkAgDSAMIAwgDUgbQQF0IgAgCCgCxAIgCCgCwAIiA2tBDG0iCUsEQCAIQcACaiAAIAlrEIYLDAELIAAgCU8NACAIIAMgAEEMbGo2AsQCCyABRQ0LQQAhACAIKALUASEJQQAhASAIKAKsASIDQQFOBEAgA0ECdCAJakEEaygCACEBCyAJKAIAIQMgCCgCuAEhFAJAIAFFDQAgFCADIBhsaiABIBBsaiEJA0AgACAJai0AACAIQaACaiAAai0AAEcNASAAQQFqIgAgAUcNAAsMDAsgACABRg0LAkAgDg4WAAUFBQkIBQUFBQUFBQUFBQoFBQUHBgULIBQgAyACKQIAIjdCIIgiOKciG2xqIgkgN6ciEmoiAC0AACEKIAgoAtABIgEoAgAhGiABKAIEIQ0gCCgCxAIhByAIKALAAiEPIAAgCC0AoAIiCzoAAAJAIA0gEkEBaiIFTARAIBIhFwwBCyAKQf8BcSIBIAUgCWoiAC0AAEcEQCASIRcMAQsDQAJAIAAgCzoAACAFIhdBAWoiBSANRg0AIAEgBSAJaiIALQAARg0BDAILCyANIQULAkAgEkEBSA0AIApB/wFxIQYDQCAJIBJBAWsiAGoiAS0AACAGRw0BIAEgCzoAACASQQFKIQEgACESIAENAAtBACESCyAPQQE7AQogDyAXOwEIIA8gBTsBBiAPIBc7AQQgDyASOwECIA8gOD0BACAHIA9BDGoiDEYEQAJAIAgoAsQCIgcgCCgCwAIiD2tBDG0iAEEDbEEBdiIBIABLBEAgCEHAAmogASAAaxCGCyAIKALEAiEHIAgoAsACIQ8MAQsgACABTQ0AIAggDyABQQxsaiIHNgLEAgsgD0EMaiEMCyAmQQhGIRUgCkH/AXEhCiAbIRwDQCAMQQxrIgwvAQAhESAMLwECIRggDC8BBiEBIAwuAQohACAMLwEIIQkgCCAMLwEEIhQgFWoiBTYCUCAIIAlBAWo2AkwgCCAANgJIIAggAUEBazYCRCAIIBggFWsiATYCQCAIIAA2AjwgCCAFNgI4IAggATYCNCAIQQAgAGsiADYCMCAgIBhrQQFqIRlBACEOA0ACQCAAIBFqIgMgGk8NACAIQTBqIA5BDGxqIgEoAgQiCSABKAIIIgJKDQAgCCgCuAEgCCgC1AEoAgAgA2xqIQZBACAAayEQA0ACQCAJIA1PBEAgCSEBDAELIAogBiAJaiIALQAARwRAIAkhAQwBCyAAIAs6AAAgCSEAAkAgCUEBSA0AA0AgBiAAQQFrIgFqIgUtAAAgCkcNASAFIAs6AAAgAEEBSiEFIAEhACAFDQALQQAhAAsCQCAJQQFqIgEgDU4NACABIAZqIgUtAAAgCkcNAANAAkAgBSALOgAAIAEiCUEBaiIBIA1GDQAgCiABIAZqIgUtAABGDQEMAgsLIA0hAQsgDCAQOwEKIAwgFDsBCCAMIBg7AQYgDCAJOwEEIAwgADsBAiAMIAM7AQAgDEEMaiIMIAdHDQACQCAIKALEAiIFIAgoAsACIgBrQQxtIglBA2xBAXYiDCAJSwRAIAhBwAJqIAwgCWsQhgsgCCgCxAIhBSAIKALAAiEADAELIAkgDE0NACAIIAAgDEEMbGoiBTYCxAILIAAgByAPa0EMbUEMbGohDCAFIQcgACEPCyABQQFqIQkgASACSA0ACwsgDkEBaiIOQQNHBEAgCEEwaiAOQQxsaigCACEADAELCyARIBwgESAcSBshHCARIBsgESAbShshGyAYIBIgEiAYShshEiAUIBcgFCAXShshFyAUIBlqISAgDCAPRw0ACwwKC0F7IAhBMGpBoI4EEIkDQdGOBEHbjgRB6wMQmAoAC0GyfiAIQTBqQYKPBBCJA0HRjgRB244EQfADEJgKAAtBeyAIQTBqQaWPBBCJA0HRjgRB244EQfcDEJgKAAtBrX4gCEEwakHOjwQQiQNB0Y4EQduOBEH9AxCYCgALQa5+IAhBMGpB7Y8EEIkDQdGOBEHbjgRBnAQQmAoACyAUIAMgAikCACI3QiCIIjinIhtsaiIJIDenIhJBDGxqIgAqAgghPiAIKALQASIBKAIAIQ4gASgCBCEFIAgoAsQCIRAgCCgCwAIhFSAIKgKgAiE5IAgqAqQCIT8gACAIKgKoAiJBOAIIIAAqAgQhOyAAID84AgQgACoCACE6IAAgOTgCAAJAIAUgEkEBaiIGTARAIBIhFwwBCyA6IAkgBkEMbGoiASoCAFwEQCASIRcMAQsgOyAJIAZBDGxqIgAqAgRcBEAgEiEXDAELIABBBGohCiASIRcDQCA+IAkgBiIAQQxsaiIGKgIIXARAIAAhBgwCCyABIDk4AgAgCiA/OAIAIAYgQTgCCCAFIABBAWoiBkcEQCA6IAkgBkEMbCIKaiIBKgIAXARAIAAhFwwDCyAJIApqIgtBBGohCiAAIRcgCyoCBCA7XA0CDAELCyAAIRcgBSEGCwJAIBJBAUgNAANAIAkgEkEBayIBQQxsaiIAKgIAIDpcDQEgACoCBCA7XA0BIAAqAgggPlwNASAAIDk4AgAgACA/OAIEIAAgQTgCCCASQQFKIQAgASESIAANAAtBACESCyAVQQE7AQogFSAXOwEIIBUgBjsBBiAVIBc7AQQgFSASOwECIBUgOD0BACAQIBVBDGoiDEYEQAJAIAgoAsQCIhAgCCgCwAIiFWtBDG0iAEEDbEEBdiIBIABLBEAgCEHAAmogASAAaxCGCyAIKALEAiEQIAgoAsACIRUMAQsgACABTQ0AIAggFSABQQxsaiIQNgLEAgsgFUEMaiEMCyAmQQhGIRkgGyEcA0AgDEEMayIMLwEAIQcgDC8BAiEYIAwvAQYhASAMLgEKIQAgDC8BCCEJIAggDC8BBCIPIBlqIgY2AlAgCCAJQQFqNgJMIAggADYCSCAIIAFBAWs2AkQgCCAYIBlrIgE2AkAgCCAANgI8IAggBjYCOCAIIAE2AjQgCEEAIABrIgE2AjAgICAYa0EBaiETQQAhCwNAAkAgASAHaiICIA5PDQAgCEEwaiALQQxsaiIJKAIEIgAgCSgCCCIJSg0AIAgoArgBIAgoAtQBKAIAIAJsaiEGQQAgAWshAwNAAkAgACAFTwRAIAAhAQwBCyA6IAYgAEEMbGoiASoCAFwEQCAAIQEMAQsgOyABKgIEXARAIAAhAQwBCyA+IAEqAghcBEAgACEBDAELIAEgOTgCACABID84AgQgASBBOAIIIAAhCgJAIABBAUgNAANAIAYgCkEBayINQQxsaiIBKgIAIDpcDQEgASoCBCA7XA0BIAEqAgggPlwNASABIDk4AgAgASA/OAIEIAEgQTgCCCAKQQFKIQEgDSEKIAENAAtBACEKCwJAIABBAWoiASAFTg0AIAYgAUEMbCINaiIUKgIAIDpcDQAgBiANaiINKgIEIDtcDQAgDUEEaiERA0AgPiAGIAEiDUEMbGoiASoCCFwEQCANIQEMAgsgFCA5OAIAIBEgPzgCACABIEE4AgggBSANQQFqIgFHBEAgOiAGIAFBDGwiAGoiFCoCAFwEQCANIQAMAwsgACAGaiIaQQRqIREgDSEAIBoqAgQgO1wNAgwBCwsgDSEAIAUhAQsgDCADOwEKIAwgDzsBCCAMIBg7AQYgDCAAOwEEIAwgCjsBAiAMIAI7AQAgDEEMaiIMIBBHDQACQCAIKALEAiINIAgoAsACIgBrQQxtIgpBA2xBAXYiDCAKSwRAIAhBwAJqIAwgCmsQhgsgCCgCxAIhDSAIKALAAiEADAELIAogDE0NACAIIAAgDEEMbGoiDTYCxAILIAAgECAVa0EMbUEMbGohDCANIRAgACEVCyABQQFqIQAgASAJSA0ACwsgC0EBaiILQQNHBEAgCEEwaiALQQxsaigCACEBDAELCyAHIBwgByAcSBshHCAHIBsgByAbShshGyAYIBIgEiAYShshEiAPIBcgDyAXShshFyAPIBNqISAgDCAVRw0ACwwECyAUIAMgAikCACI3QiCIIjinIhtsaiIFIDenIhJBDGxqIgAoAgghByAIKALQASIBKAIAIRUgASgCBCEJIAgoAsQCIRMgCCgCwAIhHyAIKAKgAiEDIAgoAqQCIRAgACAIKAKoAiIYNgIIIAAoAgQhDSAAIBA2AgQgACgCACELIAAgAzYCAAJAIAkgEkEBaiIGTARAIBIhFwwBCyALIAUgBkEMbGoiASgCAEcEQCASIRcMAQsgDSAFIAZBDGxqIgAoAgRHBEAgEiEXDAELIABBBGohCiASIRcDQCAHIAUgBiIAQQxsaiIGKAIIRwRAIAAhBgwCCyABIAM2AgAgCiAQNgIAIAYgGDYCCCAJIABBAWoiBkcEQCALIAUgBkEMbCIKaiIBKAIARwRAIAAhFwwDCyAFIApqIgxBBGohCiAAIRcgDCgCBCANRw0CDAELCyAAIRcgCSEGCwJAIBJBAUgNAANAIAUgEkEBayIBQQxsaiIAKAIAIAtHDQEgACgCBCANRw0BIAAoAgggB0cNASAAIAM2AgAgACAQNgIEIAAgGDYCCCASQQFKIQAgASESIAANAAtBACESCyAfQQE7AQogHyAXOwEIIB8gBjsBBiAfIBc7AQQgHyASOwECIB8gOD0BACATIB9BDGoiAkYEQAJAIAgoAsQCIhMgCCgCwAIiH2tBDG0iAEEDbEEBdiIBIABLBEAgCEHAAmogASAAaxCGCyAIKALEAiETIAgoAsACIR8MAQsgACABTQ0AIAggHyABQQxsaiITNgLEAgsgH0EMaiECCyAmQQhGISMgGyEcA0AgAkEMayICLwEAIREgAi8BAiEiIAIvAQYhASACLgEKIQAgAi8BCCEFIAggAi8BBCIeICNqIgY2AlAgCCAFQQFqNgJMIAggADYCSCAIIAFBAWs2AkQgCCAiICNrIgE2AkAgCCAANgI8IAggBjYCOCAIIAE2AjQgCEEAIABrIgE2AjAgICAia0EBaiEgQQAhDgNAAkAgASARaiIUIBVPDQAgCEEwaiAOQQxsaiIFKAIEIgAgBSgCCCIGSg0AIAgoArgBIAgoAtQBKAIAIBRsaiEFQQAgAWshHQNAAkAgACAJTwRAIAAhAQwBCyALIAUgAEEMbGoiASgCAEcEQCAAIQEMAQsgDSABKAIERwRAIAAhAQwBCyAHIAEoAghHBEAgACEBDAELIAEgAzYCACABIBA2AgQgASAYNgIIIAAhCgJAIABBAUgNAANAIAUgCkEBayIMQQxsaiIBKAIAIAtHDQEgASgCBCANRw0BIAEoAgggB0cNASABIAM2AgAgASAQNgIEIAEgGDYCCCAKQQFKIQEgDCEKIAENAAtBACEKCwJAIABBAWoiASAJTg0AIAUgAUEMbCIMaiIPKAIAIAtHDQAgBSAMaiIMKAIEIA1HDQAgDEEEaiEaA0AgByAFIAEiDEEMbGoiASgCCEcEQCAMIQEMAgsgDyADNgIAIBogEDYCACABIBg2AgggCSAMQQFqIgFHBEAgCyAFIAFBDGwiAGoiDygCAEcEQCAMIQAMAwsgACAFaiIZQQRqIRogDCEAIBkoAgQgDUcNAgwBCwsgDCEAIAkhAQsgAiAdOwEKIAIgHjsBCCACICI7AQYgAiAAOwEEIAIgCjsBAiACIBQ7AQAgAkEMaiICIBNHDQACQCAIKALEAiIMIAgoAsACIgBrQQxtIgpBA2xBAXYiAiAKSwRAIAhBwAJqIAIgCmsQhgsgCCgCxAIhDCAIKALAAiEADAELIAIgCk8NACAIIAAgAkEMbGoiDDYCxAILIAAgEyAfa0EMbUEMbGohAiAMIRMgACEfCyABQQFqIQAgASAGSA0ACwsgDkEBaiIOQQNHBEAgCEEwaiAOQQxsaigCACEBDAELCyARIBwgESAcSBshHCARIBsgESAbShshGyAiIBIgEiAiShshEiAeIBcgFyAeSBshFyAeICBqISAgAiAfRw0ACwwDCyAUIAMgAikCACI3QiCIIjinIhtsaiIFIDenIhJBAnRqIgAqAgAhOiAIKALQASIBKAIAIRogASgCBCEKIAgoAsQCIRQgCCgCwAIhByAAIAgqAqACIjs4AgAgFCAHa0EMbSEGAkAgCiASQQFqIglMBEAgEiEXDAELIDogBSAJQQJ0aiIAKgIAXARAIBIhFwwBCwNAAkAgACA7OAIAIAkiF0EBaiIJIApGDQAgOiAFIAlBAnRqIgAqAgBbDQEMAgsLIAohCQsCQCASQQFIDQADQCAFIBJBAWsiAEECdGoiASoCACA6XA0BIAEgOzgCACASQQFKIQEgACESIAENAAtBACESCyAHQQE7AQogByAXOwEIIAcgCTsBBiAHIBc7AQQgByASOwECIAcgOD0BACAUIAdBDGoiC0YEQAJAIAYgBkEDbEEBdiIASQRAIAhBwAJqIAAgBmsQhgsgCCgCxAIhFCAIKALAAiEHDAELIAAgBk8NACAIIAcgAEEMbGoiFDYCxAILIAdBDGohCwsgJkEIRiEVIAchDyAUIQwgGyEcA0AgC0EMayILLwEAIREgCy8BAiEQIAsvAQYhASALLgEKIQAgCy8BCCEJIAggCy8BBCIYIBVqIgU2AlAgCCAJQQFqNgJMIAggADYCSCAIIAFBAWs2AkQgCCAQIBVrIgE2AkAgCCAANgI8IAggBTYCOCAIIAE2AjQgCEEAIABrIgA2AjAgICAQa0EBaiEZQQAhDgNAAkAgACARaiICIBpPDQAgCEEwaiAOQQxsaiIBKAIEIgUgASgCCCINSg0AIAgoArgBIAgoAtQBKAIAIAJsaiEGQQAgAGshAwNAAkAgBSAKTwRAIAUhAQwBCyA6IAYgBUECdGoiACoCAFwEQCAFIQEMAQsgACA7OAIAAkAgBSIAQQFIDQADQCAGIABBAWsiAUECdGoiCSoCACA6XA0BIAkgOzgCACAAQQFKIQkgASEAIAkNAAtBACEACwJAIAVBAWoiASAKTg0AIAYgAUECdGoiCSoCACA6XA0AA0ACQCAJIDs4AgAgASIFQQFqIgEgCkYNACA6IAYgAUECdGoiCSoCAFsNAQwCCwsgCiEBCyALIAM7AQogCyAYOwEIIAsgEDsBBiALIAU7AQQgCyAAOwECIAsgAjsBACALQQxqIgsgDEcNAAJAIBQgB2tBDG0iAEEDbEEBdiIJIABLBEAgCEHAAmogCSAAaxCGCyAIKALEAiEUIAgoAsACIQcMAQsgACAJTQ0AIAggByAJQQxsaiIUNgLEAgsgByAMIA9rQQxtQQxsaiELIBQhDCAHIQ8LIAFBAWohBSABIA1IDQALCyAOQQFqIg5BA0cEQCAIQTBqIA5BDGxqKAIAIQAMAQsLIBEgHCARIBxIGyEcIBEgGyARIBtKGyEbIBAgEiAQIBJIGyESIBggFyAXIBhIGyEXIBggGWohICALIA9HDQALDAILIBQgAyACKQIAIjdCIIgiOKciG2xqIgkgN6ciEkECdGoiACgCACEKIAgoAtABIgEoAgAhGSABKAIEIQ0gCCgCxAIhESAIKALAAiEQIAAgCCgCoAIiCzYCACARIBBrQQxtIQYCQCANIBJBAWoiBUwEQCASIRcMAQsgCiAJIAVBAnRqIgAoAgBHBEAgEiEXDAELA0ACQCAAIAs2AgAgBSIXQQFqIgUgDUYNACAKIAkgBUECdGoiACgCAEYNAQwCCwsgDSEFCwJAIBJBAUgNAANAIAkgEkEBayIAQQJ0aiIBKAIAIApHDQEgASALNgIAIBJBAUohASAAIRIgAQ0AC0EAIRILIBBBATsBCiAQIBc7AQggECAFOwEGIBAgFzsBBCAQIBI7AQIgECA4PQEAIBEgEEEMaiIMRgRAAkAgBiAGQQNsQQF2IgBJBEAgCEHAAmogACAGaxCGCyAIKALEAiERIAgoAsACIRAMAQsgACAGTw0AIAggECAAQQxsaiIRNgLEAgsgEEEMaiEMCyAmQQhGIRMgECEaIBEhByAbIRwDQCAMQQxrIgwvAQAhFSAMLwECIRQgDC8BBiEBIAwuAQohACAMLwEIIQkgCCAMLwEEIg8gE2oiBTYCUCAIIAlBAWo2AkwgCCAANgJIIAggAUEBazYCRCAIIBQgE2siATYCQCAIIAA2AjwgCCAFNgI4IAggATYCNCAIQQAgAGsiADYCMCAgIBRrQQFqIR1BACEOA0ACQCAAIBVqIgMgGU8NACAIQTBqIA5BDGxqIgEoAgQiCSABKAIIIgJKDQAgCCgCuAEgCCgC1AEoAgAgA2xqIQZBACAAayEYA0ACQCAJIA1PBEAgCSEBDAELIAogBiAJQQJ0aiIAKAIARwRAIAkhAQwBCyAAIAs2AgAgCSEAAkAgCUEBSA0AA0AgBiAAQQFrIgFBAnRqIgUoAgAgCkcNASAFIAs2AgAgAEEBSiEFIAEhACAFDQALQQAhAAsCQCAJQQFqIgEgDU4NACAGIAFBAnRqIgUoAgAgCkcNAANAAkAgBSALNgIAIAEiCUEBaiIBIA1GDQAgCiAGIAFBAnRqIgUoAgBGDQEMAgsLIA0hAQsgDCAYOwEKIAwgDzsBCCAMIBQ7AQYgDCAJOwEEIAwgADsBAiAMIAM7AQAgDEEMaiIMIAdHDQACQCARIBBrQQxtIgBBA2xBAXYiCSAASwRAIAhBwAJqIAkgAGsQhgsgCCgCxAIhESAIKALAAiEQDAELIAAgCU0NACAIIBAgCUEMbGoiETYCxAILIBAgByAaa0EMbUEMbGohDCARIQcgECEaCyABQQFqIQkgASACSA0ACwsgDkEBaiIOQQNHBEAgCEEwaiAOQQxsaigCACEADAELCyAVIBwgFSAcSBshHCAVIBsgFSAbShshGyAUIBIgEiAUShshEiAPIBcgDyAXShshFyAPIB1qISAgDCAaRw0ACwwBCyAUIAMgAikCACI3QiCIIjinIhtsaiIFIDenIhJBA2xqIgAtAAIhGSAIKALQASIBKAIAIRMgASgCBCEJIAgoAsQCISIgCCgCwAIhISAILQCgAiEDIAgtAKECIRAgACAILQCiAiIYOgACIAAtAAEhFCAAIBA6AAEgAC0AACELIAAgAzoAAAJAIAkgEkEBaiIKTARAIBIhFwwBCyAFIApBA2xqIgEtAAAgC0H/AXFHBEAgEiEXDAELIAUgCkEDbGoiAC0AASAUQf8BcUcEQCASIRcMAQsgAEEBaiEGIBlB/wFxIQwgEiEXA0AgDCAFIAoiAEEDbGoiCi0AAkcEQCAAIQoMAgsgASADOgAAIAYgEDoAACAKIBg6AAIgCSAAQQFqIgpHBEAgBSAKQQNsIgZqIgEtAAAgC0H/AXFHBEAgACEXDAMLIAUgBmoiDUEBaiEGIAAhFyANLQABIBRB/wFxRw0CDAELCyAAIRcgCSEKCwJAIBJBAUgNACALQf8BcSEGA0AgBSASQQFrIgFBA2xqIgAtAAAgBkcNASAALQABIBRB/wFxRw0BIAAtAAIgGUH/AXFHDQEgACADOgAAIAAgEDoAASAAIBg6AAIgEkEBSiEAIAEhEiAADQALQQAhEgsgIUEBOwEKICEgFzsBCCAhIAo7AQYgISAXOwEEICEgEjsBAiAhIDg9AQAgIiAhQQxqIgJGBEACQCAIKALEAiIiIAgoAsACIiFrQQxtIgBBA2xBAXYiASAASwRAIAhBwAJqIAEgAGsQhgsgCCgCxAIhIiAIKALAAiEhDAELIAAgAU0NACAIICEgAUEMbGoiIjYCxAILICFBDGohAgsgJkEIRiEkIAtB/wFxIQsgGyEcA0AgAkEMayICLwEAIRogAi8BAiEfIAIvAQYhASACLgEKIQAgAi8BCCEFIAggAi8BBCIjICRqIgY2AlAgCCAFQQFqNgJMIAggADYCSCAIIAFBAWs2AkQgCCAfICRrIgE2AkAgCCAANgI8IAggBjYCOCAIIAE2AjQgCEEAIABrIgE2AjAgICAfa0EBaiEgQQAhDgNAAkAgASAaaiIPIBNPDQAgCEEwaiAOQQxsaiIFKAIEIgAgBSgCCCIGSg0AIAgoArgBIAgoAtQBKAIAIA9saiEFQQAgAWshHgNAAkAgACAJTwRAIAAhAQwBCyALIAUgAEEDbGoiAS0AAEcEQCAAIQEMAQsgFEH/AXEiDSABLQABRwRAIAAhAQwBCyAZQf8BcSIHIAEtAAJHBEAgACEBDAELIAEgAzoAACABIBA6AAEgASAYOgACIAAhCgJAIABBAUgNAANAIAUgCkEBayIMQQNsaiIBLQAAIAtHDQEgAS0AASANRw0BIAEtAAIgB0cNASABIAM6AAAgASAQOgABIAEgGDoAAiAKQQFKIQEgDCEKIAENAAtBACEKCwJAIABBAWoiASAJTg0AIAUgAUEDbCIMaiIRLQAAIAtHDQAgBSAMaiIMLQABIA1HDQAgDEEBaiEVA0AgByAFIAEiDEEDbGoiAS0AAkcEQCAMIQEMAgsgESADOgAAIBUgEDoAACABIBg6AAIgCSAMQQFqIgFHBEAgCyAFIAFBA2wiAGoiES0AAEcEQCAMIQAMAwsgACAFaiIdQQFqIRUgDCEAIB0tAAEgDUcNAgwBCwsgDCEAIAkhAQsgAiAeOwEKIAIgIzsBCCACIB87AQYgAiAAOwEEIAIgCjsBAiACIA87AQAgAkEMaiICICJHDQACQCAIKALEAiINIAgoAsACIgBrQQxtIgpBA2xBAXYiDCAKSwRAIAhBwAJqIAwgCmsQhgsgCCgCxAIhDSAIKALAAiEADAELIAogDE0NACAIIAAgDEEMbGoiDTYCxAILIAAgIiAha0EMbUEMbGohAiANISIgACEhCyABQQFqIQAgASAGSA0ACwsgDkEBaiIOQQNHBEAgCEEwaiAOQQxsaigCACEBDAELCyAaIBwgGiAcSBshHCAaIBsgGiAbShshGyAfIBIgEiAfShshEiAjIBcgFyAjSBshFyAgICNqISAgAiAhRw0ACwsgBEUNASAEIBw2AgQgBCASNgIAIAQgGyAca0EBajYCDCAEIBcgEmtBAWo2AggMAQsCfwJAAkACQAJAAkACQAJAAkACQCAlELcGBEAgCEEwaiANQQJqIAxBAmpBABCoBiEAIAhCADcDGCAIQgA3AxAgCEIANwMIIAhCgYCAgMAANwMoIAhBhoCIiHw2AiAgCEIANwMAIAggCDYCJCAAIAhBIGpB1NYKEJkEICUgABCzBiAAELEGGiAlKAIMIQEMAQsgJSgCCCANQQJqRw0CICUoAgwiASAMQQJqRw0CICUvAQBB/x9xDQELQQEhACAlKAIQQQEgARCvGxogJSgCECAlKAIsKAIAICUoAghBAWtsakEBICUoAgwQrxsaIA1BAU4EQANAICUoAgwgJSgCECAlKAIsKAIAIABsampBAWtBAToAACAlKAIQICUoAiwoAgAgAGxqQQE6AAAgACANRyEBIABBAWohACABDQALC0EAIQACQAJAAkACQAJAIAsOBgACAgIBAwILA0AgCEGAAmogC2oCfyAFIAtBA3QiAWorAwAiS5lEAAAAAAAA4EFjBEAgS6oMAQtBgICAgHgLIgAgSyAAt2NrIgBBACAAQQBKGyIAQf8BIABB/wFIGzoAACAIQeABaiALagJ/IAEgBmorAwAiS5lEAAAAAAAA4EFjBEAgS6oMAQtBgICAgHgLIgAgSyAAt2NrIgBBACAAQQBKGyIAQf8BIABB/wFIGzoAACAKIAtGIQAgC0EBaiELIABFDQALDAMLA0AgCCAAQQJ0IgtqAn8gBSAAQQN0IglqKwMAIkuZRAAAAAAAAOBBYwRAIEuqDAELQYCAgIB4CyIBIEsgAbdjazYChAIgCCALagJ/IAYgCWorAwAiS5lEAAAAAAAA4EFjBEAgS6oMAQtBgICAgHgLIgEgSyABt2NrNgLkASAAIApGIQEgAEEBaiEAIAFFDQALDAILQa5+IAhBMGpB7Y8EEIkDQdGOBEHbjgRBygQQmAoACwNAIAggAEECdCIBaiAFIABBA3QiCWorAwC2OAKQAiABIAhqIAYgCWorAwC2OALwASAAIApGIQEgAEEBaiEAIAFFDQALCyAHQQh2QQEgB0GA/gNxGyEAAkACQCAODhYAAQEBBwUBAQEBAQEBAQEBCQEBAQYEAQtBACEBQQAgJSgCMCISICUoAhBqQQFqIh8gEiACKQIAIjdCIIgiOKciIWxqIgogN6ciBWoiCy0AAA0JGiAILQCAAiINIAgtAOABaiEGIAgoAtgBIR4gCCgCuAEhIiAIKALEAiEaIAgoAsACIRMgCC0AoAIhLSALIAA6AAAgIiAeICFsaiIBIAVqLQAAIQIgCiAFQQFqIglqIgstAAAhDAJAAkACQAJAIAdBgIAEcSIjBEAgBSEcIAxB/wFxDQIgDSACayIMIAEgCWotAABqIAZLDQIMAQsgBSEcAkAgDEH/AXENACABIAlqIgwtAAAgDSACa2ogBksNAANAIAsgADoAACAKIAkiHEEBaiIJaiILLQAADQEgDSAMLQAAayABIAlqIgwtAABqIAZNDQALCyAKIAVBAWsiCWoiCy0AAEUNAiAFIRYMAwsDQCALIAA6AAAgCiAJIhxBAWoiCWoiCy0AAA0BIAwgASAJai0AAGogBk0NAAsLIAogBUEBayIJaiILLQAABEAgBSEWDAILIAYgDSACayIMIAEgCWotAABqSQRAIAUhFgwCCwNAIAsgADoAACAKIAkiFkEBayIJaiILLQAADQIgDCABIAlqLQAAaiAGTQ0ACwwBCwNAIAYgASAJIhZqLQAAIA1qIAEgBWotAABrSQRAIAUhFgwCCyALIAA6AAAgCiAWIgVBAWsiCWoiCy0AAEUNAAsLIBNBATsBCiATIBw7AQggEyAcOwEEIBMgFjsBAiATIDg9AQAgEyAcQQFqOwEGIBogE0EMaiILRgRAAkAgCCgCxAIiGiAIKALAAiITa0EMbSIBQQNsQQF2IgkgAUsEQCAIQcACaiAJIAFrEIYLIAgoAsQCIRogCCgCwAIhEwwBCyABIAlNDQAgCCATIAlBDGxqIho2AsQCCyATQQxqIQsLICZBCEYhKCANIAJrIQ4gJkEIRiEbICEhJANAIAtBDGsiCy8BACEdIAsvAQIhFCALLwEGIQEgCy4BCiEJIAsvAQghBSAIIAsvAQQiESAoaiICNgJQIAggBUEBajYCTCAIIAk2AkggCCABQQFrNgJEIAggFCAoayIBNgJAIAggCTYCPCAIIAI2AjggCCABNgI0IAhBACAJayIKNgIwIBEgFGshECAgQQFqISAgIiAdIB5sIixqIRhBACEZA0AgHyAKIB1qIhUgEmxqIQUgIiAVIB5saiEJAkAgIwRAIAEgAkoNAUEAIAprIQMDQAJAIAEgBWoiCi0AAARAIAEhCgwBCyAGIA4gASAJai0AAGpJBEAgASEKDAELIAogADoAACABIQcCQCAFIAFBAWsiCmoiDC0AAA0AIA4gCSAKai0AAGogBksNAANAIAwgADoAACAFIAoiB0EBayIKaiIMLQAADQEgDiAJIApqLQAAaiAGTQ0ACwsCQCAFIAFBAWoiCmoiDC0AAA0AIA4gCSAKai0AAGogBksNAANAIAwgADoAACAFIAoiAUEBaiIKaiIMLQAADQEgDiAJIApqLQAAaiAGTQ0ACwsgCyADOwEKIAsgETsBCCALIBQ7AQYgCyABOwEEIAsgBzsBAiALIBU7AQAgC0EMaiILIBpHDQACQCAIKALEAiIMIAgoAsACIgFrQQxtIgtBA2xBAXYiByALSwRAIAhBwAJqIAcgC2sQhgsgCCgCxAIhDCAIKALAAiEBDAELIAcgC08NACAIIAEgB0EMbGoiDDYCxAILIAEgGiATa0EMbUEMbGohCyAMIRogASETCyAKQQFqIQEgAiAKSg0ACwwBCyAbRQRAIAEgAkoNAUEAIAprIQ8DQAJAIAEgBWoiCi0AAARAIAEhCgwBCyAGIAEgCWotAAAgDWogASAYai0AAGtJBEAgASEKDAELIAogADoAACABIQcCQCAFIAFBAWsiCmoiDC0AAA0AA0AgCSAKai0AACANaiAHIAlqLQAAayAGSw0BIAwgADoAACAKIQcgBSAKQQFrIgpqIgwtAABFDQALCwJAIAUgAUEBaiIKaiIMLQAADQADQAJAIAkgCmotAAAgDWoiAyABIAlqLQAAayAGTQ0AIAEgEU4NAiADIAogGGotAABrIAZNDQAMAgsgDCAAOgAAIAUgCiIBQQFqIgpqIgwtAABFDQALCyALIA87AQogCyAROwEIIAsgFDsBBiALIAE7AQQgCyAHOwECIAsgFTsBACALQQxqIgsgGkcNAAJAIAgoAsQCIgwgCCgCwAIiAWtBDG0iC0EDbEEBdiIHIAtLBEAgCEHAAmogByALaxCGCyAIKALEAiEMIAgoAsACIQEMAQsgByALTw0AIAggASAHQQxsaiIMNgLEAgsgASAaIBNrQQxtQQxsaiELIAwhGiABIRMLIApBAWohASACIApKDQALDAELIAEgAkoNAEEAIAprIRcDQAJAIAEgBWoiCi0AAARAIAEhCgwBCyABIAlqLQAAIQcCQCAQIAEgFGsiDEEBa08EQCAHIA1qIAEgGGpBAWstAABrIAZNDQELIAwgEE0EQCAHIA1qIAEgGGotAABrIAZNDQELIBAgDEEBakkEQCABIQoMAgsgByANaiABIBhqLQABayAGTQ0AIAEhCgwBCyAKIAA6AAAgASEDAkAgBSABQQFrIgpqIgwtAAANAANAIAkgCmotAAAgDWogAyAJai0AAGsgBksNASAMIAA6AAAgCiEDIAUgCkEBayIKaiIMLQAARQ0ACwsgASEMAkAgBSABQQFqIgpqIgctAAANAANAIAEhDAJAIAkgCiIBai0AACANaiIKIAkgDGotAABrIAZNDQAgECABIBRrIg9BAWtPBEAgCiAMIBhqLQAAayAGTQ0BCyAPIBBNBEAgCiABIBhqLQAAayAGTQ0BCyAQIA9BAWpJBEAgASEKDAMLIAogDCAYai0AAmsgBk0NACABIQoMAgsgByAAOgAAIAEhDCAFIAFBAWoiCmoiBy0AAEUNAAsLIAsgFzsBCiALIBE7AQggCyAUOwEGIAsgDDsBBCALIAM7AQIgCyAVOwEAIAtBDGoiCyAaRw0AAkAgCCgCxAIiDCAIKALAAiIBa0EMbSILQQNsQQF2IgcgC0sEQCAIQcACaiAHIAtrEIYLIAgoAsQCIQwgCCgCwAIhAQwBCyAHIAtPDQAgCCABIAdBDGxqIgw2AsQCCyABIBogE2tBDG1BDGxqIQsgDCEaIAEhEwsgCkEBaiEBIAIgCkoNAAsLIBlBAWoiGUEDRwRAIAhBMGogGUEMbGoiCSgCCCECIAkoAgQhASAJKAIAIQoMAQsLIB0gIUghASAdICRKIQkgFCAWSCEFIBEgHEohCgJAIC8NACARIBRJDQAgIiAUICxqaiAtIBBBAWoQrxsaCyAdICEgARshISAdICQgCRshJCAUIBYgBRshFiARIBwgChshHCAQICBqISAgCyATRw0ACyAkICFrQQFqIQEgISEnIBwgFmtBAWoMCQtBrn4gCEEwakHtjwQQiQNB0Y4EQduOBEHtBBCYCgALQal+IAhBMGpBppAEEIkDQdGOBEHbjgRBrAQQmAoAC0GpfiAIQTBqQe6PBBCJA0HRjgRB244EQasEEJgKAAtBACEBQQAgJSgCMCIeICUoAhBqQQFqIhIgHiACKQIAIjdCIIgiOKciHGxqIgYgN6ciBWoiCi0AAA0FGiAIKALYASEdIAgoArgBISIgCCoCkAKMITkgCCoC+AEhOiAIKgL0ASE+IAgqApgCjCE7IAgqApQCjCFBIAgoAsQCIQ8gCCgCwAIhGSAIKgLwASE/IAgqAqgCIUcgCCoCpAIhSCAIKgKgAiFJIAogADoAACAGIAVBAWoiCmoiCy0AACENICIgHCAdbGoiCSAFQQxsaiIBKgIIIUQgASoCBCFFIAEqAgAhRgJAAkACQCAHQYCABHEiHwRAIAUhGwJAIA1B/wFxDQADQCAJIApBDGxqIgEqAgggRJMiPCA6X0EBcw0BIDsgPF9BAXMNASABKgIEIEWTIjwgPl9BAXMNASABKgIAIEaTIj0gOWBBAXMNASA9ID9fQQFzDQEgPCBBYEEBcw0BIAsgADoAACAKIRsgBiAKQQFqIgpqIgstAABFDQALCyAGIAVBAWsiAWoiCi0AAEUNASAFIRYMAwsgBSEbIA1B/wFxDQEgRCE8IEUhPSBGIUADQCAJIAoiDUEMbGoiASoCCCA8kyI8IDpfQQFzDQIgOyA8X0EBcw0CIAEqAgQgPZMiPCA+X0EBcw0CIAEqAgAgQJMiPSA5YEEBcw0CID0gP19BAXMNAiA8IEFgQQFzDQIgCyAAOgAAIAYgDUEBaiIKaiILLQAABEAgDSEbDAMFIAEqAgghPCABKgIEIT0gASoCACFAIA0hGwwBCwALAAsDQCAJIAEiFkEMbGoiASoCCCBEkyI8IDpfQQFzBEAgBSEWDAMLIDsgPF9BAXMEQCAFIRYMAwsgASoCBCBFkyI8ID5fQQFzBEAgBSEWDAMLIAEqAgAgRpMiPSA5YEEBcwRAIAUhFgwDCyA9ID9fQQFzBEAgBSEWDAMLIDwgQWBBAXMEQCAFIRYMAwsgCiAAOgAAIAYgFiIFQQFrIgFqIgotAABFDQALDAELIAYgBUEBayIBaiILLQAABEAgBSEWDAELA0AgCSABIhZBDGxqIgEqAgggCSAFQQxsaiIKKgIIkyI8IDpfQQFzBEAgBSEWDAILIAEqAgQgCioCBJMiPSA+X0EBcwRAIAUhFgwCCyABKgIAIAoqAgCTIkAgOWBBAXMEQCAFIRYMAgsgPyBAYEEBcwRAIAUhFgwCCyA9IEFgQQFzBEAgBSEWDAILIDsgPF9BAXMEQCAFIRYMAgsgCyAAOgAAIAYgFiIFQQFrIgFqIgstAABFDQALCyAZQQE7AQogGSAbOwEIIBkgGzsBBCAZIBY7AQIgGSA4PQEAIBkgG0EBajsBBiAPIBlBDGoiC0YEQAJAIAgoAsQCIg8gCCgCwAIiGWtBDG0iAUEDbEEBdiIJIAFLBEAgCEHAAmogCSABaxCGCyAIKALEAiEPIAgoAsACIRkMAQsgASAJTQ0AIAggGSAJQQxsaiIPNgLEAgsgGUEMaiELCyAmQQhGISQgJkEIRiEXIBwhIQNAIAtBDGsiCy8BACETIAsvAQIhECALLwEGIQEgCy4BCiEJIAsvAQghBSAIIAsvAQQiFCAkaiIMNgJQIAggBUEBajYCTCAIIAk2AkggCCABQQFrNgJEIAggECAkayIBNgJAIAggCTYCPCAIIAw2AjggCCABNgI0IAhBACAJayIGNgIwIBQgEGshByAgQQFqISAgIiATIB1saiEDQQAhFQNAIBIgBiATaiIRIB5saiEFICIgESAdbGohCQJAIB8EQCABIAxKDQFBACAGayEOA0ACQCABIAVqIgYtAAAEQCABIQYMAQsgCSABQQxsaiIKKgIIIESTIjwgOl9BAXMEQCABIQYMAQsgOyA8X0EBcwRAIAEhBgwBCyAKKgIEIEWTIjwgPl9BAXMEQCABIQYMAQsgCioCACBGkyI9IDlgQQFzBEAgASEGDAELID0gP19BAXMEQCABIQYMAQsgPCBBYEEBcwRAIAEhBgwBCyAGIAA6AAAgASECAkAgBSABQQFrIgZqIg0tAAANAANAIAkgBiIKQQxsaiIGKgIIIESTIjwgOl9BAXMNASA7IDxfQQFzDQEgBioCBCBFkyI8ID5fQQFzDQEgBioCACBGkyI9IDlgQQFzDQEgPSA/X0EBcw0BIDwgQWBBAXMNASANIAA6AAAgCiECIAUgCkEBayIGaiINLQAARQ0ACwsCQCAFIAFBAWoiBmoiDS0AAA0AA0AgCSAGQQxsaiIKKgIIIESTIjwgOl9BAXMNASA7IDxfQQFzDQEgCioCBCBFkyI8ID5fQQFzDQEgCioCACBGkyI9IDlgQQFzDQEgPSA/X0EBcw0BIDwgQWBBAXMNASANIAA6AAAgBSAGIgFBAWoiBmoiDS0AAEUNAAsLIAsgDjsBCiALIBQ7AQggCyAQOwEGIAsgATsBBCALIAI7AQIgCyAROwEAIAtBDGoiCyAPRw0AAkAgCCgCxAIiDSAIKALAAiIBa0EMbSIKQQNsQQF2IgsgCksEQCAIQcACaiALIAprEIYLIAgoAsQCIQ0gCCgCwAIhAQwBCyAKIAtNDQAgCCABIAtBDGxqIg02AsQCCyABIA8gGWtBDG1BDGxqIQsgDSEPIAEhGQsgBkEBaiEBIAYgDEgNAAsMAQsgF0UEQCABIAxKDQFBACAGayEYA0ACQCABIAVqIgYtAAAEQCABIQYMAQsgCSABQQxsIg1qIgoqAgggAyANaiINKgIIkyI8IDpfQQFzBEAgASEGDAELIAoqAgQgDSoCBJMiPSA+X0EBcwRAIAEhBgwBCyAKKgIAIA0qAgCTIkAgOWBBAXMEQCABIQYMAQsgPyBAYEEBcwRAIAEhBgwBCyA9IEFgQQFzBEAgASEGDAELIDsgPF9BAXMEQCABIQYMAQsgBiAAOgAAIAEhAgJAIAUgAUEBayIGaiIOLQAADQADQCAJIAYiDUEMbGoiBioCCCAJIAJBDGxqIgoqAgiTIjwgOl9BAXMNASAGKgIEIAoqAgSTIj0gPl9BAXMNASAGKgIAIAoqAgCTIkAgOWBBAXMNASA/IEBgQQFzDQEgPSBBYEEBcw0BIDsgPF9BAXMNASAOIAA6AAAgDSECIAUgDUEBayIGaiIOLQAARQ0ACwsCQCAFIAFBAWoiBmoiDS0AAA0AA0AgCSAGIgpBDGwiDmoiBioCACE9IAYqAgQhPAJAAkAgBioCCCJCIAkgAUEMbGoiBioCCJMiQCA6X0EBcw0AIDwgBioCBJMiQyA+X0EBcw0AID0gBioCAJMiSiA5YEEBcw0AID8gSmBBAXMNACBBIENfQQFzDQAgOyBAXw0BCyBCIAMgDmoiBioCCJMiQCA7YEEBcwRAIAohBgwDCyA8IAYqAgSTIjwgPl9BAXMEQCAKIQYMAwsgPSAGKgIAkyI9IDlgQQFzBEAgCiEGDAMLID0gP19BAXMEQCAKIQYMAwsgPCBBYEEBcwRAIAohBgwDCyABIBROBEAgCiEGDAMLIDogQGBBAXNFDQAgCiEGDAILIA0gADoAACAFIAoiAUEBaiIGaiINLQAARQ0ACwsgCyAYOwEKIAsgFDsBCCALIBA7AQYgCyABOwEEIAsgAjsBAiALIBE7AQAgC0EMaiILIA9HDQACQCAIKALEAiINIAgoAsACIgFrQQxtIgpBA2xBAXYiCyAKSwRAIAhBwAJqIAsgCmsQhgsgCCgCxAIhDSAIKALAAiEBDAELIAogC00NACAIIAEgC0EMbGoiDTYCxAILIAEgDyAZa0EMbUEMbGohCyANIQ8gASEZCyAGQQFqIQEgBiAMSA0ACwwBCyABIAxKDQBBACAGayEjA0ACQCABIAVqIgYtAAAEQCABIQYMAQsgCSABQQxsIg1qIgoqAgghPCAKKgIEIT0gCioCACFAAkACQCABIBBrIgpBAWsgB0sNACA8IAMgDWpBDGsiAioCCJMiQiA6X0EBcw0AIDsgQl9BAXMNACA9IAIqAgSTIkIgPl9BAXMNACBAIAIqAgCTIkMgOWBBAXMNACA/IENgQQFzDQAgQSBCXw0BCwJAIAcgCkkNACA8IAMgDWoiAioCCJMiQiA6X0EBcw0AIDsgQl9BAXMNACA9IAIqAgSTIkIgPl9BAXMNACBAIAIqAgCTIkMgOWBBAXMNACA/IENgQQFzDQAgQSBCXw0BCyAHIApBAWpJBEAgASEGDAILIDwgAyANaiIKKgIUkyI8IDpfQQFzBEAgASEGDAILIDsgPF9BAXMEQCABIQYMAgsgPSAKKgIQkyI8ID5fQQFzBEAgASEGDAILIEAgCioCDJMiPSA5YEEBcwRAIAEhBgwCCyA9ID9fQQFzBEAgASEGDAILIDwgQWBBAXNFDQAgASEGDAELIAYgADoAACABIQICQCAFIAFBAWsiBmoiDi0AAA0AA0AgCSAGIg1BDGxqIgYqAgggCSACQQxsaiIKKgIIkyI8IDpfQQFzDQEgBioCBCAKKgIEkyI9ID5fQQFzDQEgBioCACAKKgIAkyJAIDlgQQFzDQEgPyBAYEEBcw0BID0gQWBBAXMNASA7IDxfQQFzDQEgDiAAOgAAIA0hAiAFIA1BAWsiBmoiDi0AAEUNAAsLIAEhCgJAIAUgAUEBaiIGaiINLQAADQADQCABIQogCSAGIgFBDGwiGGoiBioCACE9IAYqAgQhPAJAAkAgBioCCCJCIAkgCkEMbCIOaiIGKgIIkyJAIDpfQQFzDQAgOyBAX0EBcw0AIDwgBioCBJMiQCA+X0EBcw0AID0gBioCAJMiQyA5YEEBcw0AID8gQ2BBAXMNACBAIEFgDQELAkAgASAQayIGQQFrIAdLDQAgQiADIA5qIhoqAgiTIkAgOl9BAXMNACA7IEBfQQFzDQAgPCAaKgIEkyJAID5fQQFzDQAgPSAaKgIAkyJDIDlgQQFzDQAgPyBDYEEBcw0AIEAgQWANAQsCQCAGIAdLDQAgQiADIBhqIhgqAgiTIkAgOl9BAXMNACA7IEBfQQFzDQAgPCAYKgIEkyJAID5fQQFzDQAgPSAYKgIAkyJDIDlgQQFzDQAgPyBDYEEBcw0AIEAgQWANAQsgByAGQQFqSQRAIAEhBgwDCyBCIAMgDmoiBioCIJMiQCA6X0EBcwRAIAEhBgwDCyA7IEBfQQFzBEAgASEGDAMLIDwgBioCHJMiPCA+X0EBcwRAIAEhBgwDCyA9IAYqAhiTIj0gOWBBAXMEQCABIQYMAwsgPSA/X0EBcwRAIAEhBgwDCyA8IEFgQQFzRQ0AIAEhBgwCCyANIAA6AAAgASEKIAUgAUEBaiIGaiINLQAARQ0ACwsgCyAjOwEKIAsgFDsBCCALIBA7AQYgCyAKOwEEIAsgAjsBAiALIBE7AQAgC0EMaiILIA9HDQACQCAIKALEAiINIAgoAsACIgFrQQxtIgpBA2xBAXYiCyAKSwRAIAhBwAJqIAsgCmsQhgsgCCgCxAIhDSAIKALAAiEBDAELIAogC00NACAIIAEgC0EMbGoiDTYCxAILIAEgDyAZa0EMbUEMbGohCyANIQ8gASEZCyAGQQFqIQEgBiAMSA0ACwsgFUEBaiIVQQNHBEAgCEEwaiAVQQxsaiIJKAIIIQwgCSgCBCEBIAkoAgAhBgwBCwsgEyAcSCEFIBMgIUohBiAQIBZIIQogFCAbSiENAkAgLw0AIBQgECIBSQ0AA0AgAyABQQxsaiIJIEc4AgggCSBIOAIEIAkgSTgCACABIBRHIQkgAUEBaiEBIAkNAAsLIBMgHCAFGyEcIBMgISAGGyEhIBAgFiAKGyEWIBQgGyANGyEbIAcgIGohICALIBlHDQALICEgHGtBAWohASAcIScgGyAWa0EBagwFC0EAIQFBACAlKAIwIiIgJSgCEGpBAWoiHiAiIAIpAgAiN0IgiCI4pyIbbGoiBiA3pyIFaiIKLQAADQQaIAgoAtgBIRMgCCgCuAEhHSAIKgKQAowhOiAIKALEAiEPIAgoAsACIRUgCCoC8AEhOyAIKgKgAiFBIAogADoAACAGIAVBAWoiCWoiCi0AACELIB0gEyAbbGoiASAFQQJ0aioCACE+AkACQAJAAkAgB0GAgARxIhIEQCAFIRcgC0H/AXENAiABIAlBAnRqKgIAID6TIjkgOmBBAXMNAiA5IDtfQQFzDQIMAQsgBSEXAkAgC0H/AXENACABIAlBAnRqIgsqAgAgPpMiOSA6YEEBcw0AIDkgO19BAXMNAANAIAogADoAACAGIAkiF0EBaiIJaiIKLQAADQEgASAJQQJ0aiINKgIAIAsqAgCTIjkgOmBBAXMNASANIQsgOSA7Xw0ACwsgBiAFQQFrIglqIgotAABFDQIgBSEWDAMLA0AgCiAAOgAAIAYgCSIXQQFqIglqIgotAAANASABIAlBAnRqKgIAID6TIjkgOmBBAXMNASA5IDtfQQFzRQ0ACwsgBiAFQQFrIglqIgotAAAEQCAFIRYMAgsgASAJQQJ0aioCACA+kyI5IDpgQQFzBEAgBSEWDAILIDkgO19BAXMEQCAFIRYMAgsDQCAKIAA6AAAgBiAJIhZBAWsiCWoiCi0AAA0CIAEgCUECdGoqAgAgPpMiOSA6YEEBcw0CIDkgO19BAXNFDQALDAELA0AgASAJIhZBAnRqKgIAIAEgBUECdGoqAgCTIjkgOmBBAXMEQCAFIRYMAgsgOSA7X0EBcwRAIAUhFgwCCyAKIAA6AAAgBiAWIgVBAWsiCWoiCi0AAEUNAAsLIBVBATsBCiAVIBc7AQggFSAXOwEEIBUgFjsBAiAVIDg9AQAgFSAXQQFqOwEGIA8gFUEMaiIKRgRAAkAgCCgCxAIiDyAIKALAAiIVa0EMbSIBQQNsQQF2IgkgAUsEQCAIQcACaiAJIAFrEIYLIAgoAsQCIQ8gCCgCwAIhFQwBCyABIAlNDQAgCCAVIAlBDGxqIg82AsQCCyAVQQxqIQoLICZBCEYhISAmQQhGISMgGyEcA0AgCkEMayIKLwEAIRkgCi8BAiEDIAovAQYhASAKLgEKIQkgCi8BCCEFIAggCi8BBCIUICFqIg02AlAgCCAFQQFqNgJMIAggCTYCSCAIIAFBAWs2AkQgCCADICFrIgE2AkAgCCAJNgI8IAggDTYCOCAIIAE2AjQgCEEAIAlrIgY2AjAgFCADayEHICBBAWohICAdIBMgGWxqIQ5BACEaA0AgHiAGIBlqIhEgImxqIQUgHSARIBNsaiEJAkAgEgRAIAEgDUoNAUEAIAZrIQIDQAJAIAEgBWoiBi0AAARAIAEhBgwBCyAJIAFBAnRqKgIAID6TIjkgOmBBAXMEQCABIQYMAQsgOSA7X0EBcwRAIAEhBgwBCyAGIAA6AAAgASEMAkAgBSABQQFrIgZqIgstAAANACAJIAZBAnRqKgIAID6TIjkgOmBBAXMNACA5IDtfQQFzDQADQCALIAA6AAAgBSAGIgxBAWsiBmoiCy0AAA0BIAkgBkECdGoqAgAgPpMiOSA6YEEBcw0BIDkgO19BAXNFDQALCwJAIAUgAUEBaiIGaiILLQAADQAgCSAGQQJ0aioCACA+kyI5IDpgQQFzDQAgOSA7X0EBcw0AA0AgCyAAOgAAIAUgBiIBQQFqIgZqIgstAAANASAJIAZBAnRqKgIAID6TIjkgOmBBAXMNASA5IDtfQQFzRQ0ACwsgCiACOwEKIAogFDsBCCAKIAM7AQYgCiABOwEEIAogDDsBAiAKIBE7AQAgCkEMaiIKIA9HDQACQCAIKALEAiILIAgoAsACIgFrQQxtIgpBA2xBAXYiDCAKSwRAIAhBwAJqIAwgCmsQhgsgCCgCxAIhCyAIKALAAiEBDAELIAogDE0NACAIIAEgDEEMbGoiCzYCxAILIAEgDyAVa0EMbUEMbGohCiALIQ8gASEVCyAGQQFqIQEgBiANSA0ACwwBCyAjRQRAIAEgDUoNAUEAIAZrIRADQAJAIAEgBWoiBi0AAARAIAEhBgwBCyAJIAFBAnQiC2oqAgAgCyAOaioCAJMiOSA6YEEBcwRAIAEhBgwBCyA5IDtfQQFzBEAgASEGDAELIAYgADoAACABIQsCQCAFIAFBAWsiBmoiDC0AAA0AA0AgCSAGQQJ0aioCACAJIAtBAnRqKgIAkyI5IDpgQQFzDQEgOSA7X0EBcw0BIAwgADoAACAFIAYiC0EBayIGaiIMLQAARQ0ACwsCQCAFIAFBAWoiBmoiDC0AAA0AA0ACQCAJIAZBAnQiAmoqAgAiPyAJIAFBAnRqKgIAkyI5IDpgQQFzRUEAIDkgO18bDQAgPyACIA5qKgIAkyI5IDpgQQFzDQIgASAUTg0CIDkgO19BAXNFDQAMAgsgDCAAOgAAIAUgBiIBQQFqIgZqIgwtAABFDQALCyAKIBA7AQogCiAUOwEIIAogAzsBBiAKIAE7AQQgCiALOwECIAogETsBACAKQQxqIgogD0cNAAJAIAgoAsQCIgsgCCgCwAIiAWtBDG0iCkEDbEEBdiIMIApLBEAgCEHAAmogDCAKaxCGCyAIKALEAiELIAgoAsACIQEMAQsgCiAMTQ0AIAggASAMQQxsaiILNgLEAgsgASAPIBVrQQxtQQxsaiEKIAshDyABIRULIAZBAWohASAGIA1IDQALDAELIAEgDUoNAEEAIAZrIR8DQAJAIAEgBWoiBi0AAARAIAEhBgwBCyAJIAFBAnQiDGoqAgAhOQJAAkAgASADayILQQFrIAdLDQAgOSAMIA5qQQRrKgIAkyI/IDpgQQFzDQAgOyA/YA0BCwJAIAcgC0kNACA5IAwgDmoqAgCTIj8gOmBBAXMNACA7ID9gDQELIAcgC0EBakkEQCABIQYMAgsgOSAMIA5qKgIEkyI5IDpgQQFzBEAgASEGDAILIDkgO19BAXNFDQAgASEGDAELIAYgADoAACABIQICQCAFIAFBAWsiBmoiCy0AAA0AA0AgCSAGQQJ0aioCACAJIAJBAnRqKgIAkyI5IDpgQQFzDQEgOSA7X0EBcw0BIAsgADoAACAGIQIgBSAGQQFrIgZqIgstAABFDQALCyABIQsCQCAFIAFBAWoiBmoiDC0AAA0AA0AgASELAkAgCSAGIgFBAnQiEGoqAgAiPyAJIAtBAnQiBmoqAgCTIjkgOmBBAXNFQQAgOSA7XxsNAAJAIAEgA2siGEEBayAHSw0AID8gBiAOaioCAJMiOSA6YEEBcw0AIDkgO18NAQsCQCAHIBhJDQAgPyAOIBBqKgIAkyI5IDpgQQFzDQAgOSA7Xw0BCyAHIBhBAWpJBEAgASEGDAMLID8gBiAOaioCCJMiOSA6YEEBcwRAIAEhBgwDCyA5IDtfQQFzRQ0AIAEhBgwCCyAMIAA6AAAgASELIAUgAUEBaiIGaiIMLQAARQ0ACwsgCiAfOwEKIAogFDsBCCAKIAM7AQYgCiALOwEEIAogAjsBAiAKIBE7AQAgCkEMaiIKIA9HDQACQCAIKALEAiILIAgoAsACIgFrQQxtIgpBA2xBAXYiDCAKSwRAIAhBwAJqIAwgCmsQhgsgCCgCxAIhCyAIKALAAiEBDAELIAogDE0NACAIIAEgDEEMbGoiCzYCxAILIAEgDyAVa0EMbUEMbGohCiALIQ8gASEVCyAGQQFqIQEgBiANSA0ACwsgGkEBaiIaQQNHBEAgCEEwaiAaQQxsaiIJKAIIIQ0gCSgCBCEBIAkoAgAhBgwBCwsgGSAbSCEFIBkgHEohBiADIBZIIQsgFCAXSiENAkAgLw0AIBQgAyIBSQ0AA0AgDiABQQJ0aiBBOAIAIAEgFEchCSABQQFqIQEgCQ0ACwsgGSAbIAUbIRsgGSAcIAYbIRwgAyAWIAsbIRYgFCAXIA0bIRcgByAgaiEgIAogFUcNAAsgHCAba0EBaiEBIBshJyAXIBZrQQFqDAQLICUoAjAiKSAlKAIQakEBaiIwICkgAikCACI3QiCIIjinIidsaiIJIDenIhZqIgEtAAANAUEAIAgoAoQCayENQQAgCCgCjAJrIQpBACAIKAKIAmshAiAIKALYASEsIAgoArgBIS0gCCgC7AEhBiAIKALoASELIAgoAsQCIRsgCCgCwAIhJCAIKALkASEMIAgoAqgCITEgCCgCpAIhMiAIKAKgAiEqIAEgADoAACAJIBZBAWoiDmoiAy0AACEPIC0gJyAsbGoiBSAWQQxsaiIBKAIIIRAgASgCBCEYIAEoAgAhFAJAIAdBgIAEcSIzBEAgFiErAkAgD0H/AXENAANAIAUgDiIHQQxsaiIBKAIIIBBrIg4gBkoNASAKIA5KDQEgASgCBCAYayIOIAtKDQEgASgCACAUayIBIA1IDQEgASAMSg0BIAIgDkoNASADIAA6AAAgByErIAkgB0EBaiIOaiIDLQAARQ0ACwsgCSAWQQFrIgdqIg4tAAANAQNAIAUgByIBQQxsaiIHKAIIIBBrIgMgBkoNAiADIApIDQIgBygCBCAYayIDIAtKDQIgBygCACAUayIHIA1IDQIgByAMSg0CIAIgA0oNAiAOIAA6AAAgASEWIAkgAUEBayIHaiIOLQAARQ0ACwwBCyAWISsCQCAPQf8BcQ0AIBAhDyAYIREgFCEaA38gBSAOIgdBDGxqIgEoAgggD2siDiAGSg0BIAogDkoNASABKAIEIBFrIg4gC0oNASABKAIAIBprIg8gDUgNASAMIA9IDQEgAiAOSg0BIAMgADoAACAJIAdBAWoiDmoiAy0AAAR/IAcFIAEoAgghDyABKAIEIREgASgCACEaIAchKwwBCwshKwsgCSAWQQFrIgdqIgMtAAANAANAIAUgByIBQQxsaiIHKAIIIAUgFkEMbGoiDigCCGsiDyAGSg0BIAcoAgQgDigCBGsiESALSg0BIAcoAgAgDigCAGsiByANSA0BIAcgDEoNASACIBFKDQEgCiAPSg0BIAMgADoAACABIRYgCSABQQFrIgdqIgMtAABFDQALCyAkQQE7AQogJCArOwEIICQgKzsBBCAkIBY7AQIgJCA4PQEAICQgK0EBajsBBiAbICRBDGoiA0YEQAJAIAgoAsQCIhsgCCgCwAIiJGtBDG0iAUEDbEEBdiIJIAFLBEAgCEHAAmogCSABaxCGCyAIKALEAiEbIAgoAsACISQMAQsgASAJTQ0AIAggJCAJQQxsaiIbNgLEAgsgJEEMaiEDCyAmQQhGITUgJkEIRiEuICchJgNAIANBDGsiAy8BACEoIAMvAQIhHyADLwEGIQEgAy4BCiEJIAMvAQghBSAIIAMvAQQiFyA1aiIaNgJQIAggBUEBajYCTCAIIAk2AkggCCABQQFrNgJEIAggHyA1ayIBNgJAIAggCTYCPCAIIBo2AjggCCABNgI0IAhBACAJayIHNgIwIBcgH2shIiAgQQFqITYgLSAoICxsaiEeQQAhIANAIDAgByAoaiIcIClsaiEFIC0gHCAsbGohCQJAIDMEQCABIBpKDQFBACAHayEZA0ACQCABIAVqIgctAAAEQCABIQcMAQsgBiAJIAFBDGxqIg4oAgggEGsiD0gEQCABIQcMAQsgCiAPSgRAIAEhBwwBCyALIA4oAgQgGGsiD0gEQCABIQcMAQsgDSAOKAIAIBRrIg5KBEAgASEHDAELIAwgDkgEQCABIQcMAQsgAiAPSgRAIAEhBwwBCyAHIAA6AAAgASEVAkAgBSABQQFrIgdqIg8tAAANAANAIAkgByIOQQxsaiIHKAIIIBBrIhEgBkoNASAKIBFKDQEgBygCBCAYayIRIAtKDQEgBygCACAUayIHIA1IDQEgByAMSg0BIAIgEUoNASAPIAA6AAAgDiEVIAUgDkEBayIHaiIPLQAARQ0ACwsCQCAFIAFBAWoiB2oiDy0AAA0AA0AgBiAJIAdBDGxqIg4oAgggEGsiEUgNASAKIBFKDQEgCyAOKAIEIBhrIhFIDQEgDSAOKAIAIBRrIg5KDQEgDCAOSA0BIAIgEUoNASAPIAA6AAAgBSAHIgFBAWoiB2oiDy0AAEUNAAsLIAMgGTsBCiADIBc7AQggAyAfOwEGIAMgATsBBCADIBU7AQIgAyAcOwEAIANBDGoiAyAbRw0AAkAgCCgCxAIiDyAIKALAAiIBa0EMbSIOQQNsQQF2IgMgDksEQCAIQcACaiADIA5rEIYLIAgoAsQCIQ8gCCgCwAIhAQwBCyADIA5PDQAgCCABIANBDGxqIg82AsQCCyABIBsgJGtBDG1BDGxqIQMgDyEbIAEhJAsgB0EBaiEBIAcgGkgNAAsMAQsgLkUEQCABIBpKDQFBACAHayEhA0ACQCABIAVqIgctAAAEQCABIQcMAQsgBiAJIAFBDGwiD2oiDigCCCAPIB5qIg8oAghrIhFIBEAgASEHDAELIAsgDigCBCAPKAIEayIVSARAIAEhBwwBCyANIA4oAgAgDygCAGsiDkoEQCABIQcMAQsgDCAOSARAIAEhBwwBCyACIBVKBEAgASEHDAELIAogEUoEQCABIQcMAQsgByAAOgAAIAEhEQJAIAUgAUEBayIHaiIVLQAADQADQCAJIAciD0EMbGoiBygCCCAJIBFBDGxqIg4oAghrIhkgBkoNASAHKAIEIA4oAgRrIhMgC0oNASAHKAIAIA4oAgBrIgcgDUgNASAHIAxKDQEgAiATSg0BIAogGUoNASAVIAA6AAAgBSAPIhFBAWsiB2oiFS0AAEUNAAsLAkAgBSABQQFqIgdqIhktAAANAANAIAkgByIOQQxsIh1qIgcoAgAhFSAHKAIEIQ8CQAJAIAcoAggiEiAJIAFBDGxqIgcoAghrIhMgBkoNACAPIAcoAgRrIiMgC0oNACAVIAcoAgBrIgcgDUgNACAHIAxKDQAgAiAjSg0AIAogE0wNAQsgCiASIB0gHmoiBygCCGsiE0oEQCAOIQcMAwsgCyAPIAcoAgRrIg9IBEAgDiEHDAMLIA0gFSAHKAIAayIHSgRAIA4hBwwDCyAHIAxKBEAgDiEHDAMLIAIgD0oEQCAOIQcMAwsgASAXTgRAIA4hBwwDCyAGIBNODQAgDiEHDAILIBkgADoAACAFIA4iAUEBaiIHaiIZLQAARQ0ACwsgAyAhOwEKIAMgFzsBCCADIB87AQYgAyABOwEEIAMgETsBAiADIBw7AQAgA0EMaiIDIBtHDQACQCAIKALEAiIPIAgoAsACIgFrQQxtIg5BA2xBAXYiAyAOSwRAIAhBwAJqIAMgDmsQhgsgCCgCxAIhDyAIKALAAiEBDAELIAMgDk8NACAIIAEgA0EMbGoiDzYCxAILIAEgGyAka0EMbUEMbGohAyAPIRsgASEkCyAHQQFqIQEgByAaSA0ACwwBCyABIBpKDQBBACAHayE0A0ACQCABIAVqIgctAAAEQCABIQcMAQsgCSABQQxsIg9qIg4oAgghESAOKAIEIRUgDigCACEZAkACQCABIB9rIg5BAWsgIksNACARIA8gHmpBDGsiEygCCGsiHSAGSg0AIAogHUoNACAVIBMoAgRrIh0gC0oNACAZIBMoAgBrIhMgDUgNACAMIBNIDQAgAiAdTA0BCwJAIA4gIksNACARIA8gHmoiEygCCGsiHSAGSg0AIAogHUoNACAVIBMoAgRrIh0gC0oNACAZIBMoAgBrIhMgDUgNACAMIBNIDQAgAiAdTA0BCyAiIA5BAWpJBEAgASEHDAILIAYgESAPIB5qIg4oAhRrIg9IBEAgASEHDAILIAogD0oEQCABIQcMAgsgCyAVIA4oAhBrIg9IBEAgASEHDAILIA0gGSAOKAIMayIOSgRAIAEhBwwCCyAMIA5IBEAgASEHDAILIAIgD0wNACABIQcMAQsgByAAOgAAIAEhGQJAIAUgAUEBayIHaiIRLQAADQADQCAJIAciD0EMbGoiBygCCCAJIBlBDGxqIg4oAghrIhUgBkoNASAHKAIEIA4oAgRrIhMgC0oNASAHKAIAIA4oAgBrIgcgDUgNASAHIAxKDQEgAiATSg0BIAogFUoNASARIAA6AAAgDyEZIAUgD0EBayIHaiIRLQAARQ0ACwsgASEOAkAgBSABQQFqIgdqIhEtAAANAANAIAEhDiAJIAciAUEMbCIjaiIHKAIAIRUgBygCBCEPAkACQCAHKAIIIh0gCSAOQQxsIhJqIgcoAghrIhMgBkoNACAKIBNKDQAgDyAHKAIEayITIAtKDQAgFSAHKAIAayIHIA1IDQAgByAMSg0AIAIgE0wNAQsCQCABIB9rIgdBAWsgIksNACAdIBIgHmoiEygCCGsiISAGSg0AIAogIUoNACAPIBMoAgRrIiEgC0oNACAVIBMoAgBrIhMgDUgNACAMIBNIDQAgAiAhTA0BCwJAIAcgIksNACAdIB4gI2oiEygCCGsiIyAGSg0AIAogI0oNACAPIBMoAgRrIiMgC0oNACAVIBMoAgBrIhMgDUgNACAMIBNIDQAgAiAjTA0BCyAiIAdBAWpJBEAgASEHDAMLIAYgHSASIB5qIgcoAiBrIhNIBEAgASEHDAMLIAogE0oEQCABIQcMAwsgCyAPIAcoAhxrIg9IBEAgASEHDAMLIA0gFSAHKAIYayIHSgRAIAEhBwwDCyAHIAxKBEAgASEHDAMLIAIgD0wNACABIQcMAgsgESAAOgAAIAEhDiAFIAFBAWoiB2oiES0AAEUNAAsLIAMgNDsBCiADIBc7AQggAyAfOwEGIAMgDjsBBCADIBk7AQIgAyAcOwEAIANBDGoiAyAbRw0AAkAgCCgCxAIiDyAIKALAAiIBa0EMbSIOQQNsQQF2IgMgDksEQCAIQcACaiADIA5rEIYLIAgoAsQCIQ8gCCgCwAIhAQwBCyADIA5PDQAgCCABIANBDGxqIg82AsQCCyABIBsgJGtBDG1BDGxqIQMgDyEbIAEhJAsgB0EBaiEBIAcgGkgNAAsLICBBAWoiIEEDRwRAIAhBMGogIEEMbGoiCSgCCCEaIAkoAgQhASAJKAIAIQcMAQsLICcgKEohBSAmIChIIQcgFiAfSiEOIBcgK0ohDwJAIC8NACAfIgEgF0sNAANAIB4gAUEMbGoiCSAxNgIIIAkgMjYCBCAJICo2AgAgASAXRyEJIAFBAWohASAJDQALCyAoICcgBRshJyAoICYgBxshJiAfIBYgDhshFiAXICsgDxshKyAiIDZqISAgAyAkRw0ACyAmICdrQQFqIQEgKyAWa0EBagwDCyAlKAIwIhcgJSgCEGpBAWoiGyAXIAIpAgAiN0IgiCI4pyInbGoiASA3pyIWaiIJLQAADQBBACAIKAKEAmshBiAIKALYASEfIAgoArgBISMgCCgCxAIhGSAIKALAAiEeIAgoAuQBIQogCCgCoAIhISAJIAA6AAAgASAWQQFqIgVqIgstAAAhDSAjIB8gJ2xqIgkgFkECdGooAgAhDgJAAkACQCAHQYCABHEiHARAIBYhKCANQf8BcQ0CIAkgBUECdGooAgAgDmsiDSAGSA0CIAogDUgNAgwBCyAWISgCQCANQf8BcQ0AIAkgBUECdGoiDSgCACAOayIMIAZIDQAgCiAMSA0AA0AgCyAAOgAAIAEgBSIoQQFqIgVqIgstAAANASAJIAVBAnRqIgwoAgAgDSgCAGsiAiAGSA0BIAwhDSACIApMDQALCyABIBZBAWsiC2oiDS0AAA0CA0AgCSALIgVBAnRqKAIAIAkgFkECdGooAgBrIgsgBkgNAyAKIAtIDQMgDSAAOgAAIAUhFiABIAVBAWsiC2oiDS0AAEUNAAsMAgsDQCALIAA6AAAgASAFIihBAWoiBWoiCy0AAA0BIAkgBUECdGooAgAgDmsiDSAGSA0BIAogDU4NAAsLIAEgFkEBayIFaiILLQAADQAgCSAFQQJ0aigCACAOayINIAZIDQAgCiANSA0AA0AgCyAAOgAAIAEgBSIWQQFrIgVqIgstAAANASAJIAVBAnRqKAIAIA5rIg0gBkgNASAKIA1ODQALCyAeQQE7AQogHiAoOwEIIB4gKDsBBCAeIBY7AQIgHiA4PQEAIB4gKEEBajsBBiAZIB5BDGoiDUYEQAJAIAgoAsQCIhkgCCgCwAIiHmtBDG0iAUEDbEEBdiIJIAFLBEAgCEHAAmogCSABaxCGCyAIKALEAiEZIAgoAsACIR4MAQsgASAJTQ0AIAggHiAJQQxsaiIZNgLEAgsgHkEMaiENCyAmQQhGIS0gJkEIRiEkICchLANAIA1BDGsiDS8BACESIA0vAQIhESANLwEGIQEgDS4BCiEJIA0vAQghBSAIIA0vAQQiFSAtaiICNgJQIAggBUEBajYCTCAIIAk2AkggCCABQQFrNgJEIAggESAtayIBNgJAIAggCTYCPCAIIAI2AjggCCABNgI0IAhBACAJayILNgIwIBUgEWshGCAgQQFqISkgIyASIB9saiEUQQAhHQNAIBsgCyASaiITIBdsaiEFICMgEyAfbGohCQJAIBwEQCABIAJKDQFBACALayEQA0ACQCABIAVqIgstAAAEQCABIQsMAQsgBiAJIAFBAnRqKAIAIA5rIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhAwJAIAUgAUEBayILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIDQQFrIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCwJAIAUgAUEBaiILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIBQQFqIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCyANIBA7AQogDSAVOwEIIA0gETsBBiANIAE7AQQgDSADOwECIA0gEzsBACANQQxqIg0gGUcNAAJAIAgoAsQCIgwgCCgCwAIiAWtBDG0iDUEDbEEBdiIHIA1LBEAgCEHAAmogByANaxCGCyAIKALEAiEMIAgoAsACIQEMAQsgByANTw0AIAggASAHQQxsaiIMNgLEAgsgASAZIB5rQQxtQQxsaiENIAwhGSABIR4LIAtBAWohASACIAtKDQALDAELICRFBEAgASACSg0BQQAgC2shGgNAAkAgASAFaiILLQAABEAgASELDAELIAYgCSABQQJ0IgxqKAIAIAwgFGooAgBrIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhDAJAIAUgAUEBayILaiIHLQAADQADQCAJIAtBAnRqKAIAIAkgDEECdGooAgBrIgMgBkgNASADIApKDQEgByAAOgAAIAshDCAFIAtBAWsiC2oiBy0AAEUNAAsLAkAgBSABQQFqIgtqIgctAAANAANAAkAgBiAJIAtBAnQiEGooAgAiDyAJIAFBAnRqKAIAayIDTEEAIAMgCkwbDQAgBiAPIBAgFGooAgBrIgNKDQIgASAVTg0CIAMgCkwNAAwCCyAHIAA6AAAgBSALIgFB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IgRFDQAgBC0ADA0AIARBDGohBAwCCwJAIAEgAygCAEYEQCADIQQMAQsgAyADKAIEIgQoAgAiATYCBCAEIAEEfyABIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAQ2AgAgBCADNgIAIAMgBDYCCCAEKAIIIQILIARBAToADCACQQA6AAwgAiACKAIAIgMoAgQiBDYCACAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCA8LAkAgBEUNACAELQAMDQAgBEEMaiEEDAELAkAgASADKAIARwRAIAMhAQwBCyADIAEoAgQiBDYCACABIAQEfyAEIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAE2AgAgASADNgIEIAMgATYCCCABKAIIIQILIAFBAToADCACQQA6AAwgAiACKAIEIgMoAgAiBDYCBCAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIAIAIgAzYCCAwCCyADQQE6AAwgAiAAIAJGOgAMIARBAToAACACIQEgACACRw0ACwsLSgEBf0EgENUaIgFCADcCBCABQpCAgIAQNwIYIAFChICAgIABNwIQIAFB7JIENgIAIAFB4JMENgIMIAAgATYCBCAAIAFBDGo2AgALkwIBBH8jAEHQAGsiAyQAIANBmJgELQAAOgAsIANBlJgEKAAANgIoIAMgA0EoajYCJEEBIQQgAyACKAIIQQFHBH8gASgCEEUFIAQLOgAjIANBADoAIiACKAIAIQVBsAEQ1RoiBEIANwIEIARB0JQENgIAIANBOGoiBiACNgIAIAMgAUEMaiABQQhqIAVBB3FBBkYbIgI2AkggAyACNgIYIAMgA0EkajYCPCADIAYpAwA3AwggAyADQSJqNgJEIANBQGsiAiADQSNqNgIAIAMgAikDADcDECADQcaUBDYCNCADQcSUBDYCMCADIAMpAzA3AwAgBEEMaiICIAMQkAsgACAENgIEIAAgAjYCACADQdAAaiQAC/4CAQV/IwBB4ABrIgIkAAJAIAEoAgAiBRC4GyIDQXBJBEACQAJAIANBC08EQCADQRBqQXBxIgYQ1RohBCACIAZBgICA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CwsgAwu7AQEEfyABQQRIBH9BAAUgAUEEayEFA0AgAyAAIARBA3QiAmorAwBEAAAAAAAAAABiaiAAIAJBCHJqKwMARAAAAAAAAAAAYmogACACQRByaisDAEQAAAAAAAAAAGJqIAAgAkEYcmorAwBEAAAAAAAAAABiaiEDIARBBGoiBCAFTA0ACyABQXxxCyICIAFIBEADQCADIAAgAkEDdGorAwBEAAAAAAAAAABiaiEDIAJBAWoiAiABRw0ACwsgAwuoAgEFfyMAQfAAayIBJAACQAJAIAAQywdB+B9xRQRAAkAgABDMB0GAgARGBEAgAUE4aiAAKAIEEK0GGgwBCyABQThqIAAQyQcLIAEoAjhBB3EiAEEHRg0BIAFBADYCNCABIAFBOGo2AjAgAUEANgIsIAFBCGogAUEwaiABQSxqQX8QrAciAigCEEUEQEEAIQAMAwsgAEECdEHQogRqKAIAIQQgAigCFCEFQQAhAANAIAEoAiwgBSAEEQMAIABqIQAgAhCtByADQQFqIgMgAigCEEkNAAsMAgtBqX4gAUE4akHwogQQiQNB+KIEQYWjBEGAARCYCgALQal+IAFBCGpBt6MEEIkDQfiiBEGFowRBkAEQmAoACyABQThqELEGGiABQfAAaiQAIAALmgcCEn8EfCMAQfAJayIDJAACQCABEMwHQYCABEYEQCADQbgJaiABKAIEEK0GGgwBCyADQbgJaiABEMkHCwJAIAIQzAdBgIAERgRAIANBgAlqIAIoAgQQrQYaDAELIANBgAlqIAIQyQcLAkACQCADQYAJahC3BkUEQCADLwGACUH/H3ENAQsgAygCuAkhASADQfgIakIANwMAIANB8AhqQgA3AwAgA0HoCGpCADcDACADQgA3A+AIIAFBB3EiAkECdEHwswNqKAIAIQ4gAUEDdkH/A3EiCkEDSw0BIA5FDQEgCkEBaiEPIANBADYC3AggAyADQYAJajYC2AggAyADQbgJajYC1AggA0IANwPICCADQagIaiADQdQIaiADQcgIakF/EKwHIggoAhQhBCADQYgCNgIEIAMgA0EIaiIQNgIAIANB4AhqIQUgBCEGIAJBA00EQCADIA82AgQgEEEAIApBAnRBBGoQrxshAUGAgIAEQYCAAiACQQJJGyIRIAQgBCARShshBiADKAK8CSIFQQFOBEAgAygC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IANBgApqQQBB2AEQrxsaDAsLRAAAAAAAAAAAIRAgAkUNCSADQYAKakEAQdgBEK8bGiADQoCAgICAgIDwv383A/gKIANCgICAgICAgPC/fzcDmAsgA0KAgICAgICA8D83A6gLIANCgICAgICAgPC/fzcDqAogA0KAgICAgICA8D83A9gKIANCgICAgICAgPA/NwO4CgwJC0QAAAAAAADwPyAPIA+goyEQIAIEQCADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A8gDIANCADcD0AMgA0IANwPoAyADQgA3A/ADIANCADcDiAQgA0IANwOQBCADQgA3A4gDIANCADcDgAMgA0IANwPAAyADQoCAgICAgID4v383A7gDIANCADcDsAMgA0KAgICAgICA+D83A6gDIANCADcD4AMgA0KAgICAgICA+L9/NwPYAyADQgA3A4AEIANCgICAgICAgPg/NwP4AyADQgA3A7gEIANCADcDwAQgA0IANwPIBCADQgA3A9AEIANCADcD8AQgA0IANwPoBCADQgA3A5AFIANCADcDiAUgA0KAgICAgICA+L9/NwOoBCADQgA3A6AEIANCgICAgICAgPg/NwOYBCADQgA3A7AEIANCADcD4AQgA0IANwOABSADRAAAAAAAAPC/IA+jIhdEAAAAAAAA4D+iIhY5A6AFIAMgFyAVIBCaoiAPo0QAAAAAAADgP6KiIg85A9gEIAMgDzkD+AQgAyAPOQOYBSADQgA3A7gFIANCADcDsAUgA0IANwOoBSADIBY5A8AFIANCADcD2AUgA0IANwPQBSADQgA3A8gFIAMgFjkD4AUgA0IANwPgBiADQgA3A/gGIANCADcDoAcgA0IANwOoByADQgA3A8gHIANCADcD0AcgA0IANwPYByADQgA3A+AHIANCADcD2AYgAyAQOQPQBiADQgA3A/AGIANCADcDmAcgA0IANwOIByADIBA5A4AHIANCADcDwAcgAyAQOQOwByADIBE5A7gHIAMgFDkD6AYgAyASOQOQByADQoCAgICAgID4PzcD6AcgA0IANwOwAiADQgA3A+gCIANCADcDqAIgAyATOQOgAiADQgA3A+ACIAMgEiAQojkD2AIgA0IANwPQAiADIBM5A8gCIANCADcDwAIgAyAUIBCiOQO4AiADIBEgEKI5A/gCIAMgEzkD8AIgA0KGgImShAk3A4ACIANChYCAgJABNwKUAiADQgA3A4gCIAMgA0GAA2o2ApACIANChoCJkoQFNwPgASADQoSAgIDQADcC9AEgA0IANwPoASADIANB0AZqNgLwASADQoaAiZKEBDcDwAEgA0KDgICAwAA3AtQBIANCADcDyAEgAyADQaACajYC0AEgA0KGgImShAU3AyAgA0KDgICA0AA3AjQgA0IANwMoIAMgA0FAazYCMCADQcABaiADQeABakQAAAAAAADwP0EARAAAAAAAAPA/IANBIGpBABCGBiADQSBqIANBgAJqRAAAAAAAAPA/QQBEAAAAAAAA8D8gA0HgCWpBABCGBiADKwOYCiEPIAMgAysDiAo5A5gKIAMgDzkDiAogAysDkAohDyADIAMrA7AKOQOQCiADIA85A7AKIAMrA6gKIQ8gAyADKwO4CjkDqAogAyAPOQO4CiADKwPQCiEPIAMgAysD4Ao5A9AKIAMgDzkD4AogAysD2AohDyADIAMrA/gKOQPYCiADIA85A/gKIAMrA4ALIQ8gAyADKwPwCjkDgAsgAyAPOQPwCiADKwOoCyEPIAMgAysDmAs5A6gLIAMgDzkDmAsgAysDwAshDyADIAMrA6ALOQPACyADIA85A6ALIAMrA8gLIQ8gAyADKwO4CzkDyAsgAyAPOQO4CwsgESAQIBOiIhOiIRAgEiAToiERIBQgE6IhFAwJCyAcIBaiIRIgGCAWoiETIBYgGaIhD0EAIQBEAAAAAAAA8D8hFANAIABBA3QiAUHIAGoiBCADQYAKamogDyAUoiATIANBQGsgAWorAwCioCAQIANBgANqIARqKwMAoqAgEiADQaACaiABaisDAKKgIBEgA0HQBmogBGorAwCioDkDACAAQQFqIgBBCUZFBEAgA0GwCGogAEEDdGorAwAhFAwBCwsgHCAXoiESIBggF6IhEyAXIBmiIQ9BACEARAAAAAAAAPA/IRQDQCAAQQN0IgFBkAFqIgQgA0GACmpqIA8gFKIgEyADQUBrIAFqKwMAoqAgECADQYADaiAEaisDAKKgIBIgA0GgAmogAWorAwCioCARIANB0AZqIARqKwMAoqA5AwAgAEEBaiIAQQlGDQsgA0GwCGogAEEDdGorAwAhFAwACwALQa5+IANBgANqQe6lBBCJA0GxpQRB46QEQYsCEJgKAAtBs34gA0GAA2pBmqYEEIkDQbGlBEHjpARBjgIQmAoAC0F7IANBgANqQcimBBCJA0GxpQRB46QEQZMCEJgKAAtBs34gA0GAA2pB56YEEIkDQbGlBEHjpARBlgIQmAoAC0G3fiADQYADakGSpwQQiQNBsaUEQeOkBEGaAhCYCgALQbd+IANBgANqQa6nBBCJA0GxpQRB46QEQaICEJgKAAtBt34gA0GAA2pB06cEEIkDQbGlBEHjpARBpQIQmAoAC0QAAAAAAAAAACERRAAAAAAAAAAAIRQLIAVBBUYEQCABKAIQIBS2OAIAIAEoAhAgBEECdGogEbY4AgAgASgCECAEQQN0aiAQtjgCAAwBCyABKAIQIBQ5AwAgASgCECAEQQN0aiAROQMAIAEoAhAgBEEEdGogEDkDAAsgAkUNAiAAQQFzDQILIAIoAhQhASADKAL0CSEAIAVBBUYEQCAAIAFGBEAgA0HgCWogAkQAAAAAAADwPxC4CwwCCyADIAMoAvgJIgE2AugGIANBhYCJkgQ2AtAGIAMgADYC5AYgAyABQQJ0NgLUBiADQgA3A9gGIAMgA0GAA2o2AuAGIANB4AlqIANB0AZqRAAAAAAAAPA/ELgLIANB0AZqIAIQ0AYMAQsgACABRgRAIANB4AlqIAIQmwQMAQsgA0HgCWogAhDQBgtBASEACyADQeALaiQAIAAPC0G3fiADQYADakGTqAQQiQNBsaUEQeOkBEHzAhCYCgALIAUgA0GAA2pBvqUEEIkDQbGlBEHjpARBhQIQmAoACyAFIANBgANqQYylBBCJA0GxpQRB46QEQYECEJgKAAvQAgEDfyMAQZABayIDJAACQCABKAIQIgJFDQAgASgCBEECSg0AIAEoAghBA0cNACABKAIMQQNHDQAgASgCACIEQfgfcQ0AAkAgBEH/nwFxQYaAAUYEQCAAIAIrAwA5AwAgACACKwMIOQMIIAAgAisDEDkDECAAIAIrAxg5AxggACACKwMgOQMgIAAgAisDKDkDKCAAIAIrAzA5AzAgACACKwM4OQM4IAAgAisDQDkDQAwBCyADQcgAakEAQcgAEK8bGiADIANBEGpBA0EDQQYgA0HIAGpBABCuBiICNgIEIANBgICEEDYCACADQgA3AwggASADIAIoAgBB/x9xRAAAAAAAAPA/RAAAAAAAAAAAEIgDIAAgA0HIAGpByAAQrhsaIAIQsQYaCyADQZABaiQADwtBqX4gA0HIAGpB3rgEEIkDQZ25BEGruQRB7QgQmAoAC6sFAQJ/IwBBoAJrIgQkACAEQZgCaiIFQpiAgICAATcDACAEQgA3A4gCIARCg4CAgDA3A/ABIARChoD9lyQ3A+gBIAQgADYC/AEgBCAANgL4ASAEIAU2ApQCIAQgBEHwAWo2ApACIAQgAEHIAGoiADYChAIgBCAANgKAAiAEQeABaiIAQpiAgICAATcDACAEQgA3A9ABIAQgADYC3AEgBCAEQbgBajYC2AEgBEKDgICAMDcDuAEgBEKGgP2XJDcDsAEgBCACQcgAaiIANgLMASAEIAA2AsgBIAQgAjYCxAEgBCACNgLAASAEQagBaiIAQoiAgICAATcDACAEQgA3A5gBIAQgADYCpAEgBCAEQYABajYCoAEgBEKDgICAEDcDgAEgBEKGgP2XJDcDeCAEIAFBGGoiADYClAEgBCAANgKQASAEIAE2AowBIAQgATYCiAEgBEHwAGoiAEKYgICAgAE3AwAgBEIANwNgIAQgADYCbCAEIARByABqNgJoIARCg4CAgDA3A0ggBEKGgP2XJDcDQCAEIANByABqIgA2AlwgBCAANgJYIAQgAzYCVCAEIAM2AlAgBEIANwM4IARBgICECDYCMCAEIARB6AFqNgI0IARBgICEEDYCICAEQgA3AyggBCAEQfgAajYCJCAEQYCAhBA2AhAgBEIANwMYIAQgBEGwAWo2AhQgBEGAgIQQNgIAIARCADcDCCAEIARBQGs2AgQgBEEwaiAEQSBqIARBEGogBEEAEK8EAkACQCAEKAKIASABRw0AIAQoAsABIAJHDQAgBCgCUCADRg0BC0GpfiAEQTBqQd65BBCJA0G9ugRBxboEQd8CEJgKAAsgBEFAaxCxBhogBEH4AGoQsQYaIARBsAFqELEGGiAEQegBahCxBhogBEGgAmokAAuwPgIyfyV8IwBBoAhrIgskACALQfADakEAQfAAEK8bGiALQgA3A+ADIAtCADcD2AMgC0IANwPQAyALQgA3A8ADIAtCADcDuAMgC0IANwOwAyALQoCAgICAgID4PzcD6AMgC0KAgICAgICA+D83A8gDIAtCgICAgICAgPg/NwOoAyALQgA3A5ADIAtCADcDiAMgC0IANwOAAyALQgA3A/gCIAtCADcD8AIgC0IANwPoAiALQgA3A+ACIAtCADcDoAMgC0KAgICAgICA+L9/NwOYAyALQgA3A8ACIAtCADcDuAIgC0IANwOwAiALQgA3A6gCIAtCADcDoAIgC0IANwPYAiALQgA3A5gCIAtCADcD0AIgC0KAgICAgICA+D83A8gCIAtChoCJkoQDNwO4ASALQoOAgIAwNwLMASALQgA3A8ABIAsgC0HgBGo2AsgBIAtChoCJkoQDNwN4IAtCg4CAgDA3AowBIAtCADcDgAEgCyALQbAHajYCiAEgC0KGgImShAk3A1ggC0KDgICAkAE3AmwgC0IANwNgIAsgC0HQBWo2AmgCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABFDQAgACgCACIMQYCAfHFBgICIkgRHDQAgACgCGCIOQQFIDQAgACgCFCINQQFIDQAgAUUNACAAKAIQRQ0AIAEvAQJBEHRBgICIkgRHDQAgASgCGEEBSA0AIAEoAhRBAUgNACACRQ0AIAEoAhBFDQAgAi8BAkEQdEGAgIiSBEcNACACKAIYQQFIDQAgAigCFEEBSA0AIANFDQAgAigCEEUNACADLwECQRB0QYCAiJIERw0AIAMoAhhBAUgNACADKAIUQQFIDQAgBUUNACADKAIQRQ0AIAUvAQJBEHRBgICIkgRHDQAgBSgCGEEBSA0AIAUoAhRBAUgNACAFKAIQRQ0AIA4gDEEDdkH/A3FBAWpsIhAgDWwiEyATQQNtIhFBA2xrDQEgDEGAgAFxRQ0CIAxBB3FBBWtBAUsNAgJAIAxB+B9xIgxBEEZBACANQQFGGw0AIBBBA0ZBACANIBFGGw0AIAwNAyANQQNHDQMgDiARRw0DCyANIA4gDEEGchD3AyEMQRAQ1RoiGUIANwIEIBkgDDYCDCAZQci3BDYCACAAIAxEAAAAAAAA8D8QuAsgBSgCACINQYCAAXFFDQMgDUEHcUEFa0EBSw0DIAUoAhQhAAJAAkAgDUH4H3EiDkEIRw0AIABBAUcNACAFKAIYIRAMAQsgACARRgRAIAUoAhgiECANQQN2Qf8DcUEBamxBAkYNAQsgDg0EIABBAkcNBCARIRAgBSgCGCARRw0ECyAAIBAgDkEGchD3AyEhQRAQ1RoiGkIANwIEIBogITYCDCAaQci3BDYCACAFICFEAAAAAAAA8D8QuAsgASgCACIOQQdxQQVrQQJPDQQgISgCECEmIAwoAhAhJyABKAIYIQwCQAJAAkAgASgCFCINQQFGBEAgDCEADAELQQEhACAMQQFHDQELIAAhDCANIA5BA3ZB/wNxQQFqbCAAbEEDRg0BCyANQQNHIAxBA0dxDQUgDCEAIA5B+B9xDQULAkACQCANQQNHDQAgAEEDRw0AIAtCg4CAgBA3AowCIAtCADcDgAIgC0KGgImShAE3A/gBIAsgC0GACGo2AogCIAEgC0H4AWpBABDCCxogC0H4AWogC0H4AGogC0HYAGoQwgsaIAEgC0H4AGoQmwQMAQsgCyANNgKMAiALQgA3A4ACIAsgDkH4H3EiDEGGgImSBHI2AvgBIAsgADYCkAIgCyAMQQhqIABsNgL8ASALIAtBgAhqNgKIAiABIAtB+AFqRAAAAAAAAPA/ELgLIAtB+AFqIAtB+ABqIAtB2ABqEMILGgsgAigCACIAQQdxQQVrQQFLDQUgAigCGCENAkAgAigCFCIMQQFGBEAgDSEBDAELQQEhASANQQFHDQYLIAwgAEEDdkH/A3FBAWpsIAFsQQNHDQUgCyAMNgLsASALQgA3A+ABIAsgAEH4H3EiAEGGgImSBHI2AtgBIAsgATYC8AEgCyAAQQhqIAFsNgLcASALIAtBsAVqNgLoASACIAtB2AFqRAAAAAAAAPA/ELgLIAMoAgBB/x9xQQVrQQFLDQYgAygCFEEDRw0GIAMoAhhBA0cNBiADIAtBuAFqRAAAAAAAAPA/ELgLIAsrA4AFIU4gCysD4AQhPSALKwOIBSFgIAsrA/AEIWECQCAERQ0AIAQoAgAiAkGAgHxxQYCAiJIERw0IIAQoAhgiAUEBSA0IIAQoAhQiA0EBSA0IIAQoAhBFDQggAkEHcUEFa0EBSw0IIAFBAUdBACADQQFHGw0IIAEgAkEDdkH/A3FBAWpsIANsIgBBDksNCEEBIAB0QbCiAXFFDQggCyADNgKsASALQgA3A6ABIAsgAkH4H3EiAkGGgImSBHI2ApgBIAsgATYCsAEgCyACQQhqIAFsNgKcASALIAtB8ANqNgKoASAEIAtBmAFqRAAAAAAAAPA/ELgLIAsrA9AEIkREAAAAAAAAAABhQQAgCysD2AQiQUQAAAAAAAAAAGEbDQAgRCBBIAtBqANqIAtB4AJqIAtBmAJqEMYLCwJ/IAZFBEBBACEMQQAMAQsgBigCACICQYCAfHFBgICIkgRHDQkgBigCGCIDQQFIDQkgBigCFCIBQQFIDQkgBigCEEUNCSADQQNHDQkgAkH/H3EiAkEFa0EBSw0JIAEgEUEBdEcNCQJ/IAJBBkYEQCAGEPwDIR1BEBDVGgwBCyABQQNBBhD3AyEdQRAQ1RoLIhRCADcCBCAUIB02AgwgFEHItwQ2AgAgHSgCBEEDdiEMIB0oAhALIQMCfyAHRQRAQQAhDUEADAELIAcoAgAiAUGAgHxxQYCAiJIERw0KIAcoAhgiAkEBSA0KIAcoAhQiAEEBSA0KIAcoAhBFDQogAkEDRw0KIAFB/x9xIgFBBWtBAUsNCiAAIBFBAXQiAkcNCgJ/IAFBBkYEQCAHEPwDIR5BEBDVGgwBCyACQQNBBhD3AyEeQRAQ1RoLIhVCADcCBCAVIB42AgwgFUHItwQ2AgAgHigCBEEDdiENIB4oAhALIQIgCAR/IAgoAgAiAUGAgHxxQYCAiJIERw0LIAgoAhgiAEEBSA0LIAgoAhQiDkEBSA0LIAgoAhBFDQsgAEECRw0LIAFB/x9xIgFBBWtBAUsNCyAOIBFBAXQiAEcNCwJ/IAFBBkYEQCAIEPwDIR9BEBDVGgwBCyAAQQJBBhD3AyEfQRAQ1RoLIhZCADcCBCAWIB82AgwgFkHItwQ2AgAgHygCBEEDdiEiIB8oAhAFQQALIRAgCQR/IAkoAgAiAUGAgHxxQYCAiJIERw0MIAkoAhgiAEEBSA0MIAkoAhQiDkEBSA0MIAkoAhBFDQwgAEECRw0MIAFB/x9xIgFBBWtBAUsNDCAOIBFBAXQiAEcNDAJ/IAFBBkYEQCAJEPwDISBBEBDVGgwBCyAAQQJBBhD3AyEgQRAQ1RoLIhdCADcCBCAXICA2AgwgF0HItwQ2AgAgICgCBEEDdiEjICAoAhAFQQALIRsgCgR/IAooAgAiAEGAgHxxQYCAiJIERw0NIAooAhgiAUEBSA0NIAooAhQiDkEBSA0NIAooAhBFDQ0gAEH/H3EiAEEFa0EBSw0NIA4gEUEBdCIcRw0NIAFBDksNDUEBIAF0QbSiAXFFDQ0gBEUNDgJ/IABBBkYEQCAKEPwDIRJBEBDVGgwBCyAcIAFBBhD3AyESQRAQ1RoLIhhCADcCBCAYIBI2AgwgGEHItwQ2AgAgEigCBEEDdiEPIBIoAhAFQQALIQFBACEAIBNBA04EQCA9IU9BACETIAogBiAHciAIciAJcnJBAEchKCAMQQR0ISkgDUEEdCEqIA9BAWpBA3QhKyAPQQJqQQN0ISwgD0EDakEDdCEtIA9BBGpBA3QhLiAPQQVqQQN0IS8gD0EGakEDdCEwIA9BB2pBA3QhMSAPQQhqQQN0ITIgD0EJakEDdCEzIA9BCmpBA3QhNCAPQQtqQQN0ITUgD0EMakEDdCE2IA9BDWpBA3QhNyAPQQR0ITggIkEBakEDdCE5ICJBBHQhOiAjQQFqQQN0ITsgI0EEdCE8A0AgCysDuAMhSSALKwOoAyFKIAsrA7ADIUsgJiATQQR0aiIcIGAgTiALKwPQAyALKwOwBSAnIBNBGGxqIgQrAwAiUiALKwOwB6IgBCsDCCJTIAsrA7gHoqAgBCsDECJUIAsrA8AHoqCgRAAAAAAAAPA/IAsrA8AFIFIgCysD4AeiIFMgCysD6AeioCBUIAsrA/AHoqCgIl2jRAAAAAAAAPA/IF1EAAAAAAAAAABiGyJMoiJFIEWiIAsrA7gFIFIgCysDyAeiIFMgCysD0AeioCBUIAsrA9gHoqCgIEyiIkQgRKKgIkIgQqIiRiALKwO4BKIgQiALKwOwBKIgQiBFIEUgRaAiWaKgIkcgCysDiAQiPaIgRCBZoiJAIAsrA4AEIj6iIEUgCysD8AMgQqJEAAAAAAAA8D+gIAsrA/gDIEaioCALKwOQBCBCIEaiIkOioCJXoiJaRAAAAAAAAPA/IEIgCysDmASiRAAAAAAAAPA/oCBGIAsrA6AEoqAgQyALKwOoBKKgoyJBoqCgoKAiPyALKwPAA6JEAAAAAAAAAACgIEAgPaIgQiBEIEQgRKAiW6KgIlAgPqIgRCBXoiJcIEGioKAgQiALKwPABKKgIEYgCysDyASioCI+IAsrA8gDoqCgIlVEAAAAAAAA8D8gCysD6AMgPyALKwPYA6JEAAAAAAAAAACgID4gCysD4AOioKAiPaNEAAAAAAAA8D8gPUQAAAAAAAAAAGIbIk2iIkiioDkDCCAcIGEgTyBJIEsgPqIgSiA/okQAAAAAAAAAAKCgoCJWIE2iIkmioDkDACAoBEBBACEcQQAhDiAbBEAgG0IANwMIIBtCgICAgICAgPg/NwMAIBsgI0EDdGpCADcDACAbIDtqQoCAgICAgID4PzcDACAbIDxqIQ4LIBAEQCAQIEk5AwAgEEQAAAAAAAAAADkDCCAQICJBA3RqQgA3AwAgECA5aiBIOQMAIBAgOmohHAsgTSBNoiJIIAsrA8gDID2iIAsrA+ADIkogVaKhoiFNIEggCysDwAMgPaIgCysD2AMiSyBVoqGiIUkgSCALKwOwAyA9oiBKIFaioaIhSiBIIAsrA6gDID2iIEsgVqKhoiFLQQAhBEEAISQgAQRAIAEgTyBCIEUgQaIiUaIiXiBLokQAAAAAAAAAAKAgQiBEIEGiIliiIl8gSqKgojkDACABIA9BA3RqIE4gXiBJokQAAAAAAAAAAKAgXyBNoqCiOQMAIAEgTyBGIFGiIl4gS6JEAAAAAAAAAACgIEYgWKIiXyBKoqCiOQMIIAEgK2ogTiBeIEmiRAAAAAAAAAAAoCBfIE2ioKI5AwACQCASKAIYQQNIDQAgASBPIEAgS6JEAAAAAAAAAACgIFAgSqKgojkDECABICxqIE4gQCBJokQAAAAAAAAAAKAgUCBNoqCiOQMAIAEgTyBHIEuiRAAAAAAAAAAAoCBAIEqioKI5AxggASAtaiBOIEcgSaJEAAAAAAAAAACgIEAgTaKgojkDACASKAIYQQVIDQAgASBPIEMgUaIiQCBLokQAAAAAAAAAAKAgQyBYoiJHIEqioKI5AyAgASAuaiBOIEAgSaJEAAAAAAAAAACgIEcgTaKgojkDACASKAIYQQZIDQAgASBPIEIgQSBaIEGaIkeioiJAoiJQIEuiRAAAAAAAAAAAoCBCIEEgXCBHoqIiR6IiUSBKoqCiOQMoIAEgL2ogTiBQIEmiRAAAAAAAAAAAoCBRIE2ioKI5AwAgASBPIEYgQKIiUCBLokQAAAAAAAAAAKAgRiBHoiJRIEqioKI5AzAgASAwaiBOIFAgSaJEAAAAAAAAAACgIFEgTaKgojkDACABIE8gQyBAoiJAIEuiRAAAAAAAAAAAoCBDIEeiIkMgSqKgojkDOCABIDFqIE4gQCBJokQAAAAAAAAAAKAgQyBNoqCiOQMAIBIoAhhBCUgNACABIE8gQiBLokQAAAAAAAAAAKAgSkQAAAAAAAAAAKIiQKCiOQNAIAEgMmogTiBCIEmiRAAAAAAAAAAAoCBNRAAAAAAAAAAAoiJDoKI5AwAgASBPIEYgS6JEAAAAAAAAAACgIECgojkDSCABIDNqIE4gRiBJokQAAAAAAAAAAKAgQ6CiOQMAIAEgTyBLRAAAAAAAAAAAokQAAAAAAAAAAKAiQCBCIEqioKI5A1AgASA0aiBOIElEAAAAAAAAAACiRAAAAAAAAAAAoCJDIEIgTaKgojkDACABIE8gQCBGIEqioKI5A1ggASA1aiBOIEMgRiBNoqCiOQMAIBIoAhhBDUgNACALKwOIAyFAIAsrA/gCIUMgCysDgAMhRyABIE8gSKIiUCALKwPwAiA/IAsrA+ACokQAAAAAAAAAAKAgPiALKwPoAqKgoCA9oiALKwOgAyA/IAsrA5ADokQAAAAAAAAAAKAgPiALKwOYA6KgoCJRIFaioaI5A2AgASA2aiBOIEiiIkggQCA/IEOiRAAAAAAAAAAAoCA+IEeioKAgPaIgUSBVoqGiOQMAIAsrA8ACIUAgCysDsAIhQyALKwO4AiFHIAEgUCALKwOoAiA/IAsrA5gCokQAAAAAAAAAAKAgPiALKwOgAqKgoCA9oiALKwPYAiA/IAsrA8gCokQAAAAAAAAAAKAgPiALKwPQAqKgoCJRIFaioaI5A2ggASA3aiBIIEAgPyBDokQAAAAAAAAAAKAgPiBHoqCgID2iIFEgVaKhojkDAAsgASA4aiEkCyACBEAgC0IANwNIIAsgTDkDQCALIEwgRZqiOQNQIAsgTCBEmqI5AzAgCyBMOQMoIAtCADcDICBERAAAAAAAABBAoiFQIEVEAAAAAAAAEECiIVEgQSBBmqIhWCBCIEKgIUBBACEBRAAAAAAAAAAAIT8gTCE+A0AgAiABQQN0aiBPIEogWSA+oiBbID+ioCI9IEAgCysDyASioiA9IAsrA8AEoiBEID6iIEUgP6KgIkMgQ6AiQyALKwOIBCJVoiBQID+iID2gIAsrA4AEIlaiIEEgVyA/oqIgQSBEIAsrA/ADID2iID0gQiALKwP4AyI/ID+goqKgID0gRiALKwOQBEQAAAAAAAAIQKKioqAiP6KioCBcIFggPSALKwOYBKIgPSBCIAsrA6AEIkggSKCioqAgPSBGIAsrA6gERAAAAAAAAAhAoqKioKIiSKKgoKCgoCJHoiBLID0gQCALKwO4BKKiID0gCysDsASiIFEgPqIgPaAgVaIgQyBWoiBBIFcgPqKiIEEgRSA/oqKgIFogSKKgoKCgoCI9okQAAAAAAAAAAKCgojkDACACIAEgDWpBA3RqIE4gTSBHoiBJID2iRAAAAAAAAAAAoKCiOQMAIAFBAWoiAUEDRwRAIAFBA3QiBCALQSBqaisDACE/IAtBQGsgBGorAwAhPgwBCwsgAiAqaiEEC0EAISUgAwRAIAsgUiALKwPQBaIgUyALKwPYBaKgIFQgCysD4AWioCI+OQNAIAsgUiALKwOYBqIgUyALKwOgBqKgIFQgCysDqAaioDkDSCALIFIgCysD4AaiIFMgCysD6AaioCBUIAsrA/AGoqA5A1AgCyBSIAsrA+gFoiBTIAsrA/AFoqAgVCALKwP4BaKgIj85AyAgCyBSIAsrA7AGoiBTIAsrA7gGoqAgVCALKwPABqKgOQMoIAsgUiALKwP4BqIgUyALKwOAB6KgIFQgCysDiAeioDkDMCALIFIgCysDgAaiIFMgCysDiAaioCBUIAsrA5AGoqAiPTkDACALIFIgCysDyAaiIFMgCysD0AaioCBUIAsrA9gGoqA5AwggCyBSIAsrA5AHoiBTIAsrA5gHoqAgVCALKwOgB6KgOQMQIEREAAAAAAAAEECiIVAgRUQAAAAAAAAQQKIhUSBBIEGaoiFYIEIgQqAhQEEAIQEDQCADIAFBA3RqIE8gSiBFIEwgPyBEID2ioaIiP6IgRCBMID4gRSA9oqGiIj6ioCI9ID2gIkMgCysDiAQiVaIgUCA/oiBZID6iIFsgP6KgIj2gIAsrA4AEIlaiIEEgVyA/oqIgQSBEID0gCysD8AMgQiALKwP4AyI/ID+goqAgRiALKwOQBEQAAAAAAAAIQKKioKIiP6KioCBcID0gWCALKwOYBCBCIAsrA6AEIkggSKCioCBGIAsrA6gERAAAAAAAAAhAoqKgoqIiSKKgoKAgPSALKwPABCBAIAsrA8gEoqCioCJHoiBLID0gCysDsAQgQCALKwO4BKKgoiBRID6iID2gIFWiIEMgVqIgQSBXID6ioiBBIEUgP6KioCBaIEiioKCgoCI9okQAAAAAAAAAAKCgojkDACADIAEgDGpBA3RqIE4gRyBNoiBJID2iRAAAAAAAAAAAoKCiOQMAIAFBAWoiAUEDRwRAIAFBA3QiAiALQSBqaisDACE/IAIgC2orAwAhPSALQUBrIAJqKwMAIT4MAQsLIAMgKWohJQsgAAR/IAsgTCALKwOwByBdIEwgRaKiIj0gCysD4AciPqKhoiI/OQNAIAsgTCALKwO4ByA9IAsrA+gHIkCioaI5A0ggCyBMIAsrA8AHID0gCysD8AciQ6KhojkDUCALIEwgCysDyAcgPiBdIEwgRKKiIj2ioaIiPjkDICALIEwgCysD0AcgPSBAoqGiOQMoIAsgTCALKwPYByA9IEOioaI5AzAgE0EDbCEDIEQgQaIhQCBFIEGiIUMgVyBBoiFXIEREAAAAAAAAEECiIVUgRUQAAAAAAAAQQKIhViBGRAAAAAAAAAhAoiFIIEEgQZqiIUcgQiBCoCFQQQAhAQNAIAAgASADaiICQQN0aiBPIEogUCBZID+iIFsgPqKgIj2iIkEgCysDyASiID0gCysDwASiIFsgP6IgWSA+oqAiRCALKwOIBCJFoiBVID6iID2gIAsrA4AEIkKiIFcgPqIgQCALKwOQBCBIID2iIj6iIAsrA/ADID2iIAsrA/gDIEGioKAiRqKgIFwgRyA9IAsrA5gEoiBBIAsrA6AEoqAgPiALKwOoBKKgoiI+oqCgoKCgIkyiIEsgQSALKwO4BKIgPSALKwOwBKIgViA/oiA9oCBFoiBEIEKiIFcgP6IgQyBGoqAgWiA+oqCgoKCgIj2iRAAAAAAAAAAAoKCiOQMAIAAgAkEDdGogTiA9IEmiRAAAAAAAAAAAoCBMIE2ioKI5AwAgAUEBaiIBQQNHBEAgAUEDdCICIAtBIGpqKwMAIT4gC0FAayACaisDACE/DAELCyAABUEACyEAIA4hGyAcIRAgBCECICUhAyAkIQELIBNBAWoiEyARRw0ACwsgBSAhRwRAICEgBUQAAAAAAADwPxC4CwsgBiAdRwRAIB0gBkQAAAAAAADwPxC4CwsgByAeRwRAIB4gB0QAAAAAAADwPxC4CwsgCCAfRwRAIB8gCEQAAAAAAADwPxC4CwsgCSAgRwRAICAgCUQAAAAAAADwPxC4CwsgCiASRwRAIBIgCkQAAAAAAADwPxC4CwsCQCAYRQ0AIBggGCgCBCIBQQFrNgIEIAENACAYIBgoAgAoAggRAQAgGBDQGgsCQCAWRQ0AIBYgFigCBCIBQQFrNgIEIAENACAWIBYoAgAoAggRAQAgFhDQGgsCQCAXRQ0AIBcgFygCBCIBQQFrNgIEIAENACAXIBcoAgAoAggRAQAgFxDQGgsCQCAVRQ0AIBUgFSgCBCIBQQFrNgIEIAENACAVIBUoAgAoAggRAQAgFRDQGgsCQCAURQ0AIBQgFCgCBCIBQQFrNgIEIAENACAUIBQoAgAoAggRAQAgFBDQGgsgGiAaKAIEIgFBAWs2AgQgAUUEQCAaIBooAgAoAggRAQAgGhDQGgsgGSAZKAIEIgFBAWs2AgQgAUUEQCAZIBkoAgAoAggRAQAgGRDQGgsgC0GgCGokAA8LQXsgC0H4AWpByrEEEIkDQfqxBEHjpARBrAQQmAoAC0F7IAtB+AFqQZOyBBCJA0H6sQRB46QEQbIEEJgKAAtBeyALQfgBakGTsgQQiQNB+rEEQeOkBEHDBBCYCgALQXsgC0H4AWpBk7IEEIkDQfqxBEHjpARB0gQQmAoAC0F7IAtB+AFqQb2yBBCJA0H6sQRB46QEQd0EEJgKAAtBeyALQdgBakGfswQQiQNB+rEEQeOkBEHxBBCYCgALQXsgC0GYAWpB27MEEIkDQfqxBEHjpARB+AQQmAoAC0F7IAtBmAFqQdK2BBCJA0H6sQRB46QEQYwFEJgKAAtBeyALQUBrQZK0BBCJA0H6sQRB46QEQZ4FEJgKAAtBeyALQUBrQb20BBCJA0H6sQRB46QEQbAFEJgKAAtBeyALQUBrQea0BBCJA0H6sQRB46QEQcEFEJgKAAtBeyALQUBrQY+1BBCJA0H6sQRB46QEQdIFEJgKAAtBeyALQUBrQbi1BBCJA0H6sQRB46QEQeMFEJgKAAtBZSALQUBrQYO2BBCJA0H6sQRB46QEQeYFEJgKAAv2DAEefCABEI4VIQUgARCWFSIIRAAAAAAAAAAAoCAFRAAAAAAAAAAAoiILoCEMIAAQjhUhByAAEJYVIgZEAAAAAAAAAACgIAdEAAAAAAAAAACiIg6gIQEgB0QAAAAAAAAAAKAgBkQAAAAAAAAAgKIiFqAhDyAFRAAAAAAAAAAAoCAIRAAAAAAAAACAoiIUoCEQIAcgBaIiGCAGRAAAAAAAAAAAoiITIAhEAAAAAAAAAACiRAAAAAAAAAAAoCIKoKAhACAOIAqgIAYgBaIiHqEhCSATIAtEAAAAAAAAAACgIg2gIAcgCKIiGaEhBSAGIAiiIA4gDaCgIQcgAgRAIAIgDCAQRAAAAAAAAAAAokQAAAAAAAAAAKAiEaA5AzAgAiAQIACiRAAAAAAAAAAAoCAMIAWioTkDACACIAAgAUQAAAAAAAAAAKIiFSAFRAAAAAAAAAAAokQAAAAAAAAAAKAiEqCgOQNAIAIgCSAPRAAAAAAAAAAAoiIaIAdEAAAAAAAAAACiRAAAAAAAAAAAoCIXoKA5AzggAiABIACiIhsgEqAgG6E5AyggAiAPIACiIBegIAEgCaKhOQMgIAIgESAARAAAAAAAAAAAoqAgASAMoqE5AxggAiAVIAAgBaIiEUQAAAAAAAAAAKCgIBGhOQMQIAIgGiAAIAeiRAAAAAAAAAAAoKAgBSAJoqE5AwgLIAMEQCADIAkgD0QAAAAAAAAAAKIiESAHRAAAAAAAAAAAokQAAAAAAAAAAKAiFaAiGqAgAEQAAAAAAAAAAKIiFyABRAAAAAAAAAAAoiIbIAVEAAAAAAAAAACiRAAAAAAAAAAAoCIcoKCgOQNAIAMgDEQAAAAAAAAAAKIgEEQAAAAAAAAAAKJEAAAAAAAAAACgIh+gIAsgCqAiEiAUIA2gIiBEAAAAAAAAAACiRAAAAAAAAAAAoCIhoKA5AzAgAyAPIACiIh0gFaAgASAJoiIioSAiIBygIB2hoDkDKCADIBEgACAHoiIcRAAAAAAAAAAAoKAgBSAJoiIdoSAbIB1EAAAAAAAAAACgoCAcoaA5AxAgAyAgIACiRAAAAAAAAAAAoCASIAWioSAQIAmiRAAAAAAAAAAAoCAMIAeioaA5AwAgAyAhIBegIAEgEqKhIB8gCUQAAAAAAAAAAKIiEqAgDyAMoqGgOQMYIAMgFiAKoCAYoSIKRAAAAAAAAAAAIAahIA6hIgZEAAAAAAAAAACiIhcgGSAWIA2goCINRAAAAAAAAAAAokQAAAAAAAAAAKAiGaCgIBIgGqCgOQM4IAMgBiAAoiAZoCABIAqioSAPIAmiIgYgFaAgBqGgOQMgIAMgFyAAIA2iRAAAAAAAAAAAoKAgBSAKoqEgESAJIAeiIgZEAAAAAAAAAACgoCAGoaA5AwgLIAQEQCAEIBBEAAAAAAAAAAAgCKEgC6EiCEQAAAAAAAAAAKJEAAAAAAAAAACgIgagIAxEAAAAAAAAAACiIBBEAAAAAAAAAACiRAAAAAAAAAAAoCILoKA5AzAgBCAIIACiRAAAAAAAAAAAoCAQIAWiIgihIAhEAAAAAAAAAACgIAwgEyAURAAAAAAAAAAAoCIKoCAYoSIIoqGgOQMAIAQgBiAARAAAAAAAAAAAoiINoCABIBCioSALIAVEAAAAAAAAAACiIhSgIA4gE0QAAAAAAAAAAKCgIgYgDKKhoDkDGCAEIAUgBkQAAAAAAAAAAKIiCyAIRAAAAAAAAAAAokQAAAAAAAAAAKAiE6CgIA0gAUQAAAAAAAAAAKIiGCAURAAAAAAAAAAAoCIUoKCgOQNAIAQgByAWIA5EAAAAAAAAAACgoCINRAAAAAAAAAAAoiIWIB4gDiAKoKAiDkQAAAAAAAAAAKJEAAAAAAAAAACgIgqgoCAJRAAAAAAAAAAAoiAPRAAAAAAAAAAAoiIRIAdEAAAAAAAAAACiRAAAAAAAAAAAoCIVoKCgOQM4IAQgBiAAoiISIBOgIAEgBaIiE6EgEyAUoCASoaA5AyggBCANIACiIAqgIAEgB6KhIA8gBaIgFaAgBiAJoqGgOQMgIAQgCyAAIAiiIgZEAAAAAAAAAACgoCAFIAWiIguhIBggC0QAAAAAAAAAAKCgIAahoDkDECAEIBYgACAOokQAAAAAAAAAAKCgIAUgB6IiBqEgESAGRAAAAAAAAAAAoKAgCCAJoqGgOQMICwvlJQMNfwJ+BHwjAEGAHWsiByQAIAdBmBxqQgA3AwAgB0GQHGpCADcDACAHQYgcakIANwMAIAdB+BtqQgA3AwAgB0HwG2pCADcDACAHQYAcakKAgICAgICA+D83AwAgB0IANwPoGyAHQoCAgICAgID4PzcDoBwgB0KAgICAgICA+D83A+AbIAdBwBpqQQBByAAQrxsaIAdB8BlqQQBByAAQrxsaIAdBoBlqQQBByAAQrxsaIAdBkBlqQgA3AwAgB0IANwOIGSAHQgA3A4AZIAdB+BhqQgA3AwAgB0HwGGpCADcDACAHQegYakIANwMAIAdCADcD4BggB0HYGGpCADcDACAHQdAYakIANwMAIAdByBhqIhNCADcDACAHQcAYakIANwMAIAdCADcDuBggB0IANwOwGCAHQoaAiZKEAzcDkBggB0KDgICAMDcCpBggB0IANwOYGCAHIAdBsBxqNgKgGCAHQoaAiZKEAzcD8BcgB0KDgICAMDcChBggB0IANwP4FyAHIAdB4BtqNgKAGCAHQoaAiZKEAzcD0BcgB0KDgICAMDcC5BcgB0IANwPYFyAHIAdBkBtqNgLgFyAHQoaAiZKEATcDsBcgB0KDgICAEDcCxBcgB0IANwO4FyAHIAdBsBhqNgLAFyAHQoaAiZKEATcDkBcgB0KDgICAEDcCpBcgByATNgKgFyAHQgA3A5gXIAdChoCJkoQDNwPwFiAHQoGAgIAwNwKEFyAHQgA3A/gWIAcgB0HgGGo2AoAXIAdChoCJkoQDNwPQFiAHQoOAgIAwNwLkFiAHQgA3A9gWIAcgB0HAGmo2AuAWIAdChoCJkoQDNwOwFiAHQoOAgIAwNwLEFiAHQgA3A7gWIAcgB0HwGWo2AsAWIAdChoCJkoQDNwOQFiAHQoOAgIAwNwKkFiAHQgA3A5gWIAcgB0GgGWo2AqAWIAdChoCJkoQBNwPwFSAHQoOAgIAQNwKEFiAHQgA3A/gVIAcgB0GAGWo2AoAWIAdChoCJkoQBNwPQFSAHQoaAgIAQNwLkFSAHQgA3A9gVIAcgB0GwGGo2AuAVAkACQAJAAkACQAJAIABFDQAgAC8BAkEQdEGAgIiSBEcNACAAKAIYIghBAUgNACAAKAIUIgpBAUgNACABRQ0AIAAoAhBFDQAgAS8BAkEQdEGAgIiSBEcNACABKAIYQQFIDQAgASgCFEEBSA0AIAJFDQAgASgCEEUNACACLwECQRB0QYCAiJIERw0AIAIoAhhBAUgNACACKAIUQQFIDQAgBEUNACACKAIQRQ0AIAQvAQJBEHRBgICIkgRHDQAgBCgCGEEBSA0AIAQoAhRBAUgNACAFRQ0AIAQoAhBFDQAgBS8BAkEQdEGAgIiSBEcNACAFKAIYQQFIDQAgBSgCFEEBSA0AIAUoAhBFDQBBASAKIAggCCAKSBsiCUEWEPcDIQhBEBDVGiINQgA3AgQgDSAINgIMIA1ByLcENgIAQQEgCUEOEPcDIQpBEBDVGiIOQgA3AgQgDiAKNgIMIA5ByLcENgIAIAAgCBDVCyABIAoQ1QsgAiAHQZAYakQAAAAAAADwPxC4CyAEKAIAIgBBB3FBBWtBAUsNASAEKAIYIQECQCAEKAIUIgJBAUYEQCABIQwMAQtBASEMIAFBAUcNAgsgAiAAQQN2Qf8DcUEBamwgDGxBA0cNASAFKAIAIgFBB3FBBWtBAUsNAiAFKAIYIQAgBSgCFCICQQFHBEAgAEEBRyEMQQEhACAMDQMLIAIgAUEDdkH/A3FBAWpsIABsQQNHDQIgCUEDTARAIAZFDQQgCUEDRw0EC0EBIAlBDhD3AyESQRAQ1RoiD0IANwIEIA8gEjYCDCAPQci3BDYCAEEBIAlBDhD3AyEQQRAQ1RoiEUIANwIEIBEgEDYCDCARQci3BDYCACAKIBIgB0GQGGogAyAHQfAXahDkDAJAIAYEQCAEKAIAIQAgBCgCFCEBIAcgBCgCGCICNgLICyAHIAE2AsQLIAdCADcDuAsgByAAQfgfcSIAQYaAiZIEcjYCsAsgByACIABBA3ZBAWpsQQN0NgK0CyAHIAdBsBhqNgLACyAFKAIAIQAgBSgCFCEBIAcgBSgCGCICNgLoASAHIAE2AuQBIAcgEzYC4AEgB0IANwPYASAHIABB+B9xIgBBhoCJkgRyNgLQASAHIAIgAEEDdkEBamxBA3Q2AtQBIAQgB0GwC2pEAAAAAAAA8D8QuAsgBSAHQdABakQAAAAAAADwPxC4CwwBCyAHQbALaiAIEMALIAcgBysDyAs5A/gYIAcgBysDwAs5A/AYIAcgBysDuAs5A+gYIAcgBysDsAs5A+AYIAggCEEBIAkQgAQgCCAHQdAWaiAHQfAWahCHBiAHQdAWaiAHQfAVakEAIAdBkBZqQQUQuQQgBysDkBkgBysDiBmjRPyp8dJNYlA/Y0EBc0UEQCAHQoaAiZKEATcD0AEgB0KDgICAEDcC5AEgB0IANwPYASAHIAdBsAFqNgLgASAHQoaAiZKEAzcD0AogB0KDgICAMDcC5AogB0IANwPYCiAHKwPIGSEWIAcrA7AZIRcgByAHQbALajYC4AogFyAXoiAWIBaioES7vdfZ33zbPWNBAXNFBEAgB0HYFGpCADcDACAHQeAUakIANwMAIAdB6BRqQgA3AwAgB0IANwM4IAdBQGtCADcDACAHQgA3A0ggB0KAgICAgICA+D83A9AUIAdCgICAgICAgPg/NwMwIAdBkBZqIAdBMGoQzwYLIAdBkBZqELYERAAAAAAAAAAAY0EBc0UEQCAHQZAWaiAHQZAWakQAAAAAAADwvxC4CwtBACECIAdBkBZqIAdB8BZqRAAAAAAAAPC/QQBEAAAAAAAAAAAgB0HQAWpBAhCGBgNAIBAoAhAgAkEEdGoiBiAHKALgASIMKwMAIAcoAqAWIgArAwAgCCgCECACQRhsaiIBKwMAoiAAKwMIIAErAwiioCAAKwMQIAErAxCioKA5AwAgBiAMKwMIIAArAxggASsDAKIgACsDICABKwMIoqAgACsDKCABKwMQoqCgOQMIIAJBAWoiAiAJRw0ACyAQIBIgB0HQCmoQ1AsCQCAHQdAKahCyCwRAIAdB0ApqIAdBsBVqQQBBARD/AxogB0GgFWoiACAHQcAVaikDACIUNwMAIAAgFKdBCGo2AgAgB0GAFWoiASAAKQMAIhQ3AwAgB0GoFWogB0HIFWooAgAiADYCACAHQZgVaiAHQbgVaikDACIVNwMAIAdB+BRqIBU3AwAgB0GIFWogADYCACABIBSnQQhqNgIAIAcgBykDsBUiFDcDkBUgByAUNwPwFCAHKwPoCyEWIAcrA7gLIRcgBysD0AshGSAHQbAVaiAHQbAVakQAAAAAAADwPyAHKwOwCyIYIBiiIAcrA8gLIhggGKKgIAcrA+ALIhggGKKgnyIYRAAAAAAAALA8paMQuAsgB0GQFWogB0GQFWpEAAAAAAAA8D8gFyAXoiAZIBmioCAWIBaioJ8iFkQAAAAAAACwPKWjELgLIAdB8BRqIAdBkBdqRAAAAAAAAABAIBggFqBEAAAAAAAAsDyloxC4CyAHQbAVaiAHQZAVaiAHQfAUahDRBiAHQdAKaiAHQbAXakEAEMILGiAHQbAXaiAHQdAKakEAEMILGiAHQdAKaiAHQdABakQAAAAAAADwPyAHQZAXakQAAAAAAADwPyAHQZAXakEAEIYGIAdB0ApqIAdBkBZqRAAAAAAAAPA/QQBEAAAAAAAA8D8gB0HQF2pBABCGBgwBCyAHQbgUakIANwMAIAdBwBRqQgA3AwAgB0HIFGpCADcDACAHQgA3AxggB0IANwMgIAdCADcDKCAHQoCAgICAgID4PzcDsBQgB0KAgICAgICA+D83AxAgB0HQF2ogB0EQahDPBiAHQZAXahCdBAsgB0HQF2ogB0GwF2pBABDCCxoMAQsgCUEFTA0FIAdChoCJkoQMNwOwFSAHQoyAgIDAATcCxBUgB0IANwO4FSAHIAdBsAtqNgLAFSAHQoaAiZKEATcDkBUgB0KMgICAEDcCpBUgB0IANwOYFSAHIAdB0ApqNgKgFSAHQoaAiZKEDDcD8BQgB0KMgICAwAE3AoQVIAdCADcD+BQgByAHQdABajYCgBUgEigCECEGIAgoAhAhDCAJQQF0QQxBBhD3AyEQQRAQ1RoiC0IANwIEIAsgEDYCDCALQci3BDYCACAQKAIQIQBBACECA0AgBiACQQR0aiIBKwMIIRcgASsDACEZIAAgDCACQRhsaiIBKwMAIhY5AwAgACAWOQOAASAAIAErAwgiFjkDCCAAIBY5A4gBIAErAxAhFiAAQoCAgICAgID4PzcDmAEgACAWOQMQIAAgFjkDkAEgAEIANwMgIABCgICAgICAgPg/NwMYIABCADcDKCAAQgA3AzAgAEIANwM4IABCADcDYCAAQgA3A2ggAEIANwNwIABCADcDeCAAIAErAwAgGZoiFqI5A0AgACABKwMIIBaiOQNIIAErAxAhGSAAIBY5A1ggACAZIBaiOQNQIAAgASsDACAXmiIWojkDoAEgACABKwMIIBaiOQOoASABKwMQIRcgACAWOQO4ASAAIBcgFqI5A7ABIABBwAFqIQAgAkEBaiICIAlHDQALIBAgB0GwFWpBABCHBiAHQbAVaiAHQZAVakEAIAdB8BRqQQUQuQQgB0KDgICAwAA3AsQBIAcgB0HwCWo2AsABIAdCADcDuAEgB0KGgImShAQ3A7ABIAdBsAFqIAdBkAFqQQBBAxD/AxogB0GwAWogB0HwAGpBA0EEEP8DGiAHQZABahC2BEQAAAAAAAAAAGNBAXNFBEAgB0GwAWogB0GwAWpEAAAAAAAA8L8QuAsLIAdBkAFqQQBBBBDBCyIWmUQAAAAAAACwPGRFDQYgB0GQAWogB0HwFWogB0GwFmogB0GQFmpBBxC5BCAHQbAWaiAHQZAWakQAAAAAAADwP0EARAAAAAAAAAAAIAdB0BdqQQEQhgYgB0HwAGogB0GQF2ogB0HQF2pBAEEEEMELIBajELgLIAdB0BdqIAdBsBdqQQAQwgsaCyAIIAhBA0EBEIAEIBIgEkECQQEQgAQgB0KAgICAgICAwD43A1ggB0KAgICAgICAwD43AwggB0KDgICAwAI3A1AgB0KDgICAwAI3AwAgB0HQFWogB0GwC2ogCUEBdCICIAcQzQsiASgCEBCbBANAAkAgB0EANgKwFSAHQQA2ApAVIAdBADYC8BQgASAHQfAUaiAHQbAVaiAHQZAVahDRCyEAIAcoAvAUIAdB0BVqEJsEIABFDQAgBygCkBUiAEUNACAAIABBAkEBEIAEAkAgBygCsBUiAARAIAAgB0HQAWpBAEEDEP8DGiAHKAKwFSAHQdAKakEDQQYQ/wMaIAggB0GwF2ogB0GQF2ogB0GQGGogAyAHKAKQFSAHQdABaiAHQdAKakEAQQBBABDFCwwBCyAIIAdBsBdqIAdBkBdqIAdBkBhqIAMgBygCkBVBAEEAQQBBAEEAEMULCyAHKAKQFSIAIAogABDjBSAHKAKQFSIAIABBASACEIAEDAELCyABKAIQIAdB0BVqEJsEIAQoAgAhACAEKAIUIQggByAEKAIYIgo2AsgXIAcgCDYCxBcgB0IANwO4FyAHIABB+B9xIgBBhoCJkgRyNgKwFyAHIAogAEEDdkEBamxBA3Q2ArQXIAcgB0GwGGo2AsAXIAUoAgAhACAFKAIUIQggByAFKAIYIgo2AqgXIAcgCDYCpBcgByATNgKgFyAHQgA3A5gXIAcgAEH4H3EiAEGGgImSBHI2ApAXIAcgCiAAQQN2QQFqbEEDdDYClBcgB0GwF2ogBEQAAAAAAADwPxC4CyAHQZAXaiAFRAAAAAAAAPA/ELgLIAEQ0AsCQCALRQ0AIAsgCygCBCIAQQFrNgIEIAANACALIAsoAgAoAggRAQAgCxDQGgsgDyAPKAIEIgBBAWs2AgQgAEUEQCAPIA8oAgAoAggRAQAgDxDQGgsgDiAOKAIEIgBBAWs2AgQgAEUEQCAOIA4oAgAoAggRAQAgDhDQGgsgESARKAIEIgBBAWs2AgQgAEUEQCARIBEoAgAoAggRAQAgERDQGgsgDSANKAIEIgBBAWs2AgQgAEUEQCANIA0oAgAoAggRAQAgDRDQGgsgB0GAHWokAA8LQal+IAdBsAtqQYipBBCJA0HwqQRB46QEQbAIEJgKAAtBqX4gB0GwC2pBjaoEEIkDQfCpBEHjpARBuwgQmAoAC0GpfiAHQbALakG0qwQQiQNB8KkEQeOkBEG+CBCYCgALQal+IAdBsAtqQdusBBCJA0HwqQRB46QEQcAIEJgKAAsgCUEGQZCtBBDVAwALQal+IAdB4ABqQYWvBBCJA0HwqQRB46QEQb0JEJgKAAuhBgIDfwF+IwBBsAJrIgMkAAJAIAAQzAdBgIAERgRAIANB+AFqIAAoAgQQrQYaDAELIANB+AFqIAAQyQcLIAMoAqACIgQoAgAhAAJAAkAgBCgCBCIEQQNGQQAgAEEBRhsNACAEQQFHIgVFQQAgAEEDRhsNAAJAIAUNACAAQQFHDQAgBEEDRiAAQQNGcQ0BIAMoAvgBQfgfcUEQRg0BDAILIARBA0cNASAAQQNHDQELIAFBA0EDQQEgAygChAJBAUYgAygCgAJBAUZyIgAbIAMoAvgBQQdxQQBBABD3BwJAIAEQzAdBgIAERgRAIANBuAFqIAEoAgQQrQYaDAELIANBuAFqIAEQyQcLIAMgAygCgAI2AqwBIAMgAygCiAI2AqgBIANCADcDoAEgA0EBIAMoAoQCIAMoAvwBQQFGGzYCsAEgAyADKAKkAigCADYCnAEgAyADKAL4AUH/nwFxQYCAiJIEcjYCmAEgA0EBIAMoAsQBIAMoArwBQQFGGzYCkAEgAyADKALAATYCjAEgAyADKALIATYCiAEgA0IANwOAASADKAK4ASEBIAMgAygC5AEoAgA2AnwgAyABQf+fAXFBgICIkgRyNgJ4IAIQ+QcEQCADQQNBCSAAGzYCVCADQQlBAyAAGzYCUCADIAMpA1A3AwggAiADQQhqIAMoAvgBQQdxENwHAkAgAhDMB0GAgARGBEAgA0EYaiACKAIEEK0GGgwBCyADQRhqIAIQyQcLIAMoAkQoAgAhASADIAMoAiA2AmwgAyADKAIoNgJoIANCADcDYCADIAE2AlwgA0EBIAMoAiQgAygCHEEBRhs2AnAgAyADKAIYQf+fAXFBgICIkgRyNgJYIANBGGoQsQYaCyADQZgBaiADQfgAaiADQdgAakEAIAIQ+QcbEMILQQBMBEAgA0IANwMwIANCADcDKCADQgA3AyAgA0IANwMYIANBuAFqIANBGGoQmAQaCyADQbgBahCxBhogA0H4AWoQsQYaIANBsAJqJAAPCyADIAStIACtQiCGhCIGNwMQIAMgBjcD8AEgA0EQakGcrwQQ3AMAC6kSAQR/IwBBsAhrIgckAAJAIAAQzAdBgIAERgRAIAdB8AdqIAAoAgQQrQYaDAELIAdB8AdqIAAQyQcLIAdB8AdqQQNBf0EBEMMGIQAgBygC8AdBB3EhCCAAQX9MBEAgB0GQBmogB0HwB2oQnAcgBygCkAYiACAHQZAGaiAHQfAHakF/IAAoAgAoAgwRBgAgB0GIB2oQsQYaIAdB0AZqELEGGiAHQZgGahCxBhoLIAdB8AdqQQNBf0EBEMMGIQACQAJAIAhBBWtBAUsNACAAQX9MDQAgBygC/AdBA0YEQCAHQZAGaiAHQfAHakEDQQAQwQYgB0HwB2ogB0GQBmoQuQYaIAdBkAZqELEGGgsgBRD5B0UNASAFIABBASAIQQhyQQFBABD3BwJAIAUQzAdBgIAERgRAIAdBkAZqIAUoAgQQrQYaDAELIAdBkAZqIAUQyQcLIAcgBygCmAY2AuQEIAcgBygCoAY2AuAEIAdCADcD2AQgB0EBIAcoApwGIAcoApQGQQFGGzYC6AQgByAHKAK8BigCADYC1AQgByAHKAKQBkH/nwFxQYCAiJIEcjYC0AQgB0EBIAcoAvwHIAcoAvQHQQFGGzYCyAQgByAHKAL4BzYCxAQgByAHKAKACDYCwAQgB0IANwO4BCAHKALwByEFIAcgBygCnAgoAgA2ArQEIAcgBUH/nwFxQYCAiJIEcjYCsAQCQCADEMwHQYCABEYEQCAHQfgDaiADKAIEEK0GGgwBCyAHQfgDaiADEMkHCwJAIAEQzAdBgIAERgRAIAdBwANqIAEoAgQQrQYaDAELIAdBwANqIAEQyQcLAkAgAhDMB0GAgARGBEAgB0GIA2ogAigCBBCtBhoMAQsgB0GIA2ogAhDJBwsgByAHKAKABDYC/AIgByAHKAKIBDYC+AIgB0IANwPwAiAHQQEgBygChAQgBygC/ANBAUYbNgKAAyAHIAcoAqQEKAIANgLsAiAHIAcoAvgDQf+fAXFBgICIkgRyNgLoAiAHQQEgBygCzAMgBygCxANBAUYbNgLgAiAHIAcoAsgDNgLcAiAHIAcoAtADNgLYAiAHQgA3A9ACIAcoAsADIQUgByAHKALsAygCADYCzAIgByAFQf+fAXFBgICIkgRyNgLIAiAHQgA3A7ACIAcgBygCkAM2ArwCIAcgBygCmAM2ArgCIAdBASAHKAKUAyAHKAKMA0EBRhs2AsACIAcoAogDIQUgByAHKAK0AygCADYCrAIgByAFQf+fAXFBgICIkgRyNgKoAiAHQgA3A6ACIAdCADcDmAIgB0IANwOQAiAHQgA3A4gCIAdCADcDgAIgB0HIAWpBBUEBQQYgB0GAAmpBABCuBiEBAkAgBBDMB0GAgARGBEAgB0GQAWogBCgCBBCtBhoMAQsgB0GQAWogBBDJBwsgB0GQAWoQtwYEQCAHQZABaiABELMGCyAHIAcoApgBIgI2AoQBIAcgBygCoAE2AoABIAdCADcDeCAHQQEgBygCnAEiCiAHKAKUAUEBRhs2AogBIAcgBygCvAEoAgA2AnQgByAHKAKQAUH/nwFxQYCAiJIEcjYCcCAHQThqEKcGIQVBACEDQQAhBEEAIQggB0GwBGogB0HIAmogB0GoAmogB0HoAmogB0HwAGogB0HQBGogBhD5BwR/IAYgAEEBdCACIApqQQlqIgBBBkEAQQAQ9wcCQCAGEMwHQYCABEYEQCAHIAYoAgQQrQYaDAELIAcgBhDJBwsgBSAHELkGGiAHELEGGiAHQoCAgID4/////wA3A/AFIAdCgICAgDA3A9AFIAcgBSAHQfAFaiAHQdAFahC6BiIGKAIAIQIgBigCDCEDIAYoAgQhBCAGKAIsKAIAIQggBigCECEJIAcgBigCCDYChAYgByAJNgKABiAHQgA3A/gFIAcgCDYC9AUgB0EBIAMgBEEBRhs2AogGIAcgAkH/nwFxQYCAiJIEcjYC8AUgBhCxBhogB0KAgICA+P////8ANwPQBSAHQoOAgIDgADcDsAUgByAFIAdB0AVqIAdBsAVqELoGIgYoAgAhAiAGKAIMIQMgBigCBCEEIAYoAiwoAgAhCCAGKAIQIQkgByAGKAIINgLkBSAHIAk2AuAFIAdCADcD2AUgByAINgLUBSAHQQEgAyAEQQFGGzYC6AUgByACQf+fAXFBgICIkgRyNgLQBSAGELEGGiAHQoCAgID4/////wA3A7AFIAdChoCAgIABNwOQBSAHIAUgB0GwBWogB0GQBWoQugYiBigCACECIAYoAgwhAyAGKAIEIQQgBigCLCgCACEIIAYoAhAhCSAHIAYoAgg2AsQFIAcgCTYCwAUgB0IANwO4BSAHIAg2ArQFIAdBASADIARBAUYbNgLIBSAHIAJB/58BcUGAgIiSBHI2ArAFIAYQsQYaIAdCgICAgPj/////ADcDkAUgB0KIgICAoAE3A/AEIAcgBSAHQZAFaiAHQfAEahC6BiIGKAIAIQIgBigCDCEDIAYoAgQhBCAGKAIsKAIAIQggBigCECEJIAcgBigCCDYCpAUgByAJNgKgBSAHQgA3A5gFIAcgCDYClAUgB0EBIAMgBEEBRhs2AqgFIAcgAkH/nwFxQYCAiJIEcjYCkAUgBhCxBhogB0KAgICA+P////8ANwPwBCAHIAA2AqwIIAdBCjYCqAggByAFIAdB8ARqIAdBqAhqELoGIgYoAgAhACAGKAIMIQIgBigCBCEDIAYoAiwoAgAhBCAGKAIQIQggByAGKAIINgKEBSAHIAg2AoAFIAdCADcD+AQgByAENgL0BCAHQQEgAiADQQFGGzYCiAUgByAAQf+fAXFBgICIkgRyNgLwBCAGELEGGiAHQfAEaiEJIAdBkAVqIQggB0GwBWohBCAHQdAFaiEDIAdB8AVqBUEACyADIAQgCCAJEMULIAUQsQYaIAdBkAFqELEGGiABELEGGiAHQYgDahCxBhogB0HAA2oQsQYaIAdB+ANqELEGGiAHQZAGahCxBhogB0HwB2oQsQYaIAdBsAhqJAAPC0GpfiAHQZAGakH1sAQQiQNBqrEEQeOkBEHrGxCYCgALQal+IAdBkAZqQbixBBCJA0GqsQRB46QEQfMbEJgKAAu9AQECfyMAQUBqIgIkAAJAIAEQtwYEQCAAELIGIAAgACgCAEGAYHFBBnI2AgAMAQsgASgCACIDQf8fcUEGRgRAIAAgARC5BhoMAQsgA0EHcUEGRgRAIAJBCGogAUEBIAEoAgRBABDCBiAAIAJBCGoQuQYaIAJBCGoQsQYaDAELIAIgADYCDCACQYaAhJB4NgIIIAJCADcDECABIAJBCGpBBkQAAAAAAADwP0QAAAAAAAAAABCIAwsgAkFAayQACwoAIAAoAgwQggQLFAAgAEEMakEAIAEoAgRBwLgERhsLPwEBfyMAQRBrIgMkACAAQQBB0AAQrxshACADIAIpAwg3AwggAyACKQMANwMAIAAgASADEM4LIANBEGokACAAC4gJAwR/AX4BfCMAQUBqIgYkAAJAAkAgACgCECIDRQ0AIAMoAhRBBkcNAAJ/QQAgACgCICIDRQ0AGiADKAIUCyABRg0BCyAAEM8LC0EGQQFBABD3AyEEQRAQ1RoiA0IANwIEIAMgBDYCDCADQci3BDYCACAAIAQ2AgAgACgCBCEEIAAgAzYCBAJAIARFDQAgBCAEKAIEIgNBAWs2AgQgAw0AIAQgBCgCACgCCBEBACAEENAaCyAAKAIAIQMgBkKAgICAgICA+D83AyggBkKAgICAgICA+D83AzAgBkKAgICAgICA+D83AzggBkKAgICAgICA+D83AwggBkKAgICAgICA+D83AxAgBkKAgICAgICA+D83AxggBkKAgICAgICA+D83AyAgBkKAgICAgICA+D83AwAgAyAGEJwEQQZBAUEGEPcDIQRBEBDVGiIDQgA3AgQgAyAENgIMIANByLcENgIAIAAgBDYCCCAAQQxqIgUoAgAhBCAFIAM2AgACQCAERQ0AIAQgBCgCBCIDQQFrNgIEIAMNACAEIAQoAgAoAggRAQAgBBDQGgtBBkEBQQYQ9wMhBEEQENUaIgNCADcCBCADIAQ2AgwgA0HItwQ2AgAgACAENgIQIABBFGoiBSgCACEEIAUgAzYCAAJAIARFDQAgBCAEKAIEIgNBAWs2AgQgAw0AIAQgBCgCACgCCBEBACAEENAaC0EGQQZBBhD3AyEEQRAQ1RoiA0IANwIEIAMgBDYCDCADQci3BDYCACAAIAQ2AiggAEEsaiIFKAIAIQQgBSADNgIAAkAgBEUNACAEIAQoAgQiA0EBazYCBCADDQAgBCAEKAIAKAIIEQEAIAQQ0BoLQQZBAUEGEPcDIQRBEBDVGiIDQgA3AgQgAyAENgIMIANByLcENgIAIAAgBDYCOCAAQTxqIgUoAgAhBCAFIAM2AgACQCAERQ0AIAQgBCgCBCIDQQFrNgIEIAMNACAEIAQoAgAoAggRAQAgBBDQGgsCQCABQQFIDQAgAUEGQQYQ9wMhA0EQENUaIgVCADcCBCAFIAM2AgwgBUHItwQ2AgAgACADNgIYIABBHGoiBCgCACEDIAQgBTYCAAJAIANFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADENAaCyABQQFBBhD3AyEDQRAQ1RoiBUIANwIEIAUgAzYCDCAFQci3BDYCACAAIAM2AiAgAEEkaiIEKAIAIQMgBCAFNgIAIANFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADENAaCyAAQX02AmAgAEL/////////9/8ANwNYIABC//////////f/ADcDUCAAIAIpAwAiBzcDaCAAIAIpAwg3A3AgACAHpyIDQQFxBH8gACgCbCIFQQEgBUEBShsiBUHoByAFQegHSBsFQR4LNgJsRAAAAAAAALA8IQggA0ECcQRAIAArA3BEAAAAAAAAAAClIQgLIABBATYChAEgAEEBOgCAASAAQgE3A3ggACAIOQNwIAZBQGskAAvHBQECfyAAQQA2AgAgACgCBCEBIABBADYCBAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AgggAEEMaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCECAAQRRqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIYIABBHGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AiAgAEEkaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCKCAAQSxqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIwIABBNGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AjggAEE8aiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCQCAAQcQAaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCSCAAQcwAaiIBKAIAIQAgAUEANgIAAkAgAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQ0BoLC/0DAQJ/IAAQzwsCQCAAKAJMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAkQiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCPCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAg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IARByAFqIARBwAFqELoGIQcgBEIANwNIIAQgBzYCRCAEQYCAhJB8NgJAIAYgBEFAaxCWBCAHELEGGiAGELEGGiACKAIAIQYgAigCBCEHCyAFIAcgBmtIDQALCyAEQgA3A1ggBEGAgIyIeDYCUCAEIAM2AlQgASAEQdAAahC+CyAKQQYQqgYgAygCBCIHIAMoAgAiBmtBAU4EQEEAIQhBACEFA0ACQCAFIAZqLQAARQRAIAVBAWohBQwBCyAEIAU2AgggBCAFQQFqIgU2AgwgBEKAgICA+P////8ANwNAIARB0ABqIAkgBEEIaiAEQUBrELoGIQYgBCAINgLIASAEIAhBAWoiCDYCzAEgBEKAgICA+P////8ANwPAASAEQQhqIAEgBEHIAWogBEHAAWoQugYhByAEQgA3A0ggBCAHNgJEIARBgICEkHw2AkAgBiAEQUBrEJYEIAcQsQYaIAYQsQYaIAMoAgAhBiADKAIEIQcLIAUgByAGa0gNAAsLIAkQsQYaIARB0AFqJAALiQUBAX8jAEGAA2siAyQAIANByAJqIABBABDNBiADQZACaiABQQAQzQYCQCADLwHIAkH4H3ENACADKALQAkF+cUECRw0AIAMoAtQCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0HIAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANByAJqNgKkASADQdgBaiADQaABahC0BwsCQCADLwGQAkH4H3ENACADKAKYAkF+cUECRw0AIAMoApwCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0GQAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANBkAJqNgKkASADQdgBaiADQaABahC0BwsgA0HYAWogAkEAEM0GIANBoAFqQQBBABDNBiADQgA3AyggA0GAgIQINgIgIAMgA0HIAmo2AiQgA0IANwMIIANBgICECDYCACADIANBkAJqNgIEIANCADcDYCADQQA2AlwgA0GAgIAQNgJYIANB6ABqIANBIGogAyADQdgAahDWCwJAIANB6ABqELcGBEAgA0EgaiACQQAQzQYgA0IANwMYIANCADcDECADQgA3AwggA0KBgICAwAA3A2AgA0GGgIiIfDYCWCADQgA3AwAgAyADNgJcIANBIGogA0HYAGpB1NYKEJkEIANBIGoQsQYaDAELIANBgICEkHw2AiAgA0IANwMoIAMoAtgBIQAgAyADQdgBajYCJCADQegAaiADQSBqIABB/x9xRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyADQegAahCxBhogA0GgAWoQsQYaIANB2AFqELEGGiADQZACahCxBhogA0HIAmoQsQYaIANBgANqJAALsAcBBH8jAEHwAWsiAiQAIAJBuAFqIABBABDNBiACQYABaiABQQAQzQYgAkHIAGogAkGAAWoQrQYhAQJAIAIoArgBQQN2Qf8DcSIABEAgAEEBaiEADAELIAIoAsQBIgAgAigCwAEiA0wNACACQgA3AwggAkGAgIQINgIAIAIgAkG4AWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBuAFqNgI8IAIgAkE4ahC0ByADIQALAkAgAigCgAFBA3ZB/wNxIgNBAWogAigCiAEiBCACKAKMASIFIAQgBUgbIAMbIgMgAEYEQCACQYCAhBA2AgAgAkIANwMIIAIgAkGAAWo2AgQgAkG4AWogAhCWBAwBCyAAIANIBEAgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ2QsMAQsgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ1wsLIAIgAkGAAWogASgCAEEDdkH/A3EiAEEBaiABKAIMIgQgASgCCCAARSADIARIcSIAGxDBBiACQYABaiACELkGGiACELEGGgJAAkACQCAABEAgAigCiAEgASgCDEcNAiACKAKMASABKAIIRw0CIAIoAoABIAEoAgBzQf8fcUUEQCACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAiABNgI8IAJBgICEkHw2AjggAkIANwNAIAIgAkE4ahC0BwwCCyACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBgAFqNgI8IAIgAkE4ahC0ByACQYCAhJB8NgIAIAJCADcDCCACIAE2AgQgAkGAAWogAiABKAIAQf8fcUQAAAAAAADwP0QAAAAAAAAAABCIAwwBCyACKAKoASIAKAIEIAEo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OQOQASABIAArA4gBIAihOQOYASABIAArA6ABIAihOQOgASABIAArA3ggACsDYCIIoTkDqAEgASAAKwOQASAIoTkDsAEgASAAKwOoASAIoTkDuAEgASAAKwOAASAAKwNoIgihOQPAASABIAArA5gBIAihOQPIASABIAArA7ABIAihOQPQASABQSBqIAEQtwQgACgCUCIFQQFOBEAgACgCOCEGIAAoAiAhBwNAIAYgA0EFdGoiBCABKwNAIAcgA0EYbGoiAisDACAAKwNYoaIgASsDSCACKwMIIAArA2ChoqAgASsDUCACKwMQIAArA2ihoqAiCDkDCCAEIAErA1ggAisDACAAKwNYoaIgASsDYCACKwMIIAArA2ChoqAgASsDaCACKwMQIAArA2ihoqAiCTkDECAEIAErA3AgAisDACAAKwNYoaIgASsDeCACKwMIIAArA2ChoqAgASsDgAEgAisDECAAKwNooaKgIgo5AxggBEQAAAAAAADwPyAIoSAJoSAKoTkDACADQQFqIgMgBUcNAAsLIAFB4AFqJAALqAMBAnwgACsDECEGIAMrAwAhByABKAIQIAJB4ABsaiIBQgA3AwggASAHIAaiOQMAIAMrAwAhBiAAKwMAIQcgAUIANwNgIAEgBiAHIAShojkDECABIAMrAwAgACsDGKI5A2ggASADKwMAIAArAwggBaGiOQNwIAArAxAhBiADKwMIIQcgAUIANwMgIAEgByAGojkDGCADKwMIIQYgACsDACEHIAFCADcDeCABIAYgByAEoaI5AyggASADKwMIIAArAxiiOQOAASABIAMrAwggACsDCCAFoaI5A4gBIAArAxAhBiADKwMQIQcgAUIANwM4IAEgByAGojkDMCADKwMQIQYgACsDACEHIAFCADcDkAEgASAGIAcgBKGiOQNAIAEgAysDECAAKwMYojkDmAEgASADKwMQIAArAwggBaGiOQOgASAAKwMQIQYgAysDGCEHIAFCADcDUCABIAcgBqI5A0ggAysDGCEGIAArAwAhByABQgA3A6gBIAEgBiAHIAShojkDWCABIAMrAxggACsDGKI5A7ABIAEgAysDGCAAKwMIIAWhojkDuAELwAICBH8MfCAAQbgBakEAQeAAEK8bIQYDQCAGIBIgASAFQQN0aiIDKwMAIAJBCyAFa0HgAGxqIgQrAwCioCISOQMAIAAgESADKwMAIAQrAwiioCIROQPAASAAIBAgAysDACAEKwMQoqAiEDkDyAEgACAPIAMrAwAgBCsDGKKgIg85A9ABIAAgDiADKwMAIAQrAyCioCIOOQPYASAAIA0gAysDACAEKwMooqAiDTkD4AEgACAMIAMrAwAgBCsDMKKgIgw5A+gBIAAgCyADKwMAIAQrAziioCILOQPwASAAIAogAysDACAEKwNAoqAiCjkD+AEgACAJIAMrAwAgBCsDSKKgIgk5A4ACIAAgCCADKwMAIAQrA1CioCIIOQOIAiAAIAcgAysDACAEKwNYoqAiBzkDkAIgBUEBaiIFQQRHDQALC+YBAQZ/IAAoAlAiBEEBTgRAIAAoAkQhBSAAKAI4IQYDQCAFIAJBGGxqIgMgBiACQQV0aiIBKwMAIAArA7gBoiABKwMIIAArA9ABoqAgASsDECAAKwPoAaKgIAErAxggACsDgAKioDkDACADIAErAwAgACsDwAGiIAErAwggACsD2AGioCABKwMQIAArA/ABoqAgASsDGCAAKwOIAqKgOQMIIAMgASsDACAAKwPIAaIgASsDCCAAKwPgAaKgIAErAxAgACsD+AGioCABKwMYIAArA5ACoqA5AxAgAkEBaiICIARHDQALCwuNCwIFfw18IwBBkB1rIgMkACAAEJ4MIAAQnwwgAyAAKAJQQQF0QQxBBhD3AyIFNgKMHSAAKAJQQQFOBEADQCAAIAUgBEEBdCAAKAI4IARBBXRqIAAoAiwiByAEQQR0IgZqKwMAIAcgBkEIcmorAwAQoAwgBEEBaiIEIAAoAlBIDQALCyADQYAUakEAQYAJEK8bGiADQaATakEAQeAAEK8bGiADQaAKakEAQYAJEK8bGiADQoaAiZKEDDcDgAogA0KMgICAwAE3ApQKIANCADcDiAogAyADQYAUajYCkAogA0KGgImShAE3A+AJIANCjICAgBA3AvQJIANCADcD6AkgAyADQaATajYC8AkgA0KGgImShAw3A8AJIANCjICAgMABNwLUCSADQgA3A8gJIAMgA0GgCmo2AtAJIAUgA0GACmpBABCHBiADQYAKaiADQeAJaiADQcAJakEAQQMQuQQgA0GMHWoQ+wMgA0HgBWpBAEHgAxCvGxogA0HYBWoiBEIANwMAIANB0AVqIgdCADcDACADQcgF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+AIgAyAPIAUrAxAgHKEgBCsDECAQoaKgIg85A4ADIAZBAWoiBiAHRw0ACwsgA0HgAGogA0FAayADQSBqIANBARC5BCABIAMrA9ABIhMgAysDgAEiFKIgAysD2AEiCyADKwOIASIVoqAgAysD4AEiDCADKwOQASIWoqAiDzkDACABIBMgAysDmAEiF6IgCyADKwOgASIdoqAgDCADKwOoASIeoqAiCjkDCCABIBMgAysDsAEiGKIgCyADKwO4ASIZoqAgDCADKwPAASILoqAiEzkDECABIBggAysD6AEiDKIgGSADKwPwASIaoqAgCyADKwP4ASIboqAiHzkDKCABIAwgF6IgGiAdoqAgGyAeoqAiIDkDICABIAwgFKIgGiAVoqAgGyAWoqAiGjkDGCABQUBrIBggAysDgAIiG6IgGSADKwOIAiIYoqAgCyADKwOQAiIZoqAiCzkDACABIBsgF6IgGCAdoqAgGSAeoqAiDDkDOCABIBsgFKIgGCAVoqAgGSAWoqAiFDkDMCAPICCiIAuiIAogH6IgFKKgIBMgGqIgDKKgIBQgICAToqKhIAsgCiAaoqKhIA8gH6IgDKKhRAAAAAAAAAAAYwRAIAEgC5o5A0AgASAMmjkDOCABIBSaOQMwCyACIBEgDyANoiAKIA6ioCATIBCioKE5AwAgAiASIA0gASsDGKIgDiABKwMgoqAgECABKwMooqChOQMIIAIgHCANIAErAzCiIA4gASsDOKKgIBAgASsDQKKgoTkDECADQZADaiQAC8wCAgN/FXwCQCAAKAJQIgNBAUgEQAwBCyABQUBrKwMAIQkgASsDOCEKIAErAyghCyABKwMgIQwgACgCLCEEIAArAxghDSAAKwMIIQ4gACsDECEPIAArAwAhECACKwMQIREgASsDMCESIAIrAwghEyABKwMYIRQgAisDACEVIAErAxAhFiABKwMIIRcgASsDACEYIAAoAiAhBUEAIQEDQCAGIAQgAUEEdCICaisDACAQIBUgGCAFIAFBGGxqIgArAwAiBqIgFyAAKwMIIgeioCAWIAArAxAiCKKgoCAPokQAAAAAAADwPyARIAYgEqIgByAKoqAgCCAJoqCgoyIZoqChIhogGqIgBCACQQhyaisDACAOIBkgEyAGIBSiIAcgDKKgIAggC6KgoCANoqKgoSIGIAaioJ+gIQYgAUEBaiIBIANHDQALCyAGIAO3owvuAwIHfwJ8IwBB8AFrIgMkACADQeAAakEAQZABEK8bGiADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEAzcDICADQoaAgIAwNwI0IANCADcDKCADIANB4ABqNgIwIANChoCJkoQBNwMAIANCg4CAgBA3AhQgA0IANwMIIAMgA0FAazYCECAAKAIEIQggACgCAEH/H3FBBUchCQNAIAQgCGwiBSAAKAIQaiEHAnwgCUUEQCAEQRhsIgYgAygCMGogByoCALs5AwAgAygCMCAGaiAAKAIQIAVqKgIEuzkDCCAAKAIQIAVqKgIIuwwBCyAEQRhsIgYgAygCMGogBysDADkDACADKAIwIAZqIAAoAhAgBWorAwg5AwggACgCECAFaisDEAshCiADKAIwIAZqIAo5AxAgBEEBaiIEQQZHDQALIANBIGogASADELgEAkAgAysDQCIKRAAAAAAAAAAAYwRAIAIgCpqfIgs5AwAgAysDUCIKRAAAAAAAAAAAYyEEIAqaIQoMAQsgAiAKnyILOQMAIAMrA1AiCkQAAAAAAAAAAGQhBAsgAiAKn0QAAAAAAAAAACAEGzkDCCADKwNIRAAAAAAAAAAAY0EBc0UEQCACIAuaOQMACyACQgA3AxAgAkIANwMYIANB8AFqJAAL4wQCB38CfCMAQeACayIDJAAgA0HwAGpBAEHwARCvGxogA0IANwNgIANCADcDWCADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEBTcDICADQoaAgIDQADcCNCADQgA3AyggAyADQfAAajYCMCADQoaAiZKEATcDACADQoWAgIAQNwIUIANCADcDCCADIANBQGs2AhAgACgCBCEIIAAoAgBB/x9xQQVHIQkDQCAGIAhsIgQgACgCEGohBwJ8IAlFBEAgBkEobCIFIAMoAjBqIAcqAgC7OQMAIAMoAjAgBWogACgCECAEaioCBLs5AwggAygCMCAFaiAAKAIQIARqKgIIuzkDECADKAIwIAVqIAAoAhAgBGoqAgy7OQMYIAAoAhAgBGoqAhC7DAELIAZBKGwiBSADKAIwaiAHKwMAOQMAIAMoAjAgBWogACgCECAEaisDCDkDCCADKAIwIAVqIAAoAhAgBGorAxA5AxAgAygCMCAFaiAAKAIQIARqKwMY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IhUrAwA5AxggFSAMKAIAaisDACErIAIgLCAuoiApICqioJo5AyggAiArOQMgIAIgASsDADkDMCACIBQrAwA5AzggAiABIApBAXRqKwMAOQNAIANCADcDUCADQgA3A1ggA0HoAGoiAUIANwMAIANCADcDSCADQoOAgIAwNwNAIANChoD9lyQ3AzggAyABNgJkIAMgA0FAazYCYCADQfAIakEDQQNBBiACQQAQrgYhASADQYCAhBA2ArgBIANCADcDwAEgAyADQThqNgK8ASABIANBuAFqEJYEIAEQsQYaIANBuAFqICEgA0E4ahD/BiADQThqELEGGiADQfAIaiADQbgBaiAgEIEHIAMQpwYhCiADKALwCCIBIANB8AhqIApBfyABKAIAKAIMEQYAIANBOGogChDDCyACIANBOGpByAAQrhshASAKELEGGiAJELEGGiAIELEGGiANELEGGiAQELEGGiARELEGGiASELEGGiABIAErA0AiKUQAAAAAAADwPyApoyIpojkDQCABICkgASsDOKI5AzggASApIAErAzCiOQMwIAEgKSABKwMoojkDKCABICkgASsDIKI5AyAgASApIAErAxiiOQMYIAEgKSABKwMQojkDECABICkgASsDCKI5AwggASABKwMAICmiOQMAIAUQsQYaIAQQsQYaIAAQsQYaIAYQsQYaIA8QsQYaIAsQsQYaIAcQsQYaIBoQsQYaIB8QsQYaIB4QsQYaIB0QsQYaIBwQsQYaIBsQsQYaICYQsQYaIBgQsQYaIBkQsQYaIBcQsQYaIBYQsQYaICUQsQYaICQQsQYaICMQsQYaICIQsQYaICgQsQYaICEQsQYaICAQsQYaICcQsQYaIBMQsQYaIA4QsQYaIANB4BBqJAAL0ggCA38IfCMAQaADayIFJAAgA0EEQQRBBkEAQQAQ9wcgBEEEQQRBBkEAQQAQ9wcCQCADEMwHQYCABEYEQCAFQeACaiADKAIEEK0GGgwBCyAFQeACaiADEMkHCwJAIAQQzAdBgIAERgRAIAVBqAJqIAQoAgQQrQYaDAELIAVBqAJqIAQQyQcLIAVCgYCAgBA3A/gBIAVBhoCIiHw2AvABIAVCADcDuAEgBSAFQbgBajYC9AEgBUHgAmogBUHwAWpB1NYKEJkEIAUoAvACIAUoAowDKAIAQQNsakKAgICAgICA+D83AxggBUKBgICAEDcD+AEgBUGGgIiIfDYC8AEgBUIANwO4ASAFIAVBuAFqNgL0ASAFQagCaiAFQfABakHU1goQmQQgBSgCuAIgBSgC1AIoAgBBA2xqQoCAgICAgID4PzcDGCACKwMAIQwgAisDCCENIAIrAxAhCCACKwMYIQ4gAisDMCEKIAIrAyAhDyACKwMoIQkgAisDOCELIAVCgICAgPj/////ADcD8AEgBUKAgICAMDcDgAEgBUG4AWogBUHgAmogBUHwAWogBUGAAWoQugYhBCAFQoCAgIAwNwOAASAFQoCAgID4/////wA3A0ggBUHwAWogBCAFQYABaiAFQcgAahC6BiECIAQQsQYaIAVCgICAgPj/////ADcDuAEgBUKAgICAMDcDSCAFQYABaiAFQagCaiAFQbgBaiAFQcgAahC6BiEDIAVCgICAgDA3A0ggBUKAgICA+P////8ANwMQIAVBuAFqIAMgBUHIAGogBUEQahC6BiEEIAMQsQYaIAUgAjYChAEgBUGAgIQQNgKAASAFQgA3A4gBIAUgBDYCTCAFQYCAhBA2AkggBUIANwNQIAwgCiAIoqEgDSAIIAuioSAOIAogCaKhIA8gCyAJoqEgCCAJIAVBgAFqIAVByABqELoMIAVCgICAgPj/////ADcDgAEgBUKDgICAwAA3AxAgBUHIAGogBUHgAmogBUGAAWogBUEQahC6BiEDIAVCgICAgDA3AxAgBUKAgICA+P////8ANwMAIAVBgAFqIAMgBUEQaiAFELoGIQYgAxCxBhogBUKAgICA+P////8ANwNIIAVCg4CAgMAANwMAIAVBEGogBUGoAmogBUHIAGogBRC6BiEDIAVCgICAgDA3AwAgBUKAgICA+P////8ANwOYAyAFQcgAaiADIAUgBUGYA2oQugYhByADELEGGiAFQgA3AxggBSACNgIUIAVBgICECDYCECAFIAY2AgQgBUGAgIQQNgIAIAVCADcDCCAAIAEgBUEQaiAFELsMIAVCADcDGCAFIAQ2AhQgBUGAgIQINgIQIAUgBzYCBCAFQYCAhBA2AgAgBUIANwMIIAAgASAFQRBqIAUQuwwgBxCxBhogBhCxBhogBBCxBhogAhCxBhogBUGoAmoQsQYaIAVB4AJqELEGGiAFQaADaiQAC6gNAhB/An0jAEHABWsiBCQA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gIAERgRAIANBOGogASgCBBCtBhoMAQsgA0E4aiABEMkHCyADQfAAaiADQThqEJwHIANBiANqIANB0AJqIANB8ABqEIIHIANB6ARqIANBiANqEKYHIQEgA0GAgIQQNgIoIANCADcDMCADIAI2AiwgAyAFNgIcIANBgICEEDYCGCADQgA3AyAgAyAHNgIMIANBgICEEDYCCCADQgA3AxAgASADQShqIANBGGogA0EIakEAEK8EIANBgARqELEGGiADQcgDahCxBhogA0GQA2oQsQYaIANB6AFqELEGGiADQbABahCxBhogA0H4AGoQsQYaIANBOGoQsQYaIANB0AJqELEGGgJAAn8CQAJAIAItAAFBwABxDQAgAigCKCIBKAIAQQFGDQAgASgCBEEBRw0BIAIoAhAiBCACKAIsKAIAQQF0agwCCyACKAIQIgRBCGohASAEKwMQIQwMAgsgAigCECIEQQIgAigCDCIGbSILIAIoAiwoAgBsakECIAYgC2xrQQN0agsrAwAhDCABKAIEQQFGBEAgBCACKAIsKAIAaiEBDAELIAQgAigCDCIBQQAgAUEBakEDSRsiBiACKAIsKAIAbGpBASABIAZsa0EDdGohAQsgACsDACAMIAErAwCjZARAIANBiANqIAUQnAcgAygCiAMiASADQYgDaiADQcgHakF/IAEoAgAoAgwRBgAgA0GABGoQsQYaIANByANqELEGGiADQZADahCxBhogA0IANwOQAyADQYCAhAg2AogDIAMgA0HIB2o2AowDIANBiANqEKoERAAAAAAAAAAAY0EBc0UEQCADKALYByADKAL0BygCAEEBdGoiASABKwMAmjkDACABIAErAwiaOQMIIAEgASsDEJo5AxALIAcQsQYaIAUQsQYaIAIQsQYaIAoQsQYaIAkQsQYaIAgQsQYaIANByAdqELEGGiADQYAIaiQADwtBqX4gA0GIA2pBouwEEIkDQbfsBEGm3QRB1QYQmAoAC4UUAwx/AX0FfCMAQeADayIEJAACQCAAEMwHQYCABEYEQCAEQagDaiAAKAIEEK0GGgwBCyAEQagDaiAAEMkHCwJAAkACQCAEKAKwAyIMQQFHQQAgBCgCtAMiCUEBRxtFBEAgBCgCqANBA3ZB/wNxQQFrQQJPDQEgCSAMbCIJQQNMDQIgABDLByIKQRZLDQNBASAK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aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiACELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoCAgIAwNwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiAFELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoOAgIDAADcDyAEgCCABIAhBOGogCEHIAWoQugYhACAIQoCAgIAwNwPIASAIQoCAgID4/////wA3A4ABIAhBOGogACAIQcgBaiAIQYABahC6BiIEIAMQlgQgBBCxBhogABCxBhogCEKAgICA+P////8ANwM4IAhCg4CAgMAANwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A8gBIAhCgICAgPj/////ADcDgAEgCEE4aiAAIAhByAFqIAhBgAFqELoGIgQgBhCWBCAEELEGGiAAELEGGiAKELEGGiABELEGGiAOELEGGiANELEGGiAJELEGGiAMELEGGiAIQYAEahCxBhogCxCxBhogCEHwBGokAAuREQIEfxV8IwBBwAFrIgMkAAJ8An8CQAJAIAAQywdBDUcEQCAAEMsHQQ5HDQELAkAgABDMB0GAgARGBEAgA0GIAWogACgCBBCtBhoMAQsgA0GIAWogABDJBwsgABDLByEAIAMoAogBQYCAAXEhBSAAQQ1GBEACQAJAIAVFBEAgAygCmAEiACoCBIy7IQ0gACoCAIy7IQ4CQAJAAkACQAJAAkACQCADKAKwASIFKAIAQQFHBEACfyAFKAIEQQFGBEAgACADKAK0ASgCAGoMAQsgACADKAKUASIEQQAgBEEBakEDSRsiBiADKAK0ASgCAGxqQQEgBCAGbGtBA3RqCyoCAIy7IQoMAQsgACoCCIy7IQogAygCsAEiBSgCAEEBRg0BCwJ/IAUoAgRBAUYEQCAAIAMoArQBKAIAagwBCyAAIAMoApQBIgRBACAEQQFqQQNJ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ACsDkAIgGyABKwMIoqE5A5ACIAAgACsDmAIgHCABKwMIoqE5A5gCIAAgACsD2AIgHSABKwMIoqE5A9gCIAAgACsD4AIgHiABKwMIoqE5A+ACIAAgACsDqAMgHyABKwMIoqE5A6gDIAAgGCAYoiAZIBmioCIQIBqiIAArA+ADoDkD4AMgACAQIBuiIAArA+gDoDkD6AMgACAQIByiIAArA/ADoDkD8AMgACAQIB2iIAArA7AEoDkDsAQgACAQIB6iIAArA7gEoDkDuAQgACAQIB+iIAArA4AFoDkDgAUgAyACKwMAIAMrA7gJoDkDuAkgAyACKwMIIAMrA8AJoDkDwAkgAyACKwMQIAMrA8gJoDkDyAkgAyACKwMAIAMrA5gKoDkDmAogAyACKwMIIAMrA6AKoDkDoAogAyACKwMQIAMrA6gKoDkDqAogAyADKwPoCSABKwMAIAIrAwCioTkD6AkgAyADKwPwCSABKwMAIAIrAwiioTkD8AkgAyADKwP4CSABKwMAIAIrAxCioTkD+AkgAyADKwOwCiABKwMIIAIrAwCioTkDsAogAyADKwO4CiABKwMIIAIrAwiioTkDuAogAyADKwPACiABKwMIIAIrAxCioTkDwAogAyADKwPICiABKwMAIAIrAwCioTkDyAogAyADKwPQCiABKwMAIAIrAwiioTkD0AogAyADKwPYCiABKwMAIAIrAxCioTkD2AogAyADKwPgCiABKwMIIAIrAwCioTkD4AogAyADKwPoCiABKwMIIAIrAwiioTkD6AogAyADKwPwCiABKwMIIAIrAxCioTkD8AogAyADKwP4CiAQIAIrAwCioDkD+AogAyADKwOACyAQIAIrAwiioDkDgAsgAyADKwOICyAQIAIrAxCioDkDiAsgIiARoCEiICEgEqAhISAgIBegISAgEyAZoCETIBUgGKAhFSAWIBCgIRYgBEEBaiIEIAVHDQALCyAAIAArAzg5A3ggACAAKwNAOQPAASAAIAArA4gBOQPIASAAIAArA5ACOQPQAiAAIAArA5gCOQOYAyAAIAArA+ACOQOgAyAAIAArA+gDOQOoBCAAIAArA/ADOQPwBCAAIAArA7gEOQP4BCAAIAArAwA5A/ABIAAgACsDCCIQOQP4ASAAIAArAxAiETkDgAIgACAAKwNQOQPAAiAAIAArA1giEjkD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IAIrAwAgA0HAA2ogAWorAwCgOQMAIARBAWoiBEHRAEcNAAsgA0KJgICAkAE3A8gDIANBhoCIiHw2AsADIAMgADYCxAMgA0GYAmoQpwYhByADQdACahCnBiEFIANBiANqEKcGIQYgA0GYAmogA0HAA2oQtQQgA0HAA2ogBRDZDCAAQYgFaiADQcADakHIABCuGxogAyAGEJwHIANB4AFqEKcGIQEgAygCACICIAMgAUF/IAIoAgAoAgwRBgAgA0HAA2ogARDaDCAAQdAFaiADQcADakGIBRCuGxogARCxBhogA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaAkACQCAAKwOIBURIr7ya8td6PmZBAXNFBEAgAEEAIAAoAsgMIgFrQQN0aisDwAVESK+8mvLXej5jDQEgASEEDAILQal+IANBwANqQYOBBRCJA0H2gAVBwPwEQfsBEJgKAAsDQEEGIAFrIQIgAUEBaiIEIQEgACACQQN0aisDiAVESK+8mvLXej5jDQALCyAAIARBAWo2AsgMIARBBk4NASAAQcAMaiAiIBSjOQMAIABBuAxqICEgFKM5AwAgACAgIBSjOQOwDCAGELEGGiAFELEGGiAHELEGGiADQcgIahCxBhogA0GACWoQsQYaIANBkAtqJAAPC0GpfiADQcADakHAgAUQiQNB9oAFQcD8BEHuARCYCgALQal+IANBwANqQZGBBRCJA0H2gAVBwPwEQf8BEJgKAAu8HAIFfxt8IwBB0ANrIgEkACABQv/////////3/wA3A8gDRP///////+9/IQdBCSAAKALIDCICa0EIIAJBAEobIgRBCEwEQCABQZgCaiEFIAQhAwNAIAAgA0EDdGoiAisD0AUhCCACKwOYBiEJIAIrA+AGIQogAisDqAchCyACKwPwByEMIAJBuAhqKwMAIQ0gAkGACWorAwAhDiACQcgJaisDACEPIAEgAkGQCmorAwBEqkxY6Hq2+z+iIgc5A8ADIAEgD0SqTFjoerb7P6IiDzkDuAMgASAORKpMWOh6tvs/oiIOOQOwAyABIA1EqkxY6Hq2+z+iIg05A6gDIAEgDESqTFjoerb7P6IiDDkDoAMgASALRKpMWOh6tvs/oiILOQOYAyABIApEqkxY6Hq2+z+iIgo5A5ADIAEgCUSqTFjoerb7P6IiCTkDiAMgASAI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NgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbCxgAIAAoAgQiACABIAIgACgCACgCIBEFAAu9AgEDfyMAQRBrIgMkACADQQhqIAEoAgQiAiACKAIAKAIsEQIAIAMgASgCDCIBIAEoAgAoAiwRAgBBIBDVGiIBQgA3AgQgAUGokgU2AgAgAUEMaiIEEOMLGiABQaSTBTYCDCABIAMoAgg2AhAgASADKAIMIgI2AhQgAgRAIAIgAigCBEEBajYCBAsgASADKAIANgIYIAEgAygCBCICNgIcAkAgAkUEQCAAIAE2AgQgACAENgIADAELIAIgAigCBEEBajYCBCADKAIEIQIgACABNgIEIAAgBDYCACACRQ0AIAIgAigCBCIBQQFrNgIEIAENACACIAIoAgAoAggRAQAgAhDQGgsCQCADKAIMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyADQRBqJAALiQEBA38gAEG0lQU2AgwgAEG8lAU2AgACQCAAKAIcIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQxqIQICQCAAKAIUIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAC4wBAQN/IABBtJUFNgIMIABBvJQFNgIAAkAgACgCHCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEMaiECAkAgACgCFCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwt5AQJ/IABBtJUFNgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC3wBAn8gAEG0lQU2AgACQCAAKAIQIgFFDQAgASABKAIEIgJBAWs2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GiIBQYAFaiEMIAEgCiACayIKaiENIApBAU4EQCABIAIgChCuGxoLIAAgDDYCiAEgACANNgKEASAAIAE2AoABIAJFDQAgAhCiGwsgACAFIAYQ7w1BACECIABBADoAvAEgAEL/////////9/8ANwNQIABBADYCHCAAIAlBAkkiCiAJQQNGciIBOgC9ASAKRQRAIAtBADYCCCALQgA3AwBBACEKQQAhCSADBEAgA0GAgICABE8NAiALIANBAnQiAxDVGiIJNgIAIAsgAyAJaiICNgIIIAlBACADEK8bGiALIAI2AgQgAiEKCyAAKAKYASIDBEAgACADNgKcASADEKIbIAsoAgghAiALKAIEIQogCygCACEJIAAtAL0BIQELIAAgAjYCoAEgACAKNgKcASAAIAk2ApgBCyAAIAFBAXM6AL4BIAtBEGokAA8LEPwaAAtXAQN/IABB8LcFNgIQIABB9LYFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQfC3BTYCECAAQfS2BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbCxMAIABBEGogACgCECgCABEAABoLRwECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLjgECAn8BfSABKAIEIgMgAiADKAIAKAIgEQIAAkAgASgCDEEBSARAQQAhAwwBC0EAIQJBACEDA0AgASgCBCIEIAIgBCgCACgCJBEZACEFIAErAxiaIAMgASsDECAFu2RqIgMgASgCDCIEIAJrardkDQEgAkEBaiICIARIDQALCyAAIAM2AgAgACADt5o5AwgLJgAjAEEQayIAJABBq34gAEGguQUQiQNBsbkFQbq5BUHjARCYCgALpQECAn8BfCAAKwMQIQUgACgCBCIAIAEgACgCACgCKBEDACEA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QCADQThrELEGIgMgBEcNAAsgACgCgAELIQMgACAENgKEASADEKIbCyAAIAU2AoQBIAAgATYCgAEgACAFNgKIASAJQRBqJAAPCxD8GgAL3QkBAX8jAEEQayILJAAgABDjCxogAEHs8wU2AgAgACABKAIANgIEIAAgASgCBCIBNgIIIAEEQCABIAEoAgRBAWo2AgQLIAAgAigCADYCDCAAIAIoAgQiATYCECABBEAgASABKAIEQQFqNgIECyAAIAMoAgAiATYCFCAAIAMoAgQiAjYCGCACBEAgAiACKAIEQQFqNgIEIAAoAhQhAQsgAEIANwIcQQAhAiAAQQA2AmAgAEIANwNwIAAgBTkDaCAAIAk2AlggACAINgJUIABCADcCJCAAQgA3AiwgAEIANwI0IABCADcCPCAAQgA3AkQgAEIANwJMIABCADcDeCAAQgA3A4ABIABBADYCiAEgASABKAIAKAI0EQAAIQEgACAGOgBkIAAgATYCXAJAIAYEQCAAIAc2AmAgC0EAIAQgBxD6EyALKAIAIQEgCygCBCIDBEAgAyADKAIEQQFqNgIECyAAIAE2AhwgACgCICEBIAAgAzYCIAJAIAFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCwJAIAsoAgQiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLQQAhAyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NAiALIAFBOGwiAxDVGiIBNgIAIAsgATYCBCALIAEgA2oiAzYCCANAIAEQpwZBOGoiASADRw0ACyALIAM2AgQLIAAoAjAiBgRAAn8gBiAGIAAoAjQiAUYNABoDQCABQThrELEGIgEgBkcNAAsgACgCMAshASAAIAY2AjQgARCiGyALKAIEIQMLIAsoAgAhASAAIAM2AjQgACABNgIwIAAgCygCCDYCOEEAIQEgC0EANgIIIAtCADcDAEEAIQMgBARAIARBgICAgARPDQIgCyAEQQJ0IgYQ1RoiAzYCACALIAMgBmoiATYCCCADQQAgBhCvGxogCyABNgIECyABIQYgACAAKAJIIgcEfyAAIAc2AkwgBxCiGyALKAIEIQYgCygCACEDIAsoAggFIAELNgJQIAAgBjYCTCAAIAM2AkggACAAKwNoIgUgCqIiCjkDcCAAIAogBaEgCbejOQN4CyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NASALIAFBOGwiAhDVGiIBNgIAIAsgATYCBCALIAEgAmoiAjYCCANAIAEQpwZBOGoiASACRw0ACyALIAI2AgQLIAAoAiQiAwRAAn8gAyADIAAoAigiAUYNABoDQCABQThrELEGIgEgA0cNAAsgACgCJAshASAAIAM2AiggARCiGyALKAIEIQILIAsoAgAhASAAIAI2AiggACABNgIkIAAgCygCCDYCLEEAIQEgC0EANgIIIAtCADcDAEEAIQIgBARAIARBgICAgARPDQEgCyAEQQJ0IgMQ1RoiAjYCACALIAIgA2oiATYCCCACQQAgAxCvGxogCyABNgIECyABIQMgACgCPCIGBEAgACAGNgJAIAYQohsgCygCBCEDIAsoAgAhAiALKAIIIQELIAAgAzYCQCAAIAI2AjwgACABNgJEIAtBEGokAA8LEPwaAAvYCQECfyMAQRBrIg0kACAAEOMLGiAAQYz2BTYCACAAIAEoAgA2AgQgACABKAIEIgw2AgggDARAIAwgDCgCBEEBajYCBAsgACADKAIANgIMIAAgAygCBCIMNgIQIAwEQCAMIAwoAgRBAWo2AgQLIAAgAigCADYCFCAAIAIoAgQiDDYCGCAMBEAgDCAMKAIEQQFqNgIECyAAIAQoAgA2AhwgACAEKAIEIgw2AiAgDARAIAwgDCgCBEEBajYCBAsQvw0hDCAAIAo5A0AgACAIOQMwIAAgBzYCKCAAIAw2AiQgASgCACIBIAEoAgAoAigRAAAhASAAIAk5A3AgACABNgJIIAMoAgAiAyADKAIAKAI4EQAAIQMgAEIANwKYASAAIAs5A5ABIAAgCzkDiAEgACAGNgKEASAAIAM2AoABIABCADcCoAEgAEIANwKoASAAQgA3ArABIABCADcCuAEgAEIANwLAASAAQgA3AsgBQQAhASAAQQA2AtABIABC/////w83A+gBIAAgACgCJBDlCjYC8AEgACAAKwOQASILIAuiIgggCKAiCDkDYCAAIAAoAii3RAAAAAAAAPC/oEQAAAAAAADgP6IiCTkDOCAAIAhEAAAAAAAA4D+iOQN4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FBEBAAsgABCiGws1ACAAKAIYIgBFBEBBBBAVIgBBoOgINgIAIABByOgIQY8MEBYACyAAIAEgACgCACgCGBECAAtbACABQaiCBjYCACABIAApAgQ3AgQgASAAKQIMNwIMIAEgACkCFDcCFCABIAApAhw3AhwgASAAKQIkNwIkIAEgACkCLDcCLCABIAApAjQ3AjQgASAAKAI8NgI8CwoAIABBBGoQ/Q4L8hcDGH8CfgJ8IwBBwAJrIgEkAAJAAkACQCAAKAIALQAAQQFxDQAgACgCCCEIIAAoAgQiAiACKAIAIglBAWo2AgAgCCgCTCECIAFBqAJqIAgoAggiAyADKAIAKAI4EQIAIAFBoAJqIAgoAjAiAyACIAlBCmxqIgIgAygCACgCLBEEACABQZgCaiAIKAIQIgMgAygCACgCPBECACABQZACaiAIKAIoIgMgAkEBaiADKAIAKAI0EQQAIAJBAmohAyAAKAIMLQAABEAgAUHQAWogCCgCOCIGIAMgBigCACgCJBEEACABKALQASEOAkAgASgC1AEiCkUNACAKIAooAgRBAWo2AgQgASgC1AEiA0UNACADIAMoAgQiBkEBazYCBCAGDQAgAyADKAIAKAIIEQEAIAMQ0BoLIAJBA2ohAwsgAUGIAmogCCgCICICIAIoAgAoAiQRAgACQCAAKAIQLQAADQAgAUHQAWogCCgCGCICIAMgAigCACgCKBEEACABKALQASEWIAEoAtQBIgtFDQAgCyALKAIEQQFqNgIEIAEoAtQBIgJFDQAgAiACKAIEIgNBAWs2AgQgAw0AIAIgAigCACgCCBEBACACENAaCyABQdABahCnBiEHIAFBmAFqEKcGIRMgAUHgAGoQpwYhDyABQv/////////3/wA3A1ggAUEANgJQIAFC//////////f/ADcDSCABQQA2AkAgAUL/////////9/8ANwM4IAFBADYCMCABQv/////////3/wA3AyggAUEANgIgIAEoAqgCIgIgAigCACgCKBEAACECIAFBADYCGCABQgA3AxAgAgRAIAJBgICAgARPDQMgASACQQJ0IgIQ1RoiAzYCECABIAIgA2oiBjYCGCADQQAgAhCvGxogASAGNgIUCyABKAKoAiICIAIoAgAoAjARAAAhAiABQQA2AgggAUIANwMAIAIEQCACQaWSySRPDQIg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ASIBBEAgACABNgKkASABEKIbCyAAEOMLGiAAEKIbCw0AIAAoAiBBAWtBAkkLCAAgACgCIEULCgAgACgCIEEDRgsNACAAKAIgQQVrQQJJCwcAIAAoAhgLCAAgAC0AsQELBwAgACgCYAsHACAAKAI8CwgAIAAoApABCwcAIAAoAigLBwAgACgCHAsHACAAKwMQCwcAIAArAwgLBwAgACgCJAsIACAAKwOIAQsHACAAKwN4CwcAIAArA3ALCAAgACsDgAELBwAgACgCOAsHACAAKAIsCwcAIAAoAjALBwAgACgCNAsIACAAKwOYAQsIACAAKAKsAQsIACAAKAK8AQsIACAAKwPAAQsIACAAKwPIAQsIACAAKwPQAQsIACAAKwPYAQsIACAAKwPgAQsHACAAKwNYCwcAIAAoAkwLBwAgACgCUAsIACAAQaABagsIACAAKAK0AQsIACAAKAK4AQsJACAAIAE2AjwLCQAgACABNgIsCwkAIAAgATYCOAsJACAAIAE2AjALCgAgACABOgCxAQsJACAAIAE2AmQLCQAgACABNgJgCwoAIAAgATYCkAELCQAgACABNgJECwkAIAAgATYCSAsJACAAIAE2AkALKwAgARCIFSIBmUQAAAAAAADgQWMEQCAAIAGqNgJMDwsgAEGAgICAeDYCTAsKACAAIAE2ArQBCwoAIAAgAToAsAELCAAgAC0AsAEL+AEBBX8jAEEQayIEJAACQCABIAAoAhBOBEAgASAAKAIUIgNKBEAgBEEANgIIIARCADcDACABBEAgAUGAgICABE8NAyABQQJ0IgIQ1RoiBkEAIAIQrxsgAmohAgsgACgCBCIFBEAgACAFNgIIIAUQohsgACgCFCEDCyAAIAY2AgQgACACNgIMIAAgAjYCCAsCQCABIANGDQAgACABNgIUIAFBAUgNACAAKAIEIQNBACEBA0AgAyABQQJ0aiABNgIAIAFBAWoiASAAKAIUSA0ACwsgBEEQaiQADwtBqX4gBEH8jgYQiQNBmI8GQaaPBkEwEJgKAAsQ/BoAC9ADAgN/AnwjAEEQayIGJAAgABDjCxogAEEANgIMIABCADcCBCAAQYSRBjYCACAAQShqIAEQ+RMCQCACIANOBEAgACAENgIgIAAgAjYCECAAIAM2AhQgBkEANgIIIAZCADcDACACBEAgAkGAgICABE8N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AOBBYwRAIAeqDAELQYCAgIB4CyACIAEbIAIgB71C////////////AINCgICAgICAgPj/AFIbDwtBACECIAhEAAAAAAAAAABjDQAgCCAAKAIYIgK3IgpjQQFzRQRAIAcgCRCVFaMiByAKYyEBAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIAIgARsgAiAHvUL///////////8Ag0KAgICAgICA+P8AUhsiAgJ/IAiZRAAAAAAAAOBBYwRAIAiqDAELQYCAgIB4CyIBIAEgAkobDwsgByAJEJUVoyIHIApjIQECfyAHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAsgAiABGyACIAe9Qv///////////wCDQoCAgICAgID4/wBSGw8LIAILkQEDA38BfgF8IAEoAgQhAyABKwMIIQZBMBDVGiICQgA3AgQgAkHEmwY2AgAgASkCECEFIAEoAhghASACQRBqIgQQ4wsaIAIgATYCKCACIAU3AyAgAiAGEIQVRAAAAAAAAPC/oEQAAAAAAADwP6AQlRU5AxggAiADNgIUIAJBwJwGNgIQIAAgAjYCBCAAIAQ2AgALKAAgAEHIngY2AhAgAEHEnQY2AgAgAEEYahDjCxogAEEQahDjCxogAAsrACAAQcieBjYCECAAQcSdBjYCACAAQRhqEOMLGiAAQRBqEOMLGiAAEKIbCxwAIABByJ4GNgIAIABBCGoQ4wsaIAAQ4wsaIAALHwAgAEHIngY2AgAgAEEIahDjCxogABDjCxogABCiGwuhAQIBfwF8IABBCGogASACEPAPIQEgACsDMCACtyAAKAJAt6OgIgREAAAAAAAA8D9mBH8gAwUgBCAAKAJEtxCTFSEEIAArAzhEAAAAAAAA8D8gBKEQlRWjIgS9Qv///////////wCDQoCAgICAgID4/wBSIQACfyAEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsgASAAGyABIAQgAbdjGwsL4wECBX8CfCABKAIoIQMgASsDOCEHQeAAENUaIgJCADcCBCACQcSdBjYCACABKwMwIQggASgCQCEEIAEoAkQhBSABKAJIIQEgAkEQaiIGEOMLGiACQcieBjYCECACQRhqEOMLGiACIAE2AlggAiAFNgJUIAIgBDYCUCACIAcQhBVEAAAAAAAA8L+gRAAAAAAA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ECADIAQ2AhhBGBDVGiIBIANBEGogAigCABDMECABKAIAKAIIEQEAIAAgATYCACADQSBqJAAPCyADIAU2AgAgA0EQakHEtwYgAxCUCkGufiADQRBqQc23BkGApAZB0AIQmAoAC0F7IANBEGpB2bcGEIkDQc23BkGApAZB0gIQmAoAC+YCAQR/IwBBMGsiAiQAIAEQuBsiA0FwSQRAAkACQCADQQtPBEAgA0EQakFwcSIFENUaIQQgAiAFQYCAgIB4cjYCKCACIAQ2AiAgAiADNgIkDAELIAIgAzoAKyACQSBqIQQgA0UNAQsgBCABIAMQrhsaCyADIARqQQA6AAAgAkEAOgAQIAJBADoAGyACQcAAENUaIgM2AgAgAkKygICAgIiAgIB/NwIEIANBADoAMiADQfyoBi8AADsAMCADQfSoBikAADcAKCADQeyoBikAADcAICADQeSoBikAADcAGCADQdyoBikAADcAECADQdSoBikAADcACCADQcyoBikAADcAACAAQQAgAkEgaiACQRBqIAJBLhCRChogAiwAC0F/TARAIAIoAgAQohsLIAIsABtBf0wEQCACKAIQEKIbCyACLAArQX9MBEAgAigCIBCiGwsgAEGIqQY2AgAgAkEwaiQADwsQ2RoAC7ICAQN/IwBB0ABrIgQkACACKAIAQf+fAXFBgIABRgRAIAIoAgghBiACKAIMIQUgBCACKAIQNgI0IAQgBTYCLCAEIAY2AiggBCAFNgIwIARCADcCHCAEIARBGGpBBHI2AhggBCAAKAIINgIUIARBADoAESAEQfyhBi0AADoAECAEQQk6ABMgBEH0oQYpAAA3AwggBCAEQQhqNgJAIARByABqIARBGGogBEEIaiAEQUBrEJAQIAQoAkhBHGogBEEUahCOECAELAATQX9MBEAgBCgCCBCiGwtBGBDVGiICIARBKGogBEEYahDMECADIAIoAgAoAhgRAgAgASACNgIAIARBGGogBCgCHBD/DyAEQdAAaiQADwtBqX4gBEEoakGxmgcQiQNB85oHQYCkBkGGBhCYCgALsgIBA38jAEHQAGsiBCQAIAIoAgBB/58BcUGFgAFGBEAgAigCCCEGIAIoAgwhBSAEIAIoAhA2AjQgBCAFNgIsIAQgBjYCKCAEIAU2AjAgBEIANwIcIAQgBEEYakEEcjYCGCAEIAAo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KAIoEQAANgI0IAIgASABKAIAKAIcEQAANgI4IAIgASABKAIAKAIgEQAANgI8IAJBEGpBMEEBIAMQtBsaIAIgACgCBDYCECACQRBqQQRBASADELQbGiABIAMgASgCACgCFBECAAwCCyADEJoVQXsgAkEQakHYowYQiQNBtqUGQYCkBkH7BRCYCgALIAAoAhAhASACQaSoBigAADYCGCACQgA3ACcgAkEAOgAvIAJBrZoHKAAANgAjIAJBnKgGKQAANwMQIAJBADYCHCACQaqaBygAADYCICACQQQ2AjAgAiABIAEoAgAoAigRAAA2AjQgAiABIAEoAgAoAhwRAAA2AjggAiABIAEoAgAoAiARAAA2AjwgAkEQakEwQQEgAxC0GxogAiAAKAIENgIQIAJBEGpBBEEBIAMQtBsaIAEgAyABKAIAKAIUEQIACyADEJoVIAJBQGskAA8LIAIgASgCACABIAEsAAtBAEgbNgIAIAJBEGpBiKUGIAIQlApBfiACQRBqQbalBkGApAZB1wUQmAoAC40BAQF/IwBB8ABrIgMkACAAIAAoAgAoAhwRAQACQCABEMwHQYCABEYEQCADIAEoAgQQrQYaDAELIAMgARDJBwsgA0E4aiADELQGIABBFGoiASADQThqELkGGiADQThqELEGGiADELEGGiADQThqIAEQrQYhASAAIAIQlRAhACABELEGGiADQfAAaiQAIAALDQAgABCVChogABCiGwuXAgEHfyAAQQRqIQQCQCAAKAIEIgAEQCACKAIAIAIgAi0ACyIDQRh0QRh1QQBIIgUbIQggAigCBCADIAUbIQIDQAJAAkACQAJAAkACQCAAKAIUIAAtABsiAyADQRh0QRh1QQBIIgYbIgMgAiACIANLIgkbIgUEQCAIIABBEGoiBygCACAHIAYbIgcgBRD4FCIGRQRAIAIgA0kNAgwDCyAGQX9KDQIMAQsgAiADTw0CCyAAKAIAIgMNBCABIAA2AgAgAA8LIAcgCCAFEPgUIgMNAQsgCQ0BDAULIANBf0oNBAsgAEEEaiEEIAAoAgQiA0UNAyAEIQALIAAhBCADIQAMAAsACyABIAQ2AgAgBA8LIAEgADYCACAECxgAIAEoAgAiAARAIAAQohsLIAFBADYCAAsMACACQQEQ1Ro2AgALBwAgASgCAAsGAEHkqwYLDgAgAUHsqwZBCxDMAxoLDAAgAiABKAIANgIACwQAIAELBgBB/NIJCw0AIAEgAigCABDNFhoLDAAgAiABKgIAOAIACwYAQazTCQsMACABIAIqAgAQzxYLDAAgAiABLQAAOgAACwYAQbTSCQsMACABIAItAAAQxxYLGABBBBDVGiIAIAEoAgA2AgAgAiAANgIACxsAQQQQ1RoiACABKAIAKAIANgIAIAIgADYCAAsSACACKAIAIAEoAgAoAgA2AgALBgBB0LEGCxAAIAEgAigCACgCABDNFhoLBgBB0LMGCysAIAEoAgAiAARAIAAsAAtBf0wEQCAAKAIAEKIbCyAAEKIbCyABQQA2AgALFgBBDBDVGiIAIAEQ2xoaIAIgADYCAAsZAEEMENUaIgAgASgCABDbGhogAiAANgIACyoAIAIoAgAiACwAC0F/TAR/IAAoAgAQohsgAigCAAUgAAsgASgCABDfGgsEAEEMCwYAQdS8AQspACABAn8gAigCACICLAALQX9MBEAgAigCACECCyACCyACELgbEMwDGgsYAEEIENUaIgAgASsDADkDACACIAA2AgALGwBBCBDVGiIAIAEoAgArAwA5AwAgAiAANgIACxIAIAIoAgAgASgCACsDADkDAAsGAEG40wkLDwAgASACKAIAKwMAENEWC4QDAQd/IwBBQGoiAyQAIABBiLgGNgIAIABBEGoiB0IANwIAIAAgBzYCDCACKAIAIgYgAkEEaiIIRwRAIABBDGohCQNAIAkgByAGIgRBEGoQzRACQCAEKAIEIgVFBEAgBCgCCCIGKAIAIARGDQEgBEEIaiEEA0AgBCgCACIFQQhqIQQgBSAFKAIIIgYoAgBHDQALDAELA0AgBSIGKAIAIgUNAAsLIAYgCEcNAAsLIANBADoAMSADQfyhBi0AADoAMCADQQk6ADMgA0H0oQYpAAA3AyggAiADQShqEM4QIQUgAywAM0F/TARAIAMoAigQohsLIABBADoACAJAIAVB/gFGBEAgA0EIOgATIANBADoAECADQubSsavmrdi25QA3AwggA0EYaiACIANBCGoQzxAgACABIANBGGoQ0BA2AgQgAywAI0F/TARAIAMoAhgQohsLIAMsABNBf0wEQCADKAIIEKIbCyAAQQE6AAgMAQsgACABIAIQ0RA2AgQLIANBQGskACAAC48BAQJ/IwBBEGsiAyQAIAAgASADQQxqIANBCGogAhDvECIEKAIARQRAQSQQ1RoiAUEQaiACEPAQIAEgAygCDDYCCCABQgA3AgAgBCABNgIAAn8gASAAKAIAKAIAIgJFDQAaIAAgAjYCACAEKAIACyECIAAoAgQgAhCNCyAAIAAoAghBAWo2AggLIANBEGokAAu5AQECfyMAQUBqIgMkAAJAIAAgARCBECICIABBBGpHBEAgAigCHCIAIAAoAgAoAhwRAAAoAgRBsLEGRw0BIAIoAhwiACACQSBqIAAoAgAoAhQRAwAoAgAhAiADQUBrJAAgAg8LQTwQFSECIANBIGogA0EQakHkvQYQiQMgARDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgAiADQTBqENMQIAJBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALuAEBAn8jAEFAaiIDJAACQCABIAIQgRAiBCABQQRqRwRAIAQoAhwiASABKAIAKAIcEQAAKAIEQeS7AUcNASAAIAQoAhwiASAEQSBqIAEoAgAoAhQRAwAQ2xoaIANBQGskAA8LQTwQFSEEIANBIGogA0EQakHkvQYQiQMgAhDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgBCADQTBqENMQIARBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALnAMBAn8jAEHwAGsiAiQAAkACQAJAAkAgASgCACABIAEsAAtBAEgbQbulBhCjFSIBBEAgAkEgakEwQQEgARCoFUEBRw0BIAJBIGpBnKgGQQwQ+BQNAiACKAJAQQRHDQMgAigCSCAAKAIARw0EIAIoAkwgACgCBEcNBCACQgA3AhQgAiACQRBqQQRyNgIQIAJBADoACSACQfyhBi0AADoACCACQQk6AAsgAkH0oQYpAAA3AwAgAiACNgJgIAJB6ABqIAJBEGogAiACQeAAahCQECACKAJoQRxqIAJBxABqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyAAIAJBEGoQ0RAiAyABIAMoAgAoAhgRAgAgARCaFSACQRBqIAIoAhQQ/w8LIAJB8ABqJAAgAw8LQTwQFSICQdSnBhCZECACQZCoBkHjBxAWAAtBPBAVIgJBqKgGEJkQIAJBkKgGQeMHEBYACyABEJoVQTwQFSICQZK+BhCZECACQZCoBkHjBxAWAAsgARCaFUE8EBUiAkHWvgYQmRAgAkGQqAZB4wcQFgAL+QIBBn8jAEEQayIDJAAgA0EAOgAJIANB/KEGLQAAOgAIIANBCToACyADQfShBikAADcDACABIAMQzhAhBCADLAALQX9MBEAgAygCABCiGwsCQAJAAkACQAJAAkAgBA4HAAMEAwMBAgMLQSQQ1RoiAkGgvwY2AgAgAiAAKQIANwIEIAIgACkCCDcCDCACQgA3AhggAiACQRhqIgU2AhQgASgCACIAIAFBBGoiBkYNBCACQRRqIQcDQCAHIAUgACIEQRBqEM0QAkAgACgCBCIBRQRAIAQoAggiACgCACAERg0BIARBCGohBANAIAQoAgAiAUEIaiEEIAEgASgCCCIAKAIARw0ACwwBCwNAIAEiACgCACIBDQALCyAAIAZHDQALDAQLQegAENUaIgIgACABEPEQDAMLQcwAENUaIgIgACABEPIQDAILQTwQFSIBQYW/BhCZECABQZCoBkHjBxAWAAtB7AAQ1RoiAiAAIAEQ8xALIANBEGokACACC1QBAX8gACABIAIoAgAgAiACLQALIgFBGHRBGHVBAEgiAxsgAigCBCABIAMbEOcaIgIpAgA3AgAgACACQQhqIgAoAgA2AgggAkIANwIAIABBADYCAAvcAQECfyMAQSBrIgIkACACQQA6ABAgAkEAOgAbIAJBwAAQ1RoiAzYCACACQrKAgICAiICAgH83AgQgA0EAOgAyIANB/KgGLwAAOwAwIANB9KgGKQAANwAoIANB7KgGKQAANwAgIANB5KgGKQAANwAYIANB3KgGKQAANwAQIANB1KgGKQAANwAIIANBzKgGKQAANwAAIABBACABIAJBEGogAkEwEJEKGiACLAALQX9MBEAgAigCABCiGwsgAiwAG0F/TARAIAIoAhAQohsLIABBiKkGNgIAIAJBIGokAAszAQF/IABBiLgGNgIAIAAoAgQiAQRAIAEgASgCACgCBBEBAAsgAEEMaiAAKAIQEP8PIAALNgEBfyAAQYi4BjYCACAAKAIEIgEEQCABIAEoAgAoAgQRAQALIABBDGogACgCEBD/DyAAEKIbCx0AIAAtAAhFBEAgACgCBCIAIAAoAgAoAggRAQALCx4AIAAoAgQiACABIAIgAyAEIAUgACgCACgCDBENAAseACAAKAIEIgAgASACIAMgBCAFIAAo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IQALAkACQAJAAkAgBkH/AXFFDQAgAEUNACAHBEADQCACLQAMIQECQCACIAIoAggiAygCAEcEQAJAAn8gAUH/AXFFBEAgAkEBOgAMIANBADoADCADIAMoAgQiASgCACIENgIEIAQEQCAEIAM2AggLIAEgAygCCDYCCCADKAIIIgQgBCgCACADR0ECdGogATYCACABIAM2AgAgAyABNgIIIAIgACAAIAIoAgAiA0YbIQAgAygCBCECCyACKAIAIgMLBEAgAy0ADEUNAQsgAigCBCIBBEAgAS0ADEUNBwsgAkEAOgAMAkAgACACKAIIIgJGBEAgACECDAELIAItAAwNAwsgAkEBOgAMDwsgAigCBCIBDQUMBgsCQCABQf8BcQRAIAIhAQwBCyACQQE6AAwgA0EAOgAMIAMgAigCBCIBNgIAIAEEQCABIAM2AggLIAIgAygCCDYCCAJAIAMgAygCCCIEKAIARgRAIAQgAjYCACADKAIAIQEMAQsgBCACNgIECyACIAM2AgQgAyACNgIIIAIgACAAIANGGyEACwJAAkAgASgCACIDRQ0AIAMtAAwNACABIQIMAQsCQCABKAIEIgIEQCACLQAMRQ0BCyABQQA6AAwgACABKAIIIgJHBEAgAi0ADA0DCyACQQE6AAwPCyADBEAgAy0ADEUEQCABIQIMAgsgASgCBCECCyACQQE6AAwgAUEAOgAMIAEgAigCACIDNgIEIAMEQCADIAE2AggLIAIgASgCCDYCCCABKAIIIgMgAygCACABR0ECdGogAjYCACACIAE2AgAgASACNgIIIAEhAwsgAiACKAIIIgAtAAw6AAwgAEEBOgAMIANBAToADCAAIAAoAgAiAigCBCIDNgIAIAMEQCADIAA2AggLIAIgACgCCDYCCCAAKAIIIgMgAygCACAAR0ECdGogAjYCACACIAA2AgQgACACNgIIDwsgAigCCCIDIAMoAgAgAkZBAnRqKAIAIQIMAAsACyAEQQE6AAwLDwsgAS0ADA0AIAIhAwwBCyADQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAEQCAAIAI2AggLIAMgAigCCDYCCCACKAIIIgAgACgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIIAIhAQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAFBAToADCACIAIo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BEAgAhCiGyAAKAJIIANqQQA2AgAgACgCECEECyABQQFqIgEgBE4NASAAKAJIIQIMAAsACyAEQQFIDQBB7OQIKAIAIQYDQEF/IAAoAjwiAkECdCACQf////8DcSACRxsQ1RohASAFQQJ0IgMgACgCSGogATYCACACBEAgACgCSCADaigCACEEQQAhAQNAIAQgAUECdGogATYCACABQQFqIgEgAkcNAAsLAkACfyAAKAJQIgJBIE4EQCAAKAJYDAELIAAgACgCZCACajYCZEGAwAAQoRsiAUUEQEHkxQZBG0EBIAYQtBsaQQAhAQwCCyABIAAoAlQ2AgAgACABNgJUQfw/IQIgAUEEagshASAAIAJBIGs2AlAgACABQSBqNgJYIAAgACgCYEEgajYCYAsgACgCRCADaiABNgIAIAAoAkQgA2ooAgAiAUIANwIAIAFCADcCGCABQgA3AhAgAUIANwIIIAAgACgCRCADaigCACAAKAJIIANqKAIAIAAoAjwQhREgACAAKAJEIANqKAIAIAAoAkggA2ooAgAgACgCPCAAKAIMQQAQhhEgBUEBaiIFIAAoAhBIDQALCw8LQTwQFSIBQcDFBhCZECABQZCoBkHjBxAWAAusCgMOfwJ+A3wgACgCQCIKENUaIQ0gACAKIAAoAmhqNgJoQX8gCkEFdCIHIApBA3QiDEH4////A3EgDEcbENUaQQAgBxCvGyEHIAMEfCAMQQFrQQN2IQ8gACgCKCEQIAAoAiwhEQNAIBEgECACIA5BAnRqKAIAbGohC0EAIQlBACEEQQAhBSAKBEADQCAFIAQgC2otAABBgMYGai0AAGohBSAEQQFqIgQgCkcNAAsLIAUgBWytIRNBACEGIAwEQANAIAcgBkECdCIEaiIFIAUoAgAgCSALaiIFLQAAQQFxajYCACAHIARBBHJqIgggCCgCACAFLQAAQQF2QQFxajYCACAHIARBCHJqIgggCCgCACAFLQAAQQJ2QQFxajYCACAHIARBDHJqIgggCCgCACAFLQAAQQN2QQFxajYCACAHIARBEHJqIgggCCgCACAFLQAAQQR2QQFxajYCACAHIARBFHJqIgggCCgCACAFLQAAQQV2QQFxajYCACAHIARBGHJqIgggCCgCACAFLQAAQQZ2QQFxajYCACAHIARBHHJqIgQgBCgCACAFLQAAQQd2ajYCACAGQQhqIQYgCSAPRiEEIAlBAWohCSAERQ0ACwsgEiATfCESIA5BAWoiDiADRw0ACyASugVEAAAAAAAAAAALIRYgA7ghFSAMBEAgDEEBa0EDdiEIQQAhBUEAIQkDQAJ/IAcgCUECdCIEQQRyaigCALggFaNEAAAAAAAA4D+gIhSZRAAAAAAAAOBBYwRAIBSqDAELQYCAgIB4C0EBdCEGAn8gBCAHaigCALggFaNEAAAAAAAA4D+gIhSZRAAAAAAAAOBBYwRAIBSqDAELQYCAgIB4CyAGciEGIAYCfyAHIARBCHJqKAIAuCAVo0QAAAAAAADgP6AiFJlEAAAAAAAA4EFjBEAgFKoMAQtBgICAgHgLQQJ0ciEGIAYCfyAHIARBDHJqKAIAuCAVo0QAAAAAAADgP6AiFJlEAAAAAAAA4EFjBEAgFKoMAQtBgICAgHgLQQN0ciEGIAYCfyAHIARBEHJqKAIAuCAVo0QAAAAAAADgP6AiFJlEAAAAAAAA4EFjBEAgFKoMAQtBgICAgHgLQQR0ciEGIAYCfyAHIARBFHJqKAIAuCAVo0QAAAAAAADgP6AiFJlEAAAAAAAA4EFjBEAgFKoMAQtBgICAgHgLQQV0ciEGIAYCfyAHIARBGHJqKAIAuCAVo0QAAAAAAADgP6AiFJlEAAAAAAAA4EFjBEAgFKoMAQtBgICAgHgLQQZ0ciEGIAUgDWogBgJ/IAcgBEEccmooAgC4IBWjRAAAAAAAAOA/oCIUmUQAAAAAAADgQWMEQCAUqgwBC0GAgICAeAtBB3RyOgAAIAlBCGohCSAFIAhGIQQgBUEBaiEFIARFDQALC0EAIQZBACEIIAoEQEEAIQQDQCAIIAQgDWotAABBgMYGai0AAGohCCAEQQFqIgQgCkcNAAsLIAMEQCAAKAIoIQ8gACgCLCEOQQAhCwNAQQAhBSAKBEAgDiAPIAIgC0ECdGooAgBsaiEJQQAhBANAIAUgBCAJai0AACAEIA1qLQAAc0HAwwZqLQAAaiEFIARBAWoiBCAKRw0ACwsgBSAGIAUgBkobIQYgC0EBaiILIANHDQALCyABIAY2AgQgASANNgIAIAECfiAWIBWjRAAAAAAAAOA/oCIVRAAAAAAAAPBDYyAVRAAAAAAAAAAAZnEEQCAVsQwBC0IAC6cgCCAIbGs2AgwgBxCiGwv4BwEVfyMAQZAZayIHJAAgASAFNgIcIAEgAzYCEAJAIAMgBEgEQCABIAI2AhggAiACIANBAnRqIAdB6BBqEPIVIAFBADYCFAwBCyAHIAdB8BBqIhA2AugQIAcgBDYC7BAgECENIARBiQJPBEAgB0F/IARBAnQgBEH/////A3EgBEcbENUaIg02AugQCyAAKAIEIQYgACAAKAIIIgpBAXVqIgggBCACIAMgDSAHQeQQaiAKQQFxBH8gCCgCACAGaigCAAUgBgsRDQACQCAEIAcoAuQQSgRAIAEgAjYCGCACIAIgA0ECdGogB0GwCGoQ8hUgAUEANgIUDAELIAdBADYC4BAgB0IANwPYEAJAIAQEQCAEQYCAgIAETw0BIAcgBEECdCIGENUaIg42AtgQIAcgBiAOaiIINgLgECAOQQAgBhCvGxogByAINgLcEAsgByAHQbgIaiIRNgKwCCAHIAQ2ArQIAkACQCAEQYkCTwRAIAcgBEECdBDVGiILNgKwCAwBCyARIQsgBEUNAQtBACEGA0AgDiAGQQJ0IghqQQA2AgAgCCALakEANgIAIAZBAWoiBiAERw0ACwsgByAHQRBqIhI2AgggByADNgIMIBIhDyADQYkCTwRAIAdBfyADQQJ0IANB/////wNxIANHGxDVGiIPNgIICyADQQFOBEAgACgCLCITIAAoAigiFCANKAIAbGohGCAAKAJAIQoDQCATIBQgAiAVQQJ0IghqKAIAbGohFkEAIQZBACEJIAoEQANAIAkgBiAYai0AACAGIBZqLQAAc0HAwwZqLQAAaiEJIAZBAWoiBiAKRw0ACwtBACEXIAggD2oiGUEANgIAQQEhDCAEQQFKBEADQEEAIQggCgRAIBMgDSAMQQJ0aigCACAUbGohGkEAIQYDQCAIIAYgGmotAAAgBiAWai0AAHNBwMMGai0AAGohCCAGQQFqIgYgCkcNAAsLIAggCUgEQCAZIAw2AgAgDCEXIAghCQsgDEEBaiIMIARHDQALCyAOIBdBAnQiBmoiCCgCACAJSARAIAggCTYCAAsgBiALaiIGIAYoAgBBAWo2AgAgFUEBaiIVIANHDQALCyAAIAIgAyAEQX8gBEECdCAEQf////8DcSAERxsQ1RoiBiAHQdgQaiAPIAsQkhEgACABIAIgAyAEIAUgBiAHQdgQaiAPIAsQkxEgBhCiGwJAIAcoAggiBiASRg0AIAZFDQAgBhCiGwsCQCAHKAKwCCIGIBFGDQAgBkUNACAGEKIbCyAHKALYECIGRQ0BIAcgBjYC3BAgBhCiGwwBCxD8GgALIAcoAugQIgYgEEYNACAGRQ0AIAYQohsLIAdBkBlqJAALngEBAn8gAEEMakEEQQEgARC0GxogAEEUakEEQQEgARC0GxogAEHoAGpBBEEBIAEQtBsaIABBHGpBBEEBIAEQtBsaIABBEGpBBEEBIAEQtBsaIAAoAhBBAU4EQANAIAJBAnQiAyAAKAJIaigCAEEEIAAoAjwgARC0GxogACABIAAoAkQgA2ooAgAgAhCIESACQQFqIgIgACgCEEgNAAsLC7sBAQJ/IwBBEGsiBSQAIAJBIEEBIAEQtBsaIAIoAgBBASAAKAJAIAEQtBsaAkAgAigCFCIEBEAgACgCDEEBSA0BIAAgASAEKAIAIAMQiBFBASEEIAAoAgxBAUwNAQNAIAAgASACKAIUIARBAnRqKAIAIAMQiBEgBEEBaiIEIAAoAgxIDQALDAELIAUgAigCGCAAKAJIIANBAnRqKAIAa0ECdTYCDCAFQQxqQQRBASABELQbGgsgBUEQaiQAC9IJAQl/IwBBMGsiAiQAAkAgACgCSCIDRQ0AIAAoAhAiBUEBTgRAA0AgAyAEQQJ0IgZqKAIAIgMEQCADEKIbIAAoAkggBmpBADYCACAAKAIQIQULIAAoAkghAyAEQQFqIgQgBUgNAAsgA0UNAQsgAxCiGwsCQCAAKAJEIgNFDQAgACgCECIFQQFIDQBBACEEA0AgAyAEQQJ0aigCACIDBEAgACADEIIRIAAoAhAhBQsgBEEBaiIEIAVODQEgACgCRCEDDAALAAsCQAJAAkACQAJAIABBDGoiB0EEQQEgARCoFUEBRgRAIABBFGoiCEEEQQEgARCoFUEBRw0BIABB6ABqQQRBASABEKgVQQFHDQIgAEEcaiIJQQRBASABEKgVQQFHDQMgAEEQaiIKQQRBASABEKgVQQFHDQQgAEF/IAAoAhAiBEECdCAEQf////8DcSAERxsQ1Ro2AkggBEEBTgRAQQAhAwNAQX8gACgCPCIEQQJ0IARB/////wNxIARHGxDVGiEGIANBAnQiBSAAKAJIaiAGNgIAIAAoAkggBWooAgBBBCAEIAEQqBUgBEcNByAAIAEgACgCRCAFaiADEIoRIANBAWoiAyAAKAIQSA0ACwsgAiAAIAAoAgAoAigRAAA2AhAgAkEAOgAJIAJBCGoiA0H8oQYtAAA6AAAgAkEJOgALIAJB9KEGKQAANwMAIAIgAjYCICACQShqIABBMGoiBCACIAJBIGoQkBAgAigCKEEcaiACQRBqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyACQQA6AAkgA0GMogYtAAA6AAAgAkEJOgALIAJBhKIGKQAANwMAIAIgAjYCICACQShqIAQgAiACQSBqEJAQIAIoAihBHGogBxCGECACLAALQX9MBEAgAigCABCiGwsgAkEFOgALIAJBADoABSACQf6hBigAADYCACACQYKiBi0AADoABCACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIAoQhhAgAiwAC0F/TARAIAIoAgAQohsLIAJBlqIGLwAAOwEIIAJBgBQ7AQogAkGOogYpAAA3AwAgAiACNgIgIAJBKGogBCACIAJBIGoQkBAgAigCKEEcaiAIEIYQIAIsAAtBf0wEQCACKAIAEKIbCyACQRAQ1RoiAzYCACACQoyAgICAgoCAgH83AgQgA0EAOgAMIANBoaIGKAAANgAIIANBmaIGKQAANwAAIAIgAjYCICACQShqIAQgAiACQSBqEJAQIAIoAihBHGogAEEYahCRECACLAALQX9MBEAgAigCABCiGwsgAkEAOgAIIAJC48T9yuaN2bL4ADcDACACQQg6AAsgAiACNgIgIAJBKGogBCACIAJBIGoQkBAgAigCKEEcaiAJEIoQIAIsAAtBf0wEQCACKAIAEKIbCyACQTBqJAAPC0E8EBUiAEHoyAYQmRAgAEGQqAZB4wcQFgALQTwQFSIAQejIBhCZECAAQZCoBkHjBxAWAAtBPBAVIgBB6MgGEJkQIABBkKgGQeMHEBYAC0E8EBUiAEHoyAYQmRAgAEGQqAZB4wcQFgALQTwQFSIAQejIBhCZECAAQZCoBkHjBxAWAAtBPBAVIgBB6MgGEJkQIABBkKgGQeMHEBYAC5YFAQZ/IwBBEGsiByQAAkACfyAAKAJQIgRBIE4EQCAEQSBrIQUgACgCWAwBCyAAQeQAaiIFIAUoAgAgBGo2AgBBgMAAEKEbIgRFBEBBACEEQeTFBkEbQQFB7OQIKAIAELQbGgwCCyAEIABB1ABqIgUoAgA2AgAgBSAENgIAQdw/IQUgBEEEagshBCAAIAU2AlAgACAEQSBqNgJYIABB4ABqIgUgBSgCAEEgajYCAAsgAiAENgIAAkACQCAEQSBBASABEKgVQQFGBEAgACgCQCIEENUaIQUgAigCACAFNgIAIAIoAgAoAgBBASAEIAEQqBUgBEcNAQJAIAIoAgAoAhRFBEAgB0EMakEEQQEgARCoFUEBRw0EIAIoAgAgACgCSCADQQJ0aigCACAHKAIMQQJ0ajYCGAwBCwJAAn8gACgCDCIIQQJ0QQ9qQXBxIgQgACgCUCIGTARAIAAoAlgMAQsgAEHkAGoiBSAFKAIAIAZqNgIAIARBBHJBD2oiBUGAwAAgBUGAwABLGyIGEKEbIgVFBEBBACEFQeTFBkEbQQFB7OQIKAIAELQbGiAAKAIMIQgMAgsgBSAAQdQAaiIJKAIANgIAIAkgBTYCACAGQQRrIQYgBUEEagshBSAAIAYgBGs2AlAgACAEIAVqNgJYIABB4ABqIgYgBigCACAEajYCAAsgAigCACAFNgIUIAhBAUgNAEEAIQQDQCAAIAEgAigCACgCFCAEQQJ0aiADEIoRIARBAWoiBCAAKAIMSA0ACwsgB0EQaiQADwtBPBAVIgRB6MgGEJkQIARBkKgGQeMHEBYAC0E8EBUiBEHoyAYQmRAgBEGQqAZB4wcQFgALQTwQFSIEQejIBhCZECAEQZCoBkHjBxAWAAsTACAAKAJoIAAoAmQgACgCYGpqCwQAQQILkwEBBH8gAEIANwIEIAAgAEEEaiIENgIAIAEoAjAiAyABQTRqIgVHBEADQCAAIAQgAyICQRBqEM0QAkAgAigCBCIBRQRAIAIoAggiAygCACACRg0BIAJBCGohAgNAIAIoAgAiAUEIaiECIAEgASgCCCIDKAIARw0ACwwBCwNAIAEiAygCACIBDQALCyADIAVHDQALCwvCBgILfwF+IwBBMGsiBCQAIARBBjoAKyAEQQA6ACYgBEGLowYoAAA2AiAgBEGPowYvAAA7ASQCQAJAAn9BICADIARBIGoQgRAiBSADQQRqRg0AGiAFKAIcIgMgAygCACgCHBEAACgCBEGA0wkoAgBHDQEgBSgCHCIDIAVBIGogAygCACgCFBEDACgCAAshCCAELAArQX9MBEAgBCgCIBCiGwsCQCAIQX9GBEAgACAAKAJEKAIAIAEgAhCPEQwBCyAEEK0KNgIIQQAhAyAEQRhqIARBCGogACgCPBCQESAEQQA2AhQCQCAAKAIQQQFIDQADQCAAIAAoAkQgA0ECdGooAgAgASACIARBFGogCCAEQRhqEJERIAggBCgCFEwEQCABIAEoAgAoAggRAAANAgsgA0EBaiIDIAAoAhBIDQALCwJAIAQoAhgiBSgCACIHIAUoAgQiA0YNACAFQQRqIQoDQCAHKAIAIQsCQCADIAdrIgZBCUgNACAHKQIAIQ8gByADQQhrIgMpAgA3AgAgAyAPNwIAIAZBEEYNACAHQQhqIQMgBkEDdSIJQQNrQQJtIQxBASEFIAZBGU4EQEECQQEgBygCFCAHKAIMSCIGGyEFIAdBEGogAyAGGyEDCyAHKAIEIAMoAgRIDQAgCUEBayENIAcpAgAiD0IgiKchDiAHIQYDQAJAIAYgAyIJKQIANwIAIAUgDEoNACAHIAVBAXQiBkEBciIFQQN0aiEDIA0gBkECaiIGSgRAIAYgBSADKAIMIAMoAgRIIgYbIQUgA0EIaiADIAYbIQMLIAkhBiADKAIEIA5MDQELCyAJIA83AgALIAogCigCAEEIazYCACAIIAQoAhRMBEAgASABKAIAKAIIEQAADQILIAAgCyABIAIgBEEUaiAIIARBGGoQkREgBCgCGCIDQQRqIQogAygCACIHIAMoAgQiA0cNAAsLIAEgASgCACgCCBEAAEUNAiAEKAIcIgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADENAaCyAEQTBqJAAPC0EBEBVBnLYGQQAQFgALQal+IARBCGpB/sgGEIkDQYzJBkGayQZBoQQQmAoAC+ECAQZ/IAAoAkAiBgRAIAEoAgAhBwNAIAUgBCAHai0AACADIARqLQAAc0HAwwZqLQAAaiEFIARBAWoiBCAGRw0ACwsCQCAFIAEoAgRrIAIgAigCACgCEBEAAEoNACABKAIURQRAIAEoAhBBAUgNAQNAIAEoAhggCEECdGooAgAhCUEAIQUgACgCQCIGBEAgACgCLCAAKAIoIAlsaiEHQQAhBANAIAUgAyAEai0AACAEIAdqLQAAc0GQwAZqLQAAaiEFIARBAWoiBCAGRw0ACwsgAiAFIAkgAigCACgCDBEEACAIQQFqIgggASgCEEgNAAsMAQsgACABIANBfyAAKAIMIgRBAnQgBEH/////A3EgBEcbENUaIgUQlREgACgCDEEBTgRAQQAhBANAIAAgASgCFCAFIARBAnRqKAIAQQJ0aigCACACIAMQjxEgBEEBaiIEIAAoAgxIDQALCyAFEKIbCwutBwEIfyMAQSBrIgYkAAJAQYj6Ci0AAEEBcQ0AQYj6ChD9GkUNAEHs+QoQ0RoaQYj6ChCBGwtB7PkKENMaAkBBoPoKLQAAQQFxDQBBoPoKEP0aRQ0AQZT6CkIANwIAQYz6CkIANwIAQZz6CkGAgID8AzYCAEGg+goQgRsLAkACQAJAAkACQAJAAkBBkPoKKAIAIgVFDQBBjPoKKAIAAn8gASgCACIEIAVBAWtxIAVpIghBAU0NABogBCAEIAVJDQAaIAQgBXALIglBAnRqKAIAIgNFDQAgAygCACIHRQ0AIAVBAWshCiAIQQFLIQgDQAJAIAQgBygCBCIDRwRAAkAgCEUEQCADIApxIQMMAQsgAyAFSQ0AIAMgBXAhAwsgAyAJRg0BDAMLIAcoAgggBEYNAwsgBygCACIHDQALC0EYENUaIgNCADcCBCADQQA2AhQgA0IANwIMIANBxM4GNgIAIAIEQCACQYCAgIACTw0DIAMgAkEDdCIHENUaIgQ2AhAgAyAENgIMIAMgBCAHajYCFAsgBkEANgIQIAYgAzYCDCAGIANBDGo2AgggBkEYakGM+gogASABIAZBCGoQlxEgBi0AHEUNAyAGKAIYIQcgBigCDCIDRQ0BIAMgAygCBCIEQQFrNgIEIAQNASADIAMoAgAoAggRAQAgAxDQGgwBCwJAAn9BACAHKAIQIgNFDQAaIAMoAgRFDQEgAygCBEEBagtBAUGUzQYQ1QMACyAHKAIMIgMgAygCACIENgIEAkAgAygCCCAEa0EDdSACTw0AIAJBgICAgAJPDQQgAyACQQN0IgEQ1RoiBTYCBCADIAU2AgAgAyABIAVqNgIIIARFDQAgBBCiGwsgB0EANgIUCxDPCEEBdCECAkBBlPoKKAIAIgNFDQADQCADIAMoAhQiBEEBajYCFCACIARIBEAgAyAHRg0GIAMoAgAhBCAGQQhqQYz6CiADEJgRIAYoAgghAyAGQQA2AgggAwRAAkAgBi0AEEUNACADKAIQIgVFDQAgBSAFKAIEIgFBAWs2AgQgAQ0AIAUgBSgCACgCCBEBACAFENAaCyADEKIbCyAEIgMNAQwCCyADKAIAIgMNAAsLIAAgBygCDDYCACAAIAcoAhAiAzYCBCADBEAgAyADKAIEQQFqNgIECyAGQSBqJAAPC0GUqQYQvgIAC0EAQQFB1MkGENUDAAtBlKkGEL4CAAtBqX4gBkEIakGVzgYQiQNBqc4GQYzMBkHlARCYCgALgAMBBH8DQEEAIQcCQCAAKAJAIglFBEBBACEIDAELIAEoAgAhCkEAIQgDQCAIIAcgCmotAAAgAyAHai0AAHNBwMMGai0AAGohCCAHQQFqIgcgCUcNAAsLAkACQCAIIAEoAgRrIAIgAigCACgCEBEAAEoNACABKAIUDQEgBSAEKAIAIgdMBEAgAiACKAIAKAIIEQAADQEgBCgCACEHCyAEIAcgASgCEGo2AgAgASgCEEEBSA0AQQAhBgNAIAEoAhggBkECdGooAgAhBEEAIQggACgCQCIJBEAgACgCLCAAKAIoIARsaiEKQQAhBwNAIAggAyAHai0AACAHIApqLQAAc0GQwAZqLQAAaiEIIAdBAWoiByAJRw0ACwsgAiAIIAQgAigCACgCDBEEACAGQQFqIgYgASgCEEgNAAsLDwsgACABIANBfyAAKAIMIgdBAnQgB0H/////A3EgB0cbENUaIgcgBhCZESEIIAcQohsgASgCFCAIQQJ0aigCACEBDAALAAu3EAIZfwJ8IwBBgAlrIgokACAKIAQ2AvwIQQEhCCAAKAJAIQkCQCADQQFIDQAgBCAJENUaNgIAIAAgACgCaCAJajYCaCADQQFGDQADQCAKKAL8CCAIQQJ0aiAJENUaNgIAIAAgACgCaCAJajYCaCAIQQFqIgggA0cNAAsLIAogCkHYAGoiFzYCUCAKIAlBA3QiESADbCIINgJUIBchFSAIQYkCTwRAIApBfyAIQQJ0IAhB/////wNxIAhHGxDVGiIVNgJQCyAAQSBqIRwgCUEFdCEdIBFBAWtBA3YhGCACQYCAgIAESSEeIAJBAnQiEkEEa0ECdkEBakECdCEZA0AgACgCFCAaSgRAIANBAUgiFkUEQCAFKAIAIQlBACEIA0AgFSAIIBFsQQJ0akEAIB0QrxsaIAkgCEECdGpBADYCACAIQQFqIgggA0cNAAsLIAJBAUgiH0UEQCAAKAIoIRQgACgCLCETQQAhDgNAIBEEQCATIBQgASAOQQJ0IghqKAIAbGohDyAVIAYgCGooAgAgEWxBAnRqIQhBACEMQQAhCwNAIAggC0ECdCIJaiIEIAQoAgAgDCAPaiIELQAAQQFxajYCACAIIAlBBHJqIg0gDSgCACAELQAAQQF2QQFxajYCACAIIAlBCHJqIg0gDSgCACAELQAAQQJ2QQFxajYCACAIIAlBDHJqIg0gDSgCACAELQAAQQN2QQFxajYCACAIIAlBEHJqIg0gDSgCACAELQAAQQR2QQFxajYCACAIIAlBFHJqIg0gDSgCACAELQAAQQV2QQFxajYCACAIIAlBGHJqIg0gDSgCACAELQAAQQZ2QQFxajYCACAIIAlBHHJqIgkgCSgCACAELQAAQQd2ajYCACALQQhqIQsgDCAYRiEJIAxBAWohDCAJRQ0ACwsgDkEBaiIOIAJHDQALC0EAIQ4gA0EASgRAA0AgEQRAIBUgDiARbEECdGohCCAOQQJ0IgkgCigC/AhqKAIAIQ8gByAJaigCALchIkEAIQRBACEMA0ACfyAIIAxBAnQiCUEEcmooAgC4ICKjRAAAAAAAAOA/oCIhmUQAAAAAAADgQWMEQCAhqgwBC0GAgICAeAtBAXQCfyAIIAlqKAIAuCAio0QAAAAAAADgP6AiIZlEAAAAAAAA4EFjBEAgIaoMAQtBgICAgHgLciELIAsCfyAIIAlBCHJqKAIAuCAio0QAAAAAAADgP6AiIZlEAAAAAAAA4EFjBEAgIaoMAQtBgICAgHgLQQJ0ciELIAsCfyAIIAlBDHJqKAIAuCAio0QAAAAAAADgP6AiIZlEAAAAAAAA4EFjBEAgIaoMAQtBgICAgHgLQQN0ciELIAsCfyAIIAlBEHJqKAIAuCAio0QAAAAAAADgP6AiIZlEAAAAAAAA4EFjBEAgIaoMAQtBgICAgHgLQQR0ciELIAsCfyAIIAlBFHJqKAIAuCAio0QAAAAAAADgP6AiIZlEAAAAAAAA4EFjBEAgIaoMAQtBgICAgHgLQQV0ciELIAsCfyAIIAlBGHJqKAIAuCAio0QAAAAAAADgP6AiIZlEAAAAAAAA4EFjBEAgIaoMAQtBgICAgHgLQQZ0ciELIAQgD2ogCwJ/IAggCUEccmooAgC4ICKjRAAAAAAAAOA/oCIhmUQAAAAAAADgQWMEQCAhqgwBC0GAgICAeAtBB3RyOgAAIAxBCGohDCAEIBhGIQkgBEEBaiEEIAlFDQALCyAOQQFqIg4gA0cNAAsLIApBADYCSCAKQgA3A0ACQAJAAkAgAgRAIB5FDQIgCiASENUaIgg2AkAgCiAIIBJqNgJIIAogCEEAIBIQrxsgGWo2AkQgCiASENUaIgg2AjAgCiAIIBJqNgI4IAogCEEAIBIQrxsgGWo2AjQMAQsgCkEANgI4IApCADcDMAsgCiAAKAJANgIgIAogATYCGCAKIAM2AhQgCiAcNgIQIApBiMgGNgIIIAogCkEwajYCKCAKIApBQGs2AiQgCiAKQfwIajYCHCAKQQA2AgAgCiACNgIEIAogCkEIahDNCEEBIRAgAkEBTgRAIAUoAgAhD0EAIQggCigCQCEOIAooAjAhFANAIBQgCEECdCIJaigCACIMIA8gCSAOaigCACIEQQJ0IgtqIg0oAgBKBEAgDSAMNgIACyAGIAlqIgkoAgAiDCAERwRAIAcgDEECdGoiDCAMKAIAQQFrNgIAIAcgC2oiDCAMKAIAQQFqNgIAIAkgBDYCAEEAIRALIAhBAWoiCCACRw0ACwsgFg0BQQAhEyAKKAL8CCEgA0AgByATIg1BAnRqIhsoAgBFBEADQCAHIA1BAWogA28iDUECdCIIaiIOKAIAQQJIDQALAkAgHw0AIAUoAgAgCGohECAIICBqIRZBACEPA0ACQCAGIA9BAnQiCWoiFCgCACANRw0AQQAhCAJAIAAoAkAiBEUEQEEAIQkMAQsgACgCLCAAKAIoIAEgCWooAgBsaiEMIBYoAgAhC0EAIQkDQCAJIAggC2otAAAgCCAMai0AAHNBwMMGai0AAGohCSAIQQFqIgggBEcNAAsLIAkgECgCAEcNACAUIBM2AgAgDiAOKAIAQQFrNgIAIBsgGygCAEEBajYCAAwCCyAPQQFqIg8gAkcNAAsLQQAhEAsgE0EBaiITIANHDQALDAELEPwaAAsgCigCMCIIBEAgCiAINgI0IAgQohsLIAooAkAiCARAIAogCDYCRCAIEKIbCyAaQQFqIRogEEEBcUUNAQsLAkAgCigCUCIIIBdGDQAgCEUNACAIEKIbCyAKQYAJaiQAC6kHBA9/AX4BfQF8AkACfyAEQQJ0QQ9qQXBxIgogACgCUCIMTARAIAAoAlgMAQsgAEHkAGoiCyALKAIAIAxqNgIAIApBBHJBD2oiC0GAwAAgC0GAwABLGyIMEKEbIgtFBEBBACELQeTFBkEbQQFB7OQIKAIAELQbGgwCCyALIABB1ABqIg0oAgA2AgAgDSALNgIAIAxBBGshDCALQQRqCyELIAAgDCAKazYCUCAAIAogC2o2AlggAEHgAGoiDCAMKAIAIApqNgIACyABIAs2AhQgBEEBTgRAIAVBAWohFkHs5AgoAgAhFwNAIAkgEEECdCIPaigCACEUQgAhGUEAIRNBACENIANBAEoEQANAIBAgCCANQQJ0IgpqIhEoAgBGBEAgAiAKaiIYKAIAIRVBACEKAkAgACgCQCIMRQRAQQAhCwwBCyAAKAIsIAAoAiggFWxqIQVBACELA0AgCyAFIApqLQAAQYDGBmotAABqIQsgCkEBaiIKIAxHDQALCyAYIAIgDkECdCIKaiIMKAIANgIAIAwgFTYCACARKAIAIQwgESAIIApqIgooAgA2AgAgCiAMNgIAIAsgE2ohEyAZIAsgC2ytfCEZIA5BAWohDgsgDUEBaiINIANHDQALCyAGIA9qIg0oAgAhDAJ+IBm6IBS3o0QAAAAAAADgP6AiG0QAAAAAAADwQ2MgG0QAAAAAAAAAAGZxBEAgG7EMAQtCAAshGQJ/IBOyIBSylUMAAAA/kiIai0MAAABPXQRAIBqoDAELQYCAgIB4CyERQQAhCkEAIQsgACgCQCIFBEADQCALIAogDGotAABBgMYGai0AAGohCyAKQQFqIgogBUcNAAsLIAsgC2whDAJAAn8gACgCUCILQSBOBEAgACgCWAwBCyAAIAAoAmQgC2o2AmRBgMAAEKEbIgpFBEBB5MUGQRtBASAXELQbGkEAIQoMAgsgCiAAKAJUNgIAIAAgCjYCVEH8PyELIApBBGoLIQogACALQSBrNgJQIAAgCkEgajYCWCAAIAAoAmBBIGo2AmALIAEoAhQgD2ogCjYCACABKAIUIA9qKAIAIgpCADcCACAKQgA3AhggCkIANwIQIApCADcCCCABKAIUIA9qIgooAgAiCyAHKAIAIA9qKAIANgIEIAsgDSgCADYCACAKKAIAIgogETYCCCAKIBmnIAxrNgIMIAAgCiACIBJBAnRqIA4gEmsgBCAWEIYRIA4hEiAQQQFqIhAgBEcNAAsLC9gCARJ/IAEoAgAiBiABKAIEIgpIBEAgACgCGCEEIAAoAhAhCyAAKAIcKAIAIQwgACgCICgCACENIAAoAggiASgCCCEOIAEoAgwhDyAAKAIUKAIAIhAoAgAhEQNAIA8gDiALIAZBAnQiCGooAgBsaiEJQQAhB0EAIQFBACECIAQEQANAIAIgASARai0AACABIAlqLQAAc0HAwwZqLQAAaiECIAFBAWoiASAERw0ACwtBASEFIAAoAgwiEkEBSgRAA0BBACEBAkAgBEUEQEEAIQMMAQsgECAFQQJ0aigCACETQQAhAwNAIAMgASATai0AACABIAlqLQAAc0HAwwZqLQAAaiEDIAFBAWoiASAERw0ACwsgBSAHIAIgA0oiARshByADIAIgARshAiAFQQFqIgUgEkcNAAsLIAggDWogAjYCACAIIAxqIAc2AgAgBkEBaiIGIApHDQALCwufAgEKf0F/IAAoAgwiBEECdCAEQf////8DcSAERxsQ1RohByAEQQFOBEAgACgCQCEIIAEoAhQhCgNAQQAhASAIBEAgCiAGQQJ0aigCACgCACEFQQAhBANAIAEgBCAFai0AACACIARqLQAAc0HAwwZqLQAAaiEBIARBAWoiBCAIRw0ACwtBACEFA0ACQCAHIAUiBEECdCILaiEJIAQgBk8NACAEQQFqIQUgCSgCACABSA0BCwsgBiEFIAQgBkkEQANAIAcgBUECdCIMaiAHIAVBAWsiBUECdCINaigCADYCACADIAxqIAMgDWooAgA2AgAgBCAFSA0ACwsgCSABNgIAIAMgC2ogBjYCACAGQQFqIgYgACgCDEgNAAsLIAcQohsLcwEDf0GU+gooAgAiAARAA0AgACICKAIAIQACQCACKAIQIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEKIbIAANAAsLQYz6CigCACEAQYz6CkEANgIAIAAEQCAAEKIbCwvJBAIGfwJ9IAIoAgAhBSAAAn8CQCABKAIEIgZFDQAgASgCAAJ/IAZBAWsgBXEgBmkiB0EBTQ0AGiAFIAUgBkkNABogBSAGcAsiCEECdGooAgAiAkUNACAGQQFrIQkgB0EBSyEKA0AgAigCACICRQ0BIAUgAigCBCIHRwRAAkAgCkUEQCAHIAlxIQcMAQsgBiAHSw0AIAcgBnAhBwsgByAIRw0CCyACKAIIIAVHDQALQQAMAQtBGBDVGiICIAMoAgA2AgggAiAEKAIANgIMIAIgBCgCBDYCECAEQgA3AgAgBCgCCCEHIAIgBTYCBCACIAc2AhQgAkEANgIAIAEqAhAhCyABKAIMQQFqsyEMAkAgBgRAIAsgBrOUIAxdQQFzDQELIAYgBkEBa3FBAEcgBkEDSXIgBkEBdHIhByABAn8gDCALlY0iC0MAAIBPXSALQwAAAABgcQRAIAupDAELQQALIgYgByAGIAdLGxCcESABKAIEIgYgBkEBa3FFBEAgBkEBayAFcSEIDAELIAUgBkkEQCAFIQgMAQsgBSAGcCEICwJAAkAgASgCACAIQQJ0aiIHKAIAIgVFBEAgAiABKAIINgIAIAEgAjYCCCAHIAFBCGo2AgAgAigCACIFRQ0CIAUoAgQhBQJAIAYgBkEBayIHcUUEQCAFIAdxIQUMAQsgBSAGSQ0AIAUgBnAhBQsgASgCACAFQQJ0aiEFDAELIAIgBSgCADYCAAsgBSACNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACACNgIAC+sCAQd/IAIoAgQhBQJAIAEoAgQiBGkiCEEBTQRAIARBAWsgBXEhBQwBCyAEIAVLDQAgBSAEcCEFCyABKAIAIAVBAnRqIgYoAgAhAwNAIAMiBygCACIDIAJHDQALAkAgAUEIaiIJIAdHBEAgBygCBCEDAkAgCEEBTQRAIAMgBEEBa3EhAwwBCyADIARJDQAgAyAEcCEDCyADIAVGDQELIAIoAgAiAwRAIAMoAgQhAwJAIAhBAU0EQCADIARBAWtxIQMMAQsgAyAESQ0AIAMgBHAhAwsgAyAFRg0BCyAGQQA2AgALIAcCf0EAIAIoAgAiA0UNABogAygCBCEGAkAgCEEBTQRAIAYgBEEBa3EhBgwBCyAEIAZLDQAgBiAEcCEGCyADIAUgBkYNABogASgCACAGQQJ0aiAHNgIAIAIoAgALNgIAIAJBADYCACABIAEoAgxBAWs2AgwgAEEBOgAIIAAgCTYCBCAAIAI2AgALpAQDCH8BfgJ9IAEoAhQhCyAAKAJAIggEQCALKAIAKAIAIQcDQCAGIAUgB2otAAAgAiAFai0AAHNBwMMGai0AAGohBiAFQQFqIgUgCEcNAAsLIAMgBjYCAEEBIQkgACgCDCIFQQFKBEADQCAJQQJ0IQxBACEFAkAgCEUEQEEAIQYMAQsgCyAMaigCACgCACEHQQAhBgNAIAYgBSAHai0AACACIAVqLQAAc0HAwwZqLQAAaiEGIAVBAWoiBSAIRw0ACwsgAyAMaiAGNgIAIAkgCiAGIAMgCkECdGooAgBIGyEKIAlBAWoiCSAAKAIMIgVIDQALCyAFQQFOBEBBACEIA0ACQCAIIApGDQAgAyAIQQJ0IgVqIgYoAgAhAiAGIAICfyAAKgIcIAEoAhQgBWooAgAiBygCDLKUIg5DAAAAP5IiD4tDAAAAT10EQCAPqAwBC0GAgICAeAtrIA5DAAAAAF1qIgI2AgAgBCgCACIFKAIEIgYgBSgCCEYNACAGIAI2AgQgBiAHNgIAIAUgBkEIaiIHNgIEIAcgBSgCACICayIFQQlIDQAgBigCBCACIAVBA3ZBAmtBAm0iBUEDdGooAgRODQAgBikCACINQiCIpyEJA0ACQCAGIAIgBUEDdGoiBykCADcCACAFRQ0AIAchBiACIAVBAWtBAm0iBUEDdGooAgQgCUoNAQsLIAcgDTcCAAsgCEEBaiIIIAAoAgxIDQALCyAKCyUBAX8gAEHEzgY2AgAgACgCDCIBBEAgACABNgIQIAEQohsLIAALKAEBfyAAQcTOBjYCACAAKAIMIgEEQCAAIAE2AhAgARCiGwsgABCiGwu+AQIDfwF9An9BAiABQQFGDQAaIAEgASABQQFrcUUNABogARD8FQsiAiAAKAIEIgFLBEAgACACEJ0RDwsCQCABIAJNDQAgAUEDSSEEAn8gACgCDLMgACoCEJWNIgVDAACAT10gBUMAAAAAYHEEQCAFqQwBC0EACyEDAn8CQCAEDQAgAWlBAUsNACADQQFBICADQQFrZ2t0IANBAkkbDAELIAMQ/BULIgMgAiACIANJGyICIAFPDQAgACACEJ0RCwu5AwEJfwJAAkAgAQRAIAFBgICAgARPDQIgAUECdBDVGiEEIAAoAgAhAiAAIAQ2AgAgAgRAIAIQohsLIAAgATYCBCABQQEgAUEBSxshBEEAIQIDQCAAKAIAIAJBAnRqQQA2AgAgAkEBaiICIARHDQALIAAoAggiBkUNASAAQQhqIQIgBigCBCEFAkAgAWkiA0EBTQRAIAUgAUEBa3EhBQwBCyABIAVLDQAgBSABcCEFCyAAKAIAIAVBAnRqIAI2AgAgBigCACIERQ0BIAFBAWshCCADQQFLIQkDQCAEKAIEIQMCQCAJRQRAIAMgCHEhAwwBCyABIANLDQAgAyABcCEDCwJAIAMgBUYEQCAEIQYMAQsgBCECIANBAnQiByAAKAIAaiIKKAIARQRAIAogBjYCACAEIQYgAyEFDAELA0AgAiIDKAIAIgIEQCAEKAIIIAIoAghGDQELCyAGIAI2AgAgAyAAKAIAIAdqKAIAKAIANgIAIAAoAgAgB2ooAgAgBDYCAAsgBigCACIEDQALDAELIAAoAgAhAiAAQQA2AgAgAgRAIAIQohsLIABBADYCBAsPC0GUqQYQvgIAC70BAQR/IABB/M8GNgIAIAAoAjAiAgRAIAIQohsLAkAgACgCNCIBRQ0AIAAoAlwiA0EBTgRAQQAhAgNAIAEgAkECdCIEaigCACIBBEAgARCiGyAAKAI0IARqQQA2AgAgACgCXCEDCyAAKAI0IQEgAkEBaiICIANIDQALIAFFDQELIAEQohsLIABBQGsoAgAiAQRAA0AgASgCACECIAEQohsgACACNgJAIAIiAQ0ACwsgAEEcaiAAKAIgEP8PIAALCgAgABCeERCiGwvNAwEGfyAAKAJYQQFKBEAgACgCXCEDAkACQCAAKAI0IgJFDQAgA0EBSA0BA0AgAiABQQJ0IgRqKAIAIgIEQCACEKIbIAAoAjQgBGpBADYCACAAKAJcIQMLIAFBAWoiASADTg0BIAAoAjQhAgwACwALIANBAUgNAEHs5AgoAgAhBgNAQX8gACgCKCICQQJ0IAJB/////wNxIAJHGxDVGiEBIAVBAnQiBCAAKAI0aiABNgIAIAIEQCAAKAI0IARqKAIAIQNBACEBA0AgAyABQQJ0aiABNgIAIAFBAWoiASACRw0ACwsCQAJ/IAAoAjwiA0EgTgRAIAAoAkQMAQsgACAAKAJQIANqNgJQQYDAABChGyIBRQRAQeTFBkEbQQEgBhC0GxogACgCKCECQQAhAQwCCyABIAAoAkA2AgAgACABNgJAQfw/IQMgAUEEagshASAAIANBIGs2AjwgACABQSBqNgJEIAAgACgCTEEgajYCTAsgACgCMCAEaiABNgIAIAAgACgCMCAEaigCACAAKAI0IARqKAIAIAIgACgCWEEAEKERIAVBAWoiBSAAKAJcSA0ACwsPC0E8EBUiAUHAxQYQmRAgAUGQqAZB4wcQFgALlwoBD38jAEEwayIJJAAgASAFNgIQIAEgAzYCBAJAAkACQCADIAAoAmRIBEAgASACNgIMIAIgAiADQQJ0aiAJQRhqEPIVIAFBADYCCAwBCyAJQQA2AiAgCUIANwMYIAQEQCAEQYCAgIAETw0DIAkgBEECdCIHENUaIgY2AhggCSAGIAdqIgg2AiAgBkEAIAcQrxsaIAkgCDYCHAsgCUEANgIQIAlCADcDCCADBEAgA0GAgICABE8NAiAJIANBAnQiBxDVGiIINgIIIAkgByAIaiIKNgIQIAhBACAHEK8bGiAJIAo2AgwLIAAoAgQhByAAIAAoAggiCkEBdWoiCCAEIAIgAyAGIAlBBGogCkEBcQR/IAgoAgAgB2ooAgAFIAcLEQ0AAkAgBCAJKAIEIhBKBEAgASACNgIMIAIgAiADQQJ0aiAJQShqEPIVIAFBADYCCAwBCyADQQFOBEAgCSgCCCEUIAkoAhghESAAKAIUIQ8gACgCGCENIAAoAiwhCANAIA0gAiATQQJ0IgxqKAIAIA9saiEKQQAhCyAIBEAgDSARKAIAIA9saiEHQQAhBgNAIAsgBiAHai0AACAGIApqLQAAc0HAwwZqLQAAaiELIAZBAWoiBiAIRw0ACwsgDCAUaiISQQA2AgBBASEOIBBBAUoEQANAQQAhBgJAIAhFBEBBACEHDAELIA0gESAOQQJ0aigCACAPbGohDEEAIQcDQCAHIAYgDGotAAAgBiAKai0AAHNBwMMGai0AAGohByAGQQFqIgYgCEcNAAsLIAcgC0gEQCASIA42AgAgByELCyAOQQFqIg4gEEcNAAsLIBNBAWoiEyADRw0ACwsCQAJ/IARBAnRBD2pBcHEiBiAAKAI8IghMBEAgACgCRAwBCyAAQdAAaiIHIAcoAgAgCGo2AgAgBkEEckEPaiIHQYDAACAHQYDAAEsbIggQoRsiB0UEQEEAIQdB5MUGQRtBAUHs5AgoAgAQtBsaDAILIAcgAEFAayIKKAIANgIAIAogBzYCACAIQQRrIQggB0EEagshByAAIAggBms2AjwgACAGIAdqNgJEIABBzABqIgggCCgCACAGajYCAAsgASAHNgIIIARBAUgNACAFQQFqIRFB7OQIKAIAIRJBACELQQAhDUEAIQgDQCADQQFOBEBBACEGIAkoAgghCiANIQgDQCALIAogBkECdCIMaiIHKAIARgRAIAIgDGoiDCgCACEOIAwgAiAIQQJ0IhBqIg8oAgA2AgAgDyAONgIAIAcoAgAhDCAHIAogEGoiDigCADYCACAOIAw2AgAgCEEBaiEICyAGQQFqIgYgA0cNAAsLAkACQCAAKAI8IgZBIE4EQCAAKAJEIQcMAQsgACAAKAJQIAZqNgJQQYDAABChGyIGRQRAQeTFBkEbQQEgEhC0GxpBACEHDAILIAYgACgCQDYCACAAIAY2AkAgBkEEaiEHQfw/IQYLIAAgBkEgazYCPCAAIAdBIGo2AkQgACAAKAJMQSBqNgJMCyALQQJ0IgYgASgCCGogBzYCACAJKAIYIAZqKAIAIQcgASgCCCAGaiIGKAIAIgpBADYCDCAKIAc2AgAgACAGKAIAIAIgDUECdGogCCANayAEIBEQoREgCCENIAtBAWoiCyAERw0ACwsgCSgCCCIGBEAgCSAGNgIMIAYQohsLIAkoAhgiBkUNACAJIAY2AhwgBhCiGwsgCUEwaiQADwsQ/BoACxD8GgALogEBAn8gAEHYAGpBBEEBIAEQtBsaIABB3ABqQQRBASABELQbGiAAQeAAakEEQQEgARC0GxogAEHkAGpBBEEBIAEQtBsaIABB1ABqQQRBASABELQbGiAAKAJcQQFOBEADQCACQQJ0IgMgACgCNGooAgBBBCAAKAIoIAEQtBsaIAAgASAAKAIwIANqKAIAIAIQoxEgAkEBaiICIAAoAlxIDQALCwupAQECfyMAQRBrIgUkACACQRRBASABELQbGgJAIAIoAggiBARAIAAoAlhBAUgNASAAIAEgBCgCACADEKMRQQEhBCAAKAJYQQFMDQEDQCAAIAEgAigCCCAEQQJ0aigCACADEKMRIARBAWoiBCAAKAJYSA0ACwwBCyAFIAIoAgwgACgCNCADQQJ0aigCAGtBAnU2AgwgBUEMakEEQQEgARC0GxoLIAVBEGokAAvOCAEJfyMAQTBrIgIkACAAKAIwIgMEQCADEKIbCwJAIAAoAjQiBEUNACAAKAJcIgVBAU4EQEEAIQMDQCAEIANBAnQiBmooAgAiBARAIAQQohsgACgCNCAGakEANgIAIAAoAlwhBQsgACgCNCEEIANBAWoiAyAFSA0ACyAERQ0BCyAEEKIbCwJAAkACQAJAAkAgAEHYAGoiB0EEQQEgARCoFUEBRgRAIABB3ABqIghBBEEBIAEQqBVBAUcNASAAQeAAaiIJQQRBASABEKgVQQFHDQIgAEHkAGoiCkEEQQEgARCoFUEBRw0DIABB1ABqQQRBASABEKgVQQFHDQQgAEF/IAAoAlwiA0ECdCADQf////8DcSADRxsiBBDVGjYCNCAAIAQQ1Ro2AjAgA0EBTgRAQQAhBANAQX8gACgCKCIDQQJ0IANB/////wNxIANHGxDVGiEGIARBAnQiBSAAKAI0aiAGNgIAIAAoAjQgBWooAgBBBCADIAEQqBUgA0cNByAAIAEgACgCMCAFaiAEEKURIARBAWoiBCAAKAJcSA0ACwsgAiAAIAAoAgAoAigRAAA2AhAgAkEAOgAJIAJBCGoiA0H8oQYtAAA6AAAgAkEJOgALIAJB9KEGKQAANwMAIAIgAjYCICACQShqIABBHGoiACACIAJBIGoQkBAgAigCKEEcaiACQRBqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyACQQA6AAkgA0GMogYtAAA6AAAgAkEJOgALIAJBhKIGKQAANwMAIAIgAjYCICACQShqIAAgAiACQSBqEJAQIAIoAihBHGogBxCGECACLAALQX9MBEAgAigCABCiGwsgAkEFOgALIAJBADoABSACQf6hBigAADYCACACQYKiBi0AADoABCACIAI2AiAgAkEoaiAAIAIgAkEgahCQECACKAIoQRxqIAgQhhAgAiwAC0F/TARAIAIoAgAQohsLIAJBEBDVGiIDNgIAIAJCjICAgICCgICAfzcCBCADQQA6AAwgA0GhogYoAAA2AAggA0GZogYpAAA3AAAgAiACNgIgIAJBKGogACACIAJBIGoQkBAgAigCKEEcaiAJEJEQIAIsAAtBf0wEQCACKAIAEKIbCyACQQA6AAkgAkHqogYtAAA6AAggAkEJOgALIAJB4qIGKQAANwMAIAIgAjYCICACQShqIAAgAiACQSBqEJAQIAIoAihBHGogChCGECACLAALQX9MBEAgAigCABCiGwsgAkEwaiQADwtBPBAVIgBB6MgGEJkQIABBkKgGQeMHEBYAC0E8EBUiAEHoyAYQmRAgAEGQqAZB4wcQFgALQTwQFSIAQejIBhCZECAAQZCoBkHjBxAWAAtBPBAVIgBB6MgGEJkQIABBkKgGQeMHEBYAC0E8EBUiAEHoyAYQmRAgAEGQqAZB4wcQFgALQTwQFSIAQejIBhCZECAAQZCoBkHjBxAWAAvMBAEGfyMAQRBrIgckAAJAAn8gACgCPCIEQSBOBEAgBEEgayEFIAAoAkQMAQsgAEHQAGoiBSAFKAIAIARqNgIAQYDAABChGyIERQRAQQAhBEHkxQZBG0EBQezkCCgCABC0GxoMAgsgBCAAQUBrIgUoAgA2AgAgBSAENgIAQdw/IQUgBEEEagshBCAAIAU2AjwgACAEQSBqNgJEIABBzABqIgUgBSgCAEEgajYCAAsgAiAENgIAAkAgBEEUQQEgARCoFUEBRgRAAkAgAigCACgCCEUEQCAHQQxqQQRBASABEKgVQQFHDQMgAigCACAAKAI0IANBAnRqKAIAIAcoAgxBAnRqNgIMDAELAkACfyAAKAJYIghBAnRBD2pBcHEiBCAAKAI8IgZMBEAgACgCRAwBCyAAQdAAaiIFIAUoAgAgBmo2AgAgBEEEckEPaiIFQYDAACAFQYDAAEsbIgYQoRsiBUUEQEEAIQVB5MUGQRtBAUHs5AgoAgAQtBsaIAAoAlghCAwCCyAFIABBQGsiCSgCADYCACAJIAU2AgAgBkEEayEGIAVBBGoLIQUgACAGIARrNgI8IAAgBCAFajYCRCAAQcwAaiIGIAYoAgAgBGo2AgALIAIoAgAgBTYCCCAIQQFIDQBBACEEA0AgACABIAIoAgAoAgggBEECdGogAxClESAEQQFqIgQgACgCWEgNAAsLIAdBEGokAA8LQTwQFSIEQejIBhCZECAEQZCoBkHjBxAWAAtBPBAVIgRB6MgGEJkQIARBkKgGQeMHEBYACxMAIAAoAlQgACgCUCAAKAJMamoLkwEBBH8gAEIANwIEIAAgAEEEaiIENgIAIAEoAhwiAyABQSBqIgVHBEADQCAAIAQgAyICQRBqEM0QAkAgAigCBCIBRQRAIAIoAggiAygCACACRg0BIAJBCGohAgNAIAIoAgAiAUEIaiECIAEgASgCCCIDKAIARw0ACwwBCwNAIAEiAygCACIBDQALCyADIAVHDQALCwujCAIMfwF+IwBB0ABrIgUkACAFQQY6AEsgBUEAOgBGIAVBi6MGKAAANgJAIAVBj6MGLwAAOwFEAkACQAJAAn9BICADIAVBQGsQgRAiBCADQQRqIgdGDQAaIAQoAhwiBiAGKAIAKAIcEQAAKAIEQYDTCSgCAEcNASAEKAIcIgYgBEEgaiAGKAIAKAIUEQMAKAIACyEIIAUsAEtBf0wEQCAFKAJAEKIbCyAFQSAQ1RoiBDYCMCAFQpGAgICAhICAgH83AjRBACEGIARBADoAESAEQa2jBi0AADoAECAEQaWjBikAADcACCAEQZ2jBikAADcAACAHIAMgBUEwahCBECIERwRAIAQoAhwiBiAGKAIAKAIcEQAAKAIEQbjSCSgCAEcNAiAEKAIcIgYgBEEgaiAGKAIAKAIUEQMALQAAQQBHIQYLIAUsADtBf0wEQCAFKAIwEKIbCyAFEK0KNgIYQQAhBCAFQShqIAVBGGogACgCKBCpESAAKAIoIQMgBUEAOgAIIAVBGGogAyAFQQhqEKoRIQogBUEANgIUAkAgACgCXEEBSA0AA0AgACAAKAIwIARBAnRqKAIAIAEgAiAFQRRqIAggBUEoaiAKIAYQqxEgBiAFKAIUIAhIckUEQCABIAEoAgAoAggRAAANAgsgBEEBaiIEIAAoAlxIDQALCwJAIAUoAigiBigCACIDIAYoAgQiBEYNACAGQQRqIQsDQCADKAIAIQwCQCAEIANrIgdBCUgNACADKQIAIRAgAyAEQQhrIgQpAgA3AgAgBCAQNwIAIAdBEEYNACADQQhqIQQgB0EDdSIJQQNrQQJtIQ1BASEGIAdBGU4EQEECQQEgAygCFCADKAIMSCIHGyEGIANBEGogBCAHGyEECyADKAIEIAQoAgRIDQAgCUEBayEOIAMpAgAiEEIgiKchDyADIQcDQAJAIAcgBCIJKQIANwIAIAYgDUoNACADIAZBAXQiB0EBciIGQQN0aiEEIA4gB0ECaiIHSgRAIAcgBiAEKAIMIAQoAgRIIgcbIQYgBEEIaiAEIAcbIQQLIAkhByAEKAIEIA9MDQELCyAJIBA3AgALIAsgCygCAEEIazYCACAIIAUoAhRMBEAgASABKAIAKAIIEQAADQILIAAgDCABIAIgBUEUaiAIIAVBKGogCkEAEKsRIAUoAigiBEEEaiELIAQoAgAiAyAEKAIEIgRHDQALCyABIAEoAgAoAggRAABFDQIgCigCACIEBEAgBBCiGwsCQCAFKAIsIgRFDQAgBCAEKAIEIgZBAWs2AgQgBg0AIAQgBCgCACgCCBEBACAEENAaCyAFQdAAaiQADwtBARAVQZy2BkEAEBYAC0EBEBVBnLYGQQAQFgALQal+IAVBCGpB/sgGEIkDQYzJBkH40AZBpwQQmAoAC60HAQh/IwBBIGsiBiQAAkBBwPoKLQAAQQFxDQBBwPoKEP0aRQ0AQaT6ChDRGhpBwPoKEIEbC0Gk+goQ0xoCQEHY+gotAABBAXENAEHY+goQ/RpFDQBBzPoKQgA3AgBBxPoKQgA3AgBB1PoKQYCAgPwDNgIAQdj6ChCBGwsCQAJAAkACQAJAAkACQEHI+gooAgAiBUUNAEHE+gooAgACfyABKAIAIgQgBUEBa3EgBWkiCEEBTQ0AGiAEIAQgBUkNABogBCAFcAsiCUECdGooAgAiA0UNACADKAIAIgdFDQAgBUEBayEKIAhBAUshCANAAkAgBCAHKAIEIgNHBEACQCAIRQRAIAMgCnEhAwwBCyADIAVJDQAgAyAFcCEDCyADIAlGDQEMAwsgBygCCCAERg0DCyAHKAIAIgcNAAsLQRgQ1RoiA0IANwIEIANBADYCFCADQgA3AgwgA0G01AY2AgAgAgRAIAJBgICAgAJPDQMgAyACQQN0IgcQ1RoiBDYCECADIAQ2AgwgAyAEIAdqNgIUCyAGQQA2AhAgBiADNgIMIAYgA0EMajYCCCAGQRhqQcT6CiABIAEgBkEIahCXESAGLQAcRQ0DIAYoAhghByAGKAIMIgNFDQEgAyADKAIEIgRBAWs2AgQgBA0BIAMgAygCACgCCBEBACADENAaDAELAkACf0EAIAcoAhAiA0UNABogAygCBEUNASADKAIEQQFqC0EBQZDUBhDVAwALIAcoAgwiAyADKAIAIgQ2AgQCQCADKAIIIARrQQN1IAJPDQAgAkGAgICAAk8NBCADIAJBA3QiARDVGiIFNgIEIAMgBTYCACADIAEgBWo2AgggBEUNACAEEKIbCyAHQQA2AhQLEM8IQQF0IQICQEHM+gooAgAiA0UNAANAIAMgAygCFCIEQQFqNgIUIAIgBEgEQCADIAdGDQYgAygCACEEIAZBCGpBxPoKIAMQmBEgBigCCCEDIAZBADYCCCADBEACQCAGLQAQRQ0AIAMoAhAiBUUNACAFIAUoAgQiAUEBazYCBCABDQAgBSAFKAIAKAIIEQEAIAUQ0BoLIAMQohsLIAQiAw0BDAILIAMoAgAiAw0ACwsgACAHKAIMNgIAIAAgBygCECIDNgIEIAMEQCADIAMoAgRBAWo2AgQLIAZBIGokAA8LQZSpBhC+AgALQQBBAUHE0QYQ1QMAC0GUqQYQvgIAC0GpfiAGQQhqQZXOBhCJA0GpzgZBjMwGQeUBEJgKAAvrAQEDfyAAQQA2AgggAEIANwIAAkACQCABRQ0AIAFBf0wNASABQQFrQQV2IgRBAWoiBUECdBDVGiEDIAAgBTYCCCAAIAM2AgAgAi0AACECIAAgATYCBCADIAMgBEECdGogAUEhSRtBADYCACABQQV2IgVBAnQhBCACBEAgA0H/ASAEEK8bIQMgAUEfcSIBRQ0BIAMgBUECdGoiAyADKAIAQX9BICABa3ZyNgIAIAAPCyADQQAgBBCvGyEDIAFBH3EiAUUNACADIAVBAnRqIgMgAygCAEF/QSAgAWt2QX9zcTYCAAsgAA8LEPwaAAvNBgIMfwF+IAEoAggiEQRAIAFBCGohEgNAQX8gACgCWCIPQQJ0IA9B/////wNxIA9HGxDVGiEQIAAoAhQhEyAAKAIYIRRBACEBQQAhCiAAKAIsIg0EQCAUIBMgESgCACgCAGxqIQxBACEJA0AgCiAJIAxqLQAAIAMgCWotAABzQcDDBmotAABqIQogCUEBaiIJIA1HDQALCyAQIAo2AgBBASELIA9BAUoEQANAIAtBAnQhDkEAIQkCQCANRQRAQQAhCgwBCyAUIA4gEWooAgAoAgAgE2xqIQxBACEKA0AgCiAJIAxqLQAAIAMgCWotAABzQcDDBmotAABqIQogCUEBaiIJIA1HDQALCyAOIBBqIAo2AgAgCyABIAogECABQQJ0aigCAEgbIQEgC0EBaiILIA9HDQALC0EAIQ0gD0EASgRAA0ACQCABIA1GDQAgBigCACIJKAIEIgogCSgCCEYNACANQQJ0IgwgEigCAGooAgAhCyAKIAwgEGooAgA2AgQgCiALNgIAIAkgCkEIaiILNgIEIAsgCSgCACIMayIJQQlIDQAgCigCBCAMIAlBA3ZBAmtBAm0iCUEDdGooAgRODQAgCikCACIVQiCIpyEOA0ACQCAKIAwgCUEDdGoiCykCADcCACAJRQ0AIAshCiAMIAlBAWtBAm0iCUEDdGooAgQgDkoNAQsLIAsgFTcCAAsgDUEBaiINIAAoAlhIDQALCyAQEKIbIBIoAgAgAUECdGooAgAiAUEIaiESIAEoAggiEQ0ACwsCQAJAIAQoAgAgBUgNACAIDQAgAiACKAIAKAIIEQAADQELIAEoAgQiCUEBSA0AIAcoAgAhCkEAIQsDQEEBIAEoAgwgC0ECdGooAgAiDnQiECAKIA5BBXZBAnQiD2ooAgBxRQRAQQAhCQJAIAAoAiwiDUUEQEEAIQoMAQsgACgCGCAAKAIUIA5saiEMQQAhCgNAIAogAyAJai0AACAJIAxqLQAAc0GQwAZqLQAAaiEKIAlBAWoiCSANRw0ACwsgAiAKIA4gAigCACgCDBEEACAHKAIAIgogD2oiCSAJKAIAIBByNgIAIAQgBCgCAEEBajYCACABKAIEIQkLIAtBAWoiCyAJSA0ACwsLcwEDf0HM+gooAgAiAARAA0AgACICKAIAIQACQCACKAIQIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEKIbIAANAAsLQcT6CigCACEAQcT6CkEANgIAIAAEQCAAEKIbCwslAQF/IABBtNQGNgIAIAAoAgwiAQRAIAAgATYCECABEKIbCyAACygBAX8gAEG01AY2AgAgACgCDCIBBEAgACABNgIQIAEQohsLIAAQohsLdwECfyAAQfTVBjYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEkaiAAKAIoEP8PIAAoAgQiAgRAAn8gAiACIAAoAggiAUYNABoDQCABQcgAaxCwESIBIAJHDQALIAAoAgQLIQEgACACNgIIIAEQohsLIAAL3QEBBH8gACgCPCIBBEAgAEFAayABNgIAIAEQohsLIAAoAiQiAQRAIAAgATYCKCABEKIbCyAAKAIUIgEEQANAIAEoAgAhAiABKAIMIgMEQCABIAM2AhAgAxCiGwsgARCiGyACIgENAAsLIAAoAgwhASAAQQA2AgwgAQRAIAEQohsLIAAoAgAiBARAAn8gBCAEIAAoAgQiAkYNABoDQCACQQxrIgEoAgAiAwRAIAJBCGsgAzYCACADEKIbCyABIQIgASAERw0ACyAAKAIACyEBIAAgBDYCBCABEKIbCyAAC3oBAn8gAEH01QY2AgAgACgCPCIBBEAgAEFAayABNgIAIAEQohsLIABBJGogACgCKBD/DyAAKAIEIgIEQAJ/IAIgAiAAKAIIIgFGDQAaA0AgAUHIAGsQsBEiASACRw0ACyAAKAIECyEBIAAgAjYCCCABEKIbCyAAEKIbC8QCAgd/AXwjAEHQAGsiBiQAAkAgACgCMCIBIAAoAggiAiAAKAIEIgRrQcgAbSIDSwRAIABBBGogASADaxCzEQwBCyABIANPDQAgBCABQcgAbGoiASACRwRAA0AgAkHIAGsQsBEiAiABRw0ACwsgACABNgIICyAAKAIwQQFOBEADQCAAKAIEIAVByABsaiIBIAZBCGogACgCICAAKAI0ELQRIgIQtREgAhCwERogACgCHCEEIAAoAhghByABQQxqAn8gACgCECIDIAEoAhhquEQzMzMzMzPzP6IiCEQAAAAAAADwQWMgCEQAAAAAAAAAAGZxBEAgCKsMAQtBAAsQnBFBACECIAMEQANAIAEgAiAEIAIgB2xqELYRIAJBAWoiAiADRw0ACwsgARC3ESAFQQFqIgUgACgCMEgNAAsLIAZB0ABqJAALkgQBBX8gASAAKAIIIgMgACgCBCICa0HIAG1NBEAgACABBH8gAiABQcgAbGohAwNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiADRw0ACyADBSACCzYCBA8LAkACQAJAIAIgACgCACIEa0HIAG0iBSABaiICQeTxuBxJBEAgBUHIAGwCf0EAIAIgAyAEa0HIAG0iA0EBdCIEIAIgBEsbQePxuBwgA0HxuJwOSRsiBUUNABogBUHk8bgcTw0CIAVByABsENUaCyIGaiIDIAFByABsaiEEIAMhAgNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiAERw0ACyAGIAVByABsaiEGIAAoAgQiAiAAKAIAIgFGDQIDQCADQcgAayIDIAJByABrIgIQwREgASACRw0ACyAAIAY2AgggACgCBCECIAAgBDYCBCAAKAIAIQEgACADNgIAIAEgAkYNAwNAIAJByABrELARIgIgAUcNAAsMAwsQ/BoA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CwNAIAIiASgCACICDQALCyABIAdHDQALCyAAQgA3AjAgAEEANgJUIABCADcCPCAAQgA3AkwgAEKAgICAgIAINwJEIAAgACkCDDcCKCADQYyiBi0AADoAOCADQQk6ADsgA0EAOgA5IANBhKIGKQAANwMwAkACQAJAAkAgACAFIAYgA0EwahCBECICRwR/IAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNASACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIABUEgCzYCWCADLAA7QX9MBEAgAygCMBCiGwsgA0EQENUaIgI2AiAgA0KMgICAgIKAgIB/NwIkIAJBADoADCACQaGiBigAADYACCACQZmiBikAADcAACAAIAUgBiADQSBqEIEQIgJHBH8gAigCHCIBIAEoAgAoAhwRAAAoAgRBrLMGRw0CIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgAFQQALNgJgIAMsACtBf0wEQCADKAIgEKIbCyADQQU6ABsgA0EAOgAVIANB/qEGKAAANgIQIANBgqIGLQAAOgAUIAACf0EEIAUgBiADQRBqEIEQIgJGDQAaIAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNAyACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIACzYCXCADLAAbQX9MBEAgAygCEBCiGwsgA0EAOgAJIANB6qIGLQAAOgAIIANBCToACyADQeKiBikAADcDACAAAn9B5AAgBSAGIAMQgRAiAkYNABogAigCHCIBIAEoAgAoAhwRAAAoAgRBgNMJKAIARw0EIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgALNgJkIAMsAAtBf0wEQCADKAIAEKIbC0HFDSECAkACQAJAAkACQCAAKAJgDgQEAwABAgtBxg0hAgwDC0HHDSECDAILQTwQFSICQczCBhCZECACQZCoBkHjBxAWAAtByA0hAgsgACACNgIEIABBADYCCCAAQX8gACgCXCIEQQJ0IARB/////wNxIARHGyICENUaIgE2AjAgACACENUaNgI0QQEhAgJAIARBAUgNACABQQA2AgAgACgCNEEANgIAIARBAUYNAANAIAJBAnQiASAAKAIwakEANgIAIAAoAjQgAWpBADYCACACQQFqIgIgBEcNAAsLIANBQGskAA8LQQEQFUGc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ACgCRCIDRQ0AIAAoAhAiBUEBSA0AQQAhBANAIAMgBEECdGooAgAiAwRAIAAgAxCbEiAAKAIQIQULIARBAWoiBCAFTg0BIAAoAkQhAwwACwALAkACQAJAAkACQCAAQQxqIgdBBEEBIAEQqBVBAUYEQCAAQRRqIghBBEEBIAEQqBVBAUcNASAAQegAakEEQQEgARCoFUEBRw0CIABBHGoiCUEEQQEgARCoFUEBRw0DIABBEGoiCkEEQQEgARCoFUEBRw0EIABBfyAAKAIQIgRBAnQgBEH/////A3EgBEcbENUaNgJIIARBAU4EQEEAIQMDQEF/IAAoAjwiBEECdCAEQf////8DcSAERxsQ1RohBiADQQJ0IgUgACgCSGogBjYCACAAKAJIIAVqKAIAQQQgBCABEKgVIARHDQcgACABIAAoAkQgBWogAxCjEiADQQFqIgMgACgCEEgNAAsLIAIgACAAKAIAKAIoEQAANgIQIAJBADoACSACQQhqIgNB/KEGLQAAOgAAIAJBCToACyACQfShBikAADcDACACIAI2AiAgAkEoaiAAQTBqIgQgAiACQSBqEJAQIAIoAihBHGogAkEQahCOECACLAALQX9MBEAgAigCABCiGwsgAkEAOgAJIANBjKIGLQAAOgAAIAJBCToACyACQYSiBikAADcDACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIAcQhhAgAiwAC0F/TARAIAIoAgAQohsLIAJBBToACyACQQA6AAUgAkH+oQYoAAA2AgAgAkGCogYtAAA6AAQgAiACNgIgIAJBKGogBCACIAJBIGoQkBAgAigCKEEcaiAKEIYQIAIsAAtBf0wEQCACKAIAEKIbCyACQZaiBi8AADsBCCACQYAUOwEKIAJBjqIGKQAANwMAIAIgAjYCICACQShqIAQgAiACQSBqEJAQIAIoAihBHGogCBCGECACLAALQX9MBEAgAigCABCiGwsgAkEQENUaIgM2AgAgAkKMgICAgIKAgIB/NwIEIANBADoADCADQaGiBigAADYACCADQZmiBikAADcAACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIABBGGoQkRAgAiwAC0F/TARAIAIoAgAQohsLIAJBADoACCACQuPE/crmjdmy+AA3AwAgAkEIOgALIAIg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IGoQugYhCiAFIAQ2AiQgBSABNgIgIAVCgICAgPj/////ADcDECAFQTBqIAggBUEgaiAFQRBqELoGIQEgACgCLCELIAVCADcDKCAFIAk2AiQgBUGAgIQINgIgIAUgCjYCFCAFQYCAhBA2AhAgBUIANwMYIAUgATYCBCAFQYCAhBA2AgAgBUIANwMIIAsgBUEgaiAFQRBqIAUgDCAGIAAoAiQgCygCACgCEBFDABogARCxBhogChCxBhogCRCxBhogBCIBIAUoAtACSA0ACwsgAEE0aiAHIAggAhDoEyAIELEGGiAHELEGGiAFQcgCahCxBhogBUGAA2okAAuXAQECfyAAQfycBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgJGDQAaA0AgAkEwaxDYCiICIAFHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiAkYNABoDQCACQThrELEGIgIgAUcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogAAvTAQECfyAAQaybBzYCNCAAQfCfBzYCACAAKAJwIgEEQCAAIAE2AnQgARCiGwsgAEE4ahCxBhoCQCAAKAIwIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAigiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCICIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDrExogAAsKACAAEOwTEKIbCxYAIABBhKYHNgIAIABBDGoQ7BMaIAALGQAgAEGEpgc2AgAgAEEMahDsExogABCiGwsWACAAQfimBzYCACAAQQxqEJ0QGiAACxkAIABB+KYHNgIAIABBDGoQnRAaIAAQohsLFQAgAEHopwc2AgAgAEEMahD+DyAACxgAIABB6KcHNgIAIABBDGoQ/g8gABCiGwsKACAAQQxqEP4PC1sBA3wgASsDCCECIAErAxAhAyABKwMAIQQgAEIANwNAIAAgBDkDOCAAQgA3AyAgACADOQMYIAAgAjkDECAAQgA3AwAgACACmjkDMCAAIASaOQMoIAAgA5o5AwgLhQIBCHwgACABKwMAIgIgAqIgASsDCCID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IABBDGoPCyADIAJB9LEHENUDAAvhAQEFfyMAQRBrIgUkAEEwENUaIgNCADcCBCADQYSqBzYCACABKAIEIQQgASgCCCEGIANBEGoiBxDjCxogA0IANwIcIANBiKsHNgIQQQAhASADQQA2AiQgAyACrEL/////DyACGzcDKCADIAY2AhggAyAENgIUIAVBADYCCCAFQgA3AwBBACECAkAgBARAIARBgICAgARPDQEgBEECdCIEENUaIgJBACAEEK8bIARqIQELIAMgATYCJCADIAE2AiAgAyACNgIcIAAgAzYCBCAAIAc2AgAgBUEQaiQADwsQ/BoAC3wBBH8gAEGktAc2AgwgAEGYswc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIABBDGoQ4wsaIAALfwEEfyAAQaS0BzYCDCAAQZizBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCEAshAiAAIAE2AhQgAhCiGwsgAEEMahDjCxogABCiGwtwAQR/IABBpLQHNgIAIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC3MBBH8gAEGktAc2AgAgACgCBCIBBEACfyABIAEgACgCCCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAgQLIQIgACABNgIIIAIQohsLIAAQ4wsaIAAQohsLDQAgACgCBCABQQxsagsVACAAQai2BzYCACAAQQxqEP4PIAALGAAgAEGotgc2AgAgAEEMahD+DyAAEKIbCxUAIABBpLcHNgIAIABBDGoQ/g8gAAsYACAAQaS3BzYCACAAQQxqEP4PIAAQohsL1wEBBH8gAEGguQc2AgwgAEGcuAc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsLIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAQQxqEOMLGiAACwoAIAAQkRQQohsLywEBBH8gAEGguQc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC84BAQR/IABBoLkHNgIAIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAKAIEIgEEQAJ/IAEgASAAKAIIIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogABCiGwsNACAAKAIQIAFBDGxqC4kBAQR/IABB9LsHNgIMIABB8LoHNgIAIAAoAhwiAQRAAn8gASABIAAoAiAiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIcCyECIAAgATYCICACEKIbCyAAQRBqIAAoAhQQlxQgAEEMahDjCxogAAs2ACABBEAgACABKAIAEJcUIAAgASgCBBCXFCABKAIgIgAEQCABIAA2AiQgABCiGwsgARCiGwsLjAEBBH8gAEH0uwc2AgwgAEHwugc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsL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OQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAJBmgVGDQAgAkEqRw0BCwJ/An8CfyABKAIIIgIEQCAAKAIoIAIgAxECACAAKAIcIQELIAEoAkQiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAkAiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAjgiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAAoAiggASAAKAIkEQIAIABBADYCHAsLmQIBA39BfiECAkAgAEUNACAAKAIgRQ0AIAAoAiRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCBCIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsgAEECNgIsIABBADYCCCAAQgA3AhQgAUEANgIUIAEgASgCCDYCECABKAIYIgJBf0wEQCABQQAgAmsiAjYCGAsgAUE5QSpB8QAgAhsgAkECRhs2AgQgAAJ/IAJBAkYEQEEAQQBBABCpFAwBC0EAQQBBABCnFAs2AjBBACECIAFBADYCKCABEMEUCyACC7cBAQJ/IAAQrBRFBEAgACgCHCIAIAAoAixBAXQ2AjwgACgCRCIBIAAoAkxBAXRBAmsiAmpBADsBACABQQAgAhCvGxogAEEANgK0LSAAQoCAgIAgNwJ0IABCADcCaCAAQoCAgIAgNwJcIABBADYCSCAAIAAoAoQBQQxsIgFB5P4Hai8BADYCkAEgACABQeD+B2ovAQA2AowBIAAgAUHi/gdqLwEANgKAASAAIAFB5v4Hai8BADYCfAsLoAYBCn8gACgCLCIHQYYCayEJIAAoAnQhBSAHIQEDQCAAKAI8IAVrIAAoAmwiCGshBiABIAlqIAhNBEAgACgCOCIBIAEgB2ogByAGaxCuGxogACAAKAJwIAdrNgJwIAAgACgCbCAHayIINgJsIAAgACgCXCAHazYCXCAAKAJEIAAoAkwiA0EBdGohASAAKAIsIQIDQCABQQJrIgFBACABLwEAIgQgAmsiBSAEIAVJGzsBACADQQFrIgMNAAsgACgCQCACQQF0aiEBIAIhAwNAIAFBAmsiAUEAIAEvAQAiBCACayIFIAQgBUkbOwEAIANBAWsiAw0ACyAGIAdqIQYLAkAgACgCACIBKAIEIgNFDQAgACgCdCEEIAYgAyADIAZLGyICBEAgACgCOCEFIAEgAyACazYCBCAFIAhqIARqIAEoAgAgAhCuGyEDAkACQAJAIAEoAhwoAhhBAWsOAgABAgsgASABKAIwIAMgAhCnFDYCMAwBCyABIAEoAjAgAyACEKkUNgIwCyABIAEoAgAgAmo2AgAgASABKAIIIAJqNgIIIAAoAnQhBAsgACACIARqIgU2AnQCQCAAKAK0LSICIAVqQQNJDQAgACAAKAI4IgYgACgCbCACayIBaiIDLQAAIgQ2AkggACAAKAJUIgogAy0AASAEIAAoAlgiCHRzcSIDNgJIA0AgAkUNASAAIAEgBmotAAIgAyAIdHMgCnEiAzYCSCAAKAJAIAAoAjQgAXFBAXRqIAAoAkQgA0EBdGoiBC8BADsBACAEIAE7AQAgACACQQFrIgI2ArQtIAFBAWohASACIAVqQQJLDQALCyAFQYUCSw0AIAAoAgAoAgRFDQAgACgCLCEBDAELCwJAIAAoAjwiAyAAKALALSIBTQ0AIAAoAnQgACgCbGoiAiABSwRAIAAoAjggAmpBACADIAJrIgFBggIgAUGCAkkbIgEQrxsaIAAgASACajYCwC0PCyACQYICaiICIAFNDQAgACgCOCABakEAIAMgAWsiAyACIAFrIgEgASADSxsiARCvGxogACAAKALALSABajYCwC0LC4M2AQp/QX4hAwJAIABFDQAgACgCIEUNACAAKAIkRQ0AIAAoAhwiAkUNACACKAIAIABHDQACQAJAIAIoAgQiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAFBBUsNAAJAAkAgACgCDEUNACAAKAIEIgMEQCAAKAIARQ0BCyABQQRGDQEgBEGaBUcNAQsgAEGgrggoAgA2AhhBfg8LIAAoAhBFBEAgAEGsrggoAgA2AhhBew8LIAIoAighBiACIAE2AigCQCACKAIUBEAgAhDEFAJAIAAoAhAiBCACKAIUIgUgBCAFSRsiA0UNACAAKAIMIAIoAhAgAxCuGxogACAAKAIMIANqNgIMIAIgAigCECADajYCECAAIAAoAhQgA2o2AhQgACAAKAIQIANrIgQ2AhAgAiACKAIUIANrIgU2AhQgBQ0AIAIgAigCCDYCEEEAIQULIAQEQCACKAIEIQQMAgsgAkF/NgIoQQAPCyADDQAgAUEERg0AIAFBAXRBd0EAIAFBBEobaiAGQQF0QXdBACAGQQRKG2pKDQAgAEGsrggoAgA2AhhBew8LAkACQAJAAkACfwJAAkACQAJAAkACQCAEQSpHBEAgBEGaBUcNASAAKAIERQ0CIABBrK4IKAIANgIYQXsPCyACKAIwQQx0QYDwAWshBEEAIQMCQCACKAKIAUEBSg0AIAIoAoQBIgZBAkgNAEHAACEDIAZBBkgNAEGAAUHAASAGQQZGGyEDCyACIAVBAWo2AhQgAigCCCAFaiADIARyIgNBIHIgAyACKAJsGyIDQQh2OgAAIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EfcCADckEfczoAACACKAJsBEAgACgCMCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EYdjoAACACIAIoAhQiBEEBajYCFCAEIAIoAghqIANBEHY6AAAgACgCMCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EIdjoAACACIAIoAhQiBEEBajYCFCAEIAIoAghqIAM6AAALIABBAEEAQQAQpxQ2AjAgAkHxADYCBCAAKAIcIgMQxBQCQCAAKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgACgCDCADKAIQIAQQrhsaIAAgACgCDCAEajYCDCADIAMoAhAgBGo2AhAgACAAKAIUIARqNgIUIAAgACgCECAEazYCECADIAMoAhQgBGsiBDYCFCAEDQAgAyADKAIINgIQCyACKAIUDQQgAigCBCEECwJAAkACQAJAAkACQAJAIARBOUYEfyAAQQBBAEEAEKkUNgIwIAIgAigCFCIDQQFqNgIUIAMgAigCCGpBHzoAACACIAIoAhQiA0EBajYCFCADIAIoAghqQYsBOgAAIAIgAigCFCIDQQFqNgIUIAMgAigCCGpBCDoAACACKAIcIgMNAiACIAIoAhQiA0EBajYCFCADIAIoAghqQQA6AAAgAiACKAIUIgNBAWo2AhQgAyACKAIIakEAOgAAIAIgAigCFCIDQQFqNgIUIAMgAigCCGpBADoAACACIAIoAhQiA0EBajYCFCADIAIoAghqQQA6AAAgAiACKAIUIgNBAWo2AhQgAyACKAIIakEAOgAAQQIhAyACKAKEASIEQQlHBEBBBCACKAKIAUEBSkECdCAEQQJIGyEDCyACIAIoAhQiBEEBajYCFCAEIAIoAghqIAM6AAAgAiACKAIUIgNBAWo2AhQgAyACKAIIakEDOgAAIAJB8QA2AgQgACgCHCIDEMQUAkAgACgCECIEIAMoAhQiBSAEIAVJGyIERQ0AIAAoAgwgAygCECAEEK4bGiAAIAAoAgwgBGo2AgwgAyADKAIQIARqNgIQIAAgACgCFCAEajYCFCAAIAAoAhAgBGs2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgAigCFA0BIAIoAgQFIAQLQcUAaw4jAgYGBgMGBgYGBgYGBgYGBgYGBgYGBgQGBgYGBgYGBgYGBgUGCyACQX82AihBAA8LIAMoAiQhBCADKAIcIQUgAygCECEGIAMoAiwhByADKAIAIQkgAiACKAIUIghBAWo2AhRBAiEDIAggAigCCGogB0EAR0EBdCAJQQBHciAGQQBHQQJ0ciAFQQBHQQN0ciAEQQBHQQR0cjoAACACKAIcKAIEIQQgAiACKAIUIgVBAWo2AhQgBSACKAIIaiAEOgAAIAIoAhwoAgQhBCACIAIoAhQiBUEBajYCFCAFIAIoAghqIARBCHY6AAAgAigCHC8BBiEEIAIgAigCFCIFQQFqNgIUIAUgAigCCGogBDoAACACKAIcLQAHIQQgAiACKAIUIgVBAWo2AhQgBSACKAIIaiAEOgAAIAIoAoQBIgRBCUcEQEEEIAIoAogBQQFKQQJ0IARBAkgbIQMLIAIgAigCFCIEQQFqNgIUIAQgAigCCGogAzoAACACKAIcKAIMIQMgAiACKAIUIgRBAWo2AhQgBCACKAIIaiADOgAAIAIoAhwiAygCEAR/IAMoAhQhAyACIAIoAhQiBEEBajYCFCAEIAIoAghqIAM6AAAgAigCHCgCFCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EIdjoAACACKAIcBSADCygCLARAIAAgACgCMCACKAIIIAIoAhQQqRQ2AjALIAJBxQA2AgQgAkEANgIgCyACKAIcIgUoAhAiBARAIAIoAhQiAyAFLwEUIAIoAiAiB2siBmogAigCDCIFSwRAA0AgAigCCCADaiAEIAdqIAUgA2siBRCuGxogAiACKAIMIgQ2AhQCQCADIARPDQAgAigCHCgCLEUNACAAIAAoAjAgAigCCCADaiAEIANrEKkUNgIwCyACIAIoAiAgBWo2AiAgACgCHCIDEMQUAkAgACgCECIEIAMoAhQiByAEIAdJGyIERQ0AIAAoAgwgAygCECAEEK4bGiAAIAAoAgwgBGo2AgwgAyADKAIQIARqNgIQIAAgACgCFCAEajYCFCAAIAAoAhAgBGs2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgAigCFARAIAJBfzYCKEEADwsgAigCICEHIAIoAhwoAhAhBEEAIQMgBiAFayIGIAIoAgwiBUsNAAsLIAIoAgggA2ogBCAHaiAGEK4bGiACIAIoAhQgBmoiBDYCFAJAIAMgBE8NACACKAIcKAIsRQ0AIAAgACgCMCACKAIIIANqIAQgA2sQqRQ2AjALIAJBADYCIAsgAkHJADYCBAsgAigCHCgCHARAIAIoAhQiAyEGA0ACQCADIAIoAgxHDQACQCADIAZNDQAgAigCHCgCLEUNACAAIAAoAjAgAigCCCAGaiADIAZrEKkUNgIwCyAAKAIcIgMQxBQCQCAAKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgACgCDCADKAIQIAQQrhsaIAAgACgCDCAEajYCDCADIAMoAhAgBGo2AhAgACAAKAIUIARqNgIUIAAgACgCECAEazYCECADIAMoAhQgBGsiBDYCFCAEDQAgAyADKAIINgIQC0EAIQNBACEGIAIoAhRFDQAgAkF/NgIoQQAPCyACKAIcKAIcIQQgAiACKAIgIgVBAWo2AiAgBCAFai0AACEEIAIgA0EBajYCFCACKAIIIANqIAQ6AAAgBARAIAIoAhQhAwwBCwsCQCACKAIcKAIsRQ0AIAIoAhQiAyAGTQ0AIAAgACgCMCACKAIIIAZqIAMgBmsQqRQ2AjALIAJBADYCIAsgAkHbADYCBAsCQCACKAIcKAIkRQ0AIAIoAhQiAyEGA0ACQCADIAIoAgxHDQACQCADIAZNDQAgAigCHCgCLEUNACAAIAAoAjAgAigCCCAGaiADIAZrEKkUNgIwCyAAKAIcIgMQxBQCQCAAKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgACgCDCADKAIQIAQQrhsaIAAgACgCDCAEajYCDCADIAMoAhAgBGo2AhAgACAAKAIUIARqNgIUIAAgACgCECAEazYCECADIAMoAhQgBGsiBDYCFCAEDQAgAyADKAIINgIQC0EAIQNBACEGIAIoAhRFDQAgAkF/NgIoQQAPCyACKAIcKAIkIQQgAiACKAIgIgVBAWo2AiAgBCAFai0AACEEIAIgA0EBajYCFCACKAIIIANqIAQ6AAAgBARAIAIoAhQhAwwBCwsgAigCHCgCLEUNACACKAIUIgMgBk0NACAAIAAoAjAgAigCCCAGaiADIAZrEKkUNgIwCyACQecANgIECyACKAIcKAIsBEAgAigCDCACKAIUIgNBAmpJBEAgACgCHCIDEMQUAkAgACgCECIEIAMoAhQiBSAEIAVJGyIERQ0AIAAoAgwgAygCECAEEK4bGiAAIAAoAgwgBGo2AgwgAyADKAIQIARqNgIQIAAgACgCFCAEajYCFCAAIAAoAhAgBGs2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgAigCFA0FQQAhAwsgACgCMCEEIAIgA0EBajYCFCACKAIIIANqIAQ6AAAgACgCMCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EIdjoAACAAQQBBAEEAEKkUNgIwCyACQfEANgIEIAAoAhwiAxDEFAJAIAAoAhAiBCADKAIUIgUgBCAFSRsiBEUNACAAKAIMIAMoAhAgBBCuGxogACAAKAIMIARqNgIMIAMgAygCECAEajYCECAAIAAoAhQgBGo2AhQgACAAKAIQIARrNgIQIAMgAygCFCAEayIENgIUIAQNACADIAMoAgg2AhALIAIoAhRFDQAgAkF/NgIoQQAPCyAAKAIEDQELIAIoAnQNACABRQ0IIAIoAgRBmgVGDQgLIAIoAoQBIgNFBEAgAiABELAUDAQLAkACQCACKAKIAUECaw4CAAEECwNAAkACQCACKAJ0DQAgAhCuFCACKAJ0DQAgAUUNCEEAIQMgAkEANgK0LSABQQRHDQEgAiACKAJcIgRBAE4EfyACKAI4IARqBSADCyACKAJsIARrQQEQxhQgAiACKAJsNgJcIAIoAgAiAygCHCIEEMQUAkAgAygCECIFIAQoAhQiBiAFIAZJGyIFRQ0AIAMoAgwgBCgCECAFEK4bGiADIAMoAgwgBWo2AgwgBCAEKAIQIAVqNgIQIAMgAygCFCAFajYCFCADIAMoAhAgBWs2AhAgBCAEKAIUIAVrIgM2AhQgAw0AIAQgBCgCCDYCEAtBA0ECIAIoAgAoAhAbDAcLIAJBADYCYCACKAI4IAIoAmxqLQAAIQMgAigCpC0gAigCoC0iBEEBdGpBADsBACACIARBAWo2AqAtIAQgAigCmC1qIAM6AAAgAiADQQJ0akGUAWoiAyADLwEAQQFqOwEAIAIgAigCdEEBazYCdCACIAIoAmxBAWoiAzYCbCACKAKgLSACKAKcLUEBa0cNAUEAIQQgAiACKAJcIgVBAE4EfyACKAI4IAVqBSAECyADIAVrQQAQxhQgAiACKAJsNgJcIAIoAgAiAygCHCIEEMQUAkAgAygCECIFIAQoAhQiBiAFIAZJGyIFRQ0AIAMoAgwgBCgCECAFEK4bGiADIAMoAgwgBWo2AgwgBCAEKAIQIAVqNgIQIAMgAygCFCAFajYCFCADIAMoAhAgBWs2AhAgBCAEKAIUIAVrIgM2AhQgAw0AIAQgBCgCCDYCEAsgAigCACgCEA0BDAcLCyACKAKgLUUNByACIAIoAlwiBEEATgR/IAIoAjggBGoFIAMLIAIoAmwgBGtBABDGFCACIAIoAmw2AlwgAigCACIDKAIcIgQQxBQCQCADKAIQIgUgBCgCFCIGIAUgBkkbIgVFDQAgAygCDCAEKAIQIAUQrhsaIAMgAygCDCAFajYCDCAEIAQoAhAgBWo2AhAgAyADKAIUIAVqNgIUIAMgAygCECAFazYCECAEIAQoAhQgBWsiAzYCFCADDQAgBCAEKAIINgIQCyACKAIAKAIQRQ0FDAcLA0ACQAJAAkAgAigCdCIDQYMCTwRAIAJBADYCYAwBCyACEK4UIAFFQQAgAigCdCIDQYMCSRsNCCADBEAgAkEANgJgIANBAksNASACKAJsIQQMAgtBACEDIAJBADYCtC0gAUEERgRAIAIgAigCXCIEQQBOBH8gAigCOCAEagUgAwsgAigCbCAEa0EBEMYUIAIgAigCbDYCXCACKAIAIgMoAhwiBBDEFAJAIAMoAhAiBSAEKAIUIgYgBSAGSRsiBUUNACADKAIMIAQoAhAgBRCuGxogAyADKAIMIAVqNgIMIAQgBCgCECAFajYCECADIAMoAhQgBWo2AhQgAyADKAIQIAVrNgIQIAQgBCgCFCAFayIDNgIUIAMNACAEIAQoAgg2AhALQQNBAiACKAIAKAIQGwwICyACKAKgLUUNCiACIAIoAlwiBEEATgR/IAIoAjggBGoFIAMLIAIoAmwgBGtBABDGFCACIAIoAmw2AlwgAigCACIDKAIcIgQQxBQCQCADKAIQIgUgBCgCFCIGIAUgBkkbIgVFDQAgAygCDCAEKAIQIAUQrhsaIAMgAygCDCAFajYCDCAEIAQoAhAgBWo2AhAgAyADKAIUIAVqNgIUIAMgAygCECAFazYCECAEIAQoAhQgBWsiAzYCFCADDQAgBCAEKAIINgIQCyACKAIAKAIQRQ0IDAoLIAIoAmwiBEUEQEEAIQQMAQsgAigCOCAEaiIHQQFrIgYtAAAiBSAHLQAARw0AIAUgBi0AAkcNACAFIAYtAANHDQAgB0GCAmohCkF/IQkCQAJAAkACQAJAAkADQCAHIAlqIgYtAAQgBUYEQCAFIAYtAAVHDQIgBSAGLQAGRw0DIAUgBi0AB0cNBCAFIAcgCUEIaiILaiIILQAARw0HIAUgBi0ACUcNBSAFIAYtAApHDQYgBkELaiEIIAlB9gFKDQcgCyEJIAUgCC0AAEYNAQwHCwsgBkEEaiEIDAULIAZBBWohCAwECyAGQQZqIQgMAwsgBkEHaiEIDAILIAZBCWohCAwBCyAGQQpqIQgLIAIgAyAIIAprQYICaiIFIAMgBUkbIgM2AmAgA0EDSQ0AIAIoAqQtIAIoAqAtIgRBAXRqQQE7AQAgAiAEQQFqNgKgLSAEIAIoApgtaiADQQNrIgM6AAAgA0H/AXFB8JsIai0AAEECdCACakGYCWoiAyADLwEAQQFqOwEAIAJB8JcILQAAQQJ0akGIE2oiAyADLwEAQQFqOwEAIAIoAmAhAyACQQA2AmAgAiACKAJ0IANrNgJ0IAIgAyACKAJsaiIDNgJsIAIoAqAtIAIoApwtQQFrRw0CDAELIAIoAjggBGotAAAhAyACKAKkLSACKAKgLSIEQQF0akEAOwEAIAIgBEEBajYCoC0gBCACKAKYLWogAzoAACACIANBAnRqQZQBaiIDIAMvAQBBAWo7AQAgAiACKAJ0QQFrNgJ0IAIgAigCbEEBaiIDNgJsIAIoAqAtIAIoApwtQQFrRw0BC0EAIQQgAiACKAJcIgVBAE4EfyACKAI4IAVqBSAECyADIAVrQQAQxhQgAiACKAJsNgJcIAIoAgAiAygCHCIEEMQUAkAgAygCECIFIAQoAhQiBiAFIAZJGyIFRQ0AIAMoAgwgBCgCECAFEK4bGiADIAMoAgwgBWo2AgwgBCAEKAIQIAVqNgIQIAMgAygCFCAFajYCFCADIAMoAhAgBWs2AhAgBCAEKAIUIAVrIgM2AhQgAw0AIAQgBCgCCDYCEAsgAigCACgCEA0ACwwECyACQX82AihBAA8LIAJBfzYCKEEADwsgAiABIANBDGxB6P4HaigCABEDAAsiA0F+cUECRgRAIAJBmgU2AgQLIANBfXENAQtBACEDIAAoAhANAyACQX82AihBAA8LIANBAUcNAQsCQAJAAkAgAUEBaw4FAAEBAQIBCyACEMUUDAELIAJBAEEAQQAQwxQgAUEDRw0AIAIoAkQiAyACKAJMQQF0QQJrIgRqQQA7AQAgA0EAIAQQrxsaIAIoAnQNACACQQA2ArQtIAJBADYCXCACQQA2AmwLIAAoAhwiAxDEFAJAIAAoAhAiBSADKAIUIgQgBCAFSxsiBEUNACAAKAIMIAMoAhAgBBCuGxogACAAKAIMIARqNgIMIAMgAygCECAEajYCECAAIAAoAhQgBGo2AhQgACAAKAIQIARrIgU2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgBQ0AIAJBfzYCKEEADwtBACEDIAFBBEcNAEEBIQMgAigCGCIBQQFIDQAgACgCMCEDAn8gAUECRgRAIAIgAigCFCIBQQFqNgIUIAEgAigCCGogAzoAACAAKAIwIQMgAiACKAIUIgFBAWo2AhQgASACKAIIaiADQQh2OgAAIAAvATIhAyACIAIoAhQiAUEBajYCFCABIAIoAghqIAM6AAAgAC0AMyEDIAIgAigCFCIBQQFqNgIUIAEgAigCCGogAzoAACAAKAIIIQMgAiACKAIUIgFBAWo2AhQgASACKAIIaiADOgAAIAAoAgghAyACIAIoAhQiAUEBajYCFCABIAIoAghqIANBCHY6AAAgAC8BCiEDIAIgAigCFCIBQQFqNgIUIAEgAigCCGogAzoAACAALQALIQMgAiACKAIUIgFBAWo2AhQgASACKAIIagwBCyACIAIoAhQiAUEBajYCFCABIAIoAghqIANBGHY6AAAgAiACKAIUIgFBAWo2AhQgASACKAIIaiADQRB2OgAAIAAoAjAhAyACIAIoAhQiAUEBajYCFCABIAIoAghqIANBCHY6AAAgAiACKAIUIgFBAWo2AhQgASACKAIIagsgAzoAACAAKAIcIgMQxBQCQCAAKAIQIgEgAygCFCIEIAEgBEkbIgFFDQAgACgCDCADKAIQIAEQrhsaIAAgACgCDCABajYCDCADIAMoAhAgAWo2AhAgACAAKAIUIAFqNgIUIAAgACgCECABazYCECADIAMoAhQgAWsiADYCFCAADQAgAyADKAIINgIQCyACKAIYIgBBAU4EQCACQQAgAGs2AhgLIAIoAhRFIQMLIAMLxw0BC38gACgCACIEKAIEIQlBASEIAkAgBCgCECIDIAAoArwtQSpqQQN1IgJJDQAgACgCLCIFIAAoAgxBBWsiBiAFIAZJGyEKIAFBBEchCwNAIAogAyACayIDIAAoAmwgACgCXGsiBiAEKAIEaiICQf//AyACQf//A0kbIgUgAyAFSRsiA0sEQCACIANHDQIgAUUNAiALIANFcQ0CCyAAQQBBACABQQRGIAIgA0ZxIgcQwxQgACgCFCAAKAIIakEEayADOgAAIAAoAhQgACgCCGpBA2sgA0EIdjoAACAAKAIUIAAoAghqQQJrIANBf3MiAjoAACAAKAIUIAAoAghqQQFrIAJBCHY6AAAgACgCACICKAIcIgQQxBQCQCACKAIQIgUgBCgCFCIMIAUgDEkbIgVFDQAgAigCDCAEKAIQIAUQrhsaIAIgAigCDCAFajYCDCAEIAQoAhAgBWo2AhAgAiACKAIUIAVqNgIUIAIgAigCECAFazYCECAEIAQoAhQgBWsiAjYCFCACDQAgBCAEKAIINgIQCwJ/IAYEQCAAKAIAKAIMIAAoAjggACgCXGogAyAGIAMgBkkbIgIQrhsaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJcIAJqNgJcIAMgAmshAwsgAwsEQCAAKAIAIgIoAgwhBSADIAIoAgQiBiADIAZJGyIEBEAgAiAGIARrNgIEIAUgAigCACAEEK4bIQUCQAJAAkAgAigCHCgCGEEBaw4CAAECCyACIAIoAjAgBSAEEKcUNgIwDAELIAIgAigCMCAFIAQQqRQ2AjALIAIgAigCACAEajYCACACIAIoAgggBGo2AgggACgCACICKAIMIQULIAIgAyAFajYCDCACIAIoAhAgA2s2AhAgAiACKAIUIANqNgIUCyAAKAIAIQQgBwRAQQAhCAwCCyAEKAIQIgMgACgCvC1BKmpBA3UiAk8NAAsLAkAgCSAEKAIEayIDRQRAIAAoAmwhAgwBCwJAIAAoAiwiAiADTQRAIABBAjYCsC0gACgCOCAEKAIAIAJrIAIQrhsaIAAgACgCLCIENgJsIAQhAgwBCwJAIAAoAjwgACgCbCIEayADSw0AIAAgBCACayIENgJsIAAoAjgiBSACIAVqIAQQrhsaIAAoArAtIgJBAUsNACAAIAJBAWo2ArAtCyAAKAI4IAAoAmxqIAAoAgAoAgAgA2sgAxCuGxogACAAKAJsIANqIgI2AmwgACgCLCEECyAAIAI2AlwgACAEIAAoArQtIgVrIgQgAyADIARLGyAFajYCtC0LIAIgACgCwC1LBEAgACACNgLALQtBAyEDAkAgCEUNACAAKAIAIgQoAgQhAwJAAkAgAUF7cUUNACADDQBBASEDIAIgACgCXEYNAiAAKAI8IAJBf3NqIQVBACEDDAELIAMgACgCPCACQX9zaiIFTQ0AIAAoAlwiByAAKAIsIgZIDQAgACACIAZrIgM2AmwgACAHIAZrNgJcIAAoAjgiAiACIAZqIAMQrhsaIAAoArAtIgNBAU0EQCAAIANBAWo2ArAtCyAAKAIsIAVqIQUgACgCACIEKAIEIQMLAkAgAyAFIAMgBUkbIgJFBEAgACgCbCEDDAELIAAoAmwhBSAAKAI4IQYgBCADIAJrNgIEIAUgBmogBCgCACACEK4bIQMCQAJAAkAgBCgCHCgCGEEBaw4CAAECCyAEIAQoAjAgAyACEKcUNgIwDAELIAQgBCgCMCADIAIQqRQ2AjALIAQgBCgCACACajYCACAEIAQoAgggAmo2AgggACAAKAJsIAJqIgM2AmwLIAMgACgCwC1LBEAgACADNgLALQsgAyAAKAJcIgZrIgQgACgCLCIDIAAoAgwgACgCvC1BKmpBA3VrIgJB//8DIAJB//8DSRsiAiACIANLG0kEQEEAIQMgAUUNASABQQRGIARBAEdyRQ0BIAIgBEkNASAAKAIAKAIEDQELQQAhBSAAIAAoAjggBmogAiAEIAIgBEkbIgMCfyABQQRGBEAgACgCACgCBEUgAiAET3EhBQsgBQsQwxQgACAAKAJcIANqNgJcIAAoAgAiACgCHCIDEMQUAkAgACgCECICIAMoAhQiBCACIARJGyICRQ0AIAAoAgwgAygCECACEK4bGiAAIAAoAgwgAmo2AgwgAyADKAIQIAJqNgIQIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgAyADKAIUIAJrIgA2AhQgAA0AIAMgAygCCDYCEAtBAkEAIAUbIQMLIAMLxAsBDX8CQANAAkACQCAAKAJ0QYUCTQRAIAAQrhQgACgCdCECAkAgAQ0AIAJBhgJPDQBBAA8LIAJFDQQgAkEDSQ0BCyAAIAAoAlQgACgCbCICIAAoAjhqLQACIAAoAkggACgCWHRzcSIDNgJIIAAoAkAgAiAAKAI0cUEBdGogACgCRCADQQF0aiIELwEAIgM7AQAgBCACOwEAIANFDQAgACgCLEGGAmsgAiADa0kNACAAIAAgAxCyFCICNgJgDAELIAAoAmAhAgsCQCACQQNPBEAgACgCpC0gACgCoC0iA0EBdGogACgCbCAAKAJwayIEOwEAIAAgA0EBajYCoC0gAyAAKAKYLWogAkEDayICOgAAIAJB/wFxQfCbCGotAABBAnQgAGpBmAlqIgIgAi8BAEEBajsBACAAIARBAWtB//8DcSICIAJBB3ZBgAJqIAJBgAJJG0HwlwhqLQAAQQJ0akGIE2oiAiACLwEAQQFqOwEAIAAgACgCdCAAKAJgIgJrIgM2AnQgACgCnC1BAWshBiAAKAKgLSEHAkAgA0EDSQ0AIAIgACgCgAFLDQAgACACQQFrIgM2AmAgACgCSCEEIAAoAmwhAiAAKAI0IQggACgCQCEJIAAoAkQhCiAAKAJUIQsgACgCOCEMIAAoAlghDQNAIAAgAiIFQQFqIgI2AmwgACAFIAxqLQADIAQgDXRzIAtxIgQ2AkggCSACIAhxQQF0aiAKIARBAXRqIg4vAQA7AQAgDiACOwEAIAAgA0EBayIDNgJgIAMNAAsgACAFQQJqIgI2AmwgBiAHRw0DDAILIABBADYCYCAAIAAoAmwgAmoiAjYCbCAAIAAoAjggAmoiAy0AACIENgJIIAAgACgCVCADLQABIAQgACgCWHRzcTYCSCAGIAdHDQIMAQsgACgCOCAAKAJsai0AACECIAAoAqQtIAAoAqAtIgNBAXRqQQA7AQAgACADQQFqNgKgLSADIAAoApgtaiACOgAAIAAgAkECdGpBlAFqIgIgAi8BAEEBajsBACAAIAAoAnRBAWs2AnQgACAAKAJsQQFqIgI2AmwgACgCoC0gACgCnC1BAWtHDQELQQAhAyAAIAAoAlwiBEEATgR/IAAoAjggBGoFIAMLIAIgBGtBABDGFCAAIAAoAmw2AlwgACgCACICKAIcIgMQxBQCQCACKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgAigCDCADKAIQIAQQrhsaIAIgAigCDCAEajYCDCADIAMoAhAgBGo2AhAgAiACKAIUIARqNgIUIAIgAigCECAEazYCECADIAMoAhQgBGsiAjYCFCACDQAgAyADKAIINgIQCyAAKAIAKAIQDQALQQAPCyAAIAAoAmwiAkECIAJBAkkbNgK0LSABQQRGBEBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EBEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALQQNBAiAAKAIAKAIQGw8LAkAgACgCoC1FDQBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EAEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALIAAoAgAoAhANAEEADwtBAQukBAEQfyAAKAJ8IgMgA0ECdiAAKAJ4IgQgACgCjAFJGyEJQQAgACgCbCIDIAAoAixrQYYCaiICIAIgA0sbIQwgACgCdCIHIAAoApABIgIgAiAHSxshDSAAKAI4Ig4gA2oiBUGCAmohDyAEIAVqIgMtAAAhCiADQQFrLQAAIQsgACgCNCEQIAAoAkAhEQNAAkACQCABIA5qIgMgBGoiAi0AACAKRw0AIAJBAWstAAAgC0cNACADLQAAIAUtAABHDQBBAiEGIAMtAAEgBS0AAUcNAAJAAkACQAJAAkACQAJAA0AgBSAGaiICLQABIAMtAANHDQYgAi0AAiADLQAERw0FIAItAAMgAy0ABUcNBCACLQAEIAMtAAZHDQMgAi0ABSADLQAHRw0CIAItAAYgAy0ACEcNASACLQAHIAMtAAlGBEAgBkH5AUshCCAFIAZBCGoiBmohAiAIDQggAy0ACiEIIANBCGohAyACLQAAIAhGDQEMCAsLIAJBB2ohAgwGCyACQQZqIQIMBQsgAkEFaiECDAQLIAJBBGohAgwDCyACQQNqIQIMAgsgAkECaiECDAELIAJBAWohAgsgAiAPayICQYICaiIDIARMDQAgACABNgJwIAMgDU4EQCADIQQMAgsgAyAFai0AACEKIAIgBWotAIECIQsgAyEECyAJQQFrIglFDQAgDCARIAEgEHFBAXRqLwEAIgFJDQELCyAHIAQgBCAHSxsL6w4BB38DQAJAAkACQCAAKAJ0QYUCSw0AIAAQrhQgACgCdCECAkAgAQ0AIAJBhgJPDQBBAA8LIAJFDQIgAkECSw0AIAAgACgCYCICNgJ4IAAgACgCcDYCZEECIQMgAEECNgJgDAELQQIhAyAAIAAoAlQgACgCbCICIAAoAjhqLQACIAAoAkggACgCWHRzcSIENgJIIAAoAkAgAiAAKAI0cUEBdGogACgCRCAEQQF0aiIFLwEAIgQ7AQAgBSACOwEAIAAgACgCYCICNgJ4IAAgACgCcDYCZCAAQQI2AmAgBEUNAAJAIAIgACgCgAFPDQAgACgCLEGGAmsgACgCbCAEa0kNACAAIAAgBBCyFCIDNgJgIANBBUsNACAAKAKIAUEBRwRAIANBA0cNAUEDIQMgACgCbCAAKAJwa0GBIEkNAQtBAiEDIABBAjYCYAsgACgCeCECCwJAIAJBA0kNACACIANJDQAgACgCdCEEIAAoAqQtIAAoAqAtIgNBAXRqIAAoAmwiBSAAKAJkQX9zaiIGOwEAIAAgA0EBajYCoC0gAyAAKAKYLWogAkEDayICOgAAIAJB/wFxQfCbCGotAABBAnQgAGpBmAlqIgIgAi8BAEEBajsBACAAIAZBAWtB//8DcSICIAJBB3ZBgAJqIAJBgAJJG0HwlwhqLQAAQQJ0akGIE2oiAiACLwEAQQFqOwEAIAAgACgCeCICQQJrIgM2AnggACAAKAJ0IAJrQQFqNgJ0IAQgBWpBA2shBSAAKAKcLUEBayEHIAAoAmwhAiAAKAKgLSEIA0AgACACIgRBAWoiAjYCbCACIAVNBEAgACAAKAJUIAQgACgCOGotAAMgACgCSCAAKAJYdHNxIgY2AkggACgCQCAAKAI0IAJxQQF0aiAAKAJEIAZBAXRqIgYvAQA7AQAgBiACOwEACyAAIANBAWsiAzYCeCADDQALIABBAjYCYCAAQQA2AmggACAEQQJqIgI2AmwgByAIRw0CQQAhAyAAIAAoAlwiBEEATgR/IAAoAjggBGoFIAMLIAIgBGtBABDGFCAAIAAoAmw2AlwgACgCACICKAIcIgMQxBQCQCACKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgAigCDCADKAIQIAQQrhsaIAIgAigCDCAEajYCDCADIAMoAhAgBGo2AhAgAiACKAIUIARqNgIUIAIgAigCECAEazYCECADIAMoAhQgBGsiAjYCFCACDQAgAyADKAIINgIQCyAAKAIAKAIQDQJBAA8LIAAoAmgEQCAAKAJsIAAoAjhqQQFrLQAAIQIgACgCpC0gACgCoC0iA0EBdGpBADsBACAAIANBAWo2AqAtIAMgACgCmC1qIAI6AAAgACACQQJ0akGUAWoiAiACLwEAQQFqOwEAAkAgACgCoC0gACgCnC1BAWtHDQBBACEDIAAgACgCXCICQQBOBH8gACgCOCACagUgAwsgACgCbCACa0EAEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFCACKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgAigCDCADKAIQIAQQrhsaIAIgAigCDCAEajYCDCADIAMoAhAgBGo2AhAgAiACKAIUIARqNgIUIAIgAigCECAEazYCECADIAMoAhQgBGsiAjYCFCACDQAgAyADKAIINgIQCyAAIAAoAmxBAWo2AmwgACAAKAJ0QQFrNgJ0IAAoAgAoAhANAkEADwUgAEEBNgJoIAAgACgCbEEBajYCbCAAIAAoAnRBAWs2AnQMAgsACwsgACgCaARAIAAoAmwgACgCOGpBAWstAAAhAiAAKAKkLSAAKAKgLSIDQQF0akEAOwEAIAAgA0EBajYCoC0gAyAAKAKYLWogAjoAACAAIAJBAnRqQZQBaiICIAIvAQBBAWo7AQAgAEEANgJoCyAAIAAoAmwiAkECIAJBAkkbNgK0LSABQQRGBEBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EBEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALQQNBAiAAKAIAKAIQGw8LAkAgACgCoC1FDQBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EAEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALIAAoAgAoAhANAEEADwtBAQuQAwIDfwJ+AkAgAkUNACAAKAIcRQRAIAAQtRRBf0YNAQsCQCAAKAJYRQ0AIABBADYCWCAAKQNQIQYgACgCaARAIABBABC2FEF/Rg0CCyAGUA0AA0AgBqcgACgCHCIDIAYgA61TGyEDIARBAXFFBEAgACgCJEEAIAMQrxsaCyAAIAM2AmggACAAKAIkNgJkIAAgA60iByAAKQMIfDcDCCAAQQAQthRBf0YNAkEBIQQgBiAHfSIGUEUNAAsLIAIgACgCHEkEQCACIQQDQAJ/IAAoAmgiAgRAIAAoAiQhAyAAKAJkDAELIAAgACgCJCIDNgJkIAMLIQUgAiAFaiICIAEgBCAAKAIcIAMgAmtqIgMgAyAESxsiAxCuGxogACADIAAoAmhqNgJoIAAgACkDCCADrXw3AwggBCADayIERQRADwsgASADaiEBIABBABC2FEF/Rw0ACwwBCyAAKAJoBEAgAEEAELYUQX9GDQELIAAgAjYCaCAAIAE2AmQgACAAKQMIIAKtfDcDCCAAQQAQthQaCwvfAQECfyAAIAAoAiAiAkEBdBChGyIBNgIkIAFFBEAgAEF8Qdj/BxCgFEF/DwsgACgCLARAIAAgAjYCHEEADwsgACACEKEbIgI2AiggAkUEQCABEKIbIABBfEHY/wcQoBRBfw8LIABBADYCjAEgAEIANwKEASAAQeQAaiAAKAJIIAAoAkwQqhQEQCAAKAIoEKIbIAAoAiQQohsgAEF8Qdj/BxCgFEF/DwsgAEEANgJkIAAgACgCICIBNgIcIAAoAixFBEAgACABNgJ0IAAgACgCKCIBNgJwIAAgATYCBAtBAAulAwEGfwJAIAAoAhxFBEBBfyEEIAAQtRRBf0YNAQsgACgCLARAQQAhBCAAKAJoIgJFDQEgACgCZCEDA0AgACgCFCADIAJBgICAgAQgAkGAgICABEkbEO8UIgNBf0wEQCAAQX9BxP0KKAIAEO4UEKAUQX8PCyAAIAAoAmggA2siAjYCaCAAIAAoAmQgA2oiAzYCZCACDQALDAELIABB5ABqIQUgACgCdCEEIAFBBEchBgNAAkAgBARAIAFFDQEgBiAHQQFGckUNAQsgACgCcCIDIAAoAgQiAksEQANAIAAoAhQgAiADIAJrIgNBgICAgAQgA0GAgICABEgbEO8UIgJBf0wEQCAAQX9BxP0KKAIAEO4UEKAUQX8PCyAAIAAoAgQgAmoiAjYCBCAAKAJwIgMgAksNAAsgACgCdCEECyAEDQAgACAAKAIcIgQ2AnQgACAAKAIoIgI2AnAgACACNgIECyAFIAEQrxQiB0F+RgRAIABBfkHt/wcQoBRBfw8LIAQgACgCdCICRyEDIAIhBCADDQALQQAhBCABQQRHDQAgBRCtFAsgBAspAAJAIABFDQAgACgCEEGx8wFHDQAgACgCXA0AIAAgASABELgbELQUCwuiAgICfwJ+AkAgAEUNACAAKAIQQbHzAUcNAAJAIAAoAlhFBEAMAQsgAEEANgJYIAApA1AhAwJAIAAoAmgEQCAAQQAQthRBf0YNAQsgA1ANAQNAIAOnIAAoAhwiASADIAGtUxshASACRQRAIAAoAiRBACABEK8bGgsgACABNgJoIAAgACgCJDYCZCAAIAGtIgQgACkDCHw3AwggAEEAELYUQX9GDQFBASECIAMgBH0iA1BFDQALQQAhAQwBCyAAKAJcIQELIABBBBC2FEF/RgR/IAAoAlwFIAELGiAAKAIcBEAgACgCLEUEQCAAQeQAahCrFCAAKAIoEKIbCyAAKAIkEKIbCyAAQQBBABCgFCAAKAIYEKIbIAAoAhQQ8RQgABCiGwsLxAEBAn8CQCAARQ0AIAAoAiBFDQAgACgCJEUNACAAKAIcIgFFDQAgASgCACAARw0AIAEoAgRBtP4Aa0EfSw0AIAFBADYCNCABQgA3AiwgAUEANgIgIABBADYCCCAAQgA3AhQgASgCDCICBEAgACACQQFxNgIwCyABQgA3AjwgAUEANgIkIAFBgIACNgIYIAFBADYCECABQrT+ADcCBCABQoGAgIBwNwLENyABIAFBtApqIgA2AnAgASAANgJUIAEgADYCUAsL0gIBBH9BfiEDAkAgAEUNACAAKAIgRQ0AIAAoAiQiBEUNACAAKAIcIgJFDQAgAigCACAARw0AIAIoAgRBtP4Aa0EfSw0AAkACQCACKAI4IgEEQCACKAIoQQ9HDQELIAJBDzYCKCACQQY2AgwMAQsgACgCKCABIAQRAgAgAkEANgI4IAAoAiAhASACQQ82AiggAkEGNgIMIAFFDQELIAAoAiRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNACABKAIEQbT+AGtBH0sNAEEAIQMgAUEANgI0IAFCADcCLCABQQA2AiAgAEEANgIIIABCADcCFCABKAIMIgIEQCAAIAJBAXE2AjALIAFCADcCPCABQQA2AiQgAUGAgAI2AhggAUEANgIQIAFCtP4ANwIEIAFCgYCAgHA3AsQ3IAEgAUG0CmoiADYCcCABIAA2AlQgASAANgJQCyADC7gBAQJ/An9BekHXvgctAABBMUcNABogAEUEQEF+DwsgAEEANgIYIAAoAiAiAUUEQCAAQQA2AiggAEH0ETYCIEH0ESEBCyAAKAIkRQRAIABB9RE2AiQLIAAoAihBAUHQNyABEQUAIgFFBEBBfA8LIAAgATYCHCABQQA2AjggASAANgIAIAFBATYCHCABQbT+ADYCBEEAIAAQuhQiAkUNABogACgCKCABIAAoAiQRAgAgAEEANgIcIAILC486AR9/IwBBEGsiEyQAQX4hFAJAIABFDQAgACgCIEUNACAAKAIkRQ0AIAAoAhwiAkUNACACKAIAIABHDQAgAigCBCIBQbT+AGtBH0sNACAAKAIMIhBFDQAgACgCACIHRQRAIAAoAgQNAQsgAkEEaiEJIAFBv/4ARgRAIAlBwP4ANgIAQcD+ACEBCyACQdwAaiEdIAJB9AVqIRkgAkH0AGohGyACQdgAaiEcIAJB8ABqIRogAkG0CmohGCACQRxqIQ4gAigCQCEDIAIoAjwhBCAAKAIEIh4hBSAAKAIQIg0hFgJAA0ACQEF9IQZBASEIAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQbT+AGsOHwQFBgkMMjM0NQ8QERESExQVFgIaGwEnACkcHQM4PkBBCyACKAJMIQgMJwsgAigCTCEIDCQLIAIoAmwhCAwWCyACKAIMIQYMNwsgAigCDCIGRQ0ZIANBEEkEQANAIAVFDTkgBUEBayEFIActAAAgA3QgBGohBCADQQhJIQEgA0EIaiEDIAdBAWohByABDQALCwJAIAZBAnFFDQAgBEGflgJHDQAgAigCKEUEQCACQQ82AigLQQAhBCAOQQBBAEEAEKkUIgM2AgAgE0GflgI7AAwgDiADIBNBDGpBAhCpFDYCACAJQbX+ADYCAEEAIQMgCSgCACEBDDsLIAJBADYCFCACKAIkIgEEQCABQX82AjALAkAgBkEBcQRAIARBCHRBgP4DcSAEQQh2akEfcEUNAQsgAEHGgAg2AhggCUHR/gA2AgAgCSgCACEBDDsLIARBD3FBCEcEQCAAQd2ACDYCGCAJQdH+ADYCACAJKAIAIQEMOwsgBEEEdiIKQQ9xIgFBCGohBiABQQdNQQAgAigCKCIIBH8gCAUgAiAGNgIoIAYLIAZPG0UEQCADQQRrIQMgAEH4gAg2AhggCUHR/gA2AgAgCiEEIAkoAgAhAQw7CyACQYACIAF0NgIYQQAhAyACQQBBAEEAEKcUIgE2AhwgACABNgIwIAJBvf4AQb/+ACAEQYDAAHEbNgIEQQAhBCAJKAIAIQEMOgsgA0EQSQRAA0AgBUUNOCAFQQFrIQUgBy0AACADdCAEaiEEIANBCEkhASADQQhqIQMgB0EBaiEHIAENAAsLIAIgBDYCFCAEQf8BcUEIRwRAIABB3YAINgIYIAlB0f4ANgIAIAkoAgAhAQw6CyAEQYDAA3EEQCAAQYyBCDYCGCAJQdH+ADYCACAJKAIAIQEMOgsgAigCJCIDBEAgAyAEQQh2QQFxNgIACwJAIARBgARxRQ0AIAItAAxBBHFFDQAgEyAEOwAMIA4gDigCACATQQxqQQIQqRQ2AgALIAlBtv4ANgIAQQAhA0EAIQQMAQsgA0EfSw0BCyAHIQEDQCAFRQRAQQAhBSABIQcgFSEGDDgLIAVBAWshBSABLQAAIAN0IARqIQQgA0EYSSEGIANBCGohAyABQQFqIgchASAGDQALCyACKAIkIgMEQCADIAQ2AgQLAkAgAi0AFUECcUUNACACLQAMQQRxRQ0AIBMgBDYADCAOIA4oAgAgE0EMakEEEKkUNgIACyAJQbf+ADYCAEEAIQNBACEEDAELIANBD0sNAQsgByEBA0AgBUUEQEEAIQUgASEHIBUhBgw1CyAFQQFrIQUgAS0AACADdCAEaiEEIANBCEkhBiADQQhqIQMgAUEBaiIHIQEgBg0ACwsgAigCJCIDBEAgAyAEQQh2NgIMIAMgBEH/AXE2AggLAkAgAi0AFUECcUUNACACLQAMQQRxRQ0AIBMgBDsADCAOIA4oAgAgE0EMakECEKkUNgIACyACQbj+ADYCBEEAIQFBACEDQQAhBCACKAIUIghBgAhxDQEMJAsgAigCFCIIQYAIcUUEQCADIQEMJAsgBCEBIANBD0sNAQsDQCAFRQRAQQAhBSABIQQgFSEGDDILIAVBAWshBSAHLQAAIAN0IAFqIQEgA0EISSEEIANBCGohAyAHQQFqIgYhByAEDQALIAYhByABIQQLIAIgBDYCRCACKAIkIgMEQCADIAQ2AhQLQQAhAwJAIAhBgARxRQ0AIAItAAxBBHFFDQAgEyAEOwAMIA4gDigCACATQQxqQQIQqRQ2AgALQQAhBAwiCyADQSBJBEADQCAFRQ0uIAVBAWshBSAHLQAAIAN0IARqIQQgA0EYSSEBIANBCGohAyAHQQFqIQcgAQ0ACwsgDiAEQQh0QYCA/AdxIARBGHRyIARBCHZBgP4DcSAEQRh2cnIiAzYCACAAIAM2AjAgCUG+/gA2AgBBACEEQQAhAwsgAigCEEUEQCAAIA02AhAgACAQNgIMIAAgBTYCBCAAIAc2AgAgAiADNgJAIAIgBDYCPEECIRQMMQsgDkEAQQBBABCnFCIBNgIAIAAgATYCMCAJQb/+ADYCAAsCfwJAIAIoAghFBEAgAyADQQJLDQIaIAUNAQwnCyAJQc7+ADYCACAEIANBB3F2IQQgA0F4cSEDIAkoAgAhAQwvCyAFQQFrIQUgBy0AACADdCAEaiEEIAdBAWohByADQQhqCyEBIAIgBEEBcTYCCEHB/gAhAwJAAkACQAJAAkAgBEEBdkEDcUEBaw4DAAECAwsgAkGghAg2AlAgAkKJgICA0AA3AlggAkGglAg2AlQgAkHH/gA2AgQMAwtBxP4AIQMMAQsgAEG5gQg2AhhB0f4AIQMLIAkgAzYCAAsgAUEDayEDIARBA3YhBCAJKAIAIQEMLQsgBCADQQdxdiEEIANBeHEiA0EfTQRAA0AgBUUNKyAFQQFrIQUgBy0AACADdCAEaiEEIANBGEkhASADQQhqIQMgB0EBaiEHIAENAAsLIARB//8DcSIBIARBf3NBEHZHBEAgAEHMgQg2AhggCUHR/gA2AgAgCSgCACEBDC0LIAJBwv4ANgIEIAIgATYCREEAIQRBACEDCyAJQcP+ADYCAAsgAigCRCIBBEAgDSAFIAEgASAFSxsiASABIA1LGyIBRQ0jIBAgByABEK4bIRAgAiACKAJEIAFrNgJEIAEgEGohECANIAFrIQ0gASAHaiEHIAUgAWshBSAJKAIAIQEMKwsgCUG//gA2AgAgCSgCACEBDCoLIANBDkkEQANAIAVFDSggBUEBayEFIActAAAgA3QgBGohBCADQQZJIQEgA0EIaiEDIAdBAWohByABDQALCyACIARBH3EiAUGBAmo2AmQgAiAEQQV2QR9xIgZBAWo2AmggAiAEQQp2QQ9xQQRqIgo2AmAgA0EOayEDIARBDnYhBCABQR1NQQAgBkEeSRtFBEAgAEHpgQg2AhggCUHR/gA2AgAgCSgCACEBDCoLIAJBxf4ANgIEQQAhASACQQA2AmwMAQsgAigCbCIBIAIoAmAiCk8NAQsgASEGA0AgA0ECSwR/IAMFIAVFDSYgBUEBayEFIActAAAgA3QgBGohBCAHQQFqIQcgA0EIagshCCACIAZBAWoiATYCbCACIAZBAXRBoIAIai8BAEEBdGogBEEHcTsBdCAIQQNrIQMgBEEDdiEEIAEhBiABIApJDQALCyABQRNJBEADQCACIAFBAXRBoIAIai8BAEEBdGpBADsBdCABQQFqIgFBE0cNAAsgAkETNgJsCyACQQc2AlggAiAYNgJQIAIgGDYCcEEAIQhBACAbQRMgGiAcIBkQvxQiFQRAIABBjYIINgIYIAlB0f4ANgIAIAkoAgAhAQwnCyACQcb+ADYCBCACQQA2AmxBACEVCyACKAJkIh8gAigCaGoiFyAISwRAQX8gAigCWHRBf3MhDyACKAJQIREDQCADIQsgBSEBIAchBgJAIBEgBCAPcSISQQJ0ai0AASIMIANNBEAgAyEKDAELA0AgAUUNCSAGLQAAIAt0IQwgBkEBaiEGIAFBAWshASALQQhqIgohCyAKIBEgBCAMaiIEIA9xIhJBAnRqLQABIgxJDQALCwJAIBEgEkECdGovAQIiBUEPTQRAIAIgCEEBaiIHNgJsIAIgCEEBdGogBTsBdCAKIAxrIQMgBCAMdiEEIAchCAwBCwJ/An8CQAJAAkAgBUEQaw4CAAECCyAMQQJqIgUgCksEQANAIAFFDR4gAUEBayEBIAYtAAAgCnQgBGohBCAGQQFqIQYgCkEIaiIKIAVJDQALCyAKIAxrIQMgBCAMdiEKIAhFBEAgAEGmggg2AhggCUHR/gA2AgAgBiEHIAEhBSAKIQQgCSgCACEBDC0LIANBAmshAyAKQQJ2IQQgCkEDcUEDaiEFIAhBAXQgAmovAXIMAwsgDEEDaiIFIApLBEADQCABRQ0dIAFBAWshASAGLQAAIAp0IARqIQQgBkEBaiEGIApBCGoiCiAFSQ0ACwsgCiAMa0EDayEDIAQgDHYiBUEDdiEEIAVBB3FBA2oMAQsgDEEHaiIFIApLBEADQCABRQ0cIAFBAWshASAGLQAAIAp0IARqIQQgBkEBaiEGIApBCGoiCiAFSQ0ACwsgCiAMa0EHayEDIAQgDHYiBUEHdiEEIAVB/wBxQQtqCyEFQQALIQcgFyAFIAhqSQRAIABBpoIINgIYIAlB0f4ANgIAIAYhByABIQUgCSgCACEBDCkLA0AgAiAIQQF0aiAHOwF0IAhBAWohCCAFQQFrIgUNAAsgAiAINgJsCyAGIQcgASEFIAggF0kNAAsLIAIvAfQERQRAIABBwIIINgIYIAlB0f4ANgIAIAkoAgAhAQwmCyACQQk2AlggAiAYNgJQIAIgGDYCcEEBIBsgHyAaIBwgGRC/FCIVBEAgAEHlggg2AhggCUHR/gA2AgAgCSgCACEBDCYLIAJBBjYCXCACIAIoAnA2AlRBAiACIAIoAmRBAXRqQfQAaiACKAJoIBogHSAZEL8UIhUEQCAAQYGDCDYCGCAJQdH+ADYCACAJKAIAIQEMJgsgCUHH/gA2AgBBACEVCyAJQcj+ADYCAAsCQCANQYICSQ0AIAVBBkkNACAAIA02AhAgACAQNgIMIAAgBTYCBCAAIAc2AgAgAiADNgJAIAIgBDYCPCAAIBYQwBQgAigCQCEDIAIoAjwhBCAAKAIEIQUgACgCACEHIAAoAhAhDSAAKAIMIRAgAigCBEG//gBHDQ8gAkF/NgLINyAJKAIAIQEMJAsgAkEANgLINyADIQggBSEBIAchBgJAIAIoAlAiDCAEQX8gAigCWHRBf3MiEnEiEUECdGotAAEiCyADTQRAIAMhCgwBCwNAIAFFDQcgBi0AACAIdCELIAZBAWohBiABQQFrIQEgCEEIaiIKIQggCiAMIAQgC2oiBCAScSIRQQJ0ai0AASILSQ0ACwsgCyEDIAwgEUECdGoiBS8BAiESIAUtAAAiD0UNCCAPQfABcQ0IIAEhBSAGIQcCQCAKIgggAyAMIARBfyADIA9qdEF/cyIXcSADdiASaiIPQQJ0ai0AASILak8EQCAKIREMAQsDQCAFRQ0GIActAAAgCHQhCyAHQQFqIQcgBUEBayEFIAhBCGoiESEIIAMgDCAEIAtqIgQgF3EgA3YgEmoiD0ECdGotAAEiC2ogEUsNAAsLIAwgD0ECdGoiAS0AACEPIAEvAQIhEiACIAM2Asg3IBEgA2shCiAEIAN2IQQMCQsgDUUNGiAQIAIoAkQ6AAAgAkHI/gA2AgQgDUEBayENIBBBAWohECAJKAIAIQEMIgsgAigCDCIGRQRAQQAhBgwGCyADQR9NBEADQCAFRQ0gIAVBAWshBSAHLQAAIAN0IARqIQQgA0EYSSEBIANBCGohAyAHQQFqIQcgAQ0ACwsgACAWIA1rIgEgACgCFGo2AhQgAiACKAIgIAFqNgIgIAZBBHEhCAJAIAFFDQAgCEUNACAQIAFrIQYgAigCHCEIIAICfyACKAIUBEAgCCAGIAEQqRQMAQsgCCAGIAEQpxQLIgE2AhwgACABNgIwIAIoAgwiBkEEcSEICyAIRQ0EIAIoAhwgBCAEQQh0QYCA/AdxIARBGHRyIARBCHZBgP4DcSAEQRh2cnIgAigCFBtGDQQgAEHngwg2AhggCUHR/gA2AgAgDSEWIAkoAgAhAQwhCyAJQcD+ADYCAAwLCyAFIAdqIQcgAyAFQQN0aiEDDBwLIAEgBmohByAKIAFBA3RqIQMMGwsgBSAHaiEHIAMgBUEDdGohAwwaC0EAIQRBACEDIA0hFgsgCUHP/gA2AgAMFwtBACEDIAYhByABIQULIAIgEkH//wNxNgJEIAIgAyALajYCyDcgCiALayEDIAQgC3YhBCAPRQRAIAlBzf4ANgIAIAkoAgAhAQwaCyAPQSBxBEAgAkG//gA2AgQgAkF/NgLINyAJKAIAIQEMGgsgD0HAAHEEQCAAQZeDCDYCGCAJQdH+ADYCACAJKAIAIQEMGgsgAkHJ/gA2AgQgAiAPQQ9xIgg2AkwLIAchCyAFIQoCQCAIRQRAIAIoAkQhBgwBCyALIQYgAyIBIAhJBEADQCAFRQ0KIAVBAWshBSAGLQAAIAF0IARqIQQgBkEBaiIHIQYgAUEIaiIBIAhJDQALCyACIAIoAsg3IAhqNgLINyACIAIoAkQgBEF/IAh0QX9zcWoiBjYCRCABIAhrIQMgBCAIdiEECyACQcr+ADYCBCACIAY2Asw3CyADIQggBSEBIAchBgJAIAIoAlQiDCAEQX8gAigCXHRBf3MiEnEiEUECdGotAAEiCyADTQRAIAMhCgwBCwNAIAFFDQcgBi0AACAIdCELIAZBAWohBiABQQFrIQEgCEEIaiIKIQggCiAMIAQgC2oiBCAScSIRQQJ0ai0AASILSQ0ACwsgDCARQQJ0aiIFLwECIRICQCAFLQAAIg9B8AFxBEAgAigCyDchAyAGIQcgASEFIAshCAwBCyABIQUgBiEHAkAgCiIDIAsgDCAEQX8gCyAPanRBf3MiF3EgC3YgEmoiD0ECdGotAAEiCGpPBEAgCiERDAELA0AgBUUNByAHLQAAIAN0IQggB0EBaiEHIAVBAWshBSADQQhqIhEhAyALIAwgBCAIaiIEIBdxIAt2IBJqIg9BAnRqLQABIghqIBFLDQALCyAMIA9BAnRqIgMtAAAhDyADLwECIRIgAiACKALINyALaiIDNgLINyARIAtrIQogBCALdiEECyACIAMgCGo2Asg3IAogCGshAyAEIAh2IQQgD0HAAHEEQCAAQbODCDYCGCAJQdH+ADYCACAJKAIAIQEMGAsgAkHL/gA2AgQgAiAPQQ9xIgg2AkwgAiASQf//A3E2AkgLIAchCyAFIQogCARAIAshBiADIgEgCEkEQANAIAVFDQUgBUEBayEFIAYtAAAgAXQgBGohBCAGQQFqIgchBiABQQhqIgEgCEkNAAsLIAIgAigCyDcgCGo2Asg3IAIgAigCSCAEQX8gCHRBf3NxajYCSCAEIAh2IQQgASAIayEDCyAJQcz+ADYCAAsgDUUNDQJ/IAIoAkgiASAWIA1rIgZLBEACQCABIAZrIgEgAigCME0NACACKALEN0UNACAAQcmDCDYCGCAJQdH+ADYCACAJKAIAIQEMGAsCfyACKAI0IgYgAUkEQCACKAIsIAEgBmsiAWsMAQsgBiABawshCCACKAJEIgogASABIApLGyEGIAIoAjggCGoMAQsgAigCRCIKIQYgECABawshASACIAogDSAGIAYgDUsbIghrNgJEIAghBgNAIBAgAS0AADoAACAQQQFqIRAgAUEBaiEBIAZBAWsiBg0ACyANIAhrIQ0gAigCRA0AIAlByP4ANgIAIAkoAgAhAQwVCyAJKAIAIQEMFAsgCiALaiEHIAMgCkEDdGohAwwQCyABIAZqIQcgCiABQQN0aiEDDA8LIAUgB2ohByADIAVBA3RqIQMMDgsgCiALaiEHIAMgCkEDdGohAwwNC0EAIQUgBiEHIAohAyAVIQYMDgsgAigCJCIDBEAgA0EANgIQCyABIQMLIAlBuf4ANgIACyACKAIUIghBgAhxBEAgBSACKAJEIgEgASAFSxsiBgRAAkAgAigCJCIKRQ0AIAooAhAiC0UNACALIAooAhQgAWsiAWogByAKKAIYIgggAWsgBiABIAZqIAhLGxCuGxogAigCFCEICwJAIAhBgARxRQ0AIAItAAxBBHFFDQAgDiAOKAIAIAcgBhCpFDYCAAsgAiACKAJEIAZrIgE2AkQgBSAGayEFIAYgB2ohBwsgAQ0FCyACQbr+ADYCBCACQQA2AkQLAkAgAi0AFUEIcQRAQQAhBiAFRQ0EA0AgBkEBaiEBIAYgB2otAAAhCAJAIAIoAiQiBkUNACAGKAIcIgpFDQAgAigCRCILIAYoAiBPDQAgAiALQQFqNgJEIAogC2ogCDoAAAsgASAFSQRAIAEhBiAIQf8BcQ0BCwsCQCACLQAVQQJxRQ0AIAItAAxBBHFFDQAgDiAOKAIAIAcgARCpFDYCAAsgASAHaiEHIAUgAWshBSAIQf8BcUUNAQwFCyACKAIkIgFFDQAgAUEANgIcCyACQbv+ADYCBCACQQA2AkQLAkAgAi0AFUEQcQRAQQAhBiAFRQ0DA0AgBkEBaiEBIAYgB2otAAAhCAJAIAIoAiQiBkUNACAGKAIkIgpFDQAgAigCRCILIAYoAihPDQAgAiALQQFqNgJEIAogC2ogCDoAAAsgASAFSQRAIAEhBiAIQf8BcQ0BCwsCQCACLQAVQQJxRQ0AIAItAAxBBHFFDQAgDiAOKAIAIAcgARCpFDYCAAsgASAHaiEHIAUgAWshBSAIQf8BcUUNAQwECyACKAIkIgFFDQAgAUEANgIkCyAJQbz+ADYCAAsgAigCFCIGQYAEcUUNBCADQQ9NBEADQCAFRQ0IIAVBAWshBSAHLQAAIAN0IARqIQQgA0EISSEBIANBCGohAyAHQQFqIQcgAQ0ACwsgAi0ADEEEcUUNAyAEIA4vAQBGDQMgAEGlgQg2AhggCUHR/gA2AgAgCSgCACEBDAkLQQAhBQsgFSEICyAIIQYMBQtBACEEQQAhAwsgAigCJCIBBEAgAUEBNgIwIAEgBkEJdkEBcTYCLAsgDkEAQQBBABCpFCIBNgIAIAAgATYCMCAJQb/+ADYCACAJKAIAIQEMBAsCQCAGRQ0AIAIoAhRFDQAgA0EfTQRAA0AgBUUNAyAFQQFrIQUgBy0AACADdCAEaiEEIANBGEkhASADQQhqIQMgB0EBaiEHIAENAAsLIAQgAigCIEcNAkEAIQRBACEDCyAJQdD+ADYCAEEBIQYMAgtBACEFIBUhBgwBCyAAQfyDCDYCGCAJQdH+ADYCACAJKAIAIQEMAQsLIAAgDTYCECAAIBA2AgwgACAFNgIEIAAgBzYCACACIAM2AkAgAiAENgI8AkACQCACKAIsRQRAIA0gFkYNASAJKAIAQdD+AEsNAQsgACAQIBYgDWsQvRQNASAAKAIQIQ0gACgCBCEFCyAAIB4gBWsiBSAAKAIIajYCCCAAIBYgDWsiFCAAKAIUajYCFCACIAIoAiAgFGo2AiACQCAURQ0AIAIoAgxBBHFFDQAgACgCDCAUayEDIAIoAhwhByAOAn8gAigCFARAIAcgAyAUEKkUDAELIAcgAyAUEKcUCyIDNgIAIAAgAzYCMAsgACACKAJAIAIoAghBAEdBBnRqIAIoAgQiAkG//gBGQQd0akGAAiACQcL+AEZBCHQgAkHH/gBGG2o2AiwgBiAGQXsgBSAUchsgBhshFAwCCyAJQdL+ADYCAAtBfCEUCyATQRBqJAAgFAuSAgEDfwJAIAAoAhwiAygCOCIERQRAQQEhBSADIAAoAihBASADKAIodEEBIAAoAiARBQAiBDYCOCAERQ0BCyADKAIsIgBFBEAgA0IANwIwIANBASADKAIodCIANgIsCyAAIAJNBEAgBCABIABrIAAQrhsaIANBADYCNCADIAMoAiw2AjBBAA8LIAQgAygCNCIFaiABIAJrIAIgACAFayIAIAAgAksbIgAQrhsaIAIgAGsiAgRAIAMoAjggASACayACEK4bGiADIAI2AjQgAyADKAIsNgIwQQAPC0EAIQUgA0EAIAMoAjQgAGoiAiACIAMoAiwiBEYbNgI0IAMoAjAiAiAETw0AIAMgACACajYCMAsgBQt4AQN/AkAgAEUNACAAKAIgRQ0AIAAoAiQiAkUNACAAKAIcIgFFDQAgASgCACAARw0AIAEoAgRBtP4Aa0EfSw0AIAEoAjgiAwRAIAAoAiggAyACEQIAIAAoAiQhAiAAKAIcIQELIAAoAiggASACEQIAIABBADYCHAsLlQ0BFn8jAEFAaiIGQgA3AzAgBkIANwM4IAZCADcDICAGQgA3AygCQAJAAkACQAJAIAIEQANAIAZBIGogASAIQQF0ai8BAEEBdGoiCyALLwEAQQFqOwEAIAhBAWoiCCACRw0ACyAEKAIAIQhBDyELIAYvAT4iDQ0CDAELIAQoAgAhCAtBDiELQQAhDSAGLwE8DQBBDSELIAYvAToNAEEMIQsgBi8BOA0AQQshCyAGLwE2DQBBCiELIAYvATQNAEEJIQsgBi8BMg0AQQghCyAGLwEwDQBBByELIAYvAS4NAEEGIQsgBi8BLA0AQQUhCyAGLwEqDQBBBCELIAYvASgNAEEDIQsgBi8BJg0AQQIhCyAGLwEkDQAgBi8BIkUEQCADIAMoAgAiCEEEajYCACAIQcACNgEAIAMgAygCACIIQQRqNgIAIAhBwAI2AQAgBEEBNgIADAMLIAhBAEchFUEBIQtBASEIDAELIAsgCCAIIAtLGyEVQQEhDEEBIQgDQCAGQSBqIAhBAXRqLwEADQEgCEEBaiIIIAtHDQALIAshCAtBfyEJIAYvASIiB0ECSw0BQQQgBi8BJCIRIAdBAXRqayIKQQBIDQEgCkEBdCAGLwEmIhJrIgpBAEgNASAKQQF0IAYvASgiD2siCkEASA0BIApBAXQgBi8BKiIQayIKQQBIDQEgCkEBdCAGLwEsIhlrIgpBAEgNASAKQQF0IAYvAS4iGmsiCkEASA0BIApBAXQgBi8BMCIbayIKQQBIDQEgCkEBdCAGLwEyIg5rIgpBAEgNASAKQQF0IAYvATQiFmsiCkEASA0BIApBAXQgBi8BNiIXayIKQQBIDQEgCkEBdCAGLwE4IhNrIgpBAEgNASAKQQF0IAYvAToiFGsiCkEASA0BIApBAXQgBi8BPCIYayIKQQBIDQEgCkEBdCANayINQQBIDQEgDUEAIABFIAxyGw0BIAggFUshDEEAIQkgBkEAOwECIAYgBzsBBCAGIAcgEWoiBzsBBiAGIAcgEmoiBzsBCCAGIAcgD2oiBzsBCiAGIAcgEGoiBzsBDCAGIAcgGWoiBzsBDiAGIAcgGmoiBzsBECAGIAcgG2oiBzsBEiAGIAcgDmoiBzsBFCAGIAcgFmoiBzsBFiAGIAcgF2oiBzsBGCAGIAcgE2oiBzsBGiAGIAcgFGoiBzsBHCAGIAcgGGo7AR4gAgRAA0AgASAJQQF0ai8BACIHBEAgBiAHQQF0aiIHIAcvAQAiB0EBajsBACAFIAdBAXRqIAk7AQALIAlBAWoiCSACRw0ACwsgCCAVIAwbIQ5BFCEQQQAhGCAFIRYgBSEXQQAhFAJAAkACQCAADgICAAELQQEhCSAOQQlLDQNBgQIhEEHglQghF0GglQghFkEBIRQMAQsgAEECRiEYQQAhEEHglgghF0GglgghFiAAQQJHBEAMAQtBASEJIA5BCUsNAgtBASAOdCITQQFrIRsgAygCACERQQAhEiAOIQxBACEPQQAhB0F/IRoDQEEBIAx0IRkCQANAIAggD2shDQJ/QQAgBSASQQF0ai8BACIMQQFqIBBJDQAaIAwgEEkEQEEAIQxB4AAMAQsgFiAMIBBrQQF0IgJqLwEAIQwgAiAXai0AAAshACAHIA92IRVBfyANdCEKIBkhAgNAIBEgAiAKaiICIBVqQQJ0aiIJIAw7AQIgCSANOgABIAkgADoAACACDQALQQEgCEEBa3QhCQNAIAkiAkEBdiEJIAIgB3ENAAsgBkEgaiAIQQF0aiIJIAkvAQBBAWsiCTsBACACQQFrIAdxIAJqQQAgAhshByASQQFqIRIgCUH//wNxRQRAIAggC0YNAiABIAUgEkEBdGovAQBBAXRqLwEAIQgLIAcgG3EiAiAaRg0AIAggDk0NAAtBASAIIA8gDiAPGyIPayIMdCENIAggC0kEQCALIA9rIQAgCCEJAkADQCANIAZBIGogCUEBdGovAQBrIglBAUgNASAJQQF0IQ0gDEEBaiIMIA9qIgkgC0kNAAsgACEMC0EBIAx0IQ0LQQEhCSAUIA0gE2oiE0HUBktxDQMgGCATQdAES3ENAyADKAIAIg0gAkECdGoiCSAOOgABIAkgDDoAACAJIBEgGUECdGoiESANa0ECdjsBAiACIRoMAQsLIAcEQCARIAdBAnRqIghBADsBAiAIIA06AAEgCEHAADoAAAsgAyADKAIAIBNBAnRqNgIAIAQgDjYCAAtBACEJCyAJC8ULARV/IAAoAhwiCSgCNCIKIAkoAiwiEWohEiAAKAIQIgUgACgCDCIDakGBAmshDSADIAUgAWtqIRMgACgCACIIIAAoAgRqQQVrIQ5BfyAJKAJcdEF/cyEUQX8gCSgCWHRBf3MhFSAJKAJUIQ8gCSgCUCEQIAkoAkAhBSAJKAI8IQEgCSgCOCEMIAkoAjAhFgNAIAVBDk0EQCAILQAAIAV0IAFqIAgtAAEgBUEIanRqIQEgBUEQaiEFIAhBAmohCAsgBSAQIAEgFXFBAnRqIgItAAEiBGshBSABIAR2IQEgAi8BAiEHAkACQAJAIAItAAAiAkUNACAJAn8CQAJAA0AgAkH/AXEhBCACQRBxBEAgB0H//wNxIQcCfyAEQQ9xIgRFBEAgCCEGIAEMAQsCfyAEIAVNBEAgBSECIAgMAQsgBUEIaiECIAgtAAAgBXQgAWohASAIQQFqCyEGIAIgBGshBSABQX8gBHRBf3NxIAdqIQcgASAEdgshAiAFQQ5NBEAgBi0AACAFdCACaiAGLQABIAVBCGp0aiECIAVBEGohBSAGQQJqIQYLIAUgDyACIBRxQQJ0aiIILQABIgFrIQUgAiABdiEBIAgvAQIhBCAILQAAIgJBEHENAgNAIAJBwABxRQRAIAUgDyABQX8gAnRBf3NxIARB//8DcWpBAnRqIgItAAEiBGshBSABIAR2IQEgAi8BAiEEIAItAAAiAkEQcUUNAQwECwtBvpcIIQcgBiEIDAMLIARBwABxRQRAIAUgECABQX8gBHRBf3NxIAdB//8DcWpBAnRqIgItAAEiBGshBSABIAR2IQEgAi8BAiEHIAItAAAiAkUNBQwBCwtB1JcIIQdBv/4AIARBIHENAhoMAQsgBEH//wNxIQsCfyACQQ9xIgIgBU0EQCAFIQQgBgwBCyAGLQAAIAV0IAFqIQEgBkEBaiACIAVBCGoiBE0NABogBi0AASAEdCABaiEBIAVBEGohBCAGQQJqCyEIIAFBfyACdEF/c3EhBiAEIAJrIQUgASACdiEBAkAgBiALaiILIAMgE2siAksEQAJAIAsgAmsiBiAWTQ0AIAkoAsQ3RQ0AQaCXCCEHDAMLAkACQCAKRQRAIAwgESAGa2ohAiAGIgQgB08NAgNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACwwBCyAGIApLBEAgDCASIAZraiECIAYgCmsiBiEEIAYgB08NAgNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACyAMIQIgByAGayIHIAoiBE0EQAwDCwNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACyADIAtrIQIgByAKayEHDAILIAwgCiAGa2ohAiAGIgQgB08NAQNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACwsgAyALayECIAcgBmshBwsgB0EDTwRAA0AgAyACLQAAOgAAIAMgAi0AAToAASADIAItAAI6AAIgA0EDaiEDIAJBA2ohAiAHQQNrIgdBAksNAAsLIAdFDQUgAyACLQAAOgAAIAdBAUcNASADQQFqIQMMBQsgAyALayEGA0AgAyICIAYiBC0AADoAACACIAYtAAE6AAEgAiAGLQACOgACIAJBA2ohAyAGQQNqIQYgB0EDayIHQQJLDQALIAdFDQQgAiAGLQAAOgADIAdBAUYEQCACQQRqIQMMBQsgAiAELQAEOgAEIAJBBWohAwwECyADIAItAAE6AAEgA0ECaiEDDAMLIAAgBzYCGEHR/gALNgIEDAILIAMgBzoAACADQQFqIQMLIAMgDU8NACAIIA5JDQELCyAAIAM2AgwgACAIIAVBA3ZrIgI2AgAgACANIANrQYECajYCECAAIA4gAmtBBWo2AgQgCSAFQQdxIgU2AkAgCSABQX8gBXRBf3NxNgI8C2IAIABBADYCvC0gAEEAOwG4LSAAQbgWakGYngg2AgAgACAAQfwUajYCsBYgAEGsFmpBhJ4INgIAIAAgAEGIE2o2AqQWIABBoBZqQfCdCDYCACAAIABBlAFqNgKYFiAAEMIUC9oEAQF/A0AgACABQQJ0akEAOwGUASABQQFqIgFBngJHDQALIABBADsB/BQgAEEAOwGIEyAAQcQVakEAOwEAIABBwBVqQQA7AQAgAEG8FWpBADsBACAAQbgVakEAOwEAIABBtBVqQQA7AQAgAEGwFWpBADsBACAAQawVakEAOwEAIABBqBVqQQA7AQAgAEGkFWpBADsBACAAQaAVakEAOwEAIABBnBVqQQA7AQAgAEGYFWpBADsBACAAQZQVakEAOwEAIABBkBVqQQA7AQAgAEGMFWpBADsBACAAQYgVakEAOwEAIABBhBVqQQA7AQAgAEGAFWpBADsBACAAQfwTakEAOwEAIABB+BNqQQA7AQAgAEH0E2pBADsBACAAQfATakEAOwEAIABB7BNqQQA7AQAgAEHoE2pBADsBACAAQeQTakEAOwEAIABB4BNqQQA7AQAgAEHcE2pBADsBACAAQdgTakEAOwEAIABB1BNqQQA7AQAgAEHQE2pBADsBACAAQcwTakEAOwEAIABByBNqQQA7AQAgAEHEE2pBADsBACAAQcATakEAOwEAIABBvBNqQQA7AQAgAEG4E2pBADsBACAAQbQTakEAOwEAIABBsBNqQQA7AQAgAEGsE2pBADsBACAAQagTakEAOwEAIABBpBNqQQA7AQAgAEGgE2pBADsBACAAQZwTakEAOwEAIABBmBNqQQA7AQAgAEGUE2pBADsBACAAQZATakEAOwEAIABBjBNqQQA7AQAgAEIANwKsLSAAQZQJakEBOwEAIABBADYCqC0gAEEANgKg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FEUEQEHE/QpBHDYCAAwBC0GYCRChGyICDQELQQAMAQsgAkEAQZABEK8bGiABQSsQ/BRFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAECQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAkGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQJQ0AIAJBCjoASwsgAkH6ETYCKCACQfsRNgIkIAJB/BE2AiAgAkH9ETYCDEHM/QooAgBFBEAgAkF/NgJMCyACEMMVCyECIANBIGokACACC3EBA38jAEEQayICJAACQAJAQbTfCCABLAAAEPwURQRAQcT9CkEcNgIADAELIAEQxxUhBCACQbYDNgIAIAAgBEGAgAJyIAIQIBDrFCIAQQBIDQEgACABEKIVIgMNASAAECMaC0EAIQMLIAJBEGokACADC7sBAQJ/IwBBoAFrIgQkACAEQQhqQbjfCEGQARCuGxoCQAJAIAFBAWtB/////wdPBEAgAQ0BQQEhASAEQZ8BaiEACyAEIAA2AjQgBCAANgIcIARBfiAAayIFIAEgASAFSxsiATYCOCAEIAAgAWoiADYCJCAEIAA2AhggBEEIaiACIAMQvBUhACABRQ0BIAQoAhwiASABIAQoAhhGa0EAOgAADAELQcT9CkE9NgIAQX8hAAsgBEGgAWokACAACzQBAX8gACgCFCIDIAEgAiAAKAIQIANrIgMgAiADSRsiAxCuGxogACAAKAIUIANqNgIUIAILiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC/FSAEBEAgAygCHCIEIAQgAygCGEZrQQA6AAALIANBoAFqJAALiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhDAFSAE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A6dBAXENACAGDQBBxP0KQcQANgIAIANCAX0hAwwDCyADIAlaDQBBxP0KQcQANgIADAILIAkgBqwiA4UgA30hAwwBC0IAIQMgAEIAEMgVCyAHQRBqJAAgAwsNACAAIAEgAkJ/EMwVC3wBAX8jAEGQAWsiBCQAIAQgADYCLCAEIAA2AgQgBEEANgIAIARBfzYCTCAEQX8gAEH/////B2ogAEEASBs2AgggBEIAEMgVIAQgAkEBIAMQyhUhAyABBEAgASAAIAQoAgQgBCgCeGogBCgCCGtqNgIACyAEQZABaiQAIAMLEgAgACABIAJCgICAgAgQzBWnCzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMIC8QCAQF/IwBB0ABrIgQkAAJAIANBgIABTgRAIARBIGogASACQgBCgICAgICAgP//ABDqFSAEKQMoIQIgBCkDICEBIANB//8BSARAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABDqFSADQf3/AiADQf3/AkgbQf7/AWshAyAEKQMYIQIgBCkDECEBDAELIANBgYB/Sg0AIARBQGsgASACQgBCgICAgICAwAAQ6hUgBCkDSCECIAQpA0AhASADQYOAfkoEQCADQf7/AGohAwwBCyAEQTBqIAEgAkIAQoCAgICAgMAAEOoVIANBhoB9IANBhoB9ShtB/P8BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhDqFSAAIAQpAwg3AwggACAEKQMANwMAIARB0ABqJAALlAgCBn8CfiMAQTBrIgYkAAJAIAJBAk0EQCABQQRqIQUgAkECdCICQcznCGooAgAhCCACQcDnCGooAgAhCQNAAn8gASgCBCICIAEoAmhJBEAgBSACQQFqNgIAIAItAAAMAQsgARDJFQsiAhDnFA0AC0EBIQcCQAJAIAJBK2sOAwABAAELQX9BASACQS1GGyEHIAEoAgQiAiABKAJoSQRAIAUgAkEBajYCACACLQAAIQIMAQsgARDJFSECCwJAAkADQCAEQfrmCGosAAAgAkEgckYEQAJAIARBBksNACABKAIEIgIgASgCaEkEQCAFIAJBAWo2AgAgAi0AACECDAELIAEQyRUhAgsgBEEBaiIEQQhH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DQAgAC0AAEUNACAAQT0Q/BQNAEGshgsoAgAoAgAiAkUNAAJAA0AgACACIAQQgBUhA0GshgsoAgAhAiADRQRAIAIgAUECdGooAgAgBGoiAy0AAEE9Rg0CCyACIAFBAWoiAUECdGooAgAiAg0AC0EADwsgA0EBaiEBCyABCxYAIABFBEBBAA8LQcT9CiAANgIAQX8LAwABC9kBAQN/IABFBEBBHA8LQbCGCygCAEUEQEGwhgtBBDYCAEG0hgtBEBChGzYCAAtBuIYLKAIAIgMEQEG0hgsoAgAhAgJAA0AgAiABQQN0aigCBEUNASABQQFqIgEgA0cNAAsgAyEBCyADQQJ0IQILQbCGCygCACABRgRAQbCGCyABQQF0NgIAQbSGC0G0hgsoAgAgAhCjGzYCAEG4hgsoAgAhAwsgAUEBaiECIAEgA0YEQEG4hgsgAjYCAAtBtIYLKAIAIAFBA3RqQoCAgIAQNwIAIAAgAjYCAEEAC0UBAX9BHCEBAkAgAEEBayIAQbiGCygCAE8NAEG0hgsoAgAgAEEDdGoiACgCBEUNAEEAIQEgAEEANgIAIABBADYCBAsgAQs2AAJ/QQAgAEEBayIAQbiGCygCAE8NABpBAEG0hgsoAgAgAEEDdGoiACgCBEUNABogACgCAAsLPgEBf0EcIQICQCAAQQFrIgBBuIYLKAIATw0AQbSGCygCACAAQQN0aiIAKAIERQ0AIAAgATYCAEEAIQILIAIL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvEAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQBBACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEBBACABIAJTIAEgAlEbDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwtpAQN+IAAgAkIgiCIDIAFCIIgiBH4gAkL/////D4MiAiABQv////8PgyIBfiIFQiCIIAIgBH58IgJCIIh8IAEgA34gAkL/////D4N8IgJCIIh8NwMIIAAgBUL/////D4MgAkIghoQ3AwALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgL4QkCBH8EfiMAQfAAayIFJAAgBEL///////////8AgyEKAkACQCABQgF9IglCf1EgAkL///////////8AgyILIAEgCVatfEIBfSIJQv///////7///wBWIAlC////////v///AFEbRQRAIANCAX0iCUJ/UiAKIAMgCVatfEIBfSIJQv///////7///wBUIAlC////////v///AFEbDQELIAFQIAtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAtCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIGGyEEQgAgASAGGyEDDAILIAMgCkKAgICAgIDA//8AhYRQDQEgASALhFAEQCADIAqEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAqEUEUNACABIQMgAiEEDAELIAMgASABIANUIAogC1YgCiALURsiBxshCiAEIAIgBxsiC0L///////8/gyEJIAIgBCAHGyICQjCIp0H//wFxIQggC0IwiKdB//8BcSIGRQRAIAVB4ABqIAogCSAKIAkgCVAiBht5IAZBBnStfKciBkEPaxDkFSAFKQNoIQkgBSkDYCEKQRAgBmshBgsgASADIAcbIQMgAkL///////8/gyEEIAhFBEAgBUHQAGogAyAEIAMgBCAEUCIHG3kgB0EGdK18pyIHQQ9rEOQVQRAgB2shCCAFKQNYIQQgBSkDUCEDCyAEQgOGIANCPYiEQoCAgICAgIAEhCEEIAlCA4YgCkI9iIQhASACIAuFIQkCfiADQgOGIgMgBiAIayIHRQ0AGiAHQf8ASwRAQgAhBEIBDAELIAVBQGsgAyAEQYABIAdrEOQVIAVBMGogAyAEIAcQ5xUgBSkDOCEEIAUpAzAgBSkDQCAFKQNIhEIAUq2ECyEDIAFCgICAgICAgASEIQwgCkIDhiECAkAgCUJ/VwRAIAIgA30iASAMIAR9IAIgA1StfSIEhFAEQEIAIQNCACEEDAMLIARC/////////wNWDQEgBUEgaiABIAQgASAEIARQIgcbeSAHQQZ0rXynQQxrIgcQ5BUgBiAHayEGIAUpAyghBCAFKQMgIQEMAQsgAiADfCIBIANUrSAEIAx8fCIEQoCAgICAgIAIg1ANACABQgGDIARCP4YgAUIBiISEIQEgBkEBaiEGIARCAYghBAsgC0KAgICAgICAgIB/gyECIAZB//8BTgRAIAJCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBkEASgRAIAYhBwwBCyAFQRBqIAEgBCAGQf8AahDkFSAFIAEgBEEBIAZrEOcVIAUpAwAgBSkDECAFKQMYhEIAUq2EIQEgBSkDCCEECyAEQj2GIAFCA4iEIgMgAyABp0EHcSIGQQRLrXwiAVatIARCA4hC////////P4MgAoQgB61CMIaEfCEEAkACQCAGQQRHBEAgASEDDAELIAQgAUIBgyICIAF8IgMgAlStfCEEDAELIAZFDQELCyAAIAM3AwAgACAENwMIIAVB8ABqJAALxwECA38CfiMAQRBrIgMkAAJ+IAG8IgRB/////wdxIgJBgICABGtB////9wdNBEAgAq1CGYZCgICAgICAgMA/fAwBCyACQYCAgPwHTwRAIAStQhmGQoCAgICAgMD//wCEDAELIAJFBEBCAAwBCyADIAKtQgAgAmciAkHRAGoQ5BUgAykDACEFIAMpAwhCgICAgICAwACFQYn/ACACa61CMIaECyEGIAAgBTcDACAAIAYgBEGAgICAeHGtQiCGhDcDCCADQRBqJAALUAEBfgJAIANBwABxBEAgAiADQUBqrYghAUIAIQIMAQsgA0UNACACQcAAIANrrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLtgMCA38BfiMAQSBrIgMkAAJAIAFC////////////AIMiBUKAgICAgIDAwD99IAVCgICAgICAwL/AAH1UBEAgAUIZiKchBCAAUCABQv///w+DIgVCgICACFQgBUKAgIAIURtFBEAgBEGBgICABGohAgwCCyAEQYCAgIAEaiECIAAgBUKAgIAIhYRCAFINASACIARBAXFqIQIMAQsgAFAgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCABQhmIp0H///8BcUGAgID+B3IhAgwBC0GAgID8ByECIAVC////////v7/AAFYNAEEAIQIgBUIwiKciBEGR/gBJDQAgA0EQaiAAIAFC////////P4NCgICAgICAwACEIgUgBEGB/gBrEOQVIAMgACAFQYH/ACAEaxDnFSADKQMIIgVCGYinIQIgAykDACADKQMQIAMpAxiEQgBSrYQiAFAgBUL///8PgyIFQoCAgAhUIAVCgICACFEbRQRAIAJBAWohAgwBCyAAIAVCgICACIWEQgBSDQAgAkEBcSACaiECCyADQSBqJAAgAiABQiCIp0GAgICAeHFyvgv6AQICfwN+IwBBEGsiAiQAAn4gAb0iBUL///////////8AgyIEQoCAgICAgIAIfUL/////////7/8AWARAIARCPIYhBiAEQgSIQoCAgICAgICAPHwMAQsgBEKAgICAgICA+P8AWgRAIAVCPIYhBiAFQgSIQoCAgICAgMD//wCEDAELIARQBEBCAAwBCyACIARCACAFp2dBIGogBEIgiKdnIARCgICAgBBUGyIDQTFqEOQVIAIpAwAhBiACKQMIQoCAgICAgMAAhUGM+AAgA2utQjCGhAshBCAAIAY3AwAgACAEIAVCgICAgICAgICAf4OENwMIIAJBEGokAAueCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ4gBEIvhiADQhGIhCELIARC////////P4MiDEIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghESAMQhGIIRIgBEIwiKdB//8BcSEGAkACfyACQjCIp0H//wFxIghBAWtB/f8BTQRAQQAgBkEBa0H+/wFJDQEaCyABUCACQv///////////wCDIg9CgICAgICAwP//AFQgD0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgD0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA+EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA+EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAPQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIHG3kgB0EGdK18pyIHQQ9rEOQVIAUpA1giDUIghiAFKQNQIgFCIIiEIQ4gDUIgiCERQRAgB2shBwsgByACQv///////z9WDQAaIAVBQGsgAyAMIAMgDCAMUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCELIAJCEYghEiAHIAlrQRBqCyEHIAtC/////w+DIgIgAUL/////D4MiBH4iEyADQg+GQoCA/v8PgyIBIA5C/////w+DIgN+fCIOQiCGIgwgASAEfnwiCyAMVK0gAiADfiIVIAEgDUL/////D4MiDH58Ig8gEEL/////D4MiDSAEfnwiECAOIBNUrUIghiAOQiCIhHwiEyACIAx+IhYgASARQoCABIQiDn58IhEgAyANfnwiFCASQv////8Hg0KAgICACIQiASAEfnwiEkIghnwiF3whBCAGIAhqIAdqQf//AGshBgJAIAwgDX4iGCACIA5+fCICIBhUrSACIAEgA358IgMgAlStfCADIA8gFVStIA8gEFatfHwiAiADVK18IAEgDn58IAEgDH4iAyANIA5+fCIBIANUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASASIBRUrSARIBZUrSARIBRWrXx8QiCGIBJCIIiEfCIDIAFUrXwgAyAQIBNWrSATIBdWrXx8IgIgA1StfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAtCAYYhCyADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIIQYABTwRAQgAhAQwDCyAFQTBqIAsgBCAGQf8AaiIGEOQVIAVBIGogAiABIAYQ5BUgBUEQaiALIAQgCBDnFSAFIAIgASAIEOcVIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAtQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAsgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAtBAQF/IwBBEGsiBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRDlFSAAIAUpAwA3AwAgACAFKQMINwMIIAVBEGokAAt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICaiACcyICrUIAIAJnIgJB0QBqEOQVIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC4gRAgV/DH4jAEHAAWsiBSQAIARC////////P4MhEiACQv///////z+DIRAgAiAEhUKAgICAgICAgIB/gyERIARCMIinQf//AXEhBwJAAkACQCACQjCIp0H//wFxIghBAWtB/f8BTQRAIAdBAWtB/v8BSQ0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCERDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIREgAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACERDAMLIBFCgICAgICAwP//AIQhEUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASALhFANAiACIAOEUARAIBFCgICAgICAwP//AIQhEUIAIQEMAgsgC0L///////8/WARAIAVBsAFqIAEgECABIBAgEFAiBht5IAZBBnStfKciBkEPaxDkFUEQIAZrIQYgBSkDuAEhECAFKQOwASEBCyACQv///////z9WDQAgBUGgAWogAyASIAMgEiASUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAYgCWpBEGshBiAFKQOoASESIAUpA6ABIQMLIAVBkAFqIBJCgICAgICAwACEIhRCD4YgA0IxiIQiAkKEyfnOv+a8gvUAIAJ9IgQQ4xUgBUGAAWpCACAFKQOYAX0gBBDjFSAFQfAAaiAFKQOIAUIBhiAFKQOAAUI/iIQiBCACEOMVIAVB4ABqIARCACAFKQN4fRDjFSAFQdAAaiAFKQNoQgGGIAUpA2BCP4iEIgQgAhDjFSAFQUBrIARCACAFKQNYfRDjFSAFQTBqIAUpA0hCAYYgBSkDQEI/iIQiBCACEOMVIAVBIGogBEIAIAUpAzh9EOMVIAVBEGogBSkDKEIBhiAFKQMgQj+IhCIEIAIQ4xUgBSAEQgAgBSkDGH0Q4xUgBiAIIAdraiEHAn5CACAFKQMIQgGGIAUpAwBCP4iEQgF9IgtC/////w+DIgQgAkIgiCIKfiIMIAtCIIgiCyACQv////8PgyIPfnwiAkIgiCACIAxUrUIghoQgCiALfnwgAkIghiIKIAQgD358IgIgClStfCACIAQgA0IRiEL/////D4MiDH4iDyALIANCD4ZCgID+/w+DIg1+fCIKQiCGIg4gBCANfnwgDlStIAsgDH4gCiAPVK1CIIYgCkIgiIR8fHwiCiACVK18IApCAFKtfH0iAkL/////D4MiDCAEfiIPIAsgDH4iDSAEIAJCIIgiDn58IgJCIIZ8IgwgD1StIAsgDn4gAiANVK1CIIYgAkIgiIR8fCAMQgAgCn0iAkIgiCIKIAR+Ig8gAkL/////D4MiDSALfnwiAkIghiIOIAQgDX58IA5UrSAKIAt+IAIgD1StQiCGIAJCIIiEfHx8IgIgDFStfCACQgJ9Ig8gAlStfEIBfSIKQv////8PgyICIBBCAoYgAUI+iIRC/////w+DIgR+IgwgAUIeiEL/////D4MiCyAKQiCIIgp+fCINIAxUrSANIA9CIIgiDCAQQh6IQv//7/8Pg0KAgBCEIhB+fCIOIA1UrXwgCiAQfnwgAiAQfiITIAQgCn58Ig0gE1StQiCGIA1CIIiEfCAOIA1CIIZ8Ig0gDlStfCANIAsgDH4iEyAPQv////8PgyIPIAR+fCIOIBNUrSAOIAIgAUIChkL8////D4MiE358IhUgDlStfHwiDiANVK18IA4gCiATfiINIA8gEH58IgogBCAMfnwiBCACIAt+fCICQiCIIAIgBFStIAogDVStIAQgClStfHxCIIaEfCIKIA5UrXwgCiAVIAwgE34iBCALIA9+fCILQiCIIAQgC1atQiCGhHwiBCAVVK0gBCACQiCGfCAEVK18fCIEIApUrXwiAkL/////////AFgEQCABQjGGIARC/////w+DIgEgA0L/////D4MiC34iCkIAUq19QgAgCn0iDyAEQiCIIgogC34iDSABIANCIIgiDH58IhBCIIYiDlStfSACQv////8PgyALfiABIBJC/////w+DfnwgCiAMfnwgDSAQVq1CIIYgEEIgiIR8IAQgFEIgiH4gAyACQiCIfnwgAiAMfnwgCiASfnxCIIZ8fSELIAdBAWshByAPIA59DAELIARCIYghDCABQjCGIAJCP4YgBEIBiIQiBEL/////D4MiASADQv////8PgyILfiIKQgBSrX1CACAKfSIQIAEgA0IgiCIKfiIPIAwgAkIfhoQiDUL/////D4MiDiALfnwiDEIghiITVK19IAQgFEIgiH4gAyACQiGIfnwgAkIBiCICIAp+fCANIBJ+fEIghiAKIA5+IAJC/////w+DIAt+fCABIBJC/////w+DfnwgDCAPVK1CIIYgDEIgiIR8fH0hCyAQIBN9CyEBIAdBgIABTgRAIBFCgICAgICAwP//AIQhEUIAIQEMAQsgB0H//wBqIQggB0GBgH9MBEACQCAIDQAgBCABQgGGIANWIAtCAYYgAUI/iIQiASAUViABIBRRG618IgEgBFStIAJC////////P4N8IgNCgICAgICAwACDUA0AIAMgEYQhEQwCC0IAIQEMAQsgBCABQgGGIANaIAtCAYYgAUI/iIQiASAUWiABIBRRG618IgEgBFStIAJC////////P4N8IAitQjCGfCARhCERCyAAIAE3AwAgACARNwMIIAVBwAFqJAAPCyAAQgA3AwAgAEKAgICAgIDg//8AIBEgAiADhFAbNwMIIAVBwAFqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQUMAgsgBEKAgICAgICAgEB9IQUgAEKAgICAgICAgAiFQgBSDQEgBSAEQgGDfCEFDAELIABQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBQwBC0KAgICAgICA+P8AIQUgBEL///////+//8MAVg0AQgAhBSAEQjCIpyIDQZH3AEkNACACQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBCADQYH3AGsQ5BUgAiAAIARBgfgAIANrEOcVIAIpAwhCBIYgAikDACIEQjyIhCEFIAIpAxAgAikDGIRCAFKtIARC//////////8Pg4QiBEKBgICAgICAgAhaBEAgBUIBfCEFDAELIARCgICAgICAgIAIhUIAUg0AIAVCAYMgBXwhBQsgAkEgaiQAIAUgAUKAgICAgICAgIB/g4S/C2QCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahDkFSACKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALNQEBfyMAQRBrIgIkACACIAAtAAA6AA8gACABLQAAOgAAIAEgAkEPai0AADoAACACQRBqJAALNQEBfyMAQRBrIgIkACACIAAoAgA2AgwgACABKAIANgIAIAEgAkEMaigCADYCACACQRBqJAALnwUBBn8DQCABQQRrIQcDQCAAIQMDQAJAAkACQAJAAkACQAJAAkAgASADayIAQQJ1IgUOBgcHAAQBAgMLIAFBBGsiACADEPMVRQ0GIAMgABDxFQ8LIAMgA0EEaiADQQhqIAFBBGsQ9BUaDwsgAyADQQRqIANBCGogA0EMaiABQQRrEPUVGg8LIABB+wBMBEAgAyABEPYVDwsgAyAFQQJtQQJ0aiEEAn8gAEGdH04EQCADIAMgBUEEbUECdCIAaiAEIAAgBGogBxD1FQwBCyAD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fyABQQJxDQEgAEECOgAAQQEFQQALDwsACx4BAX8jAEEQayIBJAAgASAAEP4aEIIbIAFBEGokAAszAQF/IwBBEGsiASQAIAFBCGogACgCBBCTGCgCAEEBOgAAIAAoAghBAToAACABQRBqJAALAwAACw0AQYjVCigCABEOAAALBgBB4c0JCy0BAX8gAEGkzgk2AgAgAEEEaigCAEEMayIBQQhqELwZQX9MBEAgARCiGwsgAAsKACAAEIYbEKIbCw0AIAAQhhsaIAAQohsLCwAgACABQQAQihsLLQAgAkUEQCAAKAIEIAEoAgRGDwsgACABRgRAQQEPCyAAEM0UIAEQzRQQ/xRFC6cBAQF/IwBBQGoiAyQAAn9BASAAIAFBABCKGw0AGkEAIAFFDQAaQQAgAUG8zwlB7M8JEIwbIgFFDQAaIANBCGpBBHJBAEE0EK8bGiADQQE2AjggA0F/NgIUIAMgADYCECADIAE2AgggASADQQhqIAIoAgBBASABKAIAKAIcEQYAIAMoAiAiAEEBRgRAIAIgAygCGDYCAAsgAEEBRgshACADQUBrJAAgAAujAgEDfyMAQUBqIgMkACAAKAIAIgVBBGsoAgAhBCAFQQhrKAIAIQUgA0EANgIUIAMgATYCECADIAA2AgwgAyACNgIIQQAhASADQRhqQQBBJxCvGxogACAFaiEAAkAgBCACQQAQihsEQCADQQE2AjggBCADQQhqIAAgAEEBQQAgBCgCACgCFBENACAAQQAgAygCIEEBRhshAQwBCyAEIANBCGogAEEBQQAgBCgCACgCGBEIAAJAAkAgAygCLA4CAAECCyADKAIcQQAgAygCKEEBRhtBACADKAIkQQFGG0EAIAMoAjBBAUYbIQEMAQsgAygCIEEBRwRAIAMoAjANASADKAIkQQFHDQEgAygCKEEBRw0BCyADKAIYIQELIANBQGskACABC10BAX8gACgCECIDRQRAIABBATYCJCAAIAI2AhggACABNgIQDwsCQCABIANGBEAgACgCGEECRw0BIAAgAjYCGA8LIABBAToANiAAQQI2AhggACAAKAIkQQFqNgIkCwsaACAAIAEoAghBABCKGwRAIAEgAiADEI0bCwszACAAIAEoAghBABCKGwRAIAEgAiADEI0bDwsgACgCCCIAIAEgAiADIAAoAgAoAhwRBgALUgEB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DQA/AEEQdCAASQRAIAAQKkUNAQtBjNUKIAA2AgAgAQ8LQcT9CkEwNgIAQX8LRgAgAL1C////////////AINCgICAgICAgPj/AFgEQCAAIAAgAaUgAb1C////////////AINCgICAgICAgPj/AFYbDwsgAQucBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEOEVRQ0AIAMgBBCtGyEHIAJCMIinIghB//8BcSIGQf//AUYNACAHDQELIAVBEGogASACIAMgBBDqFSAFIAUpAxAiBCAFKQMYIgMgBCADEO0VIAUpAwghAiAFKQMAIQQMAQsgASACQv///////z+DIAatQjCGhCIKIAMgBEL///////8/gyAEQjCIp0H//wFxIgetQjCGhCIJEOEVQQBMBEAgASAKIAMgCRDhFQRAIAEhBAwCCyAFQfAAaiABIAJCAEIAEOoVIAUpA3ghAiAFKQNwIQQMAQsgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQ6hUgBSkDaCIKQjCIp0H4AGshBiAFKQNgCyEEIAdFBEAgBUHQAGogAyAJQgBCgICAgICAwLvAABDqFSAFKQNYIglCMIinQfgAayEHIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQhCyAKQv///////z+DQoCAgICAgMAAhCEKIAYgB0oEQANAAn4gCiALfSADIARWrX0iCUIAWQRAIAkgBCADfSIEhFAEQCAFQSBqIAEgAkIAQgAQ6hUgBSkDKCECIAUpAyAhBAwFCyAJQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiALfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQ6hUgBSkDOCECIAUpAzAhBAwBCyAJQv///////z9YBEADQCAEQj+IIQMgBkEBayEGIARCAYYhBCADIAlCAYaEIglCgICAgICAwABUDQALCyAIQYCAAnEhByAGQQBMBEAgBUFAayAEIAlC////////P4MgBkH4AGogB3KtQjCGhEIAQoCAgICAgMDDPxDqFSAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu4AgMCfwF+AnwCQAJ8IAC9IgNCIIinQf////8HcSIBQYDgv4QETwRAAkAgA0IAUw0AIAFBgIDAhARJDQAgAEQAAAAAAADgf6IPCyABQYCAwP8HTwRARAAAAAAAAPC/IACjDwsgAEQAAAAAAMyQwGVBAXMNAkQAAAAAAAAAACADQn9XDQEaDAILIAFB//+/5ANLDQEgAEQAAAAAAADwP6ALDwsgAEQAAAAAAAC4QqAiBL2nQYABaiIBQQR0QfAfcSICQZDWCWorAwAiBSAFIAAgBEQAAAAAAAC4wqChIAJBCHJBkNYJaisDAKEiAKIgACAAIAAgAER0XIcDgNhVP6JEAAT3iKuygz+gokSmoATXCGusP6CiRHXFgv+9v84/oKJE7zn6/kIu5j+goqAgAUGAfnFBgAJtEKwbC6gBAAJAIAFBgAhOBEAgAEQAAAAAAADgf6IhACABQf8PSARAIAFB/wdrIQEMAgsgAEQAAAAAAADgf6IhACABQf0XIAFB/RdIG0H+D2shAQwBCyABQYF4Sg0AIABEAAAAAAAAEACiIQAgAUGDcEoEQCABQf4HaiEBDAELIABEAAAAAAAAEACiIQAgAUGGaCABQYZoShtB/A9qIQELIAAgAUH/B2qtQjSGv6ILRAIBfwF+IAFC////////P4MhAwJ/IAFCMIinQf//AXEiAkH//wFHBEBBBCACDQEaQQJBAyAAIAOEUBsPCyAAIAOEUAsLggQBA38gAkGABE8EQCAAIAEgAhArGiAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIAJBAUgEQCAAIQIMAQsgAEEDcUUEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA08NASACQQNxDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC+kCAQF/AkAgACABRg0AIAEgAGsgAmtBACACQQF0a00EQCAAIAEgAhCuGxoPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIAAgAmpBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiED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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgMsAAAiBEHMAGsOKQATExMTExMTARMTExMTExMTExMTEwMTBAUGAgcTCBMTCQoLDA0ODxAREgsgABD3GyECDBULIAAQ6BshAgwUCwJAIABBARDDGyICQfAARwRAIAJB/wFxQcwARw0BIABBAhDDG0Ewa0EJSw0BCyAAEK8cIQIMFAsgABCwHCECDBMLAkACQAJAAkACQAJAAkAgAywAASIEQeEAaw4EARkZAgALIARBzgBGDQMgBEHTAEYNBCAEQe4ARg0CIARB9ABGDQUgBEH6AEcNGCAAIANBAmo2AgAgASAAEPYbIgI2AvgEIAJFDRcgAEGZ/gkgAUH4BGoQlxwhAgwYCyAAIANBAmo2AgAgASABQagFakGP/gkQwBspAgA3AxAgACABQRBqELEcIQIMFwsgACADQQJqNgIAIAEgAUGgBWpBkv4JEMAbKQIANwMYIAAgAUEYahCyHCECDBYLIAAgA0ECajYCACABIAFBmAVqQZL+CRDAGykCADcDICAAIAFBIGoQsRwhAgwVCyAAIANBAmo2AgAgASABQZAFakGU/gkQwBspAgA3AyggACABQShqELEcIQIMFAsgACADQQJqNgIAIAEgAUGIBWpBl/4JEMAbKQIANwMwIAAgAUEwahCxHCECDBMLIAAgA0ECajYCACABIAAQyRsiAjYC+AQgAkUNESAAQZn+CSABQfgEahCXHCECDBILAkACQAJAAkACQCADLAABIgRB7ABrDgQBAhYDAAsgBEH2AEYNAyAEQeMARw0VIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0UIAEgAxD2GyICNgKEBSACRQ0UIABBoANqQaP+CSABQfgEaiABQYQFahDEHCECDBULIAAgA0ECajYCACABIAAiBBD2GyIDNgKEBSADRQ0UIABBCGoiBRD2ASEGA0AgAEHFABDFG0UEQCABIAQQ9hsiAzYC+AQgA0UNFiAFIAFB+ARqENgbDAELCyABQfgEaiAAIAYQ2RsgAEGgA2ogAUGEBWogAUH4BGoQxRwhAgwUCyAAIANBAmo2AgAgASABQfAEakGu/gkQwBspAgA3AzggACABQThqELEcIQIMEwsgACADQQJqNgIAIAEgAUHoBGpBsP4JEMAbKQIANwNAIAAgAUFAaxCyHCECDBILIAAQsxwhAgwRCwJAAkACQAJAAkACQAJAIAMsAAEiBEHsAGsOCwEXAhcXFxcDBBcFAAsCQAJAAkAgBEHhAGsOBQAZARkCCAsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0XIAFBAToAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBgLIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0WIAEgAxD2GyICNgKEBSACRQ0WIABBoANqQbL+CSABQfgEaiABQYQFahDEHCECDBcLIAAgA0ECajYCACABIAFB4ARqQb/+CRDAGykCADcDSCAAIAFByABqELIcIQIMFgsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0UIAFBADoAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBULIAAQtRwhAgwUCyAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNEiABIAMQ9hsiAjYChAUgAkUNEiAAIAFB+ARqQcH+CSABQYQFahC2HCECDBMLIAAgA0ECajYCACABIAAiAxD2GyICNgL4BCACRQ0RIAEgAxD2GyICNgKEBSACRQ0RIABBoANqIAFB+ARqQcT+CSABQYQFahDMHCECDBILIAAgA0ECajYCACABIAFB2ARqQcb+CRDAGykCADcDUCAAIAFB0ABqELEcIQIMEQsgBEHWAEcNECAAIANBAmo2AgAgASABQdAEakHI/gkQwBspAgA3A1ggACABQdgAahCxHCECDBALAkACQAJAIAMsAAEiBEHvAGsOAwASAgELIAAgA0ECajYCACABIAFByARqQcv+CRDAGykCADcDYCAAIAFB4ABqELEcIQIMEQsgBEHPAEcNECAAIANBAmo2AgAgASABQcAEakHN/gkQwBspAgA3A2ggACABQegAahCxHCECDBALIAAgA0ECajYCACABIAFBuARqQdD+CRDAGykCADcDcCAAIAFB8ABqELEcIQIMDwsgAywAASIEQfQARwRAIARB5QBHDQ8gACADQQJqNgIAIAEgAUGwBGpB0/4JEMAbKQIANwN4IAAgAUH4AGoQsRwhAgwPCyAAIANBAmo2AgAgASABQagEakHW/gkQwBspAgA3A4ABIAAgAUGAAWoQsRwhAgwOCyADLAABIgRB7ABHBEAgBEH4AEcNDiAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNDSABIAMQ9hsiAjYChAUgAkUNDSAAQaADakEQEPwbIAFB+ARqKAIAIAFBhAVqKAIAEK0dIQIMDgsgACADQQJqNgIAIABBCGoiBBD2ASEFA0AgAEHFABDFG0UEQCABIAAQtxwiAzYC+AQgA0UNDyAEIAFB+ARqENgbDAELCyABQQA2AoQFIAFB+ARqIAAgBRDZGyAAQaADaiABQYQFaiABQfgEahDOHCECDA0LAkACQAJAAkAgAywAASIEQfMAaw4CAQMACyAEQdMARg0BIARB5QBHDQ8gACADQQJqNgIAIAEgAUGgBGpB2P4JEMAbKQIANwOIASAAIAFBiAFqELEcIQIMDwsgACADQQJqNgIAIAEgAUGYBGpB2/4JEMAbKQIANwOQASAAIAFBkAFqELEcIQIMDgsgACADQQJqNgIAIAEgAUGQBGpB3v4JEMAbKQIANwOYASAAIAFBmAFqELEcIQIMDQsgACADQQJqNgIAIAEgAUGIBGpB4v4JEMAbKQIANwOgASAAIAFBoAFqELEcIQIMDAsCQAJAAkACQAJAAkAgAywAASIEQekAaw4FARERAwUACyAEQckAaw4EARAQAxALIAAgA0ECajYCACABIAFBgARqQeT+CRDAGykCADcDqAEgACABQagBahCxHCECDA8LIAAgA0ECajYCACABIAFB+ANqQeb+CRDAGykCADcDsAEgACABQbABahCxHCECDA4LIAAgA0ECajYCACABIAFB8ANqQb/+CRDAGykCADcDuAEgACABQbgBahCxHCECDA0LIAAgA0ECajYCACABIAFB6ANqQen+CRDAGykCADcDwAEgACABQcABahCxHCECDAwLIAAgA0ECajYCACAAQd8AEMUbBEAgASABQeADakHs/gkQwBspAgA3A8gBIAAgAUHIAWoQshwhAgwMCyABIAAQ9hsiAjYC+AQgAkUNCiAAIAFB+ARqQez+CRC4HCECDAsLAkACQAJAAkACQAJAIAMsAAEiBEHhAGsOBwEQEBACEAMACyAEQfQAaw4FAw8PAAQPCyAAELkcIQIMDgsgACADQQJqNgIAIAEgAUHYA2pB7/4JEMAbKQIANwPQASAAIAFB0AFqELEcIQIMDQsgACADQQJqNgIAIAEgAUHQA2pB5P4JEMAbKQIANwPYASAAIAFB2AFqELIcIQIMDAsgACADQQJqNgIAIAEgAUHIA2pB8v4JEMAbKQIANwPgASAAIAFB4AFqELIcIQIMCwsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0JIABBoANqQfT+CSABQfgEakGK/gkQvBwhAgwKCwJAAkACQAJAIAMsAAEiBEHuAGsOBQABDQ0CAwsgABC1HCECDAwLIAAgA0ECajYCACABIAFBwANqQf/+CRDAGykCADcD6AEgACABQegBahCxHCECDAsLIAAgA0ECajYCACABIAFBuANqQYL/CRDAGykCADcD8AEgACABQfABahCxHCECDAoLIARB0gBHDQkgACADQQJqNgIAIAEgAUGwA2pBhP8JEMAbKQIANwP4ASAAIAFB+AFqELEcIQIMCQsCQAJAAkACQAJAAkAgAywAASIEQewAaw4JAQAODgMODgQFAgsgACADQQJqNgIAIAEgAUGoA2pBh/8JEMAbKQIANwOAAiAAIAFBgAJqELEcIQIMDQsgACADQQJqNgIAIAEgAUGgA2pBi/8JEMAbKQIANwOIAiAAIAFBiAJqELEcIQIMDAsgBEHMAEcNCyAAIANBAmo2AgAgASABQZgDakGN/wkQwBspAgA3A5ACIAAgAUGQAmoQsRwhAgwLCyAAIANBAmo2AgAgAEHfABDFGwRAIAEgAUGQA2pBkP8JEMAbKQIANwOYAiAAIAFBmAJqELIcIQIMCwsgASAAEPYbIgI2AvgEIAJFDQkgACABQfgEakGQ/wkQuBwhAgwKCyAAIANBAmo2AgAgASABQYgDakGL/wkQwBspAgA3A6ACIAAgAUGgAmoQshwhAgwJCyAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNByABIAMQ9hsiAjYChAUgAkUNByAAIAFB+ARqQZP/CSABQYQFahC2HCECDAgLIAMtAAFB9QBHDQcgACADQQJqNgIAIAEgACICEPYbIgM2AvgEIANFDQYgASACEPYbIgM2AoQFIANFDQYgASACEPYbIgI2AoQDIAJFDQYgAEGgA2pBFBD8GyABQfgEaigCACABQYQFaigCACABQYQDaigCABC7HSECDAcLAkACQCADLAABIgRBzQBHBEAgBEHTAEYNAiAEQfMARg0BIARB7QBHBEAgBEHjAEcNCiAAIANBAmo2AgAgASAAIgMQyRsiAjYC+AQgAkUNCSABIAMQ9hsiAjYChAUgAkUNCSAAQaADakGW/wkgAUH4BGogAUGEBWoQxBwhAgwKCyAAIANBAmo2AgAgASABQfgCakGn/wkQwBspAgA3A6gCIAAgAUGoAmoQsRwhAgwJCyAAIANBAmo2AgAgASABQfACakGp/wkQwBspAgA3A7ACIAAgAUGwAmoQsRwhAgwICyAAIANBAmo2AgAgASABQegCakGs/wkQwBspAgA3A7gCIAAgAUG4AmoQsRwhAgwHCyAAIANBAmo2AgAgASABQeACakGv/wkQwBspAgA3A8ACIAAgAUHAAmoQsRwhAgwGCwJAAkACQAJAAkACQAJAIAMsAAEiBEHwAGsOBQEMAgwDAAsgBEHQAEYNBSAEQdoARg0EIARB+gBGDQMgBEHjAEcNCyAAIANBAmo2AgAgASAAIgMQyRsiAjYC+AQgAkUNCiABIAMQ9hsiAjYChAUgAkUNCiAAQaADakGz/wkgAUH4BGogAUGEBWoQxBwhAgwLCyAAIANBAmo2AgAgASAAEPYbIgI2AvgEIAJFDQkgACABQfgEahDjGyECDAoLIAAQtRwhAgwJCyAAIANBAmo2AgAgASAAEMkbIgI2AvgEIAJFDQcgAEG//wkgAUH4BGoQlxwhAgwICyAAIANBAmo2AgAgASAAEPYbIgI2AvgEIAJFDQYgAEG//wkgAUH4BGoQlxwhAgwHCyAAIANBAmo2AgAgAEEAEMMbIgNB5gBHBEAgA0H/AXFB1ABHDQcgASAAEOgbIgI2AvgEIAJFDQYgAEGgA2ogAUH4BGoQ0RwhAgwHCyABIAAQrxwiAjYC+AQgAkUNBSAAIAFB+ARqELocIQIMBgsgACADQQJqNgIAIABBCGoiBBD2ASEFA0AgAEHFABDFG0UEQCABIAAQ1xsiAzYC+AQgA0UNByAEIAFB+ARqENgbDAELCyABQfgEaiAAIAUQ2RsgASAAQaADaiABQfgEahDSHDYChAUgACABQYQFahC6HCECDAULAkACQAJAAkACQCADLAABIgRB6QBrDgQBCQkCAAsgBEH3AEYNAyAEQfIARg0CIARB5QBHDQggACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0HIABB1P8JIAFB+ARqEJccIQIMCAsgACADQQJqNgIAIAEgABDJGyICNgL4BCACRQ0GIABB1P8JIAFB+ARqEJccIQIMBwsgACADQQJqNgIAIAEgACIDEMkbIgI2AoQFIAJFDQUgAEEIaiIEEPYBIQUDQCAAQcUAEMUbRQRAIAEgAxC3HCICNgL4BCACRQ0HIAQgAUH4BGoQ2BsMAQsLIAFB+ARqIAAgBRDZGyAAQaADaiABQYQFaiABQfgEahDTHCECDAYLIAAgA0ECajYCACAAQd3/CRDeGyECDAULIAAgA0ECajYCACABIAAQ9hsiAjYC+AQgAkUNAyAAQaADaiABQfgEahDUHCECDAQLIARBMWtBCUkNAQsgASABQdgCakHj/wkQwBspAgA3AwggACABQQhqEMEbBEAgASAAEMkbIgI2AvgEIAJFDQIgACABQfgEahC7HCECDAMLIAEgAUHQAmpB7/8JEMAbKQIANwMAIAAgARDBG0UNAiABIAAQ9hsiAjYC+AQgAkUNASAAIAFB+ARqELscIQIMAgsgABC1HCECDAELQQAhAgsgAUHABWokACACC7cKAQN/IwBBsAJrIgEkAAJAIABBzAAQxRtFDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBABDDG0HBAGsOORMWFhQWFhYWFhYWFhYWFhYWFhYXFRYWFhYWFhYWFhIWAwECEBEPFgQHCBYJCg0OFhYWBQYWFgALDBYLIAAgACgCAEEBajYCACABIAFBqAJqQfv/CRDAGykCADcDACAAIAEQvRwhAgwWCyABIAFBoAJqQYOAChDAGykCADcDECAAIAFBEGoQwRsEQCABQQA2ApABIAAgAUGQAWoQvhwhAgwWCyABIAFBmAJqQYeAChDAGykCADcDCCAAIAFBCGoQwRtFDRUgAUEBNgKQASAAIAFBkAFqEL4cIQIMFQsgACAAKAIAQQFqNgIAIAEgAUGQAmpBi4AKEMAbKQIANwMYIAAgAUEYahC9HCECDBQLIAAgACgCAEEBajYCACABIAFBiAJqQZCAChDAGykCADcDICAAIAFBIGoQvRwhAgwTCyAAIAAoAgBBAWo2AgAgASABQYACakGcgAoQwBspAgA3AyggACABQShqEL0cIQIMEgsgACAAKAIAQQFqNgIAIAEgAUH4AWpBqoAKEMAbKQIANwMwIAAgAUEwahC9HCECDBELIAAgACgCAEEBajYCACABIAFB8AFqQbCAChDAGykCADcDOCAAIAFBOGoQvRwhAgwQCyAAIAAoAgBBAWo2AgAgASABQegBakG/gAoQwBspAgA3A0AgACABQUBrEL0cIQIMDwsgACAAKAIAQQFqNgIAIAEgAUHgAWpBwIAKEMAbKQIANwNIIAAgAUHIAGoQvRwhAgwOCyAAIAAoAgBBAWo2AgAgASABQdgBakHCgAoQwBspAgA3A1AgACABQdAAahC9HCECDA0LIAAgACgCAEEBajYCACABIAFB0AFqQcSAChDAGykCADcDWCAAIAFB2ABqEL0cIQIMDAsgACAAKAIAQQFqNgIAIAEgAUHIAWpBx4AKEMAbKQIANwNgIAAgAUHgAGoQvRwhAgwLCyAAIAAoAgBBAWo2AgAgASABQcABakHKgAoQwBspAgA3A2ggACABQegAahC9HCECDAoLIAAgACgCAEEBajYCACABIAFBuAFqQc6AChDAGykCADcDcCAAIAFB8ABqEL0cIQIMCQsgACAAKAIAQQFqNgIAIAEgAUGwAWpB14AKEMAbKQIANwN4IAAgAUH4AGoQvRwhAgwICyAAIAAoAgBBAWo2AgAgABC/HCECDAcLIAAgACgCAEEBajYCACAAEMAcIQIMBgsgACAAKAIAQQFqNgIAIAAQwRwhAgwFCyABIAFBqAFqQZD2CRDAGykCADcDgAECQCAAIAFBgAFqEMEbRQ0AIAAQwhsiAkUNACAAQcUAEMUbDQULQQAhAgwECyABIAAQyRsiAzYCkAEgA0UNAyAAQcUAEMUbRQ0DIABBoANqIAFBkAFqENUcIQIMAwsgASABQaABakHpgAoQwBspAgA3A4gBIAAgAUGIAWoQwRtFDQIgAEHtgAoQ3hshAgwCCyAAQQEQwxtB7ABHDQEgASAAQQAQmRwiAzYCkAEgA0UNASAAQcUAEMUbRQ0BIABBoANqIAFBkAFqEN0cIQIMAQsgASAAEMkbIgM2ApwBIANFDQAgAUGQAWogAEEAEMYbIAFBkAFqEMcbDQAgAEHFABDFG0UNACAAQaADaiABQZwBaiABQZABahDeHCECCyABQbACaiQAIAILdgECfyAAEPYBIQMCQAJAIAAQzxsEQCABQQJ0EKEbIgJFDQIgACgCACAAKAIEIAIQrhwgACACNgIADAELIAAgACgCACABQQJ0EKMbIgI2AgAgAkUNAQsgACACIAFBAnRqNgIIIAAgAiADQQJ0ajYCBA8LEIQbAAtUAgF/AX4jAEEQayICJAAgAEEQEPwbIQAgAiABKQIAIgM3AwAgAiADNwMIIABBCUEBQQFBARCAHCAAQaC5CjYCACAAIAIpAgA3AgggAkEQaiQAIAALKwAgAiADIAFBoANqIAMgAmtBAnUiAUECdBD8GyICEK4cIAAgAiABEJAZGgtqAgF/AX4jAEEQayIHJAAgAEEkEPwbIQAgAigCACECIAEoAgAhASAHIAMpAgAiCDcDCCAGLQAAIQYgBSgCACEFIAQoAgAhBCAHIAg3AwAgACABIAIgByAEIAUgBhDmHSEEIAdBEGokACAEC1wBA38gACgCgCAiAigCBCIEIAFBD2pBcHEiAWoiA0H4H08EQCABQfkfTwRAIAAgARD+Gw8LIAAQ/xsgACgCgCAiAigCBCIEIAFqIQMLIAIgAzYCBCACIARqQQhqCzEBAX4gAEEUQQFBAUEBEIAcIABB3PgJNgIAIAEpAgAhAyAAIAI2AhAgACADNwIIIAALPQEBfyABQQhqEKEbIgFFBEAQhBsACyAAKAKAICIAKAIAIQIgAUEANgIEIAEgAjYCACAAIAE2AgAgAUEIagsyAQJ/QYAgEKEbIgFFBEAQhBsACyAAKAKAICECIAFBADYCBCABIAI2AgAgACABNgKAIAsnACAAIAQ6AAcgACADOgAGIAAgAjoABSAAIAE6AAQgAEH0+Qk2AgALOgIBfwF+IwBBEGsiAiQAIAIgACkCCCIDNwMAIAIgAzcDCCABIAIQghwgACgCECABELwbIAJBEGokAAs3AQF/IAEQxBsiAgRAIAAgAhDKGyAAKAIAIAAoAgRqIAEoAgAgAhCwGyAAIAAoAgQgAmo2AgQLCwgAIAAQ2hsaCygAIABBFUEBQQFBARCAHCAAIAI2AgwgACABNgIIIABBoPoJNgIAIAALYQEBfyMAQSBrIgIkACACIAJBGGpBjPsJEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIIAEQvBsgAiACQRBqQaX7CRDAGykCADcDACABIAIQghwgACgCDCABELwbIAJBIGokAAtjAQF/IwBBEGsiASQAIAFBADYCDCAAQfIAEMUbBEAgAUEMakEEEJQcCyAAQdYAEMUbBEAgAUEMakECEJQcCyAAQcsAEMUbBEAgAUEMakEBEJQcCyABKAIMIQAgAUEQaiQAIAALiQEBAn8jAEEQayICJAAgAiABNgIMIAEEfwJAIAAoAgAiAygCAARAIAAoAgRBoANqQRAQ/BsgAygCACACQQxqKAIAEJ4cIQEgACgCACABNgIADAELIAMgATYCAAsgACgCCCgCACIBBEAgAUEAOgABCyAAKAIAKAIAQQBHBUEACyEAIAJBEGokACAAC8YCAQN/IwBBIGsiAyQAAkAgASgCACIELQAEQSlHDQAgAyAEKAIIIgQ2AhwgBEECa0EDSw0AIAEgAEGgA2ogA0EcahDBHTYCAAsCQCAAQcMAEMUbBEBBACEEIABByQAQxRshBSAAQQAQwxtBMWtB/wFxQQRLDQEgAyAAQQAQwxtBMGs2AhggACAAKAIAQQFqNgIAIAIEQCACQQE6AAALAkAgBUUNACAAIAIQ1BsNAAwCCyADQQA6ABcgACABIANBF2ogA0EYahCYHCEEDAELQQAhBCAAQQAQwxtBxABHDQAgAEEBEMMbQf8BcUEwayIFQQVLDQAgBUEDRg0AIAMgAEEBEMMbQTBrNgIQIAAgACgCAEECajYCACACBEAgAkEBOgAACyADQQE6AA8gACABIANBD2ogA0EQahCYHCEECyADQSBqJAAgBAtjAQF/IwBBEGsiAiQAIAIgATYCDAJ/AkADQCAAQcIAEMUbRQ0BIAIgABDfGyACEMcbRQRAIAIgAEGgA2ogAkEMaiACEMYdNgIMDAELC0EADAELIAIoAgwLIQAgAkEQaiQAIAAL6AEBBH8jAEEgayICJAACfwJAAkACQAJ/IABBABDDGyIDQdUARgRAIAAgARCZHAwBCyADQTFrQf8BcUEITQRAIAAQmhwMAQsgAiACQRhqQaaxChDAGykCADcDCCAAIAJBCGoQwRsEQCAAQQhqIgQQ9gEhBSAAIQMDQCACIAMQmhwiATYCECABRQ0DIAQgAkEQahDYGyAAQcUAEMUbRQ0ACyACQRBqIAAgBRDZGyAAQaADaiACQRBqEMkdIQEMBAsgACABEJscCyIBDQELQQAMAgsgACEDCyADIAEQiRwLIQAgAkEgaiQAIAALDwAgACAAKAIEQQRrNgIEC68BAQJ/AkAgACABRg0AIAAsAAAiAkHfAEYEQCAAQQFqIgIgAUYNASACLAAAIgJBMGtBCU0EQCAAQQJqDwsgAkHfAEcNASAAQQJqIQIDQCABIAJGDQIgAiwAACIDQTBrQQlNBEAgAkEBaiECDAELCyACQQFqIAAgA0HfAEYbDwsgAkEwa0EJSw0AIAAhAgNAIAEgAkEBaiICRgRAIAEPCyACLAAAQTBrQQpJDQALCyAACxoAIABBoANqQRAQ/BsgASgCACACKAIAEMsdCzUAIABBoANqQQwQ/BshACABKAIAIQEgAEEpQQFBAUEBEIAcIAAgATYCCCAAQaCzCjYCACAACwwAIAAgACgCADYCBAtjACAAEM4bIQAgARDPGwRAIAEoAgAgASgCBCAAKAIAEK4cIAAgACgCACABEPYBQQJ0ajYCBCABEI8cIAAPCyAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCABEM4dIAALowEBAn8gARDPGyEDIAAQzxshAgJAIAMEQCACRQRAIAAoAgAQohsgABDOHQsgASgCACABKAIEIAAoAgAQrhwgACAAKAIAIAEQ9gFBAnRqNgIEDAELIAIEQCAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCABEM4dDwsgACABEMMcIABBBGogAUEEahDDHCAAQQhqIAFBCGoQwxwLIAEQjxwLDAAgACABKQIINwIACwoAIAAoAgRBBGsLDwAgACAAKAIAIAFyNgIACzoBAX8jAEEQayICJAAgAEEQEPwbIQAgAiACQQhqIAEQwBspAgA3AwAgACACEJwcIQAgAkEQaiQAIAALXQECfyABQQA2AgACQCAAQQAQwxtBMGtB/wFxQQlLIgMNAANAIABBABDDG0Ewa0H/AXFBCUsNASABIAJBCmw2AgAgASAAEKEcIAEoAgBqQTBrIgI2AgAMAAsACyADCxMAIABBoANqIAEgAkGK/gkQvBwLHwAgAEGgA2pBFBD8GyABKAIAIAItAAAgAygCABDEHQuiBAEGfyMAQaABayICJAAgAQRAIABBzAJqEI8cCyACIAJBmAFqQaqGChDAGykCADcDGAJAIAAgAkEYahDBGwRAQQAhASACQcgAaiAAQQAQxhsgAEHfABDFG0UNASAAQaADaiACQcgAahDrHCEBDAELIAIgAkGQAWpBrYYKEMAbKQIANwMQIAAgAkEQahDBGwRAIAJBgAFqIABBiANqIABBzAJqIgMQ9gEQ1hwhBiACQcgAaiAAENccIQcgAEEIaiIEEPYBIQUCfwJAA0ACQCAAQQAQwxtB1ABHDQAgAkFAa0GwhgoQwBsgAEEBEMMbENgcQX9GDQAgAiAAENkcIgE2AkAgAUUNAiAEIAJBQGsQ2BsMAQsLIAJBQGsgACAFENkbIAJBQGsQ2hwEQCADEIscCyACIAJBOGpBtYYKEMAbKQIANwMAIAAgAhDBG0UEQCAAIQMDQCACIAMQyRsiATYCMCABRQ0CIAQgAkEwahDYGyAAQcUAEMUbRQ0ACwsgAkEwaiAAIAUQ2RsgAkEoaiAAQQAQxhtBACAAQd8AEMUbRQ0BGiAAQaADaiACQUBrIAJBMGogAkEoahDtHAwBC0EACyEBIAcQ2xwgBhDcHAwBCyACIAJBIGpBuIYKEMAbKQIANwMIQQAhASAAIAJBCGoQwRtFDQAgAkHIAGogAEEAEMYbIABB3wAQxRtFDQAgAEG7hgoQ3hshAQsgAkGgAWokACABC5kBAQN/IwBBIGsiASQAIAFBADYCHAJAIAAgAUEcahCWHA0AIAEoAhwiA0EBayAAEMQbTw0AIAFBEGogACgCACICIAIgA2oQkBkhAiAAIAAoAgAgA2o2AgAgASABQQhqQf6XChDAGykCADcDACACIAEQ0RsEQCAAQaADakGJmAoQlRwhAgwBCyAAIAIQ4BshAgsgAUEgaiQAIAILvhABBX8jAEEgayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEEAEMMbQeEAaw4WABEBAgMRBBEFEREGBwgJCgsMDRERDhELAkACQAJAAkAgAEEBEMMbIgFB4QBrDgQSFBQBAAsgAUHOAEYNASABQdMARg0CIAFB7gBHDRMLIAAgACgCAEECajYCACAAQYOaChDeGyECDBILIAAgACgCAEECajYCACAAQY2aChDeGyECDBELIAAgACgCAEECajYCACAAQZiaChDeGyECDBALAkACQAJAAkAgAEEBEMMbIgRB7ABrDgQAARMCAwsgACAAKAIAQQJqNgIAIABBopoKEN4bIQIMEgsgACAAKAIAQQJqNgIAIABBrZoKEN4bIQIMEQsgACAAKAIAQQJqNgIAIABBt5oKEN4bIQIMEAsgBEH2AEcNDyAAIAAoAgBBAmo2AgAgA0EYaiAAQYQDakEAEKQcIQQgA0EQaiAAQYUDaiABIAAtAIUDckEARxCkHCEFIAMgABDJGyIGNgIMIAYEQCABBEAgAUEBOgAACyAAIANBDGoQox0hAgsgBRCmHCAEEKYcDA8LAkACQAJAAkACQCAAQQEQwxsiAUHhAGsOBQETExMCAAsgAUHWAEYNAyABQewARg0CIAFB9gBHDRIgACAAKAIAQQJqNgIAIABB7ZoKEN4bIQIMEgsgACAAKAIAQQJqNgIAIABBwZoKEN4bIQIMEQsgACAAKAIAQQJqNgIAIABB05oKEN4bIQIMEAsgACAAKAIAQQJqNgIAIABB3ZoKEN4bIQIMDwsgACAAKAIAQQJqNgIAIABB95oKEN4bIQIMDgsCQAJAAkAgAEEBEMMbIgFB7wBrDgMAEAIBCyAAIAAoAgBBAmo2AgAgAEGCmwoQ3hshAgwPCyABQc8ARw0OIAAgACgCAEECajYCACAAQYybChDeGyECDA4LIAAgACgCAEECajYCACAAQZebChDeGyECDA0LIABBARDDGyIBQfQARwRAIAFB5QBHDQ0gACAAKAIAQQJqNgIAIABBopsKEN4bIQIMDQsgACAAKAIAQQJqNgIAIABBrZsKEN4bIQIMDAsgAEEBEMMbQfgARw0LIAAgACgCAEECajYCACAAQbebChDeGyECDAsLAkACQAJAAkACQAJAIABBARDDGyIBQeUAaw4FARAQEAIACyABQfMAaw4CAgQDCyAAIAAoAgBBAmo2AgAgAEHCmwoQ3hshAgwOCyAAIAAoAgBBAmo2AgAgAyAAEJocIgI2AhggAkUNDCAAQaADaiADQRhqEKYdIQIMDQsgACAAKAIAQQJqNgIAIABBzZsKEN4bIQIMDAsgAUHTAEcNCyAAIAAoAgBBAmo2AgAgAEHYmwoQ3hshAgwLCyAAIAAoAgBBAmo2AgAgAEHkmwoQ3hshAgwKCwJAAkACQAJAAkACQCAAQQEQwxsiAUHpAGsOBQEPDwMFAAsgAUHJAGsOBAEODgMOCyAAIAAoAgBBAmo2AgAgAEHumwoQ3hshAgwNCyAAIAAoAgBBAmo2AgAgAEH4mwoQ3hshAgwMCyAAIAAoAgBBAmo2AgAgAEHTmgoQ3hshAgwLCyAAIAAoAgBBAmo2AgAgAEGDnAoQ3hshAgwKCyAAIAAoAgBBAmo2AgAgAEGOnAoQ3hshAgwJCwJAAkACQAJAAkACQCAAQQEQwxsiAUHhAGsOBwEODg4CDgMACyABQfQAaw4EAw0NBA0LIAAgACgCAEECajYCACAAQZmcChDeGyECDAwLIAAgACgCAEECajYCACAAQaicChDeGyECDAsLIAAgACgCAEECajYCACAAQe6bChDeGyECDAoLIAAgACgCAEECajYCACAAQbOcChDeGyECDAkLIAAgACgCAEECajYCACAAQb2cChDeGyECDAgLAkACQAJAIABBARDDGyIBQe8Aaw4EAAoKAQILIAAgACgCAEECajYCACAAQcqcChDeGyECDAkLIAAgACgCAEECajYCACAAQdWcChDeGyECDAgLIAFB0gBHDQcgACAAKAIAQQJqNgIAIABB35wKEN4bIQIMBwsCQAJAAkACQAJAAkAgAEEBEMMbIgFB7ABrDgkBAAwMAwwMBAUCCyAAIAAoAgBBAmo2AgAgAEHqnAoQ3hshAgwLCyAAIAAoAgBBAmo2AgAgAEH2nAoQ3hshAgwKCyABQcwARw0JIAAgACgCAEECajYCACAAQYCdChDeGyECDAkLIAAgACgCAEECajYCACAAQYudChDeGyECDAgLIAAgACgCAEECajYCACAAQfacChDeGyECDAcLIAAgACgCAEECajYCACAAQZadChDeGyECDAYLIABBARDDG0H1AEcNBSAAIAAoAgBBAmo2AgAgAEGhnQoQ3hshAgwFCwJAAkAgAEEBEMMbIgFBzQBHBEAgAUHTAEYNAiABQfMARg0BIAFB7QBHDQcgACAAKAIAQQJqNgIAIABBq50KEN4bIQIMBwsgACAAKAIAQQJqNgIAIABBtZ0KEN4bIQIMBgsgACAAKAIAQQJqNgIAIABBwJ0KEN4bIQIMBQsgACAAKAIAQQJqNgIAIABBy50KEN4bIQIMBAsgAEEBEMMbQfMARw0DIAAgACgCAEECajYCACAAQdedChDeGyECDAMLIABBARDDG0Ewa0EJSw0CIAAgACgCAEECajYCACADIAAQmhwiAjYCGCACRQ0BIAAgA0EYahCjHSECDAILIAAgACgCAEECajYCACAAQfiZChDeGyECDAELQQAhAgsgA0EgaiQAIAILJAAgAEEHQQFBAUEBEIAcIABBvPsJNgIAIAAgASkCADcCCCAACzACAX8BfiMAQRBrIgIkACACIAApAggiAzcDACACIAM3AwggASACEIIcIAJBEGokAAsoACAAQRdBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQaD8CTYCACAAC0MBAX8jAEEQayICJAAgACgCCCABELwbIAIgAkEIakGA/QkQwBspAgA3AwAgASACEIIcIAAoAgwgARC8GyACQRBqJAALFgAgACABKAIMIgEgASgCACgCGBECAAsuAQF/An9BACAAKAIAIgEgACgCBEYNABogACABQQFqNgIAIAEtAAALQRh0QRh1Cy8AIABBJEECQQJBAhCAHCAAQQA6ABAgAEEANgIMIAAgATYCCCAAQZD9CTYCACAAC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARClHCEDIAQQphwLIAJBEGokACADC0kBAX8jAEEQayIDJAAgAyACOgAPIAAgATYCACABLQAAIQEgAEEBOgAFIAAgAToABCAAKAIAIANBD2otAAA6AAAgA0EQaiQAIAALJAEBfyAALQAFIgJBAkcEQCACRQ8LIAAgASAAKAIAKAIAEQMACxoAIAAtAAUEQCAAKAIAIABBBGotAAA6AAALC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARCoHCEDIAQQphwLIAJBEGokACADCyQBAX8gAC0ABiICQQJHBEAgAkUPCyAAIAEgACgCACgCBBEDAAtBAQN/IwBBEGsiAiQAIAAtABBFBEAgAkEIaiAAQRBqQQEQpBwhBCAAKAIMIAEQqhwhAyAEEKYcCyACQRBqJAAgAwskAQF/IAAtAAciAkECRwRAIAJFDwsgACABIAAoAgAoAggRAwALSwECfyMAQRBrIgIkACAALQAQRQRAIAJBCGogAEEQakEBEKQcIQMgACgCDCIAIAEgACgCACgCDBEDACEAIAMQphwLIAJBEGokACAAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhARAgAgAxCmHAsgAkEQaiQAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhQRAgAgAxCmHAsgAkEQaiQACxUAIAEgAGsiAQRAIAIgACABELAbCwvQAQECfyMAQTBrIgEkACABIAFBKGpBtI8KEMAbKQIANwMQAkAgACABQRBqEMEbBEAgABCGHBogAUEgaiAAQQAQxhsgAEHfABDFG0UNASAAIAFBIGoQwhwhAgwBCyABIAFBGGpBt48KEMAbKQIANwMIIAAgAUEIahDBG0UNACABQSBqIABBABDGGyABQSBqEMcbDQAgAEHwABDFG0UNACAAEIYcGiABQSBqIABBABDGGyAAQd8AEMUbRQ0AIAAgAUEgahDCHCECCyABQTBqJAAgAgusEQEGfyMAQZAEayIBJAACQCAAQeYAEMUbRQ0AIAECf0EBIABBABDDGyIEQcwARg0AGiAEQf8BcSIDQfIARwRAQQEgA0HsAEYNARogA0HSAEcNAgtBAAs6AI8EIAAgACgCAEEBajYCACABQYAEahDaGyEDIAEgAUH4A2pBqJAKEMAbKQIANwPwAQJAIAAgAUHwAWoQwRsEQCABQfADakGP/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHoA2pBq5AKEMAbKQIANwPoASAAIAFB6AFqEMEbBEAgAUHwA2pBkv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFB4ANqQa6QChDAGykCADcD4AEgACABQeABahDBGwRAIAFB8ANqQZT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgDakGxkAoQwBspAgA3A9gBIAAgAUHYAWoQwRsEQCABQfADakGX/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHQA2pBtJAKEMAbKQIANwPQASAAIAFB0AFqEMEbBEAgAUHwA2pBrv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFByANqQbeQChDAGykCADcDyAEgACABQcgBahDBGwRAIAFB8ANqQcH+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcADakG6kAoQwBspAgA3A8ABIAAgAUHAAWoQwRsEQCABQfADakHG/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUG4A2pBvZAKEMAbKQIANwO4ASAAIAFBuAFqEMEbBEAgAUHwA2pByP4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBsANqQcCQChDAGykCADcDsAEgACABQbABahDBGwRAIAFB8ANqQcv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQagDakHDkAoQwBspAgA3A6gBIAAgAUGoAWoQwRsEQCABQfADakHN/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGgA2pBxpAKEMAbKQIANwOgASAAIAFBoAFqEMEbBEAgAUHwA2pB0P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBmANqQcmQChDAGykCADcDmAEgACABQZgBahDBGwRAIAFB8ANqQdP+CRDAGxogASABKQPwAzcDgAQMAQsgASABQZADakHMkAoQwBspAgA3A5ABIAAgAUGQAWoQwRsEQCABQfADakHW/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGIA2pBz5AKEMAbKQIANwOIASAAIAFBiAFqEMEbBEAgAUHwA2pB2P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBgANqQdKQChDAGykCADcDgAEgACABQYABahDBGwRAIAFB8ANqQdv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfgCakHVkAoQwBspAgA3A3ggACABQfgAahDBGwRAIAFB8ANqQd7+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfACakHYkAoQwBspAgA3A3AgACABQfAAahDBGwRAIAFB8ANqQeL+CRDAGxogASABKQPwAzcDgAQMAQsgASABQegCakHbkAoQwBspAgA3A2ggACABQegAahDBGwRAIAFB8ANqQeT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQeACakHekAoQwBspAgA3A2AgACABQeAAahDBGwRAIAFB8ANqQeb+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgCakHhkAoQwBspAgA3A1ggACABQdgAahDBGwRAIAFB8ANqQb/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdACakHkkAoQwBspAgA3A1AgACABQdAAahDBGwRAIAFB8ANqQen+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcgCakHnkAoQwBspAgA3A0ggACABQcgAahDBGwRAIAFB8ANqQe/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcACakHqkAoQwBspAgA3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ahDHGw0AIABBxQAQxRtFDQAgAEGgA2ogASACQQhqEN8cIQMLIAJBEGokACADCzkAIABBoANqQQwQ/BshACABKAIAQQBHIQEgAEHBAEEBQQFBARCAHCAAIAE6AAggAEHwgQo2AgAgAAuWAQEFfyMAQRBrIgIkAAJ/QQAgABDEG0EJSQ0AGiACQQhqIAAoAgAiASABQQhqEJAZIgMoAgAhASADKAIEIQQCQANAIAEgBEYNASABLAAAIQUgAUEBaiEBIAUQoBcNAAtBAAwBCyAAIAAoAgBBCGo2AgBBACAAQcUAEMUbRQ0AGiAAQaADaiADEOQcCyEBIAJBEGokACABC5YBAQV/IwBBEGsiAiQAAn9BACAAEMQbQRFJDQAaIAJBCGogACgCACIBIAFBEGoQkBkiAygCACEBIAMoAgQhBAJAA0AgASAERg0BIAEsAAAhBSABQQFqIQEgBRCgFw0AC0EADAELIAAgACgCAEEQajYCAEEAIABBxQAQxRtFDQAaIABBoANqIAMQ5hwLIQEgAkEQaiQAIAELlgEBBX8jAEEQayICJAACf0EAIAAQxBtBIUkNABogAkEIaiAAKAIAIgEgAUEgahCQGSIDKAIAIQEgAygCBCEEAkADQCABIARGDQEgASwAACEFIAFBAWohASAFEKAXDQALQQAMAQsgACAAKAIAQSBqNgIAQQAgAEHFABDFG0UNABogAEGgA2ogAxDoHAshASACQRBqJAAgAQsNACAAQaADaiABEIcdCxwBAX8gACgCACECIAAgASgCADYCACABIAI2AgALUAEBfyMAQRBrIgQkACAAQRgQ/BshACAEQQhqIAEQwBshASADKAIAIQMgAigCACECIAQgASkCADcDACAAIAQgAiADEJcdIQIgBEEQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQmR0hAiADQRBqJAAgAgsPACAAQaADaiABIAIQmx0LgQEBAn8jAEEQayICJAACQAJAIABBABDDGyIBQcQARwRAIAFB/wFxQdQARw0BIAIgABDoGyIBNgIMIAFFDQIgAEGUAWogAkEMahDYGwwCCyACIAAQ4RsiATYCCCABRQ0BIABBlAFqIAJBCGoQ2BsMAQsgABDsGyEBCyACQRBqJAAg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IwBBEGsiAiQAIAIgATYCDCAAKAIAIgAgAUECdGpBjANqIgEgASgCACIBQQFqNgIAIAIgATYCCCACIABBoANqQRAQ/BsgAkEMaigCACACQQhqKAIAEPIcIgE2AgQgAEHMAmoQkxwoAgAgAkEEahDYGyACQRBqJAAgAQttAgF/A34jAEEwayIEJAAgAEEgEPwbIQAgBCABKQIAIgU3AyggBCACKQIAIgY3AyAgBCADKQIAIgc3AxggBCAFNwMQIAQgBjcDCCAEIAc3AwAgACAEQRBqIARBCGogBBCBHSEDIARBMGokACADC2wCAX8BfiMAQTBrIgIkACACIAJBKGpBuIcKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAggiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAJBMGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEcQQBBAUEBEIAcIAAgATYCCCAAQeCICjYCACAAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPwcIQIgA0EQaiQAIAILMQAgAEEMEPwbIQAgASgCACEBIABBH0EAQQFBARCAHCAAIAE2AgggAEHwiwo2AgAgAAsoACAAQRtBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQdyHCjYCACAAC3oBAX8jAEEgayICJAACQCACAn8CQAJAAkAgACgCCA4DAAECBAsgAkEYakHMiAoQwBsMAgsgAkEQakHPiAoQwBsMAQsgAkEIakHSiAoQwBsLKQIANwMAIAEgAhCCHAsgACgCDCIABEAgASAAQQFrrRD0HAsgAkEgaiQAC3gBAn8jAEEwayICJAACQCABUARAIABBMBC9GwwBCyACQRBqEPUcIQMDQCABUEUEQCADQQFrIgMgASABQgqAIgFCCn59p0EwcjoAAAwBCwsgAiACQQhqIAMgAkEQahD1HBCQGSkCADcDACAAIAIQ9hwLIAJBMGokAAsHACAAQRVqCzACAX8BfiMAQRBrIgIkACACIAEpAgAiAzcDACACIAM3AwggACACEIIcIAJBEGokAAstACMAQRBrIgAkACAAIABBCGpBzIkKEMAbKQIANwMAIAEgABCCHCAAQRBqJAALDAAgACgCCCABELwbCygAIABBHUEAQQFBARCAHCAAIAI2AgwgACABNgIIIABB4IkKNgIAIAALUQECfyMAQRBrIgIkACAAKAIMIgMgASADKAIAKAIQEQIAIAAoAgwgARClHEUEQCACIAJBCGpB0IoKEMAbKQIANwMAIAEgAhCCHAsgAkEQaiQACyAAIAAoAgggARC8GyAAKAIMIgAgASAAKAIAKAIUEQIACysAIABBHkEAQQFBARCAHCAAIAE2AgggAEHcigo2AgAgACACKQIANwIMIAALVwEBfyMAQSBrIgIkACACIAJBGGpBzIsKEMAbKQIANwMIIAEgAkEIahCCHCAAQQxqIAEQ/hwgAiACQRBqQdaLChDAGykCADcDACABIAIQghwgAkEgaiQAC40BAQV/IwBBEGsiAiQAQQEhAwNAIAAoAgQgBEcEQCABKAIEIQUgA0EBcUUEQCACIAJBCGpB4osKEMAbKQIANwMAIAEgAhCCHAsgASgCBCEGIAAoAgAgBEECdGooAgAgARC8GyAEQQFqIQQgBiABKAIERgR/IAEgBRCRCyADBUEACyEDDAELCyACQRBqJAALQwEBfyMAQRBrIgIkACAAKAIIIgAgASAAKAIAKAIQEQIAIAIgAkEIakHcjAoQwBspAgA3AwAgASACEIIcIAJBEGokAAsWACAAKAIIIgAgASAAKAIAKAIUEQIACzgAIABBLUEBQQFBARCAHCAAQeiMCjYCACAAIAEpAgA3AgggACACKQIANwIQIAAgAykCADcCGCAAC3MCAX8BfiMAQTBrIgIkACACIAJBKGpBzI0KEMAbKQIANwMQIAEgAkEQahCCHCACIAApAhgiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAAgARCDHSACQTBqJAALqAEBAn8jAEFAaiICJAAgAEEIaiIDENocRQRAIAIgAkE4akHi/gkQwBspAgA3AxggASACQRhqEIIcIAMgARD+HCACIAJBMGpB1v4JEMAbKQIANwMQIAEgAkEQahCCHAsgAiACQShqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEQaiABEP4cIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtkAQF/IwBBIGsiAiQAIAIgAkEYakG8jgoQwBspAgA3AwggASACQQhqEIIcIAAoAggiAC0ABEEtRgRAIAAgARCDHQsgAiACQRBqQb+OChDAGykCADcDACABIAIQghwgAkEgaiQACywAIABBxABBAUEBQQEQgBwgACABNgIIIABB0I4KNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYr+CRDAGykCADcDCCABIAJBCGoQghwgAiAAKQIMIgM3AwAgAiADNwMYIAEgAhCCHCACQTBqJAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQTtBAUEBQQEQgBwgAEHEjwo2AgAgACACKQIANwIIIAJBEGokACAAC04CAX8BfiMAQSBrIgIkACACIAJBGGpBtI8KEMAbKQIANwMIIAEgAkEIahCCHCACIAApAggiAzcDACACIAM3AxAgASACEIIcIAJBIGokAAtYAgF/AX4jAEEQayIFJAAgAEEcEPwbIQAgAS0AACEBIAUgAikCACIGNwMIIAQoAgAhBCADKAIAIQMgBSAGNwMAIAAgASAFIAMgBBCKHSEDIAVBEGokACADCz8BAX4gAEE+QQFBAUEBEIAcIAAgBDYCDCAAIAM2AgggAEGQkQo2AgAgAikCACEFIAAgAToAGCAAIAU3AhAgAAvRAgICfwF+IwBB8ABrIgIkACACIAA2AmwgAiABNgJoIAFBKBC9GwJAIAAtABgEQCAAKAIMIgMEQCADIAEQvBsgAUEgEL0bIAIgACkCECIENwMwIAIgBDcDYCABIAJBMGoQghwgAUEgEL0bCyACIAJB2ABqQeyRChDAGykCADcDKCABIAJBKGoQghwgAiAAKQIQIgQ3AyAgAiAENwNQIAEgAkEgahCCHCABQSAQvRsgAkHoAGoQjB0MAQsgAkHoAGoQjB0gAUEgEL0bIAIgACkCECIENwMYIAIgBDcDSCABIAJBGGoQghwgAiACQUBrQfGRChDAGykCADcDECABIAJBEGoQghwgACgCDEUNACABQSAQvRsgAiAAKQIQIgQ3AwggAiAENwM4IAEgAkEIahCCHCABQSAQvRsgACgCDCABELwbCyABQSkQvRsgAkHwAGokAAtBAQJ/IwBBEGsiASQAIAAoAgQhAiAAKAIAQSgQvRsgASACKAIIEI0dIAAoAgAQvBsgACgCAEEpEL0bIAFBEGokAAshACAAQSJBAUEBQQEQgBwgACABNgIIIABBgJIKNgIAIAAL3wEBBX8jAEFAaiICJAAgAkEwaiABQQxqEI8dIQUgAkEgaiABQRBqEI8dIQYgASgCBCEEIAAoAgggARC8GwJAAkACQAJAIAEoAhAiA0EBag4CAgABCyABIAQQkQsMAgsgA0EBIANBAUsbIQRBASEDA0AgAyAERg0CIAIgAkEQakHiiwoQwBspAgA3AwAgASACEIIcIAEgAzYCDCAAKAIIIAEQvBsgA0EBaiEDDAALAAsgAiACQRhqQdyMChDAGykCADcDCCABIAJBCGoQghwLIAYQ3BwgBRDcHCACQUBrJAALSQEBfyMAQRBrIgIkACACQX82AgwgACABNgIAIAEoAgAhASAAQQE6AAggACABNgIEIAAoAgAgAkEMaigCADYCACACQRBqJAAgAAtPAgF/AX4jAEEQayIEJAAgAEEYEPwbIQAgASgCACEBIAQgAikCACIFNwMIIAMoAgAhAyAEIAU3AwAgACABIAQgAxCRHSEDIARBEGokACADCzgBAX4gAEEvQQFBAUEBEIAcIAAgATYCCCAAQfSSCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC7ECAgJ/AX4jAEGAAWsiAiQAIABBDGoiAyACQfgAakHW/gkQwBsQkx0EQCACIAJB8ABqQeSBChDAGykCADcDOCABIAJBOGoQghwLIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCAAKAIIIAEQvBsgAiACQeAAakHUkwoQwBspAgA3AyggASACQShqEIIcIAIgACkCDCIENwMgIAIgBDcDWCABIAJBIGoQghwgAiACQdAAakHXkwoQwBspAgA3AxggASACQRhqEIIcIAAoAhQgARC8GyACIAJByABqQYr+CRDAGykCADcDECABIAJBEGoQghwgAyACQfgAakHW/gkQwBsQkx0EQCACIAJBQGtBiv4JEMAbKQIANwMIIAEgAkEIahCCHAsgAkGAAWokAAslACAAEMQbIAEQxBtGBH8gACgCACAAKAIEIAEoAgAQ7hsFQQALC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACADIAEpAgAiBDcDCCACKAIAIQIgAyAENwMAIAAgAyACEJUdIQIgA0EQaiQAIAILMQEBfiAAQTpBAUEBQQEQgBwgAEHkkwo2AgAgASkCACEDIAAgAjYCECAAIAM3AgggAAt2AgF/AX4jAEEwayICJAAgAiAAKQIIIgM3AxAgAiADNwMoIAEgAkEQahCCHCACIAJBIGpB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIQIAEQvBsgAiACQRhqQYr+CRDAGykCADcDACABIAIQghwgAkEwaiQACzgBAX4gAEE1QQFBAUEBEIAcIABBzJQKNgIAIAEpAgAhBCAAIAM2AhQgACACNgIQIAAgBDcCCCAAC7IBAgJ/AX4jAEFAaiICJAAgAiAAKQIIIgQ3AxggAiAENwM4IAEgAkEYahCCHCACIAJBMGpB4v4JEMAbKQIANwMQIAEgAkEQahCCHCAAKAIQIgMgASADKAIAKAIQEQIAIAIgAkEoakGolQoQwBspAgA3AwggASACQQhqEIIcIAAoAhQiACABIAAoAgAoAhARAgAgAiACQSBqQYr+CRDAGykCADcDACABIAIQghwgAkFAayQACysAIABBN0EBQQFBARCAHCAAIAE2AgggAEG0lQo2AgAgACACKQIANwIMIAALYQEBfyMAQSBrIgIkACAAKAIIIAEQvBsgAiACQRhqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBIGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgASgCACEBIAMgAikCACIENwMAIAMgBDcDCCAAIAEgAxCcHSECIANBEGokACACCysAIABBPEEBQQFBARCAHCAAIAE2AgggAEGclgo2AgAgACACKQIANwIMIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYCXChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEYakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsvACAAQTlBAUEBQQEQgBwgACADOgANIAAgAjoADCAAIAE2AgggAEGMlwo2AgAgAAuFAQEBfyMAQTBrIgIkACAALQAMBEAgAiACQShqQYD9CRDAGykCADcDECABIAJBEGoQghwLIAIgAkEgakHslwoQwBspAgA3AwggASACQQhqEIIcIAAtAA0EQCACIAJBGGpB85cKEMAbKQIANwMAIAEgAhCCHAsgACgCCCABELwbIAJBMGokAAtYAQJ/IwBBEGsiAiQAIAAhASACAn8gAEEAEMMbQTBrQQlNBEAgARDIHAwBCyABEMccCyIBNgIMIAEEfyAAQaADaiACQQxqEKQdBUEACyEAIAJBEGokACAACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACEJwcIQAgAkEQaiQAIAALKAAgAEEWQQFBAUEBEIAcIAAgAjYCDCAAIAE2AgggAEGomAo2AgAgAAs1ACAAQaADakEMEPwbIQAgASgCACEBIABBBEEBQQFBARCAHCAAIAE2AgggAEHsnQo2AgAgAAsxACAAQQwQ/BshACABKAIAIQEgAEErQQFBAUEBEIAcIAAgATYCCCAAQZyZCjYCACAAC0MBAX8jAEEQayICJAAgAiACQQhqQbD+CRDAGykCADcDACABIAIQghwgACgCCCIAIAEgACgCACgCEBECACACQRBqJAALMQAgAEEMEPwbIQAgASgCACEBIABBE0EBQQFBARCAHCAAIAE2AgggAEHsngo2AgAgAAs5AQF/IwBBEGsiAiQAIAIgAkEIakHYngoQwBspAgA3AwAgASACEIIcIAAoAgggARC8GyACQRBqJAALOQEBfyMAQRBrIgIkACACIAJBCGpB0J8KEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQACzkBAX8jAEEQayICJAAgAiACQQhqQYD9CRDAGykCADcDACABIAIQghwgACgCCCABELwbIAJBEGokAAsWACAAIAEoAggiASABKAIAKAIYEQIACzgBAX4gAEEzQQFBAUEBEIAcIAAgATYCCCAAQdSgCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC0QCAX8BfiMAQRBrIgIkACAAKAIIIAEQvBsgAiAAKQIMIgM3AwAgAiADNwMIIAEgAhCCHCAAKAIUIAEQvBsgAkEQaiQACygAIABBMEEBQQFBARCAHCAAIAI2AgwgACABNgIIIABBvKEKNgIAIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQaSiChDAGykCADcDCCABIAJBCGoQghwgACgCDCABELwbIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAswACAAQckAQQFBAUEBEIAcIAAgAzoAECAAIAI2AgwgACABNgIIIABBtKIKNgIAIAALjAEBAn8jAEEQayICJAACQCAALQAQBEAgAUHbABC9GyAAKAIIIAEQvBsgAUHdABC9GwwBCyABQS4QvRsgACgCCCABELwbCyAAKAIMIgMtAARByQBrQf8BcUECTwR/IAIgAkEIakGUowoQwBspAgA3AwAgASACEIIcIAAoAgwFIAMLIAEQvBsgAkEQaiQACzAAIABBygBBAUEBQQEQgBwgACADNgIQIAAgAjYCDCAAIAE2AgggAEGgowo2AgAgAAuWAQECfyMAQSBrIgIkACABQdsAEL0bIAAoAgggARC8GyACIAJBGGpBhKQKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIAEQvBsgAUHdABC9GyAAKAIQIgMtAARByQBrQf8BcUECTwR/IAIgAkEQakGUowoQwBspAgA3AwAgASACEIIcIAAoAhAFIAMLIAEQvBsgAkEgaiQACysAIABBPUEBQQFBARCAHCAAIAE2AgggAEGUpAo2AgAgACACKQIANwIMIAALLwEBfyAAKAIIIgIEQCACIAEQvBsLIAFB+wAQvRsgAEEMaiABEP4cIAFB/QAQvRsLKwAgAEExQQFBAUEBEIAcIAAgATYCCCAAQYClCjYCACAAIAIpAgA3AgwgAAtwAQF/IwBBIGsiBiQAIABBIBD8GyEAIAYgASkCADcDGCACKAIAIQIgBiADKQIANwMQIAQtAAAhBCAFLQAAIQUgBiAGKQMYNwMIIAYgBikDEDcDACAAIAZBCGogAiAGIAQgBRC3HSEFIAZBIGokACAFC00BAX4gAEE4QQFBAUEBEIAcIABB9KUKNgIAIAEpAgAhBiAAIAI2AhAgACAGNwIIIAMpAgAhBiAAIAU6AB0gACAEOgAcIAAgBjcCFCAAC7UCAQJ/IwBB8ABrIgIkACAALQAcBEAgAiACQegAakHQpgoQwBspAgA3AzAgASACQTBqEIIcCyACIAJB4ABqQdymChDAGykCADcDKCABIAJBKGoQghwgAC0AHQRAIAIgAkHYAGpBvI4KEMAbKQIANwMgIAEgAkEgahCCHAsgAUEgEL0bIABBCGoiAxDaHEUEQCACIAJB0ABqQeSBChDAGykCADcDGCABIAJBGGoQghwgAyABEP4cIAIgAkHIAGpBiv4JEMAbKQIANwMQIAEgAkEQahCCHAsgACgCECABELwbIABBFGoiABDaHEUEQCACIAJBQGtB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAIAEQ/hwgAiACQThqQYr+CRDAGykCADcDACABIAIQghwLIAJB8ABqJAALOwEBfiAAQTRBAUEBQQEQgBwgAEHopgo2AgAgASkCACEEIAAgAjYCECAAIAQ3AgggACADKQIANwIUIAALVwIBfwF+IwBBIGsiAiQAIAIgACkCCCIDNwMIIAIgAzcDGCABIAJBCGoQghwgACgCECABELwbIAIgACkCFCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACy8AIABBMkEBQQFBARCAHCAAIAM2AhAgACACNgIMIAAgATYCCCAAQdSnCjYCACAAC6cBAQF/IwBBQGoiAiQAIAIgAkE4akHkgQoQwBspAgA3AxggASACQRhqEIIcIAAoAgggARC8GyACIAJBMGpBuKgKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIMIAEQvBsgAiACQShqQb6oChDAGykCADcDCCABIAJBCGoQghwgACgCECABELwbIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtfAQF/IwBBMGsiAiQAIAIgAkEoakG0qQoQwBspAgA3AwggASACQQhqEIIcIAJBGGogACgCCBCNHSABEI4dIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsMACAAQQhqIAEQ/hwLOQEBfyMAQRBrIgIkACACIAJBCGpBlKsKEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQAC1cBAX8jAEEgayICJAAgAiACQRhqQYSsChDAGykCADcDCCABIAJBCGoQ9hwgACgCCCABELwbIAIgAkEQakGK/gkQwBspAgA3AwAgASACEPYcIAJBIGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEoQQFBAUEBEIAcIAAgATYCCCAAQZisCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBqa0KEMAbDAMLIAJBIGpB8K0KEMAbDAILIAJBGGpBoq4KEMAbDAELIAJBEGpB1K4KEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRB+MoKaigCABDAGxoLLwAgAEEqQQFBAUEBEIAcIAAgAzYCECAAIAI6AAwgACABNgIIIABB1K8KNgIAIAALYgEBfyMAQSBrIgIkACAALQAMBEAgAiACQRhqQbD+CRDAGykCADcDCCABIAJBCGoQghwLIAJBEGogACgCCCIAIAAoAgAoAhgRAgAgAiACKQMQNwMAIAEgAhCCHCACQSBqJAALRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQxx0hAiADQRBqJAAgAgs0ACAAQQggAS0ABSABLQAGIAEtAAcQgBwgACABNgIIIABBwLAKNgIAIAAgAikCADcCDCAAC4ABAgJ/AX4jAEEwayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAJBKGpBoLEKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAgwiBDcDCCACIAQ3AyAgASACQQhqEIIcIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAtUAgF/AX4jAEEQayICJAAgAEEQEPwbIQAgAiABKQIAIgM3AwAgAiADNwMIIABBLkEBQQFBARCAHCAAQbSxCjYCACAAIAIpAgA3AgggAkEQaiQAIAALHAAgAUHbABC9GyAAQQhqIAEQ/hwgAUHdABC9GwsoACAAQRhBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQbiyCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBiLQKEMAbDAMLIAJBIGpBlLQKEMAbDAILIAJBGGpBobQKEMAbDAELIAJBEGpBrrQKEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRBkMsKaigCABDAGxoLIQEBfyAAIABBHGo2AgggACAAQQxqIgE2AgQgACABNgIACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACENEdIQAgAkEQaiQAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQSNBAUEBQQEQgBwgAEHQtQo2AgAgACACKQIANwIIIAJBEGokACAAC4MBAQF+IABBIEEBQQFBARCAHCAAQeS0CjYCACABKQIAIQIgAEECOgAHIAAgAjcCCCAAQYIEOwAFIABBAUECIABBCGoiASgCACABENIdENMdGzoABiABKAIAIAEQ0h0Q1B0EQCAAQQE6AAcLIAEoAgAgARDSHRDVHQRAIABBAToABQsgAAsQACAAKAIAIAAoAgRBAnRqCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAGQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAHQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAFQQFGDQELCyACCy8BAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBH8gACACENgdIAEQpRwFQQALCyIAIAEoAhBBf0YEQCAAKAIMIQAgAUEANgIMIAEgADYCEAsLEAAgACgCACABQQJ0aigCAAsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKgcBUEACwsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKocBUEACws5AQJ/IAAgARDXHSABKAIMIgMgAEEIaiICKAIESQR/IAIgAxDYHSIAIAEgACgCACgCDBEDAAUgAAsLNgEBfyAAIAEQ1x0gASgCDCICIABBCGoiACgCBEkEQCAAIAIQ2B0iACABIAAoAgAoAhARAgALCzYBAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBEAgACACENgdIgAgASAAKAIAKAIUEQIACwuAAQEBfyMAQTBrIgIk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AiACQQhqQdCKChDAGykCADcDACABIAIQghwgAkEQaiQAC9oCAQJ/IwBB8ABrIgIkACACIAJB6ABqQeSBChDAGykCADcDMCABIAJBMGoQghwgAEEMaiABEP4cIAIgAkHgAGpBiv4JEMAbKQIANwMoIAEgAkEoahCCHCAAKAIIIgMgASADKAIAKAIUEQIAAn8gACgCFCIDQQFxBEAgAiACQdgAakGEuwoQwBspAgA3AyAgASACQSBqEIIcIAAoAhQhAwsgA0ECcQsEfyACIAJB0ABqQYu7ChDAGykCADcDGCABIAJBGGoQghwgACgCFAUgAwtBBHEEQCACIAJByABqQZW7ChDAGykCADcDECABIAJBEGoQghwLAkAgAgJ/AkACQCAALQAYQQFrDgIAAQMLIAJBQGtBn7sKEMAbDAELIAJBOGpBorsKEMAbCykCADcDCCABIAJBCGoQghwLIAAoAhwEQCABQSAQvRsgACgCHCABELwbCyACQfAAaiQAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPgdIQIgA0EQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQ+h0hAiADQRBqJAAgAgsrACAAQQpBAUEBQQEQgBwgACABNgIIIABBhMEKNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACAAKAIIIAEQvBsgAiACQShqQeL+CRDAGykCADcDECABIAJBEGoQghwgAiAAKQIMIgM3AwggAiADNwMgIAEgAkEIahCCHCACIAJBGGpB1v4JEMAbKQIANwMAIAEgAhCCHCACQTBqJAALKwAgAEECQQFBAUEBEIAcIAAgATYCCCAAQfDBCjYCACAAIAIpAgA3AgwgAAtYAgF/AX4jAEEgayICJAAgACgCCCABELwbIAIgAkEYakHQigoQwBspAgA3AwggASACQQhqEIIcIAIgACkCDCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACzEAIABBAyABLQAFIAEtAAYgAS0ABxCAHCAAIAE2AgwgACACNgIIIABB4MIKNgIAIAALDAAgACgCDCABEKUcCwwAIAAoAgwgARCoHAsMACAAKAIMIAEQqhwLHwEBfyAAKAIMIgIgASACKAIAKAIQEQIAIAAgARCBHguYAQECfyMAQTBrIgIkAAJ/IAAoAggiA0EBcQRAIAIgAkEoakGEuwoQwBspAgA3AxAgASACQRBqEIIcIAAoAgghAwsgA0ECcQsEfyACIAJBIGpBi7sKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIBSADC0EEcQRAIAIgAkEYakGVuwoQwBspAgA3AwAgASACEIIcCyACQTBqJAALFgAgACgCDCIAIAEgACgCACgCFBECAAsxACAAQQwQ/BshACABKAIAIQEgAEEaQQFBAUEBEIAcIAAgATYCCCAAQcjDCjYCACAAC1cBAX8jAEEgayICJAAgAiACQRhqQazEChDAGykCADcDCCABIAJBCGoQghwgACgCCCABELwbIAIgAkEQakGnogoQwBspAgA3AwAgASACEIIcIAJBIGokAAsoACAAQRlBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQcTECjYCACAAC2gBAX8jAEEgayICJAAgACgCCCABELwbIAIgAkEYakGkxQoQwBspAgA3AwggASACQQhqEIIcIAAoAgwiAARAIAAgARC8GwsgAiACQRBqQaeiChDAGykCADcDACABIAIQghwgAkEgaiQACygAIABBDkEAQQBBARCAHCAAIAI2AgwgACABNgIIIABBuMUKNgIAIAALFgAgACgCCCIAIAEgACgCACgCEBECAAucAQECfyMAQTBrIgIkACABEN8dQd0ARwRAIAIgAkEoakHQigoQwBspAgA3AxAgASACQRBqEIIcCyACIAJBIGpBmMYKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIgMEQCADIAEQvBsLIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAAoAggiACABIAAoAgAoAhQRAgAgAkEwaiQACysAIABBDSACLQAFQQFBARCAHCAAIAI2AgwgACABNgIIIABBpMYKNgIAIAALnQEBAn8jAEEwayICJAAgACgCDCIDIAEgAygCACgCEBECACACAn8CQCAAKAIMIAEQqBxFBEAgACgCDCABEKocRQ0BCyACQShqQeSBChDAGwwBCyACQSBqQdCKChDAGwspAgA3AxAgASACQRBqEIIcIAAoAgggARC8GyACIAJBGGpBjMcKEMAbKQIANwMIIAEgAkEIahCCHCACQTBqJAALYQEBfyMAQRBrIgIkAAJAIAAoAgwgARCoHEUEQCAAKAIMIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIMIgAgASAAKAIAKAIUEQIAIAJBEGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgAyABKQIAIgQ3AwggAigCACECIAMgBDcDACAAIAMgAhCOHiECIANBEGokACACCzEBAX4gAEEGQQFBAUEBEIAcIABBtMcKNgIAIAEpAgAhAyAAIAI2AhAgACADNwIIIAALQQIBfwF+IwBBEGsiAiQAIAIgACkCCCIDNwMAIAIgAzcDCCABIAIQghwgAUEgEL0bIAAoAhAgARC8GyACQRBqJAALDAAgACgCCCABEKUcC6YCAgJ/AX4jAEHgAGsiAiQAIAICfwJAAn8gACgCCCIDLQAEQQpGBEAgAxCSHg0CIAAoAgghAwsgAwsgASADKAIAKAIQEQIAIAAoAgggARCoHARAIAIgAkHYAGpB0IoKEMAbKQIANwMoIAEgAkEoahCCHAsCQCAAKAIIIAEQqBxFBEAgACgCCCABEKocRQ0BCyACIAJB0ABqQeSBChDAGykCADcDICABIAJBIGoQghwLIAJByABqQb/+CRDAGwwBCyAAKAIIIQAgAiACQUBrQYjJChDAGykCADcDGCABIAJBGGoQghwgAiAAKQIMIgQ3AxAgAiAENwM4IAEgAkEQahCCHCACQTBqQdb+CRDAGwspAgA3AwggASACQQhqEIIcIAJB4ABqJAALQwECfyMAQRBrIgEkACAAKAIIIgAtAARBB0YEQCABQQhqIAAQkhwgAUEIaiABQYzJChDAGxCTHSECCyABQRBqJAAgAgt+AQJ/IwBBEGsiAiQAAkACQCAAKAIIIgMtAARBCkYEfyADEJIeDQIgACgCCAUgAwsgARCoHEUEQCAAKAIIIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIIIgAgASAAKAIAKAIUEQIACyACQRBqJAALMgAgAEEMIAEtAAVBAUEBEIAcIABBADoAECAAIAI2AgwgACABNgIIIABBoMkKNgIAIAAL3wEBAn8jAEFAaiICJAAgAC0AEEUEQCACQThqIABBEGpBARCkHCEDIAJBMGogACABEJYeIAIoAjQiACABIAAoAgAoAhARAgAgAigCNCABEKgcBEAgAiACQShqQdCKChDAGykCADcDECABIAJBEGoQghwLAkAgAigCNCABEKgcRQRAIAIoAjQgARCqHEUNAQsgAiACQSBqQeSBChDAGykCADcDCCABIAJBCGoQghwLIAIgAkEYakGP/glBkv4JIAIoAjAbEMAbKQIANwMAIAEgAhCCHCADEKYcCyACQUBrJAALbQEBfyAAIAFBDGooAgA2AgAgACABQQhqKAIANgIEIAAoAgQhAQNAIAEgAiABKAIAKAIMEQMAIgMtAARBDEYEQCAAIAMoAggiATYCBCAAIANBDGoiAyAAIAMoAgAgACgCAEgbKAIANgIADAELCwuMAQECfyMAQSBrIgIkACAALQAQRQRAIAJBGGogAEEQakEBEKQcIQMgAkEQaiAAIAEQlh4CQCACKAIUIAEQqBxFBEAgAigCFCABEKocRQ0BCyACIAJBCGpBiv4JEMAbKQIANwMAIAEgAhCCHAsgAigCFCIAIAEgACgCACgCFBECACADEKYcCyACQSBqJAALKwAgAEEFQQFBAUEBEIAcIAAgATYCCCAAQYzKCjYCACAAIAIpAgA3AgwgAAtEAgJ/AX4jAEEQayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAApAgwiBDcDACACIAQ3AwggASACEIIcIAJBEGokAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACx8AQfCqCygCAEUEQEH0qgsgATYCAEHwqgsgADYCAAsLGQAgASACIAOtIAStQiCGhCAFIAYgABEsAAsWAQF+IAEgABEdACICQiCIpxAsIAKnCxMAIAEgAq0gA61CIIaEIAARJgALIgEBfiABIAKtIAOtQiCGhCAEIAARHgAiBUIgiKcQLCAFpwsZACABIAIgAyAEIAWtIAatQiCGhCAAEScACyMAIAEgAiADIAQgBa0gBq1CIIaEIAetIAitQiCGhCAAETgACyUAIAEgAiADIAQgBSAGrSAHrUIghoQgCK0gCa1CIIaEIAARNwALEwAgACABpyABQiCIpyACIAMQLQsLm6oKhAEAQYAIC7COAXB1c2gAeAB5AHdpZHRoAGhlaWdodABJbnRWZWN0b3IARmxvYXRWZWN0b3IARG91YmxlVmVjdG9yAFBvaW50VmVjdG9yAE1hdFZlY3RvcgBSZWN0VmVjdG9yAEtleVBvaW50VmVjdG9yAERNYXRjaFZlY3RvcgBETWF0Y2hWZWN0b3JWZWN0b3IATWF0AGV5ZQBvbmVzAHplcm9zAHJvd3MAY29scwBtYXRTaXplAHN0ZXAAZGF0YQBkYXRhOFMAZGF0YTE2VQBkYXRhMTZTAGRhdGEzMlMAZGF0YTMyRgBkYXRhNjRGAGVsZW1TaXplAGVsZW1TaXplMQBjaGFubmVscwBjb252ZXJ0VG8AdG90YWwAcm93AGNyZWF0ZQByb3dSYW5nZQBjb3B5VG8AdHlwZQBlbXB0eQBjb2xSYW5nZQBzdGVwMQBjbG9uZQBkZXB0aABjb2wAZG90AG11bABpbnYAdAByb2kAZGlhZwBpc0NvbnRpbnVvdXMAc2V0VG8Ac2l6ZQBwdHIAdWNoYXJQdHIAY2hhclB0cgBzaG9ydFB0cgB1c2hvcnRQdHIAaW50UHRyAGZsb2F0UHRyAGRvdWJsZVB0cgBjaGFyQXQAdWNoYXJBdABzaG9ydEF0AHVzaG9ydEF0AGludEF0AGZsb2F0QXQAZG91YmxlQXQAUmFuZ2UAc3RhcnQAZW5kAFRlcm1Dcml0ZXJpYQBtYXhDb3VudABlcHNpbG9uACN0eXBlAFJlY3QAUmVjdDJmAFJvdGF0ZWRSZWN0AGNlbnRlcgBhbmdsZQByb3RhdGVkUmVjdFBvaW50cwByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdAByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdDJmAEtleVBvaW50AGNsYXNzX2lkAG9jdGF2ZQBwdAByZXNwb25zZQBETWF0Y2gAcXVlcnlJZHgAdHJhaW5JZHgAaW1nSWR4AGRpc3RhbmNlAFNjYWxhcgBNaW5NYXhMb2MAbWluVmFsAG1heFZhbABtaW5Mb2MAbWF4TG9jAENpcmNsZQByYWRpdXMATW9tZW50cwBtMDAAbTEwAG0wMQBtMjAAbTExAG0wMgBtMzAAbTIxAG0xMgBtMDMAbXUyMABtdTExAG11MDIAbXUzMABtdTIxAG11MTIAbXUwMwBudTIwAG51MTEAbnUwMgBudTMwAG51MjEAbnUxMgBudTAzAEV4Y2VwdGlvbgBjb2RlAG1zZwBleGNlcHRpb25Gcm9tUHRyAG1pbkVuY2xvc2luZ0NpcmNsZQBmbG9vZEZpbGwAbWluTWF4TG9jAG1vcnBob2xvZ3lEZWZhdWx0Qm9yZGVyVmFsdWUAQ1ZfTUFUX0RFUFRIAENhbVNoaWZ0AG1lYW5TaGlmdABUcmFja2VyAGluaXQAdXBkYXRlAGdldEJ1aWxkSW5mb3JtYXRpb24AQ1ZfOFVDMQBDVl84VUMyAENWXzhVQzMAQ1ZfOFVDNABDVl84U0MxAENWXzhTQzIAQ1ZfOFNDMwBDVl84U0M0AENWXzE2VUMxAENWXzE2VUMyAENWXzE2VUMzAENWXzE2VUM0AENWXzE2U0MxAENWXzE2U0MyAENWXzE2U0MzAENWXzE2U0M0AENWXzMyU0MxAENWXzMyU0MyAENWXzMyU0MzAENWXzMyU0M0AENWXzMyRkMxAENWXzMyRkMyAENWXzMyRkMzAENWXzMyRkM0AENWXzY0RkMxAENWXzY0RkMyAENWXzY0RkMzAENWXzY0RkM0AENWXzhVAENWXzhTAENWXzE2VQBDVl8xNlMAQ1ZfMzJTAENWXzMyRgBDVl82NEYASU5UX01JTgBJTlRfTUFYAFJvZHJpZ3VlcwBTVkRlY29tcABzb2x2ZVBuUABBQ0NFU1NfRkFTVABBQ0NFU1NfTUFTSwBBQ0NFU1NfUkVBRABBQ0NFU1NfUlcAQUNDRVNTX1dSSVRFAEFEQVBUSVZFX1RIUkVTSF9HQVVTU0lBTl9DAEFEQVBUSVZFX1RIUkVTSF9NRUFOX0MAQUtBWkVfREVTQ1JJUFRPUl9LQVpFAEFLQVpFX0RFU0NSSVBUT1JfS0FaRV9VUFJJR0hUAEFLQVpFX0RFU0NSSVBUT1JfTUxEQgBBS0FaRV9ERVNDUklQVE9SX01MREJfVVBSSUdIVABBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9BR0FTVF81XzgAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMmQAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMnMAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfTk9OTUFYX1NVUFBSRVNTSU9OAEFnYXN0RmVhdHVyZURldGVjdG9yX09BU1RfOV8xNgBBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9USFJFU0hPTEQAQk9SREVSX0NPTlNUQU5UAEJPUkRFUl9ERUZBVUxUAEJPUkRFUl9JU09MQVRFRABCT1JERVJfUkVGTEVDVABCT1JERVJfUkVGTEVDVDEwMQBCT1JERVJfUkVGTEVDVF8xMDEAQk9SREVSX1JFUExJQ0FURQBCT1JERVJfVFJBTlNQQVJFTlQAQk9SREVSX1dSQVAAQ0FMSUJfQ0JfQUNDVVJBQ1kAQ0FMSUJfQ0JfQURBUFRJVkVfVEhSRVNIAENBTElCX0NCX0FTWU1NRVRSSUNfR1JJRABDQUxJQl9DQl9DTFVTVEVSSU5HAENBTElCX0NCX0VYSEFVU1RJVkUAQ0FMSUJfQ0JfRkFTVF9DSEVDSwBDQUxJQl9DQl9GSUxURVJfUVVBRFMAQ0FMSUJfQ0JfTEFSR0VSAENBTElCX0NCX01BUktFUgBDQUxJQl9DQl9OT1JNQUxJWkVfSU1BR0UAQ0FMSUJfQ0JfU1lNTUVUUklDX0dSSUQAQ0FMSUJfRklYX0FTUEVDVF9SQVRJTwBDQUxJQl9GSVhfRk9DQUxfTEVOR1RIAENBTElCX0ZJWF9JTlRSSU5TSUMAQ0FMSUJfRklYX0sxAENBTElCX0ZJWF9LMgBDQUxJQl9GSVhfSzMAQ0FMSUJfRklYX0s0AENBTElCX0ZJWF9LNQBDQUxJQl9GSVhfSzYAQ0FMSUJfRklYX1BSSU5DSVBBTF9QT0lOVABDQUxJQl9GSVhfUzFfUzJfUzNfUzQAQ0FMSUJfRklYX1RBTkdFTlRfRElTVABDQUxJQl9GSVhfVEFVWF9UQVVZAENBTElCX0hBTkRfRVlFX0FORFJFRkYAQ0FMSUJfSEFORF9FWUVfREFOSUlMSURJUwBDQUxJQl9IQU5EX0VZRV9IT1JBVUQAQ0FMSUJfSEFORF9FWUVfUEFSSwBDQUxJQl9IQU5EX0VZRV9UU0FJAENBTElCX05JTlRSSU5TSUMAQ0FMSUJfUkFUSU9OQUxfTU9ERUwAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfTEkAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfU0hBSABDQUxJQl9TQU1FX0ZPQ0FMX0xFTkdUSABDQUxJQl9USElOX1BSSVNNX01PREVMAENBTElCX1RJTFRFRF9NT0RFTABDQUxJQl9VU0VfRVhUUklOU0lDX0dVRVNTAENBTElCX1VTRV9JTlRSSU5TSUNfR1VFU1MAQ0FMSUJfVVNFX0xVAENBTElCX1VTRV9RUgBDQUxJQl9aRVJPX0RJU1BBUklUWQBDQUxJQl9aRVJPX1RBTkdFTlRfRElTVABDQVNDQURFX0RPX0NBTk5ZX1BSVU5JTkcAQ0FTQ0FERV9ET19ST1VHSF9TRUFSQ0gAQ0FTQ0FERV9GSU5EX0JJR0dFU1RfT0JKRUNUAENBU0NBREVfU0NBTEVfSU1BR0UAQ0NMX0JCRFQAQ0NMX0JPTEVMTEkAQ0NMX0RFRkFVTFQAQ0NMX0dSQU5BAENDTF9TQVVGAENDTF9TUEFHSEVUVEkAQ0NMX1dVAENDX1NUQVRfQVJFQQBDQ19TVEFUX0hFSUdIVABDQ19TVEFUX0xFRlQAQ0NfU1RBVF9NQVgAQ0NfU1RBVF9UT1AAQ0NfU1RBVF9XSURUSABDSEFJTl9BUFBST1hfTk9ORQBDSEFJTl9BUFBST1hfU0lNUExFAENIQUlOX0FQUFJPWF9UQzg5X0tDT1MAQ0hBSU5fQVBQUk9YX1RDODlfTDEAQ01QX0VRAENNUF9HRQBDTVBfR1QAQ01QX0xFAENNUF9MVABDTVBfTkUAQ09MT1JNQVBfQVVUVU1OAENPTE9STUFQX0JPTkUAQ09MT1JNQVBfQ0lWSURJUwBDT0xPUk1BUF9DT09MAENPTE9STUFQX0RFRVBHUkVFTgBDT0xPUk1BUF9IT1QAQ09MT1JNQVBfSFNWAENPTE9STUFQX0lORkVSTk8AQ09MT1JNQVBfSkVUAENPTE9STUFQX01BR01BAENPTE9STUFQX09DRUFOAENPTE9STUFQX1BBUlVMQQBDT0xPUk1BUF9QSU5LAENPTE9STUFQX1BMQVNNQQBDT0xPUk1BUF9SQUlOQk9XAENPTE9STUFQX1NQUklORwBDT0xPUk1BUF9TVU1NRVIAQ09MT1JNQVBfVFVSQk8AQ09MT1JNQVBfVFdJTElHSFQAQ09MT1JNQVBfVFdJTElHSFRfU0hJRlRFRABDT0xPUk1BUF9WSVJJRElTAENPTE9STUFQX1dJTlRFUgBDT0xPUl9CR1IyQkdSNTU1AENPTE9SX0JHUjJCR1I1NjUAQ09MT1JfQkdSMkJHUkEAQ09MT1JfQkdSMkdSQVkAQ09MT1JfQkdSMkhMUwBDT0xPUl9CR1IySExTX0ZVTEwAQ09MT1JfQkdSMkhTVgBDT0xPUl9CR1IySFNWX0ZVTEwAQ09MT1JfQkdSMkxhYgBDT0xPUl9CR1IyTHV2AENPTE9SX0JHUjJSR0IAQ09MT1JfQkdSMlJHQkEAQ09MT1JfQkdSMlhZWgBDT0xPUl9CR1IyWUNyQ2IAQ09MT1JfQkdSMllVVgBDT0xPUl9CR1IyWVVWX0k0MjAAQ09MT1JfQkdSMllVVl9JWVVWAENPTE9SX0JHUjJZVVZfWVYxMgBDT0xPUl9CR1I1NTUyQkdSAENPTE9SX0JHUjU1NTJCR1JBAENPTE9SX0JHUjU1NTJHUkFZAENPTE9SX0JHUjU1NTJSR0IAQ09MT1JfQkdSNTU1MlJHQkEAQ09MT1JfQkdSNTY1MkJHUgBDT0xPUl9CR1I1NjUyQkdSQQBDT0xPUl9CR1I1NjUyR1JBWQBDT0xPUl9CR1I1NjUyUkdCAENPTE9SX0JHUjU2NTJSR0JBAENPTE9SX0JHUkEyQkdSAENPTE9SX0JHUkEyQkdSNTU1AENPTE9SX0JHUkEyQkdSNTY1AENPTE9SX0JHUkEyR1JBWQBDT0xPUl9CR1JBMlJHQgBDT0xPUl9CR1JBMlJHQkEAQ09MT1JfQkdSQTJZVVZfSTQyMABDT0xPUl9CR1JBMllVVl9JWVVWAENPTE9SX0JHUkEyWVVWX1lWMTIAQ09MT1JfQmF5ZXJCRzJCR1IAQ09MT1JfQmF5ZXJCRzJCR1JBAENPTE9SX0JheWVyQkcyQkdSX0VBAENPTE9SX0JheWVyQkcyQkdSX1ZORwBDT0xPUl9CYXllckJHMkdSQVkAQ09MT1JfQmF5ZXJCRzJSR0IAQ09MT1JfQmF5ZXJCRzJSR0JBAENPTE9SX0JheWVyQkcyUkdCX0VBAENPTE9SX0JheWVyQkcyUkdCX1ZORwBDT0xPUl9CYXllckJHR1IyQkdSAENPTE9SX0JheWVyQkdHUjJCR1JBAENPTE9SX0JheWVyQkdHUjJCR1JfRUEAQ09MT1JfQmF5ZXJCR0dSMkJHUl9WTkcAQ09MT1JfQmF5ZXJCR0dSMkdSQVkAQ09MT1JfQmF5ZXJCR0dSMlJHQgBDT0xPUl9CYXllckJHR1IyUkdCQQBDT0xPUl9CYXllckJHR1IyUkdCX0VBAENPTE9SX0JheWVyQkdHUjJSR0JfVk5HAENPTE9SX0JheWVyR0IyQkdSAENPTE9SX0JheWVyR0IyQkdSQQBDT0xPUl9CYXllckdCMkJHUl9FQQBDT0xPUl9CYXllckdCMkJHUl9WTkcAQ09MT1JfQmF5ZXJHQjJHUkFZAENPTE9SX0JheWVyR0IyUkdCAENPTE9SX0JheWVyR0IyUkdCQQBDT0xPUl9CYXllckdCMlJHQl9FQQBDT0xPUl9CYXllckdCMlJHQl9WTkcAQ09MT1JfQmF5ZXJHQlJHMkJHUgBDT0xPUl9CYXllckdCUkcyQkdSQQBDT0xPUl9CYXllckdCUkcyQkdSX0VBAENPTE9SX0JheWVyR0JSRzJCR1JfVk5HAENPTE9SX0JheWVyR0JSRzJHUkFZAENPTE9SX0JheWVyR0JSRzJSR0IAQ09MT1JfQmF5ZXJHQlJHMlJHQkEAQ09MT1JfQmF5ZXJHQlJHMlJHQl9FQQBDT0xPUl9CYXllckdCUkcyUkdCX1ZORwBDT0xPUl9CYXllckdSMkJHUgBDT0xPUl9CYXllckdSMkJHUkEAQ09MT1JfQmF5ZXJHUjJCR1JfRUEAQ09MT1JfQmF5ZXJHUjJCR1JfVk5HAENPTE9SX0JheWVyR1IyR1JBWQBDT0xPUl9CYXllckdSMlJHQgBDT0xPUl9CYXllckdSMlJHQkEAQ09MT1JfQmF5ZXJHUjJSR0JfRUEAQ09MT1JfQmF5ZXJHUjJSR0JfVk5HAENPTE9SX0JheWVyR1JCRzJCR1IAQ09MT1JfQmF5ZXJHUkJHMkJHUkEAQ09MT1JfQmF5ZXJHUkJHMkJHUl9FQQBDT0xPUl9CYXllckdSQkcyQkdSX1ZORwBDT0xPUl9CYXllckdSQkcyR1JBWQBDT0xPUl9CYXllckdSQkcyUkdCAENPTE9SX0JheWVyR1JCRzJSR0JBAENPTE9SX0JheWVyR1JCRzJSR0JfRUEAQ09MT1JfQmF5ZXJHUkJHMlJHQl9WTkcAQ09MT1JfQmF5ZXJSRzJCR1IAQ09MT1JfQmF5ZXJSRzJCR1JBAENPTE9SX0JheWVyUkcyQkdSX0VBAENPTE9SX0JheWVyUkcyQkdSX1ZORwBDT0xPUl9CYXllclJHMkdSQVkAQ09MT1JfQmF5ZXJSRzJSR0IAQ09MT1JfQmF5ZXJSRzJSR0JBAENPTE9SX0JheWVyUkcyUkdCX0VBAENPTE9SX0JheWVyUkcyUkdCX1ZORwBDT0xPUl9CYXllclJHR0IyQkdSAENPTE9SX0JheWVyUkdHQjJCR1JBAENPTE9SX0JheWVyUkdHQjJCR1JfRUEAQ09MT1JfQmF5ZXJSR0dCMkJHUl9WTkcAQ09MT1JfQmF5ZXJSR0dCMkdSQVkAQ09MT1JfQmF5ZXJSR0dCMlJHQgBDT0xPUl9CYXllclJHR0IyUkdCQQBDT0xPUl9CYXllclJHR0IyUkdCX0VBAENPTE9SX0JheWVyUkdHQjJSR0JfVk5HAENPTE9SX0NPTE9SQ1ZUX01BWABDT0xPUl9HUkFZMkJHUgBDT0xPUl9HUkFZMkJHUjU1NQBDT0xPUl9HUkFZMkJHUjU2NQBDT0xPUl9HUkFZMkJHUkEAQ09MT1JfR1JBWTJSR0IAQ09MT1JfR1JBWTJSR0JBAENPTE9SX0hMUzJCR1IAQ09MT1JfSExTMkJHUl9GVUxMAENPTE9SX0hMUzJSR0IAQ09MT1JfSExTMlJHQl9GVUxMAENPTE9SX0hTVjJCR1IAQ09MT1JfSFNWMkJHUl9GVUxMAENPTE9SX0hTVjJSR0IAQ09MT1JfSFNWMlJHQl9GVUxMAENPTE9SX0xCR1IyTGFiAENPTE9SX0xCR1IyTHV2AENPTE9SX0xSR0IyTGFiAENPTE9SX0xSR0IyTHV2AENPTE9SX0xhYjJCR1IAQ09MT1JfTGFiMkxCR1IAQ09MT1JfTGFiMkxSR0IAQ09MT1JfTGFiMlJHQgBDT0xPUl9MdXYyQkdSAENPTE9SX0x1djJMQkdSAENPTE9SX0x1djJMUkdCAENPTE9SX0x1djJSR0IAQ09MT1JfUkdCMkJHUgBDT0xPUl9SR0IyQkdSNTU1AENPTE9SX1JHQjJCR1I1NjUAQ09MT1JfUkdCMkJHUkEAQ09MT1JfUkdCMkdSQVkAQ09MT1JfUkdCMkhMUwBDT0xPUl9SR0IySExTX0ZVTEwAQ09MT1JfUkdCMkhTVgBDT0xPUl9SR0IySFNWX0ZVTEwAQ09MT1JfUkdCMkxhYgBDT0xPUl9SR0IyTHV2AENPTE9SX1JHQjJSR0JBAENPTE9SX1JHQjJYWVoAQ09MT1JfUkdCMllDckNiAENPTE9SX1JHQjJZVVYAQ09MT1JfUkdCMllVVl9JNDIwAENPTE9SX1JHQjJZVVZfSVlVVgBDT0xPUl9SR0IyWVVWX1lWMTIAQ09MT1JfUkdCQTJCR1IAQ09MT1JfUkdCQTJCR1I1NTUAQ09MT1JfUkdCQTJCR1I1NjUAQ09MT1JfUkdCQTJCR1JBAENPTE9SX1JHQkEyR1JBWQBDT0xPUl9SR0JBMlJHQgBDT0xPUl9SR0JBMllVVl9JNDIwAENPTE9SX1JHQkEyWVVWX0lZVVYAQ09MT1JfUkdCQTJZVVZfWVYxMgBDT0xPUl9SR0JBMm1SR0JBAENPTE9SX1hZWjJCR1IAQ09MT1JfWFlaMlJHQgBDT0xPUl9ZQ3JDYjJCR1IAQ09MT1JfWUNyQ2IyUkdCAENPTE9SX1lVVjJCR1IAQ09MT1JfWVVWMkJHUkFfSTQyMABDT0xPUl9ZVVYyQkdSQV9JWVVWAENPTE9SX1lVVjJCR1JBX05WMTIAQ09MT1JfWVVWMkJHUkFfTlYyMQBDT0xPUl9ZVVYyQkdSQV9VWU5WAENPTE9SX1lVVjJCR1JBX1VZVlkAQ09MT1JfWVVWMkJHUkFfWTQyMgBDT0xPUl9ZVVYyQkdSQV9ZVU5WAENPTE9SX1lVVjJCR1JBX1lVWTIAQ09MT1JfWVVWMkJHUkFfWVVZVgBDT0xPUl9ZVVYyQkdSQV9ZVjEyAENPTE9SX1lVVjJCR1JBX1lWWVUAQ09MT1JfWVVWMkJHUl9JNDIwAENPTE9SX1lVVjJCR1JfSVlVVgBDT0xPUl9ZVVYyQkdSX05WMTIAQ09MT1JfWVVWMkJHUl9OVjIxAENPTE9SX1lVVjJCR1JfVVlOVgBDT0xPUl9ZVVYyQkdSX1VZVlkAQ09MT1JfWVVWMkJHUl9ZNDIyAENPTE9SX1lVVjJCR1JfWVVOVgBDT0xPUl9ZVVYyQkdSX1lVWTIAQ09MT1JfWVVWMkJHUl9ZVVlWAENPTE9SX1lVVjJCR1JfWVYxMgBDT0xPUl9ZVVYyQkdSX1lWWVUAQ09MT1JfWVVWMkdSQVlfNDIwAENPTE9SX1lVVjJHUkFZX0k0MjAAQ09MT1JfWVVWMkdSQVlfSVlVVgBDT0xPUl9ZVVYyR1JBWV9OVjEyAENPTE9SX1lVVjJHUkFZX05WMjEAQ09MT1JfWVVWMkdSQVlfVVlOVgBDT0xPUl9ZVVYyR1JBWV9VWVZZAENPTE9SX1lVVjJHUkFZX1k0MjIAQ09MT1JfWVVWMkdSQVlfWVVOVgBDT0xPUl9ZVVYyR1JBWV9ZVVkyAENPTE9SX1lVVjJHUkFZX1lVWVYAQ09MT1JfWVVWMkdSQVlfWVYxMgBDT0xPUl9ZVVYyR1JBWV9ZVllVAENPTE9SX1lVVjJSR0IAQ09MT1JfWVVWMlJHQkFfSTQyMABDT0xPUl9ZVVYyUkdCQV9JWVVWAENPTE9SX1lVVjJSR0JBX05WMTIAQ09MT1JfWVVWMlJHQkFfTlYyMQBDT0xPUl9ZVVYyUkdCQV9VWU5WAENPTE9SX1lVVjJSR0JBX1VZVlkAQ09MT1JfWVVWMlJHQkFfWTQyMgBDT0xPUl9ZVVYyUkdCQV9ZVU5WAENPTE9SX1lVVjJSR0JBX1lVWTIAQ09MT1JfWVVWMlJHQkFfWVVZVgBDT0xPUl9ZVVYyUkdCQV9ZVjEyAENPTE9SX1lVVjJSR0JBX1lWWVUAQ09MT1JfWVVWMlJHQl9JNDIwAENPTE9SX1lVVjJSR0JfSVlVVgBDT0xPUl9ZVVYyUkdCX05WMTIAQ09MT1JfWVVWMlJHQl9OVjIxAENPTE9SX1lVVjJSR0JfVVlOVgBDT0xPUl9ZVVYyUkdCX1VZVlkAQ09MT1JfWVVWMlJHQl9ZNDIyAENPTE9SX1lVVjJSR0JfWVVOVgBDT0xPUl9ZVVYyUkdCX1lVWTIAQ09MT1JfWVVWMlJHQl9ZVVlWAENPTE9SX1lVVjJSR0JfWVYxMgBDT0xPUl9ZVVYyUkdCX1lWWVUAQ09MT1JfWVVWNDIwcDJCR1IAQ09MT1JfWVVWNDIwcDJCR1JBAENPTE9SX1lVVjQyMHAyR1JBWQBDT0xPUl9ZVVY0MjBwMlJHQgBDT0xPUl9ZVVY0MjBwMlJHQkEAQ09MT1JfWVVWNDIwc3AyQkdSAENPTE9SX1lVVjQyMHNwMkJHUkEAQ09MT1JfWVVWNDIwc3AyR1JBWQBDT0xPUl9ZVVY0MjBzcDJSR0IAQ09MT1JfWVVWNDIwc3AyUkdCQQBDT0xPUl9tUkdCQTJSR0JBAENPTlRPVVJTX01BVENIX0kxAENPTlRPVVJTX01BVENIX0kyAENPTlRPVVJTX01BVENIX0kzAENPVkFSX0NPTFMAQ09WQVJfTk9STUFMAENPVkFSX1JPV1MAQ09WQVJfU0NBTEUAQ09WQVJfU0NSQU1CTEVEAENPVkFSX1VTRV9BVkcAQ2lyY2xlc0dyaWRGaW5kZXJQYXJhbWV0ZXJzX0FTWU1NRVRSSUNfR1JJRABDaXJjbGVzR3JpZEZpbmRlclBhcmFtZXRlcnNfU1lNTUVUUklDX0dSSUQARENUX0lOVkVSU0UARENUX1JPV1MAREVDT01QX0NIT0xFU0tZAERFQ09NUF9FSUcAREVDT01QX0xVAERFQ09NUF9OT1JNQUwAREVDT01QX1FSAERFQ09NUF9TVkQAREZUX0NPTVBMRVhfSU5QVVQAREZUX0NPTVBMRVhfT1VUUFVUAERGVF9JTlZFUlNFAERGVF9SRUFMX09VVFBVVABERlRfUk9XUwBERlRfU0NBTEUARElTT3B0aWNhbEZsb3dfUFJFU0VUX0ZBU1QARElTT3B0aWNhbEZsb3dfUFJFU0VUX01FRElVTQBESVNPcHRpY2FsRmxvd19QUkVTRVRfVUxUUkFGQVNUAERJU1RfQwBESVNUX0ZBSVIARElTVF9IVUJFUgBESVNUX0wxAERJU1RfTDEyAERJU1RfTDIARElTVF9MQUJFTF9DQ09NUABESVNUX0xBQkVMX1BJWEVMAERJU1RfTUFTS18zAERJU1RfTUFTS181AERJU1RfTUFTS19QUkVDSVNFAERJU1RfVVNFUgBESVNUX1dFTFNDSABEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0VfSEFNTUlORwBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX0hBTU1JTkdMVVQARGVzY3JpcHRvck1hdGNoZXJfQlJVVEVGT1JDRV9MMQBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX1NMMgBEZXNjcmlwdG9yTWF0Y2hlcl9GTEFOTkJBU0VEAERyYXdNYXRjaGVzRmxhZ3NfREVGQVVMVABEcmF3TWF0Y2hlc0ZsYWdzX0RSQVdfT1ZFUl9PVVRJTUcARHJhd01hdGNoZXNGbGFnc19EUkFXX1JJQ0hfS0VZUE9JTlRTAERyYXdNYXRjaGVzRmxhZ3NfTk9UX0RSQVdfU0lOR0xFX1BPSU5UUwBGSUxMRUQARklMVEVSX1NDSEFSUgBGTE9PREZJTExfRklYRURfUkFOR0UARkxPT0RGSUxMX01BU0tfT05MWQBGTV83UE9JTlQARk1fOFBPSU5UAEZNX0xNRURTAEZNX1JBTlNBQwBGT05UX0hFUlNIRVlfQ09NUExFWABGT05UX0hFUlNIRVlfQ09NUExFWF9TTUFMTABGT05UX0hFUlNIRVlfRFVQTEVYAEZPTlRfSEVSU0hFWV9QTEFJTgBGT05UX0hFUlNIRVlfU0NSSVBUX0NPTVBMRVgARk9OVF9IRVJTSEVZX1NDUklQVF9TSU1QTEVYAEZPTlRfSEVSU0hFWV9TSU1QTEVYAEZPTlRfSEVSU0hFWV9UUklQTEVYAEZPTlRfSVRBTElDAEZhY2VSZWNvZ25pemVyU0ZfRlJfQ09TSU5FAEZhY2VSZWNvZ25pemVyU0ZfRlJfTk9STV9MMgBGYXN0RmVhdHVyZURldGVjdG9yX0ZBU1RfTgBGYXN0RmVhdHVyZURldGVjdG9yX05PTk1BWF9TVVBQUkVTU0lPTgBGYXN0RmVhdHVyZURldGVjdG9yX1RIUkVTSE9MRABGYXN0RmVhdHVyZURldGVjdG9yX1RZUEVfNV84AEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV83XzEyAEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV85XzE2AEZpbGVOb2RlX0VNUFRZAEZpbGVOb2RlX0ZMT0FUAEZpbGVOb2RlX0ZMT1cARmlsZU5vZGVfSU5UAEZpbGVOb2RlX01BUABGaWxlTm9kZV9OQU1FRABGaWxlTm9kZV9OT05FAEZpbGVOb2RlX1JFQUwARmlsZU5vZGVfU0VRAEZpbGVOb2RlX1NUUgBGaWxlTm9kZV9TVFJJTkcARmlsZU5vZGVfVFlQRV9NQVNLAEZpbGVOb2RlX1VOSUZPUk0ARmlsZVN0b3JhZ2VfQVBQRU5EAEZpbGVTdG9yYWdlX0JBU0U2NABGaWxlU3RvcmFnZV9GT1JNQVRfQVVUTwBGaWxlU3RvcmFnZV9GT1JNQVRfSlNPTgBGaWxlU3RvcmFnZV9GT1JNQVRfTUFTSwBGaWxlU3RvcmFnZV9GT1JNQVRfWE1MAEZpbGVTdG9yYWdlX0ZPUk1BVF9ZQU1MAEZpbGVTdG9yYWdlX0lOU0lERV9NQVAARmlsZVN0b3JhZ2VfTUVNT1JZAEZpbGVTdG9yYWdlX05BTUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfUkVBRABGaWxlU3RvcmFnZV9VTkRFRklORUQARmlsZVN0b3JhZ2VfVkFMVUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfV1JJVEUARmlsZVN0b3JhZ2VfV1JJVEVfQkFTRTY0AEZvcm1hdHRlcl9GTVRfQwBGb3JtYXR0ZXJfRk1UX0NTVgBGb3JtYXR0ZXJfRk1UX0RFRkFVTFQARm9ybWF0dGVyX0ZNVF9NQVRMQUIARm9ybWF0dGVyX0ZNVF9OVU1QWQBGb3JtYXR0ZXJfRk1UX1BZVEhPTgBHQ19CR0QAR0NfRVZBTABHQ19FVkFMX0ZSRUVaRV9NT0RFTABHQ19GR0QAR0NfSU5JVF9XSVRIX01BU0sAR0NfSU5JVF9XSVRIX1JFQ1QAR0NfUFJfQkdEAEdDX1BSX0ZHRABHRU1NXzFfVABHRU1NXzJfVABHRU1NXzNfVABISVNUQ01QX0JIQVRUQUNIQVJZWUEASElTVENNUF9DSElTUVIASElTVENNUF9DSElTUVJfQUxUAEhJU1RDTVBfQ09SUkVMAEhJU1RDTVBfSEVMTElOR0VSAEhJU1RDTVBfSU5URVJTRUNUAEhJU1RDTVBfS0xfRElWAEhPR0Rlc2NyaXB0b3JfREVGQVVMVF9OTEVWRUxTAEhPR0Rlc2NyaXB0b3JfREVTQ1JfRk9STUFUX0NPTF9CWV9DT0wASE9HRGVzY3JpcHRvcl9ERVNDUl9GT1JNQVRfUk9XX0JZX1JPVwBIT0dEZXNjcmlwdG9yX0wySHlzAEhPVUdIX0dSQURJRU5UAEhPVUdIX0dSQURJRU5UX0FMVABIT1VHSF9NVUxUSV9TQ0FMRQBIT1VHSF9QUk9CQUJJTElTVElDAEhPVUdIX1NUQU5EQVJEAElOUEFJTlRfTlMASU5QQUlOVF9URUxFQQBJTlRFUlNFQ1RfRlVMTABJTlRFUlNFQ1RfTk9ORQBJTlRFUlNFQ1RfUEFSVElBTABJTlRFUl9BUkVBAElOVEVSX0JJVFMASU5URVJfQklUUzIASU5URVJfQ1VCSUMASU5URVJfTEFOQ1pPUzQASU5URVJfTElORUFSAElOVEVSX0xJTkVBUl9FWEFDVABJTlRFUl9NQVgASU5URVJfTkVBUkVTVABJTlRFUl9ORUFSRVNUX0VYQUNUAElOVEVSX1RBQl9TSVpFAElOVEVSX1RBQl9TSVpFMgBLQVpFX0RJRkZfQ0hBUkJPTk5JRVIAS0FaRV9ESUZGX1BNX0cxAEtBWkVfRElGRl9QTV9HMgBLQVpFX0RJRkZfV0VJQ0tFUlQAS01FQU5TX1BQX0NFTlRFUlMAS01FQU5TX1JBTkRPTV9DRU5URVJTAEtNRUFOU19VU0VfSU5JVElBTF9MQUJFTFMATERSX1NJWkUATElORV80AExJTkVfOABMSU5FX0FBAExNRURTAExPQ0FMX09QVElNX0dDAExPQ0FMX09QVElNX0lOTkVSX0FORF9JVEVSX0xPAExPQ0FMX09QVElNX0lOTkVSX0xPAExPQ0FMX09QVElNX05VTEwATE9DQUxfT1BUSU1fU0lHTUEATFNEX1JFRklORV9BRFYATFNEX1JFRklORV9OT05FAExTRF9SRUZJTkVfU1REAE1BUktFUl9DUk9TUwBNQVJLRVJfRElBTU9ORABNQVJLRVJfU1FVQVJFAE1BUktFUl9TVEFSAE1BUktFUl9USUxURURfQ1JPU1MATUFSS0VSX1RSSUFOR0xFX0RPV04ATUFSS0VSX1RSSUFOR0xFX1VQAE1JWEVEX0NMT05FAE1PTk9DSFJPTUVfVFJBTlNGRVIATU9SUEhfQkxBQ0tIQVQATU9SUEhfQ0xPU0UATU9SUEhfQ1JPU1MATU9SUEhfRElMQVRFAE1PUlBIX0VMTElQU0UATU9SUEhfRVJPREUATU9SUEhfR1JBRElFTlQATU9SUEhfSElUTUlTUwBNT1JQSF9PUEVOAE1PUlBIX1JFQ1QATU9SUEhfVE9QSEFUAE1PVElPTl9BRkZJTkUATU9USU9OX0VVQ0xJREVBTgBNT1RJT05fSE9NT0dSQVBIWQBNT1RJT05fVFJBTlNMQVRJT04ATWF0X0FVVE9fU1RFUABNYXRfQ09OVElOVU9VU19GTEFHAE1hdF9ERVBUSF9NQVNLAE1hdF9NQUdJQ19NQVNLAE1hdF9NQUdJQ19WQUwATWF0X1NVQk1BVFJJWF9GTEFHAE1hdF9UWVBFX01BU0sATkVJR0hfRkxBTk5fS05OAE5FSUdIX0ZMQU5OX1JBRElVUwBORUlHSF9HUklEAE5PUk1BTF9DTE9ORQBOT1JNQ09OVl9GSUxURVIATk9STV9IQU1NSU5HAE5PUk1fSEFNTUlORzIATk9STV9JTkYATk9STV9MMQBOT1JNX0wyAE5PUk1fTDJTUVIATk9STV9NSU5NQVgATk9STV9SRUxBVElWRQBOT1JNX1RZUEVfTUFTSwBPUFRGTE9XX0ZBUk5FQkFDS19HQVVTU0lBTgBPUFRGTE9XX0xLX0dFVF9NSU5fRUlHRU5WQUxTAE9QVEZMT1dfVVNFX0lOSVRJQUxfRkxPVwBPUkJfRkFTVF9TQ09SRQBPUkJfSEFSUklTX1NDT1JFAFBDQV9EQVRBX0FTX0NPTABQQ0FfREFUQV9BU19ST1cAUENBX1VTRV9BVkcAUFJPSl9TUEhFUklDQUxfRVFSRUNUAFBST0pfU1BIRVJJQ0FMX09SVEhPAFBhcmFtX0FMR09SSVRITQBQYXJhbV9CT09MRUFOAFBhcmFtX0ZMT0FUAFBhcmFtX0lOVABQYXJhbV9NQVQAUGFyYW1fTUFUX1ZFQ1RPUgBQYXJhbV9SRUFMAFBhcmFtX1NDQUxBUgBQYXJhbV9TVFJJTkcAUGFyYW1fVUNIQVIAUGFyYW1fVUlOVDY0AFBhcmFtX1VOU0lHTkVEX0lOVABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfSABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTQBRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfUQBRUkNvZGVFbmNvZGVyX0VDSV9VVEY4AFFSQ29kZUVuY29kZXJfTU9ERV9BTFBIQU5VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX0FVVE8AUVJDb2RlRW5jb2Rlcl9NT0RFX0JZVEUAUVJDb2RlRW5jb2Rlcl9NT0RFX0VDSQBRUkNvZGVFbmNvZGVyX01PREVfS0FOSkkAUVJDb2RlRW5jb2Rlcl9NT0RFX05VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX1NUUlVDVFVSRURfQVBQRU5EAFFVQVRfQVNTVU1FX05PVF9VTklUAFFVQVRfQVNTVU1FX1VOSVQAUXVhdEVudW1fRVVMRVJfQU5HTEVTX01BWF9WQUxVRQBRdWF0RW51bV9FWFRfWFlYAFF1YXRFbnVtX0VYVF9YWVoAUXVhdEVudW1fRVhUX1haWABRdWF0RW51bV9FWFRfWFpZAFF1YXRFbnVtX0VYVF9ZWFkAUXVhdEVudW1fRVhUX1lYWgBRdWF0RW51bV9FWFRfWVpYAFF1YXRFbnVtX0VYVF9ZWlkAUXVhdEVudW1fRVhUX1pYWQBRdWF0RW51bV9FWFRfWlhaAFF1YXRFbnVtX0VYVF9aWVgAUXVhdEVudW1fRVhUX1pZWgBRdWF0RW51bV9JTlRfWFlYAFF1YXRFbnVtX0lOVF9YWVoAUXVhdEVudW1fSU5UX1haWABRdWF0RW51bV9JTlRfWFpZAFF1YXRFbnVtX0lOVF9ZWFkAUXVhdEVudW1fSU5UX1lYWgBRdWF0RW51bV9JTlRfWVpYAFF1YXRFbnVtX0lOVF9ZWlkAUXVhdEVudW1fSU5UX1pYWQBRdWF0RW51bV9JTlRfWlhaAFF1YXRFbnVtX0lOVF9aWVgAUXVhdEVudW1fSU5UX1pZWgBSQU5TQUMAUkVDVVJTX0ZJTFRFUgBSRURVQ0VfQVZHAFJFRFVDRV9NQVgAUkVEVUNFX01JTgBSRURVQ0VfU1VNAFJFVFJfQ0NPTVAAUkVUUl9FWFRFUk5BTABSRVRSX0ZMT09ERklMTABSRVRSX0xJU1QAUkVUUl9UUkVFAFJITwBSTkdfTk9STUFMAFJOR19VTklGT1JNAFJPVEFURV8xODAAUk9UQVRFXzkwX0NMT0NLV0lTRQBST1RBVEVfOTBfQ09VTlRFUkNMT0NLV0lTRQBTQU1QTElOR19OQVBTQUMAU0FNUExJTkdfUFJPR1JFU1NJVkVfTkFQU0FDAFNBTVBMSU5HX1BST1NBQwBTQU1QTElOR19VTklGT1JNAFNDT1JFX01FVEhPRF9MTUVEUwBTQ09SRV9NRVRIT0RfTUFHU0FDAFNDT1JFX01FVEhPRF9NU0FDAFNDT1JFX01FVEhPRF9SQU5TQUMAU09MVkVMUF9NVUxUSQBTT0xWRUxQX1NJTkdMRQBTT0xWRUxQX1VOQk9VTkRFRABTT0xWRUxQX1VORkVBU0lCTEUAU09MVkVQTlBfQVAzUABTT0xWRVBOUF9ETFMAU09MVkVQTlBfRVBOUABTT0xWRVBOUF9JUFBFAFNPTFZFUE5QX0lQUEVfU1FVQVJFAFNPTFZFUE5QX0lURVJBVElWRQBTT0xWRVBOUF9NQVhfQ09VTlQAU09MVkVQTlBfUDNQAFNPTFZFUE5QX1NRUE5QAFNPTFZFUE5QX1VQTlAAU09SVF9BU0NFTkRJTkcAU09SVF9ERVNDRU5ESU5HAFNPUlRfRVZFUllfQ09MVU1OAFNPUlRfRVZFUllfUk9XAFNWRF9GVUxMX1VWAFNWRF9NT0RJRllfQQBTVkRfTk9fVVYAU3BhcnNlTWF0X0hBU0hfQklUAFNwYXJzZU1hdF9IQVNIX1NDQUxFAFNwYXJzZU1hdF9NQUdJQ19WQUwAU3BhcnNlTWF0X01BWF9ESU0AU3RlcmVvQk1fUFJFRklMVEVSX05PUk1BTElaRURfUkVTUE9OU0UAU3RlcmVvQk1fUFJFRklMVEVSX1hTT0JFTABTdGVyZW9NYXRjaGVyX0RJU1BfU0NBTEUAU3RlcmVvTWF0Y2hlcl9ESVNQX1NISUZUAFN0ZXJlb1NHQk1fTU9ERV9ISABTdGVyZW9TR0JNX01PREVfSEg0AFN0ZXJlb1NHQk1fTU9ERV9TR0JNAFN0ZXJlb1NHQk1fTU9ERV9TR0JNXzNXQVkAU3ViZGl2MkRfTkVYVF9BUk9VTkRfRFNUAFN1YmRpdjJEX05FWFRfQVJPVU5EX0xFRlQAU3ViZGl2MkRfTkVYVF9BUk9VTkRfT1JHAFN1YmRpdjJEX05FWFRfQVJPVU5EX1JJR0hUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX0RTVABTdWJkaXYyRF9QUkVWX0FST1VORF9MRUZUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX09SRwBTdWJkaXYyRF9QUkVWX0FST1VORF9SSUdIVABTdWJkaXYyRF9QVExPQ19FUlJPUgBTdWJkaXYyRF9QVExPQ19JTlNJREUAU3ViZGl2MkRfUFRMT0NfT05fRURHRQBTdWJkaXYyRF9QVExPQ19PVVRTSURFX1JFQ1QAU3ViZGl2MkRfUFRMT0NfVkVSVEVYAFRIUkVTSF9CSU5BUlkAVEhSRVNIX0JJTkFSWV9JTlYAVEhSRVNIX01BU0sAVEhSRVNIX09UU1UAVEhSRVNIX1RPWkVSTwBUSFJFU0hfVE9aRVJPX0lOVgBUSFJFU0hfVFJJQU5HTEUAVEhSRVNIX1RSVU5DAFRNX0NDT0VGRgBUTV9DQ09FRkZfTk9STUVEAFRNX0NDT1JSAFRNX0NDT1JSX05PUk1FRABUTV9TUURJRkYAVE1fU1FESUZGX05PUk1FRABUZXJtQ3JpdGVyaWFfQ09VTlQAVGVybUNyaXRlcmlhX0VQUwBUZXJtQ3JpdGVyaWFfTUFYX0lURVIAVU1hdERhdGFfQVNZTkNfQ0xFQU5VUABVTWF0RGF0YV9DT1BZX09OX01BUABVTWF0RGF0YV9ERVZJQ0VfQ09QWV9PQlNPTEVURQBVTWF0RGF0YV9ERVZJQ0VfTUVNX01BUFBFRABVTWF0RGF0YV9IT1NUX0NPUFlfT0JTT0xFVEUAVU1hdERhdGFfVEVNUF9DT1BJRURfVU1BVABVTWF0RGF0YV9URU1QX1VNQVQAVU1hdERhdGFfVVNFUl9BTExPQ0FURUQAVU1hdF9BVVRPX1NURVAAVU1hdF9DT05USU5VT1VTX0ZMQUcAVU1hdF9ERVBUSF9NQVNLAFVNYXRfTUFHSUNfTUFTSwBVTWF0X01BR0lDX1ZBTABVTWF0X1NVQk1BVFJJWF9GTEFHAFVNYXRfVFlQRV9NQVNLAFVTQUNfQUNDVVJBVEUAVVNBQ19ERUZBVUxUAFVTQUNfRkFTVABVU0FDX0ZNXzhQVFMAVVNBQ19NQUdTQUMAVVNBQ19QQVJBTExFTABVU0FDX1BST1NBQwBVU0FHRV9BTExPQ0FURV9ERVZJQ0VfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX0hPU1RfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX1NIQVJFRF9NRU1PUlkAVVNBR0VfREVGQVVMVABXQVJQX0ZJTExfT1VUTElFUlMAV0FSUF9JTlZFUlNFX01BUABXQVJQX1BPTEFSX0xJTkVBUgBXQVJQX1BPTEFSX0xPRwBfSW5wdXRBcnJheV9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfQ1VEQV9IT1NUX01FTQBfSW5wdXRBcnJheV9FWFBSAF9JbnB1dEFycmF5X0ZJWEVEX1NJWkUAX0lucHV0QXJyYXlfRklYRURfVFlQRQBfSW5wdXRBcnJheV9LSU5EX01BU0sAX0lucHV0QXJyYXlfS0lORF9TSElGVABfSW5wdXRBcnJheV9NQVQAX0lucHV0QXJyYXlfTUFUWABfSW5wdXRBcnJheV9OT05FAF9JbnB1dEFycmF5X09QRU5HTF9CVUZGRVIAX0lucHV0QXJyYXlfU1REX0FSUkFZAF9JbnB1dEFycmF5X1NURF9BUlJBWV9NQVQAX0lucHV0QXJyYXlfU1REX0JPT0xfVkVDVE9SAF9JbnB1dEFycmF5X1NURF9WRUNUT1IAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9VTUFUAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfVkVDVE9SAF9JbnB1dEFycmF5X1VNQVQAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMTZGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzE2UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS18xNlUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMzJGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzMyUwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS182NEYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFMAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLX0FMTF8xNkYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMX0JVVF84UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS19GTFQAX19VTUFUX1VTQUdFX0ZMQUdTXzMyQklUAEJhZEFsaWduAEJhZEFscGhhQ2hhbm5lbABCYWRDT0kAQmFkQ2FsbEJhY2sAQmFkRGF0YVB0cgBCYWREZXB0aABCYWRJbWFnZVNpemUAQmFkTW9kZWxPckNoU2VxAEJhZE51bUNoYW5uZWwxVQBCYWROdW1DaGFubmVscwBCYWRPZmZzZXQAQmFkT3JkZXIAQmFkT3JpZ2luAEJhZFJPSVNpemUAQmFkU3RlcABCYWRUaWxlU2l6ZQBHcHVBcGlDYWxsRXJyb3IAR3B1Tm90U3VwcG9ydGVkAEhlYWRlcklzTnVsbABNYXNrSXNUaWxlZABPcGVuQ0xBcGlDYWxsRXJyb3IAT3BlbkNMRG91YmxlTm90U3VwcG9ydGVkAE9wZW5DTEluaXRFcnJvcgBPcGVuQ0xOb0FNREJsYXNGZnQAT3BlbkdsQXBpQ2FsbEVycm9yAE9wZW5HbE5vdFN1cHBvcnRlZABTdHNBc3NlcnQAU3RzQXV0b1RyYWNlAFN0c0JhY2tUcmFjZQBTdHNCYWRBcmcAU3RzQmFkRmxhZwBTdHNCYWRGdW5jAFN0c0JhZE1hc2sAU3RzQmFkTWVtQmxvY2sAU3RzQmFkUG9pbnQAU3RzQmFkU2l6ZQBTdHNEaXZCeVplcm8AU3RzRXJyb3IAU3RzRmlsdGVyT2Zmc2V0RXJyAFN0c0ZpbHRlclN0cnVjdENvbnRlbnRFcnIAU3RzSW5wbGFjZU5vdFN1cHBvcnRlZABTdHNJbnRlcm5hbABTdHNLZXJuZWxTdHJ1Y3RDb250ZW50RXJyAFN0c05vQ29udgBTdHNOb01lbQBTdHNOb3RJbXBsZW1lbnRlZABTdHNOdWxsUHRyAFN0c09iamVjdE5vdEZvdW5kAFN0c09rAFN0c091dE9mUmFuZ2UAU3RzUGFyc2VFcnJvcgBTdHNVbm1hdGNoZWRGb3JtYXRzAFN0c1VubWF0Y2hlZFNpemVzAFN0c1Vuc3VwcG9ydGVkRm9ybWF0AFN0c1ZlY0xlbmd0aEVycgBURVNUX0NVU1RPTQBURVNUX0VRAFRFU1RfR0UAVEVTVF9HVABURVNUX0xFAFRFU1RfTFQAVEVTVF9ORQBUcmFja2VyU2FtcGxlckNTQ19NT0RFX0RFVEVDVABUcmFja2VyU2FtcGxlckNTQ19NT0RFX0lOSVRfTkVHAFRyYWNrZXJTYW1wbGVyQ1NDX01PREVfSU5JVF9QT1MAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19ORUcAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19QT1MARE5OX0JBQ0tFTkRfQ1VEQQBETk5fQkFDS0VORF9ERUZBVUxUAEROTl9CQUNLRU5EX0hBTElERQBETk5fQkFDS0VORF9JTkZFUkVOQ0VfRU5HSU5FAEROTl9CQUNLRU5EX09QRU5DVgBETk5fQkFDS0VORF9WS0NPTQBETk5fQkFDS0VORF9XRUJOTgBETk5fVEFSR0VUX0NQVQBETk5fVEFSR0VUX0NVREEARE5OX1RBUkdFVF9DVURBX0ZQMTYARE5OX1RBUkdFVF9GUEdBAEROTl9UQVJHRVRfSERETABETk5fVEFSR0VUX01ZUklBRABETk5fVEFSR0VUX09QRU5DTABETk5fVEFSR0VUX09QRU5DTF9GUDE2AEROTl9UQVJHRVRfVlVMS0FOAFNvZnROTVNNZXRob2RfU09GVE5NU19HQVVTU0lBTgBTb2Z0Tk1TTWV0aG9kX1NPRlROTVNfTElORUFSAENBTElCX0NIRUNLX0NPTkQAQ0FMSUJfRklYX1NLRVcAQ0FMSUJfUkVDT01QVVRFX0VYVFJJTlNJQwBFTlVNX0xPR19MRVZFTF9GT1JDRV9JTlQATE9HX0xFVkVMX0RFQlVHAExPR19MRVZFTF9FUlJPUgBMT0dfTEVWRUxfRkFUQUwATE9HX0xFVkVMX0lORk8ATE9HX0xFVkVMX1NJTEVOVABMT0dfTEVWRUxfVkVSQk9TRQBMT0dfTEVWRUxfV0FSTklORwAAHGkCAHxpAgAcaQIAoGkCABxpAgDoSAAATjJjdjZQb2ludF9JZkVFABRqAgDYSAAAHGkCAAxJAABOMmN2MTFSb3RhdGVkUmVjdEUAABRqAgD4SAAAHGkCACxJAABOMmN2NVJlY3RfSWlFRQAAFGoCABxJAAAcaQIAfGkCABxpAgA0aQIAcHVzaF9iYWNrAHJlc2l6ZQBnZXQAc2V0AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATlN0M19fMjZ2ZWN0b3JJaU5TXzlhbGxvY2F0b3JJaUVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlpTlNfOWFsbG9jYXRvcklpRUVFRQBOU3QzX18yMjBfX3ZlY3Rvcl9iYXNlX2NvbW1vbklMYjFFRUUAAAAUagIA8UkAAJhqAgDFSQAAAAAAAAEAAAAYSgAAAAAAAJhqAgChSQAAAAAAAAEAAAAgSgAAAAAAAFBOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAAD0agIAUEoAAAAAAAA4SgAAUEtOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAPRqAgCISgAAAQAAADhKAABpaQB2AHZpAHhKAAAcaQIAeEoAAHxpAgB2aWlpAAAAABxpAgB4SgAAoGkCAHxpAgB2aWlpaQAAAKBpAgCwSgAAaWlpACRLAAA4SgAAoGkCAE4xMGVtc2NyaXB0ZW4zdmFsRQAAFGoCABBLAABpaWlpAEHAlgELswg0aQIAOEoAAKBpAgB8aQIAaWlpaWkATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlmTlNfOWFsbG9jYXRvcklmRUVFRQAAAJhqAgB6SwAAAAAAAAEAAAAYSgAAAAAAAJhqAgBWSwAAAAAAAAEAAACoSwAAAAAAAFBOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAAD0agIA2EsAAAAAAADASwAAUEtOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAPRqAgAQTAAAAQAAAMBLAAAATAAAHGkCAABMAACsaQIAdmlpZgAAAAAcaQIAAEwAAKBpAgCsaQIAdmlpaWYAAACgaQIAOEwAACRLAADASwAAoGkCAAAAAAA0aQIAwEsAAKBpAgCsaQIAaWlpaWYATlN0M19fMjZ2ZWN0b3JJZE5TXzlhbGxvY2F0b3JJZEVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlkTlNfOWFsbG9jYXRvcklkRUVFRQAAAJhqAgDKTAAAAAAAAAEAAAAYSgAAAAAAAJhqAgCmTAAAAAAAAAEAAAD4TAAAAAAAAFBOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAAD0agIAKE0AAAAAAAAQTQAAUEtOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAPRqAgBgTQAAAQAAABBNAABQTQAAHGkCAFBNAAC4aQIAdmlpZAAAAAAcaQIAUE0AAKBpAgC4aQIAdmlpaWQAAACgaQIAiE0AACRLAAAQTQAAoGkCAAAAAAA0aQIAEE0AAKBpAgC4aQIAaWlpaWQATlN0M19fMjZ2ZWN0b3JJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAmGoCACpOAAAAAAAAAQAAABhKAAAAAAAAmGoCAPZNAAAAAAAAAQAAAGhOAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y2UG9pbnRfSWlFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAD0agIAmE4AAAAAAACATgAAUEtOU3QzX18yNnZlY3RvcklOMmN2NlBvaW50X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAD0agIA4E4AAAEAAACATgAA0E4AABxpAgDQTgAASE8AAE4yY3Y2UG9pbnRfSWlFRQAUagIAOE8AABxpAgDQTgAAoGkCAEhPAACgaQIAGE8AACRLAACATgAAoGkCAEGAnwELxgI0aQIAgE4AAKBpAgBITwAATlN0M19fMjZ2ZWN0b3JJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAJhqAgC+TwAAAAAAAAEAAAAYSgAAAAAAAJhqAgCQTwAAAAAAAAEAAAD0TwAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2M01hdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAPRqAgAkUAAAAAAAAAxQAABQS05TdDNfXzI2dmVjdG9ySU4yY3YzTWF0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQD0agIAZFAAAAEAAAAMUAAAVFAAABxpAgBUUAAAwFAAAE4yY3YzTWF0RQAAABRqAgC0UABB0KEBCyMcaQIAVFAAAKBpAgDAUAAAoGkCAJRQAAAkSwAADFAAAKBpAgBBgKIBC/MCNGkCAAxQAACgaQIAwFAAAE5TdDNfXzI2dmVjdG9ySU4yY3Y1UmVjdF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAACYagIAQ1EAAAAAAAABAAAAGEoAAAAAAACYagIAEFEAAAAAAAABAAAAgFEAAAAAAABQTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUA9GoCALBRAAAAAAAAmFEAAFBLTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAA9GoCAPRRAAABAAAAmFEAAORRAAAcaQIA5FEAACxJAAAAAAAAHGkCAORRAACgaQIALEkAAKBpAgAsUgAAJEsAAJhRAACgaQIAQYClAQviAjRpAgCYUQAAoGkCACxJAABOU3QzX18yNnZlY3RvcklOMmN2OEtleVBvaW50RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAmGoCAMNSAAAAAAAAAQAAABhKAAAAAAAAmGoCAJBSAAAAAAAAAQAAAABTAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAPRqAgAwUwAAAAAAABhTAABQS05TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAAPRqAgB0UwAAAQAAABhTAABkUwAAHGkCAGRTAADcUwAATjJjdjhLZXlQb2ludEUAABRqAgDMUwBB8KcBCyMcaQIAZFMAAKBpAgDcUwAAoGkCAKxTAAAkSwAAGFMAAKBpAgBBoKgBC4MDNGkCABhTAACgaQIA3FMAAE5TdDNfXzI2dmVjdG9ySU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAJhqAgBhVAAAAAAAAAEAAAAYSgAAAAAAAJhqAgAwVAAAAAAAAAEAAACcVAAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAD0agIAzFQAAAAAAAC0VAAAUEtOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVO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Yy9tb2R1bGVzL2NvcmUvc3JjL2FsbG9jLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYXJyYXkuY3BwAE5vbi1wb3NpdGl2ZSB3aWR0aCBvciBoZWlnaHQAY3ZDcmVhdGVNYXRIZWFkZXIASW52YWxpZCBtYXRyaXggdHlwZQAAY3ZJbml0TWF0SGVhZGVyAE5vbi1wb3NpdGl2ZSBjb2xzIG9yIHJvd3MAY3ZSZWxlYXNlTWF0AEJhZCBDdk1hdCBoZWFkZXIAY3ZDbG9uZU1hdABJbnZhbGlkIHNwYXJzZSBtYXRyaXggaGVhZGVyAGN2SW5pdFNwYXJzZU1hdEl0ZXJhdG9yAE5VTEwgaXRlcmF0b3IgcG9pbnRlcgBEYXRhIGlzIGFscmVhZHkgYWxsb2NhdGVkAGN2Q3JlYXRlRGF0YQBUb28gYmlnIGJ1ZmZlciBpcyBhbGxvY2F0ZWQAT3ZlcmZsb3cgZm9yIGltYWdlU2l6ZQB1bnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBPbmx5IGNvbnRpbnVvdXMgbkQgYXJyYXlzIGFyZSBzdXBwb3J0ZWQgaGVyZQBjdkdldENvbHMATlVMTCBhcnJheSBwb2ludGVyIGlzIHBhc3NlZABjdkdldE1hdABUaGUgbWF0cml4IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBUaGUgaW1hZ2UgaGFzIE5VTEwgZGF0YSBwb2ludGVyAEltYWdlcyB3aXRoIHBsYW5hciBkYXRhIGxheW91dCBzaG91bGQgYmUgdXNlZCB3aXRoIENPSSBzZWxlY3RlZABUaGUgaW1hZ2UgaXMgaW50ZXJsZWF2ZWQgYW5kIGhhcyBvdmVyIENWX0NOX01BWCBjaGFubmVscwBQaXhlbCBvcmRlciBzaG91bGQgYmUgdXNlZCB3aXRoIGNvaSA9PSAwAElucHV0IGFycmF5IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBVbnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdHJpeCBlbGVtZW50cyBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIHJvd3MAY3ZSZXNoYXBlAENPSSBpcyBub3Qgc3VwcG9ydGVkAFRoZSBtYXRyaXggaXMgbm90IGNvbnRpbnVvdXMsIHRodXMgaXRzIG51bWJlciBvZiByb3dzIGNhbiBub3QgYmUgY2hhbmdlZABCYWQgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAGN2R2V0SW1hZ2VDT0kAc3JjICYmIG5zcmNzID4gMCAmJiBkc3QgJiYgbmRzdHMgPiAwICYmIGZyb21UbyAmJiBucGFpcnMgPiAwAG1peENoYW5uZWxzAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jaGFubmVscy5jcHAAaiA8IG5zcmNzICYmIHNyY1tqXS5kZXB0aCgpID09IGRlcHRoAGkxID49IDAgJiYgaiA8IG5kc3RzICYmIGRzdFtqXS5kZXB0aCgpID09IGRlcHRoAEGQ2AELmiFDAgAAQwIAAEQCAABEAgAARQIAAEUCAABGAgAAAAAAAGNuIDw9IDQAc2NhbGFyVG9SYXdEYXRhAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3B5LmNwcAAAY3Z0Rm4AY29udmVydEFuZFVucm9sbFNjYWxhcgBzY24gPT0gMQBjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51ICE9IE5VTEwAZGltcyA+IDAgJiYgZGltcyA8IENWX01BWF9ESU0A/GwAAEhsAABmAQAABQAAAGdsAAAobQAAMW0AAHZvaWQgY3Y6Ok1hdDo6Y29weVRvKGN2OjpPdXRwdXRBcnJheSkgY29uc3QAc3oud2lkdGgAMABtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikAc2l6ZSgpID09IG1hc2suc2l6ZSgpAHN6IDw9IHNpemVvZihzY2FsYXIpAG9wZXJhdG9yPQBjaGVja1NjYWxhcih2YWx1ZSwgdHlwZSgpLCBfdmFsdWUua2luZCgpLCBfSW5wdXRBcnJheTo6TUFUICkAc2V0VG8AbWFzay5lbXB0eSgpIHx8IChtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikgJiYgc2l6ZSA9PSBtYXNrLnNpemUpAF9zcmMuZ2V0T2JqKCkgIT0gX2RzdC5nZXRPYmooKQByZXBlYXQAX3NyYy5kaW1zKCkgPD0gMgBueSA+IDAgJiYgbnggPiAwAG1hc2thcnIgPT0gMABjdkNvcHkAc3JjLmRlcHRoKCkgPT0gZHN0LmRlcHRoKCkgJiYgc3JjLnNpemUgPT0gZHN0LnNpemUAKGNvaTEgIT0gMCB8fCBzcmMuY2hhbm5lbHMoKSA9PSAxKSAmJiAoY29pMiAhPSAwIHx8IGRzdC5jaGFubmVscygpID09IDEpAHNyYy5jaGFubmVscygpID09IGRzdC5jaGFubmVscygpAAAvc3JjL21vZHVsZXMvY29yZS9zcmMvZGF0YXN0cnVjdHMuY3BwAGN2UmVzdG9yZU1lbVN0b3JhZ2VQb3MATlVMTCBzdG9yYWdlIHBvaW50ZXIAY3ZNZW1TdG9yYWdlQWxsb2MAVG9vIGxhcmdlIG1lbW9yeSBibG9jayBpcyByZXF1ZXN0ZWQAc3RvcmFnZS0+ZnJlZV9zcGFjZSAlIENWX1NUUlVDVF9BTElHTiA9PSAwAHJlcXVlc3RlZCBzaXplIGlzIG5lZ2F0aXZlIG9yIHRvbyBiaWcAKHNpemVfdClwdHIgJSBDVl9TVFJVQ1RfQUxJR04gPT0gMABjdlNldFNlcUJsb2NrU2l6ZQBTdG9yYWdlIGJsb2NrIHNpemUgaXMgdG9vIHNtYWxsIHRvIGZpdCB0aGUgc2VxdWVuY2UgZWxlbWVudHMAY3ZDdnRTZXFUb0FycmF5AGN2U2V0U2VxUmVhZGVyUG9zAE5VTEwgc2VxdWVuY2UgcG9pbnRlcgBudW1iZXIgb2YgcmVtb3ZlZCBlbGVtZW50cyBpcyBuZWdhdGl2ZQBjdlNlcVBvcE11bHRpAGRlbHRhID4gMABjdkNsZWFyU2VxAGN2U2V0QWRkAGNvdW50IDw9IENWX1NFVF9FTEVNX0lEWF9NQVNLKzEAaWN2R29OZXh0TWVtQmxvY2sAcGFyZW50LT5ib3R0b20gPT0gYmxvY2sAaWN2R3Jvd1NlcQBUaGUgc2VxdWVuY2UgaGFzIE5VTEwgc3RvcmFnZSBwb2ludGVyAHN0b3JhZ2UtPmZyZWVfc3BhY2UgPj0gZGVsdGEAYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMCAmJiBibG9jay0+Y291bnQgPiAwAHNlcS0+Zmlyc3QtPnN0YXJ0X2luZGV4ID09IDAAKGluX2Zyb250X29mID8gYmxvY2sgOiBibG9jay0+cHJldiktPmNvdW50ID09IDAAaWN2RnJlZVNlcUJsb2NrAHNlcS0+cHRyID09IGJsb2NrLT5kYXRhAGJsb2NrLT5jb3VudCA+IDAgJiYgYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMAAvc3JjL21vZHVsZXMvY29yZS9zcmMvbGFwYWNrLmNwcAAhbWF0LmVtcHR5KCkAZGV0ZXJtaW5hbnQAbWF0LnJvd3MgPT0gbWF0LmNvbHMgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQB0eXBlID09IENWXzMyRiB8fCB0eXBlID09IENWXzY0RgBpbnZlcnQAbSA9PSBuAG1ldGhvZCA9PSBERUNPTVBfTFUgfHwgbWV0aG9kID09IERFQ09NUF9DSE9MRVNLWQBuID09IDEAdHlwZSA9PSBfc3JjMi50eXBlKCkgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQBzb2x2ZQC4cwAAf3IAAEgEAAAAAAAA/XMAACJ0AAApdAAAYm9vbCBjdjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCkAVW5zdXBwb3J0ZWQgbWV0aG9kLCBzZWUgI0RlY29tcFR5cGVzAG1ldGhvZABtZXRob2QgPT0gREVDT01QX0xVIHx8IG1ldGhvZCA9PSBERUNPTVBfU1ZEIHx8IG1ldGhvZCA9PSBERUNPTVBfRUlHIHx8IG1ldGhvZCA9PSBERUNPTVBfQ0hPTEVTS1kgfHwgbWV0aG9kID09IERFQ09NUF9RUgAobWV0aG9kICE9IERFQ09NUF9MVSAmJiBtZXRob2QgIT0gREVDT01QX0NIT0xFU0tZKSB8fCBpc19ub3JtYWwgfHwgc3JjLnJvd3MgPT0gc3JjLmNvbHMAc3JjLnJvd3MgPT0gMQBUaGUgZnVuY3Rpb24gY2FuIG5vdCBzb2x2ZSB1bmRlci1kZXRlcm1pbmVkIGxpbmVhciBzeXN0ZW1zAHNyYy5yb3dzID09IHNyYy5jb2xzAGVpZ2VuAHcudHlwZSgpID09IHUudHlwZSgpICYmIHUudHlwZSgpID09IHZ0LnR5cGUoKSAmJiB1LmRhdGEgJiYgdnQuZGF0YSAmJiB3LmRhdGEAYmFja1N1YnN0AHUuY29scyA+PSBubSAmJiB2dC5yb3dzID49IG5tICYmICh3LnNpemUoKSA9PSBTaXplKG5tLCAxKSB8fCB3LnNpemUoKSA9PSBTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBTaXplKHZ0LnJvd3MsIHUuY29scykpAHJocy5kYXRhID09IDAgfHwgKHJocy50eXBlKCkgPT0gdHlwZSAmJiByaHMucm93cyA9PSBtKQAAcm93cyA9PSBtYXQtPmNvbHMAY3ZEZXQAc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpICYmIHNyYy5yb3dzID09IGRzdC5jb2xzICYmIHNyYy5jb2xzID09IGRzdC5yb3dzAGN2SW52ZXJ0AEEudHlwZSgpID09IHgudHlwZSgpICYmIEEuY29scyA9PSB4LnJvd3MgJiYgeC5jb2xzID09IGIuY29scwBjdlNvbHZlAHcudHlwZSgpID09IHR5cGUgJiYgKHcuc2l6ZSgpID09IGN2OjpTaXplKG5tLDEpIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBjdjo6U2l6ZShubSwgbm0pIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKG4sIG0pKQBjdlNWRAB1LnR5cGUoKSA9PSB0eXBlAHYudHlwZSgpID09IHR5cGUAdS5zaXplKCkgPT0gc3ZkLnUuc2l6ZSgpAHYuc2l6ZSgpID09IHN2ZC52dC5zaXplKCkAX1NWRGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5zaW1kLmhwcABjbXBvcCA9PSBDTVBfTkUAY21wX2xvb3Bfbm9zaW1kAGNtcF9sb29wAG9wID09IENNUF9MVCB8fCBvcCA9PSBDTVBfTEUgfHwgb3AgPT0gQ01QX0VRIHx8IG9wID09IENNUF9ORSB8fCBvcCA9PSBDTVBfR0UgfHwgb3AgPT0gQ01QX0dUAGNvbXBhcmUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5jcHAAX3NyYzEuZW1wdHkoKSA9PSBfc3JjMi5lbXB0eSgpAFRoZSBvcGVyYXRpb24gaXMgbmVpdGhlciAnYXJyYXkgb3AgYXJyYXknICh3aGVyZSBhcnJheXMgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCB0aGUgc2FtZSB0eXBlKSwgbm9yICdhcnJheSBvcCBzY2FsYXInLCBub3IgJ3NjYWxhciBvcCBhcnJheScAVW5zdXBwb3J0ZWQgZGVwdGggdmFsdWUgQ1ZfMTZGAGZ1bmMAY3Z0Rm4Ac3JjMS5zaXplID09IGRzdC5zaXplICYmIHNyYzEuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdlN1YgBiaW5hcnlfb3AAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHR5cGUpLCBub3IgJ2FycmF5IG9wIHNjYWxhcicsIG5vciAnc2NhbGFyIG9wIGFycmF5JwBwc3JjMS0+c2FtZVNpemUoKnBzcmMyKSAmJiB0eXBlMSA9PSB0eXBlMgAobXR5cGUgPT0gQ1ZfOFUgfHwgbXR5cGUgPT0gQ1ZfOFMpICYmIF9tYXNrLnNhbWVTaXplKCpwc3JjMSkAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHRoZSBzYW1lIG51bWJlciBvZiBjaGFubmVscyksIG5vciAnYXJyYXkgb3Agc2NhbGFyJywgbm9yICdzY2FsYXIgb3AgYXJyYXknAGFyaXRobV9vcAB0eXBlMiA9PSBDVl82NEYgJiYgKHN6Mi5oZWlnaHQgPT0gMSB8fCBzejIuaGVpZ2h0ID09IDQpAFdoZW4gdGhlIGlucHV0IGFycmF5cyBpbiBhZGQvc3VidHJhY3QvbXVsdGlwbHkvZGl2aWRlIGZ1bmN0aW9ucyBoYXZlIGRpZmZlcmVudCB0eXBlcywgdGhlIG91dHB1dCBhcnJheSB0eXBlIG11c3QgYmUgZXhwbGljaXRseSBzcGVjaWZpZWQAKG10eXBlID09IENWXzhVQzEgfHwgbXR5cGUgPT0gQ1ZfOFNDMSkgJiYgX21hc2suc2FtZVNpemUoKnBzcmMxKQCVAgAAlgIAAJcCAACYAgAAmQIAAJoCAACbAgBBvvkBCwJgwABBzvkBCxrgwAAAAAAAAODBAAAA4P//78f////////v/wBB9fkBC9UI4G9AAAAAAADAX0AAAAAA4P/vQAAAAADA/99AAADA////30EAAADg///vR////////+9/AAAAAAAAAAAEAAAAAQAAAAIAAAAwICYmICJOb3Qgc3VwcG9ydGVkIgAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLnNpbWQuaHBwAGdldFNjYWxlQWRkRnVuYwBmdW5jICYmICJOb3Qgc3VwcG9ydGVkIgBnZXRNdWxUcmFuc3Bvc2VkRnVuYwAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLmRpc3BhdGNoLmNwcAB0eXBlID09IEIudHlwZSgpAGdlbW0AKHR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgdHlwZSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCB0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpIHx8IHR5cGUgPT0gKCgoNikgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkpAGFfc2l6ZS53aWR0aCA9PSBsZW4AYV9zaXplLmhlaWdodCA9PSBsZW4AQy50eXBlKCkgPT0gdHlwZQAoKChmbGFncyZHRU1NXzNfVCkgPT0gMCAmJiBDLnJvd3MgPT0gZF9zaXplLmhlaWdodCAmJiBDLmNvbHMgPT0gZF9zaXplLndpZHRoKSB8fCAoKGZsYWdzJkdFTU1fM19UKSAhPSAwICYmIEMucm93cyA9PSBkX3NpemUud2lkdGggJiYgQy5jb2xzID09IGRfc2l6ZS5oZWlnaHQpKQB0eXBlID09IENWXzY0RkMyAGZ1bmMgIT0gMAB0eXBlID09IF9zcmMyLnR5cGUoKQBzY2FsZUFkZABzcmMxLnNpemUgPT0gc3JjMi5zaXplAHNyYy5jaGFubmVscygpID09IDEAbXVsVHJhbnNwb3NlZABkZWx0YS5jaGFubmVscygpID09IDEAKGRlbHRhLnJvd3MgPT0gc3JjLnJvd3MgfHwgZGVsdGEucm93cyA9PSAxKQAoZGVsdGEuY29scyA9PSBzcmMuY29scyB8fCBkZWx0YS5jb2xzID09IDEpAABtYXQudHlwZSgpID09IHR5cGUoKQBkb3QAbWF0LnNpemUgPT0gc2l6ZQAoRC5yb3dzID09ICgoZmxhZ3MgJiAxKSA9PSAwID8gQS5yb3dzIDogQS5jb2xzKSkAY3ZHRU1NAChELmNvbHMgPT0gKChmbGFncyAmIDIpID09IDAgPyBCLmNvbHMgOiBCLnJvd3MpKQBELnR5cGUoKSA9PSBBLnR5cGUoKQAAAAAAAAAAvAIAAL0CAAC+AgAAvwIAAMACAADBAgAAwgIAQYCDAguILGdlbW1JbXBsADAAR0VNTV9UcmFuc3Bvc2VCbG9jawBkZWx0YV9jb2xzID09IDEATXVsVHJhbnNwb3NlZFIAc3pbaV0gPD0gKHNpemVfdClJTlRfTUFYAGRvd25sb2FkAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tYXRyaXguY3BwAHVwbG9hZABjb3B5ADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABTdGVwICV6dSBmb3IgZGltZW5zaW9uICVkIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxICV6dQBUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAdG90YWwoKSA9PSAwIHx8IGRhdGEgIT0gTlVMTABNYXQAX3N0ZXAgPj0gbWluc3RlcABTdGVwIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxAAAAAByDAADggQAA0gEAAAUAAABIgwAASYMAAE+DAABjdjo6TWF0OjpNYXQoY3Y6OlNpemUsIGludCwgdm9pZCAqLCBzaXplX3QpAABfc3RlcABtaW5zdGVwAG0uc3RlcC5wICE9IG0uc3RlcC5idWYAb3BlcmF0b3I9ADAgPD0gZCAmJiBkIDw9IENWX01BWF9ESU0gJiYgX3NpemVzAGNyZWF0ZQB1ICE9IDAAc3RlcFtkaW1zLTFdID09IChzaXplX3QpQ1ZfRUxFTV9TSVpFKGZsYWdzKQBtLmRpbXMgPj0gMgAwIDw9IF9yb3dSYW5nZS5zdGFydCAmJiBfcm93UmFuZ2Uuc3RhcnQgPD0gX3Jvd1JhbmdlLmVuZCAmJiBfcm93UmFuZ2UuZW5kIDw9IG0ucm93cwAwIDw9IF9jb2xSYW5nZS5zdGFydCAmJiBfY29sUmFuZ2Uuc3RhcnQgPD0gX2NvbFJhbmdlLmVuZCAmJiBfY29sUmFuZ2UuZW5kIDw9IG0uY29scwBtLmRpbXMgPD0gMgAwIDw9IHJvaS54ICYmIDAgPD0gcm9pLndpZHRoICYmIHJvaS54ICsgcm9pLndpZHRoIDw9IG0uY29scyAmJiAwIDw9IHJvaS55ICYmIDAgPD0gcm9pLmhlaWdodCAmJiByb2kueSArIHJvaS5oZWlnaHQgPD0gbS5yb3dzAHJhbmdlcwByID09IFJhbmdlOjphbGwoKSB8fCAoMCA8PSByLnN0YXJ0ICYmIHIuc3RhcnQgPCByLmVuZCAmJiByLmVuZCA8PSBtLnNpemVbaV0pAGRpbXMgPD0gMgBkaWFnAGRpbXMgPD0gMiAmJiBzdGVwWzBdID4gMABsb2NhdGVST0kAYWRqdXN0Uk9JAHJlc2hhcGUAVGhlIG1hdHJpeCBpcyBub3QgY29udGludW91cywgdGh1cyBpdHMgbnVtYmVyIG9mIHJvd3MgY2FuIG5vdCBiZSBjaGFuZ2VkAEJhZCBuZXcgbnVtYmVyIG9mIHJvd3MAVGhlIHRvdGFsIG51bWJlciBvZiBtYXRyaXggZWxlbWVudHMgaXMgbm90IGRpdmlzaWJsZSBieSB0aGUgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAF9jbiA+PSAwICYmIF9uZXduZGltcyA+IDAgJiYgX25ld25kaW1zIDw9IENWX01BWF9ESU0gJiYgX25ld3N6AF9jbiA8PSBDVl9DTl9NQVgAX25ld3N6W2ldID49IDAAQ29weSBkaW1lbnNpb24gKHdoaWNoIGhhcyB6ZXJvIHNpemUpIGlzIG5vdCBwcmVzZW50IGluIHNvdXJjZSBtYXRyaXgAUmVxdWVzdGVkIGFuZCBzb3VyY2UgbWF0cmljZXMgaGF2ZSBkaWZmZXJlbnQgY291bnQgb2YgZWxlbWVudHMAUmVzaGFwaW5nIG9mIG4tZGltZW5zaW9uYWwgbm9uLWNvbnRpbnVvdXMgbWF0cmljZXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQA4IcAAOCBAAAXBQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgaW50KQBtMS5kaW1zADIAADiIAADggQAAHQUAAAMAAABIgwAAEYgAABmIAABjdjo6U2l6ZSBjdjo6Z2V0Q29udGludW91c1NpemUyRChjdjo6TWF0ICYsIGN2OjpNYXQgJiwgaW50KQA4iAAA4IEAAB4FAAADAAAASIMAAJCIAAAZiAAAbTIuZGltcwA4iAAA4IEAACMFAAABAAAASIMAALSIAAC9iAAAdG90YWxfc3oAbTIudG90YWwoKQBpc19tMV92ZWN0b3IAZ2V0Q29udGludW91c1NpemUyRABpc19tMl92ZWN0b3IAbTEuY29scyA9PSBtMi5jb2xzICYmIG0xLnJvd3MgPT0gbTIucm93cwAAPIkAAOCBAAA3BQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgY3Y6Ok1hdCAmLCBjdjo6TWF0ICYsIGludCkAADyJAADggQAAOAUAAAMAAABIgwAAkIgAABmIAAA8iQAA4IEAADkFAAADAAAASIMAALyJAAAZiAAAbTMuZGltcwA8iQAA4IEAAD4FAAABAAAASIMAALSIAAC9iAAAPIkAAOCBAAA/BQAAAQAAAEiDAAC0iAAA/IkAAG0zLnRvdGFsKCkAaXNfbTNfdmVjdG9yAG0xLmNvbHMgPT0gbTIuY29scyAmJiBtMS5yb3dzID09IG0yLnJvd3MgJiYgbTEuY29scyA9PSBtMy5jb2xzICYmIG0xLnJvd3MgPT0gbTMucm93cwBOMmN2MTJNYXRBbGxvY2F0b3JFAAAAABRqAgBpigAAAAAAAPCKAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAABOMmN2MjVEdW1teUJ1ZmZlclBvb2xDb250cm9sbGVyRQBOMmN2MjBCdWZmZXJQb29sQ29udHJvbGxlckUAAAAAFGoCAMmKAAA8agIAqIoAAOiKAAAAAAAASIsAAMkCAADKAgAAywIAAMwCAADNAgAAzgIAAM8CAADQAgAA0QIAANICAADTAgAATjJjdjE1U3RkTWF0QWxsb2NhdG9yRQAAPGoCADCLAACAigAAdG90YWwgPD0gc3RlcFtpXQBhbGxvY2F0ZQB1LT51cmVmY291bnQgPT0gMABkZWFsbG9jYXRlAHUtPnJlZmNvdW50ID09IDAAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9jLmNwcABDT0kgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZnVuY3Rpb24AY3ZhcnJUb01hdAB0b3RhbCA+IDAgJiYgQ1ZfRUxFTV9TSVpFKHNlcS0+ZmxhZ3MpID09IGVzegBVbmtub3duIGFycmF5IHR5cGUAQ1ZfSVNfSU1BR0UoYXJyKQBleHRyYWN0SW1hZ2VDT0kAMCA8PSBjb2kgJiYgY29pIDwgbWF0LmNoYW5uZWxzKCkAc3JjLnJvd3MgPT0gZHN0LmNvbHMgJiYgc3JjLmNvbHMgPT0gZHN0LnJvd3MgJiYgc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpAGN2VHJhbnNwb3NlAHNyY0Euc2l6ZSgpID09IGRzdC5zaXplKCkgJiYgc3JjQS50eXBlKCkgPT0gZHN0LnR5cGUoKQBjdkNyb3NzUHJvZHVjdABpbWctPmRhdGFPcmRlciA9PSBJUExfREFUQV9PUkRFUl9QSVhFTABpcGxJbWFnZVRvTWF0AGltZy0+ZGF0YU9yZGVyID09IElQTF9EQVRBX09SREVSX1BJWEVMIHx8IGltZy0+cm9pLT5jb2kgIT0gMABnbG9iYWwAJWRAJTAuM2YAJWRAJWxsdQAlZABbRkFUQUw6AF0gAFtFUlJPUjoAWyBXQVJOOgBbIElORk86AFtERUJVRzoAIAAoACkgAE9QRU5DVl9MT0dfTEVWRUwAAE9QRU5DVl9MT0dfVElNRVNUQU1QAE9QRU5D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KXZ2LnNpemUoKQAwIDw9IGkgJiYgaSA8IChpbnQpdi5zaXplKCkAMCA8PSBpICYmIGkgPCBzei5oZWlnaHQAWW91IHNob3VsZCBleHBsaWNpdGx5IGNhbGwgbWFwSG9zdC91bm1hcEhvc3QgbWV0aG9kcyBmb3Igb2dsOjpCdWZmZXIgb2JqZWN0AFlvdSBzaG91bGQgZXhwbGljaXRseSBjYWxsIGRvd25sb2FkIG1ldGhvZCBmb3IgY3VkYTo6R3B1TWF0IG9iamVjdABVbmtub3duL3Vuc3VwcG9ydGVkIGFycmF5IHR5cGUAZ2V0VU1hdABnZXRNYXRWZWN0b3IAZ2V0VU1hdFZlY3RvcgBDVURBIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9DVURBKQBzaXplAGkgPCAoaW50KXZ2LnNpemUoKQBpIDwgc3ouaGVpZ2h0AHNpemVuZAComgAA0pgAADcCAAADAAAA1poAAOSaAADsmgAAaW50IGN2OjpfSW5wdXRBcnJheTo6c2l6ZW5kKGludCAqLCBpbnQpIGNvbnN0AE5vdCBzdXBwb3J0ZWQAZGltcyhpKQAyAGRpbXMAKGZsYWdzICYgRklYRURfVFlQRSkgIT0gMAB0eXBlAGVtcHR5AGkgPj0gMCAmJiAoc2l6ZV90KWkgPCB2di5zaXplKCkAaXNDb250aW51b3VzAGkgPj0gMCAmJiBpIDwgc3ouaGVpZ2h0AABjb3B5VG8AIWZpeGVkU2l6ZSgpIHx8ICgoTWF0KilvYmopLT5zaXplLm9wZXJhdG9yKCkoKSA9PSBfc3oAY3JlYXRlACFmaXhlZFR5cGUoKSB8fCAoKE1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IF9zegAhZml4ZWRUeXBlKCkgfHwgKChVTWF0KilvYmopLT50eXBlKCkgPT0gbXR5cGUAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6R3B1TWF0KilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKGN1ZGE6OkdwdU1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT50eXBlKCkgPT0gbXR5cGUAT3BlbkdMIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9PUEVOR0wpACFmaXhlZFNpemUoKSB8fCAoKGN1ZGE6Okhvc3RNZW0qKW9iaiktPnNpemUoKSA9PSBfc3oAIWZpeGVkVHlwZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKE1hdCopb2JqKS0+c2l6ZS5vcGVyYXRvcigpKCkgPT0gU2l6ZShfY29scywgX3Jvd3MpACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhZml4ZWRTaXplKCkgfHwgKChjdWRhOjpHcHVNYXQqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgob2dsOjpCdWZmZXIqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+c2l6ZSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhKG0uZW1wdHkoKSAmJiBmaXhlZFR5cGUoKSAmJiBmaXhlZFNpemUoKSkgJiYgIkNhbid0IHJlYWxsb2NhdGUgZW1wdHkgTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiALSfAADSmAAAFAUAAAEAAAAToAAAZKAAAG2gAAB2b2lkIGN2OjpfT3V0cHV0QXJyYXk6OmNyZWF0ZShpbnQsIGNvbnN0IGludCAqLCBpbnQsIGludCwgYm9vbCwgX091dHB1dEFycmF5OjpEZXB0aE1hc2spIGNvbnN0AENhbid0IHJlYWxsb2NhdGUgTWF0IHdpdGggbG9ja2VkIHR5cGUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAG0udHlwZSgpAENWX01BVF9UWVBFKG10eXBlKQC0nwAA0pgAABgFAAABAAAAnKAAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBNYXQgd2l0aCBsb2NrZWQgc2l6ZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAbS5kaW1zAGQAAAC0nwAA0pgAABoFAAABAAAAnKAAABShAAAeoQAAbS5zaXplW2pdAHNpemVzW2pdACEobS5lbXB0eSgpICYmIGZpeGVkVHlwZSgpICYmIGZpeGVkU2l6ZSgpKSAmJiAiQ2FuJ3QgcmVhbGxvY2F0ZSBlbXB0eSBVTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiAAAAALSfAADSmAAAMgUAAAEAAADQoQAAZKAAAG2gAABDYW4ndCByZWFsbG9jYXRlIFVNYXQgd2l0aCBsb2NrZWQgdHlwZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAAAC0nwAA0pgAADYFAAABAAAAQKIAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBVTWF0IHdpdGggbG9ja2VkIHNpemUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAAAAtJ8AANKYAAA4BQAAAQAAAECiAAAUoQAAHqEAAG10eXBlID09IHR5cGUwIHx8IChDVl9NQVRfQ04obXR5cGUpID09IDEgJiYgKCgxIDw8IHR5cGUwKSAmIGZpeGVkRGVwdGhNYXNrKSAhPSAwKQAAALSfAADSmAAAQwUAAAMAAABdmwAA9KAAAOyaAAC0nwAA0pgAAEkFAAAAAAAAXZsAADyjAABLowAAcmVxdWVzdGVkX3NpemUAc3RkOjptYXgocmVxdWVzdGVkX3NpemUud2lkdGgsIHJlcXVlc3RlZF9zaXplLmhlaWdodCkgPT0gdG90YWxfMWQAAAAAtJ8AANKYAABPBQAAAQAAAF2bAAA8owAArKMAAHN6AAC0nwAA0pgAAFUFAAAAAAAAXZsAADyjAADMowAAKHJlcXVlc3RlZF9zaXplID09IHN6IHx8IChyZXF1ZXN0ZWRfc2l6ZS5oZWlnaHQgPT0gc3oud2lkdGggJiYgcmVxdWVzdGVkX3NpemUud2lkdGggPT0gc3ouaGVpZ2h0KSkAZCA9PSAyICYmIChzaXplc1swXSA9PSAxIHx8IHNpemVzWzFdID09IDEgfHwgc2l6ZXNbMF0qc2l6ZXNbMV0gPT0gMCkAIWZpeGVkU2l6ZSgpIHx8IGxlbiA9PSB2di5zaXplKCkAbXR5cGUgPT0gdHlwZTAgfHwgKENWX01BVF9DTihtdHlwZSkgPT0gQ1ZfTUFUX0NOKHR5cGUwKSAmJiAoKDEgPDwgdHlwZTApICYgZml4ZWREZXB0aE1hc2spICE9IDApACFmaXhlZFNpemUoKSB8fCBsZW4gPT0gKChzdGQ6OnZlY3Rvcjx1Y2hhcj4qKXYpLT5zaXplKCkgLyBlc3oAVmVjdG9ycyB3aXRoIGVsZW1lbnQgc2l6ZSAlZCBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlLCBtb2RpZnkgT3V0cHV0QXJyYXk6OmNyZWF0ZSgpCgBjcmVhdGUoKSBjYWxsZWQgZm9yIHRoZSBtaXNzaW5nIG91dHB1dCBhcnJheQAhZml4ZWRTaXplKCkgfHwgbGVuID09IGxlbjAAdltqXS5lbXB0eSgpAGkgPCAoaW50KXYuc2l6ZSgpACFmaXhlZFR5cGUoKSAmJiAhZml4ZWRTaXplKCkAQ1ZfTUFUX1RZUEUobXR5cGUpID09IG0udHlwZSgpAG0uZGltcyA9PSBkAG0uc2l6ZVtqXSA9PSBzaXplc1tqXQBsZW4gPT0gbGVuMAAhZml4ZWRTaXplKCkAcmVsZWFzZQBrID09IE1BVABnZXRNYXRSZWYAayA9PSBTVERfVkVDVE9SX01BVCB8fCBrID09IFNURF9BUlJBWV9NQVQAc2V0VG8AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAoY24gPT0gMSAmJiAoX21hc2suZW1wdHkoKSB8fCBfbWFzay50eXBlKCkgPT0gQ1ZfOFUpKSB8fCAoY24gPiAxICYmIF9tYXNrLmVtcHR5KCkgJiYgIW1pbklkeCAmJiAhbWF4SWR4KQBtaW5NYXhJZHgAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21pbm1heC5jcHAAZnVuYyAhPSAwAF9pbWcuZGltcygpIDw9IDIAbWluTWF4TG9jAEHAzwIL3SgtAwAALgMAAC8DAAAwAwAAMQMAADIDAAAzAwAAAAAAAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAQEBAQICAgECAgIBAgICAQICAgIDAwMCAwMDAgMDAwECAgICAwMDAgMDAwIDAwMBAgICAgMDAwIDAwMCAwMDAQICAgIDAwMCAwMDAgMDAwIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAECAgICAwMDAgMDAwIDAwMCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQBAgICAgMDAwIDAwMCAwMDAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAAEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAm5vcm1UeXBlID09IE5PUk1fSU5GIHx8IG5vcm1UeXBlID09IE5PUk1fTDEgfHwgbm9ybVR5cGUgPT0gTk9STV9MMiB8fCBub3JtVHlwZSA9PSBOT1JNX0wyU1FSIHx8ICgobm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HIHx8IG5vcm1UeXBlID09IE5PUk1fSEFNTUlORzIpICYmIF9zcmMudHlwZSgpID09IENWXzhVKQBub3JtAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9ub3JtLmNwcABtYXNrLmVtcHR5KCkgfHwgbWFzay50eXBlKCkgPT0gQ1ZfOFUAZnVuYyAhPSAwAAAAAASsAACXqwAAxwIAAAQAAAA5rAAAOqwAAEqsAABkb3VibGUgY3Y6Om5vcm0oY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAAAoc2l6ZV90KWl0LnNpemUAKHNpemVfdClJTlRfTUFYAAAAeKwAAJerAAA5BAAAAQAAAL2sAADRrAAA3qwAAGRvdWJsZSBjdjo6bm9ybShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAElucHV0IHR5cGUgbWlzbWF0Y2gAX3NyYzEudHlwZSgpAF9zcmMyLnR5cGUoKQBfc3JjMS5zYW1lU2l6ZShfc3JjMikAbm9ybVR5cGUgPT0gTk9STV9JTkYgfHwgbm9ybVR5cGUgPT0gTk9STV9MMSB8fCBub3JtVHlwZSA9PSBOT1JNX0wyIHx8IG5vcm1UeXBlID09IE5PUk1fTDJTUVIgfHwgKChub3JtVHlwZSA9PSBOT1JNX0hBTU1JTkcgfHwgbm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HMikgJiYgc3JjMS50eXBlKCkgPT0gQ1ZfOFUpAAB4rAAAl6sAAKUEAAAEAAAAOawAADqsAABKrAAANAMAADUDAAA2AwAANwMAADgDAAA5AwAAOgMAAAAAAAA7AwAAPAMAAD0DAAA+AwAAPwMAAEADAABBAwAAAAAAAEIDAABDAwAARAMAAEUDAABGAwAARwMAAEgDAAAAAAAASQMAAEoDAABLAwAATAMAAE0DAABOAwAATwMAAAAAAABQAwAAUQMAAFIDAABTAwAAVAMAAFUDAABWAwAAAAAAAFcDAABYAwAAWQMAAFoDAABbAwAAXAMAAF0DAAAAAAAATjJjdjE2UGFyYWxsZWxMb29wQm9keUUAFGoCAJCuAAAAAAAA9K4AAF8DAABgAwAAYQMAAE4yY3YxMl9HTE9CQUxfX05fMTIzUGFyYWxsZWxMb29wQm9keVdyYXBwZXJFAAAAADxqAgDErgAAqK4AAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wYXJhbGxlbC9wYXJhbGxlbC5jcHAAY29yZShwYXJhbGxlbCk6IEJ1aWx0aW4gYmFja2VuZHMoACk6IAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGFyYWxsZWwvcmVnaXN0cnlfcGFyYWxsZWwuaW1wbC5ocHAAUGFyYWxsZWxCYWNrZW5kUmVnaXN0cnkAY29yZShwYXJhbGxlbCk6IFVwZGF0ZWQgYmFja2VuZHMgcHJpb3JpdGllczogAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV8lcwBjb3JlKHBhcmFsbGVsKTogRGlzYWJsZSBiYWNrZW5kOiAAY29yZShwYXJhbGxlbCk6IEF2YWlsYWJsZSBiYWNrZW5kcygAY29yZShwYXJhbGxlbCk6IEVuYWJsZWQgYmFja2VuZHMoACwgc29ydGVkIGJ5IHByaW9yaXR5KTogAE4vQQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplADsgAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUAGNvcmUocGFyYWxsZWwpOiBDb25maWd1cmVkIHByaW9yaXR5IGxpc3QgKE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUKTogAHJlYWRQcmlvcml0eVNldHRpbmdzAGNvcmUocGFyYWxsZWwpOiBOZXcgYmFja2VuZCBwcmlvcml0eTogJwAnID0+IABjb3JlKHBhcmFsbGVsKTogQWRkaW5nIHBhcmFsbGVsIGJhY2tlbmQgKHBsdWdpbik6ICcAJwBjb3JlKHBhcmFsbGVsKTogSW5pdGlhbGl6aW5nIHBhcmFsbGVsIGJhY2tlbmQuLi4AY3JlYXRlRGVmYXVsdFBhcmFsbGVsRm9yQVBJAE9QRU5DVl9QQVJBTExFTF9CQUNLRU5EAABjb3JlKHBhcmFsbGVsKTogcmVxdWVzdGVkIGJhY2tlbmQgbmFtZTogAGNyZWF0ZVBhcmFsbGVsRm9yQVBJAGNvcmUocGFyYWxsZWwpOiB0cnlpbmcgYmFja2VuZDogACAocHJpb3JpdHk9ACkAY29yZShwYXJhbGxlbCk6IGZhY3RvcnkgaXMgbm90IGF2YWlsYWJsZSAocGx1Z2lucyByZXF1aXJlIGZpbGVzeXN0ZW0gc3VwcG9ydCk6IABjb3JlKHBhcmFsbGVsKTogdXNpbmcgYmFja2VuZDogAGNvcmUocGFyYWxsZWwpOiBmYWxsYmFjayBvbiBidWlsdGluIGNvZGUAY29yZShwYXJhbGxlbCk6IHVua25vd24gYmFja2VuZDogAAAlZC4wACVkLgAlLjE2ZQAuTmFuAC0uSW5mAC5JbmYAZm10X3BhaXJzICE9IDAgJiYgbWF4X2xlbiA+IDAAZGVjb2RlRm9ybWF0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZS5jcHAASW52YWxpZCBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgBUb28gbG9uZyBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgAAAAAAANC/AABnAwAAaAMAAGkDAABqAwAAawMAAGwDAABtAwAAbgMAAG8DAABwAwAAcQMAAHIDAABzAwAAdAMAAHUDAAB2AwAAdwMAAHgDAAB5AwAAegMAAHsDAAB8AwAAfQMAAH4DAAB/AwAAgAMAAIEDAACCAwAAPC9vcGVuY3Zfc3RvcmFnZT4KAH0KAGJhc2U2NABOVUxMIG9yIGVtcHR5IGZpbGVuYW1lAG9wZW4ARmlsZVN0b3JhZ2U6OkFQUEVORCBhbmQgRmlsZVN0b3JhZ2U6Ok1FTU9SWSBhcmUgbm90IGN1cnJlbnRseSBjb21wYXRpYmxlAEFwcGVuZGluZyBkYXRhIHRvIGNvbXByZXNzZWQgZmlsZSBpcyBub3QgaW1wbGVtZW50ZWQAcnQAd3QAYSt0AC5negAueG1sAC54bWwuZ3oALmpzb24ALmpzb24uZ3oAVVRGLTE2AFVURi0xNiBYTUwgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZCEgVXNlIDgtYml0IGVuY29kaW5nCgBzdHJsZW4oZW5jb2RpbmcpIDwgMTAwMAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSIlcyI/PgoAPD94bWwgdmVyc2lvbj0iMS4wIj8+CgA8b3BlbmN2X3N0b3JhZ2U+CgAAAAAAPC9vcGVuY3Zfc3RvcmFnZT4AQ291bGQgbm90IGZpbmQgPC9vcGVuY3Zfc3RvcmFnZT4gaW4gdGhlIGVuZCBvZiBmaWxlLgoAcit0AGZpbGUgIT0gMAAgPCEtLSByZXN1bWVkIC0tPgAKACVZQU1MOjEuMAotLS0KAC4uLgotLS0KAGZtdCA9PSBGaWxlU3RvcmFnZTo6Rk9STUFUX0pTT04AewoAQ291bGQgbm90IGZpbmQgJ30nIGluIHRoZSBlbmQgb2YgZmlsZS4KACVZQU1MADw/eG1sAGJ1ZgBJbnB1dCBmaWxlIGlzIGludmFsaWQAVW5zdXBwb3J0ZWQgZmlsZSBzdG9yYWdlIGZvcm1hdAAhZnNfZGF0YV9wdHJzLmVtcHR5KCkAd3JpdGVfbW9kZQBwdXRzAFRoZSBzdG9yYWdlIGlzIG5vdCBvcGVuZWQAZ2V0c0Zyb21GaWxlAG1heENvdW50IDwgTUFYX0JMT0NLX1NJWkUAZ2V0cwB3cml0dGVuX2xlbiA8PSAoaW50KSBidWZmZXIuc2l6ZSgpAHJlc2l6ZVdyaXRlQnVmZmVyAGVuZFdyaXRlU3RydWN0ACF3cml0ZV9zdGFjay5lbXB0eSgpAHN0YXJ0V3JpdGVTdHJ1Y3RfaGVscGVyAFNvbWUgY29sbGVjdGlvbiB0eXBlOiBGaWxlTm9kZTo6U0VRIG9yIEZpbGVOb2RlOjpNQVAgbXVzdCBiZSBzcGVjaWZpZWQAdHlwZV9pZABiaW5hcnkAbXVzdCBzZXQgJ3N0cnVjdF9mbGFncyB8PSBDVl9OT0RFX1NFUScgaWYgdXNpbmcgQmFzZTY0LgBzdGFydFdyaXRlU3RydWN0AGZ1bmN0aW9uICdjdlN0YXJ0V3JpdGVTdHJ1Y3QnIGNhbGxzIGNhbm5vdCBiZSBuZXN0ZWQgaWYgdXNpbmcgQmFzZTY0LgBBdCB0aGUgZW5kIG9mIHRoZSBvdXRwdXQgQmFzZTY0LCBgY3ZFbmRXcml0ZVN0cnVjdGAgaXMgbmVlZGVkLgB3cml0ZQBVbnN1cHBvcnRlZCB0eXBlAFVuZXhwZWN0ZWQgZXJyb3IsIHVuYWJsZSB0byBkZXRlcm1pbmUgdGhlIEJhc2U2NCBzdGF0ZS4AVW5leHBlY3RlZCBlcnJvciwgdW5hYmxlIHRvIHN3aXRjaCB0byB0aGlzIHN0YXRlLgAiJGJhc2U2NCQAc3dpdGNoX3RvX0Jhc2U2NF9zdGF0ZQAiAGlzX3dyaXRlX3N0cnVjdF9kZWxheWVkID09IGZhbHNlAG1ha2Vfd3JpdGVfc3RydWN0X2RlbGF5ZWQAcHRyID49IGJ1ZmZlcnN0YXJ0ICYmIHB0ciA8PSBidWZmZXJFbmQoKQBzZXRCdWZmZXJQdHIAZ2V0Q3VycmVudFN0cnVjdABwcm9jZXNzU3BlY2lhbERvdWJsZQBCYWQgZm9ybWF0IG9mIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50AHR5cGUgPT0gRmlsZU5vZGU6OlNFUSB8fCB0eXBlID09IEZpbGVOb2RlOjpNQVAAY29udmVydFRvQ29sbGVjdGlvbgB0eXBlID09IEZpbGVOb2RlOjpTRVEAVGhlIG5vZGUgb2YgdHlwZSAlZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGNvbGxlY3Rpb24AYmxvY2tJZHggPT0gZnNfZGF0YV9wdHJzLnNpemUoKSAtIDEAcmVzZXJ2ZU5vZGVTcGFjZQBvZnMgPD0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0AZnJlZVNwYWNlT2ZzIDw9IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAHB0ciA+PSBmc19kYXRhX3B0cnNbYmxvY2tJZHhdICYmIHB0ciA8PSBibG9ja0VuZABfAGFkZE5vZGUATWFwIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBuYW1lAFNlcXVlbmNlIGVsZW1lbnQgc2hvdWxkIG5vdCBoYXZlIG5hbWUgKHVzZSA8Xz48L18+KQBvZnMgPT0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0Abm9ybWFsaXplTm9kZU9mcwBBy/gCC1A+AAAAPzQ1Njc4OTo7PD0AAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkAAAAAAAAaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMwBBoPoCC9EIb2ZzIDw9IHN6AHJlYWRNb3JlACFwYXJzZXIuZW1wdHkoKSAmJiBwdHIAIWJhc2U2NGRlY29kZXIuZW5kT2ZTdHJlYW0oKQBwYXJzZUJhc2U2NAAlcyglZCk6ICVzAGJsb2NrSWR4IDwgZnNfZGF0YV9wdHJzLnNpemUoKQBnZXROb2RlUHRyAG9mcyA8IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAAAAAAAAAPC/AACDAwAAhAMAAIUDAACGAwAAhwMAAIgDAABFeHRyYSBjbG9zaW5nICclYycAb3BlcmF0b3I8PABUaGUgY2xvc2luZyAnJWMnIGRvZXMgbm90IG1hdGNoIHRoZSBvcGVuaW5nICclYycAIWZzX2ltcGwtPndyaXRlX3N0YWNrLmVtcHR5KCkASW5jb3JyZWN0IGVsZW1lbnQgbmFtZSAlczsgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgJ18nAEludmFsaWQgZnMuc3RhdGUAaXNNYXAoKQBvcGVyYXRvcltdAGtleTIgPCBmcy0+c3RyX2hhc2hfZGF0YS5zaXplKCkAaXNTZXEoKQAwIDw9IGkgJiYgaSA8IHN6AHRwID09IFNUUklORyB8fCB0cCA9PSBTRVEgfHwgdHAgPT0gTUFQAHJhd1NpemUAcCAhPSAwAHNldFZhbHVlAGN1cnJlbnRfdHlwZSA9PSBOT05FIHx8IGN1cnJlbnRfdHlwZSA9PSB0eXBlAE9ubHkgc2NhbGFyIHR5cGVzIGNhbiBiZSBkeW5hbWljYWxseSBhc3NpZ25lZCB0byBhIGZpbGUgbm9kZQBOMmN2MTVGaWxlU3RvcmFnZV9BUElFAAAUagIAmL8AAE4yY3YxMUZpbGVTdG9yYWdlNEltcGxFADxqAgC4vwAAsL8AAE4yY3YxMUZpbGVTdG9yYWdlRQAAFGoCANy/AAB1Y3dzaWZkaABzeW1ib2xUb1R5cGUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAC8wAAAiQMAAIoDAACLAwAAjAMAAI0DAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFTlMyX0lTNF9FRUVFAAAAPGoCAHDAAADEZQIAAAAAADDBAACOAwAAjwMAAJADAACMAwAAkQMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMUZpbGVTdG9yYWdlNEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIA5MAAAMRlAgAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfYmFzZTY0X2VuY29kaW5nLmNwcABBgIMDC5YvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBmcy53cml0ZV9tb2RlAEJhc2U2NFdyaXRlcgBCYXNlNjRDb250ZXh0RW1pdHRlcgAAAAAAAAAAWMIAAJIDAACTAwAAlAMAAIwDAACVAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExSlNPTkVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCABDCAADEZQIAAAAAAMzCAACWAwAAlwMAAJgDAACZAwAAmgMAAJsDAACcAwAAnQMAAJ4DAACfAwAATjJjdjExSlNPTkVtaXR0ZXJFAE4yY3YxOEZpbGVTdG9yYWdlRW1pdHRlckUAAAAAFGoCAKfCAAA8agIAlMIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfanNvbi5jcHAAYmluYXJ5AE51bGwgc3RyaW5nIHBvaW50ZXIAd3JpdGUAVGhlIHdyaXR0ZW4gc3RyaW5nIGlzIHRvbyBsb25nAEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBUaGUga2V5IGlzIGFuIGVtcHR5AFRoZSBrZXkgaXMgdG9vIGxvbmcAQW4gYXR0ZW1wdCB0byBhZGQgZWxlbWVudCB3aXRob3V0IGEga2V5IHRvIGEgbWFwLCBvciBhZGQgZWxlbWVudCB3aXRoIGtleSB0byBzZXF1ZW5jZQBLZXkgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIF8AS2V5IG5hbWVzIG1heSBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgW2EtekEtWjAtOV0sICctJywgJ18nIGFuZCAnICcATnVsbCBjb21tZW50AHdyaXRlQ29tbWVudAAuLi4KAC0tLQoAAAAAAABIxQAAoAMAAKEDAACiAwAAjAMAAKMDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTBKU09OUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAAA8agIAAMUAAMRlAgAAAAAAoMUAAKQDAAClAwAApgMAAKcDAABOMmN2MTBKU09OUGFyc2VyRQBOMmN2MTdGaWxlU3RvcmFnZVBhcnNlckUAABRqAgB+xQAAPGoCAGzFAACYxQAAcGFyc2UASW52YWxpZCBpbnB1dABsZWZ0LWJyYWNlIG9mIHRvcCBsZXZlbCBpcyBtaXNzaW5nAHNraXBTcGFjZXMATm90IHN1cHBvcnRlZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcHRyAEFib3J0IGF0IHBhcnNlIHRpbWUAcGFyc2VNYXAAcHRyIGlzIE5VTEwAJ3snIC0gbGVmdC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBVbmV4cGVjdGVkIGNoYXJhY3RlcgAnfScgLSByaWdodC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBwYXJzZUtleQBLZXkgbXVzdCBzdGFydCB3aXRoICciJwBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBLZXkgbXVzdCBlbmQgd2l0aCAnIicAS2V5IGlzIGVtcHR5AE1pc3NpbmcgJzonIGJldHdlZW4ga2V5IGFuZCB2YWx1ZQBwYXJzZVZhbHVlAEludmFsaWQgdmFsdWUgaW5wdXQAVW5leHBlY3RlZCBFbmQtT2YtRmlsZQAnIicgLSByaWdodC1xdW90ZSBvZiBzdHJpbmcgaXMgbWlzc2luZwBzdHJpbmcgaXMgdG9vIGxvbmcAJ1x1WFhYWCcgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQASW52YWxpZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgbnVtZXJpYyB2YWx1ZSAoaW5jb25zaXN0ZW50IGV4cGxpY2l0IHR5cGUgc3BlY2lmaWNhdGlvbj8pAFZhbHVlICdudWxsJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcGFyc2VyAGZhbHNlAFVucmVjb2duaXplZCB2YWx1ZQBwYXJzZVNlcQAnWycgLSBsZWZ0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nACddJyAtIHJpZ2h0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nAGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAAAAAKDJAACoAwAAqQMAAKoDAACMAwAAqwMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMFhNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgBYyQAAxGUCAAAAAADwyQAAlgMAAKwDAACtAwAArgMAAK8DAACwAwAAsQMAALIDAACzAwAAtAMAAE4yY3YxMFhNTEVtaXR0ZXJFAAAAPGoCANzJAADEwgAAdHlwZV9pZABBbiBhdHRlbXB0IHRvIGFkZCBlbGVtZW50IHdpdGhvdXQgYSBrZXkgdG8gYSBtYXAsIG9yIGFkZCBlbGVtZW50IHdpdGgga2V5IHRvIHNlcXVlbmNlAHdyaXRlVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZV94bWwuY3BwAF8AQSBzaW5nbGUgXyBpcyBhIHJlc2VydmVkIHRhZyBuYW1lAENsb3NpbmcgdGFnIHNob3VsZCBub3QgaW5jbHVkZSBhbnkgYXR0cmlidXRlcwBLZXkgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZSBtYXkgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXpBLVowLTldLCAnLScgYW5kICdfJwBuYXR0ciAlIDIgPT0gMABsZW4wID4gMABOdWxsIHN0cmluZyBwb2ludGVyAHdyaXRlAFRoZSB3cml0dGVuIHN0cmluZyBpcyB0b28gbG9uZwBhbXAAI3glMDJ4AEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBlbGVtZW50cyB3aXRoIGtleXMgY2FuIG5vdCBiZSB3cml0dGVuIHRvIHNlcXVlbmNlAE51bGwgY29tbWVudAB3cml0ZUNvbW1lbnQALS0ARG91YmxlIGh5cGhlbiAnLS0nIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBjb21tZW50cwA8IS0tICVzIC0tPgA8IS0tAAo8IS0tIG5leHQgc3RyZWFtIC0tPgoAAAAAAOTMAAC1AwAAtgMAALcDAACMAwAAuAMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y5WE1MUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCAKDMAADEZQIAAAAAABjNAACkAwAAuQMAALoDAAC7AwAATjJjdjlYTUxQYXJzZXJFADxqAgAIzQAAmMUAAGZzICE9IDAAcGFyc2UASW52YWxpZCBpbnB1dAA8P3htbABWYWxpZCBYTUwgc2hvdWxkIHN0YXJ0IHdpdGggJzw/eG1sIC4uLj8+JwBvcGVuY3Zfc3RvcmFnZQA8b3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nADwvb3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nAGZzLT5lb2YoKQBza2lwU3BhY2VzAENvbW1lbnRzIGFyZSBub3QgYWxsb3dlZCBoZXJlAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcGFyc2VUYWcASW52YWxpZCB0YWcgaW5wdXQAVW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbQBUYWcgc2hvdWxkIHN0YXJ0IHdpdGggJzwnAE9wZW5DViBwZXJzaXN0ZW5jZSBkb2Vzbid0IHN1cHBvcnQgdmVyeSBsb25nIGxpbmVzAHB0clsxXSAhPSAnLScgfHwgcHRyWzJdICE9ICctJwBVbmtub3duIHRhZyB0eXBlAE5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZQBDbG9zaW5nIHRhZyBzaG91bGQgbm90IGNvbnRhaW4gYW55IGF0dHJpYnV0ZXMASW52YWxpZCBhdHRyaWJ1dGUAQXR0cmlidXRlIG5hbWUgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICc9JwBBdHRyaWJ1dGUgdmFsdWUgc2hvdWxkIGJlIHB1dCBpbnRvIHNpbmdsZSBvciBkb3VibGUgcXVvdGVzAFVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAdHlwZV9uYW1lLmVtcHR5KCkASW52YWxpZCBjbG9zaW5nIHRhZyBmb3IgPD94bWwgLi4uAFRoZXJlIHNob3VsZCBiZSBzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXMAcGFyc2VWYWx1ZQBEaXJlY3RpdmUgdGFncyBhcmUgbm90IGFsbG93ZWQgaGVyZQBFbXB0eSB0YWdzIGFyZSBub3Qgc3VwcG9ydGVkAHRhZ190eXBlID09IENWX1hNTF9PUEVOSU5HX1RBRwBzdHIAbWFwAHNlcQBiaW5hcnkATWlzbWF0Y2hlZCBjbG9zaW5nIHRhZwBUaGVyZSBzaG91bGQgYmUgc3BhY2UgYmV0d2VlbiBsaXRlcmFscwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBMaXRlcmFsICIgaXMgbm90IGFsbG93ZWQgd2l0aGluIGEgc3RyaW5nLiBVc2UgJnF1b3Q7AENsb3NpbmcgIiBpcyBleHBlY3RlZABMaXRlcmFsICcgb3IgPiBhcmUgbm90IGFsbG93ZWQuIFVzZSAmYXBvczsgb3IgJmd0OwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgaW4gdGhlIHN0cmluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiB0aGUgc3ltYm9sIGVudGl0eSBuYW1lAHN0cmluZyBpcyB0b28gbG9uZwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABnZXRCYXNlNjRSb3cAAAAAAAAAeNIAALwDAAC9AwAAvgMAAIwDAAC/AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExWUFNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCADDSAADEZQIAAAAAAMjSAACWAwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAATjJjdjExWUFNTEVtaXR0ZXJFAAA8agIAtNIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfeW1sLmNwcABiaW5hcnkAISFiaW5hcnkgfAAhISVzICVjACEhJXMATnVsbCBzdHJpbmcgcG9pbnRlcgB3cml0ZQBUaGUgd3JpdHRlbiBzdHJpbmcgaXMgdG9vIGxvbmcAeCUwMngAQXQgcHJlc2VudCwgb3V0cHV0IEJhc2U2NCBkYXRhIG9ubHkuAHdyaXRlU2NhbGFyAEFuIGF0dGVtcHQgdG8gYWRkIGVsZW1lbnQgd2l0aG91dCBhIGtleSB0byBhIG1hcCwgb3IgYWRkIGVsZW1lbnQgd2l0aCBrZXkgdG8gc2VxdWVuY2UAVGhlIGtleSBpcyBhbiBlbXB0eQBUaGUga2V5IGlzIHRvbyBsb25nAEtleSBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZXMgbWF5IG9ubHkgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBbYS16QS1aMC05XSwgJy0nLCAnXycgYW5kICcgJwBOdWxsIGNvbW1lbnQAd3JpdGVDb21tZW50AC4uLgoALS0tCgAAAAAAYNUAAMkDAADKAwAAywMAAIwDAADMAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEwWUFNTFBhcnNlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCABjVAADEZQIAAAAAAJjVAACkAwAAzQMAAM4DAADPAwAATjJjdjEwWUFNTFBhcnNlckUAAAA8agIAhNUAAJjFAABwYXJzZQBJbnZhbGlkIGlucHV0ACVZQU1MAFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAoaXQgbXVzdCBiZSAxLngpAC0tLQBUaGUgWUFNTCBzdHJlYW1zIG11c3Qgc3RhcnQgd2l0aCAnLS0tJywgZXhjZXB0IHRoZSBmaXJzdCBvbmUASW52YWxpZCBvciB1bnN1cHBvcnRlZCBzeW50YXgALi4uAE9ubHkgY29sbGVjdGlvbnMgYXMgWUFNTCBzdHJlYW1zIGFyZSBzdXBwb3J0ZWQgYnkgdGhpcyBwYXJzZXIAc2tpcFNwYWNlcwBJbmNvcnJlY3QgaW5kZW50YXRpb24AVG9vIGxvbmcgc3RyaW5nIG9yIGEgbGFzdCBzdHJpbmcgdy9vIG5ld2xpbmUAVGFicyBhcmUgcHJvaGliaXRlZCBpbiBZQU1MIQBJbnZhbGlkIGNoYXJhY3RlcgBwYXJzZVZhbHVlADx0YWc6eWFtbC5vcmcsMjAwMjoARW1wdHkgdHlwZSBuYW1lAHN0cgBpbnQAc2VxAG1hcABmbG9hdABJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABUaGUgd3JvbmcgY2xvc2luZyBicmFja2V0AE1pc3NpbmcgLCBiZXR3ZWVuIHRoZSBlbGVtZW50cwBDb21wbGV4IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQATXVsdGktbGluZSB0ZXh0IGxpdGVyYWxzIGFyZSBub3Qgc3VwcG9ydGVkAEJsb2NrIHNlcXVlbmNlIGVsZW1lbnRzIG11c3QgYmUgcHJlY2VkZWQgd2l0aCAnLScAcGFyc2VLZXkAS2V5IG1heSBub3Qgc3RhcnQgd2l0aCAnLScATWlzc2luZyAnOicAQW4gZW1wdHkga2V5AGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9yYW5kLmNwcABmdW5jICE9IDAAQaSyAwse0AMAANEDAADSAwAA0wMAAAAAAADUAwAAAAAAANUDAEHQsgMLAtYDAEHgsgMLAtcDAEGAswMLAtgDAEGgswMLQNkDAABkc3QuZWxlbVNpemUoKSA8PSAzMgByYW5kU2h1ZmZsZQBfYXJyLmRpbXMgPD0gMgByYW5kU2h1ZmZsZV8AQfCzAwv6OtoDAADbAwAA3AMAAN0DAADeAwAA3wMAAOADAAAAAAAAT1BFTkNWX0RVTVBfRVJST1JTAAAAAAAA1O0AAOMDAADmAwAA5wMAAD4gAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpIGluIGZ1bmN0aW9uICclcycKJXMANC41LjUtZGV2AE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzIGluIGZ1bmN0aW9uICclcycKAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzJXMAAAoACkdlbmVyYWwgY29uZmlndXJhdGlvbiBmb3IgT3BlbkNWIDQuNS41LWRldiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgVmVyc2lvbiBjb250cm9sOiAgICAgICAgICAgICAgIDQuNS41LTIwLWdhMTE0M2M0ZWEwLWRpcnR5CgogIFBsYXRmb3JtOgogICAgVGltZXN0YW1wOiAgICAgICAgICAgICAgICAgICAyMDIyLTAxLTExVDAzOjE1OjQxWgogICAgSG9zdDogICAgICAgICAgICAgICAgICAgICAgICBMaW51eCA0LjkuOTMtbGludXhraXQtYXVmcyB4ODZfNjQKICAgIFRhcmdldDogICAgICAgICAgICAgICAgICAgICAgRW1zY3JpcHRlbiAxIHg4NgogICAgQ01ha2U6ICAgICAgICAgICAgICAgICAgICAgICAzLjEzLjQKICAgIENNYWtlIGdlbmVyYXRvcjogICAgICAgICAgICAgVW5peCBNYWtlZmlsZXMKICAgIENNYWtlIGJ1aWxkIHRvb2w6ICAgICAgICAgICAgL3Vzci9iaW4vbWFrZQogICAgQ29uZmlndXJhdGlvbjogICAgICAgICAgICAgICBSZWxlYXNlCgogIENQVS9IVyBmZWF0dXJlczoKICAgIEJhc2VsaW5lOgoKICBDL0MrKzoKICAgIEJ1aWx0IGFzIGR5bmFtaWMgbGlicz86ICAgICAgTk8KICAgIEMrKyBzdGFuZGFyZDogICAgICAgICAgICAgICAgMTEKICAgIEMrKyBDb21waWxlcjogICAgICAgICAgICAgICAgL2Vtc2RrL3Vwc3RyZWFtL2Vtc2NyaXB0ZW4vZW0rKyAgKHZlciAxMi4wLjApCiAgICBDKysgZmxhZ3MgKFJlbGVhc2UpOiAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQysrIGZsYWdzIChEZWJ1Zyk6ICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgQyBDb21waWxlcjogICAgICAgICAgICAgICAgICAvZW1zZGsvdXBzdHJlYW0vZW1zY3JpcHRlbi9lbWNjCiAgICBDIGZsYWdzIChSZWxlYXNlKTogICAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQyBmbGFncyAoRGVidWcpOiAgICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgTGlua2VyIGZsYWdzIChSZWxlYXNlKTogICAgICAtV2wsLS1nYy1zZWN0aW9ucyAtTzIgCiAgICBMaW5rZXIgZmxhZ3MgKERlYnVnKTogICAgICAgIC1XbCwtLWdjLXNlY3Rpb25zICAKICAgIGNjYWNoZTogICAgICAgICAgICAgICAgICAgICAgTk8KICAgIFByZWNvbXBpbGVkIGhlYWRlcnM6ICAgICAgICAgTk8KICAgIEV4dHJhIGRlcGVuZGVuY2llczoKICAgIDNyZHBhcnR5IGRlcGVuZGVuY2llczogICAgICAgemxpYiBsaWJwcm90b2J1ZiBxdWlyYwoKICBPcGVuQ1YgbW9kdWxlczoKICAgIFRvIGJlIGJ1aWx0OiAgICAgICAgICAgICAgICAgY2FsaWIzZCBjb3JlIGRubiBmZWF0dXJlczJkIGZsYW5uIGltZ3Byb2MganMgb2JqZGV0ZWN0IHBob3RvIHZpZGVvCiAgICBEaXNhYmxlZDogICAgICAgICAgICAgICAgICAgIGhpZ2hndWkgaW1nY29kZWNzIG1sIHN0aXRjaGluZyB2aWRlb2lvIHdvcmxkCiAgICBEaXNhYmxlZCBieSBkZXBlbmRlbmN5OiAgICAgIHRzCiAgICBVbmF2YWlsYWJsZTogICAgICAgICAgICAgICAgIGdhcGkgamF2YSBweXRob24yIHB5dGhvbjMKICAgIEFwcGxpY2F0aW9uczogICAgICAgICAgICAgICAgZXhhbXBsZXMKICAgIERvY3VtZW50YXRpb246ICAgICAgICAgICAgICAganMKICAgIE5vbi1mcmVlIGFsZ29yaXRobXM6ICAgICAgICAgTk8KCiAgR1VJOiAKCiAgTWVkaWEgSS9POiAKICAgIFpMaWI6ICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgKHZlciAxLjIuMTEpCiAgICBKUEVHIDIwMDA6ICAgICAgICAgICAgICAgICAgIGJ1aWxkICh2ZXIgMi40LjApCiAgICBIRFI6ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwogICAgU1VOUkFTVEVSOiAgICAgICAgICAgICAgICAgICBZRVMKICAgIFBYTTogICAgICAgICAgICAgICAgICAgICAgICAgWUVTCiAgICBQRk06ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwoKICBWaWRlbyBJL086CgogIFBhcmFsbGVsIGZyYW1ld29yazogICAgICAgICAgICBub25lCgogIE90aGVyIHRoaXJkLXBhcnR5IGxpYnJhcmllczoKICAgIFZBOiAgICAgICAgICAgICAgICAgICAgICAgICAgTk8KICAgIEN1c3RvbSBIQUw6ICAgICAgICAgICAgICAgICAgTk8KICAgIFByb3RvYnVmOiAgICAgICAgICAgICAgICAgICAgYnVpbGQgKDMuMTkuMSkKCiAgUHl0aG9uIChmb3IgYnVpbGQpOiAgICAgICAgICAgIC91c3IvYmluL3B5dGhvbjMKCiAgSW5zdGFsbCB0bzogICAgICAgICAgICAgICAgICAgIC91c3IvbG9jYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgBsZW4gPj0gMCAmJiAiQ2hlY2sgZm9ybWF0IHN0cmluZyBmb3IgZXJyb3JzIgBmb3JtYXQAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3N5c3RlbS5jcHAATjJjdjlFeGNlcHRpb25FAAA8agIAw+0AABRnAgBObyBFcnJvcgBCYWNrdHJhY2UAVW5zcGVjaWZpZWQgZXJyb3IASW50ZXJuYWwgZXJyb3IASW5zdWZmaWNpZW50IG1lbW9yeQBCYWQgYXJndW1lbnQASXRlcmF0aW9ucyBkbyBub3QgY29udmVyZ2UAQXV0b3RyYWNlIGNhbGwASW5jb3JyZWN0IHNpemUgb2YgaW5wdXQgYXJyYXkATnVsbCBwb2ludGVyAERpdmlzaW9uIGJ5IHplcm8gb2NjdXJyZWQASW1hZ2Ugc3RlcCBpcyB3cm9uZwBJbnBsYWNlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkAFJlcXVlc3RlZCBvYmplY3Qgd2FzIG5vdCBmb3VuZABJbnB1dCBpbWFnZSBkZXB0aCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGZ1bmN0aW9uAEZvcm1hdHMgb2YgaW5wdXQgYXJndW1lbnRzIGRvIG5vdCBtYXRjaABTaXplcyBvZiBpbnB1dCBhcmd1bWVudHMgZG8gbm90IG1hdGNoAE9uZSBvZiB0aGUgYXJndW1lbnRzJyB2YWx1ZXMgaXMgb3V0IG9mIHJhbmdlAFVuc3VwcG9ydGVkIGZvcm1hdCBvciBjb21iaW5hdGlvbiBvZiBmb3JtYXRzAElucHV0IENPSSBpcyBub3Qgc3VwcG9ydGVkAEJhZCBudW1iZXIgb2YgY2hhbm5lbHMAQmFkIGZsYWcgKHBhcmFtZXRlciBvciBzdHJ1Y3R1cmUgZmllbGQpAEJhZCBwYXJhbWV0ZXIgb2YgdHlwZSBDdlBvaW50AEJhZCB0eXBlIG9mIG1hc2sgYXJndW1lbnQAUGFyc2luZyBlcnJvcgBUaGUgZnVuY3Rpb24vZmVhdHVyZSBpcyBub3QgaW1wbGVtZW50ZWQATWVtb3J5IGJsb2NrIGhhcyBiZWVuIGNvcnJ1cHRlZABBc3NlcnRpb24gZmFpbGVkAE5vIENVREEgc3VwcG9ydABHcHUgQVBJIGNhbGwATm8gT3BlbkdMIHN1cHBvcnQAT3BlbkdMIEFQSSBjYWxsAFVua25vd24gJXMgY29kZSAlZABzdGF0dXMAZXJyb3IAcHRocmVhZF9rZXlfY3JlYXRlKCZ0bHNLZXksIG9wZW5jdl90bHNfZGVzdHJ1Y3RvcikgPT0gMABUbHNBYnN0cmFjdGlvbgBPcGVuQ1YgRVJST1I6IFRsc0Fic3RyYWN0aW9uOjp+VGxzQWJzdHJhY3Rpb24oKTogcHRocmVhZF9rZXlfZGVsZXRlKCkgY2FsbCBmYWlsZWQKAHB0aHJlYWRfc2V0c3BlY2lmaWModGxzS2V5LCBwRGF0YSkgPT0gMABzZXREYXRhAAAAAAAAjPIAAOgDAADpAwAA6gMAAOoDAABrZXlfID09IC0xAH5UTFNEYXRhQ29udGFpbmVyAGtleV8gIT0gLTEgJiYgIkNhbid0IGZldGNoIGRhdGEgZnJvbSB0ZXJtaW5hdGVkIFRMUyBjb250YWluZXIuIgBnZXREYXRhAE4yY3YxNlRMU0RhdGFDb250YWluZXJFAAAAABRqAgBx8gAAT1BFTkNWX0RVTVBfQ09ORklHAApPcGVuQ1YgYnVpbGQgY29uZmlndXJhdGlvbiBpczoKJXMKAE1NWABTU0UAU1NFMgBTU0UzAFNTU0UzAFNTRTQuMQBTU0U0LjIAUE9QQ05UAEZQMTYAQVZYAEFWWDIARk1BMwBBVlg1MTJGAEFWWDUxMkJXAEFWWDUxMkNEAEFWWDUxMkRRAEFWWDUxMkVSAEFWWDUxMklGTUEAQVZYNTEyUEYAQVZYNTEyVkJNSQBBVlg1MTJWTABBVlg1MTJWQk1JMgBBVlg1MTJWTk5JAEFWWDUxMkJJVEFMRwBBVlg1MTJWUE9QQ05URFEAQVZYNTEyNFZOTklXAEFWWDUxMjRGTUFQUwBORU9OAFZTWABWU1gzAENQVV9NU0EAUklTQ1ZWAEFWWDUxMi1DT01NT04AQVZYNTEyLVNLWABBVlg1MTItS05MAEFWWDUxMi1LTk0AQVZYNTEyLUNOTABBVlg1MTItQ0xYAEFWWDUxMi1JQ0wAUlZWAE9QRU5DVl9DUFVfRElTQUJMRQBmZWF0dXJlLnNpemUoKSA+IDAAcmVhZFNldHRpbmdzAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgYmFzZWxpbmUgQ1BVIGZlYXR1cmU6ICclcycuVGhpcyBoYXMgdmVyeSBsaW1pdGVkIGVmZmVjdCwgYmVjYXVzZSBjb2RlIG9wdGltaXphdGlvbnMgZm9yIHRoaXMgZmVhdHVyZSBhcmUgZXhlY3V0ZWQgdW5jb25kaXRpb25hbGx5IGluIHRoZSBtb3N0IGNhc2VzLgoAT1BFTkNWOiBUcnlpbmcgdG8gZGlzYWJsZSB1bmF2YWlsYWJsZSBDUFUgZmVhdHVyZSBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybTogJyVzJy4KAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgdW5r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FkMAABdDAAAYQwAAGUMAABpDAAAbQwAAHEMAAB1DAAAeQwAAH0MAACBDAAAhQwAAIkMAACNDAAAkQwAAJUMAACZDAAAnQwAAKEMAAClDAAAqQwAAK0MAACxDAAAtQwAALkMAAC9DAAAwQwAAMUMAADJDAAAzQwAANEMAADVDAAA2QwAAN0MAADhDAAA5QwAAOkMAADtDAAA8QwAAPUMAAD5DAAA/QwAAQEMAAEFDAABCQwAAQ0MAAERDAABFQwAARkMAAEdDAABIQwAASUMAAEpDAABLQwAATEMAAE1DAABOQwAAT0MAAFBDAABRQwAAUkMAAFNDAABUQwAAVUMAAFZDAABXQwAAWEMAAFlDAABaQwAAW0MAAFxDAABdQwAAXkMAAF9DAABgQwAAYUMAAGJDAABjQwAAZEMAAGVDAABmQwAAZ0MAAGhDAABpQwAAakMAAGtDAABsQwAAbUMAAG5DAABvQwAAcEMAAHFDAAByQwAAc0MAAHRDAAB1QwAAdkMAAHdDAAB4QwAAeUMAAHpDAAB7QwAAfEMAAH1DAAB+QwAAf0MAQaH+Awv2GQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////bWFwY291bnQgPT0gMAB+VU1hdERhdGEAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3VtYXRyaXguY3BwADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAZGF0YSA9PSBkYXRhc3RhcnQAZ2V0VU1hdABhbGxvY2F0ZWQAMCA8PSBkICYmIGQgPD0gQ1ZfTUFYX0RJTSAmJiBfc2l6ZXMAY3JlYXRlAHUgIT0gMABzdGVwW2RpbXMtMV0gPT0gKHNpemVfdClDVl9FTEVNX1NJWkUoZmxhZ3MpAG0uZGltcyA+PSAyAFVNYXQAMCA8PSBfcm93UmFuZ2Uuc3RhcnQgJiYgX3Jvd1JhbmdlLnN0YXJ0IDw9IF9yb3dSYW5nZS5lbmQgJiYgX3Jvd1JhbmdlLmVuZCA8PSBtLnJvd3MAMCA8PSBfY29sUmFuZ2Uuc3RhcnQgJiYgX2NvbFJhbmdlLnN0YXJ0IDw9IF9jb2xSYW5nZS5lbmQgJiYgX2NvbFJhbmdlLmVuZCA8PSBtLmNvbHMAbS5kaW1zIDw9IDIAMCA8PSByb2kueCAmJiAwIDw9IHJvaS53aWR0aCAmJiByb2kueCArIHJvaS53aWR0aCA8PSBtLmNvbHMgJiYgMCA8PSByb2kueSAmJiAwIDw9IHJvaS5oZWlnaHQgJiYgcm9pLnkgKyByb2kuaGVpZ2h0IDw9IG0ucm93cwByYW5nZXMAciA9PSBSYW5nZTo6YWxsKCkgfHwgKDAgPD0gci5zdGFydCAmJiByLnN0YXJ0IDwgci5lbmQgJiYgci5lbmQgPD0gbS5zaXplW2ldKQB1LT5kYXRhICE9IDAgJiYgIkVycm9yIG1hcHBpbmcgb2YgVU1hdCB0byBob3N0IG1lbW9yeS4iAGdldE1hdABjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51AAAAAAAAhAQBAPQDAAD1AwAA9gMAAPcDAABOMmN2N1RMU0RhdGFJTlNfMThVTWF0RGF0YUF1dG9Mb2NrZXJFRUUAmGoCAFwEAQAAAAAAAQAAAIzyAAAAAAAAdXNhZ2VfY291bnQgPT0gMABsb2NrAHVzYWdlX2NvdW50ID09IDEAcmVsZWFzZQBnbG9iYWwAREVCVUcARElTQUJMRQBESVNBQkxFRABFUlJPUgBGQVRBTABJTkZPAE9GRgBTSUxFTlQAVkVSQk9TRQBXQVJOAFdBUk5JTkcAV0FSTklOR1MAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBnbG9iYWwAZnVsbE5hbWVSZXN1bHQubV9maW5kQ3Jvc3NSZWZlcmVuY2VzAGludGVybmFsX2FwcGx5TmFtZVBhcnRDb25maWdUb1NwZWNpZmljVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy91dGlscy9sb2d0YWdtYW5hZ2VyLmNwcABuYW1lUGFydFJlc3VsdC5tX2ZpbmRDcm9zc1JlZmVyZW5jZXMAaW50ZXJuYWxfYXBwbHlOYW1lUGFydENvbmZpZ1RvTWF0Y2hpbmdUYWdzAHNjb3BlICE9IE1hdGNoaW5nU2NvcGU6OkZ1bGwAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFAcBAPgDAAD5AwAA+gMAAIwDAAD7AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjV1dGlsczdsb2dnaW5nMThMb2dUYWdDb25maWdQYXJzZXJFTlNfOWFsbG9jYXRvcklTNF9FRUVFAAA8agIAuAYBAMRlAgBOdW1iZXIgb2YgY2hhbm5lbHMgaW4gaW5wdXQgaW1hZ2UgbXVzdCBiZSAxIG9yIDMAZmxvb2RGaWxsAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9mbG9vZGZpbGwuY3BwAENvbm5lY3Rpdml0eSBtdXN0IGJlIDQsIDAoPTQpIG9yIDgAbG9fZGlmZiBhbmQgdXBfZGlmZiBtdXN0IGJlIG5vbi1uZWdhdGl2ZQBTZWVkIHBvaW50IGlzIG91dHNpZGUgb2YgaW1hZ2UAAG1hc2sucm93cyA9PSBzaXplLmhlaWdodCsyICYmIG1hc2suY29scyA9PSBzaXplLndpZHRoKzIAbWFzay50eXBlKCkgPT0gQ1ZfOFUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbnZhbGlkIGltYWdlIHR5cGUgKG11c3QgYmUgc2luZ2xlLWNoYW5uZWwpAG1vbWVudHMAL3NyYy9tb2R1bGVzL2ltZ3Byb2Mvc3JjL21vbWVudHMuY3BwAABjb250b3VyLmRlcHRoKCkgPT0gQ1ZfMzJTIHx8IGNvbnRvdXIuZGVwdGgoKSA9PSBDVl8zMkYAY29udG91ck1vbWVudHMAAP0DAAD+AwAA/QMAAP8DAAAABAAATjJjdjlGb3JtYXR0ZWRFABRqAgA0CQEATjJjdjlGb3JtYXR0ZXJFABRqAgBMCQEAAAAAAMwJAQAJBAAACgQAAAsEAACMAwAADAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxNkRlZmF1bHRGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAgAkBAMRlAgAAAAAAOAoBAA0EAAAOBAAADwQAABAEAAARBAAAEgQAABMEAABOMmN2MTZEZWZhdWx0Rm9ybWF0dGVyRQBOMmN2MTNGb3JtYXR0ZXJCYXNlRQAAAAA8agIAFAoBAFwJAQA8agIA/AkBACwKAQBbAF0AAAAAAKwKAQAUBAAAFQQAABYEAACMAwAAFwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxM0Zvcm1hdHRlZEltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFADxqAgBkCgEAxGUCAAAAAAAkCwEAGAQAABkEAAAaBAAAGwQAAG0uZGltcyA8PSAyAEZvcm1hdHRlZEltcGwAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL291dC5jcHAAJSUuJWRnAE4yY3YxM0Zvcm1hdHRlZEltcGxFADxqAgAPCwEARAkBACUzZAAlZAAKKDosIDosICVkKSA9IAoAKDosIDosICVkKSA9IAoAAAAAAAAAwAsBABwEAAAdBAAAHgQAAIwDAAAfBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1TWF0bGFiRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgB0CwEAxGUCAAAAAAAIDAEADQQAACAEAAAhBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNU1hdGxhYkZvcm1hdHRlckUAADxqAgDwCwEALAoBAAAAOwBBoJgEC6spgAwBACIEAAAjBAAAJAQAAIwDAAAlBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEyQ1NWRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCADgMAQDEZQIAAAAAAMQMAQANBAAAJgQAACcEAAAQBAAAEQQAABIEAAATBAAATjJjdjEyQ1NWRm9ybWF0dGVyRQA8agIAsAwBACwKAQAAAAAAOA0BACgEAAApBAAAKgQAAIwDAAArBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1UHl0aG9uRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgDsDAEAxGUCAAAAAACADQEADQQAACwEAAAtBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNVB5dGhvbkZvcm1hdHRlckUAADxqAgBoDQEALAoBAAAAAAD0DQEALgQAAC8EAAAwBAAAjAMAADEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTROdW1weUZvcm1hdHRlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCAKgNAQDEZQIAAAAAADwOAQANBAAAMgQAADMEAAAQBAAAEQQAABIEAAATBAAATjJjdjE0TnVtcHlGb3JtYXR0ZXJFAAAAPGoCACQOAQAsCgEAdWludDgAaW50OAB1aW50MTYAaW50MTYAaW50MzIAZmxvYXQzMgBmbG9hdDY0AGZsb2F0MTYAW10sW11hcnJheShbAF0sIGR0eXBlPSclcycpAAAAAAAAAAAPAQA0BAAANQQAADYEAACMAwAANwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMENGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgC4DgEAxGUCAAAAAABEDwEADQQAADgEAAA5BAAAEAQAABEEAAASBAAAEwQAAE4yY3YxMENGb3JtYXR0ZXJFAAAAPGoCADAPAQAsCgEAAAAsAAB7AH0AL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdGhmdW5jcy5jcHAAcHQgPT0gTlVMTABjaGVja1JhbmdlAHRoZSB2YWx1ZSBhdCAoJWQsICVkKT0lcyBpcyBvdXQgb2YgcmFuZ2UgWyVmLCAlZikAY3R5cGUgPT0gQ1ZfMzJGIHx8IGN0eXBlID09IENWXzY0RgBzb2x2ZUN1YmljAChjb2VmZnMuc2l6ZSgpID09IFNpemUobjAsIDEpIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZShuMCsxLCAxKSB8fCBjb2VmZnMuc2l6ZSgpID09IFNpemUoMSwgbjApIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZSgxLCBuMCsxKSkAY291bnQgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzMyUykAbWluRW5jbG9zaW5nQ2lyY2xlAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9zaGFwZWRlc2NyLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvY29udmVydF9jLmNwcABzcmMuc2l6ZSA9PSBkc3Quc2l6ZSAmJiBzcmMuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdkNvbnZlcnRTY2FsZQA/BAAAPwQAAEAEAABABAAAQQQAAEIEAABDBAAAAAAAAGNuID09IDEAY291bnROb25aZXJvAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3VudF9ub25femVyby5kaXNwYXRjaC5jcHAAZnVuYyAhPSAwAG1hc2suZW1wdHkoKSB8fCBtYXNrLnR5cGUoKSA9PSBDVl84VQBtZWFuAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tZWFuLmRpc3BhdGNoLmNwcABjbiA8PSA0ICYmIGZ1bmMgIT0gMAAwIDwgY29pICYmIGNvaSA8PSA0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9zdGF0X2MuY3BwAGN2QXZnAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9jYWxpYnJhdGlvbi5jcHAASW5wdXQgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgbWF0cml4AGN2Um9kcmlndWVzMgBUaGUgZmlyc3Qgb3V0cHV0IGFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIG1hdHJpeABUaGUgbWF0cmljZXMgbXVzdCBoYXZlIDMyZiBvciA2NGYgZGF0YSB0eXBlAEFsbCB0aGUgbWF0cmljZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGRhdGEgdHlwZQBKYWNvYmlhbiBpcyBub3QgYSB2YWxpZCBtYXRyaXgASmFjb2JpYW4gbXVzdCBoYXZlIDMyZkMxIG9yIDY0ZkMxIGRhdGF0eXBlAEphY29iaWFuIG11c3QgYmUgM3g5IG9yIDl4MwBJbnB1dCBtYXRyaXggbXVzdCBiZSAxeDMsIDN4MSBvciAzeDMAT3V0cHV0IG1hdHJpeCBtdXN0IGJlIDN4Mywgc2luZ2xlLWNoYW5uZWwgZmxvYXRpbmcgcG9pbnQgbWF0cml4AE91dHB1dCBtYXRyaXggbXVzdCBiZSAxeDMgb3IgM3gxAElucHV0IG1hdHJpeCBtdXN0IGJlIDF4MyBvciAzeDEgZm9yIGEgcm90YXRpb24gdmVjdG9yLCBvciAzeDMgZm9yIGEgcm90YXRpb24gbWF0cml4AENWX0lTX01BVChvYmplY3RQb2ludHMpICYmIENWX0lTX01BVChpbWFnZVBvaW50cykgJiYgQ1ZfSVNfTUFUKEEpICYmIENWX0lTX01BVChydmVjKSAmJiBDVl9JU19NQVQodHZlYykAY3ZGaW5kRXh0cmluc2ljQ2FtZXJhUGFyYW1zMgAoQ1ZfTUFUX0RFUFRIKHJ2ZWMtPnR5cGUpID09IENWXzY0RiB8fCBDVl9NQVRfREVQVEgocnZlYy0+dHlwZSkgPT0gQ1ZfMzJGKSAmJiAocnZlYy0+cm93cyA9PSAxIHx8IHJ2ZWMtPmNvbHMgPT0gMSkgJiYgcnZlYy0+cm93cypydmVjLT5jb2xzKkNWX01BVF9DTihydmVjLT50eXBlKSA9PSAzAChDVl9NQVRfREVQVEgodHZlYy0+dHlwZSkgPT0gQ1ZfNjRGIHx8IENWX01BVF9ERVBUSCh0dmVjLT50eXBlKSA9PSBDVl8zMkYpICYmICh0dmVjLT5yb3dzID09IDEgfHwgdHZlYy0+Y29scyA9PSAxKSAmJiB0dmVjLT5yb3dzKnR2ZWMtPmNvbHMqQ1ZfTUFUX0NOKHR2ZWMtPnR5cGUpID09IDMAKGNvdW50ID49IDQpIHx8IChjb3VudCA9PSAzICYmIHVzZUV4dHJpbnNpY0d1ZXNzKQAAAACsFgEAYxIBAJUEAAAFAAAAIRcBAH0XAQCDFwEAdm9pZCBjdkZpbmRFeHRyaW5zaWNDYW1lcmFQYXJhbXMyKGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIEN2TWF0ICosIEN2TWF0ICosIGludCkARExUIGFsZ29yaXRobSBuZWVkcyBhdCBsZWFzdCA2IHBvaW50cyBmb3IgcG9zZSBlc3RpbWF0aW9uIGZyb20gM0QtMkQgcG9pbnQgY29ycmVzcG9uZGVuY2VzLgBjb3VudAA2AGZhYnMoc2MpID4gREJMX0VQU0lMT04AuBcBAGMSAQCXDQAAAAAAADQUAQD9FwEAAxgBAHZvaWQgY3Y6OlJvZHJpZ3Vlcyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAHNyY1N6AHNyY1N6ID09IFNpemUoMywgMSkgfHwgc3JjU3ogPT0gU2l6ZSgxLCAzKSB8fCAoc3JjU3ogPT0gU2l6ZSgxLCAxKSAmJiBzcmMuY2hhbm5lbHMoKSA9PSAzKSB8fCBzcmNTeiA9PSBTaXplKDMsIDMpAG5wb2ludHMgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAcHJvamVjdFBvaW50cwBfaXBvaW50cy5uZWVkZWQoKQBPbmUgb2YgcmVxdWlyZWQgYXJndW1lbnRzIGlzIG5vdCBhIHZhbGlkIG1hdHJpeABjdlByb2plY3RQb2ludHMySW50ZXJuYWwASG9tb2dlbmVvdXMgY29vcmRpbmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQAUm90YXRpb24gbXVzdCBiZSByZXByZXNlbnRlZCBieSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHJvdGF0aW9uIHZlY3Rvciwgb3IgM3gzIHJvdGF0aW9uIG1hdHJpeABUcmFuc2xhdGlvbiB2ZWN0b3IgbXVzdCBiZSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHZlY3RvcgBJbnRyaW5zaWMgcGFyYW1ldGVycyBtdXN0IGJlIDN4MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZHJvdCBtdXN0IGJlIDJOeDMgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RUIG11c3QgYmUgMk54MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZGYgbXVzdCBiZSAyTngyIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkcC9kYyBtdXN0IGJlIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RmIG11c3QgYmUgMk54MTQsIDJOeDEyLCAyTng4LCAyTng1LCAyTng0IG9yIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRpc3RDb2VmZnMgaXMgTlVMTCB3aGlsZSBkcGRrIGlzIG5vdABkcC9kbyBtdXN0IGJlIDJOeDNOIGZsb2F0aW5nLXBvaW50IG1hdHJpeABEaXN0b3J0aW9uIGNvZWZmaWNpZW50cyBtdXN0IGJlIDF4NCwgNHgxLCAxeDUsIDV4MSwgMXg4LCA4eDEsIDF4MTIsIDEyeDEsIDF4MTQgb3IgMTR4MSBmbG9hdGluZy1wb2ludCB2ZWN0b3IAAAAAAAA0HAEARAQAAEUEAABGBAAARwQAAEgEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQNUN2TWF0TjJjdjE0RGVmYXVsdERlbGV0ZXJJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUAAAAAPGoCANwbAQDEZQIATjJjdjE0RGVmYXVsdERlbGV0ZXJJNUN2TWF0RUUAZGF0YSAmJiBkaW1zIDw9IDIgJiYgcm93cyA9PSBtICYmIGNvbHMgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgTWF0eAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9tYXQuaW5sLmhwcABfdy5kYXRhID09ICh1Y2hhciopJncudmFsWzBdICYmIF91LmRhdGEgPT0gKHVjaGFyKikmdS52YWxbMF0gJiYgX3Z0LmRhdGEgPT0gKHVjaGFyKikmdnQudmFsWzBdAGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvb3BlcmF0aW9ucy5ocHAAIWVyci5lbXB0eSgpAHVwZGF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvY29tcGF0X3B0c2V0cmVnLmNwcABzdGF0ZSA9PSBDSEVDS19FUlIAZHN0LnJvd3MgPT0gZHN0MC5jb2xzICYmIGRzdC5jb2xzID09IGRzdDAucm93cwBjdkNvbnZlcnRQb2ludHNIb21vZ2VuZW91cwBkc3Quc2l6ZSgpID09IGRzdDAuc2l6ZSgpAFRoZSBpbnB1dCBhcnJheXMgc2hvdWxkIGJlIDJEIG9yIDNEIHBvaW50IHNldHMAZmluZEhvbW9ncmFwaHkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2Z1bmRhbS5jcHAAVGhlIGlucHV0IGFycmF5cyBzaG91bGQgaGF2ZSBhdCBsZWFzdCA0IGNvcnJlc3BvbmRpbmcgcG9pbnQgc2V0cyB0byBjYWxjdWxhdGUgSG9tb2dyYXBoeQBzcmMuY2hlY2tWZWN0b3IoMikgPT0gZHN0LmNoZWNrVmVjdG9yKDIpAFVua25vd24gZXN0aW1hdGlvbiBtZXRob2QAbnBvaW50cyA+PSAwAGNvbnZlcnRQb2ludHNGcm9tSG9tb2dlbmVvdXMAbnBvaW50cyA+PSAwICYmIChkZXB0aCA9PSBDVl8zMlMgfHwgZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAZHN0LmlzQ29udGludW91cygpAABjb252ZXJ0UG9pbnRzVG9Ib21vZ2VuZW91cwAAAAAAAABIIAEASQQAAEoEAABLBAAAjAMAAEwEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjdIb21vZ3JhcGh5RXN0aW1hdG9yQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCAPAfAQDEZQIAAAAAAMAgAQBNBAAATgQAAE8EAABQBAAAUQQAAE4yY3YyN0hvbW9ncmFwaHlFc3RpbWF0b3JDYWxsYmFja0UATjJjdjE5UG9pbnRTZXRSZWdpc3RyYXRvcjhDYWxsYmFja0UAABRqAgCTIAEAPGoCAHAgAQC4IAEAQdTBBAuD6AEBAAAAAgAAAAEAAAACAAAAAwAAAAAAAAACAAAAAwAAAAAAAAABAAAAAwAAAAAAAABwIQEAUgQAAFMEAABUBAAAjAMAAFUEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjRIb21vZ3JhcGh5UmVmaW5lQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAHCEBAMRlAgAAAAAA0CEBAFYEAABXBAAAWAQAAE4yY3YyNEhvbW9ncmFwaHlSZWZpbmVDYWxsYmFja0UATjJjdjhMTVNvbHZlcjhDYWxsYmFja0UAFGoCALAhAQA8agIAkCEBAMghAQBKLmlzQ29udGludW91cygpICYmIEouY29scyA9PSA4AGNvbXB1dGUAAAAAAFAiAQBZBAAAWgQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAG15X29iamVjdABmb3JtYXQATjJjdjlBbGdvcml0aG1FAAAAABRqAgA9IgEATm8gZWxlbWVudCBuYW1lIGhhcyBiZWVuIGdpdmVuAG9wZXJhdG9yPDwAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvcGVyc2lzdGVuY2UuaHBwAAAAAAAAAAAgIwEAYQQAAGIEAABjBAAAjAMAAGQEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTJMTVNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIA2CIBAMRlAgAAAAAAkCMBAGUEAABmBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZwQAAGgEAABpBAAATjJjdjEyTE1Tb2x2ZXJJbXBsRQBOMmN2OExNU29sdmVyRQAAPGoCAHQjAQBQIgEAPGoCAGAjAQCEIwEAKHBhcmFtMC5jb2xzID09IDEgfHwgcGFyYW0wLnJvd3MgPT0gMSkgJiYgKHB0eXBlID09IENWXzMyRiB8fCBwdHlwZSA9PSBDVl82NEYpAHJ1bgAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvbGV2bWFycS5jcHAAY2IAQS50eXBlKCkgPT0gQ1ZfNjRGICYmIEEucm93cyA9PSBseAAlYyUxMGQgJTEwZCAlMTUuNGUgJTE2LjRlICUxNy40ZSAlMTYuNGUgJTE3LjRlCgBpdGVycyA+IDAAc2V0TWF4SXRlcnMACWl0cgluZkoJCVNVTShyXjIpCQl4CQlkeAkJbAkJbGMAKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAHRoZSBudW1iZXIgb2YgbW9kZWwgcG9pbnRzIHNob3VsZCBiZSBwb3NpdGl2ZQBSQU5TQUNVcGRhdGVOdW1JdGVycwAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvcHRzZXRyZWcuY3BwAAAAAAAA2CUBAGoEAABrBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAbAQAAG0EAABOMmN2MjVSQU5TQUNQb2ludFNldFJlZ2lzdHJhdG9yRQBOMmN2MTlQb2ludFNldFJlZ2lzdHJhdG9yRQA8agIAsSUBAFAiAQA8agIAkCUBAMwlAQBjYgBydW4AY29uZmlkZW5jZSA+IDAgJiYgY29uZmlkZW5jZSA8IDEAY291bnQgPj0gMCAmJiBjb3VudDIgPT0gY291bnQAKGJlc3RNYXNrLmNvbHMgPT0gMSB8fCBiZXN0TWFzay5yb3dzID09IDEpICYmIChpbnQpYmVzdE1hc2sudG90YWwoKSA9PSBjb3VudABtb2RlbC5yb3dzICUgbm1vZGVscyA9PSAwAChlc3oxICUgc2l6ZW9mKGludCkpID09IDAgJiYgKGVzejIgJSBzaXplb2YoaW50KSkgPT0gMABnZXRTdWJzZXQAY291bnQgPj0gbW9kZWxQb2ludHMgJiYgY291bnQgPT0gY291bnQyAGVyci5pc0NvbnRpbnVvdXMoKSAmJiBlcnIudHlwZSgpID09IENWXzMyRiAmJiBtYXNrLmlzQ29udGludW91cygpICYmIG1hc2sudHlwZSgpID09IENWXzhVAGZpbmRJbmxpZXJzAAAAAACwJwEAagQAAG4EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABsBAAAbwQAAE4yY3YyNExNZURTUG9pbnRTZXRSZWdpc3RyYXRvckUAPGoCAJAnAQDYJQEAKG1hc2suY29scyA9PSAxIHx8IG1hc2sucm93cyA9PSAxKSAmJiAoaW50KW1hc2sudG90YWwoKSA9PSBjb3VudABlcnJmLmlzQ29udGludW91cygpICYmIGVycmYudHlwZSgpID09IENWXzMyRiAmJiAoaW50KWVycmYudG90YWwoKSA9PSBjb3VudAAAAAAA1CgBAEQEAABwBAAAcQQAAHIEAABzBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTMl9FRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgBkKAEAxGUCAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFRUUAAAAAAACoKQEARAQAAHQEAAB1BAAAdgQAAHcEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCADgpAQDEZQIATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRUVFAE9QRU5DVl9CVUZGRVJfQVJFQV9BTFdBWVNfU0FGRQB0b3RhbFNpemUgPiAwAGNvbW1pdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYnVmZmVyX2FyZWEuY3BwAG9uZUJ1ZiA9PSBOVUxMACFibG9ja3MuZW1wdHkoKQBwdHIgJiYgKnB0ciA9PSBOVUxMAEJsb2NrAHJlYWxfYWxsb2NhdGUAcmVpbnRlcnByZXRfY2FzdDxzaXplX3Q+KCpwdHIpICUgYWxpZ25tZW50ID09IDAAc3RhdGljX2Nhc3Q8dWNoYXIqPigqcHRyKSArIHR5cGVfc2l6ZSAqIGNvdW50IDw9IHN0YXRpY19jYXN0PHVjaGFyKj4ocmF3X21lbSkgKyB0eXBlX3NpemUgKiBhbGxvY2F0ZWRfY291bnQAcHRyICYmICpwdHIAZmFzdF9hbGxvY2F0ZQByZWludGVycHJldF9jYXN0PHNpemVfdD4oYnVmKSAlIGFsaWdubWVudCA9PSAwAGNsZWFudXAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFCwBAHgEAAB5BAAAegQAAHsEAAB8BAAAfQQAAH4EAAB/BAAATjJjdjEzUkhPX0hFU1RfUkVGQ0UATjJjdjhSSE9fSEVTVEUAFGoCAP0rAQA8agIA6CsBAAwsAQBwdHIgPT0gTlVMTABhbGxvY2F0ZQAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS91dGlscy9idWZmZXJfYXJlYS5wcml2YXRlLmhwcABjb3VudCA+IDAAYWxpZ25tZW50ID4gMABhbGlnbm1lbnQgJSBzaXplb2YoVCkgPT0gMAAoYWxpZ25tZW50ICYgKGFsaWdubWVudCAtIDEpKSA9PSAwAHB0ciAhPSBOVUxMAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAKAtAQBEBAAAgAQAAIEEAACCBAAAgwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBOMmN2MTNSSE9fSEVTVF9SRUZDRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAA8agIAPC0BAMRlAgBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlOMmN2MTNSSE9fSEVTVF9SRUZDRUVFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAADwuAQCmLgEAVQAAAAAAAADILgEA+y4BAAMvAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpzb2x2ZUdlbmVyaWMoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2lwcGUuY3BwAFR5cGUgb2YgX29iamVjdFBvaW50cyBtdXN0IGJlIENWXzMyRkMzIG9yIENWXzY0RkMzAG9ialR5cGUAb2JqVHlwZSA9PSBDVl8zMkZDMyB8fCBvYmpUeXBlID09IENWXzY0RkMzAAAAPC4BAKYuAQBXAAAAAAAAAEwvAQCILwEAky8BAFR5cGUgb2YgX25vcm1hbGl6ZWRJbnB1dFBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAHR5cGVfaW5wdXQAdHlwZV9pbnB1dCA9PSBDVl8zMkZDMiB8fCB0eXBlX2lucHV0ID09IENWXzY0RkMyAF9vYmplY3RQb2ludHMucm93cygpID09IDEgfHwgX29iamVjdFBvaW50cy5jb2xzKCkgPT0gMQBzb2x2ZUdlbmVyaWMAX29iamVjdFBvaW50cy5yb3dzKCkgPj0gNCB8fCBfb2JqZWN0UG9pbnRzLmNvbHMoKSA+PSA0AF9ub3JtYWxpemVkSW5wdXRQb2ludHMucm93cygpID09IDEgfHwgX25vcm1hbGl6ZWRJbnB1dFBvaW50cy5jb2xzKCkgPT0gMQBzdGF0aWNfY2FzdDxzaXplX3Q+KF9vYmplY3RQb2ludHMucm93cygpKSAqIHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5jb2xzKCkpID09IG4AX29iamVjdFBvaW50cy50eXBlKCkAFDEBAKYuAQAoAQAAAAAAAFgxAQB0MQEAfjEBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OnJvdDJ2ZWMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfUiBtdXN0IGJlIENWXzY0RkMxAF9SLnR5cGUoKQBfUi50eXBlKCkgPT0gQ1ZfNjRGQzEAX1Iucm93cygpID09IDMAcm90MnZlYwBfUi5jb2xzKCkgPT0gMwAAANgxAQCmLgEASwEAAAAAAABHMgEA4zABAG4yAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpjb21wdXRlVHJhbnNsYXRpb24oY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9vYmplY3RQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfb2JqZWN0UG9pbnRzLnR5cGUoKSA9PSBDVl82NEZDMgAA2DEBAKYuAQBNAQAAAAAAAKwyAQDaMgEA9jIBAFR5cGUgb2YgX25vcm1hbGl6ZWRJbWdQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfbm9ybWFsaXplZEltZ1BvaW50cy50eXBlKCkAX25vcm1hbGl6ZWRJbWdQb2ludHMudHlwZSgpID09IENWXzY0RkMyAAAA2DEBAKYuAQBPAQAAAAAAAFgxAQB0MQEAfjEBAF9SLnJvd3MoKSA9PSAzICYmIF9SLmNvbHMoKSA9PSAzAGNvbXB1dGVUcmFuc2xhdGlvbgBfbm9ybWFsaXplZEltZ1BvaW50cy5yb3dzKCkgPT0gMSB8fCBfbm9ybWFsaXplZEltZ1BvaW50cy5jb2xzKCkgPT0gMQBuID09IHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5yb3dzKCkgKiBfb2JqZWN0UG9pbnRzLmNvbHMoKSkAY29tcHV0ZVJvdGF0aW9ucwBnYW1tYSBpcyB6ZXJvLgAAODQBAKYuAQACAgAAAAAAAJc0AQDKNAEA3zQBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OmhvbW9ncmFwaHlGcm9tU3F1YXJlUG9pbnRzKGN2OjpJbnB1dEFycmF5LCBkb3VibGUsIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfdGFyZ2V0UG9pbnRzIG11c3QgYmUgQ1ZfMzJGQzIgb3IgQ1ZfNjRGQzIAX3RhcmdldFBvaW50cy50eXBlKCkAX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfMzJGQzIgfHwgX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfNjRGQzIARGV0ZXJtaW5hbnQgaXMgemVybyEAaG9tb2dyYXBoeUZyb21TcXVhcmVQb2ludHMAcDUBAKYuAQBAAgAAAAAAAMguAQD7LgEAAy8BAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6Om1ha2VDYW5vbmljYWxPYmplY3RQb2ludHMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBDYW5ub3QgdHJhbnNmb3JtIG9iamVjdCBwb2ludHMgdG8gdGhlIHBsYW5lIHo9MCEAbWFrZUNhbm9uaWNhbE9iamVjdFBvaW50cwBzMyAvIHMyIDwgSVBQRV9TTUFMTABjb21wdXRlT2JqZXh0U3BhY2VSU3ZEAERhdGEucm93cyA9PSAxIHx8IERhdGEuY29scyA9PSAxAG5vcm1hbGl6ZURhdGFJc290cm9waWMARGF0YS5jaGFubmVscygpID09IDIgfHwgRGF0YS5jaGFubmVscygpID09IDMAbnVtUG9pbnRzID49IDQAAADgNgEApi4BAG0DAAAAAAAAUTcBAJU3AQCeNwEAdm9pZCBjdjo6SG9tb2dyYXBoeUhPOjpub3JtYWxpemVEYXRhSXNvdHJvcGljKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9EYXRhIG11c3QgYmUgb25lIG9mIENWXzMyRkMyLCBDVl8zMkZDMywgQ1ZfNjRGQzIsIENWXzY0RkMzAGRhdGFUeXBlAGRhdGFUeXBlID09IENWXzMyRkMyIHx8IGRhdGFUeXBlID09IENWXzMyRkMzIHx8IGRhdGFUeXBlID09IENWXzY0RkMyIHx8IGRhdGFUeXBlID09IENWXzY0RkMzAG4gPT0gRGF0YUIuY29scwBob21vZ3JhcGh5SE8AL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3NvbHZlcG5wLmNwcABucG9pbnRzID09IHN0ZDo6bWF4KGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfMzJGKSwgaXBvaW50cy5jaGVja1ZlY3RvcigyLCBDVl82NEYpKQBzb2x2ZVAzUABucG9pbnRzID09IDMgfHwgbnBvaW50cyA9PSA0AGZsYWdzID09IFNPTFZFUE5QX1AzUCB8fCBmbGFncyA9PSBTT0xWRVBOUF9BUDNQACggKG5wb2ludHMgPj0gNCkgfHwgKG5wb2ludHMgPT0gMyAmJiBmbGFncyA9PSBTT0xWRVBOUF9JVEVSQVRJVkUgJiYgdXNlRXh0cmluc2ljR3Vlc3MpIHx8IChucG9pbnRzID49IDMgJiYgZmxhZ3MgPT0gU09MVkVQTlBfU1FQTlApICkgJiYgbnBvaW50cyA9PSBzdGQ6Om1heChpcG9pbnRzLmNoZWNrVmVjdG9yKDIsIENWXzMyRiksIGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfNjRGKSkAc29sdmVQblBHZW5lcmljACFfcnZlYy5lbXB0eSgpICYmICFfdHZlYy5lbXB0eSgpAChydHlwZSA9PSBDVl8zMkZDMSB8fCBydHlwZSA9PSBDVl82NEZDMSkgJiYgKHR0eXBlID09IENWXzMyRkMxIHx8IHR0eXBlID09IENWXzY0RkMxKQAocnNpemUgPT0gU2l6ZSgxLCAzKSB8fCByc2l6ZSA9PSBTaXplKDMsIDEpKSAmJiAodHNpemUgPT0gU2l6ZSgxLCAzKSB8fCB0c2l6ZSA9PSBTaXplKDMsIDEpKQBucG9pbnRzID09IDQAVGhlIGZsYWdzIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIFNPTFZFUE5QX0lURVJBVElWRSwgU09MVkVQTlBfUDNQLCBTT0xWRVBOUF9FUE5QLCBTT0xWRVBOUF9ETFMsIFNPTFZFUE5QX1VQTlAsIFNPTFZFUE5QX0FQM1AsIFNPTFZFUE5QX0lQUEUsIFNPTFZFUE5QX0lQUEVfU1FVQVJFIG9yIFNPTFZFUE5QX1NRUE5QAHZlY19ydmVjcy5zaXplKCkgPT0gdmVjX3R2ZWNzLnNpemUoKQAArDsBABg4AQBbBAAAAAAAAIE8AQC5PAEA0jwBAGludCBjdjo6c29sdmVQblBHZW5lcmljKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMsIGJvb2wsIGN2OjpTb2x2ZVBuUE1ldGhvZCwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAFR5cGUgb2YgcmVwcm9qZWN0aW9uRXJyb3IgbXVzdCBiZSBDVl8zMkZDMSBvciBDVl82NEZDMSEAcmVwcm9qZWN0aW9uRXJyb3IudHlwZSgpAHR5cGUgPT0gQ1ZfMzJGQzEgfHwgdHlwZSA9PSBDVl82NEZDMQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAERhdGFUeXBlPF9UcD46OmNoYW5uZWxzID09IG0uY2hhbm5lbHMoKSB8fCBtLmVtcHR5KCkAb3BlcmF0b3I9AAAAAMw9AQBAPgEAVgAAAAAAAABjPgEAlT4BAJ0+AQB2b2lkIGN2OjpzcXBucDo6UG9zZVNvbHZlcjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMpAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9zcXBucC5jcHAAVHlwZSBvZiBvYmplY3RQb2ludHMgbXVzdCBiZSBDVl8zMkZDMyBvciBDVl82NEZDMwBvYmpUeXBlAG9ialR5cGUgPT0gQ1ZfMzJGQzMgfHwgb2JqVHlwZSA9PSBDVl82NEZDMwDMPQEAQD4BAFoAAAAAAAAA5D4BABU/AQAdPwEAVHlwZSBvZiBpbWFnZVBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAGltZ1R5cGUAaW1nVHlwZSA9PSBDVl8zMkZDMiB8fCBpbWdUeXBlID09IENWXzY0RkMyAG9iamVjdFBvaW50cy5yb3dzKCkgPT0gMSB8fCBvYmplY3RQb2ludHMuY29scygpID09IDEAc29sdmUAb2JqZWN0UG9pbnRzLnJvd3MoKSA+PSAzIHx8IG9iamVjdFBvaW50cy5jb2xzKCkgPj0gMwBpbWFnZVBvaW50cy5yb3dzKCkgPT0gMSB8fCBpbWFnZVBvaW50cy5jb2xzKCkgPT0gMQBpbWFnZVBvaW50cy5yb3dzKCkgKiBpbWFnZVBvaW50cy5jb2xzKCkgPT0gb2JqZWN0UG9pbnRzLnJvd3MoKSAqIG9iamVjdFBvaW50cy5jb2xzKCkAcG9pbnRfY29vcmRpbmF0ZV92YXJpYW5jZSA+PSBQT0lOVF9WQVJJQU5DRV9USFJFU0hPTEQAY29tcHV0ZU9tZWdhAHNfKDApID49IDFlLTcAKytudW1fbnVsbF92ZWN0b3JzXyA8PSA2AGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAGRhdGEgJiYgZGltcyA8PSAyICYmIHJvd3MgPT0gbSAmJiBjb2xzID09IG4gJiYgY2hhbm5lbHMoKSA9PSAxAG9wZXJhdG9yIE1hdHgAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VuZGlzdG9ydC5kaXNwYXRjaC5jcHAAbnBvaW50cyA+PSAwICYmIHNyYy5pc0NvbnRpbnVvdXMoKSAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAdW5kaXN0b3J0UG9pbnRzAGNyaXRlcmlhLmlzVmFsaWQoKQBjdlVuZGlzdG9ydFBvaW50c0ludGVybmFsAENWX0lTX01BVChfc3JjKSAmJiBDVl9JU19NQVQoX2RzdCkgJiYgKF9zcmMtPnJvd3MgPT0gMSB8fCBfc3JjLT5jb2xzID09IDEpICYmIChfZHN0LT5yb3dzID09IDEgfHwgX2RzdC0+Y29scyA9PSAxKSAmJiBfc3JjLT5jb2xzICsgX3NyYy0+cm93cyAtIDEgPT0gX2RzdC0+cm93cyArIF9kc3QtPmNvbHMgLSAxICYmIChDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl8zMkZDMiB8fCBDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl82NEZDMikgJiYgKENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzMyRkMyIHx8IENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzY0RkMyKQBDVl9JU19NQVQoX2NhbWVyYU1hdHJpeCkgJiYgX2NhbWVyYU1hdHJpeC0+cm93cyA9PSAzICYmIF9jYW1lcmFNYXRyaXgtPmNvbHMgPT0gMwBDVl9JU19NQVQoX2Rpc3RDb2VmZnMpICYmIChfZGlzdENvZWZmcy0+cm93cyA9PSAxIHx8IF9kaXN0Q29lZmZzLT5jb2xzID09IDEpICYmIChfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSA0IHx8IF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDUgfHwgX2Rpc3RDb2VmZnMtPnJvd3MqX2Rpc3RDb2VmZnMtPmNvbHMgPT0gOCB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxMiB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxNCkAQ1ZfSVNfTUFUKG1hdFIpICYmIG1hdFItPnJvd3MgPT0gMyAmJiBtYXRSLT5jb2xzID09IDMAQ1ZfSVNfTUFUKG1hdFApICYmIG1hdFAtPnJvd3MgPT0gMyAmJiAobWF0UC0+Y29scyA9PSAzIHx8IG1hdFAtPmNvbHMgPT0gNCkAAAAAAAxGAQCEBAAAhQQAAIYEAACMAwAAhwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAtEUBAMRlAgAAAAAA0EYBAIgEAACJBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAigQAAIsEAACMBAAAjQQAAI4EAACPBAAAkAQAAE4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE5SG9tb2dyYXBoeUVzdGltYXRvckUATjJjdjR1c2FjOUVzdGltYXRvckUAAAAAPGoCAKBGAQBQIgEAPGoCAIBGAQC4RgEAPGoCAFxGAQDERgEAAAAAAFBHAQCRBAAAkgQAAJMEAACMAwAAlAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA+EYBAMRlAgAAAAAA9EcBAJUEAACWBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAAnQQAAE4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMyMEZ1bmRhbWVudGFsRXN0aW1hdG9yRQAAADxqAgDFRwEAuEYBADxqAgCgRwEA6EcBAAAAAAB0SAEAngQAAJ8EAACgBAAAjAMAAKEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCABxIAQDEZQIAAAAAABRJAQCiBAAAowQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKQEAAClBAAApgQAAKcEAACoBAAAqQQAAKoEAABOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE4RXNzZW50aWFsRXN0aW1hdG9yRQAAADxqAgDnSAEAuEYBADxqAgDESAEACEkBAAAAAACQSQEAqwQAAKwEAACtBAAAjAMAAK4EAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOUFmZmluZUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPEkBAMRlAgAAAAAAKEoBAK8EAACwBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAsQQAALIEAACzBAAAtAQAALUEAAC2BAAAtwQAAE4yY3Y0dXNhYzE5QWZmaW5lRXN0aW1hdG9ySW1wbEUATjJjdjR1c2FjMTVBZmZpbmVFc3RpbWF0b3JFADxqAgAASgEAuEYBADxqAgDgSQEAHEoBAAAAAACgSgEAuAQAALkEAAC6BAAAjAMAALsEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNlBuUEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBQSgEAxGUCAAAAAAA0SwEAvAQAAL0EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC+BAAAvwQAAMAEAADBBAAAwgQAAMMEAADEBAAATjJjdjR1c2FjMTZQblBFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMxMlBuUEVzdGltYXRvckUAAAA8agIADUsBALhGAQA8agIA8EoBAChLAQAAAAAAvEsBAMUEAADGBAAAxwQAAIwDAADIBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAFxLAQDEZQIAAAAAAHxMAQDJBAAAygQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMsEAADMBAAAzQQAAM4EAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkVycm9yU3ltbWV0cmljSW1wbEUATjJjdjR1c2FjMjZSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0UATjJjdjR1c2FjNUVycm9yRQAAPGoCAFJMAQBQIgEAPGoCACtMAQBkTAEAPGoCAABMAQBwTAEAIW1vZGVsLmVtcHR5KCkAc2V0TW9kZWxQYXJhbWV0ZXJzAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy91c2FjL2VzdGltYXRvci5jcHAAAAD0TAEAqkwBAPIAAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAABtb2RlbC5kZXB0aCgpAENWXzY0RgAAAAD0TAEAqkwBAPoAAAABAAAAT00BAIRNAQBeTQEAbW9kZWxfaW52LmRlcHRoKCkAAAAAAAAAEE4BAM8EAADQBAAA0QQAAIwDAADSBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvckZvcndhcmRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAtE0BAMRlAgAAAAAAsE4BANMEAADUBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA1QQAANYEAADXBAAA2AQAAE4yY3Y0dXNhYzI4UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbEUATjJjdjR1c2FjMjRSZXByb2plY3Rpb25FcnJvckZvcndhcmRFAAAAPGoCAH1OAQBkTAEAPGoCAFROAQCkTgEA2E4BAKpMAQA2AQAAAQAAAE9NAQBQTQEAXk0BAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAAAAKBPAQDZBAAA2gQAANsEAACMAwAA3AQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE2U2FtcHNvbkVycm9ySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAFBPAQDEZQIAAAAAAChQAQDdBAAA3gQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAN8EAADgBAAA4QQAAOIEAABOMmN2NHVzYWMxNlNhbXBzb25FcnJvckltcGxFAE4yY3Y0dXNhYzEyU2FtcHNvbkVycm9yRQAAADxqAgABUAEAZEwBADxqAgDkTwEAHFABAFBQAQCqTAEAbAEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlNhbXBzb25FcnJvckltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAAAAAAAAAAAcUQEA4wQAAOQEAADlBAAAjAMAAOYEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMFN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAvFABAMRlAgAAAAAAwFEBAOcEAADoBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA6QQAAOoEAADrBAAA7AQAAE4yY3Y0dXNhYzMwU3ltbWV0cmljR2VvbWV0cmljRGlzdGFuY2VJbXBsRQBOMmN2NHVzYWMyNlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlRQAAADxqAgCLUQEAZEwBADxqAgBgUQEAtFEBAOhRAQCqTAEAswEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAC8UgEA7QQAAO4EAADvBAAAjAMAAPAEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyOFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBgUgEAxGUCAAAAAABcUwEA8QQAAPIEAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzBAAA9AQAAPUEAAD2BAAATjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsRQBOMmN2NHVzYWMyNFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEUAAAA8agIAKVMBAGRMAQA8agIAAFMBAFBTAQCEUwEAqkwBAPMBAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsOjpzZXRNb2RlbFBhcmFtZXRlcnMoY29uc3QgY3Y6Ok1hdCAmKQAAAAAAAAAAXFQBAPcEAAD4BAAA+QQAAIwDAAD6BAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25EaXN0YW5jZUFmZmluZUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAPxTAQDEZQIAAAAAAPxUAQD7BAAA/AQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAP0EAAD+BAAA/wQAAAAFAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1wbEUATjJjdjR1c2FjMjNSZXByb2plY3Rpb25FcnJvckFmZmluZUUAADxqAgDLVAEAZEwBADxqAgCgVAEA8FQBACRVAQCqTAEAMgIAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1w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dWFsaXR5RQBOMmN2NHVzYWM3UXVhbGl0eUUAADxqAgBoXAEAUCIBADxqAgBOXAEAfFwBADxqAgAwXAEAiFwBAGdldFNjb3JlKGVycm9ycykAZ2V0U2NvcmUAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvLi4vdXNhYy5ocHAAAAAAAFBdAQAWBQAAFwUAABgFAACMAwAAGQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE1TXNhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAABdAQDEZQIAAAAAAORdAQAaBQAAGwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAABwFAAAPBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAATjJjdjR1c2FjMTVNc2FjUXVhbGl0eUltcGxFAE4yY3Y0dXNhYzExTXNhY1F1YWxpdHlFADxqAgDAXQEAfFwBADxqAgCkXQEA2F0BAAAAAABgXgEAIwUAACQFAAAlBQAAjAMAACYFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIADF4BAMRlAgAAAAAA+F4BACcFAAAoBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKQUAACoFAAArBQAALAUAAC0FAAAuBQAALwUAADAFAABOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRQBOMmN2NHVzYWMxM01hZ3NhY1F1YWxpdHlFADxqAgDSXgEAfFwBADxqAgC0XgEA7F4BAAAAAABwXwEAMQUAADIFAAAzBQAAjAMAADQFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNkxNZWRzUXVhbGl0eUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgAgXwEAxGUCAAAAAAAIYAEANQUAADYFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAA3BQAADwUAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAE4yY3Y0dXNhYzE2TE1lZHNRdWFsaXR5SW1wbEUATjJjdjR1c2FjMTJMTWVkc1F1YWxpdHlFAAAAPGoCAOFfAQB8XAEAPGoCAMRfAQD8XwEAAAAAAIRgAQA+BQAAPwUAAEAFAACMAwAAQQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TW9kZWxWZXJpZmllckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgAwYAEAxGUCAAAAAAAUYQEAQgUAAEMFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABEBQAARQUAAEYFAABHBQAASAUAAEkFAABOMmN2NHVzYWMxN01vZGVsVmVyaWZpZXJJbXBsRQBOMmN2NHVzYWMxM01vZGVsVmVyaWZpZXJFADxqAgDuYAEAUCIBADxqAgDQYAEACGEBAAAAAACEYQEASgUAAEsFAABMBQAAjAMAAE0FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM4U1BSVEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPGEBAMRlAgAAAAAABGIBAE4FAABPBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAUAUAAFEFAABSBQAAUwUAAFQFAABVBQAAVgUAAE4yY3Y0dXNhYzhTUFJUSW1wbEUATjJjdjR1c2FjNFNQUlRFADxqAgDoYQEACGEBADxqAgDUYQEA+GEBAAAAAACQYgEAVwUAAFgFAABZBQAAjAMAAFoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCACxiAQDEZQIAAAAAAGBjAQBZBAAAWwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAFwFAABdBQAAXgUAAF8FAABOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU1pbmltYWxTb2x2ZXI0cHRzR0VNRQBOMmN2NHVzYWMxM01pbmltYWxTb2x2ZXJFADxqAgAuYwEAUCIBADxqAgADYwEASGMBADxqAgDUYgEAVGMBAAAAAADoYwEAYAUAAGEFAABiBQAAjAMAAGMFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAiGMBAMRlAgAAAAAAtGQBAGQFAABlBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZgUAAGcFAABoBQAAaQUAAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNkhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVyRQBOMmN2NHVzYWMxNk5vbk1pbmltYWxTb2x2ZXJFAAA8agIAfmQBAFAiAQA8agIAV2QBAJxkAQA8agIALGQBAKhkAQAAAAAANGUBAGoFAABrBQAAbAUAAIwDAABtBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDcZAEAxGUCAAAAAADIZQEAWQQAAG4FAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABvBQAAcAUAAHEFAAByBQAATjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEUATjJjdjR1c2FjMTlBZmZpbmVNaW5pbWFsU29sdmVyRQA8agIAnGUBAEhjAQA8agIAeGUBALxlAQAAAAAATGYBAHMFAAB0BQAAdQUAAIwDAAB2BQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjZBZmZpbmVOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIA8GUBAMRlAgAAAAAA6GYBAFkEAAB3BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAeAUAAHkFAAB6BQAAewUAAE4yY3Y0dXNhYzI2QWZmaW5lTm9uTWluaW1hbFNvbHZlckltcGxFAE4yY3Y0dXNhYzIyQWZmaW5lTm9uTWluaW1hbFNvbHZlckUAAAA8agIAt2YBAJxkAQA8agIAkGYBANxmAQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAAAAC0ZwEAfAUAAH0FAAB+BQAAjAMAAH8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAVGcBAMRlAgAAAAAAWGgBAFkEAACABQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAIIFAACDBQAAhAUAAE4yY3Y0dXNhYzMwRXBpcG9sYXJHZW9tZXRyeURlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMyNkVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5RQAAADxqAgAjaAEAIIMBADxqAgD4ZwEATGgBAGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAAAAAAAAAAB0aQEAhQUAAIYFAACHBQAAjAMAAIgFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCABxpAQDEZQIAAAAAAAxqAQBZBAAAiQUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIoFAACLBQAAgwUAAIwFAABOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjBIb21vZ3JhcGh5RGVnZW5lcmFjeUUAAAA8agIA3WkBACCDAQA8agIAuGkBAABqAQAAAAAAkGoBAI0FAACOBQAAjwUAAIwDAACQBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVGdW5kYW1lbnRhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIANGoBAMRlAgAAAAAAKGsBAJEFAACSBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAJMFAACUBQAAlQUAAE4yY3Y0dXNhYzI1RnVuZGFtZW50YWxEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjFGdW5kYW1lbnRhbERlZ2VuZXJhY3lFADxqAgD6agEATGgBADxqAgDUagEAHGsBAAAAAACoawEAlgUAAJcFAACYBQAAjAMAAJkFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAFBrAQDEZQIAAAAAADxsAQCaBQAAmwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACcBQAAgwUAAJ0FAABOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMxOUVzc2VudGlhbERlZ2VuZXJhY3lFADxqAgAQbAEATGgBADxqAgDsawEAMGwBAAAAAADEbAEAngUAAJ8FAACgBQAAjAMAAKEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjdwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZGwBAMRlAgAAAAAAbG0BAFkEAACiBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAowUAAKQFAAClBQAApgUAAE4yY3Y0dXNhYzMyRnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0ltcGxFAE4yY3Y0dXNhYzI4RnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0UAAAA8agIANW0BAEhjAQA8agIACG0BAGBtAQAAAAAA9G0BAKcFAACoBQAAqQUAAIwDAACqBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzJGdW5kYW1lbnRhbE1pbmltYWxTb2x2ZXI4cHRzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAJRtAQDEZQIAAAAAAJxuAQBZBAAAqwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKwFAACtBQAArgUAAK8FAABOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNJbXBsRQBOMmN2NHVzYWMyOEZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNFAAAAPGoCAGVuAQBIYwEAPGoCADhuAQCQbgEAAAAAACRvAQCwBQAAsQUAALIFAACMAwAAswUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxRnVuZGFtZW50YWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDEbgEAxGUCAAAAAADIbwEAtAUAALUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC2BQAAtwUAALgFAAC5BQAATjJjdjR1c2FjMzFGdW5kYW1lbnRhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyN0Z1bmRhbWVudGFsTm9uTWluaW1hbFNvbHZlckUAPGoCAJRvAQCcZAEAPGoCAGhvAQC8bwEAAAAAAFhwAQC6BQAAuwUAALwFAACMAwAAvQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM5RXNzZW50aWFsTWluaW1hbFNvbHZlclN0ZXdlbml1czVwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAPBvAQDEZQIAAAAAAAxxAQBZBAAAvgUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAL8FAADABQAAwQUAAMIFAABOMmN2NHVzYWMzOUVzc2VudGlhbE1pbmltYWxTb2x2ZXJTdGV3ZW5pdXM1cHRzSW1wbEUATjJjdjR1c2FjMzVFc3NlbnRpYWxNaW5pbWFsU29sdmVyU3Rld2VuaXVzNXB0c0UAPGoCANBwAQBIYwEAPGoCAJxwAQAAcQEAVG8gdXNlIGVzc2VudGlhbCBtYXRyaXggc29sdmVyIExBUEFDSyBvciBFaWdlbiBoYXMgdG8gYmUgaW5zdGFsbGVkIQBlc3RpbWF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9lc3NlbnRpYWxfc29sdmVyLmNwcAAAAAAAFHIBAMMFAADEBQAAxQUAAIwDAADGBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlFc3NlbnRpYWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALRxAQDEZQIAAAAAALRyAQBZBAAAxwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMgFAADJBQAAygUAAMsFAABOMmN2NHVzYWMyOUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJFADxqAgCCcgEAnGQBADxqAgBYcgEAqHIBAAAAAAAocwEAzAUAAM0FAADOBQAAjAMAAM8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERMU1BuUEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCANxyAQDEZQIAAAAAAKRzAQBZBAAA0AUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANEFAADSBQAA0wUAANQFAABOMmN2NHVzYWMxMERMU1BuUEltcGxFAE4yY3Y0dXNhYzZETFNQblBFAAAAADxqAgCDcwEAnGQBADxqAgBscwEAmHMBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGh0AQDVBQAA1gUAANcFAACMAwAA2AUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAEHQBAMRlAgAAAAAAAHUBAFkEAADZBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA2gUAANsFAADcBQAA3QUAAE4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRQBOMmN2NHVzYWMyMFBuUE1pbmltYWxTb2x2ZXI2UHRzRQAAADxqAgDRdAEASGMBADxqAgCsdAEA9HQBAAAAAACAdQEA3gUAAN8FAADgBQAAjAMAAOEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCACh1AQDEZQIAAAAAABR2AQBZBAAA4gUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOMFAADkBQAA5QUAAOYFAABOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMxOVBuUE5vbk1pbmltYWxTb2x2ZXJFADxqAgDodQEAnGQBADxqAgDEdQEACHYBAAAAAACMdgEA5wUAAOgFAADpBQAAjAMAAOoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxM1AzUFNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgA8dgEAxGUCAAAAAAAMdwEAWQQAAOsFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADsBQAA7QUAAO4FAADvBQAATjJjdjR1c2FjMTNQM1BTb2x2ZXJJbXBsRQBOMmN2NHVzYWM5UDNQU29sdmVyRQAAPGoCAOp2AQBIYwEAPGoCANB2AQAAdwEAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAxHcBAPAFAADxBQAA8gUAAIwDAADzBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTJHcmFwaEN1dEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgB4dwEAxGUCAAAAAABkeAEA9AUAAPUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAD2BQAA9wUAAE4yY3Y0dXNhYzEyR3JhcGhDdXRJbXBsRQBOMmN2NHVzYWM4R3JhcGhDdXRFAE4yY3Y0dXNhYzE3TG9jYWxPcHRpbWl6YXRpb25FAAA8agIALXgBAFAiAQA8agIAGXgBAEx4AQA8agIAAHgBAFh4AQBpPj0wICYmIGk8KGludCl2dGNzLnNpemUoKQBhZGRUZXJtV2VpZ2h0cwAvc3JjL21vZHVsZXMvaW1ncHJvYy9pbmNsdWRlL29wZW5jdjIvaW1ncHJvYy9kZXRhaWwvZ2NncmFwaC5ocHAAYWRkRWRnZXMAaj49MCAmJiBqPChpbnQpdnRjcy5zaXplKCkAdz49MCAmJiByZXZ3Pj0wAGkgIT0gagAhdnRjcy5lbXB0eSgpAG1heEZsb3cAIWVkZ2VzLmVtcHR5KCkAbWluV2VpZ2h0ID4gMABpblNvdXJjZVNlZ21lbnQAAAAAANh5AQD4BQAA+QUAAPoFAACMAwAA+wUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM1SW5uZXJJdGVyYXRpdmVMb2NhbE9wdGltaXphdGlvbkltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAdHkBAMRlAgAAAAAAfHoBAPwFAAD9BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA/gUAAP8FAABOMmN2NHVzYWMzNUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25JbXBsRQBOMmN2NHVzYWMzMUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25FADxqAgBEegEATHgBADxqAgAUegEAcHoBAAAAAAD4egEAAAYAAAEGAAACBgAAjAMAAAMGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIApHoBAMRlAgAAAAAAfHsBAAQGAAAFBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAABgYAAAcGAABOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEUATjJjdjR1c2FjMTRTaWdtYUNvbnNlbnN1c0UAAAA8agIAU3sBAEx4AQA8agIANHsBAHB7AQAAAAAAAHwBAAgGAAAJBgAACgYAAIwDAAALBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVMZWFzdFNxdWFyZXNQb2xpc2hpbmdJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIApHsBAMRlAgAAAAAAuHwBAAwGAAANBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAADgYAAE4yY3Y0dXNhYzI1TGVhc3RTcXVhcmVzUG9saXNoaW5nSW1wbEUATjJjdjR1c2FjMjFMZWFzdFNxdWFyZXNQb2xpc2hpbmdFAE4yY3Y0dXNhYzE4RmluYWxNb2RlbFBvbGlzaGVyRQAAPGoCAIB8AQBQIgEAPGoCAF58AQCgfAEAPGoCADh8AQCsfAEASW5jb3JyZWN0IGZsYWcgZm9yIFVTQUMhAHNldFBhcmFtZXRlcnMAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvcmFuc2FjX3NvbHZlcnMuY3BwADh9AQDrfAEAIAMAAAEAAADzfQEAF34BADt+AQBib29sIGN2Ojp1c2FjOjpydW4oY29uc3QgUHRyPGNvbnN0IGN2Ojp1c2FjOjpNb2RlbD4gJiwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQsIFB0cjxjdjo6dXNhYzo6UmFuc2FjT3V0cHV0PiAmLCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkASW50cmluc2ljIG1hdHJpeCBtdXN0IG5vdCBiZSBlbXB0eSEAKGludCkoIUsxXy5lbXB0eSgpICYmICFLMl8uZW1wdHkoKSkAMQBHcmFwaCB0eXBlIGlzIG5vdCBpbXBsZW1lbnRlZCEAcnVuADh9AQDrfAEASQMAAAEAAAB8fgEAqn4BAL9+AQBQcm9ncmVzc2l2ZU5BUFNBQyBmb3IgUG5QIGlzIG5vdCBpbXBsZW1lbnRlZCEAKGludClwYXJhbXMtPmlzUG5QKCkAMABQcm9ncmVzc2l2ZSBOQVBTQUMgc2FtcGxlcjogQ2VsbCBudW1iZXIgaW4gbGF5ZXJzIG11c3QgYmUgaW4gZGVjcmVhc2luZyBvcmRlciEARXJyb3IgbWV0cmljIGlzIG5vdCBpbXBsZW1lbnRlZCEAU2NvcmUgaXMgbm90IGltZXBsZW1ldGVkIQBFc3RpbWF0b3Igbm90IGltcGxlbWVudGVkIQBTYW1wbGVyIGlzIG5vdCBpbXBsZW1lbnRlZCEAVmVyaWZpZXIgaXMgbm90IGltZXBsZW1lbnRlZCEATG9jYWwgT3B0aW1pemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCEAAOR/AQDrfAEAigEAAAUAAABlgAEAgIABAIyAAQBhdXRvIGN2Ojp1c2FjOjptZXJnZVBvaW50cyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpNYXQgJiwgYm9vbCk6Oihhbm9ueW1vdXMgY2xhc3MpOjpvcGVyYXRvcigpKGN2OjpNYXQgJiwgaW50KSBjb25zdABJbnZhbGlkIGRpbWVuc2lvbiBvZiBwb2ludABwb2ludHMuY29scwBwdF9kaW0AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAABSBAQAQBgAAEQYAABIGAABOMmN2MjlQYXJhbGxlbExvb3BCb2R5TGFtYmRhV3JhcHBlckUAAAAAPGoCAOyAAQCorgAAAAAAAACCAQATBgAAFAYAABUGAAAWBgAAFwYAABgGAAAZBgAAGgYAABsGAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TMl8zUHRySU5TM18xMlJhbnNhY091dHB1dEVFRUVVbFJLTlMyXzVSYW5nZUVFX05TXzlhbGxvY2F0b3JJU0NfRUVGdlNCX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJLTjJjdjVSYW5nZUVFRUUAFGoCAMqBAQA8agIATIEBAPiBAQBaTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TXzNQdHJJTlMwXzEyUmFuc2FjT3V0cHV0RUVFRVVsUktOU181UmFuZ2VFRV8AAAAUagIADIIBAAAAAADEggEAHAYAAB0GAAAeBgAAjAMAAB8GAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERlZ2VuZXJhY3lFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAHiCAQDEZQIAAAAAACCDAQBZBAAAIAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACLBQAAgwUAACEGAABOMmN2NHVzYWMxMERlZ2VuZXJhY3lFAAA8agIACIMBAFAiAQAAAAAAmIMBACIGAAAjBgAAJAYAAIwDAAAlBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTZSYW5zYWNPdXRwdXRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIASIMBAMRlAgAAAAAAPIQBACYGAAAnBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKAYAACkGAAAqBgAAKwYAACwGAAAtBgAALgYAAC8GAAAwBgAAMQYAADIGAABOMmN2NHVzYWMxNlJhbnNhY091dHB1dEltcGxFAE4yY3Y0dXNhYzEyUmFuc2FjT3V0cHV0RQAAADxqAgAVhAEAUCIBADxqAgD4gwEAMIQBAAAAAACshAEAMwYAADQGAAA1BgAAjAMAADYGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM5TW9kZWxJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZIQBAMRlAgAAAAAAJIYBADcGAAA4BgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAOQYAADoGAAA7BgAAPAYAAD0GAAA+BgAAPwYAAEAGAABBBgAAQgYAAEMGAABEBgAARQYAAEYGAABHBgAASAYAAEkGAABKBgAASwYAAEwGAABNBgAATgYAAE8GAABQBgAAUQYAAFIGAABTBgAAVAYAAFUGAABWBgAAVwYAAFgGAABZBgAAWgYAAFsGAABcBgAAXQYAAF4GAABfBgAAYAYAAGEGAABiBgAAYwYAAGQGAABlBgAAZgYAAGcGAABoBgAAaQYAAGoGAABrBgAAbAYAAG0GAABuBgAAbwYAAHAGAABxBgAARXN0aW1hdG9yIGhhcyBub3QgaW1wbGVtZW50ZWQgeWV0IQBNb2RlbEltcGwATjJjdjR1c2FjOU1vZGVsSW1wbEUATjJjdjR1c2FjNU1vZGVsRQAAPGoCAAaGAQBQIgEAPGoCAPGFAQAYhgEATjJjdjR1c2FjN1NhbXBsZXJFAAA8agIAMIYBAFAiAQBOMmN2NHVzYWMxM1Byb3NhY1NhbXBsZXJFAAAAPGoCAFCGAQBEhgEAAAAAAOiGAQByBgAAcwYAAHQGAACMAwAAdQYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE4VW5pZm9ybVNhbXBsZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgCUhgEAxGUCAAAAAABwhwEAdgYAAHcGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAB4BgAAeQYAAHoGAABOMmN2NHVzYWMxOFVuaWZvcm1TYW1wbGVySW1wbEUATjJjdjR1c2FjMTRVbmlmb3JtU2FtcGxlckUAAAA8agIAR4cBAESGAQA8agIAKIcBAGSHAQBzYW1wbGVfc2l6ZSA8PSBwb2ludHNfc2l6ZV8Ac2V0UG9pbnRzU2l6ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9zYW1wbGVyLmNwcABzYW1wbGVfc2l6ZV8gPD0gcG9pbnRzX3NpemVfAHNldE5ld1BvaW50c1NpemUAAAAAAAAAcIgBAHsGAAB8BgAAfQYAAIwDAAB+BgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTdQcm9zYWNTYW1wbGVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAByIAQDEZQIAAAAAAOyIAQB/BgAAgAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEGAACCBgAAgwYAAIQGAACFBgAAhgYAAFByb3NhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3UHJvc2FjU2FtcGxlckltcGxFADxqAgDOiAEAbIYBAENoYW5naW5nIHBvaW50cyBzaXplIGluIFBST1NBQyByZXF1aXJlcyB0byBjaGFuZ2UgYWxzbyB0ZXJtaW5hdGlvbiBjcml0ZXJpYSEgVXNlIFBST1NBQyBzaW1wbGVyIHZlcnNpb24AAAAAANSJAQCHBgAAiAYAAIkGAACMAwAAigYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIAfIkBAMRlAgAAAAAAeIoBAIsGAACMBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAjQYAAI4GAACPBgAAUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsAE4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRQBOMmN2NHVzYWMxN1Byb2dyZXNzaXZlTmFwc2FjRQAAADxqAgBMigEARIYBADxqAgAqigEAbIoBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIFAtTkFQU0FDIQAAAAAAAFCLAQCQBgAAkQYAAJIGAACMAwAAkwYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgD8igEAxGUCAAAAAAAEjAEAlAYAAJUGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACWBgAAlwYAAJgGAABwb2ludHNfc2l6ZV8gPj0gc2FtcGxlX3NpemVfAE5hcHNhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFAE4yY3Y0dXNhYzEzTmFwc2FjU2FtcGxlckUAADxqAgDdiwEARIYBADxqAgC/iwEA+IsBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIE5BUFNBQyEAAAAAAAAAAOiMAQCZBgAAmgYAAJsGAACMAwAAnAYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgCIjAEAxGUCAAAAAACwjQEAWQQAAJ0GAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACeBgAAnwYAAE4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjdTdGFuZGFyZFRlcm1pbmF0aW9uQ3JpdGVyaWFFAE4yY3Y0dXNhYzE5VGVybWluYXRpb25Dcml0ZXJpYUUAPGoCAHiNAQBQIgEAPGoCAFCNAQCYjQEAPGoCACSNAQCkjQEAAAAAACyOAQCgBgAAoQYAAKIGAACMAwAAowYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDYjQEAxGUCAAAAAACwjgEAWQQAAKQGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAClBgAApgYAAE4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEUATjJjdjR1c2FjMTVTUFJUVGVybWluYXRpb25FADxqAgCIjgEAmI0BADxqAgBojgEApI4BAAAAAAA0jwEApwYAAKgGAACpBgAAjAMAAKoGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNlNQUlRQTmFwc2FjVGVybWluYXRpb25JbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgDYjgEAxGUCAAAAAADIjwEAqwYAAKwGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACtBgAArgYAAE4yY3Y0dXNhYzI2U1BSVFBOYXBzYWNUZXJtaW5hdGlvbkltcGxFAE4yY3Y0dXNhYzIyU1BSVFBOYXBzYWNUZXJtaW5hdGlvbkUAAAA8agIAl48BAJiNAQA8agIAcI8BALyPAQAAAAAAUJABAK8GAACwBgAAsQYAAIwDAACyBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAPCPAQDEZQIAAAAAAOiQAQCzBgAAtAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAALUGAAC2BgAATjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjVQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhRQA8agIAtpABAJiNAQA8agIAjJABANyQAQBhbGdvcml0aG0AdHJlZXMAYnJhbmNoaW5nAGl0ZXJhdGlvbnMAY2VudGVyc19pbml0AHRhcmdldF9wcmVjaXNpb24AYnVpbGRfd2VpZ2h0AG1lbW9yeV93ZWlnaHQAc2FtcGxlX2ZyYWN0aW9uAGxlYWZfc2l6ZQB0YWJsZV9udW1iZXIAbXVsdGlfcHJvYmVfbGV2ZWwAY2hlY2tzAGVwcwBzb3J0ZWQAZXhwbG9yZV9hbGxfdHJlZXMAAAAAAADMkwEA3QYAAN4GAADfBgAA4AYAAOEGAADiBgAA4wYAAOQGAABVbmtub3duL3Vuc3VwcG9ydGVkIGRpc3RhbmNlIHR5cGUAYnVpbGQAL3NyYy9tb2R1bGVzL2ZsYW5uL3NyYy9taW5pZmxhbm4uY3BwAHJlbGVhc2UAa25uU2VhcmNoAG1heFJlc3VsdHMgPiAwAHJhZGl1c1NlYXJjaABMU0ggaW5kZXggZG9lcyBub3Qgc3VwcG9ydCByYWRpdXNTZWFyY2ggb3BlcmF0aW9uAHdiAENhbiBub3Qgb3BlbiBmaWxlICVzIGZvciB3cml0aW5nIEZMQU5OIGluZGV4CgBzYXZlAHJiAFJlYWRpbmcgRkxBTk4gaW5kZXggZXJyb3I6IHRoZSBzYXZlZCBkYXRhIHNpemUgKCVkLCAlZCkgb3IgdHlwZSAoJWQpIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwYXNzZWQgb25lICglZCwgJWQpLCAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZmVhdHVyZSB0eXBlICVkIGZvciB0aGUgaW5kZXggdHlwZSAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlzdGFuY2UgdHlwZSAlZAoATjJjdjVmbGFubjVJbmRleEUAABRqAgC5kwEASW52YWxpZCBpbmRleCBmaWxlLCBjYW5ub3QgcmVhZABON2N2Zmxhbm4xNEZMQU5ORXhjZXB0aW9uRQAAPGoCAPSTAQDU7QAARkxBTk5fSU5ERVgASW52YWxpZCBpbmRleCBmaWxlLCB3cm9uZyBzaWduYXR1cmUAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9nZW5lcmFsLmgAAAAAAAAQlAEA4wMAAOUGAADnAwAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBB4KkGC9MZuJUBAOYGAADnBgAA6AYAAOkGAADqBgAA6wYAAOwGAADtBgAA7gYAAO8GAADwBgAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TMF85ZW1wdHlfYW55RUVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJTlMwXzllbXB0eV9hbnlFRUUATjdjdmZsYW5uN2FueWltcGwxNWJhc2VfYW55X3BvbGljeUUAABRqAgB/lQEAPGoCAESVAQCklQEAPGoCABCVAQCslQEATjdjdmZsYW5uN2FueWltcGw5ZW1wdHlfYW55RQAAAAAUagIAxJUBAFtlbXB0eV9hbnldAAAAAACQlgEA8QYAAPIGAADzBgAA9AYAAPUGAAD2BgAA9wYAAPgGAAD5BgAA7wYAAPoGAABON2N2Zmxhbm43YW55aW1wbDE2c21hbGxfYW55X3BvbGljeUlpRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlpRUUAAAAAPGoCAFSWAQCklQEAPGoCACyWAQCElgEAAAAAADSXAQD7BgAA/AYAAP0GAAD+BgAA/wYAAAAHAAABBwAAAgcAAAMHAADvBgAABAcAAE43Y3ZmbGFubjdhbnlpbXBsMTZzbWFsbF9hbnlfcG9saWN5SWZFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWZFRQAAAAA8agIA+JYBAKSVAQA8agIA0JYBACiXAQAAAAAA2JcBAAUHAAAGBwAABwcAAAgHAAAJBwAACgcAAAsHAAAMBwAADQcAAO8GAAAOBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJYkVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJYkVFAAAAADxqAgCclwEApJUBADxqAgB0lwEAzJcBAAAAAACkmAEADwcAABAHAAARBwAAEgcAABMHAAAUBwAAFQcAABYHAAAXBwAA7wYAABgHAABON2N2Zmxhbm43YW55aW1wbDE0YmlnX2FueV9wb2xpY3lJTlNfMTdmbGFubl9hbGdvcml0aG1fdEVFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SU5TXzE3Zmxhbm5fYWxnb3JpdGhtX3RFRUUAADxqAgBUmAEApJUBADxqAgAYmAEAmJgBAE43Y3ZmbGFubjE3Zmxhbm5fYWxnb3JpdGhtX3RFAAAAyGkCALCYAQAAAAAAoJkBABkHAAAaBwAAGwcAABwHAAAdBwAAHgcAAB8HAAAgBwAAIQcAAO8GAAAiBwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TXzIwZmxhbm5fY2VudGVyc19pbml0X3RFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU18yMGZsYW5uX2NlbnRlcnNfaW5pdF90RUVFAAAAADxqAgBLmQEApJUBADxqAgAMmQEAlJkBAE43Y3ZmbGFubjIwZmxhbm5fY2VudGVyc19pbml0X3RFAAAAAMhpAgCsmQEAAAAAAOyaAQAjBwAAJAcAACUHAAAmBwAAJwcAACgHAAApBwAAKgcAACsHAADvBgAALAcAAE43Y3ZmbGFubjdhbnlpbXBsMTRiaWdfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUAAAAAPGoCAHGaAQCklQEAPGoCAAyaAQDgmgEATjdjdmZsYW5uN2FueWltcGwxMmJhZF9hbnlfY2FzdEUAAAAAFGoCAPiaAQAAAAAAuJsBAC0HAAAuBwAALwcAADAHAAAxBwAAMgcAADMHAAA0BwAANQcAAO8GAAA2BwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SWRFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWRFRQAAPGoCAH6bAQCklQEAPGoCAFibAQCsmwEAdHlwZT0lZAoAYnVpbGRJbmRleF8AT25seSBjb250aW51b3VzIGFycmF5cyBhcmUgc3VwcG9ydGVkAAAAAAAAAIycAQA3BwAAOAcAADkHAAA6BwAAOwcAADwHAAA9BwAAPgcAAD8HAABABwAAQQcAAEIHAABDBwAATjdjdmZsYW5uNUluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18xMEhhbW1pbmdMVVRFRUUAFGoCAF+cAQA8agIAPJwBAIScAQBxdWVyaWVzLmNvbHMgPT0gdmVjbGVuKCkAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9ubl9pbmRleC5oAGluZGljZXMucm93cyA+PSBxdWVyaWVzLnJvd3MAZGlzdHMucm93cyA+PSBxdWVyaWVzLnJvd3MAaW50KGluZGljZXMuY29scykgPj0ga25uAGludChkaXN0cy5jb2xzKSA+PSBrbm4AAAAAAAAAAOidAQBEBwAARQcAAEYHAABHBwAASAcAAEkHAABKBwAASwcAAE43Y3ZmbGFubjE4S05OVW5pcXVlUmVzdWx0U2V0SWlFRQBON2N2Zmxhbm4xNVVuaXF1ZVJlc3VsdFNldElpRUUATjdjdmZsYW5uOVJlc3VsdFNldElpRUUAAAAAFGoCALmdAQA8agIAmp0BANSdAQA8agIAeJ0BANydAQAAAAAA3J0BAEQHAABMBwAARgcAAOoDAABIBwAA6gMAAEoHAABLBwAASSBjYW4gb25seSBzZWFyY2ggb25lIGZlYXR1cmUgYXQgYSB0aW1lIGZvciByYW5nZSBzZWFyY2gKAHF1ZXJ5LmNvbHMgPT0gdmVjbGVuKCkAaW5kaWNlcy5jb2xzID09IGRpc3RzLmNvbHMAAAAAANieAQBEBwAATQcAAE4HAABPBwAAUAcAAFEHAABKBwAASwcAAE43Y3ZmbGFubjIxUmFkaXVzVW5pcXVlUmVzdWx0U2V0SWlFRQAAAAA8agIAsJ4BANydAQBNaXNzaW5nIHBhcmFtZXRlciAnACcgaW4gdGhlIHBhcmFtZXRlcnMgZ2l2ZW4ARGF0YXR5cGUgb2Ygc2F2ZWQgaW5kZXggaXMgZGlmZmVyZW50IHRoYW4gb2YgdGhlIG9uZSB0byBiZSBjcmVhdGVkLgBUaGUgaW5kZXggc2F2ZWQgYmVsb25ncyB0byBhIGRpZmZlcmVudCBkYXRhc2V0AFVua25vd24gaW5kZXggdHlwZQAAAAAAAKABAFIHAABTBwAAVAcAAFUHAABWBwAAVwcAAFgHAABZBwAAWgcAAFsHAABcBwAAXQcAAF4HAABON2N2Zmxhbm4xMUxpbmVhckluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQAAADxqAgDUnwEAhJwBAAAAAAAAAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIAAAAAKihAQBfBwAAYAcAAGEHAABVBwAAVgcAAGIHAABjBwAAZAcAAGUHAABmBwAAZwcAAGgHAABpBwAAVW5rbm93biBhbGdvcml0aG0gZm9yIGNob29zaW5nIGluaXRpYWwgY2VudGVycy4ATjdjdmZsYW5uMTFLTWVhbnNJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAfKEBAIScAQBBwcMGC8ZOAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIQnJhbmNoaW5nIGZhY3RvciBtdXN0IGJlIGF0IGxlYXN0IDIARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeS4KAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAAAAXKQBAF8DAABqBwAAawcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMTBIYW1taW5nTFVURUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJUFBoRUUAADxqAgAUpAEAqK4AAENhbm5vdCByZWFkIGZyb20gZmlsZQByZXN1bHQuZnVsbCgpAGZpbmROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rbWVhbnNfaW5kZXguaAAAAPCkAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+LCBIYXNoYWJsZVQgPSBpbnRdAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vaGVhcC5oAEZhaWxlZCB0byBpbnNlcnQgdGhlIGhlYXAgaW50byBpdHMgbWVtb3J5IHBvb2wAc3RhdGljX2Nhc3Q8aW50PihlbXBsYWNlUmVzdWx0LnNlY29uZCkAMQDwpAEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAQ2Fubm90IG1vZGlmeSBhIGhlYXAgdGhhdCBpcyBjdXJyZW50bHkgYWNjZXNzZWQgYnkgYW5vdGhlciBjYWxsZXIAaGVhcEl0LT5zZWNvbmQuaGVhcFB0ci51c2VfY291bnQoKQBjbGVhbnVwSXQgIT0gaGVhcEl0AGdldFBvb2xlZEluc3RhbmNlAAAAAAAA6KcBAGwHAABtBwAAbgcAAIwDAABvBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLTWVhbnNJbmRleElOUzFfMTBIYW1taW5nTFVURUUxMEtNZWFuc05vZGVFaUVFRUVOU185YWxsb2NhdG9ySVNBX0VFRUUAAAAAPGoCAFinAQDEZQIAAAAAAGyoAQBwBwAAcQcAAHIHAABVBwAAVgcAAHMHAAB0BwAAdQcAAHYHAAB3BwAAeAcAAHkHAAB6BwAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMTBIYW1taW5nTFVURUVFAAAAPGoCADCoAQCEnAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9oaWVyYXJjaGljYWxfY2x1c3RlcmluZ19pbmRleC5oAAAAAOCoAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6SGFtbWluZ0xVVD46Ok5vZGUgKiwgaW50Pj46OmdldFBvb2xlZEluc3RhbmNlKGNvbnN0IEhhc2hhYmxlVCAmLCBjb25zdCBpbnQsIGludCkgW1QgPSBjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkhhbW1pbmdMVVQ+OjpOb2RlICosIGludD4sIEhhc2hhYmxlVCA9IGludF0A4KgBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAADgqgEAewcAAHwHAAB9BwAAjAMAAH4HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8yN0hpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleElOUzFfMTBIYW1taW5nTFVURUU0Tm9kZUVpRUVFRU5TXzlhbGxvY2F0b3JJU0FfRUVFRQAAADxqAgBIqgEAxGUCAAAAAABQqwEAfwcAAIAHAACBBwAAggcAAFYHAACDBwAAhAcAAIUHAACGBwAAhwcAAIgHAACJBwAAigcAAE43Y3ZmbGFubjhMc2hJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAKKsBAIScAQBJbnZhbGlkIGtleV9zaXplICg9JWQpLiBWYWxpZCB2YWx1ZXMgZm9yIHlvdXIgc3lzdGVtIGFyZSAlZCA8PSBrZXlfc2l6ZSA8ICVkLgBpbml0aWFsaXplAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vbHNoX3RhYmxlLmgAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9sc2hfaW5kZXguaAAAAAAAAKCsAQCLBwAAjAcAAI0HAACOBwAAjwcAAJAHAACRBwAAkgcAAJMHAACUBwAAlQcAAJYHAACXBwAATjdjdmZsYW5uNUluZGV4SU5TXzJMMklmRUVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18yTDJJZkVFRUUAFGoCAHmsAQA8agIAXKwBAJisAQAAAAAARK0BAJgHAACZBwAAmgcAAJsHAACcBwAAnQcAAJ4HAACfBwAATjdjdmZsYW5uMThLTk5VbmlxdWVSZXN1bHRTZXRJZkVFAE43Y3ZmbGFubjE1VW5pcXVlUmVzdWx0U2V0SWZFRQBON2N2Zmxhbm45UmVzdWx0U2V0SWZFRQAAAAAUagIAFa0BADxqAgD2rAEAMK0BADxqAgDUrAEAOK0BAAAAAAA4rQEAmAcAAKAHAACaBwAA6gMAAJwHAADqAwAAngcAAJ8HAAAAAAAAyK0BAJgHAAChBwAAogcAAKMHAACkBwAApQcAAJ4HAACfBwAATjdjdmZsYW5uMjFSYWRpdXNVbmlxdWVSZXN1bHRTZXRJZkVFAAAAADxqAgCgrQEAOK0BAAAAAAA0rgEApgcAAKcHAACoBwAAqQcAAKoHAACrBwAArAcAAK0HAACuBwAArwcAALAHAACxBwAAsgcAAE43Y3ZmbGFubjExTGluZWFySW5kZXhJTlNfMkwySWZFRUVFADxqAgAQrgEAmKwBAAAAAADArgEAswcAALQHAAC1BwAAtgcAAKoHAAC3BwAAuAcAALkHAAC6BwAAuwcAALwHAAC9BwAAvgcAAGRpbQBsZWFmX21heF9zaXplAHJlb3JkZXIATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDJJZkVFRUUAPGoCAJauAQCYrAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfc2luZ2xlX2luZGV4LmgAAAAAAABMrwEAvwcAAMAHAADBBwAAwgcAAMMHAABON2N2Zmxhbm4xOEtOTlNpbXBsZVJlc3VsdFNldElmRUUAAAA8agIAKK8BADCtAQAAAAAAuK8BAMQHAADFBwAAxgcAAKkHAACqBwAAxwcAAMgHAADJBwAAygcAAMsHAADMBwAAzQcAAM4HAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFRQA8agIAlK8BAJisAQAAAAAAoLABAM8HAADQBwAA0QcAANIHAADTBwAA1AcAANUHAADWBwAA1wcAAO8GAADYBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUVFRQAAPGoCAEOwAQCklQEAPGoCAPivAQCUsAEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUUAAAAUagIAAbEBAPRqAgDXsAEAAAAAACyxAQD0agIArLABAAAAAAA0sQEASXQgZG9lc24ndCBtYWtlIGFueSBzZW5zZSB0byB1c2UgbW9yZSB0aGFuIG9uZSB0cmVlIGZvciBleGFjdCBzZWFyY2gAZ2V0RXhhY3ROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfaW5kZXguaABnZXROZWlnaGJvcnMADLIBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAAyyAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAA2LMBANkHAADaBwAA2wcAAIwDAADcBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwySWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAWLMBAMRlAgAAAAAARLQBAN0HAADeBwAA3wcAAKkHAACqBwAA4AcAAOEHAADiBwAA4wcAAOQHAADlBwAA5gcAAOcHAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMklmRUVFRQA8agIAILQBAJisAQAAAAAAsLQBAF8DAADoBwAA6QcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwySWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAZLQBAKiuAADYtAEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAA2LQBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAC4tgEA6gcAAOsHAADsBwAAjAMAAO0HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDJJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCADC2AQDEZQIAAAAAACi3AQDuBwAA7wcAAPAHAACpBwAAqgcAAPEHAADyBwAA8wcAAPQHAAD1BwAA9gcAAPcHAAD4BwAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDJJZkVFRUUAADxqAgAAtwEAmKwBAEJ1aWxkaW5nIGttZWFucyB0cmVlLi4uCgBCdWlsZGluZyBrZHRyZWUgdHJlZS4uLgoAAAAAAAAAzLcBAPkHAAD6BwAA+wcAAKkHAACqBwAA/AcAAP0HAAD+BwAA/wcAAAAIAAABCAAAAggAAAMIAABON2N2Zmxhbm4xNEF1dG90dW5lZEluZGV4SU5TXzJMMklmRUVFRQAAPGoCAKS3AQCYrAEALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAQXV0b3R1bmVkIHBhcmFtZXRlcnM6CgAlcwBTZWFyY2ggcGFyYW1ldGVyczoKAEVudGVyaW5nIGF1dG90dW5pbmcsIGRhdGFzZXQgc2l6ZTogJWQsIHNhbXBsZVNpemU6ICVkLCB0ZXN0U2FtcGxlU2l6ZTogJWQsIHRhcmdldCBwcmVjaXNpb246ICVnCgBDaG9vc2luZyBsaW5lYXIsIGRhdGFzZXQgdG9vIHNtYWxsCgBDb21wdXRpbmcgZ3JvdW5kIHRydXRoLi4uIAoAQXV0b3R1bmluZyBwYXJhbWV0ZXJzLi4uCgBLTUVBTlMsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS01lYW5zVHJlZSB1c2luZyBwYXJhbXM6IG1heF9pdGVyYXRpb25zPSVkLCBicmFuY2hpbmc9JWQKAEtNZWFuc1RyZWUgYnVpbGRUaW1lPSVnLCBzZWFyY2hUaW1lPSVnLCBidWlsZF93ZWlnaHQ9JWcKACAgTm9kZXMgIFByZWNpc2lvbiglKSAgIFRpbWUocykgICBUaW1lL3ZlYyhtcykgIE1lYW4gZGlzdAoALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBHb3QgYXMgY2xvc2UgYXMgSSBjYW4KAFN0YXJ0IGxpbmVhciBlc3RpbWF0aW9uCgBObyBuZWVkIGZvciBsaW5lYXIgZXN0aW1hdGlvbgoAbWF0Y2hlcy5jb2xzPSVkLCBubj0lZAoAR3JvdW5kIHRydXRoIGlzIG5vdCBjb21wdXRlZCBmb3IgYXMgbWFueSBuZWlnaGJvcnMgYXMgcmVxdWVzdGVkACU4ZCAlMTAuNGcgJTEwLjVnICUxMC41ZyAlMTAuNWcKAAAAAAAADLsBAL8HAAAECAAABQgAAAYIAAAHCAAATjdjdmZsYW5uMTJLTk5SZXN1bHRTZXRJZkVFADxqAgDwugEAMK0BAEtELVRSRUUsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS0RUcmVlIHVzaW5nIHBhcmFtczogdHJlZXM9JWQKAEtEVHJlZSBidWlsZFRpbWU9JWcsIHNlYXJjaFRpbWU9JWcKACA6IABiZXN0SW5kZXhfICE9IE5VTEwgJiYgIlJlcXVpcmVzIGEgdmFsaWQgaW5kZXgiAGVzdGltYXRlU2VhcmNoUGFyYW1zAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vYXV0b3R1bmVkX2luZGV4LmgAQ29tcHV0aW5nIGdyb3VuZCB0cnV0aAoARXN0aW1hdGluZyBudW1iZXIgb2YgY2hlY2tzCgBLTWVhbnMgYWxnb3JpdGhtLCBlc3RpbWF0aW5nIGNsdXN0ZXIgYm9yZGVyIGZhY3RvcgoAT3B0aW11bSBjYl9pbmRleDogJWcKAFJlcXVpcmVkIG51bWJlciBvZiBjaGVja3M6ICVkIAoAAAAAAAAAABy9AQAICAAACQgAAAoIAACpBwAAqgcAAAsIAAAMCAAADQgAAA4IAAAPCAAAEAgAABEIAAASCAAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMkwySWZFRUVFADxqAgDovAEAmKwBAES9AQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OkhpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAES9AQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAQL8BABMIAAAUCAAAFQgAAIwDAAAWCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlMxXzJMMklmRUVFNE5vZGVFZkVFRUVOU185YWxsb2NhdG9ySVNCX0VFRUUAPGoCALC+AQDEZQIAAAAAAKi/AQAXCAAAGAgAABkIAAAaCAAAqgcAABsIAAAcCAAAHQgAAB4IAAAfCAAAIAgAACEIAAAiCAAATjdjdmZsYW5uOExzaEluZGV4SU5TXzJMMklmRUVFRQA8agIAiL8BAJisAQBMU0ggaXMgbm90IGltcGxlbWVudGVkIGZvciB0aGF0IHR5cGUATHNoVGFibGUAZ2V0S2V5AAAAAAAAAABswAEAIwgAACQIAAAlCAAAJggAACcIAAAoCAAAKQgAACoIAAArCAAALAgAAC0IAAAuCAAALwgAAE43Y3ZmbGFubjVJbmRleElOU18yTDFJZkVFRUUATjdjdmZsYW5uN05OSW5kZXhJTlNfMkwxSWZFRUVFABRqAgBFwAEAPGoCACjAAQBkwAEAAAAAANjAAQAwCAAAMQgAADIIAAAzCAAANAgAADUIAAA2CAAANwgAADgIAAA5CAAAOggAADsIAAA8CAAATjdjdmZsYW5uMTFMaW5lYXJJbmRleElOU18yTDFJZkVFRUUAPGoCALTAAQBkwAEAAAAAAEzBAQA9CAAAPggAAD8IAABACAAANAgAAEEIAABCCAAAQwgAAEQIAABFCAAARggAAEcIAABICAAATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDFJZkVFRUUAAAA8agIAIMEBAGTAAQAAAAAAuMEBAEkIAABKCAAASwgAADMIAAA0CAAATAgAAE0IAABOCAAATwgAAFAIAABRCAAAUggAAFMIAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFRQA8agIAlMEBAGTAAQAAAAAAoMIBAFQIAABVCAAAVggAAFcIAABYCAAAWQgAAFoIAABbCAAAXAgAAO8GAABdCAAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUVFRQAAPGoCAEPCAQCklQEAPGoCAPjBAQCUwgEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUUAAAAUagIAAcMBAPRqAgDXwgEAAAAAACzDAQD0agIArMIBAAAAAAA0wwEAcMMBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMTxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAHDDAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAPMUBAF4IAABfCAAAYAgAAIwDAABhCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwxSWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAvMQBAMRlAgAAAAAAqMUBAGIIAABjCAAAZAgAADMIAAA0CAAAZQgAAGYIAABnCAAAaAgAAGkIAABqCAAAawgAAGwIAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMUlmRUVFRQA8agIAhMUBAGTAAQAAAAAAFMYBAF8DAABtCAAAbggAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwxSWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAyMUBAKiuAAA8xgEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAAPMYBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAAcyAEAbwgAAHAIAABxCAAAjAMAAHIIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDFJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCAJTHAQDEZQIAAAAAAIzIAQBzCAAAdAgAAHUIAAAzCAAANAgAAHYIAAB3CAAAeAgAAHkIAAB6CAAAewgAAHwIAAB9CAAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDFJZkVFRUUAADxqAgBkyAEAZMABAAAAAAD8yAEAfggAAH8IAACACAAAMwgAADQIAACBCAAAgggAAIMIAACECAAAhQgAAIYIAACHCAAAiAgAAE43Y3ZmbGFubjE0QXV0b3R1bmVkSW5kZXhJTlNfMkwxSWZFRUVFAAA8agIA1MgBAGTAAQBBkJIHCyIBAAAABQAAAAoAAAAPAAAAEAAAACAAAABAAAAAgAAAAAABAEHAkgcLyQgBAAAABAAAAAgAAAAQAAAAIAAAAAAAAADEyQEAiQgAAIoIAACLCAAAMwgAADQIAACMCAAAjQgAAI4IAACPCAAAkAgAAJEIAACSCAAAkwgAAE43Y3ZmbGFubjI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TXzJMMUlmRUVFRQA8agIAkMkBAGTAAQDsyQEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4sIEhhc2hhYmxlVCA9IGludF0AAADsyQEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAAAAAAOjLAQCUCAAAlQgAAJYIAACMAwAAlwgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU43Y3ZmbGFubjRIZWFwSU5TMV8xMkJyYW5jaFN0cnVjdElQTlMxXzI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TMV8yTDFJZkVFRTROb2RlRWZFRUVFTlNfOWFsbG9jYXRvcklTQl9FRUVFADxqAgBYywEAxGUCAAAAAABQzAEAmAgAAJkIAACaCAAAmwgAADQIAACcCAAAnQgAAJ4IAACfCAAAoAgAAKEIAACiCAAAowgAAE43Y3ZmbGFubjhMc2hJbmRleElOU18yTDFJZkVFRUUAPGoCADDMAQBkwAEAKHNpemVfdClrbm4gPD0gaW5kZXhfLT5zaXplKCkAcnVuS25uU2VhcmNoXwBxdWVyeS50eXBlKCkgPT0gdHlwZSAmJiBpbmRpY2VzLnR5cGUoKSA9PSBDVl8zMlMgJiYgZGlzdHMudHlwZSgpID09IGR0eXBlAHF1ZXJ5LmlzQ29udGludW91cygpICYmIGluZGljZXMuaXNDb250aW51b3VzKCkgJiYgZGlzdHMuaXNDb250aW51b3VzKCkAcnVuUmFkaXVzU2VhcmNoXwAxLjYuMTAARGF0YVR5cGU8RWxlbWVudFR5cGU+Ojp0eXBlID09IGRhdGEudHlwZSgpICYmIGRhdGEuaXNDb250aW51b3VzKCkAbG9hZEluZGV4XwAAAAEAAAADAAAABABBlJsHCwECAEGgmwcL82QFAAAAAAAAAIjSAQCkCAAApQgAAKYIAABpbWFnZUNvdW50ID4gMABzZXQAL3NyYy9tb2R1bGVzL2ZlYXR1cmVzMmQvc3JjL21hdGNoZXJzLmNwcABkaW0gPiAwAGRlc2NyaXB0b3JzW2ldLmNvbHMgPT0gZGltICYmIGRlc2NyaXB0b3JzW2ldLnR5cGUoKSA9PSB0eXBlAChnbG9iYWxEZXNjSWR4Pj0wKSAmJiAoZ2xvYmFsRGVzY0lkeCA8IHNpemUoKSkAZ2V0TG9jYWxJZHgAAAAAAABM0gEApwgAAKgIAACpCAAAqggAAKsIAACsCAAAXwQAAGAEAACtCAAA6gMAAK4IAADqAwAA6gMAAOoDAABfZGVzY3JpcHRvcnMuaXNVTWF0KCkgfHwgX2Rlc2NyaXB0b3JzLmlzVU1hdFZlY3RvcigpIHx8IF9kZXNjcmlwdG9ycy5pc01hdCgpIHx8IF9kZXNjcmlwdG9ycy5pc01hdFZlY3RvcigpAGFkZABtYXNrcy5zaXplKCkgPT0gaW1hZ2VDb3VudABjaGVja01hc2tzAG1hc2tzW2ldLnR5cGUoKSA9PSBDVl84VUMxICYmIG1hc2tzW2ldLnJvd3MgPT0gcXVlcnlEZXNjcmlwdG9yc0NvdW50ICYmIG1hc2tzW2ldLmNvbHMgPT0gcm93cwBtYXhEaXN0YW5jZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjplcHNpbG9uKCkAcmFkaXVzTWF0Y2gAAAAAAACs0gEArwgAALAIAACxCAAAsggAALMIAACsCAAAXwQAAGAEAAC0CAAAtQgAALYIAAC3CAAAuAgAALkIAABfaW5kZXhQYXJhbXMARmxhbm5CYXNlZE1hdGNoZXIAX3NlYXJjaFBhcmFtcwB0cmFpbkRlc2NDb2xsZWN0aW9uLnNpemUoKSA9PSAwAHRyYWluAGluZGV4UGFyYW1zAGlwLnR5cGUoKSA9PSBGaWxlTm9kZTo6U0VRAHJlYWQAaXBbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAbmFtZQB0eXBlAADs0AEAy80BAKkEAAADAAAAK9EBACzRAQA20QEAdmlydHVhbCB2b2lkIGN2OjpGbGFubkJhc2VkTWF0Y2hlcjo6cmVhZChjb25zdCBjdjo6RmlsZU5vZGUgJikAAChpbnQpdHlwZQAoaW50KUxBU1RfVkFMVUVfRkxBTk5fSU5ERVhfVFlQRQB2YWx1ZQBzZWFyY2hQYXJhbXMAc3AudHlwZSgpID09IEZpbGVOb2RlOjpTRVEAc3BbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAAOzQAQDLzQEA0gQAAAMAAAAr0QEALNEBADbRAQBkZWVwIGNsb25lIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGltcGxlbWVudGVkLCBiZWNhdXNlIEZsYW5uOjpJbmRleCBoYXMgbm90IGNvcHkgY29uc3RydWN0b3Igb3IgY2xvbmUgbWV0aG9kIABjbG9uZQBOMmN2MTdEZXNjcmlwdG9yTWF0Y2hlckUAADxqAgAy0gEAUCIBAE4yY3YxN0Rlc2NyaXB0b3JNYXRjaGVyMjBEZXNjcmlwdG9yQ29sbGVjdGlvbkUAABRqAgBY0gEATjJjdjE3Rmxhbm5CYXNlZE1hdGNoZXJFAAAAADxqAgCQ0gEATNIBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGTTAQC6CAAAuwgAALwIAACMAwAAvQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxN0ZsYW5uQmFzZWRNYXRjaGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQA8agIAGNMBAMRlAgAAAAAA1NMBAL4IAAC/CAAAwAgAAIwDAADBCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjVJbmRleEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAIzTAQDEZQIAAAAAAEjUAQDCCAAAwwgAAMQIAACMAwAAxQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMUluZGV4UGFyYW1zRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA/NMBAMRlAgBObyBlbGVtZW50IG5hbWUgaGFzIGJlZW4gZ2l2ZW4Ab3BlcmF0b3I8PAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9wZXJzaXN0ZW5jZS5ocHAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAAAdNUBAMYIAADHCAAAyAgAAIwDAADJCAAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAGdUBAMRlAgAAAAAAUNYBAMoIAADLCAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAzAgAAM0IAADOCAAAzwgAANAIAADRCAAA0ggAANMIAADUCAAA1QgAAE4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFAE4yY3Y0dXNhYzIyVW5pZm9ybVJhbmRvbUdlbmVyYXRvckUATjJjdjR1c2FjMTVSYW5kb21HZW5lcmF0b3JFAAAAPGoCABrWAQBQIgEAPGoCAPfVAQA41gEAPGoCANDVAQBE1gEAeNYBAL/WAQDfAAAABQAAAOfWAQAI1wEACtcBAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGw6OnJlc2V0R2VuZXJhdG9yKGludCkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvdXRpbHMuY3BwAG1heCByYW5nZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwADAAbWF4X3JhbmdlXwAAAAA01wEAv9YBAOQAAAADAAAAk9cBAMfXAQDT1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmKQBSYW5kb21HZW5lcmF0b3IuIFN1YnNldCBzaXplIG11c3QgYmUgTEUgdGhhbiByYW5nZSEAc3Vic2V0X3NpemUAbWF4X3JhbmdlAAAAAPzXAQC/1gEACAEAAAMAAACT1wEAZdgBAArXAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlVuaWZvcm1SYW5kb21HZW5lcmF0b3JJbXBsOjpnZW5lcmF0ZVVuaXF1ZVJhbmRvbVNldChzdGQ6OnZlY3RvcjxpbnQ+ICYsIGludCwgaW50KQBzdWJzZXRfc2l6ZV8AAACQ2AEAv9YBAPoAAAADAAAAk9cBAMfXAQAK1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpABDZAQC/1gEAFAEAAAMAAACT1wEAx9cBAIrZAQB2aXJ0dWFsIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJmN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TdWJzZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpAHNpemUxAAAAAAAQ2gEA1ggAANcIAADYCAAAjAMAANkIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzM1JhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAKzZAQDEZQIAAAAAABTbAQDaCAAA2wgAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANwIAABjb250YWluZXJfLnR5cGUoKSA9PSBDVl8zMkYAUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsAE4yY3Y0dXNhYzMzUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyOVJhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoRQBOMmN2NHVzYWMxN05laWdoYm9yaG9vZEdyYXBoRQA8agIA3toBAFAiAQA8agIAtNoBAPzaAQA8agIAhtoBAAjbAQAAAAAAkNsBAN0IAADeCAAA3wgAAIwDAADgCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjE3S0RUcmVlSW5kZXhQYXJhbXNFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADzbAQDEZQIAAAAAAAjcAQDhCAAA4ggAAOMIAACMAwAA5AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMlNlYXJjaFBhcmFtc0VOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALjbAQDEZQIAAAAAAIzcAQDlCAAA5ggAAOcIAACMAwAA6AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2Rmxhbm5OZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADDcAQDEZQIAAAAAAFzdAQDpCAAA6ggAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOsIAADsCAAAa19uZWFyZXN0X25laWdoYm9ycyA8PSBwb2ludHNfc2l6ZQBGbGFubk5laWdoYm9yaG9vZEdyYXBoSW1wbABOMmN2NHVzYWMyNkZsYW5uTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMkZsYW5uTmVpZ2hib3Job29kR3JhcGhFADxqAgAt3QEA/NoBADxqAgAG3QEAUN0BAAAAAADg3QEA7QgAAO4IAADvCAAAjAMAAPAIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNUdyaWROZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgCE3QEAxGUCAAAAAABs3gEA8QgAAPIIAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzCAAATjJjdjR1c2FjMjVHcmlkTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMUdyaWROZWlnaGJvcmhvb2RHcmFwaEUAPGoCAD7eAQD82gEAPGoCABjeAQBg3gEAY24gPT0gMQBtZWFuU2hpZnQA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BwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAA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AAgAGgAIAJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0ACAAtAAgArQAIAG0ACADtAAgAHQAIAJ0ACABdAAgA3QAIAD0ACAC9AAgAfQAIAP0ACAATAAkAEwEJAJMACQCTAQkAUwAJAFMBCQDTAAkA0wEJADMACQAzAQkAswAJALMBCQBzAAkAcwEJAPMACQDzAQkACwAJAAsBCQCLAAkAiwEJAEsACQBLAQkAywAJAMsBCQArAAkAKwEJAKsACQCrAQkAawAJAGsBCQDrAAkA6wEJABsACQAbAQkAmwAJAJsBCQBbAAkAWwEJANsACQDbAQkAOwAJADsBCQC7AAkAuwEJAHsACQB7AQkA+wAJAPsBCQAHAAkABwEJAIcACQCHAQkARwAJAEcBCQDHAAkAxwEJACcACQAnAQkApwAJAKcBCQBnAAkAZwEJAOcACQDnAQkAFwAJABcBCQCXAAkAlwEJAFcACQBXAQkA1wAJANcBCQA3AAkANwEJALcACQC3AQkAdwAJAHcBCQD3AAkA9wEJAA8ACQAPAQkAjwAJAI8BCQBPAAkATwEJAM8ACQDPAQkALwAJAC8BCQCvAAkArwEJAG8ACQBvAQkA7wAJAO8BCQAfAAkAHwEJAJ8ACQCfAQkAXwAJAF8BCQDfAAkA3wEJAD8ACQA/AQkAvwAJAL8BCQB/AAkAfwEJAP8ACQD/AQkAAAAHAEAABwAgAAcAYAAHABAABwBQAAcAMAAHAHAABwAIAAcASAAHACgABwBoAAcAGAAHAFgABwA4AAcAeAAHAAQABwBEAAcAJAAHAGQABwAUAAcAVAAHADQABwB0AAcAAwAIAIMACABDAAgAwwAIACMACACjAAgAYwAIAOMACAAAAAUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQBB0KgIC00BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQBBwKkIC2UBAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABAAAAAUAAAAFAAAABgAAAAYAAAAHAAAABwAAAAgAAAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQBB8KoICyMCAAAAAwAAAAcAAAAAAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBBpKsIC2kBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQaSsCAuzDAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3RyZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAmBYCAKgWAgCzFgIAtBYCAL8WAgDMFgIA1xYCAOsWAgD4FgIAsxYCAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAACYagIAThoCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAmGoCAKgaAgAAAAAAAQAAAExeAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAACYagIAABsCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAJhqAgBcGwIAAAAAAAEAAABMXgAAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAFGoCALgbAgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAABRqAgDgGwIATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAUagIACBwCAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAFGoCADAcAgBB4LgIC1cZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQcC5CAuKDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5v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BhEAAAAREREAQbHhCAshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEHr4QgLAQwAQffhCAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGl4ggLAQ4AQbHiCAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHf4ggLARAAQeviCAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGi4wgLDhIAAAASEhIAAAAAAAAJAEHT4wgLAQsAQd/jCAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEGN5AgLAQwAQZnkCAvtAgwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRi0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgAAAADQqAIAaKkCAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAaW5maW5pdHkAbmFuAEGQ5wgLwwHRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///9jbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwAAAAAAAAAAEg0AgAPBgAAAwkAAAQJAABOU3QzX18yMTdiYWRfZnVuY3Rpb25fY2FsbEUAPGoCACw0AgAUZwIAQeToCAvzDwIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8A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ANAJAABOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAAAJhqAgDYVwIAAAAAAAEAAAAgVwIAAAAAAJhqAgCUVwIAAAAAAAIAAABwUAIAAgAAAPBXAgBBrLAJC5sLCFkCANEJAADSCQAAUgkAANMJAADUCQAA1QkAANYJAADXCQAA2AkAANkJAAD4////CFkCANoJAADbCQAA3AkAAN0JAADeCQAA3wkAAOAJAABOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOXRpbWVfYmFzZUUAFGoCAMFYAgBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUAAAAUagIA3FgCAJhqAgB8WAIAAAAAAAMAAABwUAIAAgAAANRYAgACAAAAAFkCAAAIAAAAAAAA9FkCAOEJAADiCQAAUgkAAOMJAADkCQAA5QkAAOYJAADnCQAA6AkAAOkJAAD4////9FkCAOoJAADrCQAA7AkAAO0JAADuCQAA7wkAAPAJAABOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUAABRqAgDJWQIAmGoCAIRZAgAAAAAAAwAAAHBQAgACAAAA1FgCAAIAAADsWQIAAAgAAAAAAACYWgIA8QkAAPIJAABSCQAA8wkAAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAFGoCAHlaAgCYagIANFoCAAAAAAACAAAAcFACAAIAAACQWgIAAAgAAAAAAAAYWwIA9AkAAPUJAABSCQAA9gkAAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVF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TlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAAACYagIApGUCAAAAAAABAAAAnGUCAAAAAAByZWN1cnNpdmVfbXV0ZXggY29uc3RydWN0b3IgZmFpbGVkAHJlY3Vyc2l2ZV9tdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAc3RvdWxsADogbm8gY29udmVyc2lvbgAlcwoAOiBvdXQgb2YgcmFuZ2UAdmVjdG9yAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHRlcm1pbmF0aW5nAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBzdGQ6OmV4Y2VwdGlvbgAAAAAAFGcCADUKAAA2CgAANwoAAFN0OWV4Y2VwdGlvbgAAAAAUagIABGcCAAAAAABAZwIAnAEAADgKAAA5CgAAU3QxMWxvZ2ljX2Vycm9yADxqAgAwZwIAFGcCAAAAAAB0ZwIAnAEAADoKAAA5CgAAU3QxMmxlbmd0aF9lcnJvcgAAAAA8agIAYGcCAEBnAgBTdDl0eXBlX2luZm8AAAAAFGoCAIBnAgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAAA8agIAmGcCAJBnAgBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAAA8agIAyGcCALxnAgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAAA8agIA+GcCALxnAgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQA8agIAKGgCABxoAgBOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UAAAAAPGoCAFhoAgC8ZwIATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAAAAPGoCAIxoAgAcaAIAAAAAAAxpAgA7CgAAPAoAAD0KAAA+CgAAPwoAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQA8agIA5GgCALxnAgB2AAAA0GgCABhpAgBEbgAA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AABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME5lc3RlZE5hbWVFAAA8agIARH4CANh8AgA6OgBhdXRvAAAAAAD0fgIAYwoAAGQKAABlCgAAZgoAAGcKAABoCgAAVwoAAFgKAABpCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjRGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2VFAAAAADxqAgC0fgIA2HwCAGRlY2x0eXBlKAApAGdzACYmACYAJj0APQBhbGlnbm9mICgAY29uc3RfY2FzdAAsAH4AZHluYW1pY19jYXN0ACoALioALgAvAC89AF4AXj0APT0APj0APgA8PQA8PAA8PD0APAAtAC09ACo9AC0tACE9ACEAbm9leGNlcHQgKAB8fAB8AHw9AC0+KgArACs9ACsrAC0+AHJlaW50ZXJwcmV0X2Nhc3QAJQAlPQA+PgA+Pj0Ac3RhdGljX2Nhc3QAc2l6ZW9mICgAc2l6ZW9mLi4uICgAdHlwZWlkICgAdGhyb3cAdThfX3V1aWRvZnQAdThfX3V1aWRvZnoAd2NoYXJfdABiMEUAYjFFAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydAAAdQBsAHVsAGxsAHVsbABfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABEbkUAbnVsbHB0cgAAAAAAAAAA2IACAFEKAABSCgAAUwoAAFQKAABqCgAAVgoAAFcKAABYCgAAawoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAAA8agIApIACANh8AgAoAAAAAAAAAECBAgBRCgAAUgoAAFMKAABUCgAAbAoAAFYKAABXCgAAWAoAAG0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Qm9vbEV4cHJFADxqAgAUgQIA2HwCAHRydWUAZmFsc2UAAAAAAAC8gQIAUQoAAFIKAABTCgAAVAoAAG4KAABWCgAAVwoAAFgKAABvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGbG9hdExpdGVyYWxJbXBsSWZFRQA8agIAhIECANh8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T0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQAAADxqAgBMjAIA2HwCAGRuAG9uAAAAAAAAAOyMAgBRCgAAUgoAAFMKAABUCgAAoQoAAFYKAABXCgAAWAoAAKIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4RHRvck5hbWVFADxqAgDAjAIA2HwCAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3I8PT4AAAAAAABMjwIAUQoAAFIKAABTCgAAVAoAAKMKAABWCgAAVwoAAFgKAACkCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJDb252ZXJzaW9uT3BlcmF0b3JUeXBlRQAAPGoCABCPAgDYfAIAb3BlcmF0b3IgAAAAAAAAAMSPAgBRCgAAUgoAAFMKAABUCgAApQoAAFYKAABXCgAAWAoAAKYKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAPGoCAJCPAgDYfAIAb3BlcmF0b3IiIiAAAAAAAECQAgBRCgAAUgoAAFMKAABUCgAApwoAAFYKAACoCgAAWAoAAKkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOUdsb2JhbFF1YWxpZmllZE5hbWVFADxqAgAIkAIA2HwCAAAAAACokAIAUQoAAFIKAABTCgAAVAoAAKoKAABWCgAAVwoAAFgKAACrCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBNZW1iZXJFeHByRQAAPGoCAHiQAgDYfAIAAAAAABiRAgBRCgAAUgoAAFMKAABUCgAArAoAAFYKAABXCgAAWAoAAK0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOEFycmF5U3Vic2NyaXB0RXhwckUAADxqAgDgkAIA2HwCAClbAF0AAAAAAAAAAIiRAgBRCgAAUgoAAFMKAABUCgAArgoAAFYKAABXCgAAWAoAAK8KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEJyYWNlZEV4cHJFAAA8agIAWJECANh8AgAgPSAAAAAAAPiRAgBRCgAAUgoAAFMKAABUCgAAsAoAAFYKAABXCgAAWAoAALEKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUJyYWNlZFJhbmdlRXhwckUAPGoCAMSRAgDYfAIAIC4uLiAAAAAAAAAAbJICAFEKAABSCgAAUwoAAFQKAACyCgAAVgoAAFcKAABYCgAAswoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEySW5pdExpc3RFeHByRQAAAAA8agIAOJICANh8AgAAAAAA1JICAFEKAABSCgAAUwoAAFQKAAC0CgAAVgoAAFcKAABYCgAAtQoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExUG9zdGZpeEV4cHJFADxqAgCkkgIA2HwCAG53AG5hAHBpAAAAAAAAAABEkwIAUQoAAFIKAABTCgAAVAoAALYKAABWCgAAVwoAAFgKAAC3CgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlN05ld0V4cHJFAAA8agIAGJMCANh8AgA6Om9wZXJhdG9yIABuZXcAAAAAAMCTAgBRCgAAUgoAAFMKAABUCgAAuAoAAFYKAABXCgAAWAoAALkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM0VuY2xvc2luZ0V4cHJFAAAAPGoCAIyTAgDYfAIAAAAAACyUAgBRCgAAUgoAAFMKAABUCgAAugoAAFYKAABXCgAAWAoAALsKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUNvbmRpdGlvbmFsRXhwckUAPGoCAPiTAgDYfAIAKSA/ICgAKSA6ICgAAAAAAKiUAgBRCgAAUgoAAFMKAABUCgAAvAoAAFYKAABXCgAAWAoAAL0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOVNpemVvZlBhcmFtUGFja0V4cHJFADxqAgBwlAIA2HwCAHNpemVvZi4uLigAAAAAAAAglQIAUQoAAFIKAABTCgAAVAoAAL4KAABWCgAAVwoAAFgKAAC/CgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNOb2RlQXJyYXlOb2RlRQAAADxqAgDslAIA2HwCAAAAAACIlQIAUQoAAFIKAABTCgAAVAoAAMAKAABWCgAAVwoAAFgKAADBCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOVRocm93RXhwckUAAAAAPGoCAFiVAgDYfAIAdGhyb3cgAAAAAAAA+JUCAFEKAABSCgAAUwoAAFQKAADCCgAAVgoAAFcKAABYCgAAwwoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwVVVJRE9mRXhwckUAADxqAgDIlQIA2HwCAF9fdXVpZG9mKAAAAAAAAAB8lgIAUQoAAFIKAABTCgAAVAoAAMQKAABWCgAAxQoAAFgKAADGCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjdFeHBhbmRlZFNwZWNpYWxTdWJzdGl0dXRpb25FADxqAgA8lgIA2HwCAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfaW9zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGFsbG9jYXRvcgBiYXNpY19zdHJpbmcAYmFzaWNfaXN0cmVhbQBiYXNpY19vc3RyZWFtAGJhc2ljX2lvc3RyZWFtAAAAAAAAAAAsmAIAUQoAAFIKAABTCgAAVAoAAMcKAABWCgAAVwoAAFgKAADICgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJDdG9yRHRvck5hbWVFAAAAADxqAgD4lwIA2HwCAAAAAACUmAIAUQoAAFIKAABTCgAAVAoAAMkKAABWCgAAVwoAAFgKAADKCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBBYmlUYWdBdHRyRQAAPGoCAGSYAgDYfAIAW2FiaToAREMAAAAAAAAAABSZAgBRCgAAUgoAAFMKAABUCgAAywoAAFYKAABXCgAAWAoAAMwKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAAAA8agIA2JgCANh8AgBzdHJpbmcgbGl0ZXJhbAAAAAAAAIyZAgBRCgAAUgoAAFMKAABUCgAAzQoAAFYKAABXCgAAWAoAAM4KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5TG9jYWxOYW1lRQAAAAA8agIAXJkCANh8AgAAAAAA/JkCAFEKAABSCgAAUwoAAFQKAADPCgAAVgoAANAKAABYCgAA0QoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAPGoCAMSZAgDYfAIAc3RkOjpzdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0AAAAAALyaAgDSCgAA0woAANQKAADVCgAA1goAANcKAABXCgAAWAoAANgKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAAAAPGoCAIiaAgDYfAIAAAAAACibAgBRCgAAUgoAAFMKAABUCgAA2QoAAFYKAABXCgAAWAoAANoKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMlRlbXBsYXRlQXJnc0UAAAAAPGoCAPSaAgDYfAIAAAAAAJybAgBRCgAAUgoAAFMKAABUCgAA2woAAFYKAADcCgAAWAoAAN0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQAAAAA8agIAYJsCANh8AgBTdEwAAAAAABCcAgBRCgAAUgoAAFMKAABUCgAA3goAAFYKAADfCgAAWAoAAOAKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNlN0ZFF1YWxpZmllZE5hbWVFAAAAADxqAgDYmwIA2HwCAHN0ZDo6AAAAAAAAAIycAgBRCgAAUgoAAFMKAABUCgAA4QoAAFYKAABXCgAAWAoAAOIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFRlbXBsYXRlQXJndW1lbnRQYWNrRQAAAAA8agIAUJwCANh8AgAAAAAA+JwCAFEKAABSCgAAUwoAAFQKAADjCgAAVgoAAFcKAABYCgAA5AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRW5hYmxlSWZBdHRyRQAAAAA8agIAxJwCANh8AgAgW2VuYWJsZV9pZjoAAAAAAAAAAHidAgDlCgAAUgoAAOYKAABUCgAA5woAAOgKAABXCgAAWAoAAOkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZ1bmN0aW9uRW5jb2RpbmdFAAAAADxqAgBAnQIA2HwCACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0ACAmACAmJgAAAAAAAAAEngIAUQoAAFIKAABTCgAAVAoAAOoKAABWCgAAVwoAAFgKAADrCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOURvdFN1ZmZpeEUAAAAAPGoCANSdAgDYfAIAdm9pZABib29sAGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGxvbmcgbG9uZwB1bnNpZ25lZCBsb25nIGxvbmcAZmxvYXQAZG91YmxlAGxvbmcgZG91YmxlAF9fZmxvYXQxMjgAZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABjaGFyOF90AGRlY2x0eXBlKGF1dG8pAHN0ZDo6bnVsbHB0cl90ACBjb21wbGV4ACBpbWFnaW5hcnkARG8Abm9leGNlcHQARE8ARHcARHgAUkUAT0UAAAAAAABwnwIAUQoAAFIKAABTCgAAVAoAAOwKAABWCgAAVwoAAFgKAADtCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAAAAADxqAgA8nwIA2HwCAG5vZXhjZXB0KAAAAAAAAADwnwIAUQoAAFIKAABTCgAAVAoAAO4KAABWCgAAVwoAAFgKAADvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBEeW5hbWljRXhjZXB0aW9uU3BlY0UAAAAAPGoCALSfAgDYfAIAdGhyb3coAAAAAAAAZKACAPAKAABSCgAA8QoAAFQKAADyCgAA8woAAFcKAABYCgAA9AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRnVuY3Rpb25UeXBlRQAAAAA8agIAMKACANh8AgBvYmpjcHJvdG8AAAAAAAAA3KACAFEKAABSCgAAUwoAAFQKAAD1CgAAVgoAAFcKAABYCgAA9goAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzT2JqQ1Byb3RvTmFtZUUAAAA8agIAqKACANh8AgAAAAAATKECAFEKAABSCgAAUwoAAFQKAAD3CgAAVgoAAFcKAABYCgAA+AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE3VmVuZG9yRXh0UXVhbFR5cGVFAAAAPGoCABShAgDYfAIAAAAAALChAgD5CgAA+goAAPsKAABUCgAA/AoAAP0KAABXCgAAWAoAAP4KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4UXVhbFR5cGVFADxqAgCEoQIA2HwCAER2AAAAAAAAIKICAFEKAABSCgAAUwoAAFQKAAD/CgAAVgoAAFcKAABYCgAAAAsAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1UGl4ZWxWZWN0b3JUeXBlRQA8agIA7KECANh8AgBwaXhlbCB2ZWN0b3JbAAAAAAAAAJiiAgBRCgAAUgoAAFMKAABUCgAAAQsAAFYKAABXCgAAWAoAAAILAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFZlY3RvclR5cGVFAAA8agIAaKICANh8AgAgdmVjdG9yWwAAAAAAAAAADKMCAAMLAAAECwAAUwoAAFQKAAAFCwAABgsAAFcKAABYCgAABwsAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTlBcnJheVR5cGVFAAAAADxqAgDcogIA2HwCAFsAAAAAAAAAgKMCAAgLAABSCgAAUwoAAFQKAAAJCwAACgsAAFcKAABYCgAACwsAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5UG9pbnRlclRvTWVtYmVyVHlwZUUAPGoCAEijAgDYfAIAOjoqAFRzAHN0cnVjdABUdQB1bmlvbgBUZQBlbnVtAAAAAAAAFKQCAFEKAABSCgAAUwoAAFQKAAAMCwAAVgoAAFcKAABYCgAADQsAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIyRWxhYm9yYXRlZFR5cGVTcGVmVHlwZUUAADxqAgDYowIA2HwCAAAAAAB8pAIADgsAAFIKAABTCgAAVAoAAA8LAAAQCwAAVwoAAFgKAAARCwAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTFQb2ludGVyVHlwZUUAPGoCAEykAgDYfAIAaWQ8AG9iamNfb2JqZWN0AAAAAAD4pAIAEgsAAFIKAABTCgAAVAoAABMLAAAUCwAAVwoAAFgKAAAVCwAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNSZWZlcmVuY2VUeXBlRQAAADxqAgDEpAIA2HwCAAAAAABspQIAUQoAAFIKAABTCgAAVAoAABYLAABWCgAAVwoAAFgKAAAXCwAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBQb3N0Zml4UXVhbGlmaWVkVHlwZUUAAAAAPGoCADClAgDYfAIAh5cCAJGXAgCRlwIAnpcCAKyXAgC6lwIAh5cCAJGXAgA8mgIAQ5oCAEuaAgBTmgIAQbTLCgseSAIAAEkCAABKAgAASwIAAAAAAABMAgAAAAAAAE0CAEHgywoLAk4CAEHwywoLAk8CAEGQzAoLAlACAEGwzAoLAlECAEHAzAoLxwJWAgAAVwIAAFgCAABZAgAAWgIAAFsCAABcAgAAAAAAAF0CAABeAgAAXwIAAGACAABhAgAAYgIAAGMCAAAAAAAAZAIAAGUCAABmAgAAZwIAAGgCAABpAgAAagIAAAAAAABrAgAAbAIAAG0CAABuAgAAbwIAAHACAABxAgAAAAAAAHICAABzAgAAdAIAAHUCAAB2AgAAdwIAAHgCAAAAAAAAeQIAAHoCAAB7AgAAfAIAAH0CAAB+AgAAfwIAAAAAAACAAgAAgQIAAIICAACDAgAAhAIAAIUCAACGAgAAAAAAAIcCAACIAgAAiQIAAIoCAACLAgAAjAIAAI0CAAAAAAAAjgIAAI8CAACQAgAAkQIAAJICAACTAgAAlAIAAAAAAAADAAAA8I8AAJyQAAAwkQAAwJEAAFSSAADokgAAeJMAAP////9nBQEAQZDPCgtbSA4BAE4OAQBTDgEAWg4BAGAOAQBmDgEAbg4BAHYOAQA6BAAAOwQAADwEAAA9BAAAPgQAAOSUAQAAlgEApJYBAEiXAQDslwEA4JgBAOCZAQAsmwEAzK8BAMzBAQBBmNEKCwPwvgIAQdDRCgsBBQBB3NEKCwIBCQBB9NEKCw77CAAAAgkAABi/AgAABABBjNIKCwEBAEGb0goLBQr/////AEHg0goLCdCoAgAAAAAABQBB9NIKCwL9CABBjNMKCwv7CAAA+ggAACDDAgBBpNMKCwECAEGz0woLBf//////AEH40woLAQkAQYTUCgsC/QgAQZjUCgsS/AgAAAAAAAD6CAAASMMCAAAEAEHE1AoLBP////8AQYjVCgsHNAoAAIDVUg==";function KA(){try{if(S)return new Uint8Array(S);var A=TC(dA);if(A)return A;if(h)return h(dA);throw"both async and sync fetching of the wasm failed"}catch(A){GA(A)}}function kA(){return S||!e&&!s||"function"!=typeof fetch||lA(dA)?Promise.resolve().then(KA):fetch(dA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+dA+"'";return A.arrayBuffer()})).catch((function(){return KA()}))}function JA(){var A={env:WC,wasi_snapshot_preview1:WC};function I(A,I){var g=A.exports;Q.asm=g,gA((U=Q.asm.memory).buffer),CA=Q.asm.__indirect_function_table,cA()}function g(A){I(A.instance)}function C(I){return kA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){R("failed to asynchronously prepare wasm: "+A),GA(A)}))}if(wA(),Q.instantiateWasm)try{return Q.instantiateWasm(A,I)}catch(A){return R("Module.instantiateWasm callback failed with error: "+A),!1}return(S||"function"!=typeof WebAssembly.instantiateStreaming||RA(dA)||lA(dA)||"function"!=typeof fetch?C(g):fetch(dA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){return R("wasm streaming compile failed: "+A),R("falling back to ArrayBuffer instantiation"),C(g)}))}))).catch(B),{}}function YA(A,I){if(LA.mainLoop.timingMode=A,LA.mainLoop.timingValue=I,!LA.mainLoop.func)return 1;if(0==A)LA.mainLoop.scheduler=function(){var A=0|Math.max(0,LA.mainLoop.tickStartTime+I-UA());setTimeout(LA.mainLoop.runner,A)},LA.mainLoop.method="timeout";else if(1==A)LA.mainLoop.scheduler=function(){LA.requestAnimationFrame(LA.mainLoop.runner)},LA.mainLoop.method="rAF";else if(2==A){if("undefined"==typeof setImmediate){var g=[],C="setimmediate";addEventListener("message",(function(A){A.data!==C&&A.data.target!==C||(A.stopPropagation(),g.shift()())}),!0),setImmediate=function(A){g.push(A),s?(void 0===Q.setImmediates&&(Q.setImmediates=[]),Q.setImmediates.push(A),postMessage({target:C})):postMessage(C,"*")}}LA.mainLoop.scheduler=function(){setImmediate(LA.mainLoop.runner)},LA.mainLoop.method="immediate"}return 0}function uA(A,I,g,C,B){k(!LA.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),LA.mainLoop.func=A,LA.mainLoop.arg=C;var Q=LA.mainLoop.currentlyRunningMainloop;if(LA.mainLoop.runner=function(){if(!K)if(LA.mainLoop.queue.length>0){var I=Date.now(),g=LA.mainLoop.queue.shift();if(g.func(g.arg),LA.mainLoop.remainingBlockers){var C=LA.mainLoop.remainingBlockers,B=C%1==0?C-1:Math.floor(C);g.counted?LA.mainLoop.remainingBlockers=B:(B+=.5,LA.mainLoop.remainingBlockers=(8*C+B)/9)}if(console.log('main loop blocker "'+g.name+'" took '+(Date.now()-I)+" ms"),LA.mainLoop.updateStatus(),Q1&&LA.mainLoop.currentFrameNumber%LA.mainLoop.timingValue!=0?LA.mainLoop.scheduler():(0==LA.mainLoop.timingMode&&(LA.mainLoop.tickStartTime=UA()),LA.mainLoop.runIter(A),Q0?YA(0,1e3/I):YA(1,1),LA.mainLoop.scheduler()),g)throw"unwind"}RA(dA)||(dA=y(dA)),UA=a?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var LA={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){LA.mainLoop.scheduler=null,LA.mainLoop.currentlyRunningMainloop++},resume:function(){LA.mainLoop.currentlyRunningMainloop++;var A=LA.mainLoop.timingMode,I=LA.mainLoop.timingValue,g=LA.mainLoop.func;LA.mainLoop.func=null,uA(g,0,!1,LA.mainLoop.arg,!0),YA(A,I),LA.mainLoop.scheduler()},updateStatus:function(){if(Q.setStatus){var A=Q.statusMessage||"Please wait...",I=LA.mainLoop.remainingBlockers,g=LA.mainLoop.expectedBlockers;I?I=6;){var E=C>>B-6&63;B-=6,g+=I[E]}return 2==B?(g+=I[(3&C)<<4],g+="=="):4==B&&(g+=I[(15&C)<<2],g+="="),g}(A),E(e))},e.src=t,LA.safeSetTimeout((function(){E(e)}),1e4)}};Q.preloadPlugins.push(I);var g=Q.canvas;g&&(g.requestPointerLock=g.requestPointerLock||g.mozRequestPointerLock||g.webkitRequestPointerLock||g.msRequestPointerLock||function(){},g.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},g.exitPointerLock=g.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",C,!1),document.addEventListener("mozpointerlockchange",C,!1),document.addEventListener("webkitpointerlockchange",C,!1),document.addEventListener("mspointerlockchange",C,!1),Q.elementPointerLock&&g.addEventListener("click",(function(A){!LA.pointerLock&&Q.canvas.requestPointerLock&&(Q.canvas.requestPointerLock(),A.preventDefault())}),!1))}function C(){LA.pointerLock=document.pointerLockElement===Q.canvas||document.mozPointerLockElement===Q.canvas||document.webkitPointerLockElement===Q.canvas||document.msPointerLockElement===Q.canvas}},createContext:function(A,I,g,C){if(I&&Q.ctx&&A==Q.canvas)return Q.ctx;var B,E;if(I){var i={antialias:!1,alpha:!1,majorVersion:1};if(C)for(var o in C)i[o]=C[o];"undefined"!=typeof GL&&(E=GL.createContext(A,i))&&(B=GL.getContext(E).GLctx)}else B=A.getContext("2d");return B?(g&&(I||k("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Q.ctx=B,I&&GL.makeContextCurrent(E),Q.useWebGL=I,LA.moduleContextCreatedCallbacks.forEach((function(A){A()})),LA.init()),B):null},destroyContext:function(A,I,g){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(A,I){LA.lockPointer=A,LA.resizeCanvas=I,void 0===LA.lockPointer&&(LA.lockPointer=!0),void 0===LA.resizeCanvas&&(LA.resizeCanvas=!1);var g=Q.canvas;function C(){LA.isFullscreen=!1;var A=g.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===A?(g.exitFullscreen=LA.exitFullscreen,LA.lockPointer&&g.requestPointerLock(),LA.isFullscreen=!0,LA.resizeCanvas?LA.setFullscreenCanvasSize():LA.updateCanvasDimensions(g)):(A.parentNode.insertBefore(g,A),A.parentNode.removeChild(A),LA.resizeCanvas?LA.setWindowedCanvasSize():LA.updateCanvasDimensions(g)),Q.onFullScreen&&Q.onFullScreen(LA.isFullscreen),Q.onFullscreen&&Q.onFullscreen(LA.isFullscreen)}LA.fullscreenHandlersInstalled||(LA.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",C,!1),document.addEventListener("mozfullscreenchange",C,!1),document.addEventListener("webkitfullscreenchange",C,!1),document.addEventListener("MSFullscreenChange",C,!1));var B=document.createElement("div");g.parentNode.insertBefore(B,g),B.appendChild(g),B.requestFullscreen=B.requestFullscreen||B.mozRequestFullScreen||B.msRequestFullscreen||(B.webkitRequestFullscreen?function(){B.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(B.webkitRequestFullScreen?function(){B.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),B.requestFullscreen()},exitFullscreen:function(){return!!LA.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(A){var I=Date.now();if(0===LA.nextRAF)LA.nextRAF=I+1e3/60;else for(;I+2>=LA.nextRAF;)LA.nextRAF+=1e3/60;var g=Math.max(LA.nextRAF-I,0);setTimeout(A,g)},requestAnimationFrame:function(A){"function"!=typeof requestAnimationFrame?(0,LA.fakeRequestAnimationFrame)(A):requestAnimationFrame(A)},safeCallback:function(A){return function(){if(!K)return A.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){LA.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(LA.allowAsyncCallbacks=!0,LA.queuedAsyncCallbacks.length>0){var A=LA.queuedAsyncCallbacks;LA.queuedAsyncCallbacks=[],A.forEach((function(A){A()}))}},safeRequestAnimationFrame:function(A){return LA.requestAnimationFrame((function(){K||(LA.allowAsyncCallbacks?A():LA.queuedAsyncCallbacks.push(A))}))},safeSetTimeout:function(A,I){return setTimeout((function(){K||(LA.allowAsyncCallbacks?A():LA.queuedAsyncCallbacks.push(A))}),I)},safeSetInterval:function(A,I){return setInterval((function(){K||LA.allowAsyncCallbacks&&A()}),I)},getMimetype:function(A){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[A.substr(A.lastIndexOf(".")+1)]},getUserMedia:function(A){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(A)},getMovementX:function(A){return A.movementX||A.mozMovementX||A.webkitMovementX||0},getMovementY:function(A){return A.movementY||A.mozMovementY||A.webkitMovementY||0},getMouseWheelDelta:function(A){var I=0;switch(A.type){case"DOMMouseScroll":I=A.detail/3;break;case"mousewheel":I=A.wheelDelta/120;break;case"wheel":switch(I=A.deltaY,A.deltaMode){case 0:I/=100;break;case 1:I/=3;break;case 2:I*=80;break;default:throw"unrecognized mouse wheel delta mode: "+A.deltaMode}break;default:throw"unrecognized mouse wheel event: "+A.type}return I},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(A){if(LA.pointerLock)"mousemove"!=A.type&&"mozMovementX"in A?LA.mouseMovementX=LA.mouseMovementY=0:(LA.mouseMovementX=LA.getMovementX(A),LA.mouseMovementY=LA.getMovementY(A)),"undefined"!=typeof SDL?(LA.mouseX=SDL.mouseX+LA.mouseMovementX,LA.mouseY=SDL.mouseY+LA.mouseMovementY):(LA.mouseX+=LA.mouseMovementX,LA.mouseY+=LA.mouseMovementY);else{var I=Q.canvas.getBoundingClientRect(),g=Q.canvas.width,C=Q.canvas.height,B=void 0!==window.scrollX?window.scrollX:window.pageXOffset,E=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===A.type||"touchend"===A.type||"touchmove"===A.type){var i=A.touch;if(void 0===i)return;var o=i.pageX-(B+I.left),t=i.pageY-(E+I.top),e={x:o*=g/I.width,y:t*=C/I.height};if("touchstart"===A.type)LA.lastTouches[i.identifier]=e,LA.touches[i.identifier]=e;else if("touchend"===A.type||"touchmove"===A.type){var s=LA.touches[i.identifier];s||(s=e),LA.lastTouches[i.identifier]=s,LA.touches[i.identifier]=e}return}var a=A.pageX-(B+I.left),D=A.pageY-(E+I.top);a*=g/I.width,D*=C/I.height,LA.mouseMovementX=a-LA.mouseX,LA.mouseMovementY=D-LA.mouseY,LA.mouseX=a,LA.mouseY=D}},asyncLoad:function(A,I,g,C){var B=C?"":"al "+A;r(A,(function(g){k(g,'Loading data file "'+A+'" failed (no arrayBuffer).'),I(new Uint8Array(g)),B&&cA()}),(function(I){if(!g)throw'Loading data file "'+A+'" failed.';g()})),B&&wA()},resizeListeners:[],updateResizeListeners:function(){var A=Q.canvas;LA.resizeListeners.forEach((function(I){I(A.width,A.height)}))},setCanvasSize:function(A,I,g){var C=Q.canvas;LA.updateCanvasDimensions(C,A,I),g||LA.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var A=V[SDL.screen>>2];A|=8388608,T[SDL.screen>>2]=A}LA.updateCanvasDimensions(Q.canvas),LA.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var A=V[SDL.screen>>2];A&=-8388609,T[SDL.screen>>2]=A}LA.updateCanvasDimensions(Q.canvas),LA.updateResizeListeners()},updateCanvasDimensions:function(A,I,g){I&&g?(A.widthNative=I,A.heightNative=g):(I=A.widthNative,g=A.heightNative);var C=I,B=g;if(Q.forcedAspectRatio&&Q.forcedAspectRatio>0&&(C/B0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?CA.get(g)():CA.get(g)(I.arg):g(void 0===I.arg?null:I.arg)}else I(Q)}}var fA={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function HA(A){return ZC(A+fA.SIZE)+fA.SIZE}function mA(A,I){}function qA(A){this.excPtr=A,this.ptr=A-fA.SIZE,this.set_type=function(A){T[this.ptr+fA.TYPE_OFFSET>>2]=A},this.get_type=function(){return T[this.ptr+fA.TYPE_OFFSET>>2]},this.set_destructor=function(A){T[this.ptr+fA.DESTRUCTOR_OFFSET>>2]=A},this.get_destructor=function(){return T[this.ptr+fA.DESTRUCTOR_OFFSET>>2]},this.set_refcount=function(A){T[this.ptr+fA.REFCOUNT_OFFSET>>2]=A},this.set_caught=function(A){A=A?1:0,m[this.ptr+fA.CAUGHT_OFFSET>>0]=A},this.get_caught=function(){return 0!=m[this.ptr+fA.CAUGHT_OFFSET>>0]},this.set_rethrown=function(A){A=A?1:0,m[this.ptr+fA.RETHROWN_OFFSET>>0]=A},this.get_rethrown=function(){return 0!=m[this.ptr+fA.RETHROWN_OFFSET>>0]},this.init=function(A,I){this.set_type(A),this.set_destructor(I),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var A=T[this.ptr+fA.REFCOUNT_OFFSET>>2];T[this.ptr+fA.REFCOUNT_OFFSET>>2]=A+1},this.release_ref=function(){var A=T[this.ptr+fA.REFCOUNT_OFFSET>>2];return T[this.ptr+fA.REFCOUNT_OFFSET>>2]=A-1,1===A}}function xA(A,I,g){throw new qA(A).init(I,g),A}function bA(A){return T[XC()>>2]=A,A}var TA={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,C=A.length-1;C>=0;C--){var B=A[C];"."===B?A.splice(C,1):".."===B?(A.splice(C,1),g++):g&&(A.splice(C,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=TA.splitPath(A),g=I[0],C=I[1];return g||C?(C&&(C=C.substr(0,C.length-1)),g+C):"."},basename:function(A){if("/"===A)return"/";var I=(A=(A=TA.normalize(A)).replace(/\/$/,"")).lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return TA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return TA.normalize(A.join("/"))},join2:function(A,I){return TA.normalize(A+"/"+I)}};function VA(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var A=new Uint8Array(1);return function(){return crypto.getRandomValues(A),A[0]}}if(a)try{var I=g(3906);return function(){return I.randomBytes(1)[0]}}catch(A){}return function(){GA("randomDevice")}}var WA={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var C=g>=0?arguments[g]:XA.cwd();if("string"!=typeof C)throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";A=C+"/"+A,I="/"===C.charAt(0)}return(I?"/":"")+(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=WA.resolve(A).substr(1),I=WA.resolve(I).substr(1);for(var C=g(A.split("/")),B=g(I.split("/")),Q=Math.min(C.length,B.length),E=Q,i=0;i0?g.slice(0,C).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=mC(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(F(Y(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(F(Y(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(R(Y(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(R(Y(A.output,0)),A.output=[])}}};function ZA(A){for(var I=l(A,16384),g=ZC(I);A=I)){I=Math.max(I,g*(g<1048576?2:1.125)>>>0),0!=g&&(I=Math.max(I,256));var C=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(C.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-B,C);if(E>8&&Q.subarray)I.set(Q.subarray(B,B+E),g);else for(var i=0;i0||C+g8)throw new XA.ErrnoError(32);for(var B=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=XA.root,E="/",i=0;i40)throw new XA.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(XA.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,C=0;C>>0)%XA.nameTable.length},hashAddNode:function(A){var I=XA.hashName(A.parent.id,A.name);A.name_next=XA.nameTable[I],XA.nameTable[I]=A},hashRemoveNode:function(A){var I=XA.hashName(A.parent.id,A.name);if(XA.nameTable[I]===A)XA.nameTable[I]=A.name_next;else for(var g=XA.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=XA.mayLookup(A);if(g)throw new XA.ErrnoError(g,A);for(var C=XA.hashName(A.id,I),B=XA.nameTable[C];B;B=B.name_next){var Q=B.name;if(B.parent.id===A.id&&Q===I)return B}return XA.lookup(A,I)},createNode:function(A,I,g,C){var B=new XA.FSNode(A,I,g,C);return XA.hashAddNode(B),B},destroyNode:function(A){XA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(A){var I=XA.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return XA.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return XA.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return XA.lookupNode(A,I),20}catch(A){}return XA.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var C;try{C=XA.lookupNode(A,I)}catch(A){return A.errno}var B=XA.nodePermissions(A,"wx");if(B)return B;if(g){if(!XA.isDir(C.mode))return 54;if(XA.isRoot(C)||XA.getPath(C)===XA.cwd())return 10}else if(XA.isDir(C.mode))return 31;return 0},mayOpen:function(A,I){return A?XA.isLink(A.mode)?32:XA.isDir(A.mode)&&("r"!==XA.flagsToPermissionString(I)||512&I)?31:XA.nodePermissions(A,XA.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||XA.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!XA.streams[g])return g;throw new XA.ErrnoError(33)},getStream:function(A){return XA.streams[A]},createStream:function(A,I,g){XA.FSStream||(XA.FSStream=function(){},XA.FSStream.prototype={object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var C=new XA.FSStream;for(var B in A)C[B]=A[B];A=C;var Q=XA.nextfd(I,g);return A.fd=Q,XA.streams[Q]=A,A},closeStream:function(A){XA.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=XA.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new XA.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){XA.devices[A]={stream_ops:I}},getDevice:function(A){return XA.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var C=g.pop();I.push(C),g.push.apply(g,C.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),XA.syncFSRequests++,XA.syncFSRequests>1&&R("warning: "+XA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=XA.getMounts(XA.root.mount),C=0;function B(A){return XA.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,B(A));++C>=g.length&&B(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var C,B="/"===g,Q=!g;if(B&&XA.root)throw new XA.ErrnoError(10);if(!B&&!Q){var E=XA.lookupPath(g,{follow_mount:!1});if(g=E.path,C=E.node,XA.isMountpoint(C))throw new XA.ErrnoError(10);if(!XA.isDir(C.mode))throw new XA.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,B?XA.root=o:C&&(C.mounted=i,C.mount&&C.mount.mounts.push(i)),o},unmount:function(A){var I=XA.lookupPath(A,{follow_mount:!1});if(!XA.isMountpoint(I.node))throw new XA.ErrnoError(28);var g=I.node,C=g.mounted,B=XA.getMounts(C);Object.keys(XA.nameTable).forEach((function(A){for(var I=XA.nameTable[A];I;){var g=I.name_next;-1!==B.indexOf(I.mount)&&XA.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(C);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var C=XA.lookupPath(A,{parent:!0}).node,B=TA.basename(A);if(!B||"."===B||".."===B)throw new XA.ErrnoError(28);var Q=XA.mayCreate(C,B);if(Q)throw new XA.ErrnoError(Q);if(!C.node_ops.mknod)throw new XA.ErrnoError(63);return C.node_ops.mknod(C,B,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,XA.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,XA.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),C="",B=0;Bthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,C=Number(A.getResponseHeader("Content-length")),B=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;B||(E=C);var i=this;i.setDataGetter((function(A){var I=A*E,B=(A+1)*E-1;if(B=Math.min(B,C-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>C-1)throw new Error("only "+C+" bytes available! programmer error!");var B=new XMLHttpRequest;if(B.open("GET",g,!1),C!==E&&B.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(B.responseType="arraybuffer"),B.overrideMimeType&&B.overrideMimeType("text/plain; charset=x-user-defined"),B.send(null),!(B.status>=200&&B.status<300||304===B.status))throw new Error("Couldn't load "+g+". Status: "+B.status);return void 0!==B.response?new Uint8Array(B.response||[]):mC(B.responseText||"",!0)}(I,B)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&C||(E=C=1,C=this.getter(0).length,E=C,F("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=C,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!s)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var o=XA.createFile(A,I,i,C,B);i.contents?o.contents=i.contents:i.url&&(o.contents=null,o.url=i.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var t={};return Object.keys(o.stream_ops).forEach((function(A){var I=o.stream_ops[A];t[A]=function(){return XA.forceLoadFile(o),I.apply(null,arguments)}})),t.read=function(A,I,g,C,B){XA.forceLoadFile(o);var Q=A.node.contents;if(B>=Q.length)return 0;var E=Math.min(Q.length-B,C);if(Q.slice)for(var i=0;i>2]=C.dev,T[g+4>>2]=0,T[g+8>>2]=C.ino,T[g+12>>2]=C.mode,T[g+16>>2]=C.nlink,T[g+20>>2]=C.uid,T[g+24>>2]=C.gid,T[g+28>>2]=C.rdev,T[g+32>>2]=0,SA=[C.size>>>0,(MA=C.size,+Math.abs(MA)>=1?MA>0?(0|Math.min(+Math.floor(MA/4294967296),4294967295))>>>0:~~+Math.ceil((MA-+(~~MA>>>0))/4294967296)>>>0:0)],T[g+40>>2]=SA[0],T[g+44>>2]=SA[1],T[g+48>>2]=4096,T[g+52>>2]=C.blocks,T[g+56>>2]=C.atime.getTime()/1e3|0,T[g+60>>2]=0,T[g+64>>2]=C.mtime.getTime()/1e3|0,T[g+68>>2]=0,T[g+72>>2]=C.ctime.getTime()/1e3|0,T[g+76>>2]=0,SA=[C.ino>>>0,(MA=C.ino,+Math.abs(MA)>=1?MA>0?(0|Math.min(+Math.floor(MA/4294967296),4294967295))>>>0:~~+Math.ceil((MA-+(~~MA>>>0))/4294967296)>>>0:0)],T[g+80>>2]=SA[0],T[g+84>>2]=SA[1],0},doMsync:function(A,I,g,C,B){var Q=q.slice(A,A+g);XA.msync(I,Q,B,g,C)},doMkdir:function(A,I){return"/"===(A=TA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),XA.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return XA.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var C=XA.readlink(A),B=Math.min(g,f(C)),Q=m[I+B];return p(C,I,g+1),m[I+B]=Q,B},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=XA.lookupPath(A,{follow:!0}).node))return-44;var C="";return 4&I&&(C+="r"),2&I&&(C+="w"),1&I&&(C+="x"),C&&XA.nodePermissions(g,C)?-2:0},doDup:function(A,I,g){var C=XA.getStream(g);return C&&XA.close(C),XA.open(A,I,0,g,g).fd},doReadv:function(A,I,g,C){for(var B=0,Q=0;Q>2],i=T[I+(8*Q+4)>>2],o=XA.read(A,m,E,i,C);if(o<0)return-1;if(B+=o,o>2],i=T[I+(8*Q+4)>>2],o=XA.write(A,m,E,i,C);if(o<0)return-1;B+=o}return B},varargs:void 0,get:function(){return PA.varargs+=4,T[PA.varargs-4>>2]},getStr:function(A){return u(A)},getStreamFromFD:function(A){var I=XA.getStream(A);if(!I)throw new XA.ErrnoError(8);return I},get64:function(A,I){return A}};function jA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 0:return(B=PA.get())<0?-28:XA.open(C.path,C.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return C.flags;case 4:var B=PA.get();return C.flags|=B,0;case 12:return B=PA.get(),x[B+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return bA(28),-1}}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),-A.errno}}function zA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return C.tty?0:-59;case 21519:if(!C.tty)return-59;var B=PA.get();return T[B>>2]=0,0;case 21520:return C.tty?-28:-59;case 21531:return B=PA.get(),XA.ioctl(C,I,B);default:GA("bad ioctl syscall "+I)}}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),-A.errno}}function _A(A,I,g){PA.varargs=g;try{var C=PA.getStr(A),B=PA.get();return XA.open(C,I,B).fd}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),-A.errno}}var $A={};function AI(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function II(A){return this.fromWireType(V[A>>2])}var gI={},CI={},BI={},QI=48,EI=57;function iI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=QI&&I<=EI?"_"+A:A}function oI(A,I){return A=iI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function tI(A,I){var g=oI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var eI=void 0;function sI(A){throw new eI(A)}function aI(A,I,g){function C(I){var C=g(I);C.length!==A.length&&sI("Mismatched type converter count");for(var B=0;B>Q])},destructorFunction:null})}function lI(A){if(!(this instanceof xI))return!1;if(!(A instanceof xI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function MI(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function SI(A){FI(A.$$.ptrType.registeredClass.name+" instance already deleted")}var UI=!1;function dI(A){}function KI(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function kI(A){A.count.value-=1,0===A.count.value&&KI(A)}function JI(A){return"undefined"==typeof FinalizationGroup?(JI=function(A){return A},A):(UI=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?kI(g):console.warn("object already deleted: "+g.ptr)}})),JI=function(A){return UI.register(A,A.$$,A.$$),A},dI=function(A){UI.unregister(A.$$)},JI(A))}function YI(){if(this.$$.ptr||SI(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=JI(Object.create(Object.getPrototypeOf(this),{$$:{value:MI(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function uI(){this.$$.ptr||SI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&FI("Object already scheduled for deletion"),dI(this),kI(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function LI(){return!this.$$.ptr}var pI=void 0,fI=[];function HI(){for(;fI.length;){var A=fI.pop();A.$$.deleteScheduled=!1,A.delete()}}function mI(){return this.$$.ptr||SI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&FI("Object already scheduled for deletion"),fI.push(this),1===fI.length&&pI&&pI(HI),this.$$.deleteScheduled=!0,this}function qI(){xI.prototype.isAliasOf=lI,xI.prototype.clone=YI,xI.prototype.delete=uI,xI.prototype.isDeleted=LI,xI.prototype.deleteLater=mI}function xI(){}var bI={};function TI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||FI("Function '"+g+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function VI(A,I,g){Q.hasOwnProperty(A)?((void 0===g||void 0!==Q[A].overloadTable&&void 0!==Q[A].overloadTable[g])&&FI("Cannot register public name '"+A+"' twice"),TI(Q,A,A),Q.hasOwnProperty(g)&&FI("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),Q[A].overloadTable[g]=I):(Q[A]=I,void 0!==g&&(Q[A].numArguments=g))}function WI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function vI(A,I,g){for(;I!==g;)I.upcast||FI("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function ZI(A,I){if(null===I)return this.isReference&&FI("null is not a valid "+this.name),0;I.$$||FI('Cannot pass "'+fg(I)+'" as a '+this.name),I.$$.ptr||FI("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return vI(I.$$.ptr,g,this.registeredClass)}function OI(A,I){var g;if(null===I)return this.isReference&&FI("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||FI('Cannot pass "'+fg(I)+'" as a '+this.name),I.$$.ptr||FI("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&FI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=vI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&FI("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:FI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,Lg((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:FI("Unsupporting sharing policy")}return g}function XI(A,I){if(null===I)return this.isReference&&FI("null is not a valid "+this.name),0;I.$$||FI('Cannot pass "'+fg(I)+'" as a '+this.name),I.$$.ptr||FI("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&FI("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return vI(I.$$.ptr,g,this.registeredClass)}function PI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function jI(A){this.rawDestructor&&this.rawDestructor(A)}function zI(A){null!==A&&A.delete()}function _I(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=_I(A,I,g.baseClass);return null===C?null:g.downcast(C)}function $I(){return Object.keys(Cg).length}function Ag(){var A=[];for(var I in Cg)Cg.hasOwnProperty(I)&&A.push(Cg[I]);return A}function Ig(A){pI=A,fI.length&&pI&&pI(HI)}function gg(){Q.getInheritedInstanceCount=$I,Q.getLiveInheritedInstances=Ag,Q.flushPendingDeletes=HI,Q.setDelayFunction=Ig}var Cg={};function Bg(A,I){for(void 0===I&&FI("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function Qg(A,I){return I=Bg(A,I),Cg[I]}function Eg(A,I){return I.ptrType&&I.ptr||sI("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&sI("Both smartPtrType and smartPtr must be specified"),I.count={value:1},JI(Object.create(A,{$$:{value:I}}))}function ig(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=Qg(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?Eg(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):Eg(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=bI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var o=_I(I,this.registeredClass,Q.registeredClass);return null===o?B.call(this):this.isSmartPointer?Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o,smartPtrType:this,smartPtr:A}):Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:o})}function og(){tg.prototype.getPointee=PI,tg.prototype.destructor=jI,tg.prototype.argPackAdvance=8,tg.prototype.readValueFromPointer=II,tg.prototype.deleteObject=zI,tg.prototype.fromWireType=ig}function tg(A,I,g,C,B,Q,E,i,o,t,e){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=o,this.rawShare=t,this.rawDestructor=e,B||void 0!==I.baseClass?this.toWireType=OI:C?(this.toWireType=ZI,this.destructorFunction=null):(this.toWireType=XI,this.destructorFunction=null)}function eg(A,I,g){Q.hasOwnProperty(A)||sI("Replacing nonexistant public symbol"),void 0!==Q[A].overloadTable&&void 0!==g?Q[A].overloadTable[g]=I:(Q[A]=I,Q[A].argCount=g)}function sg(A,I,g){return g&&g.length?Q["dynCall_"+A].apply(null,[I].concat(g)):Q["dynCall_"+A].call(null,I)}function ag(A,I,g){return-1!=A.indexOf("j")?sg(A,I,g):CA.get(I).apply(null,g)}function Dg(A,I){k(A.indexOf("j")>=0,"getDynCaller should only be called with i64 sigs");var g=[];return function(){g.length=arguments.length;for(var C=0;C0?", ":"")+s),a+=(t?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",i)a+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+C]);return g}function Rg(A,I,g,C,B,Q,E){var i=Fg(g,C);I=GI(I),Q=ng(B,Q),aI([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){wg("Cannot call "+C+" due to unbound types",i)}var o=A.registeredClass.constructor;return void 0===o[I]?(B.argCount=g-1,o[I]=B):(TI(o,I,C),o[I].overloadTable[g-1]=B),aI([],i,(function(A){var B=[A[0],null].concat(A.slice(1)),i=yg(C,B,null,Q,E);return void 0===o[I].overloadTable?(i.argCount=g-1,o[I]=i):o[I].overloadTable[g-1]=i,[]})),[]}))}function Ng(A,I,g,C,B,Q){k(I>0);var E=Fg(I,g);B=ng(C,B);var i=[Q],o=[];aI([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new yI("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class '"+A.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){wg("Cannot construct "+A.name+" due to unbound types",E)},aI([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&FI(g+" called with "+arguments.length+" arguments, expected "+(I-1)),o.length=0,i.length=I;for(var A=1;A4&&0==--Kg[A].refcount&&(Kg[A]=void 0,dg.push(A))}function Jg(){for(var A=0,I=5;I>2])};case 3:return function(A){return this.fromWireType(v[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function mg(A,I,g){var C=hI(g);RI(A,{name:I=GI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+fg(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:Hg(I,C),destructorFunction:null})}function qg(A,I,g,C,B,Q){var E=Fg(I,g);A=GI(A),B=ng(C,B),VI(A,(function(){wg("Cannot call "+A+" due to unbound types",E)}),I-1),aI([],E,(function(g){var C=[g[0],null].concat(g.slice(1));return eg(A,yg(A,C,null,B,Q),I-1),[]}))}function xg(A,I,g){switch(I){case 0:return g?function(A){return m[A]}:function(A){return q[A]};case 1:return g?function(A){return x[A>>1]}:function(A){return b[A>>1]};case 2:return g?function(A){return T[A>>2]}:function(A){return V[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function bg(A,I,g,C,B){I=GI(I),-1===B&&(B=4294967295);var Q=hI(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");RI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+fg(g)+'" to '+this.name);if(gB)throw new TypeError('Passing a number "'+fg(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+C+", "+B+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:xg(I,Q,0!==C),destructorFunction:null})}function Tg(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=V,g=I[A>>=2],B=I[A+1];return new C(H,B,g)}RI(A,{name:g=GI(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function Vg(A,I){var g="std::string"===(I=GI(I));RI(A,{name:I,fromWireType:function(A){var I,C=V[A>>2];if(g)for(var B=A+4,Q=0;Q<=C;++Q){var E=A+4+Q;if(Q==C||0==q[E]){var i=u(B,E-B);void 0===I?I=i:(I+=String.fromCharCode(0),I+=i),B=E+1}}else{var o=new Array(C);for(Q=0;Q>2]=B,g&&C)p(I,Q+4,B+1);else if(C)for(var E=0;E255&&(OC(Q),FI("String has UTF-16 code units that do not fit in 8 bits")),q[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=A+4,t=0;t<=B;++t){var e=A+4+t*I;if(t==B||0==E[e>>i]){var s=C(o,e-o);void 0===g?g=s:(g+=String.fromCharCode(0),g+=s),o=e+I}}return OC(A),g},toWireType:function(A,C){"string"!=typeof C&&FI("Cannot pass non-string to C++ string type "+g);var Q=E(C),o=ZC(4+Q+I);return V[o>>2]=Q>>i,B(C,o+4,Q+I),null!==A&&A.push(OC,o),o},argPackAdvance:8,readValueFromPointer:II,destructorFunction:function(A){OC(A)}})}function vg(A,I,g,C,B,Q){$A[A]={name:GI(I),rawConstructor:ng(g,C),rawDestructor:ng(B,Q),elements:[]}}function Zg(A,I,g,C,B,Q,E,i,o){$A[A].elements.push({getterReturnType:I,getter:ng(g,C),getterContext:B,setterArgumentType:Q,setter:ng(E,i),setterContext:o})}function Og(A,I,g,C,B,Q){nI[A]={name:GI(I),rawConstructor:ng(g,C),rawDestructor:ng(B,Q),fields:[]}}function Xg(A,I,g,C,B,Q,E,i,o,t){nI[A].fields.push({fieldName:GI(I),getterReturnType:g,getter:ng(C,B),getterContext:Q,setterArgumentType:E,setter:ng(i,o),setterContext:t})}function Pg(A,I){RI(A,{isVoid:!0,name:I=GI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var jg={};function zg(A){var I=jg[A];return void 0===I?GI(A):I}var _g=[];function $g(A){return A||FI("Cannot use deleted val. handle = "+A),Kg[A].value}function AC(A,I,g,C){(A=_g[A])(I=$g(I),g=zg(g),null,C)}function IC(A){var I=_g.length;return _g.push(A),I}function gC(A,I){var g=CI[A];return void 0===g&&FI(I+" has unknown type "+hg(A)),g}function CC(A,I){for(var g=new Array(A),C=0;C>2)+C],"parameter "+C);return g}function BC(A,I){for(var g=CC(A,I),C=g[0],B=C.name+"_$"+g.slice(1).map((function(A){return A.name})).join("_")+"$",Q=["retType"],E=[C],i="",o=0;o4&&(Kg[A].refcount+=1)}function EC(){return Lg([])}function iC(A){return Lg(zg(A))}function oC(A,I,g){A=$g(A),I=$g(I),g=$g(g),A[I]=g}function tC(A,I){return Lg((A=gC(A,"_emval_take_value")).readValueFromPointer(I))}function eC(){GA()}var sC=!0;function aC(A,I){var g;if(0===A)g=Date.now();else{if(1!==A&&4!==A||!sC)return bA(28),-1;g=UA()}return T[I>>2]=g/1e3|0,T[I+4>>2]=g%1e3*1e3*1e3|0,0}function DC(A,I,g){q.copyWithin(A,I,I+g)}function nC(){return q.length}function rC(A){try{return U.grow(A-H.byteLength+65535>>>16),gA(U.buffer),1}catch(A){}}function hC(A){A>>>=0;var I=nC(),g=1073741824;if(A>g)return!1;for(var C=1;C<=4;C*=2){var B=I*(1+.2/C);if(B=Math.min(B,A+100663296),rC(Math.min(g,IA(Math.max(16777216,A,B),65536))))return!0}return!1}var wC={};function cC(){return t||"./this.program"}function GC(){if(!GC.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:cC()};for(var I in wC)A[I]=wC[I];var g=[];for(var I in A)g.push(I+"="+A[I]);GC.strings=g}return GC.strings}function yC(A,I){try{var g=0;return GC().forEach((function(C,B){var Q=I+g;T[A+4*B>>2]=Q,AA(C,Q),g+=C.length+1})),0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function FC(A,I){try{var g=GC();T[A>>2]=g.length;var C=0;return g.forEach((function(A){C+=A.length+1})),T[I>>2]=C,0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function RC(A){try{var I=PA.getStreamFromFD(A);return XA.close(I),0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function NC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doReadv(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function lC(A,I,g,C,B){try{var Q=PA.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(XA.llseek(Q,E,C),SA=[Q.position>>>0,(MA=Q.position,+Math.abs(MA)>=1?MA>0?(0|Math.min(+Math.floor(MA/4294967296),4294967295))>>>0:~~+Math.ceil((MA-+(~~MA>>>0))/4294967296)>>>0:0)],T[B>>2]=SA[0],T[B+4>>2]=SA[1],Q.getdents&&0===E&&0===C&&(Q.getdents=null),0)}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function MC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doWritev(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==XA&&A instanceof XA.ErrnoError||GA(A),A.errno}}function SC(A){d(0|A)}function UC(A){return A%4==0&&(A%100!=0||A%400==0)}function dC(A,I){for(var g=0,C=0;C<=I;g+=A[C++]);return g}var KC=[31,29,31,30,31,30,31,31,30,31,30,31],kC=[31,28,31,30,31,30,31,31,30,31,30,31];function JC(A,I){for(var g=new Date(A.getTime());I>0;){var C=UC(g.getFullYear()),B=g.getMonth(),Q=(C?KC:kC)[B];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),B<11?g.setMonth(B+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function YC(A,I,g,C){var B=T[C+40>>2],Q={tm_sec:T[C>>2],tm_min:T[C+4>>2],tm_hour:T[C+8>>2],tm_mday:T[C+12>>2],tm_mon:T[C+16>>2],tm_year:T[C+20>>2],tm_wday:T[C+24>>2],tm_yday:T[C+28>>2],tm_isdst:T[C+32>>2],tm_gmtoff:T[C+36>>2],tm_zone:B?u(B):""},E=u(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var t=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],e=["January","February","March","April","May","June","July","August","September","October","November","December"];function s(A,I,g){for(var C="number"==typeof A?A.toString():A||"";C.length0?1:0}var C;return 0===(C=g(A.getFullYear()-I.getFullYear()))&&0===(C=g(A.getMonth()-I.getMonth()))&&(C=g(A.getDate()-I.getDate())),C}function n(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function r(A){var I=JC(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),C=new Date(I.getFullYear()+1,0,4),B=n(g),Q=n(C);return D(B,I)<=0?D(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var h={"%a":function(A){return t[A.tm_wday].substring(0,3)},"%A":function(A){return t[A.tm_wday]},"%b":function(A){return e[A.tm_mon].substring(0,3)},"%B":function(A){return e[A.tm_mon]},"%C":function(A){return a((A.tm_year+1900)/100|0,2)},"%d":function(A){return a(A.tm_mday,2)},"%e":function(A){return s(A.tm_mday,2," ")},"%g":function(A){return r(A).toString().substring(2)},"%G":function(A){return r(A)},"%H":function(A){return a(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),a(I,2)},"%j":function(A){return a(A.tm_mday+dC(UC(A.tm_year+1900)?KC:kC,A.tm_mon-1),3)},"%m":function(A){return a(A.tm_mon+1,2)},"%M":function(A){return a(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return a(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:JC(I,7-I.getDay()),C=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(D(g,C)<0){var B=dC(UC(C.getFullYear())?KC:kC,C.getMonth()-1)-31,Q=31-g.getDate()+B+C.getDate();return a(Math.ceil(Q/7),2)}return 0===D(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),C=new Date(A.tm_year+1901,0,4),B=n(g),Q=n(C),E=JC(new Date(A.tm_year+1900,0,1),A.tm_yday);return D(E,B)<0?"53":D(Q,E)<=0?"01":(I=B.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in h)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),h[o](Q)));var w=mC(E,!1);return w.length>I?0:($(w,A),w.length-1)}function uC(A,I,g,C){return YC(A,I,g,C)}Q.requestFullscreen=function(A,I){LA.requestFullscreen(A,I)},Q.requestAnimationFrame=function(A){LA.requestAnimationFrame(A)},Q.setCanvasSize=function(A,I,g){LA.setCanvasSize(A,I,g)},Q.pauseMainLoop=function(){LA.mainLoop.pause()},Q.resumeMainLoop=function(){LA.mainLoop.resume()},Q.getUserMedia=function(){LA.getUserMedia()},Q.createContext=function(A,I,g,C){return LA.createContext(A,I,g,C)};var LC=function(A,I,g,C){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=XA.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=C},pC=365,fC=146;Object.defineProperties(LC.prototype,{read:{get:function(){return(this.mode&pC)===pC},set:function(A){A?this.mode|=pC:this.mode&=~pC}},write:{get:function(){return(this.mode&fC)===fC},set:function(A){A?this.mode|=fC:this.mode&=~fC}},isFolder:{get:function(){return XA.isDir(this.mode)}},isDevice:{get:function(){return XA.isChrdev(this.mode)}}}),XA.FSNode=LC,XA.staticInit(),Q.FS_createPath=XA.createPath,Q.FS_createDataFile=XA.createDataFile,Q.FS_createPreloadedFile=XA.createPreloadedFile,Q.FS_createLazyFile=XA.createLazyFile,Q.FS_createDevice=XA.createDevice,Q.FS_unlink=XA.unlink,eI=Q.InternalError=tI(Error,"InternalError"),wI(),yI=Q.BindingError=tI(Error,"BindingError"),qI(),og(),gg(),rg=Q.UnboundTypeError=tI(Error,"UnboundTypeError"),ug();var HC=!1;function mC(A,I,g){var C=g>0?g:f(A)+1,B=new Array(C),Q=L(A,B,0,B.length);return I&&(B.length=Q),B}function qC(A){for(var I=[],g=0;g255&&(HC&&k(!1,"Character code "+C+" ("+String.fromCharCode(C)+") at offset "+g+" not in 0x00-0xFF."),C&=255),I.push(String.fromCharCode(C))}return I.join("")}var xC="function"==typeof atob?atob:function(A){var I,g,C,B,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",t=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(t++))<<2|(B=i.indexOf(A.charAt(t++)))>>4,g=(15&B)<<4|(Q=i.indexOf(A.charAt(t++)))>>2,C=(3&Q)<<6|(E=i.indexOf(A.charAt(t++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(C))}while(t0||(oA(),nA>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),I()}),1)):I()))}if(Q.___embind_register_native_and_builtin_types=function(){return(Q.___embind_register_native_and_builtin_types=Q.asm.__embind_register_native_and_builtin_types).apply(null,arguments)},Q._emscripten_main_thread_process_queued_calls=function(){return(Q._emscripten_main_thread_process_queued_calls=Q.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Q.stackSave=function(){return(Q.stackSave=Q.asm.stackSave).apply(null,arguments)},Q.stackRestore=function(){return(Q.stackRestore=Q.asm.stackRestore).apply(null,arguments)},Q.stackAlloc=function(){return(Q.stackAlloc=Q.asm.stackAlloc).apply(null,arguments)},Q._setThrew=function(){return(Q._setThrew=Q.asm.setThrew).apply(null,arguments)},Q.___cxa_demangle=function(){return(Q.___cxa_demangle=Q.asm.__cxa_demangle).apply(null,arguments)},Q.dynCall_viijii=function(){return(Q.dynCall_viijii=Q.asm.dynCall_viijii).apply(null,arguments)},Q.dynCall_ji=function(){return(Q.dynCall_ji=Q.asm.dynCall_ji).apply(null,arguments)},Q.dynCall_vij=function(){return(Q.dynCall_vij=Q.asm.dynCall_vij).apply(null,arguments)},Q.dynCall_jiji=function(){return(Q.dynCall_jiji=Q.asm.dynCall_jiji).apply(null,arguments)},Q.dynCall_iiiiij=function(){return(Q.dynCall_iiiiij=Q.asm.dynCall_iiiiij).apply(null,arguments)},Q.dynCall_iiiiijj=function(){return(Q.dynCall_iiiiijj=Q.asm.dynCall_iiiiijj).apply(null,arguments)},Q.dynCall_iiiiiijj=function(){return(Q.dynCall_iiiiiijj=Q.asm.dynCall_iiiiiijj).apply(null,arguments)},Q.addRunDependency=wA,Q.removeRunDependency=cA,Q.FS_createPath=XA.createPath,Q.FS_createDataFile=XA.createDataFile,Q.FS_createPreloadedFile=XA.createPreloadedFile,Q.FS_createLazyFile=XA.createLazyFile,Q.FS_createDevice=XA.createDevice,Q.FS_unlink=XA.unlink,hA=function A(){VC||zC(),VC||(hA=A)},Q.run=zC,Q.preInit)for("function"==typeof Q.preInit&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();function _C(A,I){this.start=void 0===A?0:A,this.end=void 0===I?0:I}function $C(A,I){this.x=void 0===A?0:A,this.y=void 0===I?0:I}function AB(A,I){this.width=void 0===A?0:A,this.height=void 0===I?0:I}function IB(){switch(arguments.length){case 0:this.x=0,this.y=0,this.width=0,this.height=0;break;case 1:var A=arguments[0];this.x=A.x,this.y=A.y,this.width=A.width,this.height=A.height;break;case 2:var I=arguments[0],g=arguments[1];this.x=I.x,this.y=I.y,this.width=g.width,this.height=g.height;break;case 4:this.x=arguments[0],this.y=arguments[1],this.width=arguments[2],this.height=arguments[3];break;default:throw new Error("Invalid arguments")}}function gB(){switch(arguments.length){case 0:this.center={x:0,y:0},this.size={width:0,height:0},this.angle=0;break;case 3:this.center=arguments[0],this.size=arguments[1],this.angle=arguments[2];break;default:throw new Error("Invalid arguments")}}function CB(A,I,g,C){this.push(void 0===A?0:A),this.push(void 0===I?0:I),this.push(void 0===g?0:g),this.push(void 0===C?0:C)}function BB(){switch(arguments.length){case 0:this.minVal=0,this.maxVal=0,this.minLoc=new $C,this.maxLoc=new $C;break;case 4:this.minVal=arguments[0],this.maxVal=arguments[1],this.minLoc=arguments[2],this.maxLoc=arguments[3];break;default:throw new Error("Invalid arguments")}}function QB(){switch(arguments.length){case 0:this.center=new $C,this.radius=0;break;case 2:this.center=arguments[0],this.radius=arguments[1];break;default:throw new Error("Invalid arguments")}}function EB(){switch(arguments.length){case 0:this.type=0,this.maxCount=0,this.epsilon=0;break;case 3:this.type=arguments[0],this.maxCount=arguments[1],this.epsilon=arguments[2];break;default:throw new Error("Invalid arguments")}}return zC(),void 0===Q.FS&&void 0!==XA&&(Q.FS=XA),Q.imread=function(I){var g,C=null,B=null;if((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLImageElement)(C=document.createElement("canvas")).width=g.width,C.height=g.height,(B=C.getContext("2d")).drawImage(g,0,0,g.width,g.height);else{if(!(g instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas or img id.");B=(C=g).getContext("2d")}var Q=B.getImageData(0,0,C.width,C.height);return A.matFromImageData(Q)},Q.imshow=function(I,g){var C=null;if(!((C="string"==typeof I?document.getElementById(I):I)instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas element or id.");if(!(g instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");var B=new A.Mat,Q=g.type()%8,E=Q<=A.CV_8S?1:Q<=A.CV_32S?1/256:255,i=Q===A.CV_8S||Q===A.CV_16S?128:0;switch(g.convertTo(B,A.CV_8U,E,i),B.type()){case A.CV_8UC1:A.cvtColor(B,B,A.COLOR_GRAY2RGBA);break;case A.CV_8UC3:A.cvtColor(B,B,A.COLOR_RGB2RGBA);break;case A.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)")}var o=new ImageData(new Uint8ClampedArray(B.data),B.cols,B.rows),t=C.getContext("2d");t.clearRect(0,0,C.width,C.height),C.width=o.width,C.height=o.height,t.putImageData(o,0,0),B.delete()},Q.VideoCapture=function(I){var g;if(!((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLVideoElement))throw new Error("Please input the valid video element or id.");var C=document.createElement("canvas");C.width=g.width,C.height=g.height;var B=C.getContext("2d");this.video=g,this.read=function(I){if(!(I instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");if(I.type()!==A.CV_8UC4)throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");if(I.cols!==g.width||I.rows!==g.height)throw new Error("Bad size of input mat: the size should be same as the video.");B.drawImage(g,0,0,g.width,g.height),I.data.set(B.getImageData(0,0,g.width,g.height).data)}},Q.Range=_C,Q.Point=$C,Q.Size=AB,Q.Rect=IB,gB.points=function(A){return Q.rotatedRectPoints(A)},gB.boundingRect=function(A){return Q.rotatedRectBoundingRect(A)},gB.boundingRect2f=function(A){return Q.rotatedRectBoundingRect2f(A)},Q.RotatedRect=gB,CB.prototype=new Array,CB.all=function(A){return new CB(A,A,A,A)},Q.Scalar=CB,Q.MinMaxLoc=BB,Q.Circle=QB,Q.TermCriteria=EB,Q.matFromArray=function(I,g,C,B){var Q=new A.Mat(I,g,C);switch(C){case A.CV_8U:case A.CV_8UC1:case A.CV_8UC2:case A.CV_8UC3:case A.CV_8UC4:Q.data.set(B);break;case A.CV_8S:case A.CV_8SC1:case A.CV_8SC2:case A.CV_8SC3:case A.CV_8SC4:Q.data8S.set(B);break;case A.CV_16U:case A.CV_16UC1:case A.CV_16UC2:case A.CV_16UC3:case A.CV_16UC4:Q.data16U.set(B);break;case A.CV_16S:case A.CV_16SC1:case A.CV_16SC2:case A.CV_16SC3:case A.CV_16SC4:Q.data16S.set(B);break;case A.CV_32S:case A.CV_32SC1:case A.CV_32SC2:case A.CV_32SC3:case A.CV_32SC4:Q.data32S.set(B);break;case A.CV_32F:case A.CV_32FC1:case A.CV_32FC2:case A.CV_32FC3:case A.CV_32FC4:Q.data32F.set(B);break;case A.CV_64F:case A.CV_64FC1:case A.CV_64FC2:case A.CV_64FC3:case A.CV_64FC4:Q.data64F.set(B);break;default:throw new Error("Type is unsupported")}return Q},Q.matFromImageData=function(I){var g=new A.Mat(I.height,I.width,A.CV_8UC4);return g.data.set(I.data),g},A.ready},A.exports=C,"undefined"==typeof Module&&(Module={}),C(Module));var I,C}.call(I,g,I,A),void 0===C||(A.exports=C)},2749:(A,I,g)=>{g(4412);const C=g(9894).Z,B=g(7676).Z,Q=g(2810).Z;A.exports={UI:class{constructor({uiLoading:A,uiScanning:I,uiError:g}){"yes"===A?this.loadingModal=this._loadHTML(C):"no"!==A&&(this.loadingModal=document.querySelector(A)),"yes"===g?this.compatibilityModal=this._loadHTML(B):"no"!==g&&(this.compatibilityModal=document.querySelector(g)),"yes"===I?this.scanningMask=this._loadHTML(Q):"no"!==I&&(this.scanningMask=document.querySelector(I)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(A){const I=document.createElement("template");I.innerHTML=A.trim();const g=I.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(g),g}}}},3906:()=>{},2993:()=>{},1386:()=>{}},I={};function g(C){if(I[C])return I[C].exports;var B=I[C]={id:C,exports:{}};return A[C].call(B.exports,B,B.exports,g),B.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var C in I)g.o(I,C)&&!g.o(A,C)&&Object.defineProperty(A,C,{enumerable:!0,get:I[C]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),g.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},(()=>{const A=g(2212),{CSS3DRenderer:I}=g(1564),{Controller:C}=g(1320),{UI:B}=g(2749);window.MINDAR||(window.MINDAR={}),window.MINDAR.FACE||(window.MINDAR.FACE={}),window.MINDAR.FACE.MindARThree=class{constructor({container:g,preserveDrawingBuffer:Q,uiLoading:E="yes",uiScanning:i="yes",uiError:o="yes",filterMinCF:t=null,filterBeta:e=null}){this.container=g,this.ui=new B({uiLoading:E,uiScanning:i,uiError:o}),this.controller=new C({filterMinCF:t,filterBeta:e}),this.scene=new A.Scene,this.cssScene=new A.Scene,this.renderer=new A.WebGLRenderer({antialias:!0,alpha:!0,preserveDrawingBuffer:Q}),this.cssRenderer=new I({antialias:!0}),this.renderer.outputEncoding=A.sRGBEncoding,this.renderer.setPixelRatio(window.devicePixelRatio),this.camera=new A.PerspectiveCamera,this.anchors=[],this.faceMeshes=[],this.container.appendChild(this.renderer.domElement),this.container.appendChild(this.cssRenderer.domElement),this.shouldFaceUser=!0,window.addEventListener("resize",this._resize.bind(this))}async start(){this.ui.showLoading(),await this._startVideo(),await this._startAR(),this.ui.hideLoading()}stop(){this.video.srcObject.getTracks().forEach((function(A){A.stop()})),this.video.remove(),this.controller.stopProcessVideo()}switchCamera(){this.shouldFaceUser=!this.shouldFaceUser,this.stop(),this.start()}addFaceMesh(){const I=this.controller.createThreeFaceGeometry(A),g=new A.Mesh(I,new A.MeshStandardMaterial({color:16777215}));return g.visible=!1,g.matrixAutoUpdate=!1,this.faceMeshes.push(g),g}addAnchor(I){const g=new A.Group;g.matrixAutoUpdate=!1;const C={group:g,landmarkIndex:I,css:!1};return this.anchors.push(C),this.scene.add(g),C}addCSSAnchor(I){const g=new A.Group;g.matrixAutoUpdate=!1;const C={group:g,landmarkIndex:I,css:!0};return this.anchors.push(C),this.cssScene.add(g),C}_startVideo(){return new Promise(((A,I)=>{if(this.video=document.createElement("video"),this.video.setAttribute("autoplay",""),this.video.setAttribute("muted",""),this.video.setAttribute("playsinline",""),this.video.style.position="absolute",this.video.style.top="0px",this.video.style.left="0px",this.video.style.zIndex="-2",this.container.appendChild(this.video),!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)return this.ui.showCompatibility(),void I();navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:this.shouldFaceUser?"face":"environment"}}).then((I=>{this.video.addEventListener("loadedmetadata",(()=>{this.video.setAttribute("width",this.video.videoWidth),this.video.setAttribute("height",this.video.videoHeight),A()})),this.video.srcObject=I})).catch((A=>{console.log("getUserMedia error",A),I()}))}))}_startAR(){return new Promise((async(A,I)=>{const g=this.video;this.container,this.controller.onUpdate=({hasFace:A,estimateResult:I})=>{for(let I=0;I{I.element.style.visibility=A?"visible":"hidden"})):this.anchors[I].group.visible=A;for(let I=0;IC.clientWidth/C.clientHeight?(E=C.clientHeight,Q=E*i):(Q=C.clientWidth,E=Q/i),B.style.top=-(E-C.clientHeight)/2+"px",B.style.left=-(Q-C.clientWidth)/2+"px",B.style.width=Q+"px",B.style.height=E+"px";const o=A.domElement,t=I.domElement;o.style.position="absolute",o.style.top=B.style.top,o.style.left=B.style.left,o.style.width=B.style.width,o.style.height=B.style.height,t.style.position="absolute",t.style.top=B.style.top,t.style.left=B.style.left,t.style.transformOrigin="top left",t.style.transform="scale("+Q/parseFloat(t.style.width)+","+E/parseFloat(t.style.height)+")"}},window.MINDAR.FACE.THREE=A})()})(); \ No newline at end of file diff --git a/dist/mindar-face.prod.js b/dist/mindar-face.prod.js index 1fc18e5c..280b21e7 100644 --- a/dist/mindar-face.prod.js +++ b/dist/mindar-face.prod.js @@ -1 +1 @@ -(()=>{var A={8818:function(A,I,g){(function(){"use strict";var A;function I(A){var I=0;return function(){return I>>0)+"_",B=0;return function A(C){if(this instanceof A)throw new TypeError("Symbol is not a constructor");return new I(g+(C||"")+"_"+B++,C)}})),Q("Symbol.iterator",(function(A){if(A)return A;A=Symbol("Symbol.iterator");for(var g="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),Q=0;Q(I=I||0)&&(I=Math.max(I+C,0));IQ)C[g++]=Q;else{if(2048>Q)C[g++]=Q>>6|192;else{if(55296<=Q&&57343>=Q){if(56319>=Q&&B=E){Q=1024*(Q-55296)+E-56320+65536,C[g++]=Q>>18|240,C[g++]=Q>>12&63|128,C[g++]=Q>>6&63|128,C[g++]=63&Q|128;continue}B--}if(I)throw Error("Found an unpaired surrogate");Q=65533}C[g++]=Q>>12|224,C[g++]=Q>>6&63|128}C[g++]=63&Q|128}}A=C.subarray(0,g)}return A}var n={},l=null;function e(A,I){void 0===I&&(I=0),b(),I=n[I];for(var g=Array(Math.floor(A.length/3)),C=I[64]||"",B=0,Q=0;B>2];E=I[(3&E)<<4|i>>4],i=I[(15&i)<<2|D>>6],D=I[63&D],g[Q++]=o+E+i+D}switch(o=0,D=C,A.length-B){case 2:D=I[(15&(o=A[B+1]))<<2]||C;case 1:A=A[B],g[Q]=I[A>>2]+I[(3&A)<<4|o>>4]+D+C}return g.join("")}function b(){if(!l){l={};for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),I=["+/=","+/","-_=","-_.","-_"],g=0;5>g;g++){var C=A.concat(I[g].split(""));n[g]=C;for(var B=0;B>4),64!=E&&(I(Q<<4&240|E>>2),64!=i&&I(E<<6&192|i))}}(A,(function(A){C[B++]=A})),C.subarray(0,B)}(I):I instanceof Uint8Array?new Uint8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(0),A.h=I,A.l=0,A.j=A.h.length,A.g=A.l}function m(A){for(var I=128,g=0,C=0,B=0;4>B&&128<=I;B++)g|=(127&(I=A.h[A.g++]))<<7*B;if(128<=I&&(g|=(127&(I=A.h[A.g++]))<<28,C|=(127&I)>>4),128<=I)for(B=0;5>B&&128<=I;B++)C|=(127&(I=A.h[A.g++]))<<7*B+3;if(128>I)return A=g>>>0,(C=2147483648&(I=C>>>0))&&(I=~I>>>0,0==(A=1+~A>>>0)&&(I=I+1>>>0)),A=4294967296*I+(A>>>0),C?-A:A;A.m=!0}Z.prototype.reset=function(){this.g=this.l},Z.prototype.i=function(){var A=this.h,I=A[this.g],g=127&I;return 128>I?(this.g+=1,g):(g|=(127&(I=A[this.g+1]))<<7,128>I?(this.g+=2,g):(g|=(127&(I=A[this.g+2]))<<14,128>I?(this.g+=3,g):(g|=(127&(I=A[this.g+3]))<<21,128>I?(this.g+=4,g):(g|=(15&(I=A[this.g+4]))<<28,128>I?(this.g+=5,g>>>0):(this.g+=5,128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&this.g++,g)))))},Z.prototype.o=function(){var A=this.h[this.g],I=this.h[this.g+1],g=this.h[this.g+2],C=this.h[this.g+3];return this.g+=4,A=2*((g=(A<<0|I<<8|g<<16|C<<24)>>>0)>>31)+1,I=g>>>23&255,g&=8388607,255==I?g?NaN:1/0*A:0==I?A*Math.pow(2,-149)*g:A*Math.pow(2,I-150)*(g+Math.pow(2,23))};var p=[];function X(){this.g=new Uint8Array(64),this.h=0}function O(A,I){for(;127>>=7;A.push(I)}function u(A){var I={},g=void 0!==I.N&&I.N;this.o={v:void 0!==I.v&&I.v},this.N=g,I=this.o,p.length?(g=p.pop(),I&&(g.v=I.v),A&&T(g,A),A=g):A=new Z(A,I),this.g=A,this.m=this.g.g,this.h=this.i=this.l=-1,this.j=!1}function j(A){var I=A.g;if((I=I.g==I.j)||(I=A.j)||(I=(I=A.g).m||0>I.g||I.g>I.j),I)return!1;A.m=A.g.g;var g=7&(I=A.g.i());return 0!=g&&5!=g&&1!=g&&2!=g&&3!=g&&4!=g?(A.j=!0,!1):(A.i=I,A.l=I>>>3,A.h=g,!0)}function P(A){switch(A.h){case 0:if(0!=A.h)P(A);else{for(A=A.g;128&A.h[A.g];)A.g++;A.g++}break;case 1:1!=A.h?P(A):(A=A.g).g+=8;break;case 2:if(2!=A.h)P(A);else{var I=A.g.i();(A=A.g).g+=I}break;case 5:5!=A.h?P(A):(A=A.g).g+=4;break;case 3:for(I=A.l;;){if(!j(A)){A.j=!0;break}if(4==A.h){A.l!=I&&(A.j=!0);break}P(A)}break;default:A.j=!0}}function z(A,I,g){var C=A.g.j,B=A.g.i(),Q=A.g.g+B;if(A.g.j=Q,g(I,A),0!=(g=Q-A.g.g))throw Error("Message parsing ended unexpectedly. Expected to read "+B+" bytes, instead read "+(B-g)+" bytes, either the data ended unexpectedly or the message misreported its own length");return A.g.g=Q,A.g.j=C,I}function v(A){return A.g.o()}function _(A){var I,g=A.g.i(),C=(A=A.g).g;if(A.g+=g,A=A.h,t)(I=H)||(I=H=new TextDecoder("utf-8",{fatal:!1})),I=I.decode(A.subarray(C,C+g));else{g=C+g;for(var B,Q,E,i=[],D=null;C(B=A[C++])?i.push(B):224>B?C>=g?i.push(65533):(Q=A[C++],194>B||128!=(192&Q)?(C--,i.push(65533)):i.push((31&B)<<6|63&Q)):240>B?C>=g-1?i.push(65533):128!=(192&(Q=A[C++]))||224===B&&160>Q||237===B&&160<=Q||128!=(192&(I=A[C++]))?(C--,i.push(65533)):i.push((15&B)<<12|(63&Q)<<6|63&I):244>=B?C>=g-2?i.push(65533):128!=(192&(Q=A[C++]))||0!=Q-144+(B<<28)>>30||128!=(192&(I=A[C++]))||128!=(192&(E=A[C++]))?(C--,i.push(65533)):(B=(7&B)<<18|(63&Q)<<12|(63&I)<<6|63&E,B-=65536,i.push(55296+(B>>10&1023),56320+(1023&B))):i.push(65533),8192<=i.length&&(D=L(D,i),i.length=0);I=L(D,i)}return I}function $(A,I,g){var C=A.g.i();for(C=A.g.g+C;A.g.gC?1:0)?-C:C)?W=0<1/C?0:2147483648:isNaN(C)?W=2147483647:34028234663852886e22>>0:11754943508222875e-54>C?(C=Math.round(C/Math.pow(2,-149)),W=(g<<31|C)>>>0):(I=Math.floor(Math.log(C)/Math.LN2),C*=Math.pow(2,-I),16777216<=(C=Math.round(8388608*C))&&++I,W=(g<<31|I+127<<23|8388607&C)>>>0),g=W,A.push(g>>>0&255),A.push(g>>>8&255),A.push(g>>>16&255),A.push(g>>>24&255)}}X.prototype.push=function(A){if(!(this.h+1=A.l?A.i?A.i[I]:void 0:A.h[I+A.j]}function aA(A,I){var g=void 0!==g&&g,C=hA(A,I,g);return null==C&&(C=RA),C===RA&&UA(A,I,C=wA([]),g),C}function sA(A){var I=aA(A,3);if(A.m||(A.m={}),!A.m[3]){for(var g=0;g=A.l?(NA(A),A.i[I]=g):A.h[I+A.j]=g}function MA(A,I,g){if(-1===g)return null;if(A.g||(A.g={}),!A.g[g]){var C=hA(A,g,!1);C&&(A.g[g]=new I(C))}return A.g[g]}function kA(A,I){A.g||(A.g={});var g=A.g[1];if(!g){var C=aA(A,1);g=[];for(var B=0;BL;var H=(L=Math.abs(L))>>>0;for(L=Math.floor((L-H)/4294967296),L>>>=0,Y&&(L=~L>>>0,4294967295<(H=1+(~H>>>0))&&(H=0,4294967295<++L&&(L=0))),Y=W=H,H=L;0>>7|H<<25)>>>0,H>>>=7;c.push(Y)}if(cA(S,J),k=CA(k),U.call(K,M,k),s.O)for(K=0;KL;L++)Y.push(127&H|128),H>>=7;Y.push(1)}BA(c,2,hA(J,2)),null!=(Y=hA(J,3))&&(Y=d(Y),O(c.g,26),O(c.g,Y.length),gA(c,c.g.end()),gA(c,Y)),null!=(Y=hA(J,4))&&(Y=d(Y),O(c.g,34),O(c.g,Y.length),gA(c,c.g.end()),gA(c,Y)),cA(J,c),S=CA(S),M.call(U,k,S)}}N=N.data;break A;default:N={}}}switch(G=N,w=o.stream,o.type){case"video":B.pushTexture2d(Object.assign(Object.assign({},G),{stream:w,timestamp:C}));break;case"detections":(F=G).stream=w,F.timestamp=C,B.pushDetectionList(F);break;default:throw Error("Unknown input config type: '"+o.type+"'")}}return R.i.send(B),y(g,R.C,4);case 4:B.delete(),g.g=0}}))}))},A.onResults=function(A,I){this.listeners[I||"$"]=A},c("Solution",II),c("OptionType",{BOOL:0,NUMBER:1,aa:2,0:"BOOL",1:"NUMBER",2:"STRING"});var QI={files:[{url:"face_mesh_solution_packed_assets_loader.js"},{simd:!0,url:"face_mesh_solution_simd_wasm_bin.js"},{simd:!1,url:"face_mesh_solution_wasm_bin.js"}],graph:{url:"face_mesh.binarypb"},listeners:[{wants:["multi_face_geometry","image_transformed","multi_face_landmarks"],outs:{image:"image_transformed",multiFaceGeometry:{type:"proto_list",stream:"multi_face_geometry",transform:function(A){return A.map(BI)}},multiFaceLandmarks:{type:"proto_list",stream:"multi_face_landmarks",transform:function(A){return A.map((function(A){return kA(fA(A),bA).map(jA)}))}}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},enableFaceGeometry:{type:0,graphOptionXref:{calculatorName:"EnableFaceGeometryConstant",calculatorType:"ConstantSidePacketCalculator",fieldName:"bool_value"}},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},maxNumFaces:{type:1,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorNumFaces",fieldName:"int_value"}},refineLandmarks:{type:0,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorRefineLandmarks",fieldName:"bool_value"}},minDetectionConfidence:{type:1,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facelandmarkfrontgpu__facedetectionshortrangegpu__facedetectionshortrangecommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}},minTrackingConfidence:{type:1,graphOptionXref:{calculatorType:"ThresholdingCalculator",calculatorName:"facelandmarkfrontgpu__facelandmarkgpu__ThresholdingCalculator",fieldName:"threshold"}},cameraNear:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"near"}},cameraFar:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"far"}},cameraVerticalFovDegrees:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"vertical_fov_degrees"}}}},EI=[[61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]],iI=[[263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]],DI=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],oI=[[33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]],GI=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],wI=[[10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]],FI=[].concat(D(EI),D(iI),D(DI),D(oI),D(GI),D(wI));function RI(A){A=A||{},A=Object.assign(Object.assign({},QI),A),this.g=new II(A)}(A=RI.prototype).close=function(){return this.g.close(),Promise.resolve()},A.onResults=function(A){this.g.onResults(A)},A.initialize=function(){return rA(this,(function A(){var I=this;return S(A,(function(A){return y(A,I.g.initialize(),0)}))}))},A.reset=function(){this.g.reset()},A.send=function(A){return rA(this,(function I(){var g=this;return S(I,(function(I){return y(I,g.g.send(A),0)}))}))},A.setOptions=function(A){this.g.setOptions(A)},c("FACE_GEOMETRY",{Layout:{COLUMN_MAJOR:0,ROW_MAJOR:1,0:"COLUMN_MAJOR",1:"ROW_MAJOR"},PrimitiveType:{TRIANGLE:0,0:"TRIANGLE"},VertexType:{VERTEX_PT:0,0:"VERTEX_PT"},DEFAULT_CAMERA_PARAMS:{verticalFovDegrees:63,near:1,far:1e4}}),c("FaceMesh",RI),c("FACEMESH_LIPS",EI),c("FACEMESH_LEFT_EYE",iI),c("FACEMESH_LEFT_EYEBROW",DI),c("FACEMESH_LEFT_IRIS",[[474,475],[475,476],[476,477],[477,474]]),c("FACEMESH_RIGHT_EYE",oI),c("FACEMESH_RIGHT_EYEBROW",GI),c("FACEMESH_RIGHT_IRIS",[[469,470],[470,471],[471,472],[472,469]]),c("FACEMESH_FACE_OVAL",wI),c("FACEMESH_CONTOURS",FI),c("FACEMESH_TESSELATION",[[127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]]),c("matrixDataToMatrix",(function(A){for(var I=A.getCols(),g=A.getRows(),C=A.getPackedDataList(),B=[],Q=0;Q{"use strict";g.d(I,{Z:()=>Q});var C=g(3645),B=g.n(C)()((function(A){return A[1]}));B.push([A.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const Q=B},3645:A=>{"use strict";A.exports=function(A){var I=[];return I.toString=function(){return this.map((function(I){var g=A(I);return I[2]?"@media ".concat(I[2]," {").concat(g,"}"):g})).join("")},I.i=function(A,g,C){"string"==typeof A&&(A=[[null,A,""]]);var B={};if(C)for(var Q=0;Q{"use strict";g.d(I,{Z:()=>C});const C='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},2810:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},4412:(A,I,g)=>{"use strict";g.r(I),g.d(I,{default:()=>E});var C=g(3379),B=g.n(C),Q=g(8485);B()(Q.Z,{insert:"head",singleton:!1});const E=Q.Z.locals||{}},3379:(A,I,g)=>{"use strict";var C,B=function(){var A={};return function(I){if(void 0===A[I]){var g=document.querySelector(I);if(window.HTMLIFrameElement&&g instanceof window.HTMLIFrameElement)try{g=g.contentDocument.head}catch(A){g=null}A[I]=g}return A[I]}}(),Q=[];function E(A){for(var I=-1,g=0;g{const{FaceMeshHelper:C}=g(8470),{cv:B,waitCV:Q}=g(9487),{Estimator:E}=g(107),{createThreeFaceGeometry:i}=g(1873),{positions:D}=g(2319),{OneEuroFilter:o}=g(344);A.exports={Controller:class{constructor({onUpdate:A=null,filterMinCF:I=null,filterBeta:g=null}){this.customFaceGeometries=[],this.estimator=null,this.lastEstimateResult=null,this.filterMinCF=null===I?.001:I,this.filterBeta=null===g?1:g,this.onUpdate=A,this.landmarkFilters=[];for(let A=0;A{const g=await this.faceMeshHelper.detect(A);if(0===g.multiFaceLandmarks.length){this.lastEstimateResult=null,this.onUpdate({hasFace:!1});for(let A=0;A[A.x,A.y,A.z])),I=this.estimator.estimate(A);if(null===this.lastEstimateResult)this.lastEstimateResult=I;else{const A=this.lastEstimateResult.metricLandmarks,g=(this.lastEstimateResult.faceMatrix,this.lastEstimateResult.faceScale,[]);for(let C=0;C{const{positions:C,landmarkBasis:B}=g(2319),{cv:Q}=g(9487),E=[];for(let A=0;A{E[A]=I}));const i=[];for(let A=0;A{D.includes(A)||D.push(A)})),D.sort(((A,I)=>A-I));let o=0,G=0;for(let A=0;AC[G][0]&&(G=A);A.exports={Estimator:class{constructor(A){const I=A.height,g=A.width,C=g,B=2*Math.atan(I/(2*C)),Q=2*Math.tan(.5*B),E=g*Q/I;this.near=1,this.far=1e4,this.frameHeight=I,this.frameWidth=g,this.focalLength=C,this.fov=B,this.left=-.5*E,this.right=.5*E,this.bottom=-.5*Q,this.top=.5*Q,this.focalLength=C,this.center=[g/2,I/2]}estimate(A){const I=this._projectToScreen(A);let g=this._cloneLandmarks(I);this._changeHandedness(g);const B=I.reduce(((A,I)=>A+I[2]),0)/I.length,E=this._estimateScale(g);g=this._cloneLandmarks(I),this._moveAndRescaleZ(B,E,g),this._unprojectScreen(g),this._changeHandedness(g);const w=this._estimateScale(g);let F=this._cloneLandmarks(I);const R=E*w;this._moveAndRescaleZ(B,R,F),this._unprojectScreen(F),this._changeHandedness(F);const N=this._solveWeightedOrthogonal(C,F,i),h=Q.matFromArray(4,4,Q.CV_64F,[N[0][0],N[0][1],N[0][2],N[0][3],N[1][0],N[1][1],N[1][2],N[1][3],N[2][0],N[2][1],N[2][2],N[2][3],N[3][0],N[3][1],N[3][2],N[3][3]]).inv(0).data64F,a=[[h[0],h[1],h[2],h[3]],[h[4],h[5],h[6],h[7]],[h[8],h[9],h[10],h[11]],[h[12],h[13],h[14],h[15]]],s=[];for(let A=0;A{y.push(s[I][0],s[I][1],s[I][2]),K.push(A[I][0]*this.frameWidth,A[I][1]*this.frameHeight)}));const U=Q.matFromArray(y.length/3,3,Q.CV_64F,y),M=Q.matFromArray(K.length/2,2,Q.CV_64F,K),k=Q.matFromArray(3,3,Q.CV_64F,[this.focalLength,0,this.center[0],0,this.focalLength,this.center[1],0,0,1]),S=Q.Mat.zeros(4,1,Q.CV_64F),J=new Q.Mat(3,1,Q.CV_64F),Y=new Q.Mat(3,1,Q.CV_64F),c=new Q.Mat(3,3,Q.CV_64F);Q.solvePnP(U,M,k,S,J,Y,!1),Q.Rodrigues(J,c);const L=[c.data64F[0],c.data64F[1],c.data64F[2],Y.data64F[0],-c.data64F[3],-c.data64F[4],-c.data64F[5],-Y.data64F[1],-c.data64F[6],-c.data64F[7],-c.data64F[8],-Y.data64F[2],0,0,0,1],H=s[G][0]-s[o][0];return{metricLandmarks:s,faceMatrix:L,faceScale:H}}_estimateScale(A){const I=this._solveWeightedOrthogonal(C,A,i);return Math.sqrt(I[0][0]*I[0][0]+I[0][1]*I[0][1]+I[0][2]*I[0][2])}_solveWeightedOrthogonal(A,I,g){const C=[],B=[];for(let Q=0;QA+I*I),0),E=[];for(let A=0;A{A.exports={positions:[[0,-3.406404,5.979507],[0,-1.126865,7.475604],[0,-2.089024,6.058267],[-.463928,.955357,6.633583],[0,-.46317,7.58658],[0,.365669,7.24287],[0,2.473255,5.788627],[-4.253081,2.577646,3.279702],[0,4.019042,5.284764],[0,4.885979,5.385258],[0,8.261778,4.481535],[0,-3.706811,5.864924],[0,-3.918301,5.56943],[0,-3.994436,5.219482],[0,-4.5424,5.404754],[0,-4.745577,5.529457],[0,-5.019567,5.601448],[0,-5.365123,5.535441],[0,-6.149624,5.071372],[0,-1.501095,7.112196],[-.416106,-1.466449,6.447657],[-7.08796,5.434801,.09962],[-2.628639,2.035898,3.848121],[-3.198363,1.985815,3.796952],[-3.775151,2.039402,3.646194],[-4.465819,2.42295,3.155168],[-2.164289,2.189867,3.851822],[-3.208229,3.223926,4.115822],[-2.673803,3.205337,4.092203],[-3.745193,3.165286,3.972409],[-4.161018,3.059069,3.719554],[-5.062006,1.934418,2.776093],[-2.266659,-7.425768,4.389812],[-4.445859,2.663991,3.173422],[-7.21453,2.263009,.07315],[-5.799793,2.349546,2.204059],[-2.844939,-.720868,4.43313],[-.711452,-3.329355,5.877044],[-.606033,-3.924562,5.444923],[-1.431615,-3.500953,5.496189],[-1.91491,-3.803146,5.02893],[-1.131043,-3.973937,5.189648],[-1.563548,-4.082763,4.842263],[-2.650112,-5.003649,4.188483],[-.427049,-1.094134,7.360529],[-.496396,-.475659,7.440358],[-5.253307,3.881582,3.363159],[-1.718698,.974609,4.558359],[-1.608635,-.942516,5.814193],[-1.651267,-.610868,5.581319],[-4.765501,-.701554,3.534632],[-.478306,.295766,7.101013],[-3.734964,4.50823,4.550454],[-4.588603,4.302037,4.048484],[-6.279331,6.615427,1.42585],[-1.220941,4.142165,5.106035],[-2.193489,3.100317,4.000575],[-3.102642,-4.352984,4.095905],[-6.719682,-4.788645,-1.745401],[-1.193824,-1.306795,5.737747],[-.729766,-1.593712,5.833208],[-2.456206,-4.342621,4.283884],[-2.204823,-4.304508,4.162499],[-4.985894,4.802461,3.751977],[-1.592294,-1.257709,5.456949],[-2.644548,4.524654,4.921559],[-2.760292,5.100971,5.01599],[-3.523964,8.005976,3.729163],[-5.599763,5.71547,2.724259],[-3.063932,6.566144,4.529981],[-5.720968,4.254584,2.830852],[-6.374393,4.78559,1.591691],[-.672728,-3.688016,5.737804],[-1.26256,-3.787691,5.417779],[-1.732553,-3.952767,5.000579],[-1.043625,-1.464973,5.662455],[-2.321234,-4.329069,4.258156],[-2.056846,-4.477671,4.520883],[-2.153084,-4.276322,4.038093],[-.946874,-1.035249,6.512274],[-1.469132,-4.036351,4.604908],[-1.02434,-3.989851,4.926693],[-.533422,-3.993222,5.138202],[-.76972,-6.095394,4.985883],[-.699606,-5.29185,5.448304],[-.669687,-4.94977,5.509612],[-.630947,-4.695101,5.449371],[-.583218,-4.517982,5.339869],[-1.53717,-4.423206,4.74547],[-1.6156,-4.475942,4.813632],[-1.729053,-4.61868,4.854463],[-1.838624,-4.828746,4.823737],[-2.36825,-3.106237,4.868096],[-7.542244,-1.049282,-2.431321],[0,-1.724003,6.60139],[-1.826614,-4.399531,4.399021],[-1.929558,-4.411831,4.497052],[-.597442,-2.013686,5.866456],[-1.405627,-1.714196,5.241087],[-.662449,-1.819321,5.863759],[-2.34234,.572222,4.294303],[-3.327324,.104863,4.11386],[-1.726175,-.919165,5.273355],[-5.133204,7.485602,2.660442],[-4.538641,6.319907,3.683424],[-3.986562,5.109487,4.466315],[-2.169681,-5.440433,4.455874],[-1.395634,5.011963,5.316032],[-1.6195,6.599217,4.921106],[-1.891399,8.236377,4.274997],[-4.195832,2.235205,3.375099],[-5.733342,1.411738,2.431726],[-1.859887,2.355757,3.843181],[-4.988612,3.074654,3.083858],[-1.303263,1.416453,4.831091],[-1.305757,-.672779,6.415959],[-6.46517,.937119,1.689873],[-5.258659,.945811,2.974312],[-4.432338,.722096,3.522615],[-3.300681,.861641,3.872784],[-2.430178,1.131492,4.039035],[-1.820731,1.467954,4.224124],[-.563221,2.307693,5.566789],[-6.338145,-.529279,1.881175],[-5.587698,3.208071,2.687839],[-.242624,-1.462857,7.071491],[-1.611251,.339326,4.895421],[-7.743095,2.364999,-2.005167],[-1.391142,1.851048,4.448999],[-1.785794,-.978284,4.85047],[-4.670959,2.664461,3.084075],[-1.33397,-.283761,6.097047],[-7.270895,-2.890917,-2.252455],[-1.856432,2.585245,3.757904],[-.923388,.073076,6.671944],[-5.000589,-6.135128,1.892523],[-5.085276,-7.17859,.714711],[-7.159291,-.81182,-.072044],[-5.843051,-5.248023,.924091],[-6.847258,3.662916,.724695],[-2.412942,-8.258853,4.119213],[-.179909,-1.689864,6.573301],[-2.103655,-.163946,4.566119],[-6.407571,2.236021,1.560843],[-3.670075,2.360153,3.63523],[-3.177186,2.294265,3.775704],[-2.196121,-4.598322,4.479786],[-6.234883,-1.94443,1.663542],[-1.292924,-9.29592,4.094063],[-3.210651,-8.533278,2.802001],[-4.068926,-7.993109,1.925119],[0,6.54539,5.027311],[0,-9.403378,4.264492],[-2.724032,2.315802,3.777151],[-2.28846,2.398891,3.697603],[-1.998311,2.496547,3.689148],[-6.13004,3.399261,2.038516],[-2.28846,2.886504,3.775031],[-2.724032,2.96181,3.871767],[-3.177186,2.964136,3.876973],[-3.670075,2.927714,3.724325],[-4.018389,2.857357,3.482983],[-7.555811,4.106811,-.991917],[-4.018389,2.483695,3.440898],[0,-2.521945,5.932265],[-1.776217,-2.683946,5.213116],[-1.222237,-1.182444,5.952465],[-.731493,-2.536683,5.815343],[0,3.271027,5.236015],[-4.135272,-6.996638,2.67197],[-3.311811,-7.660815,3.382963],[-1.313701,-8.639995,4.702456],[-5.940524,-6.223629,-.631468],[-1.998311,2.743838,3.74403],[-.901447,1.236992,5.754256],[0,-8.765243,4.891441],[-2.308977,-8.974196,3.60907],[-6.954154,-2.439843,-.131163],[-1.098819,-4.458788,5.120727],[-1.181124,-4.579996,5.189564],[-1.255818,-4.787901,5.237051],[-1.325085,-5.106507,5.20501],[-1.546388,-5.819392,4.757893],[-1.953754,-4.183892,4.431713],[-2.117802,-4.137093,4.555096],[-2.285339,-4.051196,4.582438],[-2.85016,-3.66572,4.484994],[-5.278538,-2.238942,2.861224],[-.946709,1.907628,5.196779],[-1.314173,3.104912,4.231404],[-1.78,2.86,3.881555],[-1.84511,-4.09888,4.247264],[-5.436187,-4.030482,2.109852],[-.766444,3.182131,4.861453],[-1.938616,-6.61441,4.521085],[0,1.059413,6.774605],[-.516573,1.583572,6.148363],[0,1.728369,6.31675],[-1.246815,.230297,5.681036],[0,-7.942194,5.181173],[0,-6.991499,5.153478],[-.997827,-6.930921,4.979576],[-3.288807,-5.382514,3.795752],[-2.311631,-1.566237,4.590085],[-2.68025,-6.111567,4.096152],[-3.832928,-1.537326,4.137731],[-2.96186,-2.274215,4.440943],[-4.386901,-2.683286,3.643886],[-1.217295,-7.834465,4.969286],[-1.542374,-.136843,5.201008],[-3.878377,-6.041764,3.311079],[-3.084037,-6.809842,3.814195],[-3.747321,-4.503545,3.726453],[-6.094129,-3.205991,1.473482],[-4.588995,-4.728726,2.983221],[-6.583231,-3.941269,.070268],[-3.49258,-3.19582,4.130198],[-1.255543,.802341,5.307551],[-1.126122,-.933602,6.538785],[-1.443109,-1.142774,5.905127],[-.923043,-.529042,7.003423],[-1.755386,3.529117,4.327696],[-2.632589,3.713828,4.364629],[-3.388062,3.721976,4.309028],[-4.075766,3.675413,4.076063],[-4.62291,3.474691,3.646321],[-5.171755,2.535753,2.670867],[-7.297331,.763172,-.048769],[-4.706828,1.651,3.109532],[-4.071712,1.476821,3.476944],[-3.269817,1.470659,3.731945],[-2.527572,1.617311,3.865444],[-1.970894,1.858505,3.961782],[-1.579543,2.097941,4.084996],[-7.664182,.673132,-2.435867],[-1.397041,-1.340139,5.630378],[-.884838,.65874,6.233232],[-.767097,-.968035,7.077932],[-.460213,-1.334106,6.787447],[-.748618,-1.067994,6.798303],[-1.236408,-1.585568,5.48049],[-.387306,-1.40999,6.957705],[-.319925,-1.607931,6.508676],[-1.639633,2.556298,3.863736],[-1.255645,2.467144,4.2038],[-1.031362,2.382663,4.615849],[-4.253081,2.772296,3.315305],[-4.53,2.91,3.339685],[.463928,.955357,6.633583],[4.253081,2.577646,3.279702],[.416106,-1.466449,6.447657],[7.08796,5.434801,.09962],[2.628639,2.035898,3.848121],[3.198363,1.985815,3.796952],[3.775151,2.039402,3.646194],[4.465819,2.42295,3.155168],[2.164289,2.189867,3.851822],[3.208229,3.223926,4.115822],[2.673803,3.205337,4.092203],[3.745193,3.165286,3.972409],[4.161018,3.059069,3.719554],[5.062006,1.934418,2.776093],[2.266659,-7.425768,4.389812],[4.445859,2.663991,3.173422],[7.21453,2.263009,.07315],[5.799793,2.349546,2.204059],[2.844939,-.720868,4.43313],[.711452,-3.329355,5.877044],[.606033,-3.924562,5.444923],[1.431615,-3.500953,5.496189],[1.91491,-3.803146,5.02893],[1.131043,-3.973937,5.189648],[1.563548,-4.082763,4.842263],[2.650112,-5.003649,4.188483],[.427049,-1.094134,7.360529],[.496396,-.475659,7.440358],[5.253307,3.881582,3.363159],[1.718698,.974609,4.558359],[1.608635,-.942516,5.814193],[1.651267,-.610868,5.581319],[4.765501,-.701554,3.534632],[.478306,.295766,7.101013],[3.734964,4.50823,4.550454],[4.588603,4.302037,4.048484],[6.279331,6.615427,1.42585],[1.220941,4.142165,5.106035],[2.193489,3.100317,4.000575],[3.102642,-4.352984,4.095905],[6.719682,-4.788645,-1.745401],[1.193824,-1.306795,5.737747],[.729766,-1.593712,5.833208],[2.456206,-4.342621,4.283884],[2.204823,-4.304508,4.162499],[4.985894,4.802461,3.751977],[1.592294,-1.257709,5.456949],[2.644548,4.524654,4.921559],[2.760292,5.100971,5.01599],[3.523964,8.005976,3.729163],[5.599763,5.71547,2.724259],[3.063932,6.566144,4.529981],[5.720968,4.254584,2.830852],[6.374393,4.78559,1.591691],[.672728,-3.688016,5.737804],[1.26256,-3.787691,5.417779],[1.732553,-3.952767,5.000579],[1.043625,-1.464973,5.662455],[2.321234,-4.329069,4.258156],[2.056846,-4.477671,4.520883],[2.153084,-4.276322,4.038093],[.946874,-1.035249,6.512274],[1.469132,-4.036351,4.604908],[1.02434,-3.989851,4.926693],[.533422,-3.993222,5.138202],[.76972,-6.095394,4.985883],[.699606,-5.29185,5.448304],[.669687,-4.94977,5.509612],[.630947,-4.695101,5.449371],[.583218,-4.517982,5.339869],[1.53717,-4.423206,4.74547],[1.6156,-4.475942,4.813632],[1.729053,-4.61868,4.854463],[1.838624,-4.828746,4.823737],[2.36825,-3.106237,4.868096],[7.542244,-1.049282,-2.431321],[1.826614,-4.399531,4.399021],[1.929558,-4.411831,4.497052],[.597442,-2.013686,5.866456],[1.405627,-1.714196,5.241087],[.662449,-1.819321,5.863759],[2.34234,.572222,4.294303],[3.327324,.104863,4.11386],[1.726175,-.919165,5.273355],[5.133204,7.485602,2.660442],[4.538641,6.319907,3.683424],[3.986562,5.109487,4.466315],[2.169681,-5.440433,4.455874],[1.395634,5.011963,5.316032],[1.6195,6.599217,4.921106],[1.891399,8.236377,4.274997],[4.195832,2.235205,3.375099],[5.733342,1.411738,2.431726],[1.859887,2.355757,3.843181],[4.988612,3.074654,3.083858],[1.303263,1.416453,4.831091],[1.305757,-.672779,6.415959],[6.46517,.937119,1.689873],[5.258659,.945811,2.974312],[4.432338,.722096,3.522615],[3.300681,.861641,3.872784],[2.430178,1.131492,4.039035],[1.820731,1.467954,4.224124],[.563221,2.307693,5.566789],[6.338145,-.529279,1.881175],[5.587698,3.208071,2.687839],[.242624,-1.462857,7.071491],[1.611251,.339326,4.895421],[7.743095,2.364999,-2.005167],[1.391142,1.851048,4.448999],[1.785794,-.978284,4.85047],[4.670959,2.664461,3.084075],[1.33397,-.283761,6.097047],[7.270895,-2.890917,-2.252455],[1.856432,2.585245,3.757904],[.923388,.073076,6.671944],[5.000589,-6.135128,1.892523],[5.085276,-7.17859,.714711],[7.159291,-.81182,-.072044],[5.843051,-5.248023,.924091],[6.847258,3.662916,.724695],[2.412942,-8.258853,4.119213],[.179909,-1.689864,6.573301],[2.103655,-.163946,4.566119],[6.407571,2.236021,1.560843],[3.670075,2.360153,3.63523],[3.177186,2.294265,3.775704],[2.196121,-4.598322,4.479786],[6.234883,-1.94443,1.663542],[1.292924,-9.29592,4.094063],[3.210651,-8.533278,2.802001],[4.068926,-7.993109,1.925119],[2.724032,2.315802,3.777151],[2.28846,2.398891,3.697603],[1.998311,2.496547,3.689148],[6.13004,3.399261,2.038516],[2.28846,2.886504,3.775031],[2.724032,2.96181,3.871767],[3.177186,2.964136,3.876973],[3.670075,2.927714,3.724325],[4.018389,2.857357,3.482983],[7.555811,4.106811,-.991917],[4.018389,2.483695,3.440898],[1.776217,-2.683946,5.213116],[1.222237,-1.182444,5.952465],[.731493,-2.536683,5.815343],[4.135272,-6.996638,2.67197],[3.311811,-7.660815,3.382963],[1.313701,-8.639995,4.702456],[5.940524,-6.223629,-.631468],[1.998311,2.743838,3.74403],[.901447,1.236992,5.754256],[2.308977,-8.974196,3.60907],[6.954154,-2.439843,-.131163],[1.098819,-4.458788,5.120727],[1.181124,-4.579996,5.189564],[1.255818,-4.787901,5.237051],[1.325085,-5.106507,5.20501],[1.546388,-5.819392,4.757893],[1.953754,-4.183892,4.431713],[2.117802,-4.137093,4.555096],[2.285339,-4.051196,4.582438],[2.85016,-3.66572,4.484994],[5.278538,-2.238942,2.861224],[.946709,1.907628,5.196779],[1.314173,3.104912,4.231404],[1.78,2.86,3.881555],[1.84511,-4.09888,4.247264],[5.436187,-4.030482,2.109852],[.766444,3.182131,4.861453],[1.938616,-6.61441,4.521085],[.516573,1.583572,6.148363],[1.246815,.230297,5.681036],[.997827,-6.930921,4.979576],[3.288807,-5.382514,3.795752],[2.311631,-1.566237,4.590085],[2.68025,-6.111567,4.096152],[3.832928,-1.537326,4.137731],[2.96186,-2.274215,4.440943],[4.386901,-2.683286,3.643886],[1.217295,-7.834465,4.969286],[1.542374,-.136843,5.201008],[3.878377,-6.041764,3.311079],[3.084037,-6.809842,3.814195],[3.747321,-4.503545,3.726453],[6.094129,-3.205991,1.473482],[4.588995,-4.728726,2.983221],[6.583231,-3.941269,.070268],[3.49258,-3.19582,4.130198],[1.255543,.802341,5.307551],[1.126122,-.933602,6.538785],[1.443109,-1.142774,5.905127],[.923043,-.529042,7.003423],[1.755386,3.529117,4.327696],[2.632589,3.713828,4.364629],[3.388062,3.721976,4.309028],[4.075766,3.675413,4.076063],[4.62291,3.474691,3.646321],[5.171755,2.535753,2.670867],[7.297331,.763172,-.048769],[4.706828,1.651,3.109532],[4.071712,1.476821,3.476944],[3.269817,1.470659,3.731945],[2.527572,1.617311,3.865444],[1.970894,1.858505,3.961782],[1.579543,2.097941,4.084996],[7.664182,.673132,-2.435867],[1.397041,-1.340139,5.630378],[.884838,.65874,6.233232],[.767097,-.968035,7.077932],[.460213,-1.334106,6.787447],[.748618,-1.067994,6.798303],[1.236408,-1.585568,5.48049],[.387306,-1.40999,6.957705],[.319925,-1.607931,6.508676],[1.639633,2.556298,3.863736],[1.255645,2.467144,4.2038],[1.031362,2.382663,4.615849],[4.253081,2.772296,3.315305],[4.53,2.91,3.339685]],uvs:[[.499977,.347466],[.500026,.452513],[.499974,.397628],[.482113,.528021],[.500151,.472844],[.49991,.501747],[.499523,.598938],[.289712,.619236],[.499955,.687602],[.499987,.730081],[.500023,.89295],[.500023,.333766],[.500016,.320776],[.500023,.307652],[.499977,.304722],[.499977,.294066],[.499977,.280615],[.499977,.262981],[.499968,.218629],[.499816,.437019],[.473773,.42609],[.104907,.745859],[.36593,.590424],[.338758,.586975],[.31112,.59054],[.274658,.610869],[.393362,.596294],[.345234,.655989],[.370094,.653924],[.319322,.652735],[.297903,.646409],[.247792,.58919],[.396889,.157245],[.280098,.6244],[.10631,.600044],[.209925,.608647],[.355808,.465594],[.471751,.349596],[.474155,.319808],[.439785,.342771],[.414617,.333459],[.450374,.319139],[.428771,.317309],[.374971,.272195],[.486717,.452371],[.485301,.472605],[.257765,.68551],[.401223,.544828],[.429819,.451385],[.421352,.466259],[.276896,.467943],[.48337,.500413],[.337212,.717117],[.296392,.706757],[.169295,.806186],[.44758,.69739],[.39239,.646112],[.35449,.303216],[.067305,.269895],[.442739,.427174],[.457098,.415208],[.381974,.305289],[.392389,.305797],[.277076,.728068],[.422552,.436767],[.385919,.718636],[.383103,.74416],[.331431,.880286],[.229924,.767997],[.364501,.810886],[.229622,.700459],[.173287,.721252],[.472879,.333802],[.446828,.331473],[.422762,.32611],[.445308,.419934],[.388103,.306039],[.403039,.29346],[.403629,.306047],[.460042,.442861],[.431158,.307634],[.452182,.307634],[.475387,.307634],[.465828,.22081],[.472329,.263774],[.473087,.282143],[.473122,.295374],[.473033,.304722],[.427942,.304722],[.426479,.29646],[.423162,.288154],[.418309,.279937],[.390095,.360427],[.013954,.439966],[.499914,.419853],[.4132,.3046],[.409626,.298177],[.46808,.398465],[.422729,.414015],[.46308,.406216],[.37212,.526586],[.334562,.503927],[.411671,.453035],[.242176,.852324],[.290777,.798554],[.327338,.743473],[.39951,.251079],[.441728,.738324],[.429765,.812166],[.412198,.891099],[.288955,.601048],[.218937,.564589],[.412782,.60103],[.257135,.64456],[.427685,.562039],[.44834,.463064],[.17856,.542446],[.247308,.542806],[.286267,.532325],[.332828,.539288],[.368756,.552793],[.398964,.567345],[.47641,.594194],[.189241,.476076],[.228962,.651049],[.490726,.437599],[.40467,.514867],[.019469,.598436],[.426243,.579569],[.396993,.451203],[.26647,.623023],[.439121,.481042],[.032314,.355643],[.419054,.612845],[.462783,.494253],[.238979,.220255],[.198221,.168062],[.10755,.459245],[.18361,.259743],[.13441,.666317],[.385764,.116846],[.490967,.420622],[.382385,.491427],[.174399,.602329],[.318785,.603765],[.343364,.599403],[.3961,.289783],[.187885,.411462],[.430987,.055935],[.318993,.101715],[.266248,.130299],[.500023,.809424],[.499977,.045547],[.36617,.601178],[.393207,.604463],[.410373,.60892],[.194993,.657898],[.388665,.637716],[.365962,.644029],[.343364,.644643],[.318785,.64166],[.301415,.636844],[.058133,.680924],[.301415,.612551],[.499988,.381566],[.415838,.375804],[.445682,.433923],[.465844,.379359],[.499923,.648476],[.288719,.180054],[.335279,.14718],[.440512,.097581],[.128294,.208059],[.408772,.626106],[.455607,.548199],[.499877,.09101],[.375437,.075808],[.11421,.384978],[.448662,.304722],[.44802,.295368],[.447112,.284192],[.444832,.269206],[.430012,.233191],[.406787,.314327],[.400738,.318931],[.3924,.322297],[.367856,.336081],[.247923,.398667],[.45277,.57915],[.436392,.640113],[.416164,.631286],[.413386,.307634],[.228018,.316428],[.468268,.647329],[.411362,.195673],[.499989,.530175],[.479154,.557346],[.499974,.560363],[.432112,.506411],[.499886,.133083],[.499913,.178271],[.456549,.180799],[.344549,.254561],[.378909,.42599],[.374293,.219815],[.319688,.429262],[.357155,.39573],[.295284,.378419],[.44775,.137523],[.410986,.491277],[.313951,.224692],[.354128,.187447],[.324548,.296007],[.189096,.3537],[.279777,.285342],[.133823,.317299],[.336768,.355267],[.429884,.533478],[.455528,.451377],[.437114,.441104],[.467288,.470075],[.414712,.66478],[.377046,.677222],[.344108,.679849],[.312876,.677668],[.283526,.66681],[.241246,.617214],[.102986,.531237],[.267612,.57544],[.297879,.566824],[.333434,.566122],[.366427,.573884],[.396012,.583304],[.420121,.589772],[.007561,.519223],[.432949,.430482],[.458639,.520911],[.473466,.454256],[.476088,.43617],[.468472,.444943],[.433991,.417638],[.483518,.437016],[.482483,.422151],[.42645,.610201],[.438999,.603505],[.450067,.599566],[.289712,.631747],[.27667,.636627],[.517862,.528052],[.710288,.619236],[.526227,.42609],[.895093,.745859],[.63407,.590424],[.661242,.586975],[.68888,.59054],[.725342,.610869],[.60663,.596295],[.654766,.655989],[.629906,.653924],[.680678,.652735],[.702097,.646409],[.752212,.589195],[.602918,.157137],[.719902,.6244],[.893693,.60004],[.790082,.608646],[.643998,.465512],[.528249,.349596],[.52585,.319809],[.560215,.342771],[.585384,.333459],[.549626,.319139],[.571228,.317308],[.624852,.271901],[.51305,.452718],[.515097,.472748],[.742247,.685493],[.598631,.545021],[.570338,.451425],[.578632,.466377],[.723087,.467946],[.516446,.500361],[.662801,.717082],[.703624,.706729],[.830705,.806186],[.552386,.697432],[.60761,.646112],[.645429,.303293],[.932695,.269895],[.557261,.427174],[.542902,.415208],[.618026,.305289],[.607591,.305797],[.722943,.728037],[.577414,.436833],[.614083,.718613],[.616907,.744114],[.668509,.880086],[.770092,.767979],[.635536,.810751],[.770391,.700444],[.826722,.721245],[.527121,.333802],[.553172,.331473],[.577238,.32611],[.554692,.419934],[.611897,.306039],[.596961,.29346],[.596371,.306047],[.539958,.442861],[.568842,.307634],[.547818,.307634],[.524613,.307634],[.53409,.220859],[.527671,.263774],[.526913,.282143],[.526878,.295374],[.526967,.304722],[.572058,.304722],[.573521,.29646],[.576838,.288154],[.581691,.279937],[.609945,.36009],[.986046,.439966],[.5868,.3046],[.590372,.298177],[.531915,.398463],[.577268,.414065],[.536915,.406214],[.627543,.526648],[.665586,.504049],[.588354,.453138],[.757824,.852324],[.70925,.798492],[.672684,.743419],[.600409,.250995],[.558266,.738328],[.570304,.812129],[.588166,.890956],[.711045,.601048],[.78107,.564595],[.587247,.601068],[.74287,.644554],[.572156,.562348],[.551868,.46343],[.821442,.542444],[.752702,.542818],[.713757,.532373],[.667113,.539327],[.631101,.552846],[.600862,.567527],[.523481,.594373],[.810748,.476074],[.771046,.651041],[.509127,.437282],[.595293,.514976],[.980531,.598436],[.5735,.58],[.602995,.451312],[.73353,.623023],[.560611,.480983],[.967686,.355643],[.580985,.61284],[.537728,.494615],[.760966,.220247],[.801779,.168062],[.892441,.459239],[.816351,.25974],[.865595,.666313],[.614074,.116754],[.508953,.420562],[.617942,.491684],[.825608,.602325],[.681215,.603765],[.656636,.599403],[.6039,.289783],[.812086,.411461],[.568013,.055435],[.681008,.101715],[.733752,.130299],[.63383,.601178],[.606793,.604463],[.58966,.608938],[.805016,.657892],[.611335,.637716],[.634038,.644029],[.656636,.644643],[.681215,.64166],[.698585,.636844],[.941867,.680924],[.698585,.612551],[.584177,.375893],[.554318,.433923],[.534154,.37936],[.711218,.180025],[.66463,.147129],[.5591,.097368],[.871706,.208059],[.591234,.626106],[.544341,.548416],[.624563,.075808],[.88577,.384971],[.551338,.304722],[.55198,.295368],[.552888,.284192],[.555168,.269206],[.569944,.232965],[.593203,.314324],[.599262,.318931],[.6076,.322297],[.631938,.3365],[.752033,.398685],[.547226,.579605],[.563544,.640172],[.583841,.631286],[.586614,.307634],[.771915,.316422],[.531597,.647517],[.588371,.195559],[.520797,.557435],[.567985,.506521],[.543283,.180745],[.655317,.254485],[.621009,.425982],[.62556,.219688],[.680198,.429281],[.642764,.395662],[.704663,.37847],[.552012,.137408],[.589072,.491363],[.685945,.224643],[.645735,.18736],[.675343,.296022],[.810858,.353695],[.720122,.285333],[.866152,.317295],[.663187,.355403],[.570082,.533674],[.544562,.451624],[.562759,.441215],[.531987,.46986],[.585271,.664823],[.622953,.677221],[.655896,.679837],[.687132,.677654],[.716482,.666799],[.758757,.617213],[.897013,.531231],[.732392,.575453],[.702114,.566837],[.666525,.566134],[.633505,.573912],[.603876,.583413],[.579658,.590055],[.99244,.519223],[.567192,.43058],[.541366,.521101],[.526564,.453882],[.523913,.43617],[.531529,.444943],[.566036,.417671],[.516311,.436946],[.517472,.422123],[.573595,.610193],[.560698,.604668],[.549756,.600249],[.710288,.631747],[.72333,.636627]],faces:[173,155,133,246,33,7,382,398,362,263,466,249,308,415,324,78,95,191,356,389,264,127,34,162,368,264,389,139,162,34,267,0,302,37,72,0,11,302,0,11,0,72,349,451,350,120,121,231,452,350,451,232,231,121,267,302,269,37,39,72,303,269,302,73,72,39,357,343,350,128,121,114,277,350,343,47,114,121,350,452,357,121,128,232,453,357,452,233,232,128,299,333,297,69,67,104,332,297,333,103,104,67,175,152,396,175,171,152,377,396,152,148,152,171,381,384,382,154,155,157,398,382,384,173,157,155,280,347,330,50,101,118,348,330,347,119,118,101,269,303,270,39,40,73,304,270,303,74,73,40,9,336,151,9,151,107,337,151,336,108,107,151,344,278,360,115,131,48,279,360,278,49,48,131,262,431,418,32,194,211,424,418,431,204,211,194,304,408,270,74,40,184,409,270,408,185,184,40,272,310,407,42,183,80,415,407,310,191,80,183,322,270,410,92,186,40,409,410,270,185,40,186,347,449,348,118,119,229,450,348,449,230,229,119,434,432,430,214,210,212,422,430,432,202,212,210,313,314,18,83,18,84,17,18,314,17,84,18,307,375,306,77,76,146,291,306,375,61,146,76,259,387,260,29,30,160,388,260,387,161,160,30,286,414,384,56,157,190,398,384,414,173,190,157,418,424,406,194,182,204,335,406,424,106,204,182,367,416,364,138,135,192,434,364,416,214,192,135,391,423,327,165,98,203,358,327,423,129,203,98,298,301,284,68,54,71,251,284,301,21,71,54,4,275,5,4,5,45,281,5,275,51,45,5,254,373,253,24,23,144,374,253,373,145,144,23,320,321,307,90,77,91,375,307,321,146,91,77,280,425,411,50,187,205,427,411,425,207,205,187,421,313,200,201,200,83,18,200,313,18,83,200,335,321,406,106,182,91,405,406,321,181,91,182,405,321,404,181,180,91,320,404,321,90,91,180,17,314,16,17,16,84,315,16,314,85,84,16,425,266,426,205,206,36,423,426,266,203,36,206,369,396,400,140,176,171,377,400,396,148,171,176,391,269,322,165,92,39,270,322,269,40,39,92,417,465,413,193,189,245,464,413,465,244,245,189,257,258,386,27,159,28,385,386,258,158,28,159,260,388,467,30,247,161,466,467,388,246,161,247,248,456,419,3,196,236,399,419,456,174,236,196,333,298,332,104,103,68,284,332,298,54,68,103,285,8,417,55,193,8,168,417,8,168,8,193,340,261,346,111,117,31,448,346,261,228,31,117,285,417,441,55,221,193,413,441,417,189,193,221,327,460,326,98,97,240,328,326,460,99,240,97,277,355,329,47,100,126,371,329,355,142,126,100,309,392,438,79,218,166,439,438,392,219,166,218,381,382,256,154,26,155,341,256,382,112,155,26,360,279,420,131,198,49,429,420,279,209,49,198,365,364,379,136,150,135,394,379,364,169,135,150,355,277,437,126,217,47,343,437,277,114,47,217,443,444,282,223,52,224,283,282,444,53,224,52,281,275,363,51,134,45,440,363,275,220,45,134,431,262,395,211,170,32,369,395,262,140,32,170,337,299,338,108,109,69,297,338,299,67,69,109,335,273,321,106,91,43,375,321,273,146,43,91,348,450,349,119,120,230,451,349,450,231,230,120,467,359,342,247,113,130,446,342,359,226,130,113,282,283,334,52,105,53,293,334,283,63,53,105,250,458,462,20,242,238,461,462,458,241,238,242,276,353,300,46,70,124,383,300,353,156,124,70,325,292,324,96,95,62,308,324,292,78,62,95,283,276,293,53,63,46,300,293,276,70,46,63,447,264,345,227,116,34,372,345,264,143,34,116,352,345,346,123,117,116,340,346,345,111,116,117,1,19,274,1,44,19,354,274,19,125,19,44,248,281,456,3,236,51,363,456,281,134,51,236,425,426,427,205,207,206,436,427,426,216,206,207,380,381,252,153,22,154,256,252,381,26,154,22,391,393,269,165,39,167,267,269,393,37,167,39,199,428,200,199,200,208,421,200,428,201,208,200,330,329,266,101,36,100,371,266,329,142,100,36,422,432,273,202,43,212,287,273,432,57,212,43,290,250,328,60,99,20,462,328,250,242,20,99,258,286,385,28,158,56,384,385,286,157,56,158,342,446,353,113,124,226,265,353,446,35,226,124,257,386,259,27,29,159,387,259,386,160,159,29,430,422,431,210,211,202,424,431,422,204,202,211,445,342,276,225,46,113,353,276,342,124,113,46,424,422,335,204,106,202,273,335,422,43,202,106,306,292,307,76,77,62,325,307,292,96,62,77,366,447,352,137,123,227,345,352,447,116,227,123,302,268,303,72,73,38,271,303,268,41,38,73,371,358,266,142,36,129,423,266,358,203,129,36,327,294,460,98,240,64,455,460,294,235,64,240,294,331,278,64,48,102,279,278,331,49,102,48,303,271,304,73,74,41,272,304,271,42,41,74,427,436,434,207,214,216,432,434,436,212,216,214,304,272,408,74,184,42,407,408,272,183,42,184,394,430,395,169,170,210,431,395,430,211,210,170,395,369,378,170,149,140,400,378,369,176,140,149,296,334,299,66,69,105,333,299,334,104,105,69,417,168,351,193,122,168,6,351,168,6,168,122,280,411,352,50,123,187,376,352,411,147,187,123,319,320,325,89,96,90,307,325,320,77,90,96,285,295,336,55,107,65,296,336,295,66,65,107,404,320,403,180,179,90,319,403,320,89,90,179,330,348,329,101,100,119,349,329,348,120,119,100,334,293,333,105,104,63,298,333,293,68,63,104,323,454,366,93,137,234,447,366,454,227,234,137,16,315,15,16,15,85,316,15,315,86,85,15,429,279,358,209,129,49,331,358,279,102,49,129,15,316,14,15,14,86,317,14,316,87,86,14,8,285,9,8,9,55,336,9,285,107,55,9,329,349,277,100,47,120,350,277,349,121,120,47,252,253,380,22,153,23,374,380,253,145,23,153,402,403,318,178,88,179,319,318,403,89,179,88,351,6,419,122,196,6,197,419,6,197,6,196,324,318,325,95,96,88,319,325,318,89,88,96,397,367,365,172,136,138,364,365,367,135,138,136,288,435,397,58,172,215,367,397,435,138,215,172,438,439,344,218,115,219,278,344,439,48,219,115,271,311,272,41,42,81,310,272,311,80,81,42,5,281,195,5,195,51,248,195,281,3,51,195,273,287,375,43,146,57,291,375,287,61,57,146,396,428,175,171,175,208,199,175,428,199,208,175,268,312,271,38,41,82,311,271,312,81,82,41,444,445,283,224,53,225,276,283,445,46,225,53,254,339,373,24,144,110,390,373,339,163,110,144,295,282,296,65,66,52,334,296,282,105,52,66,346,448,347,117,118,228,449,347,448,229,228,118,454,356,447,234,227,127,264,447,356,34,127,227,336,296,337,107,108,66,299,337,296,69,66,108,151,337,10,151,10,108,338,10,337,109,108,10,278,439,294,48,64,219,455,294,439,235,219,64,407,415,292,183,62,191,308,292,415,78,191,62,358,371,429,129,209,142,355,429,371,126,142,209,345,372,340,116,111,143,265,340,372,35,143,111,388,390,466,161,246,163,249,466,390,7,163,246,352,346,280,123,50,117,347,280,346,118,117,50,295,442,282,65,52,222,443,282,442,223,222,52,19,94,354,19,125,94,370,354,94,141,94,125,295,285,442,65,222,55,441,442,285,221,55,222,419,197,248,196,3,197,195,248,197,195,197,3,359,263,255,130,25,33,249,255,263,7,33,25,275,274,440,45,220,44,457,440,274,237,44,220,300,383,301,70,71,156,368,301,383,139,156,71,417,351,465,193,245,122,412,465,351,188,122,245,466,263,467,246,247,33,359,467,263,130,33,247,389,251,368,162,139,21,301,368,251,71,21,139,374,386,380,145,153,159,385,380,386,158,159,153,379,394,378,150,149,169,395,378,394,170,169,149,351,419,412,122,188,196,399,412,419,174,196,188,426,322,436,206,216,92,410,436,322,186,92,216,387,373,388,160,161,144,390,388,373,163,144,161,393,326,164,167,164,97,2,164,326,2,97,164,354,370,461,125,241,141,462,461,370,242,141,241,0,267,164,0,164,37,393,164,267,167,37,164,11,12,302,11,72,12,268,302,12,38,12,72,386,374,387,159,160,145,373,387,374,144,145,160,12,13,268,12,38,13,312,268,13,82,13,38,293,300,298,63,68,70,301,298,300,71,70,68,340,265,261,111,31,35,446,261,265,226,35,31,380,385,381,153,154,158,384,381,385,157,158,154,280,330,425,50,205,101,266,425,330,36,101,205,423,391,426,203,206,165,322,426,391,92,165,206,429,355,420,209,198,126,437,420,355,217,126,198,391,327,393,165,167,98,326,393,327,97,98,167,457,438,440,237,220,218,344,440,438,115,218,220,382,362,341,155,112,133,463,341,362,243,133,112,457,461,459,237,239,241,458,459,461,238,241,239,434,430,364,214,135,210,394,364,430,169,210,135,414,463,398,190,173,243,362,398,463,133,243,173,262,428,369,32,140,208,396,369,428,171,208,140,457,274,461,237,241,44,354,461,274,125,44,241,316,403,317,86,87,179,402,317,403,178,179,87,315,404,316,85,86,180,403,316,404,179,180,86,314,405,315,84,85,181,404,315,405,180,181,85,313,406,314,83,84,182,405,314,406,181,182,84,418,406,421,194,201,182,313,421,406,83,182,201,366,401,323,137,93,177,361,323,401,132,177,93,408,407,306,184,76,183,292,306,407,62,183,76,408,306,409,184,185,76,291,409,306,61,76,185,410,409,287,186,57,185,291,287,409,61,185,57,436,410,432,216,212,186,287,432,410,57,186,212,434,416,427,214,207,192,411,427,416,187,192,207,264,368,372,34,143,139,383,372,368,156,139,143,457,459,438,237,218,239,309,438,459,79,239,218,352,376,366,123,137,147,401,366,376,177,147,137,4,1,275,4,45,1,274,275,1,44,1,45,428,262,421,208,201,32,418,421,262,194,32,201,327,358,294,98,64,129,331,294,358,102,129,64,367,435,416,138,192,215,433,416,435,213,215,192,455,439,289,235,59,219,392,289,439,166,219,59,328,462,326,99,97,242,370,326,462,141,242,97,326,370,2,97,2,141,94,2,370,94,141,2,460,455,305,240,75,235,289,305,455,59,235,75,448,339,449,228,229,110,254,449,339,24,110,229,261,446,255,31,25,226,359,255,446,130,226,25,449,254,450,229,230,24,253,450,254,23,24,230,450,253,451,230,231,23,252,451,253,22,23,231,451,252,452,231,232,22,256,452,252,26,22,232,256,341,452,26,232,112,453,452,341,233,112,232,413,464,414,189,190,244,463,414,464,243,244,190,441,413,286,221,56,189,414,286,413,190,189,56,441,286,442,221,222,56,258,442,286,28,56,222,442,258,443,222,223,28,257,443,258,27,28,223,444,443,259,224,29,223,257,259,443,27,223,29,259,260,444,29,224,30,445,444,260,225,30,224,260,467,445,30,225,247,342,445,467,113,247,225,250,309,458,20,238,79,459,458,309,239,79,238,290,305,392,60,166,75,289,392,305,59,75,166,460,305,328,240,99,75,290,328,305,60,75,99,376,433,401,147,177,213,435,401,433,215,213,177,250,290,309,20,79,60,392,309,290,166,60,79,411,416,376,187,147,192,433,376,416,213,192,147,341,463,453,112,233,243,464,453,463,244,243,233,453,464,357,233,128,244,465,357,464,245,244,128,412,343,465,188,245,114,357,465,343,128,114,245,437,343,399,217,174,114,412,399,343,188,114,174,363,440,360,134,131,220,344,360,440,115,220,131,456,420,399,236,174,198,437,399,420,217,198,174,456,363,420,236,198,134,360,420,363,131,134,198,361,401,288,132,58,177,435,288,401,215,177,58,353,265,383,124,156,35,372,383,265,143,35,156,255,249,339,25,110,7,390,339,249,163,7,110,261,255,448,31,228,25,339,448,255,110,25,228,14,317,13,14,13,87,312,13,317,82,87,13,317,402,312,87,82,178,311,312,402,81,178,82,402,318,311,178,81,88,310,311,318,80,88,81,318,324,310,88,80,95,415,310,324,191,95,80],landmarkBasis:[[4,.070909939706326],[6,.032100144773722],[10,.008446550928056],[33,.058724168688059],[54,.007667080033571],[67,.009078059345484],[117,.009791937656701],[119,.014565368182957],[121,.018591361120343],[127,.005197994410992],[129,.120625205338001],[132,.005560018587857],[133,.05328618362546],[136,.066890455782413],[143,.014816547743976],[147,.014262833632529],[198,.025462191551924],[205,.047252278774977],[263,.058724168688059],[284,.007667080033571],[297,.009078059345484],[346,.009791937656701],[348,.014565368182957],[350,.018591361120343],[356,.005197994410992],[358,.120625205338001],[361,.005560018587857],[362,.05328618362546],[365,.066890455782413],[372,.014816547743976],[376,.014262833632529],[420,.025462191551924],[425,.047252278774977]]}},1873:(A,I,g)=>{const{uvs:C,faces:B}=g(2319),Q=C.length;A.exports={createThreeFaceGeometry:A=>{class I extends A.BufferGeometry{constructor(I={}){super(),this.positions=new Float32Array(3*Q),this.uvs=new Float32Array(2*Q),this.setAttribute("position",new A.BufferAttribute(this.positions,3)),this.setAttribute("uv",new A.BufferAttribute(this.uvs,2)),this.setUvs(),this.setIndex(B)}setUvs(){for(let A=0;A{const{FaceMesh:C}=g(8818);A.exports={FaceMeshHelper:class{constructor(){this.detectResolve=null,this.faceMesh=new C({locateFile:A=>`https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh@0.4/${A}`}),this.faceMesh.setOptions({maxNumFaces:1,refineLandmarks:!1,minDetectionConfidence:.5,minTrackingConfidence:.5}),this.faceMesh.onResults((A=>{this.detectResolve&&this.detectResolve(A)}))}async detect(A){return await new Promise(((I,g)=>{this.detectResolve=I,this.faceMesh.send({image:A})}))}}}},7297:(A,I,g)=>{const{Controller:C}=g(1320),{UI:B}=g(2749),Q={Controller:C,UI:B};window.MINDAR||(window.MINDAR={}),window.MINDAR.FACE=Q,A.exports=Q},344:A=>{const I=(A,I)=>{const g=2*Math.PI*I*A;return g/(g+1)},g=(A,I,g)=>A*I+(1-A)*g;A.exports={OneEuroFilter:class{constructor({minCutOff:A,beta:I}){this.minCutOff=A,this.beta=I,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(A,C){if(!this.initialized)return this.initialized=!0,this.xPrev=C,this.dxPrev=C.map((()=>0)),this.tPrev=A,C;const{xPrev:B,tPrev:Q,dxPrev:E}=this,i=A-Q,D=I(i,this.dCutOff),o=[],G=[],w=[];for(let A=0;A{const C=g(129);let B=!1;const Q={},E=[];C.then((A=>{B=!0,Object.assign(Q,A),E.forEach((A=>{A()}))})),A.exports={cv:Q,waitCV:async()=>!!B||new Promise(((A,I)=>{E.push(A)}))}},129:function(A,I,g){var C,B;B=this,void 0===(C=function(){return B.cv=(I=(I="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",C=function(A){var C,B,Q=void 0!==(A=A||{})?A:{};Q.ready=new Promise((function(A,I){C=A,B=I}));var E,i={};for(E in Q)Q.hasOwnProperty(E)&&(i[E]=Q[E]);var D=[],o="./this.program",G=!1,w=!1,F=!1,R=!1;G="object"==typeof window,w="function"==typeof importScripts,F="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,R=!G&&!F&&!w;var N,h,a,s,y,K="";function U(A){return Q.locateFile?Q.locateFile(A,K):K+A}F?(K=w?g(1386).dirname(K)+"/":"//",N=function(A,I){var C=TC(A);return C?I?C:C.toString():(s||(s=g(2993)),y||(y=g(1386)),A=y.normalize(A),s.readFileSync(A,I?null:"utf8"))},a=function(A){var I=N(A,!0);return I.buffer||(I=new Uint8Array(I)),t(I.buffer),I},process.argv.length>1&&(o=process.argv[1].replace(/\\/g,"/")),D=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof zC))throw A})),process.on("unhandledRejection",KA),Q.inspect=function(){return"[Emscripten Module object]"}):R?("undefined"!=typeof read&&(N=function(A){var I=TC(A);return I?fC(I):read(A)}),a=function(A){var I;return(I=TC(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(t("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?D=scriptArgs:void 0!==arguments&&(D=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(G||w)&&(w?K=self.location.href:"undefined"!=typeof document&&document.currentScript&&(K=document.currentScript.src),I&&(K=I),K=0!==K.indexOf("blob:")?K.substr(0,K.lastIndexOf("/")+1):"",N=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=TC(A);if(g)return fC(g);throw I}},w&&(a=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=TC(A);if(g)return g;throw I}}),h=function(A,I,g){var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=function(){if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=TC(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});var M=Q.print||console.log.bind(console),k=Q.printErr||console.warn.bind(console);for(E in i)i.hasOwnProperty(E)&&(Q[E]=i[E]);i=null,Q.arguments&&(D=Q.arguments),Q.thisProgram&&(o=Q.thisProgram),Q.quit&&Q.quit;var S=16;function J(A,I){return I||(I=S),Math.ceil(A/I)*I}function Y(A){Y.shown||(Y.shown={}),Y.shown[A]||(Y.shown[A]=1,k(A))}var c,L,H=function(A){};Q.wasmBinary&&(c=Q.wasmBinary),Q.noExitRuntime&&Q.noExitRuntime,"object"!=typeof WebAssembly&&KA("no native wasm support detected");var q=!1;function t(A,I){A||KA("Assertion failed: "+I)}var r="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&r)return r.decode(A.subarray(I,B));for(var Q="";I>10,56320|1023&o)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function n(A,I){return A?d(f,A,I):""}function l(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function e(A,I,g){return l(A,f,I,g)}function b(A){for(var I=0,g=0;g=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}var V,x,f,W,Z,T,m,p,X,O="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function u(A,I){for(var g=A,C=g>>1,B=C+I/2;!(C>=B)&&Z[C];)++C;if((g=C<<1)-A>32&&O)return O.decode(f.subarray(A,g));for(var Q="",E=0;!(E>=I/2);++E){var i=W[A+2*E>>1];if(0==i)break;Q+=String.fromCharCode(i)}return Q}function j(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var C=I,B=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return W[I>>1]=0,I-C}function P(A){return 2*A.length}function z(A,I){for(var g=0,C="";!(g>=I/4);){var B=T[A+4*g>>2];if(0==B)break;if(++g,B>=65536){var Q=B-65536;C+=String.fromCharCode(55296|Q>>10,56320|1023&Q)}else C+=String.fromCharCode(B)}return C}function v(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var C=I,B=C+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),T[I>>2]=E,(I+=4)+4>B)break}return T[I>>2]=0,I-C}function _(A){for(var I=0,g=0;g=55296&&C<=57343&&++g,I+=4}return I}function $(A,I){x.set(A,I)}function AA(A,I,g){for(var C=0;C>0]=A.charCodeAt(C);g||(x[I>>0]=0)}function IA(A,I){return A%I>0&&(A+=I-A%I),A}function gA(A){V=A,Q.HEAP8=x=new Int8Array(A),Q.HEAP16=W=new Int16Array(A),Q.HEAP32=T=new Int32Array(A),Q.HEAPU8=f=new Uint8Array(A),Q.HEAPU16=Z=new Uint16Array(A),Q.HEAPU32=m=new Uint32Array(A),Q.HEAPF32=p=new Float32Array(A),Q.HEAPF64=X=new Float64Array(A)}Q.INITIAL_MEMORY;var CA,BA=[],QA=[],EA=[],iA=[];function DA(){if(Q.preRun)for("function"==typeof Q.preRun&&(Q.preRun=[Q.preRun]);Q.preRun.length;)FA(Q.preRun.shift());eA(BA)}function oA(){Q.noFSInit||jA.init.initialized||jA.init(),XA.init(),eA(QA)}function GA(){jA.ignorePermissions=!1,eA(EA)}function wA(){if(Q.postRun)for("function"==typeof Q.postRun&&(Q.postRun=[Q.postRun]);Q.postRun.length;)RA(Q.postRun.shift());eA(iA)}function FA(A){BA.unshift(A)}function RA(A){iA.unshift(A)}var NA=0,hA=null,aA=null;function sA(A){NA++,Q.monitorRunDependencies&&Q.monitorRunDependencies(NA)}function yA(A){if(NA--,Q.monitorRunDependencies&&Q.monitorRunDependencies(NA),0==NA&&(null!==hA&&(clearInterval(hA),hA=null),aA)){var I=aA;aA=null,I()}}function KA(A){Q.onAbort&&Q.onAbort(A),k(A+=""),q=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.";var I=new WebAssembly.RuntimeError(A);throw B(I),I}function UA(A,I){return String.prototype.startsWith?A.startsWith(I):0===A.indexOf(I)}Q.preloadedImages={},Q.preloadedAudios={};var MA="data:application/octet-stream;base64,";function kA(A){return UA(A,MA)}var SA="file://";function JA(A){return UA(A,SA)}var YA,cA,LA,HA="data:application/octet-stream;base64,AGFzbQEAAAAB1Ah7YAF/AX9gAX8AYAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAIf39/f39/f38AYAV/f39/fwBgBX9/f39/AX9gCX9/f39/f39/fwBgBH9/f38Bf2AGf39/f39/AX9gBn9/f39/fwBgAABgAX8BfGAHf39/f39/fwBgAAF/YAh/f39/f39/fwF/YAR/f398AGADf398AGADf39/AXxgB39/f39/f38Bf2ABfwF9YAN/fX8AYAJ/fwF9YAp/f39/f39/f39/AGABfAF8YAJ/fABgAX8BfmADf35/AX5gDX9/f39/f39/f398fH8AYAV/fn5+fgBgBn9/f399fwF/YAJ/fwF8YAp/f39/f39/fHx/AGAFf39/f3wAYAR/f3x/AGACf34AYAV/f39/fgF/YAR/f398AX9gAnx8AXxgD39/f39/f39/f39/f39/fwBgBX9/f3x8AGAFf39+f38AYAN/f30AYAR/fH9/AGAFf39/f3wBf2AEf39/fwF+YAR/f399AGAHf398f3x/fwBgBH9+fn8AYAl/f39/f39/f38Bf2AKf39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAV/f39/fwF9YAZ/f39/fX8AYAd/f39/fX9/AGALf39/f31/f31/f38AYAd/f39/fX99AGAGf39/f319AGAGf39/f3x8AGACf30AYAx/f39/f39/f39/f38Bf2AGf39/f3x/AX9gB39/f398f38Bf2ADf398AX9gBn98f39/fwF/YAJ+fwF/YAF8AX9gAAF+YAJ/fwF+YAR/f39+AX5gA39/fwF9YAh/f39/f39/fwF9YAh/f39/fX9/fwF9YAR/f39/AXxgAnx/AXxgC39/f39/f39/f39/AGANf39/f39/f39/f39/fwBgDH9/f39/f39/fHx8fABgCX9/f39/f3x8fwBgBn9/f39/fABgC39/f39/fH9/f398AGAPf39/f31/f31/f39/f39/AGAPf39/f3x/f3x/f39/f39/AGAKf39/f3x8fHx8fwBgBn9/f31/fwBgA39/fgBgA39+fgBgA398fwBgCn98f398f3x8fHwAYAd/fH98fH9/AGADf3x8AGAMf3x8fHx8fHx8fH9/AGADfH9/AGAFfHx/f38AYAh8fHx8fHx/fwBgB39/f39/f3wBf2AOf39/f399f398f3x/f38Bf2AEf39/fQF/YBh/f398fHx8fHx8fHx8fHx8fHx8fHx8fH8Bf2AEf398fAF/YAN/fn8Bf2AEf35/fwF/YAN/fH8Bf2ADfn9/AX9gAn5+AX9gA35+fgF/YAR+fn5+AX9gAX0Bf2ACfH8Bf2AHfHx8fH9/fwF/YAl8fHx8fH9/f38Bf2ADf39/AX5gBH9/f38BfWACfn4BfWAFf39/f38BfGADf3x8AXxgAn5+AXxgA3x8fwF8AtwKLgNlbnYQX2VtdmFsX25ld19hcnJheQARA2VudhhfZW12YWxfZ2V0X21ldGhvZF9jYWxsZXIAAwNlbnYXX2VtdmFsX2NhbGxfdm9pZF9tZXRob2QABgNlbnYRX2VtdmFsX3Rha2VfdmFsdWUAAwNlbnYSX2VtdmFsX25ld19jc3RyaW5nAAADZW52E19lbXZhbF9zZXRfcHJvcGVydHkABANlbnYNX2VtdmFsX2RlY3JlZgABA2Vudg1fZW12YWxfaW5jcmVmAAEDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfY2xhc3MAUQNlbnYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgANA2VudiVfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NsYXNzX2Z1bmN0aW9uABADZW52H19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfcHJvcGVydHkAGgNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAHA2Vudh1fZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdAANA2VudiNfZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdF9maWVsZAAaA2Vudh1fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdAABA2VudhlfZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uAA0DZW52HF9lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfYXJyYXkADQNlbnYkX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9hcnJheV9lbGVtZW50AAoDZW52HF9lbWJpbmRfZmluYWxpemVfdmFsdWVfYXJyYXkAAQNlbnYZX2VtYmluZF9yZWdpc3Rlcl9jb25zdGFudAAUA2VudhhfX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24AAANlbnYLX19jeGFfdGhyb3cABANlbnYNY2xvY2tfZ2V0dGltZQADA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQAAgNlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAgDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwACA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAQDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAgNlbnYYX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyAAgDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQABANlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAEA2VudgpfX3N5c19vcGVuAAUWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQALFndhc2lfc25hcHNob3RfcHJldmlldzEHZmRfcmVhZAALFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYNX19zeXNfZmNudGw2NAAFA2VudgtfX3N5c19pb2N0bAAFFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAMDZW52BWFib3J0AA4DZW52CnN0cmZ0aW1lX2wACQNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcABQNlbnYLc2V0VGVtcFJldDAAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3NlZWsACQP6HfgdDgkrBBMCBgQGBCITAgQCBAQCAgQCAgIABAICEhIWDAkLBgYEBAICAgEODg4ODg4ODg4OAAEAEQMABQMLBQkLDAUECwYDBAIDAgICAgICAgIAAwAAPwYkBAUIBgYLBAQABgQFAwAEFSgFAwQAAwQFBgsEBgQGBAYEBgQGBAYDBQULCwkFCwkDBQULCQULCQMFBQsJS3U5dwMVBU4RAREiFBktEREDBAMDERERIhQREREBAwQDAzQSFgwJBQMAAQsAAAABEQIEBAYA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BpwGnQahBqIGowbeBuEG4AbiBvUD7wOnB4QH5AblBuYG5wboBukG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUG9gb4BvkG+wb8Bu8DpweFB4YHhweIB4kHiweKB+8DpweMB40HjgfvA6gHkweUB5UHlgeXB6kH7wOoB5gHmQfvA6gHjweQB5EH7wOoB5oH7wOoB5sHkAe1B7YHtwe4B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gH/gf/B4AIgQiCCIMIhAiTCJQIlQiWCJcIjAiYCJkImgicCJ0InwiKCKEIowilCKcIqQirCIgIrQivCLAIsQiyCLMIkgi0CLUItwi5CLsIvQiQCL8IwQjDCMUIxwjJCI4IywjOCPUD7wPQCNgI3QjVCNII1wjrCPAIpQn8CP4I/wiACYEJggmDCY0JjgmPCZAJhAmTCZEJkgmWCZoJngmVCaMJpAmMCYsJoAmhCacJqAmpCaoJqwmuCb0Jvgm/CagH7wPCCcMJxAnvA/UD7wPECe8D9QPvA80JzgnPCdAJ0QnSCdMJ1An1A+8DxAnvA/UD7wPVCdkJ9QPvA8QJ7wPvA98J4QnPCeIJ4wnkCeUJ5gn1A+8DxAnvA+8D5wnrCfUD7wPECe8D7wPuCe8JzwniCfAJ8QnyCfMJ9QPvA8QJ7wPvA/QJ9wn6CfsJ/An9Cf4J/wmACoEKggqDCoYKhwqICokKigqLCowKvwqdCpUKoAq1CpYKlwqmCqcKgxu2CrcKuAq5CroKuwq8Cr0KyQbbCtwK3Qq9Cv0K/gr/Cu8DiAuJC4oLiwuMC5kLmgubC5wLnQueC58LoAv1A+8DyQbvA/UD7wOPC5ELkguTC5QLlQuWC5cL7wOhC6ILowukC/UD7wPJBu8D7wOlC/UD7wPJBu8D7wOmC/UD7wPJBu8D7wOoC/UD7wPJBu8D7wOpC/UD7wPJBu8D7wOrC6wLrQuuC68LsAu5C7oLuwu8C70L9QPvA8sLzAvvA/UD7wPJBu8D9QPvA9oL2wvcC90L3gvfC+8D4AvhC+IL4wvvA8kGyAbIBu0L5AvlC+gL6QvqC+8D6wvsC+4L7wvwC/ML9Av1C/EL9AvyC+8D+Qv6C+8D7wP5C/sL7wOCDIMMjwyRDJIMlAyVDIQM7wP5C5YM7wPoDOkMxAnvA+oM6wzsDO0M7gzvDPAM8QzyDPMM9AzECe8D9Qz2DPcM7QzuDO8M8AzxDPgM+Qz6DMQJ7wP7DPwM9wztDO4M7wzwDPEM/Qz+DP8MxAnvA4ANgQ2CDe0M7gzvDPAM8QyDDYQNhQ3ECe8Dhg2HDYIN7QzuDO8M8AzxDIgNiQ2KDcQJ7wOLDYwNjQ2ODY8NkA2RDZINxAnvA5MNlA2VDZYNlw2YDZkNmg3ECe8Dmw2cDZ0Nng2fDaANoQ2iDcQJ7wOjDaQNpQ2mDacNqA2pDaoNxAnvA6sNrA2tDa4Nrw2wDbENsg3ECe8Dsw20DbUNtg23DbgNuQ26DcQJ7wO7DbwNwA3DDcQNxQ3vA8YNxw3IDckNyg3LDcwNzQ3ODc8N0A3RDcUN7wPSDdMN1A3KDcsNzA3NDc4N1Q3WDdcNxQ3vA9gN2Q3aDdsN3A3LDd0N3g2+Dd8N4A3hDcUN7wPiDeMN5A3KDcsN5Q3NDc4N5g3nDegNxAnvA+kN6g2nB6gHyAbrDe0L7A3tDe4NxQ3vA/EN8g3zDfQN9Q32DfcN+A35DfsN/A3ECe8Duw39Df4N/w2ADoEOgg7ECe8Dgw6EDoUO/g3/DYYOhw6IDsQJ7wO7DYkOig7/DYsOjA6NDsQJ7wO7DY4Oig7/DY8Okg6TDsQJ7wO7DacHlA7GDpYOlw6YDsQJ7wO7DZkOgg+aDpsOnQ7FDe8DnA6fDqAOoQ6jDqQOpQ7ECe8Dpg6nDqgOqQ6qDqsOxAnvA7sNrA6tDooOrg6vDrAOxAnvA7sNsQ6yDv8Nsw60DrUOxAnvA7YOtw64DrIO/w25DroOuw7ECe8Duw28Dr0Ovg6/DsAOwQ7ECe8Duw3CDrIO/w3DDsQOxQ7ECe8Duw3GDooOxw7IDskOyg7ECe8Duw3LDswO/w3NDs4Ozw7ECe8Duw3QDswO/w3RDtIO0w7FDe8Duw3UDooO/g3XDtsO3Q7FDe8D3A7eDt8O4Q7mDugOxQ3vA+cO6Q7qDusO7A7uDsUN7wPtDu8O8A7xDvIO9A7ECe8D8w71DvYO9QP4DvkO+g71A+8D9w77DskG7wP8Dv4O/w6AD4EPxAnvA7sNgw+ED4UPxQ3vA4YPhw+ID4kPig+LD4wPjwmND44Pjw+QD+sNkQ+SD8UN7wOTD5QPlQ+WD5cPmA+ZD5oPjwmbD5wPnQ/wC54Pnw+gD6EPjgmiD6MPpA+lD6YPpw+oD6kPqg+r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QRBqJAALQAEBfyMAQRBrIgQkACAEIAE2AgQgBEGAgIQQNgIAIARCADcDCCAAIAQgAiADRAAAAAAAAAAAEIgDIARBEGokAAsSACAAIAEoAigpAgBCIIk3AgALXAEBfyMAQeABayIEJAAgBCABIAIgAxCfByAAEKcGIQAgBCgCACIBIAQgAEF/IAEoAgAoAgwRBgAgBEH4AGoQsQYaIARBQGsQsQYaIARBCGoQsQYaIARB4AFqJAALdgIBfwF+IwBB8AFrIgMkACADIAEpAgAiBDcDACADIAQ3AwggA0EQaiADIAIQoQcgABCnBiEAIAMoAhAiAiADQRBqIABBfyACKAIAKAIMEQYAIANBiAFqELEGGiADQdAAahCxBhogA0EYahCxBhogA0HwAWokAAtcAQF/IwBB4AFrIgQkACAEIAEgAiADEKIHIAAQpwYhACAEKAIAIgEgBCAAQX8gASgCACgCDBEGACAEQfgAahCxBhogBEFAaxCxBhogBEEIahCxBhogBEHgAWokAAt2AgF/AX4jAEHwAWsiAyQAIAMgASkCACIENwMAIAMgBDcDCCADQRBqIAMgAhCjByAAEKcGIQAgAygCECICIANBEGogAEF/IAIoAgAoAgwRBgAgA0GIAWoQsQYaIANB0ABqELEGGiADQRhqELEGGiADQfABaiQACzkCAX8BfCMAQRBrIgIkACACQgA3AwggAiABNgIEIAJBgICECDYCACAAIAIQhQYhAyACQRBqJAAgAwt7AQF/IwBB8AFrIgQkACAEQgA3AwggBCACNgIEIARBgICECDYCACAEQRBqIAEgBCADEJ4HIAAQpwYhACAEKAIQIgEgBEEQaiAAQX8gASgCACgCDBEGACAEQYgBahCxBhogBEHQAGoQsQYaIARBGGoQsQYaIARB8AFqJAALWAEBfyMAQeABayICJAAgAiABEJwHIAAQpwYhACACKAIAIgEgAiAAQX8gASgCACgCDBEGACACQfgAahCxBhogAkFAaxCxBhogAkEIahCxBhogAkHgAWokAAtaAQF/IwBB4AFrIgMkACADIAEgAhCdByAAEKcGIQAgAygCACIBIAMgAEF/IAEoAgAoAgwRBgAgA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaIANB4AFqJAALMwEBfyMAQRBrIgIkACACIAE2AgQgAkGA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CCAAQYiyASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQF2NgIIIABBsLIBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBAXY2AgggAEHYsgEgAkEIahADNgIAIAJBEGokAAtnAQN/IwBBEGsiAiQAIAEQrwYhBAJ/QQAgASgCBCIDQQFIDQAaIAEoAiwgA0ECdGpBBGsoAgALIQMgAiABKAIQNgIMIAIgAyAEbEECdjYCCCAAQYCzASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQJ2NgIIIABBqLMBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBA3Y2AgggAEHQswEgAkEIahADNgIAIAJBEGokAAslAQF/IAAoAgQiAUEBSARAQQAPCyAAKAIsIAFBAnRqQQRrKAIACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQAACxcAQZHEkMICIAAoAgBBAnRBHHF2QQ9xCxEAIAAoAgBBA3ZB/wNxQQFqCxQAIAEgAiADIAQgBSAAKAIAESsACxAAIAEgAiADIAAoAgARBAALEgAgASACIAMgBCAAKAIAERMAC0QBAX8jAEEQayIDJAAgAyACNgIIIAMgAkEBajYCDCADQoCAgID4/////wA3AwAgACABIANBCGogAxC6BhogA0EQaiQAC2YBAn8jAEFAaiIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIANBCGogASACIARBAXEEfyABKAIAIABqKAIABSAACxEEAEE4ENUaIANBCGoQuAYhACADQQhqELEGGiADQUBrJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEGAAtfAgJ/AX4jAEEQayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAikCACIGNwMAIAQgBjcDCCABIAQgAyAAEQQAIARBEGokAAtBAQF/IwBBEGsiBCQAIAQgAzYCDCAEIAI2AgggBEKAgICA+P////8ANwMAIAAgASAEQQhqIAQQugYaIARBEGokAAtoAQJ/IwBBQGoiBCQAIAEgACgCBCIFQQF1aiEBIAAoAgAhACAEQQhqIAEgAiADIAVBAXEEfyABKAIAIABqKAIABSAACxEGAEE4ENUaIARBCGoQuAYhACAEQQhqELEGGiAEQUBrJAAgAAszAQF/IwBBEGsiAyQAIANCgICAgPj/////ADcDCCAAIAEgAiADQQhqELoGGiADQRBqJAALDgAgASACIAAoAgARAgALCwAgACgCAEH/H3ELQQEBfyMAQRBrIgQkACAEQoCAgID4/////wA3AwggBCADNgIEIAQgAjYCACAAIAEgBEEIaiAEELoGGiAEQRBqJAALMwEBfyMAQRBrIgMkACADQoCAgID4/////wA3AwggACABIANBCGogAhC6BhogA0EQaiQACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwALZAECfyMAQUBqIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAkEIaiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEE4ENUaIAJBCGoQuAYhACACQQhqELEGGiACQUBrJAAgAAsKACAAKAIAQQdxC0QBAX8jAEEQayIDJAAgA0KAgICA+P////8ANwMIIAMgAjYCACADIAJBAWo2AgQgACABIANBCGogAxC6BhogA0EQaiQACw4AIAEgAiAAKAIAESIAC0EBAX8jAEFAaiIEJAAgBEEIaiABIAIgAyAAKAIAERMAQTgQ1RogBEEIahC4BiEBIARBCGoQsQYaIARBQGskACABCz8BAX8jAEFAaiIDJAAgA0EIaiABIAIgACgCABEEAEE4ENUaIANBCGoQuAYhASADQQhqELEGGiADQUBrJAAgAQs9AQF/IwBBQGoiAiQAIAJBCGogASAAKAIAEQIAQTgQ1RogAkEIahC4BiEBIAJBCGoQsQYaIAJBQGskACABCwwAIAAgASACELwGGgsOACAALQABQcAAcUEGdgs0AQF/IwBBEGsiAiQAIAJBCGogASAAKAIAEQIAQQgQ1RoiASACKQMINwMAIAJBEGokACABC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB4LEBIANBCGoQAzYCACADQRBqJAALNwEBfyMAQRBrIgMkACADQQhqIAEgAiAAKAIAEQQAIAMoAggQByADKAIIIgEQBiADQRBqJAAgAQthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQeCxASAEQQhqEAM2AgAgBEEQaiQACzkBAX8jAEEQayIEJAAgBEEIaiABIAIgAyAAKAIAEQYAIAQoAggQByAEKAIIIgEQBiAEQRBqJAAgAQtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYiyASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBiLIBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEHYsgEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQdiyASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABBsLIBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEGwsgEgBEEIahADNgIAIARBEGokAAtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYCzASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBgLMBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEGoswEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQaizASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB0LMBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEHQswEgBEEIahADNgIAIARBEGokAAttAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAWoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAsAAALFgAgACgCECAAKAIsKAIAIAFsaiACags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAsAAALJwAgACgCECAAKAIsIgAoAgAgAWxqIAAoAgQgAmxqIAAoAgggA2xqCz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALAAACzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAtAAALPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUALQAACz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALQAAC3MBAX8CQCAALQABQcAAcUUEQCAAKAIoIgIoAgBBAUcNAQsgACgCECABQQF0ag8LIAIoAgRBAUYEQCAAKAIQIAAoAiwoAgAgAWxqDwsgACgCECAAKAIsKAIAIAEgACgCDCIAbSICbGogASAAIAJsa0EBdGoLOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDAC4BAAsZACAAKAIQIAAoAiwoAgAgAWxqIAJBAXRqCzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC4BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC4BAAs6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMALwEACzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC8BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC8BAAtzAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAUECdGoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtBAnRqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAoAgALGQAgACgCECAAKAIsKAIAIAFsaiACQQJ0ags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAoAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAoAgALOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDACoCAAs8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwArAwALcwEBfwJAIAAtAAFBwABxRQRAIAAoAigiAigCAEEBRw0BCyAAKAIQIAFBA3RqDwsgAigCBEEBRgRAIAAoAhAgACgCLCgCACABbGoPCyAAKAIQIAAoAiwoAgAgASAAKAIMIgBtIgJsaiABIAAgAmxrQQN0ags6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMAKwMACxkAIAAoAhAgACgCLCgCACABbGogAkEDdGoLPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUAKwMACxIBAX9BCBDVGiIAQgA3AgAgAAsMACAABEAgABCiGwsLGQEBf0EQENUaIgBCADcDACAAQgA3AwggAAsNACABIAAoAgBqKwMACw8AIAEgACgCAGogAjkDAAsNACABIAAoAgBqKgIACw8AIAEgACgCAGogAjgCAAsZAQF/QRAQ1RoiAEIANwIAIABCADcCCCAACyABAX9BFBDVGiIAQgA3AgAgAEEANgIQIABCADcCCCAACx8BAX8gACgCACEAQQgQ1RoiAiAAIAFqKQIANwMAIAILEgAgASAAKAIAaiACKQIANwIACzIBAX8jAEEQayICJAAgAkEIaiABIAARAgAgAigCCBAHIAIoAggiABAGIAJBEGokACAACzgBAX8jAEEQayICJAAgAiABIAARAgBBEBDVGiIAIAIpAwg3AgggACACKQMANwIAIAJBEGokACAACzABAX9BHBDVGiIAQX82AhggAEIANwIQIABCgICAgICAgMC/fzcCCCAAQgA3AgAgAAsiAQF/QRAQ1RoiAEL/////////v/8ANwIIIABCfzcCACAACycBAX9BIBDVGiIAQgA3AwAgAEIANwMYIABCADcDECAAQgA3AwggAAsNACABIABBA3RqKwMACw8AIAEgAEEDdGogAjkDAAsZAQF/QQwQ1RoiAEIANwIAIABBADYCCCAACxAAQcABENUaQQBBwAEQrxsLCgBBPBDVGhCQCgsUACAABEAgACAAKAIAKAIEEQEACwuBAQECfyMAQRBrIgIkACACIAEgACgCABECAAJAIAIsAAsiAUEATgRAIAFB/wFxIgBBBGoQoRsiASAANgIAIAFBBGogAiAAEK4bGgwBCyACKAIEIgBBBGoQoRsiASAANgIAIAFBBGogAigCACIDIAAQrhsaIAMQohsLIAJBEGokACABC7EBAQR/IwBBEGsiAyQAIAIoAgAiBEFwSQRAIAAoAgAhBgJAAkAgBEELTwRAIARBEGpBcHEiBRDVGiEAIAMgBUGAgICAeHI2AgggAyAANgIAIAMgBDYCBCADIQUMAQsgAyAEOgALIAMiBSEAIARFDQELIAAgAkEEaiAEEK4bGgsgACAEakEAOgAAIAEgAyAGEQIAIAUsAAtBf0wEQCADKAIAEKIbCyADQRBqJAAPCxDZGgALfwEBfyMAQUBqIgIkACACIAEgABECAEE8ENUaIgBBrLQDNgIAIABBBGogAkEEchDbGhogACACKAIQNgIQIABBFGogAkEUahDbGhogAEEgaiACQSBqENsaGiAAQSxqIAJBLGoQ2xoaIAAgAigCODYCOCACEJUKGiACQUBrJAAgAAs4AQF/IwBBEGsiAiQAIAIgASAAEQIAQQwQ1RoiACACKAIINgIIIAAgAikDADcCACACQRBqJAAgAAvgAQIBfwF8IwBBgAFrIgkkACAJIAMpAgA3A3ggCSAEKwMAOQNYIAkgBCsDCDkDYCAJIAQrAxA5A2ggBCsDGCEKIAkgBTYCUCAJIAo5A3AgCSAGKwMAOQMwIAkgBisDCDkDOCAJIAYrAxA5A0AgCSAGKwMYOQNIIAkgBysDADkDECAJIAcrAwg5AxggCSAHKwMQOQMgIAkgBysDGDkDKCAJIAkpA3g3AwggASACIAlBCGogCUHYAGogCUHQAGogCUEwaiAJQRBqIAggABESACEHIAkoAlAQBiAJQYABaiQAIAcL3gECAX8BfCMAQYABayIIJAAgCCADKQIANwN4IAggBCsDADkDWCAIIAQrAwg5A2AgCCAEKwMQOQNoIAQrAxghCSAIIAU2AlAgCCAJOQNwIAggBisDADkDMCAIIAYrAwg5AzggCCAGKwMQOQNAIAggBisDGDkDSCAIIAcrAwA5AxAgCCAHKwMIOQMYIAggBysDEDkDICAIIAcrAxg5AyggCCAIKQN4NwMIIAEgAiAIQQhqIAhB2ABqIAhB0ABqIAhBMGogCEEQaiAAERYAIQcgCCgCUBAGIAhBgAFqJAAgBwuwAQMBfwF+AXwjAEHgAGsiByQAIAcgAykCACIINwNYIAcgBCsDADkDOCAHIAQrAwg5A0AgByAEKwMQOQNIIAQrAxghCSAHIAU2AjAgByAJOQNQIAcgBisDADkDECAHIAYrAwg5AxggByAGKwMQOQMgIAcgBisDGDkDKCAHIAg3AwggASACIAdBCGogB0E4aiAHQTBqIAdBEGogABEMACEGIAcoAjAQBiAHQeAAaiQAIAYLgQEDAX8BfgF8IwBBQGoiBiQAIAYgAykCACIHNwM4IAYgBCsDADkDGCAGIAQrAwg5AyAgBiAEKwMQOQMoIAQrAxghCCAGIAU2AhAgBiAIOQMwIAYgBzcDCCABIAIgBkEIaiAGQRhqIAZBEGogABEJACEEIAYoAhAQBiAGQUBrJAAgBAtlAgF/AX4jAEEwayIFJAAgBSADKQIAIgY3AyggBSAEKwMAOQMIIAUgBCsDCDkDECAFIAQrAxA5AxggBSAEKwMYOQMgIAUgBjcDACABIAIgBSAFQQhqIAARCwAhBCAFQTBqJAAgBAtOAQF/IwBBIGsiAyQAIAMgASACIAARBABBIBDVGiIAIAMpAxg3AxggACADKQMQNwMQIAAgAykDCDcDCCAAIAMpAwA3AwAgA0EgaiQAIAALTAEBfyMAQSBrIgIkACACIAEgABECAEEgENUaIgAgAikDGDcDGCAAIAIpAxA3AxAgACACKQMINwMIIAAgAikDADcDACACQSBqJAAgAAtKAQF/IwBBIGsiASQAIAEgABEBAEEgENUaIgAgASsDADkDACAAIAErAwg5AwggACABKwMQOQMQIAAgASsDGDkDGCABQSBqJAAgAAtCACAAQv/////////3/wA3AxggAEL/////////9/8ANwMQIABC//////////f/ADcDCCAAQv/////////3/wA3AwALTQEBfyMAQSBrIgQkACAEIAMpAwg3AxAgBCADKQMANwMIIARBGGogASACIARBCGogABEGACAEKAIYEAcgBCgCGCIDEAYgBEEgaiQAIAMLDQAgACgCAEEEaygCAAt8AQN/IwBBEGsiASQAIAEgABEBAAJAIAEsAAsiAEEATgRAIABB/wFxIgJBBGoQoRsiACACNgIAIABBBGogASACEK4bGgwBCyABKAIEIgJBBGoQoRsiACACNgIAIABBBGogASgCACIDIAIQrhsaIAMQohsLIAFBEGokACAACwYAQbiUAQskAQF/IAAEQCAAKAIAIgEEQCAAIAE2AgQgARCiGwsgABCiGwsLGQEBf0EMENUaIgBBADYCCCAAQgA3AgAgAAvqAQEFfyAAKAIEIgIgACgCCEcEQCACIAEoAgA2AgAgACACQQRqNgIEDwsCQCACIAAoAgAiBWsiBkECdSIEQQFqIgJBgICAgARJBEACf0EAIAIgBkEBdSIDIAIgA0sbQf////8DIARB/////wFJGyIDRQ0AGiADQYCAgIAETw0CIANBAnQQ1RoLIgIgBEECdGoiBCABKAIANgIAIAIgA0ECdGohASAEQQRqIQMgBkEBTgRAIAIgBSAGEK4bGgsgACABNgIIIAAgAzYCBCAAIAI2AgAgBQRAIAUQohsLDwsQ/BoAC0HdkgEQvgIAC1IBAn8jAEEQayIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIARBAXEEQCABKAIAIABqKAIAIQALIAMgAjYCDCABIANBDGogABECACADQRBqJAALPgECfyABIAAoAgQgACgCACIEa0ECdSIDSwRAIAAgASADayACEL8CDwsgASADSQRAIAAgBCABQQJ0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ACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQIACz4BAn8gASAAKAIEIAAoAgAiBGtBA3UiA0sEQCAAIAEgA2sgAhDCAg8LIAEgA0kEQCAAIAQgAUEDdGo2AgQLCzkBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEEAAtdAQJ/IwBBEGsiAyQAQQEhBCAAIAIgASgCBCABKAIAIgFrQQN1SQR/QQgQ1RoiBCABIAJBA3RqKQIANwMAIAMgBDYCCEHIngEgA0EIahADBSAECzYCACADQRBqJAALFwAgACgCACABQQN0aiACKQIANwIAQQELEAAgASACIAMgACgCABEFAAsGAEGMoAELTwECfyAABEAgACgCACIBBEACfyABIAEgACgCBCICRg0AGgNAIAJBOGsQsQYiAiABRw0ACyAAKAIACyECIAAgATYCBCACEKIbCyAAEKIbCwsrAQF/IAAoAgQiAiAAKAIIRwRAIAAgAiABEK0GQThqNgIEDwsgACABEMMCC1wBA38gASAAKAIEIgMgACgCACIFa0E4bSIESwRAIAAgASAEayACEMQCDwsgASAESQRAIAUgAUE4bGoiASADRwRAA0AgA0E4axCxBiIDIAFHDQALCyAAIAE2AgQLCxAAIAAoAgQgACgCAGtBOG0LWwECfyMAQRBrIgMkAEEBIQQgACACIAEoAgQgASgCACIBa0E4bUkEf0E4ENUaIgQgASACQThsahCtBhogAyAENgIIQcChASADQQhqEAMFIAQLNgIAIANBEGokAAsUACAAKAIAIAFBOGxqIAIQswZBAQsGAEGYowEL/QEBBX8gACgCBCICIAAoAghHBEAgAiABKQIANwIAIAIgASkCCDcCCCAAIAJBEGo2AgQPCwJAIAIgACgCACIFayIGQQR1IgRBAWoiAkGAgICAAUkEQAJ/QQAgAiAGQQN1IgMgAiADSxtB/////wAgBEH///8/SRsiA0UNABogA0GAgICAAU8NAiADQQR0ENUaCyICIARBBHRqIgQgASkCADcCACAEIAEpAgg3AgggAiADQQR0aiEBIARBEGohAyAGQQFOBEAgAiAFIAYQrhsaCyAAIAE2AgggACADNgIEIAAgAjYCACAFBEAg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QczvARCJA0Gk7wFB/+QBQcwNEJgKAAtBqX4gBUEQakHl7wEQiQNBpO8BQf/kAUHXDRCYCgALwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogAiAIai0AACAAIAhqLQAAQYACcmpBoPwDai0AADoAACAEIAlqIAogC0GAAnJqQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiACIApqLQAAIAAgCmotAABBgAJyakGg/ANqLQAAOgAAIAQgCWogCyAOQYACcmpBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAIgCGotAAAgACAIai0AAEGAAnJqQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwvzAgEIfyAHBEAgBkEEayEKIAZBA0ohCyAFQQF2QQF0IQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASALBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAIgA2ovAQAgACADai8BAGoiD0H//wMgD0H//wNJGzsBACAEIAVqIAggCWoiBUH//wMgBUH//wNJGzsBACACIANBBnIiBWovAQAhCCAAIAVqLwEAIQkgBCADQQRyIgNqIAIgA2ovAQAgACADai8BAGoiA0H//wMgA0H//wNJGzsBACAEIAVqIAggCWoiA0H//wMgA0H//wNJGzsBACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogAiADai8BACAAIANqLwEAaiIDQf//AyADQf//A0kbOwEAIAFBAWoiASAGRw0ACwsgBCAMaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLuQMBCH8gBwRAIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQEgDARAA0AgAiABQQF0IgNBAnIiBWouAQAhCCAAIAVqLgEAIQkgAyAEaiAAIANqLgEAIAIgA2ouAQBqIgpB//8BIApB//8BSBsiCkGAgH4gCkGAgH5KGzsBACAEIAVqIAggCWoiBUH//wEgBUH//wFIGyIFQYCAfiAFQYCAfkobOwEAIAIgA0EGciIFai4BACEIIAAgBWouAQAhCSAEIANBBHIiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgBCAFaiAIIAlqIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwutAgEHfyAHBEAgBkEEayEKIAZBA0ohCyAFQQJ2QQJ0IQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhASALBEADQCACIAFBAnQiA0EEciIFaigCACEIIAAgBWooAgAhCSADIARqIAIgA2ooAgAgACADaigCAGo2AgAgBCAFaiAIIAlqNgIAIAIgA0EMciIFaigCACEIIAAgBWooAgAhCSAEIANBCHIiA2ogAiADaigCACAAIANqKAIAajYCACAEIAVqIAggCWo2AgAgAUEEaiIBIApMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQJ0IgNqIAIgA2ooAgAgACADaigCAGo2AgAgAUEBaiIBIAZHDQALCyAEIAxqIQQgAiANaiECIAAgDmohACAHDQALCwuvAgIFfwJ9IAcEQCAGQQRrIQggBkEDSiEJIAVBAnZBAnQhCiADQQJ2QQJ0IQsgAUECdkECdCEMA0BBACEBIAkEQANAIAIgAUECdCIDQQRyIgVqKgIAIQ0gACAFaioCACEOIAMgBGogACADaioCACACIANqKgIAkjgCACAEIAVqIA4gDZI4AgAgAiADQQxyIgVqKgIAIQ0gACAFaioCACEOIAQgA0EIciIDaiAAIANqKgIAIAIgA2oqAgCSOAIAIAQgBWogDiANkjgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaioCACACIANqKgIAkjgCACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC68CAgV/AnwgBwRAIAZBBGshCCAGQQNKIQkgBUEDdkEDdCEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDSAAIAVqKwMAIQ4gAyAEaiAAIANqKwMAIAIgA2orAwCgOQMAIAQgBWogDiANoDkDACACIANBGHIiBWorAwAhDSAAIAVqKwMAIQ4gBCADQRByIgNqIAAgA2orAwAgAiADaisDAKA5AwAgBCAFaiAOIA2gOQMAIAFBBGoiASAITA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEDdCIDaiAAIANqKwMAIAIgA2orAwCgOQMAIAFBAWoiASAGRw0ACwsgBCAKaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsLwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogACAIai0AAEGAAnIgAiAIai0AAGtBoPwDai0AADoAACAEIAlqIAtBgAJyIAprQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiAAIApqLQAAQYACciACIApqLQAAa0Gg/ANqLQAAOgAAIAQgCWogDkGAAnIgC2tBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAAgCGotAABBgAJyIAIgCGotAABrQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwulAwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAAgA2ovAQAgAiADai8BAGsiCkEAIApBAEobIgpB//8DIApB//8DSBs7AQAgBCAFaiAJIAhrIgVBACAFQQBKGyIFQf//AyAFQf//A0gbOwEAIAIgA0EGciIFai8BACEIIAAgBWovAQAhCSAEIANBBHIiA2ogACADai8BACACIANqLwEAayIDQQAgA0EAShsiA0H//wMgA0H//wNIGzsBACAEIAVqIAkgCGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEEaiIBIAtMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQF0IgNqIAAgA2ovAQAgAiADai8BAGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwu5AwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai4BACEIIAAgBWouAQAhCSADIARqIAAgA2ouAQAgAiADai4BAGsiCkH//wEgCkH//wFIGyIKQYCAfiAKQYCAfkobOwEAIAQgBWogCSAIayIFQf//ASAFQf//AUgbIgVBgIB+IAVBgIB+Shs7AQAgAiADQQZyIgVqLgEAIQggACAFai4BACEJIAQgA0EEciIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACAEIAVqIAkgCGsiA0H//wEgA0H//wFIGyIDQYCAfiADQYCAfkobOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQFqIgEgBkcNAAsLIAQgDWohBCACIA5qIQIgACAPaiEAIAcNAAsLC60CAQd/IAcEQCAGQQRrIQogBkEDSiELIAVBAnZBAnQhDCADQQJ2QQJ0IQ0gAUECdkECdCEOA0BBACEBIAsEQANAIAIgAUECdCIDQQRyIgVqKAIAIQggACAFaigCACEJIAMgBGogACADaigCACACIANqKAIAazYCACAEIAVqIAkgCGs2AgAgAiADQQxyIgVqKAIAIQggACAFaigCACEJIAQgA0EIciIDaiAAIANqKAIAIAIgA2ooAgBrNgIAIAQgBWogCSAIazYCACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaigCACACIANqKAIAazYCACABQQFqIgEgBkcNAAsLIAQgDGohBCACIA1qIQIgACAOaiEAIAcNAAsLC68C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IgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEgbOgAAIAMgBGpBf0EAIAggCkgbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBIGzoAACADIARqQX9BACAIIApIGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEgbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEwbOgAAIAMgBGpBf0EAIAggCkwbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBMGzoAACADIARqQX9BACAIIApMGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEwbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLtwYBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDoBAwFCyACIAMgACABIAQgBSAGIAcQ6AQMBAsgACABIAIgAyAE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OAIAIAMgBGogDiANlDgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlDgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ0gACADaioCACEOIAEgBGogDyAAIAFqKgIAu6IgASACaioCALuitjgCACADIARqIA8gDruiIA27orY4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAPIAAgAWoqAgC7oiABIAJqKgIAu6K2OAIAIAMgBGogDyAOu6IgDbuitjgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogDyAAIAFqKgIAu6IgASACaioCALuitjgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC5MFAgZ/AXwgBUECdiEMIANBAnYhDSABQQJ2IQ4CQCAIKwMAIg9EAAAAAAAA8L+gmUQAAAAAAACAPmVBAXNFBEAgB0UNASAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogASACaigCACAAIAFqKAIAbDYCACADIARqIAUgCWw2AgAgAiABQQxyIgNqKAIAIQUgACADaigCACEJIAQgAUEIciIBaiABIAJqKAIAIAAgAWooAgBsNgIAIAMgBGogBSAJbDYCACAIQQRqIgggCkwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogASACaigCACAAIAFqKAIAbDYCACAIQQFqIgggBkcNAAsLIAQgDEECdGohBCACIA1BAnRqIQIgACAOQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogDyAAIAFqKAIAt6IgASACaigCALeiEIIVNgIAIAMgBGogDyAJt6IgBbeiEIIVNgIAIAIgAUEM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IQ0gACADaioCACEOIAEgBGogACABaioCACABIAJqKgIAlTgCACADIARqIA4gDZU4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAAIAFqKgIAIAEgAmoqAgCVOAIAIAMgBGogDiANlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ4gACADaioCACEPIAEgBGogACABaioCACANlCABIAJqKgIAlTgCACADIARqIA8gDZQgDpU4AgAgAiABQQxyIgNqKgIAIQ4gACADaioCACEPIAQgAUEIciIBaiAAIAFqKgIAIA2UIAEgAmoqAgCVOAIAIAMgBGogDyANlCAOlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACANlCABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC/YEAgV/A3wgBUEDdiEKIANBA3YhCyABQQN2IQwCQCAIKwMARAAAAAAAAPA/YQRAIAdFDQEgBkEEayEFIAZBA0ohCQNAQQAhASAJBEADQCACIAFBA3QiA0EIciIIaisDACEOIAAgCGorAwAhDyADIARqIAAgA2orAwAgAiADaisDAKM5AwAgBCAIaiAPIA6jOQMAIAIgA0EYciIIaisDACEOIAAgCGorAwAhDyAEIANBEHIiA2ogACADaisDACACIANqKwMAozkDACAEIAhqIA8gDqM5AwAgAUEEaiIBIAVMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQN0IgNqIAAgA2orAwAgAiADaisDAKM5AwAgAUEBaiIBIAZHDQALCyAEIApBA3RqIQQgAiALQQN0aiECIAAgDEEDdGohACAHDQALDAELIAdFDQAgBkEEayEJIAZBA0ohDQNAQQAhASANBEADQCACIAFBA3QiA0EIciIFaisDACEO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FyAVIAItAAG4oqAhFyAWIBUgAi0AALiioCEWIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRUMAQsgBCANaiECQQAhAEQAAAAAAAAAACEVA0AgFSAHIABBAnRqKgIAuyACLQAAuKKgIRUgAiAMaiECIABBAWoiACABRw0ACwsgCiAEQQJ0aiAVIAOitjgCACAEQQFqIgQgCEcNAAsLIAogEkECdGohCiAGQQFqIgYgCEcNAAsLIAcgEUcEQCAHEKIbCyALQaAIaiQAC68IAxR/AX0BfCMAQaAIayIHJAAgASgCMEECdiESIAAoAjAhDSABKAIQIQogACgCECEOIAAoAigiACgCACELIAAoAgQhBAJAIAIoAhAiCEUEQCALQQFIDQEgBEF8cSEJIARBBGshBkEAIQggBEEDSiEQA0AgDiAIIA1saiEBIAghDANAIA4gDCANbGohAkEAIQBEAAAAAAAAAAAhGQJ/IBAEQANAIBkgACABai0AALggACACai0AALiiIAEgAEEBciIFai0AALggAiAFai0AALiioCABIABBAnIiBWotAAC4IAIgBWotAAC4oqAgASAAQQNyIgVqLQAAuCACIAVqLQAAuKKgoCEZIABBBGoiACAGTA0ACyAJIQALIAAgBEgLBEADQCAZIAAgAWotAAC4IAAgAmotAAC4oqAhGSAAQQFqIgAgBEcNAAsLIAogDEECdGogGSADorY4AgAgDEEBaiIMIAtHDQALIAogEkECdGohCiAIQQFqIgggC0cNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAEQQJ0IgA2AgQgByAHQQhqIhM2AgAgEyEFIABBiQhPBEAgByAAENUaIgU2AgALIAtBAU4EQCAGQQJ2QQAgAUEBShshFCAEQXxxIRUgBEEEayEMIARBAUghFiAEQQNKIRcgBCARRkEEdCEQA0AgDiANIA9saiECIAggDyAUbEECdGohAQJAIAQgEUwEQEEAIQAgBEEATA0BA0AgBSAAQQJ0IgZqIAAgAmotAACzIAEgBmoqAgCTOAIAIABBAWoiACAERw0ACwwB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AANAIAQgAEEDdCICaiACIAZqKwMAIAErAwChOQMAIABBAWoiACAFRw0ACwsgDyEIA0AgEyAIIBVsQQN0aiEAIAggDWxBA3QhAiAFIBFKBEAgByAAKwMAIhg5A6AIIAcgGDkDqAggByAYOQOYCCAHIBg5A5AIIAdBkAhqIQALIAIgDmohAUQAAAAAAAAAACEYQQAhAgJ/IAVBA0oEQANAIBggBCACQQN0IgZqKwMAIAEgBmorAwAgACsDAKGiIAQgBkEIciIMaisDACABIAxqKwMAIAArAwihoqAgBCAGQRByIgxqKwMAIAEgDGorAwAgACsDEKGioCAEIAZBGHIiBmorAwAgASAGaisDACAAKwMYoaKgoCEYIAAgEGohACACQQRqIgIgC0wNAAsgFiECCyACIAVICwRAA0AgGCAEIAJBA3QiBmorAwAgASAGaisDACAAKwMAoaKgIRggAEEIaiEAIAJBAWoiAiAFRw0ACwsgCSAIQQN0aiAYIAOiOQMAIAhBAWoiCCAKRw0ACyAJIBJBA3RqIQkgD0EBaiIPIApHDQALCyAEIBRGDQAgBBCiGwsgB0GwCGokAAvMAQIDfwF8An8gAkEETgRAIAJBBGshBQNAIAYgACADai0AALggASADai0AALiiIAAgA0EBciIEai0AALggASAEai0AALiioCAAIANBAnIiBGotAAC4IAEgBGotAAC4oqAgACADQQNyIgRqLQAAuCABIARqLQAAuKKgoCEGIANBBGoiAyAFTA0ACyACQXxxIQMLIAIgA0oLBEADQCAGIAAgA2otAAC4IAEgA2otAAC4oqAhBiADQQFqIgMgAkcNAAsLIAZEAAAAAAAAAACgC8wBAgN/AXwCfyACQQROBEAgAkEEayEFA0AgBiAAIANqLAAAtyABIANqLAAAt6IgACADQQFyIgRqLAAAtyABIARqLAAAt6KgIAAgA0ECciIEaiwAALcgASAEaiwAALeioCAAIANBA3IiBGosAAC3IAEgBGosAAC3oqCgIQYgA0EEaiIDIAVMDQALIAJBfHEhAwsgAiADSgsEQANAIAYgACADaiwAALcgASADaiwAALeioCEGIANBAWoiAyACRw0ACwsgBkQAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai8BALggASAEai8BALiiIAAgBEECciIFai8BALggASAFai8BALiioCAAIARBBHIiBWovAQC4IAEgBWovAQC4oqAgACAEQQZyIgRqLwEAuCABIARqLwEAuKKgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai8BALggASAEai8BALiioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeiIAAgBEECciIFai4BALcgASAFai4BALeioCAAIARBBHIiBWouAQC3IAEgBWouAQC3oqAgACAEQQZyIgRqLgEAtyABIARqLgEAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKALzAECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeiIAAgBEEEciIFaigCALcgASAFaigCALeioCAAIARBCHIiBWooAgC3IAEgBWooAgC3oqAgACAEQQxyIgRqKAIAtyABIARqKAIAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeioCEHIANBAWoiAyACRw0ACwsgBwvWAQIEfwF8An8gAkEETgRAIAJBBGshBgNAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6IgACAEQQRyIgVqKgIAuyABIAVqKgIAu6KgIAAgBEEIciIFaioCALsgASAFaioCALuioCAAIARBDHIiBGoqAgC7IAEgBGoqAgC7oqCgIQcgA0EEaiIDIAZMDQALIAJBfHEhAwsgAiADSgsEQANAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6KgIQcgA0EBaiIDIAJHDQALCyAHRAAAAAAAAAAAoAvqCgEEfyMAQdACayIHJAACQCAAEMwHQYCABEYEQCAHQZgCaiAAKAIEEK0GGgwBCyAHQZgCaiAAEMkHCwJAIAEQzAdBgIAERgRAIAdB4AFqIAEoAgQQrQYaDAEL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QQJ0akEANgIAIAFBAWoiASAAKAI0SA0ACwsgCyAAKAJcIgFHBEAgARDuAwsgAEH4AGohAQJAIAAoAowBIghFDQAgCCAIKAIMIglBAWs2AgwgCUEBRw0AIAAoAowBIglFDQAgAEEANgKMAQJAIAkoAgQiCA0AIAAoAogBIggNABCgBiEICyAIIAkgCCgCACgCGBECAAsgAEEANgKMASABQgA3AgggAUIANwIAIAAoAmxBAU4EQCAAKAKQASEIQQAhAQNAIAggAUECdGpBADYCACABQQFqIgEgACgCbEgNAAsLIAAoApQBIgEgBUYNACABEO4DCyAAQaACaiQADwtBqX4gAEHoAGpBvoMCEIkDQYGEAkHggwJBwAAQmAoAC9cHAQR/IwBBoAJrIgAkAAJAAkAgAUUNACACRQ0AIAIoAhAhCiABKAIQIQsgA0EBTgRAIANBAmshDUEAIQEDQCAEIAFBAnQiAmooAgAiCUF/TA0DIAlFDQIgBQRAQQEhDCALIAEgDUwEfyACIAZqKAIABSAMCyACIAVqKAIAbGohCwsgBwRAQQEhDCAKIAEgDUwEfyACIAhqKAIABSAMCyACIAdqKAIAbGohCgsgAEGgAWogAmogCTYCACABQQFqIgEgA0cNAAsLIABB/ABqIgFCADcCACAAQgA3AnRBACECIABBADYCjAEgAEIANwKEASAAQZgBaiIFQgA3AwAgASALNgIAIABCADcCbCAAQYCA/JcENgJoIAAgBTYClAEgACAAQfAAajYCkAEgACALNgJ4IABB6ABqIAMgAEGgAWogBkEBEJ4GIABB6ABqEJ8GIABBxABqIgFCADcCACAAQgA3AjwgAEEANgJUIABCADcCTCAAQeAAaiIHQgA3AwAgASAKNgIAIABCADcCNCAAIAc2AlwgACAAQThqNgJYIABBgID8lwQ2AjAgACAKNgJAIABBMGogAyAAQaABaiAIQQEQngYgAEEwahCfBiAAIABBMGo2AiwgACAAQegAajYCKCAAIABBKGogAEEgakECEKwHIgEoAhAEQCABKAIUIQkDQCAAKAIkIAAoAiAgCRCuGxogARCtByACQQFqIgIgASgCEEkNAAsLIABBQGshAQJAIAAoAlQiAkUNACACIAIoAgwiCUEBazYCDCAJQQFHDQAgACgCVCIJRQ0AIABBADYCVAJAIAko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BCAFKQOQAzcDsAEgBCAFKwOgAzkDwAEgBCAKKwMAOQPIASAEIAsrAwA5A9ABIAQgDCsDADkD2AEgCBCxBhogBxCxBhogBhCxBhogAxCxBhogAhCxBhogARCxBhogABCxBhoLIAVBwANqJAALgwcDDX8BfgJ8IwBBwANrIgQkAAJAIAAgASAAKAIAKAIIEQMABEAgASkDACERIARBqAFqEKcGIQAgBEHwAGoQpwYhBSAEQThqEKcGIQYgASsDsAEhEiABKwO4ASETIAQgETcD4AEgBEHoAWogABCtBiEHIARBoAJqIAUQrQYhCCAEQdgCaiAGEK0GIQkgBEGYA2oiCiATOQMAIAQgEjkDkAMgBCABKwPAATkDoAMgBEGoA2oiCyABKwPIATkDACAEQbADaiIMIAErA9ABOQMAIARBuANqIg0gASsD2AE5AwAgAyAEKQPgATcDACADQQhqIg4gBxC5BhogA0FAayIPIAgQuQYaIANB+ABqIhAgCRC5BhogAyAKKQMANwO4ASADIAQpA5ADNwOwASADIAQrA6ADOQPAASADIAsrAwA5A8gBIAMgDCsDADkD0AEgAyANKwMAOQPYASAJELEGGiAIELEGGiAHELEGGiAGELEGGiAFELEGGiAAELEGGiABKAIYBEAgBEHgAWogAUEIaiACEL4GIA4gBEHgAWoQuQYaIARB4AFqELEGGgsgASgCUARAIARB4AFqIAFBQGsgAhC+BiAPIARB4AFqELkGGiAEQeABahCxBhoLIAEoAogBRQ0BIARB4AFqIAFB+ABqIAIQvgYgECAEQeABahC5BhogBEHgAWoQsQYaDAELIARBqAFqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgBEHwAGogACACEL4GIARBOGoQpwYhASAEEKcGIQIgBEEANgLkASAEQeTOCjYC4AEgBEHoAWogBEHwAGoQrQYhBSAEQaACaiABEK0GIQYgBEHYAmogAhCtBiEHIARBmANqIghCgICAgICAgPg/NwMAIARBqANqIglCADcDACAEQbADaiIKQgA3AwAgBEG4A2oiC0IANwMAIARCADcDoAMgBEKAgICAgICA+D83A5ADIAMgBCkD4AE3AwAgA0EIaiAFELkGGiADQUBrIAYQuQYaIANB+ABqIAcQuQYaIAMgCCkDADcDuAEgAyAEKQOQAzcDsAEgAyAEKwOgAzkDwAEgAyAJKwMAOQPIASADIAorAwA5A9ABIAMgCysDADkD2AEgBxCxBhogBhCxBhogBRCxBhogAhCxBhogARCxBhogBEHwAGoQsQYaIAAQsQYaCyAEQcADaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAgAEIANwNYIAAgAzYCVCAAQYCAhAg2AlAgACACNgJEIABBgICEkHw2AkAgAEIANwNIIABB4ABqIABB0ABqIABBQGtB1NYKENsFIAMQsQYaIABB8ABqJAALnwEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0HU1goQ3QUgAxCxBhogAEHwAGokAAvjAQECfyMAQbABayIAJAAgABCnBiEDIAEoAgAiBCABIANBfyAEKAIAKAIMEQYAIABCADcDqAEgACACNgKkASAAQYCAhAg2AqABIABCADcDmAEgACADNgKUASAAQYCAhAg2ApABIABByABqEKcGIQEgAEIANwOIASAAIAE2AoQBIABBgICECDYCgAEgACACNgI8IABBgICEEDYCOCAAQgA3A0AgAEGgAWogAEGQAWpEAAAAAAAA8D8gAEGAAWpEAAAAAAAAAAAgAEE4akEAEIIGIAEQsQYaIAMQsQYaIABBsAFqJAALpAEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0QAAAAAAADwPxDgBSADELEGGiAAQfAAaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAg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IAAQrQYhBiAEQagCaiACEK0GIQcgBEGIA2oiCCAPOQMAIARBgANqIgkgDDkDACAEQfgCaiIKIA05AwAgBEHoAmoiCyAROQMAIAQgDjkD8AIgBCAQOQPgAiADIAQpA7ABNwMAIANBCGogARC5BhogA0FAayAGELkGGiADQfgAaiAHELkGGiADIAspAwA3A7gBIAMgBCkD4AI3A7ABIAMgBCsD8AI5A8ABIAMgCisDADkDyAEgAyAJKwMAOQPQASADIAgrAwA5A9gBIAcQsQYaIAYQsQYaIAEQsQYaIAIQsQYaIAAQsQYaIAUQsQYaDAELIAUgASACIAMgBSgCACgCPBEGAAsgBEGQA2okAAv0AgEJfyMAQZADayIAJAAgAEFAaxCnBiEFIAIoAgAiBCACIAVBfyAEKAIAKAIMEQYAIABBCGoQpwYhAiAAQfgAahCnBiEEIABBADYCtAEgAEHozgo2ArABIABBuAFqIAUQrQYhBiAAQfABaiACEK0GIQcgAEGoAmogBBCtBiEIIABB6AJqIglCADcDACAAQoCAgICAgID4v383A+ACIAAgASsDADkD8AIgAEH4AmoiCiABKwMIOQMAIABBgANqIgsgASsDEDkDACAAQYgDaiIMIAErAxg5AwAgAyAAKQOwATcDACADQQhqIAYQuQYaIANBQGsgBxC5BhogA0H4AGogCBC5BhogAyAJKQMANwO4ASADIAApA+ACNwOwASADIAArA/ACOQPAASADIAorAwA5A8gBIAMgCysDADkD0AEgAyAMKwMAOQPYASAIELEGGiAHELEGGiAGELEGGiAEELEGGiACELEGGiAFELEGGiAAQZADaiQAC6oKAgh/AXwjAEGQA2siBSQAAkAgACACKAIAIgZGBEAgBUFAaxCnBiEAIAVBCGoQpwYhBgJAAkACQAJAIAEoAgAiB0HszgpHDQAgASgCBEEvRw0AIAEoAlAEQCABKwO4AUQAAAAAAAAAAGINAgsCQAJAIAIoAgAiB0HozgpHDQAgAigCUARAIAIrA7gBRAAAAAAAAAAAYg0BCyACKwPAAUQAAAAAAAAAAGINACACKwPIAUQAAAAAAAAAAGINACACKwPQAUQAAAAAAAAAAGINACACKwPYAUQAAAAAAAAAAGINACACKwOwASENIAYgAkEIahCzBiANIASiIQQMAQsgByAC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ADkD0AEgAyALKwMAOQPYASAHELEGGiAFELEGGiABELEGGiACELEGGiAAELEGGiAGELEGGgwBCyAGIAEgAiADIAYoAgAoAlwRBgALIARBkANqJAALRQECfyMAQUBqIgQkACAEQQhqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgAyACIAAQ+gYgABCxBhogBEFAayQAC7wCAQl/IwBB0AJrIgMkACADQThqEKcGIQQgAxCnBiEFIAMgATYCdCADQfTOCjYCcCADQfgAaiACEK0GIQIgA0GwAWogBBCtBiEBIANB6AFqIAUQrQYhBiADQagCaiIHQgA3AwAgA0GwAmoiCEIANwMAIANBuAJqIglCADcDACADQcACaiIKQgA3AwAgA0HIAmoiC0IANwMAIANCgICAgICAgPg/NwOgAiAAIAMpA3A3AwAgAEEIaiACELkGGiAAQUBrIAEQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACADKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiABELEGGiACELEGGiAFELEGGiAEELEGGiADQdACaiQACzsAIAACfyACQTBqIAJBCGoQtwZFDQAaIAJB6ABqIAJBQGsQtwYNABogAkGgAWoLKAIAKQIAQiCJNwIACy8AAkAgAUEIaiIAELcGRQ0AIAFBQGsiABC3Bg0AIAFB+ABqIQALIAAoAgBB/x9xC8QDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB6M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPi/fzcDACADQYgCaiIPQgA3AwAgA0GQAmoiEEIANwMAIANBmAJqIhFCADcDACADQgA3A4ACIANCgICAgICAgPg/NwPwASAAIAMpA0A3AwAgBiABELkGGiAHIAIQuQYaIAggBRC5BhogDSAOKQMANwMAIAAgAykD8AE3A7ABIAwgAysDgAI5AwAgCyAPKwMAOQMAIAogECsDADkDACAJIBErAwA5AwAgBRCxBhogAhCxBhogARCxBhogBBCxBhogA0GgAmokAAvCAwESfyMAQdACayICJAAgARC3BgRAQXsgAkHwAGpB2qkCEIkDQcepAkHqnQJBGBCYCgALIABCADcDACAAQQhqEKcGIQcgAEFAaxCnBiEIIABB+ABqEKcGIQkgAEHYAWoiCkIANwMAIABB0AFqIgtCADcDACAAQcgBaiIMQgA3AwAgAEHAAWoiDUIANwMAIABBuAFqIg5CADcDACAAQgA3A7ABIAIQpwYhAyACQThqEKcGIQQgAkEANgJ0IAJB6M4KNgJwIAJB+ABqIAEQrQYhASACQbABaiADEK0GIQUgAkHoAWogBBCtBiEGIAJBqAJqIg9CADcDACACQbACaiIQQgA3AwAgAkG4AmoiEUIANwMAIAJBwAJqIhJCADcDACACQcgCaiITQgA3AwAgAkKAgICAgICA+L9/NwOgAiAAIAIpA3A3AwAgByABELkGGiAIIAUQuQYaIAkgBhC5BhogDiAPKQMANwMAIAAgAikDoAI3A7ABIA0gECsDADkDACAMIBErAwA5AwAgCyASKwMAOQMAIAogEysDADkDACAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC8MDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB8M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPg/NwMAIANBiAJqIg9CADcDACADQZACaiIQQgA3AwAgA0GYAmoiEUIANwMAIANCADcDgAIgA0KAgICAgICA+D83A/ABIAAgAykDQDcDACAGIAEQuQYaIAcgAhC5BhogCCAFELkGGiANIA4pAwA3AwAgACADKQPwATcDsAEgDCADKwOAAjkDACALIA8rAwA5AwAgCiAQKwMAOQMAIAkgESsDADkDACAFELEGGiACELEGGiABELEGGiAEELEGGiADQaACaiQAC7kDARJ/IwBB0AJrIgMkACABELcGBEBBeyADQfAAakHaqQIQiQNBx6kCQeqdAkEYEJgKAAsgAEIANwMAIABBCGoQpwYhCCAAQUBrEKcGIQkgAEH4AGoQpwYhCiAAQdgBaiILQgA3AwAgAEHQAWoiDEIANwMAIABByAFqIg1CADcDACAAQcABaiIOQgA3AwAgAEG4AWoiD0IANwMAIABCADcDsAEgAxCnBiEEIANBOGoQpwYhBSADQQA2AnQgA0Hozgo2AnAgA0H4AGogARCtBiEBIANBsAFqIAQQrQYhBiADQegBaiAFEK0GIQcgA0GoAmoiEEIANwMAIANBsAJqIhFCADcDACADQbgCaiISQgA3AwAgA0HAAmoiE0IANwMAIANByAJqIhRCADcDACADIAI5A6ACIAAgAykDcDcDACAIIAEQuQYaIAkgBhC5BhogCiAHELkGGiAPIBApAwA3AwAgACADKQOgAjcDsAEgDiARKwMAOQMAIA0gEisDADkDACAMIBMrAwA5AwAgCyAUKwMAOQMAIAcQsQYaIAYQsQYaIAEQsQYaIAUQsQYaIAQQsQYaIANB0AJqJAAL/gEBBH8jAEHgAWsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgASgCACEEIANBADYCBCADQeTOCjYCACADQQhqIAIQrQYhAiADQUBrEKcGIQUgA0H4AGoQpwYhBiADQgA3A8ABIANCADcDyAEgA0IANwPQASADQgA3A9gBIANCADcDuAEgA0KAgICAgICA+D83A7ABIAQgASADIAAgBCgCACgCXBEGACAGELEGGiAFELEGGiACELEGGiADQeABaiQAC58CAQR/IwBB4AFrIgMkACABELcGBEBBeyADQdqpAhCJA0HHqQJB6p0CQRgQmAoACyAAQgA3AwAgAEEIahCnBhogAEFAaxCnBhogAEH4AGoQpwYaIABCADcD2AEgAEIANwPQASAAQgA3A8gBIABCADcDwAEgAEIANwO4ASAAQgA3A7ABIAIoAgAhBCADQQA2AgQgA0Hkzgo2AgAgA0EIaiABEK0GIQEgA0FAaxCnBiEFIANB+ABqEKcGIQYgA0IANwPAASADQgA3A8gBIANCADcD0AEgA0IANwPYASADQgA3A7gBIANCgICAgICAgPg/NwOwASAEIAMgAiAAIAQoAgAoAlwRBgAgBhCxBhogBRCxBhogARCxBhogA0HgAWokAAvFAgEJfyMAQdACayIDJAAgA0E4ahCnBiEEIAMQpwYhBSADQeEANgJ0IANB7M4KNgJwIANB+ABqIAEQrQYhASADQbABaiAEEK0GIQYgA0HoAWogBRCtBiEHIANBqAJqIghCADcDACADQoCAgICAgID4PzcDoAIgAyACKwMAOQOwAiADQbgCaiIJIAIrAwg5AwAgA0HAAmoiCiACKwMQOQMAIANByAJqIgsgAisDGDkDACAAIAMpA3A3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACADKQOgAjcDsAEgACADKwOwAjkDwAEgACAJKwMAOQPIASAAIAorAwA5A9ABIAAgCysDADkD2AEgBxCxBhogBhCxBhogARCxBhogBRCxBhogBBCxBhogA0HQAmokAAueAQEBfyMAQRBrIgAkAAJAAkACQCADQX9HBEAgASgCCCIEQf8fcSADRw0BCyACIAFBCGoQswYMAQsgAyAEc0H4H3ENASAAIAI2AgQgAEGAgIQQNgIAIABCADcDCCABQQhqIAAgA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgAEEQaiQADwtBqX4gAEHAnQIQiQNB450CQeqdAkGBChCYCgAL5hQCB38DfCMAQfABayIEJAAgBEG4AWoQpwYhCQJ/IANBf0cEQCAJIAEoAghB/x9xIANHDQEaCyACCyEAIAFBwAFqIQUCQAJAIAEoAlAEQCABQUBrIQMgASsDyAEhCwJAAkACQAJAIAErA8ABRAAAAAAAAAAAYg0AIAtEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQIgC0QAAAAAAAAAAGENAQwCCyALRAAAAAAAAAAAYg0BCyABKwPQAUQAAAAAAAAAAGINACABKwPYAUQAAAAAAAAAAGENAQsgASsDuAEhCwJAIAErA7ABIgxEAAAAAAAA8D9hBEAgC0QAAAAAAADwP2EEQCAEQgA3AxAgBEGAgIQINgIIIAQgAUEIajYCDCAEQgA3A7ABIAQgAzYCrAEgBEGAgIQINgKoASAEIAA2ApwBIARBgICEEDYCmAEgBEIANwOgASAEQQhqIARBqAFqIARBmAFqQdTWChDbBQwCCyALRAAAAAAAAPC/YQRAIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogBEGoAWogBEGYAWpB1NYKEN0FDAILIARCADcDECAEIAM2AgwgBEGAgIQINgIIIARCADcDsAEgBCABQQhqNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogCyAEQagBaiAEQZgBahCDBgwBCyALRAAAAAAAAPA/YQRAIAxEAAAAAAAA8L9hBEAgBEIANwMQIAQgAzYCDCAEQYCAhAg2AgggBEIANwOwASAEIAFBCGo2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAEQagBaiAEQZgBakHU1goQ3QUMAgsgBEIANwMQIARBgICECDYCCCAEIAFBCGo2AgwgBEIANwOwASAEIAM2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAMIARBqAFqIARBmAFqEIMGDAELIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogDCAEQagBaiALRAAAAAAAAAAAIARBmAFqQX8Q4gULAkAgASsDyAFEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQMLIARCADcDECAEIAA2AgwgBEGAgIQINgIIIARCgYCAgMAANwOwASAEIAU2AqwBIARBhoCI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ASADIAErA8ABOQPAASADIAErA8gBOQPIASADIAErA9ABOQPQASADIAErA9gBOQPYASADIAMrA7ABIAKiOQOwAQ8LIAMgASACIAMQ8gYL+wICCX8BfCMAQdACayIAJAACQAJAIAIoAgRBL0cNACACKAJQBEAgAisDuAFEAAAAAAAAAABiDQELIAAQpwYhBCACKwOwASENIABBOGoQpwYhBSAAQQA2AnQgAEHozgo2AnAgAEH4AGogAkEIahCtBiECIABBsAFqIAQQrQYhBiAAQegBaiAFEK0GIQcgAEGoAmoiCEIANwMAIABBsAJqIglCADcDACAAQbgCaiIKQgA3AwAgAEHAAmoiC0IANwMAIABByAJqIgxCADcDACAAIAEgDaM5A6ACIAMgACkDcDcDACADQQhqIAIQuQYaIANBQGsgBhC5BhogA0H4AGogBxC5BhogAyAIKQMANwO4ASADIAApA6ACNwOwASADIAkrAwA5A8ABIAMgCisDADkDyAEgAyALKwMAOQPQASADIAwrAwA5A9gBIAcQsQYaIAYQsQYaIAIQsQYaIAUQsQYaIAQQsQYaDAELIAAgASACIAMQ9AYLIABB0AJqJAAL2wECAn8BfCMAQeAAayIEJAAgBEEoahCnBiEFAn8gA0F/RwRAIAUgASgCCEH/H3EgA0cNARoLIAILIQAgBEIANwMgIARBgICECDYCGCAEIAFBCGo2AhwgBEGAgIQQNgIIIARCADcDECAEIAA2AgwgBEEYaiAEQQhqELQHIAAoAhAgAigCEEZBACABKwOwASIGRAAAAAAAAPA/YRtFBEAgBCACNgIcIARBgICEEDYCGCAEQgA3AyAgACAEQRhqIAMgBkQAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAQAgAyABKQMANwMAIANBCGogAUEIahCzBiADQUBrIAFBQGsQswYgA0H4AGogAUH4AGoQswYgAyABKQO4ATcDuAEgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEL5AICCX8BfCMAQdACayIAJAAgAUEIaiEDAkAgASsDsAFEAAAAAAAA8D9hBEAgAiADEJIHDAELIAAQpwYhBCABKwOwASEMIABBOGoQpwYhASAAQQA2AnQgAEHozgo2AnAgAEH4AGogAxCtBiEDIABBsAFqIAQQrQYhBSAAQegBaiABEK0GIQYgAEGoAmoiB0IANwMAIABBsAJqIghCADcDACAAQbgCaiIJQgA3AwAgAEHAAmoiCkIANwMAIABByAJqIgtCADcDACAAIAw5A6ACIAIgACkDcDcDACACQQhqIAMQuQYaIAJBQGsgBRC5BhogAkH4AGogBhC5BhogAiAHKQMANwO4ASACIAApA6ACNwOwASACIAgrAwA5A8ABIAIgCSsDADkDyAEgAiAKKwMAOQPQASACIAsrAwA5A9gBIAYQsQYaIAUQsQYaIAMQsQYaIAEQsQYaIAQQsQYaCyAAQdACaiQAC7wCAQp/IwBB0AJrIgIkACACQThqEKcGIQMgAhCnBiEEIAJBADYCdCACQeTOCjYCcCACQfgAaiABEK0GIQEgAkGwAWogAxCtBiEFIAJB6AFqIAQQrQYhBiACQagCaiIHQgA3AwAgAkGwAmoiCEIANwMAIAJBuAJqIglCADcDACACQcACaiIKQgA3AwAgAkHIAmoiC0IANwMAIAJCgICAgICAgPg/NwOgAiAAIAIpA3A3AwAgAEEIaiABELkGGiAAQUBrIAUQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACACKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC6cCAgJ/AnwjAEGAAWsiBCQAIARByABqEKcGIQUCfyADQX9HBEAgBSABKAIIQf8fcSADRw0BGgsgAgshACAEQgA3A0AgBEGAgIQINgI4IAQgAUEIajYCPCAEQgA3AzAgBCABQUBrNgIsIARBgICECDYCKCABKwOwASEGIARCADcDICAEIAFB+ABqNgIcIARBgICECDYCGCABKwO4ASEHIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBOGogBEEoaiAGIARBGGogByAEQQhqIAEoAgQQggYgACgCECACKAIQRwRAIAQgAjYCPCAEQYCAhBA2AjggBEIANwNAIAAgBEE4aiADRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyAFELEGGiAEQYABaiQAC4kIAgV/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BEH4AGogAUEIahCtBiEBIARBuAFqIgYgCjkDACAEQcgBaiIAQgA3AwAgBEHQAWoiB0IANwMAIARB2AFqIghCADcDACAEQgA3A8ABIAQgCZo5A7ABIAMgBCkDADcDACADQQhqIAUQuQYaIANBQGsgAhC5BhogA0H4AGogARC5BhogAyAGKQMANwO4ASADIAQpA7ABNwOwASADIAQrA8ABOQPAASADIAArAwA5A8gBIAMgBysDADkD0AEgAyAIKwMAOQPYASABELEGGiACELEGGiAFELEGGgwBCyAAIAVGBEAgBSABIAIgAxDvBgwBCyAFIAEgAiADIAUoAgAoAjwRBgALIARB4AFqJAALngEAIAMgASkDADcDACADQQhqIAFBCGoQswYgA0FAayABQUBrELMGIANB+ABqIAFB+ABqELMGIANBuAFqIgAgASkDuAE3AwAgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEgACAAKwMAIAKiOQMAC64BAQF/IAIgASkDADcDACACQQhqIgAgAUEIahCzBiACQUBrIgMgAUFAaxCzBiACQfgAaiABQfgAahCzBiACIAEpA7gBNwO4ASACIAEpA7ABNwOwASACIAErA8ABOQPAASACIAErA8gBOQPIASACIAErA9ABOQPQASACIAErA9gBOQPYASACIAEoAgQiAUEBdEECcSABQQRxciABQQF2QQFxckEHczYCBCAAIAMQrgcLzwEBAn8jAEHgAGsiBCQAIARBKGoQpwYhBQJ/IANBf0cEQCAFIAEoAghB/x9xIANHDQEaCyACCyEAIARCADcDICAEQYCAhAg2AhggBCABQQhqNgIcIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBGGogBEEIaiABKAIEEKsEIAAoAhAgAigCEEcEQCAEIAI2AhwgBEGAgIQQNgIYIARCADcDICAAIARBGGogA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAwEGfyMAQaACayIEJAAgAigCACEFAkACQCABKAIAQfTOCkcNACAFQeTOCkcNACABKAIEIQAgBEEIahCnBiEFIAQgADYCRCAEQfzOCjYCQCAEQcgAaiAB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QdDWChCBGwtBzNYKKAIAIQYgBCACKQIAIg03AwggBCANNwOAASAEQYgBaiAEQQhqIANB7t27935BABCwBiECIARByABqEKcGIQMgBEEQahCnBiEFIAQgATYCxAEgBCAGNgLAASAEQcgBaiACEK0GIQEgBEGAAmogAxCtBiEGIARBuAJqIAUQrQYhByAEQfgCaiIIQgA3AwAgBEGAA2oiCUIANwMAIARBiANqIgpCADcDACAEQZADaiILQgA3AwAgBEGYA2oiDEIANwMAIAREAAAAAAAA8D85A/ACIAAgBCkDwAE3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACAEKQPwAjcDsAEgACAJKwMAOQPAASAAIAorAwA5A8gBIAAgCysDADkD0AEgACAMKwMAOQPYASAHELEGGiAGELEGGiABELEGGiAFELEGGiADELEGGiACELEGGiAEQaADaiQAC4cBAgF/AX4jAEEQayIDJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASADIAEpAgAiBDcDACADIAQ3AwggAEEwIAMgAhCgByADQRBqJAALigEBAX8jAEEQayIEJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASAEIAE2AgwgBCACNgIIIAQgBCkDCDcDACAAQTEgBCADEKAHIARBEGokAAuHAQIBfwF+IwBBEGsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgAyABKQIAIgQ3AwAgAyAENwMIIABBMSADIAIQoAcgA0EQaiQAC4sBAQF/IwBBEGsiBCQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgBCABNgIMIAQgAjYC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AAAAXhu7IRQMCAsgAygCqCEhAgJAAkAgB0EGaw4CAAECCyACIAQQhQq3IRQMCAtBACEBQQAgBEEESA0GGiAEQQRrIQVBACEAA0AgAiAAQQNyai0AAEHg0QJqLQAAIAIgAEECcmotAABB4NECai0AACACIABBAXJqLQAAQeDRAmotAAAgASAAIAJqLQAAQeDRAmotAABqampqIQEgAEEEaiIAIAVMDQALDAULIANB4CBqELcGRQRAIAMvAeAgQf8fcQ0CCyAFQQZGBEAgA0HgIGoQtwZFBEAgA0EIahCnBiEAIANCADcDoCAgA0GAgIQINgKYICADIANBmCFqNgKcICADQgA3A9ggIANBgICECDYC0CAgAyADQeAgajYC1CAgAyAANgLEICADQYCAhBA2AsAgIANCADcDyCAgA0GYIGogA0HQIGogA0HAIGpB1NYKENQFIANCADcDoCAgAyAANgKcICADQYCAhAg2ApggIANBmCBqIAdB1NYKEIcIIRQgABCxBhoMCAtBACEAIANBADYCnCAgAyADQZghajYCmCAgA0EANgLQICADQQhqIANBmCBqIANB0CBqQX8QrAciAigCEEUNB0EBQQIgB0EGRhshBCACKAIUIQVBACEBA0AgAygC0CAgBSAEEIUIIABqIQAgAhCtByABQQFqIgEgAigCEEkNAAsgALchFAwHCyAHQQR0QeAAcUEFIAogCkEHRhtBAnRyQdDbAmooAgAiDUUNAiADQQA2AtggIAMgA0HgIGo2AtQgIAMgA0GYIWo2AtAgIANCADcDwCAgA0IANwO4ICADQZggaiADQdAgaiADQcAgakF/EKwHIggoAhQiAUH/////B08NAwJAAkAgB0ECRiAKQQRJcUUEQCAFQQRGIApBAklxRQ0BCyADKAKcISIAQQFOBEAgAygCxCEgAEECdGpBBGsoAgAhDgsgA0EANgIIQYCAgARBgIACIApBAkkbQYCAAiAHQQJGGyAJbiELIAgoAhBFDQEgCyABIAEgC0obIQJBACEFA0AgDEEBaiEMIAFBAU4EQEEAIQQgAygCxCAhBiADKALAICEPA0AgDyAGIANBCGogAiABIARrIgAgACACShsiACAJIA0RCQAaAkAgCyAAIAVqIgUgAmpKBEAgACAEaiABSA0BIAwgCCgCEEkNAQsgAygCCCEGQQAhBSAD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DAELIAAoAgQhByAAKAIAIQggBSAAKAALNgALIAUgACgCCDYCCCAAQgA3AgQgAC0ADyEJIABBADYCDCAAKAIUIQogACgCECELIABCADcCECAAQQRqIQQgBgRAIAAgAigCADYCACAEIAIoAgw2AgggBCACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEDIAIoAhAhASACQgA3AhAgACABNgIQIAAoAhQhASAAIAM2AhQCQCABRQ0AIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAQAgARDQGgsgAiAINgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAc2AgQgAiAFKAIINgIIIAIgBSgACzYACyACIAs2AhAgAiAJOgAPIAIoAhQhASACIAo2AhQCQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgtBAQwCCyAAIAEoAgA2AgAgBCABKAIMNgIIIAQgASkCBDcCACABQQA6AA8gAUEAOgAEIAEoAhQhBiABKAIQIQQgAUIANwIQIAAgBDYCECAAKAIUIQQgACAGNgIUAkAgBEUNACAEIAQoAgQiAEEBazYCBCAADQAgBCAEKAIAKAIIEQEAIAQQ0BoLIAFBBGohBiABIAg2AgAgASwAD0F/TARAIAYoAgAQohsLIAEgBzYCBCABQQhqIgcgBSgCCDYCACABIAUoAAs2AAsgASALNgIQIAEgCToADyABKAIUIQAgASAKNgIUAkAgAEUNACAAIAAoAgQiBEEBazYCBCAEDQAgACAAKAIAKAIIEQEAIAAQ0BoLQQEgAiABIAMoAgARAwBFDQEaIAEoAgQhAyABKAIAIQQgBSAHKAIANgIIIAUgBygAAzYACyABLQAPIQcgBkIANwIAIAZBCGoiAEEANgIAIAEoAhQhCCABKAIQIQkgAUIANwIQIAEgAigCADYCACAAIAIoAgw2AgAgBiACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEGIAIoAhAhACACQgA3AhAgASAANgIQIAEoAhQhACABIAY2AhQCQCAARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABDQGgsgAiAENgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAM2AgQgAiAFKAIINgIIIAIgBSgA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QCABKAIIEKIbCyABEKIbIAIiAQ0ACwsgACgCiAIhASAAQQA2AogCIAEEQCABEKIbCyAAKAL4ASIBBEAgACABNgL8ASABEKIbCyAAKALsASIBBEAgACABNgLwASABEKIbCyAAKALgASIEBEACfyAEIAQgACgC5AEiAUYNABoDQCABIgJBCGshAQJAIAJBBGsoAgAiAkUNACACIAIoAgQiA0EBazYCBCADDQAgAiACKAIAKAIIEQEAIAIQ0BoLIAEgBEcNAAsgACgC4AELIQEgACAENgLkASABEKIbCyAAKALUASIBBEAgACABNgLYASABEKIbCyAAKAK4ASIBBEAgACABNgK8ASABEKIbCyAAKAKsASIBBEAgACABNgKwASABEKIbCwJAIAAoAqABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApgBIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQfQAaiIDEO0IAkAgACgCeCIBIAAoAnwiAkYNAANAIAEoAgAQohsgAUEEaiIBIAJHDQALIAAoAnwiASAAKAJ4IgJGDQAgACABIAEgAmtBBGtBAnZBf3NBAnRqNgJ8CyADKAIAIgEEQCABEKIbCyAAKAJkIgEEQCAAIAE2AmggARCiGwsgAEHMAGoiAxDuCAJAIAAoAlAiASAAKAJUIgJGDQADQCABKAIAEKIbIAFBBGoiASACRw0ACyAAKAJUIgEgACgCUCICRg0AIAAgASABIAJrQQRrQQJ2QX9zQQJ0ajYCVAsgAygCACIBBEAgARCiGwsgACwAE0F/TARAIAAoAggQohsLIAAL0gQBB38jAEEQayIDJAACQAJAIAAtACRFDQACQCABRQ0AIAEsAAtBf0wEQCABKAIAQQA6AAAgAUEANgIEDAELIAFBADoACyABQQA6AAALAkAgAC0AJkUNACAAKAJgQQJPBEADQCAAEO8IIAAoAmBBAUsNAAsLIAAgACgCACgCOBEAABoCQAJAIAAoAihBCGsOEQACAgICAgICAgICAgICAgIBAgsgAEHU6AIgACgCACgCDBECAAwBCyAAQefo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ICADQgA3ABggA0IANwAQIANCADcACCADQgA3AAAgAEEcaiIFQQA2AgAgAEIANwIUIAAgBzYCDCAAQcEAENUaIgQ2AhQgBSAEQcEAaiIFNgIAIARBAEHBABCvGxogACAHNgIoIAAgAzYCICAAIAU2AhggACADNgIkIAEtACYEQCACBEAgASABKAIAKAI4EQAAGgsgBkEQaiQADwtBqX4gBkHBgwMQiQNB3IMDQbyCA0EcEJgKAAuBAgEEfyMAQeAAayIDJAACQCAAKAIgIgEgACgCFCAAKAIkIAFrEMUJRQ0AIAAgACgCIDYCJCAALQAERQRAIAAoAgAiASAAKAIUIAEoAgAoAgwRAgAMAQsgA0EKOwFeIANBICAAKAIAIgEoAlAgASgCYCABKAJcakEBayIEQcwBbiICQQJ0aigCACAEIAJBzAFsa0EUbGooAhAiBBCvGyICIARqQQA6AAAgASACIAEoAgAoAgwRAgAgACgCACIBIAAoAhQgASgCACgCDBECACAAKAIAIgEgAkHeAGogASgCACgCDBECACAAKAIAIgAgACgCACgCOBEAABoLIANB4ABqJAALZwECfyAAKAIAIgEEQCABKAIkIAEoAiBHBEAgARDICQsgASgCFCICBEAgASACNgIYIAIQohsLIAEoAggiAgRAIAEgAjYCDCACEKIbCyABEKIbCyAALAAPQX9MBEAgACgCBBCiGwsgAAvUAgEDfyAAQSBqIgIgARDfGiAAQQA2AiwgACgCMCIBQQhxBEACQCACLAALIgNBf0wEQCAAKAIgIgMgACgCJGohBAwBCyACIANB/wFxaiEEIAIhAwsgACAENgIQIAAgAzYCDCAAIAM2AgggACAENgIsCwJAIAFBEHFFDQAgAgJ/IAIsAAsiAUEATgRAIAAgAiABQf8BcSIBajYCLEEKDAELIAAgACgCJCIBIAAoAiBqNgIsIAAoAihB/////wdxQQFrCxDiGgJ/IAIsAAsiA0F/TARAIAAoAiAhAiAAKAIkDAELIANB/wFxCyEDIAAgAjYCFCAAIAI2AhggACACIANqNgIcIAAtADBBA3FFDQACQCABQX9MBEAgAkECayACQf////8HaiABQf////8HayIBQQBIIgMbIQJBASABIAMbIQEMAQsgAUUNAQsgACABIAJqNgIYCws6AQF/QRQQ1RoiAkIA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EIkDQdSzA0HusQNBuQUQmAoACyAMQRBqJAAL3AEBA38gAkEESAR/QQAFIAJBBGshBQNAIAQgASADai0AACAAIANqLQAAc0HgzwJqLQAAaiABIANBAXIiBGotAAAgACAEai0AAHNB4M8Cai0AAGogASADQQJyIgRqLQAAIAAgBGotAABzQeDPAmotAABqIAEgA0EDciIEai0AACAAIARqLQAAc0HgzwJqLQAAaiEEIANBBGoiAyAFTA0ACyACQXxxCyIDIAJIBEADQCAEIAEgA2otAAAgACADai0AAHNB4M8Cai0AAGohBCADQQFqIgMgAkcNAAsLIAQLqQEBA38gAUEESAR/QQAFIAFBBGshBANAIAAgAkEDcmotAABB4M8Cai0AACAAIAJBAnJqLQAAQeDPAmotAAAgACACQQFyai0AAEHgzwJqLQAAIAMgACACai0AAEHgzwJqLQAAampqaiEDIAJBBGoiAiAETA0ACyABQXxxCyICIAFIBEADQCADIAAgAmotAABB4M8Cai0AAGohAyACQQFqIgIgAUcNAAsLIAML0wgBCn8CQAJAAkAgAUUEQAJAAkACQCAEQQRvIgFBAWsOAwABAgYLIAIoAgAhByADQQRIBEAgACEFDAULIANBBGshCCAEQQJ0IQkgBEEDbCELIARBAXQhCiAAIQUDQCAFIAtqLQAAIAUgCmotAAAgBCAFai0AACAHIAUtAABqampqIQcgBSAJaiEFIAZBBGoiBiAITA0ACwwDCyACKAIEIQcgAigCACEIIANBAU4EQCAAIQUDQCAHIAUtAAFqIQcgCCAFLQAAaiEIIAQgBWohBSAGQQFqIgYgA0cNAAsgAyEGCyACIAc2AgQgAiAINgIADAQLIAIoAgghByACKAIEIQggAigCACEJIANBAU4EQCAAIQUDQCAHIAUtAAJqIQcgCCAFLQABaiEIIAkgBS0AAGohCSAEIAVqIQUgBkEBaiIGIANHDQALIAMhBgsgAiAHNgIIIAIgCDYCBCACIAk2AgAMAwsCQAJAAkACQCAEQQFrDgMBAAIACyADQQFODQJBAA8LIAIoAgAhBiADQQFOBEADQCABIAVqLQAABEAgB0EBaiEHIAYgACAFai0AAGohBgsgBUEBaiIFIANHDQALCyACIAY2AgAgBw8LIAIoAgghBiACKAIEIQcgAigCACEI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KAIAIAFB6ABqIAItAAsiBEEYdEEYdUEASCIFGyACKAIEIAQgBRsQzAMaIAIsAAtBf0wEQCACKAIAEKIbCwJ/IAMsAAsiAkF/TARAIAAoAhghAiAAKAIUDAELIAJB/wFxIQIgAwshBCACIARqQQFrLQAAQQpHBEAgAUHoAGogBiABKAKAAUEMaygCAGoQphYgAUHoAGpBvJgLELkXIgJBCiACKAIAKAIcEQMAIQIgAUHoAGoQtBcgBiACENQWIAYQpRYLIAFB6ABqIAkQ0QMgAywAC0F/TARAIAMoAgAQohsLIAMgASkDaDcCACADIAEoAnA2AgggAUH8yAE2ArgBIAFB1MgBNgJ4IAFBlMsBNgKEASABQejIATYCgAEgASwArwFBf0wEQCABKAKkARCiGwsgChCIFhogAUG4AWoQhBYaCwJAAn8gACwAKyICQX9MBEAgACgCJAwBCyACQf8BcQsEQCAAQSBqIQIgCEF/RwRAIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAK0F/TARAIAIoAgAhAgsgASADLAALQX9MBH8gAygCAAUgAws2AlggASACNgJUIAEgBjYCUCABIAc2AkwgASAFNgJIIAEgBDYCRCABQfC0AzYCQCABQfgAakG7tAMgAUFAaxCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAILIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAH0F/TARAIAMoAgAhAwsgASACLAALQX9MBH8gAigCAAUgAgs2AjggASADNgI0IAEgBjYCMCABIAc2AiwgASAFNgIoIAEgBDYCJCABQfC0AzYCICABQfgAakH6tAMgAUEgahCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAELIABBLGohAiAALAA3QX9MBEAgAigCACECCyAAKAI4IQQgACgCECIFEJMKIQcgASAALAAfQX9MBH8gAygCAAUgAws2AhQgASAHNgIQIAFB17UDQda1AyAIQX9GGzYCGCABIAU2AgwgASAENgIIIAEgAjYCBCABQfC0AzYCACABQfgAakGwtQMg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IAdB24IEEIkDQf2CBEG5ggRB+QMQmAoAC0GpfiAHQYWDBBCJA0H9ggRBuYIEQZQEEJgKAAtBrX4gB0GMgwQQiQNB/YIEQbmCBEGeBBCYCgALsAIBBX8gACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYIgI2AhggASgCHCEDIAAgAEEoaiIENgIkIAAgAEEIajYCICAAIAM2AhwgBEIANwIAIAIEQCACIAIoAghBAWo2AggLIAEoAgRBAkwEQCAAKAIkIgIgASgCJCIBKAIANgIAIAIgASgCBDYCBCAADwtBACECIABBADYCBCAAIAEoAgRBAEEAQQAQzAogACgCBEEBTgRAIAAoAiQhAyABKAIkIQQgACgCICEFIAEoAiAhBgNAIAUgAkECdCIBaiABIAZqKAIANgIAIAEgA2ogASAEaigCADYCACACQQFqIgIgACgCBEgNAAsLIAALuQMBBn8gACABRwRAIAEoAhgiAgRAIAIgAigCCEEBajYCCAsCQCAAKAIYIgJFDQAgAiACKAIIIgNBAWs2AgggA0EBRw0AIAAoAhghAiAAQQA2AhggAigCBCIDIAIgAygCACgCEBECAAsCQAJAAkAgACgCBEEATARAIABBADYCGCAAIAEoAgA2AgAMAQsgACgCICEDQQAhAgNAIAMgAkECdGpBADYCACACQQFqIgIgACgCBCIESA0ACyAAQQA2AhggACABKAIANgIAIARBA0gNACABKAIEIQIMAQsgASgCBCICQQJKDQAgACACNgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACgCJCICIAEoAiQiAygCADYCACACIAMoAgQ2AgQMAQtBACEDIAAgAkEAQQBBABDMCiAAKAIEQQFIDQAgACgCJCEEIAEoAiQhBSAAKAIgIQYgASgCICEHA0AgBiADQQJ0IgJqIAIgB2ooAgA2AgAgAiAEaiACIAVqKAIANgIAIANBAWoiAyAAKAIESA0ACwsgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcCwuFAQECfwJAIAAoAhgiAUUNACABIAEoAggiAkEBazYCCCACQQFHDQAgACgCGCEBIABBADYCGCABKAIEIgIgASACKAIAKAIQ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ASADKAIYNgIYIANBCGogARDwCiABQQxqIQYgASgCDCIFBEACfyAFIAUgASgCECIERg0AGgNAIARBDGshAiAEQQFrLAAAQX9MBEAgAigCABCiGwsgAiEEIAIgBUcNAAsgBigCAAshAiABIAU2AhAgAhCiGwsgASADKAIINgIMIAEgAygCDDYCECABIAMoAhA2AhQgACAGIAFBHGoiAhDxCiADLQAcBEAgACABKAIYIAIQ8goLIAEoAhgiBCAAKAIEIAAoAgAiAmtBDG1JBEAgASACIARBDGxqNgIoIAEtACwEQCAAIAEQ8woLIANBIGokAA8LENoaAAv1AQEBfyAAKAKIASICIAEQ3xogAhDgCiACKAJEIAIoAkhGGgJAIAAoAogBIgEoAkQgASgCSEcNACAAKAKIARDjCiEBIAAoAhwgASgCDDYCBCAAKAKIARDlCiICKAIAIgEgAigCBCICRwRAA0AgACABIAEoAgxBAhDtCiABQRRqIgEgAkcNAAsLIAAoAogBQThqIgIoAgAiASACKAIEIgJHBEADQCAAIAEgASgCDEEDEO0KIAFBFGoiASACRw0ACwsgACgCiAEQ5AoiAigCACIBIAIoAgQiAkYNAANAIAAgASABKAIMEO4KIAFBFGoiASACRw0ACwsL8QEBAn8jAEEwayIEJAAgABDTGiAEQQhqIAEQ2xohASAEQQA2AiggBEIANwMgIARBAToAHCAEQgA3AhQgBCAAQSBqIgUgARD2CiIBNgIUIAEgACgCMCAAKAIsIgBrQQN1SQRAIAQgACABQQN0aiIBNgIYAkACfyAELQAcBEAgBSAEQQhqEPcKIAQoAhghAQsgAyABKAIERgsEQCABKAIAIAJGDQELIAEgAjYCACABIAM2AgQgBEEIahD4CgsgBCgCICIBBEAgBCABNgIkIAEQohsLIAQsABNBf0wEQCAEKAIIEKIbCyAEQTBqJAAPCxDaGgALsQIBAX8jAEFAaiIDJAAgABDTGiADIAEQ2xoaIANBADYCOCADQgA3AhQgA0IANwIcIANCADcCJCADQQA6ACwgA0IANwMwIANCADcCDCAAQSBqIAMQ6woCQCADKAIoIgEoAghBAUYEQCABKAIEIAJGDQELIAEgAjYCBCABQQE2AgggASgCACIBRQ0AIAEgAjYCBAsgAygCMCIBBEAgAyABNgI0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ESAtayIBNgJAIAggCTYCPCAIIAI2AjggCCABNgI0IAhBACAJayILNgIwIBUgEWshGCAgQQFqISkgIyASIB9saiEUQQAhHQNAIBsgCyASaiITIBdsaiEFICMgEyAfbGohCQJAIBwEQCABIAJKDQFBACALayEQA0ACQCABIAVqIgstAAAEQCABIQsMAQsgBiAJIAFBAnRqKAIAIA5rIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhAwJAIAUgAUEBayILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIDQQFrIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCwJAIAUgAUEBaiILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIBQQFqIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCyANIBA7AQogDSAVOwEIIA0gETsBBiANIAE7AQQgDSADOwECIA0gEzsBACANQQxqIg0gGUcNAAJAIAgoAsQCIgwgCCgCwAIiAWtBDG0iDUEDbEEBdiIHIA1LBEAgCEHAAmogByANaxCGCyAIKALEAiEMIAgoAsACIQEMAQsgByANTw0AIAggASAHQQxsaiIMNgLEAgsgASAZIB5rQQxtQQxsaiENIAwhGSABIR4LIAtBAWohASACIAtKDQALDAELICRFBEAgASACSg0BQQAgC2shGgNAAkAgASAFaiILLQAABEAgASELDAELIAYgCSABQQJ0IgxqKAIAIAwgFGooAgBrIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhDAJAIAUgAUEBayILaiIHLQAADQADQCAJIAtBAnRqKAIAIAkgDEECdGooAgBrIgMgBkgNASADIApKDQEgByAAOgAAIAshDCAFIAtBAWsiC2oiBy0AAEUNAAsLAkAgBSABQQFqIgtqIgctAAANAANAAkAgBiAJIAtBAnQiEGooAgAiDyAJIAFBAnRqKAIAayIDTEEAIAMgCkwbDQAgBiAPIBAgFGooAgBrIgNKDQIgASAVTg0CIAMgCkwNAAwCCyAHIAA6AAAgBSALIgFB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IgRFDQAgBC0ADA0AIARBDGohBAwCCwJAIAEgAygCAEYEQCADIQQMAQsgAyADKAIEIgQoAgAiATYCBCAEIAEEfyABIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAQ2AgAgBCADNgIAIAMgBDYCCCAEKAIIIQILIARBAToADCACQQA6AAwgAiACKAIAIgMoAgQiBDYCACAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCA8LAkAgBEUNACAELQAMDQAgBEEMaiEEDAELAkAgASADKAIARwRAIAMhAQwBCyADIAEoAgQiBDYCACABIAQEfyAEIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAE2AgAgASADNgIEIAMgATYCCCABKAIIIQILIAFBAToADCACQQA6AAwgAiACKAIEIgMoAgAiBDYCBCAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIAIAIgAzYCCAwCCyADQQE6AAwgAiAAIAJGOgAMIARBAToAACACIQEgACACRw0ACwsLSgEBf0EgENUaIgFCADcCBCABQpCAgIAQNwIYIAFChICAgIABNwIQIAFB7JIENgIAIAFB4JMENgIMIAAgATYCBCAAIAFBDGo2AgALkwIBBH8jAEHQAGsiAyQAIANBmJgELQAAOgAsIANBlJgEKAAANgIoIAMgA0EoajYCJEEBIQQgAyACKAIIQQFHBH8gASgCEEUFIAQLOgAjIANBADoAIiACKAIAIQVBsAEQ1RoiBEIANwIEIARB0JQENgIAIANBOGoiBiACNgIAIAMgAUEMaiABQQhqIAVBB3FBBkYbIgI2AkggAyACNgIYIAMgA0EkajYCPCADIAYpAwA3AwggAyADQSJqNgJEIANBQGsiAiADQSNqNgIAIAMgAikDADcDECADQcaUBDYCNCADQcSUBDYCMCADIAMpAzA3AwAgBEEMaiICIAMQkAsgACAENgIEIAAgAjYCACADQdAAaiQAC/4CAQV/IwBB4ABrIgIkAAJAIAEoAgAiBRC4GyIDQXBJBEACQAJAIANBC08EQCADQRBqQXBxIgYQ1RohBCACIAZBgICA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CwsgAwu7AQEEfyABQQRIBH9BAAUgAUEEayEFA0AgAyAAIARBA3QiAmorAwBEAAAAAAAAAABiaiAAIAJBCHJqKwMARAAAAAAAAAAAYmogACACQRByaisDAEQAAAAAAAAAAGJqIAAgAkEYcmorAwBEAAAAAAAAAABiaiEDIARBBGoiBCAFTA0ACyABQXxxCyICIAFIBEADQCADIAAgAkEDdGorAwBEAAAAAAAAAABiaiEDIAJBAWoiAiABRw0ACwsgAwuoAgEFfyMAQfAAayIBJAACQAJAIAAQywdB+B9xRQRAAkAgABDMB0GAgARGBEAgAUE4aiAAKAIEEK0GGgwBCyABQThqIAAQyQcLIAEoAjhBB3EiAEEHRg0BIAFBADYCNCABIAFBOGo2AjAgAUEANgIsIAFBCGogAUEwaiABQSxqQX8QrAciAigCEEUEQEEAIQAMAwsgAEECdEHQogRqKAIAIQQgAigCFCEFQQAhAANAIAEoAiwgBSAEEQMAIABqIQAgAhCtByADQQFqIgMgAigCEEkNAAsMAgtBqX4gAUE4akHwogQQiQNB+KIEQYWjBEGAARCYCgALQal+IAFBCGpBt6MEEIkDQfiiBEGFowRBkAEQmAoACyABQThqELEGGiABQfAAaiQAIAALmgcCEn8EfCMAQfAJayIDJAACQCABEMwHQYCABEYEQCADQbgJaiABKAIEEK0GGgwBCyADQbgJaiABEMkHCwJAIAIQzAdBgIAERgRAIANBgAlqIAIoAgQQrQYaDAELIANBgAlqIAIQyQcLAkACQCADQYAJahC3BkUEQCADLwGACUH/H3ENAQsgAygCuAkhASADQfgIakIANwMAIANB8AhqQgA3AwAgA0HoCGpCADcDACADQgA3A+AIIAFBB3EiAkECdEHwswNqKAIAIQ4gAUEDdkH/A3EiCkEDSw0BIA5FDQEgCkEBaiEPIANBADYC3AggAyADQYAJajYC2AggAyADQbgJajYC1AggA0IANwPICCADQagIaiADQdQIaiADQcgIakF/EKwHIggoAhQhBCADQYgCNgIEIAMgA0EIaiIQNgIAIANB4AhqIQUgBCEGIAJBA00EQCADIA82AgQgEEEAIApBAnRBBGoQrxshAUGAgIAEQYCAAiACQQJJGyIRIAQgBCARShshBiADKAK8CSIFQQFOBEAgAygC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IANBgApqQQBB2AEQrxsaDAsLRAAAAAAAAAAAIRAgAkUNCSADQYAKakEAQdgBEK8bGiADQoCAgICAgIDwv383A/gKIANCgICAgICAgPC/fzcDmAsgA0KAgICAgICA8D83A6gLIANCgICAgICAgPC/fzcDqAogA0KAgICAgICA8D83A9gKIANCgICAgICAgPA/NwO4CgwJC0QAAAAAAADwPyAPIA+goyEQIAIEQCADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A8gDIANCADcD0AMgA0IANwPoAyADQgA3A/ADIANCADcDiAQgA0IANwOQBCADQgA3A4gDIANCADcDgAMgA0IANwPAAyADQoCAgICAgID4v383A7gDIANCADcDsAMgA0KAgICAgICA+D83A6gDIANCADcD4AMgA0KAgICAgICA+L9/NwPYAyADQgA3A4AEIANCgICAgICAgPg/NwP4AyADQgA3A7gEIANCADcDwAQgA0IANwPIBCADQgA3A9AEIANCADcD8AQgA0IANwPoBCADQgA3A5AFIANCADcDiAUgA0KAgICAgICA+L9/NwOoBCADQgA3A6AEIANCgICAgICAgPg/NwOYBCADQgA3A7AEIANCADcD4AQgA0IANwOABSADRAAAAAAAAPC/IA+jIhdEAAAAAAAA4D+iIhY5A6AFIAMgFyAVIBCaoiAPo0QAAAAAAADgP6KiIg85A9gEIAMgDzkD+AQgAyAPOQOYBSADQgA3A7gFIANCADcDsAUgA0IANwOoBSADIBY5A8AFIANCADcD2AUgA0IANwPQBSADQgA3A8gFIAMgFjkD4AUgA0IANwPgBiADQgA3A/gGIANCADcDoAcgA0IANwOoByADQgA3A8gHIANCADcD0AcgA0IANwPYByADQgA3A+AHIANCADcD2AYgAyAQOQPQBiADQgA3A/AGIANCADcDmAcgA0IANwOIByADIBA5A4AHIANCADcDwAcgAyAQOQOwByADIBE5A7gHIAMgFDkD6AYgAyASOQOQByADQoCAgICAgID4PzcD6AcgA0IANwOwAiADQgA3A+gCIANCADcDqAIgAyATOQOgAiADQgA3A+ACIAMgEiAQojkD2AIgA0IANwPQAiADIBM5A8gCIANCADcDwAIgAyAUIBCiOQO4AiADIBEgEKI5A/gCIAMgEzkD8AIgA0KGgImShAk3A4ACIANChYCAgJABNwKUAiADQgA3A4gCIAMgA0GAA2o2ApACIANChoCJkoQFNwPgASADQoSAgIDQADcC9AEgA0IANwPoASADIANB0AZqNgLwASADQoaAiZKEBDcDwAEgA0KDgICAwAA3AtQBIANCADcDyAEgAyADQaACajYC0AEgA0KGgImShAU3AyAgA0KDgICA0AA3AjQgA0IANwMoIAMgA0FAazYCMCADQcABaiADQeABakQAAAAAAADwP0EARAAAAAAAAPA/IANBIGpBABCGBiADQSBqIANBgAJqRAAAAAAAAPA/QQBEAAAAAAAA8D8gA0HgCWpBABCGBiADKwOYCiEPIAMgAysDiAo5A5gKIAMgDzkDiAogAysDkAohDyADIAMrA7AKOQOQCiADIA85A7AKIAMrA6gKIQ8gAyADKwO4CjkDqAogAyAPOQO4CiADKwPQCiEPIAMgAysD4Ao5A9AKIAMgDzkD4AogAysD2AohDyADIAMrA/gKOQPYCiADIA85A/gKIAMrA4ALIQ8gAyADKwPwCjkDgAsgAyAPOQPwCiADKwOoCyEPIAMgAysDmAs5A6gLIAMgDzkDmAsgAysDwAshDyADIAMrA6ALOQPACyADIA85A6ALIAMrA8gLIQ8gAyADKwO4CzkDyAsgAyAPOQO4CwsgESAQIBOiIhOiIRAgEiAToiERIBQgE6IhFAwJCyAcIBaiIRIgGCAWoiETIBYgGaIhD0EAIQBEAAAAAAAA8D8hFANAIABBA3QiAUHIAGoiBCADQYAKamogDyAUoiATIANBQGsgAWorAwCioCAQIANBgANqIARqKwMAoqAgEiADQaACaiABaisDAKKgIBEgA0HQBmogBGorAwCioDkDACAAQQFqIgBBCUZFBEAgA0GwCGogAEEDdGorAwAhFAwBCwsgHCAXoiESIBggF6IhEyAXIBmiIQ9BACEARAAAAAAAAPA/IRQDQCAAQQN0IgFBkAFqIgQgA0GACmpqIA8gFKIgEyADQUBrIAFqKwMAoqAgECADQYADaiAEaisDAKKgIBIgA0GgAmogAWorAwCioCARIANB0AZqIARqKwMAoqA5AwAgAEEBaiIAQQlGDQsgA0GwCGogAEEDdGorAwAhFAwACwALQa5+IANBgANqQe6lBBCJA0GxpQRB46QEQYsC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hAEgAEEBOgCAASAAQgE3A3ggACAIOQNwIAZBQGskAAvHBQECfyAAQQA2AgAgACgCBCEBIABBADYCBAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AgggAEEMaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCECAAQRRqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIYIABBHGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AiAgAEEkaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCKCAAQSxqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIwIABBNGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AjggAEE8aiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCQCAAQcQAaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCSCAAQcwAaiIBKAIAIQAgAUEANgIAAkAgAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQ0BoLC/0DAQJ/IAAQzwsCQCAAKAJMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAkQiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCPCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAg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IARByAFqIARBwAFqELoGIQcgBEIANwNIIAQgBzYCRCAEQYCAhJB8NgJAIAYgBEFAaxCWBCAHELEGGiAGELEGGiACKAIAIQYgAigCBCEHCyAFIAcgBmtIDQALCyAEQgA3A1ggBEGAgIyIeDYCUCAEIAM2AlQgASAEQdAAahC+CyAKQQYQqgYgAygCBCIHIAMoAgAiBmtBAU4EQEEAIQhBACEFA0ACQCAFIAZqLQAARQRAIAVBAWohBQwBCyAEIAU2AgggBCAFQQFqIgU2AgwgBEKAgICA+P////8ANwNAIARB0ABqIAkgBEEIaiAEQUBrELoGIQYgBCAINgLIASAEIAhBAWoiCDYCzAEgBEKAgICA+P////8ANwPAASAEQQhqIAEgBEHIAWogBEHAAWoQugYhByAEQgA3A0ggBCAHNgJEIARBgICEkHw2AkAgBiAEQUBrEJYEIAcQsQYaIAYQsQYaIAMoAgAhBiADKAIEIQcLIAUgByAGa0gNAAsLIAkQsQYaIARB0AFqJAALiQUBAX8jAEGAA2siAyQAIANByAJqIABBABDNBiADQZACaiABQQAQzQYCQCADLwHIAkH4H3ENACADKALQAkF+cUECRw0AIAMoAtQCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0HIAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANByAJqNgKkASADQdgBaiADQaABahC0BwsCQCADLwGQAkH4H3ENACADKAKYAkF+cUECRw0AIAMoApwCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0GQAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANBkAJqNgKkASADQdgBaiADQaABahC0BwsgA0HYAWogAkEAEM0GIANBoAFqQQBBABDNBiADQgA3AyggA0GAgIQINgIgIAMgA0HIAmo2AiQgA0IANwMIIANBgICECDYCACADIANBkAJqNgIEIANCADcDYCADQQA2AlwgA0GAgIAQNgJYIANB6ABqIANBIGogAyADQdgAahDWCwJAIANB6ABqELcGBEAgA0EgaiACQQAQzQYgA0IANwMYIANCADcDECADQgA3AwggA0KBgICAwAA3A2AgA0GGgIiIfDYCWCADQgA3AwAgAyADNgJcIANBIGogA0HYAGpB1NYKEJkEIANBIGoQsQYaDAELIANBgICEkHw2AiAgA0IANwMoIAMoAtgBIQAgAyADQdgBajYCJCADQegAaiADQSBqIABB/x9xRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyADQegAahCxBhogA0GgAWoQsQYaIANB2AFqELEGGiADQZACahCxBhogA0HIAmoQsQYaIANBgANqJAALsAcBBH8jAEHwAWsiAiQAIAJBuAFqIABBABDNBiACQYABaiABQQAQzQYgAkHIAGogAkGAAWoQrQYhAQJAIAIoArgBQQN2Qf8DcSIABEAgAEEBaiEADAELIAIoAsQBIgAgAigCwAEiA0wNACACQgA3AwggAkGAgIQINgIAIAIgAkG4AWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBuAFqNgI8IAIgAkE4ahC0ByADIQALAkAgAigCgAFBA3ZB/wNxIgNBAWogAigCiAEiBCACKAKMASIFIAQgBUgbIAMbIgMgAEYEQCACQYCAhBA2AgAgAkIANwMIIAIgAkGAAWo2AgQgAkG4AWogAhCWBAwBCyAAIANIBEAgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ2QsMAQsgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ1wsLIAIgAkGAAWogASgCAEEDdkH/A3EiAEEBaiABKAIMIgQgASgCCCAARSADIARIcSIAGxDBBiACQYABaiACELkGGiACELEGGgJAAkACQCAABEAgAigCiAEgASgCDEcNAiACKAKMASABKAIIRw0CIAIoAoABIAEoAgBzQf8fcUUEQCACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAiABNgI8IAJBgICEkHw2AjggAkIANwNAIAIgAkE4ahC0BwwCCyACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBgAFqNgI8IAIgAkE4ahC0ByACQYCAhJB8NgIAIAJCADcDCCACIAE2AgQgAkGAAWogAiABKAIAQf8fcUQAAAAAAADwP0QAAAAAAAAAABCIAwwBCyACKAKoASIAKAIEIAEo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OQOQASABIAArA4gBIAihOQOYASABIAArA6ABIAihOQOgASABIAArA3ggACsDYCIIoTkDqAEgASAAKwOQASAIoTkDsAEgASAAKwOoASAIoTkDuAEgASAAKwOAASAAKwNoIgihOQPAASABIAArA5gBIAihOQPIASABIAArA7ABIAihOQPQASABQSBqIAEQtwQgACgCUCIFQQFOBEAgACgCOCEGIAAoAiAhBwNAIAYgA0EFdGoiBCABKwNAIAcgA0EYbGoiAisDACAAKwNYoaIgASsDSCACKwMIIAArA2ChoqAgASsDUCACKwMQIAArA2ihoqAiCDkDCCAEIAErA1ggAisDACAAKwNYoaIgASsDYCACKwMIIAArA2ChoqAgASsDaCACKwMQIAArA2ihoqAiCTkDECAEIAErA3AgAisDACAAKwNYoaIgASsDeCACKwMIIAArA2ChoqAgASsDgAEgAisDECAAKwNooaKgIgo5AxggBEQAAAAAAADwPyAIoSAJoSAKoTkDACADQQFqIgMgBUcNAAsLIAFB4AFqJAALqAMBAnwgACsDECEGIAMrAwAhByABKAIQIAJB4ABsaiIBQgA3AwggASAHIAaiOQMAIAMrAwAhBiAAKwMAIQcgAUIANwNgIAEgBiAHIAShojkDECABIAMrAwAgACsDGKI5A2ggASADKwMAIAArAwggBaGiOQNwIAArAxAhBiADKwMIIQcgAUIANwMgIAEgByAGojkDGCADKwMIIQYgACsDACEHIAFCADcDeCABIAYgByAEoaI5AyggASADKwMIIAArAxiiOQOAASABIAMrAwggACsDCCAFoaI5A4gBIAArAxAhBiADKwMQIQcgAUIANwM4IAEgByAGojkDMCADKwMQIQYgACsDACEHIAFCADcDkAEgASAGIAcgBKGiOQNAIAEgAysDECAAKwMYojkDmAEgASADKwMQIAArAwggBaGiOQOgASAAKwMQIQYgAysDGCEHIAFCADcDUCABIAcgBqI5A0ggAysDGCEGIAArAwAhByABQgA3A6gBIAEgBiAHIAShojkDWCABIAMrAxggACsDGKI5A7ABIAEgAysDGCAAKwMIIAWhojkDuAELwAICBH8MfCAAQbgBakEAQeAAEK8bIQYDQCAGIBIgASAFQQN0aiIDKwMAIAJBCyAFa0HgAGxqIgQrAwCioCISOQMAIAAgESADKwMAIAQrAwiioCIROQPAASAAIBAgAysDACAEKwMQoqAiEDkDyAEgACAPIAMrAwAgBCsDGKKgIg85A9ABIAAgDiADKwMAIAQrAyCioCIOOQPYASAAIA0gAysDACAEKwMooqAiDTkD4AEgACAMIAMrAwAgBCsDMKKgIgw5A+gBIAAgCyADKwMAIAQrAziioCILOQPwASAAIAogAysDACAEKwNAoqAiCjkD+AEgACAJIAMrAwAgBCsDSKKgIgk5A4ACIAAgCCADKwMAIAQrA1CioCIIOQOIAiAAIAcgAysDACAEKwNYoqAiBzkDkAIgBUEBaiIFQQRHDQALC+YBAQZ/IAAoAlAiBEEBTgRAIAAoAkQhBSAAKAI4IQYDQCAFIAJBGGxqIgMgBiACQQV0aiIBKwMAIAArA7gBoiABKwMIIAArA9ABoqAgASsDECAAKwPoAaKgIAErAxggACsDgAKioDkDACADIAErAwAgACsDwAGiIAErAwggACsD2AGioCABKwMQIAArA/ABoqAgASsDGCAAKwOIAqKgOQMIIAMgASsDACAAKwPIAaIgASsDCCAAKwPgAaKgIAErAxAgACsD+AGioCABKwMYIAArA5ACoqA5AxAgAkEBaiICIARHDQALCwuNCwIFfw18IwBBkB1rIgMkACAAEJ4MIAAQnwwgAyAAKAJQQQF0QQxBBhD3AyIFNgKMHSAAKAJQQQFOBEADQCAAIAUgBEEBdCAAKAI4IARBBXRqIAAoAiwiByAEQQR0IgZqKwMAIAcgBkEIcmorAwAQoAwgBEEBaiIEIAAoAlBIDQALCyADQYAUakEAQYAJEK8bGiADQaATakEAQeAAEK8bGiADQaAKakEAQYAJEK8bGiADQoaAiZKEDDcDgAogA0KMgICAwAE3ApQKIANCADcDiAogAyADQYAUajYCkAogA0KGgImShAE3A+AJIANCjICAgBA3AvQJIANCADcD6AkgAyADQaATajYC8AkgA0KGgImShAw3A8AJIANCjICAgMABNwLUCSADQgA3A8gJIAMgA0GgCmo2AtAJIAUgA0GACmpBABCHBiADQYAKaiADQeAJaiADQcAJakEAQQMQuQQgA0GMHWoQ+wMgA0HgBWpBAEHgAxCvGxogA0HYBWoiBEIANwMAIANB0AVqIgdCADcDACADQcgF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+AIgAyAPIAUrAxAgHKEgBCsDECAQoaKgIg85A4ADIAZBAWoiBiAHRw0ACwsgA0HgAGogA0FAayADQSBqIANBARC5BCABIAMrA9ABIhMgAysDgAEiFKIgAysD2AEiCyADKwOIASIVoqAgAysD4AEiDCADKwOQASIWoqAiDzkDACABIBMgAysDmAEiF6IgCyADKwOgASIdoqAgDCADKwOoASIeoqAiCjkDCCABIBMgAysDsAEiGKIgCyADKwO4ASIZoqAgDCADKwPAASILoqAiEzkDECABIBggAysD6AEiDKIgGSADKwPwASIaoqAgCyADKwP4ASIboqAiHzkDKCABIAwgF6IgGiAdoqAgGyAeoqAiIDkDICABIAwgFKIgGiAVoqAgGyAWoqAiGjkDGCABQUBrIBggAysDgAIiG6IgGSADKwOIAiIYoqAgCyADKwOQAiIZoqAiCzkDACABIBsgF6IgGCAdoqAgGSAeoqAiDDkDOCABIBsgFKIgGCAVoqAgGSAWoqAiFDkDMCAPICCiIAuiIAogH6IgFKKgIBMgGqIgDKKgIBQgICAToqKhIAsgCiAaoqKhIA8gH6IgDKKhRAAAAAAAAAAAYwRAIAEgC5o5A0AgASAMmjkDOCABIBSaOQMwCyACIBEgDyANoiAKIA6ioCATIBCioKE5AwAgAiASIA0gASsDGKIgDiABKwMgoqAgECABKwMooqChOQMIIAIgHCANIAErAzCiIA4gASsDOKKgIBAgASsDQKKgoTkDECADQZADaiQAC8wCAgN/FXwCQCAAKAJQIgNBAUgEQAwBCyABQUBrKwMAIQkgASsDOCEKIAErAyghCyABKwMgIQwgACgCLCEEIAArAxghDSAAKwMIIQ4gACsDECEPIAArAwAhECACKwMQIREgASsDMCESIAIrAwghEyABKwMYIRQgAisDACEVIAErAxAhFiABKwMIIRcgASsDACEYIAAoAiAhBUEAIQEDQCAGIAQgAUEEdCICaisDACAQIBUgGCAFIAFBGGxqIgArAwAiBqIgFyAAKwMIIgeioCAWIAArAxAiCKKgoCAPokQAAAAAAADwPyARIAYgEqIgByAKoqAgCCAJoqCgoyIZoqChIhogGqIgBCACQQhyaisDACAOIBkgEyAGIBSiIAcgDKKgIAggC6KgoCANoqKgoSIGIAaioJ+gIQYgAUEBaiIBIANHDQALCyAGIAO3owvuAwIHfwJ8IwBB8AFrIgMkACADQeAAakEAQZABEK8bGiADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEAzcDICADQoaAgIAwNwI0IANCADcDKCADIANB4ABqNgIwIANChoCJkoQBNwMAIANCg4CAgBA3AhQgA0IANwMIIAMgA0FAazYCECAAKAIEIQggACgCAEH/H3FBBUchCQNAIAQgCGwiBSAAKAIQaiEHAnwgCUUEQCAEQRhsIgYgAygCMGogByoCALs5AwAgAygCMCAGaiAAKAIQIAVqKgIEuzkDCCAAKAIQIAVqKgIIuwwBCyAEQRhsIgYgAygCMGogBysDADkDACADKAIwIAZqIAAoAhAgBWorAwg5AwggACgCECAFaisDEAshCiADKAIwIAZqIAo5AxAgBEEBaiIEQQZHDQALIANBIGogASADELgEAkAgAysDQCIKRAAAAAAAAAAAYwRAIAIgCpqfIgs5AwAgAysDUCIKRAAAAAAAAAAAYyEEIAqaIQoMAQsgAiAKnyILOQMAIAMrA1AiCkQAAAAAAAAAAGQhBAsgAiAKn0QAAAAAAAAAACAEGzkDCCADKwNIRAAAAAAAAAAAY0EBc0UEQCACIAuaOQMACyACQgA3AxAgAkIANwMYIANB8AFqJAAL4wQCB38CfCMAQeACayIDJAAgA0HwAGpBAEHwARCvGxogA0IANwNgIANCADcDWCADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEBTcDICADQoaAgIDQADcCNCADQgA3AyggAyADQfAAajYCMCADQoaAiZKEATcDACADQoWAgIAQNwIUIANCADcDCCADIANBQGs2AhAgACgCBCEIIAAoAgBB/x9xQQVHIQkDQCAGIAhsIgQgACgCEGohBwJ8IAlFBEAgBkEobCIFIAMoAjBqIAcqAgC7OQMAIAMoAjAgBWogACgCECAEaioCBLs5AwggAygCMCAFaiAAKAIQIARqKgIIuzkDECADKAIwIAVqIAAoAhAgBGoqAgy7OQMYIAAoAhAgBGoqAhC7DAELIAZBKGwiBSADKAIwaiAHKwMAOQMAIAMoAjAgBWogACgCECAEaisDCDkDCCADKAIwIAVqIAAoAhAgBGorAxA5AxAgAygCMCAFaiAAKAIQIARqKwMY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IhUrAwA5AxggFSAMKAIAaisDACErIAIgLCAuoiApICqioJo5AyggAiArOQMgIAIgASsDADkDMCACIBQrAwA5AzggAiABIApBAXRqKwMAOQNAIANCADcDUCADQgA3A1ggA0HoAGoiAUIANwMAIANCADcDSCADQoOAgIAwNwNAIANChoD9lyQ3AzggAyABNgJkIAMgA0FAazYCYCADQfAIakEDQQNBBiACQQAQrgYhASADQYCAhBA2ArgBIANCADcDwAEgAyADQThqNgK8ASABIANBuAFqEJYEIAEQsQYaIANBuAFqICEgA0E4ahD/BiADQThqELEGGiADQfAIaiADQbgBaiAgEIEHIAMQpwYhCiADKALwCCIBIANB8AhqIApBfyABKAIAKAIMEQYAIANBOGogChDDCyACIANBOGpByAAQrhshASAKELEGGiAJELEGGiAIELEGGiANELEGGiAQELEGGiARELEGGiASELEGGiABIAErA0AiKUQAAAAAAADwPyApoyIpojkDQCABICkgASsDOKI5AzggASApIAErAzCiOQMwIAEgKSABKwMoojkDKCABICkgASsDIKI5AyAgASApIAErAxiiOQMYIAEgKSABKwMQojkDECABICkgASsDCKI5AwggASABKwMAICmiOQMAIAUQsQYaIAQQsQYaIAAQsQYaIAYQsQYaIA8QsQYaIAsQsQYaIAcQsQYaIBoQsQYaIB8QsQYaIB4QsQYaIB0QsQYaIBwQsQYaIBsQsQYaICYQsQYaIBgQsQYaIBkQsQYaIBcQsQYaIBYQsQYaICUQsQYaICQQsQYaICMQsQYaICIQsQYaICgQsQYaICEQsQYaICAQsQYaICcQsQYaIBMQsQYaIA4QsQYaIANB4BBqJAAL0ggCA38IfCMAQaADayIFJAAgA0EEQQRBBkEAQQAQ9wcgBEEEQQRBBkEAQQAQ9wcCQCADEMwHQYCABEYEQCAFQeACaiADKAIEEK0GGgwBCyAFQeACaiADEMkHCwJAIAQQzAdBgIAERgRAIAVBqAJqIAQoAgQQrQYaDAELIAVBqAJqIAQQyQcLIAVCgYCAgBA3A/gBIAVBhoCIiHw2AvABIAVCADcDuAEgBSAFQbgBajYC9AEgBUHgAmogBUHwAWpB1NYKEJkEIAUoAvACIAUoAowDKAIAQQNsakKAgICAgICA+D83AxggBUKBgICAEDcD+AEgBUGGgIiIfDYC8AEgBUIANwO4ASAFIAVBuAFqNgL0ASAFQagCaiAFQfABakHU1goQmQQgBSgCuAIgBSgC1AIoAgBBA2xqQoCAgICAgID4PzcDGCACKwMAIQwgAisDCCENIAIrAxAhCCACKwMYIQ4gAisDMCEKIAIrAyAhDyACKwMoIQkgAisDOCELIAVCgICAgPj/////ADcD8AEgBUKAgICAMDcDgAEgBUG4AWogBUHgAmogBUHwAWogBUGAAWoQugYhBCAFQoCAgIAwNwOAASAFQoCAgID4/////wA3A0ggBUHwAWogBCAFQYABaiAFQcgAahC6BiECIAQQsQYaIAVCgICAgPj/////ADcDuAEgBUKAgICAMDcDSCAFQYABaiAFQagCaiAFQbgBaiAFQcgAahC6BiEDIAVCgICAgDA3A0ggBUKAgICA+P////8ANwMQIAVBuAFqIAMgBUHIAGogBUEQahC6BiEEIAMQsQYaIAUgAjYChAEgBUGAgIQQNgKAASAFQgA3A4gBIAUgBDYCTCAFQYCAhBA2AkggBUIANwNQIAwgCiAIoqEgDSAIIAuioSAOIAogCaKhIA8gCyAJoqEgCCAJIAVBgAFqIAVByABqELoMIAVCgICAgPj/////ADcDgAEgBUKDgICAwAA3AxAgBUHIAGogBUHgAmogBUGAAWogBUEQahC6BiEDIAVCgICAgDA3AxAgBUKAgICA+P////8ANwMAIAVBgAFqIAMgBUEQaiAFELoGIQYgAxCxBhogBUKAgICA+P////8ANwNIIAVCg4CAgMAANwMAIAVBEGogBUGoAmogBUHIAGogBRC6BiEDIAVCgICAgDA3AwAgBUKAgICA+P////8ANwOYAyAFQcgAaiADIAUgBUGYA2oQugYhByADELEGGiAFQgA3AxggBSACNgIUIAVBgICECDYCECAFIAY2AgQgBUGAgIQQNgIAIAVCADcDCCAAIAEgBUEQaiAFELsMIAVCADcDGCAFIAQ2AhQgBUGAgIQINgIQIAUgBzYCBCAFQYCAhBA2AgAgBUIANwMIIAAgASAFQRBqIAUQuwwgBxCxBhogBhCxBhogBBCxBhogAhCxBhogBUGoAmoQsQYaIAVB4AJqELEGGiAFQaADaiQAC6gNAhB/An0jAEHABWsiBCQA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gIAERgRAIANBOGogASgCBBCtBhoMAQsgA0E4aiABEMkHCyADQfAAaiADQThqEJwHIANBiANqIANB0AJqIANB8ABqEIIHIANB6ARqIANBiANqEKYHIQEgA0GAgIQQNgIoIANCADcDMCADIAI2AiwgAyAFNgIcIANBgICEEDYCGCADQgA3AyAgAyAHNgIMIANBgICEEDYCCCADQgA3AxAgASADQShqIANBGGogA0EIakEAEK8EIANBgARqELEGGiADQcgDahCxBhogA0GQA2oQsQYaIANB6AFqELEGGiADQbABahCxBhogA0H4AGoQsQYaIANBOGoQsQYaIANB0AJqELEGGgJAAn8CQAJAIAItAAFBwABxDQAgAigCKCIBKAIAQQFGDQAgASgCBEEBRw0BIAIoAhAiBCACKAIsKAIAQQF0agwCCyACKAIQIgRBCGohASAEKwMQIQwMAgsgAigCECIEQQIgAigCDCIGbSILIAIoAiwoAgBsakECIAYgC2xrQQN0agsrAwAhDCABKAIEQQFGBEAgBCACKAIsKAIAaiEBDAELIAQgAigCDCIBQQAgAUEBakEDSRsiBiACKAIsKAIAbGpBASABIAZsa0EDdGohAQsgACsDACAMIAErAwCjZARAIANBiANqIAUQnAcgAygCiAMiASADQYgDaiADQcgHakF/IAEoAgAoAgwRBgAgA0GABGoQsQYaIANByANqELEGGiADQZADahCxBhogA0IANwOQAyADQYCAhAg2AogDIAMgA0HIB2o2AowDIANBiANqEKoERAAAAAAAAAAAY0EBc0UEQCADKALYByADKAL0BygCAEEBdGoiASABKwMAmjkDACABIAErAwiaOQMIIAEgASsDEJo5AxALIAcQsQYaIAUQsQYaIAIQsQYaIAoQsQYaIAkQsQYaIAgQsQYaIANByAdqELEGGiADQYAIaiQADwtBqX4gA0GIA2pBouwEEIkDQbfsBEGm3QRB1QYQmAoAC4UUAwx/AX0FfCMAQeADayIEJAACQCAAEMwHQYCABEYEQCAEQagDaiAAKAIEEK0GGgwBCyAEQagDaiAAEMkHCwJAAkACQCAEKAKwAyIMQQFHQQAgBCgCtAMiCUEBRxtFBEAgBCgCqANBA3ZB/wNxQQFrQQJPDQEgCSAMbCIJQQNMDQIgABDLByIKQRZLDQNBASAK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aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiACELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoCAgIAwNwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiAFELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoOAgIDAADcDyAEgCCABIAhBOGogCEHIAWoQugYhACAIQoCAgIAwNwPIASAIQoCAgID4/////wA3A4ABIAhBOGogACAIQcgBaiAIQYABahC6BiIEIAMQlgQgBBCxBhogABCxBhogCEKAgICA+P////8ANwM4IAhCg4CAgMAANwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A8gBIAhCgICAgPj/////ADcDgAEgCEE4aiAAIAhByAFqIAhBgAFqELoGIgQgBhCWBCAEELEGGiAAELEGGiAKELEGGiABELEGGiAOELEGGiANELEGGiAJELEGGiAMELEGGiAIQYAEahCxBhogCxCxBhogCEHwBGokAAuREQIEfxV8IwBBwAFrIgMkAAJ8An8CQAJAIAAQywdBDUcEQCAAEMsHQQ5HDQELAkAgABDMB0GAgARGBEAgA0GIAWogACgCBBCtBhoMAQsgA0GIAWogABDJBwsgABDLByEAIAMoAogBQYCAAXEhBSAAQQ1GBEACQAJAIAVFBEAgAygCmAEiACoCBIy7IQ0gACoCAIy7IQ4CQAJAAkACQAJAAkACQCADKAKwASIFKAIAQQFHBEACfyAFKAIEQQFGBEAgACADKAK0ASgCAGoMAQsgACADKAKUASIEQQAgBEEBakEDSRsiBiADKAK0ASgCAGxqQQEgBCAGbGtBA3RqCyoCAIy7IQoMAQsgACoCCIy7IQogAygCsAEiBSgCAEEBRg0BCwJ/IAUoAgRBAUYEQCAAIAMoArQBKAIAagwBCyAAIAMoApQBIgRBACAEQQFqQQNJ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ACsDkAIgGyABKwMIoqE5A5ACIAAgACsDmAIgHCABKwMIoqE5A5gCIAAgACsD2AIgHSABKwMIoqE5A9gCIAAgACsD4AIgHiABKwMIoqE5A+ACIAAgACsDqAMgHyABKwMIoqE5A6gDIAAgGCAYoiAZIBmioCIQIBqiIAArA+ADoDkD4AMgACAQIBuiIAArA+gDoDkD6AMgACAQIByiIAArA/ADoDkD8AMgACAQIB2iIAArA7AEoDkDsAQgACAQIB6iIAArA7gEoDkDuAQgACAQIB+iIAArA4AFoDkDgAUgAyACKwMAIAMrA7gJoDkDuAkgAyACKwMIIAMrA8AJoDkDwAkgAyACKwMQIAMrA8gJoDkDyAkgAyACKwMAIAMrA5gKoDkDmAogAyACKwMIIAMrA6AKoDkDoAogAyACKwMQIAMrA6gKoDkDqAogAyADKwPoCSABKwMAIAIrAwCioTkD6AkgAyADKwPwCSABKwMAIAIrAwiioTkD8AkgAyADKwP4CSABKwMAIAIrAxCioTkD+AkgAyADKwOwCiABKwMIIAIrAwCioTkDsAogAyADKwO4CiABKwMIIAIrAwiioTkDuAogAyADKwPACiABKwMIIAIrAxCioTkDwAogAyADKwPICiABKwMAIAIrAwCioTkDyAogAyADKwPQCiABKwMAIAIrAwiioTkD0AogAyADKwPYCiABKwMAIAIrAxCioTkD2AogAyADKwPgCiABKwMIIAIrAwCioTkD4AogAyADKwPoCiABKwMIIAIrAwiioTkD6AogAyADKwPwCiABKwMIIAIrAxCioTkD8AogAyADKwP4CiAQIAIrAwCioDkD+AogAyADKwOACyAQIAIrAwiioDkDgAsgAyADKwOICyAQIAIrAxCioDkDiAsgIiARoCEiICEgEqAhISAgIBegISAgEyAZoCETIBUgGKAhFSAWIBCgIRYgBEEBaiIEIAVHDQALCyAAIAArAzg5A3ggACAAKwNAOQPAASAAIAArA4gBOQPIASAAIAArA5ACOQPQAiAAIAArA5gCOQOYAyAAIAArA+ACOQOgAyAAIAArA+gDOQOoBCAAIAArA/ADOQPwBCAAIAArA7gEOQP4BCAAIAArAwA5A/ABIAAgACsDCCIQOQP4ASAAIAArAxAiETkDgAIgACAAKwNQOQPAAiAAIAArA1giEjkD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IAIrAwAgA0HAA2ogAWorAwCgOQMAIARBAWoiBEHRAEcNAAsgA0KJgICAkAE3A8gDIANBhoCIiHw2AsADIAMgADYCxAMgA0GYAmoQpwYhByADQdACahCnBiEFIANBiANqEKcGIQYgA0GYAmogA0HAA2oQtQQgA0HAA2ogBRDZDCAAQYgFaiADQcADakHIABCuGxogAyAGEJwHIANB4AFqEKcGIQEgAygCACICIAMgAUF/IAIoAgAoAgwRBgAgA0HAA2ogARDaDCAAQdAFaiADQcADakGIBRCuGxogARCxBhogA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaAkACQCAAKwOIBURIr7ya8td6PmZBAXNFBEAgAEEAIAAoAsgMIgFrQQN0aisDwAVESK+8mvLXej5jDQEgASEEDAILQal+IANBwANqQYOBBRCJA0H2gAVBwPwEQfsBEJgKAAsDQEEGIAFrIQIgAUEBaiIEIQEgACACQQN0aisDiAVESK+8mvLXej5jDQALCyAAIARBAWo2AsgMIARBBk4NASAAQcAMaiAiIBSjOQMAIABBuAxqICEgFKM5AwAgACAgIBSjOQOwDCAGELEGGiAFELEGGiAHELEGGiADQcgIahCxBhogA0GACWoQsQYaIANBkAtqJAAPC0GpfiADQcADakHAgAUQiQNB9oAFQcD8BEHuARCYCgALQal+IANBwANqQZGBBRCJA0H2gAVBwPwEQf8BEJgKAAu8HAIFfxt8IwBB0ANrIgEkACABQv/////////3/wA3A8gDRP///////+9/IQdBCSAAKALIDCICa0EIIAJBAEobIgRBCEwEQCABQZgCaiEFIAQhAwNAIAAgA0EDdGoiAisD0AUhCCACKwOYBiEJIAIrA+AGIQogAisDqAchCyACKwPwByEMIAJBuAhqKwMAIQ0gAkGACWorAwAhDiACQcgJaisDACEPIAEgAkGQCmorAwBEqkxY6Hq2+z+iIgc5A8ADIAEgD0SqTFjoerb7P6IiDzkDuAMgASAORKpMWOh6tvs/oiIOOQOwAyABIA1EqkxY6Hq2+z+iIg05A6gDIAEgDESqTFjoerb7P6IiDDkDoAMgASALRKpMWOh6tvs/oiILOQOYAyABIApEqkxY6Hq2+z+iIgo5A5ADIAEgCUSqTFjoerb7P6IiCTkDiAMgASAI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NgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbCxgAIAAoAgQiACABIAIgACgCACgCIBEFAAu9AgEDfyMAQRBrIgMkACADQQhqIAEoAgQiAiACKAIAKAIsEQIAIAMgASgCDCIBIAEoAgAoAiwRAgBBIBDVGiIBQgA3AgQgAUGokgU2AgAgAUEMaiIEEOMLGiABQaSTBTYCDCABIAMoAgg2AhAgASADKAIMIgI2AhQgAgRAIAIgAigCBEEBajYCBAsgASADKAIANgIYIAEgAygCBCICNgIcAkAgAkUEQCAAIAE2AgQgACAENgIADAELIAIgAigCBEEBajYCBCADKAIEIQIgACABNgIEIAAgBDYCACACRQ0AIAIgAigCBCIBQQFrNgIEIAENACACIAIoAgAoAggRAQAgAhDQGgsCQCADKAIMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyADQRBqJAALiQEBA38gAEG0lQU2AgwgAEG8lAU2AgACQCAAKAIcIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQxqIQICQCAAKAIUIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAC4wBAQN/IABBtJUFNgIMIABBvJQFNgIAAkAgACgCHCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEMaiECAkAgACgCFCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwt5AQJ/IABBtJUFNgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC3wBAn8gAEG0lQU2AgACQCAAKAIQIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLvQIBA38jAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECACADIAEoAgwiASABKAIAKAIsEQIAQSAQ1RoiAUIANwIEIAFBvJQFNgIAIAFBDGoiBBDjCxogAUG0lQU2AgwgASADKAIINgIQIAEgAygCDCICNgIUIAIEQCACIAIoAgRBAWo2AgQLIAEgAygCADYCGCABIAMoAgQiAjYCHAJAIAJFBEAgACABNgIEIAAgBDYCAAwBCyACIAIoAgRBAWo2AgQgAygCBCECIAAgATYCBCAAIAQ2AgAgAkUNACACIAIoAgQiAUEBazYCBCABDQAgAiACKAIAKAIIEQEAIAIQ0BoLAkAgAygCDCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgA0EQaiQACzcBAX8gAEHQlwU2AgwgAEHIlgU2AgAgACgCYCIBBEAgACABNgJkIAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQdCXBTYCDCAAQciWBTYCACAAKAJgIgEEQCAAIAE2AmQgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABB0JcFNgIAIAAoAlQiAQRAIAAgATYCWCABEKIbCyAAEOMLGiAACy4BAX8gAEHQlwU2AgAgACgCVCIBBEAgACABNgJYIAEQohsLIAAQ4wsaIAAQohsLnwMBAn8jAEGgAmsiAyQAAkACQCABELcGRQRAIAEoAgBBB3EiAkEGRw0BIAAgASgCECICKwMAtjgCDCAAIAIrAwi2OAIQIAAgAisDELY4AhQgACACKwMYtjgCGCAAIAIrAyC2OAIcIAAgAisDKLY4AiAgACACKwMwtjgCJCAAIAIrAzi2OAIoIAAgAisDQLY4AiwgA0EIaiABQQAQnQcgA0HoAWoQpwYhASADKAIIIgIgA0EIaiABQX8gAigCACgCDBEGACADQYABahCxBhogA0HIAGoQsQYaIANBEGoQsQYaIAEoAgBBB3EiAkEGRw0CIAAgASgCECICKwMAtjgCMCAAIAIrAwi2OAI0IAAgAisDELY4AjggACACKwMYtjgCPCAAIAIrAyC2OAJAIAAgAisDKLY4AkQgACACKwMwtjgCSCAAIAIrAzi2OAJMIAAgAisDQLY4AlAgARCxBhogA0GgAmokAA8LQal+IANBCGpBiJkFEIkDQZeZBUGqmQVB8QEQmAoACyACQQZB2JkFENIDAAsgAkEGQeiaBRDSAwALhAICAX8FfSAAKAIIIgIgAUEEdCIBQQhyaioCACIDQwAAgD8gACoCLCABIAJqKgIAIgQgACoCJJQgAiABQQRyaioCACIHIAAqAiiUkpKVIgUgACoCFCAEIAAqAgyUIAcgACoCEJSSkpSTIgYgBpQgAiABQQxyaioCACIGIAUgACoCICAEIAAqAhiUIAcgACoCHJSSkpSTIgUgBZSSIARDAACAPyAAKgJQIAMgACoCSJQgBiAAKgJMlJKSlSIFIAAqAjggAyAAKgIwlCAGIAAqAjSUkpKUkyIEIASUkiAHIAUgACoCRCADIAAqAjyUIAYgACoCQJSSkpSTIgMgA5SSQwAAAD+UC8wCAgR/BX0gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCVCEFIAAoAgghAQNAIAUgAkECdGogASACQQR0IgNBCHJqKgIAIgZDAACAPyAAKgIsIAEgA2oqAgAiByAAKgIklCABIANBBHJqKgIAIgogACoCKJSSkpUiCCAAKgIUIAcgACoCDJQgCiAAKgIQlJKSlJMiCSAJlCABIANBDHJqKgIAIgkgCCAAKgIgIAcgACoCGJQgCiAAKgIclJKSlJMiCCAIlJIgB0MAAIA/IAAqAlAgBiAAKgJIlCAJIAAqAkyUkpKVIgggACoCOCAGIAAqAjCUIAkgACoCNJSSkpSTIgcgB5SSIAogCCAAKgJEIAYgACoCPJQgCSAAKgJAlJKSlJMiBiAGlJJDAAAAP5Q4AgAgAkEBaiICIARHDQALCyAAQdQAagu9AQEEfyABKAIEIQJB7AAQ1RoiAUIANwIEIAFByJYFNgIAIAFBDGoiBBDjCxogASACNgIQIAFB0JcFNgIMIAEgAigCEDYCFCABQRhqQQBByAAQrxsaIAIoAgghAiABQQA2AmggAUIANwJgAkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCYCABIAIgA2oiBTYCaCADQQAgAhCvGxogASAFNgJkCyAAIAE2AgQgACAENgIADwsQ/BoACzoBAX8gAEGknAU2AgwgAEGgmwU2AgAgACgCPCIBBEAgAEFAayABNgIAIAEQohsLIABBDGoQ4wsaIAALPQEBfyAAQaScBTYCDCAAQaCbBTYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABBpJwFNgIAIAAoAjAiAQRAIAAgATYCNCABEKIbCyAAEOMLGiAACy4BAX8gAEGknAU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIAAQ4wsaIAAQohsLvwEBAn8jAEEQayICJAACQCABELcGRQRAIAEoAgBBB3EiA0EGRw0BIAAgASgCECIBKwMAtjgCDCAAIAErAwi2OAIQIAAgASsDELY4AhQgACABKwMYtjgCGCAAIAErAyC2OAIcIAAgASsDKLY4AiAgACABKwMwtjgCJCAAIAErAzi2OAIoIAAgASsDQLY4AiwgAkEQaiQADwtBqX4gAkGImQUQiQNBl5kFQaqZBUG1AhCYCgALIANBBkG8nQUQ0gMAC5cBAgF/BH0gACgCCCICIAFBBHQiAUEIcmoqAgBDAACAPyAAKgIsIAEgAmoqAgAiAyAAKgIklCACIAFBBHJqKgIAIgQgACoCKJSSkpUiBSAAKgIUIAMgACoCDJQgBCAAKgIQlJKSlJMiBiAGlCACIAFBDHJqKgIAIAUgACoCICADIAAqAhiUIAQgACoCHJSSkpSTIgMgA5SSC94BAgR/BH0gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCMCEFIAAoAgghAQNAIAUgAkECdGogASACQQR0IgNBCHJqKgIAQwAAgD8gACoCLCABIANqKgIAIgYgACoCJJQgASADQQRyaioCACIHIAAqAiiUkpKVIgggACoCFCAGIAAqAgyUIAcgACoCEJSSkpSTIgkgCZQgASADQQxyaioCACAIIAAqAiAgBiAAKgIYlCAHIAAqAhyUkpKUkyIGIAaUkjgCACACQQFqIgIgBEcNAAsLIABBMGoL1gEBBH8gASgCBCECQcgAENUaIgFCADcCBCABQaCbBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQaScBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAFCADcCMCABQQA2AjggAigCCCECIAFBADYCRCABQgA3AjwCQCACBEAgAkGAgICABE8NASABIAJBAnQiAhDVGiIDNgI8IAEgAiADaiIFNgJEIANBACACEK8bGiABIAU2AkALIAAgATYCBCAAIAQ2AgAPCxD8GgALOgEBfyAAQbSfBTYCDCAAQbyeBTYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEMahDjCxogAAs9AQF/IABBtJ8FNgIMIABBvJ4FNgIAIAAoAjwiAQRAIABBQGsgATYCACABEKIbCyAAQQxqEOMLGiAAEKIbCysBAX8gAEG0nwU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIAAQ4wsaIAALLgEBfyAAQbSfBTYCACAAKAIwIgEEQCAAIAE2AjQgARCiGwsgABDjCxogABCiGwu/AQECfyMAQRBrIgIkAAJAIAEQtwZFBEAgASgCAEEHcSIDQQZHDQEgACABKAIQIgErAwC2OAIMIAAgASsDCLY4AhAgACABKwMQtjgCFCAAIAErAxi2OAIYIAAgASsDILY4AhwgACABKwMotjgCICAAIAErAzC2OAIkIAAgASsDOLY4AiggACABKwNAtjgCLCACQRBqJAAPC0GpfiACQYiZBRCJA0GXmQVBqpkFQesCEJgKAAsgA0EGQbSgBRDSAwALzwECAX8LfSAAKgIsIAAoAggiAiABQQR0IgFBBHJqKgIAIgQgACoCKCIIlCABIAJqKgIAIgMgACoCJCIJlCACIAFBCHJqKgIAIgUgACoCFCADIAAqAgwiCpQgBCAAKgIQIguUkpIiBpQgAiABQQxyaioCACIHIAAqAiAgAyAAKgIYIgyUIAQgACoCHCIDlJKSIgSUkpKSkiINIA2UIAUgC5QgByADlJIgCJIiAyADlCAFIAqUIAcgDJSSIAmSIgMgA5QgBiAGlCAEIASUkpKSlQuWAgIEfwt9IAAgASAAKAIAKAIgEQIAIAAoAgQoAggiBEEBTgRAIAAoAjAhBSAAKAIIIQEDQCAFIAJBAnRqIAAqAiwgASACQQR0IgNBBHJqKgIAIgcgACoCKCILlCABIANqKgIAIgYgACoCJCIMlCABIANBCHJqKgIAIgggACoCFCAGIAAqAgwiDZQgByAAKgIQIg6UkpIiCZQgASADQQxyaioCACIKIAAqAiAgBiAAKgIYIg+UIAcgACoCHCIGlJKSIgeUkpKSkiIQIBCUIAggDpQgCiAGlJIgC5IiBiAGlCAIIA2UIAogD5SSIAySIgYgBpQgCSAJlCAHIAeUkpKSlTgCACACQQFqIgIgBEcNAAsLIABBMGoL1gEBBH8gASgCBCECQcgAENUaIgFCADcCBCABQbyeBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQbSfBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAFCADcCMCABQQA2AjggAigCCCECIAFBADYCRCABQgA3AjwCQCACBEAgAkGAgICABE8NASABIAJBAnQiAhDVGiIDNgI8IAEgAiADaiIFNgJEIANBACACEK8bGiABIAU2AkALIAAgATYCBCAAIAQ2AgAPCxD8GgALOgEBfyAAQbCiBTYCDCAAQaihBTYCACAAKAI8IgEEQCAAQUBrIAE2AgAgARCiGwsgAEEMahDjCxogAAs9AQF/IABBsKIFNgIMIABBqKEFNgIAIAAoAjwiAQRAIABBQGsgATYCACABEKIbCyAAQQxqEOMLGiAAEKIbCysBAX8gAEGwogU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIAAQ4wsaIAALLgEBfyAAQbCiBTYCACAAKAIwIgEEQCAAIAE2AjQgARCiGwsgABDjCxogABCiGwu/AQECfyMAQRBrIgIkAAJAIAEQtwZFBEAgASgCAEEHcSIDQQZHDQEgACABKAIQIgErAwC2OAIMIAAgASsDCLY4AhAgACABKwMQtjgCFCAAIAErAxi2OAIYIAAgASsDILY4AhwgACABKwMotjgCICAAIAErAzC2OAIkIAAgASsDOLY4AiggACABKwNAtjgCLCACQRBqJAAPC0GpfiACQYiZBRCJA0GXmQVBqpkFQbIDEJgKAAsgA0EGQcyjBRDSAwAL1AECAX8LfSAAKgIsIAAoAggiAiABQQR0IgFBDHJqKgIAIgMgACoCICIJlCACIAFBCHJqKgIAIgQgACoCFCIKlCABIAJqKgIAIgYgACoCJCAEIAAqAgwiC5QgAyAAKgIYIgyUkpIiB5QgAiABQQRyaioCACIIIAAqAiggBCAAKgIQIg2UIAMgACoCHCIElJKSIgOUkpKSkiIFIAWUIgUgByAHlCADIAOUkpUgBSAGIAuUIAggDZSSIAqSIgMgA5QgBiAMlCAIIASUkiAJkiIDIAOUkpWSC5sCAgR/C30gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCMCEFIAAoAgghAQNAIAUgAkECdGogACoCLCABIAJBBHQiA0EMcmoqAgAiBiAAKgIgIgyUIAEgA0EIcmoqAgAiByAAKgIUIg2UIAEgA2oqAgAiCSAAKgIkIAcgACoCDCIOlCAGIAAqAhgiD5SSkiIKlCABIANBBHJqKgIAIgsgACoCKCAHIAAqAhAiEJQgBiAAKgIcIgeUkpIiBpSSkpKSIgggCJQiCCAKIAqUIAYgBpSSlSAIIA0gCSAOlCALIBCUkpIiBiAGlCAJIA+UIAsgB5SSIAySIgYgBpSSlZI4AgAgAkEBaiICIARHDQALCyAAQTBqC9YBAQR/IAEoAgQhAkHIABDVGiIBQgA3AgQgAUGooQU2AgAgAUEMaiIEEOMLGiABIAI2AhAgAUGwogU2AgwgAigCECEDIAFCADcCGCABIAM2AhQgAUIANwIgIAFCADcCKCABQgA3AjAgAUEANgI4IAIoAgghAiABQQA2AkQgAUIANwI8AkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCPCABIAIgA2oiBTYCRCADQQAgAhCvGxogASAFNgJACyAAIAE2AgQgACAENgIADwsQ/BoACzcBAX8gAEHQpQU2AgwgAEHMpAU2AgAgACgCSCIBBEAgACABNgJMIAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQdClBTYCDCAAQcykBTYCACAAKAJIIgEEQCAAIAE2AkwgARCiGwsgAEEMahDjCxogABCiGwsuAQF/IABB0KUFNgIAIAAoAjwiAQRAIABBQGsgATYCACABEKIbCyAAEOMLGiAACzEBAX8gAEHQpQU2AgAgACgCPCIBBEAgAEFAayABNgIAIAEQohsLIAAQ4wsaIAAQohsL4AEBAn8jAEEQayICJAACQCABELcGRQRAIAEoAgBBB3EiA0EGRw0BIAAgASgCECIBKwMAtjgCDCAAIAErAwi2OAIQIAAgASsDELY4AhQgACABKwMYtjgCGCAAIAErAyC2OAIcIAAgASsDKLY4AiAgACABKwMwtjgCJCAAIAErAzi2OAIoIAAgASsDQLY4AiwgACABKwNItjgCMCAAIAErA1C2OAI0IAAgASsDWLY4AjggAkEQaiQADwtBqX4gAkGImQUQiQNBl5kFQaqZBUHyAxCYCgALIANBBkHopgUQ0gMAC6EBAQV9IAAoAgggAUEUbGoiASoCAEMAAIA/IAAqAjggASoCCCICIAAqAiyUIAEqAgwiAyAAKgIwlJIgASoCECIEIAAqAjSUkpKVIgUgACoCGCACIAAqAgyUIAMgACoCEJSSIAQgACoCFJSSkpSTIgYgBpQgASoCBCAFIAAqAiggAiAAKgIclCADIAAqAiCUkiAEIAAqAiSUkpKUkyICIAKUkgvsAQIEfwV9IAAgASAAKAIAKAIgEQIAIAAoAgQoAggiA0EBTgRAIAAoAjwhBCAAKAIIIQUDQCAEIAJBAnRqIAUgAkEUbGoiASoCAEMAAIA/IAAqAjggASoCCCIGIAAqAiyUIAEqAgwiByAAKgIwlJIgASoCECIIIAAqAjSUkpKVIgkgACoCGCAGIAAqAgyUIAcgACoCEJSSIAggACoCFJSSkpSTIgogCpQgASoCBCAJIAAqAiggBiAAKgIclCAHIAAqAiCUkiAIIAAqAiSUkpKUkyIGIAaUkjgCACACQQFqIgIgA0cNAAsLIABBPGoL4AEBBH8gASgCBCECQdQAENUaIgFCADcCBCABQcykBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQdClBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAFCADcCMCABQgA3AjggAUFAa0IANwIAIAIoAgghAiABQQA2AlAgAUIANwJIAkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCSCABIAIgA2oiBTYCUCADQQAgAhCvGxogASAFNgJMCyAAIAE2AgQgACAENgIADwsQ/BoACzcBAX8gAEHwqAU2AgwgAEHopwU2AgAgACgCMCIBBEAgACABNgI0IAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQfCoBTYCDCAAQeinBTYCACAAKAIwIgEEQCAAIAE2AjQgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABB8KgFNgIAIAAoAiQiAQRAIAAgATYCKCABEKIbCyAAEOMLGiAACy4BAX8gAEHwqAU2AgAgACgCJCIBBEAgACABNgIoIAEQohsLIAAQ4wsaIAAQohsLngEBAn8jAEEQayICJAACQCABELcGRQRAIAEoAgBBB3EiA0EGRw0BIAAgASgCECIBKwMAtjgCDCAAIAErAwi2OAIQIAAgASsDELY4AhQgACABKwMYtjgCGCAAIAErAyC2OAIcIAAgASsDKLY4AiAgAkEQaiQADwtBqX4gAkGImQUQiQNBl5kFQaqZBUGxBBCYCgALIANBBkGIqgUQ0gMAC3QCAX8DfSAAKAIIIgIgAUEEdCIBQQhyaioCACAAKgIUIAEgAmoqAgAiAyAAKgIMlCACIAFBBHJqKgIAIgQgACoCEJSSkpMiBSAFlCACIAFBDHJqKgIAIAAqAiAgAyAAKgIYlCAEIAAqAhyUkpKTIgMgA5SSC7sBAgR/A30gACABIAAoAgAoAiARAgAgACgCBCgCCCIEQQFOBEAgACgCJCEFIAAoAgghAQNAIAUgAkECdGogASACQQR0IgNBCHJqKgIAIAAqAhQgASADaioCACIGIAAqAgyUIAEgA0EEcmoqAgAiByAAKgIQlJKSkyIIIAiUIAEgA0EMcmoqAgAgACoCICAGIAAqAhiUIAcgACoCHJSSkpMiBiAGlJI4AgAgAkEBaiICIARHDQALCyAAQSRqC8cBAQR/IAEoAgQhAkE8ENUaIgFCADcCBCABQeinBTYCACABQQxqIgQQ4wsaIAEgAjYCECABQfCoBTYCDCACKAIQIQMgAUIANwIYIAEgAzYCFCABQgA3AiAgAUIANwIoIAIoAgghAiABQQA2AjggAUIANwIwAkAgAgRAIAJBgICAgARPDQEgASACQQJ0IgIQ1RoiAzYCMCABIAIgA2oiBTYCOCADQQAgAhCvGxogASAFNgI0CyAAIAE2AgQgACAENgIADwsQ/BoACxYAIABBiKsFNgIAIABBDGoQ4wsaIAALGQAgAEGIqwU2AgAgAEEMahDjCxogABCiGwsNACAAEOMLGiAAEKIbC6gGAwV/Bn0IfCMAQUBqIgokAAJAAkAgA0EATARARAAAAAAAAAAAIAO3IhWjIhQhFiAUIRcgFCEYDAELIAAoAgQhBiACKAIAIQkDQCARIAYgCSAIQQJ0aigCAEEEdCIHaioCALugIREgFCAGIAdBDHJqKgIAu6AhFCATIAYgB0EIcmoqAgC7oCETIBIgBiAHQQRyaioCALugIRIgCEEBaiIIIANHDQALIBQgA7ciFaMhFCATIBWjIRYgEiAVoyEXIBEgFaMhGCADQQFIBEBEAAAAAAAAAAAhEQwBCyAAKAIEIQYgAigCACEJQQAhCEQAAAAAAAAAACESRAAAAAAAAAAAIREDQCARIAYgCSAIQQJ0aigCAEEEdCIHQQhyaioCALsgFqEiEyAToiAGIAdBDHJqKgIAuyAUoSITIBOioJ+gIREgEiAGIAdqKgIAuyAYoSITIBOiIAYgB0EEcmoqAgC7IBehIhMgE6Kgn6AhEiAIQQFqIgggA0cNAAsMAQtEAAAAAAAAAAAhEgsgBEIANwMwIARCADcDGCAEQgA3AwggBEKAgICAgICA+D83A0AgBEIANwM4IAREzTt/Zp6g9j8gEiAVo6MiEjkDICAEIBI5AwAgBCASIBeaoiITOQMoIAQgEiAYmqIiFzkDECAFQgA3AzAgBUTNO39mnqD2PyARIBWjoyIRIBSaoiIUOQMoIAUgETkDICAFQgA3AxggBSARIBaaoiIWOQMQIAVCADcDCCAFIBE5AwAgBUIANwM4IAVCgICAgICAgPg/NwNAIAEgCkEIaiADQQRBBRCoBiIGELkGGiAGELEGGiADQQFOBEAgEbYhCyAStiEMIBS2IQ0gFrYhDiATtiEPIBe2IRAgACgCBCEHIAIoAgAhBCABKAIQIQZBACEJA0AgBiAHIAQgCUECdGooAgBBBHQiCGoqAgAgDJQgEJI4AgAgBiAHIAhBBHJqKgIAIAyUIA+SOAIEIAYgByAIQQhyaioCACALlCAOkjgCCCAGIAcgCEEMcmoqAgAgC5QgDZI4AgwgBkEQaiEGIAlBAWoiCSADRw0ACwsgCkFAayQAC4kGAg5/CnxBpPkKQgA3AgBBoPkKQbgXNgIAQZj5CkLS8PqouL2U/D83AwBBkPkKQvuouL2U3J6JwAA3AwBBrPkKQgA3AgBBtPkKQgA3AgBBvPkKQgA3AgBBxPkKQQA2AgBBkAMQ1RpB+KwFQZADEK4bIQdBkAMQ1RpBiLAFQZADEK4bIQhBkAMQ1RpBmLMFQZADEK4bIQlBrPkKQcC7ARDVGkEAQcC7ARCvGyIBQcC7AWoiAzYCAEGo+QogAzYCAEGk+QogATYCAEG4+QpBwLsBENUaQQBBwLsBEK8bIgNBwLsBaiIANgIAQbT5CiAANgIAQbD5CiADNgIAQcT5CkHAuwEQ1RpBAEHAuwEQrxsiBkHAuwFqIgA2AgBBwPkKIAA2AgBBvPkKIAY2AgBEau+0kfhb/D8hDkRq77SR+Fv8PyEPA0AgDyEQIBQhESAOIRIgCSAEQQFqIgRBA3QiAGorAwAiDiASoUQAAAAAAIBOQKMhFSAAIAhqKwMAIhQgEaFEAAAAAACATkCjIRYgACAHaisDACIPIBChRAAAAAAAgE5AoyEXQQAhAANAIAEgAiIFQQN0IgJqIBAgFyAAtyIToqA5AwAgAiADaiARIBYgE6KgOQMAIAIgBmogEiAVIBOioDkDACAFQQFqIQIgAEEBaiIAQT1HDQALIARBMUcNAAsCQCAFQbcXTg0AIAVBA3QhCkHAuwEgAkEDdCIEayILQQFIIgxFBEAgASAKaiENIAtBA3YhACABIARqIQEDQCABIA0rAwA5AwAgAUEIaiEBIABBAUohBCAAQQFrIQAgBA0ACwsgDEUEQCADIApqIQQgC0EDdiEAIAMgAkEDdGohAQNAIAEgBCsDADkDACABQQhqIQEgAEEBSiEDIABBAWshACADDQALC0HAuwEgAkEDdCICayIAQQFIDQAgBiAFQQN0aiEBIABBA3YhACACIAZqIQIDQCACIAErAwA5AwAgAkEIaiECIABBAUohBSAAQQFrIQAgBQ0ACwsgCRCiGyAIEKIbIAcQohsLBwAgACgCEAspAAJAQcj5Ci0AAEEBcQ0AQcj5ChD9GkUNABC9DUHI+QoQgRsLQZD5CgtQAEG8+QooAgAiAARAQcD5CiAANgIAIAAQohsLQbD5CigCACIABEBBtPkKIAA2AgAgABCiGwtBpPkKKAIAIgAEQEGo+QogADYCACAAEKIbCwu1BQMBfwJ9BHwgABDjCxogAEH0vAU2AgAgACADKAIANgIEIAAgAygCBCIDNgIIIAMEQCADIAMoAgRBAWo2AgQLEL8NIQMgACAIOQNwIAAgBzkDaCAAIAk5A1AgACAGOQMwIAAgBTYCKCAAIAQ5AyAgACACNgIQIAAgAzYCDCAAIAEgAaI5AxggACADQRRqNgKoASAAKAIMEOQKIQMgAEL/////////9/8ANwN4IAAgAzYCrAEgACAAKwMwIgEgAaJEAAAAAAAA4D+iOQM4IAAgACgCKLciBEQAAAAAAADwP6BEAAAAAAAA4D+iIgY5A0ggACAERAAAAAAAAPC/oEQAAAAAAADgP6IiBDkDQCAAIAArAxiftiABtpUiCzgCgAEgACAGEKsbIgE5A2AgACAEEKsbOQNYIAAgCyALlCIMOAKEASAAIAEgC7ujOQOQASAAIAwgDJI4AowBIAAgDEMAAAA/lDgCiAEgACAAKAIMIgIoAhggAigCFGtBA3W4IAIrAwCjOQOYASAAKAIMKAIQIQMgAEK7+97O/Zvf7T03A6ABIAAgA0EBayICNgKwAUQAAAAAAAAAACEBIAArAxgiB0QAAAAAAAAAAGRBAXNFBEAgB0QAAAAAAAA+QKMhCCAAKwNoIQkgACsDkAEhDSAAKwOYASEOIAAoAqgBKAIAIQUgACgCrAEoAgAhCiAAKgKIAbshDyAAKgKMAbshEES7vdfZ33zbPSEGA0AgBiANIAogAiACAn8gASAOoiAQoxCIFSIEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsiAyADQQBIGyACIANMG0EDdCIDaisDACAPoiABRAAAAAAAANA/oiADIAVqKwMAIAmhoqCiIgRjQQFzRQRAIAAgBDkDoAEgBCEGCyAIIAGgIgEgB2MNAAsLC4UGAQR/IwBBEGsiCyQAIAAQ4wsaIABBmMMFNgIAIAAgAaxC/////w8gARs3AwggACACKAIANgIQIAAgAigCBCICNgIUIAIEQCACIAIoAgRBAWo2AgQLQQAhAiAAQQA2AqgBIAAgCDkDSCAAIAc5A0AgACAEOQMoIAAgAzYCGCAAQgA3AoABIAAgCTYCuAEgAEIANwKIASAAQgA3ApABIABCADcCmAEgAEEANgKgASAAQv/////////3/wA3A7ABIAAgBEQAAAAAAAAiQKJEAAAAAAAA0D+iIgQ5AzAgAEQAAAAAAADwPyAEozkDOCALQQA2AgggC0IANwMAQQAhAQJAIAMEQCADQYCAgIAETw0BIANBAnQiChDVGiIBQQAgChCvGyAKaiIKIQwLIABBCGohDSAAIAo2ApQBIAAgDDYCkAEgACABNgKMASADQQBKBEADQCABIAJBAnRqIAI2AgAgAkEBaiICIANIDQALCyALIABBjAFqNgIEIAtBhICMmHg2AgAgC0IANwMIIAsgDRD5CQJAIAAoAogBIAAoAoABIgJrQQV1QRNLDQAgACgChAEhCkGABRDVGiIBQYAFaiEMIAEgCiACayIKaiENIApBAU4EQCABIAIgChCuGxoLIAAgDDYCiAEgACANNgKEASAAIAE2AoABIAJFDQAgAhCiGwsgACAFIAYQ7w1BACECIABBADoAvAEgAEL/////////9/8ANwNQIABBADYCHCAAIAlBAkkiCiAJQQNGciIBOgC9ASAKRQRAIAtBADYCCCALQgA3AwBBACEKQQAhCSADBEAgA0GAgICABE8NAiALIANBAnQiAxDVGiIJNgIAIAsgAyAJaiICNgIIIAlBACADEK8bGiALIAI2AgQgAiEKCyAAKAKYASIDBEAgACADNgKcASADEKIbIAsoAgghAiALKAIEIQogCygCACEJIAAtAL0BIQELIAAgAjYCoAEgACAKNgKcASAAIAk2ApgBCyAAIAFBAXM6AL4BIAtBEGokAA8LEPwaAAtXAQN/IABB8LcFNgIQIABB9LYFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQfC3BTYCECAAQfS2BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbCxMAIABBEGogACgCECgCABEAABoLRwECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLjgECAn8BfSABKAIEIgMgAiADKAIAKAIgEQIAAkAgASgCDEEBSARAQQAhAwwBC0EAIQJBACEDA0AgASgCBCIEIAIgBCgCACgCJBEZACEFIAErAxiaIAMgASsDECAFu2RqIgMgASgCDCIEIAJrardkDQEgAkEBaiICIARIDQALCyAAIAM2AgAgACADt5o5AwgLJgAjAEEQayIAJABBq34gAEGguQUQiQNBsbkFQbq5BUHjARCYCgALpQECAn8BfCAAKwMQIQUgACgCBCIAIAEgACgCACgCKBEDACEAIAIoAgQiASACKAIAIgNrIgJBAUgEQEEADwsgAyABayIBIAIgASACShtBAnYiAkEBIAJBAUsbIQEgACgCACEEQQAhAkEAIQADQCAFIAQgAkECdGoqAgC7ZEEBc0UEQCADIABBAnRqIAI2AgAgAEEBaiEACyACQQFqIgIgAUcNAAsgAAucAQECfyAAKAIEIgAgASAAKAIAKAIoEQMAIQEgAigCBCIAIAIoAgAiBGsiAkEBSARAQQAPCyAEIABrIgAgAiAAIAJKG0ECdiICQQEgAkEBSxshACABKAIAIQVBACECQQAhAQNAIAUgAkECdGoqAgC7IANjQQFzRQRAIAQgAUECdGogAjYCACABQQFqIQELIAJBAWoiAiAARw0ACyABCxgAIAArAxggAWRBAXNFBEAgACABOQMYCwvlAQIDfwF8IAArAxAhBgJAIAIoAgQiA0UNACACKAIAQQAgA0EFdkECdCIEEK8bIQUgA0EfcSIDRQ0AIAQgBWoiBCAEKAIAQX9BICADa3ZBf3NxNgIACyAAKAIEIgAgASAAKAIAKAIoEQMAIQAgAigCBCIDQQFIBEBBAA8LIAIoAgAhBSAAKAIAIQRBACEAQQAhAQNAIAYgBCAAQQJ0aioCALtkQQFzRQRAIAUgAEEDdkH8////AXFqIgMgAygCAEEBIAB0cjYCACACKAIEIQMgAUEBaiEBCyAAQQFqIgAgA0gNAAsgAQsHACAAKAIMC+8BAgR/AXwjAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEEwENUaIgJCADcCBCACQfS2BTYCACABKwMQIQYgASgCDCEEIAJBEGoiBRDjCxogAkHwtwU2AhAgAiADKAIINgIUIAIgAygCDCIBNgIYIAEEfyABIAEoAgRBAWo2AgQgAygCDAVBAAshASACQv/////////3/wA3AyggAiAGOQMgIAIgBDYCHCAAIAI2AgQgACAFNgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIANBEGokAAtXAQN/IABB5LoFNgIQIABB7LkFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQeS6BTYCECAAQey5BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbC0cBAn8gAEHkugU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC0oBAn8gAEHkugU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbC7IBAgJ/AnwgASgCBCIDIAIgAygCACgCIBECAAJAIAEoAgxBAUgEQAwBC0EAIQIDQAJAIAEoAgQiAyACIAMoAgAoAiQRGQC7IgYgASsDIGNBAXMNACAFRAAAAAAAAPA/IAErAyggBqKhoSEFIAErAxAgBmRBAXMNACAEQQFqIQQLIAErAxggBSABKAIMIgO3oSACt6BjDQEgAkEBaiICIANIDQALCyAAIAU5AwggACAENgIAC54CAgR/AXwjAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEHAABDVGiICQgA3AgQgAkHsuQU2AgAgASsDECEGIAEoAgwhBCACQRBqIgUQ4wsaIAJB5LoFNgIQIAIgAygCCDYCFCACIAMoAgwiATYCGCABBH8gASABKAIEQQFqNgIEIAMoAgwFQQALIQEgAkL/////////9/8ANwMoIAIgBjkDICACIAQ2AhwgAiAGRAAAAAAAACJAokQAAAAAAADQP6IiBjkDMCACRAAAAAAAAPA/IAajOQM4IAAgAjYCBCAAIAU2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgA0EQaiQAC1cBA38gAEH0vAU2AhAgAEH4uwU2AgAgAEEQaiECAkAgACgCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogAAtaAQN/IABB9LwFNgIQIABB+LsFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAAQohsLRwECfyAAQfS8BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfS8BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLxAICBH8DfCABKAIEIgMgAiADKAIAKAIgEQIAAkAgASgCEEEBSARAQQAhAwwBC0EAIQJBACEDA0AgASgCBCIEIAIgBCgCACgCJBEZALsiCCABKwMgYyEEIAErAxggCGRBAXNFBEACfyABKwOYASAIoiABKgKMAbujEIgVIgmZRAAAAAAAAOBBYwRAIAmqDAELQYCAgIB4CyEFIAdEAAAAAAAA8D8gASsDkAEgASgCsAEiBiAGIAUgBUEASBsgBSAGThtBA3QiBSABKAKsASgCAGorAwAgASoCiAG7oiAIRAAAAAAAANA/oiABKAKoASgCACAFaisDACABKwNooaKgoiABKwOgAaOhoSEHCyADIARqIQMgASsDeCAHIAEoAhAiBCACa7ehYw0BIAJBAWoiAiAESA0ACwsgACAHOQMIIAAgAzYCAAurAgIFfwZ8AkAgASgCECIFQQFIBEAMAQsgASsDeCEKIAErAxghCyABKwMgIQwgAigCACEHQQAhAgNAIAwgByACQQJ0aioCALsiCWQgBGohBCAJIAtjQQFzRQRAAn8gASsDmAEgCaIgASoCjAG7oxCIFSINmUQAAAAAAADgQWMEQCANqgwBC0GAgICAeAshAyAIRAAAAAAAAPA/IAErA5ABIAEoArABIgYgBiADIANBAEgbIAMgBk4bQQN0IgMgASgCrAEoAgBqKwMAIAEqAogBu6IgCUQAAAAAAADQP6IgASgCqAEoAgAgA2orAwAgASsDaKGioKIgASsDoAGjoaEhCAsgCCAFIAJrt6EgCmQNASAFIAJBAWoiAkoNAAsLIAAgCDkDCCAAIAQ2AgALpQECAn8BfCAAKwMgIQUgACgCBCIAIAEgACgCACgCKBEDACEAIAIoAgQiASACKAIAIgNrIgJBAUgEQEEADwsgAyABayIBIAIgASACShtBAnYiAkEBIAJBAUsbIQEgACgCACEEQQAhAkEAIQADQCAFIAQgAkECdGoqAgC7ZEEBc0UEQCADIABBAnRqIAI2AgAgAEEBaiEACyACQQFqIgIgAUcNAAsgAAsYACAAKwN4IAFkQQFzRQRAIAAgATkDeAsL5QECA38BfCAAKwMgIQYCQCACKAIEIgNFDQAgAigCAEEAIANBBXZBAnQiBBCvGyEFIANBH3EiA0UNACAEIAVqIgQgBCgCAEF/QSAgA2t2QX9zcTYCAAsgACgCBCIAIAEgACgCACgCKBEDACEAIAIoAgQiA0EBSARAQQAPCyACKAIAIQUgACgCACEEQQAhAEEAIQEDQCAGIAQgAEECdGoqAgC7ZEEBc0UEQCAFIABBA3ZB/P///wFxaiIDIAMoAgBBASAAdHI2AgAgAigCBCEDIAFBAWohAQsgAEEBaiIAIANIDQALIAELugEBA38jAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEHIARDVGiICQgA3AgQgAkH4uwU2AgAgAkEQaiIEIAEqAoABuyABKAIQIANBCGogASsDICABKAIoIAErAzAgASsDaCABKwNwIAErA1AQwQ0gACACNgIEIAAgBDYCAAJAIAMoAgwiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIANBEGokAAtXAQN/IABBhL8FNgIQIABBjL4FNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQYS/BTYCECAAQYy+BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbC0cBAn8gAEGEvwU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC0oBAn8gAEGEvwU2AgACQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbC5oCAwV/AX0BfCMAQRBrIgMkACABKAIEIgQgAiAEKAIAKAIoEQMAIQIgA0EANgIIIANCADcDAEEAIQQCQCACKAIEIAIoAgBrIgUEQCAFQQJ1IgdBgICAgARPDQEgAyAFENUaIgQ2AgAgAyAENgIEIAMgBCAHQQJ0ajYCCCADAn8gBCACKAIEIAIoAgAiBWsiAkEBSA0AGiAEIAUgAhCuGyACags2AgQLIAEoAgwiBUEBTgRAIAErAxAhCUEAIQIDQCAGIAkgBCACQQJ0aioCALtkaiEGIAJBAWoiAiAFRw0ACwsgAxD7EyEIIAAgBjYCACAAIAi7OQMIIAMoAgAiAgRAIAMgAjYCBCACEKIbCyADQRBqJAAPCxD8GgALAwABC98BAgR/AXwjAEEQayIDJAAgA0EIaiABKAIEIgIgAigCACgCLBECAEEoENUaIgJCADcCBCACQYy+BTYCACABKwMQIQYgASgCDCEEIAJBEGoiBRDjCxogAkGEvwU2AhAgAiADKAIINgIUIAIgAygCDCIBNgIYIAEEfyABIAEoAgRBAWo2AgQgAygCDAVBAAshASACIAY5AyAgAiAENgIcIAAgAjYCBCAAIAU2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgA0EQaiQACzcBAX8gAEGYwQU2AgwgAEGcwAU2AgAgACgCECIBBEAgACABNgIUIAEQohsLIABBDGoQ4wsaIAALOgEBfyAAQZjBBTYCDCAAQZzABTYCACAAKAIQIgEEQCAAIAE2AhQgARCiGwsgAEEMahDjCxogABCiGwsrAQF/IABBmMEFNgIAIAAoAgQiAQRAIAAgATYCCCABEKIbCyAAEOMLGiAACy4BAX8gAEGYwQU2AgAgACgCBCIBBEAgACABNgIIIAEQohsLIAAQ4wsaIAAQohsLBwAgAEEEagtVAEEcENUaIgFCADcCBCABQgA3AgwgAUGcwAU2AgAgAUIANwIUIAFBDGoiAhDjCxogAUEANgIYIAFCADcCECABQZjBBTYCDCAAIAE2AgQgACACNgIAC58BAQN/IABBmMMFNgIQIABBqMIFNgIAIAAoAqgBIgEEQCAAIAE2AqwBIAEQohsLIAAoApwBIgEEQCAAIAE2AqABIAEQohsLIAAoApABIgEEQCAAIAE2ApQBIAEQohsLIABBEGohAgJAIAAoAiQiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALogEBA38gAEGYwwU2AhAgAEGowgU2AgAgACgCqAEiAQRAIAAgATYCrAEgARCiGwsgACgCnAEiAQRAIAAgATYCoAEgARCiGwsgACgCkAEiAQRAIAAgATYClAEgARCiGwsgAEEQaiECAkAgACgCJCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwvEAwIGfwF8IABEK4cW2c737z8gASABROkLIef9/+8/ZBsiASABRC1DHOviNhq/oCACIAEgAmMbRDMzMzMzM9M/pCICEPANIQkCQAJAAkAgACgChAEiAyAAKAKIASIESQRAIANCADcDGCADIAk5AxAgAyACOQMIIAMgATkDACAAIANBIGoiAzYChAEMAQsgAyAAQYABaigCACIGayIHQQV1IghBAWoiA0GAgIDAAE8NAQJ/QQAgAyAEIAZrIgRBBHUiBSADIAVLG0H///8/IARBBXVB////H0kbIgVFDQAaIAVBgICAwABPDQMgBUEFdBDVGgsiBCAIQQV0aiIDQgA3AxggAyAJOQMQIAMgAjkDCCADIAE5AwAgBCAFQQV0aiEFIANBIGohAyAHQQFOBEAgBCAGIAcQrhsaCyAAIAU2AogBIAAgAzYChAEgACAENgKAASAGRQ0AIAYQohsgACgChAEhAwsgACACOQNgIAAgCTkDaCAAIAE5A1ggACACIAGjOQNwIABEAAAAAAAA8D8gAqFEAAAAAAAA8D8gAaGjOQN4IAAgAyAAKAKAAWtBBXVBAWs2AiAPCxD8GgALQai2BRC+AgAL2gIBAnxEAAAAAAAA8D8gAqEiA0QAAAAAAADwPyABoaMQlRUhBAJAIAIgAaMQlRUgAqIgAyAEoqAgACsDQKIgACsDSKNEAAAAAAAA8D+gIgIgAhCVFaAiASACoZlEAAAAAAAAgD5jDQAgAiABEJUVoCIDIAGhmUQAAAAAAACAPmNBAXNFBEAgAyEBDAELIAIgAxCVFaAiASADoZlEAAAAAAAAgD5jDQAgAiABEJUVoCIDIAGhmUQAAAAAAACAPmMEQCADDwsgAiADEJUVoCIBIAOhmUQAAAAAAACAPmMNACACIAEQlRWgIgMgAaGZRAAAAAAAAIA+YwRAIAMPCyACIAMQlRWgIgEgA6GZRAAAAAAAAIA+Yw0AIAIgARCVFaAiAyABoZlEAAAAAAAAgD5jBEAgAw8LIAIgAxCVFaAiASADoZlEAAAAAAAAgD5jDQAgAiABEJUVoA8LIAELjwEBAn8gAEGYwwU2AgAgACgCmAEiAQRAIAAgATYCnAEgARCiGwsgACgCjAEiAQRAIAAgATYCkAEgARCiGwsgACgCgAEiAQRAIAAgATYChAEgARCiGwsCQCAAKAIUIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC5IBAQJ/IABBmMMFNgIAIAAoApgBIgEEQCAAIAE2ApwBIAEQohsLIAAoAowBIgEEQCAAIAE2ApABIAEQohsLIAAoAoABIgEEQCAAIAE2AoQBIAEQohsLAkAgACgCFCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogABCiGwurBQQEfwF+AX0DfCABELcGBH8gAgUgACgCECICIAEgAigCACgCIBECACAAQQE6ALwBQQAhAgJAIAAoAhgiAUUEQEEAIQEMAQsgACAAKQMIIgZC/////w+DQorG/cEPfiAGQiCIfCIGNwMIIAFBAUgEQAwBCyAGpyABcCEERAAAAAAAAPA/IQgDQAJAIAAoAhAiBSAEQQAgASAEShsiBEECdCIBIAAoAowBaigCACAFKAIAKAIkERkAIge7IgogACsDKGNBAXNFBEAgA0EBaiEDIAggACsDcKIhCAwBCyAIIAArA3iiIgggACsDaGRBAXMNACAAKAIYIQEMAgsCQAJAAkACQCAAKAK4AQ4CAQACCyAAKwMwIApkQQFzRQRAIAlEAAAAAAAA8D8gACsDOCAKoqGhIQkLIAArA1AgCSAAKAIYIgG3oSACt6BjRQ0CDAQLIAAoAhwgACgCGCIBIAMgAmtqTA0BDAMLIAAoApgBIAAoAowBIAFqKAIAQQJ0aiAHOAIAIAAoAhghAQsgBEEBaiEEIAJBAWoiAiABSA0ACwsgACABIAJGOgC8ASAAKAKAASAAKAIgQQV0aiIEIAQoAhhBAWo2AhgCQCABIAJGBEAgACADNgKoAQJAAkACQAJAIAAoArgBDgQBAAMCAwsgACAJOQOwASAAKwNQIAlkQQFzDQIgACAJOQNQDAILIAAgA7eaOQOwAQwBCyAAIABBmAFqEPsTuzkDsAEgACgCGCEBCyADtyABt6MiCCAAKwNYZEEBcw0BIAAgAzYCHCAAIAggACsDYBDvDQwBCyADtyACQQFqt6MiCEQAAAAAAAAAAGRBAXMNACAAKwNgIgogCKGZIAqjRJqZmZmZmak/ZEEBcw0AIAAgACsDWCAIEO8NCyAALQC8AUEARwsLNQEBfwJAIAAtALwBRQ0AIAAtAL0BRQ0AIAEgACkDqAE3AwAgASAAKQOwATcDCEEBIQILIAILTwEBfCABtyAAKAIYt6MiAiAAKwNYZEEBc0UEQCAAIAE2AhwgACgCgAEgACgCIEEFdGoiASgCGEUEQCABQQE2AhgLIAAgAiAAKwNgEO8NCwsIACAAQZgBagsIACAALQC+AQvNAQEFfyMAQRBrIgQkACAEQQhqIAEoAhAiAyADKAIAKAIsEQIAIAEoAoABIQUgASgCICEGQdABENUaIgNCADcCBCADQajCBTYCACADQRBqIgcgAiAEQQhqIAEoAhggASsDKCAFIAZBBXRqIgUrAwAgBSsDCCABKwNAIAErA0ggASgCuAEQwg0gACADNgIEIAAgBzYCAAJAIAQoAgwiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIARBEGokAAsIACAAQYABagtMAQJ/QRwQ1RoiAkIANwIEIAJB9MYFNgIAIAJBDGoiAxDjCxogAiABNgIQIAJB/McFNgIMIAJBFGogARDnDCAAIAI2AgQgACADNgIACxYAIABBmMQFNgIAIABBDGoQ4wsaIAALGQAgAEGYxAU2AgAgAEEMahDjCxogABCiGwvKCQMEfwR9BHwjAEGAAWsiBSQAIAVBwAQQ1RoiAzYCcCAFIANBwARqIgQ2AnggA0EYakEAQfgDEK8bGiAFIAQ2AnQgACgCCCIAIAEoAgAiASgCAEEEdCIEQQRyaioCACEHIAAgBEEIcmoqAgAhCCAAIARqKgIAIQkgACAEQQxyaioCACEKIANCgICAgICAgPi/fzcDcCADQoCAgICAgID4v383AxAgAyAKuyILOQOIASADIAm7Ig2aIgw5A2AgAyAIuyIOOQNAIAMgDDkDACADIAe7IgwgC6I5A4ABIAMgDSALojkDeCADIAyaIgs5A2ggAyAMIA6iOQM4IAMgDSAOojkDMCADIAs5AwggACABKAIEQQR0IgRBBHJqKgIAIQcgACAEQQhyaioCACEIIAAgBGoqAgAhCSAAIARBDHJqKgIAIQogA0KAgICAgICA+L9/NwOAAiADQoCAgICAgID4v383A6ABIAMgCrsiCzkDmAIgAyAJuyINmiIMOQPwASADIAi7Ig45A9ABIAMgDDkDkAEgAyAHuyIMIAuiOQOQAiADIA0gC6I5A4gCIAMgDJoiCzkD+AEgAyAMIA6iOQPIASADIA0gDqI5A8ABIAMgCzkDmAEgACABKAIIQQR0IgRBBHJqKgIAIQcgACAEQQhyaioCACEIIAAgBGoqAgAhCSAAIARBDHJqKgIAIQogA0KAgICAgICA+L9/NwOQAyADQoCAgICAgID4v383A7ACIAMgCrsiCzkDqAMgAyAJuyINmiIMOQOAAyADIAi7Ig45A+ACIAMgDDkDoAIgAyAHuyIMIAuiOQOgAyADIA0gC6I5A5gDIAMgDJoiCzkDiAMgAyAMIA6iOQPYAiADIA0gDqI5A9ACIAMgCzkDqAIgACABKAIMQQR0IgFBBHJqKgIAIQcgACABQQhyaioCACEIIAAgAWoqAgAhCSAAIAFBDHJqKgIAIQogA0KAgICAgICA+L9/NwOgBCADQoCAgICAgID4v383A8ADIAMgCrsiCzkDuAQgAyAJuyINmiIMOQOQBCADIAi7Ig45A/ADIAMgDDkDsAMgAyAHuyIMIAuiOQOwBCADIA0gC6I5A6gEIAMgDJoiCzkDmAQgAyAMIA6iOQPoAyADIA0gDqI5A+ADIAMgCzkDuAMCQAJAIAVB8ABqQQhBCRD4EwRAIAVBOGogBUEDQQNBBhCoBiIGELgGIQNBOBDVGiIBIAMQrQYaIAFBOGohBCACKAIAIgAEQAJ/IAAgACACKAIEIgNGDQAaA0AgA0E4axCxBiIDIABHDQALIAIoAgALIQMgAiAANgIEIAMQohsLIAIgBDYCCCACIAQ2AgQgAiABNgIAIAVBOGoQsQYaIAYQsQYaIAIoAgAoAhAiAkKAgICAgICA+D83A0BBByEDIAUoAnAhAANAIAMiBEEJbCEBRAAAAAAAAAAAIQsDQCALIAAgA0EBaiIDIAFqQQN0aisDACACIANBA3RqKwMAoqEhCyADQQhHDQALIAIgBEEDdGogCyAAIARB0ABsaisDAKMiCzkDACALIAthBEAgBEEBayEDIAQNAQsLIAsgC2EhBgwBCyAFKAJwIgBFDQELIAUgADYCdCAAEKIbCyAFQYABaiQAIAYLBABBBAsEAEEBC1MBAn8gASgCBCECQRgQ1RoiAUIANwIEIAFBmMQFNgIAIAFBDGoiAxDjCxogASACNgIQIAFBpMUFNgIMIAEgAigCEDYCFCAAIAE2AgQgACADNgIAC1cBA38gAEH8xwU2AgwgAEH0xgU2AgAgAEEMaiECAkAgACgCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogAAtaAQN/IABB/McFNgIMIABB9MYFNgIAIABBDGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAAQohsLRwECfyAAQfzHBTYCAAJAIAAoAgwiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfzHBTYCAAJAIAAoAgwiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLkxQDBn8EfQ58IwBBsBZrIgUkACAAIAAoAgAoAiQRAAAgAkwEQCAFQaAVakEAQcgAEK8bGiAFQdgUakEAQcgAEK8bGiAFQaAUahCnBiEJIAAoAggiACAJIAEgAiAFQaAVaiAFQdgUaiAAKAIAKAIgEQ0AIAkoAhAhByAFQdATakEAQcgAEK8bGiAFQoCAgICAgID4v383A+ATIAVBgBNqQQBByAAQrxsaIAVCgICAgICAgPi/fzcDqBMgBUHwDWpBAEGIBRCvGxoCQCAEKAIAIgogBCgCBEcEQCACQQFIDQEDQCAHIAhBBHQiAEEMcmoqAgAhCyAHIABBCHJqKgIAIQwgByAAQQRyaioCACENIAAgB2oqAgAhDiAFIAogCEEDdGorAwAiEJoiDzkD4BMgBSAPOQOoEyAFIA8gDrsiEaIiEjkD0BMgBSASOQOYEyAFIA8gDbsiEqIiDzkD2BMgBSAPOQOgEyAFIBAgDLuiIg85A5AUIAUgDyASojkDiBQgBSAPIBGiOQOAFCAFIBAgC7uiIg85A8ATIAUgDyASojkDuBMgBSAPIBGiOQOwE0EAIQEDQCAFQfANaiABQdAAbGoiACAAKwMAIAFBA3QiACAFQdATamorAwAiDyAPoiAFQYATaiAAaisDACIQIBCioKA5AwAgAUEBaiIAQQlHBEAgAUEJbCEEA0AgBUHwDWogACAEakEDdGoiBiAGKwMAIA8gAEEDdCIGIAVB0BNqaisDAKIgECAFQYATaiAGaisDAKKgoDkDACAAQQFqIgBBCUcNAAsLIAFBAWoiAUEJRw0ACyAIQQFqIgggAkcNAAsMAQsgAkEBSA0AA0AgByAIQQR0IgBBDHJqKgIAIQsgByAAQQhyaioCACEMIAcgAEEEcmoqAgAhDSAFIAAgB2oqAgC7Ig+aIhA5A9ATIAUgEDkDmBMgBSANuyIQmiIROQPYEyAFIBE5A6ATIAUgDLsiETkDkBQgBSAQIBGiOQOIFCAFIA8gEaI5A4AUIAUgC7siETkDwBMgBSAQIBGiOQO4EyAFIA8gEaI5A7ATQQAhAQNAIAVB8A1qIAFB0ABsaiIAIAArAwAgAUEDdCIAIAVB0BNqaisDACIPIA+iIAVBgBNqIABqKwMAIhAgEKKgoDkDACABQQFqIgBBCUcEQCABQQlsIQQDQCAFQfANaiAAIARqQQN0aiIGIAYrAwAgDyAAQQN0IgYgBUHQE2pqKwMAoiAQIAVBgBNqIAZqKwMAoqCgOQMAIABBAWoiAEEJRw0ACwsgAUEBaiIBQQlHDQALIAhBAWoiCCACRw0ACwsgBSAFKwP4DTkDuA4gBSAFKwOADjkDgA8gBSAFKwPIDjkDiA8gBSAFKwOIDjkDyA8gBSAFKwPQDjkD0A8gBSAFKwOYDzkD2A8gBSAFKwOQDjkDkBAgBSAFKwPYDjkDmBAgBSAFKwOgDzkDoBAgBSAFKwPoDzkDqBAgBSAFKwOYDjkD2BAgBSAFKwPgDjkD4BAgBSAFKwOoDzkD6BAgBSAFKwPwDzkD8BAgBSAFKwO4EDkD+BAgBSAFKwOgDjkDoBEgBSAFKwPoDjkDqBEgBSAFKwOwDzkDsBEgBSAFKwP4DzkDuBEgBSAFKwPAEDkDwBEgBSAFKwOIETkDyBEgBSAFKwOoDjkD6BEgBSAFKwPwDjkD8BEgBSAFKwO4DzkD+BEgBSAFKwOAEDkDgBIgBSAFKwPIEDkDiBIgBSAFKwOQETkDkBIgBSAFKwPYETkDmBIgBSAFKwOwDjkDsBIgBSAFKwP4DjkDuBIgBSAFKwPADzkDwBIgBSAFKwOIEDkDyBIgBSAFKwPQEDkD0BIgBSAFKwOYETkD2BIgBSAFKwPgETkD4BIgBSAFKwOoEjkD6BJBACEGIAVB6AhqQQBBiAUQrxsaIAVBoAhqQQBByAAQrxsaIAVBmANqIAVB8A1qQYgFEK4bGiAFQomAgICQATcDUCAFQYaAiIh8NgJIIAUgBUGYA2o2AkwgBUKBgICAkAE3AwggBUGGgIiQfDYCACAFIAVBoAhqNgIEIAVCiYCAgJABNwPwFSAFQYaAiJB8NgLoFSAFIAVB6AhqNgLsFSAFQcgAaiAFIAVB6BVqEK4EBEAgBUHgAmogBUGYA2pBA0EDQQYgBUGoDWpBABCuBiIAELgGIQEgABCxBhoCQCAFKwPoFCITIAUrA5AVIhAgBSsD8BQiEaIgBSsD+BQiEiAFKwOIFSIWoqEiGaIgBSsD2BQiFCASIAUrA5gVIheiIBAgBSsDgBUiGKKhIhqiIAUrA+AUIhUgFyARoiIbIBggFqIiHKGioaAiD0QAAAAAAAAAAGIEQCAFIBlEAAAAAAAA8D8gD6MiD6I5AzAgBSAcIBuhIA+iOQMYIAUgGiAPojkDACAFIBQgEqIgFSARoqEgD6I5A0AgBSAVIBaiIBQgEKKhIA+iOQM4IAUgESAToiAUIBiioSAPojkDKCAFIBQgF6IgFiAToqEgD6I5AyAgBSAYIBWiIBIgE6KhIA+iOQMQIAUgECAToiAXIBWioSAPojkDCAwBCyAFQQBByAAQrxsaCyAFQYAWaiIHQgA3AwAgBUGIFmoiCEIANwMAIAVBmBZqIgBCADcDACAFQgA3A/gVIAVCg4CAgDA3A/AVIAVChoD9lyQ3A+gVIAUgADYClBYgBSAFQfAVaiICNgKQFiAFQZgDakEDQQNBBiAFQQAQrgYhBiAFQYCAhBA2AkggBUIANwNQIAUgBUHoFWo2AkwgBiAFQcgAahCWBCAGELEGGiAFQcgAaiAFQegVaiABEP8GIAVB6BVqELEGGiAFQagCahCnBiEEIAUoAkgiBiAFQcgAaiAEQX8gBigCACgCDBEGACAHQgA3AwAgCEIANwMAIABCADcDACAFQgA3A/gVIAVCg4CAgDA3A/AVIAVChoD9lyQ3A+gVIAUgADYClBYgBSACNgKQFiAFQZgDakEDQQNBBiAFQaAVakEAEK4GIQAgBUGAgIQQNgKgFiAFQgA3A6gWIAUgBUHoFWo2AqQWIAAgBUGgFmoQlgQgABCxBhogBUGYA2ogBCAFQegVahD/BiAFQegVahCxBhogBUHoFWoQpwYhACAFKAKYAyIGIAVBmANqIABBfyAGKAIAKAIMEQYAQTgQ1RoiByAAEK0GGiAHQThqIQggAygCACIGBEACfyAGIAYgAygCBCIARg0AGgNAIABBOGsQsQYiACAGRw0ACyADKAIACyEAIAMgBjYCBCAAEKIbCyADIAg2AgggAyAINgIEIAMgBzYCACAFQegVahCxBhogBUGQBGoQsQYaIAVB2ANqELEGGiAFQaADahCxBhogBBCxBhogBUHAAWoQsQYaIAVBiAFqELEGGiAFQdAAahCxBhogARCxBhpBASEGCyAJELEGGgsgBUGwFmokACAGC1MBAn8gASgCBCECQRwQ1RoiAUIANwIEIAFB9MYFNgIAIAFBDGoiAxDjCxogASACNgIQIAFB/McFNgIMIAFBFGogAhDnDCAAIAE2AgQgACADNgIACxYAIABByMkFNgIAIABBDGoQ4wsaIAALGQAgAEHIyQU2AgAgAEEMahDjCxogABCiGwu9BQMEfwx9BHwjAEHQAWsiAyQAIAAoAggiACABKAIAIgEoAgRBBHQiBWoqAgAiCSAAIAEoAghBBHQiBkEEcmoqAgAiCpQgACABKAIAQQR0IgFBBHJqKgIAIgcgACAGaioCACILlCAAIAFqKgIAIgggACAFQQRyaioCACIMlCAHIAmUkyAIIAqUk5KSIAwgC5STuyITmUQAAAAAAACAPmNFBEAgACAGQQxyaioCACEPIAAgBkEIcmoqAgAhECAAIAVBDHJqKgIAIREgACAFQQhyaioCACESIAAgAUEMcmoqAgAhDSAAIAFBCHJqKgIAIQ4gA0FAa0IANwMAIANCADcDaCADQgA3A3AgA0GAAWoiAEIANwMAIANCADcDYCADQoOAgIAwNwNYIANChoD9lyQ3A1AgA0IANwM4IANCgICAgICAgPg/NwNIIAMgADYCfCADIANB2ABqNgJ4IANEAAAAAAAA8D8gE6MiEyARIAuUIA0gCZQgCCARlJMgDSALlJMgCCAPlJKSIAkgD5STjLuiIhQ5AyggAyATIBEgCpQgDSAMlCAHIBGUkyANIAqUkyAHIA+UkpIgDCAPlJO7oiIVOQMgIAMgDbsgFSAIuyIWoqEgFCAHuyIVoqE5AzAgAyATIBIgC5QgDiAJlCAIIBKUkyAOIAuUkyAIIBCUkpIgCSAQlJOMu6IiFDkDECADIBMgEiAKlCAOIAyUIAcgEpSTIA4gCpSTIAcgEJSSkiAMIBCUk7uiIhM5AwggAyAOuyATIBaioSAUIBWioTkDGCADQZgBakEDQQNBBiADQQhqQQAQrgYhACADQYCAhBA2AogBIANCADcDkAEgAyADQdAAajYCjAEgACADQYgBahCWBCAAELEGGiACKAIAIANB0ABqELkGGiADQdAAahCxBhpBASEECyADQdABaiQAIAQLBABBAwtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQcjJBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQcjKBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQdzLBTYCACAAQQxqEOMLGiAACxkAIABB3MsFNgIAIABBDGoQ4wsaIAAQohsLtQ0DB38EfQR8IwBBoAdrIgUkAAJ/QQAgACAAKAIAKAIkEQAAIAJKDQAaIAVBsARqQQBBoAIQrxsaIAVCADcDqAQgBUIANwOgBCAFQgA3A5gEIAVCADcDkAQgBUIANwOIBCAFQgA3A4AEIAVCADcD+AMgBUIANwPwAyAFQgA3A+gDIAVCgICAgICAgPg/NwPgAyAFQgA3A9gDIAVCADcD0AMgBUIANwPAAyAFQgA3A7gDIAVCADcDsAMgBUKAgICAgICA+D83A8gDIAVCADcDqAMgBUIANwOgAwJAIAQoAgAiCiAEKAIERwRAIAJBAUgNASAAKAIIIQYgASgCACELA0AgBiALIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQwgBiAAQQxyaioCACENIAYgAEEEcmoqAgAhDiAAIAZqKgIAIQ8gBSAKIAhBA3RqKwMAIhA5A+ADIAUgEDkDyAMgBSAQIA+7oiIROQPQAyAFIBE5A7gDIAUgECAOu6IiETkD2AMgBSAROQPAAyAQIA27oiESIBAgDLuiIRNBACEBA0AgBUGwBGogAUE4bGoiACAAKwMAIAFBA3QiCSAFQdADamorAwAiECAQoiAFQaADaiAJaisDACIRIBGioKA5AwAgAUEBaiIAQQZHBEAgAUEGbCEEA0AgBUGwBGogACAEakEDdGoiByAHKwMAIBAgAEEDdCIHIAVB0ANqaisDAKIgESAFQaADaiAHaisDAKKgoDkDACAAQQFqIgBBBkcNAAsLIAVBgARqIAlqIgAgACsDACATIBCiIBIgEaKgoDkDACABQQFqIgFBBkcNAAsgCEEBaiIIIAJHDQALDAELIAJBAUgNACAAKAIIIQYgASgCACEKA0AgBiAKIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQwgBiAAQQxyaioCACENIAYgAEEEcmoqAgAhDiAFIAAgBmoqAgC7IhA5A9ADIAUgEDkDuAMgBSAOuyIQOQPYAyAFIBA5A8ADIA27IRIgDLshE0EAIQEDQCAFQbAEaiABQThsaiIAIAArAwAgAUEDdCIJIAVB0ANqaisDACIQIBCiIAVBoANqIAlqKwMAIhEgEaKgoDkDACABQQFqIgBBBkcEQCABQQZsIQQDQCAFQbAEaiAAIARqQQN0aiIHIAcrAwAgECAAQQN0IgcgBUHQA2pqKwMAoiARIAVBoANqIAdqKwMAoqCgOQMAIABBAWoiAEEGRw0ACwsgBUGABGogCWoiACAAKwMAIBAgE6IgESASoqCgOQMAIAFBAWoiAUEGRw0ACyAIQQFqIgggAkcNAAsLIAUgBSsDuAQ5A+AEIAUgBSsDwAQ5A5AFIAUgBSsD8AQ5A5gFIAUgBSsDyAQ5A8AFIAUgBSsD+AQ5A8gFIAUgBSsDqAU5A9AFIAUgBSsD0AQ5A/AFIAUgBSsDgAU5A/gFIAUgBSsDsAU5A4AGIAUgBSsD4AU5A4gGIAUgBSsD2AQ5A6AGIAUgBSsDiAU5A6gGIAUgBSsDuAU5A7AGIAUgBSsD6AU5A7gGIAUgBSsDmAY5A8AGIAVCADcDmAMgBUIANwOQAyAFQgA3A4gDIAVCADcDgAMgBUIANwP4AiAFQgA3A/ACIAVB0ABqIAVBsARqQaACEK4bGiAFQoaAgIDgADcDECAFQYaAiIh8NgIIIAUgBUHQAGo2AgwgBUKBgICA4AA3A+AGIAVBhoCIiHw2AtgGIAUgBSsDgAQ5A+gGIAUgBSsDiAQ5A/AGIAUgBSsDkAQ5A/gGIAUgBSsDmAQ5A4AHIAUgBSsDoAQ5A4gHIAUgBSsDqAQ5A5AHIAUgBUHoBmo2AtwGIAVCgYCAgOAANwNIIAVBhoCIkHw2AkAgBSAFQfACajYCREEAIAVBCGogBUHYBmogBUFAa0EAELQERQ0AGiAFQgA3A4gBIAVCg4CAgDA3AxAgBUKGgP2XJDcDCCAFQgA3A4ABIAUgBSsDmAM5A3ggBSAFKwOQAzkDcCAFIAUrA4gDOQNoIAUgBSsDgAM5A2AgBSAFKwP4AjkDWCAFIAUrA/ACOQNQIAVCgICAgICAgPg/NwOQASAFQgA3AyggBUIANwMgIAVBOGoiAEIANwMAIAVCADcDGCAFIAA2AjQgBSAFQRBqNgIwIAVB6AZqQQNBA0EGIAVB0ABqQQAQrgYhACAFQYCAhBA2AtgGIAVCADcD4AYgBSAFQQhqNgLcBiAAIAVB2AZqEJYEIAAQsQYaIAMoAgAgBUEIahC5BhogBUEIahCxBhpBAQshByAFQaAHaiQAIAcLUwECfyABKAIEIQJBGBDVGiIBQgA3AgQgAUHcywU2AgAgAUEMaiIDEOMLGiABIAI2AhAgAUHgzAU2AgwgASACKAIQNgIUIAAgATYCBCAAIAM2AgALmw8CAX8VfCMAQfACayICJAAgAkHgAWpBAEHIABCvGxogAkGYAWpBAEHIABCvGxogAkIANwOQASACQgA3A4gBIAJCADcDgAEgAkIANwMIIAIgADYCBCACQYCAhAg2AgAgAkKBgICAMDcDwAIgAkGGgIiQfDYCuAIgAiACQYABajYCvAIgAkKDgICAMDcDUCACQYaAiJB8NgJIIAIgAkHgAWo2AkwgAkKDgICAMDcDsAIgAkGGgIiQfDYCqAIgAiACQZgBajYCrAIgAiACQbgCaiACQcgAaiACQagCakEBEK8EAkAgAQRAIAIgAisDgAEiBiACKwPgASIEokQAAAAAAAAAAKAgAisD6AEiBUQAAAAAAAAAAKIiD6AgAisD8AFEAAAAAAAAAACiIgOgIhMgAisDmAEiC6JEAAAAAAAAAACgIAREAAAAAAAAAACiRAAAAAAAAAAAoCIEIAIrA4gBIhQgBaKgIAOgIhUgAisDsAEiEKKgIAQgD6AgA6AiDyACKwPIASIMoqA5AwAgAisDiAIhCSACKwP4ASEKIAIrA4ACIQ0gAisDoAIhCCACKwOQAiEHIAIrA5gCIQ4gAisD0AEhAyACKwOgASEEIAIrA7gBIQUgAkIANwNoIAJCADcDYCACQfgAaiIBQgA3AwAgAiATIASiRAAAAAAAAAAAoCAVIAWioCAPIAOioDkDCCACIAQgBiAHokQAAAAAAAAAAKAgDkQAAAAAAAAAAKIiEaAgCEQAAAAAAAAAAKIiCKAiFqJEAAAAAAAAAACgIAUgB0QAAAAAAAAAAKJEAAAAAAAAAACgIhIgFCAOoqAgCKAiB6KgIAMgEiARoCAIoCIOoqA5AzggAiAOIAyiIAcgEKIgCyAWokQAAAAAAAAAAKCgoDkDMCACIAQgBiAKokQAAAAAAAAAAKAgDUQAAAAAAAAAAKIiEaAgCUQAAAAAAAAAAKIiBqAiCKJEAAAAAAAAAACgIAUgCkQAAAAAAAAAAKJEAAAAAAAAAACgIgogFCANoqAgBqAiBKKgIAMgCiARoCAGoCIFoqA5AyAgAiAIIAuiRAAAAAAAAAAAoCAEIBCioCAFIAyioDkDGCACQoaA/ZckNwNIIAJCg4CAgDA3A1AgAkIANwNYIAIgAkHQAGo2AnAgAiABNgJ0IAIgFiACKwOoASIDokQAAAAAAAAAAKAgByACKwPAASIGoqAgDiACKwPYASILoqA5A0AgAiAIIAOiRAAAAAAAAAAAoCAEIAaioCAFIAuioDkDKCACIBMgA6JEAAAAAAAAAACgIBUgBqKgIA8gC6KgOQMQIAJBuAJqQQNBA0EGIAJBABCuBiEBIAJBgICEEDYCqAIgAkIANwOwAiACIAJByABqNgKsAiABIAJBqAJqEJYEIAEQsQYaIAAgAkHIAGoQuQYaIAJByABqELEGGgwBCyACIAIrA4ABIAIrA4gBoEQAAAAAAADgP6IiAyACKwPgASIFokQAAAAAAAAAAKAgAisD6AEiBkQAAAAAAAAAAKIiEKAgAisD8AFEAAAAAAAAAACiIgSgIhMgAisDmAEiC6JEAAAAAAAAAACgIAVEAAAAAAAAAACiRAAAAAAAAAAAoCIFIAMgBqKgIASgIhQgAisDsAEiFaKgIAUgEKAgBKAiECACKwPIASIPoqA5AwAgAisDiAIhEiACKwOAAiEMIAIrA/gBIQogAisDoAIhCSACKwOYAiENIAIrA5ACIQcgAiATIAIrA6ABIg6iRAAAAAAAAAAAoCAUIAIrA7gBIgiioCAQIAIrA9ABIhaioDkDCCACKwPYASEEIAIrA6gBIQUgAisDwAEhBiACIA4gAyAHokQAAAAAAAAAAKAgDUQAAAAAAAAAAKIiF6AgCUQAAAAAAAAAAKIiCaAiEaJEAAAAAAAAAACgIAggB0QAAAAAAAAAAKJEAAAAAAAAAACgIgcgAyANoqAgCaAiDaKgIBYgByAXoCAJoCIHoqA5AzggAiAHIA+iIA0gFaIgCyARokQAAAAAAAAAAKCgoDkDMCACIA4gAyAKokQAAAAAAAAAAKAgDEQAAAAAAAAAAKIiF6AgEkQAAAAAAAAAAKIiCaAiEqJEAAAAAAAAAACgIAggCkQAAAAAAAAAAKJEAAAAAAAAAACgIgogAyAMoqAgCaAiA6KgIBYgCiAXoCAJoCIMoqA5AyAgAiASIAuiRAAAAAAAAAAAoCADIBWioCAMIA+ioDkDGCACIBEgBaJEAAAAAAAAAACgIA0gBqKgIAcgBKKgOQNAIAIgEiAFokQAAAAAAAAAAKAgAyAGoqAgDCAEoqA5AyggAiATIAWiRAAAAAAAAAAAoCAUIAaioCAQIASioDkDECACQoOAgIAwNwNQIAJChoD9lyQ3A0ggAkIANwNoIAJCADcDYCACQgA3A1ggAkH4AGoiAUIANwMAIAIgATYCdCACIAJB0ABqNgJwIAJBuAJqQQNBA0EGIAJBABCuBiEBIAJBgICEEDYCqAIgAkIANwOwAiACIAJByABqNgKsAiABIAJBqAJqEJYEIAEQsQYaIAAgAkHIAGoQuQYaIAJByABqELEGGgsgAkHwAmokAAuNDwEIfyMAQUBqIgckACAAEOMLGiAAQaTVBTYCACAAIAGsQv////8PIAEbNwMIIAAgAigCADYCECAAIAIoAgQiATYCFCABBEAgASABKAIEQQFqNgIECyADKAIQIQEgACADNgIcIAAgATYCGCAAQSBqIAMQ5gwgAEIANwIoIABBMGoQ4wsaIAAgAzYCNCAAQcjPBTYCMCADKAIQIQEgAEKRx8/bp+j9g0A3A0ggACAFOQNAIAAgBDYCPCAAIAE2AjggB0EMENUaIgE2AgAgByABQQxqIgY2AgggAUECNgIIIAFCgICAgBA3AgAgByAGNgIEIAdBDBDVGiIBQQxqIgY2AhQgByABNgIMIAFBBTYCCCABQoOAgIDAADcCACAHIAY2AhAgB0EMENUaIgFBDGoiBjYCICAHIAE2AhggAUEGNgIIIAFCgICAgBA3AgAgByAGNgIcIAdBDBDVGiIBQQxqIgY2AiwgByABNgIkIAFBBjYCCCABQoOAgIDAADcCACAHIAY2AiggB0EMENUaIglBDGoiATYCOCAHIAk2AjAgCUEGNgIIIAlCgoCAgNAANwIAIAcgATYCNCAAQdgAaiIGQQA2AgAgAEIANwJQIABBPBDVGiIBNgJQIAAgATYCVCAGIAFBPGo2AgAgAEHQAGohCiAHQTxqIQ0gByEGAkACQANAIAFBADYCCCABQgA3AgAgBigCBCAGKAIAIgtrIggEQCAIQQJ1IgxBgICAgARPDQIgASAIENUaIgg2AgAgASAINgIEIAEgCCAMQQJ0ajYCCCABIAYoAgQgC2siDEEBTgR/IAggCyAMEK4bIAxqBSAICzYCBAsgAUEMaiEBIAZBDGoiBiANRw0ACyAAIAE2AlQgByAJNgI0IAkQohsgBygCJCIBBEAgByABNgIoIAEQohsLIAcoAhgiAQRAIAcgATYCHCABEKIbCyAHKAIMIgEEQCAHIAE2AhAgARCiGwsgBygCACIBBEAgByABNgIEIAEQohsLIABCADcCXEEAIQEgAEEANgJ8IABCADcCdCAAQgA3AmwgAEIANwJkIAIoAgAiBiAGKAIAKAI4EQAAIQYgACAENgKEASAAIAY2AoABIARBCEYEQCAHQQwQ1RoiBjYCACAHIAZBDGoiCDYCCCAGQQc2AgggBkKAgICAEDcCACAHIAg2AgQCQCAAKAJUIgYgACgCWEkEQCAGQQA2AgggBkIANwIAIAYgBygCADYCACAGIAcoAgQ2AgQgBiAHKAIINgIIIAAgBkEMajYCVAwBCyAKIAcQng4gBygCACIGRQ0AIAcgBjYCBCAGEKIbCyAHQQwQ1RoiBjYCACAHIAZBDGoiCDYCCCAGQQc2AgggBkKAgICAIDcCACAHIAg2AgQCQCAAKAJUIgYgACgCWEkEQCAGQQA2AgggBkIANwIAIAYgBygCADYCACAGIAcoAgQ2AgQgBiAHKAIINgIIIAAgBkEMajYCVAwBCyAKIAcQng4gBygCACIGRQ0AIAcgBjYCBCAGEKIbCyAHQQwQ1RoiBjYCACAHIAZBDGoiCDYCCCAGQQc2AgggBkKDgICA0AA3AgAgByAINgIEAkAgACgCVCIGIAAoAlhJBEAgBkEANgIIIAZCADcCACAGIAcoAgA2AgAgBiAHKAIENgIEIAYgBygCCDYCCCAAIAZBDGo2AlQMAQsgCiAHEJ4OIAcoAgAiBkUNACAHIAY2AgQgBhCiGwsgB0EMENUaIgY2AgAgByAGQQxqIgg2AgggBkEHNgIIIAZCg4CAgOAANwIAIAcgCDYCBAJAIAAoAlQiBiAAKAJYSQRAIAZBADYCCCAGQgA3AgAgBiAHKAIANgIAIAYgBygCBDYCBCAGIAcoAgg2AgggACAGQQxqNgJUDAELIAogBxCeDiAHKAIAIgZFDQAgByAGNgIEIAYQohsLIAdBDBDVGiIGNgIAIAcgBkEMaiIINgIIIAZBBzYCCCAGQoKAgIDAADcCACAHIAg2AgQCQCAAKAJUIgYgACgCWEkEQCAGQQA2AgggBkIANwIAIAYgBygCADYCACAGIAcoAgQ2AgQgBiAHKAIINgIIIAAgBkEMajYCVAwBCyAKIAcQng4gBygCACIGRQ0AIAcgBjYCBCAGEKIbCyAAKAKAASEGCyAHQQA2AgggB0IANwMAQQAhCCAGBEAgBkGAgICABE8NAiAHIAZBAnQiBhDVGiIINgIAIAcgBiAIaiIBNgIIIAhBACAGEK8bGiAHIAE2AgQLIAEhBiAAIAAoAlwiCwR/IAAgCzYCYCALEKIbIAcoAgQhBiAHKAIAIQggBygCCAUgAQs2AmQgACAGNgJgIAAgCDYCXCAHIAMQ+g0gBygCACEBIAcoAgQiBgRAIAYgBigCBEEBajYCBAsgACABNgIoIAAoAiwhASAAIAY2AiwCQCABRQ0AIAEgASgCBCIGQQFrNgIEIAYNACABIAEoAgAoAggRAQAgARDQGgsCQCAHKAIEIgFFDQAgASABKAIEIgZBAWs2AgQgBg0AIAEgASgCACgCCBEBACABENAaCyAHQUBrJAAPCxD8GgALEPwaAAsWACAAQcDOBTYCACAAQQxqEOMLGiAACxkAIABBwM4FNgIAIABBDGoQ4wsaIAAQohsLlQYCBH8HfCMAQfABayIDJAAgA0KAgICAEDcDoAEgA0KAgICA+P////8ANwMwIANB6ABqIAEgA0GgAWogA0EwahC6BiEFIANCgoCAgDA3A6ABIANCgICAgPj/////ADcD2AEgA0EwaiABIANBoAFqIANB2AFqELoGIQQgA0IANwMgIAMgBDYCHCADQYCAhAg2AhggA0GgAWogBSADQRhqELMHIANB2AFqIANBoAFqEJUOIANBoAFqELEGGiAEELEGGiAFELEGGkEBIQUCQCADKwPYASIHRDtfvSX//+E8ZUEBcw0AIAdEO1+9Jf//4bxmQQFzDQAgAysD4AEiB0Q7X70l///hPGVBAXMNACAHRDtfvSX//+G8ZkEBcw0AIAMrA+gBIgdEO1+9Jf//4TxlQQFzDQAgB0Q7X70l///hvGZBAXMNACADQoGAgIAgNwOgASADQoCAgID4/////wA3AzAgA0HoAGogASADQaABaiADQTBqELoGIQQgA0KCgICAMDcDoAEgA0KAgICA+P////8ANwMYIANBMGogASADQaABaiADQRhqELoGIQYgA0IANwMQIAMgBjYCDCADQYCAhAg2AgggA0GgAWogBCADQQhqELMHIANBGGogA0GgAWoQlQ4gAyADKQMoNwPoASADIAMpAyA3A+ABIAMgAykDGDcD2AEgA0GgAWoQsQYaIAYQsQYaIAQQsQYaCyAAKAIMIgZBAk4EQCABKAIQIgQrAzAiCCAEKwMAIgkgACgCCCIBIAIoAgAiACgCAEEEdCICQQhyaioCALuiIAQrAxgiCiABIAJBDHJqKgIAu6KgoCADKwPgASILIAMrA+gBIgwgASACQQRyaioCALuioaIhDQNAAkAgCyAMIAEgACAFQQJ0aigCAEEEdCIEQQRyaioCALuioSANIAggCSABIARBCHJqKgIAu6IgCiABIARBDHJqKgIAu6KgoKKiIQcgBUEBaiIFIAZODQAgB0QAAAAAAAAAAGNBAXMNAQsLIAdEAAAAAAAAAABjQQFzIQULIANB8AFqJAAgBQvXAgIFfwN8IwBB4ABrIgIkAAJAIAEoAhAiBUUNACABKAIEQQJKDQBBASEDIAEoAgwhBAJAIAEoAggiBkEBRgRAIAQhAwwBCyAEQQFHDQELIAMgBmpBBEcNACABKAIAIgRB+B9xDQACQCAEQf+fAXFBhoABRgRAIAUrAxAhByAFKwMIIQggBSsDACEJDAELIAJB2ABqIgVCADcDACACQdAAaiIEQgA3AwAgAkIANwNIIAIgAkEQaiAGIANBBiACQcgAakEAEK4GIgM2AgQgAkGAgIQQNgIAIAJCADcDCCABIAIgAygCAEH/H3FEAAAAAAAA8D9EAAAAAAAAAAAQiAMgBCsDACEIIAUrAwAhByACKwNIIQkgAxCxBhoLIAAgBzkDECAAIAg5AwggACAJOQMAIAJB4ABqJAAPC0GpfiACQRBqQeTQBRCJA0G90QVBytEFQeAIEJgKAAtlAQJ/IAEoAgQhA0EcENUaIgJCADcCBCACQcDOBTYCACABKAIMIQEgAkEMaiIEEOMLGiACIAM2AhAgAkHIzwU2AgwgAygCECEDIAIgATYCGCACIAM2AhQgACACNgIEIAAgBDYCAAsWACAAQYjSBTYCACAAQQxqEOMLGiAACxkAIABBiNIFNgIAIABBDGoQ4wsaIAAQohsLpwYCBH8YfQJAIAAoAggiACABKAIAIgIoAgBBBHQiAWoqAgAiByAAIAIoAgRBBHQiA0EEcmoqAgAiCJQgACABQQRyaioCACIGIAAgA2oqAgAiEJSTIgogBiAIkyILIAAgAigCCEEEdCIEaioCACIRlCAQIAeTIhcgACAEQQRyaioCACISlJKSIAAgAUEIcmoqAgAiDCAAIANBDHJqKgIAIg6UIAAgAUEMcmoqAgAiCSAAIANBCHJqKgIAIhOUkyIPIAkgDpMiDSAAIARBCHJqKgIAIhSUIBMgDJMiGCAAIARBDHJqKgIAIhWUkpKUQwAAAABdDQAgCiALIAAgAigCDEEEdCIBaioCACIWlCAXIAAgAUEEcmoqAgAiC5SSkiAPIA0gACABQQhyaioCACIKlCAYIAAgAUEMcmoqAgAiDZSSkpRDAAAAAF0NACARIAuUIBIgFpSTIg8gBiAWIBGTIhmUIAcgEiALkyIalJKSIBQgDZQgFSAKlJMiGyAJIAogFJMiHJQgDCAVIA2TIh2UkpKUQwAAAABdDQAgDyAIIBmUIBAgGpSSkiAbIA4gHJQgEyAdlJKSlEMAAAAAXQ0AIBcgEiAGkyIZlCAIIAaTIg8gESAHkyIalJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgFyALIAaTIgaUIA8gFiAHkyIHlJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgGiAGlCAZIAeUk4u7RAAAAAAAAOA/okQAAAAAAACAPmMNACARIBCTIAsgCJOUIBIgCJMgFiAQk5STi7tEAAAAAAAA4D+iRAAAAAAAAIA+Yw0AIBggFSAJkyIHlCAOIAmTIgYgFCAMkyIIlJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgGCANIAmTIgmUIAYgCiAMkyIMlJOLu0QAAAAAAADgP6JEAAAAAAAAgD5jDQAgCCAJlCAHIAyUk4u7RAAAAAAAAOA/okQAAAAAAACAPmMNACAUIBOTIA0gDpOUIBUgDpMgCiATk5STi7tEAAAAAAAA4D+iRAAAAAAAAIA+Yw0AQQEhBQsgBQtTAQF/IAEoAgQhAkEYENUaIgFCADcCBCABQYjSBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQYjTBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQaDUBTYCACAAQRBqEJwOGiAAC/wCAQR/IABBpNUFNgIAIAAoAnQiAgRAAn8gAiACIAAoAngiAUYNABoDQCABQThrELEGIgEgAkcNAAsgACgCdAshASAAIAI2AnggARCiGwsgACgCaCIBBEAgACABNgJsIAEQohsLIAAoAlwiAQRAIAAgATYCYCABEKIbCyAAKAJQIgMEQAJ/IAMgAyAAKAJUIgJGDQAaA0AgAkEMayIBKAIAIgQEQCACQQhrIAQ2AgAgBBCiGwsgASECIAEgA0cNAAsgACgCUAshASAAIAM2AlQgARCiGwsgAEEwahDjCxoCQCAAKAIsIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAiQiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCFCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogAAsZACAAQaDUBTYCACAAQRBqEJwOGiAAEKIbC5wDAQR/AkACQAJAIAAoAgQgACgCACIDa0EMbSIFQQFqIgJB1qrVqgFJBEAgBUEMbAJ/IAIgACgCCCADa0EMbSIDQQF0IgUgAiAFSxtB1arVqgEgA0Gq1arVAEkbIgMEQCADQdaq1aoBTw0DIANBDGwQ1RohBAsgBAtqIgIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAFBADYCCCABQgA3AgAgBCADQQxsaiEDIAJBDGohBSAAKAIEIgEgACgCACIERg0CA0AgAkEMayICQQA2AgggAkIANwIAIAIgAUEMayIBKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAUEANgIIIAFCADcCACABIARHDQALIAAgAzYCCCAAKAIEIQMgACAFNgIEIAAoAgAhBCAAIAI2AgAgAyAERg0DA0AgA0EMayIBKAIAIgIEQCADQQhrIAI2AgAgAhCiGwsgASEDIAEgBEcNAAsMAwsQ/BoAC0H0zQUQvgIACyAAIAM2AgggACAFNgIEIAAgAjYCAAsgBARAIAQQohsLCwoAIAAQnA4QohsLDgAgAEEwaiABIAIQlA4LmRYDDn8BfR58IwBB0AJrIgUkACAEQv/////////3/wA3AwggBEEANgIAIAVCgICAgPj/////ADcD4AEgBUKAgICAEDcDACAFQZgBaiACIAVB4AFqIAUQugYhByAFQoCAgID4/////wA3A+ABIAVCgoCAgDA3A6gCIAUgAiAFQeABaiAFQagCahC6BiEGIAVCADcDUCAFIAY2AkwgBUGAgIQINgJIIAVB4AFqIAcgBUHIAGoQswcgBUGoAmogBUHgAWoQlQ4gBUHgAWoQsQYaIAYQsQYaIAcQsQYaAkAgBSsDqAKZRLu919nffNs9Y0EBcw0AIAUrA7ACmUS7vdfZ33zbPWNBAXMNACAFKwO4AplEu73X2d982z1jQQFzDQAgBUKAgICA+P////8ANwPgASAFQoGAgIAgNwMAIAVBmAFqIAIgBUHgAWogBRC6BiEHIAVCgICAgPj/////ADcD4AEgBUKCgICAMDcDSCAFIAIgBUHgAWogBUHIAGoQugYhBiAFQgA3A4gBIAUgBjYChAEgBUGAgIQINgKAASAFQeABaiAHIAVBgAFqELMHIAVByABqIAVB4AFqEJUOIAUgBSkDWDcDuAIgBSAFKQNQNwOwAiAFIAUpA0g3A6gCIAVB4AFqELEGGiAGELEGGiAHELEGGgsgBUHgAWogBUGoAmoQ9RMgBUGYAWogAhDDCyAFKwPwASEUIAUrA+ABIRYgBSsD6AEhFSAFKwOIAiEXIAUrA/gBIRggBSsDgAIhGSAFKwPIASEbIAUrA5gBIRwgBSsDsAEhHSAFKwPQASEaIAUrA6ABIR4gBSsDuAEhHyAFKwOgAiEgIAUrA9gBISEgBSsDkAIhIiAFKwOoASEjIAUrA5gCISQgBSsDwAEhJSAFQgA3A5ABIAVCADcDiAEgBUIANwOAASAFQgA3A+gBIAVCADcDgAIgBUIANwOYAiAFQgA3A+ABIAVCADcD+AEgBUKAgICAgICA+D83A/ABIAVCADcDkAIgBUKAgICAgICA+D83A4gCIAVCgICAgICAgPg/NwOgAiAAKAJQIgwgACgCVCIQRwRAICMgIqJEAAAAAAAAAACgICUgJKKgICEgIKKgISYgHiAiokQAAAAAAAAAAKAgHyAkoqAgGiAgoqAhJyAcICKiRAAAAAAAAAAAoCAdICSioCAbICCioCEgICMgGKJEAAAAAAAAAACgICUgGaKgICEgF6KgISIgHiAYokQAAAAAAAAAAKAgHyAZoqAgGiAXoqAhJCAcIBiiRAAAAAAAAAAAoCAdIBmioCAbIBeioCEoIBYgI6JEAAAAAAAAAACgIBUgJaKgIBQgIaKgISEgFiAeokQAAAAAAAAAAKAgFSAfoqAgFCAaoqAhHyAWIByiRAAAAAAAAAAAoCAVIB2ioCAUIBuioCEjIABB6ABqIREgAEH0AGohDiAAQdwAaiESIAVB+ABqIQ8gBUHYAGohCiAFQdAAaiENA0AgACgCGCEHIAEoAgAhCSAMKAIAIQggBSsDqAIhGyAFKwOwAiEcIAUrA7gCIR1BACECA0AgBUGAAWogAkEDdGogIiAoIAcgCSAIIAJBAnRqKAIAQQJ0aigCAEEEdCIGaioCALsiFKJEAAAAAAAAAACgICQgByAGQQRyaioCALsiFqKgoCIaIAcgBkEIcmoqAgC7IhWiICEgIyAUokQAAAAAAAAAAKAgHyAWoqCgIhkgByAGQQxyaioCALsiF6KhIBwgFaIgGyAXoqEiGKIgGSAmICAgFKJEAAAAAAAAAACgICcgFqKgoCIeIBWioSAbIB0gFaKhIhWiIB0gF6IgHKEiGSAeIBeiIBqhokQAAAAAAAAAAKCgoCAZIBmiRAAAAAAAAAAAoCAVIBWioCAYIBiioJ8iFSAVoqM5AwAgBUHgAWogAkEYbGoiBiAUOQMAIAYgFjkDCCACQQFqIgJBA0cNAAtEAAAAAAAAAAAhHkQAAAAAAAAAACElRAAAAAAAAAAAISlEAAAAAAAAAAAhKkQAAAAAAAAAACErRAAAAAAAAAAAISxEAAAAAAAAAAAhLUQAAAAAAAAAACEuRAAAAAAAAAAAIS8gBSsDmAIiFyAFKwP4ASIWoiAFKwOAAiIYIAUrA5ACIhWioSIwIAUrA+ABIhkgGCAXoSIxoiAFKwPoASIaIBYgFaGioaAiFEQAAAAAAAAAAGIEQCAWIBmhRAAAAAAAAPA/IBSjIhSiISwgGSAVoSAUoiErIBUgFqEgFKIhKiAaIBihIBSiISkgFyAaoSAUoiElIBkgGKIgGiAWoqEgFKIhLyAaIBWiIBkgF6KhIBSiIS4gMCAUoiEtIDEgFKIhHgsgBSAmIC0gBSsDgAEiFKJEAAAAAAAAAACgIC4gBSsDiAEiFqKgIC8gBSsDkAEiFaKgIhcgHaJEAAAAAAAAAACgoTkD2AEgBSAnICogFKJEAAAAAAAAAACgICsgFqKgICwgFaKgIhggHaJEAAAAAAAAAACgoTkD0AEgBSAgIB4gFKJEAAAAAAAAAACgICUgFqKgICkgFaKgIhQgHaJEAAAAAAAAAACgoTkDyAEgBSAiIBcgHKJEAAAAAAAAAACgoTkDwAEgBSAkIBggHKJEAAAAAAAAAACgoTkDuAEgBSAoIBQgHKJEAAAAAAAAAACgoTkDsAEgBSAhIBsgF6JEAAAAAAAAAACgoTkDqAEgBSAfIBsgGKJEAAAAAAAAAACgoTkDoAEgBSAjIBsgFKJEAAAAAAAAAACgoTkDmAEgACgCICEHIAVCg4CAgDA3A1AgBUKGgP2XJDcDSCAKQQhqIglCADcCACAKQRBqIghCADcCACAKQgA3AgAgBUIANwN4IAUgDzYCdCAFIA02AnBBACECIAVBA0EDQQYgBUGYAWpBABCuBiEGIAVBgICEEDYCwAIgBUIANwPIAiAFIAVByABqNgLEAiAGIAVBwAJqEJYEIAYQsQYaIAcgBUHIAGogBygCACgCIBECACAFQcgAahCxBhpBACEGAkAgACgChAFBAEoEQANAAkAgACgCICIHIAEoAgAgAkECdGooAgAgBygCACgCJBEZACETIAArA0AgE7tjQQFzRQRAIAZBAUohByAGQQFqIQYgBw0BCyACQQFqIgIgACgChAFIDQELCyAGQQJKDQELIAAoAiAhAiAFQoOAgIAwNwNQIAVChoD9lyQ3A0ggCUIANwIAIAhCADcCACAKQgA3AgAgBUIANwN4IAUgDzYCdCAFIA02AnBBACEHIAVBA0EDQQYgBUGYAWpBABCuBiEGIAVBgICEEDYCwAIgBUIANwPIAiAFIAVByABqNgLEAiAGIAVBwAJqEJYEIAYQsQYaIAIgBUHIAGogAigCACgCKBEDACEIIAVByABqELEGGiAAKAKAASIGQQFOBEAgACsDQCEUIAgoAgAhCUEAIQIDQCAUIAkgAkECdGoqAgC7ZEEBc0UEQCAAKAJcIAdBAnRqIAI2AgAgB0EBaiEHIAAoAoABIQYLIAJBAWoiAiAGSA0ACwsgACgCKCICIBIgByAOIBEgAigCACgCIBEJAARAIAUgDigCABDDCyAFQZgBaiAFQcgAEK4bGgsgBUHIAGogACAFQZgBaiAFEKcGIgIgCBCiDiAFKwNQIAQrAwhjQQFzRQRAIAQgBSkDSDcDACAEIA0pAwA3AwggBSADNgLEAiAFQYCAhBA2AsACIAVCADcDyAIgAiAFQcACahCWBAsgAhCxBhpBASELCyAMQQxqIgwgEEcNAAsLIAVB0AJqJAAgCwu2DAMKfwJ+EnwjAEHwAWsiBSQAIABC//////////f/ADcDCCAAQQA2AgAgBUE4aiELIAVBGGohCiAFQRBqIQxB5AAhCQNAQQAhCAJAIAEoAoABIgYEQCABIAEpAwgiD0L/////D4NCisb9wQ9+IA9CIIh8Ig9C/////w+DQorG/cEPfiAPQiCIfCIQNwMIIA+nIAZwIgggEKcgBnAiB0cNAQsDQCAGBH8gASABKQMIIg9C/////w+DQorG/cEPfiAPQiCIfCIPNwMIIA+nIAZwBUEACyIHIAhGDQALCwJAIAErA0AiESAEKAIAIgYgCEECdGoqAgC7Y0EBcw0AIBEgBiAHQQJ0aioCALtjQQFzDQAgBSACKwNAIhQgAisDMCIVIAEoAhgiBiAIQQR0IghqKgIAuyIRokQAAAAAAAAAAKAgAisDOCIXIAYgCEEEcmoqAgC7IhKioKAiGCAGIAhBDHJqKgIAuyIaoiACKwMoIhsgAisDGCIcIBGiRAAAAAAAAAAAoCACKwMgIh0gEqKgoCIeoSIfIAIrAxAiGSACKwMAIiAgBiAHQQR0IgdqKgIAuyIWokQAAAAAAAAAAKAgAisDCCIhIAYgB0EEcmoqAgC7IhOioKAiIiAUIBUgFqJEAAAAAAAAAACgIBcgE6KgoCIUIAYgB0EIcmoqAgC7IhWioSIXoiAZICAgEaJEAAAAAAAAAACgICEgEqKgoCIRIBggBiAIQQhyaioCALsiEqKhIhggFCAGIAdBDHJqKgIAuyIZoiAbIBwgFqJEAAAAAAAAAACgIB0gE6KgoCIWoSIToqE5AxggBSAeIBKiIBEgGqKhIhEgE6IgHyAWIBWiICIgGaKhIhKioTkDECAFIBggEqIgESAXoqE5AwggBUHQAGogBUEIahD1EyAFIAUrA1AiEyACKwMAIhSiRAAAAAAAAAAAoCAFKwNYIhUgAisDGCIXoqAgBSsDYCIYIAIrAzAiGqKgOQOYASAFIBMgAisDCCIbokQAAAAAAAAAAKAgFSACKwMgIhyioCAYIAIrAzgiHaKgOQOgASACKwNAIREgAisDECESIAIrAyghFiAFIBQgBSsDaCIeokQAAAAAAAAAAKAgFyAFKwNwIh+ioCAaIAUrA3giGaKgOQOwASAFIBsgHqJEAAAAAAAAAACgIBwgH6KgIB0gGaKgOQO4ASAFIBMgEqJEAAAAAAAAAACgIBUgFqKgIBggEaKgOQOoASAFIBIgHqJEAAAAAAAAAACgIBYgH6KgIBEgGaKgOQPAASAFIBQgBSsDgAEiE6JEAAAAAAAAAACgIBcgBSsDiAEiFKKgIBogBSsDkAEiFaKgOQPIASAFIBsgE6JEAAAAAAAAAACgIBwgFKKgIB0gFaKgOQPQASAFIBIgE6JEAAAAAAAAAACgIBYgFKKgIBEgFaKgOQPYASABKAIQIQcgBUKDgICAMDcDECAFQoaA/ZckNwMIIApBCGoiCEIANwIAIApBEGoiDkIANwIAIApCADcCACAFQgA3AzggBSALNgI0IAUgDDYCMCAFQdAAakEDQQNBBiAFQZgBakEAEK4GIQYgBUGAgIQQNgLgASAFQgA3A+gBIAUgBUEIajYC5AEgBiAFQeABahCWBCAGELEGGiAFQUBrIAcgBUEIaiAHKAIAKAIgEQQAIAVBCGoQsQYaIAUrA0ggACsDCGNBAXMNACAAIAUpA0A3AwAgACAFKQNINwMIIAVCg4CAgDA3AxAgBUKGgP2XJDcDCCAIQgA3AgAgDkIANwIAIApCADcCACAFQgA3AzggBSALNgI0IAUgDDYCMCAFQdAAakEDQQNBBiAFQZgBakEAEK4GIQcgBUGAgIQQNgLgASAFQgA3A+gBIAUgBUEIajYC5AEgByAFQeABahCWBCAHELEGGiADIAVBCGoQuQYaIAVBCGoQsQYaIAErA0hEAAAAAAAA8D8gBSgCQLcgASgCgAG3oyIRIBGioRCVFaMiEb1C////////////AINCgICAgICAgPj/AFIhBwJ/IBGZRAAAAAAAAOBBYwRAIBGqDAELQYCAgIB4CyAJIAcbIAkgESAJt2MbIQkLIA1BAWoiDSAJSA0ACyAFQfABaiQAC6YBAQR/IwBBEGsiBCQAIARBCGogASgCECIDIAMoAgAoAjwRAgAgASgCHCEFQZgBENUaIgNCADcCBCADQaDUBTYCACADQRBqIgYgAiAEQQhqIAUgASgChAEgASsDQBCRDiAAIAM2AgQgACAGNgIAAkAgBCgCDCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgBEEQaiQACygAIABBvNcFNgIMIABBvNYFNgIAIABBGGoQ4wsaIABBDGoQ4wsaIAALKwAgAEG81wU2AgwgAEG81gU2AgAgAEEYahDjCxogAEEMahDjCxogABCiGwscACAAQbzXBTYCACAAQQxqEOMLGiAAEOMLGiAACx8AIABBvNcFNgIAIABBDGoQ4wsaIAAQ4wsaIAAQohsLDgAgAEEMaiABIAIQlA4LhQEBAn8gASgCBCEDQSgQ1RoiAkIANwIEIAJBvNYFNgIAIAEoAgghASACQQxqIgQQ4wsaIAIgATYCFCACIAM2AhAgAkG81wU2AgwgAkEYahDjCxogAiADNgIcIAJByM8FNgIYIAMoAhAhAyACIAE2AiQgAiADNgIgIAAgAjYCBCAAIAQ2AgALFgAgAEHQ2AU2AgAgAEEMahDjCxogAAsZACAAQdDYBTYCACAAQQxqEOMLGiAAEKIbC9oPAwV/BH0VfCMAQbADayIDJAAgA0H4AxDVGiIENgKgAyADIARB+ANqIgU2AqgDIARBAEH4AxCvGxogAyAFNgKkAyAAKAIIIQAgASgCACEFA0AgACAFIAZBAnRqKAIAQQR0IgFBCHJqKgIAIQggACABQQxyaioCACEJIAAgAUEEcmoqAgAhCiAAIAFqKgIAIQsgBEKAgICAgICA+D83A0AgBCALuzkDMCAEIAq7OQM4IAQgCbs5AyggBCAIuzkDECAEIAogCZS7OQMgIAQgCyAJlLs5AxggBCAKIAiUuzkDCCAEIAsgCJS7OQMAIARByABqIQQgBkEBaiIGQQdHDQALQQAhBAJAAkAgA0GgA2pBB0EJEPgTRQ0AIANCgICAgICAgPg/NwOQAyADQgA3A4gDIAMoAqADIgErA+ADIQwgASsD8AMhDSADQoCAgICAgID4PzcDwAIgAyANmiINIAyjOQOAAyABKwPoAyEMIANCADcDsAIgAyANIAyjOQO4AkEFIQQCQANAIAQiBUEJbCEGRAAAAAAAAAAAIQxEAAAAAAAAAAAhDQNAIAwgASAEQQFqIgQgBmpBA3RqKwMAIg4gBEEDdCIAIANBgAJqaisDAKKhIQwgDSAOIANB0AJqIABqKwMAoqEhDSAEQQhHDQALIAVBA3QiBCADQYACamogDCABIAVB0ABsaisDACIOoyIMOQMAIANB0AJqIARqIA0gDqMiDTkDACANIA1iIAwgDGJyRQRAIAVBAWshBCAFRQ0CDAELC0EAIQQMAQsgA0H4AWoiAEIANwMAIANB8AFqIgFCADcDACADQgA3A+gBIANCADcD4AEgA0IANwPQASADQgA3A8gBIANCADcDwAFBACEEIANBiAFqQQFBBEEGIANB4AFqQQAQrgYhBSADQdAAakEBQQNBBiADQcABakEAEK4GIQcgAyADKwP4AiADKwOoAiIToSIUOQP4AiADIAMrA/ACIAMrA6ACIg+hIhU5A/ACIAMgAysD6AIgAysDmAIiFqEiFzkD6AIgAyADKwPgAiADKwOQAiIMoSINOQPgAiADIAMrA9ACIAMrA4ACIg6hIhA5A9ACIAMgAysD2AIgAysDiAIiEaEiEjkD2AIgAyADKwOAAyADKwOwAiIYoSIZOQOAAyADIAMrA4gDIAMrA7gCIhqhIhs5A4gDIAMgAysDkAMgAysDwAIiHKEiHTkDkAMgACAOIA8gHKIgEyAaoqEiHqIgESAcIBaiIBMgGKKhIh+ioSAMIBogFqIgDyAYoqEiIKKgOQMAIAEgHiAQoiAfIBKioSAgIA2ioCAcIBGiIBogDKKhIBeioSAcIA6iIBggDKKhIBWioCAaIA6iIBggEaKhIBSioSATIBGiIA8gDKKhIBmioCATIA6iIBYgDKKhIBuioSAPIA6iIBYgEaKhIB2ioDkDACADIBwgECAVoiASIBeioaIgGCASIBSiIA0gFaKhoiAPIBAgHaIgDSAZoqGiIAwgFyAboiAVIBmioSIPoiAOIBUgHaIgFCAboqEiDKIgESAXIB2iIBQgGaKhIg6ioaAgFiASIB2iIA0gG6KhoqGgIBMgECAboiASIBmioaKhoCAaIBAgFKIgDSAXoqGioaA5A+gBIAMgDSAPoiAQIAyiIBIgDqKhoDkD4AEgA0IANwMQIANBhoCEiHg2AgggAyADQYgBajYCDCADQYaAhJB4NgJAIANCADcDSCADIANB0ABqNgJEIANBCGogA0FAaxCzCyIGQQFOBEAgA0EANgIQIANCADcDCCAGQaWSySRPDQIgAyAGQThsIgAQ1RoiBDYCCCADIAQ2AgwgAyAAIARqIgA2AhADQCAEEKcGQThqIgQgAEcNAAsgAyAANgIMIAIoAgAiAQRAAn8gASABIAIoAgQiBEYNABoDQCAEQThrELEGIgQgAUcNAAsgAigCAAshBCACIAE2AgQgBBCiGyADKAIMIQALIAMoAgghBCACIAA2AgQgAiAENgIAIAIgAygCEDYCCCAGQQFOBEBBACEAIAMrA7gCIRAgAysDiAMhESADKwOwAiESIAMrA4ADIRMgAysDqAIhFCADKwP4AiEPIAMrA6ACIRUgAysD8AIhFiADKwOYAiEXIAMrA+gCIRggAysDkAIhGSADKwPgAiEaIAMrA4gCIRsgAysD2AIhHiADKwOAAiEfIAMrA9ACISADQCADQQhqQQNBA0EGEKgGIQQgAEE4bCIBIAIoAgBqIAQQuQYaIAQQsQYaIAIoAgAgAWooAhAiBAJ8IBwgHSADQcABaiAAQQN0aisDACIMoqAiDZlEAAAAAAAAgD5kQQFzBEBEAAAAAAAA8D8hDUQAAAAAAAAAAAwBCyAMRAAAAAAAAPA/IA2jIg2iIQxEAAAAAAAA8D8LOQNAIAQgDCARoiANIBCioDkDOCAEIAwgE6IgDSASoqA5AzAgBCAMIA+iIA0gFKKgOQMoIAQgDCAWoiANIBWioDkDICAEIAwgGKIgDSAXoqA5AxggBCAMIBqiIA0gGaKgOQMQIAQgDCAeoiANIBuioDkDCCAEIAwgIKIgDSAfoqA5AwAgAEEBaiIAIAZHDQALCyAGIQQLIAcQsQYaIAUQsQYaCyADKAKgAyIABEAgAyAANgKkAyAAEKIbCyADQbADaiQAIAQPCxD8GgALBABBBwtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQdDYBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQdjZBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQYDbBTYCACAAQQxqEOMLGiAACxkAIABBgNsFNgIAIABBDGoQ4wsaIAAQohsL5gQDBH8EfQF8IwBBgAFrIgQkACAEQcAEENUaIgM2AnAgBCADQcAEaiIFNgJ4IANBAEHABBCvGxogBCAFNgJ0IAAoAgghACABKAIAIQUDQCAAIAUgBkECdGooAgBBBHQiAUEIcmoqAgAhByAAIAFBDHJqKgIAIQggACABQQRyaioCACEJIAAgAWoqAgAhCiADQoCAgICAgID4PzcDQCADIAq7OQMwIAMgCbs5AzggAyAIuzkDKCADIAe7OQMQIAMgCSAIlLs5AyAgAyAKIAiUuzkDGCADIAkgB5S7OQMIIAMgCiAHlLs5AwAgA0HIAGohAyAGQQFqIgZBCEcNAAsCQAJAIARB8ABqQQhBCRD4EwRAIARBOGogBEEDQQNBBhCoBiIFELgGIQNBOBDVGiIBIAMQrQYaIAFBOGohBiACKAIAIgAEQAJ/IAAgACACKAIEIgNGDQAaA0AgA0E4axCxBiIDIABHDQALIAIoAgALIQMgAiAANgIEIAMQohsLIAIgBjYCCCACIAY2AgQgAiABNgIAIARBOGoQsQYaIAUQsQYaIAIoAgAoAhAiAUKAgICAgICA+D83A0BBByEDIAQoAnAhAANAIAMiBUEJbCEGRAAAAAAAAAAAIQsDQCALIAAgA0EBaiIDIAZqQQN0aisDACABIANBA3RqKwMAoqEhCyADQQhHDQALIAEgBUEDdGogCyAAIAVB0ABsaisDAKMiCzkDACALIAthBEAgBUEBayEDIAUNAQsLIAsgC2EhAwwBC0EAIQMgBCgCcCIARQ0BCyAEIAA2AnQgABCiGwsgBEGAAWokACADCwQAQQgLUwECfyABKAIEIQJBGBDVGiIBQgA3AgQgAUGA2wU2AgAgAUEMaiIDEOMLGiABIAI2AhAgAUGI3AU2AgwgASACKAIQNgIUIAAgATYCBCAAIAM2AgALVwEDfyAAQbjeBTYCDCAAQbDdBTYCACAAQQxqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAC1oBA38gAEG43gU2AgwgAEGw3QU2AgAgAEEMaiECAkAgACgCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwtHAQJ/IABBuN4FNgIAAkAgACgCDCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogAAtKAQJ/IABBuN4FNgIAAkAgACgCDCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDjCxogABCiGwv1EQMGfwR9BHwjAEHQG2siBSQAIAAgACgCACgCJBEAACACTARAIAVBwBpqQQBByAAQrxsaIAVB+BlqQQBByAAQrxsaIAVBwBlqEKcGIQkgACgCCCIAIAkgASACIAVBwBpqIAVB+BlqIAAoAgAoAiARDQAgCSgCECEGIAVBqBlqQgA3AwAgBUGgGWpCADcDACAFQZgZakIANwMAIAVBkBlqQgA3AwAgBUGIGWpCADcDACAFQYAZakIANwMAIAVCADcD+BggBUIANwPwGCAFQoCAgICAgID4PzcDsBkgBUHgE2pBAEGIBRCvGxoCQCAEKAIAIgogBCgCBEcEQCACQQFIDQEDQCAGIAhBBHQiAEEIcmoqAgAhCyAGIABBDHJqKgIAIQwgBiAAQQRyaioCACENIAAgBmoqAgAhDiAFIAogCEEDdGorAwAiDzkDsBkgBSAPIA67IhCiOQOgGSAFIA8gDbsiEaI5A6gZIAUgDyAMu6IiEjkDmBkgBSASIBGiOQOQGSAFIBIgEKI5A4gZIAUgDyALu6IiDzkDgBkgBSAPIBGiOQP4GCAFIA8gEKI5A/AYQQAhAQNAIAVB4BNqIAFB0ABsaiIAIAArAwAgBUHwGGogAUEDdGorAwAiDyAPoqA5AwAgAUEBaiIAQQlHBEAgAUEJbCEEA0AgBUHgE2ogACAEakEDdGoiByAHKwMAIA8gBUHwGGogAEEDdGorAwCioDkDACAAQQFqIgBBCUcNAAsLIAFBAWoiAUEJRw0ACyAIQQFqIgggAkcNAAsMAQsgAkEBSA0AA0AgBiAIQQR0IgBBCHJqKgIAIQsgACAGaioCACEMIAYgAEEEcmoqAgAhDSAFIAYgAEEMcmoqAgC7Ig85A5gZIAUgDbsiEDkDqBkgBSAQIA+iOQOQGSAFIAy7IhE5A6AZIAUgESAPojkDiBkgBSALuyIPOQOAGSAFIBAgD6I5A/gYIAUgESAPojkD8BhBACEBA0AgBUHgE2ogAUHQAGxqIgAgACsDACAFQfAYaiABQQN0aisDACIPIA+ioDkDACABQQFqIgBBCUcEQCABQQlsIQQDQCAFQeATaiAAIARqQQN0aiIHIAcrAwAgDyAFQfAYaiAAQQN0aisDAKKgOQMAIABBAWoiAEEJRw0ACwsgAUEBaiIBQQlHDQALIAhBAWoiCCACRw0ACwsgBSAFKwPoEzkDqBQgBSAFKwPwEzkD8BQgBSAFKwO4FDkD+BQgBSAFKwP4EzkDuBUgBSAFKwPAFDkDwBUgBSAFKwOIFTkDyBUgBSAFKwOAFDkDgBYgBSAFKwPIFDkDiBYgBSAFKwOQFTkDkBYgBSAFKwPYFTkDmBYgBSAFKwOIFDkDyBYgBSAFKwPQFDkD0BYgBSAFKwOYFTkD2BYgBSAFKwPgFTkD4BYgBSAFKwOoFjkD6BYgBSAFKwOQFDkDkBcgBSAFKwPYFDkDmBcgBSAFKwOgFTkDoBcgBSAFKwPoFTkDqBcgBSAFKwOwFjkDsBcgBSAFKwP4FjkDuBcgBSAFKwOYFDkD2BcgBSAFKwPgFDkD4BcgBSAFKwOoFTkD6BcgBSAFKwPwFTkD8BcgBSAFKwO4FjkD+BcgBSAFKwOAFzkDgBggBSAFKwPIFzkDiBggBSAFKwOgFDkDoBggBSAFKwPoFDkDqBggBSAFKwOwFTkDsBggBSAFKwP4FTkDuBggBSAFKwPAFjkDwBggBSAFKwOIFzkDyBggBSAFKwPQFzkD0BggBSAFKwOYGDkD2BggBUHYDmogBUHgE2pBiAUQrhsaIAVB0AlqQQBBiAUQrxsaIAVByARqQQBBiAUQrxsaIAVBgARqQQBByAAQrxsaIAVCiYCAgJABNwOoAiAFQYaAiIh8NgKgAiAFIAVB2A5qNgKkAiAFQoGAgICQATcDECAFQYaAiJB8NgIIIAUgBUGABGo2AgwgBUKJgICAkAE3A6AbIAVBhoCIkHw2ApgbIAUgBUHQCWo2ApwbIAVCiYCAgJABNwPwASAFQYaAiJB8NgLoASAFIAVByARqNgLsASAFQaACaiAFQQhqIAVBmBtqIAVB6AFqQQUQrwQgBUGgAmogBUEIakEDQQNBBiAFQYgJakEAEK4GIgYQuAYhAEE4ENUaIgQgABCtBhogBEE4aiEBIAMoAgAiBwRAAn8gByAHIAMoAgQiAEYNABoDQCAAQThrELEGIgAgB0cNAAsgAygCAAshACADIAc2AgQgABCiGwsgAyABNgIIIAMgATYCBCADIAQ2AgAgBUGgAmoQsQYaIAYQsQYaIAMoAgBBARCQDiAFIAUrA4gaOQOoGiAFKwOgGiEPIAVCADcDoBogBSAPOQOwGiAFQgA3A4gaIAMoAgAhASAFQbAbaiIGQgA3AwAgBUG4G2oiCEIANwMAIAVByBtqIgBCADcDACAFQgA3A6gbIAVCg4CAgDA3A6AbIAVChoD9lyQ3A5gbIAUgADYCxBsgBSAFQaAbaiICNgLAGyAFQaACakEDQQNBBiAFQfgZakEAEK4GIQQgBUGAgIQQNgIIIAVCADcDECAFIAVBmBtqNgIMIAQgBUEIahCWBCAEELEGGiAFQQhqIAVBmBtqIAEQ/wYgBUGYG2oQsQYaIAVB6AFqEKcGIQQgBSgCCCIBIAVBCGogBEF/IAEoAgAoAgwRBgAgBkIANwMAIAhCADcDACAAQgA3AwAgBUIANwOoGyAFQoOAgIAwNwOgGyAFQoaA/ZckNwOYGyAFIAA2AsQbIAUgAjYCwBsgBUGgAmpBA0EDQQYgBUHAGmpBABCuBiEAIAVBgICEEDYCiBsgBUIANwOQGyAFIAVBmBtqNgKMGyAAIAVBiBtqEJYEIAAQsQYaIAVBoAJqIAQgBUGYG2oQ/wYgBUGYG2oQsQYaIAUoAqACIgAgBUGgAmogAygCAEF/IAAoAgAoAgwRBgAgBUGYA2oQsQYaIAVB4AJqELEGGiAFQagCahCxBhogBBCxBhogBUGAAWoQsQYaIAVByABqELEGGiAFQRBqELEGGiAJELEGGkEBIQcLIAVB0BtqJAAgBwtTAQJ/IAEoAgQhAkEcENUaIgFCADcCBCABQbDdBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQbjeBTYCDCABQRRqIAIQ5wwgACABNgIEIAAgAzYCAAsWACAAQdzfBTYCACAAQQxqEOMLGiAACxkAIABB3N8FNgIAIABBDGoQ4wsaIAAQohsLJgAjAEEQayIAJABBq34gAEGY4gUQiQNB3OIFQeXiBUHFARCYCgALBABBBQsEAEEKC0kBAn8gASgCBCECQRQQ1RoiAUIANwIEIAFB3N8FNgIAIAFBDGoiAxDjCxogASACNgIQIAFB7OAFNgIMIAAgATYCBCAAIAM2AgALFgAgAEGg4wU2AgAgAEEMahDjCxogAAsZACAAQaDjBTYCACAAQQxqEOMLGiAAEKIbC5sNAwZ/BH0EfCMAQdAWayIFJAAgACAAKAIAKAIkEQAAIAJMBEAgBUG4FmpCADcDACAFQbAWakIANwMAIAVBqBZqQgA3AwAgBUGgFmpCADcDACAFQZgWakIANwMAIAVBkBZqQgA3AwAgBUIANwOIFiAFQgA3A4AWIAVCgICAgICAgPg/NwPAFiAFQfAQakEAQYgFEK8bGgJAIAQoAgAiCSAEKAIERwRAIAJBAUgNASAAKAIIIQYgASgCACEKA0AgBiAKIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQsgBiAAQQxyaioCACEMIAYgAEEEcmoqAgAhDSAAIAZqKgIAIQ4gBSAJIAhBA3RqKwMAIg85A8AWIAUgDyAOuyIQojkDsBYgBSAPIA27IhGiOQO4FiAFIA8gDLuiIhI5A6gWIAUgEiARojkDoBYgBSASIBCiOQOYFiAFIA8gC7uiIg85A5AWIAUgDyARojkDiBYgBSAPIBCiOQOAFkEAIQEDQCAFQfAQaiABQdAAbGoiACAAKwMAIAVBgBZqIAFBA3RqKwMAIg8gD6KgOQMAIAFBAWoiAEEJRwRAIAFBCWwhBANAIAVB8BBqIAAgBGpBA3RqIgcgBysDACAPIAVBgBZqIABBA3RqKwMAoqA5AwAgAEEBaiIAQQlHDQALCyABQQFqIgFBCUcNAAsgCEEBaiIIIAJHDQALDAELIAJBAUgNACAAKAIIIQYgASgCACEJA0AgBiAJIAhBAnRqKAIAQQR0IgBBCHJqKgIAIQsgACAGaioCACEMIAYgAEEEcmoqAgAhDSAFIAYgAEEMcmoqAgC7Ig85A6gWIAUgDbsiEDkDuBYgBSAQIA+iOQOgFiAFIAy7IhE5A7AWIAUgESAPojkDmBYgBSALuyIPOQOQFiAFIBAgD6I5A4gWIAUgESAPojkDgBZBACEBA0AgBUHwEGogAUHQAGxqIgAgACsDACAFQYAWaiABQQN0aisDACIPIA+ioDkDACABQQFqIgBBCUcEQCABQQlsIQQDQCAFQfAQaiAAIARqQQN0aiIHIAcrAwAgDyAFQYAWaiAAQQN0aisDAKKgOQMAIABBAWoiAEEJRw0ACwsgAUEBaiIBQQlHDQALIAhBAWoiCCACRw0ACwsgBSAFKwP4EDkDuBEgBSAFKwOAETkDgBIgBSAFKwPIETkDiBIgBSAFKwOIETkDyBIgBSAFKwPQETkD0BIgBSAFKwOYEjkD2BIgBSAFKwOQETkDkBMgBSAFKwPYETkDmBMgBSAFKwOgEjkDoBMgBSAFKwPoEjkDqBMgBSAFKwOYETkD2BMgBSAFKwPgETkD4BMgBSAFKwOoEjkD6BMgBSAFKwPwEjkD8BMgBSAFKwO4EzkD+BMgBSAFKwOgETkDoBQgBSAFKwPoETkDqBQgBSAFKwOwEjkDsBQgBSAFKwP4EjkDuBQgBSAFKwPAEzkDwBQgBSAFKwOIFDkDyBQgBSAFKwOoETkD6BQgBSAFKwPwETkD8BQgBSAFKwO4EjkD+BQgBSAFKwOAEzkDgBUgBSAFKwPIEzkDiBUgBSAFKwOQFDkDkBUgBSAFKwPYFDkDmBUgBSAFKwOwETkDsBUgBSAFKwP4ETkDuBUgBSAFKwPAEjkDwBUgBSAFKwOIEzkDyBUgBSAFKwPQEzkD0BUgBSAFKwOYFDkD2BUgBSAFKwPgFDkD4BUgBSAFKwOoFTkD6BUgBUHoC2ogBUHwEGpBiAUQrhsaIAVB4AZqQQBBiAUQrxsaIAVB2AFqQQBBiAUQrxsaIAVBkAFqQQBByAAQrxsaIAVCiYCAgJABNwNAIAVBhoCIiHw2AjggBSAFQegLajYCPCAFQoGAgICQATcDCCAFQYaAiJB8NgIAIAUgBUGQAWo2AgQgBUKJgICAkAE3A4gBIAVBhoCIkHw2AoABIAUgBUHgBmo2AoQBIAVCiYCAgJABNwN4IAVBhoCIkHw2AnAgBSAFQdgBajYCdCAFQThqIAUgBUGAAWogBUHwAGpBBRCvBCAFQThqIAVBA0EDQQYgBUGYBmpBABCuBiIGELgGIQBBOBDVGiIEIAAQrQYaIARBOGohASADKAIAIgcEQAJ/IAcgByADKAIEIgBGDQAaA0AgAEE4axCxBiIAIAdHDQALIAMoAgALIQAgAyAHNgIEIAAQohsLIAMgATYCCCADIAE2AgQgAyAENgIAIAVBOGoQsQYaIAYQsQYaIAMoAgBBABCQDkEBIQcLIAVB0BZqJAAgBwtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQaDjBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQajkBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQcjlBTYCACAAQQxqEOMLGiAACxkAIABByOUFNgIAIABBDGoQ4wsaIAAQohsLBABBAAsEAEEbC1kCAn8BfiABKQIEIQQgASgCDCECQRwQ1RoiAUIANwIEIAFByOUFNgIAIAFBDGoiAxDjCxogASACNgIYIAEgBDcCECABQbzmBTYCDCAAIAE2AgQgACADNgIACxYAIABB/OcFNgIAIABBDGoQ4wsaIAALGQAgAEH85wU2AgAgAEEMahDjCxogABCiGwuXDAMHfwF9BXwjAEGQAWsiBCQAIARB4AMQ1RoiAzYCgAEgBCADQeADaiIFNgKIASADQQBB4AMQrxshCSAEIAU2AoQBIARBwAMQ1RoiAzYCcCAEIANBwANqIgU2AnggA0EAQcADEK8bIQMgBCAFNgJ0IAAoAgghByABKAIAIQhBACEFQQAhAANAIAggAEECdGooAgBBBWxBAnQgB2oiASoCELshDCABKgIMuyENIAEqAgi7IQ4gASoCBLshCyAAQQVHBEAgASoCACEKIAkgBkEDdGoiAUKAgICAgICA+D83AxggASAMOQMQIAEgDTkDCCABIA45AwAgASAKu5oiDzkDWCABIAwgD6I5A1AgASANIA+iOQNIIAFBQGsgDiAPojkDACAGQQxqIQYLIAMgBUEDdCIBaiAOOQMAIAMgAUEIcmogDTkDACADIAFBEHJqIAw5AwAgAyABQRhyakKAgICAgICA+D83AwAgAyABQSByaiALmiILIA6iOQMAIAMgAUEocmogCyANojkDACADIAFBMHJqIAsgDKI5AwAgAyABQThyaiALOQMAIAVBCGohBSAAQQFqIgBBBkcNAAsgBEGAAWpBBUEMEPgTGiAEKAJwIgMgBCgCgAEiASsDoAM5A4ADIAMgASsDqAM5A4gDIAMgASsDsAM5A5ADIAMgASsDuAM5A5gDIAMgASsDwAM5A6ADIAMgASsDyAM5A6gDIAMgASsD0AM5A7ADIAMgASsD2AM5A7gDQQAhASAEQfAAakEHQQgQ+BMEQEEGIQMgBEE4aiAEQQNBBEEGEKgGIgEQuAYhCCABELEGGiAIKAIQIgBCgICAgICAgPg/NwNYIAQoAnAhBgJAA0AgAyIHQQN0IQVEAAAAAAAAAAAhCwNAIANBA3QhASALIAYgA0EBaiIDIAVqQQN0aisDACAAIAFqKwMooqEhCyADQQdHDQALIAAgBWogCyAGIAdByABsaisDAKMiCzkDIEEAIQEgCyALYg0BIAdBAWshAyAHDQALIABEAAAAAAAAAAAgBCgCgAEiAysDwAIgACsDIKKhIAMrA8gCIAArAyiioSADKwPQAiAAKwMwoqEgAysD2AIgACsDOKKhIAMrA+ACIAArA0CioSADKwPoAiAAKwNIoqEgAysD8AIgACsDUKKhIAMrA/gCIAArA1iioSADKwO4AqMiCzkDGCALIAtiDQAgAEQAAAAAAAAAACADKwPYASAAKwMYoqEgAysD4AEgACsDIKKhIAMrA+gBIAArAyiioSADKwPwASAAKwMwoqEgAysD+AEgACsDOKKhIAMrA4ACIAArA0CioSADKwOIAiAAKwNIoqEgAysDkAIgACsDUKKhIAMrA5gCIAArA1iioSADKwPQAaMiCzkDECALIAtiDQAgAEQAAAAAAAAAACADKwNwIAArAxCioSADKwN4IAArAxiioSADKwOAASAAKwMgoqEgAysDiAEgACsDKKKhIAMrA5ABIAArAzCioSADKwOYASAAKwM4oqEgAysDoAEgACsDQKKhIAMrA6gBIAArA0iioSADKwOwASAAKwNQoqEgAysDuAEgACsDWKKhIAMrA2ijIgs5AwggCyALYg0AIABEAAAAAAAAAAAgAysDCCAAKwMIoqEgAysDECAAKwMQoqEgAysDGCAAKwMYoqEgAysDICAAKwMgoqEgAysDKCAAKwMooqEgAysDMCAAKwMwoqEgAysDOCAAKwM4oqEgAysDQCAAKwNAoqEgAysDSCAAKwNIoqEgAysDUCAAKwNQoqEgAysDWCAAKwNYoqEgAysDAKMiCzkDACALIAtiDQAgBCAIEK0GIQNBOBDVGiIAIAMQrQYaIABBOGohBSACKAIAIgEEQAJ/IAEgASACKAIEIgNGDQAaA0AgA0E4axCxBiIDIAFHDQALIAIoAgALIQMgAiABNgIEIAMQohsLIAIgBTYCCCACIAU2AgQgAiAANgIAIAQQsQYaQQEhAQsgCBCxBhoLIAQoAnAiAwRAIAQgAzYCdCADEKIbCyAEKAKAASIDBEAgBCADNgKEASADEKIbCyAEQZABaiQAIAELBABBBgtTAQJ/IAEoAgQhAkEYENUaIgFCADcCBCABQfznBTYCACABQQxqIgMQ4wsaIAEgAjYCECABQfzoBTYCDCABIAIoAhA2AhQgACABNgIEIAAgAzYCAAsWACAAQZTqBTYCACAAQQxqEOMLGiAACxkAIABBlOoFNgIAIABBDGoQ4wsaIAAQohsL9xIDBn8FfQd8IwBBsB5rIgUkAAJ/QQAgAkEGSA0AGiAFQeAUakEAQYAJEK8bGiAFQbgUakIANwMAIAVBsBRqQgA3AwAgBUGoFGpCADcDACAFQgA3A6AUIAVCgICAgICAgPi/fzcDmBQgBUG4E2pCADcDACAFQbATakIANwMAIAVCADcDqBMgBUIANwOgEyAFQoCAgICAgID4v383A9gTIAAoAgghCCABKAIAIQkCQCAEKAIAIgogBCgCBEYEQANAIAggCSAHQQJ0aigCAEEUbGoiBioCBCELIAYqAgghDCAGKgIMIQ0gBioCECEOIAUgBioCALsiEDkD2BQgBSAQIA67IhGiOQPQFCAFIBAgDbsiEqI5A8gUIAUgECAMuyITojkDwBQgBSARmiIQOQOQFCAFIBKaIhQ5A4gUIAUgE5oiFTkDgBQgBSAQOQPQEyAFIBQ5A8gTIAUgFTkDwBMgBSALuyIQOQP4EyAFIBAgEaI5A/ATIAUgECASojkD6BMgBSAQIBOiOQPgE0EAIQEDQCAFQeAUaiABQegAbGoiBiAGKwMAIAFBA3QiBiAFQYAUamorAwAiECAQoiAFQaATaiAGaisDACIRIBGioKA5AwAgAUEBaiIGQQxHBEAgAUEMbCEAA0AgBUHgFGogACAGakEDdGoiBCAEKwMAIBAgBkEDdCIEIAVBgBRqaisDAKIgESAFQaATaiAEaisDAKKgoDkDACAGQQFqIgZBDEcNAAsLIAFBAWoiAUEMRw0ACyAHQQFqIgcgAkcNAAwCCwALA0AgCCAJIAdBAnRqKAIAQRRsaiIGKgIIIQsgBioCDCEMIAYqAhAhDSAGKgIEIQ4gBioCACEPIAUgCiAHQQN0aisDACIQmiIROQOYFCAFIBE5A9gTIAUgECAPuyIRojkD2BQgBSAQIA67IhKiOQP4EyAFIBAgDbuiIhMgEaI5A9AUIAUgECAMu6IiFCARojkDyBQgBSAQIAu7oiIQIBGiOQPAFCAFIBOaIhE5A5AUIAUgFJoiFTkDiBQgBSAQmiIWOQOAFCAFIBMgEqI5A/ATIAUgFCASojkD6BMgBSAQIBKiOQPgEyAFIBE5A9ATIAUgFTkDyBMgBSAWOQPAE0EAIQEDQCAFQeAUaiABQegAbGoiBiAGKwMAIAFBA3QiBiAFQYAUamorAwAiECAQoiAFQaATaiAGaisDACIRIBGioKA5AwAgAUEBaiIGQQxHBEAgAUEMbCEAA0AgBUHgFGogACAGakEDdGoiBCAEKwMAIBAgBkEDdCIEIAVBgBRqaisDAKIgESAFQaATaiAEaisDAKKgoDkDACAGQQFqIgZBDEcNAAsLIAFBAWoiAUEMRw0ACyAHQQFqIgcgAkcNAAsLIAUgBSsD6BQ5A8AVIAUgBSsD8BQ5A6AWIAUgBSsD0BU5A6gWIAUgBSsD+BQ5A4AXIAUgBSsD2BU5A4gXIAUgBSsDuBY5A5AXIAUgBSsDgBU5A+AXIAUgBSsD4BU5A+gXIAUgBSsDwBY5A/AXIAUgBSsDoBc5A/gXIAUgBSsDiBU5A8AYIAUgBSsD6BU5A8gYIAUgBSsDyBY5A9AYIAUgBSsDqBc5A9gYIAUgBSsDiBg5A+AYIAUgBSsDkBU5A6AZIAUgBSsD8BU5A6gZIAUgBSsD0BY5A7AZIAUgBSsDsBc5A7gZIAUgBSsDkBg5A8AZIAUgBSsD8Bg5A8gZIAUgBSsDmBU5A4AaIAUgBSsD+BU5A4gaIAUgBSsD2BY5A5AaIAUgBSsDuBc5A5gaIAUgBSsDmBg5A6AaIAUgBSsD+Bg5A6gaIAUgBSsD2Bk5A7AaIAUgBSsDoBU5A+AaIAUgBSsDgBY5A+gaIAUgBSsD4BY5A/AaIAUgBSsDwBc5A/gaIAUgBSsDoBg5A4AbIAUgBSsDgBk5A4gbIAUgBSsD4Bk5A5AbIAUgBSsDwBo5A5gbIAUgBSsDqBU5A8AbIAUgBSsDiBY5A8gbIAUgBSsD6BY5A9AbIAUgBSsDyBc5A9gbIAUgBSsDqBg5A+AbIAUgBSsDiBk5A+gbIAUgBSsD6Bk5A/AbIAUgBSsDyBo5A/gbIAUgBSsDqBs5A4AcIAUgBSsDsBU5A6AcIAUgBSsDkBY5A6gcIAUgBSsD8BY5A7AcIAUgBSsD0Bc5A7gcIAUgBSsDsBg5A8AcIAUgBSsDkBk5A8gcIAUgBSsD8Bk5A9AcIAUgBSsD0Bo5A9gcIAUgBSsDsBs5A+AcIAUgBSsDkBw5A+gcIAUgBSsDuBU5A4AdIAUgBSsDmBY5A4gdIAUgBSsD+BY5A5AdIAUgBSsD2Bc5A5gdIAUgBSsDuBg5A6AdIAUgBSsDmBk5A6gdIAUgBSsD+Bk5A7AdIAUgBSsD2Bo5A7gdIAUgBSsDuBs5A8AdIAUgBSsDmBw5A8gdIAUgBSsD+Bw5A9AdIAVBoApqQQBBgAkQrxsaIAVBwAlqQQBB4AAQrxsaIAVBQGsgBUHgFGpBgAkQrhsaIAVCjICAgMABNwOAHiAFQYaAiIh8NgL4HSAFIAVBQGs2AvwdIAVCgYCAgMABNwMQIAVBhoCIkHw2AgggBSAFQcAJajYCDCAFQoyAgIDAATcD8B0gBUGGgIiQfDYC6B0gBSAFQaAKajYC7B1BACAFQfgdaiAFQQhqIAVB6B1qEK4ERQ0AGiAFIAUrA5gTOQOYASAFIAUrA5ATOQOQASAFIAUrA4gTOQOIASAFIAUrA4ATOQOAASAFIAUrA/gSOQN4IAUgBSsD8BI5A3AgBSAFKwPoEjkDaCAFIAUrA+ASOQNgIAUgBSsD2BI5A1ggBSAFKwPQEjkDUCAFIAUrA8gSOQNIIAUgBSsDwBI5A0AgBUIANwMgIAVCADcDKCAFQThqIgZCADcDACAFQoOAgIDAADcDECAFQoaA/ZckNwMIIAVCADcDGCAFIAVBEGo2AjAgBSAGNgI0IAVB+B1qQQNBBEEGIAVBQGtBABCuBiEGIAVBgICEEDYC6B0gBUIANwPwHSAFIAVBCGo2AuwdIAYgBUHoHWoQlgQgBhCxBhpBOBDVGiIAIAVBCGoQrQYaIABBOGohASADKAIAIgQEQAJ/IAQgBCADKAIEIgZGDQAaA0AgBkE4axCxBiIGIARHDQALIAMoAgALIQYgAyAENgIEIAYQohsLIAMgATYCCCADIAE2AgQgAyAANgIAIAVBCGoQsQYaQQELIQYgBUGwHmokACAGC1MBAn8gASgCBCECQRgQ1RoiAUIANwIEIAFBlOoFNgIAIAFBDGoiAxDjCxogASACNgIQIAFBlOsFNgIMIAEgAigCEDYCFCAAIAE2AgQgACADNgIACxYAIABBqOwFNgIAIABBEGoQ4wsaIAALGQAgAEGo7AU2AgAgAEEQahDjCxogABCiGwvBHQMRfwl9OXwjAEGAB2siAyQAAkAgACgCGCIHIAEoAgAiBCgCCCIIQRRsaiIBKgIIuyIhIAQoAgAiBkEUbCAHaiIFKgIIuyJAoSIfIB+iRAAAAAAAAAAAoCABKgIMuyIoIAUqAgy7IkGhIh4gHqKgIAEqAhC7IicgBSoCELsiQqEiJiAmoqCfIjsgACsDICIdYw0AIEAgBCgCBCIEQRRsIAdqIgEqAgi7Ii2hIjAgMKJEAAAAAAAAAACgIEEgASoCDLsiKaEiMCAwoqAgQiABKgIQuyIxoSIwIDCioJ8iMCAdYw0AIC0gIaEiISAhokQAAAAAAAAAAKAgKSAooSIhICGioCAxICehIiEgIaKgnyI/IB1jDQAgACgCFCIBIAZBDGxqIgUqAgghFCAFKgIEIRUgBSoCACEWIAEgBEEMbGoiBSoCCCEXIAEgCEEMbGoiASoCCCEYIAUqAgQhGSABKgIEIRogBSoCACEbIAEqAgAhHCADQfgFaiIBQgA3AwAgA0HwBWoiBUIANwMAIANCADcD6AUgA0IANwPgBSA/ID+iIjYgNqIiHSA7IDuiIjMgM6IiKqIiLiAzIDAgMKIiKCAdIB2gIiCioiIvICggKKIiIyAdoiIrIB0gHaIiISAzICggHUQAAAAAAAAQQKIiIqKiIiQgG7siSyAcuyJMoiAZuyJNIBq7Ik6ioCAXuyJPIBi7IlCioCI0IDSiIjKiIjehICggNiAdoiIlICWgIieiIjihIDMgJ6IiOaGgoKAgMyAlRAAAAAAAACBAoiI6oiI8IBa7IlEgS6IgFbsiUiBNoqAgFLsiUyBPoqAiJ6IiPSAoICVEAAAAAAAAEECiIj6iIiwgJ6IiQyA0ICQgUSBMoiBSIE6ioCBTIFCioCI1oqIiRCAzICggHUQAAAAAAAAgQKKioiJFICeiIDKiIDQgLCA1oqIiRqAgNCAjICKiIh0gNaKiIkehoCAhRAAAAAAAABBAoiJIICeiIkmhoKAgJCAnoiIkoSAqICKiIiIgJ6IiSqEgKiAgoiAhICGgICIgJyAnoiIqoiAdIDKiIB0gNSA1oiIioiBIICqiIDQgJyAoICVEAAAAAAAAIMCioiA1oqKiIDQgJyBFIDWioqKhoCAsICKiIh2hIDwgKqKhoKAgN6GgoCAzID6ioSAjICCioaAgJCA9IEQgRiAnICggOqIgIqKioCBHoaAgSaEgQ6GgoCBKoSArIC4gOCAhIB2hIC+hoKCgIDmhIANB4AVqIANB4AVqQQhyIAUgARC/DCEEIAIoAgAiBQRAAn8gBSAFIAIoAgQiAUYNABoDQCABQThrELEGIgEgBUcNAAsgAigCAAshASACIAU2AgQgARCiGwsgAkEANgIIIAJCADcCACACIAQQ1Q4gKSBBoUQAAAAAAADwPyAwoyIloiIhICEgJkQAAAAAAADwPyA7oyIpoiIdoiAxIEKhICWiIiYgHiApoiIxoqEiIEQAAAAAAADwPyAtIEChICWiIh4gMaIgISAfICmiIiqioSItIC2iICYgKqIgHiAdoqEiJSAloiAgICCiRAAAAAAAAAAAoKCgn6MiKaIiH6IgHiAlICmiIiWioUQAAAAAAADwPyAxIC0gKaIiLaIgHSAloqEiKSAmICWiICEgLaKhIiCiIB8gISAqICWiIDEgH6KhIjGiICYgHSAfoiAqIC2ioSIqoqEiI6IgHiAlIDGiIiIgLSAqoiIkoaKhoCJDoyIdoiFEIB4gLaIgJiAfoqEgHaIhRSAgIB2iIUYgJSApoiAfICqioSAdoiFHIB8gMaIgLSApoqEgHaIhSCAkICKhIB2iIUkgHiAqoiAhICmioSAdoiFKICYgKaIgHiAxoqEgHaIhVCAjIB2iIVUgMyA0oiElIDYgNaIhLSA2IDOhISkgKCAzIDahIh0gHaCiIDSiITEgA0EoaiEKIANB4ABqIQsgA0GYAWohDCADQcACaiENIANB+AJqIQ4gA0GwA2ohDyADQbAGaiEQIANBkAZqIQcgA0GIBmohESADQdgEaiESIANBuARqIQkgA0GwBGohEyAoICigISogA0GABmohBSADQeAFaiEBA0ACQCABKwMAIh1EAAAAAAAAAABlDQAgMCAdIB2iIiFEAAAAAAAA8D+gICcgHSAdoKKhIiafoyIeRAAAAAAAAAAAZQ0AIB0gHqIiH0QAAAAAAAAAAGUNACAeICggNiAzICGioaIgKSA2ICaiICggIaKhoqAgMSAdoiAqIC0gJSAdoqGioKOiIh1EAAAAAAAAAABlDQAgACsDICIhIB4gHqIiICAfIB+iIiagICcgHiAeoCAfoqKhnyAwoSAwo5ljDQAgJiAdIB2iIiOgIDQgHyAfoCAdoqKhnyA/oSA/o5kgIWQNACAgICOgIDUgHiAdIB2goqKhnyA7oSA7o5kgIWQNAEQAAAAAAAAAACEyIB0gTKIgHiBRoiIhoSIgRAAAAAAAAPA/IB0gUKIgHiBToiImoSIjICOiIB0gTqIgHiBSoiIdoSIiICKiICAgIKJEAAAAAAAAAACgoKCfoyIgoiIsICwgHyBPoiAmoSIeRAAAAAAAAPA/IB4gHqIgHyBNoiAdoSIkICSiIB8gS6IgIaEiHyAfokQAAAAAAAAAAKCgoJ+jIiuiIh6iIB8gK6IiHyAjICCiIi6ioSIjRAAAAAAAAPA/IB8gIiAgoiIvoiAsICQgK6IiIKKhIiQgJKIgIyAjoiAgIC6iIB4gL6KhIiIgIqJEAAAAAAAAAACgoKCfoyIroiIjoiAvICIgK6IiIqKhITwgLiAioiAsICQgK6IiJKKhIT0gLyAkoiAuICOioSE+RAAAAAAAAAAAISxEAAAAAAAAAAAhLkQAAAAAAAAAACEvRAAAAAAAAAAAIStEAAAAAAAAAAAhN0QAAAAAAAAAACE4RAAAAAAAAAAAITlEAAAAAAAAAAAhOiBDRAAAAAAAAAAAYgRAIFUhMiBUISwgSiEuIEkhLyBHITcgRiE4IEUhOSBEITogSCErCyADICQgLqJEAAAAAAAAAACgIB4gN6KgIDwgOqKgOQP4AiADICQgLKJEAAAAAAAAAACgIB4gK6KgIDwgOaKgOQPwAiADICQgMqJEAAAAAAAAAACgIB4gL6KgIDwgOKKgOQPoAiADICMgLqJEAAAAAAAAAACgICAgN6KgID0gOqKgOQPgAiADICMgLKJEAAAAAAAAAACgICAgK6KgID0gOaKgOQPYAiADICMgMqJEAAAAAAAAAACgICAgL6KgID0gOKKgOQPQAiADICIgLqJEAAAAAAAAAACgIB8gN6KgID4gOqKgOQPIAiADICIgLKJEAAAAAAAAAACgIB8gK6KgID4gOaKgOQPAAiADICIgMqJEAAAAAAAAAACgIB8gL6KgID4gOKKgOQO4AiADQSBqIANBuAJqEPcTIANBmAVqIANBIGoQ9hMgA0HgBGoQpwYhCCADIAAoAhAiBCsDACADKwOYBSIeokQAAAAAAAAAAKAgBCsDCCIyIAMrA7AFIh+ioCAEKwMQIiAgAysDyAUiI6KgOQO4AiADIAQrAwAgAysDoAUiIqJEAAAAAAAAAACgIDIgAysDuAUiJKKgICAgAysD0AUiMqKgOQPAAiADIAQrAwAgAysDqAUiLKJEAAAAAAAAAACgIAQrAwggAysDwAUiLqKgICAgAysD2AUiL6KgOQPIAiADIB4gBCsDGKJEAAAAAAAAAACgIB8gBCsDICIroqAgIyAEKwMoIiCioDkD0AIgAyAyICCiICQgK6IgIiAEKwMYokQAAAAAAAAAAKCgoDkD2AIgAyAvICCiICwgBCsDGKJEAAAAAAAAAACgIC4gBCsDIKKgoDkD4AIgAyAeIAQrAzCiRAAAAAAAAAAAoCAfIAQrAzgiIKKgICMgBCsDQCIeoqA5A+gCIAMgMiAeoiAkICCiICIgBCsDMKJEAAAAAAAAAACgoKA5A/ACIAQrAzAhHyAEKwM4ISAgA0KDgICAMDcDsAQgA0KGgP2XJDcDqAQgAyAvIB6iICwgH6JEAAAAAAAAAACgIC4gIKKgoDkD+AIgCUIANwIIIAlCADcCACAJQgA3AhAgA0IANwPYBCADIBI2AtQEIAMgEzYC0AQgA0EgakEDQQNBBiADQbgCakEAEK4GIQQgA0GAgIQQNgLIBiADQgA3A9AGIAMgA0GoBGo2AswGIAQgA0HIBmoQlgQgBBCxBhogA0IANwOgBCADQYCAhAg2ApgEIAMgA0GoBGo2ApwEIANBIGogA0GoBGoQ/gYgA0GAAmoQpwYhBCADKAIgIgYgA0EgaiAEQX8gBigCACgCDBEGACADIEIgISADKwOoBaJEAAAAAAAAAACgIB0gAysDwAWioCAmIAMrA9gFoqChOQMYIAMgQSAhIAMrA6AFokQAAAAAAAAAAKAgHSADKwO4BaKgICYgAysD0AWioKE5AxAgAyBAICEgAysDmAWiRAAAAAAAAAAAoCAdIAMrA7AFoqAgJiADKwPIBaKgoTkDCCADQoOAgIAQNwOIBiADQoaA/ZckNwOABiAHQgA3AgggB0IANwIQIAdCADcCACADQgA3A7AGIAMgEDYCrAYgAyARNgKoBiADQcgGakEDQQFBBiADQQhqQQAQrgYhBiADQYCAhBA2ArgGIANCADcDwAYgAyADQYAGajYCvAYgBiADQbgGahCWBCAGELEGGiADQbgCaiAEIANBgAZqEP8GIANBgAZqELEGGiADQcgGaiADQbgCahCmByEGIAMgCDYChAYgA0GAgIQQNgKABiADQgA3A4gGIANBmARqIAYgA0GABmoQsAcgDxCxBhogDhCxBhogDRCxBhogBBCxBhogDBCxBhogCxCxBhogChCxBhoCQCACKAIEIgQgAigCCEkEQCACIAQgCBCtBkE4ajYCBAwBCyACIAgQ1g4LIANBqARqELEGGiAIELEGGgsgAUEIaiIBIAVHDQALIAIoAgQgAigCAGtBOG0hCQsgA0GAB2okACAJC+ABAQR/AkAgACgCCCAAKAIAIgNrQThtIAFPDQACQAJAIAFBpZLJJEkEQCAAKAIEIQIgAUE4bCIBENUaIgQgAWohBSAEIAIgA2tBOG1BOGxqIQQgAiADRg0BIAQhAQNAIAFBOGsgAkE4ayICEK0GIQEgAiADRw0ACyAAIAU2AgggACgCBCECIAAgBDYCBCAAKAIAIQMgACABNgIAIAIgA0YNAgNAIAJBOGsQsQYiAiADRw0ACwwCC0Gw5wUQvgIACyAAIAU2AgggACAENgIEIAAgBDYCAAsgA0UNACADEKIbCwunAgEEfwJAAkACQCAAKAIEIAAoAgAiA2tBOG0iBEEBaiICQaWSySRJBEACf0EAIAIgACgCCCADa0E4bSIDQQF0IgUgAiAFSxtBpJLJJCADQZLJpBJJGyICRQ0AGiACQaWSySRPDQIgAkE4bBDVGgshAyADIAJBOGxqIQUgAyAEQThsaiABEK0GIgNBOGohBCAAKAIEIgIgACgCACIBRg0CA0AgA0E4ayACQThrIgIQrQYhAyABIAJHDQALIAAgBTYCCCAAKAIEIQIgACAENgIEIAAoAgAhASAAIAM2AgAgASACRg0DA0AgAkE4axCxBiICIAFHDQALDAMLEPwaAAtBsOcFEL4CAAsgACAFNgIIIAAgBDYCBCAAIAM2AgALIAEEQCABEKIbCwuTAQEEfyABKAIEIQIgASgCCCEDIAEoAgwhBEE4ENUaIgFCADcCBCABQajsBTYCACABQRBqIgUQ4wsaIAEgBDYCICABIAQ2AhwgASADNgIYIAEgAjYCFCABQaDtBTYCECABIAMoAhA2AiQgAigCECECIAFCrYbx2K7cjY0/NwMwIAEgAjYCKCAAIAE2AgQgACAFNgIAC9gHAQF/IwBBEGsiCSQAIAAQ4wsaIABB2O8FNgIAIAAgBCgCADYCBCAAIAQoAgQiBDYCCCAEBEAgBCAEKAIEQQFqNgIECyAAIAEoAgA2AgwgACABKAIEIgQ2AhAgBARAIAQgBCgCBEEBajYCBAsgACADKAIANgIUIAAgAygCBCIENgIYIAQEQCAEIAQoAgRBAWo2AgQLIAAgBSgCADYCHCAAIAUoAgQiBDYCICAEBEAgBCAEKAIEQQFqNgIECyAAIAIoAgA2AiQgACACKAIEIgQ2AiggBARAIAQgBCgCBEEBajYCBAsgAEIANwJQQQAhBCAAQQA2AogBIABCADcCgAEgAEIANwJ4IABCADcCcCAAQgA3AmggAEIANwJgIABCADcCWCADKAIAIgMgAygCACgCOBEAACEDIAAgBkQAAAAAAAACQKI5A0AgACAHOQM4IAAgAzYCNCAFKAIAIgMgAygCACgCNBEAACEDIAAgCDYCMCAAIAM2AiwgAEQAAAAAAADwPyAAKwM4oTkDSCAAKAI0IQMgCUEANgIIIAlCADcDAEEAIQUCQCADBEAgA0GAgICAAk8NASADQQN0IgQQ1RoiBUEAIAQQrxsgBGohBAsgACgCXCIBBEAgACABNgJgIAEQohsgACgCNCEDCyAAIAQ2AmQgACAENgJgIAAgBTYCXEEAIQUgCUEANgIIIAlCADcDAEEAIQQgAwRAIANBgICAgARPDQEgA0ECdCIFENUaIgRBACAFEK8bIAVqIQULIAAoAlAiAQRAIAAgATYCVCABEKIbIAAoAjQhAwsgACAFNgJYIAAgBTYCVCAAIAQ2AlACQCADIANsIgNFBEBBACEEQQAhBQwBCyADQQFrQQV2IgFBAWoiBEECdBDVGiIFIAUgAUECdGogA0EhSRtBADYCACAFQQAgA0EFdkECdCIBEK8bIQIgA0EfcSIIRQ0AIAEgAmoiASABKAIAQX9BICAIa3ZBf3NxNgIACyAAKAJ0IgEEQCABEKIbCyAAIAQ2AnwgACADNgJ4IAAgBTYCdEEAIQUgACgCDCIDIAMoAgAoAjQRAAAhAyAJQQA2AgggCUIANwMAQQAhASADBEAgA0GlkskkTw0BIANBOGwiAxDVGiIBIANqIQUgASEDA0AgAxCnBkE4aiIDIAVHDQALCyAAKAKAASIEBEACfyAEIAQgACgChAEiA0YNABoDQCADQThrELEGIgMgBEcNAAsgACgCgAELIQMgACAENgKEASADEKIbCyAAIAU2AoQBIAAgATYCgAEgACAFNgKIASAJQRBqJAAPCxD8GgAL3QkBAX8jAEEQayILJAAgABDjCxogAEHs8wU2AgAgACABKAIANgIEIAAgASgCBCIBNgIIIAEEQCABIAEoAgRBAWo2AgQLIAAgAigCADYCDCAAIAIoAgQiATYCECABBEAgASABKAIEQQFqNgIECyAAIAMoAgAiATYCFCAAIAMoAgQiAjYCGCACBEAgAiACKAIEQQFqNgIEIAAoAhQhAQsgAEIANwIcQQAhAiAAQQA2AmAgAEIANwNwIAAgBTkDaCAAIAk2AlggACAINgJUIABCADcCJCAAQgA3AiwgAEIANwI0IABCADcCPCAAQgA3AkQgAEIANwJMIABCADcDeCAAQgA3A4ABIABBADYCiAEgASABKAIAKAI0EQAAIQEgACAGOgBkIAAgATYCXAJAIAYEQCAAIAc2AmAgC0EAIAQgBxD6EyALKAIAIQEgCygCBCIDBEAgAyADKAIEQQFqNgIECyAAIAE2AhwgACgCICEBIAAgAzYCIAJAIAFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCwJAIAsoAgQiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLQQAhAyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NAiALIAFBOGwiAxDVGiIBNgIAIAsgATYCBCALIAEgA2oiAzYCCANAIAEQpwZBOGoiASADRw0ACyALIAM2AgQLIAAoAjAiBgRAAn8gBiAGIAAoAjQiAUYNABoDQCABQThrELEGIgEgBkcNAAsgACgCMAshASAAIAY2AjQgARCiGyALKAIEIQMLIAsoAgAhASAAIAM2AjQgACABNgIwIAAgCygCCDYCOEEAIQEgC0EANgIIIAtCADcDAEEAIQMgBARAIARBgICAgARPDQIgCyAEQQJ0IgYQ1RoiAzYCACALIAMgBmoiATYCCCADQQAgBhCvGxogCyABNgIECyABIQYgACAAKAJIIgcEfyAAIAc2AkwgBxCiGyALKAIEIQYgCygCACEDIAsoAggFIAELNgJQIAAgBjYCTCAAIAM2AkggACAAKwNoIgUgCqIiCjkDcCAAIAogBaEgCbejOQN4CyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NASALIAFBOGwiAhDVGiIBNgIAIAsgATYCBCALIAEgAmoiAjYCCANAIAEQpwZBOGoiASACRw0ACyALIAI2AgQLIAAoAiQiAwRAAn8gAyADIAAoAigiAUYNABoDQCABQThrELEGIgEgA0cNAAsgACgCJAshASAAIAM2AiggARCiGyALKAIEIQILIAsoAgAhASAAIAI2AiggACABNgIkIAAgCygCCDYCLEEAIQEgC0EANgIIIAtCADcDAEEAIQIgBARAIARBgICAgARPDQEgCyAEQQJ0IgMQ1RoiAjYCACALIAIgA2oiATYCCCACQQAgAxCvGxogCyABNgIECyABIQMgACgCPCIGBEAgACAGNgJAIAYQohsgCygCBCEDIAsoAgAhAiALKAIIIQELIAAgAzYCQCAAIAI2AjwgACABNgJEIAtBEGokAA8LEPwaAAvYCQECfyMAQRBrIg0kACAAEOMLGiAAQYz2BTYCACAAIAEoAgA2AgQgACABKAIEIgw2AgggDARAIAwgDCgCBEEBajYCBAsgACADKAIANgIMIAAgAygCBCIMNgIQIAwEQCAMIAwoAgRBAWo2AgQLIAAgAigCADYCFCAAIAIoAgQiDDYCGCAMBEAgDCAMKAIEQQFqNgIECyAAIAQoAgA2AhwgACAEKAIEIgw2AiAgDARAIAwgDCgCBEEBajYCBAsQvw0hDCAAIAo5A0AgACAIOQMwIAAgBzYCKCAAIAw2AiQgASgCACIBIAEoAgAoAigRAAAhASAAIAk5A3AgACABNgJIIAMoAgAiAyADKAIAKAI4EQAAIQMgAEIANwKYASAAIAs5A5ABIAAgCzkDiAEgACAGNgKEASAAIAM2AoABIABCADcCoAEgAEIANwKoASAAQgA3ArABIABCADcCuAEgAEIANwLAASAAQgA3AsgBQQAhASAAQQA2AtABIABC/////w83A+gBIAAgACgCJBDlCjYC8AEgACAAKwOQASILIAuiIgggCKAiCDkDYCAAIAAoAii3RAAAAAAAAPC/oEQAAAAAAADgP6IiCTkDOCAAIAhEAAAAAAAA4D+iOQN4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FBEBAAsgABCiGws1ACAAKAIYIgBFBEBBBBAVIgBBoOgINgIAIABByOgIQY8MEBYACyAAIAEgACgCACgCGBECAAtbACABQaiCBjYCACABIAApAgQ3AgQgASAAKQIMNwIMIAEgACkCFDcCFCABIAApAhw3AhwgASAAKQIkNwIkIAEgACkCLDcCLCABIAApAjQ3AjQgASAAKAI8NgI8CwoAIABBBGoQ/Q4L8hcDGH8CfgJ8IwBBwAJrIgEkAAJAAkACQCAAKAIALQAAQQFxDQAgACgCCCEIIAAoAgQiAiACKAIAIglBAWo2AgAgCCgCTCECIAFBqAJqIAgoAggiAyADKAIAKAI4EQIAIAFBoAJqIAgoAjAiAyACIAlBCmxqIgIgAygCACgCLBEEACABQZgCaiAIKAIQIgMgAygCACgCPBECACABQZACaiAIKAIoIgMgAkEBaiADKAIAKAI0EQQAIAJBAmohAyAAKAIMLQAABEAgAUHQAWogCCgCOCIGIAMgBigCACgCJBEEACABKALQASEOAkAgASgC1AEiCkUNACAKIAooAgRBAWo2AgQgASgC1AEiA0UNACADIAMoAgQiBkEBazYCBCAGDQAgAyADKAIAKAIIEQEAIAMQ0BoLIAJBA2ohAwsgAUGIAmogCCgCICICIAIoAgAoAiQRAgACQCAAKAIQLQAADQAgAUHQAWogCCgCGCICIAMgAigCACgCKBEEACABKALQASEWIAEoAtQBIgtFDQAgCyALKAIEQQFqNgIEIAEoAtQBIgJFDQAgAiACKAIEIgNBAWs2AgQgAw0AIAIgAigCACgCCBEBACACENAaCyABQdABahCnBiEHIAFBmAFqEKcGIRMgAUHgAGoQpwYhDyABQv/////////3/wA3A1ggAUEANgJQIAFC//////////f/ADcDSCABQQA2AkAgAUL/////////9/8ANwM4IAFBADYCMCABQv/////////3/wA3AyggAUEANgIgIAEoAqgCIgIgAigCACgCKBEAACECIAFBADYCGCABQgA3AxAgAgRAIAJBgICAgARPDQMgASACQQJ0IgIQ1RoiAzYCECABIAIgA2oiBjYCGCADQQAgAhCvGxogASAGNgIUCyABKAKoAiICIAIoAgAoAjARAAAhAiABQQA2AgggAUIANwMAIAIEQCACQaWSySRPDQIg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ASIBBEAgACABNgKkASABEKIbCyAAEOMLGiAAEKIbCw0AIAAoAiBBAWtBAkkLCAAgACgCIEULCgAgACgCIEEDRgsNACAAKAIgQQVrQQJJCwcAIAAoAhgLCAAgAC0AsQELBwAgACgCYAsHACAAKAI8CwgAIAAoApABCwcAIAAoAigLBwAgACgCHAsHACAAKwMQCwcAIAArAwgLBwAgACgCJAsIACAAKwOIAQsHACAAKwN4CwcAIAArA3ALCAAgACsDgAELBwAgACgCOAsHACAAKAIsCwcAIAAoAjALBwAgACgCNAsIACAAKwOYAQsIACAAKAKsAQsIACAAKAK8AQsIACAAKwPAAQsIACAAKwPIAQsIACAAKwPQAQsIACAAKwPYAQsIACAAKwPgAQsHACAAKwNYCwcAIAAoAkwLBwAgACgCUAsIACAAQaABagsIACAAKAK0AQsIACAAKAK4AQsJACAAIAE2AjwLCQAgACABNgIsCwkAIAAgATYCOAsJACAAIAE2AjALCgAgACABOgCxAQsJACAAIAE2AmQLCQAgACABNgJgCwoAIAAgATYCkAELCQAgACABNgJECwkAIAAgATYCSAsJACAAIAE2AkALKwAgARCIFSIBmUQAAAAAAADgQWMEQCAAIAGqNgJMDwsgAEGAgICAeDYCTAsKACAAIAE2ArQBCwoAIAAgAToAsAELCAAgAC0AsAEL+AEBBX8jAEEQayIEJAACQCABIAAoAhBOBEAgASAAKAIUIgNKBEAgBEEANgIIIARCADcDACABBEAgAUGAgICABE8NAyABQQJ0IgIQ1RoiBkEAIAIQrxsgAmohAgsgACgCBCIFBEAgACAFNgIIIAUQohsgACgCFCEDCyAAIAY2AgQgACACNgIMIAAgAjYCCAsCQCABIANGDQAgACABNgIUIAFBAUgNACAAKAIEIQNBACEBA0AgAyABQQJ0aiABNgIAIAFBAWoiASAAKAIUSA0ACwsgBEEQaiQADwtBqX4gBEH8jgYQiQNBmI8GQaaPBkEwEJgKAAsQ/BoAC9ADAgN/AnwjAEEQayIGJAAgABDjCxogAEEANgIMIABCADcCBCAAQYSRBjYCACAAQShqIAEQ+RMCQCACIANOBEAgACAENgIgIAAgAjYCECAAIAM2AhQgBkEANgIIIAZCADcDACACBEAgAkGAgICABE8N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AOBBYwRAIAeqDAELQYCAgIB4CyACIAEbIAIgB71C////////////AINCgICAgICAgPj/AFIbDwtBACECIAhEAAAAAAAAAABjDQAgCCAAKAIYIgK3IgpjQQFzRQRAIAcgCRCVFaMiByAKYyEBAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIAIgARsgAiAHvUL///////////8Ag0KAgICAgICA+P8AUhsiAgJ/IAiZRAAAAAAAAOBBYwRAIAiqDAELQYCAgIB4CyIBIAEgAkobDwsgByAJEJUVoyIHIApjIQECfyAHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAsgAiABGyACIAe9Qv///////////wCDQoCAgICAgID4/wBSGw8LIAILkQEDA38BfgF8IAEoAgQhAyABKwMIIQZBMBDVGiICQgA3AgQgAkHEmwY2AgAgASkCECEFIAEoAhghASACQRBqIgQQ4wsaIAIgATYCKCACIAU3AyAgAiAGEIQVRAAAAAAAAPC/oEQAAAAAAADwP6AQlRU5AxggAiADNgIUIAJBwJwGNgIQIAAgAjYCBCAAIAQ2AgALKAAgAEHIngY2AhAgAEHEnQY2AgAgAEEYahDjCxogAEEQahDjCxogAAsrACAAQcieBjYCECAAQcSdBjYCACAAQRhqEOMLGiAAQRBqEOMLGiAAEKIbCxwAIABByJ4GNgIAIABBCGoQ4wsaIAAQ4wsaIAALHwAgAEHIngY2AgAgAEEIahDjCxogABDjCxogABCiGwuhAQIBfwF8IABBCGogASACEPAPIQEgACsDMCACtyAAKAJAt6OgIgREAAAAAAAA8D9mBH8gAwUgBCAAKAJEtxCTFSEEIAArAzhEAAAAAAAA8D8gBKEQlRWjIgS9Qv///////////wCDQoCAgICAgID4/wBSIQACfyAEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsgASAAGyABIAQgAbdjGwsL4wECBX8CfCABKAIoIQMgASsDOCEHQeAAENUaIgJCADcCBCACQcSdBjYCACABKwMwIQggASgCQCEEIAEoAkQhBSABKAJIIQEgAkEQaiIGEOMLGiACQcieBjYCECACQRhqEOMLGiACIAE2AlggAiAFNgJUIAIgBDYCUCACIAcQhBVEAAAAAAAA8L+gRAAAAAAA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ECADIAQ2AhhBGBDVGiIBIANBEGogAigCABDMECABKAIAKAIIEQEAIAAgATYCACADQSBqJAAPCyADIAU2AgAgA0EQakHEtwYgAxCUCkGufiADQRBqQc23BkGApAZB0AIQmAoAC0F7IANBEGpB2bcGEIkDQc23BkGApAZB0gIQmAoAC+YCAQR/IwBBMGsiAiQAIAEQuBsiA0FwSQRAAkACQCADQQtPBEAgA0EQakFwcSIFENUaIQQgAiAFQYCAgIB4cjYCKCACIAQ2AiAgAiADNgIkDAELIAIgAzoAKyACQSBqIQQgA0UNAQsgBCABIAMQrhsaCyADIARqQQA6AAAgAkEAOgAQIAJBADoAGyACQcAAENUaIgM2AgAgAkKygICAgIiAgIB/NwIEIANBADoAMiADQfyoBi8AADsAMCADQfSoBikAADcAKCADQeyoBikAADcAICADQeSoBikAADcAGCADQdyoBikAADcAECADQdSoBikAADcACCADQcyoBikAADcAACAAQQAgAkEgaiACQRBqIAJBLhCRChogAiwAC0F/TARAIAIoAgAQohsLIAIsABtBf0wEQCACKAIQEKIbCyACLAArQX9MBEAgAigCIBCiGwsgAEGIqQY2AgAgAkEwaiQADwsQ2RoAC7ICAQN/IwBB0ABrIgQkACACKAIAQf+fAXFBgIABRgRAIAIoAgghBiACKAIMIQUgBCACKAIQNgI0IAQgBTYCLCAEIAY2AiggBCAFNgIwIARCADcCHCAEIARBGGpBBHI2AhggBCAAKAIINgIUIARBADoAESAEQfyhBi0AADoAECAEQQk6ABMgBEH0oQYpAAA3AwggBCAEQQhqNgJAIARByABqIARBGGogBEEIaiAEQUBrEJAQIAQoAkhBHGogBEEUahCOECAELAATQX9MBEAgBCgCCBCiGwtBGBDVGiICIARBKGogBEEYahDMECADIAIoAgAoAhgRAgAgASACNgIAIARBGGogBCgCHBD/DyAEQdAAaiQADwtBqX4gBEEoakGxmgcQiQNB85oHQYCkBkGGBhCYCgALsgIBA38jAEHQAGsiBCQAIAIoAgBB/58BcUGFgAFGBEAgAigCCCEGIAIoAgwhBSAEIAIoAhA2AjQgBCAFNgIsIAQgBjYCKCAEIAU2AjAgBEIANwIcIAQgBEEYakEEcjYCGCAEIAAo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KAIoEQAANgI0IAIgASABKAIAKAIcEQAANgI4IAIgASABKAIAKAIgEQAANgI8IAJBEGpBMEEBIAMQtBsaIAIgACgCBDYCECACQRBqQQRBASADELQbGiABIAMgASgCACgCFBECAAwCCyADEJoVQXsgAkEQakHYowYQiQNBtqUGQYCkBkH7BRCYCgALIAAoAhAhASACQaSoBigAADYCGCACQgA3ACcgAkEAOgAvIAJBrZoHKAAANgAjIAJBnKgGKQAANwMQIAJBADYCHCACQaqaBygAADYCICACQQQ2AjAgAiABIAEoAgAoAigRAAA2AjQgAiABIAEoAgAoAhwRAAA2AjggAiABIAEoAgAoAiARAAA2AjwgAkEQakEwQQEgAxC0GxogAiAAKAIENgIQIAJBEGpBBEEBIAMQtBsaIAEgAyABKAIAKAIUEQIACyADEJoVIAJBQGskAA8LIAIgASgCACABIAEsAAtBAEgbNgIAIAJBEGpBiKUGIAIQlApBfiACQRBqQbalBkGApAZB1wUQmAoAC40BAQF/IwBB8ABrIgMkACAAIAAoAgAoAhwRAQACQCABEMwHQYCABEYEQCADIAEoAgQQrQYaDAELIAMgARDJBwsgA0E4aiADELQGIABBFGoiASADQThqELkGGiADQThqELEGGiADELEGGiADQThqIAEQrQYhASAAIAIQlRAhACABELEGGiADQfAAaiQAIAALDQAgABCVChogABCiGwuXAgEHfyAAQQRqIQQCQCAAKAIEIgAEQCACKAIAIAIgAi0ACyIDQRh0QRh1QQBIIgUbIQggAigCBCADIAUbIQIDQAJAAkACQAJAAkACQCAAKAIUIAAtABsiAyADQRh0QRh1QQBIIgYbIgMgAiACIANLIgkbIgUEQCAIIABBEGoiBygCACAHIAYbIgcgBRD4FCIGRQRAIAIgA0kNAgwDCyAGQX9KDQIMAQsgAiADTw0CCyAAKAIAIgMNBCABIAA2AgAgAA8LIAcgCCAFEPgUIgMNAQsgCQ0BDAULIANBf0oNBAsgAEEEaiEEIAAoAgQiA0UNAyAEIQALIAAhBCADIQAMAAsACyABIAQ2AgAgBA8LIAEgADYCACAECxgAIAEoAgAiAARAIAAQohsLIAFBADYCAAsMACACQQEQ1Ro2AgALBwAgASgCAAsGAEHkqwYLDgAgAUHsqwZBCxDMAxoLDAAgAiABKAIANgIACwQAIAELBgBB/NIJCw0AIAEgAigCABDNFhoLDAAgAiABKgIAOAIACwYAQazTCQsMACABIAIqAgAQzxYLDAAgAiABLQAAOgAACwYAQbTSCQsMACABIAItAAAQxxYLGABBBBDVGiIAIAEoAgA2AgAgAiAANgIACxsAQQQQ1RoiACABKAIAKAIANgIAIAIgADYCAAsSACACKAIAIAEoAgAoAgA2AgALBgBB0LEGCxAAIAEgAigCACgCABDNFhoLBgBB0LMGCysAIAEoAgAiAARAIAAsAAtBf0wEQCAAKAIAEKIbCyAAEKIbCyABQQA2AgALFgBBDBDVGiIAIAEQ2xoaIAIgADYCAAsZAEEMENUaIgAgASgCABDbGhogAiAANgIACyoAIAIoAgAiACwAC0F/TAR/IAAoAgAQohsgAigCAAUgAAsgASgCABDfGgsEAEEMCwYAQdS8AQspACABAn8gAigCACICLAALQX9MBEAgAigCACECCyACCyACELgbEMwDGgsYAEEIENUaIgAgASsDADkDACACIAA2AgALGwBBCBDVGiIAIAEoAgArAwA5AwAgAiAANgIACxIAIAIoAgAgASgCACsDADkDAAsGAEG40wkLDwAgASACKAIAKwMAENEWC4QDAQd/IwBBQGoiAyQAIABBiLgGNgIAIABBEGoiB0IANwIAIAAgBzYCDCACKAIAIgYgAkEEaiIIRwRAIABBDGohCQNAIAkgByAGIgRBEGoQzRACQCAEKAIEIgVFBEAgBCgCCCIGKAIAIARGDQEgBEEIaiEEA0AgBCgCACIFQQhqIQQgBSAFKAIIIgYoAgBHDQALDAELA0AgBSIGKAIAIgUNAAsLIAYgCEcNAAsLIANBADoAMSADQfyhBi0AADoAMCADQQk6ADMgA0H0oQYpAAA3AyggAiADQShqEM4QIQUgAywAM0F/TARAIAMoAigQohsLIABBADoACAJAIAVB/gFGBEAgA0EIOgATIANBADoAECADQubSsavmrdi25QA3AwggA0EYaiACIANBCGoQzxAgACABIANBGGoQ0BA2AgQgAywAI0F/TARAIAMoAhgQohsLIAMsABNBf0wEQCADKAIIEKIbCyAAQQE6AAgMAQsgACABIAIQ0RA2AgQLIANBQGskACAAC48BAQJ/IwBBEGsiAyQAIAAgASADQQxqIANBCGogAhDvECIEKAIARQRAQSQQ1RoiAUEQaiACEPAQIAEgAygCDDYCCCABQgA3AgAgBCABNgIAAn8gASAAKAIAKAIAIgJFDQAaIAAgAjYCACAEKAIACyECIAAoAgQgAhCNCyAAIAAoAghBAWo2AggLIANBEGokAAu5AQECfyMAQUBqIgMkAAJAIAAgARCBECICIABBBGpHBEAgAigCHCIAIAAoAgAoAhwRAAAoAgRBsLEGRw0BIAIoAhwiACACQSBqIAAoAgAoAhQRAwAoAgAhAiADQUBrJAAgAg8LQTwQFSECIANBIGogA0EQakHkvQYQiQMgARDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgAiADQTBqENMQIAJBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALuAEBAn8jAEFAaiIDJAACQCABIAIQgRAiBCABQQRqRwRAIAQoAhwiASABKAIAKAIcEQAAKAIEQeS7AUcNASAAIAQoAhwiASAEQSBqIAEoAgAoAhQRAwAQ2xoaIANBQGskAA8LQTwQFSEEIANBIGogA0EQakHkvQYQiQMgAhDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgBCADQTBqENMQIARBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALnAMBAn8jAEHwAGsiAiQAAkACQAJAAkAgASgCACABIAEsAAtBAEgbQbulBhCjFSIBBEAgAkEgakEwQQEgARCoFUEBRw0BIAJBIGpBnKgGQQwQ+BQNAiACKAJAQQRHDQMgAigCSCAAKAIARw0EIAIoAkwgACgCBEcNBCACQgA3AhQgAiACQRBqQQRyNgIQIAJBADoACSACQfyhBi0AADoACCACQQk6AAsgAkH0oQYpAAA3AwAgAiACNgJgIAJB6ABqIAJBEGogAiACQeAAahCQECACKAJoQRxqIAJBxABqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyAAIAJBEGoQ0RAiAyABIAMoAgAoAhgRAgAgARCaFSACQRBqIAIoAhQQ/w8LIAJB8ABqJAAgAw8LQTwQFSICQdSnBhCZECACQZCoBkHjBxAWAAtBPBAVIgJBqKgGEJkQIAJBkKgGQeMHEBYACyABEJoVQTwQFSICQZK+BhCZECACQZCoBkHjBxAWAAsgARCaFUE8EBUiAkHWvgYQmRAgAkGQqAZB4wcQFgAL+QIBBn8jAEEQayIDJAAgA0EAOgAJIANB/KEGLQAAOgAIIANBCToACyADQfShBikAADcDACABIAMQzhAhBCADLAALQX9MBEAgAygCABCiGwsCQAJAAkACQAJAAkAgBA4HAAMEAwMBAgMLQSQQ1RoiAkGgvwY2AgAgAiAAKQIANwIEIAIgACkCCDcCDCACQgA3AhggAiACQRhqIgU2AhQgASgCACIAIAFBBGoiBkYNBCACQRRqIQcDQCAHIAUgACIEQRBqEM0QAkAgACgCBCIBRQRAIAQoAggiACgCACAERg0BIARBCGohBANAIAQoAgAiAUEIaiEEIAEgASgCCCIAKAIARw0ACwwBCwNAIAEiACgCACIBDQALCyAAIAZHDQALDAQLQegAENUaIgIgACABEPEQDAMLQcwAENUaIgIgACABEPIQDAILQTwQFSIBQYW/BhCZECABQZCoBkHjBxAWAAtB7AAQ1RoiAiAAIAEQ8xALIANBEGokACACC1QBAX8gACABIAIoAgAgAiACLQALIgFBGHRBGHVBAEgiAxsgAigCBCABIAMbEOcaIgIpAgA3AgAgACACQQhqIgAoAgA2AgggAkIANwIAIABBADYCAAvcAQECfyMAQSBrIgIkACACQQA6ABAgAkEAOgAbIAJBwAAQ1RoiAzYCACACQrKAgICAiICAgH83AgQgA0EAOgAyIANB/KgGLwAAOwAwIANB9KgGKQAANwAoIANB7KgGKQAANwAgIANB5KgGKQAANwAYIANB3KgGKQAANwAQIANB1KgGKQAANwAIIANBzKgGKQAANwAAIABBACABIAJBEGogAkEwEJEKGiACLAALQX9MBEAgAigCABCiGwsgAiwAG0F/TARAIAIoAhAQohsLIABBiKkGNgIAIAJBIGokAAszAQF/IABBiLgGNgIAIAAoAgQiAQRAIAEgASgCACgCBBEBAAsgAEEMaiAAKAIQEP8PIAALNgEBfyAAQYi4BjYCACAAKAIEIgEEQCABIAEoAgAoAgQRAQALIABBDGogACgCEBD/DyAAEKIbCx0AIAAtAAhFBEAgACgCBCIAIAAoAgAoAggRAQALCx4AIAAoAgQiACABIAIgAyAEIAUgACgCACgCDBENAAseACAAKAIEIgAgASACIAMgBCAFIAAo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IQALAkACQAJAAkAgBkH/AXFFDQAgAEUNACAHBEADQCACLQAMIQECQCACIAIoAggiAygCAEcEQAJAAn8gAUH/AXFFBEAgAkEBOgAMIANBADoADCADIAMoAgQiASgCACIENgIEIAQEQCAEIAM2AggLIAEgAygCCDYCCCADKAIIIgQgBCgCACADR0ECdGogATYCACABIAM2AgAgAyABNgIIIAIgACAAIAIoAgAiA0YbIQAgAygCBCECCyACKAIAIgMLBEAgAy0ADEUNAQsgAigCBCIBBEAgAS0ADEUNBwsgAkEAOgAMAkAgACACKAIIIgJGBEAgACECDAELIAItAAwNAwsgAkEBOgAMDwsgAigCBCIBDQUMBgsCQCABQf8BcQRAIAIhAQwBCyACQQE6AAwgA0EAOgAMIAMgAigCBCIBNgIAIAEEQCABIAM2AggLIAIgAygCCDYCCAJAIAMgAygCCCIEKAIARgRAIAQgAjYCACADKAIAIQEMAQsgBCACNgIECyACIAM2AgQgAyACNgIIIAIgACAAIANGGyEACwJAAkAgASgCACIDRQ0AIAMtAAwNACABIQIMAQsCQCABKAIEIgIEQCACLQAMRQ0BCyABQQA6AAwgACABKAIIIgJHBEAgAi0ADA0DCyACQQE6AAwPCyADBEAgAy0ADEUEQCABIQIMAgsgASgCBCECCyACQQE6AAwgAUEAOgAMIAEgAigCACIDNgIEIAMEQCADIAE2AggLIAIgASgCCDYCCCABKAIIIgMgAygCACABR0ECdGogAjYCACACIAE2AgAgASACNgIIIAEhAwsgAiACKAIIIgAtAAw6AAwgAEEBOgAMIANBAToADCAAIAAoAgAiAigCBCIDNgIAIAMEQCADIAA2AggLIAIgACgCCDYCCCAAKAIIIgMgAygCACAAR0ECdGogAjYCACACIAA2AgQgACACNgIIDwsgAigCCCIDIAMoAgAgAkZBAnRqKAIAIQIMAAsACyAEQQE6AAwLDwsgAS0ADA0AIAIhAwwBCyADQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAEQCAAIAI2AggLIAMgAigCCDYCCCACKAIIIgAgACgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIIAIhAQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAFBAToADCACIAIo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BEAgAhCiGyAAKAJIIANqQQA2AgAgACgCECEECyABQQFqIgEgBE4NASAAKAJIIQIMAAsACyAEQQFIDQBB7OQIKAIAIQYDQEF/IAAoAjwiAkECdCACQf////8DcSACRxsQ1RohASAFQQJ0IgMgACgCSGogATYCACACBEAgACgCSCADaigCACEEQQAhAQNAIAQgAUECdGogATYCACABQQFqIgEgAkcNAAsLAkACfyAAKAJQIgJBIE4EQCAAKAJYDAELIAAgACgCZCACajYCZEGAwAAQoRsiAUUEQEHkxQZBG0EBIAYQtBsaQQAhAQwCCyABIAAoAlQ2AgAgACABNgJUQfw/IQIgAUEEagshASAAIAJBIGs2AlAgACABQSBqNgJYIAAgACgCYEEgajYCYAsgACgCRCADaiABNgIAIAAoAkQgA2ooAgAiAUIANwIAIAFCADcCGCABQgA3AhAgAUIANwIIIAAgACgCRCADaigCACAAKAJIIANqKAIAIAAoAjwQhREgACAAKAJEIANqKAIAIAAoAkggA2ooAgAgACgCPCAAKAIMQQAQhhEgBUEBaiIFIAAoAhBIDQALCw8LQTwQFSIBQcDFBhCZECABQZCoBkHjBxAWAAusCgMOfwJ+A3wgACgCQCIKENUaIQ0gACAKIAAoAmhqNgJoQX8gCkEFdCIHIApBA3QiDEH4////A3EgDEcbENUaQQAgBxCvGyEHIAMEfCAMQQFrQQN2IQ8gACgCKCEQIAAoAiwhEQNAIBEgECACIA5BAnRqKAIAbGohC0EAIQlBACEEQQAhBSAKBEADQCAFIAQgC2otAABBgMYGai0AAGohBSAEQQFqIgQgCkcNAAsLIAUgBWytIRNBACEGIAwEQANAIAcgBkECdCIEaiIFIAUoAgAgCSALaiIFLQAAQQFxajYCACAHIARBBHJqIgggCCgCACAFLQAAQQF2QQFxajYCACAHIARBCHJqIgggCCgCACAFLQAAQQJ2QQFxajYCACAHIARBDHJqIgggCCgCACAFLQAAQQN2QQFxajYCACAHIARBEHJqIgggCCgCACAFLQAAQQR2QQFxajYCACAHIARBFHJqIgggCCgCACAFLQAAQQV2QQFxajYCACAHIARBGHJqIgggCCgCACAFLQAAQQZ2QQFxajYCACAHIARBHHJqIgQgBCgCACAFLQAAQQd2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IABBJGogACgCKBD/DyAAKAIEIgIEQAJ/IAIgAiAAKAIIIgFGDQAaA0AgAUHIAGsQsBEiASACRw0ACyAAKAIECyEBIAAgAjYCCCABEKIbCyAAEKIbC8QCAgd/AXwjAEHQAGsiBiQAAkAgACgCMCIBIAAoAggiAiAAKAIEIgRrQcgAbSIDSwRAIABBBGogASADaxCzEQwBCyABIANPDQAgBCABQcgAbGoiASACRwRAA0AgAkHIAGsQsBEiAiABRw0ACwsgACABNgIICyAAKAIwQQFOBEADQCAAKAIEIAVByABsaiIBIAZBCGogACgCICAAKAI0ELQRIgIQtREgAhCwERogACgCHCEEIAAoAhghByABQQxqAn8gACgCECIDIAEoAhhquEQzMzMzMzPzP6IiCEQAAAAAAADwQWMgCEQAAAAAAAAAAGZxBEAgCKsMAQtBAAsQnBFBACECIAMEQANAIAEgAiAEIAIgB2xqELYRIAJBAWoiAiADRw0ACwsgARC3ESAFQQFqIgUgACgCMEgNAAsLIAZB0ABqJAALkgQBBX8gASAAKAIIIgMgACgCBCICa0HIAG1NBEAgACABBH8gAiABQcgAbGohAwNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiADRw0ACyADBSACCzYCBA8LAkACQAJAIAIgACgCACIEa0HIAG0iBSABaiICQeTxuBxJBEAgBUHIAGwCf0EAIAIgAyAEa0HIAG0iA0EBdCIEIAIgBEsbQePxuBwgA0HxuJwOSRsiBUUNABogBUHk8bgcTw0CIAVByABsENUaCyIGaiIDIAFByABsaiEEIAMhAgNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiAERw0ACyAGIAVByABsaiEGIAAoAgQiAiAAKAIAIgFGDQIDQCADQcgAayIDIAJByABrIgIQwREgASACRw0ACyAAIAY2AgggACgCBCECIAAgBDYCBCAAKAIAIQEgACADNgIAIAEgAkYNAwNAIAJByABrELARIgIgAUcNAAsMAwsQ/BoA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CwNAIAIiASgCACICDQALCyABIAdHDQALCyAAQgA3AjAgAEEANgJUIABCADcCPCAAQgA3AkwgAEKAgICAgIAINwJEIAAgACkCDDcCKCADQYyiBi0AADoAOCADQQk6ADsgA0EAOgA5IANBhKIGKQAANwMwAkACQAJAAkAgACAFIAYgA0EwahCBECICRwR/IAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNASACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIABUEgCzYCWCADLAA7QX9MBEAgAygCMBCiGwsgA0EQENUaIgI2AiAgA0KMgICAgIKAgIB/NwIkIAJBADoADCACQaGiBigAADYACCACQZmiBikAADcAACAAIAUgBiADQSBqEIEQIgJHBH8gAigCHCIBIAEoAgAoAhwRAAAoAgRBrLMGRw0CIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgAFQQALNgJgIAMsACtBf0wEQCADKAIgEKIbCyADQQU6ABsgA0EAOgAVIANB/qEGKAAANgIQIANBgqIGLQAAOgAUIAACf0EEIAUgBiADQRBqEIEQIgJGDQAaIAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNAyACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIACzYCXCADLAAbQX9MBEAgAygCEBCiGwsgA0EAOgAJIANB6qIGLQAAOgAIIANBCToACyADQeKiBikAADcDACAAAn9B5AAgBSAGIAMQgRAiAkYNABogAigCHCIBIAEoAgAoAhwRAAAoAgRBgNMJKAIARw0EIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgALNgJkIAMsAAtBf0wEQCADKAIAEKIbC0HFDSECAkACQAJAAkACQCAAKAJgDgQEAwABAgtBxg0hAgwDC0HHDSECDAILQTwQFSICQczCBhCZECACQZCoBkHjBxAWAAtByA0hAgsgACACNgIEIABBADYCCCAAQX8gACgCXCIEQQJ0IARB/////wNxIARHGyICENUaIgE2AjAgACACENUaNgI0QQEhAgJAIARBAUgNACABQQA2AgAgACgCNEEANgIAIARBAUYNAANAIAJBAnQiASAAKAIwakEANgIAIAAoAjQgAWpBADYCACACQQFqIgIgBEcNAAsLIANBQGskAA8LQQEQFUGc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ACgCRCIDRQ0AIAAoAhAiBUEBSA0AQQAhBANAIAMgBEECdGooAgAiAwRAIAAgAxCbEiAAKAIQIQULIARBAWoiBCAFTg0BIAAoAkQhAwwACwALAkACQAJAAkACQCAAQQxqIgdBBEEBIAEQqBVBAUYEQCAAQRRqIghBBEEBIAEQqBVBAUcNASAAQegAakEEQQEgARCoFUEBRw0CIABBHGoiCUEEQQEgARCoFUEBRw0DIABBEGoiCkEEQQEgARCoFUEBRw0EIABBfyAAKAIQIgRBAnQgBEH/////A3EgBEcbENUaNgJIIARBAU4EQEEAIQMDQEF/IAAoAjwiBEECdCAEQf////8DcSAERxsQ1RohBiADQQJ0IgUgACgCSGogBjYCACAAKAJIIAVqKAIAQQQgBCABEKgVIARHDQcgACABIAAoAkQgBWogAxCjEiADQQFqIgMgACgCEEgNAAsLIAIgACAAKAIAKAIoEQAANgIQIAJBADoACSACQQhqIgNB/KEGLQAAOgAAIAJBCToACyACQfShBikAADcDACACIAI2AiAgAkEoaiAAQTBqIgQgAiACQSBqEJAQIAIoAihBHGogAkEQahCOECACLAALQX9MBEAgAigCABCiGwsgAkEAOgAJIANBjKIGLQAAOgAAIAJBCToACyACQYSiBikAADcDACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIAcQhhAgAiwAC0F/TARAIAIoAgAQohsLIAJBBToACyACQQA6AAUgAkH+oQYoAAA2AgAgAkGCogYtAAA6AAQgAiACNgIgIAJBKGogBCACIAJBIGoQkBAgAigCKEEcaiAKEIYQIAIsAAtBf0wEQCACKAIAEKIbCyACQZaiBi8AADsBCCACQYAUOwEKIAJBjqIGKQAANwMAIAIgAjYCICACQShqIAQgAiACQSBqEJAQIAIoAihBHGogCBCGECACLAALQX9MBEAgAigCABCiGwsgAkEQENUaIgM2AgAgAkKMgICAgIKAgIB/NwIEIANBADoADCADQaGiBigAADYACCADQZmiBikAADcAACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIABBGGoQkRAgAiwAC0F/TARAIAIoAgAQohsLIAJBADoACCACQuPE/crmjdmy+AA3AwAgAkEIOgALIAIg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IGoQugYhCiAFIAQ2AiQgBSABNgIgIAVCgICAgPj/////ADcDECAFQTBqIAggBUEgaiAFQRBqELoGIQEgACgCLCELIAVCADcDKCAFIAk2AiQgBUGAgIQINgIgIAUgCjYCFCAFQYCAhBA2AhAgBUIANwMYIAUgATYCBCAFQYCAhBA2AgAgBUIANwMIIAsgBUEgaiAFQRBqIAUgDCAGIAAoAiQgCygCACgCEBFDABogARCxBhogChCxBhogCRCxBhogBCIBIAUoAtACSA0ACwsgAEE0aiAHIAggAhDoEyAIELEGGiAHELEGGiAFQcgCahCxBhogBUGAA2okAAuXAQECfyAAQfycBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgJGDQAaA0AgAkEwaxDYCiICIAFHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiAkYNABoDQCACQThrELEGIgIgAUcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogAAvTAQECfyAAQaybBzYCNCAAQfCfBzYCACAAKAJwIgEEQCAAIAE2AnQgARCiGwsgAEE4ahCxBhoCQCAAKAIwIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAigiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCICIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDrExogAAsKACAAEOwTEKIbCxYAIABBhKYHNgIAIABBDGoQ7BMaIAALGQAgAEGEpgc2AgAgAEEMahDsExogABCiGwsWACAAQfimBzYCACAAQQxqEJ0QGiAACxkAIABB+KYHNgIAIABBDGoQnRAaIAAQohsLFQAgAEHopwc2AgAgAEEMahD+DyAACxgAIABB6KcHNgIAIABBDGoQ/g8gABCiGwsKACAAQQxqEP4PC1sBA3wgASsDCCECIAErAxAhAyABKwMAIQQgAEIANwNAIAAgBDkDOCAAQgA3AyAgACADOQMYIAAgAjkDECAAQgA3AwAgACACmjkDMCAAIASaOQMoIAAgA5o5AwgLhQIBCHwgACABKwMAIgIgAqIgASsDCCID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IABBDGoPCyADIAJB9LEHENUDAAvhAQEFfyMAQRBrIgUkAEEwENUaIgNCADcCBCADQYSqBzYCACABKAIEIQQgASgCCCEGIANBEGoiBxDjCxogA0IANwIcIANBiKsHNgIQQQAhASADQQA2AiQgAyACrEL/////DyACGzcDKCADIAY2AhggAyAENgIUIAVBADYCCCAFQgA3AwBBACECAkAgBARAIARBgICAgARPDQEgBEECdCIEENUaIgJBACAEEK8bIARqIQELIAMgATYCJCADIAE2AiAgAyACNgIcIAAgAzYCBCAAIAc2AgAgBUEQaiQADwsQ/BoAC3wBBH8gAEGktAc2AgwgAEGYswc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIABBDGoQ4wsaIAALfwEEfyAAQaS0BzYCDCAAQZizBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCEAshAiAAIAE2AhQgAhCiGwsgAEEMahDjCxogABCiGwtwAQR/IABBpLQHNgIAIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC3MBBH8gAEGktAc2AgAgACgCBCIBBEACfyABIAEgACgCCCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAgQLIQIgACABNgIIIAIQohsLIAAQ4wsaIAAQohsLDQAgACgCBCABQQxsagsVACAAQai2BzYCACAAQQxqEP4PIAALGAAgAEGotgc2AgAgAEEMahD+DyAAEKIbCxUAIABBpLcHNgIAIABBDGoQ/g8gAAsYACAAQaS3BzYCACAAQQxqEP4PIAAQohsL1wEBBH8gAEGguQc2AgwgAEGcuAc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsLIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAQQxqEOMLGiAACwoAIAAQkRQQohsLywEBBH8gAEGguQc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC84BAQR/IABBoLkHNgIAIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAKAIEIgEEQAJ/IAEgASAAKAIIIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogABCiGwsNACAAKAIQIAFBDGxqC4kBAQR/IABB9LsHNgIMIABB8LoHNgIAIAAoAhwiAQRAAn8gASABIAAoAiAiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIcCyECIAAgATYCICACEKIbCyAAQRBqIAAoAhQQlxQgAEEMahDjCxogAAs2ACABBEAgACABKAIAEJcUIAAgASgCBBCXFCABKAIgIgAEQCABIAA2AiQgABCiGwsgARCiGwsLjAEBBH8gAEH0uwc2AgwgAEHwugc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsL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OQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAJBmgVGDQAgAkEqRw0BCwJ/An8CfyABKAIIIgIEQCAAKAIoIAIgAxECACAAKAIcIQELIAEoAkQiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAkAiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAjgiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAAoAiggASAAKAIkEQIAIABBADYCHAsLmQIBA39BfiECAkAgAEUNACAAKAIgRQ0AIAAoAiRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCBCIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsgAEECNgIsIABBADYCCCAAQgA3AhQgAUEANgIUIAEgASgCCDYCECABKAIYIgJBf0wEQCABQQAgAmsiAjYCGAsgAUE5QSpB8QAgAhsgAkECRhs2AgQgAAJ/IAJBAkYEQEEAQQBBABCpFAwBC0EAQQBBABCnFAs2AjBBACECIAFBADYCKCABEMEUCyACC7cBAQJ/IAAQrBRFBEAgACgCHCIAIAAoAixBAXQ2AjwgACgCRCIBIAAoAkxBAXRBAmsiAmpBADsBACABQQAgAhCvGxogAEEANgK0LSAAQoCAgIAgNwJ0IABCADcCaCAAQoCAgIAgNwJcIABBADYCSCAAIAAoAoQBQQxsIgFB5P4Hai8BADYCkAEgACABQeD+B2ovAQA2AowBIAAgAUHi/gdqLwEANgKAASAAIAFB5v4Hai8BADYCfAsLoAYBCn8gACgCLCIHQYYCayEJIAAoAnQhBSAHIQEDQCAAKAI8IAVrIAAoAmwiCGshBiABIAlqIAhNBEAgACgCOCIBIAEgB2ogByAGaxCuGxogACAAKAJwIAdrNgJwIAAgACgCbCAHayIINgJsIAAgACgCXCAHazYCXCAAKAJEIAAoAkwiA0EBdGohASAAKAIsIQIDQCABQQJrIgFBACABLwEAIgQgAmsiBSAEIAVJGzsBACADQQFrIgMNAAsgACgCQCACQQF0aiEBIAIhAwNAIAFBAmsiAUEAIAEvAQAiBCACayIFIAQgBUkbOwEAIANBAWsiAw0ACyAGIAdqIQYLAkAgACgCACIBKAIEIgNFDQAgACgCdCEEIAYgAyADIAZLGyICBEAgACgCOCEFIAEgAyACazYCBCAFIAhqIARqIAEoAgAgAhCuGyEDAkACQAJAIAEoAhwoAhhBAWsOAgABAgsgASABKAIwIAMgAhCnFDYCMAwBCyABIAEoAjAgAyACEKkUNgIwCyABIAEoAgAgAmo2AgAgASABKAIIIAJqNgIIIAAoAnQhBAsgACACIARqIgU2AnQCQCAAKAK0LSICIAVqQQNJDQAgACAAKAI4IgYgACgCbCACayIBaiIDLQAAIgQ2AkggACAAKAJUIgogAy0AASAEIAAoAlgiCHRzcSIDNgJIA0AgAkUNASAAIAEgBmotAAIgAyAIdHMgCnEiAzYCSCAAKAJAIAAoAjQgAXFBAXRqIAAoAkQgA0EBdGoiBC8BADsBACAEIAE7AQAgACACQQFrIgI2ArQtIAFBAWohASACIAVqQQJLDQALCyAFQYUCSw0AIAAoAgAoAgRFDQAgACgCLCEBDAELCwJAIAAoAjwiAyAAKALALSIBTQ0AIAAoAnQgACgCbGoiAiABSwRAIAAoAjggAmpBACADIAJrIgFBggIgAUGCAkkbIgEQrxsaIAAgASACajYCwC0PCyACQYICaiICIAFNDQAgACgCOCABakEAIAMgAWsiAyACIAFrIgEgASADSxsiARCvGxogACAAKALALSABajYCwC0LC4M2AQp/QX4hAwJAIABFDQAgACgCIEUNACAAKAIkRQ0AIAAoAhwiAkUNACACKAIAIABHDQACQAJAIAIoAgQiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAFBBUsNAAJAAkAgACgCDEUNACAAKAIEIgMEQCAAKAIARQ0BCyABQQRGDQEgBEGaBUcNAQsgAEGgrggoAgA2AhhBfg8LIAAoAhBFBEAgAEGsrggoAgA2AhhBew8LIAIoAighBiACIAE2AigCQCACKAIUBEAgAhDEFAJAIAAoAhAiBCACKAIUIgUgBCAFSRsiA0UNACAAKAIMIAIoAhAgAxCuGxogACAAKAIMIANqNgIMIAIgAigCECADajYCECAAIAAoAhQgA2o2AhQgACAAKAIQIANrIgQ2AhAgAiACKAIUIANrIgU2AhQgBQ0AIAIgAigCCDYCEEEAIQULIAQEQCACKAIEIQQMAgsgAkF/NgIoQQAPCyADDQAgAUEERg0AIAFBAXRBd0EAIAFBBEobaiAGQQF0QXdBACAGQQRKG2pKDQAgAEGsrggoAgA2AhhBew8LAkACQAJAAkACfwJAAkACQAJAAkACQCAEQSpHBEAgBEGaBUcNASAAKAIERQ0CIABBrK4IKAIANgIYQXsPCyACKAIwQQx0QYDwAWshBEEAIQMCQCACKAKIAUEBSg0AIAIoAoQBIgZBAkgNAEHAACEDIAZBBkgNAEGAAUHAASAGQQZGGyEDCyACIAVBAWo2AhQgAigCCCAFaiADIARyIgNBIHIgAyACKAJsGyIDQQh2OgAAIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EfcCADckEfczoAACACKAJsBEAgACgCMCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EYdjoAACACIAIoAhQiBEEBajYCFCAEIAIoAghqIANBEHY6AAAgACgCMCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EIdjoAACACIAIoAhQiBEEBajYCFCAEIAIoAghqIAM6AAALIABBAEEAQQAQpxQ2AjAgAkHxADYCBCAAKAIcIgMQxBQCQCAAKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgACgCDCADKAIQIAQQrhsaIAAgACgCDCAEajYCDCADIAMoAhAgBGo2AhAgACAAKAIUIARqNgIUIAAgACgCECAEazYCECADIAMoAhQgBGsiBDYCFCAEDQAgAyADKAIINgIQCyACKAIUDQQgAigCBCEECwJAAkACQAJAAkACQAJAIARBOUYEfyAAQQBBAEEAEKkUNgIwIAIgAigCFCIDQQFqNgIUIAMgAigCCGpBHzoAACACIAIoAhQiA0EBajYCFCADIAIoAghqQYsBOgAAIAIgAigCFCIDQQFqNgIUIAMgAigCCGpBCDoAACACKAIcIgMNAiACIAIoAhQiA0EBajYCFCADIAIoAghqQQA6AAAgAiACKAIUIgNBAWo2AhQgAyACKAIIakEAOgAAIAIgAigCFCIDQQFqNgIUIAMgAigCCGpBADoAACACIAIoAhQiA0EBajYCFCADIAIoAghqQQA6AAAgAiACKAIUIgNBAWo2AhQgAyACKAIIakEAOgAAQQIhAyACKAKEASIEQQlHBEBBBCACKAKIAUEBSkECdCAEQQJIGyEDCyACIAIoAhQiBEEBajYCFCAEIAIoAghqIAM6AAAgAiACKAIUIgNBAWo2AhQgAyACKAIIakEDOgAAIAJB8QA2AgQgACgCHCIDEMQUAkAgACgCECIEIAMoAhQiBSAEIAVJGyIERQ0AIAAoAgwgAygCECAEEK4bGiAAIAAoAgwgBGo2AgwgAyADKAIQIARqNgIQIAAgACgCFCAEajYCFCAAIAAoAhAgBGs2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgAigCFA0BIAIoAgQFIAQLQcUAaw4jAgYGBgMGBgYGBgYGBgYGBgYGBgYGBgQGBgYGBgYGBgYGBgUGCyACQX82AihBAA8LIAMoAiQhBCADKAIcIQUgAygCECEGIAMoAiwhByADKAIAIQkgAiACKAIUIghBAWo2AhRBAiEDIAggAigCCGogB0EAR0EBdCAJQQBHciAGQQBHQQJ0ciAFQQBHQQN0ciAEQQBHQQR0cjoAACACKAIcKAIEIQQgAiACKAIUIgVBAWo2AhQgBSACKAIIaiAEOgAAIAIoAhwoAgQhBCACIAIoAhQiBUEBajYCFCAFIAIoAghqIARBCHY6AAAgAigCHC8BBiEEIAIgAigCFCIFQQFqNgIUIAUgAigCCGogBDoAACACKAIcLQAHIQQgAiACKAIUIgVBAWo2AhQgBSACKAIIaiAEOgAAIAIoAoQBIgRBCUcEQEEEIAIoAogBQQFKQQJ0IARBAkgbIQMLIAIgAigCFCIEQQFqNgIUIAQgAigCCGogAzoAACACKAIcKAIMIQMgAiACKAIUIgRBAWo2AhQgBCACKAIIaiADOgAAIAIoAhwiAygCEAR/IAMoAhQhAyACIAIoAhQiBEEBajYCFCAEIAIoAghqIAM6AAAgAigCHCgCFCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EIdjoAACACKAIcBSADCygCLARAIAAgACgCMCACKAIIIAIoAhQQqRQ2AjALIAJBxQA2AgQgAkEANgIgCyACKAIcIgUoAhAiBARAIAIoAhQiAyAFLwEUIAIoAiAiB2siBmogAigCDCIFSwRAA0AgAigCCCADaiAEIAdqIAUgA2siBRCuGxogAiACKAIMIgQ2AhQCQCADIARPDQAgAigCHCgCLEUNACAAIAAoAjAgAigCCCADaiAEIANrEKkUNgIwCyACIAIoAiAgBWo2AiAgACgCHCIDEMQUAkAgACgCECIEIAMoAhQiByAEIAdJGyIERQ0AIAAoAgwgAygCECAEEK4bGiAAIAAoAgwgBGo2AgwgAyADKAIQIARqNgIQIAAgACgCFCAEajYCFCAAIAAoAhAgBGs2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgAigCFARAIAJBfzYCKEEADwsgAigCICEHIAIoAhwoAhAhBEEAIQMgBiAFayIGIAIoAgwiBUsNAAsLIAIoAgggA2ogBCAHaiAGEK4bGiACIAIoAhQgBmoiBDYCFAJAIAMgBE8NACACKAIcKAIsRQ0AIAAgACgCMCACKAIIIANqIAQgA2sQqRQ2AjALIAJBADYCIAsgAkHJADYCBAsgAigCHCgCHARAIAIoAhQiAyEGA0ACQCADIAIoAgxHDQACQCADIAZNDQAgAigCHCgCLEUNACAAIAAoAjAgAigCCCAGaiADIAZrEKkUNgIwCyAAKAIcIgMQxBQCQCAAKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgACgCDCADKAIQIAQQrhsaIAAgACgCDCAEajYCDCADIAMoAhAgBGo2AhAgACAAKAIUIARqNgIUIAAgACgCECAEazYCECADIAMoAhQgBGsiBDYCFCAEDQAgAyADKAIINgIQC0EAIQNBACEGIAIoAhRFDQAgAkF/NgIoQQAPCyACKAIcKAIcIQQgAiACKAIgIgVBAWo2AiAgBCAFai0AACEEIAIgA0EBajYCFCACKAIIIANqIAQ6AAAgBARAIAIoAhQhAwwBCwsCQCACKAIcKAIsRQ0AIAIoAhQiAyAGTQ0AIAAgACgCMCACKAIIIAZqIAMgBmsQqRQ2AjALIAJBADYCIAsgAkHbADYCBAsCQCACKAIcKAIkRQ0AIAIoAhQiAyEGA0ACQCADIAIoAgxHDQACQCADIAZNDQAgAigCHCgCLEUNACAAIAAoAjAgAigCCCAGaiADIAZrEKkUNgIwCyAAKAIcIgMQxBQCQCAAKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgACgCDCADKAIQIAQQrhsaIAAgACgCDCAEajYCDCADIAMoAhAgBGo2AhAgACAAKAIUIARqNgIUIAAgACgCECAEazYCECADIAMoAhQgBGsiBDYCFCAEDQAgAyADKAIINgIQC0EAIQNBACEGIAIoAhRFDQAgAkF/NgIoQQAPCyACKAIcKAIkIQQgAiACKAIgIgVBAWo2AiAgBCAFai0AACEEIAIgA0EBajYCFCACKAIIIANqIAQ6AAAgBARAIAIoAhQhAwwBCwsgAigCHCgCLEUNACACKAIUIgMgBk0NACAAIAAoAjAgAigCCCAGaiADIAZrEKkUNgIwCyACQecANgIECyACKAIcKAIsBEAgAigCDCACKAIUIgNBAmpJBEAgACgCHCIDEMQUAkAgACgCECIEIAMoAhQiBSAEIAVJGyIERQ0AIAAoAgwgAygCECAEEK4bGiAAIAAoAgwgBGo2AgwgAyADKAIQIARqNgIQIAAgACgCFCAEajYCFCAAIAAoAhAgBGs2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgAigCFA0FQQAhAwsgACgCMCEEIAIgA0EBajYCFCACKAIIIANqIAQ6AAAgACgCMCEDIAIgAigCFCIEQQFqNgIUIAQgAigCCGogA0EIdjoAACAAQQBBAEEAEKkUNgIwCyACQfEANgIEIAAoAhwiAxDEFAJAIAAoAhAiBCADKAIUIgUgBCAFSRsiBEUNACAAKAIMIAMoAhAgBBCuGxogACAAKAIMIARqNgIMIAMgAygCECAEajYCECAAIAAoAhQgBGo2AhQgACAAKAIQIARrNgIQIAMgAygCFCAEayIENgIUIAQNACADIAMoAgg2AhALIAIoAhRFDQAgAkF/NgIoQQAPCyAAKAIEDQELIAIoAnQNACABRQ0IIAIoAgRBmgVGDQgLIAIoAoQBIgNFBEAgAiABELAUDAQLAkACQCACKAKIAUECaw4CAAEECwNAAkACQCACKAJ0DQAgAhCuFCACKAJ0DQAgAUUNCEEAIQMgAkEANgK0LSABQQRHDQEgAiACKAJcIgRBAE4EfyACKAI4IARqBSADCyACKAJsIARrQQEQxhQgAiACKAJsNgJcIAIoAgAiAygCHCIEEMQUAkAgAygCECIFIAQoAhQiBiAFIAZJGyIFRQ0AIAMoAgwgBCgCECAFEK4bGiADIAMoAgwgBWo2AgwgBCAEKAIQIAVqNgIQIAMgAygCFCAFajYCFCADIAMoAhAgBWs2AhAgBCAEKAIUIAVrIgM2AhQgAw0AIAQgBCgCCDYCEAtBA0ECIAIoAgAoAhAbDAcLIAJBADYCYCACKAI4IAIoAmxqLQAAIQMgAigCpC0gAigCoC0iBEEBdGpBADsBACACIARBAWo2AqAtIAQgAigCmC1qIAM6AAAgAiADQQJ0akGUAWoiAyADLwEAQQFqOwEAIAIgAigCdEEBazYCdCACIAIoAmxBAWoiAzYCbCACKAKgLSACKAKcLUEBa0cNAUEAIQQgAiACKAJcIgVBAE4EfyACKAI4IAVqBSAECyADIAVrQQAQxhQgAiACKAJsNgJcIAIoAgAiAygCHCIEEMQUAkAgAygCECIFIAQoAhQiBiAFIAZJGyIFRQ0AIAMoAgwgBCgCECAFEK4bGiADIAMoAgwgBWo2AgwgBCAEKAIQIAVqNgIQIAMgAygCFCAFajYCFCADIAMoAhAgBWs2AhAgBCAEKAIUIAVrIgM2AhQgAw0AIAQgBCgCCDYCEAsgAigCACgCEA0BDAcLCyACKAKgLUUNByACIAIoAlwiBEEATgR/IAIoAjggBGoFIAMLIAIoAmwgBGtBABDGFCACIAIoAmw2AlwgAigCACIDKAIcIgQQxBQCQCADKAIQIgUgBCgCFCIGIAUgBkkbIgVFDQAgAygCDCAEKAIQIAUQrhsaIAMgAygCDCAFajYCDCAEIAQoAhAgBWo2AhAgAyADKAIUIAVqNgIUIAMgAygCECAFazYCECAEIAQoAhQgBWsiAzYCFCADDQAgBCAEKAIINgIQCyACKAIAKAIQRQ0FDAcLA0ACQAJAAkAgAigCdCIDQYMCTwRAIAJBADYCYAwBCyACEK4UIAFFQQAgAigCdCIDQYMCSRsNCCADBEAgAkEANgJgIANBAksNASACKAJsIQQMAgtBACEDIAJBADYCtC0gAUEERgRAIAIgAigCXCIEQQBOBH8gAigCOCAEagUgAwsgAigCbCAEa0EBEMYUIAIgAigCbDYCXCACKAIAIgMoAhwiBBDEFAJAIAMoAhAiBSAEKAIUIgYgBSAGSRsiBUUNACADKAIMIAQoAhAgBRCuGxogAyADKAIMIAVqNgIMIAQgBCgCECAFajYCECADIAMoAhQgBWo2AhQgAyADKAIQIAVrNgIQIAQgBCgCFCAFayIDNgIUIAMNACAEIAQoAgg2AhALQQNBAiACKAIAKAIQGwwICyACKAKgLUUNCiACIAIoAlwiBEEATgR/IAIoAjggBGoFIAMLIAIoAmwgBGtBABDGFCACIAIoAmw2AlwgAigCACIDKAIcIgQQxBQCQCADKAIQIgUgBCgCFCIGIAUgBkkbIgVFDQAgAygCDCAEKAIQIAUQrhsaIAMgAygCDCAFajYCDCAEIAQoAhAgBWo2AhAgAyADKAIUIAVqNgIUIAMgAygCECAFazYCECAEIAQoAhQgBWsiAzYCFCADDQAgBCAEKAIINgIQCyACKAIAKAIQRQ0IDAoLIAIoAmwiBEUEQEEAIQQMAQsgAigCOCAEaiIHQQFrIgYtAAAiBSAHLQAARw0AIAUgBi0AAkcNACAFIAYtAANHDQAgB0GCAmohCkF/IQkCQAJAAkACQAJAAkADQCAHIAlqIgYtAAQgBUYEQCAFIAYtAAVHDQIgBSAGLQAGRw0DIAUgBi0AB0cNBCAFIAcgCUEIaiILaiIILQAARw0HIAUgBi0ACUcNBSAFIAYtAApHDQYgBkELaiEIIAlB9gFKDQcgCyEJIAUgCC0AAEYNAQwHCwsgBkEEaiEIDAULIAZBBWohCAwECyAGQQZqIQgMAwsgBkEHaiEIDAILIAZBCWohCAwBCyAGQQpqIQgLIAIgAyAIIAprQYICaiIFIAMgBUkbIgM2AmAgA0EDSQ0AIAIoAqQtIAIoAqAtIgRBAXRqQQE7AQAgAiAEQQFqNgKgLSAEIAIoApgtaiADQQNrIgM6AAAgA0H/AXFB8JsIai0AAEECdCACakGYCWoiAyADLwEAQQFqOwEAIAJB8JcILQAAQQJ0akGIE2oiAyADLwEAQQFqOwEAIAIoAmAhAyACQQA2AmAgAiACKAJ0IANrNgJ0IAIgAyACKAJsaiIDNgJsIAIoAqAtIAIoApwtQQFrRw0CDAELIAIoAjggBGotAAAhAyACKAKkLSACKAKgLSIEQQF0akEAOwEAIAIgBEEBajYCoC0gBCACKAKYLWogAzoAACACIANBAnRqQZQBaiIDIAMvAQBBAWo7AQAgAiACKAJ0QQFrNgJ0IAIgAigCbEEBaiIDNgJsIAIoAqAtIAIoApwtQQFrRw0BC0EAIQQgAiACKAJcIgVBAE4EfyACKAI4IAVqBSAECyADIAVrQQAQxhQgAiACKAJsNgJcIAIoAgAiAygCHCIEEMQUAkAgAygCECIFIAQoAhQiBiAFIAZJGyIFRQ0AIAMoAgwgBCgCECAFEK4bGiADIAMoAgwgBWo2AgwgBCAEKAIQIAVqNgIQIAMgAygCFCAFajYCFCADIAMoAhAgBWs2AhAgBCAEKAIUIAVrIgM2AhQgAw0AIAQgBCgCCDYCEAsgAigCACgCEA0ACwwECyACQX82AihBAA8LIAJBfzYCKEEADwsgAiABIANBDGxB6P4HaigCABEDAAsiA0F+cUECRgRAIAJBmgU2AgQLIANBfXENAQtBACEDIAAoAhANAyACQX82AihBAA8LIANBAUcNAQsCQAJAAkAgAUEBaw4FAAEBAQIBCyACEMUUDAELIAJBAEEAQQAQwxQgAUEDRw0AIAIoAkQiAyACKAJMQQF0QQJrIgRqQQA7AQAgA0EAIAQQrxsaIAIoAnQNACACQQA2ArQtIAJBADYCXCACQQA2AmwLIAAoAhwiAxDEFAJAIAAoAhAiBSADKAIUIgQgBCAFSxsiBEUNACAAKAIMIAMoAhAgBBCuGxogACAAKAIMIARqNgIMIAMgAygCECAEajYCECAAIAAoAhQgBGo2AhQgACAAKAIQIARrIgU2AhAgAyADKAIUIARrIgQ2AhQgBA0AIAMgAygCCDYCEAsgBQ0AIAJBfzYCKEEADwtBACEDIAFBBEcNAEEBIQMgAigCGCIBQQFIDQAgACgCMCEDAn8gAUECRgRAIAIgAigCFCIBQQFqNgIUIAEgAigCCGogAzoAACAAKAIwIQMgAiACKAIUIgFBAWo2AhQgASACKAIIaiADQQh2OgAAIAAvATIhAyACIAIoAhQiAUEBajYCFCABIAIoAghqIAM6AAAgAC0AMyEDIAIgAigCFCIBQQFqNgIUIAEgAigCCGogAzoAACAAKAIIIQMgAiACKAIUIgFBAWo2AhQgASACKAIIaiADOgAAIAAoAgghAyACIAIoAhQiAUEBajYCFCABIAIoAghqIANBCHY6AAAgAC8BCiEDIAIgAigCFCIBQQFqNgIUIAEgAigCCGogAzoAACAALQALIQMgAiACKAIUIgFBAWo2AhQgASACKAIIagwBCyACIAIoAhQiAUEBajYCFCABIAIoAghqIANBGHY6AAAgAiACKAIUIgFBAWo2AhQgASACKAIIaiADQRB2OgAAIAAoAjAhAyACIAIoAhQiAUEBajYCFCABIAIoAghqIANBCHY6AAAgAiACKAIUIgFBAWo2AhQgASACKAIIagsgAzoAACAAKAIcIgMQxBQCQCAAKAIQIgEgAygCFCIEIAEgBEkbIgFFDQAgACgCDCADKAIQIAEQrhsaIAAgACgCDCABajYCDCADIAMoAhAgAWo2AhAgACAAKAIUIAFqNgIUIAAgACgCECABazYCECADIAMoAhQgAWsiADYCFCAADQAgAyADKAIINgIQCyACKAIYIgBBAU4EQCACQQAgAGs2AhgLIAIoAhRFIQMLIAMLxw0BC38gACgCACIEKAIEIQlBASEIAkAgBCgCECIDIAAoArwtQSpqQQN1IgJJDQAgACgCLCIFIAAoAgxBBWsiBiAFIAZJGyEKIAFBBEchCwNAIAogAyACayIDIAAoAmwgACgCXGsiBiAEKAIEaiICQf//AyACQf//A0kbIgUgAyAFSRsiA0sEQCACIANHDQIgAUUNAiALIANFcQ0CCyAAQQBBACABQQRGIAIgA0ZxIgcQwxQgACgCFCAAKAIIakEEayADOgAAIAAoAhQgACgCCGpBA2sgA0EIdjoAACAAKAIUIAAoAghqQQJrIANBf3MiAjoAACAAKAIUIAAoAghqQQFrIAJBCHY6AAAgACgCACICKAIcIgQQxBQCQCACKAIQIgUgBCgCFCIMIAUgDEkbIgVFDQAgAigCDCAEKAIQIAUQrhsaIAIgAigCDCAFajYCDCAEIAQoAhAgBWo2AhAgAiACKAIUIAVqNgIUIAIgAigCECAFazYCECAEIAQoAhQgBWsiAjYCFCACDQAgBCAEKAIINgIQCwJ/IAYEQCAAKAIAKAIMIAAoAjggACgCXGogAyAGIAMgBkkbIgIQrhsaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJcIAJqNgJcIAMgAmshAwsgAwsEQCAAKAIAIgIoAgwhBSADIAIoAgQiBiADIAZJGyIEBEAgAiAGIARrNgIEIAUgAigCACAEEK4bIQUCQAJAAkAgAigCHCgCGEEBaw4CAAECCyACIAIoAjAgBSAEEKcUNgIwDAELIAIgAigCMCAFIAQQqRQ2AjALIAIgAigCACAEajYCACACIAIoAgggBGo2AgggACgCACICKAIMIQULIAIgAyAFajYCDCACIAIoAhAgA2s2AhAgAiACKAIUIANqNgIUCyAAKAIAIQQgBwRAQQAhCAwCCyAEKAIQIgMgACgCvC1BKmpBA3UiAk8NAAsLAkAgCSAEKAIEayIDRQRAIAAoAmwhAgwBCwJAIAAoAiwiAiADTQRAIABBAjYCsC0gACgCOCAEKAIAIAJrIAIQrhsaIAAgACgCLCIENgJsIAQhAgwBCwJAIAAoAjwgACgCbCIEayADSw0AIAAgBCACayIENgJsIAAoAjgiBSACIAVqIAQQrhsaIAAoArAtIgJBAUsNACAAIAJBAWo2ArAtCyAAKAI4IAAoAmxqIAAoAgAoAgAgA2sgAxCuGxogACAAKAJsIANqIgI2AmwgACgCLCEECyAAIAI2AlwgACAEIAAoArQtIgVrIgQgAyADIARLGyAFajYCtC0LIAIgACgCwC1LBEAgACACNgLALQtBAyEDAkAgCEUNACAAKAIAIgQoAgQhAwJAAkAgAUF7cUUNACADDQBBASEDIAIgACgCXEYNAiAAKAI8IAJBf3NqIQVBACEDDAELIAMgACgCPCACQX9zaiIFTQ0AIAAoAlwiByAAKAIsIgZIDQAgACACIAZrIgM2AmwgACAHIAZrNgJcIAAoAjgiAiACIAZqIAMQrhsaIAAoArAtIgNBAU0EQCAAIANBAWo2ArAtCyAAKAIsIAVqIQUgACgCACIEKAIEIQMLAkAgAyAFIAMgBUkbIgJFBEAgACgCbCEDDAELIAAoAmwhBSAAKAI4IQYgBCADIAJrNgIEIAUgBmogBCgCACACEK4bIQMCQAJAAkAgBCgCHCgCGEEBaw4CAAECCyAEIAQoAjAgAyACEKcUNgIwDAELIAQgBCgCMCADIAIQqRQ2AjALIAQgBCgCACACajYCACAEIAQoAgggAmo2AgggACAAKAJsIAJqIgM2AmwLIAMgACgCwC1LBEAgACADNgLALQsgAyAAKAJcIgZrIgQgACgCLCIDIAAoAgwgACgCvC1BKmpBA3VrIgJB//8DIAJB//8DSRsiAiACIANLG0kEQEEAIQMgAUUNASABQQRGIARBAEdyRQ0BIAIgBEkNASAAKAIAKAIEDQELQQAhBSAAIAAoAjggBmogAiAEIAIgBEkbIgMCfyABQQRGBEAgACgCACgCBEUgAiAET3EhBQsgBQsQwxQgACAAKAJcIANqNgJcIAAoAgAiACgCHCIDEMQUAkAgACgCECICIAMoAhQiBCACIARJGyICRQ0AIAAoAgwgAygCECACEK4bGiAAIAAoAgwgAmo2AgwgAyADKAIQIAJqNgIQIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgAyADKAIUIAJrIgA2AhQgAA0AIAMgAygCCDYCEAtBAkEAIAUbIQMLIAMLxAsBDX8CQANAAkACQCAAKAJ0QYUCTQRAIAAQrhQgACgCdCECAkAgAQ0AIAJBhgJPDQBBAA8LIAJFDQQgAkEDSQ0BCyAAIAAoAlQgACgCbCICIAAoAjhqLQACIAAoAkggACgCWHRzcSIDNgJIIAAoAkAgAiAAKAI0cUEBdGogACgCRCADQQF0aiIELwEAIgM7AQAgBCACOwEAIANFDQAgACgCLEGGAmsgAiADa0kNACAAIAAgAxCyFCICNgJgDAELIAAoAmAhAgsCQCACQQNPBEAgACgCpC0gACgCoC0iA0EBdGogACgCbCAAKAJwayIEOwEAIAAgA0EBajYCoC0gAyAAKAKYLWogAkEDayICOgAAIAJB/wFxQfCbCGotAABBAnQgAGpBmAlqIgIgAi8BAEEBajsBACAAIARBAWtB//8DcSICIAJBB3ZBgAJqIAJBgAJJG0HwlwhqLQAAQQJ0akGIE2oiAiACLwEAQQFqOwEAIAAgACgCdCAAKAJgIgJrIgM2AnQgACgCnC1BAWshBiAAKAKgLSEHAkAgA0EDSQ0AIAIgACgCgAFLDQAgACACQQFrIgM2AmAgACgCSCEEIAAoAmwhAiAAKAI0IQggACgCQCEJIAAoAkQhCiAAKAJUIQsgACgCOCEMIAAoAlghDQNAIAAgAiIFQQFqIgI2AmwgACAFIAxqLQADIAQgDXRzIAtxIgQ2AkggCSACIAhxQQF0aiAKIARBAXRqIg4vAQA7AQAgDiACOwEAIAAgA0EBayIDNgJgIAMNAAsgACAFQQJqIgI2AmwgBiAHRw0DDAILIABBADYCYCAAIAAoAmwgAmoiAjYCbCAAIAAoAjggAmoiAy0AACIENgJIIAAgACgCVCADLQABIAQgACgCWHRzcTYCSCAGIAdHDQIMAQsgACgCOCAAKAJsai0AACECIAAoAqQtIAAoAqAtIgNBAXRqQQA7AQAgACADQQFqNgKgLSADIAAoApgtaiACOgAAIAAgAkECdGpBlAFqIgIgAi8BAEEBajsBACAAIAAoAnRBAWs2AnQgACAAKAJsQQFqIgI2AmwgACgCoC0gACgCnC1BAWtHDQELQQAhAyAAIAAoAlwiBEEATgR/IAAoAjggBGoFIAMLIAIgBGtBABDGFCAAIAAoAmw2AlwgACgCACICKAIcIgMQxBQCQCACKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgAigCDCADKAIQIAQQrhsaIAIgAigCDCAEajYCDCADIAMoAhAgBGo2AhAgAiACKAIUIARqNgIUIAIgAigCECAEazYCECADIAMoAhQgBGsiAjYCFCACDQAgAyADKAIINgIQCyAAKAIAKAIQDQALQQAPCyAAIAAoAmwiAkECIAJBAkkbNgK0LSABQQRGBEBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EBEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALQQNBAiAAKAIAKAIQGw8LAkAgACgCoC1FDQBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EAEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALIAAoAgAoAhANAEEADwtBAQukBAEQfyAAKAJ8IgMgA0ECdiAAKAJ4IgQgACgCjAFJGyEJQQAgACgCbCIDIAAoAixrQYYCaiICIAIgA0sbIQwgACgCdCIHIAAoApABIgIgAiAHSxshDSAAKAI4Ig4gA2oiBUGCAmohDyAEIAVqIgMtAAAhCiADQQFrLQAAIQsgACgCNCEQIAAoAkAhEQNAAkACQCABIA5qIgMgBGoiAi0AACAKRw0AIAJBAWstAAAgC0cNACADLQAAIAUtAABHDQBBAiEGIAMtAAEgBS0AAUcNAAJAAkACQAJAAkACQAJAA0AgBSAGaiICLQABIAMtAANHDQYgAi0AAiADLQAERw0FIAItAAMgAy0ABUcNBCACLQAEIAMtAAZHDQMgAi0ABSADLQAHRw0CIAItAAYgAy0ACEcNASACLQAHIAMtAAlGBEAgBkH5AUshCCAFIAZBCGoiBmohAiAIDQggAy0ACiEIIANBCGohAyACLQAAIAhGDQEMCAsLIAJBB2ohAgwGCyACQQZqIQIMBQsgAkEFaiECDAQLIAJBBGohAgwDCyACQQNqIQIMAgsgAkECaiECDAELIAJBAWohAgsgAiAPayICQYICaiIDIARMDQAgACABNgJwIAMgDU4EQCADIQQMAgsgAyAFai0AACEKIAIgBWotAIECIQsgAyEECyAJQQFrIglFDQAgDCARIAEgEHFBAXRqLwEAIgFJDQELCyAHIAQgBCAHSxsL6w4BB38DQAJAAkACQCAAKAJ0QYUCSw0AIAAQrhQgACgCdCECAkAgAQ0AIAJBhgJPDQBBAA8LIAJFDQIgAkECSw0AIAAgACgCYCICNgJ4IAAgACgCcDYCZEECIQMgAEECNgJgDAELQQIhAyAAIAAoAlQgACgCbCICIAAoAjhqLQACIAAoAkggACgCWHRzcSIENgJIIAAoAkAgAiAAKAI0cUEBdGogACgCRCAEQQF0aiIFLwEAIgQ7AQAgBSACOwEAIAAgACgCYCICNgJ4IAAgACgCcDYCZCAAQQI2AmAgBEUNAAJAIAIgACgCgAFPDQAgACgCLEGGAmsgACgCbCAEa0kNACAAIAAgBBCyFCIDNgJgIANBBUsNACAAKAKIAUEBRwRAIANBA0cNAUEDIQMgACgCbCAAKAJwa0GBIEkNAQtBAiEDIABBAjYCYAsgACgCeCECCwJAIAJBA0kNACACIANJDQAgACgCdCEEIAAoAqQtIAAoAqAtIgNBAXRqIAAoAmwiBSAAKAJkQX9zaiIGOwEAIAAgA0EBajYCoC0gAyAAKAKYLWogAkEDayICOgAAIAJB/wFxQfCbCGotAABBAnQgAGpBmAlqIgIgAi8BAEEBajsBACAAIAZBAWtB//8DcSICIAJBB3ZBgAJqIAJBgAJJG0HwlwhqLQAAQQJ0akGIE2oiAiACLwEAQQFqOwEAIAAgACgCeCICQQJrIgM2AnggACAAKAJ0IAJrQQFqNgJ0IAQgBWpBA2shBSAAKAKcLUEBayEHIAAoAmwhAiAAKAKgLSEIA0AgACACIgRBAWoiAjYCbCACIAVNBEAgACAAKAJUIAQgACgCOGotAAMgACgCSCAAKAJYdHNxIgY2AkggACgCQCAAKAI0IAJxQQF0aiAAKAJEIAZBAXRqIgYvAQA7AQAgBiACOwEACyAAIANBAWsiAzYCeCADDQALIABBAjYCYCAAQQA2AmggACAEQQJqIgI2AmwgByAIRw0CQQAhAyAAIAAoAlwiBEEATgR/IAAoAjggBGoFIAMLIAIgBGtBABDGFCAAIAAoAmw2AlwgACgCACICKAIcIgMQxBQCQCACKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgAigCDCADKAIQIAQQrhsaIAIgAigCDCAEajYCDCADIAMoAhAgBGo2AhAgAiACKAIUIARqNgIUIAIgAigCECAEazYCECADIAMoAhQgBGsiAjYCFCACDQAgAyADKAIINgIQCyAAKAIAKAIQDQJBAA8LIAAoAmgEQCAAKAJsIAAoAjhqQQFrLQAAIQIgACgCpC0gACgCoC0iA0EBdGpBADsBACAAIANBAWo2AqAtIAMgACgCmC1qIAI6AAAgACACQQJ0akGUAWoiAiACLwEAQQFqOwEAAkAgACgCoC0gACgCnC1BAWtHDQBBACEDIAAgACgCXCICQQBOBH8gACgCOCACagUgAwsgACgCbCACa0EAEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFCACKAIQIgQgAygCFCIFIAQgBUkbIgRFDQAgAigCDCADKAIQIAQQrhsaIAIgAigCDCAEajYCDCADIAMoAhAgBGo2AhAgAiACKAIUIARqNgIUIAIgAigCECAEazYCECADIAMoAhQgBGsiAjYCFCACDQAgAyADKAIINgIQCyAAIAAoAmxBAWo2AmwgACAAKAJ0QQFrNgJ0IAAoAgAoAhANAkEADwUgAEEBNgJoIAAgACgCbEEBajYCbCAAIAAoAnRBAWs2AnQMAgsACwsgACgCaARAIAAoAmwgACgCOGpBAWstAAAhAiAAKAKkLSAAKAKgLSIDQQF0akEAOwEAIAAgA0EBajYCoC0gAyAAKAKYLWogAjoAACAAIAJBAnRqQZQBaiICIAIvAQBBAWo7AQAgAEEANgJoCyAAIAAoAmwiAkECIAJBAkkbNgK0LSABQQRGBEBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EBEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALQQNBAiAAKAIAKAIQGw8LAkAgACgCoC1FDQBBACEDIAAgACgCXCIEQQBOBH8gACgCOCAEagUgAwsgAiAEa0EAEMYUIAAgACgCbDYCXCAAKAIAIgIoAhwiAxDEFAJAIAIoAhAiBCADKAIUIgUgBCAFSRsiBEUNACACKAIMIAMoAhAgBBCuGxogAiACKAIMIARqNgIMIAMgAygCECAEajYCECACIAIoAhQgBGo2AhQgAiACKAIQIARrNgIQIAMgAygCFCAEayICNgIUIAINACADIAMoAgg2AhALIAAoAgAoAhANAEEADwtBAQuQAwIDfwJ+AkAgAkUNACAAKAIcRQRAIAAQtRRBf0YNAQsCQCAAKAJYRQ0AIABBADYCWCAAKQNQIQYgACgCaARAIABBABC2FEF/Rg0CCyAGUA0AA0AgBqcgACgCHCIDIAYgA61TGyEDIARBAXFFBEAgACgCJEEAIAMQrxsaCyAAIAM2AmggACAAKAIkNgJkIAAgA60iByAAKQMIfDcDCCAAQQAQthRBf0YNAkEBIQQgBiAHfSIGUEUNAAsLIAIgACgCHEkEQCACIQQDQAJ/IAAoAmgiAgRAIAAoAiQhAyAAKAJkDAELIAAgACgCJCIDNgJkIAMLIQUgAiAFaiICIAEgBCAAKAIcIAMgAmtqIgMgAyAESxsiAxCuGxogACADIAAoAmhqNgJoIAAgACkDCCADrXw3AwggBCADayIERQRADwsgASADaiEBIABBABC2FEF/Rw0ACwwBCyAAKAJoBEAgAEEAELYUQX9GDQELIAAgAjYCaCAAIAE2AmQgACAAKQMIIAKtfDcDCCAAQQAQthQaCwvfAQECfyAAIAAoAiAiAkEBdBChGyIBNgIkIAFFBEAgAEF8Qdj/BxCgFEF/DwsgACgCLARAIAAgAjYCHEEADwsgACACEKEbIgI2AiggAkUEQCABEKIbIABBfEHY/wcQoBRBfw8LIABBADYCjAEgAEIANwKEASAAQeQAaiAAKAJIIAAoAkwQqhQEQCAAKAIoEKIbIAAoAiQQohsgAEF8Qdj/BxCgFEF/DwsgAEEANgJkIAAgACgCICIBNgIcIAAoAixFBEAgACABNgJ0IAAgACgCKCIBNgJwIAAgATYCBAtBAAulAwEGfwJAIAAoAhxFBEBBfyEEIAAQtRRBf0YNAQsgACgCLARAQQAhBCAAKAJoIgJFDQEgACgCZCEDA0AgACgCFCADIAJBgICAgAQgAkGAgICABEkbEO8UIgNBf0wEQCAAQX9BxP0KKAIAEO4UEKAUQX8PCyAAIAAoAmggA2siAjYCaCAAIAAoAmQgA2oiAzYCZCACDQALDAELIABB5ABqIQUgACgCdCEEIAFBBEchBgNAAkAgBARAIAFFDQEgBiAHQQFGckUNAQsgACgCcCIDIAAoAgQiAksEQANAIAAoAhQgAiADIAJrIgNBgICAgAQgA0GAgICABEgbEO8UIgJBf0wEQCAAQX9BxP0KKAIAEO4UEKAUQX8PCyAAIAAoAgQgAmoiAjYCBCAAKAJwIgMgAksNAAsgACgCdCEECyAEDQAgACAAKAIcIgQ2AnQgACAAKAIoIgI2AnAgACACNgIECyAFIAEQrxQiB0F+RgRAIABBfkHt/wcQoBRBfw8LIAQgACgCdCICRyEDIAIhBCADDQALQQAhBCABQQRHDQAgBRCtFAsgBAspAAJAIABFDQAgACgCEEGx8wFHDQAgACgCXA0AIAAgASABELgbELQUCwuiAgICfwJ+AkAgAEUNACAAKAIQQbHzAUcNAAJAIAAoAlhFBEAMAQsgAEEANgJYIAApA1AhAwJAIAAoAmgEQCAAQQAQthRBf0YNAQsgA1ANAQNAIAOnIAAoAhwiASADIAGtUxshASACRQRAIAAoAiRBACABEK8bGgsgACABNgJoIAAgACgCJDYCZCAAIAGtIgQgACkDCHw3AwggAEEAELYUQX9GDQFBASECIAMgBH0iA1BFDQALQQAhAQwBCyAAKAJcIQELIABBBBC2FEF/RgR/IAAoAlwFIAELGiAAKAIcBEAgACgCLEUEQCAAQeQAahCrFCAAKAIoEKIbCyAAKAIkEKIbCyAAQQBBABCgFCAAKAIYEKIbIAAoAhQQ8RQgABCiGwsLxAEBAn8CQCAARQ0AIAAoAiBFDQAgACgCJEUNACAAKAIcIgFFDQAgASgCACAARw0AIAEoAgRBtP4Aa0EfSw0AIAFBADYCNCABQgA3AiwgAUEANgIgIABBADYCCCAAQgA3AhQgASgCDCICBEAgACACQQFxNgIwCyABQgA3AjwgAUEANgIkIAFBgIACNgIYIAFBADYCECABQrT+ADcCBCABQoGAgIBwNwLENyABIAFBtApqIgA2AnAgASAANgJUIAEgADYCUAsL0gIBBH9BfiEDAkAgAEUNACAAKAIgRQ0AIAAoAiQiBEUNACAAKAIcIgJFDQAgAigCACAARw0AIAIoAgRBtP4Aa0EfSw0AAkACQCACKAI4IgEEQCACKAIoQQ9HDQELIAJBDzYCKCACQQY2AgwMAQsgACgCKCABIAQRAgAgAkEANgI4IAAoAiAhASACQQ82AiggAkEGNgIMIAFFDQELIAAoAiRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNACABKAIEQbT+AGtBH0sNAEEAIQMgAUEANgI0IAFCADcCLCABQQA2AiAgAEEANgIIIABCADcCFCABKAIMIgIEQCAAIAJBAXE2AjALIAFCADcCPCABQQA2AiQgAUGAgAI2AhggAUEANgIQIAFCtP4ANwIEIAFCgYCAgHA3AsQ3IAEgAUG0CmoiADYCcCABIAA2AlQgASAANgJQCyADC7gBAQJ/An9BekHXvgctAABBMUcNABogAEUEQEF+DwsgAEEANgIYIAAoAiAiAUUEQCAAQQA2AiggAEH0ETYCIEH0ESEBCyAAKAIkRQRAIABB9RE2AiQLIAAoAihBAUHQNyABEQUAIgFFBEBBfA8LIAAgATYCHCABQQA2AjggASAANgIAIAFBATYCHCABQbT+ADYCBEEAIAAQuhQiAkUNABogACgCKCABIAAoAiQRAgAgAEEANgIcIAILC486AR9/IwBBEGsiEyQAQX4hFAJAIABFDQAgACgCIEUNACAAKAIkRQ0AIAAoAhwiAkUNACACKAIAIABHDQAgAigCBCIBQbT+AGtBH0sNACAAKAIMIhBFDQAgACgCACIHRQRAIAAoAgQNAQsgAkEEaiEJIAFBv/4ARgRAIAlBwP4ANgIAQcD+ACEBCyACQdwAaiEdIAJB9AVqIRkgAkH0AGohGyACQdgAaiEcIAJB8ABqIRogAkG0CmohGCACQRxqIQ4gAigCQCEDIAIoAjwhBCAAKAIEIh4hBSAAKAIQIg0hFgJAA0ACQEF9IQZBASEIAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQbT+AGsOHwQFBgkMMjM0NQ8QERESExQVFgIaGwEnACkcHQM4PkBBCyACKAJMIQgMJwsgAigCTCEIDCQLIAIoAmwhCAwWCyACKAIMIQYMNwsgAigCDCIGRQ0ZIANBEEkEQANAIAVFDTkgBUEBayEFIActAAAgA3QgBGohBCADQQhJIQEgA0EIaiEDIAdBAWohByABDQALCwJAIAZBAnFFDQAgBEGflgJHDQAgAigCKEUEQCACQQ82AigLQQAhBCAOQQBBAEEAEKkUIgM2AgAgE0GflgI7AAwgDiADIBNBDGpBAhCpFDYCACAJQbX+ADYCAEEAIQMgCSgCACEBDDsLIAJBADYCFCACKAIkIgEEQCABQX82AjALAkAgBkEBcQRAIARBCHRBgP4DcSAEQQh2akEfcEUNAQsgAEHGgAg2AhggCUHR/gA2AgAgCSgCACEBDDsLIARBD3FBCEcEQCAAQd2ACDYCGCAJQdH+ADYCACAJKAIAIQEMOwsgBEEEdiIKQQ9xIgFBCGohBiABQQdNQQAgAigCKCIIBH8gCAUgAiAGNgIoIAYLIAZPG0UEQCADQQRrIQMgAEH4gAg2AhggCUHR/gA2AgAgCiEEIAkoAgAhAQw7CyACQYACIAF0NgIYQQAhAyACQQBBAEEAEKcUIgE2AhwgACABNgIwIAJBvf4AQb/+ACAEQYDAAHEbNgIEQQAhBCAJKAIAIQEMOgsgA0EQSQRAA0AgBUUNOCAFQQFrIQUgBy0AACADdCAEaiEEIANBCEkhASADQQhqIQMgB0EBaiEHIAENAAsLIAIgBDYCFCAEQf8BcUEIRwRAIABB3YAINgIYIAlB0f4ANgIAIAkoAgAhAQw6CyAEQYDAA3EEQCAAQYyBCDYCGCAJQdH+ADYCACAJKAIAIQEMOgsgAigCJCIDBEAgAyAEQQh2QQFxNgIACwJAIARBgARxRQ0AIAItAAxBBHFFDQAgEyAEOwAMIA4gDigCACATQQxqQQIQqRQ2AgALIAlBtv4ANgIAQQAhA0EAIQQMAQsgA0EfSw0BCyAHIQEDQCAFRQRAQQAhBSABIQcgFSEGDDgLIAVBAWshBSABLQAAIAN0IARqIQQgA0EYSSEGIANBCGohAyABQQFqIgchASAGDQALCyACKAIkIgMEQCADIAQ2AgQLAkAgAi0AFUECcUUNACACLQAMQQRxRQ0AIBMgBDYADCAOIA4oAgAgE0EMakEEEKkUNgIACyAJQbf+ADYCAEEAIQNBACEEDAELIANBD0sNAQsgByEBA0AgBUUEQEEAIQUgASEHIBUhBgw1CyAFQQFrIQUgAS0AACADdCAEaiEEIANBCEkhBiADQQhqIQMgAUEBaiIHIQEgBg0ACwsgAigCJCIDBEAgAyAEQQh2NgIMIAMgBEH/AXE2AggLAkAgAi0AFUECcUUNACACLQAMQQRxRQ0AIBMgBDsADCAOIA4oAgAgE0EMakECEKkUNgIACyACQbj+ADYCBEEAIQFBACEDQQAhBCACKAIUIghBgAhxDQEMJAsgAigCFCIIQYAIcUUEQCADIQEMJAsgBCEBIANBD0sNAQsDQCAFRQRAQQAhBSABIQQgFSEGDDILIAVBAWshBSAHLQAAIAN0IAFqIQEgA0EISSEEIANBCGohAyAHQQFqIgYhByAEDQALIAYhByABIQQLIAIgBDYCRCACKAIkIgMEQCADIAQ2AhQLQQAhAwJAIAhBgARxRQ0AIAItAAxBBHFFDQAgEyAEOwAMIA4gDigCACATQQxqQQIQqRQ2AgALQQAhBAwiCyADQSBJBEADQCAFRQ0uIAVBAWshBSAHLQAAIAN0IARqIQQgA0EYSSEBIANBCGohAyAHQQFqIQcgAQ0ACwsgDiAEQQh0QYCA/AdxIARBGHRyIARBCHZBgP4DcSAEQRh2cnIiAzYCACAAIAM2AjAgCUG+/gA2AgBBACEEQQAhAwsgAigCEEUEQCAAIA02AhAgACAQNgIMIAAgBTYCBCAAIAc2AgAgAiADNgJAIAIgBDYCPEECIRQMMQsgDkEAQQBBABCnFCIBNgIAIAAgATYCMCAJQb/+ADYCAAsCfwJAIAIoAghFBEAgAyADQQJLDQIaIAUNAQwnCyAJQc7+ADYCACAEIANBB3F2IQQgA0F4cSEDIAkoAgAhAQwvCyAFQQFrIQUgBy0AACADdCAEaiEEIAdBAWohByADQQhqCyEBIAIgBEEBcTYCCEHB/gAhAwJAAkACQAJAAkAgBEEBdkEDcUEBaw4DAAECAwsgAkGghAg2AlAgAkKJgICA0AA3AlggAkGglAg2AlQgAkHH/gA2AgQMAwtBxP4AIQMMAQsgAEG5gQg2AhhB0f4AIQMLIAkgAzYCAAsgAUEDayEDIARBA3YhBCAJKAIAIQEMLQsgBCADQQdxdiEEIANBeHEiA0EfTQRAA0AgBUUNKyAFQQFrIQUgBy0AACADdCAEaiEEIANBGEkhASADQQhqIQMgB0EBaiEHIAENAAsLIARB//8DcSIBIARBf3NBEHZHBEAgAEHMgQg2AhggCUHR/gA2AgAgCSgCACEBDC0LIAJBwv4ANgIEIAIgATYCREEAIQRBACEDCyAJQcP+ADYCAAsgAigCRCIBBEAgDSAFIAEgASAFSxsiASABIA1LGyIBRQ0jIBAgByABEK4bIRAgAiACKAJEIAFrNgJEIAEgEGohECANIAFrIQ0gASAHaiEHIAUgAWshBSAJKAIAIQEMKwsgCUG//gA2AgAgCSgCACEBDCoLIANBDkkEQANAIAVFDSggBUEBayEFIActAAAgA3QgBGohBCADQQZJIQEgA0EIaiEDIAdBAWohByABDQALCyACIARBH3EiAUGBAmo2AmQgAiAEQQV2QR9xIgZBAWo2AmggAiAEQQp2QQ9xQQRqIgo2AmAgA0EOayEDIARBDnYhBCABQR1NQQAgBkEeSRtFBEAgAEHpgQg2AhggCUHR/gA2AgAgCSgCACEBDCoLIAJBxf4ANgIEQQAhASACQQA2AmwMAQsgAigCbCIBIAIoAmAiCk8NAQsgASEGA0AgA0ECSwR/IAMFIAVFDSYgBUEBayEFIActAAAgA3QgBGohBCAHQQFqIQcgA0EIagshCCACIAZBAWoiATYCbCACIAZBAXRBoIAIai8BAEEBdGogBEEHcTsBdCAIQQNrIQMgBEEDdiEEIAEhBiABIApJDQALCyABQRNJBEADQCACIAFBAXRBoIAIai8BAEEBdGpBADsBdCABQQFqIgFBE0cNAAsgAkETNgJsCyACQQc2AlggAiAYNgJQIAIgGDYCcEEAIQhBACAbQRMgGiAcIBkQvxQiFQRAIABBjYIINgIYIAlB0f4ANgIAIAkoAgAhAQwnCyACQcb+ADYCBCACQQA2AmxBACEVCyACKAJkIh8gAigCaGoiFyAISwRAQX8gAigCWHRBf3MhDyACKAJQIREDQCADIQsgBSEBIAchBgJAIBEgBCAPcSISQQJ0ai0AASIMIANNBEAgAyEKDAELA0AgAUUNCSAGLQAAIAt0IQwgBkEBaiEGIAFBAWshASALQQhqIgohCyAKIBEgBCAMaiIEIA9xIhJBAnRqLQABIgxJDQALCwJAIBEgEkECdGovAQIiBUEPTQRAIAIgCEEBaiIHNgJsIAIgCEEBdGogBTsBdCAKIAxrIQMgBCAMdiEEIAchCAwBCwJ/An8CQAJAAkAgBUEQaw4CAAECCyAMQQJqIgUgCksEQANAIAFFDR4gAUEBayEBIAYtAAAgCnQgBGohBCAGQQFqIQYgCkEIaiIKIAVJDQALCyAKIAxrIQMgBCAMdiEKIAhFBEAgAEGmggg2AhggCUHR/gA2AgAgBiEHIAEhBSAKIQQgCSgCACEBDC0LIANBAmshAyAKQQJ2IQQgCkEDcUEDaiEFIAhBAXQgAmovAXIMAwsgDEEDaiIFIApLBEADQCABRQ0dIAFBAWshASAGLQAAIAp0IARqIQQgBkEBaiEGIApBCGoiCiAFSQ0ACwsgCiAMa0EDayEDIAQgDHYiBUEDdiEEIAVBB3FBA2oMAQsgDEEHaiIFIApLBEADQCABRQ0cIAFBAWshASAGLQAAIAp0IARqIQQgBkEBaiEGIApBCGoiCiAFSQ0ACwsgCiAMa0EHayEDIAQgDHYiBUEHdiEEIAVB/wBxQQtqCyEFQQALIQcgFyAFIAhqSQRAIABBpoIINgIYIAlB0f4ANgIAIAYhByABIQUgCSgCACEBDCkLA0AgAiAIQQF0aiAHOwF0IAhBAWohCCAFQQFrIgUNAAsgAiAINgJsCyAGIQcgASEFIAggF0kNAAsLIAIvAfQERQRAIABBwIIINgIYIAlB0f4ANgIAIAkoAgAhAQwmCyACQQk2AlggAiAYNgJQIAIgGDYCcEEBIBsgHyAaIBwgGRC/FCIVBEAgAEHlggg2AhggCUHR/gA2AgAgCSgCACEBDCYLIAJBBjYCXCACIAIoAnA2AlRBAiACIAIoAmRBAXRqQfQAaiACKAJoIBogHSAZEL8UIhUEQCAAQYGDCDYCGCAJQdH+ADYCACAJKAIAIQEMJgsgCUHH/gA2AgBBACEVCyAJQcj+ADYCAAsCQCANQYICSQ0AIAVBBkkNACAAIA02AhAgACAQNgIMIAAgBTYCBCAAIAc2AgAgAiADNgJAIAIgBDYCPCAAIBYQwBQgAigCQCEDIAIoAjwhBCAAKAIEIQUgACgCACEHIAAoAhAhDSAAKAIMIRAgAigCBEG//gBHDQ8gAkF/NgLINyAJKAIAIQEMJAsgAkEANgLINyADIQggBSEBIAchBgJAIAIoAlAiDCAEQX8gAigCWHRBf3MiEnEiEUECdGotAAEiCyADTQRAIAMhCgwBCwNAIAFFDQcgBi0AACAIdCELIAZBAWohBiABQQFrIQEgCEEIaiIKIQggCiAMIAQgC2oiBCAScSIRQQJ0ai0AASILSQ0ACwsgCyEDIAwgEUECdGoiBS8BAiESIAUtAAAiD0UNCCAPQfABcQ0IIAEhBSAGIQcCQCAKIgggAyAMIARBfyADIA9qdEF/cyIXcSADdiASaiIPQQJ0ai0AASILak8EQCAKIREMAQsDQCAFRQ0GIActAAAgCHQhCyAHQQFqIQcgBUEBayEFIAhBCGoiESEIIAMgDCAEIAtqIgQgF3EgA3YgEmoiD0ECdGotAAEiC2ogEUsNAAsLIAwgD0ECdGoiAS0AACEPIAEvAQIhEiACIAM2Asg3IBEgA2shCiAEIAN2IQQMCQsgDUUNGiAQIAIoAkQ6AAAgAkHI/gA2AgQgDUEBayENIBBBAWohECAJKAIAIQEMIgsgAigCDCIGRQRAQQAhBgwGCyADQR9NBEADQCAFRQ0gIAVBAWshBSAHLQAAIAN0IARqIQQgA0EYSSEBIANBCGohAyAHQQFqIQcgAQ0ACwsgACAWIA1rIgEgACgCFGo2AhQgAiACKAIgIAFqNgIgIAZBBHEhCAJAIAFFDQAgCEUNACAQIAFrIQYgAigCHCEIIAICfyACKAIUBEAgCCAGIAEQqRQMAQsgCCAGIAEQpxQLIgE2AhwgACABNgIwIAIoAgwiBkEEcSEICyAIRQ0EIAIoAhwgBCAEQQh0QYCA/AdxIARBGHRyIARBCHZBgP4DcSAEQRh2cnIgAigCFBtGDQQgAEHngwg2AhggCUHR/gA2AgAgDSEWIAkoAgAhAQwhCyAJQcD+ADYCAAwLCyAFIAdqIQcgAyAFQQN0aiEDDBwLIAEgBmohByAKIAFBA3RqIQMMGwsgBSAHaiEHIAMgBUEDdGohAwwaC0EAIQRBACEDIA0hFgsgCUHP/gA2AgAMFwtBACEDIAYhByABIQULIAIgEkH//wNxNgJEIAIgAyALajYCyDcgCiALayEDIAQgC3YhBCAPRQRAIAlBzf4ANgIAIAkoAgAhAQwaCyAPQSBxBEAgAkG//gA2AgQgAkF/NgLINyAJKAIAIQEMGgsgD0HAAHEEQCAAQZeDCDYCGCAJQdH+ADYCACAJKAIAIQEMGgsgAkHJ/gA2AgQgAiAPQQ9xIgg2AkwLIAchCyAFIQoCQCAIRQRAIAIoAkQhBgwBCyALIQYgAyIBIAhJBEADQCAFRQ0KIAVBAWshBSAGLQAAIAF0IARqIQQgBkEBaiIHIQYgAUEIaiIBIAhJDQALCyACIAIoAsg3IAhqNgLINyACIAIoAkQgBEF/IAh0QX9zcWoiBjYCRCABIAhrIQMgBCAIdiEECyACQcr+ADYCBCACIAY2Asw3CyADIQggBSEBIAchBgJAIAIoAlQiDCAEQX8gAigCXHRBf3MiEnEiEUECdGotAAEiCyADTQRAIAMhCgwBCwNAIAFFDQcgBi0AACAIdCELIAZBAWohBiABQQFrIQEgCEEIaiIKIQggCiAMIAQgC2oiBCAScSIRQQJ0ai0AASILSQ0ACwsgDCARQQJ0aiIFLwECIRICQCAFLQAAIg9B8AFxBEAgAigCyDchAyAGIQcgASEFIAshCAwBCyABIQUgBiEHAkAgCiIDIAsgDCAEQX8gCyAPanRBf3MiF3EgC3YgEmoiD0ECdGotAAEiCGpPBEAgCiERDAELA0AgBUUNByAHLQAAIAN0IQggB0EBaiEHIAVBAWshBSADQQhqIhEhAyALIAwgBCAIaiIEIBdxIAt2IBJqIg9BAnRqLQABIghqIBFLDQALCyAMIA9BAnRqIgMtAAAhDyADLwECIRIgAiACKALINyALaiIDNgLINyARIAtrIQogBCALdiEECyACIAMgCGo2Asg3IAogCGshAyAEIAh2IQQgD0HAAHEEQCAAQbODCDYCGCAJQdH+ADYCACAJKAIAIQEMGAsgAkHL/gA2AgQgAiAPQQ9xIgg2AkwgAiASQf//A3E2AkgLIAchCyAFIQogCARAIAshBiADIgEgCEkEQANAIAVFDQUgBUEBayEFIAYtAAAgAXQgBGohBCAGQQFqIgchBiABQQhqIgEgCEkNAAsLIAIgAigCyDcgCGo2Asg3IAIgAigCSCAEQX8gCHRBf3NxajYCSCAEIAh2IQQgASAIayEDCyAJQcz+ADYCAAsgDUUNDQJ/IAIoAkgiASAWIA1rIgZLBEACQCABIAZrIgEgAigCME0NACACKALEN0UNACAAQcmDCDYCGCAJQdH+ADYCACAJKAIAIQEMGAsCfyACKAI0IgYgAUkEQCACKAIsIAEgBmsiAWsMAQsgBiABawshCCACKAJEIgogASABIApLGyEGIAIoAjggCGoMAQsgAigCRCIKIQYgECABawshASACIAogDSAGIAYgDUsbIghrNgJEIAghBgNAIBAgAS0AADoAACAQQQFqIRAgAUEBaiEBIAZBAWsiBg0ACyANIAhrIQ0gAigCRA0AIAlByP4ANgIAIAkoAgAhAQwVCyAJKAIAIQEMFAsgCiALaiEHIAMgCkEDdGohAwwQCyABIAZqIQcgCiABQQN0aiEDDA8LIAUgB2ohByADIAVBA3RqIQMMDgsgCiALaiEHIAMgCkEDdGohAwwNC0EAIQUgBiEHIAohAyAVIQYMDgsgAigCJCIDBEAgA0EANgIQCyABIQMLIAlBuf4ANgIACyACKAIUIghBgAhxBEAgBSACKAJEIgEgASAFSxsiBgRAAkAgAigCJCIKRQ0AIAooAhAiC0UNACALIAooAhQgAWsiAWogByAKKAIYIgggAWsgBiABIAZqIAhLGxCuGxogAigCFCEICwJAIAhBgARxRQ0AIAItAAxBBHFFDQAgDiAOKAIAIAcgBhCpFDYCAAsgAiACKAJEIAZrIgE2AkQgBSAGayEFIAYgB2ohBwsgAQ0FCyACQbr+ADYCBCACQQA2AkQLAkAgAi0AFUEIcQRAQQAhBiAFRQ0EA0AgBkEBaiEBIAYgB2otAAAhCAJAIAIoAiQiBkUNACAGKAIcIgpFDQAgAigCRCILIAYoAiBPDQAgAiALQQFqNgJEIAogC2ogCDoAAAsgASAFSQRAIAEhBiAIQf8BcQ0BCwsCQCACLQAVQQJxRQ0AIAItAAxBBHFFDQAgDiAOKAIAIAcgARCpFDYCAAsgASAHaiEHIAUgAWshBSAIQf8BcUUNAQwFCyACKAIkIgFFDQAgAUEANgIcCyACQbv+ADYCBCACQQA2AkQLAkAgAi0AFUEQcQRAQQAhBiAFRQ0DA0AgBkEBaiEBIAYgB2otAAAhCAJAIAIoAiQiBkUNACAGKAIkIgpFDQAgAigCRCILIAYoAihPDQAgAiALQQFqNgJEIAogC2ogCDoAAAsgASAFSQRAIAEhBiAIQf8BcQ0BCwsCQCACLQAVQQJxRQ0AIAItAAxBBHFFDQAgDiAOKAIAIAcgARCpFDYCAAsgASAHaiEHIAUgAWshBSAIQf8BcUUNAQwECyACKAIkIgFFDQAgAUEANgIkCyAJQbz+ADYCAAsgAigCFCIGQYAEcUUNBCADQQ9NBEADQCAFRQ0IIAVBAWshBSAHLQAAIAN0IARqIQQgA0EISSEBIANBCGohAyAHQQFqIQcgAQ0ACwsgAi0ADEEEcUUNAyAEIA4vAQBGDQMgAEGlgQg2AhggCUHR/gA2AgAgCSgCACEBDAkLQQAhBQsgFSEICyAIIQYMBQtBACEEQQAhAwsgAigCJCIBBEAgAUEBNgIwIAEgBkEJdkEBcTYCLAsgDkEAQQBBABCpFCIBNgIAIAAgATYCMCAJQb/+ADYCACAJKAIAIQEMBAsCQCAGRQ0AIAIoAhRFDQAgA0EfTQRAA0AgBUUNAyAFQQFrIQUgBy0AACADdCAEaiEEIANBGEkhASADQQhqIQMgB0EBaiEHIAENAAsLIAQgAigCIEcNAkEAIQRBACEDCyAJQdD+ADYCAEEBIQYMAgtBACEFIBUhBgwBCyAAQfyDCDYCGCAJQdH+ADYCACAJKAIAIQEMAQsLIAAgDTYCECAAIBA2AgwgACAFNgIEIAAgBzYCACACIAM2AkAgAiAENgI8AkACQCACKAIsRQRAIA0gFkYNASAJKAIAQdD+AEsNAQsgACAQIBYgDWsQvRQNASAAKAIQIQ0gACgCBCEFCyAAIB4gBWsiBSAAKAIIajYCCCAAIBYgDWsiFCAAKAIUajYCFCACIAIoAiAgFGo2AiACQCAURQ0AIAIoAgxBBHFFDQAgACgCDCAUayEDIAIoAhwhByAOAn8gAigCFARAIAcgAyAUEKkUDAELIAcgAyAUEKcUCyIDNgIAIAAgAzYCMAsgACACKAJAIAIoAghBAEdBBnRqIAIoAgQiAkG//gBGQQd0akGAAiACQcL+AEZBCHQgAkHH/gBGG2o2AiwgBiAGQXsgBSAUchsgBhshFAwCCyAJQdL+ADYCAAtBfCEUCyATQRBqJAAgFAuSAgEDfwJAIAAoAhwiAygCOCIERQRAQQEhBSADIAAoAihBASADKAIodEEBIAAoAiARBQAiBDYCOCAERQ0BCyADKAIsIgBFBEAgA0IANwIwIANBASADKAIodCIANgIsCyAAIAJNBEAgBCABIABrIAAQrhsaIANBADYCNCADIAMoAiw2AjBBAA8LIAQgAygCNCIFaiABIAJrIAIgACAFayIAIAAgAksbIgAQrhsaIAIgAGsiAgRAIAMoAjggASACayACEK4bGiADIAI2AjQgAyADKAIsNgIwQQAPC0EAIQUgA0EAIAMoAjQgAGoiAiACIAMoAiwiBEYbNgI0IAMoAjAiAiAETw0AIAMgACACajYCMAsgBQt4AQN/AkAgAEUNACAAKAIgRQ0AIAAoAiQiAkUNACAAKAIcIgFFDQAgASgCACAARw0AIAEoAgRBtP4Aa0EfSw0AIAEoAjgiAwRAIAAoAiggAyACEQIAIAAoAiQhAiAAKAIcIQELIAAoAiggASACEQIAIABBADYCHAsLlQ0BFn8jAEFAaiIGQgA3AzAgBkIANwM4IAZCADcDICAGQgA3AygCQAJAAkACQAJAIAIEQANAIAZBIGogASAIQQF0ai8BAEEBdGoiCyALLwEAQQFqOwEAIAhBAWoiCCACRw0ACyAEKAIAIQhBDyELIAYvAT4iDQ0CDAELIAQoAgAhCAtBDiELQQAhDSAGLwE8DQBBDSELIAYvAToNAEEMIQsgBi8BOA0AQQshCyAGLwE2DQBBCiELIAYvATQNAEEJIQsgBi8BMg0AQQghCyAGLwEwDQBBByELIAYvAS4NAEEGIQsgBi8BLA0AQQUhCyAGLwEqDQBBBCELIAYvASgNAEEDIQsgBi8BJg0AQQIhCyAGLwEkDQAgBi8BIkUEQCADIAMoAgAiCEEEajYCACAIQcACNgEAIAMgAygCACIIQQRqNgIAIAhBwAI2AQAgBEEBNgIADAMLIAhBAEchFUEBIQtBASEIDAELIAsgCCAIIAtLGyEVQQEhDEEBIQgDQCAGQSBqIAhBAXRqLwEADQEgCEEBaiIIIAtHDQALIAshCAtBfyEJIAYvASIiB0ECSw0BQQQgBi8BJCIRIAdBAXRqayIKQQBIDQEgCkEBdCAGLwEmIhJrIgpBAEgNASAKQQF0IAYvASgiD2siCkEASA0BIApBAXQgBi8BKiIQayIKQQBIDQEgCkEBdCAGLwEsIhlrIgpBAEgNASAKQQF0IAYvAS4iGmsiCkEASA0BIApBAXQgBi8BMCIbayIKQQBIDQEgCkEBdCAGLwEyIg5rIgpBAEgNASAKQQF0IAYvATQiFmsiCkEASA0BIApBAXQgBi8BNiIXayIKQQBIDQEgCkEBdCAGLwE4IhNrIgpBAEgNASAKQQF0IAYvAToiFGsiCkEASA0BIApBAXQgBi8BPCIYayIKQQBIDQEgCkEBdCANayINQQBIDQEgDUEAIABFIAxyGw0BIAggFUshDEEAIQkgBkEAOwECIAYgBzsBBCAGIAcgEWoiBzsBBiAGIAcgEmoiBzsBCCAGIAcgD2oiBzsBCiAGIAcgEGoiBzsBDCAGIAcgGWoiBzsBDiAGIAcgGmoiBzsBECAGIAcgG2oiBzsBEiAGIAcgDmoiBzsBFCAGIAcgFmoiBzsBFiAGIAcgF2oiBzsBGCAGIAcgE2oiBzsBGiAGIAcgFGoiBzsBHCAGIAcgGGo7AR4gAgRAA0AgASAJQQF0ai8BACIHBEAgBiAHQQF0aiIHIAcvAQAiB0EBajsBACAFIAdBAXRqIAk7AQALIAlBAWoiCSACRw0ACwsgCCAVIAwbIQ5BFCEQQQAhGCAFIRYgBSEXQQAhFAJAAkACQCAADgICAAELQQEhCSAOQQlLDQNBgQIhEEHglQghF0GglQghFkEBIRQMAQsgAEECRiEYQQAhEEHglgghF0GglgghFiAAQQJHBEAMAQtBASEJIA5BCUsNAgtBASAOdCITQQFrIRsgAygCACERQQAhEiAOIQxBACEPQQAhB0F/IRoDQEEBIAx0IRkCQANAIAggD2shDQJ/QQAgBSASQQF0ai8BACIMQQFqIBBJDQAaIAwgEEkEQEEAIQxB4AAMAQsgFiAMIBBrQQF0IgJqLwEAIQwgAiAXai0AAAshACAHIA92IRVBfyANdCEKIBkhAgNAIBEgAiAKaiICIBVqQQJ0aiIJIAw7AQIgCSANOgABIAkgADoAACACDQALQQEgCEEBa3QhCQNAIAkiAkEBdiEJIAIgB3ENAAsgBkEgaiAIQQF0aiIJIAkvAQBBAWsiCTsBACACQQFrIAdxIAJqQQAgAhshByASQQFqIRIgCUH//wNxRQRAIAggC0YNAiABIAUgEkEBdGovAQBBAXRqLwEAIQgLIAcgG3EiAiAaRg0AIAggDk0NAAtBASAIIA8gDiAPGyIPayIMdCENIAggC0kEQCALIA9rIQAgCCEJAkADQCANIAZBIGogCUEBdGovAQBrIglBAUgNASAJQQF0IQ0gDEEBaiIMIA9qIgkgC0kNAAsgACEMC0EBIAx0IQ0LQQEhCSAUIA0gE2oiE0HUBktxDQMgGCATQdAES3ENAyADKAIAIg0gAkECdGoiCSAOOgABIAkgDDoAACAJIBEgGUECdGoiESANa0ECdjsBAiACIRoMAQsLIAcEQCARIAdBAnRqIghBADsBAiAIIA06AAEgCEHAADoAAAsgAyADKAIAIBNBAnRqNgIAIAQgDjYCAAtBACEJCyAJC8ULARV/IAAoAhwiCSgCNCIKIAkoAiwiEWohEiAAKAIQIgUgACgCDCIDakGBAmshDSADIAUgAWtqIRMgACgCACIIIAAoAgRqQQVrIQ5BfyAJKAJcdEF/cyEUQX8gCSgCWHRBf3MhFSAJKAJUIQ8gCSgCUCEQIAkoAkAhBSAJKAI8IQEgCSgCOCEMIAkoAjAhFgNAIAVBDk0EQCAILQAAIAV0IAFqIAgtAAEgBUEIanRqIQEgBUEQaiEFIAhBAmohCAsgBSAQIAEgFXFBAnRqIgItAAEiBGshBSABIAR2IQEgAi8BAiEHAkACQAJAIAItAAAiAkUNACAJAn8CQAJAA0AgAkH/AXEhBCACQRBxBEAgB0H//wNxIQcCfyAEQQ9xIgRFBEAgCCEGIAEMAQsCfyAEIAVNBEAgBSECIAgMAQsgBUEIaiECIAgtAAAgBXQgAWohASAIQQFqCyEGIAIgBGshBSABQX8gBHRBf3NxIAdqIQcgASAEdgshAiAFQQ5NBEAgBi0AACAFdCACaiAGLQABIAVBCGp0aiECIAVBEGohBSAGQQJqIQYLIAUgDyACIBRxQQJ0aiIILQABIgFrIQUgAiABdiEBIAgvAQIhBCAILQAAIgJBEHENAgNAIAJBwABxRQRAIAUgDyABQX8gAnRBf3NxIARB//8DcWpBAnRqIgItAAEiBGshBSABIAR2IQEgAi8BAiEEIAItAAAiAkEQcUUNAQwECwtBvpcIIQcgBiEIDAMLIARBwABxRQRAIAUgECABQX8gBHRBf3NxIAdB//8DcWpBAnRqIgItAAEiBGshBSABIAR2IQEgAi8BAiEHIAItAAAiAkUNBQwBCwtB1JcIIQdBv/4AIARBIHENAhoMAQsgBEH//wNxIQsCfyACQQ9xIgIgBU0EQCAFIQQgBgwBCyAGLQAAIAV0IAFqIQEgBkEBaiACIAVBCGoiBE0NABogBi0AASAEdCABaiEBIAVBEGohBCAGQQJqCyEIIAFBfyACdEF/c3EhBiAEIAJrIQUgASACdiEBAkAgBiALaiILIAMgE2siAksEQAJAIAsgAmsiBiAWTQ0AIAkoAsQ3RQ0AQaCXCCEHDAMLAkACQCAKRQRAIAwgESAGa2ohAiAGIgQgB08NAgNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACwwBCyAGIApLBEAgDCASIAZraiECIAYgCmsiBiEEIAYgB08NAgNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACyAMIQIgByAGayIHIAoiBE0EQAwDCwNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACyADIAtrIQIgByAKayEHDAILIAwgCiAGa2ohAiAGIgQgB08NAQNAIAMgAi0AADoAACADQQFqIQMgAkEBaiECIARBAWsiBA0ACwsgAyALayECIAcgBmshBwsgB0EDTwRAA0AgAyACLQAAOgAAIAMgAi0AAToAASADIAItAAI6AAIgA0EDaiEDIAJBA2ohAiAHQQNrIgdBAksNAAsLIAdFDQUgAyACLQAAOgAAIAdBAUcNASADQQFqIQMMBQsgAyALayEGA0AgAyICIAYiBC0AADoAACACIAYtAAE6AAEgAiAGLQACOgACIAJBA2ohAyAGQQNqIQYgB0EDayIHQQJLDQALIAdFDQQgAiAGLQAAOgADIAdBAUYEQCACQQRqIQMMBQsgAiAELQAEOgAEIAJBBWohAwwECyADIAItAAE6AAEgA0ECaiEDDAMLIAAgBzYCGEHR/gALNgIEDAILIAMgBzoAACADQQFqIQMLIAMgDU8NACAIIA5JDQELCyAAIAM2AgwgACAIIAVBA3ZrIgI2AgAgACANIANrQYECajYCECAAIA4gAmtBBWo2AgQgCSAFQQdxIgU2AkAgCSABQX8gBXRBf3NxNgI8C2IAIABBADYCvC0gAEEAOwG4LSAAQbgWakGYngg2AgAgACAAQfwUajYCsBYgAEGsFmpBhJ4INgIAIAAgAEGIE2o2AqQWIABBoBZqQfCdCDYCACAAIABBlAFqNgKYFiAAEMIUC9oEAQF/A0AgACABQQJ0akEAOwGUASABQQFqIgFBngJHDQALIABBADsB/BQgAEEAOwGIEyAAQcQVakEAOwEAIABBwBVqQQA7AQAgAEG8FWpBADsBACAAQbgVakEAOwEAIABBtBVqQQA7AQAgAEGwFWpBADsBACAAQawVakEAOwEAIABBqBVqQQA7AQAgAEGkFWpBADsBACAAQaAVakEAOwEAIABBnBVqQQA7AQAgAEGYFWpBADsBACAAQZQVakEAOwEAIABBkBVqQQA7AQAgAEGMFWpBADsBACAAQYgVakEAOwEAIABBhBVqQQA7AQAgAEGAFWpBADsBACAAQfwTakEAOwEAIABB+BNqQQA7AQAgAEH0E2pBADsBACAAQfATakEAOwEAIABB7BNqQQA7AQAgAEHoE2pBADsBACAAQeQTakEAOwEAIABB4BNqQQA7AQAgAEHcE2pBADsBACAAQdgTakEAOwEAIABB1BNqQQA7AQAgAEHQE2pBADsBACAAQcwTakEAOwEAIABByBNqQQA7AQAgAEHEE2pBADsBACAAQcATakEAOwEAIABBvBNqQQA7AQAgAEG4E2pBADsBACAAQbQTakEAOwEAIABBsBNqQQA7AQAgAEGsE2pBADsBACAAQagTakEAOwEAIABBpBNqQQA7AQAgAEGgE2pBADsBACAAQZwTakEAOwEAIABBmBNqQQA7AQAgAEGUE2pBADsBACAAQZATakEAOwEAIABBjBNqQQA7AQAgAEIANwKsLSAAQZQJakEBOwEAIABBADYCqC0gAEEANgKg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FEUEQEHE/QpBHDYCAAwBC0GYCRChGyICDQELQQAMAQsgAkEAQZABEK8bGiABQSsQ/BRFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAECQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAkGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQJQ0AIAJBCjoASwsgAkH6ETYCKCACQfsRNgIkIAJB/BE2AiAgAkH9ETYCDEHM/QooAgBFBEAgAkF/NgJMCyACEMMVCyECIANBIGokACACC3EBA38jAEEQayICJAACQAJAQbTfCCABLAAAEPwURQRAQcT9CkEcNgIADAELIAEQxxUhBCACQbYDNgIAIAAgBEGAgAJyIAIQIBDrFCIAQQBIDQEgACABEKIVIgMNASAAECMaC0EAIQMLIAJBEGokACADC7sBAQJ/IwBBoAFrIgQkACAEQQhqQbjfCEGQARCuGxoCQAJAIAFBAWtB/////wdPBEAgAQ0BQQEhASAEQZ8BaiEACyAEIAA2AjQgBCAANgIcIARBfiAAayIFIAEgASAFSxsiATYCOCAEIAAgAWoiADYCJCAEIAA2AhggBEEIaiACIAMQvBUhACABRQ0BIAQoAhwiASABIAQoAhhGa0EAOgAADAELQcT9CkE9NgIAQX8hAAsgBEGgAWokACAACzQBAX8gACgCFCIDIAEgAiAAKAIQIANrIgMgAiADSRsiAxCuGxogACAAKAIUIANqNgIUIAILiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC/FSAEBEAgAygCHCIEIAQgAygCGEZrQQA6AAALIANBoAFqJAALiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhDAFSAE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A6dBAXENACAGDQBBxP0KQcQANgIAIANCAX0hAwwDCyADIAlaDQBBxP0KQcQANgIADAILIAkgBqwiA4UgA30hAwwBC0IAIQMgAEIAEMgVCyAHQRBqJAAgAwsNACAAIAEgAkJ/EMwVC3wBAX8jAEGQAWsiBCQAIAQgADYCLCAEIAA2AgQgBEEANgIAIARBfzYCTCAEQX8gAEH/////B2ogAEEASBs2AgggBEIAEMgVIAQgAkEBIAMQyhUhAyABBEAgASAAIAQoAgQgBCgCeGogBCgCCGtqNgIACyAEQZABaiQAIAMLEgAgACABIAJCgICAgAgQzBWnCzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMIC8QCAQF/IwBB0ABrIgQkAAJAIANBgIABTgRAIARBIGogASACQgBCgICAgICAgP//ABDqFSAEKQMoIQIgBCkDICEBIANB//8BSARAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABDqFSADQf3/AiADQf3/AkgbQf7/AWshAyAEKQMYIQIgBCkDECEBDAELIANBgYB/Sg0AIARBQGsgASACQgBCgICAgICAwAAQ6hUgBCkDSCECIAQpA0AhASADQYOAfkoEQCADQf7/AGohAwwBCyAEQTBqIAEgAkIAQoCAgICAgMAAEOoVIANBhoB9IANBhoB9ShtB/P8BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhDqFSAAIAQpAwg3AwggACAEKQMANwMAIARB0ABqJAALlAgCBn8CfiMAQTBrIgYkAAJAIAJBAk0EQCABQQRqIQUgAkECdCICQcznCGooAgAhCCACQcDnCGooAgAhCQNAAn8gASgCBCICIAEoAmhJBEAgBSACQQFqNgIAIAItAAAMAQsgARDJFQsiAhDnFA0AC0EBIQcCQAJAIAJBK2sOAwABAAELQX9BASACQS1GGyEHIAEoAgQiAiABKAJoSQRAIAUgAkEBajYCACACLQAAIQIMAQsgARDJFSECCwJAAkADQCAEQfrmCGosAAAgAkEgckYEQAJAIARBBksNACABKAIEIgIgASgCaEkEQCAFIAJBAWo2AgAgAi0AACECDAELIAEQyRUhAgsgBEEBaiIEQQhH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DQAgAC0AAEUNACAAQT0Q/BQNAEGshgsoAgAoAgAiAkUNAAJAA0AgACACIAQQgBUhA0GshgsoAgAhAiADRQRAIAIgAUECdGooAgAgBGoiAy0AAEE9Rg0CCyACIAFBAWoiAUECdGooAgAiAg0AC0EADwsgA0EBaiEBCyABCxYAIABFBEBBAA8LQcT9CiAANgIAQX8LAwABC9kBAQN/IABFBEBBHA8LQbCGCygCAEUEQEGwhgtBBDYCAEG0hgtBEBChGzYCAAtBuIYLKAIAIgMEQEG0hgsoAgAhAgJAA0AgAiABQQN0aigCBEUNASABQQFqIgEgA0cNAAsgAyEBCyADQQJ0IQILQbCGCygCACABRgRAQbCGCyABQQF0NgIAQbSGC0G0hgsoAgAgAhCjGzYCAEG4hgsoAgAhAwsgAUEBaiECIAEgA0YEQEG4hgsgAjYCAAtBtIYLKAIAIAFBA3RqQoCAgIAQNwIAIAAgAjYCAEEAC0UBAX9BHCEBAkAgAEEBayIAQbiGCygCAE8NAEG0hgsoAgAgAEEDdGoiACgCBEUNAEEAIQEgAEEANgIAIABBADYCBAsgAQs2AAJ/QQAgAEEBayIAQbiGCygCAE8NABpBAEG0hgsoAgAgAEEDdGoiACgCBEUNABogACgCAAsLPgEBf0EcIQICQCAAQQFrIgBBuIYLKAIATw0AQbSGCygCACAAQQN0aiIAKAIERQ0AIAAgATYCAEEAIQILIAIL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvEAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQBBACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEBBACABIAJTIAEgAlEbDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwtpAQN+IAAgAkIgiCIDIAFCIIgiBH4gAkL/////D4MiAiABQv////8PgyIBfiIFQiCIIAIgBH58IgJCIIh8IAEgA34gAkL/////D4N8IgJCIIh8NwMIIAAgBUL/////D4MgAkIghoQ3AwALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgL4QkCBH8EfiMAQfAAayIFJAAgBEL///////////8AgyEKAkACQCABQgF9IglCf1EgAkL///////////8AgyILIAEgCVatfEIBfSIJQv///////7///wBWIAlC////////v///AFEbRQRAIANCAX0iCUJ/UiAKIAMgCVatfEIBfSIJQv///////7///wBUIAlC////////v///AFEbDQELIAFQIAtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAtCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIGGyEEQgAgASAGGyEDDAILIAMgCkKAgICAgIDA//8AhYRQDQEgASALhFAEQCADIAqEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAqEUEUNACABIQMgAiEEDAELIAMgASABIANUIAogC1YgCiALURsiBxshCiAEIAIgBxsiC0L///////8/gyEJIAIgBCAHGyICQjCIp0H//wFxIQggC0IwiKdB//8BcSIGRQRAIAVB4ABqIAogCSAKIAkgCVAiBht5IAZBBnStfKciBkEPaxDkFSAFKQNoIQkgBSkDYCEKQRAgBmshBgsgASADIAcbIQMgAkL///////8/gyEEIAhFBEAgBUHQAGogAyAEIAMgBCAEUCIHG3kgB0EGdK18pyIHQQ9rEOQVQRAgB2shCCAFKQNYIQQgBSkDUCEDCyAEQgOGIANCPYiEQoCAgICAgIAEhCEEIAlCA4YgCkI9iIQhASACIAuFIQkCfiADQgOGIgMgBiAIayIHRQ0AGiAHQf8ASwRAQgAhBEIBDAELIAVBQGsgAyAEQYABIAdrEOQVIAVBMGogAyAEIAcQ5xUgBSkDOCEEIAUpAzAgBSkDQCAFKQNIhEIAUq2ECyEDIAFCgICAgICAgASEIQwgCkIDhiECAkAgCUJ/VwRAIAIgA30iASAMIAR9IAIgA1StfSIEhFAEQEIAIQNCACEEDAMLIARC/////////wNWDQEgBUEgaiABIAQgASAEIARQIgcbeSAHQQZ0rXynQQxrIgcQ5BUgBiAHayEGIAUpAyghBCAFKQMgIQEMAQsgAiADfCIBIANUrSAEIAx8fCIEQoCAgICAgIAIg1ANACABQgGDIARCP4YgAUIBiISEIQEgBkEBaiEGIARCAYghBAsgC0KAgICAgICAgIB/gyECIAZB//8BTgRAIAJCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBkEASgRAIAYhBwwBCyAFQRBqIAEgBCAGQf8AahDkFSAFIAEgBEEBIAZrEOcVIAUpAwAgBSkDECAFKQMYhEIAUq2EIQEgBSkDCCEECyAEQj2GIAFCA4iEIgMgAyABp0EHcSIGQQRLrXwiAVatIARCA4hC////////P4MgAoQgB61CMIaEfCEEAkACQCAGQQRHBEAgASEDDAELIAQgAUIBgyICIAF8IgMgAlStfCEEDAELIAZFDQELCyAAIAM3AwAgACAENwMIIAVB8ABqJAALxwECA38CfiMAQRBrIgMkAAJ+IAG8IgRB/////wdxIgJBgICABGtB////9wdNBEAgAq1CGYZCgICAgICAgMA/fAwBCyACQYCAgPwHTwRAIAStQhmGQoCAgICAgMD//wCEDAELIAJFBEBCAAwBCyADIAKtQgAgAmciAkHRAGoQ5BUgAykDACEFIAMpAwhCgICAgICAwACFQYn/ACACa61CMIaECyEGIAAgBTcDACAAIAYgBEGAgICAeHGtQiCGhDcDCCADQRBqJAALUAEBfgJAIANBwABxBEAgAiADQUBqrYghAUIAIQIMAQsgA0UNACACQcAAIANrrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLtgMCA38BfiMAQSBrIgMkAAJAIAFC////////////AIMiBUKAgICAgIDAwD99IAVCgICAgICAwL/AAH1UBEAgAUIZiKchBCAAUCABQv///w+DIgVCgICACFQgBUKAgIAIURtFBEAgBEGBgICABGohAgwCCyAEQYCAgIAEaiECIAAgBUKAgIAIhYRCAFINASACIARBAXFqIQIMAQsgAFAgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCABQhmIp0H///8BcUGAgID+B3IhAgwBC0GAgID8ByECIAVC////////v7/AAFYNAEEAIQIgBUIwiKciBEGR/gBJDQAgA0EQaiAAIAFC////////P4NCgICAgICAwACEIgUgBEGB/gBrEOQVIAMgACAFQYH/ACAEaxDnFSADKQMIIgVCGYinIQIgAykDACADKQMQIAMpAxiEQgBSrYQiAFAgBUL///8PgyIFQoCAgAhUIAVCgICACFEbRQRAIAJBAWohAgwBCyAAIAVCgICACIWEQgBSDQAgAkEBcSACaiECCyADQSBqJAAgAiABQiCIp0GAgICAeHFyvgv6AQICfwN+IwBBEGsiAiQAAn4gAb0iBUL///////////8AgyIEQoCAgICAgIAIfUL/////////7/8AWARAIARCPIYhBiAEQgSIQoCAgICAgICAPHwMAQsgBEKAgICAgICA+P8AWgRAIAVCPIYhBiAFQgSIQoCAgICAgMD//wCEDAELIARQBEBCAAwBCyACIARCACAFp2dBIGogBEIgiKdnIARCgICAgBBUGyIDQTFqEOQVIAIpAwAhBiACKQMIQoCAgICAgMAAhUGM+AAgA2utQjCGhAshBCAAIAY3AwAgACAEIAVCgICAgICAgICAf4OENwMIIAJBEGokAAueCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ4gBEIvhiADQhGIhCELIARC////////P4MiDEIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghESAMQhGIIRIgBEIwiKdB//8BcSEGAkACfyACQjCIp0H//wFxIghBAWtB/f8BTQRAQQAgBkEBa0H+/wFJDQEaCyABUCACQv///////////wCDIg9CgICAgICAwP//AFQgD0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgD0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA+EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA+EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAPQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIHG3kgB0EGdK18pyIHQQ9rEOQVIAUpA1giDUIghiAFKQNQIgFCIIiEIQ4gDUIgiCERQRAgB2shBwsgByACQv///////z9WDQAaIAVBQGsgAyAMIAMgDCAMUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCELIAJCEYghEiAHIAlrQRBqCyEHIAtC/////w+DIgIgAUL/////D4MiBH4iEyADQg+GQoCA/v8PgyIBIA5C/////w+DIgN+fCIOQiCGIgwgASAEfnwiCyAMVK0gAiADfiIVIAEgDUL/////D4MiDH58Ig8gEEL/////D4MiDSAEfnwiECAOIBNUrUIghiAOQiCIhHwiEyACIAx+IhYgASARQoCABIQiDn58IhEgAyANfnwiFCASQv////8Hg0KAgICACIQiASAEfnwiEkIghnwiF3whBCAGIAhqIAdqQf//AGshBgJAIAwgDX4iGCACIA5+fCICIBhUrSACIAEgA358IgMgAlStfCADIA8gFVStIA8gEFatfHwiAiADVK18IAEgDn58IAEgDH4iAyANIA5+fCIBIANUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASASIBRUrSARIBZUrSARIBRWrXx8QiCGIBJCIIiEfCIDIAFUrXwgAyAQIBNWrSATIBdWrXx8IgIgA1StfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAtCAYYhCyADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIIQYABTwRAQgAhAQwDCyAFQTBqIAsgBCAGQf8AaiIGEOQVIAVBIGogAiABIAYQ5BUgBUEQaiALIAQgCBDnFSAFIAIgASAIEOcVIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAtQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAsgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAtBAQF/IwBBEGsiBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRDlFSAAIAUpAwA3AwAgACAFKQMINwMIIAVBEGokAAt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICaiACcyICrUIAIAJnIgJB0QBqEOQVIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC4gRAgV/DH4jAEHAAWsiBSQAIARC////////P4MhEiACQv///////z+DIRAgAiAEhUKAgICAgICAgIB/gyERIARCMIinQf//AXEhBwJAAkACQCACQjCIp0H//wFxIghBAWtB/f8BTQRAIAdBAWtB/v8BSQ0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCERDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIREgAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACERDAMLIBFCgICAgICAwP//AIQhEUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASALhFANAiACIAOEUARAIBFCgICAgICAwP//AIQhEUIAIQEMAgsgC0L///////8/WARAIAVBsAFqIAEgECABIBAgEFAiBht5IAZBBnStfKciBkEPaxDkFUEQIAZrIQYgBSkDuAEhECAFKQOwASEBCyACQv///////z9WDQAgBUGgAWogAyASIAMgEiASUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAYgCWpBEGshBiAFKQOoASESIAUpA6ABIQMLIAVBkAFqIBJCgICAgICAwACEIhRCD4YgA0IxiIQiAkKEyfnOv+a8gvUAIAJ9IgQQ4xUgBUGAAWpCACAFKQOYAX0gBBDjFSAFQfAAaiAFKQOIAUIBhiAFKQOAAUI/iIQiBCACEOMVIAVB4ABqIARCACAFKQN4fRDjFSAFQdAAaiAFKQNoQgGGIAUpA2BCP4iEIgQgAhDjFSAFQUBrIARCACAFKQNYfRDjFSAFQTBqIAUpA0hCAYYgBSkDQEI/iIQiBCACEOMVIAVBIGogBEIAIAUpAzh9EOMVIAVBEGogBSkDKEIBhiAFKQMgQj+IhCIEIAIQ4xUgBSAEQgAgBSkDGH0Q4xUgBiAIIAdraiEHAn5CACAFKQMIQgGGIAUpAwBCP4iEQgF9IgtC/////w+DIgQgAkIgiCIKfiIMIAtCIIgiCyACQv////8PgyIPfnwiAkIgiCACIAxUrUIghoQgCiALfnwgAkIghiIKIAQgD358IgIgClStfCACIAQgA0IRiEL/////D4MiDH4iDyALIANCD4ZCgID+/w+DIg1+fCIKQiCGIg4gBCANfnwgDlStIAsgDH4gCiAPVK1CIIYgCkIgiIR8fHwiCiACVK18IApCAFKtfH0iAkL/////D4MiDCAEfiIPIAsgDH4iDSAEIAJCIIgiDn58IgJCIIZ8IgwgD1StIAsgDn4gAiANVK1CIIYgAkIgiIR8fCAMQgAgCn0iAkIgiCIKIAR+Ig8gAkL/////D4MiDSALfnwiAkIghiIOIAQgDX58IA5UrSAKIAt+IAIgD1StQiCGIAJCIIiEfHx8IgIgDFStfCACQgJ9Ig8gAlStfEIBfSIKQv////8PgyICIBBCAoYgAUI+iIRC/////w+DIgR+IgwgAUIeiEL/////D4MiCyAKQiCIIgp+fCINIAxUrSANIA9CIIgiDCAQQh6IQv//7/8Pg0KAgBCEIhB+fCIOIA1UrXwgCiAQfnwgAiAQfiITIAQgCn58Ig0gE1StQiCGIA1CIIiEfCAOIA1CIIZ8Ig0gDlStfCANIAsgDH4iEyAPQv////8PgyIPIAR+fCIOIBNUrSAOIAIgAUIChkL8////D4MiE358IhUgDlStfHwiDiANVK18IA4gCiATfiINIA8gEH58IgogBCAMfnwiBCACIAt+fCICQiCIIAIgBFStIAogDVStIAQgClStfHxCIIaEfCIKIA5UrXwgCiAVIAwgE34iBCALIA9+fCILQiCIIAQgC1atQiCGhHwiBCAVVK0gBCACQiCGfCAEVK18fCIEIApUrXwiAkL/////////AFgEQCABQjGGIARC/////w+DIgEgA0L/////D4MiC34iCkIAUq19QgAgCn0iDyAEQiCIIgogC34iDSABIANCIIgiDH58IhBCIIYiDlStfSACQv////8PgyALfiABIBJC/////w+DfnwgCiAMfnwgDSAQVq1CIIYgEEIgiIR8IAQgFEIgiH4gAyACQiCIfnwgAiAMfnwgCiASfnxCIIZ8fSELIAdBAWshByAPIA59DAELIARCIYghDCABQjCGIAJCP4YgBEIBiIQiBEL/////D4MiASADQv////8PgyILfiIKQgBSrX1CACAKfSIQIAEgA0IgiCIKfiIPIAwgAkIfhoQiDUL/////D4MiDiALfnwiDEIghiITVK19IAQgFEIgiH4gAyACQiGIfnwgAkIBiCICIAp+fCANIBJ+fEIghiAKIA5+IAJC/////w+DIAt+fCABIBJC/////w+DfnwgDCAPVK1CIIYgDEIgiIR8fH0hCyAQIBN9CyEBIAdBgIABTgRAIBFCgICAgICAwP//AIQhEUIAIQEMAQsgB0H//wBqIQggB0GBgH9MBEACQCAIDQAgBCABQgGGIANWIAtCAYYgAUI/iIQiASAUViABIBRRG618IgEgBFStIAJC////////P4N8IgNCgICAgICAwACDUA0AIAMgEYQhEQwCC0IAIQEMAQsgBCABQgGGIANaIAtCAYYgAUI/iIQiASAUWiABIBRRG618IgEgBFStIAJC////////P4N8IAitQjCGfCARhCERCyAAIAE3AwAgACARNwMIIAVBwAFqJAAPCyAAQgA3AwAgAEKAgICAgIDg//8AIBEgAiADhFAbNwMIIAVBwAFqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQUMAgsgBEKAgICAgICAgEB9IQUgAEKAgICAgICAgAiFQgBSDQEgBSAEQgGDfCEFDAELIABQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBQwBC0KAgICAgICA+P8AIQUgBEL///////+//8MAVg0AQgAhBSAEQjCIpyIDQZH3AEkNACACQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBCADQYH3AGsQ5BUgAiAAIARBgfgAIANrEOcVIAIpAwhCBIYgAikDACIEQjyIhCEFIAIpAxAgAikDGIRCAFKtIARC//////////8Pg4QiBEKBgICAgICAgAhaBEAgBUIBfCEFDAELIARCgICAgICAgIAIhUIAUg0AIAVCAYMgBXwhBQsgAkEgaiQAIAUgAUKAgICAgICAgIB/g4S/C2QCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahDkFSACKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALNQEBfyMAQRBrIgIkACACIAAtAAA6AA8gACABLQAAOgAAIAEgAkEPai0AADoAACACQRBqJAALNQEBfyMAQRBrIgIkACACIAAoAgA2AgwgACABKAIANgIAIAEgAkEMaigCADYCACACQRBqJAALnwUBBn8DQCABQQRrIQcDQCAAIQMDQAJAAkACQAJAAkACQAJAAkAgASADayIAQQJ1IgUOBgcHAAQBAgMLIAFBBGsiACADEPMVRQ0GIAMgABDxFQ8LIAMgA0EEaiADQQhqIAFBBGsQ9BUaDwsgAyADQQRqIANBCGogA0EMaiABQQRrEPUVGg8LIABB+wBMBEAgAyABEPYVDwsgAyAFQQJtQQJ0aiEEAn8gAEGdH04EQCADIAMgBUEEbUECdCIAaiAEIAAgBGogBxD1FQwBCyAD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fyABQQJxDQEgAEECOgAAQQEFQQALDwsACx4BAX8jAEEQayIBJAAgASAAEP4aEIIbIAFBEGokAAszAQF/IwBBEGsiASQAIAFBCGogACgCBBCTGCgCAEEBOgAAIAAoAghBAToAACABQRBqJAALAwAACw0AQYjVCigCABEOAAALBgBB4c0JCy0BAX8gAEGkzgk2AgAgAEEEaigCAEEMayIBQQhqELwZQX9MBEAgARCiGwsgAAsKACAAEIYbEKIbCw0AIAAQhhsaIAAQohsLCwAgACABQQAQihsLLQAgAkUEQCAAKAIEIAEoAgRGDwsgACABRgRAQQEPCyAAEM0UIAEQzRQQ/xRFC6cBAQF/IwBBQGoiAyQAAn9BASAAIAFBABCKGw0AGkEAIAFFDQAaQQAgAUG8zwlB7M8JEIwbIgFFDQAaIANBCGpBBHJBAEE0EK8bGiADQQE2AjggA0F/NgIUIAMgADYCECADIAE2AgggASADQQhqIAIoAgBBASABKAIAKAIcEQYAIAMoAiAiAEEBRgRAIAIgAygCGDYCAAsgAEEBRgshACADQUBrJAAgAAujAgEDfyMAQUBqIgMkACAAKAIAIgVBBGsoAgAhBCAFQQhrKAIAIQUgA0EANgIUIAMgATYCECADIAA2AgwgAyACNgIIQQAhASADQRhqQQBBJxCvGxogACAFaiEAAkAgBCACQQAQihsEQCADQQE2AjggBCADQQhqIAAgAEEBQQAgBCgCACgCFBENACAAQQAgAygCIEEBRhshAQwBCyAEIANBCGogAEEBQQAgBCgCACgCGBEIAAJAAkAgAygCLA4CAAECCyADKAIcQQAgAygCKEEBRhtBACADKAIkQQFGG0EAIAMoAjBBAUYbIQEMAQsgAygCIEEBRwRAIAMoAjANASADKAIkQQFHDQEgAygCKEEBRw0BCyADKAIYIQELIANBQGskACABC10BAX8gACgCECIDRQRAIABBATYCJCAAIAI2AhggACABNgIQDwsCQCABIANGBEAgACgCGEECRw0BIAAgAjYCGA8LIABBAToANiAAQQI2AhggACAAKAIkQQFqNgIkCwsaACAAIAEoAghBABCKGwRAIAEgAiADEI0bCwszACAAIAEoAghBABCKGwRAIAEgAiADEI0bDwsgACgCCCIAIAEgAiADIAAoAgAoAhwRBgALUgEB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DQA/AEEQdCAASQRAIAAQKkUNAQtBjNUKIAA2AgAgAQ8LQcT9CkEwNgIAQX8LRgAgAL1C////////////AINCgICAgICAgPj/AFgEQCAAIAAgAaUgAb1C////////////AINCgICAgICAgPj/AFYbDwsgAQucBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEOEVRQ0AIAMgBBCtGyEHIAJCMIinIghB//8BcSIGQf//AUYNACAHDQELIAVBEGogASACIAMgBBDqFSAFIAUpAxAiBCAFKQMYIgMgBCADEO0VIAUpAwghAiAFKQMAIQQMAQsgASACQv///////z+DIAatQjCGhCIKIAMgBEL///////8/gyAEQjCIp0H//wFxIgetQjCGhCIJEOEVQQBMBEAgASAKIAMgCRDhFQRAIAEhBAwCCyAFQfAAaiABIAJCAEIAEOoVIAUpA3ghAiAFKQNwIQQMAQsgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQ6hUgBSkDaCIKQjCIp0H4AGshBiAFKQNgCyEEIAdFBEAgBUHQAGogAyAJQgBCgICAgICAwLvAABDqFSAFKQNYIglCMIinQfgAayEHIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQhCyAKQv///////z+DQoCAgICAgMAAhCEKIAYgB0oEQANAAn4gCiALfSADIARWrX0iCUIAWQRAIAkgBCADfSIEhFAEQCAFQSBqIAEgAkIAQgAQ6hUgBSkDKCECIAUpAyAhBAwFCyAJQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiALfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQ6hUgBSkDOCECIAUpAzAhBAwBCyAJQv///////z9YBEADQCAEQj+IIQMgBkEBayEGIARCAYYhBCADIAlCAYaEIglCgICAgICAwABUDQALCyAIQYCAAnEhByAGQQBMBEAgBUFAayAEIAlC////////P4MgBkH4AGogB3KtQjCGhEIAQoCAgICAgMDDPxDqFSAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu4AgMCfwF+AnwCQAJ8IAC9IgNCIIinQf////8HcSIBQYDgv4QETwRAAkAgA0IAUw0AIAFBgIDAhARJDQAgAEQAAAAAAADgf6IPCyABQYCAwP8HTwRARAAAAAAAAPC/IACjDwsgAEQAAAAAAMyQwGVBAXMNAkQAAAAAAAAAACADQn9XDQEaDAILIAFB//+/5ANLDQEgAEQAAAAAAADwP6ALDwsgAEQAAAAAAAC4QqAiBL2nQYABaiIBQQR0QfAfcSICQZDWCWorAwAiBSAFIAAgBEQAAAAAAAC4wqChIAJBCHJBkNYJaisDAKEiAKIgACAAIAAgAER0XIcDgNhVP6JEAAT3iKuygz+gokSmoATXCGusP6CiRHXFgv+9v84/oKJE7zn6/kIu5j+goqAgAUGAfnFBgAJtEKwbC6gBAAJAIAFBgAhOBEAgAEQAAAAAAADgf6IhACABQf8PSARAIAFB/wdrIQEMAgsgAEQAAAAAAADgf6IhACABQf0XIAFB/RdIG0H+D2shAQwBCyABQYF4Sg0AIABEAAAAAAAAEACiIQAgAUGDcEoEQCABQf4HaiEBDAELIABEAAAAAAAAEACiIQAgAUGGaCABQYZoShtB/A9qIQELIAAgAUH/B2qtQjSGv6ILRAIBfwF+IAFC////////P4MhAwJ/IAFCMIinQf//AXEiAkH//wFHBEBBBCACDQEaQQJBAyAAIAOEUBsPCyAAIAOEUAsLggQBA38gAkGABE8EQCAAIAEgAhArGiAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIAJBAUgEQCAAIQIMAQsgAEEDcUUEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA08NASACQQNxDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC+kCAQF/AkAgACABRg0AIAEgAGsgAmtBACACQQF0a00EQCAAIAEgAhCuGxoPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIAAgAmpBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiED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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgMsAAAiBEHMAGsOKQATExMTExMTARMTExMTExMTExMTEwMTBAUGAgcTCBMTCQoLDA0ODxAREgsgABD3GyECDBULIAAQ6BshAgwUCwJAIABBARDDGyICQfAARwRAIAJB/wFxQcwARw0BIABBAhDDG0Ewa0EJSw0BCyAAEK8cIQIMFAsgABCwHCECDBMLAkACQAJAAkACQAJAAkAgAywAASIEQeEAaw4EARkZAgALIARBzgBGDQMgBEHTAEYNBCAEQe4ARg0CIARB9ABGDQUgBEH6AEcNGCAAIANBAmo2AgAgASAAEPYbIgI2AvgEIAJFDRcgAEGZ/gkgAUH4BGoQlxwhAgwYCyAAIANBAmo2AgAgASABQagFakGP/gkQwBspAgA3AxAgACABQRBqELEcIQIMFwsgACADQQJqNgIAIAEgAUGgBWpBkv4JEMAbKQIANwMYIAAgAUEYahCyHCECDBYLIAAgA0ECajYCACABIAFBmAVqQZL+CRDAGykCADcDICAAIAFBIGoQsRwhAgwVCyAAIANBAmo2AgAgASABQZAFakGU/gkQwBspAgA3AyggACABQShqELEcIQIMFAsgACADQQJqNgIAIAEgAUGIBWpBl/4JEMAbKQIANwMwIAAgAUEwahCxHCECDBMLIAAgA0ECajYCACABIAAQyRsiAjYC+AQgAkUNESAAQZn+CSABQfgEahCXHCECDBILAkACQAJAAkACQCADLAABIgRB7ABrDgQBAhYDAAsgBEH2AEYNAyAEQeMARw0VIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0UIAEgAxD2GyICNgKEBSACRQ0UIABBoANqQaP+CSABQfgEaiABQYQFahDEHCECDBULIAAgA0ECajYCACABIAAiBBD2GyIDNgKEBSADRQ0UIABBCGoiBRD2ASEGA0AgAEHFABDFG0UEQCABIAQQ9hsiAzYC+AQgA0UNFiAFIAFB+ARqENgbDAELCyABQfgEaiAAIAYQ2RsgAEGgA2ogAUGEBWogAUH4BGoQxRwhAgwUCyAAIANBAmo2AgAgASABQfAEakGu/gkQwBspAgA3AzggACABQThqELEcIQIMEwsgACADQQJqNgIAIAEgAUHoBGpBsP4JEMAbKQIANwNAIAAgAUFAaxCyHCECDBILIAAQsxwhAgwRCwJAAkACQAJAAkACQAJAIAMsAAEiBEHsAGsOCwEXAhcXFxcDBBcFAAsCQAJAAkAgBEHhAGsOBQAZARkCCAsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0XIAFBAToAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBgLIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0WIAEgAxD2GyICNgKEBSACRQ0WIABBoANqQbL+CSABQfgEaiABQYQFahDEHCECDBcLIAAgA0ECajYCACABIAFB4ARqQb/+CRDAGykCADcDSCAAIAFByABqELIcIQIMFgsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0UIAFBADoAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBULIAAQtRwhAgwUCyAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNEiABIAMQ9hsiAjYChAUgAkUNEiAAIAFB+ARqQcH+CSABQYQFahC2HCECDBMLIAAgA0ECajYCACABIAAiAxD2GyICNgL4BCACRQ0RIAEgAxD2GyICNgKEBSACRQ0RIABBoANqIAFB+ARqQcT+CSABQYQFahDMHCECDBILIAAgA0ECajYCACABIAFB2ARqQcb+CRDAGykCADcDUCAAIAFB0ABqELEcIQIMEQsgBEHWAEcNECAAIANBAmo2AgAgASABQdAEakHI/gkQwBspAgA3A1ggACABQdgAahCxHCECDBALAkACQAJAIAMsAAEiBEHvAGsOAwASAgELIAAgA0ECajYCACABIAFByARqQcv+CRDAGykCADcDYCAAIAFB4ABqELEcIQIMEQsgBEHPAEcNECAAIANBAmo2AgAgASABQcAEakHN/gkQwBspAgA3A2ggACABQegAahCxHCECDBALIAAgA0ECajYCACABIAFBuARqQdD+CRDAGykCADcDcCAAIAFB8ABqELEcIQIMDwsgAywAASIEQfQARwRAIARB5QBHDQ8gACADQQJqNgIAIAEgAUGwBGpB0/4JEMAbKQIANwN4IAAgAUH4AGoQsRwhAgwPCyAAIANBAmo2AgAgASABQagEakHW/gkQwBspAgA3A4ABIAAgAUGAAWoQsRwhAgwOCyADLAABIgRB7ABHBEAgBEH4AEcNDiAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNDSABIAMQ9hsiAjYChAUgAkUNDSAAQaADakEQEPwbIAFB+ARqKAIAIAFBhAVqKAIAEK0dIQIMDgsgACADQQJqNgIAIABBCGoiBBD2ASEFA0AgAEHFABDFG0UEQCABIAAQtxwiAzYC+AQgA0UNDyAEIAFB+ARqENgbDAELCyABQQA2AoQFIAFB+ARqIAAgBRDZGyAAQaADaiABQYQFaiABQfgEahDOHCECDA0LAkACQAJAAkAgAywAASIEQfMAaw4CAQMACyAEQdMARg0BIARB5QBHDQ8gACADQQJqNgIAIAEgAUGgBGpB2P4JEMAbKQIANwOIASAAIAFBiAFqELEcIQIMDwsgACADQQJqNgIAIAEgAUGYBGpB2/4JEMAbKQIANwOQASAAIAFBkAFqELEcIQIMDgsgACADQQJqNgIAIAEgAUGQBGpB3v4JEMAbKQIANwOYASAAIAFBmAFqELEcIQIMDQsgACADQQJqNgIAIAEgAUGIBGpB4v4JEMAbKQIANwOgASAAIAFBoAFqELEcIQIMDAsCQAJAAkACQAJAAkAgAywAASIEQekAaw4FARERAwUACyAEQckAaw4EARAQAxALIAAgA0ECajYCACABIAFBgARqQeT+CRDAGykCADcDqAEgACABQagBahCxHCECDA8LIAAgA0ECajYCACABIAFB+ANqQeb+CRDAGykCADcDsAEgACABQbABahCxHCECDA4LIAAgA0ECajYCACABIAFB8ANqQb/+CRDAGykCADcDuAEgACABQbgBahCxHCECDA0LIAAgA0ECajYCACABIAFB6ANqQen+CRDAGykCADcDwAEgACABQcABahCxHCECDAwLIAAgA0ECajYCACAAQd8AEMUbBEAgASABQeADakHs/gkQwBspAgA3A8gBIAAgAUHIAWoQshwhAgwMCyABIAAQ9hsiAjYC+AQgAkUNCiAAIAFB+ARqQez+CRC4HCECDAsLAkACQAJAAkACQAJAIAMsAAEiBEHhAGsOBwEQEBACEAMACyAEQfQAaw4FAw8PAAQPCyAAELkcIQIMDgsgACADQQJqNgIAIAEgAUHYA2pB7/4JEMAbKQIANwPQASAAIAFB0AFqELEcIQIMDQsgACAD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Amo2AgAgAEGDnAoQ3hshAgwKCyAAIAAoAgBBAmo2AgAgAEGOnAoQ3hshAgwJCwJAAkACQAJAAkACQCAAQQEQwxsiAUHhAGsOBwEODg4CDgMACyABQfQAaw4EAw0NBA0LIAAgACgCAEECajYCACAAQZmcChDeGyECDAwLIAAgACgCAEECajYCACAAQaicChDeGyECDAsLIAAgACgCAEECajYCACAAQe6bChDeGyECDAoLIAAgACgCAEECajYCACAAQbOcChDeGyECDAkLIAAgACgCAEECajYCACAAQb2cChDeGyECDAgLAkACQAJAIABBARDDGyIBQe8Aaw4EAAoKAQILIAAgACgCAEECajYCACAAQcqcChDeGyECDAkLIAAgACgCAEECajYCACAAQdWcChDeGyECDAgLIAFB0gBHDQcgACAAKAIAQQJqNgIAIABB35wKEN4bIQIMBwsCQAJAAkACQAJAAkAgAEEBEMMbIgFB7ABrDgkBAAwMAwwMBAUCCyAAIAAoAgBBAmo2AgAgAEHqnAoQ3hshAgwLCyAAIAAoAgBBAmo2AgAgAEH2nAoQ3hshAgwKCyABQcwARw0JIAAgACgCAEECajYCACAAQYCdChDeGyECDAkLIAAgACgCAEECajYCACAAQYudChDeGyECDAgLIAAgACgCAEECajYCACAAQfacChDeGyECDAcLIAAgACgCAEECajYCACAAQZadChDeGyECDAYLIABBARDDG0H1AEcNBSAAIAAoAgBBAmo2AgAgAEGhnQoQ3hshAgwFCwJAAkAgAEEBEMMbIgFBzQBHBEAgAUHTAEYNAiABQfMARg0BIAFB7QBHDQcgACAAKAIAQQJqNgIAIABBq50KEN4bIQIMBwsgACAAKAIAQQJqNgIAIABBtZ0KEN4bIQIMBgsgACAAKAIAQQJqNgIAIABBwJ0KEN4bIQIMBQsgACAAKAIAQQJqNgIAIABBy50KEN4bIQIMBAsgAEEBEMMbQfMARw0DIAAgACgCAEECajYCACAAQdedChDeGyECDAMLIABBARDDG0Ewa0EJSw0CIAAgACgCAEECajYCACADIAAQmhwiAjYCGCACRQ0BIAAgA0EYahCjHSECDAILIAAgACgCAEECajYCACAAQfiZChDeGyECDAELQQAhAgsgA0EgaiQAIAILJAAgAEEHQQFBAUEBEIAcIABBvPsJNgIAIAAgASkCADcCCCAACzACAX8BfiMAQRBrIgIkACACIAApAggiAzcDACACIAM3AwggASACEIIcIAJBEGokAAsoACAAQRdBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQaD8CTYCACAAC0MBAX8jAEEQayICJAAgACgCCCABELwbIAIgAkEIakGA/QkQwBspAgA3AwAgASACEIIcIAAoAgwgARC8GyACQRBqJAALFgAgACABKAIMIgEgASgCACgCGBECAAsuAQF/An9BACAAKAIAIgEgACgCBEYNABogACABQQFqNgIAIAEtAAALQRh0QRh1Cy8AIABBJEECQQJBAhCAHCAAQQA6ABAgAEEANgIMIAAgATYCCCAAQZD9CTYCACAAC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARClHCEDIAQQphwLIAJBEGokACADC0kBAX8jAEEQayIDJAAgAyACOgAPIAAgATYCACABLQAAIQEgAEEBOgAFIAAgAToABCAAKAIAIANBD2otAAA6AAAgA0EQaiQAIAALJAEBfyAALQAFIgJBAkcEQCACRQ8LIAAgASAAKAIAKAIAEQMACxoAIAAtAAUEQCAAKAIAIABBBGotAAA6AAALC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARCoHCEDIAQQphwLIAJBEGokACADCyQBAX8gAC0ABiICQQJHBEAgAkUPCyAAIAEgACgCACgCBBEDAAtBAQN/IwBBEGsiAiQAIAAtABBFBEAgAkEIaiAAQRBqQQEQpBwhBCAAKAIMIAEQqhwhAyAEEKYcCyACQRBqJAAgAwskAQF/IAAtAAciAkECRwRAIAJFDwsgACABIAAoAgAoAggRAwALSwECfyMAQRBrIgIkACAALQAQRQRAIAJBCGogAEEQakEBEKQcIQMgACgCDCIAIAEgACgCACgCDBEDACEAIAMQphwLIAJBEGokACAAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhARAgAgAxCmHAsgAkEQaiQAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhQRAgAgAxCmHAsgAkEQaiQACxUAIAEgAGsiAQRAIAIgACABELAbCwvQAQECfyMAQTBrIgEkACABIAFBKGpBtI8KEMAbKQIANwMQAkAgACABQRBqEMEbBEAgABCGHBogAUEgaiAAQQAQxhsgAEHfABDFG0UNASAAIAFBIGoQwhwhAgwBCyABIAFBGGpBt48KEMAbKQIANwMIIAAgAUEIahDBG0UNACABQSBqIABBABDGGyABQSBqEMcbDQAgAEHwABDFG0UNACAAEIYcGiABQSBqIABBABDGGyAAQd8AEMUbRQ0AIAAgAUEgahDCHCECCyABQTBqJAAgAgusEQEGfyMAQZAEayIBJAACQCAAQeYAEMUbRQ0AIAECf0EBIABBABDDGyIEQcwARg0AGiAEQf8BcSIDQfIARwRAQQEgA0HsAEYNARogA0HSAEcNAgtBAAs6AI8EIAAgACgCAEEBajYCACABQYAEahDaGyEDIAEgAUH4A2pBqJAKEMAbKQIANwPwAQJAIAAgAUHwAWoQwRsEQCABQfADakGP/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHoA2pBq5AKEMAbKQIANwPoASAAIAFB6AFqEMEbBEAgAUHwA2pBkv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFB4ANqQa6QChDAGykCADcD4AEgACABQeABahDBGwRAIAFB8ANqQZT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgDakGxkAoQwBspAgA3A9gBIAAgAUHYAWoQwRsEQCABQfADakGX/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHQA2pBtJAKEMAbKQIANwPQASAAIAFB0AFqEMEbBEAgAUHwA2pBrv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFByANqQbeQChDAGykCADcDyAEgACABQcgBahDBGwRAIAFB8ANqQcH+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcADakG6kAoQwBspAgA3A8ABIAAgAUHAAWoQwRsEQCABQfADakHG/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUG4A2pBvZAKEMAbKQIANwO4ASAAIAFBuAFqEMEbBEAgAUHwA2pByP4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBsANqQcCQChDAGykCADcDsAEgACABQbABahDBGwRAIAFB8ANqQcv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQagDakHDkAoQwBspAgA3A6gBIAAgAUGoAWoQwRsEQCABQfADakHN/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGgA2pBxpAKEMAbKQIANwOgASAAIAFBoAFqEMEbBEAgAUHwA2pB0P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBmANqQcmQChDAGykCADcDmAEgACABQZgBahDBGwRAIAFB8ANqQdP+CRDAGxogASABKQPwAzcDgAQMAQsgASABQZADakHMkAoQwBspAgA3A5ABIAAgAUGQAWoQwRsEQCABQfADakHW/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGIA2pBz5AKEMAbKQIANwOIASAAIAFBiAFqEMEbBEAgAUHwA2pB2P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBgANqQdKQChDAGykCADcDgAEgACABQYABahDBGwRAIAFB8ANqQdv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfgCakHVkAoQwBspAgA3A3ggACABQfgAahDBGwRAIAFB8ANqQd7+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfACakHYkAoQwBspAgA3A3AgACABQfAAahDBGwRAIAFB8ANqQeL+CRDAGxogASABKQPwAzcDgAQMAQsgASABQegCakHbkAoQwBspAgA3A2ggACABQegAahDBGwRAIAFB8ANqQeT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQeACakHekAoQwBspAgA3A2AgACABQeAAahDBGwRAIAFB8ANqQeb+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgCakHhkAoQwBspAgA3A1ggACABQdgAahDBGwRAIAFB8ANqQb/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdACakHkkAoQwBspAgA3A1AgACABQdAAahDBGwRAIAFB8ANqQen+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcgCakHnkAoQwBspAgA3A0ggACABQcgAahDBGwRAIAFB8ANqQe/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcACakHqkAoQwBspAgA3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ahDHGw0AIABBxQAQxRtFDQAgAEGgA2ogASACQQhqEN8cIQMLIAJBEGokACADCzkAIABBoANqQQwQ/BshACABKAIAQQBHIQEgAEHBAEEBQQFBARCAHCAAIAE6AAggAEHwgQo2AgAgAAuWAQEFfyMAQRBrIgIkAAJ/QQAgABDEG0EJSQ0AGiACQQhqIAAoAgAiASABQQhqEJAZIgMoAgAhASADKAIEIQQCQANAIAEgBEYNASABLAAAIQUgAUEBaiEBIAUQoBcNAAtBAAwBCyAAIAAoAgBBCGo2AgBBACAAQcUAEMUbRQ0AGiAAQaADaiADEOQcCyEBIAJBEGokACABC5YBAQV/IwBBEGsiAiQAAn9BACAAEMQbQRFJDQAaIAJBCGogACgCACIBIAFBEGoQkBkiAygCACEBIAMoAgQhBAJAA0AgASAERg0BIAEsAAAhBSABQQFqIQEgBRCgFw0AC0EADAELIAAgACgCAEEQajYCAEEAIABBxQAQxRtFDQAaIABBoANqIAMQ5hwLIQEgAkEQaiQAIAELlgEBBX8jAEEQayICJAACf0EAIAAQxBtBIUkNABogAkEIaiAAKAIAIgEgAUEgahCQGSIDKAIAIQEgAygCBCEEAkADQCABIARGDQEgASwAACEFIAFBAWohASAFEKAXDQALQQAMAQsgACAAKAIAQSBqNgIAQQAgAEHFABDFG0UNABogAEGgA2ogAxDoHAshASACQRBqJAAgAQsNACAAQaADaiABEIcdCxwBAX8gACgCACECIAAgASgCADYCACABIAI2AgALUAEBfyMAQRBrIgQkACAAQRgQ/BshACAEQQhqIAEQwBshASADKAIAIQMgAigCACECIAQgASkCADcDACAAIAQgAiADEJcdIQIgBEEQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQmR0hAiADQRBqJAAgAgsPACAAQaADaiABIAIQmx0LgQEBAn8jAEEQayICJAACQAJAIABBABDDGyIBQcQARwRAIAFB/wFxQdQARw0BIAIgABDoGyIBNgIMIAFFDQIgAEGUAWogAkEMahDYGwwCCyACIAAQ4RsiATYCCCABRQ0BIABBlAFqIAJBCGoQ2BsMAQsgABDsGyEBCyACQRBqJAAgAQtnAQN/IwBBEGsiAiQAIAIgACIDEJocIgE2AgwCQCABRQRAQQAhAQwBCyAAQQAQwxtByQBHDQAgAiADQQAQ6RsiATYCCCABBH8gACACQQxqIAJBCGoQ6hsFQQALIQELIAJBEGokACABCxoAIABBoANqQRAQ/BsgASgCACACKAIAEKIdC8YBAQN/IwBBMGsiASQAAn8gAEEAEMMbQTBrQQlNBEAgABDIHAwBCyABIAFBKGpBjJkKEMAbKQIANwMQIAAgAUEQahDBGwRAIAAQoB0MAQsgASABQSBqQY+ZChDAGykCADcDCCAAIAFBCGoQwRsaIAEgACIDQQAQmxwiAjYCHEEAIAJFDQAaIAIgAEEAEMMbQckARw0AGiABIANBABDpGyICNgIYIAIEfyAAIAFBHGogAUEYahDqGwVBAAsLIQIgAUEwaiQAIAILNQAgAEGgA2pBDBD8GyEAIAEoAgAhASAAQSZBAUEBQQEQgBwgACABNgIIIABB5J8KNgIAIAALUAEBfyMAQRBrIgQkACAAQRgQ/BshACABKAIAIQEgBEEIaiACEMAbIQIgAygCACEDIAQgAikCADcDACAAIAEgBCADEKsdIQIgBEEQaiQAIAILHwAgAEGgA2pBFBD8GyABKAIAIAIoAgAgAy0AABCvHQs9AQF+IwBBEGsiASQAIABBFBD8GyEAIAEgAikCACIDNwMAIAEgAzcDCCAAQQAgARCzHSECIAFBEGokACACC0MBAX8jAEEQayIDJAAgAEEUEPwbIQAgASgCACEBIAMgA0EIaiACEMAbKQIANwMAIAAgASADELUdIQIgA0EQaiQAIAILFQAgAEGgA2ogASACIAMgBCAFELYdCzEAIABBDBD8GyEAIAEoAgAhASAAQTZBAUEBQQEQgBwgACABNgIIIABBzKgKNgIAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQQBBAUEBQQEQgBwgAEHIqQo2AgAgACACKQIANwIIIAJBEGokACAAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADELMdIQIgA0EQaiQAIAILMQAgAEEMEPwbIQAgASgCACEBIABBP0EBQQFBARCAHCAAIAE2AgggAEG0qgo2AgAgAAsyACAAQQwQ/BshACABKAIAIQEgAEHCAEEBQQFBARCAHCAAIAE2AgggAEHAhQo2AgAgAAtJAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAE2AgAgASgCACEBIABBAToACCAAIAE2AgQgACgCACADQQxqKAIANgIAIANBEGokACAAC0QBAX8jAEEQayICJAAgACABNgIAIAAgAUHMAmoiARD2ATYCBCACIABBCGoQzRs2AgwgASACQQxqENgbIAJBEGokACAAC28BBH8jAEEQayIDJAAgA0EANgIMIAMgABDEGzYCCCADQQxqIANBCGoQ3hkhAkF/IQQCQCAAEMQbIgUgAigCACICTQ0AIAAoAgAgAmogASAFIAJrEPoUIgJFDQAgAiAAKAIAayEECyADQRBqJAAgBAvwAwEFfyMAQaABayIBJAAgASAANgKYASABIAFBkAFqQcOHChDAGykCADcDKAJAIAAgAUEoahDBGwRAIAEgAUGYAWpBABDsHCIDNgJIIANFDQEgAEGgA2ogAUHIAGoQ7xwhAgwBCyABIAFBiAFqQcaHChDAGykCADcDIAJAIAAgAUEgahDBGwRAIAEgAUGYAWpBARDsHCICNgJIIAJFDQEgASAAEMkbIgI2AjggAkUNASAAQaADakEQEPwbIAFByABqKAIAIAFBOGooAgAQ+RwhAgwCCyABIAFBgAFqQcmHChDAGykCADcDGCAAIAFBGGoQwRsEQCABIAFBmAFqQQIQ7BwiAjYCfCACRQ0BIABBCGoiAxD2ASEEIAFByABqIAAQ1xwhBQJ/AkADQAJAIAEgAUFAa0HMhwoQwBspAgA3AwggACABQQhqEMEbDQAgASAAENkcIgI2AjggAkUNAiADIAFBOGoQ2BsMAQsLIAFBOGogACAEENkbIABBoANqIAFB/ABqIAFBOGoQ8BwMAQtBAAshAiAFENscDAILIAEgAUEwakHOhwoQwBspAgA3AxAgACABQRBqEMEbRQ0BIAEgABDZHCICNgJIIAJFDQAgAEGgA2ogAUHIAGoQ8RwhAgwBC0EAIQILIAFBoAFqJAAgAgsIACAAKAIERQsbACAAKAIAQcwCaiAAKAIEEPUbIABBCGoQyxsLGgAgAC0ACARAIAAoAgAgAEEEaigCADYCAAsLMgAgAEEMEPwbIQAgASgCACEBIABBwwBBAUEBQQEQgBwgACABNgIIIABB3I0KNgIAIAALRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQhR0hAiADQRBqJAAgAgtVAgF/An4jAEEgayIDJAAgAEEYEPwbIQAgAyABKQIAIgQ3AxggAyACKQIAIgU3AxAgAyAENwMIIAMgBTcDACAAIANBCGogAxDgHCECIANBIGokACACCy8AIABBxQBBAUEBQQEQgBwgAEGAgQo2AgAgACABKQIANwIIIAAgAikCADcCECAAC5cCAgJ/AX4jAEHwAGsiAiQAIABBCGoiAxDEG0EETwRAIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCACIAMpAgAiBDcDKCACIAQ3A2AgASACQShqEIIcIAIgAkHYAGpBiv4JEMAbKQIANwMgIAEgAkEgahCCHAsgAgJ/IABBEGoiACgCAC0AAEHuAEYEQCACIAJB0ABqQeT+CRDAGykCADcDGCABIAJBGGoQghwgAkHIAGogAEEBEOIcIAJByABqDAELIAIgACkCADcDQCACQUBrCykCADcDECABIAJBEGoQghwgAxDEG0EDTQRAIAIgAykCACIENwMIIAIgBDcDOCABIAJBCGoQghwLIAJB8ABqJAALIgAgACABKAIAIAIgARDEGyIAIAAgAksbaiABKAIEEJAZGgs5AQF/IwBBEGsiAiQAIAIgAkEIakHMggpB0YIKIAAtAAgbEMAbKQIANwMAIAEgAhCCHCACQRBqJAALVQIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQcYAQQFBAUEBEIAcIABB4IIKNgIAIAAgAikCADcCCCACQRBqJAAgAAv2AQEEfyMAQUBqIgIkACAAQQhqIgAoAgAhBCAAKAIEIARrQQFqQQlPBEAgAkE4aiEDQQAhAANAIABBCEcEQCADQVBBqX8gBCAAQQFyaiwAACIFQTBrQQpJGyAFakEAQQkgACAEaiwAACIFQTBrQQpJGyAFakEEdGo6AAAgA0EBaiEDIABBAmohAAwBCwsgAkE4aiADEJkYIAJCADcDMCACQgA3AyggAkIANwMgIAIgAioCOLs5AxAgAiACQRhqIAJBIGogAkEgakEYQciDCiACQRBqEJ8KIAJBIGpqEJAZKQIANwMIIAEgAkEIahCCHAsgAkFAayQAC1UCAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggAEHHAEEBQQFBARCAHCAAQdSDCjYCACAAIAIpAgA3AgggAkEQaiQAIAALgAIBBH8jAEHQAGsiAiQAIABBCGoiACgCACEEIAAoAgQgBGtBAWpBEU8EQCACQcgAaiEDQQAhAANAIABBEEcEQCADQVBBqX8gBCAAQQFyaiwAACIFQTBrQQpJGyAFakEAQQkgACAEaiwAACIFQTBrQQpJGyAFakEEdGo6AAAgA0EBaiEDIABBAmohAAwBCwsgAkHIAGogAxCZGCACQgA3AzggAkIANwMwIAJCADcDKCACQgA3AyAgAiACKwNIOQMQIAIgAkEYaiACQSBqIAJBIGpBIEG8hAogAkEQahCfCiACQSBqahCQGSkCADcDCCABIAJBCGoQghwLIAJB0ABqJAALVQIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQcgAQQFBAUEBEIAcIABByIQKNgIAIAAgAikCADcCCCACQRBqJAAgAAv7AQEEfyMAQfAAayICJAAgAEEIaiIAKAIAIQQgACgCBCAEa0EBakEhTwRAIAJB4ABqIQNBACEAA0AgAEEgRwRAIANBUEGpfyAEIABBAXJqLAAAIgVBMGtBCkkbIAVqQQBBCSAAIARqLAAAIgVBMGtBCkkbIAVqQQR0ajoAACADQQFqIQMgAEECaiEADAELCyACQeAAaiADEJkYIAJBMGpBAEEoEK8bGiACIAIpA2A3AxAgAiACKQNoNwMYIAIgAkEoaiACQTBqIAJBMGpBKEGwhQogAkEQahCfCiACQTBqahCQGSkCADcDCCABIAJBCGoQghwLIAJB8ABqJAALVwEBfyMAQSBrIgIkACACIAJBGGpBpIYKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIIAEQvBsgAiACQRBqQaeGChDAGykCADcDACABIAIQghwgAkEgaiQAC1QCAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggAEEsQQFBAUEBEIAcIABB1IYKNgIAIAAgAikCADcCCCACQRBqJAAgAAt9AQF/IwBBEGsiAiQAIAIgATYCDCAAKAIAIgAgAUECdGpBjANqIgEgASgCACIBQQFqNgIAIAIgATYCCCACIABBoANqQRAQ/BsgAkEMaigCACACQQhqKAIAEPIcIgE2AgQgAEHMAmoQkxwoAgAgAkEEahDYGyACQRBqJAAgAQttAgF/A34jAEEwayIEJAAgAEEgEPwbIQAgBCABKQIAIgU3AyggBCACKQIAIgY3AyAgBCADKQIAIgc3AxggBCAFNwMQIAQgBjcDCCAEIAc3AwAgACAEQRBqIARBCGogBBCBHSEDIARBMGokACADC2wCAX8BfiMAQTBrIgIkACACIAJBKGpBuIcKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAggiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAJBMGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEcQQBBAUEBEIAcIAAgATYCCCAAQeCICjYCACAAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPwcIQIgA0EQaiQAIAILMQAgAEEMEPwbIQAgASgCACEBIABBH0EAQQFBARCAHCAAIAE2AgggAEHwiwo2AgAgAAsoACAAQRtBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQdyHCjYCACAAC3oBAX8jAEEgayICJAACQCACAn8CQAJAAkAgACgCCA4DAAECBAsgAkEYakHMiAoQwBsMAgsgAkEQakHPiAoQwBsMAQsgAkEIakHSiAoQwBsLKQIANwMAIAEgAhCCHAsgACgCDCIABEAgASAAQQFrrRD0HAsgAkEgaiQAC3gBAn8jAEEwayICJAACQCABUARAIABBMBC9GwwBCyACQRBqEPUcIQMDQCABUEUEQCADQQFrIgMgASABQgqAIgFCCn59p0EwcjoAAAwBCwsgAiACQQhqIAMgAkEQahD1HBCQGSkCADcDACAAIAIQ9hwLIAJBMGokAAsHACAAQRVqCzACAX8BfiMAQRBrIgIkACACIAEpAgAiAzcDACACIAM3AwggACACEIIcIAJBEGokAAstACMAQRBrIgAkACAAIABBCGpBzIkKEMAbKQIANwMAIAEgABCCHCAAQRBqJAALDAAgACgCCCABELwbCygAIABBHUEAQQFBARCAHCAAIAI2AgwgACABNgIIIABB4IkKNgIAIAALUQECfyMAQRBrIgIkACAAKAIMIgMgASADKAIAKAIQEQIAIAAoAgwgARClHEUEQCACIAJBCGpB0IoKEMAbKQIANwMAIAEgAhCCHAsgAkEQaiQACyAAIAAoAgggARC8GyAAKAIMIgAgASAAKAIAKAIUEQIACysAIABBHkEAQQFBARCAHCAAIAE2AgggAEHcigo2AgAgACACKQIANwIMIAALVwEBfyMAQSBrIgIkACACIAJBGGpBzIsKEMAbKQIANwMIIAEgAkEIahCCHCAAQQxqIAEQ/hwgAiACQRBqQdaLChDAGykCADcDACABIAIQghwgAkEgaiQAC40BAQV/IwBBEGsiAiQAQQEhAwNAIAAoAgQgBEcEQCABKAIEIQUgA0EBcUUEQCACIAJBCGpB4osKEMAbKQIANwMAIAEgAhCCHAsgASgCBCEGIAAoAgAgBEECdGooAgAgARC8GyAEQQFqIQQgBiABKAIERgR/IAEgBRCRCyADBUEACyEDDAELCyACQRBqJAALQwEBfyMAQRBrIgIkACAAKAIIIgAgASAAKAIAKAIQEQIAIAIgAkEIakHcjAoQwBspAgA3AwAgASACEIIcIAJBEGokAAsWACAAKAIIIgAgASAAKAIAKAIUEQIACzgAIABBLUEBQQFBARCAHCAAQeiMCjYCACAAIAEpAgA3AgggACACKQIANwIQIAAgAykCADcCGCAAC3MCAX8BfiMAQTBrIgIkACACIAJBKGpBzI0KEMAbKQIANwMQIAEgAkEQahCCHCACIAApAhgiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAAgARCDHSACQTBqJAALqAEBAn8jAEFAaiICJAAgAEEIaiIDENocRQRAIAIgAkE4akHi/gkQwBspAgA3AxggASACQRhqEIIcIAMgARD+HCACIAJBMGpB1v4JEMAbKQIANwMQIAEgAkEQahCCHAsgAiACQShqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEQaiABEP4cIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtkAQF/IwBBIGsiAiQAIAIgAkEYakG8jgoQwBspAgA3AwggASACQQhqEIIcIAAoAggiAC0ABEEtRgRAIAAgARCDHQsgAiACQRBqQb+OChDAGykCADcDACABIAIQghwgAkEgaiQACywAIABBxABBAUEBQQEQgBwgACABNgIIIABB0I4KNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYr+CRDAGykCADcDCCABIAJBCGoQghwgAiAAKQIMIgM3AwAgAiADNwMYIAEgAhCCHCACQTBqJAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQTtBAUEBQQEQgBwgAEHEjwo2AgAgACACKQIANwIIIAJBEGokACAAC04CAX8BfiMAQSBrIgIkACACIAJBGGpBtI8KEMAbKQIANwMIIAEgAkEIahCCHCACIAApAggiAzcDACACIAM3AxAgASACEIIcIAJBIGokAAtYAgF/AX4jAEEQayIFJAAgAEEcEPwbIQAgAS0AACEBIAUgAikCACIGNwMIIAQoAgAhBCADKAIAIQMgBSAGNwMAIAAgASAFIAMgBBCKHSEDIAVBEGokACADCz8BAX4gAEE+QQFBAUEBEIAcIAAgBDYCDCAAIAM2AgggAEGQkQo2AgAgAikCACEFIAAgAToAGCAAIAU3AhAgAAvRAgICfwF+IwBB8ABrIgIkACACIAA2AmwgAiABNgJoIAFBKBC9GwJAIAAtABgEQCAAKAIMIgMEQCADIAEQvBsgAUEgEL0bIAIgACkCECIENwMwIAIgBDcDYCABIAJBMGoQghwgAUEgEL0bCyACIAJB2ABqQeyRChDAGykCADcDKCABIAJBKGoQghwgAiAAKQIQIgQ3AyAgAiAENwNQIAEgAkEgahCCHCABQSAQvRsgAkHoAGoQjB0MAQsgAkHoAGoQjB0gAUEgEL0bIAIgACkCECIENwMYIAIgBDcDSCABIAJBGGoQghwgAiACQUBrQfGRChDAGykCADcDECABIAJBEGoQghwgACgCDEUNACABQSAQvRsgAiAAKQIQIgQ3AwggAiAENwM4IAEgAkEIahCCHCABQSAQvRsgACgCDCABELwbCyABQSkQvRsgAkHwAGokAAtBAQJ/IwBBEGsiASQAIAAoAgQhAiAAKAIAQSgQvRsgASACKAIIEI0dIAAoAgAQvBsgACgCAEEpEL0bIAFBEGokAAshACAAQSJBAUEBQQEQgBwgACABNgIIIABBgJIKNgIAIAAL3wEBBX8jAEFAaiICJAAgAkEwaiABQQxqEI8dIQUgAkEgaiABQRBqEI8dIQYgASgCBCEEIAAoAgggARC8GwJAAkACQAJAIAEoAhAiA0EBag4CAgABCyABIAQQkQsMAgsgA0EBIANBAUsbIQRBASEDA0AgAyAERg0CIAIgAkEQakHiiwoQwBspAgA3AwAgASACEIIcIAEgAzYCDCAAKAIIIAEQvBsgA0EBaiEDDAALAAsgAiACQRhqQdyMChDAGykCADcDCCABIAJBCGoQghwLIAYQ3BwgBRDcHCACQUBrJAALSQEBfyMAQRBrIgIkACACQX82AgwgACABNgIAIAEoAgAhASAAQQE6AAggACABNgIEIAAoAgAgAkEMaigCADYCACACQRBqJAAgAAtPAgF/AX4jAEEQayIEJAAgAEEYEPwbIQAgASgCACEBIAQgAikCACIFNwMIIAMoAgAhAyAEIAU3AwAgACABIAQgAxCRHSEDIARBEGokACADCzgBAX4gAEEvQQFBAUEBEIAcIAAgATYCCCAAQfSSCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC7ECAgJ/AX4jAEGAAWsiAiQAIABBDGoiAyACQfgAakHW/gkQwBsQkx0EQCACIAJB8ABqQeSBChDAGykCADcDOCABIAJBOGoQghwLIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCAAKAIIIAEQvBsgAiACQeAAakHUkwoQwBspAgA3AyggASACQShqEIIcIAIgACkCDCIENwMgIAIgBDcDWCABIAJBIGoQghwgAiACQdAAakHXkwoQwBspAgA3AxggASACQRhqEIIcIAAoAhQgARC8GyACIAJByABqQYr+CRDAGykCADcDECABIAJBEGoQghwgAyACQfgAakHW/gkQwBsQkx0EQCACIAJBQGtBiv4JEMAbKQIANwMIIAEgAkEIahCCHAsgAkGAAWokAAslACAAEMQbIAEQxBtGBH8gACgCACAAKAIEIAEoAgAQ7hsFQQALC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACADIAEpAgAiBDcDCCACKAIAIQIgAyAENwMAIAAgAyACEJUdIQIgA0EQaiQAIAILMQEBfiAAQTpBAUEBQQEQgBwgAEHkkwo2AgAgASkCACEDIAAgAjYCECAAIAM3AgggAAt2AgF/AX4jAEEwayICJAAgAiAAKQIIIgM3AxAgAiADNwMoIAEgAkEQahCCHCACIAJBIGpB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIQIAEQvBsgAiACQRhqQYr+CRDAGykCADcDACABIAIQghwgAkEwaiQACzgBAX4gAEE1QQFBAUEBEIAcIABBzJQKNgIAIAEpAgAhBCAAIAM2AhQgACACNgIQIAAgBDcCCCAAC7IBAgJ/AX4jAEFAaiICJAAgAiAAKQIIIgQ3AxggAiAENwM4IAEgAkEYahCCHCACIAJBMGpB4v4JEMAbKQIANwMQIAEgAkEQahCCHCAAKAIQIgMgASADKAIAKAIQEQIAIAIgAkEoakGolQoQwBspAgA3AwggASACQQhqEIIcIAAoAhQiACABIAAoAgAoAhARAgAgAiACQSBqQYr+CRDAGykCADcDACABIAIQghwgAkFAayQACysAIABBN0EBQQFBARCAHCAAIAE2AgggAEG0lQo2AgAgACACKQIANwIMIAALYQEBfyMAQSBrIgIkACAAKAIIIAEQvBsgAiACQRhqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBIGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgASgCACEBIAMgAikCACIENwMAIAMgBDcDCCAAIAEgAxCcHSECIANBEGokACACCysAIABBPEEBQQFBARCAHCAAIAE2AgggAEGclgo2AgAgACACKQIANwIMIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYCXChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEYakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsvACAAQTlBAUEBQQEQgBwgACADOgANIAAgAjoADCAAIAE2AgggAEGMlwo2AgAgAAuFAQEBfyMAQTBrIgIkACAALQAMBEAgAiACQShqQYD9CRDAGykCADcDECABIAJBEGoQghwLIAIgAkEgakHslwoQwBspAgA3AwggASACQQhqEIIcIAAtAA0EQCACIAJBGGpB85cKEMAbKQIANwMAIAEgAhCCHAsgACgCCCABELwbIAJBMGokAAtYAQJ/IwBBEGsiAiQAIAAhASACAn8gAEEAEMMbQTBrQQlNBEAgARDIHAwBCyABEMccCyIBNgIMIAEEfyAAQaADaiACQQxqEKQdBUEACyEAIAJBEGokACAACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACEJwcIQAgAkEQaiQAIAALKAAgAEEWQQFBAUEBEIAcIAAgAjYCDCAAIAE2AgggAEGomAo2AgAgAAs1ACAAQaADakEMEPwbIQAgASgCACEBIABBBEEBQQFBARCAHCAAIAE2AgggAEHsnQo2AgAgAAsxACAAQQwQ/BshACABKAIAIQEgAEErQQFBAUEBEIAcIAAgATYCCCAAQZyZCjYCACAAC0MBAX8jAEEQayICJAAgAiACQQhqQbD+CRDAGykCADcDACABIAIQghwgACgCCCIAIAEgACgCACgCEBECACACQRBqJAALMQAgAEEMEPwbIQAgASgCACEBIABBE0EBQQFBARCAHCAAIAE2AgggAEHsngo2AgAgAAs5AQF/IwBBEGsiAiQAIAIgAkEIakHYngoQwBspAgA3AwAgASACEIIcIAAoAgggARC8GyACQRBqJAALOQEBfyMAQRBrIgIkACACIAJBCGpB0J8KEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQACzkBAX8jAEEQayICJAAgAiACQQhqQYD9CRDAGykCADcDACABIAIQghwgACgCCCABELwbIAJBEGokAAsWACAAIAEoAggiASABKAIAKAIYEQIACzgBAX4gAEEzQQFBAUEBEIAcIAAgATYCCCAAQdSgCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC0QCAX8BfiMAQRBrIgIkACAAKAIIIAEQvBsgAiAAKQIMIgM3AwAgAiADNwMIIAEgAhCCHCAAKAIUIAEQvBsgAkEQaiQACygAIABBMEEBQQFBARCAHCAAIAI2AgwgACABNgIIIABBvKEKNgIAIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQaSiChDAGykCADcDCCABIAJBCGoQghwgACgCDCABELwbIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAswACAAQckAQQFBAUEBEIAcIAAgAzoAECAAIAI2AgwgACABNgIIIABBtKIKNgIAIAALjAEBAn8jAEEQayICJAACQCAALQAQBEAgAUHbABC9GyAAKAIIIAEQvBsgAUHdABC9GwwBCyABQS4QvRsgACgCCCABELwbCyAAKAIMIgMtAARByQBrQf8BcUECTwR/IAIgAkEIakGUowoQwBspAgA3AwAgASACEIIcIAAoAgwFIAMLIAEQvBsgAkEQaiQACzAAIABBygBBAUEBQQEQgBwgACADNgIQIAAgAjYCDCAAIAE2AgggAEGgowo2AgAgAAuWAQECfyMAQSBrIgIkACABQdsAEL0bIAAoAgggARC8GyACIAJBGGpBhKQKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIAEQvBsgAUHdABC9GyAAKAIQIgMtAARByQBrQf8BcUECTwR/IAIgAkEQakGUowoQwBspAgA3AwAgASACEIIcIAAoAhAFIAMLIAEQvBsgAkEgaiQACysAIABBPUEBQQFBARCAHCAAIAE2AgggAEGUpAo2AgAgACACKQIANwIMIAALLwEBfyAAKAIIIgIEQCACIAEQvBsLIAFB+wAQvRsgAEEMaiABEP4cIAFB/QAQvRsLKwAgAEExQQFBAUEBEIAcIAAgATYCCCAAQYClCjYCACAAIAIpAgA3AgwgAAtwAQF/IwBBIGsiBiQAIABBIBD8GyEAIAYgASkCADcDGCACKAIAIQIgBiADKQIANwMQIAQtAAAhBCAFLQAAIQUgBiAGKQMYNwMIIAYgBikDEDcDACAAIAZBCGogAiAGIAQgBRC3HSEFIAZBIGokACAFC00BAX4gAEE4QQFBAUEBEIAcIABB9KUKNgIAIAEpAgAhBiAAIAI2AhAgACAGNwIIIAMpAgAhBiAAIAU6AB0gACAEOgAcIAAgBjcCFCAAC7UCAQJ/IwBB8ABrIgIkACAALQAcBEAgAiACQegAakHQpgoQwBspAgA3AzAgASACQTBqEIIcCyACIAJB4ABqQdymChDAGykCADcDKCABIAJBKGoQghwgAC0AHQRAIAIgAkHYAGpBvI4KEMAbKQIANwMgIAEgAkEgahCCHAsgAUEgEL0bIABBCGoiAxDaHEUEQCACIAJB0ABqQeSBChDAGykCADcDGCABIAJBGGoQghwgAyABEP4cIAIgAkHIAGpBiv4JEMAbKQIANwMQIAEgAkEQahCCHAsgACgCECABELwbIABBFGoiABDaHEUEQCACIAJBQGtB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAIAEQ/hwgAiACQThqQYr+CRDAGykCADcDACABIAIQghwLIAJB8ABqJAALOwEBfiAAQTRBAUEBQQEQgBwgAEHopgo2AgAgASkCACEEIAAgAjYCECAAIAQ3AgggACADKQIANwIUIAALVwIBfwF+IwBBIGsiAiQAIAIgACkCCCIDNwMIIAIgAzcDGCABIAJBCGoQghwgACgCECABELwbIAIgACkCFCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACy8AIABBMkEBQQFBARCAHCAAIAM2AhAgACACNgIMIAAgATYCCCAAQdSnCjYCACAAC6cBAQF/IwBBQGoiAiQAIAIgAkE4akHkgQoQwBspAgA3AxggASACQRhqEIIcIAAoAgggARC8GyACIAJBMGpBuKgKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIMIAEQvBsgAiACQShqQb6oChDAGykCADcDCCABIAJBCGoQghwgACgCECABELwbIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtfAQF/IwBBMGsiAiQAIAIgAkEoakG0qQoQwBspAgA3AwggASACQQhqEIIcIAJBGGogACgCCBCNHSABEI4dIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsMACAAQQhqIAEQ/hwLOQEBfyMAQRBrIgIkACACIAJBCGpBlKsKEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQAC1cBAX8jAEEgayICJAAgAiACQRhqQYSsChDAGykCADcDCCABIAJBCGoQ9hwgACgCCCABELwbIAIgAkEQakGK/gkQwBspAgA3AwAgASACEPYcIAJBIGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEoQQFBAUEBEIAcIAAgATYCCCAAQZisCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBqa0KEMAbDAMLIAJBIGpB8K0KEMAbDAILIAJBGGpBoq4KEMAbDAELIAJBEGpB1K4KEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRB+MoKaigCABDAGxoLLwAgAEEqQQFBAUEBEIAcIAAgAzYCECAAIAI6AAwgACABNgIIIABB1K8KNgIAIAALYgEBfyMAQSBrIgIkACAALQAMBEAgAiACQRhqQbD+CRDAGykCADcDCCABIAJBCGoQghwLIAJBEGogACgCCCIAIAAoAgAoAhgRAgAgAiACKQMQNwMAIAEgAhCCHCACQSBqJAALRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQxx0hAiADQRBqJAAgAgs0ACAAQQggAS0ABSABLQAGIAEtAAcQgBwgACABNgIIIABBwLAKNgIAIAAgAikCADcCDCAAC4ABAgJ/AX4jAEEwayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAJBKGpBoLEKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAgwiBDcDCCACIAQ3AyAgASACQQhqEIIcIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAtUAgF/AX4jAEEQayICJAAgAEEQEPwbIQAgAiABKQIAIgM3AwAgAiADNwMIIABBLkEBQQFBARCAHCAAQbSxCjYCACAAIAIpAgA3AgggAkEQaiQAIAALHAAgAUHbABC9GyAAQQhqIAEQ/hwgAUHdABC9GwsoACAAQRhBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQbiyCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBiLQKEMAbDAMLIAJBIGpBlLQKEMAbDAILIAJBGGpBobQKEMAbDAELIAJBEGpBrrQKEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRBkMsKaigCABDAGxoLIQEBfyAAIABBHGo2AgggACAAQQxqIgE2AgQgACABNgIACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACENEdIQAgAkEQaiQAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQSNBAUEBQQEQgBwgAEHQtQo2AgAgACACKQIANwIIIAJBEGokACAAC4MBAQF+IABBIEEBQQFBARCAHCAAQeS0CjYCACABKQIAIQIgAEECOgAHIAAgAjcCCCAAQYIEOwAFIABBAUECIABBCGoiASgCACABENIdENMdGzoABiABKAIAIAEQ0h0Q1B0EQCAAQQE6AAcLIAEoAgAgARDSHRDVHQRAIABBAToABQsgAAsQACAAKAIAIAAoAgRBAnRqCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAGQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAHQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAFQQFGDQELCyACCy8BAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBH8gACACENgdIAEQpRwFQQALCyIAIAEoAhBBf0YEQCAAKAIMIQAgAUEANgIMIAEgADYCEAsLEAAgACgCACABQQJ0aigCAAsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKgcBUEACwsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKocBUEACws5AQJ/IAAgARDXHSABKAIMIgMgAEEIaiICKAIESQR/IAIgAxDYHSIAIAEgACgCACgCDBEDAAUgAAsLNgEBfyAAIAEQ1x0gASgCDCICIABBCGoiACgCBEkEQCAAIAIQ2B0iACABIAAoAgAoAhARAgALCzYBAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBEAgACACENgdIgAgASAAKAIAKAIUEQIACwuAAQEBfyMAQTBrIgIk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AiACQQhqQdCKChDAGykCADcDACABIAIQghwgAkEQaiQAC9oCAQJ/IwBB8ABrIgIkACACIAJB6ABqQeSBChDAGykCADcDMCABIAJBMGoQghwgAEEMaiABEP4cIAIgAkHgAGpBiv4JEMAbKQIANwMoIAEgAkEoahCCHCAAKAIIIgMgASADKAIAKAIUEQIAAn8gACgCFCIDQQFxBEAgAiACQdgAakGEuwoQwBspAgA3AyAgASACQSBqEIIcIAAoAhQhAwsgA0ECcQsEfyACIAJB0ABqQYu7ChDAGykCADcDGCABIAJBGGoQghwgACgCFAUgAwtBBHEEQCACIAJByABqQZW7ChDAGykCADcDECABIAJBEGoQghwLAkAgAgJ/AkACQCAALQAYQQFrDgIAAQMLIAJBQGtBn7sKEMAbDAELIAJBOGpBorsKEMAbCykCADcDCCABIAJBCGoQghwLIAAoAhwEQCABQSAQvRsgACgCHCABELwbCyACQfAAaiQAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPgdIQIgA0EQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQ+h0hAiADQRBqJAAgAgsrACAAQQpBAUEBQQEQgBwgACABNgIIIABBhMEKNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACAAKAIIIAEQvBsgAiACQShqQeL+CRDAGykCADcDECABIAJBEGoQghwgAiAAKQIMIgM3AwggAiADNwMgIAEgAkEIahCCHCACIAJBGGpB1v4JEMAbKQIANwMAIAEgAhCCHCACQTBqJAALKwAgAEECQQFBAUEBEIAcIAAgATYCCCAAQfDBCjYCACAAIAIpAgA3AgwgAAtYAgF/AX4jAEEgayICJAAgACgCCCABELwbIAIgAkEYakHQigoQwBspAgA3AwggASACQQhqEIIcIAIgACkCDCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACzEAIABBAyABLQAFIAEtAAYgAS0ABxCAHCAAIAE2AgwgACACNgIIIABB4MIKNgIAIAALDAAgACgCDCABEKUcCwwAIAAoAgwgARCoHAsMACAAKAIMIAEQqhwLHwEBfyAAKAIMIgIgASACKAIAKAIQEQIAIAAgARCBHguYAQECfyMAQTBrIgIkAAJ/IAAoAggiA0EBcQRAIAIgAkEoakGEuwoQwBspAgA3AxAgASACQRBqEIIcIAAoAgghAwsgA0ECcQsEfyACIAJBIGpBi7sKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIBSADC0EEcQRAIAIgAkEYakGVuwoQwBspAgA3AwAgASACEIIcCyACQTBqJAALFgAgACgCDCIAIAEgACgCACgCFBECAAsxACAAQQwQ/BshACABKAIAIQEgAEEaQQFBAUEBEIAcIAAgATYCCCAAQcjDCjYCACAAC1cBAX8jAEEgayICJAAgAiACQRhqQazEChDAGykCADcDCCABIAJBCGoQghwgACgCCCABELwbIAIgAkEQakGnogoQwBspAgA3AwAgASACEIIcIAJBIGokAAsoACAAQRlBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQcTECjYCACAAC2gBAX8jAEEgayICJAAgACgCCCABELwbIAIgAkEYakGkxQoQwBspAgA3AwggASACQQhqEIIcIAAoAgwiAARAIAAgARC8GwsgAiACQRBqQaeiChDAGykCADcDACABIAIQghwgAkEgaiQACygAIABBDkEAQQBBARCAHCAAIAI2AgwgACABNgIIIABBuMUKNgIAIAALFgAgACgCCCIAIAEgACgCACgCEBECAAucAQECfyMAQTBrIgIkACABEN8dQd0ARwRAIAIgAkEoakHQigoQwBspAgA3AxAgASACQRBqEIIcCyACIAJBIGpBmMYKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIgMEQCADIAEQvBsLIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAAoAggiACABIAAoAgAoAhQRAgAgAkEwaiQACysAIABBDSACLQAFQQFBARCAHCAAIAI2AgwgACABNgIIIABBpMYKNgIAIAALnQEBAn8jAEEwayICJAAgACgCDCIDIAEgAygCACgCEBECACACAn8CQCAAKAIMIAEQqBxFBEAgACgCDCABEKocRQ0BCyACQShqQeSBChDAGwwBCyACQSBqQdCKChDAGwspAgA3AxAgASACQRBqEIIcIAAoAgggARC8GyACIAJBGGpBjMcKEMAbKQIANwMIIAEgAkEIahCCHCACQTBqJAALYQEBfyMAQRBrIgIkAAJAIAAoAgwgARCoHEUEQCAAKAIMIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIMIgAgASAAKAIAKAIUEQIAIAJBEGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgAyABKQIAIgQ3AwggAigCACECIAMgBDcDACAAIAMgAhCOHiECIANBEGokACACCzEBAX4gAEEGQQFBAUEBEIAcIABBtMcKNgIAIAEpAgAhAyAAIAI2AhAgACADNwIIIAALQQIBfwF+IwBBEGsiAiQAIAIgACkCCCIDNwMAIAIgAzcDCCABIAIQghwgAUEgEL0bIAAoAhAgARC8GyACQRBqJAALDAAgACgCCCABEKUcC6YCAgJ/AX4jAEHgAGsiAiQAIAICfwJAAn8gACgCCCIDLQAEQQpGBEAgAxCSHg0CIAAoAgghAwsgAwsgASADKAIAKAIQEQIAIAAoAgggARCoHARAIAIgAkHYAGpB0IoKEMAbKQIANwMoIAEgAkEoahCCHAsCQCAAKAIIIAEQqBxFBEAgACgCCCABEKocRQ0BCyACIAJB0ABqQeSBChDAGykCADcDICABIAJBIGoQghwLIAJByABqQb/+CRDAGwwBCyAAKAIIIQAgAiACQUBrQYjJChDAGykCADcDGCABIAJBGGoQghwgAiAAKQIMIgQ3AxAgAiAENwM4IAEgAkEQahCCHCACQTBqQdb+CRDAGwspAgA3AwggASACQQhqEIIcIAJB4ABqJAALQwECfyMAQRBrIgEkACAAKAIIIgAtAARBB0YEQCABQQhqIAAQkhwgAUEIaiABQYzJChDAGxCTHSECCyABQRBqJAAgAgt+AQJ/IwBBEGsiAiQAAkACQCAAKAIIIgMtAARBCkYEfyADEJIeDQIgACgCCAUgAwsgARCoHEUEQCAAKAIIIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIIIgAgASAAKAIAKAIUEQIACyACQRBqJAALMgAgAEEMIAEtAAVBAUEBEIAcIABBADoAECAAIAI2AgwgACABNgIIIABBoMkKNgIAIAAL3wEBAn8jAEFAaiICJAAgAC0AEEUEQCACQThqIABBEGpBARCkHCEDIAJBMGogACABEJYeIAIoAjQiACABIAAoAgAoAhARAgAgAigCNCABEKgcBEAgAiACQShqQdCKChDAGykCADcDECABIAJBEGoQghwLAkAgAigCNCABEKgcRQRAIAIoAjQgARCqHEUNAQsgAiACQSBqQeSBChDAGykCADcDCCABIAJBCGoQghwLIAIgAkEYakGP/glBkv4JIAIoAjAbEMAbKQIANwMAIAEgAhCCHCADEKYcCyACQUBrJAALbQEBfyAAIAFBDGooAgA2AgAgACABQQhqKAIANgIEIAAoAgQhAQNAIAEgAiABKAIAKAIMEQMAIgMtAARBDEYEQCAAIAMoAggiATYCBCAAIANBDGoiAyAAIAMoAgAgACgCAEgbKAIANgIADAELCwuMAQECfyMAQSBrIgIkACAALQAQRQRAIAJBGGogAEEQakEBEKQcIQMgAkEQaiAAIAEQlh4CQCACKAIUIAEQqBxFBEAgAigCFCABEKocRQ0BCyACIAJBCGpBiv4JEMAbKQIANwMAIAEgAhCCHAsgAigCFCIAIAEgACgCACgCFBECACADEKYcCyACQSBqJAALKwAgAEEFQQFBAUEBEIAcIAAgATYCCCAAQYzKCjYCACAAIAIpAgA3AgwgAAtEAgJ/AX4jAEEQayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAApAgwiBDcDACACIAQ3AwggASACEIIcIAJBEGokAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACx8AQfCqCygCAEUEQEH0qgsgATYCAEHwqgsgADYCAAsLGQAgASACIAOtIAStQiCGhCAFIAYgABEsAAsWAQF+IAEgABEdACICQiCIpxAsIAKnCxMAIAEgAq0gA61CIIaEIAARJgALIgEBfiABIAKtIAOtQiCGhCAEIAARHgAiBUIgiKcQLCAFpwsZACABIAIgAyAEIAWtIAatQiCGhCAAEScACyMAIAEgAiADIAQgBa0gBq1CIIaEIAetIAitQiCGhCAAETgACyUAIAEgAiADIAQgBSAGrSAHrUIghoQgCK0gCa1CIIaEIAARNwALEwAgACABpyABQiCIpyACIAMQLQsLm6oKhAEAQYAIC7COAXB1c2gAeAB5AHdpZHRoAGhlaWdodABJbnRWZWN0b3IARmxvYXRWZWN0b3IARG91YmxlVmVjdG9yAFBvaW50VmVjdG9yAE1hdFZlY3RvcgBSZWN0VmVjdG9yAEtleVBvaW50VmVjdG9yAERNYXRjaFZlY3RvcgBETWF0Y2hWZWN0b3JWZWN0b3IATWF0AGV5ZQBvbmVzAHplcm9zAHJvd3MAY29scwBtYXRTaXplAHN0ZXAAZGF0YQBkYXRhOFMAZGF0YTE2VQBkYXRhMTZTAGRhdGEzMlMAZGF0YTMyRgBkYXRhNjRGAGVsZW1TaXplAGVsZW1TaXplMQBjaGFubmVscwBjb252ZXJ0VG8AdG90YWwAcm93AGNyZWF0ZQByb3dSYW5nZQBjb3B5VG8AdHlwZQBlbXB0eQBjb2xSYW5nZQBzdGVwMQBjbG9uZQBkZXB0aABjb2wAZG90AG11bABpbnYAdAByb2kAZGlhZwBpc0NvbnRpbnVvdXMAc2V0VG8Ac2l6ZQBwdHIAdWNoYXJQdHIAY2hhclB0cgBzaG9ydFB0cgB1c2hvcnRQdHIAaW50UHRyAGZsb2F0UHRyAGRvdWJsZVB0cgBjaGFyQXQAdWNoYXJBdABzaG9ydEF0AHVzaG9ydEF0AGludEF0AGZsb2F0QXQAZG91YmxlQXQAUmFuZ2UAc3RhcnQAZW5kAFRlcm1Dcml0ZXJpYQBtYXhDb3VudABlcHNpbG9uACN0eXBlAFJlY3QAUmVjdDJmAFJvdGF0ZWRSZWN0AGNlbnRlcgBhbmdsZQByb3RhdGVkUmVjdFBvaW50cwByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdAByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdDJmAEtleVBvaW50AGNsYXNzX2lkAG9jdGF2ZQBwdAByZXNwb25zZQBETWF0Y2gAcXVlcnlJZHgAdHJhaW5JZHgAaW1nSWR4AGRpc3RhbmNlAFNjYWxhcgBNaW5NYXhMb2MAbWluVmFsAG1heFZhbABtaW5Mb2MAbWF4TG9jAENpcmNsZQByYWRpdXMATW9tZW50cwBtMDAAbTEwAG0wMQBtMjAAbTExAG0wMgBtMzAAbTIxAG0xMgBtMDMAbXUyMABtdTExAG11MDIAbXUzMABtdTIxAG11MTIAbXUwMwBudTIwAG51MTEAbnUwMgBudTMwAG51MjEAbnUxMgBudTAzAEV4Y2VwdGlvbgBjb2RlAG1zZwBleGNlcHRpb25Gcm9tUHRyAG1pbkVuY2xvc2luZ0NpcmNsZQBmbG9vZEZpbGwAbWluTWF4TG9jAG1vcnBob2xvZ3lEZWZhdWx0Qm9yZGVyVmFsdWUAQ1ZfTUFUX0RFUFRIAENhbVNoaWZ0AG1lYW5TaGlmdABUcmFja2VyAGluaXQAdXBkYXRlAGdldEJ1aWxkSW5mb3JtYXRpb24AQ1ZfOFVDMQBDVl84VUMyAENWXzhVQzMAQ1ZfOFVDNABDVl84U0MxAENWXzhTQzIAQ1ZfOFNDMwBDVl84U0M0AENWXzE2VUMxAENWXzE2VUMyAENWXzE2VUMzAENWXzE2VUM0AENWXzE2U0MxAENWXzE2U0MyAENWXzE2U0MzAENWXzE2U0M0AENWXzMyU0MxAENWXzMyU0MyAENWXzMyU0MzAENWXzMyU0M0AENWXzMyRkMxAENWXzMyRkMyAENWXzMyRkMzAENWXzMyRkM0AENWXzY0RkMxAENWXzY0RkMyAENWXzY0RkMzAENWXzY0RkM0AENWXzhVAENWXzhTAENWXzE2VQBDVl8xNlMAQ1ZfMzJTAENWXzMyRgBDVl82NEYASU5UX01JTgBJTlRfTUFYAFJvZHJpZ3VlcwBTVkRlY29tcABzb2x2ZVBuUABBQ0NFU1NfRkFTVABBQ0NFU1NfTUFTSwBBQ0NFU1NfUkVBRABBQ0NFU1NfUlcAQUNDRVNTX1dSSVRFAEFEQVBUSVZFX1RIUkVTSF9HQVVTU0lBTl9DAEFEQVBUSVZFX1RIUkVTSF9NRUFOX0MAQUtBWkVfREVTQ1JJUFRPUl9LQVpFAEFLQVpFX0RFU0NSSVBUT1JfS0FaRV9VUFJJR0hUAEFLQVpFX0RFU0NSSVBUT1JfTUxEQgBBS0FaRV9ERVNDUklQVE9SX01MREJfVVBSSUdIVABBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9BR0FTVF81XzgAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMmQAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMnMAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfTk9OTUFYX1NVUFBSRVNTSU9OAEFnYXN0RmVhdHVyZURldGVjdG9yX09BU1RfOV8xNgBBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9USFJFU0hPTEQAQk9SREVSX0NPTlNUQU5UAEJPUkRFUl9ERUZBVUxUAEJPUkRFUl9JU09MQVRFRABCT1JERVJfUkVGTEVDVABCT1JERVJfUkVGTEVDVDEwMQBCT1JERVJfUkVGTEVDVF8xMDEAQk9SREVSX1JFUExJQ0FURQBCT1JERVJfVFJBTlNQQVJFTlQAQk9SREVSX1dSQVAAQ0FMSUJfQ0JfQUNDVVJBQ1kAQ0FMSUJfQ0JfQURBUFRJVkVfVEhSRVNIAENBTElCX0NCX0FTWU1NRVRSSUNfR1JJRABDQUxJQl9DQl9DTFVTVEVSSU5HAENBTElCX0NCX0VYSEFVU1RJVkUAQ0FMSUJfQ0JfRkFTVF9DSEVDSwBDQUxJQl9DQl9GSUxURVJfUVVBRFMAQ0FMSUJfQ0JfTEFSR0VSAENBTElCX0NCX01BUktFUgBDQUxJQl9DQl9OT1JNQUxJWkVfSU1BR0UAQ0FMSUJfQ0JfU1lNTUVUUklDX0dSSUQAQ0FMSUJfRklYX0FTUEVDVF9SQVRJTwBDQUxJQl9GSVhfRk9DQUxfTEVOR1RIAENBTElCX0ZJWF9JTlRSSU5TSUMAQ0FMSUJfRklYX0sxAENBTElCX0ZJWF9LMgBDQUxJQl9GSVhfSzMAQ0FMSUJfRklYX0s0AENBTElCX0ZJWF9LNQBDQUxJQl9GSVhfSzYAQ0FMSUJfRklYX1BSSU5DSVBBTF9QT0lOVABDQUxJQl9GSVhfUzFfUzJfUzNfUzQAQ0FMSUJfRklYX1RBTkdFTlRfRElTVABDQUxJQl9GSVhfVEFVWF9UQVVZAENBTElCX0hBTkRfRVlFX0FORFJFRkYAQ0FMSUJfSEFORF9FWUVfREFOSUlMSURJUwBDQUxJQl9IQU5EX0VZRV9IT1JBVUQAQ0FMSUJfSEFORF9FWUVfUEFSSwBDQUxJQl9IQU5EX0VZRV9UU0FJAENBTElCX05JTlRSSU5TSUMAQ0FMSUJfUkFUSU9OQUxfTU9ERUwAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfTEkAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfU0hBSABDQUxJQl9TQU1FX0ZPQ0FMX0xFTkdUSABDQUxJQl9USElOX1BSSVNNX01PREVMAENBTElCX1RJTFRFRF9NT0RFTABDQUxJQl9VU0VfRVhUUklOU0lDX0dVRVNTAENBTElCX1VTRV9JTlRSSU5TSUNfR1VFU1MAQ0FMSUJfVVNFX0xVAENBTElCX1VTRV9RUgBDQUxJQl9aRVJPX0RJU1BBUklUWQBDQUxJQl9aRVJPX1RBTkdFTlRfRElTVABDQVNDQURFX0RPX0NBTk5ZX1BSVU5JTkcAQ0FTQ0FERV9ET19ST1VHSF9TRUFSQ0gAQ0FTQ0FERV9GSU5EX0JJR0dFU1RfT0JKRUNUAENBU0NBREVfU0NBTEVfSU1BR0UAQ0NMX0JCRFQAQ0NMX0JPTEVMTEkAQ0NMX0RFRkFVTFQAQ0NMX0dSQU5BAENDTF9TQVVGAENDTF9TUEFHSEVUVEkAQ0NMX1dVAENDX1NUQVRfQVJFQQBDQ19TVEFUX0hFSUdIVABDQ19TVEFUX0xFRlQAQ0NfU1RBVF9NQVgAQ0NfU1RBVF9UT1AAQ0NfU1RBVF9XSURUSABDSEFJTl9BUFBST1hfTk9ORQBDSEFJTl9BUFBST1hfU0lNUExFAENIQUlOX0FQUFJPWF9UQzg5X0tDT1MAQ0hBSU5fQVBQUk9YX1RDODlfTDEAQ01QX0VRAENNUF9HRQBDTVBfR1QAQ01QX0xFAENNUF9MVABDTVBfTkUAQ09MT1JNQVBfQVVUVU1OAENPTE9STUFQX0JPTkUAQ09MT1JNQVBfQ0lWSURJUwBDT0xPUk1BUF9DT09MAENPTE9STUFQX0RFRVBHUkVFTgBDT0xPUk1BUF9IT1QAQ09MT1JNQVBfSFNWAENPTE9STUFQX0lORkVSTk8AQ09MT1JNQVBfSkVUAENPTE9STUFQX01BR01BAENPTE9STUFQX09DRUFOAENPTE9STUFQX1BBUlVMQQBDT0xPUk1BUF9QSU5LAENPTE9STUFQX1BMQVNNQQBDT0xPUk1BUF9SQUlOQk9XAENPTE9STUFQX1NQUklORwBDT0xPUk1BUF9TVU1NRVIAQ09MT1JNQVBfVFVSQk8AQ09MT1JNQVBfVFdJTElHSFQAQ09MT1JNQVBfVFdJTElHSFRfU0hJRlRFRABDT0xPUk1BUF9WSVJJRElTAENPTE9STUFQX1dJTlRFUgBDT0xPUl9CR1IyQkdSNTU1AENPTE9SX0JHUjJCR1I1NjUAQ09MT1JfQkdSMkJHUkEAQ09MT1JfQkdSMkdSQVkAQ09MT1JfQkdSMkhMUwBDT0xPUl9CR1IySExTX0ZVTEwAQ09MT1JfQkdSMkhTVgBDT0xPUl9CR1IySFNWX0ZVTEwAQ09MT1JfQkdSMkxhYgBDT0xPUl9CR1IyTHV2AENPTE9SX0JHUjJSR0IAQ09MT1JfQkdSMlJHQkEAQ09MT1JfQkdSMlhZWgBDT0xPUl9CR1IyWUNyQ2IAQ09MT1JfQkdSMllVVgBDT0xPUl9CR1IyWVVWX0k0MjAAQ09MT1JfQkdSMllVVl9JWVVWAENPTE9SX0JHUjJZVVZfWVYxMgBDT0xPUl9CR1I1NTUyQkdSAENPTE9SX0JHUjU1NTJCR1JBAENPTE9SX0JHUjU1NTJHUkFZAENPTE9SX0JHUjU1NTJSR0IAQ09MT1JfQkdSNTU1MlJHQkEAQ09MT1JfQkdSNTY1MkJHUgBDT0xPUl9CR1I1NjUyQkdSQQBDT0xPUl9CR1I1NjUyR1JBWQBDT0xPUl9CR1I1NjUyUkdCAENPTE9SX0JHUjU2NTJSR0JBAENPTE9SX0JHUkEyQkdSAENPTE9SX0JHUkEyQkdSNTU1AENPTE9SX0JHUkEyQkdSNTY1AENPTE9SX0JHUkEyR1JBWQBDT0xPUl9CR1JBMlJHQgBDT0xPUl9CR1JBMlJHQkEAQ09MT1JfQkdSQTJZVVZfSTQyMABDT0xPUl9CR1JBMllVVl9JWVVWAENPTE9SX0JHUkEyWVVWX1lWMTIAQ09MT1JfQmF5ZXJCRzJCR1IAQ09MT1JfQmF5ZXJCRzJCR1JBAENPTE9SX0JheWVyQkcyQkdSX0VBAENPTE9SX0JheWVyQkcyQkdSX1ZORwBDT0xPUl9CYXllckJHMkdSQVkAQ09MT1JfQmF5ZXJCRzJSR0IAQ09MT1JfQmF5ZXJCRzJSR0JBAENPTE9SX0JheWVyQkcyUkdCX0VBAENPTE9SX0JheWVyQkcyUkdCX1ZORwBDT0xPUl9CYXllckJHR1IyQkdSAENPTE9SX0JheWVyQkdHUjJCR1JBAENPTE9SX0JheWVyQkdHUjJCR1JfRUEAQ09MT1JfQmF5ZXJCR0dSMkJHUl9WTkcAQ09MT1JfQmF5ZXJCR0dSMkdSQVkAQ09MT1JfQmF5ZXJCR0dSMlJHQgBDT0xPUl9CYXllckJHR1IyUkdCQQBDT0xPUl9CYXllckJHR1IyUkdCX0VBAENPTE9SX0JheWVyQkdHUjJSR0JfVk5HAENPTE9SX0JheWVyR0IyQkdSAENPTE9SX0JheWVyR0IyQkdSQQBDT0xPUl9CYXllckdCMkJHUl9FQQBDT0xPUl9CYXllckdCMkJHUl9WTkcAQ09MT1JfQmF5ZXJHQjJHUkFZAENPTE9SX0JheWVyR0IyUkdCAENPTE9SX0JheWVyR0IyUkdCQQBDT0xPUl9CYXllckdCMlJHQl9FQQBDT0xPUl9CYXllckdCMlJHQl9WTkcAQ09MT1JfQmF5ZXJHQlJHMkJHUgBDT0xPUl9CYXllckdCUkcyQkdSQQBDT0xPUl9CYXllckdCUkcyQkdSX0VBAENPTE9SX0JheWVyR0JSRzJCR1JfVk5HAENPTE9SX0JheWVyR0JSRzJHUkFZAENPTE9SX0JheWVyR0JSRzJSR0IAQ09MT1JfQmF5ZXJHQlJHMlJHQkEAQ09MT1JfQmF5ZXJHQlJHMlJHQl9FQQBDT0xPUl9CYXllckdCUkcyUkdCX1ZORwBDT0xPUl9CYXllckdSMkJHUgBDT0xPUl9CYXllckdSMkJHUkEAQ09MT1JfQmF5ZXJHUjJCR1JfRUEAQ09MT1JfQmF5ZXJHUjJCR1JfVk5HAENPTE9SX0JheWVyR1IyR1JBWQBDT0xPUl9CYXllckdSMlJHQgBDT0xPUl9CYXllckdSMlJHQkEAQ09MT1JfQmF5ZXJHUjJSR0JfRUEAQ09MT1JfQmF5ZXJHUjJSR0JfVk5HAENPTE9SX0JheWVyR1JCRzJCR1IAQ09MT1JfQmF5ZXJHUkJHMkJHUkEAQ09MT1JfQmF5ZXJHUkJHMkJHUl9FQQBDT0xPUl9CYXllckdSQkcyQkdSX1ZORwBDT0xPUl9CYXllckdSQkcyR1JBWQBDT0xPUl9CYXllckdSQkcyUkdCAENPTE9SX0JheWVyR1JCRzJSR0JBAENPTE9SX0JheWVyR1JCRzJSR0JfRUEAQ09MT1JfQmF5ZXJHUkJHMlJHQl9WTkcAQ09MT1JfQmF5ZXJSRzJCR1IAQ09MT1JfQmF5ZXJSRzJCR1JBAENPTE9SX0JheWVyUkcyQkdSX0VBAENPTE9SX0JheWVyUkcyQkdSX1ZORwBDT0xPUl9CYXllclJHMkdSQVkAQ09MT1JfQmF5ZXJSRzJSR0IAQ09MT1JfQmF5ZXJSRzJSR0JBAENPTE9SX0JheWVyUkcyUkdCX0VBAENPTE9SX0JheWVyUkcyUkdCX1ZORwBDT0xPUl9CYXllclJHR0IyQkdSAENPTE9SX0JheWVyUkdHQjJCR1JBAENPTE9SX0JheWVyUkdHQjJCR1JfRUEAQ09MT1JfQmF5ZXJSR0dCMkJHUl9WTkcAQ09MT1JfQmF5ZXJSR0dCMkdSQVkAQ09MT1JfQmF5ZXJSR0dCMlJHQgBDT0xPUl9CYXllclJHR0IyUkdCQQBDT0xPUl9CYXllclJHR0IyUkdCX0VBAENPTE9SX0JheWVyUkdHQjJSR0JfVk5HAENPTE9SX0NPTE9SQ1ZUX01BWABDT0xPUl9HUkFZMkJHUgBDT0xPUl9HUkFZMkJHUjU1NQBDT0xPUl9HUkFZMkJHUjU2NQBDT0xPUl9HUkFZMkJHUkEAQ09MT1JfR1JBWTJSR0IAQ09MT1JfR1JBWTJSR0JBAENPTE9SX0hMUzJCR1IAQ09MT1JfSExTMkJHUl9GVUxMAENPTE9SX0hMUzJSR0IAQ09MT1JfSExTMlJHQl9GVUxMAENPTE9SX0hTVjJCR1IAQ09MT1JfSFNWMkJHUl9GVUxMAENPTE9SX0hTVjJSR0IAQ09MT1JfSFNWMlJHQl9GVUxMAENPTE9SX0xCR1IyTGFiAENPTE9SX0xCR1IyTHV2AENPTE9SX0xSR0IyTGFiAENPTE9SX0xSR0IyTHV2AENPTE9SX0xhYjJCR1IAQ09MT1JfTGFiMkxCR1IAQ09MT1JfTGFiMkxSR0IAQ09MT1JfTGFiMlJHQgBDT0xPUl9MdXYyQkdSAENPTE9SX0x1djJMQkdSAENPTE9SX0x1djJMUkdCAENPTE9SX0x1djJSR0IAQ09MT1JfUkdCMkJHUgBDT0xPUl9SR0IyQkdSNTU1AENPTE9SX1JHQjJCR1I1NjUAQ09MT1JfUkdCMkJHUkEAQ09MT1JfUkdCMkdSQVkAQ09MT1JfUkdCMkhMUwBDT0xPUl9SR0IySExTX0ZVTEwAQ09MT1JfUkdCMkhTVgBDT0xPUl9SR0IySFNWX0ZVTEwAQ09MT1JfUkdCMkxhYgBDT0xPUl9SR0IyTHV2AENPTE9SX1JHQjJSR0JBAENPTE9SX1JHQjJYWVoAQ09MT1JfUkdCMllDckNiAENPTE9SX1JHQjJZVVYAQ09MT1JfUkdCMllVVl9JNDIwAENPTE9SX1JHQjJZVVZfSVlVVgBDT0xPUl9SR0IyWVVWX1lWMTIAQ09MT1JfUkdCQTJCR1IAQ09MT1JfUkdCQTJCR1I1NTUAQ09MT1JfUkdCQTJCR1I1NjUAQ09MT1JfUkdCQTJCR1JBAENPTE9SX1JHQkEyR1JBWQBDT0xPUl9SR0JBMlJHQgBDT0xPUl9SR0JBMllVVl9JNDIwAENPTE9SX1JHQkEyWVVWX0lZVVYAQ09MT1JfUkdCQTJZVVZfWVYxMgBDT0xPUl9SR0JBMm1SR0JBAENPTE9SX1hZWjJCR1IAQ09MT1JfWFlaMlJHQgBDT0xPUl9ZQ3JDYjJCR1IAQ09MT1JfWUNyQ2IyUkdCAENPTE9SX1lVVjJCR1IAQ09MT1JfWVVWMkJHUkFfSTQyMABDT0xPUl9ZVVYyQkdSQV9JWVVWAENPTE9SX1lVVjJCR1JBX05WMTIAQ09MT1JfWVVWMkJHUkFfTlYyMQBDT0xPUl9ZVVYyQkdSQV9VWU5WAENPTE9SX1lVVjJCR1JBX1VZVlkAQ09MT1JfWVVWMkJHUkFfWTQyMgBDT0xPUl9ZVVYyQkdSQV9ZVU5WAENPTE9SX1lVVjJCR1JBX1lVWTIAQ09MT1JfWVVWMkJHUkFfWVVZVgBDT0xPUl9ZVVYyQkdSQV9ZVjEyAENPTE9SX1lVVjJCR1JBX1lWWVUAQ09MT1JfWVVWMkJHUl9JNDIwAENPTE9SX1lVVjJCR1JfSVlVVgBDT0xPUl9ZVVYyQkdSX05WMTIAQ09MT1JfWVVWMkJHUl9OVjIxAENPTE9SX1lVVjJCR1JfVVlOVgBDT0xPUl9ZVVYyQkdSX1VZVlkAQ09MT1JfWVVWMkJHUl9ZNDIyAENPTE9SX1lVVjJCR1JfWVVOVgBDT0xPUl9ZVVYyQkdSX1lVWTIAQ09MT1JfWVVWMkJHUl9ZVVlWAENPTE9SX1lVVjJCR1JfWVYxMgBDT0xPUl9ZVVYyQkdSX1lWWVUAQ09MT1JfWVVWMkdSQVlfNDIwAENPTE9SX1lVVjJHUkFZX0k0MjAAQ09MT1JfWVVWMkdSQVlfSVlVVgBDT0xPUl9ZVVYyR1JBWV9OVjEyAENPTE9SX1lVVjJHUkFZX05WMjEAQ09MT1JfWVVWMkdSQVlfVVlOVgBDT0xPUl9ZVVYyR1JBWV9VWVZZAENPTE9SX1lVVjJHUkFZX1k0MjIAQ09MT1JfWVVWMkdSQVlfWVVOVgBDT0xPUl9ZVVYyR1JBWV9ZVVkyAENPTE9SX1lVVjJHUkFZX1lVWVYAQ09MT1JfWVVWMkdSQVlfWVYxMgBDT0xPUl9ZVVYyR1JBWV9ZVllVAENPTE9SX1lVVjJSR0IAQ09MT1JfWVVWMlJHQkFfSTQyMABDT0xPUl9ZVVYyUkdCQV9JWVVWAENPTE9SX1lVVjJSR0JBX05WMTIAQ09MT1JfWVVWMlJHQkFfTlYyMQBDT0xPUl9ZVVYyUkdCQV9VWU5WAENPTE9SX1lVVjJSR0JBX1VZVlkAQ09MT1JfWVVWMlJHQkFfWTQyMgBDT0xPUl9ZVVYyUkdCQV9ZVU5WAENPTE9SX1lVVjJSR0JBX1lVWTIAQ09MT1JfWVVWMlJHQkFfWVVZVgBDT0xPUl9ZVVYyUkdCQV9ZVjEyAENPTE9SX1lVVjJSR0JBX1lWWVUAQ09MT1JfWVVWMlJHQl9JNDIwAENPTE9SX1lVVjJSR0JfSVlVVgBDT0xPUl9ZVVYyUkdCX05WMTIAQ09MT1JfWVVWMlJHQl9OVjIxAENPTE9SX1lVVjJSR0JfVVlOVgBDT0xPUl9ZVVYyUkdCX1VZVlkAQ09MT1JfWVVWMlJHQl9ZNDIyAENPTE9SX1lVVjJSR0JfWVVOVgBDT0xPUl9ZVVYyUkdCX1lVWTIAQ09MT1JfWVVWMlJHQl9ZVVlWAENPTE9SX1lVVjJSR0JfWVYxMgBDT0xPUl9ZVVYyUkdCX1lWWVUAQ09MT1JfWVVWNDIwcDJCR1IAQ09MT1JfWVVWNDIwcDJCR1JBAENPTE9SX1lVVjQyMHAyR1JBWQBDT0xPUl9ZVVY0MjBwMlJHQgBDT0xPUl9ZVVY0MjBwMlJHQkEAQ09MT1JfWVVWNDIwc3AyQkdSAENPTE9SX1lVVjQyMHNwMkJHUkEAQ09MT1JfWVVWNDIwc3AyR1JBWQBDT0xPUl9ZVVY0MjBzcDJSR0IAQ09MT1JfWVVWNDIwc3AyUkdCQQBDT0xPUl9tUkdCQTJSR0JBAENPTlRPVVJTX01BVENIX0kxAENPTlRPVVJTX01BVENIX0kyAENPTlRPVVJTX01BVENIX0kzAENPVkFSX0NPTFMAQ09WQVJfTk9STUFMAENPVkFSX1JPV1MAQ09WQVJfU0NBTEUAQ09WQVJfU0NSQU1CTEVEAENPVkFSX1VTRV9BVkcAQ2lyY2xlc0dyaWRGaW5kZXJQYXJhbWV0ZXJzX0FTWU1NRVRSSUNfR1JJRABDaXJjbGVzR3JpZEZpbmRlclBhcmFtZXRlcnNfU1lNTUVUUklDX0dSSUQARENUX0lOVkVSU0UARENUX1JPV1MAREVDT01QX0NIT0xFU0tZAERFQ09NUF9FSUcAREVDT01QX0xVAERFQ09NUF9OT1JNQUwAREVDT01QX1FSAERFQ09NUF9TVkQAREZUX0NPTVBMRVhfSU5QVVQAREZUX0NPTVBMRVhfT1VUUFVUAERGVF9JTlZFUlNFAERGVF9SRUFMX09VVFBVVABERlRfUk9XUwBERlRfU0NBTEUARElTT3B0aWNhbEZsb3dfUFJFU0VUX0ZBU1QARElTT3B0aWNhbEZsb3dfUFJFU0VUX01FRElVTQBESVNPcHRpY2FsRmxvd19QUkVTRVRfVUxUUkFGQVNUAERJU1RfQwBESVNUX0ZBSVIARElTVF9IVUJFUgBESVNUX0wxAERJU1RfTDEyAERJU1RfTDIARElTVF9MQUJFTF9DQ09NUABESVNUX0xBQkVMX1BJWEVMAERJU1RfTUFTS18zAERJU1RfTUFTS181AERJU1RfTUFTS19QUkVDSVNFAERJU1RfVVNFUgBESVNUX1dFTFNDSABEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0VfSEFNTUlORwBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX0hBTU1JTkdMVVQARGVzY3JpcHRvck1hdGNoZXJfQlJVVEVGT1JDRV9MMQBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX1NMMgBEZXNjcmlwdG9yTWF0Y2hlcl9GTEFOTkJBU0VEAERyYXdNYXRjaGVzRmxhZ3NfREVGQVVMVABEcmF3TWF0Y2hlc0ZsYWdzX0RSQVdfT1ZFUl9PVVRJTUcARHJhd01hdGNoZXNGbGFnc19EUkFXX1JJQ0hfS0VZUE9JTlRTAERyYXdNYXRjaGVzRmxhZ3NfTk9UX0RSQVdfU0lOR0xFX1BPSU5UUwBGSUxMRUQARklMVEVSX1NDSEFSUgBGTE9PREZJTExfRklYRURfUkFOR0UARkxPT0RGSUxMX01BU0tfT05MWQBGTV83UE9JTlQARk1fOFBPSU5UAEZNX0xNRURTAEZNX1JBTlNBQwBGT05UX0hFUlNIRVlfQ09NUExFWABGT05UX0hFUlNIRVlfQ09NUExFWF9TTUFMTABGT05UX0hFUlNIRVlfRFVQTEVYAEZPTlRfSEVSU0hFWV9QTEFJTgBGT05UX0hFUlNIRVlfU0NSSVBUX0NPTVBMRVgARk9OVF9IRVJTSEVZX1NDUklQVF9TSU1QTEVYAEZPTlRfSEVSU0hFWV9TSU1QTEVYAEZPTlRfSEVSU0hFWV9UUklQTEVYAEZPTlRfSVRBTElDAEZhY2VSZWNvZ25pemVyU0ZfRlJfQ09TSU5FAEZhY2VSZWNvZ25pemVyU0ZfRlJfTk9STV9MMgBGYXN0RmVhdHVyZURldGVjdG9yX0ZBU1RfTgBGYXN0RmVhdHVyZURldGVjdG9yX05PTk1BWF9TVVBQUkVTU0lPTgBGYXN0RmVhdHVyZURldGVjdG9yX1RIUkVTSE9MRABGYXN0RmVhdHVyZURldGVjdG9yX1RZUEVfNV84AEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV83XzEyAEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV85XzE2AEZpbGVOb2RlX0VNUFRZAEZpbGVOb2RlX0ZMT0FUAEZpbGVOb2RlX0ZMT1cARmlsZU5vZGVfSU5UAEZpbGVOb2RlX01BUABGaWxlTm9kZV9OQU1FRABGaWxlTm9kZV9OT05FAEZpbGVOb2RlX1JFQUwARmlsZU5vZGVfU0VRAEZpbGVOb2RlX1NUUgBGaWxlTm9kZV9TVFJJTkcARmlsZU5vZGVfVFlQRV9NQVNLAEZpbGVOb2RlX1VOSUZPUk0ARmlsZVN0b3JhZ2VfQVBQRU5EAEZpbGVTdG9yYWdlX0JBU0U2NABGaWxlU3RvcmFnZV9GT1JNQVRfQVVUTwBGaWxlU3RvcmFnZV9GT1JNQVRfSlNPTgBGaWxlU3RvcmFnZV9GT1JNQVRfTUFTSwBGaWxlU3RvcmFnZV9GT1JNQVRfWE1MAEZpbGVTdG9yYWdlX0ZPUk1BVF9ZQU1MAEZpbGVTdG9yYWdlX0lOU0lERV9NQVAARmlsZVN0b3JhZ2VfTUVNT1JZAEZpbGVTdG9yYWdlX05BTUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfUkVBRABGaWxlU3RvcmFnZV9VTkRFRklORUQARmlsZVN0b3JhZ2VfVkFMVUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfV1JJVEUARmlsZVN0b3JhZ2VfV1JJVEVfQkFTRTY0AEZvcm1hdHRlcl9GTVRfQwBGb3JtYXR0ZXJfRk1UX0NTVgBGb3JtYXR0ZXJfRk1UX0RFRkFVTFQARm9ybWF0dGVyX0ZNVF9NQVRMQUIARm9ybWF0dGVyX0ZNVF9OVU1QWQBGb3JtYXR0ZXJfRk1UX1BZVEhPTgBHQ19CR0QAR0NfRVZBTABHQ19FVkFMX0ZSRUVaRV9NT0RFTABHQ19GR0QAR0NfSU5JVF9XSVRIX01BU0sAR0NfSU5JVF9XSVRIX1JFQ1QAR0NfUFJfQkdEAEdDX1BSX0ZHRABHRU1NXzFfVABHRU1NXzJfVABHRU1NXzNfVABISVNUQ01QX0JIQVRUQUNIQVJZWUEASElTVENNUF9DSElTUVIASElTVENNUF9DSElTUVJfQUxUAEhJU1RDTVBfQ09SUkVMAEhJU1RDTVBfSEVMTElOR0VSAEhJU1RDTVBfSU5URVJTRUNUAEhJU1RDTVBfS0xfRElWAEhPR0Rlc2NyaXB0b3JfREVGQVVMVF9OTEVWRUxTAEhPR0Rlc2NyaXB0b3JfREVTQ1JfRk9STUFUX0NPTF9CWV9DT0wASE9HRGVzY3JpcHRvcl9ERVNDUl9GT1JNQVRfUk9XX0JZX1JPVwBIT0dEZXNjcmlwdG9yX0wySHlzAEhPVUdIX0dSQURJRU5UAEhPVUdIX0dSQURJRU5UX0FMVABIT1VHSF9NVUxUSV9TQ0FMRQBIT1VHSF9QUk9CQUJJTElTVElDAEhPVUdIX1NUQU5EQVJEAElOUEFJTlRfTlMASU5QQUlOVF9URUxFQQBJTlRFUlNFQ1RfRlVMTABJTlRFUlNFQ1RfTk9ORQBJTlRFUlNFQ1RfUEFSVElBTABJTlRFUl9BUkVBAElOVEVSX0JJVFMASU5URVJfQklUUzIASU5URVJfQ1VCSUMASU5URVJfTEFOQ1pPUzQASU5URVJfTElORUFSAElOVEVSX0xJTkVBUl9FWEFDVABJTlRFUl9NQVgASU5URVJfTkVBUkVTVABJTlRFUl9ORUFSRVNUX0VYQUNUAElOVEVSX1RBQl9TSVpFAElOVEVSX1RBQl9TSVpFMgBLQVpFX0RJRkZfQ0hBUkJPTk5JRVIAS0FaRV9ESUZGX1BNX0cxAEtBWkVfRElGRl9QTV9HMgBLQVpFX0RJRkZfV0VJQ0tFUlQAS01FQU5TX1BQX0NFTlRFUlMAS01FQU5TX1JBTkRPTV9DRU5URVJTAEtNRUFOU19VU0VfSU5JVElBTF9MQUJFTFMATERSX1NJWkUATElORV80AExJTkVfOABMSU5FX0FBAExNRURTAExPQ0FMX09QVElNX0dDAExPQ0FMX09QVElNX0lOTkVSX0FORF9JVEVSX0xPAExPQ0FMX09QVElNX0lOTkVSX0xPAExPQ0FMX09QVElNX05VTEwATE9DQUxfT1BUSU1fU0lHTUEATFNEX1JFRklORV9BRFYATFNEX1JFRklORV9OT05FAExTRF9SRUZJTkVfU1REAE1BUktFUl9DUk9TUwBNQVJLRVJfRElBTU9ORABNQVJLRVJfU1FVQVJFAE1BUktFUl9TVEFSAE1BUktFUl9USUxURURfQ1JPU1MATUFSS0VSX1RSSUFOR0xFX0RPV04ATUFSS0VSX1RSSUFOR0xFX1VQAE1JWEVEX0NMT05FAE1PTk9DSFJPTUVfVFJBTlNGRVIATU9SUEhfQkxBQ0tIQVQATU9SUEhfQ0xPU0UATU9SUEhfQ1JPU1MATU9SUEhfRElMQVRFAE1PUlBIX0VMTElQU0UATU9SUEhfRVJPREUATU9SUEhfR1JBRElFTlQATU9SUEhfSElUTUlTUwBNT1JQSF9PUEVOAE1PUlBIX1JFQ1QATU9SUEhfVE9QSEFUAE1PVElPTl9BRkZJTkUATU9USU9OX0VVQ0xJREVBTgBNT1RJT05fSE9NT0dSQVBIWQBNT1RJT05fVFJBTlNMQVRJT04ATWF0X0FVVE9fU1RFUABNYXRfQ09OVElOVU9VU19GTEFHAE1hdF9ERVBUSF9NQVNLAE1hdF9NQUdJQ19NQVNLAE1hdF9NQUdJQ19WQUwATWF0X1NVQk1BVFJJWF9GTEFHAE1hdF9UWVBFX01BU0sATkVJR0hfRkxBTk5fS05OAE5FSUdIX0ZMQU5OX1JBRElVUwBORUlHSF9HUklEAE5PUk1BTF9DTE9ORQBOT1JNQ09OVl9GSUxURVIATk9STV9IQU1NSU5HAE5PUk1fSEFNTUlORzIATk9STV9JTkYATk9STV9MMQBOT1JNX0wyAE5PUk1fTDJTUVIATk9STV9NSU5NQVgATk9STV9SRUxBVElWRQBOT1JNX1RZUEVfTUFTSwBPUFRGTE9XX0ZBUk5FQkFDS19HQVVTU0lBTgBPUFRGTE9XX0xLX0dFVF9NSU5fRUlHRU5WQUxTAE9QVEZMT1dfVVNFX0lOSVRJQUxfRkxPVwBPUkJfRkFTVF9TQ09SRQBPUkJfSEFSUklTX1NDT1JFAFBDQV9EQVRBX0FTX0NPTABQQ0FfREFUQV9BU19ST1cAUENBX1VTRV9BVkcAUFJPSl9TUEhFUklDQUxfRVFSRUNUAFBST0pfU1BIRVJJQ0FMX09SVEhPAFBhcmFtX0FMR09SSVRITQBQYXJhbV9CT09MRUFOAFBhcmFtX0ZMT0FUAFBhcmFtX0lOVABQYXJhbV9NQVQAUGFyYW1fTUFUX1ZFQ1RPUgBQYXJhbV9SRUFMAFBhcmFtX1NDQUxBUgBQYXJhbV9TVFJJTkcAUGFyYW1fVUNIQVIAUGFyYW1fVUlOVDY0AFBhcmFtX1VOU0lHTkVEX0lOVABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfSABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTQBRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfUQBRUkNvZGVFbmNvZGVyX0VDSV9VVEY4AFFSQ29kZUVuY29kZXJfTU9ERV9BTFBIQU5VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX0FVVE8AUVJDb2RlRW5jb2Rlcl9NT0RFX0JZVEUAUVJDb2RlRW5jb2Rlcl9NT0RFX0VDSQBRUkNvZGVFbmNvZGVyX01PREVfS0FOSkkAUVJDb2RlRW5jb2Rlcl9NT0RFX05VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX1NUUlVDVFVSRURfQVBQRU5EAFFVQVRfQVNTVU1FX05PVF9VTklUAFFVQVRfQVNTVU1FX1VOSVQAUXVhdEVudW1fRVVMRVJfQU5HTEVTX01BWF9WQUxVRQBRdWF0RW51bV9FWFRfWFlYAFF1YXRFbnVtX0VYVF9YWVoAUXVhdEVudW1fRVhUX1haWABRdWF0RW51bV9FWFRfWFpZAFF1YXRFbnVtX0VYVF9ZWFkAUXVhdEVudW1fRVhUX1lYWgBRdWF0RW51bV9FWFRfWVpYAFF1YXRFbnVtX0VYVF9ZWlkAUXVhdEVudW1fRVhUX1pYWQBRdWF0RW51bV9FWFRfWlhaAFF1YXRFbnVtX0VYVF9aWVgAUXVhdEVudW1fRVhUX1pZWgBRdWF0RW51bV9JTlRfWFlYAFF1YXRFbnVtX0lOVF9YWVoAUXVhdEVudW1fSU5UX1haWABRdWF0RW51bV9JTlRfWFpZAFF1YXRFbnVtX0lOVF9ZWFkAUXVhdEVudW1fSU5UX1lYWgBRdWF0RW51bV9JTlRfWVpYAFF1YXRFbnVtX0lOVF9ZWlkAUXVhdEVudW1fSU5UX1pYWQBRdWF0RW51bV9JTlRfWlhaAFF1YXRFbnVtX0lOVF9aWVgAUXVhdEVudW1fSU5UX1pZWgBSQU5TQUMAUkVDVVJTX0ZJTFRFUgBSRURVQ0VfQVZHAFJFRFVDRV9NQVgAUkVEVUNFX01JTgBSRURVQ0VfU1VNAFJFVFJfQ0NPTVAAUkVUUl9FWFRFUk5BTABSRVRSX0ZMT09ERklMTABSRVRSX0xJU1QAUkVUUl9UUkVFAFJITwBSTkdfTk9STUFMAFJOR19VTklGT1JNAFJPVEFURV8xODAAUk9UQVRFXzkwX0NMT0NLV0lTRQBST1RBVEVfOTBfQ09VTlRFUkNMT0NLV0lTRQBTQU1QTElOR19OQVBTQUMAU0FNUExJTkdfUFJPR1JFU1NJVkVfTkFQU0FDAFNBTVBMSU5HX1BST1NBQwBTQU1QTElOR19VTklGT1JNAFNDT1JFX01FVEhPRF9MTUVEUwBTQ09SRV9NRVRIT0RfTUFHU0FDAFNDT1JFX01FVEhPRF9NU0FDAFNDT1JFX01FVEhPRF9SQU5TQUMAU09MVkVMUF9NVUxUSQBTT0xWRUxQX1NJTkdMRQBTT0xWRUxQX1VOQk9VTkRFRABTT0xWRUxQX1VORkVBU0lCTEUAU09MVkVQTlBfQVAzUABTT0xWRVBOUF9ETFMAU09MVkVQTlBfRVBOUABTT0xWRVBOUF9JUFBFAFNPTFZFUE5QX0lQUEVfU1FVQVJFAFNPTFZFUE5QX0lURVJBVElWRQBTT0xWRVBOUF9NQVhfQ09VTlQAU09MVkVQTlBfUDNQAFNPTFZFUE5QX1NRUE5QAFNPTFZFUE5QX1VQTlAAU09SVF9BU0NFTkRJTkcAU09SVF9ERVNDRU5ESU5HAFNPUlRfRVZFUllfQ09MVU1OAFNPUlRfRVZFUllfUk9XAFNWRF9GVUxMX1VWAFNWRF9NT0RJRllfQQBTVkRfTk9fVVYAU3BhcnNlTWF0X0hBU0hfQklUAFNwYXJzZU1hdF9IQVNIX1NDQUxFAFNwYXJzZU1hdF9NQUdJQ19WQUwAU3BhcnNlTWF0X01BWF9ESU0AU3RlcmVvQk1fUFJFRklMVEVSX05PUk1BTElaRURfUkVTUE9OU0UAU3RlcmVvQk1fUFJFRklMVEVSX1hTT0JFTABTdGVyZW9NYXRjaGVyX0RJU1BfU0NBTEUAU3RlcmVvTWF0Y2hlcl9ESVNQX1NISUZUAFN0ZXJlb1NHQk1fTU9ERV9ISABTdGVyZW9TR0JNX01PREVfSEg0AFN0ZXJlb1NHQk1fTU9ERV9TR0JNAFN0ZXJlb1NHQk1fTU9ERV9TR0JNXzNXQVkAU3ViZGl2MkRfTkVYVF9BUk9VTkRfRFNUAFN1YmRpdjJEX05FWFRfQVJPVU5EX0xFRlQAU3ViZGl2MkRfTkVYVF9BUk9VTkRfT1JHAFN1YmRpdjJEX05FWFRfQVJPVU5EX1JJR0hUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX0RTVABTdWJkaXYyRF9QUkVWX0FST1VORF9MRUZUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX09SRwBTdWJkaXYyRF9QUkVWX0FST1VORF9SSUdIVABTdWJkaXYyRF9QVExPQ19FUlJPUgBTdWJkaXYyRF9QVExPQ19JTlNJREUAU3ViZGl2MkRfUFRMT0NfT05fRURHRQBTdWJkaXYyRF9QVExPQ19PVVRTSURFX1JFQ1QAU3ViZGl2MkRfUFRMT0NfVkVSVEVYAFRIUkVTSF9CSU5BUlkAVEhSRVNIX0JJTkFSWV9JTlYAVEhSRVNIX01BU0sAVEhSRVNIX09UU1UAVEhSRVNIX1RPWkVSTwBUSFJFU0hfVE9aRVJPX0lOVgBUSFJFU0hfVFJJQU5HTEUAVEhSRVNIX1RSVU5DAFRNX0NDT0VGRgBUTV9DQ09FRkZfTk9STUVEAFRNX0NDT1JSAFRNX0NDT1JSX05PUk1FRABUTV9TUURJRkYAVE1fU1FESUZGX05PUk1FRABUZXJtQ3JpdGVyaWFfQ09VTlQAVGVybUNyaXRlcmlhX0VQUwBUZXJtQ3JpdGVyaWFfTUFYX0lURVIAVU1hdERhdGFfQVNZTkNfQ0xFQU5VUABVTWF0RGF0YV9DT1BZX09OX01BUABVTWF0RGF0YV9ERVZJQ0VfQ09QWV9PQlNPTEVURQBVTWF0RGF0YV9ERVZJQ0VfTUVNX01BUFBFRABVTWF0RGF0YV9IT1NUX0NPUFlfT0JTT0xFVEUAVU1hdERhdGFfVEVNUF9DT1BJRURfVU1BVABVTWF0RGF0YV9URU1QX1VNQVQAVU1hdERhdGFfVVNFUl9BTExPQ0FURUQAVU1hdF9BVVRPX1NURVAAVU1hdF9DT05USU5VT1VTX0ZMQUcAVU1hdF9ERVBUSF9NQVNLAFVNYXRfTUFHSUNfTUFTSwBVTWF0X01BR0lDX1ZBTABVTWF0X1NVQk1BVFJJWF9GTEFHAFVNYXRfVFlQRV9NQVNLAFVTQUNfQUNDVVJBVEUAVVNBQ19ERUZBVUxUAFVTQUNfRkFTVABVU0FDX0ZNXzhQVFMAVVNBQ19NQUdTQUMAVVNBQ19QQVJBTExFTABVU0FDX1BST1NBQwBVU0FHRV9BTExPQ0FURV9ERVZJQ0VfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX0hPU1RfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX1NIQVJFRF9NRU1PUlkAVVNBR0VfREVGQVVMVABXQVJQX0ZJTExfT1VUTElFUlMAV0FSUF9JTlZFUlNFX01BUABXQVJQX1BPTEFSX0xJTkVBUgBXQVJQX1BPTEFSX0xPRwBfSW5wdXRBcnJheV9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfQ1VEQV9IT1NUX01FTQBfSW5wdXRBcnJheV9FWFBSAF9JbnB1dEFycmF5X0ZJWEVEX1NJWkUAX0lucHV0QXJyYXlfRklYRURfVFlQRQBfSW5wdXRBcnJheV9LSU5EX01BU0sAX0lucHV0QXJyYXlfS0lORF9TSElGVABfSW5wdXRBcnJheV9NQVQAX0lucHV0QXJyYXlfTUFUWABfSW5wdXRBcnJheV9OT05FAF9JbnB1dEFycmF5X09QRU5HTF9CVUZGRVIAX0lucHV0QXJyYXlfU1REX0FSUkFZAF9JbnB1dEFycmF5X1NURF9BUlJBWV9NQVQAX0lucHV0QXJyYXlfU1REX0JPT0xfVkVDVE9SAF9JbnB1dEFycmF5X1NURF9WRUNUT1IAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9VTUFUAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfVkVDVE9SAF9JbnB1dEFycmF5X1VNQVQAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMTZGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzE2UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS18xNlUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMzJGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzMyUwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS182NEYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFMAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLX0FMTF8xNkYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMX0JVVF84UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS19GTFQAX19VTUFUX1VTQUdFX0ZMQUdTXzMyQklUAEJhZEFsaWduAEJhZEFscGhhQ2hhbm5lbABCYWRDT0kAQmFkQ2FsbEJhY2sAQmFkRGF0YVB0cgBCYWREZXB0aABCYWRJbWFnZVNpemUAQmFkTW9kZWxPckNoU2VxAEJhZE51bUNoYW5uZWwxVQBCYWROdW1DaGFubmVscwBCYWRPZmZzZXQAQmFkT3JkZXIAQmFkT3JpZ2luAEJhZFJPSVNpemUAQmFkU3RlcABCYWRUaWxlU2l6ZQBHcHVBcGlDYWxsRXJyb3IAR3B1Tm90U3VwcG9ydGVkAEhlYWRlcklzTnVsbABNYXNrSXNUaWxlZABPcGVuQ0xBcGlDYWxsRXJyb3IAT3BlbkNMRG91YmxlTm90U3VwcG9ydGVkAE9wZW5DTEluaXRFcnJvcgBPcGVuQ0xOb0FNREJsYXNGZnQAT3BlbkdsQXBpQ2FsbEVycm9yAE9wZW5HbE5vdFN1cHBvcnRlZABTdHNBc3NlcnQAU3RzQXV0b1RyYWNlAFN0c0JhY2tUcmFjZQBTdHNCYWRBcmcAU3RzQmFkRmxhZwBTdHNCYWRGdW5jAFN0c0JhZE1hc2sAU3RzQmFkTWVtQmxvY2sAU3RzQmFkUG9pbnQAU3RzQmFkU2l6ZQBTdHNEaXZCeVplcm8AU3RzRXJyb3IAU3RzRmlsdGVyT2Zmc2V0RXJyAFN0c0ZpbHRlclN0cnVjdENvbnRlbnRFcnIAU3RzSW5wbGFjZU5vdFN1cHBvcnRlZABTdHNJbnRlcm5hbABTdHNLZXJuZWxTdHJ1Y3RDb250ZW50RXJyAFN0c05vQ29udgBTdHNOb01lbQBTdHNOb3RJbXBsZW1lbnRlZABTdHNOdWxsUHRyAFN0c09iamVjdE5vdEZvdW5kAFN0c09rAFN0c091dE9mUmFuZ2UAU3RzUGFyc2VFcnJvcgBTdHNVbm1hdGNoZWRGb3JtYXRzAFN0c1VubWF0Y2hlZFNpemVzAFN0c1Vuc3VwcG9ydGVkRm9ybWF0AFN0c1ZlY0xlbmd0aEVycgBURVNUX0NVU1RPTQBURVNUX0VRAFRFU1RfR0UAVEVTVF9HVABURVNUX0xFAFRFU1RfTFQAVEVTVF9ORQBUcmFja2VyU2FtcGxlckNTQ19NT0RFX0RFVEVDVABUcmFja2VyU2FtcGxlckNTQ19NT0RFX0lOSVRfTkVHAFRyYWNrZXJTYW1wbGVyQ1NDX01PREVfSU5JVF9QT1MAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19ORUcAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19QT1MARE5OX0JBQ0tFTkRfQ1VEQQBETk5fQkFDS0VORF9ERUZBVUxUAEROTl9CQUNLRU5EX0hBTElERQBETk5fQkFDS0VORF9JTkZFUkVOQ0VfRU5HSU5FAEROTl9CQUNLRU5EX09QRU5DVgBETk5fQkFDS0VORF9WS0NPTQBETk5fQkFDS0VORF9XRUJOTgBETk5fVEFSR0VUX0NQVQBETk5fVEFSR0VUX0NVREEARE5OX1RBUkdFVF9DVURBX0ZQMTYARE5OX1RBUkdFVF9GUEdBAEROTl9UQVJHRVRfSERETABETk5fVEFSR0VUX01ZUklBRABETk5fVEFSR0VUX09QRU5DTABETk5fVEFSR0VUX09QRU5DTF9GUDE2AEROTl9UQVJHRVRfVlVMS0FOAFNvZnROTVNNZXRob2RfU09GVE5NU19HQVVTU0lBTgBTb2Z0Tk1TTWV0aG9kX1NPRlROTVNfTElORUFSAENBTElCX0NIRUNLX0NPTkQAQ0FMSUJfRklYX1NLRVcAQ0FMSUJfUkVDT01QVVRFX0VYVFJJTlNJQwBFTlVNX0xPR19MRVZFTF9GT1JDRV9JTlQATE9HX0xFVkVMX0RFQlVHAExPR19MRVZFTF9FUlJPUgBMT0dfTEVWRUxfRkFUQUwATE9HX0xFVkVMX0lORk8ATE9HX0xFVkVMX1NJTEVOVABMT0dfTEVWRUxfVkVSQk9TRQBMT0dfTEVWRUxfV0FSTklORwAAHGkCAHxpAgAcaQIAoGkCABxpAgDoSAAATjJjdjZQb2ludF9JZkVFABRqAgDYSAAAHGkCAAxJAABOMmN2MTFSb3RhdGVkUmVjdEUAABRqAgD4SAAAHGkCACxJAABOMmN2NVJlY3RfSWlFRQAAFGoCABxJAAAcaQIAfGkCABxpAgA0aQIAcHVzaF9iYWNrAHJlc2l6ZQBnZXQAc2V0AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATlN0M19fMjZ2ZWN0b3JJaU5TXzlhbGxvY2F0b3JJaUVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlpTlNfOWFsbG9jYXRvcklpRUVFRQBOU3QzX18yMjBfX3ZlY3Rvcl9iYXNlX2NvbW1vbklMYjFFRUUAAAAUagIA8UkAAJhqAgDFSQAAAAAAAAEAAAAYSgAAAAAAAJhqAgChSQAAAAAAAAEAAAAgSgAAAAAAAFBOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAAD0agIAUEoAAAAAAAA4SgAAUEtOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAPRqAgCISgAAAQAAADhKAABpaQB2AHZpAHhKAAAcaQIAeEoAAHxpAgB2aWlpAAAAABxpAgB4SgAAoGkCAHxpAgB2aWlpaQAAAKBpAgCwSgAAaWlpACRLAAA4SgAAoGkCAE4xMGVtc2NyaXB0ZW4zdmFsRQAAFGoCABBLAABpaWlpAEHAlgELswg0aQIAOEoAAKBpAgB8aQIAaWlpaWkATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlmTlNfOWFsbG9jYXRvcklmRUVFRQAAAJhqAgB6SwAAAAAAAAEAAAAYSgAAAAAAAJhqAgBWSwAAAAAAAAEAAACoSwAAAAAAAFBOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAAD0agIA2EsAAAAAAADASwAAUEtOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAPRqAgAQTAAAAQAAAMBLAAAATAAAHGkCAABMAACsaQIAdmlpZgAAAAAcaQIAAEwAAKBpAgCsaQIAdmlpaWYAAACgaQIAOEwAACRLAADASwAAoGkCAAAAAAA0aQIAwEsAAKBpAgCsaQIAaWlpaWYATlN0M19fMjZ2ZWN0b3JJZE5TXzlhbGxvY2F0b3JJZEVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlkTlNfOWFsbG9jYXRvcklkRUVFRQAAAJhqAgDKTAAAAAAAAAEAAAAYSgAAAAAAAJhqAgCmTAAAAAAAAAEAAAD4TAAAAAAAAFBOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAAD0agIAKE0AAAAAAAAQTQAAUEtOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAPRqAgBgTQAAAQAAABBNAABQTQAAHGkCAFBNAAC4aQIAdmlpZAAAAAAcaQIAUE0AAKBpAgC4aQIAdmlpaWQAAACgaQIAiE0AACRLAAAQTQAAoGkCAAAAAAA0aQIAEE0AAKBpAgC4aQIAaWlpaWQATlN0M19fMjZ2ZWN0b3JJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAmGoCACpOAAAAAAAAAQAAABhKAAAAAAAAmGoCAPZNAAAAAAAAAQAAAGhOAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y2UG9pbnRfSWlFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAD0agIAmE4AAAAAAACATgAAUEtOU3QzX18yNnZlY3RvcklOMmN2NlBvaW50X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAD0agIA4E4AAAEAAACATgAA0E4AABxpAgDQTgAASE8AAE4yY3Y2UG9pbnRfSWlFRQAUagIAOE8AABxpAgDQTgAAoGkCAEhPAACgaQIAGE8AACRLAACATgAAoGkCAEGAnwELxgI0aQIAgE4AAKBpAgBITwAATlN0M19fMjZ2ZWN0b3JJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAJhqAgC+TwAAAAAAAAEAAAAYSgAAAAAAAJhqAgCQTwAAAAAAAAEAAAD0TwAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2M01hdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAPRqAgAkUAAAAAAAAAxQAABQS05TdDNfXzI2dmVjdG9ySU4yY3YzTWF0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQD0agIAZFAAAAEAAAAMUAAAVFAAABxpAgBUUAAAwFAAAE4yY3YzTWF0RQAAABRqAgC0UABB0KEBCyMcaQIAVFAAAKBpAgDAUAAAoGkCAJRQAAAkSwAADFAAAKBpAgBBgKIBC/MCNGkCAAxQAACgaQIAwFAAAE5TdDNfXzI2dmVjdG9ySU4yY3Y1UmVjdF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAACYagIAQ1EAAAAAAAABAAAAGEoAAAAAAACYagIAEFEAAAAAAAABAAAAgFEAAAAAAABQTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUA9GoCALBRAAAAAAAAmFEAAFBLTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAA9GoCAPRRAAABAAAAmFEAAORRAAAcaQIA5FEAACxJAAAAAAAAHGkCAORRAACgaQIALEkAAKBpAgAsUgAAJEsAAJhRAACgaQIAQYClAQviAjRpAgCYUQAAoGkCACxJAABOU3QzX18yNnZlY3RvcklOMmN2OEtleVBvaW50RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAmGoCAMNSAAAAAAAAAQAAABhKAAAAAAAAmGoCAJBSAAAAAAAAAQAAAABTAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAPRqAgAwUwAAAAAAABhTAABQS05TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAAPRqAgB0UwAAAQAAABhTAABkUwAAHGkCAGRTAADcUwAATjJjdjhLZXlQb2ludEUAABRqAgDMUwBB8KcBCyMcaQIAZFMAAKBpAgDcUwAAoGkCAKxTAAAkSwAAGFMAAKBpAgBBoKgBC4MDNGkCABhTAACgaQIA3FMAAE5TdDNfXzI2dmVjdG9ySU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAJhqAgBhVAAAAAAAAAEAAAAYSgAAAAAAAJhqAgAwVAAAAAAAAAEAAACcVAAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAD0agIAzFQAAAAAAAC0VAAAUEtOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVO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Yy9tb2R1bGVzL2NvcmUvc3JjL2FsbG9jLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYXJyYXkuY3BwAE5vbi1wb3NpdGl2ZSB3aWR0aCBvciBoZWlnaHQAY3ZDcmVhdGVNYXRIZWFkZXIASW52YWxpZCBtYXRyaXggdHlwZQAAY3ZJbml0TWF0SGVhZGVyAE5vbi1wb3NpdGl2ZSBjb2xzIG9yIHJvd3MAY3ZSZWxlYXNlTWF0AEJhZCBDdk1hdCBoZWFkZXIAY3ZDbG9uZU1hdABJbnZhbGlkIHNwYXJzZSBtYXRyaXggaGVhZGVyAGN2SW5pdFNwYXJzZU1hdEl0ZXJhdG9yAE5VTEwgaXRlcmF0b3IgcG9pbnRlcgBEYXRhIGlzIGFscmVhZHkgYWxsb2NhdGVkAGN2Q3JlYXRlRGF0YQBUb28gYmlnIGJ1ZmZlciBpcyBhbGxvY2F0ZWQAT3ZlcmZsb3cgZm9yIGltYWdlU2l6ZQB1bnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBPbmx5IGNvbnRpbnVvdXMgbkQgYXJyYXlzIGFyZSBzdXBwb3J0ZWQgaGVyZQBjdkdldENvbHMATlVMTCBhcnJheSBwb2ludGVyIGlzIHBhc3NlZABjdkdldE1hdABUaGUgbWF0cml4IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBUaGUgaW1hZ2UgaGFzIE5VTEwgZGF0YSBwb2ludGVyAEltYWdlcyB3aXRoIHBsYW5hciBkYXRhIGxheW91dCBzaG91bGQgYmUgdXNlZCB3aXRoIENPSSBzZWxlY3RlZABUaGUgaW1hZ2UgaXMgaW50ZXJsZWF2ZWQgYW5kIGhhcyBvdmVyIENWX0NOX01BWCBjaGFubmVscwBQaXhlbCBvcmRlciBzaG91bGQgYmUgdXNlZCB3aXRoIGNvaSA9PSAwAElucHV0IGFycmF5IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBVbnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdHJpeCBlbGVtZW50cyBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIHJvd3MAY3ZSZXNoYXBlAENPSSBpcyBub3Qgc3VwcG9ydGVkAFRoZSBtYXRyaXggaXMgbm90IGNvbnRpbnVvdXMsIHRodXMgaXRzIG51bWJlciBvZiByb3dzIGNhbiBub3QgYmUgY2hhbmdlZABCYWQgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAGN2R2V0SW1hZ2VDT0kAc3JjICYmIG5zcmNzID4gMCAmJiBkc3QgJiYgbmRzdHMgPiAwICYmIGZyb21UbyAmJiBucGFpcnMgPiAwAG1peENoYW5uZWxzAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jaGFubmVscy5jcHAAaiA8IG5zcmNzICYmIHNyY1tqXS5kZXB0aCgpID09IGRlcHRoAGkxID49IDAgJiYgaiA8IG5kc3RzICYmIGRzdFtqXS5kZXB0aCgpID09IGRlcHRoAEGQ2AELmiFDAgAAQwIAAEQCAABEAgAARQIAAEUCAABGAgAAAAAAAGNuIDw9IDQAc2NhbGFyVG9SYXdEYXRhAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3B5LmNwcAAAY3Z0Rm4AY29udmVydEFuZFVucm9sbFNjYWxhcgBzY24gPT0gMQBjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51ICE9IE5VTEwAZGltcyA+IDAgJiYgZGltcyA8IENWX01BWF9ESU0A/GwAAEhsAABmAQAABQAAAGdsAAAobQAAMW0AAHZvaWQgY3Y6Ok1hdDo6Y29weVRvKGN2OjpPdXRwdXRBcnJheSkgY29uc3QAc3oud2lkdGgAMABtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikAc2l6ZSgpID09IG1hc2suc2l6ZSgpAHN6IDw9IHNpemVvZihzY2FsYXIpAG9wZXJhdG9yPQBjaGVja1NjYWxhcih2YWx1ZSwgdHlwZSgpLCBfdmFsdWUua2luZCgpLCBfSW5wdXRBcnJheTo6TUFUICkAc2V0VG8AbWFzay5lbXB0eSgpIHx8IChtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikgJiYgc2l6ZSA9PSBtYXNrLnNpemUpAF9zcmMuZ2V0T2JqKCkgIT0gX2RzdC5nZXRPYmooKQByZXBlYXQAX3NyYy5kaW1zKCkgPD0gMgBueSA+IDAgJiYgbnggPiAwAG1hc2thcnIgPT0gMABjdkNvcHkAc3JjLmRlcHRoKCkgPT0gZHN0LmRlcHRoKCkgJiYgc3JjLnNpemUgPT0gZHN0LnNpemUAKGNvaTEgIT0gMCB8fCBzcmMuY2hhbm5lbHMoKSA9PSAxKSAmJiAoY29pMiAhPSAwIHx8IGRzdC5jaGFubmVscygpID09IDEpAHNyYy5jaGFubmVscygpID09IGRzdC5jaGFubmVscygpAAAvc3JjL21vZHVsZXMvY29yZS9zcmMvZGF0YXN0cnVjdHMuY3BwAGN2UmVzdG9yZU1lbVN0b3JhZ2VQb3MATlVMTCBzdG9yYWdlIHBvaW50ZXIAY3ZNZW1TdG9yYWdlQWxsb2MAVG9vIGxhcmdlIG1lbW9yeSBibG9jayBpcyByZXF1ZXN0ZWQAc3RvcmFnZS0+ZnJlZV9zcGFjZSAlIENWX1NUUlVDVF9BTElHTiA9PSAwAHJlcXVlc3RlZCBzaXplIGlzIG5lZ2F0aXZlIG9yIHRvbyBiaWcAKHNpemVfdClwdHIgJSBDVl9TVFJVQ1RfQUxJR04gPT0gMABjdlNldFNlcUJsb2NrU2l6ZQBTdG9yYWdlIGJsb2NrIHNpemUgaXMgdG9vIHNtYWxsIHRvIGZpdCB0aGUgc2VxdWVuY2UgZWxlbWVudHMAY3ZDdnRTZXFUb0FycmF5AGN2U2V0U2VxUmVhZGVyUG9zAE5VTEwgc2VxdWVuY2UgcG9pbnRlcgBudW1iZXIgb2YgcmVtb3ZlZCBlbGVtZW50cyBpcyBuZWdhdGl2ZQBjdlNlcVBvcE11bHRpAGRlbHRhID4gMABjdkNsZWFyU2VxAGN2U2V0QWRkAGNvdW50IDw9IENWX1NFVF9FTEVNX0lEWF9NQVNLKzEAaWN2R29OZXh0TWVtQmxvY2sAcGFyZW50LT5ib3R0b20gPT0gYmxvY2sAaWN2R3Jvd1NlcQBUaGUgc2VxdWVuY2UgaGFzIE5VTEwgc3RvcmFnZSBwb2ludGVyAHN0b3JhZ2UtPmZyZWVfc3BhY2UgPj0gZGVsdGEAYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMCAmJiBibG9jay0+Y291bnQgPiAwAHNlcS0+Zmlyc3QtPnN0YXJ0X2luZGV4ID09IDAAKGluX2Zyb250X29mID8gYmxvY2sgOiBibG9jay0+cHJldiktPmNvdW50ID09IDAAaWN2RnJlZVNlcUJsb2NrAHNlcS0+cHRyID09IGJsb2NrLT5kYXRhAGJsb2NrLT5jb3VudCA+IDAgJiYgYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMAAvc3JjL21vZHVsZXMvY29yZS9zcmMvbGFwYWNrLmNwcAAhbWF0LmVtcHR5KCkAZGV0ZXJtaW5hbnQAbWF0LnJvd3MgPT0gbWF0LmNvbHMgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQB0eXBlID09IENWXzMyRiB8fCB0eXBlID09IENWXzY0RgBpbnZlcnQAbSA9PSBuAG1ldGhvZCA9PSBERUNPTVBfTFUgfHwgbWV0aG9kID09IERFQ09NUF9DSE9MRVNLWQBuID09IDEAdHlwZSA9PSBfc3JjMi50eXBlKCkgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQBzb2x2ZQC4cwAAf3IAAEgEAAAAAAAA/XMAACJ0AAApdAAAYm9vbCBjdjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCkAVW5zdXBwb3J0ZWQgbWV0aG9kLCBzZWUgI0RlY29tcFR5cGVzAG1ldGhvZABtZXRob2QgPT0gREVDT01QX0xVIHx8IG1ldGhvZCA9PSBERUNPTVBfU1ZEIHx8IG1ldGhvZCA9PSBERUNPTVBfRUlHIHx8IG1ldGhvZCA9PSBERUNPTVBfQ0hPTEVTS1kgfHwgbWV0aG9kID09IERFQ09NUF9RUgAobWV0aG9kICE9IERFQ09NUF9MVSAmJiBtZXRob2QgIT0gREVDT01QX0NIT0xFU0tZKSB8fCBpc19ub3JtYWwgfHwgc3JjLnJvd3MgPT0gc3JjLmNvbHMAc3JjLnJvd3MgPT0gMQBUaGUgZnVuY3Rpb24gY2FuIG5vdCBzb2x2ZSB1bmRlci1kZXRlcm1pbmVkIGxpbmVhciBzeXN0ZW1zAHNyYy5yb3dzID09IHNyYy5jb2xzAGVpZ2VuAHcudHlwZSgpID09IHUudHlwZSgpICYmIHUudHlwZSgpID09IHZ0LnR5cGUoKSAmJiB1LmRhdGEgJiYgdnQuZGF0YSAmJiB3LmRhdGEAYmFja1N1YnN0AHUuY29scyA+PSBubSAmJiB2dC5yb3dzID49IG5tICYmICh3LnNpemUoKSA9PSBTaXplKG5tLCAxKSB8fCB3LnNpemUoKSA9PSBTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBTaXplKHZ0LnJvd3MsIHUuY29scykpAHJocy5kYXRhID09IDAgfHwgKHJocy50eXBlKCkgPT0gdHlwZSAmJiByaHMucm93cyA9PSBtKQAAcm93cyA9PSBtYXQtPmNvbHMAY3ZEZXQAc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpICYmIHNyYy5yb3dzID09IGRzdC5jb2xzICYmIHNyYy5jb2xzID09IGRzdC5yb3dzAGN2SW52ZXJ0AEEudHlwZSgpID09IHgudHlwZSgpICYmIEEuY29scyA9PSB4LnJvd3MgJiYgeC5jb2xzID09IGIuY29scwBjdlNvbHZlAHcudHlwZSgpID09IHR5cGUgJiYgKHcuc2l6ZSgpID09IGN2OjpTaXplKG5tLDEpIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBjdjo6U2l6ZShubSwgbm0pIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKG4sIG0pKQBjdlNWRAB1LnR5cGUoKSA9PSB0eXBlAHYudHlwZSgpID09IHR5cGUAdS5zaXplKCkgPT0gc3ZkLnUuc2l6ZSgpAHYuc2l6ZSgpID09IHN2ZC52dC5zaXplKCkAX1NWRGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5zaW1kLmhwcABjbXBvcCA9PSBDTVBfTkUAY21wX2xvb3Bfbm9zaW1kAGNtcF9sb29wAG9wID09IENNUF9MVCB8fCBvcCA9PSBDTVBfTEUgfHwgb3AgPT0gQ01QX0VRIHx8IG9wID09IENNUF9ORSB8fCBvcCA9PSBDTVBfR0UgfHwgb3AgPT0gQ01QX0dUAGNvbXBhcmUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5jcHAAX3NyYzEuZW1wdHkoKSA9PSBfc3JjMi5lbXB0eSgpAFRoZSBvcGVyYXRpb24gaXMgbmVpdGhlciAnYXJyYXkgb3AgYXJyYXknICh3aGVyZSBhcnJheXMgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCB0aGUgc2FtZSB0eXBlKSwgbm9yICdhcnJheSBvcCBzY2FsYXInLCBub3IgJ3NjYWxhciBvcCBhcnJheScAVW5zdXBwb3J0ZWQgZGVwdGggdmFsdWUgQ1ZfMTZGAGZ1bmMAY3Z0Rm4Ac3JjMS5zaXplID09IGRzdC5zaXplICYmIHNyYzEuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdlN1YgBiaW5hcnlfb3AAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHR5cGUpLCBub3IgJ2FycmF5IG9wIHNjYWxhcicsIG5vciAnc2NhbGFyIG9wIGFycmF5JwBwc3JjMS0+c2FtZVNpemUoKnBzcmMyKSAmJiB0eXBlMSA9PSB0eXBlMgAobXR5cGUgPT0gQ1ZfOFUgfHwgbXR5cGUgPT0gQ1ZfOFMpICYmIF9tYXNrLnNhbWVTaXplKCpwc3JjMSkAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHRoZSBzYW1lIG51bWJlciBvZiBjaGFubmVscyksIG5vciAnYXJyYXkgb3Agc2NhbGFyJywgbm9yICdzY2FsYXIgb3AgYXJyYXknAGFyaXRobV9vcAB0eXBlMiA9PSBDVl82NEYgJiYgKHN6Mi5oZWlnaHQgPT0gMSB8fCBzejIuaGVpZ2h0ID09IDQpAFdoZW4gdGhlIGlucHV0IGFycmF5cyBpbiBhZGQvc3VidHJhY3QvbXVsdGlwbHkvZGl2aWRlIGZ1bmN0aW9ucyBoYXZlIGRpZmZlcmVudCB0eXBlcywgdGhlIG91dHB1dCBhcnJheSB0eXBlIG11c3QgYmUgZXhwbGljaXRseSBzcGVjaWZpZWQAKG10eXBlID09IENWXzhVQzEgfHwgbXR5cGUgPT0gQ1ZfOFNDMSkgJiYgX21hc2suc2FtZVNpemUoKnBzcmMxKQCVAgAAlgIAAJcCAACYAgAAmQIAAJoCAACbAgBBvvkBCwJgwABBzvkBCxrgwAAAAAAAAODBAAAA4P//78f////////v/wBB9fkBC9UI4G9AAAAAAADAX0AAAAAA4P/vQAAAAADA/99AAADA////30EAAADg///vR////////+9/AAAAAAAAAAAEAAAAAQAAAAIAAAAwICYmICJOb3Qgc3VwcG9ydGVkIgAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLnNpbWQuaHBwAGdldFNjYWxlQWRkRnVuYwBmdW5jICYmICJOb3Qgc3VwcG9ydGVkIgBnZXRNdWxUcmFuc3Bvc2VkRnVuYwAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLmRpc3BhdGNoLmNwcAB0eXBlID09IEIudHlwZSgpAGdlbW0AKHR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgdHlwZSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCB0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpIHx8IHR5cGUgPT0gKCgoNikgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkpAGFfc2l6ZS53aWR0aCA9PSBsZW4AYV9zaXplLmhlaWdodCA9PSBsZW4AQy50eXBlKCkgPT0gdHlwZQAoKChmbGFncyZHRU1NXzNfVCkgPT0gMCAmJiBDLnJvd3MgPT0gZF9zaXplLmhlaWdodCAmJiBDLmNvbHMgPT0gZF9zaXplLndpZHRoKSB8fCAoKGZsYWdzJkdFTU1fM19UKSAhPSAwICYmIEMucm93cyA9PSBkX3NpemUud2lkdGggJiYgQy5jb2xzID09IGRfc2l6ZS5oZWlnaHQpKQB0eXBlID09IENWXzY0RkMyAGZ1bmMgIT0gMAB0eXBlID09IF9zcmMyLnR5cGUoKQBzY2FsZUFkZABzcmMxLnNpemUgPT0gc3JjMi5zaXplAHNyYy5jaGFubmVscygpID09IDEAbXVsVHJhbnNwb3NlZABkZWx0YS5jaGFubmVscygpID09IDEAKGRlbHRhLnJvd3MgPT0gc3JjLnJvd3MgfHwgZGVsdGEucm93cyA9PSAxKQAoZGVsdGEuY29scyA9PSBzcmMuY29scyB8fCBkZWx0YS5jb2xzID09IDEpAABtYXQudHlwZSgpID09IHR5cGUoKQBkb3QAbWF0LnNpemUgPT0gc2l6ZQAoRC5yb3dzID09ICgoZmxhZ3MgJiAxKSA9PSAwID8gQS5yb3dzIDogQS5jb2xzKSkAY3ZHRU1NAChELmNvbHMgPT0gKChmbGFncyAmIDIpID09IDAgPyBCLmNvbHMgOiBCLnJvd3MpKQBELnR5cGUoKSA9PSBBLnR5cGUoKQAAAAAAAAAAvAIAAL0CAAC+AgAAvwIAAMACAADBAgAAwgIAQYCDAguILGdlbW1JbXBsADAAR0VNTV9UcmFuc3Bvc2VCbG9jawBkZWx0YV9jb2xzID09IDEATXVsVHJhbnNwb3NlZFIAc3pbaV0gPD0gKHNpemVfdClJTlRfTUFYAGRvd25sb2FkAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tYXRyaXguY3BwAHVwbG9hZABjb3B5ADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABTdGVwICV6dSBmb3IgZGltZW5zaW9uICVkIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxICV6dQBUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAdG90YWwoKSA9PSAwIHx8IGRhdGEgIT0gTlVMTABNYXQAX3N0ZXAgPj0gbWluc3RlcABTdGVwIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxAAAAAByDAADggQAA0gEAAAUAAABIgwAASYMAAE+DAABjdjo6TWF0OjpNYXQoY3Y6OlNpemUsIGludCwgdm9pZCAqLCBzaXplX3QpAABfc3RlcABtaW5zdGVwAG0uc3RlcC5wICE9IG0uc3RlcC5idWYAb3BlcmF0b3I9ADAgPD0gZCAmJiBkIDw9IENWX01BWF9ESU0gJiYgX3NpemVzAGNyZWF0ZQB1ICE9IDAAc3RlcFtkaW1zLTFdID09IChzaXplX3QpQ1ZfRUxFTV9TSVpFKGZsYWdzKQBtLmRpbXMgPj0gMgAwIDw9IF9yb3dSYW5nZS5zdGFydCAmJiBfcm93UmFuZ2Uuc3RhcnQgPD0gX3Jvd1JhbmdlLmVuZCAmJiBfcm93UmFuZ2UuZW5kIDw9IG0ucm93cwAwIDw9IF9jb2xSYW5nZS5zdGFydCAmJiBfY29sUmFuZ2Uuc3RhcnQgPD0gX2NvbFJhbmdlLmVuZCAmJiBfY29sUmFuZ2UuZW5kIDw9IG0uY29scwBtLmRpbXMgPD0gMgAwIDw9IHJvaS54ICYmIDAgPD0gcm9pLndpZHRoICYmIHJvaS54ICsgcm9pLndpZHRoIDw9IG0uY29scyAmJiAwIDw9IHJvaS55ICYmIDAgPD0gcm9pLmhlaWdodCAmJiByb2kueSArIHJvaS5oZWlnaHQgPD0gbS5yb3dzAHJhbmdlcwByID09IFJhbmdlOjphbGwoKSB8fCAoMCA8PSByLnN0YXJ0ICYmIHIuc3RhcnQgPCByLmVuZCAmJiByLmVuZCA8PSBtLnNpemVbaV0pAGRpbXMgPD0gMgBkaWFnAGRpbXMgPD0gMiAmJiBzdGVwWzBdID4gMABsb2NhdGVST0kAYWRqdXN0Uk9JAHJlc2hhcGUAVGhlIG1hdHJpeCBpcyBub3QgY29udGludW91cywgdGh1cyBpdHMgbnVtYmVyIG9mIHJvd3MgY2FuIG5vdCBiZSBjaGFuZ2VkAEJhZCBuZXcgbnVtYmVyIG9mIHJvd3MAVGhlIHRvdGFsIG51bWJlciBvZiBtYXRyaXggZWxlbWVudHMgaXMgbm90IGRpdmlzaWJsZSBieSB0aGUgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAF9jbiA+PSAwICYmIF9uZXduZGltcyA+IDAgJiYgX25ld25kaW1zIDw9IENWX01BWF9ESU0gJiYgX25ld3N6AF9jbiA8PSBDVl9DTl9NQVgAX25ld3N6W2ldID49IDAAQ29weSBkaW1lbnNpb24gKHdoaWNoIGhhcyB6ZXJvIHNpemUpIGlzIG5vdCBwcmVzZW50IGluIHNvdXJjZSBtYXRyaXgAUmVxdWVzdGVkIGFuZCBzb3VyY2UgbWF0cmljZXMgaGF2ZSBkaWZmZXJlbnQgY291bnQgb2YgZWxlbWVudHMAUmVzaGFwaW5nIG9mIG4tZGltZW5zaW9uYWwgbm9uLWNvbnRpbnVvdXMgbWF0cmljZXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQA4IcAAOCBAAAXBQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgaW50KQBtMS5kaW1zADIAADiIAADggQAAHQUAAAMAAABIgwAAEYgAABmIAABjdjo6U2l6ZSBjdjo6Z2V0Q29udGludW91c1NpemUyRChjdjo6TWF0ICYsIGN2OjpNYXQgJiwgaW50KQA4iAAA4IEAAB4FAAADAAAASIMAAJCIAAAZiAAAbTIuZGltcwA4iAAA4IEAACMFAAABAAAASIMAALSIAAC9iAAAdG90YWxfc3oAbTIudG90YWwoKQBpc19tMV92ZWN0b3IAZ2V0Q29udGludW91c1NpemUyRABpc19tMl92ZWN0b3IAbTEuY29scyA9PSBtMi5jb2xzICYmIG0xLnJvd3MgPT0gbTIucm93cwAAPIkAAOCBAAA3BQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgY3Y6Ok1hdCAmLCBjdjo6TWF0ICYsIGludCkAADyJAADggQAAOAUAAAMAAABIgwAAkIgAABmIAAA8iQAA4IEAADkFAAADAAAASIMAALyJAAAZiAAAbTMuZGltcwA8iQAA4IEAAD4FAAABAAAASIMAALSIAAC9iAAAPIkAAOCBAAA/BQAAAQAAAEiDAAC0iAAA/IkAAG0zLnRvdGFsKCkAaXNfbTNfdmVjdG9yAG0xLmNvbHMgPT0gbTIuY29scyAmJiBtMS5yb3dzID09IG0yLnJvd3MgJiYgbTEuY29scyA9PSBtMy5jb2xzICYmIG0xLnJvd3MgPT0gbTMucm93cwBOMmN2MTJNYXRBbGxvY2F0b3JFAAAAABRqAgBpigAAAAAAAPCKAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAABOMmN2MjVEdW1teUJ1ZmZlclBvb2xDb250cm9sbGVyRQBOMmN2MjBCdWZmZXJQb29sQ29udHJvbGxlckUAAAAAFGoCAMmKAAA8agIAqIoAAOiKAAAAAAAASIsAAMkCAADKAgAAywIAAMwCAADNAgAAzgIAAM8CAADQAgAA0QIAANICAADTAgAATjJjdjE1U3RkTWF0QWxsb2NhdG9yRQAAPGoCADCLAACAigAAdG90YWwgPD0gc3RlcFtpXQBhbGxvY2F0ZQB1LT51cmVmY291bnQgPT0gMABkZWFsbG9jYXRlAHUtPnJlZmNvdW50ID09IDAAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9jLmNwcABDT0kgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZnVuY3Rpb24AY3ZhcnJUb01hdAB0b3RhbCA+IDAgJiYgQ1ZfRUxFTV9TSVpFKHNlcS0+ZmxhZ3MpID09IGVzegBVbmtub3duIGFycmF5IHR5cGUAQ1ZfSVNfSU1BR0UoYXJyKQBleHRyYWN0SW1hZ2VDT0kAMCA8PSBjb2kgJiYgY29pIDwgbWF0LmNoYW5uZWxzKCkAc3JjLnJvd3MgPT0gZHN0LmNvbHMgJiYgc3JjLmNvbHMgPT0gZHN0LnJvd3MgJiYgc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpAGN2VHJhbnNwb3NlAHNyY0Euc2l6ZSgpID09IGRzdC5zaXplKCkgJiYgc3JjQS50eXBlKCkgPT0gZHN0LnR5cGUoKQBjdkNyb3NzUHJvZHVjdABpbWctPmRhdGFPcmRlciA9PSBJUExfREFUQV9PUkRFUl9QSVhFTABpcGxJbWFnZVRvTWF0AGltZy0+ZGF0YU9yZGVyID09IElQTF9EQVRBX09SREVSX1BJWEVMIHx8IGltZy0+cm9pLT5jb2kgIT0gMABnbG9iYWwAJWRAJTAuM2YAJWRAJWxsdQAlZABbRkFUQUw6AF0gAFtFUlJPUjoAWyBXQVJOOgBbIElORk86AFtERUJVRzoAIAAoACkgAE9QRU5DVl9MT0dfTEVWRUwAAE9QRU5DVl9MT0dfVElNRVNUQU1QAE9QRU5D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KXZ2LnNpemUoKQAwIDw9IGkgJiYgaSA8IChpbnQpdi5zaXplKCkAMCA8PSBpICYmIGkgPCBzei5oZWlnaHQAWW91IHNob3VsZCBleHBsaWNpdGx5IGNhbGwgbWFwSG9zdC91bm1hcEhvc3QgbWV0aG9kcyBmb3Igb2dsOjpCdWZmZXIgb2JqZWN0AFlvdSBzaG91bGQgZXhwbGljaXRseSBjYWxsIGRvd25sb2FkIG1ldGhvZCBmb3IgY3VkYTo6R3B1TWF0IG9iamVjdABVbmtub3duL3Vuc3VwcG9ydGVkIGFycmF5IHR5cGUAZ2V0VU1hdABnZXRNYXRWZWN0b3IAZ2V0VU1hdFZlY3RvcgBDVURBIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9DVURBKQBzaXplAGkgPCAoaW50KXZ2LnNpemUoKQBpIDwgc3ouaGVpZ2h0AHNpemVuZAComgAA0pgAADcCAAADAAAA1poAAOSaAADsmgAAaW50IGN2OjpfSW5wdXRBcnJheTo6c2l6ZW5kKGludCAqLCBpbnQpIGNvbnN0AE5vdCBzdXBwb3J0ZWQAZGltcyhpKQAyAGRpbXMAKGZsYWdzICYgRklYRURfVFlQRSkgIT0gMAB0eXBlAGVtcHR5AGkgPj0gMCAmJiAoc2l6ZV90KWkgPCB2di5zaXplKCkAaXNDb250aW51b3VzAGkgPj0gMCAmJiBpIDwgc3ouaGVpZ2h0AABjb3B5VG8AIWZpeGVkU2l6ZSgpIHx8ICgoTWF0KilvYmopLT5zaXplLm9wZXJhdG9yKCkoKSA9PSBfc3oAY3JlYXRlACFmaXhlZFR5cGUoKSB8fCAoKE1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IF9zegAhZml4ZWRUeXBlKCkgfHwgKChVTWF0KilvYmopLT50eXBlKCkgPT0gbXR5cGUAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6R3B1TWF0KilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKGN1ZGE6OkdwdU1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT50eXBlKCkgPT0gbXR5cGUAT3BlbkdMIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9PUEVOR0wpACFmaXhlZFNpemUoKSB8fCAoKGN1ZGE6Okhvc3RNZW0qKW9iaiktPnNpemUoKSA9PSBfc3oAIWZpeGVkVHlwZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKE1hdCopb2JqKS0+c2l6ZS5vcGVyYXRvcigpKCkgPT0gU2l6ZShfY29scywgX3Jvd3MpACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhZml4ZWRTaXplKCkgfHwgKChjdWRhOjpHcHVNYXQqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgob2dsOjpCdWZmZXIqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+c2l6ZSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhKG0uZW1wdHkoKSAmJiBmaXhlZFR5cGUoKSAmJiBmaXhlZFNpemUoKSkgJiYgIkNhbid0IHJlYWxsb2NhdGUgZW1wdHkgTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiALSfAADSmAAAFAUAAAEAAAAToAAAZKAAAG2gAAB2b2lkIGN2OjpfT3V0cHV0QXJyYXk6OmNyZWF0ZShpbnQsIGNvbnN0IGludCAqLCBpbnQsIGludCwgYm9vbCwgX091dHB1dEFycmF5OjpEZXB0aE1hc2spIGNvbnN0AENhbid0IHJlYWxsb2NhdGUgTWF0IHdpdGggbG9ja2VkIHR5cGUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAG0udHlwZSgpAENWX01BVF9UWVBFKG10eXBlKQC0nwAA0pgAABgFAAABAAAAnKAAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBNYXQgd2l0aCBsb2NrZWQgc2l6ZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAbS5kaW1zAGQAAAC0nwAA0pgAABoFAAABAAAAnKAAABShAAAeoQAAbS5zaXplW2pdAHNpemVzW2pdACEobS5lbXB0eSgpICYmIGZpeGVkVHlwZSgpICYmIGZpeGVkU2l6ZSgpKSAmJiAiQ2FuJ3QgcmVhbGxvY2F0ZSBlbXB0eSBVTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiAAAAALSfAADSmAAAMgUAAAEAAADQoQAAZKAAAG2gAABDYW4ndCByZWFsbG9jYXRlIFVNYXQgd2l0aCBsb2NrZWQgdHlwZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAAAC0nwAA0pgAADYFAAABAAAAQKIAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBVTWF0IHdpdGggbG9ja2VkIHNpemUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAAAAtJ8AANKYAAA4BQAAAQAAAECiAAAUoQAAHqEAAG10eXBlID09IHR5cGUwIHx8IChDVl9NQVRfQ04obXR5cGUpID09IDEgJiYgKCgxIDw8IHR5cGUwKSAmIGZpeGVkRGVwdGhNYXNrKSAhPSAwKQAAALSfAADSmAAAQwUAAAMAAABdmwAA9KAAAOyaAAC0nwAA0pgAAEkFAAAAAAAAXZsAADyjAABLowAAcmVxdWVzdGVkX3NpemUAc3RkOjptYXgocmVxdWVzdGVkX3NpemUud2lkdGgsIHJlcXVlc3RlZF9zaXplLmhlaWdodCkgPT0gdG90YWxfMWQAAAAAtJ8AANKYAABPBQAAAQAAAF2bAAA8owAArKMAAHN6AAC0nwAA0pgAAFUFAAAAAAAAXZsAADyjAADMowAAKHJlcXVlc3RlZF9zaXplID09IHN6IHx8IChyZXF1ZXN0ZWRfc2l6ZS5oZWlnaHQgPT0gc3oud2lkdGggJiYgcmVxdWVzdGVkX3NpemUud2lkdGggPT0gc3ouaGVpZ2h0KSkAZCA9PSAyICYmIChzaXplc1swXSA9PSAxIHx8IHNpemVzWzFdID09IDEgfHwgc2l6ZXNbMF0qc2l6ZXNbMV0gPT0gMCkAIWZpeGVkU2l6ZSgpIHx8IGxlbiA9PSB2di5zaXplKCkAbXR5cGUgPT0gdHlwZTAgfHwgKENWX01BVF9DTihtdHlwZSkgPT0gQ1ZfTUFUX0NOKHR5cGUwKSAmJiAoKDEgPDwgdHlwZTApICYgZml4ZWREZXB0aE1hc2spICE9IDApACFmaXhlZFNpemUoKSB8fCBsZW4gPT0gKChzdGQ6OnZlY3Rvcjx1Y2hhcj4qKXYpLT5zaXplKCkgLyBlc3oAVmVjdG9ycyB3aXRoIGVsZW1lbnQgc2l6ZSAlZCBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlLCBtb2RpZnkgT3V0cHV0QXJyYXk6OmNyZWF0ZSgpCgBjcmVhdGUoKSBjYWxsZWQgZm9yIHRoZSBtaXNzaW5nIG91dHB1dCBhcnJheQAhZml4ZWRTaXplKCkgfHwgbGVuID09IGxlbjAAdltqXS5lbXB0eSgpAGkgPCAoaW50KXYuc2l6ZSgpACFmaXhlZFR5cGUoKSAmJiAhZml4ZWRTaXplKCkAQ1ZfTUFUX1RZUEUobXR5cGUpID09IG0udHlwZSgpAG0uZGltcyA9PSBkAG0uc2l6ZVtqXSA9PSBzaXplc1tqXQBsZW4gPT0gbGVuMAAhZml4ZWRTaXplKCkAcmVsZWFzZQBrID09IE1BVABnZXRNYXRSZWYAayA9PSBTVERfVkVDVE9SX01BVCB8fCBrID09IFNURF9BUlJBWV9NQVQAc2V0VG8AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAoY24gPT0gMSAmJiAoX21hc2suZW1wdHkoKSB8fCBfbWFzay50eXBlKCkgPT0gQ1ZfOFUpKSB8fCAoY24gPiAxICYmIF9tYXNrLmVtcHR5KCkgJiYgIW1pbklkeCAmJiAhbWF4SWR4KQBtaW5NYXhJZHgAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21pbm1heC5jcHAAZnVuYyAhPSAwAF9pbWcuZGltcygpIDw9IDIAbWluTWF4TG9jAEHAzwIL3SgtAwAALgMAAC8DAAAwAwAAMQMAADIDAAAzAwAAAAAAAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAQEBAQICAgECAgIBAgICAQICAgIDAwMCAwMDAgMDAwECAgICAwMDAgMDAwIDAwMBAgICAgMDAwIDAwMCAwMDAQICAgIDAwMCAwMDAgMDAwIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAECAgICAwMDAgMDAwIDAwMCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQBAgICAgMDAwIDAwMCAwMDAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAAEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAm5vcm1UeXBlID09IE5PUk1fSU5GIHx8IG5vcm1UeXBlID09IE5PUk1fTDEgfHwgbm9ybVR5cGUgPT0gTk9STV9MMiB8fCBub3JtVHlwZSA9PSBOT1JNX0wyU1FSIHx8ICgobm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HIHx8IG5vcm1UeXBlID09IE5PUk1fSEFNTUlORzIpICYmIF9zcmMudHlwZSgpID09IENWXzhVKQBub3JtAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9ub3JtLmNwcABtYXNrLmVtcHR5KCkgfHwgbWFzay50eXBlKCkgPT0gQ1ZfOFUAZnVuYyAhPSAwAAAAAASsAACXqwAAxwIAAAQAAAA5rAAAOqwAAEqsAABkb3VibGUgY3Y6Om5vcm0oY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAAAoc2l6ZV90KWl0LnNpemUAKHNpemVfdClJTlRfTUFYAAAAeKwAAJerAAA5BAAAAQAAAL2sAADRrAAA3qwAAGRvdWJsZSBjdjo6bm9ybShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAElucHV0IHR5cGUgbWlzbWF0Y2gAX3NyYzEudHlwZSgpAF9zcmMyLnR5cGUoKQBfc3JjMS5zYW1lU2l6ZShfc3JjMikAbm9ybVR5cGUgPT0gTk9STV9JTkYgfHwgbm9ybVR5cGUgPT0gTk9STV9MMSB8fCBub3JtVHlwZSA9PSBOT1JNX0wyIHx8IG5vcm1UeXBlID09IE5PUk1fTDJTUVIgfHwgKChub3JtVHlwZSA9PSBOT1JNX0hBTU1JTkcgfHwgbm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HMikgJiYgc3JjMS50eXBlKCkgPT0gQ1ZfOFUpAAB4rAAAl6sAAKUEAAAEAAAAOawAADqsAABKrAAANAMAADUDAAA2AwAANwMAADgDAAA5AwAAOgMAAAAAAAA7AwAAPAMAAD0DAAA+AwAAPwMAAEADAABBAwAAAAAAAEIDAABDAwAARAMAAEUDAABGAwAARwMAAEgDAAAAAAAASQMAAEoDAABLAwAATAMAAE0DAABOAwAATwMAAAAAAABQAwAAUQMAAFIDAABTAwAAVAMAAFUDAABWAwAAAAAAAFcDAABYAwAAWQMAAFoDAABbAwAAXAMAAF0DAAAAAAAATjJjdjE2UGFyYWxsZWxMb29wQm9keUUAFGoCAJCuAAAAAAAA9K4AAF8DAABgAwAAYQMAAE4yY3YxMl9HTE9CQUxfX05fMTIzUGFyYWxsZWxMb29wQm9keVdyYXBwZXJFAAAAADxqAgDErgAAqK4AAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wYXJhbGxlbC9wYXJhbGxlbC5jcHAAY29yZShwYXJhbGxlbCk6IEJ1aWx0aW4gYmFja2VuZHMoACk6IAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGFyYWxsZWwvcmVnaXN0cnlfcGFyYWxsZWwuaW1wbC5ocHAAUGFyYWxsZWxCYWNrZW5kUmVnaXN0cnkAY29yZShwYXJhbGxlbCk6IFVwZGF0ZWQgYmFja2VuZHMgcHJpb3JpdGllczogAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV8lcwBjb3JlKHBhcmFsbGVsKTogRGlzYWJsZSBiYWNrZW5kOiAAY29yZShwYXJhbGxlbCk6IEF2YWlsYWJsZSBiYWNrZW5kcygAY29yZShwYXJhbGxlbCk6IEVuYWJsZWQgYmFja2VuZHMoACwgc29ydGVkIGJ5IHByaW9yaXR5KTogAE4vQQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplADsgAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUAGNvcmUocGFyYWxsZWwpOiBDb25maWd1cmVkIHByaW9yaXR5IGxpc3QgKE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUKTogAHJlYWRQcmlvcml0eVNldHRpbmdzAGNvcmUocGFyYWxsZWwpOiBOZXcgYmFja2VuZCBwcmlvcml0eTogJwAnID0+IABjb3JlKHBhcmFsbGVsKTogQWRkaW5nIHBhcmFsbGVsIGJhY2tlbmQgKHBsdWdpbik6ICcAJwBjb3JlKHBhcmFsbGVsKTogSW5pdGlhbGl6aW5nIHBhcmFsbGVsIGJhY2tlbmQuLi4AY3JlYXRlRGVmYXVsdFBhcmFsbGVsRm9yQVBJAE9QRU5DVl9QQVJBTExFTF9CQUNLRU5EAABjb3JlKHBhcmFsbGVsKTogcmVxdWVzdGVkIGJhY2tlbmQgbmFtZTogAGNyZWF0ZVBhcmFsbGVsRm9yQVBJAGNvcmUocGFyYWxsZWwpOiB0cnlpbmcgYmFja2VuZDogACAocHJpb3JpdHk9ACkAY29yZShwYXJhbGxlbCk6IGZhY3RvcnkgaXMgbm90IGF2YWlsYWJsZSAocGx1Z2lucyByZXF1aXJlIGZpbGVzeXN0ZW0gc3VwcG9ydCk6IABjb3JlKHBhcmFsbGVsKTogdXNpbmcgYmFja2VuZDogAGNvcmUocGFyYWxsZWwpOiBmYWxsYmFjayBvbiBidWlsdGluIGNvZGUAY29yZShwYXJhbGxlbCk6IHVua25vd24gYmFja2VuZDogAAAlZC4wACVkLgAlLjE2ZQAuTmFuAC0uSW5mAC5JbmYAZm10X3BhaXJzICE9IDAgJiYgbWF4X2xlbiA+IDAAZGVjb2RlRm9ybWF0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZS5jcHAASW52YWxpZCBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgBUb28gbG9uZyBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgAAAAAAANC/AABnAwAAaAMAAGkDAABqAwAAawMAAGwDAABtAwAAbgMAAG8DAABwAwAAcQMAAHIDAABzAwAAdAMAAHUDAAB2AwAAdwMAAHgDAAB5AwAAegMAAHsDAAB8AwAAfQMAAH4DAAB/AwAAgAMAAIEDAACCAwAAPC9vcGVuY3Zfc3RvcmFnZT4KAH0KAGJhc2U2NABOVUxMIG9yIGVtcHR5IGZpbGVuYW1lAG9wZW4ARmlsZVN0b3JhZ2U6OkFQUEVORCBhbmQgRmlsZVN0b3JhZ2U6Ok1FTU9SWSBhcmUgbm90IGN1cnJlbnRseSBjb21wYXRpYmxlAEFwcGVuZGluZyBkYXRhIHRvIGNvbXByZXNzZWQgZmlsZSBpcyBub3QgaW1wbGVtZW50ZWQAcnQAd3QAYSt0AC5negAueG1sAC54bWwuZ3oALmpzb24ALmpzb24uZ3oAVVRGLTE2AFVURi0xNiBYTUwgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZCEgVXNlIDgtYml0IGVuY29kaW5nCgBzdHJsZW4oZW5jb2RpbmcpIDwgMTAwMAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSIlcyI/PgoAPD94bWwgdmVyc2lvbj0iMS4wIj8+CgA8b3BlbmN2X3N0b3JhZ2U+CgAAAAAAPC9vcGVuY3Zfc3RvcmFnZT4AQ291bGQgbm90IGZpbmQgPC9vcGVuY3Zfc3RvcmFnZT4gaW4gdGhlIGVuZCBvZiBmaWxlLgoAcit0AGZpbGUgIT0gMAAgPCEtLSByZXN1bWVkIC0tPgAKACVZQU1MOjEuMAotLS0KAC4uLgotLS0KAGZtdCA9PSBGaWxlU3RvcmFnZTo6Rk9STUFUX0pTT04AewoAQ291bGQgbm90IGZpbmQgJ30nIGluIHRoZSBlbmQgb2YgZmlsZS4KACVZQU1MADw/eG1sAGJ1ZgBJbnB1dCBmaWxlIGlzIGludmFsaWQAVW5zdXBwb3J0ZWQgZmlsZSBzdG9yYWdlIGZvcm1hdAAhZnNfZGF0YV9wdHJzLmVtcHR5KCkAd3JpdGVfbW9kZQBwdXRzAFRoZSBzdG9yYWdlIGlzIG5vdCBvcGVuZWQAZ2V0c0Zyb21GaWxlAG1heENvdW50IDwgTUFYX0JMT0NLX1NJWkUAZ2V0cwB3cml0dGVuX2xlbiA8PSAoaW50KSBidWZmZXIuc2l6ZSgpAHJlc2l6ZVdyaXRlQnVmZmVyAGVuZFdyaXRlU3RydWN0ACF3cml0ZV9zdGFjay5lbXB0eSgpAHN0YXJ0V3JpdGVTdHJ1Y3RfaGVscGVyAFNvbWUgY29sbGVjdGlvbiB0eXBlOiBGaWxlTm9kZTo6U0VRIG9yIEZpbGVOb2RlOjpNQVAgbXVzdCBiZSBzcGVjaWZpZWQAdHlwZV9pZABiaW5hcnkAbXVzdCBzZXQgJ3N0cnVjdF9mbGFncyB8PSBDVl9OT0RFX1NFUScgaWYgdXNpbmcgQmFzZTY0LgBzdGFydFdyaXRlU3RydWN0AGZ1bmN0aW9uICdjdlN0YXJ0V3JpdGVTdHJ1Y3QnIGNhbGxzIGNhbm5vdCBiZSBuZXN0ZWQgaWYgdXNpbmcgQmFzZTY0LgBBdCB0aGUgZW5kIG9mIHRoZSBvdXRwdXQgQmFzZTY0LCBgY3ZFbmRXcml0ZVN0cnVjdGAgaXMgbmVlZGVkLgB3cml0ZQBVbnN1cHBvcnRlZCB0eXBlAFVuZXhwZWN0ZWQgZXJyb3IsIHVuYWJsZSB0byBkZXRlcm1pbmUgdGhlIEJhc2U2NCBzdGF0ZS4AVW5leHBlY3RlZCBlcnJvciwgdW5hYmxlIHRvIHN3aXRjaCB0byB0aGlzIHN0YXRlLgAiJGJhc2U2NCQAc3dpdGNoX3RvX0Jhc2U2NF9zdGF0ZQAiAGlzX3dyaXRlX3N0cnVjdF9kZWxheWVkID09IGZhbHNlAG1ha2Vfd3JpdGVfc3RydWN0X2RlbGF5ZWQAcHRyID49IGJ1ZmZlcnN0YXJ0ICYmIHB0ciA8PSBidWZmZXJFbmQoKQBzZXRCdWZmZXJQdHIAZ2V0Q3VycmVudFN0cnVjdABwcm9jZXNzU3BlY2lhbERvdWJsZQBCYWQgZm9ybWF0IG9mIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50AHR5cGUgPT0gRmlsZU5vZGU6OlNFUSB8fCB0eXBlID09IEZpbGVOb2RlOjpNQVAAY29udmVydFRvQ29sbGVjdGlvbgB0eXBlID09IEZpbGVOb2RlOjpTRVEAVGhlIG5vZGUgb2YgdHlwZSAlZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGNvbGxlY3Rpb24AYmxvY2tJZHggPT0gZnNfZGF0YV9wdHJzLnNpemUoKSAtIDEAcmVzZXJ2ZU5vZGVTcGFjZQBvZnMgPD0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0AZnJlZVNwYWNlT2ZzIDw9IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAHB0ciA+PSBmc19kYXRhX3B0cnNbYmxvY2tJZHhdICYmIHB0ciA8PSBibG9ja0VuZABfAGFkZE5vZGUATWFwIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBuYW1lAFNlcXVlbmNlIGVsZW1lbnQgc2hvdWxkIG5vdCBoYXZlIG5hbWUgKHVzZSA8Xz48L18+KQBvZnMgPT0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0Abm9ybWFsaXplTm9kZU9mcwBBy/gCC1A+AAAAPzQ1Njc4OTo7PD0AAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkAAAAAAAAaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMwBBoPoCC9EIb2ZzIDw9IHN6AHJlYWRNb3JlACFwYXJzZXIuZW1wdHkoKSAmJiBwdHIAIWJhc2U2NGRlY29kZXIuZW5kT2ZTdHJlYW0oKQBwYXJzZUJhc2U2NAAlcyglZCk6ICVzAGJsb2NrSWR4IDwgZnNfZGF0YV9wdHJzLnNpemUoKQBnZXROb2RlUHRyAG9mcyA8IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAAAAAAAAAPC/AACDAwAAhAMAAIUDAACGAwAAhwMAAIgDAABFeHRyYSBjbG9zaW5nICclYycAb3BlcmF0b3I8PABUaGUgY2xvc2luZyAnJWMnIGRvZXMgbm90IG1hdGNoIHRoZSBvcGVuaW5nICclYycAIWZzX2ltcGwtPndyaXRlX3N0YWNrLmVtcHR5KCkASW5jb3JyZWN0IGVsZW1lbnQgbmFtZSAlczsgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgJ18nAEludmFsaWQgZnMuc3RhdGUAaXNNYXAoKQBvcGVyYXRvcltdAGtleTIgPCBmcy0+c3RyX2hhc2hfZGF0YS5zaXplKCkAaXNTZXEoKQAwIDw9IGkgJiYgaSA8IHN6AHRwID09IFNUUklORyB8fCB0cCA9PSBTRVEgfHwgdHAgPT0gTUFQAHJhd1NpemUAcCAhPSAwAHNldFZhbHVlAGN1cnJlbnRfdHlwZSA9PSBOT05FIHx8IGN1cnJlbnRfdHlwZSA9PSB0eXBlAE9ubHkgc2NhbGFyIHR5cGVzIGNhbiBiZSBkeW5hbWljYWxseSBhc3NpZ25lZCB0byBhIGZpbGUgbm9kZQBOMmN2MTVGaWxlU3RvcmFnZV9BUElFAAAUagIAmL8AAE4yY3YxMUZpbGVTdG9yYWdlNEltcGxFADxqAgC4vwAAsL8AAE4yY3YxMUZpbGVTdG9yYWdlRQAAFGoCANy/AAB1Y3dzaWZkaABzeW1ib2xUb1R5cGUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAC8wAAAiQMAAIoDAACLAwAAjAMAAI0DAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFTlMyX0lTNF9FRUVFAAAAPGoCAHDAAADEZQIAAAAAADDBAACOAwAAjwMAAJADAACMAwAAkQMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMUZpbGVTdG9yYWdlNEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIA5MAAAMRlAgAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfYmFzZTY0X2VuY29kaW5nLmNwcABBgIMDC5YvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBmcy53cml0ZV9tb2RlAEJhc2U2NFdyaXRlcgBCYXNlNjRDb250ZXh0RW1pdHRlcgAAAAAAAAAAWMIAAJIDAACTAwAAlAMAAIwDAACVAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExSlNPTkVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCABDCAADEZQIAAAAAAMzCAACWAwAAlwMAAJgDAACZAwAAmgMAAJsDAACcAwAAnQMAAJ4DAACfAwAATjJjdjExSlNPTkVtaXR0ZXJFAE4yY3YxOEZpbGVTdG9yYWdlRW1pdHRlckUAAAAAFGoCAKfCAAA8agIAlMIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfanNvbi5jcHAAYmluYXJ5AE51bGwgc3RyaW5nIHBvaW50ZXIAd3JpdGUAVGhlIHdyaXR0ZW4gc3RyaW5nIGlzIHRvbyBsb25nAEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBUaGUga2V5IGlzIGFuIGVtcHR5AFRoZSBrZXkgaXMgdG9vIGxvbmcAQW4gYXR0ZW1wdCB0byBhZGQgZWxlbWVudCB3aXRob3V0IGEga2V5IHRvIGEgbWFwLCBvciBhZGQgZWxlbWVudCB3aXRoIGtleSB0byBzZXF1ZW5jZQBLZXkgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIF8AS2V5IG5hbWVzIG1heSBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgW2EtekEtWjAtOV0sICctJywgJ18nIGFuZCAnICcATnVsbCBjb21tZW50AHdyaXRlQ29tbWVudAAuLi4KAC0tLQoAAAAAAABIxQAAoAMAAKEDAACiAwAAjAMAAKMDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTBKU09OUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAAA8agIAAMUAAMRlAgAAAAAAoMUAAKQDAAClAwAApgMAAKcDAABOMmN2MTBKU09OUGFyc2VyRQBOMmN2MTdGaWxlU3RvcmFnZVBhcnNlckUAABRqAgB+xQAAPGoCAGzFAACYxQAAcGFyc2UASW52YWxpZCBpbnB1dABsZWZ0LWJyYWNlIG9mIHRvcCBsZXZlbCBpcyBtaXNzaW5nAHNraXBTcGFjZXMATm90IHN1cHBvcnRlZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcHRyAEFib3J0IGF0IHBhcnNlIHRpbWUAcGFyc2VNYXAAcHRyIGlzIE5VTEwAJ3snIC0gbGVmdC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBVbmV4cGVjdGVkIGNoYXJhY3RlcgAnfScgLSByaWdodC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBwYXJzZUtleQBLZXkgbXVzdCBzdGFydCB3aXRoICciJwBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBLZXkgbXVzdCBlbmQgd2l0aCAnIicAS2V5IGlzIGVtcHR5AE1pc3NpbmcgJzonIGJldHdlZW4ga2V5IGFuZCB2YWx1ZQBwYXJzZVZhbHVlAEludmFsaWQgdmFsdWUgaW5wdXQAVW5leHBlY3RlZCBFbmQtT2YtRmlsZQAnIicgLSByaWdodC1xdW90ZSBvZiBzdHJpbmcgaXMgbWlzc2luZwBzdHJpbmcgaXMgdG9vIGxvbmcAJ1x1WFhYWCcgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQASW52YWxpZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgbnVtZXJpYyB2YWx1ZSAoaW5jb25zaXN0ZW50IGV4cGxpY2l0IHR5cGUgc3BlY2lmaWNhdGlvbj8pAFZhbHVlICdudWxsJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcGFyc2VyAGZhbHNlAFVucmVjb2duaXplZCB2YWx1ZQBwYXJzZVNlcQAnWycgLSBsZWZ0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nACddJyAtIHJpZ2h0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nAGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAAAAAKDJAACoAwAAqQMAAKoDAACMAwAAqwMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMFhNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgBYyQAAxGUCAAAAAADwyQAAlgMAAKwDAACtAwAArgMAAK8DAACwAwAAsQMAALIDAACzAwAAtAMAAE4yY3YxMFhNTEVtaXR0ZXJFAAAAPGoCANzJAADEwgAAdHlwZV9pZABBbiBhdHRlbXB0IHRvIGFkZCBlbGVtZW50IHdpdGhvdXQgYSBrZXkgdG8gYSBtYXAsIG9yIGFkZCBlbGVtZW50IHdpdGgga2V5IHRvIHNlcXVlbmNlAHdyaXRlVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZV94bWwuY3BwAF8AQSBzaW5nbGUgXyBpcyBhIHJlc2VydmVkIHRhZyBuYW1lAENsb3NpbmcgdGFnIHNob3VsZCBub3QgaW5jbHVkZSBhbnkgYXR0cmlidXRlcwBLZXkgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZSBtYXkgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXpBLVowLTldLCAnLScgYW5kICdfJwBuYXR0ciAlIDIgPT0gMABsZW4wID4gMABOdWxsIHN0cmluZyBwb2ludGVyAHdyaXRlAFRoZSB3cml0dGVuIHN0cmluZyBpcyB0b28gbG9uZwBhbXAAI3glMDJ4AEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBlbGVtZW50cyB3aXRoIGtleXMgY2FuIG5vdCBiZSB3cml0dGVuIHRvIHNlcXVlbmNlAE51bGwgY29tbWVudAB3cml0ZUNvbW1lbnQALS0ARG91YmxlIGh5cGhlbiAnLS0nIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBjb21tZW50cwA8IS0tICVzIC0tPgA8IS0tAAo8IS0tIG5leHQgc3RyZWFtIC0tPgoAAAAAAOTMAAC1AwAAtgMAALcDAACMAwAAuAMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y5WE1MUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCAKDMAADEZQIAAAAAABjNAACkAwAAuQMAALoDAAC7AwAATjJjdjlYTUxQYXJzZXJFADxqAgAIzQAAmMUAAGZzICE9IDAAcGFyc2UASW52YWxpZCBpbnB1dAA8P3htbABWYWxpZCBYTUwgc2hvdWxkIHN0YXJ0IHdpdGggJzw/eG1sIC4uLj8+JwBvcGVuY3Zfc3RvcmFnZQA8b3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nADwvb3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nAGZzLT5lb2YoKQBza2lwU3BhY2VzAENvbW1lbnRzIGFyZSBub3QgYWxsb3dlZCBoZXJlAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcGFyc2VUYWcASW52YWxpZCB0YWcgaW5wdXQAVW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbQBUYWcgc2hvdWxkIHN0YXJ0IHdpdGggJzwnAE9wZW5DViBwZXJzaXN0ZW5jZSBkb2Vzbid0IHN1cHBvcnQgdmVyeSBsb25nIGxpbmVzAHB0clsxXSAhPSAnLScgfHwgcHRyWzJdICE9ICctJwBVbmtub3duIHRhZyB0eXBlAE5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZQBDbG9zaW5nIHRhZyBzaG91bGQgbm90IGNvbnRhaW4gYW55IGF0dHJpYnV0ZXMASW52YWxpZCBhdHRyaWJ1dGUAQXR0cmlidXRlIG5hbWUgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICc9JwBBdHRyaWJ1dGUgdmFsdWUgc2hvdWxkIGJlIHB1dCBpbnRvIHNpbmdsZSBvciBkb3VibGUgcXVvdGVzAFVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAdHlwZV9uYW1lLmVtcHR5KCkASW52YWxpZCBjbG9zaW5nIHRhZyBmb3IgPD94bWwgLi4uAFRoZXJlIHNob3VsZCBiZSBzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXMAcGFyc2VWYWx1ZQBEaXJlY3RpdmUgdGFncyBhcmUgbm90IGFsbG93ZWQgaGVyZQBFbXB0eSB0YWdzIGFyZSBub3Qgc3VwcG9ydGVkAHRhZ190eXBlID09IENWX1hNTF9PUEVOSU5HX1RBRwBzdHIAbWFwAHNlcQBiaW5hcnkATWlzbWF0Y2hlZCBjbG9zaW5nIHRhZwBUaGVyZSBzaG91bGQgYmUgc3BhY2UgYmV0d2VlbiBsaXRlcmFscwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBMaXRlcmFsICIgaXMgbm90IGFsbG93ZWQgd2l0aGluIGEgc3RyaW5nLiBVc2UgJnF1b3Q7AENsb3NpbmcgIiBpcyBleHBlY3RlZABMaXRlcmFsICcgb3IgPiBhcmUgbm90IGFsbG93ZWQuIFVzZSAmYXBvczsgb3IgJmd0OwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgaW4gdGhlIHN0cmluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiB0aGUgc3ltYm9sIGVudGl0eSBuYW1lAHN0cmluZyBpcyB0b28gbG9uZwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABnZXRCYXNlNjRSb3cAAAAAAAAAeNIAALwDAAC9AwAAvgMAAIwDAAC/AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExWUFNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCADDSAADEZQIAAAAAAMjSAACWAwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAATjJjdjExWUFNTEVtaXR0ZXJFAAA8agIAtNIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfeW1sLmNwcABiaW5hcnkAISFiaW5hcnkgfAAhISVzICVjACEhJXMATnVsbCBzdHJpbmcgcG9pbnRlcgB3cml0ZQBUaGUgd3JpdHRlbiBzdHJpbmcgaXMgdG9vIGxvbmcAeCUwMngAQXQgcHJlc2VudCwgb3V0cHV0IEJhc2U2NCBkYXRhIG9ubHkuAHdyaXRlU2NhbGFyAEFuIGF0dGVtcHQgdG8gYWRkIGVsZW1lbnQgd2l0aG91dCBhIGtleSB0byBhIG1hcCwgb3IgYWRkIGVsZW1lbnQgd2l0aCBrZXkgdG8gc2VxdWVuY2UAVGhlIGtleSBpcyBhbiBlbXB0eQBUaGUga2V5IGlzIHRvbyBsb25nAEtleSBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZXMgbWF5IG9ubHkgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBbYS16QS1aMC05XSwgJy0nLCAnXycgYW5kICcgJwBOdWxsIGNvbW1lbnQAd3JpdGVDb21tZW50AC4uLgoALS0tCgAAAAAAYNUAAMkDAADKAwAAywMAAIwDAADMAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEwWUFNTFBhcnNlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCABjVAADEZQIAAAAAAJjVAACkAwAAzQMAAM4DAADPAwAATjJjdjEwWUFNTFBhcnNlckUAAAA8agIAhNUAAJjFAABwYXJzZQBJbnZhbGlkIGlucHV0ACVZQU1MAFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAoaXQgbXVzdCBiZSAxLngpAC0tLQBUaGUgWUFNTCBzdHJlYW1zIG11c3Qgc3RhcnQgd2l0aCAnLS0tJywgZXhjZXB0IHRoZSBmaXJzdCBvbmUASW52YWxpZCBvciB1bnN1cHBvcnRlZCBzeW50YXgALi4uAE9ubHkgY29sbGVjdGlvbnMgYXMgWUFNTCBzdHJlYW1zIGFyZSBzdXBwb3J0ZWQgYnkgdGhpcyBwYXJzZXIAc2tpcFNwYWNlcwBJbmNvcnJlY3QgaW5kZW50YXRpb24AVG9vIGxvbmcgc3RyaW5nIG9yIGEgbGFzdCBzdHJpbmcgdy9vIG5ld2xpbmUAVGFicyBhcmUgcHJvaGliaXRlZCBpbiBZQU1MIQBJbnZhbGlkIGNoYXJhY3RlcgBwYXJzZVZhbHVlADx0YWc6eWFtbC5vcmcsMjAwMjoARW1wdHkgdHlwZSBuYW1lAHN0cgBpbnQAc2VxAG1hcABmbG9hdABJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABUaGUgd3JvbmcgY2xvc2luZyBicmFja2V0AE1pc3NpbmcgLCBiZXR3ZWVuIHRoZSBlbGVtZW50cwBDb21wbGV4IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQATXVsdGktbGluZSB0ZXh0IGxpdGVyYWxzIGFyZSBub3Qgc3VwcG9ydGVkAEJsb2NrIHNlcXVlbmNlIGVsZW1lbnRzIG11c3QgYmUgcHJlY2VkZWQgd2l0aCAnLScAcGFyc2VLZXkAS2V5IG1heSBub3Qgc3RhcnQgd2l0aCAnLScATWlzc2luZyAnOicAQW4gZW1wdHkga2V5AGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9yYW5kLmNwcABmdW5jICE9IDAAQaSyAwse0AMAANEDAADSAwAA0wMAAAAAAADUAwAAAAAAANUDAEHQsgMLAtYDAEHgsgMLAtcDAEGAswMLAtgDAEGgswMLQNkDAABkc3QuZWxlbVNpemUoKSA8PSAzMgByYW5kU2h1ZmZsZQBfYXJyLmRpbXMgPD0gMgByYW5kU2h1ZmZsZV8AQfCzAwv6OtoDAADbAwAA3AMAAN0DAADeAwAA3wMAAOADAAAAAAAAT1BFTkNWX0RVTVBfRVJST1JTAAAAAAAA1O0AAOMDAADmAwAA5wMAAD4gAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpIGluIGZ1bmN0aW9uICclcycKJXMANC41LjUtZGV2AE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzIGluIGZ1bmN0aW9uICclcycKAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzJXMAAAoACkdlbmVyYWwgY29uZmlndXJhdGlvbiBmb3IgT3BlbkNWIDQuNS41LWRldiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgVmVyc2lvbiBjb250cm9sOiAgICAgICAgICAgICAgIDQuNS41LTIwLWdhMTE0M2M0ZWEwLWRpcnR5CgogIFBsYXRmb3JtOgogICAgVGltZXN0YW1wOiAgICAgICAgICAgICAgICAgICAyMDIyLTAxLTExVDAzOjE1OjQxWgogICAgSG9zdDogICAgICAgICAgICAgICAgICAgICAgICBMaW51eCA0LjkuOTMtbGludXhraXQtYXVmcyB4ODZfNjQKICAgIFRhcmdldDogICAgICAgICAgICAgICAgICAgICAgRW1zY3JpcHRlbiAxIHg4NgogICAgQ01ha2U6ICAgICAgICAgICAgICAgICAgICAgICAzLjEzLjQKICAgIENNYWtlIGdlbmVyYXRvcjogICAgICAgICAgICAgVW5peCBNYWtlZmlsZXMKICAgIENNYWtlIGJ1aWxkIHRvb2w6ICAgICAgICAgICAgL3Vzci9iaW4vbWFrZQogICAgQ29uZmlndXJhdGlvbjogICAgICAgICAgICAgICBSZWxlYXNlCgogIENQVS9IVyBmZWF0dXJlczoKICAgIEJhc2VsaW5lOgoKICBDL0MrKzoKICAgIEJ1aWx0IGFzIGR5bmFtaWMgbGlicz86ICAgICAgTk8KICAgIEMrKyBzdGFuZGFyZDogICAgICAgICAgICAgICAgMTEKICAgIEMrKyBDb21waWxlcjogICAgICAgICAgICAgICAgL2Vtc2RrL3Vwc3RyZWFtL2Vtc2NyaXB0ZW4vZW0rKyAgKHZlciAxMi4wLjApCiAgICBDKysgZmxhZ3MgKFJlbGVhc2UpOiAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQysrIGZsYWdzIChEZWJ1Zyk6ICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgQyBDb21waWxlcjogICAgICAgICAgICAgICAgICAvZW1zZGsvdXBzdHJlYW0vZW1zY3JpcHRlbi9lbWNjCiAgICBDIGZsYWdzIChSZWxlYXNlKTogICAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQyBmbGFncyAoRGVidWcpOiAgICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgTGlua2VyIGZsYWdzIChSZWxlYXNlKTogICAgICAtV2wsLS1nYy1zZWN0aW9ucyAtTzIgCiAgICBMaW5rZXIgZmxhZ3MgKERlYnVnKTogICAgICAgIC1XbCwtLWdjLXNlY3Rpb25zICAKICAgIGNjYWNoZTogICAgICAgICAgICAgICAgICAgICAgTk8KICAgIFByZWNvbXBpbGVkIGhlYWRlcnM6ICAgICAgICAgTk8KICAgIEV4dHJhIGRlcGVuZGVuY2llczoKICAgIDNyZHBhcnR5IGRlcGVuZGVuY2llczogICAgICAgemxpYiBsaWJwcm90b2J1ZiBxdWlyYwoKICBPcGVuQ1YgbW9kdWxlczoKICAgIFRvIGJlIGJ1aWx0OiAgICAgICAgICAgICAgICAgY2FsaWIzZCBjb3JlIGRubiBmZWF0dXJlczJkIGZsYW5uIGltZ3Byb2MganMgb2JqZGV0ZWN0IHBob3RvIHZpZGVvCiAgICBEaXNhYmxlZDogICAgICAgICAgICAgICAgICAgIGhpZ2hndWkgaW1nY29kZWNzIG1sIHN0aXRjaGluZyB2aWRlb2lvIHdvcmxkCiAgICBEaXNhYmxlZCBieSBkZXBlbmRlbmN5OiAgICAgIHRzCiAgICBVbmF2YWlsYWJsZTogICAgICAgICAgICAgICAgIGdhcGkgamF2YSBweXRob24yIHB5dGhvbjMKICAgIEFwcGxpY2F0aW9uczogICAgICAgICAgICAgICAgZXhhbXBsZXMKICAgIERvY3VtZW50YXRpb246ICAgICAgICAgICAgICAganMKICAgIE5vbi1mcmVlIGFsZ29yaXRobXM6ICAgICAgICAgTk8KCiAgR1VJOiAKCiAgTWVkaWEgSS9POiAKICAgIFpMaWI6ICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgKHZlciAxLjIuMTEpCiAgICBKUEVHIDIwMDA6ICAgICAgICAgICAgICAgICAgIGJ1aWxkICh2ZXIgMi40LjApCiAgICBIRFI6ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwogICAgU1VOUkFTVEVSOiAgICAgICAgICAgICAgICAgICBZRVMKICAgIFBYTTogICAgICAgICAgICAgICAgICAgICAgICAgWUVTCiAgICBQRk06ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwoKICBWaWRlbyBJL086CgogIFBhcmFsbGVsIGZyYW1ld29yazogICAgICAgICAgICBub25lCgogIE90aGVyIHRoaXJkLXBhcnR5IGxpYnJhcmllczoKICAgIFZBOiAgICAgICAgICAgICAgICAgICAgICAgICAgTk8KICAgIEN1c3RvbSBIQUw6ICAgICAgICAgICAgICAgICAgTk8KICAgIFByb3RvYnVmOiAgICAgICAgICAgICAgICAgICAgYnVpbGQgKDMuMTkuMSkKCiAgUHl0aG9uIChmb3IgYnVpbGQpOiAgICAgICAgICAgIC91c3IvYmluL3B5dGhvbjMKCiAgSW5zdGFsbCB0bzogICAgICAgICAgICAgICAgICAgIC91c3IvbG9jYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgBsZW4gPj0gMCAmJiAiQ2hlY2sgZm9ybWF0IHN0cmluZyBmb3IgZXJyb3JzIgBmb3JtYXQAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3N5c3RlbS5jcHAATjJjdjlFeGNlcHRpb25FAAA8agIAw+0AABRnAgBObyBFcnJvcgBCYWNrdHJhY2UAVW5zcGVjaWZpZWQgZXJyb3IASW50ZXJuYWwgZXJyb3IASW5zdWZmaWNpZW50IG1lbW9yeQBCYWQgYXJndW1lbnQASXRlcmF0aW9ucyBkbyBub3QgY29udmVyZ2UAQXV0b3RyYWNlIGNhbGwASW5jb3JyZWN0IHNpemUgb2YgaW5wdXQgYXJyYXkATnVsbCBwb2ludGVyAERpdmlzaW9uIGJ5IHplcm8gb2NjdXJyZWQASW1hZ2Ugc3RlcCBpcyB3cm9uZwBJbnBsYWNlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkAFJlcXVlc3RlZCBvYmplY3Qgd2FzIG5vdCBmb3VuZABJbnB1dCBpbWFnZSBkZXB0aCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGZ1bmN0aW9uAEZvcm1hdHMgb2YgaW5wdXQgYXJndW1lbnRzIGRvIG5vdCBtYXRjaABTaXplcyBvZiBpbnB1dCBhcmd1bWVudHMgZG8gbm90IG1hdGNoAE9uZSBvZiB0aGUgYXJndW1lbnRzJyB2YWx1ZXMgaXMgb3V0IG9mIHJhbmdlAFVuc3VwcG9ydGVkIGZvcm1hdCBvciBjb21iaW5hdGlvbiBvZiBmb3JtYXRzAElucHV0IENPSSBpcyBub3Qgc3VwcG9ydGVkAEJhZCBudW1iZXIgb2YgY2hhbm5lbHMAQmFkIGZsYWcgKHBhcmFtZXRlciBvciBzdHJ1Y3R1cmUgZmllbGQpAEJhZCBwYXJhbWV0ZXIgb2YgdHlwZSBDdlBvaW50AEJhZCB0eXBlIG9mIG1hc2sgYXJndW1lbnQAUGFyc2luZyBlcnJvcgBUaGUgZnVuY3Rpb24vZmVhdHVyZSBpcyBub3QgaW1wbGVtZW50ZWQATWVtb3J5IGJsb2NrIGhhcyBiZWVuIGNvcnJ1cHRlZABBc3NlcnRpb24gZmFpbGVkAE5vIENVREEgc3VwcG9ydABHcHUgQVBJIGNhbGwATm8gT3BlbkdMIHN1cHBvcnQAT3BlbkdMIEFQSSBjYWxsAFVua25vd24gJXMgY29kZSAlZABzdGF0dXMAZXJyb3IAcHRocmVhZF9rZXlfY3JlYXRlKCZ0bHNLZXksIG9wZW5jdl90bHNfZGVzdHJ1Y3RvcikgPT0gMABUbHNBYnN0cmFjdGlvbgBPcGVuQ1YgRVJST1I6IFRsc0Fic3RyYWN0aW9uOjp+VGxzQWJzdHJhY3Rpb24oKTogcHRocmVhZF9rZXlfZGVsZXRlKCkgY2FsbCBmYWlsZWQKAHB0aHJlYWRfc2V0c3BlY2lmaWModGxzS2V5LCBwRGF0YSkgPT0gMABzZXREYXRhAAAAAAAAjPIAAOgDAADpAwAA6gMAAOoDAABrZXlfID09IC0xAH5UTFNEYXRhQ29udGFpbmVyAGtleV8gIT0gLTEgJiYgIkNhbid0IGZldGNoIGRhdGEgZnJvbSB0ZXJtaW5hdGVkIFRMUyBjb250YWluZXIuIgBnZXREYXRhAE4yY3YxNlRMU0RhdGFDb250YWluZXJFAAAAABRqAgBx8gAAT1BFTkNWX0RVTVBfQ09ORklHAApPcGVuQ1YgYnVpbGQgY29uZmlndXJhdGlvbiBpczoKJXMKAE1NWABTU0UAU1NFMgBTU0UzAFNTU0UzAFNTRTQuMQBTU0U0LjIAUE9QQ05UAEZQMTYAQVZYAEFWWDIARk1BMwBBVlg1MTJGAEFWWDUxMkJXAEFWWDUxMkNEAEFWWDUxMkRRAEFWWDUxMkVSAEFWWDUxMklGTUEAQVZYNTEyUEYAQVZYNTEyVkJNSQBBVlg1MTJWTABBVlg1MTJWQk1JMgBBVlg1MTJWTk5JAEFWWDUxMkJJVEFMRwBBVlg1MTJWUE9QQ05URFEAQVZYNTEyNFZOTklXAEFWWDUxMjRGTUFQUwBORU9OAFZTWABWU1gzAENQVV9NU0EAUklTQ1ZWAEFWWDUxMi1DT01NT04AQVZYNTEyLVNLWABBVlg1MTItS05MAEFWWDUxMi1LTk0AQVZYNTEyLUNOTABBVlg1MTItQ0xYAEFWWDUxMi1JQ0wAUlZWAE9QRU5DVl9DUFVfRElTQUJMRQBmZWF0dXJlLnNpemUoKSA+IDAAcmVhZFNldHRpbmdzAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgYmFzZWxpbmUgQ1BVIGZlYXR1cmU6ICclcycuVGhpcyBoYXMgdmVyeSBsaW1pdGVkIGVmZmVjdCwgYmVjYXVzZSBjb2RlIG9wdGltaXphdGlvbnMgZm9yIHRoaXMgZmVhdHVyZSBhcmUgZXhlY3V0ZWQgdW5jb25kaXRpb25hbGx5IGluIHRoZSBtb3N0IGNhc2VzLgoAT1BFTkNWOiBUcnlpbmcgdG8gZGlzYWJsZSB1bmF2YWlsYWJsZSBDUFUgZmVhdHVyZSBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybTogJyVzJy4KAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgdW5r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FkMAABdDAAAYQwAAGUMAABpDAAAbQwAAHEMAAB1DAAAeQwAAH0MAACBDAAAhQwAAIkMAACNDAAAkQwAAJUMAACZDAAAnQwAAKEMAAClDAAAqQwAAK0MAACxDAAAtQwAALkMAAC9DAAAwQwAAMUMAADJDAAAzQwAANEMAADVDAAA2QwAAN0MAADhDAAA5QwAAOkMAADtDAAA8QwAAPUMAAD5DAAA/QwAAQEMAAEFDAABCQwAAQ0MAAERDAABFQwAARkMAAEdDAABIQwAASUMAAEpDAABLQwAATEMAAE1DAABOQwAAT0MAAFBDAABRQwAAUkMAAFNDAABUQwAAVUMAAFZDAABXQwAAWEMAAFlDAABaQwAAW0MAAFxDAABdQwAAXkMAAF9DAABgQwAAYUMAAGJDAABjQwAAZEMAAGVDAABmQwAAZ0MAAGhDAABpQwAAakMAAGtDAABsQwAAbUMAAG5DAABvQwAAcEMAAHFDAAByQwAAc0MAAHRDAAB1QwAAdkMAAHdDAAB4QwAAeUMAAHpDAAB7QwAAfEMAAH1DAAB+QwAAf0MAQaH+Awv2GQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////bWFwY291bnQgPT0gMAB+VU1hdERhdGEAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3VtYXRyaXguY3BwADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAZGF0YSA9PSBkYXRhc3RhcnQAZ2V0VU1hdABhbGxvY2F0ZWQAMCA8PSBkICYmIGQgPD0gQ1ZfTUFYX0RJTSAmJiBfc2l6ZXMAY3JlYXRlAHUgIT0gMABzdGVwW2RpbXMtMV0gPT0gKHNpemVfdClDVl9FTEVNX1NJWkUoZmxhZ3MpAG0uZGltcyA+PSAyAFVNYXQAMCA8PSBfcm93UmFuZ2Uuc3RhcnQgJiYgX3Jvd1JhbmdlLnN0YXJ0IDw9IF9yb3dSYW5nZS5lbmQgJiYgX3Jvd1JhbmdlLmVuZCA8PSBtLnJvd3MAMCA8PSBfY29sUmFuZ2Uuc3RhcnQgJiYgX2NvbFJhbmdlLnN0YXJ0IDw9IF9jb2xSYW5nZS5lbmQgJiYgX2NvbFJhbmdlLmVuZCA8PSBtLmNvbHMAbS5kaW1zIDw9IDIAMCA8PSByb2kueCAmJiAwIDw9IHJvaS53aWR0aCAmJiByb2kueCArIHJvaS53aWR0aCA8PSBtLmNvbHMgJiYgMCA8PSByb2kueSAmJiAwIDw9IHJvaS5oZWlnaHQgJiYgcm9pLnkgKyByb2kuaGVpZ2h0IDw9IG0ucm93cwByYW5nZXMAciA9PSBSYW5nZTo6YWxsKCkgfHwgKDAgPD0gci5zdGFydCAmJiByLnN0YXJ0IDwgci5lbmQgJiYgci5lbmQgPD0gbS5zaXplW2ldKQB1LT5kYXRhICE9IDAgJiYgIkVycm9yIG1hcHBpbmcgb2YgVU1hdCB0byBob3N0IG1lbW9yeS4iAGdldE1hdABjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51AAAAAAAAhAQBAPQDAAD1AwAA9gMAAPcDAABOMmN2N1RMU0RhdGFJTlNfMThVTWF0RGF0YUF1dG9Mb2NrZXJFRUUAmGoCAFwEAQAAAAAAAQAAAIzyAAAAAAAAdXNhZ2VfY291bnQgPT0gMABsb2NrAHVzYWdlX2NvdW50ID09IDEAcmVsZWFzZQBnbG9iYWwAREVCVUcARElTQUJMRQBESVNBQkxFRABFUlJPUgBGQVRBTABJTkZPAE9GRgBTSUxFTlQAVkVSQk9TRQBXQVJOAFdBUk5JTkcAV0FSTklOR1MAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBnbG9iYWwAZnVsbE5hbWVSZXN1bHQubV9maW5kQ3Jvc3NSZWZlcmVuY2VzAGludGVybmFsX2FwcGx5TmFtZVBhcnRDb25maWdUb1NwZWNpZmljVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy91dGlscy9sb2d0YWdtYW5hZ2VyLmNwcABuYW1lUGFydFJlc3VsdC5tX2ZpbmRDcm9zc1JlZmVyZW5jZXMAaW50ZXJuYWxfYXBwbHlOYW1lUGFydENvbmZpZ1RvTWF0Y2hpbmdUYWdzAHNjb3BlICE9IE1hdGNoaW5nU2NvcGU6OkZ1bGwAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFAcBAPgDAAD5AwAA+gMAAIwDAAD7AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjV1dGlsczdsb2dnaW5nMThMb2dUYWdDb25maWdQYXJzZXJFTlNfOWFsbG9jYXRvcklTNF9FRUVFAAA8agIAuAYBAMRlAgBOdW1iZXIgb2YgY2hhbm5lbHMgaW4gaW5wdXQgaW1hZ2UgbXVzdCBiZSAxIG9yIDMAZmxvb2RGaWxsAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9mbG9vZGZpbGwuY3BwAENvbm5lY3Rpdml0eSBtdXN0IGJlIDQsIDAoPTQpIG9yIDgAbG9fZGlmZiBhbmQgdXBfZGlmZiBtdXN0IGJlIG5vbi1uZWdhdGl2ZQBTZWVkIHBvaW50IGlzIG91dHNpZGUgb2YgaW1hZ2UAAG1hc2sucm93cyA9PSBzaXplLmhlaWdodCsyICYmIG1hc2suY29scyA9PSBzaXplLndpZHRoKzIAbWFzay50eXBlKCkgPT0gQ1ZfOFUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbnZhbGlkIGltYWdlIHR5cGUgKG11c3QgYmUgc2luZ2xlLWNoYW5uZWwpAG1vbWVudHMAL3NyYy9tb2R1bGVzL2ltZ3Byb2Mvc3JjL21vbWVudHMuY3BwAABjb250b3VyLmRlcHRoKCkgPT0gQ1ZfMzJTIHx8IGNvbnRvdXIuZGVwdGgoKSA9PSBDVl8zMkYAY29udG91ck1vbWVudHMAAP0DAAD+AwAA/QMAAP8DAAAABAAATjJjdjlGb3JtYXR0ZWRFABRqAgA0CQEATjJjdjlGb3JtYXR0ZXJFABRqAgBMCQEAAAAAAMwJAQAJBAAACgQAAAsEAACMAwAADAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxNkRlZmF1bHRGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAgAkBAMRlAgAAAAAAOAoBAA0EAAAOBAAADwQAABAEAAARBAAAEgQAABMEAABOMmN2MTZEZWZhdWx0Rm9ybWF0dGVyRQBOMmN2MTNGb3JtYXR0ZXJCYXNlRQAAAAA8agIAFAoBAFwJAQA8agIA/AkBACwKAQBbAF0AAAAAAKwKAQAUBAAAFQQAABYEAACMAwAAFwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxM0Zvcm1hdHRlZEltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFADxqAgBkCgEAxGUCAAAAAAAkCwEAGAQAABkEAAAaBAAAGwQAAG0uZGltcyA8PSAyAEZvcm1hdHRlZEltcGwAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL291dC5jcHAAJSUuJWRnAE4yY3YxM0Zvcm1hdHRlZEltcGxFADxqAgAPCwEARAkBACUzZAAlZAAKKDosIDosICVkKSA9IAoAKDosIDosICVkKSA9IAoAAAAAAAAAwAsBABwEAAAdBAAAHgQAAIwDAAAfBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1TWF0bGFiRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgB0CwEAxGUCAAAAAAAIDAEADQQAACAEAAAhBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNU1hdGxhYkZvcm1hdHRlckUAADxqAgDwCwEALAoBAAAAOwBBoJgEC6spgAwBACIEAAAjBAAAJAQAAIwDAAAlBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEyQ1NWRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCADgMAQDEZQIAAAAAAMQMAQANBAAAJgQAACcEAAAQBAAAEQQAABIEAAATBAAATjJjdjEyQ1NWRm9ybWF0dGVyRQA8agIAsAwBACwKAQAAAAAAOA0BACgEAAApBAAAKgQAAIwDAAArBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1UHl0aG9uRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgDsDAEAxGUCAAAAAACADQEADQQAACwEAAAtBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNVB5dGhvbkZvcm1hdHRlckUAADxqAgBoDQEALAoBAAAAAAD0DQEALgQAAC8EAAAwBAAAjAMAADEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTROdW1weUZvcm1hdHRlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCAKgNAQDEZQIAAAAAADwOAQANBAAAMgQAADMEAAAQBAAAEQQAABIEAAATBAAATjJjdjE0TnVtcHlGb3JtYXR0ZXJFAAAAPGoCACQOAQAsCgEAdWludDgAaW50OAB1aW50MTYAaW50MTYAaW50MzIAZmxvYXQzMgBmbG9hdDY0AGZsb2F0MTYAW10sW11hcnJheShbAF0sIGR0eXBlPSclcycpAAAAAAAAAAAPAQA0BAAANQQAADYEAACMAwAANwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMENGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgC4DgEAxGUCAAAAAABEDwEADQQAADgEAAA5BAAAEAQAABEEAAASBAAAEwQAAE4yY3YxMENGb3JtYXR0ZXJFAAAAPGoCADAPAQAsCgEAAAAsAAB7AH0AL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdGhmdW5jcy5jcHAAcHQgPT0gTlVMTABjaGVja1JhbmdlAHRoZSB2YWx1ZSBhdCAoJWQsICVkKT0lcyBpcyBvdXQgb2YgcmFuZ2UgWyVmLCAlZikAY3R5cGUgPT0gQ1ZfMzJGIHx8IGN0eXBlID09IENWXzY0RgBzb2x2ZUN1YmljAChjb2VmZnMuc2l6ZSgpID09IFNpemUobjAsIDEpIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZShuMCsxLCAxKSB8fCBjb2VmZnMuc2l6ZSgpID09IFNpemUoMSwgbjApIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZSgxLCBuMCsxKSkAY291bnQgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzMyUykAbWluRW5jbG9zaW5nQ2lyY2xlAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9zaGFwZWRlc2NyLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvY29udmVydF9jLmNwcABzcmMuc2l6ZSA9PSBkc3Quc2l6ZSAmJiBzcmMuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdkNvbnZlcnRTY2FsZQA/BAAAPwQAAEAEAABABAAAQQQAAEIEAABDBAAAAAAAAGNuID09IDEAY291bnROb25aZXJvAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3VudF9ub25femVyby5kaXNwYXRjaC5jcHAAZnVuYyAhPSAwAG1hc2suZW1wdHkoKSB8fCBtYXNrLnR5cGUoKSA9PSBDVl84VQBtZWFuAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tZWFuLmRpc3BhdGNoLmNwcABjbiA8PSA0ICYmIGZ1bmMgIT0gMAAwIDwgY29pICYmIGNvaSA8PSA0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9zdGF0X2MuY3BwAGN2QXZnAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9jYWxpYnJhdGlvbi5jcHAASW5wdXQgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgbWF0cml4AGN2Um9kcmlndWVzMgBUaGUgZmlyc3Qgb3V0cHV0IGFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIG1hdHJpeABUaGUgbWF0cmljZXMgbXVzdCBoYXZlIDMyZiBvciA2NGYgZGF0YSB0eXBlAEFsbCB0aGUgbWF0cmljZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGRhdGEgdHlwZQBKYWNvYmlhbiBpcyBub3QgYSB2YWxpZCBtYXRyaXgASmFjb2JpYW4gbXVzdCBoYXZlIDMyZkMxIG9yIDY0ZkMxIGRhdGF0eXBlAEphY29iaWFuIG11c3QgYmUgM3g5IG9yIDl4MwBJbnB1dCBtYXRyaXggbXVzdCBiZSAxeDMsIDN4MSBvciAzeDMAT3V0cHV0IG1hdHJpeCBtdXN0IGJlIDN4Mywgc2luZ2xlLWNoYW5uZWwgZmxvYXRpbmcgcG9pbnQgbWF0cml4AE91dHB1dCBtYXRyaXggbXVzdCBiZSAxeDMgb3IgM3gxAElucHV0IG1hdHJpeCBtdXN0IGJlIDF4MyBvciAzeDEgZm9yIGEgcm90YXRpb24gdmVjdG9yLCBvciAzeDMgZm9yIGEgcm90YXRpb24gbWF0cml4AENWX0lTX01BVChvYmplY3RQb2ludHMpICYmIENWX0lTX01BVChpbWFnZVBvaW50cykgJiYgQ1ZfSVNfTUFUKEEpICYmIENWX0lTX01BVChydmVjKSAmJiBDVl9JU19NQVQodHZlYykAY3ZGaW5kRXh0cmluc2ljQ2FtZXJhUGFyYW1zMgAoQ1ZfTUFUX0RFUFRIKHJ2ZWMtPnR5cGUpID09IENWXzY0RiB8fCBDVl9NQVRfREVQVEgocnZlYy0+dHlwZSkgPT0gQ1ZfMzJGKSAmJiAocnZlYy0+cm93cyA9PSAxIHx8IHJ2ZWMtPmNvbHMgPT0gMSkgJiYgcnZlYy0+cm93cypydmVjLT5jb2xzKkNWX01BVF9DTihydmVjLT50eXBlKSA9PSAzAChDVl9NQVRfREVQVEgodHZlYy0+dHlwZSkgPT0gQ1ZfNjRGIHx8IENWX01BVF9ERVBUSCh0dmVjLT50eXBlKSA9PSBDVl8zMkYpICYmICh0dmVjLT5yb3dzID09IDEgfHwgdHZlYy0+Y29scyA9PSAxKSAmJiB0dmVjLT5yb3dzKnR2ZWMtPmNvbHMqQ1ZfTUFUX0NOKHR2ZWMtPnR5cGUpID09IDMAKGNvdW50ID49IDQpIHx8IChjb3VudCA9PSAzICYmIHVzZUV4dHJpbnNpY0d1ZXNzKQAAAACsFgEAYxIBAJUEAAAFAAAAIRcBAH0XAQCDFwEAdm9pZCBjdkZpbmRFeHRyaW5zaWNDYW1lcmFQYXJhbXMyKGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIEN2TWF0ICosIEN2TWF0ICosIGludCkARExUIGFsZ29yaXRobSBuZWVkcyBhdCBsZWFzdCA2IHBvaW50cyBmb3IgcG9zZSBlc3RpbWF0aW9uIGZyb20gM0QtMkQgcG9pbnQgY29ycmVzcG9uZGVuY2VzLgBjb3VudAA2AGZhYnMoc2MpID4gREJMX0VQU0lMT04AuBcBAGMSAQCXDQAAAAAAADQUAQD9FwEAAxgBAHZvaWQgY3Y6OlJvZHJpZ3Vlcyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAHNyY1N6AHNyY1N6ID09IFNpemUoMywgMSkgfHwgc3JjU3ogPT0gU2l6ZSgxLCAzKSB8fCAoc3JjU3ogPT0gU2l6ZSgxLCAxKSAmJiBzcmMuY2hhbm5lbHMoKSA9PSAzKSB8fCBzcmNTeiA9PSBTaXplKDMsIDMpAG5wb2ludHMgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAcHJvamVjdFBvaW50cwBfaXBvaW50cy5uZWVkZWQoKQBPbmUgb2YgcmVxdWlyZWQgYXJndW1lbnRzIGlzIG5vdCBhIHZhbGlkIG1hdHJpeABjdlByb2plY3RQb2ludHMySW50ZXJuYWwASG9tb2dlbmVvdXMgY29vcmRpbmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQAUm90YXRpb24gbXVzdCBiZSByZXByZXNlbnRlZCBieSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHJvdGF0aW9uIHZlY3Rvciwgb3IgM3gzIHJvdGF0aW9uIG1hdHJpeABUcmFuc2xhdGlvbiB2ZWN0b3IgbXVzdCBiZSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHZlY3RvcgBJbnRyaW5zaWMgcGFyYW1ldGVycyBtdXN0IGJlIDN4MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZHJvdCBtdXN0IGJlIDJOeDMgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RUIG11c3QgYmUgMk54MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZGYgbXVzdCBiZSAyTngyIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkcC9kYyBtdXN0IGJlIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RmIG11c3QgYmUgMk54MTQsIDJOeDEyLCAyTng4LCAyTng1LCAyTng0IG9yIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRpc3RDb2VmZnMgaXMgTlVMTCB3aGlsZSBkcGRrIGlzIG5vdABkcC9kbyBtdXN0IGJlIDJOeDNOIGZsb2F0aW5nLXBvaW50IG1hdHJpeABEaXN0b3J0aW9uIGNvZWZmaWNpZW50cyBtdXN0IGJlIDF4NCwgNHgxLCAxeDUsIDV4MSwgMXg4LCA4eDEsIDF4MTIsIDEyeDEsIDF4MTQgb3IgMTR4MSBmbG9hdGluZy1wb2ludCB2ZWN0b3IAAAAAAAA0HAEARAQAAEUEAABGBAAARwQAAEgEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQNUN2TWF0TjJjdjE0RGVmYXVsdERlbGV0ZXJJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUAAAAAPGoCANwbAQDEZQIATjJjdjE0RGVmYXVsdERlbGV0ZXJJNUN2TWF0RUUAZGF0YSAmJiBkaW1zIDw9IDIgJiYgcm93cyA9PSBtICYmIGNvbHMgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgTWF0eAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9tYXQuaW5sLmhwcABfdy5kYXRhID09ICh1Y2hhciopJncudmFsWzBdICYmIF91LmRhdGEgPT0gKHVjaGFyKikmdS52YWxbMF0gJiYgX3Z0LmRhdGEgPT0gKHVjaGFyKikmdnQudmFsWzBdAGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvb3BlcmF0aW9ucy5ocHAAIWVyci5lbXB0eSgpAHVwZGF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvY29tcGF0X3B0c2V0cmVnLmNwcABzdGF0ZSA9PSBDSEVDS19FUlIAZHN0LnJvd3MgPT0gZHN0MC5jb2xzICYmIGRzdC5jb2xzID09IGRzdDAucm93cwBjdkNvbnZlcnRQb2ludHNIb21vZ2VuZW91cwBkc3Quc2l6ZSgpID09IGRzdDAuc2l6ZSgpAFRoZSBpbnB1dCBhcnJheXMgc2hvdWxkIGJlIDJEIG9yIDNEIHBvaW50IHNldHMAZmluZEhvbW9ncmFwaHkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2Z1bmRhbS5jcHAAVGhlIGlucHV0IGFycmF5cyBzaG91bGQgaGF2ZSBhdCBsZWFzdCA0IGNvcnJlc3BvbmRpbmcgcG9pbnQgc2V0cyB0byBjYWxjdWxhdGUgSG9tb2dyYXBoeQBzcmMuY2hlY2tWZWN0b3IoMikgPT0gZHN0LmNoZWNrVmVjdG9yKDIpAFVua25vd24gZXN0aW1hdGlvbiBtZXRob2QAbnBvaW50cyA+PSAwAGNvbnZlcnRQb2ludHNGcm9tSG9tb2dlbmVvdXMAbnBvaW50cyA+PSAwICYmIChkZXB0aCA9PSBDVl8zMlMgfHwgZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAZHN0LmlzQ29udGludW91cygpAABjb252ZXJ0UG9pbnRzVG9Ib21vZ2VuZW91cwAAAAAAAABIIAEASQQAAEoEAABLBAAAjAMAAEwEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjdIb21vZ3JhcGh5RXN0aW1hdG9yQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCAPAfAQDEZQIAAAAAAMAgAQBNBAAATgQAAE8EAABQBAAAUQQAAE4yY3YyN0hvbW9ncmFwaHlFc3RpbWF0b3JDYWxsYmFja0UATjJjdjE5UG9pbnRTZXRSZWdpc3RyYXRvcjhDYWxsYmFja0UAABRqAgCTIAEAPGoCAHAgAQC4IAEAQdTBBAuD6AEBAAAAAgAAAAEAAAACAAAAAwAAAAAAAAACAAAAAwAAAAAAAAABAAAAAwAAAAAAAABwIQEAUgQAAFMEAABUBAAAjAMAAFUEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjRIb21vZ3JhcGh5UmVmaW5lQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAHCEBAMRlAgAAAAAA0CEBAFYEAABXBAAAWAQAAE4yY3YyNEhvbW9ncmFwaHlSZWZpbmVDYWxsYmFja0UATjJjdjhMTVNvbHZlcjhDYWxsYmFja0UAFGoCALAhAQA8agIAkCEBAMghAQBKLmlzQ29udGludW91cygpICYmIEouY29scyA9PSA4AGNvbXB1dGUAAAAAAFAiAQBZBAAAWgQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAG15X29iamVjdABmb3JtYXQATjJjdjlBbGdvcml0aG1FAAAAABRqAgA9IgEATm8gZWxlbWVudCBuYW1lIGhhcyBiZWVuIGdpdmVuAG9wZXJhdG9yPDwAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvcGVyc2lzdGVuY2UuaHBwAAAAAAAAAAAgIwEAYQQAAGIEAABjBAAAjAMAAGQEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTJMTVNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIA2CIBAMRlAgAAAAAAkCMBAGUEAABmBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZwQAAGgEAABpBAAATjJjdjEyTE1Tb2x2ZXJJbXBsRQBOMmN2OExNU29sdmVyRQAAPGoCAHQjAQBQIgEAPGoCAGAjAQCEIwEAKHBhcmFtMC5jb2xzID09IDEgfHwgcGFyYW0wLnJvd3MgPT0gMSkgJiYgKHB0eXBlID09IENWXzMyRiB8fCBwdHlwZSA9PSBDVl82NEYpAHJ1bgAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvbGV2bWFycS5jcHAAY2IAQS50eXBlKCkgPT0gQ1ZfNjRGICYmIEEucm93cyA9PSBseAAlYyUxMGQgJTEwZCAlMTUuNGUgJTE2LjRlICUxNy40ZSAlMTYuNGUgJTE3LjRlCgBpdGVycyA+IDAAc2V0TWF4SXRlcnMACWl0cgluZkoJCVNVTShyXjIpCQl4CQlkeAkJbAkJbGMAKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAHRoZSBudW1iZXIgb2YgbW9kZWwgcG9pbnRzIHNob3VsZCBiZSBwb3NpdGl2ZQBSQU5TQUNVcGRhdGVOdW1JdGVycwAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvcHRzZXRyZWcuY3BwAAAAAAAA2CUBAGoEAABrBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAbAQAAG0EAABOMmN2MjVSQU5TQUNQb2ludFNldFJlZ2lzdHJhdG9yRQBOMmN2MTlQb2ludFNldFJlZ2lzdHJhdG9yRQA8agIAsSUBAFAiAQA8agIAkCUBAMwlAQBjYgBydW4AY29uZmlkZW5jZSA+IDAgJiYgY29uZmlkZW5jZSA8IDEAY291bnQgPj0gMCAmJiBjb3VudDIgPT0gY291bnQAKGJlc3RNYXNrLmNvbHMgPT0gMSB8fCBiZXN0TWFzay5yb3dzID09IDEpICYmIChpbnQpYmVzdE1hc2sudG90YWwoKSA9PSBjb3VudABtb2RlbC5yb3dzICUgbm1vZGVscyA9PSAwAChlc3oxICUgc2l6ZW9mKGludCkpID09IDAgJiYgKGVzejIgJSBzaXplb2YoaW50KSkgPT0gMABnZXRTdWJzZXQAY291bnQgPj0gbW9kZWxQb2ludHMgJiYgY291bnQgPT0gY291bnQyAGVyci5pc0NvbnRpbnVvdXMoKSAmJiBlcnIudHlwZSgpID09IENWXzMyRiAmJiBtYXNrLmlzQ29udGludW91cygpICYmIG1hc2sudHlwZSgpID09IENWXzhVAGZpbmRJbmxpZXJzAAAAAACwJwEAagQAAG4EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABsBAAAbwQAAE4yY3YyNExNZURTUG9pbnRTZXRSZWdpc3RyYXRvckUAPGoCAJAnAQDYJQEAKG1hc2suY29scyA9PSAxIHx8IG1hc2sucm93cyA9PSAxKSAmJiAoaW50KW1hc2sudG90YWwoKSA9PSBjb3VudABlcnJmLmlzQ29udGludW91cygpICYmIGVycmYudHlwZSgpID09IENWXzMyRiAmJiAoaW50KWVycmYudG90YWwoKSA9PSBjb3VudAAAAAAA1CgBAEQEAABwBAAAcQQAAHIEAABzBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTMl9FRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgBkKAEAxGUCAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFRUUAAAAAAACoKQEARAQAAHQEAAB1BAAAdgQAAHcEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCADgpAQDEZQIATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRUVFAE9QRU5DVl9CVUZGRVJfQVJFQV9BTFdBWVNfU0FGRQB0b3RhbFNpemUgPiAwAGNvbW1pdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYnVmZmVyX2FyZWEuY3BwAG9uZUJ1ZiA9PSBOVUxMACFibG9ja3MuZW1wdHkoKQBwdHIgJiYgKnB0ciA9PSBOVUxMAEJsb2NrAHJlYWxfYWxsb2NhdGUAcmVpbnRlcnByZXRfY2FzdDxzaXplX3Q+KCpwdHIpICUgYWxpZ25tZW50ID09IDAAc3RhdGljX2Nhc3Q8dWNoYXIqPigqcHRyKSArIHR5cGVfc2l6ZSAqIGNvdW50IDw9IHN0YXRpY19jYXN0PHVjaGFyKj4ocmF3X21lbSkgKyB0eXBlX3NpemUgKiBhbGxvY2F0ZWRfY291bnQAcHRyICYmICpwdHIAZmFzdF9hbGxvY2F0ZQByZWludGVycHJldF9jYXN0PHNpemVfdD4oYnVmKSAlIGFsaWdubWVudCA9PSAwAGNsZWFudXAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFCwBAHgEAAB5BAAAegQAAHsEAAB8BAAAfQQAAH4EAAB/BAAATjJjdjEzUkhPX0hFU1RfUkVGQ0UATjJjdjhSSE9fSEVTVEUAFGoCAP0rAQA8agIA6CsBAAwsAQBwdHIgPT0gTlVMTABhbGxvY2F0ZQAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS91dGlscy9idWZmZXJfYXJlYS5wcml2YXRlLmhwcABjb3VudCA+IDAAYWxpZ25tZW50ID4gMABhbGlnbm1lbnQgJSBzaXplb2YoVCkgPT0gMAAoYWxpZ25tZW50ICYgKGFsaWdubWVudCAtIDEpKSA9PSAwAHB0ciAhPSBOVUxMAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAKAtAQBEBAAAgAQAAIEEAACCBAAAgwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBOMmN2MTNSSE9fSEVTVF9SRUZDRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAA8agIAPC0BAMRlAgBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlOMmN2MTNSSE9fSEVTVF9SRUZDRUVFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAADwuAQCmLgEAVQAAAAAAAADILgEA+y4BAAMvAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpzb2x2ZUdlbmVyaWMoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2lwcGUuY3BwAFR5cGUgb2YgX29iamVjdFBvaW50cyBtdXN0IGJlIENWXzMyRkMzIG9yIENWXzY0RkMzAG9ialR5cGUAb2JqVHlwZSA9PSBDVl8zMkZDMyB8fCBvYmpUeXBlID09IENWXzY0RkMzAAAAPC4BAKYuAQBXAAAAAAAAAEwvAQCILwEAky8BAFR5cGUgb2YgX25vcm1hbGl6ZWRJbnB1dFBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAHR5cGVfaW5wdXQAdHlwZV9pbnB1dCA9PSBDVl8zMkZDMiB8fCB0eXBlX2lucHV0ID09IENWXzY0RkMyAF9vYmplY3RQb2ludHMucm93cygpID09IDEgfHwgX29iamVjdFBvaW50cy5jb2xzKCkgPT0gMQBzb2x2ZUdlbmVyaWMAX29iamVjdFBvaW50cy5yb3dzKCkgPj0gNCB8fCBfb2JqZWN0UG9pbnRzLmNvbHMoKSA+PSA0AF9ub3JtYWxpemVkSW5wdXRQb2ludHMucm93cygpID09IDEgfHwgX25vcm1hbGl6ZWRJbnB1dFBvaW50cy5jb2xzKCkgPT0gMQBzdGF0aWNfY2FzdDxzaXplX3Q+KF9vYmplY3RQb2ludHMucm93cygpKSAqIHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5jb2xzKCkpID09IG4AX29iamVjdFBvaW50cy50eXBlKCkAFDEBAKYuAQAoAQAAAAAAAFgxAQB0MQEAfjEBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OnJvdDJ2ZWMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfUiBtdXN0IGJlIENWXzY0RkMxAF9SLnR5cGUoKQBfUi50eXBlKCkgPT0gQ1ZfNjRGQzEAX1Iucm93cygpID09IDMAcm90MnZlYwBfUi5jb2xzKCkgPT0gMwAAANgxAQCmLgEASwEAAAAAAABHMgEA4zABAG4yAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpjb21wdXRlVHJhbnNsYXRpb24oY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9vYmplY3RQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfb2JqZWN0UG9pbnRzLnR5cGUoKSA9PSBDVl82NEZDMgAA2DEBAKYuAQBNAQAAAAAAAKwyAQDaMgEA9jIBAFR5cGUgb2YgX25vcm1hbGl6ZWRJbWdQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfbm9ybWFsaXplZEltZ1BvaW50cy50eXBlKCkAX25vcm1hbGl6ZWRJbWdQb2ludHMudHlwZSgpID09IENWXzY0RkMyAAAA2DEBAKYuAQBPAQAAAAAAAFgxAQB0MQEAfjEBAF9SLnJvd3MoKSA9PSAzICYmIF9SLmNvbHMoKSA9PSAzAGNvbXB1dGVUcmFuc2xhdGlvbgBfbm9ybWFsaXplZEltZ1BvaW50cy5yb3dzKCkgPT0gMSB8fCBfbm9ybWFsaXplZEltZ1BvaW50cy5jb2xzKCkgPT0gMQBuID09IHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5yb3dzKCkgKiBfb2JqZWN0UG9pbnRzLmNvbHMoKSkAY29tcHV0ZVJvdGF0aW9ucwBnYW1tYSBpcyB6ZXJvLgAAODQBAKYuAQACAgAAAAAAAJc0AQDKNAEA3zQBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OmhvbW9ncmFwaHlGcm9tU3F1YXJlUG9pbnRzKGN2OjpJbnB1dEFycmF5LCBkb3VibGUsIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfdGFyZ2V0UG9pbnRzIG11c3QgYmUgQ1ZfMzJGQzIgb3IgQ1ZfNjRGQzIAX3RhcmdldFBvaW50cy50eXBlKCkAX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfMzJGQzIgfHwgX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfNjRGQzIARGV0ZXJtaW5hbnQgaXMgemVybyEAaG9tb2dyYXBoeUZyb21TcXVhcmVQb2ludHMAcDUBAKYuAQBAAgAAAAAAAMguAQD7LgEAAy8BAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6Om1ha2VDYW5vbmljYWxPYmplY3RQb2ludHMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBDYW5ub3QgdHJhbnNmb3JtIG9iamVjdCBwb2ludHMgdG8gdGhlIHBsYW5lIHo9MCEAbWFrZUNhbm9uaWNhbE9iamVjdFBvaW50cwBzMyAvIHMyIDwgSVBQRV9TTUFMTABjb21wdXRlT2JqZXh0U3BhY2VSU3ZEAERhdGEucm93cyA9PSAxIHx8IERhdGEuY29scyA9PSAxAG5vcm1hbGl6ZURhdGFJc290cm9waWMARGF0YS5jaGFubmVscygpID09IDIgfHwgRGF0YS5jaGFubmVscygpID09IDMAbnVtUG9pbnRzID49IDQAAADgNgEApi4BAG0DAAAAAAAAUTcBAJU3AQCeNwEAdm9pZCBjdjo6SG9tb2dyYXBoeUhPOjpub3JtYWxpemVEYXRhSXNvdHJvcGljKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9EYXRhIG11c3QgYmUgb25lIG9mIENWXzMyRkMyLCBDVl8zMkZDMywgQ1ZfNjRGQzIsIENWXzY0RkMzAGRhdGFUeXBlAGRhdGFUeXBlID09IENWXzMyRkMyIHx8IGRhdGFUeXBlID09IENWXzMyRkMzIHx8IGRhdGFUeXBlID09IENWXzY0RkMyIHx8IGRhdGFUeXBlID09IENWXzY0RkMzAG4gPT0gRGF0YUIuY29scwBob21vZ3JhcGh5SE8AL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3NvbHZlcG5wLmNwcABucG9pbnRzID09IHN0ZDo6bWF4KGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfMzJGKSwgaXBvaW50cy5jaGVja1ZlY3RvcigyLCBDVl82NEYpKQBzb2x2ZVAzUABucG9pbnRzID09IDMgfHwgbnBvaW50cyA9PSA0AGZsYWdzID09IFNPTFZFUE5QX1AzUCB8fCBmbGFncyA9PSBTT0xWRVBOUF9BUDNQACggKG5wb2ludHMgPj0gNCkgfHwgKG5wb2ludHMgPT0gMyAmJiBmbGFncyA9PSBTT0xWRVBOUF9JVEVSQVRJVkUgJiYgdXNlRXh0cmluc2ljR3Vlc3MpIHx8IChucG9pbnRzID49IDMgJiYgZmxhZ3MgPT0gU09MVkVQTlBfU1FQTlApICkgJiYgbnBvaW50cyA9PSBzdGQ6Om1heChpcG9pbnRzLmNoZWNrVmVjdG9yKDIsIENWXzMyRiksIGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfNjRGKSkAc29sdmVQblBHZW5lcmljACFfcnZlYy5lbXB0eSgpICYmICFfdHZlYy5lbXB0eSgpAChydHlwZSA9PSBDVl8zMkZDMSB8fCBydHlwZSA9PSBDVl82NEZDMSkgJiYgKHR0eXBlID09IENWXzMyRkMxIHx8IHR0eXBlID09IENWXzY0RkMxKQAocnNpemUgPT0gU2l6ZSgxLCAzKSB8fCByc2l6ZSA9PSBTaXplKDMsIDEpKSAmJiAodHNpemUgPT0gU2l6ZSgxLCAzKSB8fCB0c2l6ZSA9PSBTaXplKDMsIDEpKQBucG9pbnRzID09IDQAVGhlIGZsYWdzIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIFNPTFZFUE5QX0lURVJBVElWRSwgU09MVkVQTlBfUDNQLCBTT0xWRVBOUF9FUE5QLCBTT0xWRVBOUF9ETFMsIFNPTFZFUE5QX1VQTlAsIFNPTFZFUE5QX0FQM1AsIFNPTFZFUE5QX0lQUEUsIFNPTFZFUE5QX0lQUEVfU1FVQVJFIG9yIFNPTFZFUE5QX1NRUE5QAHZlY19ydmVjcy5zaXplKCkgPT0gdmVjX3R2ZWNzLnNpemUoKQAArDsBABg4AQBbBAAAAAAAAIE8AQC5PAEA0jwBAGludCBjdjo6c29sdmVQblBHZW5lcmljKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMsIGJvb2wsIGN2OjpTb2x2ZVBuUE1ldGhvZCwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAFR5cGUgb2YgcmVwcm9qZWN0aW9uRXJyb3IgbXVzdCBiZSBDVl8zMkZDMSBvciBDVl82NEZDMSEAcmVwcm9qZWN0aW9uRXJyb3IudHlwZSgpAHR5cGUgPT0gQ1ZfMzJGQzEgfHwgdHlwZSA9PSBDVl82NEZDMQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAERhdGFUeXBlPF9UcD46OmNoYW5uZWxzID09IG0uY2hhbm5lbHMoKSB8fCBtLmVtcHR5KCkAb3BlcmF0b3I9AAAAAMw9AQBAPgEAVgAAAAAAAABjPgEAlT4BAJ0+AQB2b2lkIGN2OjpzcXBucDo6UG9zZVNvbHZlcjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMpAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9zcXBucC5jcHAAVHlwZSBvZiBvYmplY3RQb2ludHMgbXVzdCBiZSBDVl8zMkZDMyBvciBDVl82NEZDMwBvYmpUeXBlAG9ialR5cGUgPT0gQ1ZfMzJGQzMgfHwgb2JqVHlwZSA9PSBDVl82NEZDMwDMPQEAQD4BAFoAAAAAAAAA5D4BABU/AQAdPwEAVHlwZSBvZiBpbWFnZVBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAGltZ1R5cGUAaW1nVHlwZSA9PSBDVl8zMkZDMiB8fCBpbWdUeXBlID09IENWXzY0RkMyAG9iamVjdFBvaW50cy5yb3dzKCkgPT0gMSB8fCBvYmplY3RQb2ludHMuY29scygpID09IDEAc29sdmUAb2JqZWN0UG9pbnRzLnJvd3MoKSA+PSAzIHx8IG9iamVjdFBvaW50cy5jb2xzKCkgPj0gMwBpbWFnZVBvaW50cy5yb3dzKCkgPT0gMSB8fCBpbWFnZVBvaW50cy5jb2xzKCkgPT0gMQBpbWFnZVBvaW50cy5yb3dzKCkgKiBpbWFnZVBvaW50cy5jb2xzKCkgPT0gb2JqZWN0UG9pbnRzLnJvd3MoKSAqIG9iamVjdFBvaW50cy5jb2xzKCkAcG9pbnRfY29vcmRpbmF0ZV92YXJpYW5jZSA+PSBQT0lOVF9WQVJJQU5DRV9USFJFU0hPTEQAY29tcHV0ZU9tZWdhAHNfKDApID49IDFlLTcAKytudW1fbnVsbF92ZWN0b3JzXyA8PSA2AGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAGRhdGEgJiYgZGltcyA8PSAyICYmIHJvd3MgPT0gbSAmJiBjb2xzID09IG4gJiYgY2hhbm5lbHMoKSA9PSAxAG9wZXJhdG9yIE1hdHgAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VuZGlzdG9ydC5kaXNwYXRjaC5jcHAAbnBvaW50cyA+PSAwICYmIHNyYy5pc0NvbnRpbnVvdXMoKSAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAdW5kaXN0b3J0UG9pbnRzAGNyaXRlcmlhLmlzVmFsaWQoKQBjdlVuZGlzdG9ydFBvaW50c0ludGVybmFsAENWX0lTX01BVChfc3JjKSAmJiBDVl9JU19NQVQoX2RzdCkgJiYgKF9zcmMtPnJvd3MgPT0gMSB8fCBfc3JjLT5jb2xzID09IDEpICYmIChfZHN0LT5yb3dzID09IDEgfHwgX2RzdC0+Y29scyA9PSAxKSAmJiBfc3JjLT5jb2xzICsgX3NyYy0+cm93cyAtIDEgPT0gX2RzdC0+cm93cyArIF9kc3QtPmNvbHMgLSAxICYmIChDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl8zMkZDMiB8fCBDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl82NEZDMikgJiYgKENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzMyRkMyIHx8IENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzY0RkMyKQBDVl9JU19NQVQoX2NhbWVyYU1hdHJpeCkgJiYgX2NhbWVyYU1hdHJpeC0+cm93cyA9PSAzICYmIF9jYW1lcmFNYXRyaXgtPmNvbHMgPT0gMwBDVl9JU19NQVQoX2Rpc3RDb2VmZnMpICYmIChfZGlzdENvZWZmcy0+cm93cyA9PSAxIHx8IF9kaXN0Q29lZmZzLT5jb2xzID09IDEpICYmIChfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSA0IHx8IF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDUgfHwgX2Rpc3RDb2VmZnMtPnJvd3MqX2Rpc3RDb2VmZnMtPmNvbHMgPT0gOCB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxMiB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxNCkAQ1ZfSVNfTUFUKG1hdFIpICYmIG1hdFItPnJvd3MgPT0gMyAmJiBtYXRSLT5jb2xzID09IDMAQ1ZfSVNfTUFUKG1hdFApICYmIG1hdFAtPnJvd3MgPT0gMyAmJiAobWF0UC0+Y29scyA9PSAzIHx8IG1hdFAtPmNvbHMgPT0gNCkAAAAAAAxGAQCEBAAAhQQAAIYEAACMAwAAhwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAtEUBAMRlAgAAAAAA0EYBAIgEAACJBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAigQAAIsEAACMBAAAjQQAAI4EAACPBAAAkAQAAE4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE5SG9tb2dyYXBoeUVzdGltYXRvckUATjJjdjR1c2FjOUVzdGltYXRvckUAAAAAPGoCAKBGAQBQIgEAPGoCAIBGAQC4RgEAPGoCAFxGAQDERgEAAAAAAFBHAQCRBAAAkgQAAJMEAACMAwAAlAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA+EYBAMRlAgAAAAAA9EcBAJUEAACWBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAAnQQAAE4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMyMEZ1bmRhbWVudGFsRXN0aW1hdG9yRQAAADxqAgDFRwEAuEYBADxqAgCgRwEA6EcBAAAAAAB0SAEAngQAAJ8EAACgBAAAjAMAAKEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCABxIAQDEZQIAAAAAABRJAQCiBAAAowQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKQEAAClBAAApgQAAKcEAACoBAAAqQQAAKoEAABOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE4RXNzZW50aWFsRXN0aW1hdG9yRQAAADxqAgDnSAEAuEYBADxqAgDESAEACEkBAAAAAACQSQEAqwQAAKwEAACtBAAAjAMAAK4EAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOUFmZmluZUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPEkBAMRlAgAAAAAAKEoBAK8EAACwBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAsQQAALIEAACzBAAAtAQAALUEAAC2BAAAtwQAAE4yY3Y0dXNhYzE5QWZmaW5lRXN0aW1hdG9ySW1wbEUATjJjdjR1c2FjMTVBZmZpbmVFc3RpbWF0b3JFADxqAgAASgEAuEYBADxqAgDgSQEAHEoBAAAAAACgSgEAuAQAALkEAAC6BAAAjAMAALsEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNlBuUEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBQSgEAxGUCAAAAAAA0SwEAvAQAAL0EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC+BAAAvwQAAMAEAADBBAAAwgQAAMMEAADEBAAATjJjdjR1c2FjMTZQblBFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMxMlBuUEVzdGltYXRvckUAAAA8agIADUsBALhGAQA8agIA8EoBAChLAQAAAAAAvEsBAMUEAADGBAAAxwQAAIwDAADIBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAFxLAQDEZQIAAAAAAHxMAQDJBAAAygQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMsEAADMBAAAzQQAAM4EAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkVycm9yU3ltbWV0cmljSW1wbEUATjJjdjR1c2FjMjZSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0UATjJjdjR1c2FjNUVycm9yRQAAPGoCAFJMAQBQIgEAPGoCACtMAQBkTAEAPGoCAABMAQBwTAEAIW1vZGVsLmVtcHR5KCkAc2V0TW9kZWxQYXJhbWV0ZXJzAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy91c2FjL2VzdGltYXRvci5jcHAAAAD0TAEAqkwBAPIAAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAABtb2RlbC5kZXB0aCgpAENWXzY0RgAAAAD0TAEAqkwBAPoAAAABAAAAT00BAIRNAQBeTQEAbW9kZWxfaW52LmRlcHRoKCkAAAAAAAAAEE4BAM8EAADQBAAA0QQAAIwDAADSBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvckZvcndhcmRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAtE0BAMRlAgAAAAAAsE4BANMEAADUBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA1QQAANYEAADXBAAA2AQAAE4yY3Y0dXNhYzI4UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbEUATjJjdjR1c2FjMjRSZXByb2plY3Rpb25FcnJvckZvcndhcmRFAAAAPGoCAH1OAQBkTAEAPGoCAFROAQCkTgEA2E4BAKpMAQA2AQAAAQAAAE9NAQBQTQEAXk0BAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAAAAKBPAQDZBAAA2gQAANsEAACMAwAA3AQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE2U2FtcHNvbkVycm9ySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAFBPAQDEZQIAAAAAAChQAQDdBAAA3gQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAN8EAADgBAAA4QQAAOIEAABOMmN2NHVzYWMxNlNhbXBzb25FcnJvckltcGxFAE4yY3Y0dXNhYzEyU2FtcHNvbkVycm9yRQAAADxqAgABUAEAZEwBADxqAgDkTwEAHFABAFBQAQCqTAEAbAEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlNhbXBzb25FcnJvckltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAAAAAAAAAAAcUQEA4wQAAOQEAADlBAAAjAMAAOYEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMFN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAvFABAMRlAgAAAAAAwFEBAOcEAADoBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA6QQAAOoEAADrBAAA7AQAAE4yY3Y0dXNhYzMwU3ltbWV0cmljR2VvbWV0cmljRGlzdGFuY2VJbXBsRQBOMmN2NHVzYWMyNlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlRQAAADxqAgCLUQEAZEwBADxqAgBgUQEAtFEBAOhRAQCqTAEAswEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAC8UgEA7QQAAO4EAADvBAAAjAMAAPAEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyOFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBgUgEAxGUCAAAAAABcUwEA8QQAAPIEAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzBAAA9AQAAPUEAAD2BAAATjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsRQBOMmN2NHVzYWMyNFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEUAAAA8agIAKVMBAGRMAQA8agIAAFMBAFBTAQCEUwEAqkwBAPMBAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsOjpzZXRNb2RlbFBhcmFtZXRlcnMoY29uc3QgY3Y6Ok1hdCAmKQAAAAAAAAAAXFQBAPcEAAD4BAAA+QQAAIwDAAD6BAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25EaXN0YW5jZUFmZmluZUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAPxTAQDEZQIAAAAAAPxUAQD7BAAA/AQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAP0EAAD+BAAA/wQAAAAFAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1wbEUATjJjdjR1c2FjMjNSZXByb2plY3Rpb25FcnJvckFmZmluZUUAADxqAgDLVAEAZEwBADxqAgCgVAEA8FQBACRVAQCqTAEAMgIAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1w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dWFsaXR5RQBOMmN2NHVzYWM3UXVhbGl0eUUAADxqAgBoXAEAUCIBADxqAgBOXAEAfFwBADxqAgAwXAEAiFwBAGdldFNjb3JlKGVycm9ycykAZ2V0U2NvcmUAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvLi4vdXNhYy5ocHAAAAAAAFBdAQAWBQAAFwUAABgFAACMAwAAGQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE1TXNhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAABdAQDEZQIAAAAAAORdAQAaBQAAGwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAABwFAAAPBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAATjJjdjR1c2FjMTVNc2FjUXVhbGl0eUltcGxFAE4yY3Y0dXNhYzExTXNhY1F1YWxpdHlFADxqAgDAXQEAfFwBADxqAgCkXQEA2F0BAAAAAABgXgEAIwUAACQFAAAlBQAAjAMAACYFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIADF4BAMRlAgAAAAAA+F4BACcFAAAoBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKQUAACoFAAArBQAALAUAAC0FAAAuBQAALwUAADAFAABOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRQBOMmN2NHVzYWMxM01hZ3NhY1F1YWxpdHlFADxqAgDSXgEAfFwBADxqAgC0XgEA7F4BAAAAAABwXwEAMQUAADIFAAAzBQAAjAMAADQFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNkxNZWRzUXVhbGl0eUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgAgXwEAxGUCAAAAAAAIYAEANQUAADYFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAA3BQAADwUAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAE4yY3Y0dXNhYzE2TE1lZHNRdWFsaXR5SW1wbEUATjJjdjR1c2FjMTJMTWVkc1F1YWxpdHlFAAAAPGoCAOFfAQB8XAEAPGoCAMRfAQD8XwEAAAAAAIRgAQA+BQAAPwUAAEAFAACMAwAAQQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TW9kZWxWZXJpZmllckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgAwYAEAxGUCAAAAAAAUYQEAQgUAAEMFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABEBQAARQUAAEYFAABHBQAASAUAAEkFAABOMmN2NHVzYWMxN01vZGVsVmVyaWZpZXJJbXBsRQBOMmN2NHVzYWMxM01vZGVsVmVyaWZpZXJFADxqAgDuYAEAUCIBADxqAgDQYAEACGEBAAAAAACEYQEASgUAAEsFAABMBQAAjAMAAE0FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM4U1BSVEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPGEBAMRlAgAAAAAABGIBAE4FAABPBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAUAUAAFEFAABSBQAAUwUAAFQFAABVBQAAVgUAAE4yY3Y0dXNhYzhTUFJUSW1wbEUATjJjdjR1c2FjNFNQUlRFADxqAgDoYQEACGEBADxqAgDUYQEA+GEBAAAAAACQYgEAVwUAAFgFAABZBQAAjAMAAFoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCACxiAQDEZQIAAAAAAGBjAQBZBAAAWwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAFwFAABdBQAAXgUAAF8FAABOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU1pbmltYWxTb2x2ZXI0cHRzR0VNRQBOMmN2NHVzYWMxM01pbmltYWxTb2x2ZXJFADxqAgAuYwEAUCIBADxqAgADYwEASGMBADxqAgDUYgEAVGMBAAAAAADoYwEAYAUAAGEFAABiBQAAjAMAAGMFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAiGMBAMRlAgAAAAAAtGQBAGQFAABlBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZgUAAGcFAABoBQAAaQUAAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNkhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVyRQBOMmN2NHVzYWMxNk5vbk1pbmltYWxTb2x2ZXJFAAA8agIAfmQBAFAiAQA8agIAV2QBAJxkAQA8agIALGQBAKhkAQAAAAAANGUBAGoFAABrBQAAbAUAAIwDAABtBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDcZAEAxGUCAAAAAADIZQEAWQQAAG4FAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABvBQAAcAUAAHEFAAByBQAATjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEUATjJjdjR1c2FjMTlBZmZpbmVNaW5pbWFsU29sdmVyRQA8agIAnGUBAEhjAQA8agIAeGUBALxlAQAAAAAATGYBAHMFAAB0BQAAdQUAAIwDAAB2BQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjZBZmZpbmVOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIA8GUBAMRlAgAAAAAA6GYBAFkEAAB3BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAeAUAAHkFAAB6BQAAewUAAE4yY3Y0dXNhYzI2QWZmaW5lTm9uTWluaW1hbFNvbHZlckltcGxFAE4yY3Y0dXNhYzIyQWZmaW5lTm9uTWluaW1hbFNvbHZlckUAAAA8agIAt2YBAJxkAQA8agIAkGYBANxmAQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAAAAC0ZwEAfAUAAH0FAAB+BQAAjAMAAH8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAVGcBAMRlAgAAAAAAWGgBAFkEAACABQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAIIFAACDBQAAhAUAAE4yY3Y0dXNhYzMwRXBpcG9sYXJHZW9tZXRyeURlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMyNkVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5RQAAADxqAgAjaAEAIIMBADxqAgD4ZwEATGgBAGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAAAAAAAAAAB0aQEAhQUAAIYFAACHBQAAjAMAAIgFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCABxpAQDEZQIAAAAAAAxqAQBZBAAAiQUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIoFAACLBQAAgwUAAIwFAABOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjBIb21vZ3JhcGh5RGVnZW5lcmFjeUUAAAA8agIA3WkBACCDAQA8agIAuGkBAABqAQAAAAAAkGoBAI0FAACOBQAAjwUAAIwDAACQBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVGdW5kYW1lbnRhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIANGoBAMRlAgAAAAAAKGsBAJEFAACSBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAJMFAACUBQAAlQUAAE4yY3Y0dXNhYzI1RnVuZGFtZW50YWxEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjFGdW5kYW1lbnRhbERlZ2VuZXJhY3lFADxqAgD6agEATGgBADxqAgDUagEAHGsBAAAAAACoawEAlgUAAJcFAACYBQAAjAMAAJkFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAFBrAQDEZQIAAAAAADxsAQCaBQAAmwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACcBQAAgwUAAJ0FAABOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMxOUVzc2VudGlhbERlZ2VuZXJhY3lFADxqAgAQbAEATGgBADxqAgDsawEAMGwBAAAAAADEbAEAngUAAJ8FAACgBQAAjAMAAKEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjdwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZGwBAMRlAgAAAAAAbG0BAFkEAACiBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAowUAAKQFAAClBQAApgUAAE4yY3Y0dXNhYzMyRnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0ltcGxFAE4yY3Y0dXNhYzI4RnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0UAAAA8agIANW0BAEhjAQA8agIACG0BAGBtAQAAAAAA9G0BAKcFAACoBQAAqQUAAIwDAACqBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzJGdW5kYW1lbnRhbE1pbmltYWxTb2x2ZXI4cHRzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAJRtAQDEZQIAAAAAAJxuAQBZBAAAqwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKwFAACtBQAArgUAAK8FAABOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNJbXBsRQBOMmN2NHVzYWMyOEZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNFAAAAPGoCAGVuAQBIYwEAPGoCADhuAQCQbgEAAAAAACRvAQCwBQAAsQUAALIFAACMAwAAswUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxRnVuZGFtZW50YWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDEbgEAxGUCAAAAAADIbwEAtAUAALUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC2BQAAtwUAALgFAAC5BQAATjJjdjR1c2FjMzFGdW5kYW1lbnRhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyN0Z1bmRhbWVudGFsTm9uTWluaW1hbFNvbHZlckUAPGoCAJRvAQCcZAEAPGoCAGhvAQC8bwEAAAAAAFhwAQC6BQAAuwUAALwFAACMAwAAvQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM5RXNzZW50aWFsTWluaW1hbFNvbHZlclN0ZXdlbml1czVwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAPBvAQDEZQIAAAAAAAxxAQBZBAAAvgUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAL8FAADABQAAwQUAAMIFAABOMmN2NHVzYWMzOUVzc2VudGlhbE1pbmltYWxTb2x2ZXJTdGV3ZW5pdXM1cHRzSW1wbEUATjJjdjR1c2FjMzVFc3NlbnRpYWxNaW5pbWFsU29sdmVyU3Rld2VuaXVzNXB0c0UAPGoCANBwAQBIYwEAPGoCAJxwAQAAcQEAVG8gdXNlIGVzc2VudGlhbCBtYXRyaXggc29sdmVyIExBUEFDSyBvciBFaWdlbiBoYXMgdG8gYmUgaW5zdGFsbGVkIQBlc3RpbWF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9lc3NlbnRpYWxfc29sdmVyLmNwcAAAAAAAFHIBAMMFAADEBQAAxQUAAIwDAADGBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlFc3NlbnRpYWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALRxAQDEZQIAAAAAALRyAQBZBAAAxwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMgFAADJBQAAygUAAMsFAABOMmN2NHVzYWMyOUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJFADxqAgCCcgEAnGQBADxqAgBYcgEAqHIBAAAAAAAocwEAzAUAAM0FAADOBQAAjAMAAM8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERMU1BuUEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCANxyAQDEZQIAAAAAAKRzAQBZBAAA0AUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANEFAADSBQAA0wUAANQFAABOMmN2NHVzYWMxMERMU1BuUEltcGxFAE4yY3Y0dXNhYzZETFNQblBFAAAAADxqAgCDcwEAnGQBADxqAgBscwEAmHMBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGh0AQDVBQAA1gUAANcFAACMAwAA2AUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAEHQBAMRlAgAAAAAAAHUBAFkEAADZBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA2gUAANsFAADcBQAA3QUAAE4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRQBOMmN2NHVzYWMyMFBuUE1pbmltYWxTb2x2ZXI2UHRzRQAAADxqAgDRdAEASGMBADxqAgCsdAEA9HQBAAAAAACAdQEA3gUAAN8FAADgBQAAjAMAAOEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCACh1AQDEZQIAAAAAABR2AQBZBAAA4gUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOMFAADkBQAA5QUAAOYFAABOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMxOVBuUE5vbk1pbmltYWxTb2x2ZXJFADxqAgDodQEAnGQBADxqAgDEdQEACHYBAAAAAACMdgEA5wUAAOgFAADpBQAAjAMAAOoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxM1AzUFNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgA8dgEAxGUCAAAAAAAMdwEAWQQAAOsFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADsBQAA7QUAAO4FAADvBQAATjJjdjR1c2FjMTNQM1BTb2x2ZXJJbXBsRQBOMmN2NHVzYWM5UDNQU29sdmVyRQAAPGoCAOp2AQBIYwEAPGoCANB2AQAAdwEAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAxHcBAPAFAADxBQAA8gUAAIwDAADzBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTJHcmFwaEN1dEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgB4dwEAxGUCAAAAAABkeAEA9AUAAPUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAD2BQAA9wUAAE4yY3Y0dXNhYzEyR3JhcGhDdXRJbXBsRQBOMmN2NHVzYWM4R3JhcGhDdXRFAE4yY3Y0dXNhYzE3TG9jYWxPcHRpbWl6YXRpb25FAAA8agIALXgBAFAiAQA8agIAGXgBAEx4AQA8agIAAHgBAFh4AQBpPj0wICYmIGk8KGludCl2dGNzLnNpemUoKQBhZGRUZXJtV2VpZ2h0cwAvc3JjL21vZHVsZXMvaW1ncHJvYy9pbmNsdWRlL29wZW5jdjIvaW1ncHJvYy9kZXRhaWwvZ2NncmFwaC5ocHAAYWRkRWRnZXMAaj49MCAmJiBqPChpbnQpdnRjcy5zaXplKCkAdz49MCAmJiByZXZ3Pj0wAGkgIT0gagAhdnRjcy5lbXB0eSgpAG1heEZsb3cAIWVkZ2VzLmVtcHR5KCkAbWluV2VpZ2h0ID4gMABpblNvdXJjZVNlZ21lbnQAAAAAANh5AQD4BQAA+QUAAPoFAACMAwAA+wUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM1SW5uZXJJdGVyYXRpdmVMb2NhbE9wdGltaXphdGlvbkltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAdHkBAMRlAgAAAAAAfHoBAPwFAAD9BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA/gUAAP8FAABOMmN2NHVzYWMzNUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25JbXBsRQBOMmN2NHVzYWMzMUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25FADxqAgBEegEATHgBADxqAgAUegEAcHoBAAAAAAD4egEAAAYAAAEGAAACBgAAjAMAAAMGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIApHoBAMRlAgAAAAAAfHsBAAQGAAAFBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAABgYAAAcGAABOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEUATjJjdjR1c2FjMTRTaWdtYUNvbnNlbnN1c0UAAAA8agIAU3sBAEx4AQA8agIANHsBAHB7AQAAAAAAAHwBAAgGAAAJBgAACgYAAIwDAAALBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVMZWFzdFNxdWFyZXNQb2xpc2hpbmdJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIApHsBAMRlAgAAAAAAuHwBAAwGAAANBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAADgYAAE4yY3Y0dXNhYzI1TGVhc3RTcXVhcmVzUG9saXNoaW5nSW1wbEUATjJjdjR1c2FjMjFMZWFzdFNxdWFyZXNQb2xpc2hpbmdFAE4yY3Y0dXNhYzE4RmluYWxNb2RlbFBvbGlzaGVyRQAAPGoCAIB8AQBQIgEAPGoCAF58AQCgfAEAPGoCADh8AQCsfAEASW5jb3JyZWN0IGZsYWcgZm9yIFVTQUMhAHNldFBhcmFtZXRlcnMAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvcmFuc2FjX3NvbHZlcnMuY3BwADh9AQDrfAEAIAMAAAEAAADzfQEAF34BADt+AQBib29sIGN2Ojp1c2FjOjpydW4oY29uc3QgUHRyPGNvbnN0IGN2Ojp1c2FjOjpNb2RlbD4gJiwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQsIFB0cjxjdjo6dXNhYzo6UmFuc2FjT3V0cHV0PiAmLCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkASW50cmluc2ljIG1hdHJpeCBtdXN0IG5vdCBiZSBlbXB0eSEAKGludCkoIUsxXy5lbXB0eSgpICYmICFLMl8uZW1wdHkoKSkAMQBHcmFwaCB0eXBlIGlzIG5vdCBpbXBsZW1lbnRlZCEAcnVuADh9AQDrfAEASQMAAAEAAAB8fgEAqn4BAL9+AQBQcm9ncmVzc2l2ZU5BUFNBQyBmb3IgUG5QIGlzIG5vdCBpbXBsZW1lbnRlZCEAKGludClwYXJhbXMtPmlzUG5QKCkAMABQcm9ncmVzc2l2ZSBOQVBTQUMgc2FtcGxlcjogQ2VsbCBudW1iZXIgaW4gbGF5ZXJzIG11c3QgYmUgaW4gZGVjcmVhc2luZyBvcmRlciEARXJyb3IgbWV0cmljIGlzIG5vdCBpbXBsZW1lbnRlZCEAU2NvcmUgaXMgbm90IGltZXBsZW1ldGVkIQBFc3RpbWF0b3Igbm90IGltcGxlbWVudGVkIQBTYW1wbGVyIGlzIG5vdCBpbXBsZW1lbnRlZCEAVmVyaWZpZXIgaXMgbm90IGltZXBsZW1lbnRlZCEATG9jYWwgT3B0aW1pemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCEAAOR/AQDrfAEAigEAAAUAAABlgAEAgIABAIyAAQBhdXRvIGN2Ojp1c2FjOjptZXJnZVBvaW50cyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpNYXQgJiwgYm9vbCk6Oihhbm9ueW1vdXMgY2xhc3MpOjpvcGVyYXRvcigpKGN2OjpNYXQgJiwgaW50KSBjb25zdABJbnZhbGlkIGRpbWVuc2lvbiBvZiBwb2ludABwb2ludHMuY29scwBwdF9kaW0AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAABSBAQAQBgAAEQYAABIGAABOMmN2MjlQYXJhbGxlbExvb3BCb2R5TGFtYmRhV3JhcHBlckUAAAAAPGoCAOyAAQCorgAAAAAAAACCAQATBgAAFAYAABUGAAAWBgAAFwYAABgGAAAZBgAAGgYAABsGAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TMl8zUHRySU5TM18xMlJhbnNhY091dHB1dEVFRUVVbFJLTlMyXzVSYW5nZUVFX05TXzlhbGxvY2F0b3JJU0NfRUVGdlNCX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJLTjJjdjVSYW5nZUVFRUUAFGoCAMqBAQA8agIATIEBAPiBAQBaTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TXzNQdHJJTlMwXzEyUmFuc2FjT3V0cHV0RUVFRVVsUktOU181UmFuZ2VFRV8AAAAUagIADIIBAAAAAADEggEAHAYAAB0GAAAeBgAAjAMAAB8GAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERlZ2VuZXJhY3lFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAHiCAQDEZQIAAAAAACCDAQBZBAAAIAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACLBQAAgwUAACEGAABOMmN2NHVzYWMxMERlZ2VuZXJhY3lFAAA8agIACIMBAFAiAQAAAAAAmIMBACIGAAAjBgAAJAYAAIwDAAAlBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTZSYW5zYWNPdXRwdXRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIASIMBAMRlAgAAAAAAPIQBACYGAAAnBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKAYAACkGAAAqBgAAKwYAACwGAAAtBgAALgYAAC8GAAAwBgAAMQYAADIGAABOMmN2NHVzYWMxNlJhbnNhY091dHB1dEltcGxFAE4yY3Y0dXNhYzEyUmFuc2FjT3V0cHV0RQAAADxqAgAVhAEAUCIBADxqAgD4gwEAMIQBAAAAAACshAEAMwYAADQGAAA1BgAAjAMAADYGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM5TW9kZWxJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZIQBAMRlAgAAAAAAJIYBADcGAAA4BgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAOQYAADoGAAA7BgAAPAYAAD0GAAA+BgAAPwYAAEAGAABBBgAAQgYAAEMGAABEBgAARQYAAEYGAABHBgAASAYAAEkGAABKBgAASwYAAEwGAABNBgAATgYAAE8GAABQBgAAUQYAAFIGAABTBgAAVAYAAFUGAABWBgAAVwYAAFgGAABZBgAAWgYAAFsGAABcBgAAXQYAAF4GAABfBgAAYAYAAGEGAABiBgAAYwYAAGQGAABlBgAAZgYAAGcGAABoBgAAaQYAAGoGAABrBgAAbAYAAG0GAABuBgAAbwYAAHAGAABxBgAARXN0aW1hdG9yIGhhcyBub3QgaW1wbGVtZW50ZWQgeWV0IQBNb2RlbEltcGwATjJjdjR1c2FjOU1vZGVsSW1wbEUATjJjdjR1c2FjNU1vZGVsRQAAPGoCAAaGAQBQIgEAPGoCAPGFAQAYhgEATjJjdjR1c2FjN1NhbXBsZXJFAAA8agIAMIYBAFAiAQBOMmN2NHVzYWMxM1Byb3NhY1NhbXBsZXJFAAAAPGoCAFCGAQBEhgEAAAAAAOiGAQByBgAAcwYAAHQGAACMAwAAdQYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE4VW5pZm9ybVNhbXBsZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgCUhgEAxGUCAAAAAABwhwEAdgYAAHcGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAB4BgAAeQYAAHoGAABOMmN2NHVzYWMxOFVuaWZvcm1TYW1wbGVySW1wbEUATjJjdjR1c2FjMTRVbmlmb3JtU2FtcGxlckUAAAA8agIAR4cBAESGAQA8agIAKIcBAGSHAQBzYW1wbGVfc2l6ZSA8PSBwb2ludHNfc2l6ZV8Ac2V0UG9pbnRzU2l6ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9zYW1wbGVyLmNwcABzYW1wbGVfc2l6ZV8gPD0gcG9pbnRzX3NpemVfAHNldE5ld1BvaW50c1NpemUAAAAAAAAAcIgBAHsGAAB8BgAAfQYAAIwDAAB+BgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTdQcm9zYWNTYW1wbGVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAByIAQDEZQIAAAAAAOyIAQB/BgAAgAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEGAACCBgAAgwYAAIQGAACFBgAAhgYAAFByb3NhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3UHJvc2FjU2FtcGxlckltcGxFADxqAgDOiAEAbIYBAENoYW5naW5nIHBvaW50cyBzaXplIGluIFBST1NBQyByZXF1aXJlcyB0byBjaGFuZ2UgYWxzbyB0ZXJtaW5hdGlvbiBjcml0ZXJpYSEgVXNlIFBST1NBQyBzaW1wbGVyIHZlcnNpb24AAAAAANSJAQCHBgAAiAYAAIkGAACMAwAAigYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIAfIkBAMRlAgAAAAAAeIoBAIsGAACMBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAjQYAAI4GAACPBgAAUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsAE4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRQBOMmN2NHVzYWMxN1Byb2dyZXNzaXZlTmFwc2FjRQAAADxqAgBMigEARIYBADxqAgAqigEAbIoBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIFAtTkFQU0FDIQAAAAAAAFCLAQCQBgAAkQYAAJIGAACMAwAAkwYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgD8igEAxGUCAAAAAAAEjAEAlAYAAJUGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACWBgAAlwYAAJgGAABwb2ludHNfc2l6ZV8gPj0gc2FtcGxlX3NpemVfAE5hcHNhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFAE4yY3Y0dXNhYzEzTmFwc2FjU2FtcGxlckUAADxqAgDdiwEARIYBADxqAgC/iwEA+IsBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIE5BUFNBQyEAAAAAAAAAAOiMAQCZBgAAmgYAAJsGAACMAwAAnAYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgCIjAEAxGUCAAAAAACwjQEAWQQAAJ0GAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACeBgAAnwYAAE4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjdTdGFuZGFyZFRlcm1pbmF0aW9uQ3JpdGVyaWFFAE4yY3Y0dXNhYzE5VGVybWluYXRpb25Dcml0ZXJpYUUAPGoCAHiNAQBQIgEAPGoCAFCNAQCYjQEAPGoCACSNAQCkjQEAAAAAACyOAQCgBgAAoQYAAKIGAACMAwAAowYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDYjQEAxGUCAAAAAACwjgEAWQQAAKQGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAClBgAApgYAAE4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEUATjJjdjR1c2FjMTVTUFJUVGVybWluYXRpb25FADxqAgCIjgEAmI0BADxqAgBojgEApI4BAAAAAAA0jwEApwYAAKgGAACpBgAAjAMAAKoGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNlNQUlRQTmFwc2FjVGVybWluYXRpb25JbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgDYjgEAxGUCAAAAAADIjwEAqwYAAKwGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACtBgAArgYAAE4yY3Y0dXNhYzI2U1BSVFBOYXBzYWNUZXJtaW5hdGlvbkltcGxFAE4yY3Y0dXNhYzIyU1BSVFBOYXBzYWNUZXJtaW5hdGlvbkUAAAA8agIAl48BAJiNAQA8agIAcI8BALyPAQAAAAAAUJABAK8GAACwBgAAsQYAAIwDAACyBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAPCPAQDEZQIAAAAAAOiQAQCzBgAAtAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAALUGAAC2BgAATjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjVQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhRQA8agIAtpABAJiNAQA8agIAjJABANyQAQBhbGdvcml0aG0AdHJlZXMAYnJhbmNoaW5nAGl0ZXJhdGlvbnMAY2VudGVyc19pbml0AHRhcmdldF9wcmVjaXNpb24AYnVpbGRfd2VpZ2h0AG1lbW9yeV93ZWlnaHQAc2FtcGxlX2ZyYWN0aW9uAGxlYWZfc2l6ZQB0YWJsZV9udW1iZXIAbXVsdGlfcHJvYmVfbGV2ZWwAY2hlY2tzAGVwcwBzb3J0ZWQAZXhwbG9yZV9hbGxfdHJlZXMAAAAAAADMkwEA3QYAAN4GAADfBgAA4AYAAOEGAADiBgAA4wYAAOQGAABVbmtub3duL3Vuc3VwcG9ydGVkIGRpc3RhbmNlIHR5cGUAYnVpbGQAL3NyYy9tb2R1bGVzL2ZsYW5uL3NyYy9taW5pZmxhbm4uY3BwAHJlbGVhc2UAa25uU2VhcmNoAG1heFJlc3VsdHMgPiAwAHJhZGl1c1NlYXJjaABMU0ggaW5kZXggZG9lcyBub3Qgc3VwcG9ydCByYWRpdXNTZWFyY2ggb3BlcmF0aW9uAHdiAENhbiBub3Qgb3BlbiBmaWxlICVzIGZvciB3cml0aW5nIEZMQU5OIGluZGV4CgBzYXZlAHJiAFJlYWRpbmcgRkxBTk4gaW5kZXggZXJyb3I6IHRoZSBzYXZlZCBkYXRhIHNpemUgKCVkLCAlZCkgb3IgdHlwZSAoJWQpIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwYXNzZWQgb25lICglZCwgJWQpLCAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZmVhdHVyZSB0eXBlICVkIGZvciB0aGUgaW5kZXggdHlwZSAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlzdGFuY2UgdHlwZSAlZAoATjJjdjVmbGFubjVJbmRleEUAABRqAgC5kwEASW52YWxpZCBpbmRleCBmaWxlLCBjYW5ub3QgcmVhZABON2N2Zmxhbm4xNEZMQU5ORXhjZXB0aW9uRQAAPGoCAPSTAQDU7QAARkxBTk5fSU5ERVgASW52YWxpZCBpbmRleCBmaWxlLCB3cm9uZyBzaWduYXR1cmUAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9nZW5lcmFsLmgAAAAAAAAQlAEA4wMAAOUGAADnAwAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBB4KkGC9MZuJUBAOYGAADnBgAA6AYAAOkGAADqBgAA6wYAAOwGAADtBgAA7gYAAO8GAADwBgAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TMF85ZW1wdHlfYW55RUVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJTlMwXzllbXB0eV9hbnlFRUUATjdjdmZsYW5uN2FueWltcGwxNWJhc2VfYW55X3BvbGljeUUAABRqAgB/lQEAPGoCAESVAQCklQEAPGoCABCVAQCslQEATjdjdmZsYW5uN2FueWltcGw5ZW1wdHlfYW55RQAAAAAUagIAxJUBAFtlbXB0eV9hbnldAAAAAACQlgEA8QYAAPIGAADzBgAA9AYAAPUGAAD2BgAA9wYAAPgGAAD5BgAA7wYAAPoGAABON2N2Zmxhbm43YW55aW1wbDE2c21hbGxfYW55X3BvbGljeUlpRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlpRUUAAAAAPGoCAFSWAQCklQEAPGoCACyWAQCElgEAAAAAADSXAQD7BgAA/AYAAP0GAAD+BgAA/wYAAAAHAAABBwAAAgcAAAMHAADvBgAABAcAAE43Y3ZmbGFubjdhbnlpbXBsMTZzbWFsbF9hbnlfcG9saWN5SWZFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWZFRQAAAAA8agIA+JYBAKSVAQA8agIA0JYBACiXAQAAAAAA2JcBAAUHAAAGBwAABwcAAAgHAAAJBwAACgcAAAsHAAAMBwAADQcAAO8GAAAOBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJYkVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJYkVFAAAAADxqAgCclwEApJUBADxqAgB0lwEAzJcBAAAAAACkmAEADwcAABAHAAARBwAAEgcAABMHAAAUBwAAFQcAABYHAAAXBwAA7wYAABgHAABON2N2Zmxhbm43YW55aW1wbDE0YmlnX2FueV9wb2xpY3lJTlNfMTdmbGFubl9hbGdvcml0aG1fdEVFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SU5TXzE3Zmxhbm5fYWxnb3JpdGhtX3RFRUUAADxqAgBUmAEApJUBADxqAgAYmAEAmJgBAE43Y3ZmbGFubjE3Zmxhbm5fYWxnb3JpdGhtX3RFAAAAyGkCALCYAQAAAAAAoJkBABkHAAAaBwAAGwcAABwHAAAdBwAAHgcAAB8HAAAgBwAAIQcAAO8GAAAiBwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TXzIwZmxhbm5fY2VudGVyc19pbml0X3RFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU18yMGZsYW5uX2NlbnRlcnNfaW5pdF90RUVFAAAAADxqAgBLmQEApJUBADxqAgAMmQEAlJkBAE43Y3ZmbGFubjIwZmxhbm5fY2VudGVyc19pbml0X3RFAAAAAMhpAgCsmQEAAAAAAOyaAQAjBwAAJAcAACUHAAAmBwAAJwcAACgHAAApBwAAKgcAACsHAADvBgAALAcAAE43Y3ZmbGFubjdhbnlpbXBsMTRiaWdfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUAAAAAPGoCAHGaAQCklQEAPGoCAAyaAQDgmgEATjdjdmZsYW5uN2FueWltcGwxMmJhZF9hbnlfY2FzdEUAAAAAFGoCAPiaAQAAAAAAuJsBAC0HAAAuBwAALwcAADAHAAAxBwAAMgcAADMHAAA0BwAANQcAAO8GAAA2BwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SWRFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWRFRQAAPGoCAH6bAQCklQEAPGoCAFibAQCsmwEAdHlwZT0lZAoAYnVpbGRJbmRleF8AT25seSBjb250aW51b3VzIGFycmF5cyBhcmUgc3VwcG9ydGVkAAAAAAAAAIycAQA3BwAAOAcAADkHAAA6BwAAOwcAADwHAAA9BwAAPgcAAD8HAABABwAAQQcAAEIHAABDBwAATjdjdmZsYW5uNUluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18xMEhhbW1pbmdMVVRFRUUAFGoCAF+cAQA8agIAPJwBAIScAQBxdWVyaWVzLmNvbHMgPT0gdmVjbGVuKCkAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9ubl9pbmRleC5oAGluZGljZXMucm93cyA+PSBxdWVyaWVzLnJvd3MAZGlzdHMucm93cyA+PSBxdWVyaWVzLnJvd3MAaW50KGluZGljZXMuY29scykgPj0ga25uAGludChkaXN0cy5jb2xzKSA+PSBrbm4AAAAAAAAAAOidAQBEBwAARQcAAEYHAABHBwAASAcAAEkHAABKBwAASwcAAE43Y3ZmbGFubjE4S05OVW5pcXVlUmVzdWx0U2V0SWlFRQBON2N2Zmxhbm4xNVVuaXF1ZVJlc3VsdFNldElpRUUATjdjdmZsYW5uOVJlc3VsdFNldElpRUUAAAAAFGoCALmdAQA8agIAmp0BANSdAQA8agIAeJ0BANydAQAAAAAA3J0BAEQHAABMBwAARgcAAOoDAABIBwAA6gMAAEoHAABLBwAASSBjYW4gb25seSBzZWFyY2ggb25lIGZlYXR1cmUgYXQgYSB0aW1lIGZvciByYW5nZSBzZWFyY2gKAHF1ZXJ5LmNvbHMgPT0gdmVjbGVuKCkAaW5kaWNlcy5jb2xzID09IGRpc3RzLmNvbHMAAAAAANieAQBEBwAATQcAAE4HAABPBwAAUAcAAFEHAABKBwAASwcAAE43Y3ZmbGFubjIxUmFkaXVzVW5pcXVlUmVzdWx0U2V0SWlFRQAAAAA8agIAsJ4BANydAQBNaXNzaW5nIHBhcmFtZXRlciAnACcgaW4gdGhlIHBhcmFtZXRlcnMgZ2l2ZW4ARGF0YXR5cGUgb2Ygc2F2ZWQgaW5kZXggaXMgZGlmZmVyZW50IHRoYW4gb2YgdGhlIG9uZSB0byBiZSBjcmVhdGVkLgBUaGUgaW5kZXggc2F2ZWQgYmVsb25ncyB0byBhIGRpZmZlcmVudCBkYXRhc2V0AFVua25vd24gaW5kZXggdHlwZQAAAAAAAKABAFIHAABTBwAAVAcAAFUHAABWBwAAVwcAAFgHAABZBwAAWgcAAFsHAABcBwAAXQcAAF4HAABON2N2Zmxhbm4xMUxpbmVhckluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQAAADxqAgDUnwEAhJwBAAAAAAAAAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIAAAAAKihAQBfBwAAYAcAAGEHAABVBwAAVgcAAGIHAABjBwAAZAcAAGUHAABmBwAAZwcAAGgHAABpBwAAVW5rbm93biBhbGdvcml0aG0gZm9yIGNob29zaW5nIGluaXRpYWwgY2VudGVycy4ATjdjdmZsYW5uMTFLTWVhbnNJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAfKEBAIScAQBBwcMGC8ZOAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIQnJhbmNoaW5nIGZhY3RvciBtdXN0IGJlIGF0IGxlYXN0IDIARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeS4KAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAAAAXKQBAF8DAABqBwAAawcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMTBIYW1taW5nTFVURUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJUFBoRUUAADxqAgAUpAEAqK4AAENhbm5vdCByZWFkIGZyb20gZmlsZQByZXN1bHQuZnVsbCgpAGZpbmROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rbWVhbnNfaW5kZXguaAAAAPCkAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+LCBIYXNoYWJsZVQgPSBpbnRdAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vaGVhcC5oAEZhaWxlZCB0byBpbnNlcnQgdGhlIGhlYXAgaW50byBpdHMgbWVtb3J5IHBvb2wAc3RhdGljX2Nhc3Q8aW50PihlbXBsYWNlUmVzdWx0LnNlY29uZCkAMQDwpAEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAQ2Fubm90IG1vZGlmeSBhIGhlYXAgdGhhdCBpcyBjdXJyZW50bHkgYWNjZXNzZWQgYnkgYW5vdGhlciBjYWxsZXIAaGVhcEl0LT5zZWNvbmQuaGVhcFB0ci51c2VfY291bnQoKQBjbGVhbnVwSXQgIT0gaGVhcEl0AGdldFBvb2xlZEluc3RhbmNlAAAAAAAA6KcBAGwHAABtBwAAbgcAAIwDAABvBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLTWVhbnNJbmRleElOUzFfMTBIYW1taW5nTFVURUUxMEtNZWFuc05vZGVFaUVFRUVOU185YWxsb2NhdG9ySVNBX0VFRUUAAAAAPGoCAFinAQDEZQIAAAAAAGyoAQBwBwAAcQcAAHIHAABVBwAAVgcAAHMHAAB0BwAAdQcAAHYHAAB3BwAAeAcAAHkHAAB6BwAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMTBIYW1taW5nTFVURUVFAAAAPGoCADCoAQCEnAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9oaWVyYXJjaGljYWxfY2x1c3RlcmluZ19pbmRleC5oAAAAAOCoAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6SGFtbWluZ0xVVD46Ok5vZGUgKiwgaW50Pj46OmdldFBvb2xlZEluc3RhbmNlKGNvbnN0IEhhc2hhYmxlVCAmLCBjb25zdCBpbnQsIGludCkgW1QgPSBjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkhhbW1pbmdMVVQ+OjpOb2RlICosIGludD4sIEhhc2hhYmxlVCA9IGludF0A4KgBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAADgqgEAewcAAHwHAAB9BwAAjAMAAH4HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8yN0hpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleElOUzFfMTBIYW1taW5nTFVURUU0Tm9kZUVpRUVFRU5TXzlhbGxvY2F0b3JJU0FfRUVFRQAAADxqAgBIqgEAxGUCAAAAAABQqwEAfwcAAIAHAACBBwAAggcAAFYHAACDBwAAhAcAAIUHAACGBwAAhwcAAIgHAACJBwAAigcAAE43Y3ZmbGFubjhMc2hJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAKKsBAIScAQBJbnZhbGlkIGtleV9zaXplICg9JWQpLiBWYWxpZCB2YWx1ZXMgZm9yIHlvdXIgc3lzdGVtIGFyZSAlZCA8PSBrZXlfc2l6ZSA8ICVkLgBpbml0aWFsaXplAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vbHNoX3RhYmxlLmgAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9sc2hfaW5kZXguaAAAAAAAAKCsAQCLBwAAjAcAAI0HAACOBwAAjwcAAJAHAACRBwAAkgcAAJMHAACUBwAAlQcAAJYHAACXBwAATjdjdmZsYW5uNUluZGV4SU5TXzJMMklmRUVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18yTDJJZkVFRUUAFGoCAHmsAQA8agIAXKwBAJisAQAAAAAARK0BAJgHAACZBwAAmgcAAJsHAACcBwAAnQcAAJ4HAACfBwAATjdjdmZsYW5uMThLTk5VbmlxdWVSZXN1bHRTZXRJZkVFAE43Y3ZmbGFubjE1VW5pcXVlUmVzdWx0U2V0SWZFRQBON2N2Zmxhbm45UmVzdWx0U2V0SWZFRQAAAAAUagIAFa0BADxqAgD2rAEAMK0BADxqAgDUrAEAOK0BAAAAAAA4rQEAmAcAAKAHAACaBwAA6gMAAJwHAADqAwAAngcAAJ8HAAAAAAAAyK0BAJgHAAChBwAAogcAAKMHAACkBwAApQcAAJ4HAACfBwAATjdjdmZsYW5uMjFSYWRpdXNVbmlxdWVSZXN1bHRTZXRJZkVFAAAAADxqAgCgrQEAOK0BAAAAAAA0rgEApgcAAKcHAACoBwAAqQcAAKoHAACrBwAArAcAAK0HAACuBwAArwcAALAHAACxBwAAsgcAAE43Y3ZmbGFubjExTGluZWFySW5kZXhJTlNfMkwySWZFRUVFADxqAgAQrgEAmKwBAAAAAADArgEAswcAALQHAAC1BwAAtgcAAKoHAAC3BwAAuAcAALkHAAC6BwAAuwcAALwHAAC9BwAAvgcAAGRpbQBsZWFmX21heF9zaXplAHJlb3JkZXIATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDJJZkVFRUUAPGoCAJauAQCYrAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfc2luZ2xlX2luZGV4LmgAAAAAAABMrwEAvwcAAMAHAADBBwAAwgcAAMMHAABON2N2Zmxhbm4xOEtOTlNpbXBsZVJlc3VsdFNldElmRUUAAAA8agIAKK8BADCtAQAAAAAAuK8BAMQHAADFBwAAxgcAAKkHAACqBwAAxwcAAMgHAADJBwAAygcAAMsHAADMBwAAzQcAAM4HAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFRQA8agIAlK8BAJisAQAAAAAAoLABAM8HAADQBwAA0QcAANIHAADTBwAA1AcAANUHAADWBwAA1wcAAO8GAADYBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUVFRQAAPGoCAEOwAQCklQEAPGoCAPivAQCUsAEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUUAAAAUagIAAbEBAPRqAgDXsAEAAAAAACyxAQD0agIArLABAAAAAAA0sQEASXQgZG9lc24ndCBtYWtlIGFueSBzZW5zZSB0byB1c2UgbW9yZSB0aGFuIG9uZSB0cmVlIGZvciBleGFjdCBzZWFyY2gAZ2V0RXhhY3ROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfaW5kZXguaABnZXROZWlnaGJvcnMADLIBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAAyyAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAA2LMBANkHAADaBwAA2wcAAIwDAADcBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwySWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAWLMBAMRlAgAAAAAARLQBAN0HAADeBwAA3wcAAKkHAACqBwAA4AcAAOEHAADiBwAA4wcAAOQHAADlBwAA5gcAAOcHAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMklmRUVFRQA8agIAILQBAJisAQAAAAAAsLQBAF8DAADoBwAA6QcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwySWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAZLQBAKiuAADYtAEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAA2LQBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAC4tgEA6gcAAOsHAADsBwAAjAMAAO0HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDJJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCADC2AQDEZQIAAAAAACi3AQDuBwAA7wcAAPAHAACpBwAAqgcAAPEHAADyBwAA8wcAAPQHAAD1BwAA9gcAAPcHAAD4BwAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDJJZkVFRUUAADxqAgAAtwEAmKwBAEJ1aWxkaW5nIGttZWFucyB0cmVlLi4uCgBCdWlsZGluZyBrZHRyZWUgdHJlZS4uLgoAAAAAAAAAzLcBAPkHAAD6BwAA+wcAAKkHAACqBwAA/AcAAP0HAAD+BwAA/wcAAAAIAAABCAAAAggAAAMIAABON2N2Zmxhbm4xNEF1dG90dW5lZEluZGV4SU5TXzJMMklmRUVFRQAAPGoCAKS3AQCYrAEALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAQXV0b3R1bmVkIHBhcmFtZXRlcnM6CgAlcwBTZWFyY2ggcGFyYW1ldGVyczoKAEVudGVyaW5nIGF1dG90dW5pbmcsIGRhdGFzZXQgc2l6ZTogJWQsIHNhbXBsZVNpemU6ICVkLCB0ZXN0U2FtcGxlU2l6ZTogJWQsIHRhcmdldCBwcmVjaXNpb246ICVnCgBDaG9vc2luZyBsaW5lYXIsIGRhdGFzZXQgdG9vIHNtYWxsCgBDb21wdXRpbmcgZ3JvdW5kIHRydXRoLi4uIAoAQXV0b3R1bmluZyBwYXJhbWV0ZXJzLi4uCgBLTUVBTlMsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS01lYW5zVHJlZSB1c2luZyBwYXJhbXM6IG1heF9pdGVyYXRpb25zPSVkLCBicmFuY2hpbmc9JWQKAEtNZWFuc1RyZWUgYnVpbGRUaW1lPSVnLCBzZWFyY2hUaW1lPSVnLCBidWlsZF93ZWlnaHQ9JWcKACAgTm9kZXMgIFByZWNpc2lvbiglKSAgIFRpbWUocykgICBUaW1lL3ZlYyhtcykgIE1lYW4gZGlzdAoALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBHb3QgYXMgY2xvc2UgYXMgSSBjYW4KAFN0YXJ0IGxpbmVhciBlc3RpbWF0aW9uCgBObyBuZWVkIGZvciBsaW5lYXIgZXN0aW1hdGlvbgoAbWF0Y2hlcy5jb2xzPSVkLCBubj0lZAoAR3JvdW5kIHRydXRoIGlzIG5vdCBjb21wdXRlZCBmb3IgYXMgbWFueSBuZWlnaGJvcnMgYXMgcmVxdWVzdGVkACU4ZCAlMTAuNGcgJTEwLjVnICUxMC41ZyAlMTAuNWcKAAAAAAAADLsBAL8HAAAECAAABQgAAAYIAAAHCAAATjdjdmZsYW5uMTJLTk5SZXN1bHRTZXRJZkVFADxqAgDwugEAMK0BAEtELVRSRUUsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS0RUcmVlIHVzaW5nIHBhcmFtczogdHJlZXM9JWQKAEtEVHJlZSBidWlsZFRpbWU9JWcsIHNlYXJjaFRpbWU9JWcKACA6IABiZXN0SW5kZXhfICE9IE5VTEwgJiYgIlJlcXVpcmVzIGEgdmFsaWQgaW5kZXgiAGVzdGltYXRlU2VhcmNoUGFyYW1zAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vYXV0b3R1bmVkX2luZGV4LmgAQ29tcHV0aW5nIGdyb3VuZCB0cnV0aAoARXN0aW1hdGluZyBudW1iZXIgb2YgY2hlY2tzCgBLTWVhbnMgYWxnb3JpdGhtLCBlc3RpbWF0aW5nIGNsdXN0ZXIgYm9yZGVyIGZhY3RvcgoAT3B0aW11bSBjYl9pbmRleDogJWcKAFJlcXVpcmVkIG51bWJlciBvZiBjaGVja3M6ICVkIAoAAAAAAAAAABy9AQAICAAACQgAAAoIAACpBwAAqgcAAAsIAAAMCAAADQgAAA4IAAAPCAAAEAgAABEIAAASCAAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMkwySWZFRUVFADxqAgDovAEAmKwBAES9AQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OkhpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAES9AQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAQL8BABMIAAAUCAAAFQgAAIwDAAAWCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlMxXzJMMklmRUVFNE5vZGVFZkVFRUVOU185YWxsb2NhdG9ySVNCX0VFRUUAPGoCALC+AQDEZQIAAAAAAKi/AQAXCAAAGAgAABkIAAAaCAAAqgcAABsIAAAcCAAAHQgAAB4IAAAfCAAAIAgAACEIAAAiCAAATjdjdmZsYW5uOExzaEluZGV4SU5TXzJMMklmRUVFRQA8agIAiL8BAJisAQBMU0ggaXMgbm90IGltcGxlbWVudGVkIGZvciB0aGF0IHR5cGUATHNoVGFibGUAZ2V0S2V5AAAAAAAAAABswAEAIwgAACQIAAAlCAAAJggAACcIAAAoCAAAKQgAACoIAAArCAAALAgAAC0IAAAuCAAALwgAAE43Y3ZmbGFubjVJbmRleElOU18yTDFJZkVFRUUATjdjdmZsYW5uN05OSW5kZXhJTlNfMkwxSWZFRUVFABRqAgBFwAEAPGoCACjAAQBkwAEAAAAAANjAAQAwCAAAMQgAADIIAAAzCAAANAgAADUIAAA2CAAANwgAADgIAAA5CAAAOggAADsIAAA8CAAATjdjdmZsYW5uMTFMaW5lYXJJbmRleElOU18yTDFJZkVFRUUAPGoCALTAAQBkwAEAAAAAAEzBAQA9CAAAPggAAD8IAABACAAANAgAAEEIAABCCAAAQwgAAEQIAABFCAAARggAAEcIAABICAAATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDFJZkVFRUUAAAA8agIAIMEBAGTAAQAAAAAAuMEBAEkIAABKCAAASwgAADMIAAA0CAAATAgAAE0IAABOCAAATwgAAFAIAABRCAAAUggAAFMIAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFRQA8agIAlMEBAGTAAQAAAAAAoMIBAFQIAABVCAAAVggAAFcIAABYCAAAWQgAAFoIAABbCAAAXAgAAO8GAABdCAAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUVFRQAAPGoCAEPCAQCklQEAPGoCAPjBAQCUwgEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUUAAAAUagIAAcMBAPRqAgDXwgEAAAAAACzDAQD0agIArMIBAAAAAAA0wwEAcMMBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMTxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAHDDAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAPMUBAF4IAABfCAAAYAgAAIwDAABhCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwxSWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAvMQBAMRlAgAAAAAAqMUBAGIIAABjCAAAZAgAADMIAAA0CAAAZQgAAGYIAABnCAAAaAgAAGkIAABqCAAAawgAAGwIAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMUlmRUVFRQA8agIAhMUBAGTAAQAAAAAAFMYBAF8DAABtCAAAbggAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwxSWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAyMUBAKiuAAA8xgEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAAPMYBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAAcyAEAbwgAAHAIAABxCAAAjAMAAHIIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDFJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCAJTHAQDEZQIAAAAAAIzIAQBzCAAAdAgAAHUIAAAzCAAANAgAAHYIAAB3CAAAeAgAAHkIAAB6CAAAewgAAHwIAAB9CAAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDFJZkVFRUUAADxqAgBkyAEAZMABAAAAAAD8yAEAfggAAH8IAACACAAAMwgAADQIAACBCAAAgggAAIMIAACECAAAhQgAAIYIAACHCAAAiAgAAE43Y3ZmbGFubjE0QXV0b3R1bmVkSW5kZXhJTlNfMkwxSWZFRUVFAAA8agIA1MgBAGTAAQBBkJIHCyIBAAAABQAAAAoAAAAPAAAAEAAAACAAAABAAAAAgAAAAAABAEHAkgcLyQgBAAAABAAAAAgAAAAQAAAAIAAAAAAAAADEyQEAiQgAAIoIAACLCAAAMwgAADQIAACMCAAAjQgAAI4IAACPCAAAkAgAAJEIAACSCAAAkwgAAE43Y3ZmbGFubjI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TXzJMMUlmRUVFRQA8agIAkMkBAGTAAQDsyQEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4sIEhhc2hhYmxlVCA9IGludF0AAADsyQEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAAAAAAOjLAQCUCAAAlQgAAJYIAACMAwAAlwgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU43Y3ZmbGFubjRIZWFwSU5TMV8xMkJyYW5jaFN0cnVjdElQTlMxXzI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TMV8yTDFJZkVFRTROb2RlRWZFRUVFTlNfOWFsbG9jYXRvcklTQl9FRUVFADxqAgBYywEAxGUCAAAAAABQzAEAmAgAAJkIAACaCAAAmwgAADQIAACcCAAAnQgAAJ4IAACfCAAAoAgAAKEIAACiCAAAowgAAE43Y3ZmbGFubjhMc2hJbmRleElOU18yTDFJZkVFRUUAPGoCADDMAQBkwAEAKHNpemVfdClrbm4gPD0gaW5kZXhfLT5zaXplKCkAcnVuS25uU2VhcmNoXwBxdWVyeS50eXBlKCkgPT0gdHlwZSAmJiBpbmRpY2VzLnR5cGUoKSA9PSBDVl8zMlMgJiYgZGlzdHMudHlwZSgpID09IGR0eXBlAHF1ZXJ5LmlzQ29udGludW91cygpICYmIGluZGljZXMuaXNDb250aW51b3VzKCkgJiYgZGlzdHMuaXNDb250aW51b3VzKCkAcnVuUmFkaXVzU2VhcmNoXwAxLjYuMTAARGF0YVR5cGU8RWxlbWVudFR5cGU+Ojp0eXBlID09IGRhdGEudHlwZSgpICYmIGRhdGEuaXNDb250aW51b3VzKCkAbG9hZEluZGV4XwAAAAEAAAADAAAABABBlJsHCwECAEGgmwcL82QFAAAAAAAAAIjSAQCkCAAApQgAAKYIAABpbWFnZUNvdW50ID4gMABzZXQAL3NyYy9tb2R1bGVzL2ZlYXR1cmVzMmQvc3JjL21hdGNoZXJzLmNwcABkaW0gPiAwAGRlc2NyaXB0b3JzW2ldLmNvbHMgPT0gZGltICYmIGRlc2NyaXB0b3JzW2ldLnR5cGUoKSA9PSB0eXBlAChnbG9iYWxEZXNjSWR4Pj0wKSAmJiAoZ2xvYmFsRGVzY0lkeCA8IHNpemUoKSkAZ2V0TG9jYWxJZHgAAAAAAABM0gEApwgAAKgIAACpCAAAqggAAKsIAACsCAAAXwQAAGAEAACtCAAA6gMAAK4IAADqAwAA6gMAAOoDAABfZGVzY3JpcHRvcnMuaXNVTWF0KCkgfHwgX2Rlc2NyaXB0b3JzLmlzVU1hdFZlY3RvcigpIHx8IF9kZXNjcmlwdG9ycy5pc01hdCgpIHx8IF9kZXNjcmlwdG9ycy5pc01hdFZlY3RvcigpAGFkZABtYXNrcy5zaXplKCkgPT0gaW1hZ2VDb3VudABjaGVja01hc2tzAG1hc2tzW2ldLnR5cGUoKSA9PSBDVl84VUMxICYmIG1hc2tzW2ldLnJvd3MgPT0gcXVlcnlEZXNjcmlwdG9yc0NvdW50ICYmIG1hc2tzW2ldLmNvbHMgPT0gcm93cwBtYXhEaXN0YW5jZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjplcHNpbG9uKCkAcmFkaXVzTWF0Y2gAAAAAAACs0gEArwgAALAIAACxCAAAsggAALMIAACsCAAAXwQAAGAEAAC0CAAAtQgAALYIAAC3CAAAuAgAALkIAABfaW5kZXhQYXJhbXMARmxhbm5CYXNlZE1hdGNoZXIAX3NlYXJjaFBhcmFtcwB0cmFpbkRlc2NDb2xsZWN0aW9uLnNpemUoKSA9PSAwAHRyYWluAGluZGV4UGFyYW1zAGlwLnR5cGUoKSA9PSBGaWxlTm9kZTo6U0VRAHJlYWQAaXBbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAbmFtZQB0eXBlAADs0AEAy80BAKkEAAADAAAAK9EBACzRAQA20QEAdmlydHVhbCB2b2lkIGN2OjpGbGFubkJhc2VkTWF0Y2hlcjo6cmVhZChjb25zdCBjdjo6RmlsZU5vZGUgJikAAChpbnQpdHlwZQAoaW50KUxBU1RfVkFMVUVfRkxBTk5fSU5ERVhfVFlQRQB2YWx1ZQBzZWFyY2hQYXJhbXMAc3AudHlwZSgpID09IEZpbGVOb2RlOjpTRVEAc3BbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAAOzQAQDLzQEA0gQAAAMAAAAr0QEALNEBADbRAQBkZWVwIGNsb25lIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGltcGxlbWVudGVkLCBiZWNhdXNlIEZsYW5uOjpJbmRleCBoYXMgbm90IGNvcHkgY29uc3RydWN0b3Igb3IgY2xvbmUgbWV0aG9kIABjbG9uZQBOMmN2MTdEZXNjcmlwdG9yTWF0Y2hlckUAADxqAgAy0gEAUCIBAE4yY3YxN0Rlc2NyaXB0b3JNYXRjaGVyMjBEZXNjcmlwdG9yQ29sbGVjdGlvbkUAABRqAgBY0gEATjJjdjE3Rmxhbm5CYXNlZE1hdGNoZXJFAAAAADxqAgCQ0gEATNIBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGTTAQC6CAAAuwgAALwIAACMAwAAvQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxN0ZsYW5uQmFzZWRNYXRjaGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQA8agIAGNMBAMRlAgAAAAAA1NMBAL4IAAC/CAAAwAgAAIwDAADBCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjVJbmRleEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAIzTAQDEZQIAAAAAAEjUAQDCCAAAwwgAAMQIAACMAwAAxQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMUluZGV4UGFyYW1zRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA/NMBAMRlAgBObyBlbGVtZW50IG5hbWUgaGFzIGJlZW4gZ2l2ZW4Ab3BlcmF0b3I8PAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9wZXJzaXN0ZW5jZS5ocHAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAAAdNUBAMYIAADHCAAAyAgAAIwDAADJCAAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAGdUBAMRlAgAAAAAAUNYBAMoIAADLCAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAzAgAAM0IAADOCAAAzwgAANAIAADRCAAA0ggAANMIAADUCAAA1QgAAE4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFAE4yY3Y0dXNhYzIyVW5pZm9ybVJhbmRvbUdlbmVyYXRvckUATjJjdjR1c2FjMTVSYW5kb21HZW5lcmF0b3JFAAAAPGoCABrWAQBQIgEAPGoCAPfVAQA41gEAPGoCANDVAQBE1gEAeNYBAL/WAQDfAAAABQAAAOfWAQAI1wEACtcBAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGw6OnJlc2V0R2VuZXJhdG9yKGludCkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvdXRpbHMuY3BwAG1heCByYW5nZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwADAAbWF4X3JhbmdlXwAAAAA01wEAv9YBAOQAAAADAAAAk9cBAMfXAQDT1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmKQBSYW5kb21HZW5lcmF0b3IuIFN1YnNldCBzaXplIG11c3QgYmUgTEUgdGhhbiByYW5nZSEAc3Vic2V0X3NpemUAbWF4X3JhbmdlAAAAAPzXAQC/1gEACAEAAAMAAACT1wEAZdgBAArXAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlVuaWZvcm1SYW5kb21HZW5lcmF0b3JJbXBsOjpnZW5lcmF0ZVVuaXF1ZVJhbmRvbVNldChzdGQ6OnZlY3RvcjxpbnQ+ICYsIGludCwgaW50KQBzdWJzZXRfc2l6ZV8AAACQ2AEAv9YBAPoAAAADAAAAk9cBAMfXAQAK1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpABDZAQC/1gEAFAEAAAMAAACT1wEAx9cBAIrZAQB2aXJ0dWFsIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJmN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TdWJzZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpAHNpemUxAAAAAAAQ2gEA1ggAANcIAADYCAAAjAMAANkIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzM1JhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAKzZAQDEZQIAAAAAABTbAQDaCAAA2wgAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANwIAABjb250YWluZXJfLnR5cGUoKSA9PSBDVl8zMkYAUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsAE4yY3Y0dXNhYzMzUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyOVJhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoRQBOMmN2NHVzYWMxN05laWdoYm9yaG9vZEdyYXBoRQA8agIA3toBAFAiAQA8agIAtNoBAPzaAQA8agIAhtoBAAjbAQAAAAAAkNsBAN0IAADeCAAA3wgAAIwDAADgCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjE3S0RUcmVlSW5kZXhQYXJhbXNFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADzbAQDEZQIAAAAAAAjcAQDhCAAA4ggAAOMIAACMAwAA5AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMlNlYXJjaFBhcmFtc0VOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALjbAQDEZQIAAAAAAIzcAQDlCAAA5ggAAOcIAACMAwAA6AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2Rmxhbm5OZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADDcAQDEZQIAAAAAAFzdAQDpCAAA6ggAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOsIAADsCAAAa19uZWFyZXN0X25laWdoYm9ycyA8PSBwb2ludHNfc2l6ZQBGbGFubk5laWdoYm9yaG9vZEdyYXBoSW1wbABOMmN2NHVzYWMyNkZsYW5uTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMkZsYW5uTmVpZ2hib3Job29kR3JhcGhFADxqAgAt3QEA/NoBADxqAgAG3QEAUN0BAAAAAADg3QEA7QgAAO4IAADvCAAAjAMAAPAIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNUdyaWROZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgCE3QEAxGUCAAAAAABs3gEA8QgAAPIIAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzCAAATjJjdjR1c2FjMjVHcmlkTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMUdyaWROZWlnaGJvcmhvb2RHcmFwaEUAPGoCAD7eAQD82gEAPGoCABjeAQBg3gEAY24gPT0gMQBtZWFuU2hpZnQA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BwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAA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AAgAGgAIAJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0ACAAtAAgArQAIAG0ACADtAAgAHQAIAJ0ACABdAAgA3QAIAD0ACAC9AAgAfQAIAP0ACAATAAkAEwEJAJMACQCTAQkAUwAJAFMBCQDTAAkA0wEJADMACQAzAQkAswAJALMBCQBzAAkAcwEJAPMACQDzAQkACwAJAAsBCQCLAAkAiwEJAEsACQBLAQkAywAJAMsBCQArAAkAKwEJAKsACQCrAQkAawAJAGsBCQDrAAkA6wEJABsACQAbAQkAmwAJAJsBCQBbAAkAWwEJANsACQDbAQkAOwAJADsBCQC7AAkAuwEJAHsACQB7AQkA+wAJAPsBCQAHAAkABwEJAIcACQCHAQkARwAJAEcBCQDHAAkAxwEJACcACQAnAQkApwAJAKcBCQBnAAkAZwEJAOcACQDnAQkAFwAJABcBCQCXAAkAlwEJAFcACQBXAQkA1wAJANcBCQA3AAkANwEJALcACQC3AQkAdwAJAHcBCQD3AAkA9wEJAA8ACQAPAQkAjwAJAI8BCQBPAAkATwEJAM8ACQDPAQkALwAJAC8BCQCvAAkArwEJAG8ACQBvAQkA7wAJAO8BCQAfAAkAHwEJAJ8ACQCfAQkAXwAJAF8BCQDfAAkA3wEJAD8ACQA/AQkAvwAJAL8BCQB/AAkAfwEJAP8ACQD/AQkAAAAHAEAABwAgAAcAYAAHABAABwBQAAcAMAAHAHAABwAIAAcASAAHACgABwBoAAcAGAAHAFgABwA4AAcAeAAHAAQABwBEAAcAJAAHAGQABwAUAAcAVAAHADQABwB0AAcAAwAIAIMACABDAAgAwwAIACMACACjAAgAYwAIAOMACAAAAAUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQBB0KgIC00BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQBBwKkIC2UBAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABAAAAAUAAAAFAAAABgAAAAYAAAAHAAAABwAAAAgAAAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQBB8KoICyMCAAAAAwAAAAcAAAAAAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBBpKsIC2kBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQaSsCAuzDAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3RyZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAmBYCAKgWAgCzFgIAtBYCAL8WAgDMFgIA1xYCAOsWAgD4FgIAsxYCAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAACYagIAThoCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAmGoCAKgaAgAAAAAAAQAAAExeAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAACYagIAABsCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAJhqAgBcGwIAAAAAAAEAAABMXgAAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAFGoCALgbAgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAABRqAgDgGwIATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAUagIACBwCAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAFGoCADAcAgBB4LgIC1cZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQcC5CAuKDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5v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BhEAAAAREREAQbHhCAshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEHr4QgLAQwAQffhCAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGl4ggLAQ4AQbHiCAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHf4ggLARAAQeviCAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGi4wgLDhIAAAASEhIAAAAAAAAJAEHT4wgLAQsAQd/jCAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEGN5AgLAQwAQZnkCAvtAgwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRi0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgAAAADQqAIAaKkCAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAaW5maW5pdHkAbmFuAEGQ5wgLwwHRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///9jbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwAAAAAAAAAAEg0AgAPBgAAAwkAAAQJAABOU3QzX18yMTdiYWRfZnVuY3Rpb25fY2FsbEUAPGoCACw0AgAUZwIAQeToCAvzDwIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8A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ANAJAABOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAAAJhqAgDYVwIAAAAAAAEAAAAgVwIAAAAAAJhqAgCUVwIAAAAAAAIAAABwUAIAAgAAAPBXAgBBrLAJC5sLCFkCANEJAADSCQAAUgkAANMJAADUCQAA1QkAANYJAADXCQAA2AkAANkJAAD4////CFkCANoJAADbCQAA3AkAAN0JAADeCQAA3wkAAOAJAABOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOXRpbWVfYmFzZUUAFGoCAMFYAgBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUAAAAUagIA3FgCAJhqAgB8WAIAAAAAAAMAAABwUAIAAgAAANRYAgACAAAAAFkCAAAIAAAAAAAA9FkCAOEJAADiCQAAUgkAAOMJAADkCQAA5QkAAOYJAADnCQAA6AkAAOkJAAD4////9FkCAOoJAADrCQAA7AkAAO0JAADuCQAA7wkAAPAJAABOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUAABRqAgDJWQIAmGoCAIRZAgAAAAAAAwAAAHBQAgACAAAA1FgCAAIAAADsWQIAAAgAAAAAAACYWgIA8QkAAPIJAABSCQAA8wkAAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAFGoCAHlaAgCYagIANFoCAAAAAAACAAAAcFACAAIAAACQWgIAAAgAAAAAAAAYWwIA9AkAAPUJAABSCQAA9gkAAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVF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TlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAAACYagIApGUCAAAAAAABAAAAnGUCAAAAAAByZWN1cnNpdmVfbXV0ZXggY29uc3RydWN0b3IgZmFpbGVkAHJlY3Vyc2l2ZV9tdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAc3RvdWxsADogbm8gY29udmVyc2lvbgAlcwoAOiBvdXQgb2YgcmFuZ2UAdmVjdG9yAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHRlcm1pbmF0aW5nAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBzdGQ6OmV4Y2VwdGlvbgAAAAAAFGcCADUKAAA2CgAANwoAAFN0OWV4Y2VwdGlvbgAAAAAUagIABGcCAAAAAABAZwIAnAEAADgKAAA5CgAAU3QxMWxvZ2ljX2Vycm9yADxqAgAwZwIAFGcCAAAAAAB0ZwIAnAEAADoKAAA5CgAAU3QxMmxlbmd0aF9lcnJvcgAAAAA8agIAYGcCAEBnAgBTdDl0eXBlX2luZm8AAAAAFGoCAIBnAgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAAA8agIAmGcCAJBnAgBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAAA8agIAyGcCALxnAgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAAA8agIA+GcCALxnAgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQA8agIAKGgCABxoAgBOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UAAAAAPGoCAFhoAgC8ZwIATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAAAAPGoCAIxoAgAcaAIAAAAAAAxpAgA7CgAAPAoAAD0KAAA+CgAAPwoAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQA8agIA5GgCALxnAgB2AAAA0GgCABhpAgBEbgAA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AABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME5lc3RlZE5hbWVFAAA8agIARH4CANh8AgA6OgBhdXRvAAAAAAD0fgIAYwoAAGQKAABlCgAAZgoAAGcKAABoCgAAVwoAAFgKAABpCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjRGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2VFAAAAADxqAgC0fgIA2HwCAGRlY2x0eXBlKAApAGdzACYmACYAJj0APQBhbGlnbm9mICgAY29uc3RfY2FzdAAsAH4AZHluYW1pY19jYXN0ACoALioALgAvAC89AF4AXj0APT0APj0APgA8PQA8PAA8PD0APAAtAC09ACo9AC0tACE9ACEAbm9leGNlcHQgKAB8fAB8AHw9AC0+KgArACs9ACsrAC0+AHJlaW50ZXJwcmV0X2Nhc3QAJQAlPQA+PgA+Pj0Ac3RhdGljX2Nhc3QAc2l6ZW9mICgAc2l6ZW9mLi4uICgAdHlwZWlkICgAdGhyb3cAdThfX3V1aWRvZnQAdThfX3V1aWRvZnoAd2NoYXJfdABiMEUAYjFFAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydAAAdQBsAHVsAGxsAHVsbABfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABEbkUAbnVsbHB0cgAAAAAAAAAA2IACAFEKAABSCgAAUwoAAFQKAABqCgAAVgoAAFcKAABYCgAAawoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAAA8agIApIACANh8AgAoAAAAAAAAAECBAgBRCgAAUgoAAFMKAABUCgAAbAoAAFYKAABXCgAAWAoAAG0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Qm9vbEV4cHJFADxqAgAUgQIA2HwCAHRydWUAZmFsc2UAAAAAAAC8gQIAUQoAAFIKAABTCgAAVAoAAG4KAABWCgAAVwoAAFgKAABvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGbG9hdExpdGVyYWxJbXBsSWZFRQA8agIAhIECANh8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T0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQAAADxqAgBMjAIA2HwCAGRuAG9uAAAAAAAAAOyMAgBRCgAAUgoAAFMKAABUCgAAoQoAAFYKAABXCgAAWAoAAKIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4RHRvck5hbWVFADxqAgDAjAIA2HwCAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3I8PT4AAAAAAABMjwIAUQoAAFIKAABTCgAAVAoAAKMKAABWCgAAVwoAAFgKAACkCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJDb252ZXJzaW9uT3BlcmF0b3JUeXBlRQAAPGoCABCPAgDYfAIAb3BlcmF0b3IgAAAAAAAAAMSPAgBRCgAAUgoAAFMKAABUCgAApQoAAFYKAABXCgAAWAoAAKYKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAPGoCAJCPAgDYfAIAb3BlcmF0b3IiIiAAAAAAAECQAgBRCgAAUgoAAFMKAABUCgAApwoAAFYKAACoCgAAWAoAAKkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOUdsb2JhbFF1YWxpZmllZE5hbWVFADxqAgAIkAIA2HwCAAAAAACokAIAUQoAAFIKAABTCgAAVAoAAKoKAABWCgAAVwoAAFgKAACrCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBNZW1iZXJFeHByRQAAPGoCAHiQAgDYfAIAAAAAABiRAgBRCgAAUgoAAFMKAABUCgAArAoAAFYKAABXCgAAWAoAAK0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOEFycmF5U3Vic2NyaXB0RXhwckUAADxqAgDgkAIA2HwCAClbAF0AAAAAAAAAAIiRAgBRCgAAUgoAAFMKAABUCgAArgoAAFYKAABXCgAAWAoAAK8KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEJyYWNlZEV4cHJFAAA8agIAWJECANh8AgAgPSAAAAAAAPiRAgBRCgAAUgoAAFMKAABUCgAAsAoAAFYKAABXCgAAWAoAALEKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUJyYWNlZFJhbmdlRXhwckUAPGoCAMSRAgDYfAIAIC4uLiAAAAAAAAAAbJICAFEKAABSCgAAUwoAAFQKAACyCgAAVgoAAFcKAABYCgAAswoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEySW5pdExpc3RFeHByRQAAAAA8agIAOJICANh8AgAAAAAA1JICAFEKAABSCgAAUwoAAFQKAAC0CgAAVgoAAFcKAABYCgAAtQoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExUG9zdGZpeEV4cHJFADxqAgCkkgIA2HwCAG53AG5hAHBpAAAAAAAAAABEkwIAUQoAAFIKAABTCgAAVAoAALYKAABWCgAAVwoAAFgKAAC3CgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlN05ld0V4cHJFAAA8agIAGJMCANh8AgA6Om9wZXJhdG9yIABuZXcAAAAAAMCTAgBRCgAAUgoAAFMKAABUCgAAuAoAAFYKAABXCgAAWAoAALkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM0VuY2xvc2luZ0V4cHJFAAAAPGoCAIyTAgDYfAIAAAAAACyUAgBRCgAAUgoAAFMKAABUCgAAugoAAFYKAABXCgAAWAoAALsKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUNvbmRpdGlvbmFsRXhwckUAPGoCAPiTAgDYfAIAKSA/ICgAKSA6ICgAAAAAAKiUAgBRCgAAUgoAAFMKAABUCgAAvAoAAFYKAABXCgAAWAoAAL0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOVNpemVvZlBhcmFtUGFja0V4cHJFADxqAgBwlAIA2HwCAHNpemVvZi4uLigAAAAAAAAglQIAUQoAAFIKAABTCgAAVAoAAL4KAABWCgAAVwoAAFgKAAC/CgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNOb2RlQXJyYXlOb2RlRQAAADxqAgDslAIA2HwCAAAAAACIlQIAUQoAAFIKAABTCgAAVAoAAMAKAABWCgAAVwoAAFgKAADBCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOVRocm93RXhwckUAAAAAPGoCAFiVAgDYfAIAdGhyb3cgAAAAAAAA+JUCAFEKAABSCgAAUwoAAFQKAADCCgAAVgoAAFcKAABYCgAAwwoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwVVVJRE9mRXhwckUAADxqAgDIlQIA2HwCAF9fdXVpZG9mKAAAAAAAAAB8lgIAUQoAAFIKAABTCgAAVAoAAMQKAABWCgAAxQoAAFgKAADGCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjdFeHBhbmRlZFNwZWNpYWxTdWJzdGl0dXRpb25FADxqAgA8lgIA2HwCAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4sIHN0ZDo6YWxsb2NhdG9yPGNoYXI+ID4Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfaW9zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGFsbG9jYXRvcgBiYXNpY19zdHJpbmcAYmFzaWNfaXN0cmVhbQBiYXNpY19vc3RyZWFtAGJhc2ljX2lvc3RyZWFtAAAAAAAAAAAsmAIAUQoAAFIKAABTCgAAVAoAAMcKAABWCgAAVwoAAFgKAADICgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJDdG9yRHRvck5hbWVFAAAAADxqAgD4lwIA2HwCAAAAAACUmAIAUQoAAFIKAABTCgAAVAoAAMkKAABWCgAAVwoAAFgKAADKCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBBYmlUYWdBdHRyRQAAPGoCAGSYAgDYfAIAW2FiaToAREMAAAAAAAAAABSZAgBRCgAAUgoAAFMKAABUCgAAywoAAFYKAABXCgAAWAoAAMwKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAAAA8agIA2JgCANh8AgBzdHJpbmcgbGl0ZXJhbAAAAAAAAIyZAgBRCgAAUgoAAFMKAABUCgAAzQoAAFYKAABXCgAAWAoAAM4KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5TG9jYWxOYW1lRQAAAAA8agIAXJkCANh8AgAAAAAA/JkCAFEKAABSCgAAUwoAAFQKAADPCgAAVgoAANAKAABYCgAA0QoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAPGoCAMSZAgDYfAIAc3RkOjpzdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0AAAAAALyaAgDSCgAA0woAANQKAADVCgAA1goAANcKAABXCgAAWAoAANgKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAAAAPGoCAIiaAgDYfAIAAAAAACibAgBRCgAAUgoAAFMKAABUCgAA2QoAAFYKAABXCgAAWAoAANoKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMlRlbXBsYXRlQXJnc0UAAAAAPGoCAPSaAgDYfAIAAAAAAJybAgBRCgAAUgoAAFMKAABUCgAA2woAAFYKAADcCgAAWAoAAN0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQAAAAA8agIAYJsCANh8AgBTdEwAAAAAABCcAgBRCgAAUgoAAFMKAABUCgAA3goAAFYKAADfCgAAWAoAAOAKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNlN0ZFF1YWxpZmllZE5hbWVFAAAAADxqAgDYmwIA2HwCAHN0ZDo6AAAAAAAAAIycAgBRCgAAUgoAAFMKAABUCgAA4QoAAFYKAABXCgAAWAoAAOIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFRlbXBsYXRlQXJndW1lbnRQYWNrRQAAAAA8agIAUJwCANh8AgAAAAAA+JwCAFEKAABSCgAAUwoAAFQKAADjCgAAVgoAAFcKAABYCgAA5AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRW5hYmxlSWZBdHRyRQAAAAA8agIAxJwCANh8AgAgW2VuYWJsZV9pZjoAAAAAAAAAAHidAgDlCgAAUgoAAOYKAABUCgAA5woAAOgKAABXCgAAWAoAAOkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZ1bmN0aW9uRW5jb2RpbmdFAAAAADxqAgBAnQIA2HwCACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0ACAmACAmJgAAAAAAAAAEngIAUQoAAFIKAABTCgAAVAoAAOoKAABWCgAAVwoAAFgKAADrCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOURvdFN1ZmZpeEUAAAAAPGoCANSdAgDYfAIAdm9pZABib29sAGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGxvbmcgbG9uZwB1bnNpZ25lZCBsb25nIGxvbmcAZmxvYXQAZG91YmxlAGxvbmcgZG91YmxlAF9fZmxvYXQxMjgAZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABjaGFyOF90AGRlY2x0eXBlKGF1dG8pAHN0ZDo6bnVsbHB0cl90ACBjb21wbGV4ACBpbWFnaW5hcnkARG8Abm9leGNlcHQARE8ARHcARHgAUkUAT0UAAAAAAABwnwIAUQoAAFIKAABTCgAAVAoAAOwKAABWCgAAVwoAAFgKAADtCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAAAAADxqAgA8nwIA2HwCAG5vZXhjZXB0KAAAAAAAAADwnwIAUQoAAFIKAABTCgAAVAoAAO4KAABWCgAAVwoAAFgKAADvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBEeW5hbWljRXhjZXB0aW9uU3BlY0UAAAAAPGoCALSfAgDYfAIAdGhyb3coAAAAAAAAZKACAPAKAABSCgAA8QoAAFQKAADyCgAA8woAAFcKAABYCgAA9AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRnVuY3Rpb25UeXBlRQAAAAA8agIAMKACANh8AgBvYmpjcHJvdG8AAAAAAAAA3KACAFEKAABSCgAAUwoAAFQKAAD1CgAAVgoAAFcKAABYCgAA9goAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzT2JqQ1Byb3RvTmFtZUUAAAA8agIAqKACANh8AgAAAAAATKECAFEKAABSCgAAUwoAAFQKAAD3CgAAVgoAAFcKAABYCgAA+AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE3VmVuZG9yRXh0UXVhbFR5cGVFAAAAPGoCABShAgDYfAIAAAAAALChAgD5CgAA+goAAPsK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";function qA(){try{if(c)return new Uint8Array(c);var A=TC(HA);if(A)return A;if(a)return a(HA);throw"both async and sync fetching of the wasm failed"}catch(A){KA(A)}}function tA(){return c||!G&&!w||"function"!=typeof fetch||JA(HA)?Promise.resolve().then(qA):fetch(HA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+HA+"'";return A.arrayBuffer()})).catch((function(){return qA()}))}function rA(){var A={env:pC,wasi_snapshot_preview1:pC};function I(A,I){var g=A.exports;Q.asm=g,gA((L=Q.asm.memory).buffer),CA=Q.asm.__indirect_function_table,yA()}function g(A){I(A.instance)}function C(I){return tA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){k("failed to asynchronously prepare wasm: "+A),KA(A)}))}if(sA(),Q.instantiateWasm)try{return Q.instantiateWasm(A,I)}catch(A){return k("Module.instantiateWasm callback failed with error: "+A),!1}return(c||"function"!=typeof WebAssembly.instantiateStreaming||kA(HA)||JA(HA)||"function"!=typeof fetch?C(g):fetch(HA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){return k("wasm streaming compile failed: "+A),k("falling back to ArrayBuffer instantiation"),C(g)}))}))).catch(B),{}}function dA(A,I){if(lA.mainLoop.timingMode=A,lA.mainLoop.timingValue=I,!lA.mainLoop.func)return 1;if(0==A)lA.mainLoop.scheduler=function(){var A=0|Math.max(0,lA.mainLoop.tickStartTime+I-LA());setTimeout(lA.mainLoop.runner,A)},lA.mainLoop.method="timeout";else if(1==A)lA.mainLoop.scheduler=function(){lA.requestAnimationFrame(lA.mainLoop.runner)},lA.mainLoop.method="rAF";else if(2==A){if("undefined"==typeof setImmediate){var g=[],C="setimmediate";addEventListener("message",(function(A){A.data!==C&&A.data.target!==C||(A.stopPropagation(),g.shift()())}),!0),setImmediate=function(A){g.push(A),w?(void 0===Q.setImmediates&&(Q.setImmediates=[]),Q.setImmediates.push(A),postMessage({target:C})):postMessage(C,"*")}}lA.mainLoop.scheduler=function(){setImmediate(lA.mainLoop.runner)},lA.mainLoop.method="immediate"}return 0}function nA(A,I,g,C,B){t(!lA.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),lA.mainLoop.func=A,lA.mainLoop.arg=C;var Q=lA.mainLoop.currentlyRunningMainloop;if(lA.mainLoop.runner=function(){if(!q)if(lA.mainLoop.queue.length>0){var I=Date.now(),g=lA.mainLoop.queue.shift();if(g.func(g.arg),lA.mainLoop.remainingBlockers){var C=lA.mainLoop.remainingBlockers,B=C%1==0?C-1:Math.floor(C);g.counted?lA.mainLoop.remainingBlockers=B:(B+=.5,lA.mainLoop.remainingBlockers=(8*C+B)/9)}if(console.log('main loop blocker "'+g.name+'" took '+(Date.now()-I)+" ms"),lA.mainLoop.updateStatus(),Q1&&lA.mainLoop.currentFrameNumber%lA.mainLoop.timingValue!=0?lA.mainLoop.scheduler():(0==lA.mainLoop.timingMode&&(lA.mainLoop.tickStartTime=LA()),lA.mainLoop.runIter(A),Q0?dA(0,1e3/I):dA(1,1),lA.mainLoop.scheduler()),g)throw"unwind"}kA(HA)||(HA=U(HA)),LA=F?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var lA={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){lA.mainLoop.scheduler=null,lA.mainLoop.currentlyRunningMainloop++},resume:function(){lA.mainLoop.currentlyRunningMainloop++;var A=lA.mainLoop.timingMode,I=lA.mainLoop.timingValue,g=lA.mainLoop.func;lA.mainLoop.func=null,nA(g,0,!1,lA.mainLoop.arg,!0),dA(A,I),lA.mainLoop.scheduler()},updateStatus:function(){if(Q.setStatus){var A=Q.statusMessage||"Please wait...",I=lA.mainLoop.remainingBlockers,g=lA.mainLoop.expectedBlockers;I?I=6;){var E=C>>B-6&63;B-=6,g+=I[E]}return 2==B?(g+=I[(3&C)<<4],g+="=="):4==B&&(g+=I[(15&C)<<2],g+="="),g}(A),E(G))},G.src=o,lA.safeSetTimeout((function(){E(G)}),1e4)}};Q.preloadPlugins.push(I);var g=Q.canvas;g&&(g.requestPointerLock=g.requestPointerLock||g.mozRequestPointerLock||g.webkitRequestPointerLock||g.msRequestPointerLock||function(){},g.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},g.exitPointerLock=g.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",C,!1),document.addEventListener("mozpointerlockchange",C,!1),document.addEventListener("webkitpointerlockchange",C,!1),document.addEventListener("mspointerlockchange",C,!1),Q.elementPointerLock&&g.addEventListener("click",(function(A){!lA.pointerLock&&Q.canvas.requestPointerLock&&(Q.canvas.requestPointerLock(),A.preventDefault())}),!1))}function C(){lA.pointerLock=document.pointerLockElement===Q.canvas||document.mozPointerLockElement===Q.canvas||document.webkitPointerLockElement===Q.canvas||document.msPointerLockElement===Q.canvas}},createContext:function(A,I,g,C){if(I&&Q.ctx&&A==Q.canvas)return Q.ctx;var B,E;if(I){var i={antialias:!1,alpha:!1,majorVersion:1};if(C)for(var D in C)i[D]=C[D];"undefined"!=typeof GL&&(E=GL.createContext(A,i))&&(B=GL.getContext(E).GLctx)}else B=A.getContext("2d");return B?(g&&(I||t("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Q.ctx=B,I&&GL.makeContextCurrent(E),Q.useWebGL=I,lA.moduleContextCreatedCallbacks.forEach((function(A){A()})),lA.init()),B):null},destroyContext:function(A,I,g){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(A,I){lA.lockPointer=A,lA.resizeCanvas=I,void 0===lA.lockPointer&&(lA.lockPointer=!0),void 0===lA.resizeCanvas&&(lA.resizeCanvas=!1);var g=Q.canvas;function C(){lA.isFullscreen=!1;var A=g.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===A?(g.exitFullscreen=lA.exitFullscreen,lA.lockPointer&&g.requestPointerLock(),lA.isFullscreen=!0,lA.resizeCanvas?lA.setFullscreenCanvasSize():lA.updateCanvasDimensions(g)):(A.parentNode.insertBefore(g,A),A.parentNode.removeChild(A),lA.resizeCanvas?lA.setWindowedCanvasSize():lA.updateCanvasDimensions(g)),Q.onFullScreen&&Q.onFullScreen(lA.isFullscreen),Q.onFullscreen&&Q.onFullscreen(lA.isFullscreen)}lA.fullscreenHandlersInstalled||(lA.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",C,!1),document.addEventListener("mozfullscreenchange",C,!1),document.addEventListener("webkitfullscreenchange",C,!1),document.addEventListener("MSFullscreenChange",C,!1));var B=document.createElement("div");g.parentNode.insertBefore(B,g),B.appendChild(g),B.requestFullscreen=B.requestFullscreen||B.mozRequestFullScreen||B.msRequestFullscreen||(B.webkitRequestFullscreen?function(){B.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(B.webkitRequestFullScreen?function(){B.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),B.requestFullscreen()},exitFullscreen:function(){return!!lA.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(A){var I=Date.now();if(0===lA.nextRAF)lA.nextRAF=I+1e3/60;else for(;I+2>=lA.nextRAF;)lA.nextRAF+=1e3/60;var g=Math.max(lA.nextRAF-I,0);setTimeout(A,g)},requestAnimationFrame:function(A){"function"!=typeof requestAnimationFrame?(0,lA.fakeRequestAnimationFrame)(A):requestAnimationFrame(A)},safeCallback:function(A){return function(){if(!q)return A.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){lA.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(lA.allowAsyncCallbacks=!0,lA.queuedAsyncCallbacks.length>0){var A=lA.queuedAsyncCallbacks;lA.queuedAsyncCallbacks=[],A.forEach((function(A){A()}))}},safeRequestAnimationFrame:function(A){return lA.requestAnimationFrame((function(){q||(lA.allowAsyncCallbacks?A():lA.queuedAsyncCallbacks.push(A))}))},safeSetTimeout:function(A,I){return setTimeout((function(){q||(lA.allowAsyncCallbacks?A():lA.queuedAsyncCallbacks.push(A))}),I)},safeSetInterval:function(A,I){return setInterval((function(){q||lA.allowAsyncCallbacks&&A()}),I)},getMimetype:function(A){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[A.substr(A.lastIndexOf(".")+1)]},getUserMedia:function(A){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(A)},getMovementX:function(A){return A.movementX||A.mozMovementX||A.webkitMovementX||0},getMovementY:function(A){return A.movementY||A.mozMovementY||A.webkitMovementY||0},getMouseWheelDelta:function(A){var I=0;switch(A.type){case"DOMMouseScroll":I=A.detail/3;break;case"mousewheel":I=A.wheelDelta/120;break;case"wheel":switch(I=A.deltaY,A.deltaMode){case 0:I/=100;break;case 1:I/=3;break;case 2:I*=80;break;default:throw"unrecognized mouse wheel delta mode: "+A.deltaMode}break;default:throw"unrecognized mouse wheel event: "+A.type}return I},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(A){if(lA.pointerLock)"mousemove"!=A.type&&"mozMovementX"in A?lA.mouseMovementX=lA.mouseMovementY=0:(lA.mouseMovementX=lA.getMovementX(A),lA.mouseMovementY=lA.getMovementY(A)),"undefined"!=typeof SDL?(lA.mouseX=SDL.mouseX+lA.mouseMovementX,lA.mouseY=SDL.mouseY+lA.mouseMovementY):(lA.mouseX+=lA.mouseMovementX,lA.mouseY+=lA.mouseMovementY);else{var I=Q.canvas.getBoundingClientRect(),g=Q.canvas.width,C=Q.canvas.height,B=void 0!==window.scrollX?window.scrollX:window.pageXOffset,E=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===A.type||"touchend"===A.type||"touchmove"===A.type){var i=A.touch;if(void 0===i)return;var D=i.pageX-(B+I.left),o=i.pageY-(E+I.top),G={x:D*=g/I.width,y:o*=C/I.height};if("touchstart"===A.type)lA.lastTouches[i.identifier]=G,lA.touches[i.identifier]=G;else if("touchend"===A.type||"touchmove"===A.type){var w=lA.touches[i.identifier];w||(w=G),lA.lastTouches[i.identifier]=w,lA.touches[i.identifier]=G}return}var F=A.pageX-(B+I.left),R=A.pageY-(E+I.top);F*=g/I.width,R*=C/I.height,lA.mouseMovementX=F-lA.mouseX,lA.mouseMovementY=R-lA.mouseY,lA.mouseX=F,lA.mouseY=R}},asyncLoad:function(A,I,g,C){var B=C?"":"al "+A;h(A,(function(g){t(g,'Loading data file "'+A+'" failed (no arrayBuffer).'),I(new Uint8Array(g)),B&&yA()}),(function(I){if(!g)throw'Loading data file "'+A+'" failed.';g()})),B&&sA()},resizeListeners:[],updateResizeListeners:function(){var A=Q.canvas;lA.resizeListeners.forEach((function(I){I(A.width,A.height)}))},setCanvasSize:function(A,I,g){var C=Q.canvas;lA.updateCanvasDimensions(C,A,I),g||lA.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var A=m[SDL.screen>>2];A|=8388608,T[SDL.screen>>2]=A}lA.updateCanvasDimensions(Q.canvas),lA.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var A=m[SDL.screen>>2];A&=-8388609,T[SDL.screen>>2]=A}lA.updateCanvasDimensions(Q.canvas),lA.updateResizeListeners()},updateCanvasDimensions:function(A,I,g){I&&g?(A.widthNative=I,A.heightNative=g):(I=A.widthNative,g=A.heightNative);var C=I,B=g;if(Q.forcedAspectRatio&&Q.forcedAspectRatio>0&&(C/B0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?CA.get(g)():CA.get(g)(I.arg):g(void 0===I.arg?null:I.arg)}else I(Q)}}var bA={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function VA(A){return OC(A+bA.SIZE)+bA.SIZE}function xA(A,I){}function fA(A){this.excPtr=A,this.ptr=A-bA.SIZE,this.set_type=function(A){T[this.ptr+bA.TYPE_OFFSET>>2]=A},this.get_type=function(){return T[this.ptr+bA.TYPE_OFFSET>>2]},this.set_destructor=function(A){T[this.ptr+bA.DESTRUCTOR_OFFSET>>2]=A},this.get_destructor=function(){return T[this.ptr+bA.DESTRUCTOR_OFFSET>>2]},this.set_refcount=function(A){T[this.ptr+bA.REFCOUNT_OFFSET>>2]=A},this.set_caught=function(A){A=A?1:0,x[this.ptr+bA.CAUGHT_OFFSET>>0]=A},this.get_caught=function(){return 0!=x[this.ptr+bA.CAUGHT_OFFSET>>0]},this.set_rethrown=function(A){A=A?1:0,x[this.ptr+bA.RETHROWN_OFFSET>>0]=A},this.get_rethrown=function(){return 0!=x[this.ptr+bA.RETHROWN_OFFSET>>0]},this.init=function(A,I){this.set_type(A),this.set_destructor(I),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var A=T[this.ptr+bA.REFCOUNT_OFFSET>>2];T[this.ptr+bA.REFCOUNT_OFFSET>>2]=A+1},this.release_ref=function(){var A=T[this.ptr+bA.REFCOUNT_OFFSET>>2];return T[this.ptr+bA.REFCOUNT_OFFSET>>2]=A-1,1===A}}function WA(A,I,g){throw new fA(A).init(I,g),A}function ZA(A){return T[jC()>>2]=A,A}var TA={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,C=A.length-1;C>=0;C--){var B=A[C];"."===B?A.splice(C,1):".."===B?(A.splice(C,1),g++):g&&(A.splice(C,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=TA.splitPath(A),g=I[0],C=I[1];return g||C?(C&&(C=C.substr(0,C.length-1)),g+C):"."},basename:function(A){if("/"===A)return"/";var I=(A=(A=TA.normalize(A)).replace(/\/$/,"")).lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return TA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return TA.normalize(A.join("/"))},join2:function(A,I){return TA.normalize(A+"/"+I)}};function mA(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var A=new Uint8Array(1);return function(){return crypto.getRandomValues(A),A[0]}}if(F)try{var I=g(3906);return function(){return I.randomBytes(1)[0]}}catch(A){}return function(){KA("randomDevice")}}var pA={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var C=g>=0?arguments[g]:jA.cwd();if("string"!=typeof C)throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";A=C+"/"+A,I="/"===C.charAt(0)}return(I?"/":"")+(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=pA.resolve(A).substr(1),I=pA.resolve(I).substr(1);for(var C=g(A.split("/")),B=g(I.split("/")),Q=Math.min(C.length,B.length),E=Q,i=0;i0?g.slice(0,C).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=xC(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(M(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(M(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(k(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(k(d(A.output,0)),A.output=[])}}};function OA(A){for(var I=J(A,16384),g=OC(I);A=I)){I=Math.max(I,g*(g<1048576?2:1.125)>>>0),0!=g&&(I=Math.max(I,256));var C=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(C.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-B,C);if(E>8&&Q.subarray)I.set(Q.subarray(B,B+E),g);else for(var i=0;i0||C+g8)throw new jA.ErrnoError(32);for(var B=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=jA.root,E="/",i=0;i40)throw new jA.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(jA.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,C=0;C>>0)%jA.nameTable.length},hashAddNode:function(A){var I=jA.hashName(A.parent.id,A.name);A.name_next=jA.nameTable[I],jA.nameTable[I]=A},hashRemoveNode:function(A){var I=jA.hashName(A.parent.id,A.name);if(jA.nameTable[I]===A)jA.nameTable[I]=A.name_next;else for(var g=jA.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=jA.mayLookup(A);if(g)throw new jA.ErrnoError(g,A);for(var C=jA.hashName(A.id,I),B=jA.nameTable[C];B;B=B.name_next){var Q=B.name;if(B.parent.id===A.id&&Q===I)return B}return jA.lookup(A,I)},createNode:function(A,I,g,C){var B=new jA.FSNode(A,I,g,C);return jA.hashAddNode(B),B},destroyNode:function(A){jA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(A){var I=jA.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return jA.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return jA.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return jA.lookupNode(A,I),20}catch(A){}return jA.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var C;try{C=jA.lookupNode(A,I)}catch(A){return A.errno}var B=jA.nodePermissions(A,"wx");if(B)return B;if(g){if(!jA.isDir(C.mode))return 54;if(jA.isRoot(C)||jA.getPath(C)===jA.cwd())return 10}else if(jA.isDir(C.mode))return 31;return 0},mayOpen:function(A,I){return A?jA.isLink(A.mode)?32:jA.isDir(A.mode)&&("r"!==jA.flagsToPermissionString(I)||512&I)?31:jA.nodePermissions(A,jA.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||jA.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!jA.streams[g])return g;throw new jA.ErrnoError(33)},getStream:function(A){return jA.streams[A]},createStream:function(A,I,g){jA.FSStream||(jA.FSStream=function(){},jA.FSStream.prototype={object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var C=new jA.FSStream;for(var B in A)C[B]=A[B];A=C;var Q=jA.nextfd(I,g);return A.fd=Q,jA.streams[Q]=A,A},closeStream:function(A){jA.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=jA.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new jA.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){jA.devices[A]={stream_ops:I}},getDevice:function(A){return jA.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var C=g.pop();I.push(C),g.push.apply(g,C.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),jA.syncFSRequests++,jA.syncFSRequests>1&&k("warning: "+jA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=jA.getMounts(jA.root.mount),C=0;function B(A){return jA.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,B(A));++C>=g.length&&B(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var C,B="/"===g,Q=!g;if(B&&jA.root)throw new jA.ErrnoError(10);if(!B&&!Q){var E=jA.lookupPath(g,{follow_mount:!1});if(g=E.path,C=E.node,jA.isMountpoint(C))throw new jA.ErrnoError(10);if(!jA.isDir(C.mode))throw new jA.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},D=A.mount(i);return D.mount=i,i.root=D,B?jA.root=D:C&&(C.mounted=i,C.mount&&C.mount.mounts.push(i)),D},unmount:function(A){var I=jA.lookupPath(A,{follow_mount:!1});if(!jA.isMountpoint(I.node))throw new jA.ErrnoError(28);var g=I.node,C=g.mounted,B=jA.getMounts(C);Object.keys(jA.nameTable).forEach((function(A){for(var I=jA.nameTable[A];I;){var g=I.name_next;-1!==B.indexOf(I.mount)&&jA.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(C);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var C=jA.lookupPath(A,{parent:!0}).node,B=TA.basename(A);if(!B||"."===B||".."===B)throw new jA.ErrnoError(28);var Q=jA.mayCreate(C,B);if(Q)throw new jA.ErrnoError(Q);if(!C.node_ops.mknod)throw new jA.ErrnoError(63);return C.node_ops.mknod(C,B,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,jA.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,jA.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),C="",B=0;Bthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,C=Number(A.getResponseHeader("Content-length")),B=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;B||(E=C);var i=this;i.setDataGetter((function(A){var I=A*E,B=(A+1)*E-1;if(B=Math.min(B,C-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>C-1)throw new Error("only "+C+" bytes available! programmer error!");var B=new XMLHttpRequest;if(B.open("GET",g,!1),C!==E&&B.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(B.responseType="arraybuffer"),B.overrideMimeType&&B.overrideMimeType("text/plain; charset=x-user-defined"),B.send(null),!(B.status>=200&&B.status<300||304===B.status))throw new Error("Couldn't load "+g+". Status: "+B.status);return void 0!==B.response?new Uint8Array(B.response||[]):xC(B.responseText||"",!0)}(I,B)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&C||(E=C=1,C=this.getter(0).length,E=C,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=C,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!w)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=jA.createFile(A,I,i,C,B);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var o={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];o[A]=function(){return jA.forceLoadFile(D),I.apply(null,arguments)}})),o.read=function(A,I,g,C,B){jA.forceLoadFile(D);var Q=A.node.contents;if(B>=Q.length)return 0;var E=Math.min(Q.length-B,C);if(Q.slice)for(var i=0;i>2]=C.dev,T[g+4>>2]=0,T[g+8>>2]=C.ino,T[g+12>>2]=C.mode,T[g+16>>2]=C.nlink,T[g+20>>2]=C.uid,T[g+24>>2]=C.gid,T[g+28>>2]=C.rdev,T[g+32>>2]=0,cA=[C.size>>>0,(YA=C.size,+Math.abs(YA)>=1?YA>0?(0|Math.min(+Math.floor(YA/4294967296),4294967295))>>>0:~~+Math.ceil((YA-+(~~YA>>>0))/4294967296)>>>0:0)],T[g+40>>2]=cA[0],T[g+44>>2]=cA[1],T[g+48>>2]=4096,T[g+52>>2]=C.blocks,T[g+56>>2]=C.atime.getTime()/1e3|0,T[g+60>>2]=0,T[g+64>>2]=C.mtime.getTime()/1e3|0,T[g+68>>2]=0,T[g+72>>2]=C.ctime.getTime()/1e3|0,T[g+76>>2]=0,cA=[C.ino>>>0,(YA=C.ino,+Math.abs(YA)>=1?YA>0?(0|Math.min(+Math.floor(YA/4294967296),4294967295))>>>0:~~+Math.ceil((YA-+(~~YA>>>0))/4294967296)>>>0:0)],T[g+80>>2]=cA[0],T[g+84>>2]=cA[1],0},doMsync:function(A,I,g,C,B){var Q=f.slice(A,A+g);jA.msync(I,Q,B,g,C)},doMkdir:function(A,I){return"/"===(A=TA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),jA.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return jA.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var C=jA.readlink(A),B=Math.min(g,b(C)),Q=x[I+B];return e(C,I,g+1),x[I+B]=Q,B},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=jA.lookupPath(A,{follow:!0}).node))return-44;var C="";return 4&I&&(C+="r"),2&I&&(C+="w"),1&I&&(C+="x"),C&&jA.nodePermissions(g,C)?-2:0},doDup:function(A,I,g){var C=jA.getStream(g);return C&&jA.close(C),jA.open(A,I,0,g,g).fd},doReadv:function(A,I,g,C){for(var B=0,Q=0;Q>2],i=T[I+(8*Q+4)>>2],D=jA.read(A,x,E,i,C);if(D<0)return-1;if(B+=D,D>2],i=T[I+(8*Q+4)>>2],D=jA.write(A,x,E,i,C);if(D<0)return-1;B+=D}return B},varargs:void 0,get:function(){return PA.varargs+=4,T[PA.varargs-4>>2]},getStr:function(A){return n(A)},getStreamFromFD:function(A){var I=jA.getStream(A);if(!I)throw new jA.ErrnoError(8);return I},get64:function(A,I){return A}};function zA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 0:return(B=PA.get())<0?-28:jA.open(C.path,C.flags,0,B).fd;case 1:case 2:return 0;case 3:return C.flags;case 4:var B=PA.get();return C.flags|=B,0;case 12:return B=PA.get(),W[B+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return ZA(28),-1;default:return-28}}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),-A.errno}}function vA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 21509:case 21505:return C.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return C.tty?0:-59;case 21519:if(!C.tty)return-59;var B=PA.get();return T[B>>2]=0,0;case 21520:return C.tty?-28:-59;case 21531:return B=PA.get(),jA.ioctl(C,I,B);case 21523:case 21524:return C.tty?0:-59;default:KA("bad ioctl syscall "+I)}}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),-A.errno}}function _A(A,I,g){PA.varargs=g;try{var C=PA.getStr(A),B=PA.get();return jA.open(C,I,B).fd}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),-A.errno}}var $A={};function AI(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function II(A){return this.fromWireType(m[A>>2])}var gI={},CI={},BI={},QI=48,EI=57;function iI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=QI&&I<=EI?"_"+A:A}function DI(A,I){return A=iI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function oI(A,I){var g=DI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var GI=void 0;function wI(A){throw new GI(A)}function FI(A,I,g){function C(I){var C=g(I);C.length!==A.length&&wI("Mismatched type converter count");for(var B=0;B>Q])},destructorFunction:null})}function JI(A){if(!(this instanceof WI))return!1;if(!(A instanceof WI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function YI(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function cI(A){MI(A.$$.ptrType.registeredClass.name+" instance already deleted")}var LI=!1;function HI(A){}function qI(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function tI(A){A.count.value-=1,0===A.count.value&&qI(A)}function rI(A){return"undefined"==typeof FinalizationGroup?(rI=function(A){return A},A):(LI=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?tI(g):console.warn("object already deleted: "+g.ptr)}})),HI=function(A){LI.unregister(A.$$)},(rI=function(A){return LI.register(A,A.$$,A.$$),A})(A))}function dI(){if(this.$$.ptr||cI(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=rI(Object.create(Object.getPrototypeOf(this),{$$:{value:YI(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function nI(){this.$$.ptr||cI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&MI("Object already scheduled for deletion"),HI(this),tI(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function lI(){return!this.$$.ptr}var eI=void 0,bI=[];function VI(){for(;bI.length;){var A=bI.pop();A.$$.deleteScheduled=!1,A.delete()}}function xI(){return this.$$.ptr||cI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&MI("Object already scheduled for deletion"),bI.push(this),1===bI.length&&eI&&eI(VI),this.$$.deleteScheduled=!0,this}function fI(){WI.prototype.isAliasOf=JI,WI.prototype.clone=dI,WI.prototype.delete=nI,WI.prototype.isDeleted=lI,WI.prototype.deleteLater=xI}function WI(){}var ZI={};function TI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||MI("Function '"+g+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function mI(A,I,g){Q.hasOwnProperty(A)?((void 0===g||void 0!==Q[A].overloadTable&&void 0!==Q[A].overloadTable[g])&&MI("Cannot register public name '"+A+"' twice"),TI(Q,A,A),Q.hasOwnProperty(g)&&MI("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),Q[A].overloadTable[g]=I):(Q[A]=I,void 0!==g&&(Q[A].numArguments=g))}function pI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function XI(A,I,g){for(;I!==g;)I.upcast||MI("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function OI(A,I){if(null===I)return this.isReference&&MI("null is not a valid "+this.name),0;I.$$||MI('Cannot pass "'+bg(I)+'" as a '+this.name),I.$$.ptr||MI("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return XI(I.$$.ptr,g,this.registeredClass)}function uI(A,I){var g;if(null===I)return this.isReference&&MI("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||MI('Cannot pass "'+bg(I)+'" as a '+this.name),I.$$.ptr||MI("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&MI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=XI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&MI("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:MI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,lg((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:MI("Unsupporting sharing policy")}return g}function jI(A,I){if(null===I)return this.isReference&&MI("null is not a valid "+this.name),0;I.$$||MI('Cannot pass "'+bg(I)+'" as a '+this.name),I.$$.ptr||MI("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&MI("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return XI(I.$$.ptr,g,this.registeredClass)}function PI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function zI(A){this.rawDestructor&&this.rawDestructor(A)}function vI(A){null!==A&&A.delete()}function _I(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=_I(A,I,g.baseClass);return null===C?null:g.downcast(C)}function $I(){return Object.keys(Cg).length}function Ag(){var A=[];for(var I in Cg)Cg.hasOwnProperty(I)&&A.push(Cg[I]);return A}function Ig(A){eI=A,bI.length&&eI&&eI(VI)}function gg(){Q.getInheritedInstanceCount=$I,Q.getLiveInheritedInstances=Ag,Q.flushPendingDeletes=VI,Q.setDelayFunction=Ig}var Cg={};function Bg(A,I){for(void 0===I&&MI("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function Qg(A,I){return I=Bg(A,I),Cg[I]}function Eg(A,I){return I.ptrType&&I.ptr||wI("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&wI("Both smartPtrType and smartPtr must be specified"),I.count={value:1},rI(Object.create(A,{$$:{value:I}}))}function ig(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=Qg(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?Eg(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):Eg(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=ZI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var D=_I(I,this.registeredClass,Q.registeredClass);return null===D?B.call(this):this.isSmartPointer?Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:D,smartPtrType:this,smartPtr:A}):Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:D})}function Dg(){og.prototype.getPointee=PI,og.prototype.destructor=zI,og.prototype.argPackAdvance=8,og.prototype.readValueFromPointer=II,og.prototype.deleteObject=vI,og.prototype.fromWireType=ig}function og(A,I,g,C,B,Q,E,i,D,o,G){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=D,this.rawShare=o,this.rawDestructor=G,B||void 0!==I.baseClass?this.toWireType=uI:C?(this.toWireType=OI,this.destructorFunction=null):(this.toWireType=jI,this.destructorFunction=null)}function Gg(A,I,g){Q.hasOwnProperty(A)||wI("Replacing nonexistant public symbol"),void 0!==Q[A].overloadTable&&void 0!==g?Q[A].overloadTable[g]=I:(Q[A]=I,Q[A].argCount=g)}function wg(A,I,g){return g&&g.length?Q["dynCall_"+A].apply(null,[I].concat(g)):Q["dynCall_"+A].call(null,I)}function Fg(A,I,g){return-1!=A.indexOf("j")?wg(A,I,g):CA.get(I).apply(null,g)}function Rg(A,I){t(A.indexOf("j")>=0,"getDynCaller should only be called with i64 sigs");var g=[];return function(){g.length=arguments.length;for(var C=0;C0?", ":"")+w),F+=(o?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(D=E?1:2;D>2)+C]);return g}function kg(A,I,g,C,B,Q,E){var i=Mg(g,C);I=KI(I),Q=Ng(B,Q),FI([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){sg("Cannot call "+C+" due to unbound types",i)}var D=A.registeredClass.constructor;return void 0===D[I]?(B.argCount=g-1,D[I]=B):(TI(D,I,C),D[I].overloadTable[g-1]=B),FI([],i,(function(A){var B=[A[0],null].concat(A.slice(1)),i=Ug(C,B,null,Q,E);return void 0===D[I].overloadTable?(i.argCount=g-1,D[I]=i):D[I].overloadTable[g-1]=i,[]})),[]}))}function Sg(A,I,g,C,B,Q){t(I>0);var E=Mg(I,g);B=Ng(C,B);var i=[Q],D=[];FI([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new UI("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class '"+A.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){sg("Cannot construct "+A.name+" due to unbound types",E)},FI([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&MI(g+" called with "+arguments.length+" arguments, expected "+(I-1)),D.length=0,i.length=I;for(var A=1;A4&&0==--qg[A].refcount&&(qg[A]=void 0,Hg.push(A))}function rg(){for(var A=0,I=5;I>2])};case 3:return function(A){return this.fromWireType(X[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function xg(A,I,g){var C=aI(g);kI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+bg(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:Vg(I,C),destructorFunction:null})}function fg(A,I,g,C,B,Q){var E=Mg(I,g);A=KI(A),B=Ng(C,B),mI(A,(function(){sg("Cannot call "+A+" due to unbound types",E)}),I-1),FI([],E,(function(g){var C=[g[0],null].concat(g.slice(1));return Gg(A,Ug(A,C,null,B,Q),I-1),[]}))}function Wg(A,I,g){switch(I){case 0:return g?function(A){return x[A]}:function(A){return f[A]};case 1:return g?function(A){return W[A>>1]}:function(A){return Z[A>>1]};case 2:return g?function(A){return T[A>>2]}:function(A){return m[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function Zg(A,I,g,C,B){I=KI(I),-1===B&&(B=4294967295);var Q=aI(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<>>i}}var D=-1!=I.indexOf("unsigned");kI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+bg(g)+'" to '+this.name);if(gB)throw new TypeError('Passing a number "'+bg(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+C+", "+B+"]!");return D?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Wg(I,Q,0!==C),destructorFunction:null})}function Tg(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=m,g=I[A>>=2],B=I[A+1];return new C(V,B,g)}kI(A,{name:g=KI(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function mg(A,I){var g="std::string"===(I=KI(I));kI(A,{name:I,fromWireType:function(A){var I,C=m[A>>2];if(g)for(var B=A+4,Q=0;Q<=C;++Q){var E=A+4+Q;if(Q==C||0==f[E]){var i=n(B,E-B);void 0===I?I=i:(I+=String.fromCharCode(0),I+=i),B=E+1}}else{var D=new Array(C);for(Q=0;Q>2]=B,g&&C)e(I,Q+4,B+1);else if(C)for(var E=0;E255&&(uC(Q),MI("String has UTF-16 code units that do not fit in 8 bits")),f[Q+4+E]=i}else for(E=0;E>2],E=Q(),D=A+4,o=0;o<=B;++o){var G=A+4+o*I;if(o==B||0==E[G>>i]){var w=C(D,G-D);void 0===g?g=w:(g+=String.fromCharCode(0),g+=w),D=G+I}}return uC(A),g},toWireType:function(A,C){"string"!=typeof C&&MI("Cannot pass non-string to C++ string type "+g);var Q=E(C),D=OC(4+Q+I);return m[D>>2]=Q>>i,B(C,D+4,Q+I),null!==A&&A.push(uC,D),D},argPackAdvance:8,readValueFromPointer:II,destructorFunction:function(A){uC(A)}})}function Xg(A,I,g,C,B,Q){$A[A]={name:KI(I),rawConstructor:Ng(g,C),rawDestructor:Ng(B,Q),elements:[]}}function Og(A,I,g,C,B,Q,E,i,D){$A[A].elements.push({getterReturnType:I,getter:Ng(g,C),getterContext:B,setterArgumentType:Q,setter:Ng(E,i),setterContext:D})}function ug(A,I,g,C,B,Q){NI[A]={name:KI(I),rawConstructor:Ng(g,C),rawDestructor:Ng(B,Q),fields:[]}}function jg(A,I,g,C,B,Q,E,i,D,o){NI[A].fields.push({fieldName:KI(I),getterReturnType:g,getter:Ng(C,B),getterContext:Q,setterArgumentType:E,setter:Ng(i,D),setterContext:o})}function Pg(A,I){kI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var zg={};function vg(A){var I=zg[A];return void 0===I?KI(A):I}var _g=[];function $g(A){return A||MI("Cannot use deleted val. handle = "+A),qg[A].value}function AC(A,I,g,C){(A=_g[A])(I=$g(I),g=vg(g),null,C)}function IC(A){var I=_g.length;return _g.push(A),I}function gC(A,I){var g=CI[A];return void 0===g&&MI(I+" has unknown type "+ag(A)),g}function CC(A,I){for(var g=new Array(A),C=0;C>2)+C],"parameter "+C);return g}function BC(A,I){for(var g=CC(A,I),C=g[0],B=C.name+"_$"+g.slice(1).map((function(A){return A.name})).join("_")+"$",Q=["retType"],E=[C],i="",D=0;D4&&(qg[A].refcount+=1)}function EC(){return lg([])}function iC(A){return lg(vg(A))}function DC(A,I,g){A=$g(A),I=$g(I),g=$g(g),A[I]=g}function oC(A,I){return lg((A=gC(A,"_emval_take_value")).readValueFromPointer(I))}function GC(){KA()}var wC=!0;function FC(A,I){var g;if(0===A)g=Date.now();else{if(1!==A&&4!==A||!wC)return ZA(28),-1;g=LA()}return T[I>>2]=g/1e3|0,T[I+4>>2]=g%1e3*1e3*1e3|0,0}function RC(A,I,g){f.copyWithin(A,I,I+g)}function NC(){return f.length}function hC(A){try{return L.grow(A-V.byteLength+65535>>>16),gA(L.buffer),1}catch(A){}}function aC(A){A>>>=0;var I=NC(),g=1073741824;if(A>g)return!1;for(var C=1;C<=4;C*=2){var B=I*(1+.2/C);if(B=Math.min(B,A+100663296),hC(Math.min(g,IA(Math.max(16777216,A,B),65536))))return!0}return!1}var sC={};function yC(){return o||"./this.program"}function KC(){if(!KC.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:yC()};for(var I in sC)A[I]=sC[I];var g=[];for(var I in A)g.push(I+"="+A[I]);KC.strings=g}return KC.strings}function UC(A,I){try{var g=0;return KC().forEach((function(C,B){var Q=I+g;T[A+4*B>>2]=Q,AA(C,Q),g+=C.length+1})),0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function MC(A,I){try{var g=KC();T[A>>2]=g.length;var C=0;return g.forEach((function(A){C+=A.length+1})),T[I>>2]=C,0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function kC(A){try{var I=PA.getStreamFromFD(A);return jA.close(I),0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function SC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doReadv(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function JC(A,I,g,C,B){try{var Q=PA.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(jA.llseek(Q,E,C),cA=[Q.position>>>0,(YA=Q.position,+Math.abs(YA)>=1?YA>0?(0|Math.min(+Math.floor(YA/4294967296),4294967295))>>>0:~~+Math.ceil((YA-+(~~YA>>>0))/4294967296)>>>0:0)],T[B>>2]=cA[0],T[B+4>>2]=cA[1],Q.getdents&&0===E&&0===C&&(Q.getdents=null),0)}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function YC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doWritev(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function cC(A){H(0|A)}function LC(A){return A%4==0&&(A%100!=0||A%400==0)}function HC(A,I){for(var g=0,C=0;C<=I;g+=A[C++]);return g}var qC=[31,29,31,30,31,30,31,31,30,31,30,31],tC=[31,28,31,30,31,30,31,31,30,31,30,31];function rC(A,I){for(var g=new Date(A.getTime());I>0;){var C=LC(g.getFullYear()),B=g.getMonth(),Q=(C?qC:tC)[B];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),B<11?g.setMonth(B+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function dC(A,I,g,C){var B=T[C+40>>2],Q={tm_sec:T[C>>2],tm_min:T[C+4>>2],tm_hour:T[C+8>>2],tm_mday:T[C+12>>2],tm_mon:T[C+16>>2],tm_year:T[C+20>>2],tm_wday:T[C+24>>2],tm_yday:T[C+28>>2],tm_isdst:T[C+32>>2],tm_gmtoff:T[C+36>>2],tm_zone:B?n(B):""},E=n(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var D in i)E=E.replace(new RegExp(D,"g"),i[D]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],G=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var C="number"==typeof A?A.toString():A||"";C.length0?1:0}var C;return 0===(C=g(A.getFullYear()-I.getFullYear()))&&0===(C=g(A.getMonth()-I.getMonth()))&&(C=g(A.getDate()-I.getDate())),C}function N(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function h(A){var I=rC(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),C=new Date(I.getFullYear()+1,0,4),B=N(g),Q=N(C);return R(B,I)<=0?R(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var a={"%a":function(A){return o[A.tm_wday].substring(0,3)},"%A":function(A){return o[A.tm_wday]},"%b":function(A){return G[A.tm_mon].substring(0,3)},"%B":function(A){return G[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return h(A).toString().substring(2)},"%G":function(A){return h(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+HC(LC(A.tm_year+1900)?qC:tC,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:rC(I,7-I.getDay()),C=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(R(g,C)<0){var B=HC(LC(C.getFullYear())?qC:tC,C.getMonth()-1)-31,Q=31-g.getDate()+B+C.getDate();return F(Math.ceil(Q/7),2)}return 0===R(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),C=new Date(A.tm_year+1901,0,4),B=N(g),Q=N(C),E=rC(new Date(A.tm_year+1900,0,1),A.tm_yday);return R(E,B)<0?"53":R(Q,E)<=0?"01":(I=B.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var D in a)E.indexOf(D)>=0&&(E=E.replace(new RegExp(D,"g"),a[D](Q)));var s=xC(E,!1);return s.length>I?0:($(s,A),s.length-1)}function nC(A,I,g,C){return dC(A,I,g,C)}Q.requestFullscreen=function(A,I){lA.requestFullscreen(A,I)},Q.requestAnimationFrame=function(A){lA.requestAnimationFrame(A)},Q.setCanvasSize=function(A,I,g){lA.setCanvasSize(A,I,g)},Q.pauseMainLoop=function(){lA.mainLoop.pause()},Q.resumeMainLoop=function(){lA.mainLoop.resume()},Q.getUserMedia=function(){lA.getUserMedia()},Q.createContext=function(A,I,g,C){return lA.createContext(A,I,g,C)};var lC=function(A,I,g,C){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=jA.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=C},eC=365,bC=146;Object.defineProperties(lC.prototype,{read:{get:function(){return(this.mode&eC)===eC},set:function(A){A?this.mode|=eC:this.mode&=~eC}},write:{get:function(){return(this.mode&bC)===bC},set:function(A){A?this.mode|=bC:this.mode&=~bC}},isFolder:{get:function(){return jA.isDir(this.mode)}},isDevice:{get:function(){return jA.isChrdev(this.mode)}}}),jA.FSNode=lC,jA.staticInit(),Q.FS_createPath=jA.createPath,Q.FS_createDataFile=jA.createDataFile,Q.FS_createPreloadedFile=jA.createPreloadedFile,Q.FS_createLazyFile=jA.createLazyFile,Q.FS_createDevice=jA.createDevice,Q.FS_unlink=jA.unlink,GI=Q.InternalError=oI(Error,"InternalError"),sI(),UI=Q.BindingError=oI(Error,"BindingError"),fI(),Dg(),gg(),hg=Q.UnboundTypeError=oI(Error,"UnboundTypeError"),ng();var VC=!1;function xC(A,I,g){var C=g>0?g:b(A)+1,B=new Array(C),Q=l(A,B,0,B.length);return I&&(B.length=Q),B}function fC(A){for(var I=[],g=0;g255&&(VC&&t(!1,"Character code "+C+" ("+String.fromCharCode(C)+") at offset "+g+" not in 0x00-0xFF."),C&=255),I.push(String.fromCharCode(C))}return I.join("")}var WC="function"==typeof atob?atob:function(A){var I,g,C,B,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",D="",o=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(o++))<<2|(B=i.indexOf(A.charAt(o++)))>>4,g=(15&B)<<4|(Q=i.indexOf(A.charAt(o++)))>>2,C=(3&Q)<<6|(E=i.indexOf(A.charAt(o++))),D+=String.fromCharCode(I),64!==Q&&(D+=String.fromCharCode(g)),64!==E&&(D+=String.fromCharCode(C))}while(o0||(DA(),NA>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),I()}),1)):I()))}if(Q.___embind_register_native_and_builtin_types=function(){return(Q.___embind_register_native_and_builtin_types=Q.asm.__embind_register_native_and_builtin_types).apply(null,arguments)},Q._emscripten_main_thread_process_queued_calls=function(){return(Q._emscripten_main_thread_process_queued_calls=Q.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Q.stackSave=function(){return(Q.stackSave=Q.asm.stackSave).apply(null,arguments)},Q.stackRestore=function(){return(Q.stackRestore=Q.asm.stackRestore).apply(null,arguments)},Q.stackAlloc=function(){return(Q.stackAlloc=Q.asm.stackAlloc).apply(null,arguments)},Q._setThrew=function(){return(Q._setThrew=Q.asm.setThrew).apply(null,arguments)},Q.___cxa_demangle=function(){return(Q.___cxa_demangle=Q.asm.__cxa_demangle).apply(null,arguments)},Q.dynCall_viijii=function(){return(Q.dynCall_viijii=Q.asm.dynCall_viijii).apply(null,arguments)},Q.dynCall_ji=function(){return(Q.dynCall_ji=Q.asm.dynCall_ji).apply(null,arguments)},Q.dynCall_vij=function(){return(Q.dynCall_vij=Q.asm.dynCall_vij).apply(null,arguments)},Q.dynCall_jiji=function(){return(Q.dynCall_jiji=Q.asm.dynCall_jiji).apply(null,arguments)},Q.dynCall_iiiiij=function(){return(Q.dynCall_iiiiij=Q.asm.dynCall_iiiiij).apply(null,arguments)},Q.dynCall_iiiiijj=function(){return(Q.dynCall_iiiiijj=Q.asm.dynCall_iiiiijj).apply(null,arguments)},Q.dynCall_iiiiiijj=function(){return(Q.dynCall_iiiiiijj=Q.asm.dynCall_iiiiiijj).apply(null,arguments)},Q.addRunDependency=sA,Q.removeRunDependency=yA,Q.FS_createPath=jA.createPath,Q.FS_createDataFile=jA.createDataFile,Q.FS_createPreloadedFile=jA.createPreloadedFile,Q.FS_createLazyFile=jA.createLazyFile,Q.FS_createDevice=jA.createDevice,Q.FS_unlink=jA.unlink,aA=function A(){mC||vC(),mC||(aA=A)},Q.run=vC,Q.preInit)for("function"==typeof Q.preInit&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();function _C(A,I){this.start=void 0===A?0:A,this.end=void 0===I?0:I}function $C(A,I){this.x=void 0===A?0:A,this.y=void 0===I?0:I}function AB(A,I){this.width=void 0===A?0:A,this.height=void 0===I?0:I}function IB(){switch(arguments.length){case 0:this.x=0,this.y=0,this.width=0,this.height=0;break;case 1:var A=arguments[0];this.x=A.x,this.y=A.y,this.width=A.width,this.height=A.height;break;case 2:var I=arguments[0],g=arguments[1];this.x=I.x,this.y=I.y,this.width=g.width,this.height=g.height;break;case 4:this.x=arguments[0],this.y=arguments[1],this.width=arguments[2],this.height=arguments[3];break;default:throw new Error("Invalid arguments")}}function gB(){switch(arguments.length){case 0:this.center={x:0,y:0},this.size={width:0,height:0},this.angle=0;break;case 3:this.center=arguments[0],this.size=arguments[1],this.angle=arguments[2];break;default:throw new Error("Invalid arguments")}}function CB(A,I,g,C){this.push(void 0===A?0:A),this.push(void 0===I?0:I),this.push(void 0===g?0:g),this.push(void 0===C?0:C)}function BB(){switch(arguments.length){case 0:this.minVal=0,this.maxVal=0,this.minLoc=new $C,this.maxLoc=new $C;break;case 4:this.minVal=arguments[0],this.maxVal=arguments[1],this.minLoc=arguments[2],this.maxLoc=arguments[3];break;default:throw new Error("Invalid arguments")}}function QB(){switch(arguments.length){case 0:this.center=new $C,this.radius=0;break;case 2:this.center=arguments[0],this.radius=arguments[1];break;default:throw new Error("Invalid arguments")}}function EB(){switch(arguments.length){case 0:this.type=0,this.maxCount=0,this.epsilon=0;break;case 3:this.type=arguments[0],this.maxCount=arguments[1],this.epsilon=arguments[2];break;default:throw new Error("Invalid arguments")}}return vC(),void 0===Q.FS&&void 0!==jA&&(Q.FS=jA),Q.imread=function(I){var g,C=null,B=null;if((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLImageElement)(C=document.createElement("canvas")).width=g.width,C.height=g.height,(B=C.getContext("2d")).drawImage(g,0,0,g.width,g.height);else{if(!(g instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas or img id.");B=(C=g).getContext("2d")}var Q=B.getImageData(0,0,C.width,C.height);return A.matFromImageData(Q)},Q.imshow=function(I,g){var C=null;if(!((C="string"==typeof I?document.getElementById(I):I)instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas element or id.");if(!(g instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");var B=new A.Mat,Q=g.type()%8,E=Q<=A.CV_8S?1:Q<=A.CV_32S?1/256:255,i=Q===A.CV_8S||Q===A.CV_16S?128:0;switch(g.convertTo(B,A.CV_8U,E,i),B.type()){case A.CV_8UC1:A.cvtColor(B,B,A.COLOR_GRAY2RGBA);break;case A.CV_8UC3:A.cvtColor(B,B,A.COLOR_RGB2RGBA);break;case A.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)")}var D=new ImageData(new Uint8ClampedArray(B.data),B.cols,B.rows),o=C.getContext("2d");o.clearRect(0,0,C.width,C.height),C.width=D.width,C.height=D.height,o.putImageData(D,0,0),B.delete()},Q.VideoCapture=function(I){var g;if(!((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLVideoElement))throw new Error("Please input the valid video element or id.");var C=document.createElement("canvas");C.width=g.width,C.height=g.height;var B=C.getContext("2d");this.video=g,this.read=function(I){if(!(I instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");if(I.type()!==A.CV_8UC4)throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");if(I.cols!==g.width||I.rows!==g.height)throw new Error("Bad size of input mat: the size should be same as the video.");B.drawImage(g,0,0,g.width,g.height),I.data.set(B.getImageData(0,0,g.width,g.height).data)}},Q.Range=_C,Q.Point=$C,Q.Size=AB,Q.Rect=IB,gB.points=function(A){return Q.rotatedRectPoints(A)},gB.boundingRect=function(A){return Q.rotatedRectBoundingRect(A)},gB.boundingRect2f=function(A){return Q.rotatedRectBoundingRect2f(A)},Q.RotatedRect=gB,CB.prototype=new Array,CB.all=function(A){return new CB(A,A,A,A)},Q.Scalar=CB,Q.MinMaxLoc=BB,Q.Circle=QB,Q.TermCriteria=EB,Q.matFromArray=function(I,g,C,B){var Q=new A.Mat(I,g,C);switch(C){case A.CV_8U:case A.CV_8UC1:case A.CV_8UC2:case A.CV_8UC3:case A.CV_8UC4:Q.data.set(B);break;case A.CV_8S:case A.CV_8SC1:case A.CV_8SC2:case A.CV_8SC3:case A.CV_8SC4:Q.data8S.set(B);break;case A.CV_16U:case A.CV_16UC1:case A.CV_16UC2:case A.CV_16UC3:case A.CV_16UC4:Q.data16U.set(B);break;case A.CV_16S:case A.CV_16SC1:case A.CV_16SC2:case A.CV_16SC3:case A.CV_16SC4:Q.data16S.set(B);break;case A.CV_32S:case A.CV_32SC1:case A.CV_32SC2:case A.CV_32SC3:case A.CV_32SC4:Q.data32S.set(B);break;case A.CV_32F:case A.CV_32FC1:case A.CV_32FC2:case A.CV_32FC3:case A.CV_32FC4:Q.data32F.set(B);break;case A.CV_64F:case A.CV_64FC1:case A.CV_64FC2:case A.CV_64FC3:case A.CV_64FC4:Q.data64F.set(B);break;default:throw new Error("Type is unsupported")}return Q},Q.matFromImageData=function(I){var g=new A.Mat(I.height,I.width,A.CV_8UC4);return g.data.set(I.data),g},A.ready},A.exports=C,"undefined"==typeof Module&&(Module={}),C(Module));var I,C}.call(I,g,I,A))||(A.exports=C)},2749:(A,I,g)=>{g(4412);const C=g(9894).Z,B=g(7676).Z,Q=g(2810).Z;A.exports={UI:class{constructor({uiLoading:A,uiScanning:I,uiError:g}){"yes"===A?this.loadingModal=this._loadHTML(C):"no"!==A&&(this.loadingModal=document.querySelector(A)),"yes"===g?this.compatibilityModal=this._loadHTML(B):"no"!==g&&(this.compatibilityModal=document.querySelector(g)),"yes"===I?this.scanningMask=this._loadHTML(Q):"no"!==I&&(this.scanningMask=document.querySelector(I)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(A){const I=document.createElement("template");I.innerHTML=A.trim();const g=I.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(g),g}}}},3906:()=>{},2993:()=>{},1386:()=>{}},I={};function g(C){if(I[C])return I[C].exports;var B=I[C]={id:C,exports:{}};return A[C].call(B.exports,B,B.exports,g),B.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var C in I)g.o(I,C)&&!g.o(A,C)&&Object.defineProperty(A,C,{enumerable:!0,get:I[C]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),g.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},g(7297)})(); \ No newline at end of file +(()=>{var A={8818:function(A,I,g){(function(){"use strict";var A;function I(A){var I=0;return function(){return I>>0)+"_",B=0;return function A(C){if(this instanceof A)throw new TypeError("Symbol is not a constructor");return new I(g+(C||"")+"_"+B++,C)}})),Q("Symbol.iterator",(function(A){if(A)return A;A=Symbol("Symbol.iterator");for(var g="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),Q=0;Q(I=I||0)&&(I=Math.max(I+C,0));IQ)C[g++]=Q;else{if(2048>Q)C[g++]=Q>>6|192;else{if(55296<=Q&&57343>=Q){if(56319>=Q&&B=E){Q=1024*(Q-55296)+E-56320+65536,C[g++]=Q>>18|240,C[g++]=Q>>12&63|128,C[g++]=Q>>6&63|128,C[g++]=63&Q|128;continue}B--}if(I)throw Error("Found an unpaired surrogate");Q=65533}C[g++]=Q>>12|224,C[g++]=Q>>6&63|128}C[g++]=63&Q|128}}A=C.subarray(0,g)}return A}var n={},l=null;function e(A,I){void 0===I&&(I=0),b(),I=n[I];for(var g=Array(Math.floor(A.length/3)),C=I[64]||"",B=0,Q=0;B>2];E=I[(3&E)<<4|i>>4],i=I[(15&i)<<2|D>>6],D=I[63&D],g[Q++]=o+E+i+D}switch(o=0,D=C,A.length-B){case 2:D=I[(15&(o=A[B+1]))<<2]||C;case 1:A=A[B],g[Q]=I[A>>2]+I[(3&A)<<4|o>>4]+D+C}return g.join("")}function b(){if(!l){l={};for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),I=["+/=","+/","-_=","-_.","-_"],g=0;5>g;g++){var C=A.concat(I[g].split(""));n[g]=C;for(var B=0;B>4),64!=E&&(I(Q<<4&240|E>>2),64!=i&&I(E<<6&192|i))}}(A,(function(A){C[B++]=A})),C.subarray(0,B)}(I):I instanceof Uint8Array?new Uint8Array(I.buffer,I.byteOffset,I.byteLength):new Uint8Array(0),A.h=I,A.l=0,A.j=A.h.length,A.g=A.l}function m(A){for(var I=128,g=0,C=0,B=0;4>B&&128<=I;B++)g|=(127&(I=A.h[A.g++]))<<7*B;if(128<=I&&(g|=(127&(I=A.h[A.g++]))<<28,C|=(127&I)>>4),128<=I)for(B=0;5>B&&128<=I;B++)C|=(127&(I=A.h[A.g++]))<<7*B+3;if(128>I)return A=g>>>0,(C=2147483648&(I=C>>>0))&&(I=~I>>>0,0==(A=1+~A>>>0)&&(I=I+1>>>0)),A=4294967296*I+(A>>>0),C?-A:A;A.m=!0}Z.prototype.reset=function(){this.g=this.l},Z.prototype.i=function(){var A=this.h,I=A[this.g],g=127&I;return 128>I?(this.g+=1,g):(g|=(127&(I=A[this.g+1]))<<7,128>I?(this.g+=2,g):(g|=(127&(I=A[this.g+2]))<<14,128>I?(this.g+=3,g):(g|=(127&(I=A[this.g+3]))<<21,128>I?(this.g+=4,g):(g|=(15&(I=A[this.g+4]))<<28,128>I?(this.g+=5,g>>>0):(this.g+=5,128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&128<=A[this.g++]&&this.g++,g)))))},Z.prototype.o=function(){var A=this.h[this.g],I=this.h[this.g+1],g=this.h[this.g+2],C=this.h[this.g+3];return this.g+=4,A=2*((g=(A<<0|I<<8|g<<16|C<<24)>>>0)>>31)+1,I=g>>>23&255,g&=8388607,255==I?g?NaN:1/0*A:0==I?A*Math.pow(2,-149)*g:A*Math.pow(2,I-150)*(g+Math.pow(2,23))};var p=[];function X(){this.g=new Uint8Array(64),this.h=0}function O(A,I){for(;127>>=7;A.push(I)}function u(A){var I={},g=void 0!==I.N&&I.N;this.o={v:void 0!==I.v&&I.v},this.N=g,I=this.o,p.length?(g=p.pop(),I&&(g.v=I.v),A&&T(g,A),A=g):A=new Z(A,I),this.g=A,this.m=this.g.g,this.h=this.i=this.l=-1,this.j=!1}function j(A){var I=A.g;if((I=I.g==I.j)||(I=A.j)||(I=(I=A.g).m||0>I.g||I.g>I.j),I)return!1;A.m=A.g.g;var g=7&(I=A.g.i());return 0!=g&&5!=g&&1!=g&&2!=g&&3!=g&&4!=g?(A.j=!0,!1):(A.i=I,A.l=I>>>3,A.h=g,!0)}function P(A){switch(A.h){case 0:if(0!=A.h)P(A);else{for(A=A.g;128&A.h[A.g];)A.g++;A.g++}break;case 1:1!=A.h?P(A):(A=A.g).g+=8;break;case 2:if(2!=A.h)P(A);else{var I=A.g.i();(A=A.g).g+=I}break;case 5:5!=A.h?P(A):(A=A.g).g+=4;break;case 3:for(I=A.l;;){if(!j(A)){A.j=!0;break}if(4==A.h){A.l!=I&&(A.j=!0);break}P(A)}break;default:A.j=!0}}function z(A,I,g){var C=A.g.j,B=A.g.i(),Q=A.g.g+B;if(A.g.j=Q,g(I,A),0!=(g=Q-A.g.g))throw Error("Message parsing ended unexpectedly. Expected to read "+B+" bytes, instead read "+(B-g)+" bytes, either the data ended unexpectedly or the message misreported its own length");return A.g.g=Q,A.g.j=C,I}function v(A){return A.g.o()}function _(A){var I,g=A.g.i(),C=(A=A.g).g;if(A.g+=g,A=A.h,t)(I=H)||(I=H=new TextDecoder("utf-8",{fatal:!1})),I=I.decode(A.subarray(C,C+g));else{g=C+g;for(var B,Q,E,i=[],D=null;C(B=A[C++])?i.push(B):224>B?C>=g?i.push(65533):(Q=A[C++],194>B||128!=(192&Q)?(C--,i.push(65533)):i.push((31&B)<<6|63&Q)):240>B?C>=g-1?i.push(65533):128!=(192&(Q=A[C++]))||224===B&&160>Q||237===B&&160<=Q||128!=(192&(I=A[C++]))?(C--,i.push(65533)):i.push((15&B)<<12|(63&Q)<<6|63&I):244>=B?C>=g-2?i.push(65533):128!=(192&(Q=A[C++]))||0!=Q-144+(B<<28)>>30||128!=(192&(I=A[C++]))||128!=(192&(E=A[C++]))?(C--,i.push(65533)):(B=(7&B)<<18|(63&Q)<<12|(63&I)<<6|63&E,B-=65536,i.push(55296+(B>>10&1023),56320+(1023&B))):i.push(65533),8192<=i.length&&(D=L(D,i),i.length=0);I=L(D,i)}return I}function $(A,I,g){var C=A.g.i();for(C=A.g.g+C;A.g.gC?1:0)?-C:C)?W=0<1/C?0:2147483648:isNaN(C)?W=2147483647:34028234663852886e22>>0:11754943508222875e-54>C?(C=Math.round(C/Math.pow(2,-149)),W=(g<<31|C)>>>0):(I=Math.floor(Math.log(C)/Math.LN2),C*=Math.pow(2,-I),16777216<=(C=Math.round(8388608*C))&&++I,W=(g<<31|I+127<<23|8388607&C)>>>0),g=W,A.push(g>>>0&255),A.push(g>>>8&255),A.push(g>>>16&255),A.push(g>>>24&255)}}X.prototype.push=function(A){if(!(this.h+1=A.l?A.i?A.i[I]:void 0:A.h[I+A.j]}function aA(A,I){var g=void 0!==g&&g,C=hA(A,I,g);return null==C&&(C=RA),C===RA&&UA(A,I,C=wA([]),g),C}function sA(A){var I=aA(A,3);if(A.m||(A.m={}),!A.m[3]){for(var g=0;g=A.l?(NA(A),A.i[I]=g):A.h[I+A.j]=g}function MA(A,I,g){if(-1===g)return null;if(A.g||(A.g={}),!A.g[g]){var C=hA(A,g,!1);C&&(A.g[g]=new I(C))}return A.g[g]}function kA(A,I){A.g||(A.g={});var g=A.g[1];if(!g){var C=aA(A,1);g=[];for(var B=0;BL;var H=(L=Math.abs(L))>>>0;for(L=Math.floor((L-H)/4294967296),L>>>=0,Y&&(L=~L>>>0,4294967295<(H=1+(~H>>>0))&&(H=0,4294967295<++L&&(L=0))),Y=W=H,H=L;0>>7|H<<25)>>>0,H>>>=7;c.push(Y)}if(cA(S,J),k=CA(k),U.call(K,M,k),s.O)for(K=0;KL;L++)Y.push(127&H|128),H>>=7;Y.push(1)}BA(c,2,hA(J,2)),null!=(Y=hA(J,3))&&(Y=d(Y),O(c.g,26),O(c.g,Y.length),gA(c,c.g.end()),gA(c,Y)),null!=(Y=hA(J,4))&&(Y=d(Y),O(c.g,34),O(c.g,Y.length),gA(c,c.g.end()),gA(c,Y)),cA(J,c),S=CA(S),M.call(U,k,S)}}N=N.data;break A;default:N={}}}switch(G=N,w=o.stream,o.type){case"video":B.pushTexture2d(Object.assign(Object.assign({},G),{stream:w,timestamp:C}));break;case"detections":(F=G).stream=w,F.timestamp=C,B.pushDetectionList(F);break;default:throw Error("Unknown input config type: '"+o.type+"'")}}return R.i.send(B),y(g,R.C,4);case 4:B.delete(),g.g=0}}))}))},A.onResults=function(A,I){this.listeners[I||"$"]=A},c("Solution",II),c("OptionType",{BOOL:0,NUMBER:1,aa:2,0:"BOOL",1:"NUMBER",2:"STRING"});var QI={files:[{url:"face_mesh_solution_packed_assets_loader.js"},{simd:!0,url:"face_mesh_solution_simd_wasm_bin.js"},{simd:!1,url:"face_mesh_solution_wasm_bin.js"}],graph:{url:"face_mesh.binarypb"},listeners:[{wants:["multi_face_geometry","image_transformed","multi_face_landmarks"],outs:{image:"image_transformed",multiFaceGeometry:{type:"proto_list",stream:"multi_face_geometry",transform:function(A){return A.map(BI)}},multiFaceLandmarks:{type:"proto_list",stream:"multi_face_landmarks",transform:function(A){return A.map((function(A){return kA(fA(A),bA).map(jA)}))}}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},enableFaceGeometry:{type:0,graphOptionXref:{calculatorName:"EnableFaceGeometryConstant",calculatorType:"ConstantSidePacketCalculator",fieldName:"bool_value"}},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},maxNumFaces:{type:1,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorNumFaces",fieldName:"int_value"}},refineLandmarks:{type:0,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorRefineLandmarks",fieldName:"bool_value"}},minDetectionConfidence:{type:1,graphOptionXref:{calculatorType:"TensorsToDetectionsCalculator",calculatorName:"facelandmarkfrontgpu__facedetectionshortrangegpu__facedetectionshortrangecommon__TensorsToDetectionsCalculator",fieldName:"min_score_thresh"}},minTrackingConfidence:{type:1,graphOptionXref:{calculatorType:"ThresholdingCalculator",calculatorName:"facelandmarkfrontgpu__facelandmarkgpu__ThresholdingCalculator",fieldName:"threshold"}},cameraNear:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"near"}},cameraFar:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"far"}},cameraVerticalFovDegrees:{type:1,graphOptionXref:{calculatorType:"FaceGeometryEnvGeneratorCalculator",fieldName:"vertical_fov_degrees"}}}},EI=[[61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]],iI=[[263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]],DI=[[276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]],oI=[[33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]],GI=[[46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]],wI=[[10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]],FI=[].concat(D(EI),D(iI),D(DI),D(oI),D(GI),D(wI));function RI(A){A=A||{},A=Object.assign(Object.assign({},QI),A),this.g=new II(A)}(A=RI.prototype).close=function(){return this.g.close(),Promise.resolve()},A.onResults=function(A){this.g.onResults(A)},A.initialize=function(){return rA(this,(function A(){var I=this;return S(A,(function(A){return y(A,I.g.initialize(),0)}))}))},A.reset=function(){this.g.reset()},A.send=function(A){return rA(this,(function I(){var g=this;return S(I,(function(I){return y(I,g.g.send(A),0)}))}))},A.setOptions=function(A){this.g.setOptions(A)},c("FACE_GEOMETRY",{Layout:{COLUMN_MAJOR:0,ROW_MAJOR:1,0:"COLUMN_MAJOR",1:"ROW_MAJOR"},PrimitiveType:{TRIANGLE:0,0:"TRIANGLE"},VertexType:{VERTEX_PT:0,0:"VERTEX_PT"},DEFAULT_CAMERA_PARAMS:{verticalFovDegrees:63,near:1,far:1e4}}),c("FaceMesh",RI),c("FACEMESH_LIPS",EI),c("FACEMESH_LEFT_EYE",iI),c("FACEMESH_LEFT_EYEBROW",DI),c("FACEMESH_LEFT_IRIS",[[474,475],[475,476],[476,477],[477,474]]),c("FACEMESH_RIGHT_EYE",oI),c("FACEMESH_RIGHT_EYEBROW",GI),c("FACEMESH_RIGHT_IRIS",[[469,470],[470,471],[471,472],[472,469]]),c("FACEMESH_FACE_OVAL",wI),c("FACEMESH_CONTOURS",FI),c("FACEMESH_TESSELATION",[[127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]]),c("matrixDataToMatrix",(function(A){for(var I=A.getCols(),g=A.getRows(),C=A.getPackedDataList(),B=[],Q=0;Q{"use strict";g.d(I,{Z:()=>Q});var C=g(3645),B=g.n(C)()((function(A){return A[1]}));B.push([A.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const Q=B},3645:A=>{"use strict";A.exports=function(A){var I=[];return I.toString=function(){return this.map((function(I){var g=A(I);return I[2]?"@media ".concat(I[2]," {").concat(g,"}"):g})).join("")},I.i=function(A,g,C){"string"==typeof A&&(A=[[null,A,""]]);var B={};if(C)for(var Q=0;Q{"use strict";g.d(I,{Z:()=>C});const C='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},2810:(A,I,g)=>{"use strict";g.d(I,{Z:()=>C});const C='
'},4412:(A,I,g)=>{"use strict";g.r(I),g.d(I,{default:()=>E});var C=g(3379),B=g.n(C),Q=g(8485);B()(Q.Z,{insert:"head",singleton:!1});const E=Q.Z.locals||{}},3379:(A,I,g)=>{"use strict";var C,B=function(){var A={};return function(I){if(void 0===A[I]){var g=document.querySelector(I);if(window.HTMLIFrameElement&&g instanceof window.HTMLIFrameElement)try{g=g.contentDocument.head}catch(A){g=null}A[I]=g}return A[I]}}(),Q=[];function E(A){for(var I=-1,g=0;g{const{FaceMeshHelper:C}=g(8470),{cv:B,waitCV:Q}=g(9487),{Estimator:E}=g(107),{createThreeFaceGeometry:i}=g(1873),{positions:D}=g(2319),{OneEuroFilter:o}=g(344);A.exports={Controller:class{constructor({onUpdate:A=null,filterMinCF:I=null,filterBeta:g=null}){this.customFaceGeometries=[],this.estimator=null,this.lastEstimateResult=null,this.filterMinCF=null===I?.001:I,this.filterBeta=null===g?1:g,this.onUpdate=A,this.landmarkFilters=[];for(let A=0;A{const g=await this.faceMeshHelper.detect(A);if(0===g.multiFaceLandmarks.length){this.lastEstimateResult=null,this.onUpdate({hasFace:!1});for(let A=0;A[A.x,A.y,A.z])),I=this.estimator.estimate(A);if(null===this.lastEstimateResult)this.lastEstimateResult=I;else{const A=this.lastEstimateResult.metricLandmarks,g=(this.lastEstimateResult.faceMatrix,this.lastEstimateResult.faceScale,[]);for(let C=0;C{const{positions:C,landmarkBasis:B}=g(2319),{cv:Q}=g(9487),E=[];for(let A=0;A{E[A]=I}));const i=[];for(let A=0;A{D.includes(A)||D.push(A)})),D.sort(((A,I)=>A-I));let o=0,G=0;for(let A=0;AC[G][0]&&(G=A);A.exports={Estimator:class{constructor(A){const I=A.height,g=A.width,C=g,B=2*Math.atan(I/(2*C)),Q=2*Math.tan(.5*B),E=g*Q/I;this.near=1,this.far=1e4,this.frameHeight=I,this.frameWidth=g,this.focalLength=C,this.fov=B,this.left=-.5*E,this.right=.5*E,this.bottom=-.5*Q,this.top=.5*Q,this.focalLength=C,this.center=[g/2,I/2]}estimate(A){const I=this._projectToScreen(A);let g=this._cloneLandmarks(I);this._changeHandedness(g);const B=I.reduce(((A,I)=>A+I[2]),0)/I.length,E=this._estimateScale(g);g=this._cloneLandmarks(I),this._moveAndRescaleZ(B,E,g),this._unprojectScreen(g),this._changeHandedness(g);const w=this._estimateScale(g);let F=this._cloneLandmarks(I);const R=E*w;this._moveAndRescaleZ(B,R,F),this._unprojectScreen(F),this._changeHandedness(F);const N=this._solveWeightedOrthogonal(C,F,i),h=Q.matFromArray(4,4,Q.CV_64F,[N[0][0],N[0][1],N[0][2],N[0][3],N[1][0],N[1][1],N[1][2],N[1][3],N[2][0],N[2][1],N[2][2],N[2][3],N[3][0],N[3][1],N[3][2],N[3][3]]).inv(0).data64F,a=[[h[0],h[1],h[2],h[3]],[h[4],h[5],h[6],h[7]],[h[8],h[9],h[10],h[11]],[h[12],h[13],h[14],h[15]]],s=[];for(let A=0;A{y.push(s[I][0],s[I][1],s[I][2]),K.push(A[I][0]*this.frameWidth,A[I][1]*this.frameHeight)}));const U=Q.matFromArray(y.length/3,3,Q.CV_64F,y),M=Q.matFromArray(K.length/2,2,Q.CV_64F,K),k=Q.matFromArray(3,3,Q.CV_64F,[this.focalLength,0,this.center[0],0,this.focalLength,this.center[1],0,0,1]),S=Q.Mat.zeros(4,1,Q.CV_64F),J=new Q.Mat(3,1,Q.CV_64F),Y=new Q.Mat(3,1,Q.CV_64F),c=new Q.Mat(3,3,Q.CV_64F);Q.solvePnP(U,M,k,S,J,Y,!1),Q.Rodrigues(J,c);const L=[c.data64F[0],c.data64F[1],c.data64F[2],Y.data64F[0],-c.data64F[3],-c.data64F[4],-c.data64F[5],-Y.data64F[1],-c.data64F[6],-c.data64F[7],-c.data64F[8],-Y.data64F[2],0,0,0,1],H=s[G][0]-s[o][0];return{metricLandmarks:s,faceMatrix:L,faceScale:H}}_estimateScale(A){const I=this._solveWeightedOrthogonal(C,A,i);return Math.sqrt(I[0][0]*I[0][0]+I[0][1]*I[0][1]+I[0][2]*I[0][2])}_solveWeightedOrthogonal(A,I,g){const C=[],B=[];for(let Q=0;QA+I*I),0),E=[];for(let A=0;A{A.exports={positions:[[0,-3.406404,5.979507],[0,-1.126865,7.475604],[0,-2.089024,6.058267],[-.463928,.955357,6.633583],[0,-.46317,7.58658],[0,.365669,7.24287],[0,2.473255,5.788627],[-4.253081,2.577646,3.279702],[0,4.019042,5.284764],[0,4.885979,5.385258],[0,8.261778,4.481535],[0,-3.706811,5.864924],[0,-3.918301,5.56943],[0,-3.994436,5.219482],[0,-4.5424,5.404754],[0,-4.745577,5.529457],[0,-5.019567,5.601448],[0,-5.365123,5.535441],[0,-6.149624,5.071372],[0,-1.501095,7.112196],[-.416106,-1.466449,6.447657],[-7.08796,5.434801,.09962],[-2.628639,2.035898,3.848121],[-3.198363,1.985815,3.796952],[-3.775151,2.039402,3.646194],[-4.465819,2.42295,3.155168],[-2.164289,2.189867,3.851822],[-3.208229,3.223926,4.115822],[-2.673803,3.205337,4.092203],[-3.745193,3.165286,3.972409],[-4.161018,3.059069,3.719554],[-5.062006,1.934418,2.776093],[-2.266659,-7.425768,4.389812],[-4.445859,2.663991,3.173422],[-7.21453,2.263009,.07315],[-5.799793,2.349546,2.204059],[-2.844939,-.720868,4.43313],[-.711452,-3.329355,5.877044],[-.606033,-3.924562,5.444923],[-1.431615,-3.500953,5.496189],[-1.91491,-3.803146,5.02893],[-1.131043,-3.973937,5.189648],[-1.563548,-4.082763,4.842263],[-2.650112,-5.003649,4.188483],[-.427049,-1.094134,7.360529],[-.496396,-.475659,7.440358],[-5.253307,3.881582,3.363159],[-1.718698,.974609,4.558359],[-1.608635,-.942516,5.814193],[-1.651267,-.610868,5.581319],[-4.765501,-.701554,3.534632],[-.478306,.295766,7.101013],[-3.734964,4.50823,4.550454],[-4.588603,4.302037,4.048484],[-6.279331,6.615427,1.42585],[-1.220941,4.142165,5.106035],[-2.193489,3.100317,4.000575],[-3.102642,-4.352984,4.095905],[-6.719682,-4.788645,-1.745401],[-1.193824,-1.306795,5.737747],[-.729766,-1.593712,5.833208],[-2.456206,-4.342621,4.283884],[-2.204823,-4.304508,4.162499],[-4.985894,4.802461,3.751977],[-1.592294,-1.257709,5.456949],[-2.644548,4.524654,4.921559],[-2.760292,5.100971,5.01599],[-3.523964,8.005976,3.729163],[-5.599763,5.71547,2.724259],[-3.063932,6.566144,4.529981],[-5.720968,4.254584,2.830852],[-6.374393,4.78559,1.591691],[-.672728,-3.688016,5.737804],[-1.26256,-3.787691,5.417779],[-1.732553,-3.952767,5.000579],[-1.043625,-1.464973,5.662455],[-2.321234,-4.329069,4.258156],[-2.056846,-4.477671,4.520883],[-2.153084,-4.276322,4.038093],[-.946874,-1.035249,6.512274],[-1.469132,-4.036351,4.604908],[-1.02434,-3.989851,4.926693],[-.533422,-3.993222,5.138202],[-.76972,-6.095394,4.985883],[-.699606,-5.29185,5.448304],[-.669687,-4.94977,5.509612],[-.630947,-4.695101,5.449371],[-.583218,-4.517982,5.339869],[-1.53717,-4.423206,4.74547],[-1.6156,-4.475942,4.813632],[-1.729053,-4.61868,4.854463],[-1.838624,-4.828746,4.823737],[-2.36825,-3.106237,4.868096],[-7.542244,-1.049282,-2.431321],[0,-1.724003,6.60139],[-1.826614,-4.399531,4.399021],[-1.929558,-4.411831,4.497052],[-.597442,-2.013686,5.866456],[-1.405627,-1.714196,5.241087],[-.662449,-1.819321,5.863759],[-2.34234,.572222,4.294303],[-3.327324,.104863,4.11386],[-1.726175,-.919165,5.273355],[-5.133204,7.485602,2.660442],[-4.538641,6.319907,3.683424],[-3.986562,5.109487,4.466315],[-2.169681,-5.440433,4.455874],[-1.395634,5.011963,5.316032],[-1.6195,6.599217,4.921106],[-1.891399,8.236377,4.274997],[-4.195832,2.235205,3.375099],[-5.733342,1.411738,2.431726],[-1.859887,2.355757,3.843181],[-4.988612,3.074654,3.083858],[-1.303263,1.416453,4.831091],[-1.305757,-.672779,6.415959],[-6.46517,.937119,1.689873],[-5.258659,.945811,2.974312],[-4.432338,.722096,3.522615],[-3.300681,.861641,3.872784],[-2.430178,1.131492,4.039035],[-1.820731,1.467954,4.224124],[-.563221,2.307693,5.566789],[-6.338145,-.529279,1.881175],[-5.587698,3.208071,2.687839],[-.242624,-1.462857,7.071491],[-1.611251,.339326,4.895421],[-7.743095,2.364999,-2.005167],[-1.391142,1.851048,4.448999],[-1.785794,-.978284,4.85047],[-4.670959,2.664461,3.084075],[-1.33397,-.283761,6.097047],[-7.270895,-2.890917,-2.252455],[-1.856432,2.585245,3.757904],[-.923388,.073076,6.671944],[-5.000589,-6.135128,1.892523],[-5.085276,-7.17859,.714711],[-7.159291,-.81182,-.072044],[-5.843051,-5.248023,.924091],[-6.847258,3.662916,.724695],[-2.412942,-8.258853,4.119213],[-.179909,-1.689864,6.573301],[-2.103655,-.163946,4.566119],[-6.407571,2.236021,1.560843],[-3.670075,2.360153,3.63523],[-3.177186,2.294265,3.775704],[-2.196121,-4.598322,4.479786],[-6.234883,-1.94443,1.663542],[-1.292924,-9.29592,4.094063],[-3.210651,-8.533278,2.802001],[-4.068926,-7.993109,1.925119],[0,6.54539,5.027311],[0,-9.403378,4.264492],[-2.724032,2.315802,3.777151],[-2.28846,2.398891,3.697603],[-1.998311,2.496547,3.689148],[-6.13004,3.399261,2.038516],[-2.28846,2.886504,3.775031],[-2.724032,2.96181,3.871767],[-3.177186,2.964136,3.876973],[-3.670075,2.927714,3.724325],[-4.018389,2.857357,3.482983],[-7.555811,4.106811,-.991917],[-4.018389,2.483695,3.440898],[0,-2.521945,5.932265],[-1.776217,-2.683946,5.213116],[-1.222237,-1.182444,5.952465],[-.731493,-2.536683,5.815343],[0,3.271027,5.236015],[-4.135272,-6.996638,2.67197],[-3.311811,-7.660815,3.382963],[-1.313701,-8.639995,4.702456],[-5.940524,-6.223629,-.631468],[-1.998311,2.743838,3.74403],[-.901447,1.236992,5.754256],[0,-8.765243,4.891441],[-2.308977,-8.974196,3.60907],[-6.954154,-2.439843,-.131163],[-1.098819,-4.458788,5.120727],[-1.181124,-4.579996,5.189564],[-1.255818,-4.787901,5.237051],[-1.325085,-5.106507,5.20501],[-1.546388,-5.819392,4.757893],[-1.953754,-4.183892,4.431713],[-2.117802,-4.137093,4.555096],[-2.285339,-4.051196,4.582438],[-2.85016,-3.66572,4.484994],[-5.278538,-2.238942,2.861224],[-.946709,1.907628,5.196779],[-1.314173,3.104912,4.231404],[-1.78,2.86,3.881555],[-1.84511,-4.09888,4.247264],[-5.436187,-4.030482,2.109852],[-.766444,3.182131,4.861453],[-1.938616,-6.61441,4.521085],[0,1.059413,6.774605],[-.516573,1.583572,6.148363],[0,1.728369,6.31675],[-1.246815,.230297,5.681036],[0,-7.942194,5.181173],[0,-6.991499,5.153478],[-.997827,-6.930921,4.979576],[-3.288807,-5.382514,3.795752],[-2.311631,-1.566237,4.590085],[-2.68025,-6.111567,4.096152],[-3.832928,-1.537326,4.137731],[-2.96186,-2.274215,4.440943],[-4.386901,-2.683286,3.643886],[-1.217295,-7.834465,4.969286],[-1.542374,-.136843,5.201008],[-3.878377,-6.041764,3.311079],[-3.084037,-6.809842,3.814195],[-3.747321,-4.503545,3.726453],[-6.094129,-3.205991,1.473482],[-4.588995,-4.728726,2.983221],[-6.583231,-3.941269,.070268],[-3.49258,-3.19582,4.130198],[-1.255543,.802341,5.307551],[-1.126122,-.933602,6.538785],[-1.443109,-1.142774,5.905127],[-.923043,-.529042,7.003423],[-1.755386,3.529117,4.327696],[-2.632589,3.713828,4.364629],[-3.388062,3.721976,4.309028],[-4.075766,3.675413,4.076063],[-4.62291,3.474691,3.646321],[-5.171755,2.535753,2.670867],[-7.297331,.763172,-.048769],[-4.706828,1.651,3.109532],[-4.071712,1.476821,3.476944],[-3.269817,1.470659,3.731945],[-2.527572,1.617311,3.865444],[-1.970894,1.858505,3.961782],[-1.579543,2.097941,4.084996],[-7.664182,.673132,-2.435867],[-1.397041,-1.340139,5.630378],[-.884838,.65874,6.233232],[-.767097,-.968035,7.077932],[-.460213,-1.334106,6.787447],[-.748618,-1.067994,6.798303],[-1.236408,-1.585568,5.48049],[-.387306,-1.40999,6.957705],[-.319925,-1.607931,6.508676],[-1.639633,2.556298,3.863736],[-1.255645,2.467144,4.2038],[-1.031362,2.382663,4.615849],[-4.253081,2.772296,3.315305],[-4.53,2.91,3.339685],[.463928,.955357,6.633583],[4.253081,2.577646,3.279702],[.416106,-1.466449,6.447657],[7.08796,5.434801,.09962],[2.628639,2.035898,3.848121],[3.198363,1.985815,3.796952],[3.775151,2.039402,3.646194],[4.465819,2.42295,3.155168],[2.164289,2.189867,3.851822],[3.208229,3.223926,4.115822],[2.673803,3.205337,4.092203],[3.745193,3.165286,3.972409],[4.161018,3.059069,3.719554],[5.062006,1.934418,2.776093],[2.266659,-7.425768,4.389812],[4.445859,2.663991,3.173422],[7.21453,2.263009,.07315],[5.799793,2.349546,2.204059],[2.844939,-.720868,4.43313],[.711452,-3.329355,5.877044],[.606033,-3.924562,5.444923],[1.431615,-3.500953,5.496189],[1.91491,-3.803146,5.02893],[1.131043,-3.973937,5.189648],[1.563548,-4.082763,4.842263],[2.650112,-5.003649,4.188483],[.427049,-1.094134,7.360529],[.496396,-.475659,7.440358],[5.253307,3.881582,3.363159],[1.718698,.974609,4.558359],[1.608635,-.942516,5.814193],[1.651267,-.610868,5.581319],[4.765501,-.701554,3.534632],[.478306,.295766,7.101013],[3.734964,4.50823,4.550454],[4.588603,4.302037,4.048484],[6.279331,6.615427,1.42585],[1.220941,4.142165,5.106035],[2.193489,3.100317,4.000575],[3.102642,-4.352984,4.095905],[6.719682,-4.788645,-1.745401],[1.193824,-1.306795,5.737747],[.729766,-1.593712,5.833208],[2.456206,-4.342621,4.283884],[2.204823,-4.304508,4.162499],[4.985894,4.802461,3.751977],[1.592294,-1.257709,5.456949],[2.644548,4.524654,4.921559],[2.760292,5.100971,5.01599],[3.523964,8.005976,3.729163],[5.599763,5.71547,2.724259],[3.063932,6.566144,4.529981],[5.720968,4.254584,2.830852],[6.374393,4.78559,1.591691],[.672728,-3.688016,5.737804],[1.26256,-3.787691,5.417779],[1.732553,-3.952767,5.000579],[1.043625,-1.464973,5.662455],[2.321234,-4.329069,4.258156],[2.056846,-4.477671,4.520883],[2.153084,-4.276322,4.038093],[.946874,-1.035249,6.512274],[1.469132,-4.036351,4.604908],[1.02434,-3.989851,4.926693],[.533422,-3.993222,5.138202],[.76972,-6.095394,4.985883],[.699606,-5.29185,5.448304],[.669687,-4.94977,5.509612],[.630947,-4.695101,5.449371],[.583218,-4.517982,5.339869],[1.53717,-4.423206,4.74547],[1.6156,-4.475942,4.813632],[1.729053,-4.61868,4.854463],[1.838624,-4.828746,4.823737],[2.36825,-3.106237,4.868096],[7.542244,-1.049282,-2.431321],[1.826614,-4.399531,4.399021],[1.929558,-4.411831,4.497052],[.597442,-2.013686,5.866456],[1.405627,-1.714196,5.241087],[.662449,-1.819321,5.863759],[2.34234,.572222,4.294303],[3.327324,.104863,4.11386],[1.726175,-.919165,5.273355],[5.133204,7.485602,2.660442],[4.538641,6.319907,3.683424],[3.986562,5.109487,4.466315],[2.169681,-5.440433,4.455874],[1.395634,5.011963,5.316032],[1.6195,6.599217,4.921106],[1.891399,8.236377,4.274997],[4.195832,2.235205,3.375099],[5.733342,1.411738,2.431726],[1.859887,2.355757,3.843181],[4.988612,3.074654,3.083858],[1.303263,1.416453,4.831091],[1.305757,-.672779,6.415959],[6.46517,.937119,1.689873],[5.258659,.945811,2.974312],[4.432338,.722096,3.522615],[3.300681,.861641,3.872784],[2.430178,1.131492,4.039035],[1.820731,1.467954,4.224124],[.563221,2.307693,5.566789],[6.338145,-.529279,1.881175],[5.587698,3.208071,2.687839],[.242624,-1.462857,7.071491],[1.611251,.339326,4.895421],[7.743095,2.364999,-2.005167],[1.391142,1.851048,4.448999],[1.785794,-.978284,4.85047],[4.670959,2.664461,3.084075],[1.33397,-.283761,6.097047],[7.270895,-2.890917,-2.252455],[1.856432,2.585245,3.757904],[.923388,.073076,6.671944],[5.000589,-6.135128,1.892523],[5.085276,-7.17859,.714711],[7.159291,-.81182,-.072044],[5.843051,-5.248023,.924091],[6.847258,3.662916,.724695],[2.412942,-8.258853,4.119213],[.179909,-1.689864,6.573301],[2.103655,-.163946,4.566119],[6.407571,2.236021,1.560843],[3.670075,2.360153,3.63523],[3.177186,2.294265,3.775704],[2.196121,-4.598322,4.479786],[6.234883,-1.94443,1.663542],[1.292924,-9.29592,4.094063],[3.210651,-8.533278,2.802001],[4.068926,-7.993109,1.925119],[2.724032,2.315802,3.777151],[2.28846,2.398891,3.697603],[1.998311,2.496547,3.689148],[6.13004,3.399261,2.038516],[2.28846,2.886504,3.775031],[2.724032,2.96181,3.871767],[3.177186,2.964136,3.876973],[3.670075,2.927714,3.724325],[4.018389,2.857357,3.482983],[7.555811,4.106811,-.991917],[4.018389,2.483695,3.440898],[1.776217,-2.683946,5.213116],[1.222237,-1.182444,5.952465],[.731493,-2.536683,5.815343],[4.135272,-6.996638,2.67197],[3.311811,-7.660815,3.382963],[1.313701,-8.639995,4.702456],[5.940524,-6.223629,-.631468],[1.998311,2.743838,3.74403],[.901447,1.236992,5.754256],[2.308977,-8.974196,3.60907],[6.954154,-2.439843,-.131163],[1.098819,-4.458788,5.120727],[1.181124,-4.579996,5.189564],[1.255818,-4.787901,5.237051],[1.325085,-5.106507,5.20501],[1.546388,-5.819392,4.757893],[1.953754,-4.183892,4.431713],[2.117802,-4.137093,4.555096],[2.285339,-4.051196,4.582438],[2.85016,-3.66572,4.484994],[5.278538,-2.238942,2.861224],[.946709,1.907628,5.196779],[1.314173,3.104912,4.231404],[1.78,2.86,3.881555],[1.84511,-4.09888,4.247264],[5.436187,-4.030482,2.109852],[.766444,3.182131,4.861453],[1.938616,-6.61441,4.521085],[.516573,1.583572,6.148363],[1.246815,.230297,5.681036],[.997827,-6.930921,4.979576],[3.288807,-5.382514,3.795752],[2.311631,-1.566237,4.590085],[2.68025,-6.111567,4.096152],[3.832928,-1.537326,4.137731],[2.96186,-2.274215,4.440943],[4.386901,-2.683286,3.643886],[1.217295,-7.834465,4.969286],[1.542374,-.136843,5.201008],[3.878377,-6.041764,3.311079],[3.084037,-6.809842,3.814195],[3.747321,-4.503545,3.726453],[6.094129,-3.205991,1.473482],[4.588995,-4.728726,2.983221],[6.583231,-3.941269,.070268],[3.49258,-3.19582,4.130198],[1.255543,.802341,5.307551],[1.126122,-.933602,6.538785],[1.443109,-1.142774,5.905127],[.923043,-.529042,7.003423],[1.755386,3.529117,4.327696],[2.632589,3.713828,4.364629],[3.388062,3.721976,4.309028],[4.075766,3.675413,4.076063],[4.62291,3.474691,3.646321],[5.171755,2.535753,2.670867],[7.297331,.763172,-.048769],[4.706828,1.651,3.109532],[4.071712,1.476821,3.476944],[3.269817,1.470659,3.731945],[2.527572,1.617311,3.865444],[1.970894,1.858505,3.961782],[1.579543,2.097941,4.084996],[7.664182,.673132,-2.435867],[1.397041,-1.340139,5.630378],[.884838,.65874,6.233232],[.767097,-.968035,7.077932],[.460213,-1.334106,6.787447],[.748618,-1.067994,6.798303],[1.236408,-1.585568,5.48049],[.387306,-1.40999,6.957705],[.319925,-1.607931,6.508676],[1.639633,2.556298,3.863736],[1.255645,2.467144,4.2038],[1.031362,2.382663,4.615849],[4.253081,2.772296,3.315305],[4.53,2.91,3.339685]],uvs:[[.499977,.347466],[.500026,.452513],[.499974,.397628],[.482113,.528021],[.500151,.472844],[.49991,.501747],[.499523,.598938],[.289712,.619236],[.499955,.687602],[.499987,.730081],[.500023,.89295],[.500023,.333766],[.500016,.320776],[.500023,.307652],[.499977,.304722],[.499977,.294066],[.499977,.280615],[.499977,.262981],[.499968,.218629],[.499816,.437019],[.473773,.42609],[.104907,.745859],[.36593,.590424],[.338758,.586975],[.31112,.59054],[.274658,.610869],[.393362,.596294],[.345234,.655989],[.370094,.653924],[.319322,.652735],[.297903,.646409],[.247792,.58919],[.396889,.157245],[.280098,.6244],[.10631,.600044],[.209925,.608647],[.355808,.465594],[.471751,.349596],[.474155,.319808],[.439785,.342771],[.414617,.333459],[.450374,.319139],[.428771,.317309],[.374971,.272195],[.486717,.452371],[.485301,.472605],[.257765,.68551],[.401223,.544828],[.429819,.451385],[.421352,.466259],[.276896,.467943],[.48337,.500413],[.337212,.717117],[.296392,.706757],[.169295,.806186],[.44758,.69739],[.39239,.646112],[.35449,.303216],[.067305,.269895],[.442739,.427174],[.457098,.415208],[.381974,.305289],[.392389,.305797],[.277076,.728068],[.422552,.436767],[.385919,.718636],[.383103,.74416],[.331431,.880286],[.229924,.767997],[.364501,.810886],[.229622,.700459],[.173287,.721252],[.472879,.333802],[.446828,.331473],[.422762,.32611],[.445308,.419934],[.388103,.306039],[.403039,.29346],[.403629,.306047],[.460042,.442861],[.431158,.307634],[.452182,.307634],[.475387,.307634],[.465828,.22081],[.472329,.263774],[.473087,.282143],[.473122,.295374],[.473033,.304722],[.427942,.304722],[.426479,.29646],[.423162,.288154],[.418309,.279937],[.390095,.360427],[.013954,.439966],[.499914,.419853],[.4132,.3046],[.409626,.298177],[.46808,.398465],[.422729,.414015],[.46308,.406216],[.37212,.526586],[.334562,.503927],[.411671,.453035],[.242176,.852324],[.290777,.798554],[.327338,.743473],[.39951,.251079],[.441728,.738324],[.429765,.812166],[.412198,.891099],[.288955,.601048],[.218937,.564589],[.412782,.60103],[.257135,.64456],[.427685,.562039],[.44834,.463064],[.17856,.542446],[.247308,.542806],[.286267,.532325],[.332828,.539288],[.368756,.552793],[.398964,.567345],[.47641,.594194],[.189241,.476076],[.228962,.651049],[.490726,.437599],[.40467,.514867],[.019469,.598436],[.426243,.579569],[.396993,.451203],[.26647,.623023],[.439121,.481042],[.032314,.355643],[.419054,.612845],[.462783,.494253],[.238979,.220255],[.198221,.168062],[.10755,.459245],[.18361,.259743],[.13441,.666317],[.385764,.116846],[.490967,.420622],[.382385,.491427],[.174399,.602329],[.318785,.603765],[.343364,.599403],[.3961,.289783],[.187885,.411462],[.430987,.055935],[.318993,.101715],[.266248,.130299],[.500023,.809424],[.499977,.045547],[.36617,.601178],[.393207,.604463],[.410373,.60892],[.194993,.657898],[.388665,.637716],[.365962,.644029],[.343364,.644643],[.318785,.64166],[.301415,.636844],[.058133,.680924],[.301415,.612551],[.499988,.381566],[.415838,.375804],[.445682,.433923],[.465844,.379359],[.499923,.648476],[.288719,.180054],[.335279,.14718],[.440512,.097581],[.128294,.208059],[.408772,.626106],[.455607,.548199],[.499877,.09101],[.375437,.075808],[.11421,.384978],[.448662,.304722],[.44802,.295368],[.447112,.284192],[.444832,.269206],[.430012,.233191],[.406787,.314327],[.400738,.318931],[.3924,.322297],[.367856,.336081],[.247923,.398667],[.45277,.57915],[.436392,.640113],[.416164,.631286],[.413386,.307634],[.228018,.316428],[.468268,.647329],[.411362,.195673],[.499989,.530175],[.479154,.557346],[.499974,.560363],[.432112,.506411],[.499886,.133083],[.499913,.178271],[.456549,.180799],[.344549,.254561],[.378909,.42599],[.374293,.219815],[.319688,.429262],[.357155,.39573],[.295284,.378419],[.44775,.137523],[.410986,.491277],[.313951,.224692],[.354128,.187447],[.324548,.296007],[.189096,.3537],[.279777,.285342],[.133823,.317299],[.336768,.355267],[.429884,.533478],[.455528,.451377],[.437114,.441104],[.467288,.470075],[.414712,.66478],[.377046,.677222],[.344108,.679849],[.312876,.677668],[.283526,.66681],[.241246,.617214],[.102986,.531237],[.267612,.57544],[.297879,.566824],[.333434,.566122],[.366427,.573884],[.396012,.583304],[.420121,.589772],[.007561,.519223],[.432949,.430482],[.458639,.520911],[.473466,.454256],[.476088,.43617],[.468472,.444943],[.433991,.417638],[.483518,.437016],[.482483,.422151],[.42645,.610201],[.438999,.603505],[.450067,.599566],[.289712,.631747],[.27667,.636627],[.517862,.528052],[.710288,.619236],[.526227,.42609],[.895093,.745859],[.63407,.590424],[.661242,.586975],[.68888,.59054],[.725342,.610869],[.60663,.596295],[.654766,.655989],[.629906,.653924],[.680678,.652735],[.702097,.646409],[.752212,.589195],[.602918,.157137],[.719902,.6244],[.893693,.60004],[.790082,.608646],[.643998,.465512],[.528249,.349596],[.52585,.319809],[.560215,.342771],[.585384,.333459],[.549626,.319139],[.571228,.317308],[.624852,.271901],[.51305,.452718],[.515097,.472748],[.742247,.685493],[.598631,.545021],[.570338,.451425],[.578632,.466377],[.723087,.467946],[.516446,.500361],[.662801,.717082],[.703624,.706729],[.830705,.806186],[.552386,.697432],[.60761,.646112],[.645429,.303293],[.932695,.269895],[.557261,.427174],[.542902,.415208],[.618026,.305289],[.607591,.305797],[.722943,.728037],[.577414,.436833],[.614083,.718613],[.616907,.744114],[.668509,.880086],[.770092,.767979],[.635536,.810751],[.770391,.700444],[.826722,.721245],[.527121,.333802],[.553172,.331473],[.577238,.32611],[.554692,.419934],[.611897,.306039],[.596961,.29346],[.596371,.306047],[.539958,.442861],[.568842,.307634],[.547818,.307634],[.524613,.307634],[.53409,.220859],[.527671,.263774],[.526913,.282143],[.526878,.295374],[.526967,.304722],[.572058,.304722],[.573521,.29646],[.576838,.288154],[.581691,.279937],[.609945,.36009],[.986046,.439966],[.5868,.3046],[.590372,.298177],[.531915,.398463],[.577268,.414065],[.536915,.406214],[.627543,.526648],[.665586,.504049],[.588354,.453138],[.757824,.852324],[.70925,.798492],[.672684,.743419],[.600409,.250995],[.558266,.738328],[.570304,.812129],[.588166,.890956],[.711045,.601048],[.78107,.564595],[.587247,.601068],[.74287,.644554],[.572156,.562348],[.551868,.46343],[.821442,.542444],[.752702,.542818],[.713757,.532373],[.667113,.539327],[.631101,.552846],[.600862,.567527],[.523481,.594373],[.810748,.476074],[.771046,.651041],[.509127,.437282],[.595293,.514976],[.980531,.598436],[.5735,.58],[.602995,.451312],[.73353,.623023],[.560611,.480983],[.967686,.355643],[.580985,.61284],[.537728,.494615],[.760966,.220247],[.801779,.168062],[.892441,.459239],[.816351,.25974],[.865595,.666313],[.614074,.116754],[.508953,.420562],[.617942,.491684],[.825608,.602325],[.681215,.603765],[.656636,.599403],[.6039,.289783],[.812086,.411461],[.568013,.055435],[.681008,.101715],[.733752,.130299],[.63383,.601178],[.606793,.604463],[.58966,.608938],[.805016,.657892],[.611335,.637716],[.634038,.644029],[.656636,.644643],[.681215,.64166],[.698585,.636844],[.941867,.680924],[.698585,.612551],[.584177,.375893],[.554318,.433923],[.534154,.37936],[.711218,.180025],[.66463,.147129],[.5591,.097368],[.871706,.208059],[.591234,.626106],[.544341,.548416],[.624563,.075808],[.88577,.384971],[.551338,.304722],[.55198,.295368],[.552888,.284192],[.555168,.269206],[.569944,.232965],[.593203,.314324],[.599262,.318931],[.6076,.322297],[.631938,.3365],[.752033,.398685],[.547226,.579605],[.563544,.640172],[.583841,.631286],[.586614,.307634],[.771915,.316422],[.531597,.647517],[.588371,.195559],[.520797,.557435],[.567985,.506521],[.543283,.180745],[.655317,.254485],[.621009,.425982],[.62556,.219688],[.680198,.429281],[.642764,.395662],[.704663,.37847],[.552012,.137408],[.589072,.491363],[.685945,.224643],[.645735,.18736],[.675343,.296022],[.810858,.353695],[.720122,.285333],[.866152,.317295],[.663187,.355403],[.570082,.533674],[.544562,.451624],[.562759,.441215],[.531987,.46986],[.585271,.664823],[.622953,.677221],[.655896,.679837],[.687132,.677654],[.716482,.666799],[.758757,.617213],[.897013,.531231],[.732392,.575453],[.702114,.566837],[.666525,.566134],[.633505,.573912],[.603876,.583413],[.579658,.590055],[.99244,.519223],[.567192,.43058],[.541366,.521101],[.526564,.453882],[.523913,.43617],[.531529,.444943],[.566036,.417671],[.516311,.436946],[.517472,.422123],[.573595,.610193],[.560698,.604668],[.549756,.600249],[.710288,.631747],[.72333,.636627]],faces:[173,155,133,246,33,7,382,398,362,263,466,249,308,415,324,78,95,191,356,389,264,127,34,162,368,264,389,139,162,34,267,0,302,37,72,0,11,302,0,11,0,72,349,451,350,120,121,231,452,350,451,232,231,121,267,302,269,37,39,72,303,269,302,73,72,39,357,343,350,128,121,114,277,350,343,47,114,121,350,452,357,121,128,232,453,357,452,233,232,128,299,333,297,69,67,104,332,297,333,103,104,67,175,152,396,175,171,152,377,396,152,148,152,171,381,384,382,154,155,157,398,382,384,173,157,155,280,347,330,50,101,118,348,330,347,119,118,101,269,303,270,39,40,73,304,270,303,74,73,40,9,336,151,9,151,107,337,151,336,108,107,151,344,278,360,115,131,48,279,360,278,49,48,131,262,431,418,32,194,211,424,418,431,204,211,194,304,408,270,74,40,184,409,270,408,185,184,40,272,310,407,42,183,80,415,407,310,191,80,183,322,270,410,92,186,40,409,410,270,185,40,186,347,449,348,118,119,229,450,348,449,230,229,119,434,432,430,214,210,212,422,430,432,202,212,210,313,314,18,83,18,84,17,18,314,17,84,18,307,375,306,77,76,146,291,306,375,61,146,76,259,387,260,29,30,160,388,260,387,161,160,30,286,414,384,56,157,190,398,384,414,173,190,157,418,424,406,194,182,204,335,406,424,106,204,182,367,416,364,138,135,192,434,364,416,214,192,135,391,423,327,165,98,203,358,327,423,129,203,98,298,301,284,68,54,71,251,284,301,21,71,54,4,275,5,4,5,45,281,5,275,51,45,5,254,373,253,24,23,144,374,253,373,145,144,23,320,321,307,90,77,91,375,307,321,146,91,77,280,425,411,50,187,205,427,411,425,207,205,187,421,313,200,201,200,83,18,200,313,18,83,200,335,321,406,106,182,91,405,406,321,181,91,182,405,321,404,181,180,91,320,404,321,90,91,180,17,314,16,17,16,84,315,16,314,85,84,16,425,266,426,205,206,36,423,426,266,203,36,206,369,396,400,140,176,171,377,400,396,148,171,176,391,269,322,165,92,39,270,322,269,40,39,92,417,465,413,193,189,245,464,413,465,244,245,189,257,258,386,27,159,28,385,386,258,158,28,159,260,388,467,30,247,161,466,467,388,246,161,247,248,456,419,3,196,236,399,419,456,174,236,196,333,298,332,104,103,68,284,332,298,54,68,103,285,8,417,55,193,8,168,417,8,168,8,193,340,261,346,111,117,31,448,346,261,228,31,117,285,417,441,55,221,193,413,441,417,189,193,221,327,460,326,98,97,240,328,326,460,99,240,97,277,355,329,47,100,126,371,329,355,142,126,100,309,392,438,79,218,166,439,438,392,219,166,218,381,382,256,154,26,155,341,256,382,112,155,26,360,279,420,131,198,49,429,420,279,209,49,198,365,364,379,136,150,135,394,379,364,169,135,150,355,277,437,126,217,47,343,437,277,114,47,217,443,444,282,223,52,224,283,282,444,53,224,52,281,275,363,51,134,45,440,363,275,220,45,134,431,262,395,211,170,32,369,395,262,140,32,170,337,299,338,108,109,69,297,338,299,67,69,109,335,273,321,106,91,43,375,321,273,146,43,91,348,450,349,119,120,230,451,349,450,231,230,120,467,359,342,247,113,130,446,342,359,226,130,113,282,283,334,52,105,53,293,334,283,63,53,105,250,458,462,20,242,238,461,462,458,241,238,242,276,353,300,46,70,124,383,300,353,156,124,70,325,292,324,96,95,62,308,324,292,78,62,95,283,276,293,53,63,46,300,293,276,70,46,63,447,264,345,227,116,34,372,345,264,143,34,116,352,345,346,123,117,116,340,346,345,111,116,117,1,19,274,1,44,19,354,274,19,125,19,44,248,281,456,3,236,51,363,456,281,134,51,236,425,426,427,205,207,206,436,427,426,216,206,207,380,381,252,153,22,154,256,252,381,26,154,22,391,393,269,165,39,167,267,269,393,37,167,39,199,428,200,199,200,208,421,200,428,201,208,200,330,329,266,101,36,100,371,266,329,142,100,36,422,432,273,202,43,212,287,273,432,57,212,43,290,250,328,60,99,20,462,328,250,242,20,99,258,286,385,28,158,56,384,385,286,157,56,158,342,446,353,113,124,226,265,353,446,35,226,124,257,386,259,27,29,159,387,259,386,160,159,29,430,422,431,210,211,202,424,431,422,204,202,211,445,342,276,225,46,113,353,276,342,124,113,46,424,422,335,204,106,202,273,335,422,43,202,106,306,292,307,76,77,62,325,307,292,96,62,77,366,447,352,137,123,227,345,352,447,116,227,123,302,268,303,72,73,38,271,303,268,41,38,73,371,358,266,142,36,129,423,266,358,203,129,36,327,294,460,98,240,64,455,460,294,235,64,240,294,331,278,64,48,102,279,278,331,49,102,48,303,271,304,73,74,41,272,304,271,42,41,74,427,436,434,207,214,216,432,434,436,212,216,214,304,272,408,74,184,42,407,408,272,183,42,184,394,430,395,169,170,210,431,395,430,211,210,170,395,369,378,170,149,140,400,378,369,176,140,149,296,334,299,66,69,105,333,299,334,104,105,69,417,168,351,193,122,168,6,351,168,6,168,122,280,411,352,50,123,187,376,352,411,147,187,123,319,320,325,89,96,90,307,325,320,77,90,96,285,295,336,55,107,65,296,336,295,66,65,107,404,320,403,180,179,90,319,403,320,89,90,179,330,348,329,101,100,119,349,329,348,120,119,100,334,293,333,105,104,63,298,333,293,68,63,104,323,454,366,93,137,234,447,366,454,227,234,137,16,315,15,16,15,85,316,15,315,86,85,15,429,279,358,209,129,49,331,358,279,102,49,129,15,316,14,15,14,86,317,14,316,87,86,14,8,285,9,8,9,55,336,9,285,107,55,9,329,349,277,100,47,120,350,277,349,121,120,47,252,253,380,22,153,23,374,380,253,145,23,153,402,403,318,178,88,179,319,318,403,89,179,88,351,6,419,122,196,6,197,419,6,197,6,196,324,318,325,95,96,88,319,325,318,89,88,96,397,367,365,172,136,138,364,365,367,135,138,136,288,435,397,58,172,215,367,397,435,138,215,172,438,439,344,218,115,219,278,344,439,48,219,115,271,311,272,41,42,81,310,272,311,80,81,42,5,281,195,5,195,51,248,195,281,3,51,195,273,287,375,43,146,57,291,375,287,61,57,146,396,428,175,171,175,208,199,175,428,199,208,175,268,312,271,38,41,82,311,271,312,81,82,41,444,445,283,224,53,225,276,283,445,46,225,53,254,339,373,24,144,110,390,373,339,163,110,144,295,282,296,65,66,52,334,296,282,105,52,66,346,448,347,117,118,228,449,347,448,229,228,118,454,356,447,234,227,127,264,447,356,34,127,227,336,296,337,107,108,66,299,337,296,69,66,108,151,337,10,151,10,108,338,10,337,109,108,10,278,439,294,48,64,219,455,294,439,235,219,64,407,415,292,183,62,191,308,292,415,78,191,62,358,371,429,129,209,142,355,429,371,126,142,209,345,372,340,116,111,143,265,340,372,35,143,111,388,390,466,161,246,163,249,466,390,7,163,246,352,346,280,123,50,117,347,280,346,118,117,50,295,442,282,65,52,222,443,282,442,223,222,52,19,94,354,19,125,94,370,354,94,141,94,125,295,285,442,65,222,55,441,442,285,221,55,222,419,197,248,196,3,197,195,248,197,195,197,3,359,263,255,130,25,33,249,255,263,7,33,25,275,274,440,45,220,44,457,440,274,237,44,220,300,383,301,70,71,156,368,301,383,139,156,71,417,351,465,193,245,122,412,465,351,188,122,245,466,263,467,246,247,33,359,467,263,130,33,247,389,251,368,162,139,21,301,368,251,71,21,139,374,386,380,145,153,159,385,380,386,158,159,153,379,394,378,150,149,169,395,378,394,170,169,149,351,419,412,122,188,196,399,412,419,174,196,188,426,322,436,206,216,92,410,436,322,186,92,216,387,373,388,160,161,144,390,388,373,163,144,161,393,326,164,167,164,97,2,164,326,2,97,164,354,370,461,125,241,141,462,461,370,242,141,241,0,267,164,0,164,37,393,164,267,167,37,164,11,12,302,11,72,12,268,302,12,38,12,72,386,374,387,159,160,145,373,387,374,144,145,160,12,13,268,12,38,13,312,268,13,82,13,38,293,300,298,63,68,70,301,298,300,71,70,68,340,265,261,111,31,35,446,261,265,226,35,31,380,385,381,153,154,158,384,381,385,157,158,154,280,330,425,50,205,101,266,425,330,36,101,205,423,391,426,203,206,165,322,426,391,92,165,206,429,355,420,209,198,126,437,420,355,217,126,198,391,327,393,165,167,98,326,393,327,97,98,167,457,438,440,237,220,218,344,440,438,115,218,220,382,362,341,155,112,133,463,341,362,243,133,112,457,461,459,237,239,241,458,459,461,238,241,239,434,430,364,214,135,210,394,364,430,169,210,135,414,463,398,190,173,243,362,398,463,133,243,173,262,428,369,32,140,208,396,369,428,171,208,140,457,274,461,237,241,44,354,461,274,125,44,241,316,403,317,86,87,179,402,317,403,178,179,87,315,404,316,85,86,180,403,316,404,179,180,86,314,405,315,84,85,181,404,315,405,180,181,85,313,406,314,83,84,182,405,314,406,181,182,84,418,406,421,194,201,182,313,421,406,83,182,201,366,401,323,137,93,177,361,323,401,132,177,93,408,407,306,184,76,183,292,306,407,62,183,76,408,306,409,184,185,76,291,409,306,61,76,185,410,409,287,186,57,185,291,287,409,61,185,57,436,410,432,216,212,186,287,432,410,57,186,212,434,416,427,214,207,192,411,427,416,187,192,207,264,368,372,34,143,139,383,372,368,156,139,143,457,459,438,237,218,239,309,438,459,79,239,218,352,376,366,123,137,147,401,366,376,177,147,137,4,1,275,4,45,1,274,275,1,44,1,45,428,262,421,208,201,32,418,421,262,194,32,201,327,358,294,98,64,129,331,294,358,102,129,64,367,435,416,138,192,215,433,416,435,213,215,192,455,439,289,235,59,219,392,289,439,166,219,59,328,462,326,99,97,242,370,326,462,141,242,97,326,370,2,97,2,141,94,2,370,94,141,2,460,455,305,240,75,235,289,305,455,59,235,75,448,339,449,228,229,110,254,449,339,24,110,229,261,446,255,31,25,226,359,255,446,130,226,25,449,254,450,229,230,24,253,450,254,23,24,230,450,253,451,230,231,23,252,451,253,22,23,231,451,252,452,231,232,22,256,452,252,26,22,232,256,341,452,26,232,112,453,452,341,233,112,232,413,464,414,189,190,244,463,414,464,243,244,190,441,413,286,221,56,189,414,286,413,190,189,56,441,286,442,221,222,56,258,442,286,28,56,222,442,258,443,222,223,28,257,443,258,27,28,223,444,443,259,224,29,223,257,259,443,27,223,29,259,260,444,29,224,30,445,444,260,225,30,224,260,467,445,30,225,247,342,445,467,113,247,225,250,309,458,20,238,79,459,458,309,239,79,238,290,305,392,60,166,75,289,392,305,59,75,166,460,305,328,240,99,75,290,328,305,60,75,99,376,433,401,147,177,213,435,401,433,215,213,177,250,290,309,20,79,60,392,309,290,166,60,79,411,416,376,187,147,192,433,376,416,213,192,147,341,463,453,112,233,243,464,453,463,244,243,233,453,464,357,233,128,244,465,357,464,245,244,128,412,343,465,188,245,114,357,465,343,128,114,245,437,343,399,217,174,114,412,399,343,188,114,174,363,440,360,134,131,220,344,360,440,115,220,131,456,420,399,236,174,198,437,399,420,217,198,174,456,363,420,236,198,134,360,420,363,131,134,198,361,401,288,132,58,177,435,288,401,215,177,58,353,265,383,124,156,35,372,383,265,143,35,156,255,249,339,25,110,7,390,339,249,163,7,110,261,255,448,31,228,25,339,448,255,110,25,228,14,317,13,14,13,87,312,13,317,82,87,13,317,402,312,87,82,178,311,312,402,81,178,82,402,318,311,178,81,88,310,311,318,80,88,81,318,324,310,88,80,95,415,310,324,191,95,80],landmarkBasis:[[4,.070909939706326],[6,.032100144773722],[10,.008446550928056],[33,.058724168688059],[54,.007667080033571],[67,.009078059345484],[117,.009791937656701],[119,.014565368182957],[121,.018591361120343],[127,.005197994410992],[129,.120625205338001],[132,.005560018587857],[133,.05328618362546],[136,.066890455782413],[143,.014816547743976],[147,.014262833632529],[198,.025462191551924],[205,.047252278774977],[263,.058724168688059],[284,.007667080033571],[297,.009078059345484],[346,.009791937656701],[348,.014565368182957],[350,.018591361120343],[356,.005197994410992],[358,.120625205338001],[361,.005560018587857],[362,.05328618362546],[365,.066890455782413],[372,.014816547743976],[376,.014262833632529],[420,.025462191551924],[425,.047252278774977]]}},1873:(A,I,g)=>{const{uvs:C,faces:B}=g(2319),Q=C.length;A.exports={createThreeFaceGeometry:A=>{class I extends A.BufferGeometry{constructor(I={}){super(),this.positions=new Float32Array(3*Q),this.uvs=new Float32Array(2*Q),this.setAttribute("position",new A.BufferAttribute(this.positions,3)),this.setAttribute("uv",new A.BufferAttribute(this.uvs,2)),this.setUvs(),this.setIndex(B)}setUvs(){for(let A=0;A{const{FaceMesh:C}=g(8818);A.exports={FaceMeshHelper:class{constructor(){this.detectResolve=null,this.faceMesh=new C({locateFile:A=>`https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh@0.4/${A}`}),this.faceMesh.setOptions({maxNumFaces:1,refineLandmarks:!1,minDetectionConfidence:.5,minTrackingConfidence:.5}),this.faceMesh.onResults((A=>{this.detectResolve&&this.detectResolve(A)}))}async detect(A){return await new Promise(((I,g)=>{this.detectResolve=I,this.faceMesh.send({image:A})}))}}}},7297:(A,I,g)=>{const{Controller:C}=g(1320),{UI:B}=g(2749),Q={Controller:C,UI:B};window.MINDAR||(window.MINDAR={}),window.MINDAR.FACE=Q,A.exports=Q},344:A=>{const I=(A,I)=>{const g=2*Math.PI*I*A;return g/(g+1)},g=(A,I,g)=>A*I+(1-A)*g;A.exports={OneEuroFilter:class{constructor({minCutOff:A,beta:I}){this.minCutOff=A,this.beta=I,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(A,C){if(!this.initialized)return this.initialized=!0,this.xPrev=C,this.dxPrev=C.map((()=>0)),this.tPrev=A,C;const{xPrev:B,tPrev:Q,dxPrev:E}=this,i=A-Q,D=I(i,this.dCutOff),o=[],G=[],w=[];for(let A=0;A{const C=g(129);let B=!1;const Q={},E=[];C.then((A=>{B=!0,Object.assign(Q,A),E.forEach((A=>{A()}))})),A.exports={cv:Q,waitCV:async()=>!!B||new Promise(((A,I)=>{E.push(A)}))}},129:function(A,I,g){var C,B;B=this,C=function(){return B.cv=(I=(I="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",C=function(A){var C,B,Q=void 0!==(A=A||{})?A:{};Q.ready=new Promise((function(A,I){C=A,B=I}));var E,i={};for(E in Q)Q.hasOwnProperty(E)&&(i[E]=Q[E]);var D=[],o="./this.program",G=!1,w=!1,F=!1,R=!1;G="object"==typeof window,w="function"==typeof importScripts,F="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,R=!G&&!F&&!w;var N,h,a,s,y,K="";function U(A){return Q.locateFile?Q.locateFile(A,K):K+A}F?(K=w?g(1386).dirname(K)+"/":"//",N=function(A,I){var C=TC(A);return C?I?C:C.toString():(s||(s=g(2993)),y||(y=g(1386)),A=y.normalize(A),s.readFileSync(A,I?null:"utf8"))},a=function(A){var I=N(A,!0);return I.buffer||(I=new Uint8Array(I)),t(I.buffer),I},process.argv.length>1&&(o=process.argv[1].replace(/\\/g,"/")),D=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof zC))throw A})),process.on("unhandledRejection",KA),Q.inspect=function(){return"[Emscripten Module object]"}):R?("undefined"!=typeof read&&(N=function(A){var I=TC(A);return I?fC(I):read(A)}),a=function(A){var I;return(I=TC(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(t("object"==typeof(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?D=scriptArgs:void 0!==arguments&&(D=arguments),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(G||w)&&(w?K=self.location.href:"undefined"!=typeof document&&document.currentScript&&(K=document.currentScript.src),I&&(K=I),K=0!==K.indexOf("blob:")?K.substr(0,K.lastIndexOf("/")+1):"",N=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=TC(A);if(g)return fC(g);throw I}},w&&(a=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=TC(A);if(g)return g;throw I}}),h=function(A,I,g){var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=function(){if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=TC(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});var M=Q.print||console.log.bind(console),k=Q.printErr||console.warn.bind(console);for(E in i)i.hasOwnProperty(E)&&(Q[E]=i[E]);i=null,Q.arguments&&(D=Q.arguments),Q.thisProgram&&(o=Q.thisProgram),Q.quit&&Q.quit;var S=16;function J(A,I){return I||(I=S),Math.ceil(A/I)*I}function Y(A){Y.shown||(Y.shown={}),Y.shown[A]||(Y.shown[A]=1,k(A))}var c,L,H=function(A){};Q.wasmBinary&&(c=Q.wasmBinary),Q.noExitRuntime&&Q.noExitRuntime,"object"!=typeof WebAssembly&&KA("no native wasm support detected");var q=!1;function t(A,I){A||KA("Assertion failed: "+I)}var r="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.subarray&&r)return r.decode(A.subarray(I,B));for(var Q="";I>10,56320|1023&o)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function n(A,I){return A?d(f,A,I):""}function l(A,I,g,C){if(!(C>0))return 0;for(var B=g,Q=g+C-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-B}function e(A,I,g){return l(A,f,I,g)}function b(A){for(var I=0,g=0;g=55296&&C<=57343&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++g)),C<=127?++I:I+=C<=2047?2:C<=65535?3:4}return I}var V,x,f,W,Z,T,m,p,X,O="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function u(A,I){for(var g=A,C=g>>1,B=C+I/2;!(C>=B)&&Z[C];)++C;if((g=C<<1)-A>32&&O)return O.decode(f.subarray(A,g));for(var Q="",E=0;!(E>=I/2);++E){var i=W[A+2*E>>1];if(0==i)break;Q+=String.fromCharCode(i)}return Q}function j(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var C=I,B=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return W[I>>1]=0,I-C}function P(A){return 2*A.length}function z(A,I){for(var g=0,C="";!(g>=I/4);){var B=T[A+4*g>>2];if(0==B)break;if(++g,B>=65536){var Q=B-65536;C+=String.fromCharCode(55296|Q>>10,56320|1023&Q)}else C+=String.fromCharCode(B)}return C}function v(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var C=I,B=C+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),T[I>>2]=E,(I+=4)+4>B)break}return T[I>>2]=0,I-C}function _(A){for(var I=0,g=0;g=55296&&C<=57343&&++g,I+=4}return I}function $(A,I){x.set(A,I)}function AA(A,I,g){for(var C=0;C>0]=A.charCodeAt(C);g||(x[I>>0]=0)}function IA(A,I){return A%I>0&&(A+=I-A%I),A}function gA(A){V=A,Q.HEAP8=x=new Int8Array(A),Q.HEAP16=W=new Int16Array(A),Q.HEAP32=T=new Int32Array(A),Q.HEAPU8=f=new Uint8Array(A),Q.HEAPU16=Z=new Uint16Array(A),Q.HEAPU32=m=new Uint32Array(A),Q.HEAPF32=p=new Float32Array(A),Q.HEAPF64=X=new Float64Array(A)}Q.INITIAL_MEMORY;var CA,BA=[],QA=[],EA=[],iA=[];function DA(){if(Q.preRun)for("function"==typeof Q.preRun&&(Q.preRun=[Q.preRun]);Q.preRun.length;)FA(Q.preRun.shift());eA(BA)}function oA(){Q.noFSInit||jA.init.initialized||jA.init(),XA.init(),eA(QA)}function GA(){jA.ignorePermissions=!1,eA(EA)}function wA(){if(Q.postRun)for("function"==typeof Q.postRun&&(Q.postRun=[Q.postRun]);Q.postRun.length;)RA(Q.postRun.shift());eA(iA)}function FA(A){BA.unshift(A)}function RA(A){iA.unshift(A)}var NA=0,hA=null,aA=null;function sA(A){NA++,Q.monitorRunDependencies&&Q.monitorRunDependencies(NA)}function yA(A){if(NA--,Q.monitorRunDependencies&&Q.monitorRunDependencies(NA),0==NA&&(null!==hA&&(clearInterval(hA),hA=null),aA)){var I=aA;aA=null,I()}}function KA(A){Q.onAbort&&Q.onAbort(A),k(A+=""),q=!0,A="abort("+A+"). Build with -s ASSERTIONS=1 for more info.";var I=new WebAssembly.RuntimeError(A);throw B(I),I}function UA(A,I){return String.prototype.startsWith?A.startsWith(I):0===A.indexOf(I)}Q.preloadedImages={},Q.preloadedAudios={};var MA="data:application/octet-stream;base64,";function kA(A){return UA(A,MA)}var SA="file://";function JA(A){return UA(A,SA)}var YA,cA,LA,HA="data:application/octet-stream;base64,AGFzbQEAAAAB1Ah7YAF/AX9gAX8AYAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAIf39/f39/f38AYAV/f39/fwBgBX9/f39/AX9gCX9/f39/f39/fwBgBH9/f38Bf2AGf39/f39/AX9gBn9/f39/fwBgAABgAX8BfGAHf39/f39/fwBgAAF/YAh/f39/f39/fwF/YAR/f398AGADf398AGADf39/AXxgB39/f39/f38Bf2ABfwF9YAN/fX8AYAJ/fwF9YAp/f39/f39/f39/AGABfAF8YAJ/fABgAX8BfmADf35/AX5gDX9/f39/f39/f398fH8AYAV/fn5+fgBgBn9/f399fwF/YAJ/fwF8YAp/f39/f39/fHx/AGAFf39/f3wAYAR/f3x/AGACf34AYAV/f39/fgF/YAR/f398AX9gAnx8AXxgD39/f39/f39/f39/f39/fwBgBX9/f3x8AGAFf39+f38AYAN/f30AYAR/fH9/AGAFf39/f3wBf2AEf39/fwF+YAR/f399AGAHf398f3x/fwBgBH9+fn8AYAl/f39/f39/f38Bf2AKf39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAV/f39/fwF9YAZ/f39/fX8AYAd/f39/fX9/AGALf39/f31/f31/f38AYAd/f39/fX99AGAGf39/f319AGAGf39/f3x8AGACf30AYAx/f39/f39/f39/f38Bf2AGf39/f3x/AX9gB39/f398f38Bf2ADf398AX9gBn98f39/fwF/YAJ+fwF/YAF8AX9gAAF+YAJ/fwF+YAR/f39+AX5gA39/fwF9YAh/f39/f39/fwF9YAh/f39/fX9/fwF9YAR/f39/AXxgAnx/AXxgC39/f39/f39/f39/AGANf39/f39/f39/f39/fwBgDH9/f39/f39/fHx8fABgCX9/f39/f3x8fwBgBn9/f39/fABgC39/f39/fH9/f398AGAPf39/f31/f31/f39/f39/AGAPf39/f3x/f3x/f39/f39/AGAKf39/f3x8fHx8fwBgBn9/f31/fwBgA39/fgBgA39+fgBgA398fwBgCn98f398f3x8fHwAYAd/fH98fH9/AGADf3x8AGAMf3x8fHx8fHx8fH9/AGADfH9/AGAFfHx/f38AYAh8fHx8fHx/fwBgB39/f39/f3wBf2AOf39/f399f398f3x/f38Bf2AEf39/fQF/YBh/f398fHx8fHx8fHx8fHx8fHx8fHx8fH8Bf2AEf398fAF/YAN/fn8Bf2AEf35/fwF/YAN/fH8Bf2ADfn9/AX9gAn5+AX9gA35+fgF/YAR+fn5+AX9gAX0Bf2ACfH8Bf2AHfHx8fH9/fwF/YAl8fHx8fH9/f38Bf2ADf39/AX5gBH9/f38BfWACfn4BfWAFf39/f38BfGADf3x8AXxgAn5+AXxgA3x8fwF8AtwKLgNlbnYQX2VtdmFsX25ld19hcnJheQARA2VudhhfZW12YWxfZ2V0X21ldGhvZF9jYWxsZXIAAwNlbnYXX2VtdmFsX2NhbGxfdm9pZF9tZXRob2QABgNlbnYRX2VtdmFsX3Rha2VfdmFsdWUAAwNlbnYSX2VtdmFsX25ld19jc3RyaW5nAAADZW52E19lbXZhbF9zZXRfcHJvcGVydHkABANlbnYNX2VtdmFsX2RlY3JlZgABA2Vudg1fZW12YWxfaW5jcmVmAAEDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfY2xhc3MAUQNlbnYiX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19jb25zdHJ1Y3RvcgANA2VudiVfZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NsYXNzX2Z1bmN0aW9uABADZW52H19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfcHJvcGVydHkAGgNlbnYfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbgAHA2Vudh1fZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdAANA2VudiNfZW1iaW5kX3JlZ2lzdGVyX3ZhbHVlX29iamVjdF9maWVsZAAaA2Vudh1fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdAABA2VudhlfZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uAA0DZW52HF9lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfYXJyYXkADQNlbnYkX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9hcnJheV9lbGVtZW50AAoDZW52HF9lbWJpbmRfZmluYWxpemVfdmFsdWVfYXJyYXkAAQNlbnYZX2VtYmluZF9yZWdpc3Rlcl9jb25zdGFudAAUA2VudhhfX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24AAANlbnYLX19jeGFfdGhyb3cABANlbnYNY2xvY2tfZ2V0dGltZQADA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQAAgNlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAgDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwACA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAQDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAgNlbnYYX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyAAgDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZmxvYXQABANlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAEA2VudgpfX3N5c19vcGVuAAUWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQALFndhc2lfc25hcHNob3RfcHJldmlldzEHZmRfcmVhZAALFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYNX19zeXNfZmNudGw2NAAFA2VudgtfX3N5c19pb2N0bAAFFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAMDZW52BWFib3J0AA4DZW52CnN0cmZ0aW1lX2wACQNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcABQNlbnYLc2V0VGVtcFJldDAAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3NlZWsACQP6HfgdDgkrBBMCBgQGBCITAgQCBAQCAgQCAgIABAICEhIWDAkLBgYEBAICAgEODg4ODg4ODg4OAAEAEQMABQMLBQkLDAUECwYDBAIDAgICAgICAgIAAwAAPwYkBAUIBgYLBAQABgQFAwAEFSgFAwQAAwQFBgsEBgQGBAYEBgQGBAYDBQULCwkFCwkDBQULCQULCQMFBQsJS3U5dwMVBU4RAREiFBktEREDBAMDERERIhQREREBAwQDAzQSFgwJBQMAAQsAAAABEQIEBAYA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BpwGnQahBqIGowbeBuEG4AbiBvUD7wOnB4QH5AblBuYG5wboBukG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUG9gb4BvkG+wb8Bu8DpweFB4YHhweIB4kHiweKB+8DpweMB40HjgfvA6gHkweUB5UHlgeXB6kH7wOoB5gHmQfvA6gHjweQB5EH7wOoB5oH7wOoB5sHkAe1B7YHtwe4B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gH/gf/B4AIgQiCCIMIhAiTCJQIlQiWCJcIjAiYCJkImgicCJ0InwiKCKEIowilCKcIqQirCIgIrQivCLAIsQiyCLMIkgi0CLUItwi5CLsIvQiQCL8IwQjDCMUIxwjJCI4IywjOCPUD7wPQCNgI3QjVCNII1wjrCPAIpQn8CP4I/wiACYEJggmDCY0JjgmPCZAJhAmTCZEJkgmWCZoJngmVCaMJpAmMCYsJoAmhCacJqAmpCaoJqwmuCb0Jvgm/CagH7wPCCcMJxAnvA/UD7wPECe8D9QPvA80JzgnPCdAJ0QnSCdMJ1An1A+8DxAnvA/UD7wPVCdkJ9QPvA8QJ7wPvA98J4QnPCeIJ4wnkCeUJ5gn1A+8DxAnvA+8D5wnrCfUD7wPECe8D7wPuCe8JzwniCfAJ8QnyCfMJ9QPvA8QJ7wPvA/QJ9wn6CfsJ/An9Cf4J/wmACoEKggqDCoYKhwqICokKigqLCowKvwqdCpUKoAq1CpYKlwqmCqcKgxu2CrcKuAq5CroKuwq8Cr0KyQbbCtwK3Qq9Cv0K/gr/Cu8DiAuJC4oLiwuMC5kLmgubC5wLnQueC58LoAv1A+8DyQbvA/UD7wOPC5ELkguTC5QLlQuWC5cL7wOhC6ILowukC/UD7wPJBu8D7wOlC/UD7wPJBu8D7wOmC/UD7wPJBu8D7wOoC/UD7wPJBu8D7wOpC/UD7wPJBu8D7wOrC6wLrQuuC68LsAu5C7oLuwu8C70L9QPvA8sLzAvvA/UD7wPJBu8D9QPvA9oL2wvcC90L3gvfC+8D4AvhC+IL4wvvA8kGyAbIBu0L5AvlC+gL6QvqC+8D6wvsC+4L7wvwC/ML9Av1C/EL9AvyC+8D+Qv6C+8D7wP5C/sL7wOCDIMMjwyRDJIMlAyVDIQM7wP5C5YM7wPoDOkMxAnvA+oM6wzsDO0M7gzvDPAM8QzyDPMM9AzECe8D9Qz2DPcM7QzuDO8M8AzxDPgM+Qz6DMQJ7wP7DPwM9wztDO4M7wzwDPEM/Qz+DP8MxAnvA4ANgQ2CDe0M7gzvDPAM8QyDDYQNhQ3ECe8Dhg2HDYIN7QzuDO8M8AzxDIgNiQ2KDcQJ7wOLDYwNjQ2ODY8NkA2RDZINxAnvA5MNlA2VDZYNlw2YDZkNmg3ECe8Dmw2cDZ0Nng2fDaANoQ2iDcQJ7wOjDaQNpQ2mDacNqA2pDaoNxAnvA6sNrA2tDa4Nrw2wDbENsg3ECe8Dsw20DbUNtg23DbgNuQ26DcQJ7wO7DbwNwA3DDcQNxQ3vA8YNxw3IDckNyg3LDcwNzQ3ODc8N0A3RDcUN7wPSDdMN1A3KDcsNzA3NDc4N1Q3WDdcNxQ3vA9gN2Q3aDdsN3A3LDd0N3g2+Dd8N4A3hDcUN7wPiDeMN5A3KDcsN5Q3NDc4N5g3nDegNxAnvA+kN6g2nB6gHyAbrDe0L7A3tDe4NxQ3vA/EN8g3zDfQN9Q32DfcN+A35DfsN/A3ECe8Duw39Df4N/w2ADoEOgg7ECe8Dgw6EDoUO/g3/DYYOhw6IDsQJ7wO7DYkOig7/DYsOjA6NDsQJ7wO7DY4Oig7/DY8Okg6TDsQJ7wO7DacHlA7GDpYOlw6YDsQJ7wO7DZkOgg+aDpsOnQ7FDe8DnA6fDqAOoQ6jDqQOpQ7ECe8Dpg6nDqgOqQ6qDqsOxAnvA7sNrA6tDooOrg6vDrAOxAnvA7sNsQ6yDv8Nsw60DrUOxAnvA7YOtw64DrIO/w25DroOuw7ECe8Duw28Dr0Ovg6/DsAOwQ7ECe8Duw3CDrIO/w3DDsQOxQ7ECe8Duw3GDooOxw7IDskOyg7ECe8Duw3LDswO/w3NDs4Ozw7ECe8Duw3QDswO/w3RDtIO0w7FDe8Duw3UDooO/g3XDtsO3Q7FDe8D3A7eDt8O4Q7mDugOxQ3vA+cO6Q7qDusO7A7uDsUN7wPtDu8O8A7xDvIO9A7ECe8D8w71DvYO9QP4DvkO+g71A+8D9w77DskG7wP8Dv4O/w6AD4EPxAnvA7sNgw+ED4UPxQ3vA4YPhw+ID4kPig+LD4wPjwmND44Pjw+QD+sNkQ+SD8UN7wOTD5QPlQ+WD5cPmA+ZD5oPjwmbD5wPnQ/wC54Pnw+gD6EPjgmiD6MPpA+lD6YPpw+oD6kPqg+rD6wPrQ+uD68PsA+xD7IPsw+gCbQPtQ+RCaEJtg+3D7gPuQ+6D7sPvA+9D74Pvw/AD8EPwg/DD8QPxQ/GD8cPzA/ND8UN7wPOD88P0A/RD9IP0w/UD8QJ7wPVD9YP1w/YD9kPog/rDdoP2w/dD8QJ7wPcD94P3w/gD+EP4g/jD8QJ7wPkD+UP5g/nD+gP6g/rD8UN7wO7DewP7Q/uD+8PxQ3vA7sN8A/xD/IP8w/FDe8D9A/1D/YP9w/4D/kPxQ3vA/oP+w/8D/0P9xD4EPkQ+hD0EPUQ9hDJBpYRyQasEeAR4RHiEeQR5RHmEecRyQaXEskGrBK7EskG4hL4EvkS+hL7EvwS/RL+EskGnRPJBrITyQbSE50QnxCUEKAQpBCnEKgQnhCpEKsQrBCsEJsGrRCtEP8NrhCvEPUD7wPIBrAQsBCwELEQsRD+DbIQsxDvA8gGtBCwELAQsRCxEP4NtRC2EO8DyAa3ELAQsBCxELEQ/w24ELkQ7wOrELoQuxC8EK0QrRD+Db0QvhDvA6sQuhC7ELwQrRCtEP4NvxC+EO8DwBDBEMIQwxCtEK0QxBDFEMYQ7wOrEMcQyBDJEK0QrRCyDsoQyxDvA9QQ1RDWENcQ2BDZENoQ2xDcEO4M8AzdEN4Q5RDmEOcQ6BDrEOIQ5BDjEKcK5hD/De4QmQ/tEPwQ/RDJBt8Q4RDIBv4QpQnrEO0L7Qv/EIARgRGDEYQRhxGJEZwPoAmLEYwRjRGOEe8DlBGaEZsRvwnvA54RnxGgEaIRpBGeD6gPphG9DqcRqBGtEa4RvwnvA68RsRGyEbgRuRG6Eb4N8Au8EcwOvRG+EckRyhHWENcQ2BDZENoQ2xDcEO4M8AzdEN4Q1RHQEecQ0RHUEc4RzxHjEKcK0BH/DdcR2BHWEekR6hHJBssRzRHIBv4QpQnrEO0L7Qv/EOsR7BHtEe4R8RHyEfQRoQmRCfkR/g3/EPoR9QPvA/8RgBKBEoISgxKEEoYSiBKpD6oPixL/Db0RjBLIBrAQsBCwELEQsRD+DZISkxLvA5gSmRK/Ce8DmhKcEp0SoBKiEpwPoAmLEYwRjRGkEu8DqhKuEq8SvwnvA7ASsRKyErQStRK2ErcSuBKKDrkSuhK8Er0SvhLCEsQS2xDcEO4MxRLdEMYS7wP/EdQSgRLWEtcS2BLaEtwSng+oD6YRvQ6nEd4S4xLkEr8J7wPlEuYS5xLoEukS6hK+DfALvBHMDr0R6xLvEvAS1hDXENgQ2RDaENsQ3BDuDPAM3RDeEIATgRPJBssRzRHIBv4QpQnrEO0L7Qv/EIITgxOEE4UT8RGHE4kToQmRCfkR/g3/EIsTjROOE48TkROTE6kPqg+LEv8NvRGWE8gGsBCwELAQsRCxEP4NmROTEu8DnhOfE78J7wOgE6IToxOmE6gTnA+gCYsRjBGNEaoT7wOwE7QTtRO/Ce8DthO3E7IStBK1ErYStxK4EooOuRK6ErgTuRO6E8ISvRPbENwQ7gzFEt0QxhLGE8cTyBPKE8wTng+oD6YRvQ6nEc4T0xPUE78J7wPVE9YT5xLoEukS6hK+DfALvBHMDr0R6xLXE9gT2hPrE6cK3RPIBsgG3hPbE8kG7BPtE+IT5hPlE+ET7QvjE+cT6RPqE+4T7xPECe8D8BPxE8QJ7wPyE/MT9BPvA/wT/RPFDe8D/hP/E4AUgRSCFIMUkQulCYQUhRSGFIcUiBSJFMQJ7wOKFIsUjBSNFI4U9BPvA48UkBT0E+8DkRSSFMQJ7wOTFJQUjBSVFJYUmBTECe8DmRSaFJUUyhTLFLAUsRSzFOUUqxXFFaEVwRWlFb0VvhXtC8QV7wP7FYgWiRaMFo4WxwaWFpYWmBaZFsgGixaMFo4W7QvtC5sWxwadFpYWnhaWFqAWohahFqMWwxbFFsQWxhaFFt8WhBaHFoQWhxb5FvoW+xb8Fv4W/xaFF4YXhxeJF4oX+haLF4wXjReOF4UXkBeMF5EXkheZF6IbyQbDGcYZihqNGpEalBqXGpoanBqeGqAaohqkGqYaqBqqGrsZvhnFGdIZ0xnUGdUZ1hnXGbEQ2BnZGdoZqhngGeEZ5BnnGegZ7QvrGe0Z+hn7Gf4Z/xmAGoIahRr8Gf0Z6xDODYEagxqGGvUD7wPvA8cZyBnJGcoZyxnMGc0ZzhmxEM8Z0BnRGe8D2xnbGdwZ/w3/Dd0Z/w3vA+4Z8BncGe0L7QvyGf4N7wP0GfYZ3BntC+0L+Bn+De8D7wP1A+8DqxesF64X9QPvA68XsBeyF+8DsxfCF8wXzxfSF9IX1RfYF90X4BfjF+8D7hfyF/cX+Rf7F/sX/Rf/F4MYhRiHGO8DjhiUGJoYmxicGJ0YoRiiGO8DoximGKsYrBitGK4YsBixGPUD7wOMEbYYtxi4GLoYvBi/GIgajxqVGqMapxqbGp8a9QPvA4wRzhjPGNAY0hjUGNcYixqSGpgapRqpGp0aoRquGq0a5BiuGq0a5xjvA+oY6hjrGOsY6xjsGO0L7RjtGO8D6hjqGOsY6xjrGOwY7QvtGO0Y7wPuGO4Y6xjrGOsY7xjtC+0Y7RjvA+4Y7hjrGOsY6xjvGO0L7RjtGO8D8Bj3GO8DhhmKGe8DlRmbGe8DnBmfGe8DoRmiGcgG7wOhGaYZyAanCoMb9QPvA4UbhxvFGogb9QPvA8kGyQaJG+8DiRvvA4sbnxucG44b7wOeG5sbjxvvA50bmBuRG+8DkxuoB6gHqAefFoEcyAaDHPUD7wOnCoUc7wOdHJIc7wOfHKAc7wOjHKccqRyrHKwcrRzvA+Ec7wPjHO8D5RzvA+cc7wPpHO8D6hzvA+4c7wPzHO8D9xz4HO8D+hz7HO8D/Rz4HO8D/xyAHe8Dgh3vA4Qd7wOGHe8DiB3vA4sd7wOOHe8Dkh3vA5Yd7wOYHe8Dmh3vA50d7wOfHe8DnxygHO8DpR3vA6cd7wOoHe8DqR2qHe8DrB3vA64d7wOwHe8Dsh3vA7Qd7wOGHe8DuB3vA7od7wO8He8DvR3vA74d7wO/He8DwB3vA8Idwx3vA8Ud7wPIHe8Dyh3vA58c7wPMHc0d7wPWHdkd2h3bHdwd3R3vA94d7wPhHaod7wPjHaod7wO+He8D5R3vA6cHpwfnHegd7wPqHe8D8R3vA/Id7wOnB6cH9B31He8D+R3vA/sd7wP9Hf4d/x2AHoIe7wOEHu8Dhh7vA6cHpweIHoke7wP9HYsejB7vA48e7wOQHpEekx7vA5AelR6XHu8DmR7vAwrblUr4HWkAENkVAkBB2JYLLQAAQQFxDQBB2JYLEP0aRQ0AEOcWQdiWCxCBGwsQVxC2AhD2AxDjBkHU1gpCgICAGDcCAEHc1gpCADcCABDAChDeCkGM+QpB7tMEQQAQjgo6AABBwP0KQfkREQAAGgsUAEE4ENUaIAAgASACIAMgBBCuBgs5AQF/IwBBEGsiBSQAIAUgATYCBCAFQYCAhBA2AgAgBUIANwMIIAAgBSACIAMgBBCIAyAFQRBqJAALRwEBfyMAQRBrIgMkACADIAE2AgQgA0GAgIQQNgIAIANCADcDCCAAIAMgAkQAAAAAAADwP0QAAAAAAAAAABCIAyADQRBqJAALQAEBfyMAQRBrIgQkACAEIAE2AgQgBEGAgIQQNgIAIARCADcDCCAAIAQgAiADRAAAAAAAAAAAEIgDIARBEGokAAsSACAAIAEoAigpAgBCIIk3AgALXAEBfyMAQeABayIEJAAgBCABIAIgAxCfByAAEKcGIQAgBCgCACIBIAQgAEF/IAEoAgAoAgwRBgAgBEH4AGoQsQYaIARBQGsQsQYaIARBCGoQsQYaIARB4AFqJAALdgIBfwF+IwBB8AFrIgMkACADIAEpAgAiBDcDACADIAQ3AwggA0EQaiADIAIQoQcgABCnBiEAIAMoAhAiAiADQRBqIABBfyACKAIAKAIMEQYAIANBiAFqELEGGiADQdAAahCxBhogA0EYahCxBhogA0HwAWokAAtcAQF/IwBB4AFrIgQkACAEIAEgAiADEKIHIAAQpwYhACAEKAIAIgEgBCAAQX8gASgCACgCDBEGACAEQfgAahCxBhogBEFAaxCxBhogBEEIahCxBhogBEHgAWokAAt2AgF/AX4jAEHwAWsiAyQAIAMgASkCACIENwMAIAMgBDcDCCADQRBqIAMgAhCjByAAEKcGIQAgAygCECICIANBEGogAEF/IAIoAgAoAgwRBgAgA0GIAWoQsQYaIANB0ABqELEGGiADQRhqELEGGiADQfABaiQACzkCAX8BfCMAQRBrIgIkACACQgA3AwggAiABNgIEIAJBgICECDYCACAAIAIQhQYhAyACQRBqJAAgAwt7AQF/IwBB8AFrIgQkACAEQgA3AwggBCACNgIEIARBgICECDYCACAEQRBqIAEgBCADEJ4HIAAQpwYhACAEKAIQIgEgBEEQaiAAQX8gASgCACgCDBEGACAEQYgBahCxBhogBEHQAGoQsQYaIARBGGoQsQYaIARB8AFqJAALWAEBfyMAQeABayICJAAgAiABEJwHIAAQpwYhACACKAIAIgEgAiAAQX8gASgCACgCDBEGACACQfgAahCxBhogAkFAaxCxBhogAkEIahCxBhogAkHgAWokAAtaAQF/IwBB4AFrIgMkACADIAEgAhCdByAAEKcGIQAgAygCACIBIAMgAEF/IAEoAgAoAgwRBgAgA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaIANB4AFqJAALMwEBfyMAQRBrIgIkACACIAE2AgQgAkGA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CCAAQYiyASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQF2NgIIIABBsLIBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBAXY2AgggAEHYsgEgAkEIahADNgIAIAJBEGokAAtnAQN/IwBBEGsiAiQAIAEQrwYhBAJ/QQAgASgCBCIDQQFIDQAaIAEoAiwgA0ECdGpBBGsoAgALIQMgAiABKAIQNgIMIAIgAyAEbEECdjYCCCAAQYCzASACQQhqEAM2AgAgAkEQaiQAC2cBA38jAEEQayICJAAgARCvBiEEAn9BACABKAIEIgNBAUgNABogASgCLCADQQJ0akEEaygCAAshAyACIAEoAhA2AgwgAiADIARsQQJ2NgIIIABBqLMBIAJBCGoQAzYCACACQRBqJAALZwEDfyMAQRBrIgIkACABEK8GIQQCf0EAIAEoAgQiA0EBSA0AGiABKAIsIANBAnRqQQRrKAIACyEDIAIgASgCEDYCDCACIAMgBGxBA3Y2AgggAEHQswEgAkEIahADNgIAIAJBEGokAAslAQF/IAAoAgQiAUEBSARAQQAPCyAAKAIsIAFBAnRqQQRrKAIACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQAACxcAQZHEkMICIAAoAgBBAnRBHHF2QQ9xCxEAIAAoAgBBA3ZB/wNxQQFqCxQAIAEgAiADIAQgBSAAKAIAESsACxAAIAEgAiADIAAoAgARBAALEgAgASACIAMgBCAAKAIAERMAC0QBAX8jAEEQayIDJAAgAyACNgIIIAMgAkEBajYCDCADQoCAgID4/////wA3AwAgACABIANBCGogAxC6BhogA0EQaiQAC2YBAn8jAEFAaiIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIANBCGogASACIARBAXEEfyABKAIAIABqKAIABSAACxEEAEE4ENUaIANBCGoQuAYhACADQQhqELEGGiADQUBrJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEGAAtfAgJ/AX4jAEEQayIEJAAgASAAKAIEIgVBAXVqIQEgACgCACEAIAVBAXEEQCABKAIAIABqKAIAIQALIAQgAikCACIGNwMAIAQgBjcDCCABIAQgAyAAEQQAIARBEGokAAtBAQF/IwBBEGsiBCQAIAQgAzYCDCAEIAI2AgggBEKAgICA+P////8ANwMAIAAgASAEQQhqIAQQugYaIARBEGokAAtoAQJ/IwBBQGoiBCQAIAEgACgCBCIFQQF1aiEBIAAoAgAhACAEQQhqIAEgAiADIAVBAXEEfyABKAIAIABqKAIABSAACxEGAEE4ENUaIARBCGoQuAYhACAEQQhqELEGGiAEQUBrJAAgAAszAQF/IwBBEGsiAyQAIANCgICAgPj/////ADcDCCAAIAEgAiADQQhqELoGGiADQRBqJAALDgAgASACIAAoAgARAgALCwAgACgCAEH/H3ELQQEBfyMAQRBrIgQkACAEQoCAgID4/////wA3AwggBCADNgIEIAQgAjYCACAAIAEgBEEIaiAEELoGGiAEQRBqJAALMwEBfyMAQRBrIgMkACADQoCAgID4/////wA3AwggACABIANBCGogAhC6BhogA0EQaiQACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwALZAECfyMAQUBqIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAkEIaiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEE4ENUaIAJBCGoQuAYhACACQQhqELEGGiACQUBrJAAgAAsKACAAKAIAQQdxC0QBAX8jAEEQayIDJAAgA0KAgICA+P////8ANwMIIAMgAjYCACADIAJBAWo2AgQgACABIANBCGogAxC6BhogA0EQaiQACw4AIAEgAiAAKAIAESIAC0EBAX8jAEFAaiIEJAAgBEEIaiABIAIgAyAAKAIAERMAQTgQ1RogBEEIahC4BiEBIARBCGoQsQYaIARBQGskACABCz8BAX8jAEFAaiIDJAAgA0EIaiABIAIgACgCABEEAEE4ENUaIANBCGoQuAYhASADQQhqELEGGiADQUBrJAAgAQs9AQF/IwBBQGoiAiQAIAJBCGogASAAKAIAEQIAQTgQ1RogAkEIahC4BiEBIAJBCGoQsQYaIAJBQGskACABCwwAIAAgASACELwGGgsOACAALQABQcAAcUEGdgs0AQF/IwBBEGsiAiQAIAJBCGogASAAKAIAEQIAQQgQ1RoiASACKQMINwMAIAJBEGokACABC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB4LEBIANBCGoQAzYCACADQRBqJAALNwEBfyMAQRBrIgMkACADQQhqIAEgAiAAKAIAEQQAIAMoAggQByADKAIIIgEQBiADQRBqJAAgAQthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQeCxASAEQQhqEAM2AgAgBEEQaiQACzkBAX8jAEEQayIEJAAgBEEIaiABIAIgAyAAKAIAEQYAIAQoAggQByAEKAIIIgEQBiAEQRBqJAAgAQtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYiyASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBiLIBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEHYsgEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQdiyASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABBsLIBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEGwsgEgBEEIahADNgIAIARBEGokAAtSAQN/IwBBEGsiAyQAIAFBABC2BiEEIAEoAhAhBSABKAIsKAIAIQEgAyAENgIIIAMgBSABIAJsajYCDCAAQYCzASADQQhqEAM2AgAgA0EQaiQAC2EBBH8jAEEQayIEJAAgAUEBELYGIQUgASgCECEGIAEoAiwiASgCACEHIAEoAgQhASAEIAU2AgggBCAGIAIgB2xqIAEgA2xqNgIMIABBgLMBIARBCGoQAzYCACAEQRBqJAALUgEDfyMAQRBrIgMkACABQQAQtgYhBCABKAIQIQUgASgCLCgCACEBIAMgBDYCCCADIAUgASACbGo2AgwgAEGoswEgA0EIahADNgIAIANBEGokAAthAQR/IwBBEGsiBCQAIAFBARC2BiEFIAEoAhAhBiABKAIsIgEoAgAhByABKAIEIQEgBCAFNgIIIAQgBiACIAdsaiABIANsajYCDCAAQaizASAEQQhqEAM2AgAgBEEQaiQAC1IBA38jAEEQayIDJAAgAUEAELYGIQQgASgCECEFIAEoAiwoAgAhASADIAQ2AgggAyAFIAEgAmxqNgIMIABB0LMBIANBCGoQAzYCACADQRBqJAALYQEEfyMAQRBrIgQkACABQQEQtgYhBSABKAIQIQYgASgCLCIBKAIAIQcgASgCBCEBIAQgBTYCCCAEIAYgAiAHbGogASADbGo2AgwgAEHQswEgBEEIahADNgIAIARBEGokAAttAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAWoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAsAAALFgAgACgCECAAKAIsKAIAIAFsaiACags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAsAAALJwAgACgCECAAKAIsIgAoAgAgAWxqIAAoAgQgAmxqIAAoAgggA2xqCz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALAAACzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAtAAALPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUALQAACz4BAX8gASAAKAIEIgVBAXVqIQEgACgCACEAIAEgAiADIAQgBUEBcQR/IAEoAgAgAGooAgAFIAALEQsALQAAC3MBAX8CQCAALQABQcAAcUUEQCAAKAIoIgIoAgBBAUcNAQsgACgCECABQQF0ag8LIAIoAgRBAUYEQCAAKAIQIAAoAiwoAgAgAWxqDwsgACgCECAAKAIsKAIAIAEgACgCDCIAbSICbGogASAAIAJsa0EBdGoLOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDAC4BAAsZACAAKAIQIAAoAiwoAgAgAWxqIAJBAXRqCzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC4BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC4BAAs6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMALwEACzwBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAC8BAAs+AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxELAC8BAAtzAQF/AkAgAC0AAUHAAHFFBEAgACgCKCICKAIAQQFHDQELIAAoAhAgAUECdGoPCyACKAIEQQFGBEAgACgCECAAKAIsKAIAIAFsag8LIAAoAhAgACgCLCgCACABIAAoAgwiAG0iAmxqIAEgACACbGtBAnRqCzoBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAwAoAgALGQAgACgCECAAKAIsKAIAIAFsaiACQQJ0ags8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAoAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAoAgALOgEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDACoCAAs8AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRBQAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwAqAgALPgEBfyABIAAoAgQiBUEBdWohASAAKAIAIQAgASACIAMgBCAFQQFxBH8gASgCACAAaigCAAUgAAsRCwArAwALcwEBfwJAIAAtAAFBwABxRQRAIAAoAigiAigCAEEBRw0BCyAAKAIQIAFBA3RqDwsgAigCBEEBRgRAIAAoAhAgACgCLCgCACABbGoPCyAAKAIQIAAoAiwoAgAgASAAKAIMIgBtIgJsaiABIAAgAmxrQQN0ags6AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMAKwMACxkAIAAoAhAgACgCLCgCACABbGogAkEDdGoLPAEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQUAKwMACxIBAX9BCBDVGiIAQgA3AgAgAAsMACAABEAgABCiGwsLGQEBf0EQENUaIgBCADcDACAAQgA3AwggAAsNACABIAAoAgBqKwMACw8AIAEgACgCAGogAjkDAAsNACABIAAoAgBqKgIACw8AIAEgACgCAGogAjgCAAsZAQF/QRAQ1RoiAEIANwIAIABCADcCCCAACyABAX9BFBDVGiIAQgA3AgAgAEEANgIQIABCADcCCCAACx8BAX8gACgCACEAQQgQ1RoiAiAAIAFqKQIANwMAIAILEgAgASAAKAIAaiACKQIANwIACzIBAX8jAEEQayICJAAgAkEIaiABIAARAgAgAigCCBAHIAIoAggiABAGIAJBEGokACAACzgBAX8jAEEQayICJAAgAiABIAARAgBBEBDVGiIAIAIpAwg3AgggACACKQMANwIAIAJBEGokACAACzABAX9BHBDVGiIAQX82AhggAEIANwIQIABCgICAgICAgMC/fzcCCCAAQgA3AgAgAAsiAQF/QRAQ1RoiAEL/////////v/8ANwIIIABCfzcCACAACycBAX9BIBDVGiIAQgA3AwAgAEIANwMYIABCADcDECAAQgA3AwggAAsNACABIABBA3RqKwMACw8AIAEgAEEDdGogAjkDAAsZAQF/QQwQ1RoiAEIANwIAIABBADYCCCAACxAAQcABENUaQQBBwAEQrxsLCgBBPBDVGhCQCgsUACAABEAgACAAKAIAKAIEEQEACwuBAQECfyMAQRBrIgIkACACIAEgACgCABECAAJAIAIsAAsiAUEATgRAIAFB/wFxIgBBBGoQoRsiASAANgIAIAFBBGogAiAAEK4bGgwBCyACKAIEIgBBBGoQoRsiASAANgIAIAFBBGogAigCACIDIAAQrhsaIAMQohsLIAJBEGokACABC7EBAQR/IwBBEGsiAyQAIAIoAgAiBEFwSQRAIAAoAgAhBgJAAkAgBEELTwRAIARBEGpBcHEiBRDVGiEAIAMgBUGAgICAeHI2AgggAyAANgIAIAMgBDYCBCADIQUMAQsgAyAEOgALIAMiBSEAIARFDQELIAAgAkEEaiAEEK4bGgsgACAEakEAOgAAIAEgAyAGEQIAIAUsAAtBf0wEQCADKAIAEKIbCyADQRBqJAAPCxDZGgALfwEBfyMAQUBqIgIkACACIAEgABECAEE8ENUaIgBBrLQDNgIAIABBBGogAkEEchDbGhogACACKAIQNgIQIABBFGogAkEUahDbGhogAEEgaiACQSBqENsaGiAAQSxqIAJBLGoQ2xoaIAAgAigCODYCOCACEJUKGiACQUBrJAAgAAs4AQF/IwBBEGsiAiQAIAIgASAAEQIAQQwQ1RoiACACKAIINgIIIAAgAikDADcCACACQRBqJAAgAAvgAQIBfwF8IwBBgAFrIgkkACAJIAMpAgA3A3ggCSAEKwMAOQNYIAkgBCsDCDkDYCAJIAQrAxA5A2ggBCsDGCEKIAkgBTYCUCAJIAo5A3AgCSAGKwMAOQMwIAkgBisDCDkDOCAJIAYrAxA5A0AgCSAGKwMYOQNIIAkgBysDADkDECAJIAcrAwg5AxggCSAHKwMQOQMgIAkgBysDGDkDKCAJIAkpA3g3AwggASACIAlBCGogCUHYAGogCUHQAGogCUEwaiAJQRBqIAggABESACEHIAkoAlAQBiAJQYABaiQAIAcL3gECAX8BfCMAQYABayIIJAAgCCADKQIANwN4IAggBCsDADkDWCAIIAQrAwg5A2AgCCAEKwMQOQNoIAQrAxghCSAIIAU2AlAgCCAJOQNwIAggBisDADkDMCAIIAYrAwg5AzggCCAGKwMQOQNAIAggBisDGDkDSCAIIAcrAwA5AxAgCCAHKwMIOQMYIAggBysDEDkDICAIIAcrAxg5AyggCCAIKQN4NwMIIAEgAiAIQQhqIAhB2ABqIAhB0ABqIAhBMGogCEEQaiAAERYAIQcgCCgCUBAGIAhBgAFqJAAgBwuwAQMBfwF+AXwjAEHgAGsiByQAIAcgAykCACIINwNYIAcgBCsDADkDOCAHIAQrAwg5A0AgByAEKwMQOQNIIAQrAxghCSAHIAU2AjAgByAJOQNQIAcgBisDADkDECAHIAYrAwg5AxggByAGKwMQOQMgIAcgBisDGDkDKCAHIAg3AwggASACIAdBCGogB0E4aiAHQTBqIAdBEGogABEMACEGIAcoAjAQBiAHQeAAaiQAIAYLgQEDAX8BfgF8IwBBQGoiBiQAIAYgAykCACIHNwM4IAYgBCsDADkDGCAGIAQrAwg5AyAgBiAEKwMQOQMoIAQrAxghCCAGIAU2AhAgBiAIOQMwIAYgBzcDCCABIAIgBkEIaiAGQRhqIAZBEGogABEJACEEIAYoAhAQBiAGQUBrJAAgBAtlAgF/AX4jAEEwayIFJAAgBSADKQIAIgY3AyggBSAEKwMAOQMIIAUgBCsDCDkDECAFIAQrAxA5AxggBSAEKwMYOQMgIAUgBjcDACABIAIgBSAFQQhqIAARCwAhBCAFQTBqJAAgBAtOAQF/IwBBIGsiAyQAIAMgASACIAARBABBIBDVGiIAIAMpAxg3AxggACADKQMQNwMQIAAgAykDCDcDCCAAIAMpAwA3AwAgA0EgaiQAIAALTAEBfyMAQSBrIgIkACACIAEgABECAEEgENUaIgAgAikDGDcDGCAAIAIpAxA3AxAgACACKQMINwMIIAAgAikDADcDACACQSBqJAAgAAtKAQF/IwBBIGsiASQAIAEgABEBAEEgENUaIgAgASsDADkDACAAIAErAwg5AwggACABKwMQOQMQIAAgASsDGDkDGCABQSBqJAAgAAtCACAAQv/////////3/wA3AxggAEL/////////9/8ANwMQIABC//////////f/ADcDCCAAQv/////////3/wA3AwALTQEBfyMAQSBrIgQkACAEIAMpAwg3AxAgBCADKQMANwMIIARBGGogASACIARBCGogABEGACAEKAIYEAcgBCgCGCIDEAYgBEEgaiQAIAMLDQAgACgCAEEEaygCAAt8AQN/IwBBEGsiASQAIAEgABEBAAJAIAEsAAsiAEEATgRAIABB/wFxIgJBBGoQoRsiACACNgIAIABBBGogASACEK4bGgwBCyABKAIEIgJBBGoQoRsiACACNgIAIABBBGogASgCACIDIAIQrhsaIAMQohsLIAFBEGokACAACwYAQbiUAQskAQF/IAAEQCAAKAIAIgEEQCAAIAE2AgQgARCiGwsgABCiGwsLGQEBf0EMENUaIgBBADYCCCAAQgA3AgAgAAvqAQEFfyAAKAIEIgIgACgCCEcEQCACIAEoAgA2AgAgACACQQRqNgIEDwsCQCACIAAoAgAiBWsiBkECdSIEQQFqIgJBgICAgARJBEACf0EAIAIgBkEBdSIDIAIgA0sbQf////8DIARB/////wFJGyIDRQ0AGiADQYCAgIAETw0CIANBAnQQ1RoLIgIgBEECdGoiBCABKAIANgIAIAIgA0ECdGohASAEQQRqIQMgBkEBTgRAIAIgBSAGEK4bGgsgACABNgIIIAAgAzYCBCAAIAI2AgAgBQRAIAUQohsLDwsQ/BoAC0HdkgEQvgIAC1IBAn8jAEEQayIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIARBAXEEQCABKAIAIABqKAIAIQALIAMgAjYCDCABIANBDGogABECACADQRBqJAALPgECfyABIAAoAgQgACgCACIEa0ECdSIDSwRAIAAgASADayACEL8CDwsgASADSQRAIAAgBCABQQJ0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ACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQIACz4BAn8gASAAKAIEIAAoAgAiBGtBA3UiA0sEQCAAIAEgA2sgAhDCAg8LIAEgA0kEQCAAIAQgAUEDdGo2AgQLCzkBAX8gASAAKAIEIgRBAXVqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEEAAtdAQJ/IwBBEGsiAyQAQQEhBCAAIAIgASgCBCABKAIAIgFrQQN1SQR/QQgQ1RoiBCABIAJBA3RqKQIANwMAIAMgBDYCCEHIngEgA0EIahADBSAECzYCACADQRBqJAALFwAgACgCACABQQN0aiACKQIANwIAQQELEAAgASACIAMgACgCABEFAAsGAEGMoAELTwECfyAABEAgACgCACIBBEACfyABIAEgACgCBCICRg0AGgNAIAJBOGsQsQYiAiABRw0ACyAAKAIACyECIAAgATYCBCACEKIbCyAAEKIbCwsrAQF/IAAoAgQiAiAAKAIIRwRAIAAgAiABEK0GQThqNgIEDwsgACABEMMCC1wBA38gASAAKAIEIgMgACgCACIFa0E4bSIESwRAIAAgASAEayACEMQCDwsgASAESQRAIAUgAUE4bGoiASADRwRAA0AgA0E4axCxBiIDIAFHDQALCyAAIAE2AgQLCxAAIAAoAgQgACgCAGtBOG0LWwECfyMAQRBrIgMkAEEBIQQgACACIAEoAgQgASgCACIBa0E4bUkEf0E4ENUaIgQgASACQThsahCtBhogAyAENgIIQcChASADQQhqEAMFIAQLNgIAIANBEGokAAsUACAAKAIAIAFBOGxqIAIQswZBAQsGAEGYowEL/QEBBX8gACgCBCICIAAoAghHBEAgAiABKQIANwIAIAIgASkCCDcCCCAAIAJBEGo2AgQPCwJAIAIgACgCACIFayIGQQR1IgRBAWoiAkGAgICAAUkEQAJ/QQAgAiAGQQN1IgMgAiADSxtB/////wAgBEH///8/SRsiA0UNABogA0GAgICAAU8NAiADQQR0ENUaCyICIARBBHRqIgQgASkCADcCACAEIAEpAgg3AgggAiADQQR0aiEBIARBEGohAyAGQQFOBEAgAiAFIAYQrhsaCyAAIAE2AgggACADNgIEIAAgAjYCACAFBEAg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QczvARCJA0Gk7wFB/+QBQcwNEJgKAAtBqX4gBUEQakHl7wEQiQNBpO8BQf/kAUHXDRCYCgALwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogAiAIai0AACAAIAhqLQAAQYACcmpBoPwDai0AADoAACAEIAlqIAogC0GAAnJqQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiACIApqLQAAIAAgCmotAABBgAJyakGg/ANqLQAAOgAAIAQgCWogCyAOQYACcmpBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAIgCGotAAAgACAIai0AAEGAAnJqQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwvzAgEIfyAHBEAgBkEEayEKIAZBA0ohCyAFQQF2QQF0IQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASALBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAIgA2ovAQAgACADai8BAGoiD0H//wMgD0H//wNJGzsBACAEIAVqIAggCWoiBUH//wMgBUH//wNJGzsBACACIANBBnIiBWovAQAhCCAAIAVqLwEAIQkgBCADQQRyIgNqIAIgA2ovAQAgACADai8BAGoiA0H//wMgA0H//wNJGzsBACAEIAVqIAggCWoiA0H//wMgA0H//wNJGzsBACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogAiADai8BACAAIANqLwEAaiIDQf//AyADQf//A0kbOwEAIAFBAWoiASAGRw0ACwsgBCAMaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLuQMBCH8gBwRAIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQEgDARAA0AgAiABQQF0IgNBAnIiBWouAQAhCCAAIAVqLgEAIQkgAyAEaiAAIANqLgEAIAIgA2ouAQBqIgpB//8BIApB//8BSBsiCkGAgH4gCkGAgH5KGzsBACAEIAVqIAggCWoiBUH//wEgBUH//wFIGyIFQYCAfiAFQYCAfkobOwEAIAIgA0EGciIFai4BACEIIAAgBWouAQAhCSAEIANBBHIiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgBCAFaiAIIAlqIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAXQiA2ogACADai4BACACIANqLgEAaiIDQf//ASADQf//AUgbIgNBgIB+IANBgIB+Shs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwutAgEHfyAHBEAgBkEEayEKIAZBA0ohCyAFQQJ2QQJ0IQwgA0ECdkECdCENIAFBAnZBAnQhDgNAQQAhASALBEADQCACIAFBAnQiA0EEciIFaigCACEIIAAgBWooAgAhCSADIARqIAIgA2ooAgAgACADaigCAGo2AgAgBCAFaiAIIAlqNgIAIAIgA0EMciIFaigCACEIIAAgBWooAgAhCSAEIANBCHIiA2ogAiADaigCACAAIANqKAIAajYCACAEIAVqIAggCWo2AgAgAUEEaiIBIApMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQJ0IgNqIAIgA2ooAgAgACADaigCAGo2AgAgAUEBaiIBIAZHDQALCyAEIAxqIQQgAiANaiECIAAgDmohACAHDQALCwuvAgIFfwJ9IAcEQCAGQQRrIQggBkEDSiEJIAVBAnZBAnQhCiADQQJ2QQJ0IQsgAUECdkECdCEMA0BBACEBIAkEQANAIAIgAUECdCIDQQRyIgVqKgIAIQ0gACAFaioCACEOIAMgBGogACADaioCACACIANqKgIAkjgCACAEIAVqIA4gDZI4AgAgAiADQQxyIgVqKgIAIQ0gACAFaioCACEOIAQgA0EIciIDaiAAIANqKgIAIAIgA2oqAgCSOAIAIAQgBWogDiANkjgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaioCACACIANqKgIAkjgCACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC68CAgV/AnwgBwRAIAZBBGshCCAGQQNKIQkgBUEDdkEDdCEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDSAAIAVqKwMAIQ4gAyAEaiAAIANqKwMAIAIgA2orAwCgOQMAIAQgBWogDiANoDkDACACIANBGHIiBWorAwAhDSAAIAVqKwMAIQ4gBCADQRByIgNqIAAgA2orAwAgAiADaisDAKA5AwAgBCAFaiAOIA2gOQMAIAFBBGoiASAITA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEDdCIDaiAAIANqKwMAIAIgA2orAwCgOQMAIAFBAWoiASAGRw0ACwsgBCAKaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsLwQIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGogACAIai0AAEGAAnIgAiAIai0AAGtBoPwDai0AADoAACAEIAlqIAtBgAJyIAprQaD8A2otAAA6AAAgAiAIQQNyIglqLQAAIQsgACAJai0AACEOIAQgCEECciIKaiAAIApqLQAAQYACciACIApqLQAAa0Gg/ANqLQAAOgAAIAQgCWogDkGAAnIgC2tBoPwDai0AADoAACAIQQRqIgggDEwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAAgCGotAABBgAJyIAIgCGotAABrQaD8A2otAAA6AAAgCEEBaiIIIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwulAwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai8BACEIIAAgBWovAQAhCSADIARqIAAgA2ovAQAgAiADai8BAGsiCkEAIApBAEobIgpB//8DIApB//8DSBs7AQAgBCAFaiAJIAhrIgVBACAFQQBKGyIFQf//AyAFQf//A0gbOwEAIAIgA0EGciIFai8BACEIIAAgBWovAQAhCSAEIANBBHIiA2ogACADai8BACACIANqLwEAayIDQQAgA0EAShsiA0H//wMgA0H//wNIGzsBACAEIAVqIAkgCGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEEaiIBIAtMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQF0IgNqIAAgA2ovAQAgAiADai8BAGsiA0EAIANBAEobIgNB//8DIANB//8DSBs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwu5AwEIfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai4BACEIIAAgBWouAQAhCSADIARqIAAgA2ouAQAgAiADai4BAGsiCkH//wEgCkH//wFIGyIKQYCAfiAKQYCAfkobOwEAIAQgBWogCSAIayIFQf//ASAFQf//AUgbIgVBgIB+IAVBgIB+Shs7AQAgAiADQQZyIgVqLgEAIQggACAFai4BACEJIAQgA0EEciIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACAEIAVqIAkgCGsiA0H//wEgA0H//wFIGyIDQYCAfiADQYCAfkobOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiAAIANqLgEAIAIgA2ouAQBrIgNB//8BIANB//8BSBsiA0GAgH4gA0GAgH5KGzsBACABQQFqIgEgBkcNAAsLIAQgDWohBCACIA5qIQIgACAPaiEAIAcNAAsLC60CAQd/IAcEQCAGQQRrIQogBkEDSiELIAVBAnZBAnQhDCADQQJ2QQJ0IQ0gAUECdkECdCEOA0BBACEBIAsEQANAIAIgAUECdCIDQQRyIgVqKAIAIQggACAFaigCACEJIAMgBGogACADaigCACACIANqKAIAazYCACAEIAVqIAkgCGs2AgAgAiADQQxyIgVqKAIAIQggACAFaigCACEJIAQgA0EIciIDaiAAIANqKAIAIAIgA2ooAgBrNgIAIAQgBWogCSAIazYCACABQQRqIgEgCkwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaigCACACIANqKAIAazYCACABQQFqIgEgBkcNAAsLIAQgDGohBCACIA1qIQIgACAOaiEAIAcNAAsLC68CAgV/An0gBwRAIAZBBGshCCAGQQNKIQkgBUECdkECdCEKIANBAnZBAnQhCyABQQJ2QQJ0IQwDQEEAIQEgCQRAA0AgAiABQQJ0IgNBBHIiBWoqAgAhDSAAIAVqKgIAIQ4gAyAEaiAAIANqKgIAIAIgA2oqAgCTOAIAIAQgBWogDiANkzgCACACIANBDHIiBWoqAgAhDSAAIAVqKgIAIQ4gBCADQQhyIgNqIAAgA2oqAgAgAiADaioCAJM4AgAgBCAFaiAOIA2TOAIAIAFBBGoiASAITA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUECdCIDaiAAIANqKgIAIAIgA2oqAgCTOAIAIAFBAWoiASAGRw0ACwsgBCAKaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsLrwICBX8CfCAHBEAgBkEEayEIIAZBA0ohCSAFQQN2QQN0IQogA0EDdkEDdCELIAFBA3ZBA3QhDANAQQAhASAJBEADQCACIAFBA3QiA0EIciIFaisDACENIAAgBWorAwAhDiADIARqIAAgA2orAwAgAiADaisDAKE5AwAgBCAFaiAOIA2hOQMAIAIgA0EYciIFaisDACENIAAgBWorAwAhDiAEIANBEHIiA2ogACADaisDACACIANqKwMAoTkDACAEIAVqIA4gDaE5AwAgAUEEaiIBIAhMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQN0IgNqIAAgA2orAwAgAiADaisDAKE5AwAgAUEBaiIBIAZHDQALCyAEIApqIQQgAiALaiECIAAgDGohACAHDQALCwvWAgEIfyAHBEAgBkEEayENIAZBA0ohDgNAQQAhCCAOBEADQCACIAhBAXIiCWotAAAhCyAAIAlqLQAAIQogBCAIaiAAIAhqLQAAIgwgDEGAAnIgAiAIai0AAGtBoPwDai0AAGs6AAAgBCAJaiAKIApBgAJyIAtrQaD8A2otAABrOgAAIAIgCEEDciIJai0AACEMIAAgCWotAAAhCiAEIAhBAnIiC2ogACALai0AACIPIA9BgAJyIAIgC2otAABrQaD8A2otAABrOgAAIAQgCWogCiAKQYACciAMa0Gg/ANqLQAAazoAACAIQQRqIgggDUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqIAAgCGotAAAiCSAJQYACciACIAhqLQAAa0Gg/ANqLQAAazoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsLC6oCAQh/IAcEQCAGQQRrIQ4gBkEDSiEPA0BBACEIIA8EQANAIAIgCEEBciIJaiwAACEKIAAgCWosAAAhDCAEIAhqIAIgCGosAAAiCyAAIAhqLAAAIg0gCyANSBs6AAAgBCAJaiAKIAwgCiAMSBs6AAAgAiAIQQNyIglqLAAAIQogACAJaiwAACEMIAQgCEECciILaiACIAtqLAAAIg0gACALaiwAACILIAsgDUobOgAAIAQgCWogCiAMIAogDEgbOgAAIAhBBGoiCCAOTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGogAiAIaiwAACIJIAAgCGosAAAiCiAJIApIGzoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsLC9ICAQl/IAcEQCAGQQRrIQsgBkEDSiEMIAVBAXZBAXQhDSADQQF2QQF0IQ4gAUEBdkEBdCEPA0BBACEBIAwEQANAIAIgAUEBdCIDQQJyIgVqLwEAIQggACAFai8BACEJIAMgBGogAiADai8BACIKIAAgA2ovAQAiECAKIBBJGzsBACAEIAVqIAggCSAIIAlJGzsBACACIANBBnIiBWovAQAhCCAAIAVqLwEAIQkgBCADQQRyIgNqIAIgA2ovAQAiCiAAIANqLwEAIgMgAyAKSxs7AQAgBCAFaiAIIAkgCCAJSRs7AQAgAUEEaiIBIAtMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQF0IgNqIAIgA2ovAQAiBSAAIANqLwEAIgMgAyAFSxs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwvSAgEJfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai4BACEIIAAgBWouAQAhCSADIARqIAIgA2ouAQAiCiAAIANqLgEAIhAgCiAQSBs7AQAgBCAFaiAIIAkgCCAJSBs7AQAgAiADQQZyIgVqLgEAIQggACAFai4BACEJIAQgA0EEciIDaiACIANqLgEAIgogACADai4BACIDIAMgCkobOwEAIAQgBWogCCAJIAggCUgbOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiACIANqLgEAIgUgACADai4BACIDIAMgBUobOwEAIAFBAWoiASAGRw0ACwsgBCANaiEEIAIgDmohAiAAIA9qIQAgBw0ACwsL0gIBCX8gBwRAIAZBBGshCyAGQQNKIQwgBUECdkECdCENIANBAnZBAnQhDiABQQJ2QQJ0IQ8DQEEAIQEgDARAA0AgAiABQQJ0IgNBBHIiBWooAgAhCCAAIAVqKAIAIQkgAyAEaiACIANqKAIAIgogACADaigCACIQIAogEEgbNgIAIAQgBWogCCAJIAggCUgbNgIAIAIgA0EMciIFaigCACEIIAAgBWooAgAhCSAEIANBCHIiA2ogAiADaigCACIKIAAgA2ooAgAiAyADIApKGzYCACAEIAVqIAggCSAIIAlIGzYCACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogAiADaigCACIFIAAgA2ooAgAiAyADIAVKGzYCACABQQFqIgEgBkcNAAsLIAQgDWohBCACIA5qIQIgACAPaiEAIAcNAAsLC9QCAgV/BH0gBwRAIAZBBGshCCAGQQNKIQkgBUECdkECdCEKIANBAnZBAnQhCyABQQJ2QQJ0IQwDQEEAIQEgCQRAA0AgAiABQQJ0IgNBBHIiBWoqAgAhDSAAIAVqKgIAIQ4gAyAEaiACIANqKgIAIg8gACADaioCACIQIA8gEF0bOAIAIAQgBWogDSAOIA0gDl0bOAIAIAIgA0EMciIFaioCACENIAAgBWoqAgAhDiAEIANBCHIiA2ogAiADaioCACIPIAAgA2oqAgAiECAPIBBdGzgCACAEIAVqIA0gDiANIA5dGzgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogAiADaioCACINIAAgA2oqAgAiDiANIA5dGzgCACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC9QCAgV/BHwgBwRAIAZBBGshCCAGQQNKIQkgBUEDdkEDdCEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDSAAIAVqKwMAIQ4gAyAEaiACIANqKwMAIg8gACADaisDACIQIA8gEGMbOQMAIAQgBWogDSAOIA0gDmMbOQMAIAIgA0EYciIFaisDACENIAAgBWorAwAhDiAEIANBEHIiA2ogAiADaisDACIPIAAgA2orAwAiECAPIBBjGzkDACAEIAVqIA0gDiANIA5jGzkDACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBA3QiA2ogAiADaisDACINIAAgA2orAwAiDiANIA5jGzkDACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC8ICAQd/IAcEQCAGQQRrIQ0gBkEDSiEOA0BBACEIIA4EQANAIAIgCEEBciIJai0AACEKIAAgCWotAAAhCyAEIAhqIAIgCGotAAAgACAIai0AACIMa0Gg/gNqLQAAIAxqOgAAIAQgCWogCyAKIAtrQaD+A2otAABqOgAAIAIgCEEDciIJai0AACEMIAAgCWotAAAhCyAEIAhBAnIiCmogAiAKai0AACAAIApqLQAAIgprQaD+A2otAAAgCmo6AAAgBCAJaiALIAwgC2tBoP4Dai0AAGo6AAAgCEEEaiIIIA1MDQALCyAHQQFrIQcgBiAISgRAA0AgBCAIaiACIAhqLQAAIAAgCGotAAAiCWtBoP4Dai0AACAJajoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsLC6oCAQh/IAcEQCAGQQRrIQ4gBkEDSiEPA0BBACEIIA8EQANAIAIgCEEBciIJaiwAACEKIAAgCWosAAAhDCAEIAhqIAIgCGosAAAiCyAAIAhqLAAAIg0gCyANShs6AAAgBCAJaiAKIAwgCiAMShs6AAAgAiAIQQNyIglqLAAAIQogACAJaiwAACEMIAQgCEECciILaiACIAtqLAAAIg0gACALaiwAACILIAsgDUgbOgAAIAQgCWogCiAMIAogDEobOgAAIAhBBGoiCCAOTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGogAiAIaiwAACIJIAAgCGosAAAiCiAJIApKGzoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsLC9ICAQl/IAcEQCAGQQRrIQsgBkEDSiEMIAVBAXZBAXQhDSADQQF2QQF0IQ4gAUEBdkEBdCEPA0BBACEBIAwEQANAIAIgAUEBdCIDQQJyIgVqLwEAIQggACAFai8BACEJIAMgBGogAiADai8BACIKIAAgA2ovAQAiECAKIBBLGzsBACAEIAVqIAggCSAIIAlLGzsBACACIANBBnIiBWovAQAhCCAAIAVqLwEAIQkgBCADQQRyIgNqIAIgA2ovAQAiCiAAIANqLwEAIgMgAyAKSRs7AQAgBCAFaiAIIAkgCCAJSxs7AQAgAUEEaiIBIAtMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQF0IgNqIAIgA2ovAQAiBSAAIANqLwEAIgMgAyAFSRs7AQAgAUEBaiIBIAZHDQALCyAEIA1qIQQgAiAOaiECIAAgD2ohACAHDQALCwvSAgEJfyAHBEAgBkEEayELIAZBA0ohDCAFQQF2QQF0IQ0gA0EBdkEBdCEOIAFBAXZBAXQhDwNAQQAhASAMBEADQCACIAFBAXQiA0ECciIFai4BACEIIAAgBWouAQAhCSADIARqIAIgA2ouAQAiCiAAIANqLgEAIhAgCiAQShs7AQAgBCAFaiAIIAkgCCAJShs7AQAgAiADQQZyIgVqLgEAIQggACAFai4BACEJIAQgA0EEciIDaiACIANqLgEAIgogACADai4BACIDIAMgCkgbOwEAIAQgBWogCCAJIAggCUobOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiACIANqLgEAIgUgACADai4BACIDIAMgBUgbOwEAIAFBAWoiASAGRw0ACwsgBCANaiEEIAIgDmohAiAAIA9qIQAgBw0ACwsL0gIBCX8gBwRAIAZBBGshCyAGQQNKIQwgBUECdkECdCENIANBAnZBAnQhDiABQQJ2QQJ0IQ8DQEEAIQEgDARAA0AgAiABQQJ0IgNBBHIiBWooAgAhCCAAIAVqKAIAIQkgAyAEaiACIANqKAIAIgogACADaigCACIQIAogEEobNgIAIAQgBWogCCAJIAggCUobNgIAIAIgA0EMciIFaigCACEIIAAgBWooAgAhCSAEIANBCHIiA2ogAiADaigCACIKIAAgA2ooAgAiAyADIApIGzYCACAEIAVqIAggCSAIIAlKGzYCACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogAiADaigCACIFIAAgA2ooAgAiAyADIAVIGzYCACABQQFqIgEgBkcNAAsLIAQgDWohBCACIA5qIQIgACAPaiEAIAcNAAsLC9QCAgV/BH0gBwRAIAZBBGshCCAGQQNKIQkgBUECdkECdCEKIANBAnZBAnQhCyABQQJ2QQJ0IQwDQEEAIQEgCQRAA0AgAiABQQJ0IgNBBHIiBWoqAgAhDSAAIAVqKgIAIQ4gAyAEaiACIANqKgIAIg8gACADaioCACIQIA8gEF4bOAIAIAQgBWogDSAOIA0gDl4bOAIAIAIgA0EMciIFaioCACENIAAgBWoqAgAhDiAEIANBCHIiA2ogAiADaioCACIPIAAgA2oqAgAiECAPIBBeGzgCACAEIAVqIA0gDiANIA5eGzgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogAiADaioCACINIAAgA2oqAgAiDiANIA5eGzgCACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC9QCAgV/BHwgBwRAIAZBBGshCCAGQQNKIQkgBUEDdkEDdCEKIANBA3ZBA3QhCyABQQN2QQN0IQwDQEEAIQEgCQRAA0AgAiABQQN0IgNBCHIiBWorAwAhDSAAIAVqKwMAIQ4gAyAEaiACIANqKwMAIg8gACADaisDACIQIA8gEGQbOQMAIAQgBWogDSAOIA0gDmQbOQMAIAIgA0EYciIFaisDACENIAAgBWorAwAhDiAEIANBEHIiA2ogAiADaisDACIPIAAgA2orAwAiECAPIBBkGzkDACAEIAVqIA0gDiANIA5kGzkDACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBA3QiA2ogAiADaisDACINIAAgA2orAwAiDiANIA5kGzkDACABQQFqIgEgBkcNAAsLIAQgCmohBCACIAtqIQIgACAMaiEAIAcNAAsLC8gCAQh/IAcEQCAGQQRrIQ4gBkEDSiEPA0BBACEIIA8EQANAIAIgCEEBciIMai0AACEJIAAgDGotAAAhCiAEIAhqIAAgCGotAAAiCyACIAhqLQAAIg1rIA0gC2sgCyANSxs6AAAgBCAMaiAKIAlrIAkgCmsgCSAKSRs6AAAgAiAIQQNyIgxqLQAAIQkgACAMai0AACEKIAQgCEECciILaiAAIAtqLQAAIg0gAiALai0AACILayALIA1rIAsgDUkbOgAAIAQgDGogCiAJayAJIAprIAkgCkkbOgAAIAhBBGoiCCAOTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGogACAIai0AACIJIAIgCGotAAAiCmsgCiAJayAJIApLGzoAACAIQQFqIgggBkcNAAsLIAQgBWohBCACIANqIQIgACABaiEAIAcNAAsLC4IDAQd/IAcEQCAGQQRrIQ0gBkEDSiEOA0BBACEJIA4EQANAIAIgCUEBciIIaiwAACEKIAAgCGosAAAhDCAEIAlqIAAgCWosAAAgAiAJaiwAAGsiCyALQR91IgtqIAtzIgtB/wAgC0H/AEgbOgAAIAQgCGogDCAKayIIIAhBH3UiCGogCHMiCEH/ACAIQf8ASBs6AAAgAiAJQQNyIghqLAAAIQwgACAIaiwAACELIAQgCUECciIKaiAAIApqLAAAIAIgCmosAABrIgogCkEfdSIKaiAKcyIKQf8AIApB/wBIGzoAACAEIAhqIAsgDGsiCCAIQR91IghqIAhzIghB/wAgCEH/AEgbOgAAIAlBBGoiCSANTA0ACwsgB0EBayEHIAYgCUoEQANAIAQgCWogACAJaiwAACACIAlqLAAAayIIIAhBH3UiCGogCHMiCEH/ACAIQf8ASBs6AAAgCUEBaiIJIAZHDQALCyAEIAVqIQQgAiADaiECIAAgAWohACAHDQALCwvwAgEJfyAHBEAgBkEEayEMIAZBA0ohDSAFQQF2QQF0IQ4gA0EBdkEBdCEPIAFBAXZBAXQhEANAQQAhASANBEADQCACIAFBAXQiA0ECciIJai8BACEFIAAgCWovAQAhCCADIARqIAAgA2ovAQAiCiACIANqLwEAIgtrIAsgCmsgCiALSxs7AQAgBCAJaiAIIAVrIAUgCGsgBSAISRs7AQAgAiADQQZyIglqLwEAIQUgACAJai8BACEIIAQgA0EEciIDaiAAIANqLwEAIgogAiADai8BACIDayADIAprIAMgCkkbOwEAIAQgCWogCCAFayAFIAhrIAUgCEkbOwEAIAFBBGoiASAMTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiAAIANqLwEAIgUgAiADai8BACIDayADIAVrIAMgBUkbOwEAIAFBAWoiASAGRw0ACwsgBCAOaiEEIAIgD2ohAiAAIBBqIQAgBw0ACwsLtAMBCH8gBwRAIAZBBGshCyAGQQNKIQwgBUEBdkEBdCENIANBAXZBAXQhDiABQQF2QQF0IQ8DQEEAIQEgDARAA0AgAiABQQF0IgNBAnIiBWouAQAhCSAAIAVqLgEAIQogAyAEaiAAIANqLgEAIAIgA2ouAQBrIgggCEEfdSIIaiAIcyIIQf//ASAIQf//AUgbOwEAIAQgBWogCiAJayIFIAVBH3UiBWogBXMiBUH//wEgBUH//wFIGzsBACACIANBBnIiBWouAQAhCSAAIAVqLgEAIQogBCADQQRyIgNqIAAgA2ouAQAgAiADai4BAGsiAyADQR91IgNqIANzIgNB//8BIANB//8BSBs7AQAgBCAFaiAKIAlrIgMgA0EfdSIDaiADcyIDQf//ASADQf//AUgbOwEAIAFBBGoiASALTA0ACwsgB0EBayEHIAEgBkgEQANAIAQgAUEBdCIDaiAAIANqLgEAIAIgA2ouAQBrIgMgA0EfdSIDaiADcyIDQf//ASADQf//AUgbOwEAIAFBAWoiASAGRw0ACwsgBCANaiEEIAIgDmohAiAAIA9qIQAgBw0ACwsL8AIBCX8gBwRAIAZBBGshDCAGQQNKIQ0gBUECdkECdCEOIANBAnZBAnQhDyABQQJ2QQJ0IRADQEEAIQEgDQRAA0AgAiABQQJ0IgNBBHIiCWooAgAhBSAAIAlqKAIAIQggAyAEaiAAIANqKAIAIgogAiADaigCACILayALIAprIAogC0obNgIAIAQgCWogCCAFayAFIAhrIAUgCEgbNgIAIAIgA0EMciIJaigCACEFIAAgCWooAgAhCCAEIANBCHIiA2ogACADaigCACIKIAIgA2ooAgAiA2sgAyAKayADIApIGzYCACAEIAlqIAggBWsgBSAIayAFIAhIGzYCACABQQRqIgEgDEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaigCACIFIAIgA2ooAgAiA2sgAyAFayADIAVIGzYCACABQQFqIgEgBkcNAAsLIAQgDmohBCACIA9qIQIgACAQaiEAIAcNAAsLC7QCAgV/An0gBwRAIAZBBGshCCAGQQNKIQkgBUECdkECdCEKIANBAnZBAnQhCyABQQJ2QQJ0IQwDQEEAIQEgCQRAA0AgAiABQQJ0IgNBBHIiBWoqAgAhDSAAIAVqKgIAIQ4gAyAEaiAAIANqKgIAIAIgA2oqAgCTizgCACAEIAVqIA4gDZOLOAIAIAIgA0EMciIFaioCACENIAAgBWoqAgAhDiAEIANBCHIiA2ogACADaioCACACIANqKgIAk4s4AgAgBCAFaiAOIA2TizgCACABQQRqIgEgCEwNAAsLIAdBAWshByABIAZIBEADQCAEIAFBAnQiA2ogACADaioCACACIANqKgIAk4s4AgAgAUEBaiIBIAZHDQALCyAEIApqIQQgAiALaiECIAAgDGohACAHDQALCwu0AgIFfwJ8IAcEQCAGQQRrIQggBkEDSiEJIAVBA3ZBA3QhCiADQQN2QQN0IQsgAUEDdkEDdCEMA0BBACEBIAkEQANAIAIgAUEDdCIDQQhyIgVqKwMAIQ0gACAFaisDACEOIAMgBGogACADaisDACACIANqKwMAoZk5AwAgBCAFaiAOIA2hmTkDACACIANBGHIiBWorAwAhDSAAIAVqKwMAIQ4gBCADQRByIgNqIAAgA2orAwAgAiADaisDAKGZOQMAIAQgBWogDiANoZk5AwAgAUEEaiIBIAhMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQN0IgNqIAAgA2orAwAgAiADaisDAKGZOQMAIAFBAWoiASAGRw0ACwsgBCAKaiEEIAIgC2ohAiAAIAxqIQAgBw0ACwsL3QUBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDcBAwFCyACIAMgACABIAQgBSAGIAcQ3AQMBAsgACABIAIgAyAEIAUgBiAHEN0EDAMLIAIgAyAAIAEgBCAFIAYgBxDdBAwCCyAHRQ0BIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEYbOgAAIAQgCWpBf0EAIAogC0YbOgAAIAIgCEEDciIJai0AACELIAAgCWotAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmotAAAgAiAKai0AAEYbOgAAIAQgCWpBf0EAIAsgDkYbOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEYbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwwBCyAHRQ0AIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEcbOgAAIAQgCWpBf0EAIAogC0cbOgAAIAIgCEEDciIJai0AACELIAAgCWotAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmotAAAgAiAKai0AAEcbOgAAIAQgCWpBf0EAIAsgDkcbOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALngIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEkbOgAAIAQgCWpBf0EAIAogC0sbOgAAIAIgCEEDciIJai0AACELIAAgCWotAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmotAAAgAiAKai0AAEkbOgAAIAQgCWpBf0EAIAsgDksbOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEkbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwsLngIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAE0bOgAAIAQgCWpBf0EAIAogC08bOgAAIAIgCEEDciIJai0AACELIAAgCWotAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmotAAAgAiAKai0AAE0bOgAAIAQgCWpBf0EAIAsgDk8bOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAE0bOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwsL3QUBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDfBAwFCyACIAMgACABIAQgBSAGIAcQ3wQMBAsgACABIAIgAyAEIAUgBiAHEOAEDAMLIAIgAyAAIAEgBCAFIAYgBxDgBAwCCyAHRQ0BIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEYbOgAAIAQgCWpBf0EAIAogC0YbOgAAIAIgCEEDciIJai0AACELIAAgCWotAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmotAAAgAiAKai0AAEYbOgAAIAQgCWpBf0EAIAsgDkYbOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEYbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwwBCyAHRQ0AIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLQAAIQogACAJai0AACELIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEcbOgAAIAQgCWpBf0EAIAogC0cbOgAAIAIgCEEDciIJai0AACELIAAgCWotAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmotAAAgAiAKai0AAEcbOgAAIAQgCWpBf0EAIAsgDkcbOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGotAAAgAiAIai0AAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALngIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLAAAIQogACAJaiwAACELIAQgCGpBf0EAIAAgCGosAAAgAiAIaiwAAEgbOgAAIAQgCWpBf0EAIAogC0obOgAAIAIgCEEDciIJaiwAACELIAAgCWosAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmosAAAgAiAKaiwAAEgbOgAAIAQgCWpBf0EAIAsgDkobOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGosAAAgAiAIaiwAAEgbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwsLngIBB38gBwRAIAZBBGshDCAGQQNKIQ0DQEEAIQggDQRAA0AgAiAIQQFyIglqLAAAIQogACAJaiwAACELIAQgCGpBf0EAIAAgCGosAAAgAiAIaiwAAEwbOgAAIAQgCWpBf0EAIAogC04bOgAAIAIgCEEDciIJaiwAACELIAAgCWosAAAhDiAEIAhBAnIiCmpBf0EAIAAgCmosAAAgAiAKaiwAAEwbOgAAIAQgCWpBf0EAIAsgDk4bOgAAIAhBBGoiCCAMTA0ACwsgB0EBayEHIAYgCEoEQANAIAQgCGpBf0EAIAAgCGosAAAgAiAIaiwAAEwbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgA2ohAiAAIAFqIQAgBw0ACwsLtwYBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDiBAwFCyACIAMgACABIAQgBSAGIAcQ4gQMBAsgACABIAIgAyAEIAUgBiAHEOMEDAMLIAIgAyAAIAEgBCAFIAYgBxDjBAwCCyAHRQ0BIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhCCAMBEADQCACIAhBAXIiAUEBdCIDai8BACEKIAAgA2ovAQAhAyAEIAhqQX9BACAAIAhBAXQiCWovAQAgAiAJai8BAEYbOgAAIAEgBGpBf0EAIAMgCkYbOgAAIAIgCEEDciIBQQF0IgNqLwEAIQogACADai8BACEDIAQgCEECciIJakF/QQAgACAJQQF0IglqLwEAIAIgCWovAQBGGzoAACABIARqQX9BACADIApGGzoAACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEYbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwwBCyAHRQ0AIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhCCAMBEADQCACIAhBAXIiAUEBdCIDai8BACEKIAAgA2ovAQAhAyAEIAhqQX9BACAAIAhBAXQiCWovAQAgAiAJai8BAEcbOgAAIAEgBGpBf0EAIAMgCkcbOgAAIAIgCEEDciIBQQF0IgNqLwEAIQogACADai8BACEDIAQgCEECciIJakF/QQAgACAJQQF0IglqLwEAIAIgCWovAQBHGzoAACABIARqQX9BACADIApHGzoAACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai8BACEKIAAgCGovAQAhCCABIARqQX9BACAAIAFBAXQiCWovAQAgAiAJai8BAEkbOgAAIAMgBGpBf0EAIAggCkkbOgAAIAIgAUEDciIDQQF0IghqLwEAIQogACAIai8BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLwEAIAIgCWovAQBJGzoAACADIARqQX9BACAIIApJGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ovAQAgAiADai8BAEkbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai8BACEKIAAgCGovAQAhCCABIARqQX9BACAAIAFBAXQiCWovAQAgAiAJai8BAE0bOgAAIAMgBGpBf0EAIAggCk0bOgAAIAIgAUEDciIDQQF0IghqLwEAIQogACAIai8BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLwEAIAIgCWovAQBNGzoAACADIARqQX9BACAIIApNGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ovAQAgAiADai8BAE0bOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLtwYBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDlBAwFCyACIAMgACABIAQgBSAGIAcQ5QQMBAsgACABIAIgAyAEIAUgBiAHEOYEDAMLIAIgAyAAIAEgBCAFIAYgBxDmBAwCCyAHRQ0BIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhCCAMBEADQCACIAhBAXIiAUEBdCIDai8BACEKIAAgA2ovAQAhAyAEIAhqQX9BACAAIAhBAXQiCWovAQAgAiAJai8BAEYbOgAAIAEgBGpBf0EAIAMgCkYbOgAAIAIgCEEDciIBQQF0IgNqLwEAIQogACADai8BACEDIAQgCEECciIJakF/QQAgACAJQQF0IglqLwEAIAIgCWovAQBGGzoAACABIARqQX9BACADIApGGzoAACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEYbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwwBCyAHRQ0AIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhCCAMBEADQCACIAhBAXIiAUEBdCIDai8BACEKIAAgA2ovAQAhAyAEIAhqQX9BACAAIAhBAXQiCWovAQAgAiAJai8BAEcbOgAAIAEgBGpBf0EAIAMgCkcbOgAAIAIgCEEDciIBQQF0IgNqLwEAIQogACADai8BACEDIAQgCEECciIJakF/QQAgACAJQQF0IglqLwEAIAIgCWovAQBHGzoAACABIARqQX9BACADIApHGzoAACAIQQRqIgggC0wNAAsLIAdBAWshByAGIAhKBEADQCAEIAhqQX9BACAAIAhBAXQiAWovAQAgASACai8BAEcbOgAAIAhBAWoiCCAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsgD0EQaiQADwtBqX4gD0Gx8AEQiQNB0fABQYvwAUH3BRCYCgALywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEgbOgAAIAMgBGpBf0EAIAggCkgbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBIGzoAACADIARqQX9BACAIIApIGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEgbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLywIBB38gBwRAIAZBBGshCyAGQQNKIQwgA0EBdkEBdCENIAFBAXZBAXQhDgNAQQAhASAMBEADQCACIAFBAXIiA0EBdCIIai4BACEKIAAgCGouAQAhCCABIARqQX9BACAAIAFBAXQiCWouAQAgAiAJai4BAEwbOgAAIAMgBGpBf0EAIAggCkwbOgAAIAIgAUEDciIDQQF0IghqLgEAIQogACAIai4BACEIIAQgAUECciIJakF/QQAgACAJQQF0IglqLgEAIAIgCWouAQBMGzoAACADIARqQX9BACAIIApMGzoAACABQQRqIgEgC0wNAAsLIAdBAWshByABIAZIBEADQCABIARqQX9BACAAIAFBAXQiA2ouAQAgAiADai4BAEwbOgAAIAFBAWoiASAGRw0ACwsgBCAFaiEEIAIgDWohAiAAIA5qIQAgBw0ACwsLtwYBB38jAEEQayIPJAACQAJAAkACQAJAAkACQAJAIAgOBgQBAwACBQcLIAAgASACIAMgBCAFIAYgBxDoBAwFCyACIAMgACABIAQgBSAGIAcQ6AQMBAsgACABIAIgAyAE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OAIAIAMgBGogDiANlDgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlDgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ0gACADaioCACEOIAEgBGogDyAAIAFqKgIAu6IgASACaioCALuitjgCACADIARqIA8gDruiIA27orY4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAPIAAgAWoqAgC7oiABIAJqKgIAu6K2OAIAIAMgBGogDyAOu6IgDbuitjgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogDyAAIAFqKgIAu6IgASACaioCALuitjgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC5MFAgZ/AXwgBUECdiEMIANBAnYhDSABQQJ2IQ4CQCAIKwMAIg9EAAAAAAAA8L+gmUQAAAAAAACAPmVBAXNFBEAgB0UNASAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogASACaigCACAAIAFqKAIAbDYCACADIARqIAUgCWw2AgAgAiABQQxyIgNqKAIAIQUgACADaigCACEJIAQgAUEIciIBaiABIAJqKAIAIAAgAWooAgBsNgIAIAMgBGogBSAJbDYCACAIQQRqIgggCkwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogASACaigCACAAIAFqKAIAbDYCACAIQQFqIgggBkcNAAsLIAQgDEECdGohBCACIA1BAnRqIQIgACAOQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQogBkEDSiELA0BBACEIIAsEQANAIAIgCEECdCIBQQRyIgNqKAIAIQUgACADaigCACEJIAEgBGogDyAAIAFqKAIAt6IgASACaigCALeiEIIVNgIAIAMgBGogDyAJt6IgBbeiEIIVNgIAIAIgAUEM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IQ0gACADaioCACEOIAEgBGogACABaioCACABIAJqKgIAlTgCACADIARqIA4gDZU4AgAgAiABQQxyIgNqKgIAIQ0gACADaioCACEOIAQgAUEIciIBaiAAIAFqKgIAIAEgAmoqAgCVOAIAIAMgBGogDiANlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsMAQsgB0UNACAGQQRrIQUgBkEDSiEJA0BBACEIIAkEQANAIAIgCEECdCIBQQRyIgNqKgIAIQ4gACADaioCACEPIAEgBGogACABaioCACANlCABIAJqKgIAlTgCACADIARqIA8gDZQgDpU4AgAgAiABQQxyIgNqKgIAIQ4gACADaioCACEPIAQgAUEIciIBaiAAIAFqKgIAIA2UIAEgAmoqAgCVOAIAIAMgBGogDyANlCAOlTgCACAIQQRqIgggBUwNAAsLIAdBAWshByAGIAhKBEADQCAEIAhBAnQiAWogACABaioCACANlCABIAJqKgIAlTgCACAIQQFqIgggBkcNAAsLIAQgCkECdGohBCACIAtBAnRqIQIgACAMQQJ0aiEAIAcNAAsLC/YEAgV/A3wgBUEDdiEKIANBA3YhCyABQQN2IQwCQCAIKwMARAAAAAAAAPA/YQRAIAdFDQEgBkEEayEFIAZBA0ohCQNAQQAhASAJBEADQCACIAFBA3QiA0EIciIIaisDACEOIAAgCGorAwAhDyADIARqIAAgA2orAwAgAiADaisDAKM5AwAgBCAIaiAPIA6jOQMAIAIgA0EYciIIaisDACEOIAAgCGorAwAhDyAEIANBEHIiA2ogACADaisDACACIANqKwMAozkDACAEIAhqIA8gDqM5AwAgAUEEaiIBIAVMDQALCyAHQQFrIQcgASAGSARAA0AgBCABQQN0IgNqIAAgA2orAwAgAiADaisDAKM5AwAgAUEBaiIBIAZHDQALCyAEIApBA3RqIQQgAiALQQN0aiECIAAgDEEDdGohACAHDQALDAELIAdFDQAgBkEEayEJIAZBA0ohDQNAQQAhASANBEADQCACIAFBA3QiA0EIciIFaisDACEO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FyAVIAItAAG4oqAhFyAWIBUgAi0AALiioCEWIAIgDGohAiAAQQFqIgAgAUcNAAsLIAogBEECdGoiAiAWIAOitjgCACACIBkgA6K2OAIMIAIgGCADorY4AgggAiAXIAOitjgCBCAEQQRqIgQgBUwNAAsLIAQgCEgEQANAAkAgAUEBSARARAAAAAAAAAAAIRUMAQsgBCANaiECQQAhAEQAAAAAAAAAACEVA0AgFSAHIABBAnRqKgIAuyACLQAAuKKgIRUgAiAMaiECIABBAWoiACABRw0ACwsgCiAEQQJ0aiAVIAOitjgCACAEQQFqIgQgCEcNAAsLIAogEkECdGohCiAGQQFqIgYgCEcNAAsLIAcgEUcEQCAHEKIbCyALQaAIaiQAC68IAxR/AX0BfCMAQaAIayIHJAAgASgCMEECdiESIAAoAjAhDSABKAIQIQogACgCECEOIAAoAigiACgCACELIAAoAgQhBAJAIAIoAhAiCEUEQCALQQFIDQEgBEF8cSEJIARBBGshBkEAIQggBEEDSiEQA0AgDiAIIA1saiEBIAghDANAIA4gDCANbGohAkEAIQBEAAAAAAAAAAAhGQJ/IBAEQANAIBkgACABai0AALggACACai0AALiiIAEgAEEBciIFai0AALggAiAFai0AALiioCABIABBAnIiBWotAAC4IAIgBWotAAC4oqAgASAAQQNyIgVqLQAAuCACIAVqLQAAuKKgoCEZIABBBGoiACAGTA0ACyAJIQALIAAgBEgLBEADQCAZIAAgAWotAAC4IAAgAmotAAC4oqAhGSAAQQFqIgAgBEcNAAsLIAogDEECdGogGSADorY4AgAgDEEBaiIMIAtHDQALIAogEkECdGohCiAIQQFqIgggC0cNAAsMAQsgAigCCCEBIAIoAjAhBiACKAIMIREgByAEQQJ0IgA2AgQgByAHQQhqIhM2AgAgEyEFIABBiQhPBEAgByAAENUaIgU2AgALIAtBAU4EQCAGQQJ2QQAgAUEBShshFCAEQXxxIRUgBEEEayEMIARBAUghFiAEQQNKIRcgBCARRkEEdCEQA0AgDiANIA9saiECIAggDyAUbEECdGohAQJAIAQgEUwEQEEAIQAgBEEATA0BA0AgBSAAQQJ0IgZqIAAgAmotAACzIAEgBmoqAgCTOAIAIABBAWoiACAERw0ACwwB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AANAIAQgAEEDdCICaiACIAZqKwMAIAErAwChOQMAIABBAWoiACAFRw0ACwsgDyEIA0AgEyAIIBVsQQN0aiEAIAggDWxBA3QhAiAFIBFKBEAgByAAKwMAIhg5A6AIIAcgGDkDqAggByAYOQOYCCAHIBg5A5AIIAdBkAhqIQALIAIgDmohAUQAAAAAAAAAACEYQQAhAgJ/IAVBA0oEQANAIBggBCACQQN0IgZqKwMAIAEgBmorAwAgACsDAKGiIAQgBkEIciIMaisDACABIAxqKwMAIAArAwihoqAgBCAGQRByIgxqKwMAIAEgDGorAwAgACsDEKGioCAEIAZBGHIiBmorAwAgASAGaisDACAAKwMYoaKgoCEYIAAgEGohACACQQRqIgIgC0wNAAsgFiECCyACIAVICwRAA0AgGCAEIAJBA3QiBmorAwAgASAGaisDACAAKwMAoaKgIRggAEEIaiEAIAJBAWoiAiAFRw0ACwsgCSAIQQN0aiAYIAOiOQMAIAhBAWoiCCAKRw0ACyAJIBJBA3RqIQkgD0EBaiIPIApHDQALCyAEIBRGDQAgBBCiGwsgB0GwCGokAAvMAQIDfwF8An8gAkEETgRAIAJBBGshBQNAIAYgACADai0AALggASADai0AALiiIAAgA0EBciIEai0AALggASAEai0AALiioCAAIANBAnIiBGotAAC4IAEgBGotAAC4oqAgACADQQNyIgRqLQAAuCABIARqLQAAuKKgoCEGIANBBGoiAyAFTA0ACyACQXxxIQMLIAIgA0oLBEADQCAGIAAgA2otAAC4IAEgA2otAAC4oqAhBiADQQFqIgMgAkcNAAsLIAZEAAAAAAAAAACgC8wBAgN/AXwCfyACQQROBEAgAkEEayEFA0AgBiAAIANqLAAAtyABIANqLAAAt6IgACADQQFyIgRqLAAAtyABIARqLAAAt6KgIAAgA0ECciIEaiwAALcgASAEaiwAALeioCAAIANBA3IiBGosAAC3IAEgBGosAAC3oqCgIQYgA0EEaiIDIAVMDQALIAJBfHEhAwsgAiADSgsEQANAIAYgACADaiwAALcgASADaiwAALeioCEGIANBAWoiAyACRw0ACwsgBkQAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai8BALggASAEai8BALiiIAAgBEECciIFai8BALggASAFai8BALiioCAAIARBBHIiBWovAQC4IAEgBWovAQC4oqAgACAEQQZyIgRqLwEAuCABIARqLwEAuKKgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai8BALggASAEai8BALiioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKAL1gECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeiIAAgBEECciIFai4BALcgASAFai4BALeioCAAIARBBHIiBWouAQC3IAEgBWouAQC3oqAgACAEQQZyIgRqLgEAtyABIARqLgEAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0EBdCIEai4BALcgASAEai4BALeioCEHIANBAWoiAyACRw0ACwsgB0QAAAAAAAAAAKALzAECBH8BfAJ/IAJBBE4EQCACQQRrIQYDQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeiIAAgBEEEciIFaigCALcgASAFaigCALeioCAAIARBCHIiBWooAgC3IAEgBWooAgC3oqAgACAEQQxyIgRqKAIAtyABIARqKAIAt6KgoCEHIANBBGoiAyAGTA0ACyACQXxxIQMLIAIgA0oLBEADQCAHIAAgA0ECdCIEaigCALcgASAEaigCALeioCEHIANBAWoiAyACRw0ACwsgBwvWAQIEfwF8An8gAkEETgRAIAJBBGshBgNAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6IgACAEQQRyIgVqKgIAuyABIAVqKgIAu6KgIAAgBEEIciIFaioCALsgASAFaioCALuioCAAIARBDHIiBGoqAgC7IAEgBGoqAgC7oqCgIQcgA0EEaiIDIAZMDQALIAJBfHEhAwsgAiADSgsEQANAIAcgACADQQJ0IgRqKgIAuyABIARqKgIAu6KgIQcgA0EBaiIDIAJHDQALCyAHRAAAAAAAAAAAoAvqCgEEfyMAQdACayIHJAACQCAAEMwHQYCABEYEQCAHQZgCaiAAKAIEEK0GGgwBCyAHQZgCaiAAEMkHCwJAIAEQzAdBgIAERgRAIAdB4AFqIAEoAgQQrQYaDAEL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QQJ0akEANgIAIAFBAWoiASAAKAI0SA0ACwsgCyAAKAJcIgFHBEAgARDuAwsgAEH4AGohAQJAIAAoAowBIghFDQAgCCAIKAIMIglBAWs2AgwgCUEBRw0AIAAoAowBIglFDQAgAEEANgKMAQJAIAkoAgQiCA0AIAAoAogBIggNABCgBiEICyAIIAkgCCgCACgCGBECAAsgAEEANgKMASABQgA3AgggAUIANwIAIAAoAmxBAU4EQCAAKAKQASEIQQAhAQNAIAggAUECdGpBADYCACABQQFqIgEgACgCbEgNAAsLIAAoApQBIgEgBUYNACABEO4DCyAAQaACaiQADwtBqX4gAEHoAGpBvoMCEIkDQYGEAkHggwJBwAAQmAoAC9cHAQR/IwBBoAJrIgAkAAJAAkAgAUUNACACRQ0AIAIoAhAhCiABKAIQIQsgA0EBTgRAIANBAmshDUEAIQEDQCAEIAFBAnQiAmooAgAiCUF/TA0DIAlFDQIgBQRAQQEhDCALIAEgDUwEfyACIAZqKAIABSAMCyACIAVqKAIAbGohCwsgBwRAQQEhDCAKIAEgDUwEfyACIAhqKAIABSAMCyACIAdqKAIAbGohCgsgAEGgAWogAmogCTYCACABQQFqIgEgA0cNAAsLIABB/ABqIgFCADcCACAAQgA3AnRBACECIABBADYCjAEgAEIANwKEASAAQZgBaiIFQgA3AwAgASALNgIAIABCADcCbCAAQYCA/JcENgJoIAAgBTYClAEgACAAQfAAajYCkAEgACALNgJ4IABB6ABqIAMgAEGgAWogBkEBEJ4GIABB6ABqEJ8GIABBxABqIgFCADcCACAAQgA3AjwgAEEANgJUIABCADcCTCAAQeAAaiIHQgA3AwAgASAKNgIAIABCADcCNCAAIAc2AlwgACAAQThqNgJYIABBgID8lwQ2AjAgACAKNgJAIABBMGogAyAAQaABaiAIQQEQngYgAEEwahCfBiAAIABBMGo2AiwgACAAQegAajYCKCAAIABBKGogAEEgakECEKwHIgEoAhAEQCABKAIUIQkDQCAAKAIkIAAoAiAgCRCuGxogARCtByACQQFqIgIgASgCEEkNAAsLIABBQGshAQJAIAAoAlQiAkUNACACIAIoAgwiCUEBazYCDCAJQQFHDQAgACgCVCIJRQ0AIABBADYCVAJAIAko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BCAFKQOQAzcDsAEgBCAFKwOgAzkDwAEgBCAKKwMAOQPIASAEIAsrAwA5A9ABIAQgDCsDADkD2AEgCBCxBhogBxCxBhogBhCxBhogAxCxBhogAhCxBhogARCxBhogABCxBhoLIAVBwANqJAALgwcDDX8BfgJ8IwBBwANrIgQkAAJAIAAgASAAKAIAKAIIEQMABEAgASkDACERIARBqAFqEKcGIQAgBEHwAGoQpwYhBSAEQThqEKcGIQYgASsDsAEhEiABKwO4ASETIAQgETcD4AEgBEHoAWogABCtBiEHIARBoAJqIAUQrQYhCCAEQdgCaiAGEK0GIQkgBEGYA2oiCiATOQMAIAQgEjkDkAMgBCABKwPAATkDoAMgBEGoA2oiCyABKwPIATkDACAEQbADaiIMIAErA9ABOQMAIARBuANqIg0gASsD2AE5AwAgAyAEKQPgATcDACADQQhqIg4gBxC5BhogA0FAayIPIAgQuQYaIANB+ABqIhAgCRC5BhogAyAKKQMANwO4ASADIAQpA5ADNwOwASADIAQrA6ADOQPAASADIAsrAwA5A8gBIAMgDCsDADkD0AEgAyANKwMAOQPYASAJELEGGiAIELEGGiAHELEGGiAGELEGGiAFELEGGiAAELEGGiABKAIYBEAgBEHgAWogAUEIaiACEL4GIA4gBEHgAWoQuQYaIARB4AFqELEGGgsgASgCUARAIARB4AFqIAFBQGsgAhC+BiAPIARB4AFqELkGGiAEQeABahCxBhoLIAEoAogBRQ0BIARB4AFqIAFB+ABqIAIQvgYgECAEQeABahC5BhogBEHgAWoQsQYaDAELIARBqAFqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgBEHwAGogACACEL4GIARBOGoQpwYhASAEEKcGIQIgBEEANgLkASAEQeTOCjYC4AEgBEHoAWogBEHwAGoQrQYhBSAEQaACaiABEK0GIQYgBEHYAmogAhCtBiEHIARBmANqIghCgICAgICAgPg/NwMAIARBqANqIglCADcDACAEQbADaiIKQgA3AwAgBEG4A2oiC0IANwMAIARCADcDoAMgBEKAgICAgICA+D83A5ADIAMgBCkD4AE3AwAgA0EIaiAFELkGGiADQUBrIAYQuQYaIANB+ABqIAcQuQYaIAMgCCkDADcDuAEgAyAEKQOQAzcDsAEgAyAEKwOgAzkDwAEgAyAJKwMAOQPIASADIAorAwA5A9ABIAMgCysDADkD2AEgBxCxBhogBhCxBhogBRCxBhogAhCxBhogARCxBhogBEHwAGoQsQYaIAAQsQYaCyAEQcADaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAgAEIANwNYIAAgAzYCVCAAQYCAhAg2AlAgACACNgJEIABBgICEkHw2AkAgAEIANwNIIABB4ABqIABB0ABqIABBQGtB1NYKENsFIAMQsQYaIABB8ABqJAALnwEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0HU1goQ3QUgAxCxBhogAEHwAGokAAvjAQECfyMAQbABayIAJAAgABCnBiEDIAEoAgAiBCABIANBfyAEKAIAKAIMEQYAIABCADcDqAEgACACNgKkASAAQYCAhAg2AqABIABCADcDmAEgACADNgKUASAAQYCAhAg2ApABIABByABqEKcGIQEgAEIANwOIASAAIAE2AoQBIABBgICECDYCgAEgACACNgI8IABBgICEEDYCOCAAQgA3A0AgAEGgAWogAEGQAWpEAAAAAAAA8D8gAEGAAWpEAAAAAAAAAAAgAEE4akEAEIIGIAEQsQYaIAMQsQYaIABBsAFqJAALpAEBAn8jAEHwAGsiACQAIABBCGoQpwYhAyABKAIAIgQgASADQX8gBCgCACgCDBEGACAAQgA3A2ggACACNgJkIABBgICECDYCYCAAQgA3A1ggACADNgJUIABBgICECDYCUCAAIAI2AkQgAEGAgISQfDYCQCAAQgA3A0ggAEHgAGogAEHQAGogAEFAa0QAAAAAAADwPxDgBSADELEGGiAAQfAAaiQAC58BAQJ/IwBB8ABrIgAkACAAQQhqEKcGIQMgASgCACIEIAEgA0F/IAQoAgAoAgwRBgAgAEIANwNoIAAgAjYCZCAAQYCAhAg2AmAg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IAAQrQYhBiAEQagCaiACEK0GIQcgBEGIA2oiCCAPOQMAIARBgANqIgkgDDkDACAEQfgCaiIKIA05AwAgBEHoAmoiCyAROQMAIAQgDjkD8AIgBCAQOQPgAiADIAQpA7ABNwMAIANBCGogARC5BhogA0FAayAGELkGGiADQfgAaiAHELkGGiADIAspAwA3A7gBIAMgBCkD4AI3A7ABIAMgBCsD8AI5A8ABIAMgCisDADkDyAEgAyAJKwMAOQPQASADIAgrAwA5A9gBIAcQsQYaIAYQsQYaIAEQsQYaIAIQsQYaIAAQsQYaIAUQsQYaDAELIAUgASACIAMgBSgCACgCPBEGAAsgBEGQA2okAAv0AgEJfyMAQZADayIAJAAgAEFAaxCnBiEFIAIoAgAiBCACIAVBfyAEKAIAKAIMEQYAIABBCGoQpwYhAiAAQfgAahCnBiEEIABBADYCtAEgAEHozgo2ArABIABBuAFqIAUQrQYhBiAAQfABaiACEK0GIQcgAEGoAmogBBCtBiEIIABB6AJqIglCADcDACAAQoCAgICAgID4v383A+ACIAAgASsDADkD8AIgAEH4AmoiCiABKwMIOQMAIABBgANqIgsgASsDEDkDACAAQYgDaiIMIAErAxg5AwAgAyAAKQOwATcDACADQQhqIAYQuQYaIANBQGsgBxC5BhogA0H4AGogCBC5BhogAyAJKQMANwO4ASADIAApA+ACNwOwASADIAArA/ACOQPAASADIAorAwA5A8gBIAMgCysDADkD0AEgAyAMKwMAOQPYASAIELEGGiAHELEGGiAGELEGGiAEELEGGiACELEGGiAFELEGGiAAQZADaiQAC6oKAgh/AXwjAEGQA2siBSQAAkAgACACKAIAIgZGBEAgBUFAaxCnBiEAIAVBCGoQpwYhBgJAAkACQAJAIAEoAgAiB0HszgpHDQAgASgCBEEvRw0AIAEoAlAEQCABKwO4AUQAAAAAAAAAAGINAgsCQAJAIAIoAgAiB0HozgpHDQAgAigCUARAIAIrA7gBRAAAAAAAAAAAYg0BCyACKwPAAUQAAAAAAAAAAGINACACKwPIAUQAAAAAAAAAAGINACACKwPQAUQAAAAAAAAAAGINACACKwPYAUQAAAAAAAAAAGINACACKwOwASENIAYgAkEIahCzBiANIASiIQQMAQsgByAC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ADkD0AEgAyALKwMAOQPYASAHELEGGiAFELEGGiABELEGGiACELEGGiAAELEGGiAGELEGGgwBCyAGIAEgAiADIAYoAgAoAlwRBgALIARBkANqJAALRQECfyMAQUBqIgQkACAEQQhqEKcGIQAgASgCACIFIAEgAEF/IAUoAgAoAgwRBgAgAyACIAAQ+gYgABCxBhogBEFAayQAC7wCAQl/IwBB0AJrIgMkACADQThqEKcGIQQgAxCnBiEFIAMgATYCdCADQfTOCjYCcCADQfgAaiACEK0GIQIgA0GwAWogBBCtBiEBIANB6AFqIAUQrQYhBiADQagCaiIHQgA3AwAgA0GwAmoiCEIANwMAIANBuAJqIglCADcDACADQcACaiIKQgA3AwAgA0HIAmoiC0IANwMAIANCgICAgICAgPg/NwOgAiAAIAMpA3A3AwAgAEEIaiACELkGGiAAQUBrIAEQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACADKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiABELEGGiACELEGGiAFELEGGiAEELEGGiADQdACaiQACzsAIAACfyACQTBqIAJBCGoQtwZFDQAaIAJB6ABqIAJBQGsQtwYNABogAkGgAWoLKAIAKQIAQiCJNwIACy8AAkAgAUEIaiIAELcGRQ0AIAFBQGsiABC3Bg0AIAFB+ABqIQALIAAoAgBB/x9xC8QDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB6M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPi/fzcDACADQYgCaiIPQgA3AwAgA0GQAmoiEEIANwMAIANBmAJqIhFCADcDACADQgA3A4ACIANCgICAgICAgPg/NwPwASAAIAMpA0A3AwAgBiABELkGGiAHIAIQuQYaIAggBRC5BhogDSAOKQMANwMAIAAgAykD8AE3A7ABIAwgAysDgAI5AwAgCyAPKwMAOQMAIAogECsDADkDACAJIBErAwA5AwAgBRCxBhogAhCxBhogARCxBhogBBCxBhogA0GgAmokAAvCAwESfyMAQdACayICJAAgARC3BgRAQXsgAkHwAGpB2qkCEIkDQcepAkHqnQJBGBCYCgALIABCADcDACAAQQhqEKcGIQcgAEFAaxCnBiEIIABB+ABqEKcGIQkgAEHYAWoiCkIANwMAIABB0AFqIgtCADcDACAAQcgBaiIMQgA3AwAgAEHAAWoiDUIANwMAIABBuAFqIg5CADcDACAAQgA3A7ABIAIQpwYhAyACQThqEKcGIQQgAkEANgJ0IAJB6M4KNgJwIAJB+ABqIAEQrQYhASACQbABaiADEK0GIQUgAkHoAWogBBCtBiEGIAJBqAJqIg9CADcDACACQbACaiIQQgA3AwAgAkG4AmoiEUIANwMAIAJBwAJqIhJCADcDACACQcgCaiITQgA3AwAgAkKAgICAgICA+L9/NwOgAiAAIAIpA3A3AwAgByABELkGGiAIIAUQuQYaIAkgBhC5BhogDiAPKQMANwMAIAAgAikDoAI3A7ABIA0gECsDADkDACAMIBErAwA5AwAgCyASKwMAOQMAIAogEysDADkDACAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC8MDAQ9/IwBBoAJrIgMkAAJAIAEQtwZFBEAgAhC3BkUNAQtBeyADQUBrQaCpAhCJA0HHqQJB6p0CQSAQmAoACyAAQgA3AwAgAEEIahCnBiEGIABBQGsQpwYhByAAQfgAahCnBiEIIABB2AFqIglCADcDACAAQdABaiIKQgA3AwAgAEHIAWoiC0IANwMAIABBwAFqIgxCADcDACAAQbgBaiINQgA3AwAgAEIANwOwASADQQhqEKcGIQQgA0EANgJEIANB8M4KNgJAIANByABqIAEQrQYhASADQYABaiACEK0GIQIgA0G4AWogBBCtBiEFIANB+AFqIg5CgICAgICAgPg/NwMAIANBiAJqIg9CADcDACADQZACaiIQQgA3AwAgA0GYAmoiEUIANwMAIANCADcDgAIgA0KAgICAgICA+D83A/ABIAAgAykDQDcDACAGIAEQuQYaIAcgAhC5BhogCCAFELkGGiANIA4pAwA3AwAgACADKQPwATcDsAEgDCADKwOAAjkDACALIA8rAwA5AwAgCiAQKwMAOQMAIAkgESsDADkDACAFELEGGiACELEGGiABELEGGiAEELEGGiADQaACaiQAC7kDARJ/IwBB0AJrIgMkACABELcGBEBBeyADQfAAakHaqQIQiQNBx6kCQeqdAkEYEJgKAAsgAEIANwMAIABBCGoQpwYhCCAAQUBrEKcGIQkgAEH4AGoQpwYhCiAAQdgBaiILQgA3AwAgAEHQAWoiDEIANwMAIABByAFqIg1CADcDACAAQcABaiIOQgA3AwAgAEG4AWoiD0IANwMAIABCADcDsAEgAxCnBiEEIANBOGoQpwYhBSADQQA2AnQgA0Hozgo2AnAgA0H4AGogARCtBiEBIANBsAFqIAQQrQYhBiADQegBaiAFEK0GIQcgA0GoAmoiEEIANwMAIANBsAJqIhFCADcDACADQbgCaiISQgA3AwAgA0HAAmoiE0IANwMAIANByAJqIhRCADcDACADIAI5A6ACIAAgAykDcDcDACAIIAEQuQYaIAkgBhC5BhogCiAHELkGGiAPIBApAwA3AwAgACADKQOgAjcDsAEgDiARKwMAOQMAIA0gEisDADkDACAMIBMrAwA5AwAgCyAUKwMAOQMAIAcQsQYaIAYQsQYaIAEQsQYaIAUQsQYaIAQQsQYaIANB0AJqJAAL/gEBBH8jAEHgAWsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgASgCACEEIANBADYCBCADQeTOCjYCACADQQhqIAIQrQYhAiADQUBrEKcGIQUgA0H4AGoQpwYhBiADQgA3A8ABIANCADcDyAEgA0IANwPQASADQgA3A9gBIANCADcDuAEgA0KAgICAgICA+D83A7ABIAQgASADIAAgBCgCACgCXBEGACAGELEGGiAFELEGGiACELEGGiADQeABaiQAC58CAQR/IwBB4AFrIgMkACABELcGBEBBeyADQdqpAhCJA0HHqQJB6p0CQRgQmAoACyAAQgA3AwAgAEEIahCnBhogAEFAaxCnBhogAEH4AGoQpwYaIABCADcD2AEgAEIANwPQASAAQgA3A8gBIABCADcDwAEgAEIANwO4ASAAQgA3A7ABIAIoAgAhBCADQQA2AgQgA0Hkzgo2AgAgA0EIaiABEK0GIQEgA0FAaxCnBiEFIANB+ABqEKcGIQYgA0IANwPAASADQgA3A8gBIANCADcD0AEgA0IANwPYASADQgA3A7gBIANCgICAgICAgPg/NwOwASAEIAMgAiAAIAQoAgAoAlwRBgAgBhCxBhogBRCxBhogARCxBhogA0HgAWokAAvFAgEJfyMAQdACayIDJAAgA0E4ahCnBiEEIAMQpwYhBSADQeEANgJ0IANB7M4KNgJwIANB+ABqIAEQrQYhASADQbABaiAEEK0GIQYgA0HoAWogBRCtBiEHIANBqAJqIghCADcDACADQoCAgICAgID4PzcDoAIgAyACKwMAOQOwAiADQbgCaiIJIAIrAwg5AwAgA0HAAmoiCiACKwMQOQMAIANByAJqIgsgAisDGDkDACAAIAMpA3A3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACADKQOgAjcDsAEgACADKwOwAjkDwAEgACAJKwMAOQPIASAAIAorAwA5A9ABIAAgCysDADkD2AEgBxCxBhogBhCxBhogARCxBhogBRCxBhogBBCxBhogA0HQAmokAAueAQEBfyMAQRBrIgAkAAJAAkACQCADQX9HBEAgASgCCCIEQf8fcSADRw0BCyACIAFBCGoQswYMAQsgAyAEc0H4H3ENASAAIAI2AgQgAEGAgIQQNgIAIABCADcDCCABQQhqIAAgA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgAEEQaiQADwtBqX4gAEHAnQIQiQNB450CQeqdAkGBChCYCgAL5hQCB38DfCMAQfABayIEJAAgBEG4AWoQpwYhCQJ/IANBf0cEQCAJIAEoAghB/x9xIANHDQEaCyACCyEAIAFBwAFqIQUCQAJAIAEoAlAEQCABQUBrIQMgASsDyAEhCwJAAkACQAJAIAErA8ABRAAAAAAAAAAAYg0AIAtEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQIgC0QAAAAAAAAAAGENAQwCCyALRAAAAAAAAAAAYg0BCyABKwPQAUQAAAAAAAAAAGINACABKwPYAUQAAAAAAAAAAGENAQsgASsDuAEhCwJAIAErA7ABIgxEAAAAAAAA8D9hBEAgC0QAAAAAAADwP2EEQCAEQgA3AxAgBEGAgIQINgIIIAQgAUEIajYCDCAEQgA3A7ABIAQgAzYCrAEgBEGAgIQINgKoASAEIAA2ApwBIARBgICEEDYCmAEgBEIANwOgASAEQQhqIARBqAFqIARBmAFqQdTWChDbBQwCCyALRAAAAAAAAPC/YQRAIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogBEGoAWogBEGYAWpB1NYKEN0FDAILIARCADcDECAEIAM2AgwgBEGAgIQINgIIIARCADcDsAEgBCABQQhqNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogCyAEQagBaiAEQZgBahCDBgwBCyALRAAAAAAAAPA/YQRAIAxEAAAAAAAA8L9hBEAgBEIANwMQIAQgAzYCDCAEQYCAhAg2AgggBEIANwOwASAEIAFBCGo2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAEQagBaiAEQZgBakHU1goQ3QUMAgsgBEIANwMQIARBgICECDYCCCAEIAFBCGo2AgwgBEIANwOwASAEIAM2AqwBIARBgICECDYCqAEgBCAANgKcASAEQYCAhBA2ApgBIARCADcDoAEgBEEIaiAMIARBqAFqIARBmAFqEIMGDAELIARCADcDECAEQYCAhAg2AgggBCABQQhqNgIMIARCADcDsAEgBCADNgKsASAEQYCAhAg2AqgBIAQgADYCnAEgBEGAgIQQNgKYASAEQgA3A6ABIARBCGogDCAEQagBaiALRAAAAAAAAAAAIARBmAFqQX8Q4gULAkAgASsDyAFEAAAAAAAAAABiDQAgASsD0AFEAAAAAAAAAABiDQAgASsD2AFEAAAAAAAAAABhDQMLIARCADcDECAEIAA2AgwgBEGAgIQINgIIIARCgYCAgMAANwOwASAEIAU2AqwBIARBhoCI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ASADIAErA8ABOQPAASADIAErA8gBOQPIASADIAErA9ABOQPQASADIAErA9gBOQPYASADIAMrA7ABIAKiOQOwAQ8LIAMgASACIAMQ8gYL+wICCX8BfCMAQdACayIAJAACQAJAIAIoAgRBL0cNACACKAJQBEAgAisDuAFEAAAAAAAAAABiDQELIAAQpwYhBCACKwOwASENIABBOGoQpwYhBSAAQQA2AnQgAEHozgo2AnAgAEH4AGogAkEIahCtBiECIABBsAFqIAQQrQYhBiAAQegBaiAFEK0GIQcgAEGoAmoiCEIANwMAIABBsAJqIglCADcDACAAQbgCaiIKQgA3AwAgAEHAAmoiC0IANwMAIABByAJqIgxCADcDACAAIAEgDaM5A6ACIAMgACkDcDcDACADQQhqIAIQuQYaIANBQGsgBhC5BhogA0H4AGogBxC5BhogAyAIKQMANwO4ASADIAApA6ACNwOwASADIAkrAwA5A8ABIAMgCisDADkDyAEgAyALKwMAOQPQASADIAwrAwA5A9gBIAcQsQYaIAYQsQYaIAIQsQYaIAUQsQYaIAQQsQYaDAELIAAgASACIAMQ9AYLIABB0AJqJAAL2wECAn8BfCMAQeAAayIEJAAgBEEoahCnBiEFAn8gA0F/RwRAIAUgASgCCEH/H3EgA0cNARoLIAILIQAgBEIANwMgIARBgICECDYCGCAEIAFBCGo2AhwgBEGAgIQQNgIIIARCADcDECAEIAA2AgwgBEEYaiAEQQhqELQHIAAoAhAgAigCEEZBACABKwOwASIGRAAAAAAAAPA/YRtFBEAgBCACNgIcIARBgICEEDYCGCAEQgA3AyAgACAEQRhqIAMgBkQAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAQAgAyABKQMANwMAIANBCGogAUEIahCzBiADQUBrIAFBQGsQswYgA0H4AGogAUH4AGoQswYgAyABKQO4ATcDuAEgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEL5AICCX8BfCMAQdACayIAJAAgAUEIaiEDAkAgASsDsAFEAAAAAAAA8D9hBEAgAiADEJIHDAELIAAQpwYhBCABKwOwASEMIABBOGoQpwYhASAAQQA2AnQgAEHozgo2AnAgAEH4AGogAxCtBiEDIABBsAFqIAQQrQYhBSAAQegBaiABEK0GIQYgAEGoAmoiB0IANwMAIABBsAJqIghCADcDACAAQbgCaiIJQgA3AwAgAEHAAmoiCkIANwMAIABByAJqIgtCADcDACAAIAw5A6ACIAIgACkDcDcDACACQQhqIAMQuQYaIAJBQGsgBRC5BhogAkH4AGogBhC5BhogAiAHKQMANwO4ASACIAApA6ACNwOwASACIAgrAwA5A8ABIAIgCSsDADkDyAEgAiAKKwMAOQPQASACIAsrAwA5A9gBIAYQsQYaIAUQsQYaIAMQsQYaIAEQsQYaIAQQsQYaCyAAQdACaiQAC7wCAQp/IwBB0AJrIgIkACACQThqEKcGIQMgAhCnBiEEIAJBADYCdCACQeTOCjYCcCACQfgAaiABEK0GIQEgAkGwAWogAxCtBiEFIAJB6AFqIAQQrQYhBiACQagCaiIHQgA3AwAgAkGwAmoiCEIANwMAIAJBuAJqIglCADcDACACQcACaiIKQgA3AwAgAkHIAmoiC0IANwMAIAJCgICAgICAgPg/NwOgAiAAIAIpA3A3AwAgAEEIaiABELkGGiAAQUBrIAUQuQYaIABB+ABqIAYQuQYaIAAgBykDADcDuAEgACACKQOgAjcDsAEgACAIKwMAOQPAASAAIAkrAwA5A8gBIAAgCisDADkD0AEgACALKwMAOQPYASAGELEGGiAFELEGGiABELEGGiAEELEGGiADELEGGiACQdACaiQAC6cCAgJ/AnwjAEGAAWsiBCQAIARByABqEKcGIQUCfyADQX9HBEAgBSABKAIIQf8fcSADRw0BGgsgAgshACAEQgA3A0AgBEGAgIQINgI4IAQgAUEIajYCPCAEQgA3AzAgBCABQUBrNgIsIARBgICECDYCKCABKwOwASEGIARCADcDICAEIAFB+ABqNgIcIARBgICECDYCGCABKwO4ASEHIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBOGogBEEoaiAGIARBGGogByAEQQhqIAEoAgQQggYgACgCECACKAIQRwRAIAQgAjYCPCAEQYCAhBA2AjggBEIANwNAIAAgBEE4aiADRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyAFELEGGiAEQYABaiQAC4kIAgV/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BEH4AGogAUEIahCtBiEBIARBuAFqIgYgCjkDACAEQcgBaiIAQgA3AwAgBEHQAWoiB0IANwMAIARB2AFqIghCADcDACAEQgA3A8ABIAQgCZo5A7ABIAMgBCkDADcDACADQQhqIAUQuQYaIANBQGsgAhC5BhogA0H4AGogARC5BhogAyAGKQMANwO4ASADIAQpA7ABNwOwASADIAQrA8ABOQPAASADIAArAwA5A8gBIAMgBysDADkD0AEgAyAIKwMAOQPYASABELEGGiACELEGGiAFELEGGgwBCyAAIAVGBEAgBSABIAIgAxDvBgwBCyAFIAEgAiADIAUoAgAoAjwRBgALIARB4AFqJAALngEAIAMgASkDADcDACADQQhqIAFBCGoQswYgA0FAayABQUBrELMGIANB+ABqIAFB+ABqELMGIANBuAFqIgAgASkDuAE3AwAgAyABKQOwATcDsAEgAyABKwPAATkDwAEgAyABKwPIATkDyAEgAyABKwPQATkD0AEgAyABKwPYATkD2AEgAyADKwOwASACojkDsAEgACAAKwMAIAKiOQMAC64BAQF/IAIgASkDADcDACACQQhqIgAgAUEIahCzBiACQUBrIgMgAUFAaxCzBiACQfgAaiABQfgAahCzBiACIAEpA7gBNwO4ASACIAEpA7ABNwOwASACIAErA8ABOQPAASACIAErA8gBOQPIASACIAErA9ABOQPQASACIAErA9gBOQPYASACIAEoAgQiAUEBdEECcSABQQRxciABQQF2QQFxckEHczYCBCAAIAMQrgcLzwEBAn8jAEHgAGsiBCQAIARBKGoQpwYhBQJ/IANBf0cEQCAFIAEoAghB/x9xIANHDQEaCyACCyEAIARCADcDICAEQYCAhAg2AhggBCABQQhqNgIcIARBgICEEDYCCCAEQgA3AxAgBCAANgIMIARBGGogBEEIaiABKAIEEKsEIAAoAhAgAigCEEcEQCAEIAI2AhwgBEGAgIQQNgIYIARCADcDICAAIARBGGogA0QAAAAAAADwP0QAAAAAAAAAABCIAwsgBRCxBhogBEHgAGokAAuMAwEGfyMAQaACayIEJAAgAigCACEFAkACQCABKAIAQfTOCkcNACAFQeTOCkcNACABKAIEIQAgBEEIahCnBiEFIAQgADYCRCAEQfzOCjYCQCAEQcgAaiAB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QdDWChCBGwtBzNYKKAIAIQYgBCACKQIAIg03AwggBCANNwOAASAEQYgBaiAEQQhqIANB7t27935BABCwBiECIARByABqEKcGIQMgBEEQahCnBiEFIAQgATYCxAEgBCAGNgLAASAEQcgBaiACEK0GIQEgBEGAAmogAxCtBiEGIARBuAJqIAUQrQYhByAEQfgCaiIIQgA3AwAgBEGAA2oiCUIANwMAIARBiANqIgpCADcDACAEQZADaiILQgA3AwAgBEGYA2oiDEIANwMAIAREAAAAAAAA8D85A/ACIAAgBCkDwAE3AwAgAEEIaiABELkGGiAAQUBrIAYQuQYaIABB+ABqIAcQuQYaIAAgCCkDADcDuAEgACAEKQPwAjcDsAEgACAJKwMAOQPAASAAIAorAwA5A8gBIAAgCysDADkD0AEgACAMKwMAOQPYASAHELEGGiAGELEGGiABELEGGiAFELEGGiADELEGGiACELEGGiAEQaADaiQAC4cBAgF/AX4jAEEQayIDJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASADIAEpAgAiBDcDACADIAQ3AwggAEEwIAMgAhCgByADQRBqJAALigEBAX8jAEEQayIEJAAgAEIANwMAIABBCGoQpwYaIABBQGsQpwYaIABB+ABqEKcGGiAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABCADcDuAEgAEIANwOwASAEIAE2AgwgBCACNgIIIAQgBCkDCDcDACAAQTEgBCADEKAHIARBEGokAAuHAQIBfwF+IwBBEGsiAyQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgAyABKQIAIgQ3AwAgAyAENwMIIABBMSADIAIQoAcgA0EQaiQAC4sBAQF/IwBBEGsiBCQAIABCADcDACAAQQhqEKcGGiAAQUBrEKcGGiAAQfgAahCnBhogAEIANwPYASAAQgA3A9ABIABCADcDyAEgAEIANwPAASAAQgA3A7gBIABCADcDsAEgBCABNgIMIAQgAjYC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AAAAXhu7IRQMCAsgAygCqCEhAgJAAkAgB0EGaw4CAAECCyACIAQQhQq3IRQMCAtBACEBQQAgBEEESA0GGiAEQQRrIQVBACEAA0AgAiAAQQNyai0AAEHg0QJqLQAAIAIgAEECcmotAABB4NECai0AACACIABBAXJqLQAAQeDRAmotAAAgASAAIAJqLQAAQeDRAmotAABqampqIQEgAEEEaiIAIAVMDQALDAULIANB4CBqELcGRQRAIAMvAeAgQf8fcQ0CCyAFQQZGBEAgA0HgIGoQtwZFBEAgA0EIahCnBiEAIANCADcDoCAgA0GAgIQINgKYICADIANBmCFqNgKcICADQgA3A9ggIANBgICECDYC0CAgAyADQeAgajYC1CAgAyAANgLEICADQYCAhBA2AsAgIANCADcDyCAgA0GYIGogA0HQIGogA0HAIGpB1NYKENQFIANCADcDoCAgAyAANgKcICADQYCAhAg2ApggIANBmCBqIAdB1NYKEIcIIRQgABCxBhoMCAtBACEAIANBADYCnCAgAyADQZghajYCmCAgA0EANgLQICADQQhqIANBmCBqIANB0CBqQX8QrAciAigCEEUNB0EBQQIgB0EGRhshBCACKAIUIQVBACEBA0AgAygC0CAgBSAEEIUIIABqIQAgAhCtByABQQFqIgEgAigCEEkNAAsgALchFAwHCyAHQQR0QeAAcUEFIAogCkEHRhtBAnRyQdDbAmooAgAiDUUNAiADQQA2AtggIAMgA0HgIGo2AtQgIAMgA0GYIWo2AtAgIANCADcDwCAgA0IANwO4ICADQZggaiADQdAgaiADQcAgakF/EKwHIggoAhQiAUH/////B08NAwJAAkAgB0ECRiAKQQRJcUUEQCAFQQRGIApBAklxRQ0BCyADKAKcISIAQQFOBEAgAygCxCEgAEECdGpBBGsoAgAhDgsgA0EANgIIQYCAgARBgIACIApBAkkbQYCAAiAHQQJGGyAJbiELIAgoAhBFDQEgCyABIAEgC0obIQJBACEFA0AgDEEBaiEMIAFBAU4EQEEAIQQgAygCxCAhBiADKALAICEPA0AgDyAGIANBCGogAiABIARrIgAgACACShsiACAJIA0RCQAaAkAgCyAAIAVqIgUgAmpKBEAgACAEaiABSA0BIAwgCCgCEEkNAQsgAygCCCEGQQAhBSAD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DAELIAAoAgQhByAAKAIAIQggBSAAKAALNgALIAUgACgCCDYCCCAAQgA3AgQgAC0ADyEJIABBADYCDCAAKAIUIQogACgCECELIABCADcCECAAQQRqIQQgBgRAIAAgAigCADYCACAEIAIoAgw2AgggBCACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEDIAIoAhAhASACQgA3AhAgACABNgIQIAAoAhQhASAAIAM2AhQCQCABRQ0AIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAQAgARDQGgsgAiAINgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAc2AgQgAiAFKAIINgIIIAIgBSgACzYACyACIAs2AhAgAiAJOgAPIAIoAhQhASACIAo2AhQCQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgtBAQwCCyAAIAEoAgA2AgAgBCABKAIMNgIIIAQgASkCBDcCACABQQA6AA8gAUEAOgAEIAEoAhQhBiABKAIQIQQgAUIANwIQIAAgBDYCECAAKAIUIQQgACAGNgIUAkAgBEUNACAEIAQoAgQiAEEBazYCBCAADQAgBCAEKAIAKAIIEQEAIAQQ0BoLIAFBBGohBiABIAg2AgAgASwAD0F/TARAIAYoAgAQohsLIAEgBzYCBCABQQhqIgcgBSgCCDYCACABIAUoAAs2AAsgASALNgIQIAEgCToADyABKAIUIQAgASAKNgIUAkAgAEUNACAAIAAoAgQiBEEBazYCBCAEDQAgACAAKAIAKAIIEQEAIAAQ0BoLQQEgAiABIAMoAgARAwBFDQEaIAEoAgQhAyABKAIAIQQgBSAHKAIANgIIIAUgBygAAzYACyABLQAPIQcgBkIANwIAIAZBCGoiAEEANgIAIAEoAhQhCCABKAIQIQkgAUIANwIQIAEgAigCADYCACAAIAIoAgw2AgAgBiACKQIENwIAIAJBADoADyACQQA6AAQgAigCFCEGIAIoAhAhACACQgA3AhAgASAANgIQIAEoAhQhACABIAY2AhQCQCAARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABDQGgsgAiAENgIAIAIsAA9Bf0wEQCACKAIEEKIbCyACIAM2AgQgAiAFKAIINgIIIAIgBSgA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QCABKAIIEKIbCyABEKIbIAIiAQ0ACwsgACgCiAIhASAAQQA2AogCIAEEQCABEKIbCyAAKAL4ASIBBEAgACABNgL8ASABEKIbCyAAKALsASIBBEAgACABNgLwASABEKIbCyAAKALgASIEBEACfyAEIAQgACgC5AEiAUYNABoDQCABIgJBCGshAQJAIAJBBGsoAgAiAkUNACACIAIoAgQiA0EBazYCBCADDQAgAiACKAIAKAIIEQEAIAIQ0BoLIAEgBEcNAAsgACgC4AELIQEgACAENgLkASABEKIbCyAAKALUASIBBEAgACABNgLYASABEKIbCyAAKAK4ASIBBEAgACABNgK8ASABEKIbCyAAKAKsASIBBEAgACABNgKwASABEKIbCwJAIAAoAqABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApgBIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoApABIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQfQAaiIDEO0IAkAgACgCeCIBIAAoAnwiAkYNAANAIAEoAgAQohsgAUEEaiIBIAJHDQALIAAoAnwiASAAKAJ4IgJGDQAgACABIAEgAmtBBGtBAnZBf3NBAnRqNgJ8CyADKAIAIgEEQCABEKIbCyAAKAJkIgEEQCAAIAE2AmggARCiGwsgAEHMAGoiAxDuCAJAIAAoAlAiASAAKAJUIgJGDQADQCABKAIAEKIbIAFBBGoiASACRw0ACyAAKAJUIgEgACgCUCICRg0AIAAgASABIAJrQQRrQQJ2QX9zQQJ0ajYCVAsgAygCACIBBEAgARCiGwsgACwAE0F/TARAIAAoAggQohsLIAAL0gQBB38jAEEQayIDJAACQAJAIAAtACRFDQACQCABRQ0AIAEsAAtBf0wEQCABKAIAQQA6AAAgAUEANgIEDAELIAFBADoACyABQQA6AAALAkAgAC0AJkUNACAAKAJgQQJPBEADQCAAEO8IIAAoAmBBAUsNAAsLIAAgACgCACgCOBEAABoCQAJAIAAoAihBCGsOEQACAgICAgICAgICAgICAgIBAgsgAEHU6AIgACgCACgCDBECAAwBCyAAQefo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ICADQgA3ABggA0IANwAQIANCADcACCADQgA3AAAgAEEcaiIFQQA2AgAgAEIANwIUIAAgBzYCDCAAQcEAENUaIgQ2AhQgBSAEQcEAaiIFNgIAIARBAEHBABCvGxogACAHNgIoIAAgAzYCICAAIAU2AhggACADNgIkIAEtACYEQCACBEAgASABKAIAKAI4EQAAGgsgBkEQaiQADwtBqX4gBkHBgwMQiQNB3IMDQbyCA0EcEJgKAAuBAgEEfyMAQeAAayIDJAACQCAAKAIgIgEgACgCFCAAKAIkIAFrEMUJRQ0AIAAgACgCIDYCJCAALQAERQRAIAAoAgAiASAAKAIUIAEoAgAoAgwRAgAMAQsgA0EKOwFeIANBICAAKAIAIgEoAlAgASgCYCABKAJcakEBayIEQcwBbiICQQJ0aigCACAEIAJBzAFsa0EUbGooAhAiBBCvGyICIARqQQA6AAAgASACIAEoAgAoAgwRAgAgACgCACIBIAAoAhQgASgCACgCDBECACAAKAIAIgEgAkHeAGogASgCACgCDBECACAAKAIAIgAgACgCACgCOBEAABoLIANB4ABqJAALZwECfyAAKAIAIgEEQCABKAIkIAEoAiBHBEAgARDICQsgASgCFCICBEAgASACNgIYIAIQohsLIAEoAggiAgRAIAEgAjYCDCACEKIbCyABEKIbCyAALAAPQX9MBEAgACgCBBCiGwsgAAvUAgEDfyAAQSBqIgIgARDfGiAAQQA2AiwgACgCMCIBQQhxBEACQCACLAALIgNBf0wEQCAAKAIgIgMgACgCJGohBAwBCyACIANB/wFxaiEEIAIhAwsgACAENgIQIAAgAzYCDCAAIAM2AgggACAENgIsCwJAIAFBEHFFDQAgAgJ/IAIsAAsiAUEATgRAIAAgAiABQf8BcSIBajYCLEEKDAELIAAgACgCJCIBIAAoAiBqNgIsIAAoAihB/////wdxQQFrCxDiGgJ/IAIsAAsiA0F/TARAIAAoAiAhAiAAKAIkDAELIANB/wFxCyEDIAAgAjYCFCAAIAI2AhggACACIANqNgIcIAAtADBBA3FFDQACQCABQX9MBEAgAkECayACQf////8HaiABQf////8HayIBQQBIIgMbIQJBASABIAMbIQEMAQsgAUUNAQsgACABIAJqNgIYCws6AQF/QRQQ1RoiAkIANwIEIAIgATYCECACQeyEAzYCDCACQfyDAzYCACAAIAI2AgQgACACQQxqNgIACzsBAX9BlCgQ1RoiAkIANwIEIAIgATYCECACQdyKAzYCDCACQeyJAzYCACAAIAI2AgQgACACQQxqNgIAC+4BAQF/IwBBkChrIgYkACAEQQ9xQRByIgQQhwkEQAJAAkAgBUUNACAFLQAARQ0AIAVB3YYDQQYQ+BQNACAGQQA6ABBBAyEEDAELIAQQiAkhBSAGQQA6ABEgBkH7AEHbACAFGzoAEAsgASADIAZBEGogASgCACgCHBEEACAGQQA6AAAgBkEAOgALIAIoAhAhBSAAQQA2AgggAEIANwIAIAAgBhDfGiAAIAVBBGo2AhAgACAENgIMIAYsAAtBf0wEQCAGKAIAEKIbCyAGQZAoaiQADwtBeyAGQRBqQdiFAxCJA0GhhgNBsoYDQRsQmAoAC6wCAQN/IAEoAgwiAxCHCQRAIAMQhQlFBEAgACgCBCICIAIoAgAoAigRAAAgACgCBCICIAIoAgAoAiwRAAAgACgCBCICIAIoAgAoAmwRAABqTQRAIAAoAgQiAiACKAIAKAIoEQAAQQo7AAAgACgCBCICIAIgAigCACgCLBEAACACKAIAKAIMEQIAIAAoAgQiAiACIAIoAgAoAiwRAAAgAigCACgCNBECAAsgACgCBCICIAIoAgAoAjgRAAAaCwJAIAAoAgQiAiACKAIAKAIoEQAAIgIgACgCBCIEIAQoAgAoAiwRAAAgASgCEGpNDQAgAxC3CQ0AIAJBIDoAACACQQFqIQILIAJB/QBB3QAgAxCICRs6AAAgACgCBCIAIAJBAWogACgCACgCNBECAAsLLAEBfyMAQYABayIDJAAgACABIAIgAxDnCCAAKAIAKAIcEQQAIANBgAFqJAALLgEBfyMAQYABayIDJAAgACABIAMgAkEBEOgIIAAoAgAoAhwRBAAgA0GAAWokAAucAwEEfyMAQZCAAWsiBCQAAkAgAgRAIAIQuBsiBUGBIE4NAQJAAkAgBUUNACADDQAgAi0AACIDIAIgBWpBAWstAABHDQAgA0Eiaw4GAQAAAAABAAsgBEEiOgAAIARBAXIhAyAFQQFOBEADQAJ/AkACQAJAAkACQAJAAkACQCACIAZqLAAAIgdBCGsOIAUEAgcGAwcHBwcHBwcHBwcHBwcHBwcHBwcHAQcHBwcBAAsgB0HcAEcNBgsgAyAHOgABIANB3AA6AAAgA0ECagwGCyADQdzcATsAACADQQJqDAULIANB3OQBOwAAIANBAmoMBAsgA0Hc6AE7AAAgA0ECagwDCyADQdzEATsAACADQQJqDAILIANB3MwBOwAAIANBAmoMAQsgAyAHOgAAIANBAWoLIQMgBkEBaiIGIAVHDQALCyADQSI7AAAgBCECCyAAIAEgAiAAKAIAKAIcEQQAIARBkIABaiQADwtBZSAEQeSGAxCJA0H4hgNBsoYDQeEAEJgKAAtBeyAEQf6GAxCJA0H4hgNBsoYDQeUAEJgKAAvoBwEIfyMAQRBrIgYkACAAKAIEIgNBACADKAIAKAJgEQIAIAAoAgQiAyADKAIAKAJoEQAAIQQgACgCBCEDAkACQAJAAkACQAJAIARFBEAgA0EBIAMoAgAoAmQRAgAMAQsgAyADKAIAKAJoEQAAQQJGDQELIAFFDQMgAS0AAEUNAyABELgbIgdFDQFBASEEIAdBgSBODQIMBAtBfiAGQZ2HAxCJA0HChwNBsoYDQZEBEJgKAAtBeyAGQc6HAxCJA0HChwNBsoYDQZ0BEJgKAAtBeyAGQeKHAxCJA0HChwNBsoYDQZ8BEJgKAAtBACEEQQAhAQsgAgRAIAIQuBshCAsCQCAAKAIEIgMgAygCACgCRBEAACIJKAIMIgMQhwkEQCADEIgJIARGDQFBeyAGQfaHAxCJA0HChwNBsoYDQawBEJgKAAsgACgCBCIDIAMoAgAoAjwRAQBBFUEUIAQbIQMLAn8gAxCFCQRAIAAoAgQiBSAFKAIAKAIoEQAAIQUgAxC3CUUEQCAFQSw6AAAgBUEBaiEFCwJAIAcgCGogBWogACgCBCIDIAMoAgAoAiwRAABrIgogACgCBCIDIAMoAgAoAkARAABMDQAgCiAJKAIQa0ELSA0AIAAoAgQiAyAFIAMoAgAoAjQRAgAgACgCBCIDIAMoAgAoAjgRAAAMAgsgBUEgOgAAIAVBAWoMAQsgAxC3CUUEQCAAKAIEIgMgAygCACgCKBEAACIDQQA6AAIgA0GsFDsAACAAKAIEIgMgAyADKAIAKAIsEQAAIAMoAgAoAgwRAgAgACgCBCIDIAMgAygCACgCLBEAACADKAIAKAI0EQIACyAAKAIEIgMgAygCACgCOBEAAAshAwJAAkAgBARAIAEtAAAiBEHfAEcEQCAEQd8BcUHBAGtB/wFxQRpPDQILIAAoAgQiBCADIAcgBCgCACgCJBEFACIDQSI6AAAgA0EBaiEFIAcEQEEAIQMDQCADIAVqIAEgA2otAAAiBDoAAAJAIARBMGtB/wFxQQpJDQAgBEHfAXFBwQBrQf8BcUEaSQ0AAkAgBEEgaw4OAQYGBgYGBgYGBgYGBgEACyAEQd8ARw0FCyADQQFqIgMgB0cNAAsLIAUgB2oiA0Gi9AA7AAAgA0EgOgACIANBA2ohAwsgAgRAIAAoAgQiBCADIAggBCgCACgCJBEFACACIAgQrhsgCGohAwsgACgCBCIEIAMgBCgCACgCNBECACAJIAkoAgxBb3E2AgwgBkEQaiQADwtBeyAGQcyIAxCJA0HChwNBsoYDQdUBEJgKAAtBeyAGQe6IAxCJA0HChwNBsoYDQeABEJgKAAuGAwEEfyMAQRBrIgYkACABBEAgARC4GyEFIAAoAgQiAyADKAIAKAIoEQAAIQMCfwJAAkAgAUEKEPwUIgQNACACRQ0AIAAoAgQiAiACKAIAKAIwEQAAIANrIAVIDQAgACgCBCICIAIoAgAoAiwRAAAgA0cNAQsgACgCBCIDIAMoAgAoAjgRAAAMAQsgA0EgOgAAIANBAWoLIQMDQCADQSA6AAIgA0Gv3gA7AAAgA0EDaiEDAn8gBARAIAAoAgQiAiADIAQgAWsiBUEBaiIDIAIoAgAoAiQRBQAgASADEK4bIQEgACgCBCIDIAEgBWogAygCACgCNBECACAEQQFqIgFBChD8FAwBCyAAKAIEIgIgAyABELgbIgQgAigCACgCJBEFACABIAQQrhshASAAKAIEIgMgASAEaiADKAIAKAI0EQIAQQAhAUEACyEEIAAoAgQiAyADKAIAKAI4EQAAIQMgAQ0ACyAGQRBqJAAPC0FlIAZBv4kDEIkDQcyJA0GyhgNB9wEQmAoACzABAX8gACgCBCIBQdmJAyABKAIAKAIMEQIAIAAoAgQiAEHeiQMgACgCACgCDBECAAvnAgEDfyMAQTBrIgIkAAJAIAEEQAJAIAAgARDWCSIBRQ0AIAEtAABFDQAgAkEgaiAAKAIEIgQgBCgCACgCCBEAABC0CSEEAkAgAS0AACIDQdsARwRAIANB+wBHDQQgACgCBCEDIAJBADYCCCACQgA3AwAgAkEQaiADIAQgAkEFQQBBfyADKAIAKAJMERAAIAIsAAtBf0wEQCACKAIAEKIbCyAAIAEgAkEQahDXCRoMAQsgACgCBCEDIAJBADYCCCACQgA3AwAgAkEQaiADIAQgAkEEQQBBfyADKAIAKAJMERAAIAIsAAtBf0wEQCACKAIAEKIbCyAAIAEgAkEQahDYCRoLQQEhBAsgAkEwaiQAIAQPCyAAKAIEIgBBrIsDIAJBIGpBsosDEIkDQbKGA0H1BSAAKAIAKAJcEQgAAAsgACgCBCIAQayLAyACQRBqQcCLAxCJA0GyhgNBiQYgACgCACgCXBEIAAALuAUBAn8jAEEQayIDJAACQAJAIAEEQAJAA0ACQAJAAkACQCABLAAAIgIOMAIFBQUFBQUFBQECBQUCBQUFBQUFBQUFBQUFBQUFBQUFAQUFBQUFBQUFBQUFBQUFAAULAkAgAS0AASICBEAgAUEBaiEBDAELIAAoAgQiASABKAIAKAIQEQAAIgFFDQMgAS0AACICRQ0DCwJAAkACQCACQSprDgYBAgICAgACCwNAAkACQCACQf8BcQ4OAAEBAQEBAQEBAQgBAQgBCyAAKAIEIgEgASgCACgCEBEAACIBRQ0GIAEtAAAiAkUNBgwBCyABLQABIQIgAUEBaiEBDAALAAsgAUEBaiEBA0ACQCABLQAAIgJBKkcEQCACDQEgACgCBCIBIAEoAgAoAhARAAAiAUUNBiABLQAADQIMBgsCQCABLQABIgIEQCABQQFqIQEMAQsgACgCBCIBIAEoAgAoAhARAAAiAUUNBiABLQAAIgJFDQYLIAJBL0cNASABQQFqIQEMBgsgAUEBaiEBDAALAAsgACgCBCIBQeOLAyADQe6LAxCJA0GyhgNB8gIgASgCACgCXBEIAAALIAFBAWohAQwCCyAAKAIEIgEgASgCACgCEBEAACIBRQ0AIAEtAAANAQsLIAAoAgQiASABKAIAKAIsEQAAIgFFDQIgAUEAOgAAIAAoAgQiASABKAIAKAIYEQEAIAAoAgQiAUHjiwMgA0GxjAMQiQNBsoYDQZEDIAEoAgAoAlwRCAAACyACQf8BcUEfTQ0CIANBEGokACABDwsgACgCBCIBQeOLAyADQbKLAxCJA0GyhgNBtwIgASgCACgCXBEIAAALQal+IANBrYwDEIkDQeOLA0GyhgNBjQMQmAoACyAAKAIEIgFB44sDIANBjYwDEIkDQbKGA0GEAyABKAIAKAJcEQgAAAvvAwEDfyMAQRBrIgQkAAJAAkAgAQRAIAAoAgQhAyABLQAAQfsARw0BIANBBSACIAMoAgAoAkgRBAACQAJAAkADQCAAIAFBAWoQ1gkiAUUNAQJAIAEtAAAiA0EiRwRAIAMNAQwICyAAIAEgAiAEELMJIgUQ2gkiAUUNAiABLQAARQ0DIAAgARDWCSIBRQ0CAkAgAS0AACIDQdsARwRAIANB+wBGDQEgA0UNBSAAIAEgBRDbCSEBDAILIAAgASAFENgJIQEMAQsgACABIAUQ1wkhAQsgACABENYJIgFFDQEgAS0AACIDRQ0DIANBLEYNAAsgA0H9AEYNAiAAKAIEIgFBxYwDIARB/YwDEIkDQbKGA0HiBSABKAIAKAJcEQgAAAsgACgCBCIBQcWMAyAEQc6MAxCJA0GyhgNB5wUgASgCACgCXBEIAAALIAEtAAAhAwsgA0H/AXFB/QBHDQIgACgCBCIAIAIgACgCACgCUBECACAEQRBqJAAgAUEBag8LIAAoAgQiAUHFjAMgBEHOjAMQiQNBsoYDQbcFIAEoAgAoAlwRCAAACyADQcWMAyAEQdqMAxCJA0GyhgNBugUgAygCACgCXBEIAAALIAAoAgQiAUHFjAMgBEGSjQMQiQNBsoYDQeoFIAEoAgAoAlwRCAAAC40EAQN/IwBBIGsiAyQAAkAgAQRAIAAoAgQhBCABLQAAQdsARw0BIARBBCACIAQoAgAoAkgRBAAgA0EIaiEFAkACQAJAA0AgACABQQFqENYJIgFFDQECQCABLQAAIgRB3QBGDQAgBEUNAyAAKAIEIQQgBUEANgIAIANCADcDACADQRBqIAQgAiADQQBBAEF/IAQoAgAoAkwREAAgAywAC0F/TARAIAMoAgAQohsLAkAgAS0AACIEQfsARwRAIARB2wBHDQEgACABIANBEGoQ2AkhAQwCCyAAIAEgA0EQahDXCSEBDAELIAAgASADQRBqENsJIQELIAAgARDWCSIBRQ0BIAEtAAAiBEEsRg0ACyAEQd0ARg0CIARFDQEgACgCBCIBQYGRAyADQRBqQf2MAxCJA0GyhgNBpQUgASgCACgCXBEIAAALIAAoAgQiAUGBkQMgA0EQakHOjAMQiQNBsoYDQakFIAEoAgAoAlwRCAAACyAAKAIEIgFBgZEDIANBEGpBrZEDEIkDQbKGA0GsBSABKAIAKAJcEQgAAAsgACgCBCIAIAIgACgCACgCUBECACADQSBqJAAgAUEBag8LIAAoAgQiAUGBkQMgA0EQakHOjAMQiQNBsoYDQYEFIAEoAgAoAlwRCAAACyAEQYGRAyADQRBqQYqRAxCJA0GyhgNBhAUgBCgCACgCXBEIAAALtwEBAX8jAEEQayIFJAAgBCABNgIAIAMgATYCAEEAIQICQAJAIAFFDQAgAS0AACIDRQ0AAkAgA0EgSQ0AA0ACQCADQf8BcUEiaw4LAgAAAAAAAAAAAAIACyABLQABIQMgAUEBaiICIQEgA0EfSw0ACyACIQEgA0UNAgsgBCABNgIAQQEhAgsgBUEQaiQAIAIPCyAAKAIEIgFB0ZEDIAVB3pEDEIkDQbKGA0HCAyABKAIAKAJcEQgAAAuCBQEHfyMAQSBrIgUkAAJAAkACQAJAAkACQCABBEAgAS0AAEEiRw0BIAEhBANAIAQiCEEBaiEEAn8gCC0AASIGRQRAIAQgACgCBCIGIAYoAgAoAjARAABBAWtGDQUgBC0AACEGCyAGQf8BcSIHQSBPC0EAIAdBIkcbDQALIAZB/wFxQSJHDQMgASAIRg0EIAQgAUEBaiIKayIEQXBPDQUgACgCBCEHAkACQCAEQQtPBEAgBEEQakFwcSIBENUaIQYgBSABQYCAgIB4cjYCCCAFIAY2AgAgBSAENgIEIAUhCQwBCyAFIAQ6AAsgBSIJIQYgBEUNAQsgBiAKIAQQrhsaC0EAIQEgBCAGakEAOgAAIAVBEGogByACIAVBAEEAQX8gBygCACgCTBEQACADIAVBEGoQrQkgCSwAC0F/TARAIAUoAgAQohsLAkAgACAIQQJqENYJIgRFDQAgBC0AACIGRQ0AIAZBOkcNByAEQQFqIQELIAVBIGokACABDwsgACgCBCIEQbaNAyAFQRBqQbKLAxCJA0GyhgNBmgMgBCgCACgCXBEIAAALIAAoAgQiBEG2jQMgBUEQakG/jQMQiQNBsoYDQZ0DIAQoAgAoAlwRCAAACyAAKAIEIgRBto0DIAVBEGpB140DEIkDQbKGA0GjAyAEKAIAKAJcEQgAAAsgACgCBCIEQbaNAyAFQRBqQYqOAxCJA0GyhgNBpwMgBCgCACgCXBEIAAALIAAoAgQiBEG2jQMgBUEQakGgjgMQiQNBsoYDQaoDIAQoAgAoAlwRCAAACxDZGgALIAAoAgQiBEG2jQMgBUEQakGtjgMQiQNBsoYDQbMDIAQoAgAoAlwRCAAAC/YRAQZ/IwBBIGsiAyQAIAMgATYCHAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABBEAgAyAAIAEQ1gkiBTYCHAJAAkAgBQRAIAUtAAAiBEEiRg0BIAQNAgsgACgCBCIBQc+OAyADQRBqQe6OAxCJA0GyhgNBzwMgASgCACgCXBEIAAALQQAhBCAFQQFqIgchAQNAIAMgATYCHAJAAkAgAS0AACIGQTBrQf8BcUEKSQ0AIAZBX3FBwQBrQf8BcUEaSQ0AIARBCU1BACAGQf8BcUEkRhsNASAEQQhJDQ0MDAsgBEEJSw0LCyABQQFqIQEgBEEBaiEEDAALAAsCQAJAAkACQAJAAkACQCAEQTBrQf8BcUEKSQRAIAUhAQwBCwJAAkAgBEEraw4EAQABAwALIARB3wFxQcEAa0H/AXFBGUsNDyAFIQEDQCAIIQQgAyABQQFqIgY2AhwgAS0AASIHRQRAIAYgACgCBCIBIAEoAgAoAjARAABBAWtGDQ8gBi0AACEHCyAEQQVNBEAgBEEBaiEIIAYhASAHQV9xQcEAa0H/AXFBGkkNAQsLIARBA2sOAgUGDwsgAyAFQQFqIgE2AhwgBS0AASIEDQAgASAAKAIEIgQgBCgCACgCMBEAAEEBa0YNCCABLQAAIQQLIARBMGtB/wFxQQlNBEADQCADIAFBAWoiBjYCHCABLQABIgRFBEAgBiAAKAIEIgEgASgCACgCMBEAAEEBa0YNCyAGLQAAIQQLIAYhASAEQTBrQf8BcUEKSQ0ACwsgBEH/AXEiAUHlAEYNACABQS5HDQELIAMgACgCBCIBIAUgA0EcaiABKAIAKAJUERUAOQMIIAMoAhwiAS0AAEUEQCABIAAoAgQiBCAEKAIAKAIwEQAAQQFrRg0JCyACQQIgA0EIakF/EJwJDAELIAMgBSADQRxqQQAQzRU2AgggAygCHCIBLQAARQRAIAEgACgCBCIEIAQoAgAoAjARAABBAWtGDQkLIAJBASADQQhqQX8QnAkLIAUgAygCHCIBSQ0OIAAoAgQiAUHPjgMgA0EQakH5jwMQiQNBsoYDQd4EIAEoAgAoAlwRCAAACyAFKAAAQe7qseMGRg0IIAUoAABB9OTVqwZGDQEMCQsgBUHokANBBRD4FA0ICyADIAUtAABB9ABGNgIQIAJBASADQRBqQX8QnAkgAygCHCEBDAsLIAAoAgQiAUHPjgMgA0EQakHajgMQiQNBsoYDQcsDIAEoAgAoAlwRCAAACyAAKAIEIgFBz44DIANBEGpB140DEIkDQbKGA0HHBCABKAIAKAJcEQgAAAsgACgCBCIBQc+OAyADQRBqQdeNAxCJA0GyhgNBzAQgASgCACgCXBEIAAALIAAoAgQiAUHPjgMgA0EQakHXjQMQiQNBsoYDQdEEIAEoAgAoAlwRCAAACyAAKAIEIgFBz44DIANBEGpB140DEIkDQbKGA0HYBCABKAIAKAJcEQgAAAsgACgCBCIBQc+OAyADQRBqQdeNAxCJA0GyhgNB6AQgASgCACgCXBEIAAALIAAoAgQiAUHPjgMgA0EQakG7kAMQiQNBsoYDQe0EIAEoAgAoAlwRCAAACyAAKAIEIgFBz44DIANBEGpB7pADEIkDQbKGA0H3BCABKAIAKAJcEQgAAAsgBykAAEKkxIWb18yNmiRRDQELIAMgBzYCHEEAIQQCQAJAAkACQANAIAchAQNAAkACQAJAAkACQAJAIAEsAAAiBg4jAQQEBAQEBAQEBAMEBAMEBAQEBAQEBAQEBAQEBAQEBAQEBAIACyAGQdwARw0DAkAgASAHayIFQQFIBEAgBCEGDAELIAQgBWoiBkGAIE4NBSAAIARqQQhqIAcgBRCuGxoLIAMgAUEBaiIENgIcIAZB/x9ODQcCQAJAAkACQAJAAkACQAJAIAQsAAAiBUEiaw5UBwUFBQUHBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQcFBQUFBQIFBQUDBQUFBQUFBQYFBQUABQEEBQtBDSEFDAYLQQkhBQwFC0EIIQUMBAtBDCEFDAMLIAAoAgQiAUHPjgMgA0EQakG/jwMQiQNBsoYDQYQEIAEoAgAoAlwRCAAACyAAKAIEIgFBz44DIANBEGpB4I8DEIkDQbKGA0GFBCABKAIAKAJcEQgAAAtBCiEFCyAGQQFqIQQgACAGaiAFOgAIIAMgAUECaiIHNgIcDAYLIAEgB2siAUEBTgRAIAEgBGoiBkGAIE4NCCAAIARqQQhqIAcgARCuGxogBiEECyADIAAoAgQiASABKAIAKAIQEQAAIgc2AhwgBwRAIActAAANBgsgACgCBCIBQc+OAyADQRBqQYWPAxCJA0GyhgNBmAQgASgCACgCXBEIAAALAkAgASAHayIGQQFIBEAgBCEFDAELIAQgBmoiBUGAIE4NCCAAIARqQQhqIAcgBhCuGxoLIAEtAABBIkcNCCADIAFBAWoiATYCHCACQQMgAEEIaiAFEJwJDAoLIAAoAgQiAUHPjgMgA0EQakGFjwMQiQNBsoYDQa4EIAEoAgAoAlwRCAAACyADIAFBAWoiATYCHAwBCwsLIAAoAgQiAUHPjgMgA0EQakGsjwMQiQNBsoYDQfMDIAEoAgAoAlwRCAAACyAAKAIEIgFBz44DIANBEGpBrI8DEIkDQbKGA0H5AyABKAIAKAJcEQgAAAsgACgCBCIBQc+OAyADQRBqQayPAxCJA0GyhgNBkgQgASgCACgCXBEIAAALIAAoAgQiAUHPjgMgA0EQakGsjwMQiQNBsoYDQaMEIAEoAgAoAlwRCAAACyAAKAIEIgFBz44DIANBEGpBhY8DEIkDQbKGA0G6BCABKAIAKAJcEQgAAAsgAyAAKAIEIgEgBUEJakEAIAIgASgCACgCWBELACIBNgIcIAEtAABBIkcNASADIAFBAWoiATYCHAsgA0EgaiQAIAEPCyAAKAIEIgFBz44DIANBEGpBhY8DEIkDQbKGA0HfAyABKAIAKAJcEQgAAAuHAgEGfyABIAAoAggiAiAAKAIEIgNrQQJ1TQRAIAAgAQR/IANBACABQQJ0IgEQrxsgAWoFIAMLNgIEDwsCQCADIAAoAgAiBGsiBkECdSIFIAFqIgdBgICAgARJBEBBACEDIAVBAnQCfyAHIAIgBGsiAkEBdSIFIAUgB0kbQf////8DIAJBAnVB/////wFJGyICBEAgAkGAgICABE8NAyACQQJ0ENUaIQMLIAMLakEAIAFBAnQiARCvGyABaiEBIAMgAkECdGohAiAGQQFOBEAgAyAEIAYQrhsaCyAAIAI2AgggACABNgIEIAAgAzYCACAEBEAgBBCiGwsPCxD8GgALQfWRAxC+AgALOgEBf0EUENUaIgJCADcCBCACIAE2AhAgAkG0kwM2AgwgAkHEkgM2AgAgACACNgIEIAAgAkEMajYCAAs7AQF/QaQgENUaIgJCADcCBCACIAE2AhAgAkH4mQM2AgwgAkGMmQM2AgAgACACNgIEIAAgAkEMajYCAAvwBAEEfyMAQSBrIgYkACAGQQA2AhggBkIANwMQAkACQAJAAkAgBUUNACAFLQAARQ0AIAZBBzoACyAGQQA6AAcgBkH8kwMoAAA2AgAgBkH/kwMoAAA2AAMgBkEQaiAGEOEIIAYsAAtBf0wEQCAGKAIAEKIbCyAFELgbIgdBcE8NAQJAAkAgB0ELTwRAIAdBEGpBcHEiCRDVGiEIIAYgCUGAgICAeHI2AgggBiAINgIAIAYgBzYCBAwBCyAGIAc6AAsgBiEIIAdFDQELIAggBSAHEK4bGgsgByAIakEAOgAAIAYoAhQiBSAGKAIYSQRAIAUgBikDADcCACAFIAYoAgg2AgggBiAFQQxqNgIUDAELIAZBEGogBhDhCCAGLAALQX9KDQAgBigCABCiGwsgASADQQEgBkEQahDgCSAAQQA2AhAgAEIANwIIIABCADcCACADRQ0BIAMQuBsiBUFwTw0AAkACQCAFQQtPBEAgBUEQakFwcSIBENUaIQcgBiABQYCAgIB4cjYCCCAGIAc2AgAgBiAFNgIEDAELIAYgBToACyAGIQcgBUUNAQsgByADIAUQrhsaCyAFIAdqQQA6AAAgACwAC0F/Sg0CIAAoAgAQohsMAgsQ2RoACyAGQQA2AgggBkIANwMACyAAIAYpAwA3AgAgACAGKAIINgIIIAAgBDYCDCAAIAIoAhBBAmo2AhAgBigCECIFBEACfyAFIAUgBigCFCIDRg0AGgNAIANBDGshACADQQFrLAAAQX9MBEAgACgCABCiGwsgACEDIAAgBUcNAAsgBigCEAshACAGIAU2AhQgABCiGwsgBkEgaiQAC9MHAQp/IwBBEGsiByQAIAAoAgQiBCAEKAIAKAIoEQAAIQQgACgCBCIGIAYoAgAoAkQRAAAhCyABBH8gAUEAIAEtAAAbBUEACyEGIAsoAgwhCAJAIAJBfXFBAUcNAAJAIAgQhwkEQCAIEIgJIAZBAEdGDQFBeyAHQYSUAxCJA0HalANB45QDQTEQmAoAC0EVQRQgBhshCAsgCBC3CQ0AIAAoAgQiBCAEKAIAKAI4EQAAIQQLAkACQAJAAkACQAJAAkAgBkUEQEGNlQMhBgwBCyAGLQAAQd8ARw0AIAYtAAFFDQELIAYQuBshBSAEQTw6AAAgAkECRwR/IARBAWoFIAMoAgAgAygCBEcNAiAEQS86AAEgBEECagshBCAGLQAAIgFB3wBHBEAgAUHfAXFBwQBrQf8BcUEaTw0DCyAAKAIEIgEgBCAFIAEoAgAoAiQRBQAhCiAFQQFOBEBBACEEA0ACQCAEIAZqLQAAIgFBMGtB/wFxQQpJDQAgAUHfAXFBwQBrQf8BcUEaSQ0AIAFBLUYNACABQd8ARw0GCyAEIApqIAE6AAAgBEEBaiIEIAVHDQALCyADKAIEIAMoAgAiAWsiBEEMbSIMQQFxDQQgBSAKaiEFAkAgBEEBSA0AQQAhBgNAAn8gASAGQQxsIgpqIgksAAsiBEF/TARAIAkoAgQMAQsgBEH/AXELIQQCfyABIAZBAXJBDGwiDWoiCSwACyIBQX9MBEAgCSgCBAwBCyABQf8BcQshASAERQ0HIAAoAgQiCSAFIAEgBGpBBGogCSgCACgCJBEFACIFQSA6AAAgBUEBaiADKAIAIApqIgUsAAtBf0wEfyAFKAIABSAFCyAEEK4bIARqIgRBvcQAOwAAIARBAmohBCABBEAgBCADKAIAIA1qIgUsAAtBf0wEfyAFKAIABSAFCyABEK4bGgsgASAEaiIEQSI6AAAgBEEBaiEFIAZBAmoiBiAMTg0BIAMoAgAhAQwACwALIAJBA0YEQCAFQS86AAAgBUEBaiEFCyAFQT46AAAgACgCBCIEIAVBAWogBCgCACgCNBECACALIAhBb3E2AgwgB0EQaiQADwtBeyAHQY+VAxCJA0HalANB45QDQcAAEJgKAAtBeyAHQbGVAxCJA0HalANB45QDQccAEJgKAAtBeyAHQd+VAxCJA0HalANB45QDQcwAEJgKAAtBeyAHQYOWAxCJA0HalANB45QDQdMAEJgKAAtBqX4gB0HOlgMQiQNB2pQDQeOUA0HZABCYCgALQal+IAdB3ZYDEIkDQdqUA0HjlANB3wAQmAoAC50BAQN/IwBBEGsiAiQAIAEoAgAhAyABLAALIQQgAkIANwMAIAJBADYCCCAAIAMgASAEQQBIG0ECIAIQ4AkgAigCACIDBEACfyADIAMgAigCBCIARg0AGgNAIABBDGshASAAQQFrLAAAQX9MBEAgASgCABCiGwsgASEAIAEgA0cNAAsgAigCAAshASACIAM2AgQgARCiGwsgAkEQaiQACy4BAX8jAEGAAWsiAyQAIAAgASADIAJBABDoCCAAKAIAKAIcEQQAIANBgAFqJAALxwQBB38jAEGgwAFrIgUkAAJAIAIEQCACELgbIgdBgSBODQECQAJAIAdFIANyIggNACACLQAAQSJHDQAgAiAHakEBay0AAEEiRg0BCyAFQSI6ABAgBUEQakEBciEDIAdBAU4EQANAAkAgAiAGaiwAACIEQQBOQQAgBEEgRxtFBEAgAyAEOgAAQQEhCAwBCwJAIARB/wFxIglBIE8EQCAJQSJrIgpBHEsNAUEBIAp0QbGAgKABcUUNAQsgA0EmOgAAIANBAWohBAJ/AkACQAJAAkACQAJAAkAgCUEiaw4dBAUFBQIDBQUFBQUFBQUFBQUFBQUFBQUFBQUABQEFCyAEQezoATsAAEEDDAYLIARB5+gBOwAAQQMMBQsgBEGhlwMtAAA6AAIgBEGflwMvAAA7AABBBAwECyAEQeHgvZsHNgAADAILIARB8eq9owc2AAAMAQsgBSAJNgIAIARBo5cDIAUQqRULQQULIANqIgNBOzoAAEEBIQgMAQsgAyAEOgAACyADQQFqIQMgBkEBaiIGIAdHDQALCwJAAkAgCEEBcQ0AIAItAAAiBEEwa0H/AXFBCkkNAEEBIQYgBEErayIEQQNLDQEgBEEBRg0BCyADQSI6AAAgA0EBaiEDQQAhBgsgA0EAOgAAIAVBEGogBnIhAgsgACABIAIgACgCACgCHBEEACAFQaDAAWokAA8LQWUgBUEQakHmlgMQiQNB+pYDQeOUA0GhARCYCgALQXsgBUEQakGAlwMQiQNB+pYDQeOUA0GlARCYCgALnQYBBX8jAEEQayIFJAAgACgCBCIDQQAgAygCACgCYBECACAAKAIEIgMgAygCACgCaBEAACEEIAAoAgQhAwJAAkACQCAERQRAIANBASADKAIAKAJkEQIADAELIAMgAygCACgCaBEAAEECRg0BCyACELgbIQYgAQR/IAFBACABLQAAGwVBAAshBwJAAkAgACgCBCIBIAEoAgAoAkQRAAAiASgCDCIDEIgJRQRAIAMQhwkhAyAHRQ0BIAMNAQsgBUEANgIIIAVCADcDACAAIAdBASAFEOAJIAUoAgAiBARAAn8gBCAEIAUoAgQiA0YNABoDQCADQQxrIQEgA0EBaywAAEF/TARAIAEoAgAQohsLIAQgASIDRw0ACyAFKAIACyEBIAUgBDYCBCABEKIbCyAAKAIEIgEgASABKAIAKAIoEQAAIAYgASgCACgCJBEFACACIAYQrhshASAAKAIEIgMgASAGaiADKAIAKAI0EQIAIAVBADYCCCAFQgA3AwAgACAHQQIgBRDgCSAFKAIAIgRFDQECfyAEIAQgBSgCBCIDRg0AGgNAIANBDGshASADQQFrLAAAQX9MBEAgASgCABCiGwsgBCABIgNHDQALIAUoAgALIQEgBSAENgIEIAEQohsMAQsgACgCBCIDIAMoAgAoAigRAAAhAyAAKAIEIgQgBCgCACgCLBEAACEEIAcNAiABQQQ2AgwCQAJAAkAgAyAEayAGaiIHIAAoAgQiBCAEKAIAKAJAEQAASgRAIAcgASgCEGtBCkoNAQsgACgCBCIEIAQoAgAoAiwRAAAgA08NASADQQFrLQAAQT5HDQELIAAoAgQiASABKAIAKAI4EQAAIQMMAQsgAyAAKAIEIgQgBCgCACgCLBEAACABKAIQak0NACADQQFrLQAAQT5GDQAgA0EgOgAAIANBAWohAwsgAyACIAYQrhshASAAKAIEIgMgASAGaiADKAIAKAI0EQIACyAFQRBqJAAPC0F+IAVBqpcDEIkDQc+XA0HjlANB8wEQmAoAC0F7IAVB25cDEIkDQc+XA0HjlANBjAIQmAoAC+kEAQV/IwBBIGsiBiQAIAAoAgQiBCAEKAIAKAJEEQAAIQcCQCABBEAgAUGnmAMQ8xQNASABELgbIQUgAUEKEPwUIQQgACgCBCIDIAMoAgAoAigRAAAhAwJAAkACQCAEDQAgAkUNACAFQQVqIAAoAgQiAiACKAIAKAIwEQAAIANrTA0BCyAAKAIEIgMgAygCACgCOBEAACEDDAELIAMgACgCBCICIAIoAgAoAiwRAAAgBygCEGpNDQAgA0EgOgAAIANBAWohAwsCfyAERQRAIAAoAgQiAiADIAVBCWogAigCACgCJBEFACEDIAYgATYCACADQdyYAyAGEKkVIAMQuBsMAQsgA0HsmAMtAAA6AAQgA0HomAMoAAA2AABBBAshBSAAKAIEIgIgAyAFaiACKAIAKAI0EQIAIAAoAgQiAyADKAIAKAI4EQAAIQMgBARAA0ACfyAEBEAgACgCBCIFIAMgBCABayICQQFqIgcgBSgCACgCJBEFACABIAcQrhsgAmohAyAEQQFqIgFBChD8FAwBCyABELgbIQQgACgCBCIFIAMgBCAFKAIAKAIkEQUAIAEgBBCuGyAEaiEDQQAhAUEACyEEIAAoAgQiBSADIAUoAgAoAjQRAgAgACgCBCIDIAMoAgAoAjgRAAAhAyABDQALIANBrdr4ATYAACAAKAIEIgEgA0EDaiABKAIAKAI0EQIAIAAoAgQiASABKAIAKAI4EQAAGgsgBkEgaiQADwtBZSAGQRBqQY2YAxCJA0GamANB45QDQaYCEJgKAAtBeyAGQRBqQaqYAxCJA0GamANB45QDQakCEJgKAAsYACAAKAIEIgBB7ZgDIAAoAgAoAgwRAgALzQcBCH8jAEHgAGsiAiQAAkACQAJAAkACQAJAIAAoAgQEQCACQQA2AlggAkIANwNQIAJBADYCSCACQgA3A0AgAkEANgI4IAJCADcDMCACQQA2AiwgACABQQIQ6AkiAUUNASABQcCaA0EFEPgUDQIgACABIAJB0ABqIAJBMGogAkEsahDpCSEBIAJBIGogACgCBCIDIAMoAgAoAggRAAAQtAkhBwJAIAFFDQAgAkEIaiEIA0AgAS0AAEUNASAAIAFBABDoCSIBRQ0FIAEtAAAEQCAAIAEgAkHQAGogAkEwaiACQSxqEOkJIQQgAigCLEEBRw0HIAIoAlQgAi0AWyIBIAFBGHRBGHVBAEgbQQ5HDQcgAkHQAGpB8JoDQQ4Q7RoNByAAKAIEIQEgCEEANgIAIAJCADcDACACQRBqIAEgByACQQVBAEF/IAEoAgAoAkwREAAgAiwAC0F/TARAIAIoAgAQohsLIAAgACAEIAJBEGoQ6gkgAkFAayACQTBqIAJBLGoQ6QkhCSACKAIsQQJHDQkgAigCVCACLQBbIgQgBEEYdEEYdUEASCIDGyIFIAIoAkQgAi0ASyIBIAFBGHRBGHVBAEgiARtHDQkgAigCQCACQUBrIAEbIQEgAigCUCEGAkAgA0UEQCAFRQ0BIAJB0ABqIQMgAS0AACAGQf8BcUcNCwNAIARBAWsiBEUNAiABLQABIQUgAUEBaiEBIAUgA0EBaiIDLQAARg0ACwwLCyAFRQ0AIAYgAkHQAGogAxsgASAFEPgUDQoLQQEhBCAAIAlBABDoCSEBCyABDQALCyAAKAIEIgEgASgCACgCFBEAAEUNBSACLAA7QX9MBEAgAigCMBCiGwsgAiwAS0F/TARAIAIoAkAQohsLIAIsAFtBf0wEQCACKAJQEKIbCyACQeAAaiQAIARBAXEPC0GpfiACQdAAakGkmgMQiQNBrJoDQeOUA0GlBhCYCgALIAAoAgQiAUGsmgMgAkEgakGymgMQiQNB45QDQa4GIAEoAgAoAlwRCAAACyAAKAIEIgFBrJoDIAJBIGpBxpoDEIkDQeOUA0GxBiABKAIAKAJcEQgAAAsgACgCBCIBQayaAyACQRBqQbKaAxCJA0HjlANBugYgASgCACgCXBEIAAALIAAoAgQiAUGsmgMgAkEQakH/mgMQiQNB45QDQcAGIAEoAgAoAlwRCAAAC0GpfiACQRBqQcCbAxCJA0GsmgNB45QDQcoGEJgKAAsgACgCBCIBQayaAyACQZ+bAxCJA0HjlANBxQYgASgCACgCXBEIAAALiQQBBX8jAEEQayIGJAACQAJAIAEEQANAAkAgAUEBayEDAkACfwJAAkACQAJAIAJBAWsOAwACAQILIAEtAAAiBEEfTQRAQQEhAiAEQQlHDQULA0AgASEFAkAgBEEtRw0AIAMtAAJBLUcNACADLQADQT5GDQQLQQEhAiAFQQFqIQEgBSIDLQABIgRBH0sNACAEQQlGDQALDAQLA0AgAy0AASEEIANBAWohAyAHIARBPEZqIARBPkZrIgdBAEgNBSAEQR9LDQAgBEEJRg0AC0EDIQIgAwwCCwNAIAMiBUEBaiEDIAUtAAEiBEEJRg0AIARBIEYNAAsgBEE8RgRAIAUtAAJBIUcNBCAFLQADQS1HDQQgBS0ABEEtRw0EIAINB0EBIQIgBUEFagwCCyAEQR9NDQIMAwtBACECIANBBGoLIgEtAAAiBEEfSw0CCyAEQQ1LDQRBASAEdEGByABxRQ0EIAAoAgQiAyADKAIAKAIQEQAAIgFFBEBBACEDDAELIAEiAy0AAA0BCwsgBkEQaiQAIAMPCyAAKAIEIgNBypsDIAZBspoDEIkDQeOUA0H2AiADKAIAKAJcEQgAAAsgACgCBCIDQcqbAyAGQdWbAxCJA0HjlANBnwMgAygCACgCXBEIAAALIAAoAgQiA0HKmwMgBkHzmwMQiQNB45QDQaoDIAMoAgAoAlwRCAAAC84PAQV/IwBBIGsiBSQAIAEEQAJAIAEtAAAiBkE8RwRAIAZFDQEgACgCBCIBQZOcAyAFQRBqQcucAxCJA0HjlANBpQUgASgCACgCXBEIAAALIAFBAWohCAJAIAEtAAEiBkUEQCAIIAAoAgQiBiAGKAIAKAIwEQAAQQFrRg0BIAgtAAAhBgsCQAJAAkACQAJAAkAgBkEwa0H/AXFBCkkNACAGQV9xQcEAa0H/AXFBGkkNAAJAIAZB/wFxIgZBL2sOEQUEBAQEBAQEBAQEBAQEBAQCAAsgBkEhRg0CIAZB3wBHDQMLIARBATYCAAwECyAEQQQ2AgAgAUECaiEIDAMLIARBBTYCACABQQJqIQggAS0AAkEtRw0CIAEtAANBLUcNAkGpfiAFQRBqQZidAxCJA0GTnANB45QDQbkFEJgKAAsgACgCBCIBQZOcAyAFQRBqQbedAxCJA0HjlANBvQUgASgCACgCXBEIAAALIARBAjYCACABQQJqIQgLAkAgAiwAC0F/TARAIAIoAgBBADoAACACQQA2AgQMAQsgAkEAOgALIAJBADoAAAsCQCADLAALQX9MBEAgAygCAEEAOgAAIANBADYCBAwBCyADQQA6AAsgA0EAOgAACwJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAgtAAAiAUHfAEcEQCABQd8BcUHBAGtB/wFxQRpPDQELIAhBAWshAQNAIAEtAAEiB0HfAXFBwQBrIQkgAUEBaiIGIQEgB0Ewa0H/AXFBCkkNACAGIQEgCUH/AXFBGkkNACAHQS1GDQAgB0HfAEYNAAsgBiAIayIBQXBPDQECQAJAIAFBC08EQCABQRBqQXBxIgkQ1RohByAFIAlBgICAgHhyNgIYIAUgBzYCECAFIAE2AhQMAQsgBSABOgAbIAVBEGohByABRQ0BCyAHIAggARCuGxoLIAEgB2pBADoAACAGLQAARQRAIAYgACgCBCIBIAEoAgAoAjARAABBAWtGDQMLAkAgAigCBCACLQALIgEgAUEYdEEYdUEASBtFBEAgAiAFQRBqEN8aDAELIAQoAgBBAkYNBCAGLQAAQT1HBEAgACAGQQIQ6AkiBkUNBiAGLQAAQT1HDQcLIAZBAWohAQJAAkAgBi0AASIJQSJrDgYBAAAAAAEACwJAIAAgAUECEOgJIgEtAAAiCUEiaw4GAQAAAAABAAsgACgCBCIBQZOcAyAFQd+eAxCJA0HjlANB5QUgASgCACgCXBEIAAALIAFBAWoiCCEBAkADQCABQQFqIQYgAS0AACIHIAlGDQEgBiEBIAcNAAsgACgCBCIBQZOcAyAFQZqfAxCJA0HjlANB8AUgASgCACgCXBEIAAALIAUoAhQgBS0AGyIHIAdBGHRBGHVBAEgbQQdHDQAgBUEQakH8kwNBBxDtGg0AIAMoAgQgAy0ACyIHIAdBGHRBGHVBAEgbDQcgASAIayIBQXBPDQgCQAJAIAFBC08EQCABQRBqQXBxIgkQ1RohByAFIAlBgICAgHhyNgIIIAUgBzYCACAFIAE2AgQMAQsgBSABOgALIAUhByABRQ0BCyAHIAggARCuGxoLIAEgB2pBADoAACADLAALQX9MBEAgAygCABCiGwsgAyAFKQMANwIAIAMgBSgCCDYCCAsgBi0AACIHQT5GBEAgBiEIDA0LIAAgBkECEOgJIghFDQgCQAJAAkAgCC0AAEEvaw4RAQICAgICAgICAgICAgICDwACCyAEKAIAQQRHDQEgCC0AAUE+Rw0LDA0LIAgtAAFBPkcNACAEKAIAQQFHDQAgBEEDNgIADAwLQQEhASAHQQlrQQVJDQ0gB0UNDSAHQSBHDQoMDQsgACgCBCIBQZOcAyAFQRBqQcidAxCJA0HjlANBxgUgASgCACgCXBEIAAALENkaAAsgACgCBCIBQZOcAyAFQeWcAxCJA0HjlANBzgUgASgCACgCXBEIAAALIAAoAgQiAUGTnAMgBUH2nQMQiQNB45QDQdUFIAEoAgAoAlwRCAAACyAAKAIEIgFBk5wDIAVBpJ4DEIkDQeOUA0HbBSABKAIAKAJcEQgAAAsgACgCBCIBQZOcAyAFQbaeAxCJA0HjlANB3QUgASgCACgCXBEIAAALQal+IAVBsZ8DEIkDQZOcA0HjlANB9QUQmAoACxDZGgALIAAoAgQiAUGTnAMgBUGymgMQiQNB45QDQYMGIAEoAgAoAlwRCAAACyAAKAIEIgFBk5wDIAVBw58DEIkDQeOUA0GRBiABKAIAKAJcEQgAAAsgACgCBCIBQZOcAyAFQeWfAxCJA0HjlANBnQYgASgCACgCXBEIAAALIAhBAmohCEEAIQEMAQsgBCgCAEEERg0CIAhBAWohCEEAIQELIAUsABtBf0wEQCAFKAIQEKIbCyABDQALIAVBIGokACAIDwsgACgCBCIBQZOcAyAFQcOfAxCJA0HjlANBigYgASgCACgCXBEIAAALIAAoAgQiAUGTnAMgBUEQakHlnAMQiQNB45QDQagFIAEoAgAoAlwRCAAACyAAKAIEIgFBk5wDIAVBEGpBrpwDEIkDQeOUA0GiBSABKAIAKAJcEQgAAAsgACgCBCIBQZOcAyAFQRBqQZycAxCJA0HjlANBnwUgASgCACgCXBEIAAAL/hcBEH8jAEHgAGsiBCQAAkAgAQRAIARB0ABqELMJIQogAhCYCSENIARBADYCSCAEQgA3A0AgBEEANgI4IARCADcDMCAEQQA2AiggBEIANwMgIABBCGohDiAAQQRqIQYgDUEDRiERIA1BBUshD0EBIQUDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AACIDDj0BAgICAgICAgIBAQEBAQICAgICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgtBPCEDIAEtAAEiB0EhRw0CQSEhByABLQACQS1HDQILIAAgAUEAEOgJIgFFDQMgAS0AACEDQQEhBQsgAS0AASEHIANB/wFxIglBPEYNACAJDQELIARBADYCACAHQf8BcUEvRg0MIANB/wFxRQ0MIAAgASAEQUBrIARBIGogBBDpCSEBIAQoAgAiA0EBRwRAAkACQAJAIANBA2sOAwECAAILIAYoAgAiA0GOoAMgBEEQakGZoAMQiQNB45QDQe4DIAMoAgAoAlwRCAAACyAGKAIAIgNBjqADIARBEGpBvaADEIkDQeOUA0HwAyADKAIAKAJcEQgAAAtBqX4gBEEQakHaoAMQiQNBjqADQeOUA0HyAxCYCgALIAQsACsiBUF/TARAIAQoAiQEQCAEKAIgIQMMCAsgBEEQaiAGKAIAIgMgAiAEQUBrQQBBAEF/IAMoAgAoAkwREAAgCiAEQRBqEK0JDAgLIARBIGohAyAFDQYgBEEQaiAGKAIAIgMgAiAEQUBrQQBBAEF/IAMoAgAoAkwREAAgCiAEQRBqEK0JDAcLIAVBAXFFDQEgAiEMIAIQmAkEQCAGKAIAIgVBBCACIAUoAgAoAkgRBAAgBigCACEFIARBADYCCCAEQgA3AwAgBEEQaiAFIAIgBEEAQQBBfyAFKAIAKAJMERAAIAogBEEQahCtCSAELAALQX9MBEAgBCgCABCiGwsgCiEMCyARDQMCQCADQTBrQf8BcUEKSQ0AAkACQCAJQStrDgQABgABBgsgB0H/AXFBLkYNASAHQTBrQf8BcUEKSQ0BDAULIAdBMGtB/wFxQQpJDQAgB0FfcUHBAGtB/wFxQRlLDQQLIAEgCUErRiAJQS1GcmohAwNAIAQgAzYCHCADLQAAIQUgA0EBaiEDIAVBMGtB/wFxQQpJDQALAkAgBUHlAEdBACAFQS5HG0UEQCAEIAYoAgAiAyABIARBHGogAygCACgCVBEVADkDECAMQQIgBEEQakF/EJwJDAELIAQgASAEQRxqQQAQzRU2AhAgDEEBIARBEGpBfxCcCQsgBCgCHCIIIAFGDQIgCC0AAA0EIAggBigCACIDIAMoAgAoAjARAABBAWtHDQQgBigCACIDQY6gAyAEQRBqQeWcAxCJA0HjlANBtwQgAygCACgCXBEIAAALIAYoAgAiA0GOoAMgBEEQakGymgMQiQNB45QDQdwDIAMoAgAoAlwRCAAACyAGKAIAIgNBjqADIARBEGpBo6EDEIkDQeOUA0GXBCADKAIAKAJcEQgAAAsgBigCACIDQY6gAyAEQRBqQcqhAxCJA0HjlANBtAQgAygCACgCXBEIAAALQQAhByAOQQA6AAAgASABQQFrIAlBIkYiEhshASAJQSJHIRACQAJAAkACQAJAA0AgAUEBaiEIAkAgAS0AASIDDQAgCCAGKAIAIgUgBSgCACgCMBEAAEEBa0cNACAGKAIAIgNBjqADIARBEGpB5ZwDEIkDQeOUA0HGBCADKAIAKAJcEQgAAAsCQAJAIANBMGtB/wFxQQpJDQAgA0HfAXFBwQBrQf8BcUEaSQ0AIANBIkYEQCASRQ0CIAFBAmohCAwICwJAAkACQCADQSBJDQAgA0E8Rg0AIANBIEYgEHENCiADQSZrDhkCAQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMBAwsgEA0JIAYoAgAiA0GOoAMgBEEQakHBogMQiQNB45QDQdQEIAMoAgAoAlwRCAAACyAGKAIAIgNBjqADIARBEGpB16IDEIkDQeOUA0HZBCADKAIAKAJcEQgAAAsgAUECaiILIQMgAS0AAkEjRgRAAkAgAUEEaiABQQNqIAEtAANB+ABGIgMbIARBHGpBEEEKIAMbEM0VIgNB/wFLDQAgBCgCHCIIRQ0AIAgtAABBO0YNAgsgBigCACIDQY6gAyAEQRBqQYqjAxCJA0HjlANB6QQgAygCACgCXBEIAAALA0AgBCADQQFqIgE2AhwgAy0AASIFQV9xQcEAayEJIAEhAyAFQTBrQf8BcUEKSQ0AIAlB/wFxQRpJDQALIAVB/wFxQTtHDQMCQAJAAkACQCABIAtrIgNBAmsOAwABAgMLIAsvAABB7OgBRgRAQTwhAyABIQgMBAsgCy8AAEHn6AFHDQJBPiEDIAEhCAwDCyALQZ+XA0EDEPgUDQFBJiEDIAEhCAwCCyALKAAAQeHgvZsHRgRAQSchAyABIQgMAgsgCygAAEHx6r2jB0cNAEEiIQMgASEIDAELIANBAmoiAyAHaiIFQYAgTg0EIAAgB2pBCGogCCADEK4bGkE7IQMgAS0AAARAIAUhByABIQgMAQsgBSEHIAEhCCABIAYoAgAiBSAFKAIAKAIwEQAAQQFrRg0FCyAHQf8fTg0FIAAgB2ogAzoACCAHQQFqIQcgCCEBDAELCyAGKAIAIgNBjqADIARBEGpBjKIDEIkDQeOUA0HNBCADKAIAKAJcEQgAAAsgBigCACIDQY6gAyAEQRBqQa6jAxCJA0HjlANB8gQgAygCACgCXBEIAAALIAYoAgAiA0GOoAMgBEEQakHaowMQiQNB45QDQYEFIAMoAgAoAlwRCAAACyAGKAIAIgNBjqADIARBEGpB5ZwDEIkDQeOUA0GHBSADKAIAKAJcEQgAAAsgBigCACIDQY6gAyAEQRBqQe2jAxCJA0HjlANBiwUgAygCACgCXBEIAAALIAxBAyAOIAcQnAkLQQEhBUECIQMCQCAPDQBBASANdEExcUUNAEEAIQNBACEFCyAPDQQgCCEBQQEgDXRBMXENAwwFCwJAAkAgA0H5oAMQ/xQEQCADQf2gAxD/FEUNASADQYGhAxD/FEUNAiADQYWhAxD/FCEDIARBEGogBigCACIFIAIgBEFAa0EAQQBBfyAFKAIAKAJMERAAIAogBEEQahCtCSADDQMgACAAKAIEIgMgAUEAIAogAygCACgCWBELAEEAEOgJIgMNBCAGKAIAIgNBjqADIARBEGpBspoDEIkDQeOUA0GMBCADKAIAKAJcEQgAAAsgBEEQaiAGKAIAIgMgAiAEQUBrQQNBAEF/IAMoAgAoAkwREAAgCiAEQRBqEK0JDAILIARBEGogBigCACIDIAIgBEFAa0EFQQBBfyADKAIAKAJMERAAIAogBEEQahCtCQwBCyAEQRBqIAYoAgAiAyACIARBQGtBBEEAQX8gAygCACgCTBEQACAKIARBEGoQrQkLIAAgASAKEOoJIQMLIAAgAyAEQTBqIARBIGogBBDpCSEIIAQoAgBBAkcNBiAEKAI0IAQtADsiASABQRh0QRh1QQBIIgkbIgUgBCgCRCAELQBLIgMgA0EYdEEYdUEASCIDG0cNBiAEKAJAIARBQGsgAxshAyAEKAIwIQcCQCAJRQRAIAVFDQEgBEEwaiEFIAMtAAAgB0H/AXFHDQgDQCABQQFrIgFFDQIgAy0AASEJIANBAWohAyAJIAVBAWoiBS0AAEYNAAsMCAsgBUUNACAHIARBMGogCRsgAyAFEPgUDQcLQQEhBQtBACEDCyAIIQELIANFDQELCyAGKAIAIgMgAiADKAIAKAJQEQIAIAQsACtBf0wEQCAEKAIgEKIbCyAELAA7QX9MBEAgBCgCMBCiGwsgBCwAS0F/TARAIAQoAkAQohsLIARB4ABqJAAgAQ8LIAAoAgQiA0GOoAMgBEHQAGpBspoDEIkDQeOUA0HKAyADKAIAKAJcEQgAAAsgBigCACIDQY6gAyAEQRBqQYyhAxCJA0HjlANBkQQgAygCACgCXBEIAAALsAEBAX8jAEEQayIFJAAgBCAAIAFBAhDoCSIBNgIAIAMgATYCAEEAIQICQAJAIAFFDQAgAS0AACIDRQ0AIANBPEYNAAJAIANBIEkEQCABIQIMAQsDQCABLQABIQMgAUEBaiICIQEgA0EfSw0ACwsgA0UNASAEIAI2AgBBASECCyAFQRBqJAAgAg8LIAAoAgQiAUGFpAMgBUGanwMQiQNB45QDQcEDIAEoAgAoAlwRCAAACzoBAX9BFBDVGiICQgA3AgQgAiABNgIQIAJBjKUDNgIMIAJBnKQDNgIAIAAgAjYCBCAAIAJBDGo2AgALOwEBf0GUKBDVGiICQgA3AgQgAiABNgIQIAJB9KoDNgIMIAJBhKoDNgIAIAAgAjYCBCAAIAJBDGo2AgAL9gIBAn8jAEGgKGsiBiQAIAUEfyAFQQAgBS0AABsFQQALIQcgBEEPcSIEQRByIgUQhwkEQCABIAMCfwJAIAcEQCAHQdimA0EGEPgUDQEgBkHmpgMoAAA2ACcgBkHfpgMpAAA3AyBBBCEFIAZBIGoMAgtBACAFEIUJRQ0BGiAFEIgJIQUgBkEAOgAhIAZB+wBB2wAgBRs6ACAgBEEYciEFIAZBIGoMAQsgBRCFCQRAIAUQiAkhBSAGIAc2AgAgBkH7AEHbACAFGzYCBCAGQSBqQeqmAyAGEKkVIARBGHIhBSAGQSBqDAELIAYgBzYCECAGQSBqQfKmAyAGQRBqEKkVIAZBIGoLIAEoAgAoAhwRBAAgAEEANgIIIABCADcCACACKAIQIQcgACAFNgIMIAAgBzYCECACKAIMEIUJRQRAIABBBEEDIAUQhQkbIAdqNgIQCyAGQaAoaiQADwtBeyAGQSBqQdSlAxCJA0GdpgNBrqYDQSUQmAoAC8UBAQN/IAEoAgwiAxCFCQRAAkAgACgCBCICIAIoAgAoAigRAAAiAiAAKAIEIgQgBCgCACgCLBEAACABKAIQak0NACADELcJDQAgAkEgOgAAIAJBAWohAgsgAkH9AEHdACADEIgJGzoAACAAKAIEIgAgAkEBaiAAKAIAKAI0EQIADwsgAxC3CQRAIAAoAgQiASABKAIAKAI4EQAAIgFB+/oBQdu6ASADEIgJGzsAACAAKAIEIgAgAUECaiAAKAIAKAI0EQIACwuiBQEHfyMAQaCAAWsiBSQAAkAgAgRAIAIQuBsiB0GBIE4NAQJAAn9BASAHRQ0AGkEBIAMNABoCQCACLQAAIgMgAiAHakEBay0AAEcNACADQSJrDgYCAAAAAAIACyADQSBGCyEIIAVBIjoAECAFQRBqQQFyIQQgB0EBTgRAA0AgAiAGai0AACIDQTBrIQoCQCAIBEAgA0HfAXFBwQBrIQkMAQsgA0HfAXFBwQBrIQlBACEIIApB/wFxQQpJDQAgCUH/AXFBGkkNAAJAIANBIGsOQAEAAAAAAAAAAQEAAQABAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAC0EBIQgLAn8CQCAKQf8BcUEKSQ0AIAlB/wFxQRpJDQAgA0EgTwRAAkACQCADQSJrDgYBAwMDAwEACyADQdwARw0CCyAEIAM6AAEgBEHcADoAACAEQQJqDAILIARB3AA6AAACQAJAAkACQCADQQlrDgUCAAMDAQMLIARB7gA6AAEgBEECagwECyAEQfIAOgABIARBAmoMAwsgBEH0ADoAASAEQQJqDAILIAUgAzYCACAEQQFqQbCnAyAFEKkVIARBBGoMAQsgBCADOgAAIARBAWoLIQQgBkEBaiIGIAdHDQALCwJAAkAgCA0AIAItAAAiBkEwa0H/AXFBCkkNAEEBIQMgBkErayIGQQNLDQEgBkEBRg0BCyAEQSI6AAAgBEEBaiEEQQAhAwsgBEEAOgAAIAVBEGogA3IhAgsgACABIAIgACgCACgCHBEEACAFQaCAAWokAA8LQWUgBUEQakH3pgMQiQNBi6cDQa6mA0H7ABCYCgALQXsgBUEQakGRpwMQiQNBi6cDQa6mA0H/ABCYCgALuwcBCH8jAEEQayIFJAAgACgCBCIDQQAgAygCACgCYBECACAAKAIEIgMgAygCACgCaBEAACEEIAAoAgQhAwJAAkACQAJAAkACQCAERQRAIANBASADKAIAKAJkEQIADAELIAMgAygCACgCaBEAAEECRg0BCyAAKAIEIgMgAygCACgCRBEAACIKKAIMIQYgAQR/IAFBACABLQAAGwVBAAshBAJAIAYQhwkEQCAGEIgJIARBAEdGDQFBeyAFQeenAxCJA0HbpwNBrqYDQcoBEJgKAAsgACgCBCIBIAEoAgAoAjwRAQBBFUEUIAQbIQYLIAQEQCAEELgbIgdFDQIgB0GBIE4NAwsgAgRAIAIQuBshCQsgBhCFCSEBIAAoAgQiAygCACEIAkAgAQRAIAMgCCgCKBEAACEBIAYQtwlFBEAgAUEsOgAAIAFBAWohAQsCQCAHIAlqIAFqIAAoAgQiAyADKAIAKAIsEQAAayIIIAAoAgQiAyADKAIAKAJAEQAATA0AIAggCigCEGtBC0gNACAAKAIEIgMgASADKAIAKAI0EQIAIAAoAgQiASABKAIAKAI4EQAAIQEMAgsgAUEgOgAAIAFBAWohAQwBCyADIAgoAjgRAAAhASAGEIgJDQAgAUEtOgAAIAJFBEAgAUEBaiEBDAELIAFBIDoAASABQQJqIQELAkAgBEUNACAELQAAIgNB3wBHBEAgA0HfAXFBwQBrQf8BcUEaTw0FCyAAKAIEIgMgASAHIAMoAgAoAiQRBQAhCCAHQQFOBEBBACEBA0AgASAIaiABIARqLQAAIgM6AAACQCADQTBrQf8BcUEKSQ0AIANB3wFxQcEAa0H/AXFBGkkNAAJAIANBIGsODgEJCQkJCQkJCQkJCQkBAAsgA0HfAEcNCAsgAUEBaiIBIAdHDQALCyAHIAhqIgFBOjoAACABQQFqIQEgBhCFCSEDIAJFDQAgAw0AIAFBIDoAACABQQFqIQELIAIEQCAAKAIEIgMgASAJIAMoAgAoAiQRBQAgAiAJEK4bIAlqIQELIAAoAgQiAyABIAMoAgAoAjQRAgAgCiAKKAIMQW9xNgIMIAVBEGokAA8LQX4gBUG2pwMQiQNB26cDQa6mA0G4ARCYCgALQXsgBUG9qAMQiQNB26cDQa6mA0HWARCYCgALQXsgBUHRqAMQiQNB26cDQa6mA0HZARCYCgALQXsgBUHlqAMQiQNB26cDQa6mA0H7ARCYCgALQXsgBUGHqQMQiQNB26cDQa6mA0GFAhCYCgALgQMBBH8jAEEQayIGJAAgAQRAIAEQuBshBSABQQoQ/BQhBCAAKAIEIgMgAygCACgCKBEAACEDAn8CQAJAIAQNACACRQ0AIAAoAgQiAiACKAIAKAIwEQAAIANrIAVIDQAgACgCBCICIAIoAgAoAiwRAAAgA0cNAQsgACgCBCIDIAMoAgAoAjgRAAAMAQsgA0EgOgAAIANBAWoLIQMDQCADQaPAADsAACADQQJqIQMCfyAEBEAgACgCBCICIAMgBCABayIFQQFqIgMgAigCACgCJBEFACABIAMQrhshASAAKAIEIgMgASAFaiADKAIAKAI0EQIAIARBAWoiAUEKEPwUDAELIAAoAgQiAiADIAEQuBsiBCACKAIAKAIkEQUAIAEgBBCuGyEBIAAoAgQiAyABIARqIAMoAgAoAjQRAgBBACEBQQALIQQgACgCBCIDIAMoAgAoAjgRAAAhAyABDQALIAZBEGokAA8LQWUgBkHYqQMQiQNB5akDQa6mA0GcAhCYCgALMAEBfyAAKAIEIgFB8qkDIAEoAgAoAgwRAgAgACgCBCIAQfepAyAAKAIAKAIMEQIAC/AFAQZ/IwBBMGsiAiQAIAEEQCACQSBqIAAoAgQiAyADKAIAKAIIEQAAELQJIQZBASEEAkACQCAAIAFBABD1CSIBRQ0AIAJBCGohB0EBIQUDQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAAAiA0Elaw4JAAQEBAQEBAQBAwsCQCABQbirA0EFEPgUDQAgASkAAEKlsoXqxMnOmC5RDQAgASkAAEKlsoXqxInImC5SDQcLIAFBADoAAAwBCyABQeirA0EDEPgURQRAIAFBA2ohAQwFCyAEDQQLIAAgAUEAEPUJIgENBwwICyADRQ0BCwJAAkAgA0HfAEYNACADQTBrQf8BcUEKSQ0AIANB3wFxQcEAa0H/AXFBGUsNAQsgBA0CIAAoAgQiAUGkqwMgAkEQakHsqwMQiQNBrqYDQbIGIAEoAgAoAlwRCAAACyAAKAIEIgMgAygCACgCFBEAAA0BIAAoAgQiAUGkqwMgAkEQakGprAMQiQNBrqYDQbgGIAEoAgAoAlwRCAAACyAEQQFzIQULIAAgAUEAEPUJIgFFDQUgAS0AAEUNBSABQcesA0EDEPgUBEAgACgCBCEDIAdBADYCACACQgA3AwAgAkEQaiADIAYgAkEAQQBBfyADKAIAKAJMERAAIAIsAAtBf0wEQCACKAIAEKIbCyAAIAEgAkEQakEAQQAQ9gkhASACQRBqEJ8JRQRAIAJBEGoQnQlFDQMLIAAgAUEAEPUJIgFFDQYLIAAoAgQiAyADKAIAKAIUEQAARQ0CDAULIAAoAgQiAUGkqwMgAkEQakG+qwMQiQNBrqYDQaIGIAEoAgAoAlwRCAAACyAAKAIEIgFBpKsDIAJBy6wDEIkDQa6mA0HGBiABKAIAKAJcEQgAAAtBACEEIAAgAUEDakEAEPUJIgENAAsLIARBAXMhBQsgAkEwaiQAIAVBAXEPCyAAKAIEIgFBpKsDIAJBIGpBqqsDEIkDQa6mA0GKBiABKAIAKAJcEQgAAAu+AwECfyMAQRBrIgQkACABBEACQANAAkACQAJAIAEtAAAiA0EjRwRAIANBIEcNASABQQFqIQEMBAsgASAAKAIEIgMgAygCACgCLBEAAGtB/////wdKDQEgAUEAOgAADAMLIANBIE8EQCABIAAoAgQiAyADKAIAKAIsEQAAayACTg0BIAAoAgQiAUGJrQMgBEGUrQMQiQNBrqYDQecCIAEoAgAoAlwRCAAACyADQQ1LDQNBASADdEGByABxRQ0DIAAoAgQiASABKAIAKAIQEQAAIgENASAAKAIEIgEgASgCACgCLBEAACIBQa7cuAE2AAAgACgCBCIDIAMoAgAoAhgRAQALIARBEGokACABDwsCQCABELgbIAFqQQFrLQAAQQprDgQBAAABAAsgACgCBCIDIAMoAgAoAhQRAAANAAsgACgCBCIBQYmtAyAEQaqtAxCJA0GupgNB+gIgASgCACgCXBEIAAALIAAoAgQiAUGJrQMgBEHXrQNB9K0DIANBCUYbEIkDQa6mA0H+AiABKAIAKAJcEQgAAAsgACgCBCIBQYmtAyAEQaqrAxCJA0GupgNB2AIgASgCACgCXBEIAAAL9RkBCX8jAEEwayIHJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACfwJAAkACQCABBEAgB0EANgIcIAEtAAEhBkEAIAEtAAAiCEEhRw0EGgJ/IAZB3gBHBEBBACAGQSFHDQEaCyABQQFqIQFBAQshCQJAIAZBPEcEQCABIQgMAQsgAUEBaiIIIQUDQCAFLQABIgZBIEkNASAGQSBGDQEgBUEBaiEFIAZBPkcNAAsgBSAIa0EUSQ0AIAhBka4DQRMQ+BQNACAFQSA6AAAgAUETaiEIQQEhCQsgCCEFA0AgByAFQQFqIgE2AhwgBS0AASEGIAEhBSAGQSBLDQALIAEgCEEBaiIIayIFRQ0BIAFBADoAAEEDIQoCfyAJIAVBA0dyRQRAQQAgCEG1rgNBAxD4FEUNARogCEG5rgNBAxD4FEUEQEEBIQtBASENQQAhBUEBIQoMBgtBASELIAhBva4DQQMQ+BRFBEBBBCEKQQAMAgtBAEEFIAhBwa4DQQMQ+BQbIQpBAAwBCyAJIAVBBUdyRQRAQQEhCyAIQcWuA0EFEPgURSIFQQF0IQoMBQtBASELIAVBBkcNAyAJRQ0DIAhB2KYDQQYQ+BQNAyAHKAIcIAY6AAAgBygCHCEGA0AgByAGIgVBAWoiBjYCHCAFLQABQSBGDQALIAcgBUECajYCHCAFLQACIQYgBUEAOgACQQQhCkEBIQxBAAshDUEAIQUMAwsgACgCBCIFQYauAyAHQSBqQaqrAxCJA0GupgNBvQMgBSgCACgCXBEIAAALIAAoAgQiBUGGrgMgB0EgakGlrgMQiQNBrqYDQekDIAUoAgAoAlwRCAAAC0EAIQVBACEKCyAHKAIcIAY6AAAgACAHKAIcIAMQ9QkiAUUNDSABLQAAIQggCUUEQAJAIAsNAEEDIQsgCEEiaw4GAA4ODg4ADgsgDQ0DIAUNAgsgDA0OIAoLIQsCQCAIQTBrQf8BcUEKSQ0AQd0AIQxBACEFAkACQCAIQSJrDjoHDAwMDAYMDAwADAABDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwWCwsgBkH/AXFBLkYNASAGQTBrQf8BcUEKSQ0BDAsLIAZBMGtB/wFxQQpJDQAgBkFfcUHBAGtB/wFxQRlLDQsLIAEgCEEtRiAIQStGcmohBQNAIAcgBTYCHCAFLQAAIQYgBUEBaiEFIAZBMGtB/wFxQQpJDQALIAZB5QBGDQAgBkEuRw0BCyAHIAAoAgQiBSABIAdBHGogBSgCACgCVBEVADkDICACQQIgB0EgakF/EJwJDAELIAcgASAHQRxqQQAQzRU2AiAgAkEBIAdBIGpBfxCcCQsgBygCHCIGRQ0LIAEgBkYNCyAGLQAADREgBiAAKAIEIgUgBSgCACgCMBEAAEEBa0cNESAAKAIEIgVBhq4DIAdBIGpBja8DEIkDQa6mA0HCBCAFKAIAKAJcEQgAAAsCQANAAkAgASIJQQFqIQECQCAJLQABIgZBMGtB/wFxQQpJDQAgBkFfcUHBAGtB/wFxQRpJDQAgBkH/AXEiCEEnR0EAIAhBH0sbDQAgCEEnRw0DIAlBAmohAUEnIQYgCS0AAkEnRw0BCyAAIAVqIAY6AAggBUEBaiIFQYAgRw0BDAQLCyABDAQLIAAoAgQiBUGGrgMgB0EgakH0rQMQiQNBrqYDQdQEIAUoAgAoAlwRCAAACwNAAn8CQAJAAkACQAJAIAEtAAEiBkEwa0H/AXFBCkkNACAGQd8BcUHBAGtB/wFxQRpJDQAgBkHcAEYNASAGQSJGDQggBkEgSQ0CCyAAIAVqIAY6AAggBUEBaiEFIAFBAWoMBAsgAUECaiEJIAEtAAIiBkEYdEEYdSEIAkACQAJAAkACQAJAIAZB3ABrDhkBBQUFBQUFBQUFBQUFBQUFBQUCBQUFAwUEAAsgBkEiaw4GAAQEBAQGBAsgACAFaiAIOgAIIAVBAWohBQwGCyAAIAVqQQo6AAggBUEBaiEFDAULIAAgBWpBDToACCAFQQFqIQUMBAsgACAFakEJOgAIIAVBAWohBQwDC0EIIQYgCEH4AEYiBEUEQCAIQTdKDQNBECEGIAhBMGtB/wFxQQlLDQMLIAEtAAUhCCABQQA6AAUgBCAJaiIEIAdBHGogBhDNFSEGIAEgCDoABSAAIAVqQfgAIAYgBygCHCIBIARGIggbOgAIIAVBAWohBSAJIAEgCBsMAwsgACgCBCIFQYauAyAHQSBqQfStAxCJA0GupgNB/wQgBSgCACgCXBEIAAALIAAgBWpBJzoACCAFQQFqIQULIAkLIQEgBUGAIEgNAAsLIAAoAgQiBUGGrgMgB0EgakHArwMQiQNBrqYDQYMFIAUoAgAoAlwRCAAACyABQQJqCyEGIAJBAyAAQQhqIAUQnAkMDAsgCEH7AEYNCQsgCEEtRw0AIAQNAEEEIQVBACEEDAcLIAQNAAJAAkAgCEE+aw4CBwABCyAAKAIEIgVBhq4DIAdBIGpBkbADEIkDQa6mA0HBBSAFKAIAKAJcEQgAAAsgCEH8AEYNBQsgByABNgIcIAEtAAAiCUEgSQ0DIAtBA0YhCCABIQYDQAJAIAYhBQJAIAQEQCAJQf8BcSIGQSxGBEAgBSEGDAMLIAZB3QBGBEAgBSEGDAMLIAZB/QBHDQEgBSEGDAILIAgNACAJQf8BcUE6Rw0AQTohCQwBCyAHIAVBAWoiBjYCHCAFLQABIglBH0sNAQsLIAEgBkYNAyAGIQUCQCAJQf8BcUE6Rw0AIAQNAEEFIQVBASEEDAYLA0AgASAFIgBBAWsiBUkEQCAFLQAAQSBGDQELCyACQQMgASAAIAFrEJwJDAgLIAAoAgQiBUGGrgMgB0EgakGqqwMQiQNBrqYDQZYEIAUoAgAoAlwRCAAACyAAKAIEIgUgBSgCACgCLBEAACEFIAAoAgQiBiABIAEgBWsgAiAGKAIAKAJYEQsAIQYMBgsgACgCBCIFQYauAyAHQSBqQcuuAxCJA0GupgNBvwQgBSgCACgCXBEIAAALIAAoAgQiBUGGrgMgB0EgakH0rQMQiQNBrqYDQc8FIAUoAgAoAlwRCAAACyAAKAIEIgVBhq4DIAdBIGpBsLADEIkDQa6mA0HDBSAFKAIAKAJcEQgAAAsgACgCBCIGIAUgAiAGKAIAKAJIEQQAIAEiBiAAKAIEIgUgBSgCACgCLBEAAGsiCEEBaiEBIAdBCGohAwJAA0AgB0EgahCzCSEFAkAgCCAAIAAgAAJ/IAQEQCAAIAYgAiAFEPgJDAELIAYtAABBLUcNAyAAKAIEIQkgA0EANgIAIAdCADcDACAHQRBqIAkgAiAHQQBBAEF/IAkoAgAoAkwREAAgBSAHQRBqEK0JIAcsAAtBf0wEQCAHKAIAEKIbCyAGQQFqCyABEPUJIAUgAUEAEPYJQQAQ9QkiBiAAKAIEIgUgBSgCACgCLBEAAGtHBEAgBiAAKAIEIgUgBSgCACgCLBEAAGsgCEgNASAAKAIEIgVBhq4DIAdBEGpBlK0DEIkDQa6mA0H8BSAFKAIAKAJcEQgAAAsgBkHHrANBAxD4FA0BCwsgACgCBCIFIAIgBSgCACgCUBECAAwDCyAAKAIEIgVBhq4DIAdBEGpB27ADEIkDQa6mA0HwBSAFKAIAKAJcEQgAAAtB/QAhDAsgACgCBCIFQQVBBCAIQfsARhsgAiAFKAIAKAJIEQQAIAdBIGoQswkhCQJAAkACQAJAIAAgAUEBaiAEQQFzIANqIgUQ9QkiBgRAIAhB+wBHIQQgB0EIaiEDQQAhAQNAIAYtAAAiCEEgckH9AEYEQCAIIAxHDQMgBkEBaiEGDAYLIAEEQCAIQSxHDQQgACAGQQFqIAUQ9QkiBkUNBQsCQCAERQRAIAAgACAGIAIgCRD4CSAFEPUJIQYMAQsgBi0AAEHdAEYNBiAAKAIEIQggA0EANgIAIAdCADcDACAHQRBqIAggAiAHQQBBAEF/IAgoAgAoAkwREAAgCSAHQRBqEK0JIAcsAAtBf0oNACAHKAIAEKIbCyAAIAYgCSAFQQEQ9gkhBiAJELMJGiABQQFqIQEgACAGIAUQ9QkiBg0ACwsgACgCBCIFQYauAyAHQRBqQaqrAxCJA0GupgNBlgUgBSgCACgCXBEIAAALIAAoAgQiBUGGrgMgB0EQakHYrwMQiQNBrqYDQZoFIAUoAgAoAlwRCAAACyAAKAIEIgVBhq4DIAdBEGpB8q8DEIkDQa6mA0GiBSAFKAIAKAJcEQgAAAsgACgCBCIFQYauAyAHQRBqQaqrAxCJA0GupgNBpQUgBSgCACgCXBEIAAALIAAoAgQiBSACIAUoAgAoAlARAgALIAdBMGokACAGC9YBAQJ/IwBBEGsiBiQAAkAgAQRAIAQgACABQQAQ9QkiATYCACADIAE2AgACQCABRQ0AIAEtAABFDQAgASAAKAIEIgMgAygCACgCLBEAAGsgAkcNAANAIAEiBUEBaiEBIAUtAAAiA0EfSw0ACyADRQ0CIAQgBTYCAEEBIQULIAZBEGokACAFDwsgACgCBCIBQcqxAyAGQaqrAxCJA0GupgNBhwMgASgCACgCXBEIAAALIAAoAgQiAUHKsQMgBkHXsQMQiQNBrqYDQZQDIAEoAgAoAlwRCAAAC90DAQV/IwBBIGsiBSQAAkACQAJAAkAgAQRAIAEtAABBLUYNASABQQFrIQQDQAJAIAQiCEEBaiEEIAgtAAEiBkEgSQ0AIAZBOkcNAQsLIAZBOkcNAgNAIAQiBkEBayIELQAAQSBGDQALIAEgBkYNAyAGIAFrIgRBcE8NBCAAKAIEIQACQAJAIARBC08EQCAEQRBqQXBxIgcQ1RohBiAFIAdBgICAgHhyNgIIIAUgBjYCACAFIAQ2AgQgBSEHDAELIAUgBDoACyAFIgchBiAERQ0BCyAGIAEgBBCuGxoLIAQgBmpBADoAACAFQRBqIAAgAiAFQQBBAEF/IAAoAgAoAkwREAAgAyAFQRBqEK0JIAcsAAtBf0wEQCAFKAIAEKIbCyAFQSBqJAAgCEECag8LIAAoAgQiBEGNsQMgBUEQakGqqwMQiQNBrqYDQZ4DIAQoAgAoAlwRCAAACyAAKAIEIgRBjbEDIAVBEGpBlrEDEIkDQa6mA0GkAyAEKAIAKAJcEQgAAAsgACgCBCIEQY2xAyAFQRBqQbGxAxCJA0GupgNBqgMgBCgCACgCXBEIAAALIAAoAgQiBEGNsQMgBUEQakG9sQMQiQNBrqYDQbIDIAQoAgAoAlwRCAAACxDZGgAL9gEBAX8jAEHQAGsiAiQAAkAgABDMB0GAgARGBEAgAkEYaiAAKAIEEK0GGgwBCyACQRhqIAAQyQcLIAFFBEAQmQohAQsCQAJAAkAgAigCHCIAQQFIBEBBACEADAELIAIoAkQgAEECdGpBBGsoAgAiAEEhTw0BC0Kh3fv3DyAArYhCAYNQRQ0BIAJBGGogAUQAAAAAAADwPyAAQQJ0QaCyA2ooAgARFAAgAkEYahCxBhogAkHQAGokAA8LQal+IAJBCGpBpLMDEIkDQbmzA0HusQNB6wUQmAoAC0GpfiACQQhqQY2yAxCJA0G5swNB7rEDQe0FEJgKAAv5AgIMfwF+IwBBEGsiCSQAIAAQrwYhBgJAIAAtAAFBwABxBEAgBkUNASAAKAIQIQMDQCABIAEpAwAiD0L/////D4NCisb9wQ9+IA9CIIh8Ig83AwAgAyAPpyAGcGoiBC0AACEHIAQgAyAFaiIELQAAOgAAIAQgBzoAACAFQQFqIgUgBkcNAAsMAQsgACgCBEEDSARAIAAoAggiCkEBSA0BIAAoAjAhCyAAKAIMIQUgACgCECIMIQMDQCAFQQBKBEAgAyAAKAIsKAIAIAhsaiENQQAhAwNAIAEgASkDACIPQv////8Pg0KKxv3BD34gD0IgiHwiDzcDACADIA1qIgQtAAAhByAEIAwgD6cgBnAiBCAFbiIOIAtsaiAEIAUgDmxraiIELQAAOgAAIAQgBzoAACADQQFqIgMgBUcNAAsLIAhBAWoiCCAKRg0CIAAoAhAhAwwACwALQal+IAlBxbMDEIkDQdSzA0HusQNBuQUQmAoACyAJQRBqJAALiwMCDX8BfiMAQRBrIggkACAAEK8GIQUCQAJAIAAtAAFBwABxBEAgBUUNASAAKAIQIQQgASkDACEQQQAhAANAIAQgEEL/////D4NCisb9wQ9+IBBCIIh8IhCnIAVwQQF0aiIDLwEAIQYgAyAEIABBAXRqIgMvAQA7AQAgAyAGOwEAIABBAWoiACAFRw0ACyABIBA3AwAMAQsgACgCBEEDTg0BIAAoAggiCkEBSA0AIAAoAjAhCyAAKAIQIQkgACgCLCgCACEMIAAoAgwiBEEBSCENA0AgDUUEQCAJIAcgDGxqIQ4gASkDACEQQQAhAANAIA4gAEEBdGoiAy8BACEGIAMgCSAQQv////8Pg0KKxv3BD34gEEIgiHwiEKcgBXAiAyAEbiIPIAtsaiADIAQgD2xrQQF0aiIDLwEAOwEAIAMgBjsBACAAQQFqIgAgBEcNAAsgASAQNwMACyAHQQFqIgcgCkcNAAsLIAhBEGokAA8LQal+IAhBxbMDEIkDQdSzA0HusQNBuQUQmAoAC8kDAg5/AX4jAEEQayIMJAAgABCvBiEIAkAgAC0AAUHAAHEEQCAIRQ0BIAAoAhAhBQNAIAEgASkDACIRQv////8Pg0KKxv3BD34gEUIgiHwiETcDACAFIBGnIAhwQQNsaiIDLwAAIQkgAyAFIARBA2xqIgYvAAA7AAAgA0ECaiIDLQAAIQcgAyAGQQJqIgotAAA6AAAgCiAHOgAAIAYgCTsAACAEQQFqIgQgCEcNAAsMAQsgACgCBEEDSARAIAAoAggiDUEBSA0BIAAoAjAhDiAAKAIMIQQgACgCECIPIQMDQCAEQQBKBEAgAyAAKAIsKAIAIAtsaiEQQQAhAwNAIAEgASkDACIRQv////8Pg0KKxv3BD34gEUIgiHwiETcDACAQIANBA2xqIgYvAAAhCSAGIA8gEacgCHAiBSAEbiIHIA5saiAFIAQgB2xrQQNsaiIFLwAAOwAAIAZBAmoiBi0AACEHIAYgBUECaiIKLQAAOgAAIAogBzoAACAFIAk7AAAgA0EBaiIDIARHDQALCyALQQFqIgsgDUYNAiAAKAIQIQMMAAsAC0GpfiAMQcWzAxCJA0HUswNB7rEDQbkFEJgKAAsgDEEQaiQAC4sDAg1/AX4jAEEQayIIJAAgABCvBiEFAkACQCAALQABQcAAcQRAIAVFDQEgACgCECEEIAEpAwAhEEEAIQADQCAEIBBC/////w+DQorG/cEPfiAQQiCIfCIQpyAFcEECdGoiAygCACEGIAMgBCAAQQJ0aiIDKAIANgIAIAMgBjYCACAAQQFqIgAgBUcNAAsgASAQNwMADAELIAAoAgRBA04NASAAKAIIIgpBAUgNACAAKAIwIQsgACgCECEJIAAoAiwoAgAhDCAAKAIMIgRBAUghDQNAIA1FBEAgCSAHIAxsaiEOIAEpAwAhEEEAIQADQCAOIABBAnRqIgMoAgAhBiADIAkgEEL/////D4NCisb9wQ9+IBBCIIh8IhCnIAVwIgMgBG4iDyALbGogAyAEIA9sa0ECdGoiAygCADYCACADIAY2AgAgAEEBaiIAIARHDQALIAEgEDcDAAsgB0EBaiIHIApHDQALCyAIQRBqJAAPC0GpfiAIQcWzAxCJA0HUswNB7rEDQbkFEJgKAAvJAwIOfwF+IwBBEGsiDCQAIAAQrwYhCAJAIAAtAAFBwABxBEAgCEUNASAAKAIQIQUDQCABIAEpAwAiEUL/////D4NCisb9wQ9+IBFCIIh8IhE3AwAgBSARpyAIcEEGbGoiAygBACEJIAMgBSAEQQZsaiIGKAEANgEAIANBBGoiAy8BACEHIAMgBkEEaiIKLwEAOwEAIAogBzsBACAGIAk2AQAgBEEBaiIEIAhHDQALDAELIAAoAgRBA0gEQCAAKAIIIg1BAUgNASAAKAIwIQ4gACgCDCEEIAAoAhAiDyEDA0AgBEEASgRAIAMgACgCLCgCACALbGohEEEAIQMDQCABIAEpAwAiEUL/////D4NCisb9wQ9+IBFCIIh8IhE3AwAgECADQQZsaiIGKAEAIQkgBiAPIBGnIAhwIgUgBG4iByAObGogBSAEIAdsa0EGbGoiBSgBADYBACAGQQRqIgYvAQAhByAGIAVBBGoiCi8BADsBACAKIAc7AQAgBSAJNgEAIANBAWoiAyAERw0ACwsgC0EBaiILIA1GDQIgACgCECEDDAALAAtBqX4gDEHFswMQiQNB1LMDQe6xA0G5BRCYCgALIAxBEGokAAuFAwILfwJ+IwBBEGsiCCQAIAAQrwYhBgJAIAAtAAFBwABxBEAgBkUNASAAKAIQIQMDQCABIAEpAwAiDkL/////D4NCisb9wQ9+IA5CIIh8Ig43AwAgAyAOpyAGcEEDdGoiBCkCACEOIAQgAyAFQQN0aiIEKQIANwIAIAQgDjcCACAFQQFqIgUgBkcNAAsMAQsgACgCBEEDSARAIAAoAggiCUEBSA0BIAAoAjAhCiAAKAIMIQUgACgCECILIQMDQCAFQQBKBEAgAyAAKAIsKAIAIAdsaiEMQQAhAwNAIAEgASkDACIOQv////8Pg0KKxv3BD34gDkIgiHwiDjcDACAMIANBA3RqIgQpAgAhDyAEIAsgDqcgBnAiBCAFbiINIApsaiAEIAUgDWxrQQN0aiIEKQIANwIAIAQgDzcCACADQQFqIgMgBUcNAAsLIAdBAWoiByAJRg0CIAAoAhAhAwwACwALQal+IAhBxbMDEIkDQdSzA0HusQNBuQUQmAoACyAIQRBqJAALyQMCDX8CfiMAQRBrIgskACAAEK8GIQgCQCAALQABQcAAcQRAIAhFDQEgACgCECEFA0AgASABKQMAIhBC/////w+DQorG/cEPfiAQQiCIfCIQNwMAIAUgEKcgCHBBDGxqIgMpAgAhECADIAUgBEEMbGoiBikCADcCACADQQhqIgMoAgAhByADIAZBCGoiCSgCADYCACAJIAc2AgAgBiAQNwIAIARBAWoiBCAIRw0ACwwBCyAAKAIEQQNIBEAgACgCCCIMQQFIDQEgACgCMCENIAAoAgwhBCAAKAIQIg4hAwNAIARBAEoEQCADIAAoAiwoAgAgCmxqIQ9BACEDA0AgASABKQMAIhBC/////w+DQorG/cEPfiAQQiCIfCIQNwMAIA8gA0EMbGoiBikCACERIAYgDiAQpyAIcCIFIARuIgcgDWxqIAUgBCAHbGtBDGxqIgUpAgA3AgAgBkEIaiIGKAIAIQcgBiAFQQhqIgkoAgA2AgAgCSAHNgIAIAUgETcCACADQQFqIgMgBEcNAAsLIApBAWoiCiAMRg0CIAAoAhAhAwwACwALQal+IAtBxbMDEIkDQdSzA0HusQNBuQUQmAoACyALQRBqJAALyQMCDH8CfiMAQRBrIgokACAAEK8GIQgCQCAALQABQcAAcQRAIAhFDQEgACgCECEFA0AgASABKQMAIg9C/////w+DQorG/cEPfiAPQiCIfCIPNwMAIAUgD6cgCHBBBHRqIgMpAgAhDyADIAUgBEEEdGoiBikCADcCACADQQhqIgMpAgAhECADIAZBCGoiBykCADcCACAHIBA3AgAgBiAPNwIAIARBAWoiBCAIRw0ACwwBCyAAKAIEQQNIBEAgACgCCCILQQFIDQEgACgCMCEMIAAoAgwhBCAAKAIQIg0hAwNAIARBAEoEQCADIAAoAiwoAgAgCWxqIQ5BACEDA0AgASABKQMAIg9C/////w+DQorG/cEPfiAPQiCIfCIPNwMAIA4gA0EEdGoiBikCACEQIAYgDSAPpyAIcCIFIARuIgcgDGxqIAUgBCAHbGtBBHRqIgUpAgA3AgAgBkEIaiIGKQIAIQ8gBiAFQQhqIgcpAgA3AgAgByAPNwIAIAUgEDcCACADQQFqIgMgBEcNAAsLIAlBAWoiCSALRg0CIAAoAhAhAwwACwALQal+IApBxbMDEIkDQdSzA0HusQNBuQUQmAoACyAKQRBqJAALjQQCDX8DfiMAQRBrIgskACAAEK8GIQgCQCAALQABQcAAcQRAIAhFDQEgACgCECEHA0AgASABKQMAIhBC/////w+DQorG/cEPfiAQQiCIfCIQNwMAIAcgEKcgCHBBGGxqIgMpAgAhECADIAcgBkEYbGoiBCkCADcCACADQRBqIgUpAgAhESAFIARBEGoiCSkCADcCACADQQhqIgMpAgAhEiADIARBCGoiBSkCADcCACAJIBE3AgAgBSASNwIAIAQgEDcCACAGQQFqIgYgCEcNAAsMAQsgACgCBEEDSARAIAAoAggiDEEBSA0BIAAoAjAhDSAAKAIMIQYgACgCECIOIQMDQCAGQQBKBEAgAyAAKAIsKAIAIApsaiEPQQAhBwNAIAEgASkDACIQQv////8Pg0KKxv3BD34gEEIgiHwiEDcDACAPIAdBGGxqIgMpAgAhESADIA4gEKcgCHAiBCAGbiIFIA1saiAEIAUgBmxrQRhsaiIEKQIANwIAIANBEGoiBSkCACEQIAUgBEEQaiIJKQIANwIAIANBCGoiAykCACESIAMgBEEIaiIFKQIANwIAIAkgEDcCACAFIBI3AgAgBCARNwIAIAdBAWoiByAGRw0ACwsgCkEBaiIKIAxGDQIgACgCECEDDAALAAtBqX4gC0HFswMQiQNB1LMDQe6xA0G5BRCYCgALIAtBEGokAAvRBAIOfwR+IwBBEGsiDCQAIAAQrwYhCAJAIAAtAAFBwABxBEAgCEUNASAAKAIQIQcDQCABIAEpAwAiEUL/////D4NCisb9wQ9+IBFCIIh8IhE3AwAgByARpyAIcEEFdGoiAykCACERIAMgByAGQQV0aiIFKQIANwIAIANBGGoiBCkCACESIAQgBUEYaiIJKQIANwIAIANBEGoiBCkCACETIAQgBUEQaiIKKQIANwIAIANBCGoiAykCACEUIAMgBUEIaiIEKQIANwIAIAkgEjcCACAKIBM3AgAgBCAUNwIAIAUgETcCACAGQQFqIgYgCEcNAAsMAQsgACgCBEEDSARAIAAoAggiDUEBSA0BIAAoAjAhDiAAKAIMIQYgACgCECIPIQMDQCAGQQBKBEAgAyAAKAIsKAIAIAtsaiEQQQAhBwNAIAEgASkDACIRQv////8Pg0KKxv3BD34gEUIgiHwiETcDACAQIAdBBXRqIgMpAgAhEiADIA8gEacgCHAiBSAGbiIEIA5saiAFIAQgBmxrQQV0aiIFKQIANwIAIANBGGoiBCkCACERIAQgBUEYaiIJKQIANwIAIANBEGoiBCkCACETIAQgBUEQaiIKKQIANwIAIANBCGoiAykCACEUIAMgBUEIaiIEKQIANwIAIAkgETcCACAKIBM3AgAgBCAUNwIAIAUgEjcCACAHQQFqIgcgBkcNAAsLIAtBAWoiCyANRg0CIAAoAhAhAwwACwALQal+IAxBxbMDEIkDQdSzA0HusQNBuQUQmAoACyAMQRBqJAAL3AEBA38gAkEESAR/QQAFIAJBBGshBQNAIAQgASADai0AACAAIANqLQAAc0HgzwJqLQAAaiABIANBAXIiBGotAAAgACAEai0AAHNB4M8Cai0AAGogASADQQJyIgRqLQAAIAAgBGotAABzQeDPAmotAABqIAEgA0EDciIEai0AACAAIARqLQAAc0HgzwJqLQAAaiEEIANBBGoiAyAFTA0ACyACQXxxCyIDIAJIBEADQCAEIAEgA2otAAAgACADai0AAHNB4M8Cai0AAGohBCADQQFqIgMgAkcNAAsLIAQLqQEBA38gAUEESAR/QQAFIAFBBGshBANAIAAgAkEDcmotAABB4M8Cai0AACAAIAJBAnJqLQAAQeDPAmotAAAgACACQQFyai0AAEHgzwJqLQAAIAMgACACai0AAEHgzwJqLQAAampqaiEDIAJBBGoiAiAETA0ACyABQXxxCyICIAFIBEADQCADIAAgAmotAABB4M8Cai0AAGohAyACQQFqIgIgAUcNAAsLIAML0wgBCn8CQAJAAkAgAUUEQAJAAkACQCAEQQRvIgFBAWsOAwABAgYLIAIoAgAhByADQQRIBEAgACEFDAULIANBBGshCCAEQQJ0IQkgBEEDbCELIARBAXQhCiAAIQUDQCAFIAtqLQAAIAUgCmotAAAgBCAFai0AACAHIAUtAABqampqIQcgBSAJaiEFIAZBBGoiBiAITA0ACwwDCyACKAIEIQcgAigCACEIIANBAU4EQCAAIQUDQCAHIAUtAAFqIQcgCCAFLQAAaiEIIAQgBWohBSAGQQFqIgYgA0cNAAsgAyEGCyACIAc2AgQgAiAINgIADAQLIAIoAgghByACKAIEIQggAigCACEJIANBAU4EQCAAIQUDQCAHIAUtAAJqIQcgCCAFLQABaiEIIAkgBS0AAGohCSAEIAVqIQUgBkEBaiIGIANHDQALIAMhBgsgAiAHNgIIIAIgCDYCBCACIAk2AgAMAwsCQAJAAkACQCAEQQFrDgMBAAIACyADQQFODQJBAA8LIAIoAgAhBiADQQFOBEADQCABIAVqLQAABEAgB0EBaiEHIAYgACAFai0AAGohBgsgBUEBaiIFIANHDQALCyACIAY2AgAgBw8LIAIoAgghBiACKAIEIQcgAigCACEI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KAIAIAFB6ABqIAItAAsiBEEYdEEYdUEASCIFGyACKAIEIAQgBRsQzAMaIAIsAAtBf0wEQCACKAIAEKIbCwJ/IAMsAAsiAkF/TARAIAAoAhghAiAAKAIUDAELIAJB/wFxIQIgAwshBCACIARqQQFrLQAAQQpHBEAgAUHoAGogBiABKAKAAUEMaygCAGoQphYgAUHoAGpBvJgLELkXIgJBCiACKAIAKAIcEQMAIQIgAUHoAGoQtBcgBiACENQWIAYQpRYLIAFB6ABqIAkQ0QMgAywAC0F/TARAIAMoAgAQohsLIAMgASkDaDcCACADIAEoAnA2AgggAUH8yAE2ArgBIAFB1MgBNgJ4IAFBlMsBNgKEASABQejIATYCgAEgASwArwFBf0wEQCABKAKkARCiGwsgChCIFhogAUG4AWoQhBYaCwJAAn8gACwAKyICQX9MBEAgACgCJAwBCyACQf8BcQsEQCAAQSBqIQIgCEF/RwRAIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAK0F/TARAIAIoAgAhAgsgASADLAALQX9MBH8gAygCAAUgAws2AlggASACNgJUIAEgBjYCUCABIAc2AkwgASAFNgJIIAEgBDYCRCABQfC0AzYCQCABQfgAakG7tAMgAUFAaxCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAILIABBLGohBCAALAA3QX9MBEAgBCgCACEECyAAKAI4IQUgACgCECIHEJMKIQYgACwAH0F/TARAIAMoAgAhAwsgASACLAALQX9MBH8gAigCAAUgAgs2AjggASADNgI0IAEgBjYCMCABIAc2AiwgASAFNgIoIAEgBDYCJCABQfC0AzYCICABQfgAakH6tAMgAUEgahCUCiAAQQRqIQIgACwAD0F/TARAIAIoAgAQohsLIAIgASkDeDcCACACIAEoAoABNgIIDAELIABBLGohAiAALAA3QX9MBEAgAigCACECCyAAKAI4IQQgACgCECIFEJMKIQcgASAALAAfQX9MBH8gAygCAAUgAws2AhQgASAHNgIQIAFB17UDQda1AyAIQX9GGzYCGCABIAU2AgwgASAENgIIIAEgAjYCBCABQfC0AzYCACABQfgAakGwtQMg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IAdB24IEEIkDQf2CBEG5ggRB+QMQmAoAC0GpfiAHQYWDBBCJA0H9ggRBuYIEQZQEEJgKAAtBrX4gB0GMgwQQiQNB/YIEQbmCBEGeBBCYCgALsAIBBX8gACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYIgI2AhggASgCHCEDIAAgAEEoaiIENgIkIAAgAEEIajYCICAAIAM2AhwgBEIANwIAIAIEQCACIAIoAghBAWo2AggLIAEoAgRBAkwEQCAAKAIkIgIgASgCJCIBKAIANgIAIAIgASgCBDYCBCAADwtBACECIABBADYCBCAAIAEoAgRBAEEAQQAQzAogACgCBEEBTgRAIAAoAiQhAyABKAIkIQQgACgCICEFIAEoAiAhBgNAIAUgAkECdCIBaiABIAZqKAIANgIAIAEgA2ogASAEaigCADYCACACQQFqIgIgACgCBEgNAAsLIAALuQMBBn8gACABRwRAIAEoAhgiAgRAIAIgAigCCEEBajYCCAsCQCAAKAIYIgJFDQAgAiACKAIIIgNBAWs2AgggA0EBRw0AIAAoAhghAiAAQQA2AhggAigCBCIDIAIgAygCACgCEBECAAsCQAJAAkAgACgCBEEATARAIABBADYCGCAAIAEoAgA2AgAMAQsgACgCICEDQQAhAgNAIAMgAkECdGpBADYCACACQQFqIgIgACgCBCIESA0ACyAAQQA2AhggACABKAIANgIAIARBA0gNACABKAIEIQIMAQsgASgCBCICQQJKDQAgACACNgIEIAAgASgCCDYCCCAAIAEoAgw2AgwgACgCJCICIAEoAiQiAygCADYCACACIAMoAgQ2AgQMAQtBACEDIAAgAkEAQQBBABDMCiAAKAIEQQFIDQAgACgCJCEEIAEoAiQhBSAAKAIgIQYgASgCICEHA0AgBiADQQJ0IgJqIAIgB2ooAgA2AgAgAiAEaiACIAVqKAIANgIAIANBAWoiAyAAKAIESA0ACwsgACABKAIQNgIQIAAgASgCFDYCFCAAIAEoAhg2AhggACABKAIcNgIcCwuFAQECfwJAIAAoAhgiAUUNACABIAEoAggiAkEBazYCCCACQQFHDQAgACgCGCEBIABBADYCGCABKAIEIgIgASACKAIAKAIQ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ASADKAIYNgIYIANBCGogARDwCiABQQxqIQYgASgCDCIFBEACfyAFIAUgASgCECIERg0AGgNAIARBDGshAiAEQQFrLAAAQX9MBEAgAigCABCiGwsgAiEEIAIgBUcNAAsgBigCAAshAiABIAU2AhAgAhCiGwsgASADKAIINgIMIAEgAygCDDYCECABIAMoAhA2AhQgACAGIAFBHGoiAhDxCiADLQAcBEAgACABKAIYIAIQ8goLIAEoAhgiBCAAKAIEIAAoAgAiAmtBDG1JBEAgASACIARBDGxqNgIoIAEtACwEQCAAIAEQ8woLIANBIGokAA8LENoaAAv1AQEBfyAAKAKIASICIAEQ3xogAhDgCiACKAJEIAIoAkhGGgJAIAAoAogBIgEoAkQgASgCSEcNACAAKAKIARDjCiEBIAAoAhwgASgCDDYCBCAAKAKIARDlCiICKAIAIgEgAigCBCICRwRAA0AgACABIAEoAgxBAhDtCiABQRRqIgEgAkcNAAsLIAAoAogBQThqIgIoAgAiASACKAIEIgJHBEADQCAAIAEgASgCDEEDEO0KIAFBFGoiASACRw0ACwsgACgCiAEQ5AoiAigCACIBIAIoAgQiAkYNAANAIAAgASABKAIMEO4KIAFBFGoiASACRw0ACwsL8QEBAn8jAEEwayIEJAAgABDTGiAEQQhqIAEQ2xohASAEQQA2AiggBEIANwMgIARBAToAHCAEQgA3AhQgBCAAQSBqIgUgARD2CiIBNgIUIAEgACgCMCAAKAIsIgBrQQN1SQRAIAQgACABQQN0aiIBNgIYAkACfyAELQAcBEAgBSAEQQhqEPcKIAQoAhghAQsgAyABKAIERgsEQCABKAIAIAJGDQELIAEgAjYCACABIAM2AgQgBEEIahD4CgsgBCgCICIBBEAgBCABNgIkIAEQohsLIAQsABNBf0wEQCAEKAIIEKIbCyAEQTBqJAAPCxDaGgALsQIBAX8jAEFAaiIDJAAgABDTGiADIAEQ2xoaIANBADYCOCADQgA3AhQgA0IANwIcIANCADcCJCADQQA6ACwgA0IANwMwIANCADcCDCAAQSBqIAMQ6woCQCADKAIoIgEoAghBAUYEQCABKAIEIAJGDQELIAEgAjYCBCABQQE2AgggASgCACIBRQ0AIAEgAjYCBAsgAygCMCIBBEAgAyABNgI0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ESAtayIBNgJAIAggCTYCPCAIIAI2AjggCCABNgI0IAhBACAJayILNgIwIBUgEWshGCAgQQFqISkgIyASIB9saiEUQQAhHQNAIBsgCyASaiITIBdsaiEFICMgEyAfbGohCQJAIBwEQCABIAJKDQFBACALayEQA0ACQCABIAVqIgstAAAEQCABIQsMAQsgBiAJIAFBAnRqKAIAIA5rIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhAwJAIAUgAUEBayILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIDQQFrIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCwJAIAUgAUEBaiILaiIMLQAADQAgCSALQQJ0aigCACAOayIHIAZIDQAgByAKSg0AA0AgDCAAOgAAIAUgCyIBQQFqIgtqIgwtAAANASAJIAtBAnRqKAIAIA5rIgcgBkgNASAHIApMDQALCyANIBA7AQogDSAVOwEIIA0gETsBBiANIAE7AQQgDSADOwECIA0gEzsBACANQQxqIg0gGUcNAAJAIAgoAsQCIgwgCCgCwAIiAWtBDG0iDUEDbEEBdiIHIA1LBEAgCEHAAmogByANaxCGCyAIKALEAiEMIAgoAsACIQEMAQsgByANTw0AIAggASAHQQxsaiIMNgLEAgsgASAZIB5rQQxtQQxsaiENIAwhGSABIR4LIAtBAWohASACIAtKDQALDAELICRFBEAgASACSg0BQQAgC2shGgNAAkAgASAFaiILLQAABEAgASELDAELIAYgCSABQQJ0IgxqKAIAIAwgFGooAgBrIgxKBEAgASELDAELIAogDEgEQCABIQsMAQsgCyAAOgAAIAEhDAJAIAUgAUEBayILaiIHLQAADQADQCAJIAtBAnRqKAIAIAkgDEECdGooAgBrIgMgBkgNASADIApKDQEgByAAOgAAIAshDCAFIAtBAWsiC2oiBy0AAEUNAAsLAkAgBSABQQFqIgtqIgctAAANAANAAkAgBiAJIAtBAnQiEGooAgAiDyAJIAFBAnRqKAIAayIDTEEAIAMgCkwbDQAgBiAPIBAgFGooAgBrIgNKDQIgASAVTg0CIAMgCkwNAAwCCyAHIAA6AAAgBSALIgFB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IgRFDQAgBC0ADA0AIARBDGohBAwCCwJAIAEgAygCAEYEQCADIQQMAQsgAyADKAIEIgQoAgAiATYCBCAEIAEEfyABIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAQ2AgAgBCADNgIAIAMgBDYCCCAEKAIIIQILIARBAToADCACQQA6AAwgAiACKAIAIgMoAgQiBDYCACAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCA8LAkAgBEUNACAELQAMDQAgBEEMaiEEDAELAkAgASADKAIARwRAIAMhAQwBCyADIAEoAgQiBDYCACABIAQEfyAEIAM2AgggAygCCAUgAgs2AgggAygCCCICIAIoAgAgA0dBAnRqIAE2AgAgASADNgIEIAMgATYCCCABKAIIIQILIAFBAToADCACQQA6AAwgAiACKAIEIgMoAgAiBDYCBCAEBEAgBCACNgIICyADIAIoAgg2AgggAigCCCIEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIAIAIgAzYCCAwCCyADQQE6AAwgAiAAIAJGOgAMIARBAToAACACIQEgACACRw0ACwsLSgEBf0EgENUaIgFCADcCBCABQpCAgIAQNwIYIAFChICAgIABNwIQIAFB7JIENgIAIAFB4JMENgIMIAAgATYCBCAAIAFBDGo2AgALkwIBBH8jAEHQAGsiAyQAIANBmJgELQAAOgAsIANBlJgEKAAANgIoIAMgA0EoajYCJEEBIQQgAyACKAIIQQFHBH8gASgCEEUFIAQLOgAjIANBADoAIiACKAIAIQVBsAEQ1RoiBEIANwIEIARB0JQENgIAIANBOGoiBiACNgIAIAMgAUEMaiABQQhqIAVBB3FBBkYbIgI2AkggAyACNgIYIAMgA0EkajYCPCADIAYpAwA3AwggAyADQSJqNgJEIANBQGsiAiADQSNqNgIAIAMgAikDADcDECADQcaUBDYCNCADQcSUBDYCMCADIAMpAzA3AwAgBEEMaiICIAMQkAsgACAENgIEIAAgAjYCACADQdAAaiQAC/4CAQV/IwBB4ABrIgIkAAJAIAEoAgAiBRC4GyIDQXBJBEACQAJAIANBC08EQCADQRBqQXBxIgYQ1RohBCACIAZBgICA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CwsgAwu7AQEEfyABQQRIBH9BAAUgAUEEayEFA0AgAyAAIARBA3QiAmorAwBEAAAAAAAAAABiaiAAIAJBCHJqKwMARAAAAAAAAAAAYmogACACQRByaisDAEQAAAAAAAAAAGJqIAAgAkEYcmorAwBEAAAAAAAAAABiaiEDIARBBGoiBCAFTA0ACyABQXxxCyICIAFIBEADQCADIAAgAkEDdGorAwBEAAAAAAAAAABiaiEDIAJBAWoiAiABRw0ACwsgAwuoAgEFfyMAQfAAayIBJAACQAJAIAAQywdB+B9xRQRAAkAgABDMB0GAgARGBEAgAUE4aiAAKAIEEK0GGgwBCyABQThqIAAQyQcLIAEoAjhBB3EiAEEHRg0BIAFBADYCNCABIAFBOGo2AjAgAUEANgIsIAFBCGogAUEwaiABQSxqQX8QrAciAigCEEUEQEEAIQAMAwsgAEECdEHQogRqKAIAIQQgAigCFCEFQQAhAANAIAEoAiwgBSAEEQMAIABqIQAgAhCtByADQQFqIgMgAigCEEkNAAsMAgtBqX4gAUE4akHwogQQiQNB+KIEQYWjBEGAARCYCgALQal+IAFBCGpBt6MEEIkDQfiiBEGFowRBkAEQmAoACyABQThqELEGGiABQfAAaiQAIAALmgcCEn8EfCMAQfAJayIDJAACQCABEMwHQYCABEYEQCADQbgJaiABKAIEEK0GGgwBCyADQbgJaiABEMkHCwJAIAIQzAdBgIAERgRAIANBgAlqIAIoAgQQrQYaDAELIANBgAlqIAIQyQcLAkACQCADQYAJahC3BkUEQCADLwGACUH/H3ENAQsgAygCuAkhASADQfgIakIANwMAIANB8AhqQgA3AwAgA0HoCGpCADcDACADQgA3A+AIIAFBB3EiAkECdEHwswNqKAIAIQ4gAUEDdkH/A3EiCkEDSw0BIA5FDQEgCkEBaiEPIANBADYC3AggAyADQYAJajYC2AggAyADQbgJajYC1AggA0IANwPICCADQagIaiADQdQIaiADQcgIakF/EKwHIggoAhQhBCADQYgCNgIEIAMgA0EIaiIQNgIAIANB4AhqIQUgBCEGIAJBA00EQCADIA82AgQgEEEAIApBAnRBBGoQrxshAUGAgIAEQYCAAiACQQJJGyIRIAQgBCARShshBiADKAK8CSIFQQFOBEAgAygC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IANBgApqQQBB2AEQrxsaDAsLRAAAAAAAAAAAIRAgAkUNCSADQYAKakEAQdgBEK8bGiADQoCAgICAgIDwv383A/gKIANCgICAgICAgPC/fzcDmAsgA0KAgICAgICA8D83A6gLIANCgICAgICAgPC/fzcDqAogA0KAgICAgICA8D83A9gKIANCgICAgICAgPA/NwO4CgwJC0QAAAAAAADwPyAPIA+goyEQIAIEQCADQgA3A6ADIANCADcDmAMgA0IANwOQAyADQgA3A8gDIANCADcD0AMgA0IANwPoAyADQgA3A/ADIANCADcDiAQgA0IANwOQBCADQgA3A4gDIANCADcDgAMgA0IANwPAAyADQoCAgICAgID4v383A7gDIANCADcDsAMgA0KAgICAgICA+D83A6gDIANCADcD4AMgA0KAgICAgICA+L9/NwPYAyADQgA3A4AEIANCgICAgICAgPg/NwP4AyADQgA3A7gEIANCADcDwAQgA0IANwPIBCADQgA3A9AEIANCADcD8AQgA0IANwPoBCADQgA3A5AFIANCADcDiAUgA0KAgICAgICA+L9/NwOoBCADQgA3A6AEIANCgICAgICAgPg/NwOYBCADQgA3A7AEIANCADcD4AQgA0IANwOABSADRAAAAAAAAPC/IA+jIhdEAAAAAAAA4D+iIhY5A6AFIAMgFyAVIBCaoiAPo0QAAAAAAADgP6KiIg85A9gEIAMgDzkD+AQgAyAPOQOYBSADQgA3A7gFIANCADcDsAUgA0IANwOoBSADIBY5A8AFIANCADcD2AUgA0IANwPQBSADQgA3A8gFIAMgFjkD4AUgA0IANwPgBiADQgA3A/gGIANCADcDoAcgA0IANwOoByADQgA3A8gHIANCADcD0AcgA0IANwPYByADQgA3A+AHIANCADcD2AYgAyAQOQPQBiADQgA3A/AGIANCADcDmAcgA0IANwOIByADIBA5A4AHIANCADcDwAcgAyAQOQOwByADIBE5A7gHIAMgFDkD6AYgAyASOQOQByADQoCAgICAgID4PzcD6AcgA0IANwOwAiADQgA3A+gCIANCADcDqAIgAyATOQOgAiADQgA3A+ACIAMgEiAQojkD2AIgA0IANwPQAiADIBM5A8gCIANCADcDwAIgAyAUIBCiOQO4AiADIBEgEKI5A/gCIAMgEzkD8AIgA0KGgImShAk3A4ACIANChYCAgJABNwKUAiADQgA3A4gCIAMgA0GAA2o2ApACIANChoCJkoQFNwPgASADQoSAgIDQADcC9AEgA0IANwPoASADIANB0AZqNgLwASADQoaAiZKEBDcDwAEgA0KDgICAwAA3AtQBIANCADcDyAEgAyADQaACajYC0AEgA0KGgImShAU3AyAgA0KDgICA0AA3AjQgA0IANwMoIAMgA0FAazYCMCADQcABaiADQeABakQAAAAAAADwP0EARAAAAAAAAPA/IANBIGpBABCGBiADQSBqIANBgAJqRAAAAAAAAPA/QQBEAAAAAAAA8D8gA0HgCWpBABCGBiADKwOYCiEPIAMgAysDiAo5A5gKIAMgDzkDiAogAysDkAohDyADIAMrA7AKOQOQCiADIA85A7AKIAMrA6gKIQ8gAyADKwO4CjkDqAogAyAPOQO4CiADKwPQCiEPIAMgAysD4Ao5A9AKIAMgDzkD4AogAysD2AohDyADIAMrA/gKOQPYCiADIA85A/gKIAMrA4ALIQ8gAyADKwPwCjkDgAsgAyAPOQPwCiADKwOoCyEPIAMgAysDmAs5A6gLIAMgDzkDmAsgAysDwAshDyADIAMrA6ALOQPACyADIA85A6ALIAMrA8gLIQ8gAyADKwO4CzkDyAsgAyAPOQO4CwsgESAQIBOiIhOiIRAgEiAToiERIBQgE6IhFAwJCyAcIBaiIRIgGCAWoiETIBYgGaIhD0EAIQBEAAAAAAAA8D8hFANAIABBA3QiAUHIAGoiBCADQYAKamogDyAUoiATIANBQGsgAWorAwCioCAQIANBgANqIARqKwMAoqAgEiADQaACaiABaisDAKKgIBEgA0HQBmogBGorAwCioDkDACAAQQFqIgBBCUZFBEAgA0GwCGogAEEDdGorAwAhFAwBCwsgHCAXoiESIBggF6IhEyAXIBmiIQ9BACEARAAAAAAAAPA/IRQDQCAAQQN0IgFBkAFqIgQgA0GACmpqIA8gFKIgEyADQUBrIAFqKwMAoqAgECADQYADaiAEaisDAKKgIBIgA0GgAmogAWorAwCioCARIANB0AZqIARqKwMAoqA5AwAgAEEBaiIAQQlGDQsgA0GwCGogAEEDdGorAwAhFAwACwALQa5+IANBgANqQe6lBBCJA0GxpQRB46QEQYsC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hAEgAEEBOgCAASAAQgE3A3ggACAIOQNwIAZBQGskAAvHBQECfyAAQQA2AgAgACgCBCEBIABBADYCBAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AgggAEEMaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCECAAQRRqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIYIABBHGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AiAgAEEkaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCKCAAQSxqIgIoAgAhASACQQA2AgACQCABRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEANgIwIABBNGoiAigCACEBIAJBADYCAAJAIAFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQA2AjggAEE8aiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCQCAAQcQAaiICKAIAIQEgAkEANgIAAkAgAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIABBADYCSCAAQcwAaiIBKAIAIQAgAUEANgIAAkAgAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQ0BoLC/0DAQJ/IAAQzwsCQCAAKAJMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAkQiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCPCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAg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IARByAFqIARBwAFqELoGIQcgBEIANwNIIAQgBzYCRCAEQYCAhJB8NgJAIAYgBEFAaxCWBCAHELEGGiAGELEGGiACKAIAIQYgAigCBCEHCyAFIAcgBmtIDQALCyAEQgA3A1ggBEGAgIyIeDYCUCAEIAM2AlQgASAEQdAAahC+CyAKQQYQqgYgAygCBCIHIAMoAgAiBmtBAU4EQEEAIQhBACEFA0ACQCAFIAZqLQAARQRAIAVBAWohBQwBCyAEIAU2AgggBCAFQQFqIgU2AgwgBEKAgICA+P////8ANwNAIARB0ABqIAkgBEEIaiAEQUBrELoGIQYgBCAINgLIASAEIAhBAWoiCDYCzAEgBEKAgICA+P////8ANwPAASAEQQhqIAEgBEHIAWogBEHAAWoQugYhByAEQgA3A0ggBCAHNgJEIARBgICEkHw2AkAgBiAEQUBrEJYEIAcQsQYaIAYQsQYaIAMoAgAhBiADKAIEIQcLIAUgByAGa0gNAAsLIAkQsQYaIARB0AFqJAALiQUBAX8jAEGAA2siAyQAIANByAJqIABBABDNBiADQZACaiABQQAQzQYCQCADLwHIAkH4H3ENACADKALQAkF+cUECRw0AIAMoAtQCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0HIAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANByAJqNgKkASADQdgBaiADQaABahC0BwsCQCADLwGQAkH4H3ENACADKAKYAkF+cUECRw0AIAMoApwCQQRIDQAgA0IANwPgASADQYCAhAg2AtgBIAMgA0GQAmo2AtwBIANBgICEEDYCoAEgA0IANwOoASADIANBkAJqNgKkASADQdgBaiADQaABahC0BwsgA0HYAWogAkEAEM0GIANBoAFqQQBBABDNBiADQgA3AyggA0GAgIQINgIgIAMgA0HIAmo2AiQgA0IANwMIIANBgICECDYCACADIANBkAJqNgIEIANCADcDYCADQQA2AlwgA0GAgIAQNgJYIANB6ABqIANBIGogAyADQdgAahDWCwJAIANB6ABqELcGBEAgA0EgaiACQQAQzQYgA0IANwMYIANCADcDECADQgA3AwggA0KBgICAwAA3A2AgA0GGgIiIfDYCWCADQgA3AwAgAyADNgJcIANBIGogA0HYAGpB1NYKEJkEIANBIGoQsQYaDAELIANBgICEkHw2AiAgA0IANwMoIAMoAtgBIQAgAyADQdgBajYCJCADQegAaiADQSBqIABB/x9xRAAAAAAAAPA/RAAAAAAAAAAAEIgDCyADQegAahCxBhogA0GgAWoQsQYaIANB2AFqELEGGiADQZACahCxBhogA0HIAmoQsQYaIANBgANqJAALsAcBBH8jAEHwAWsiAiQAIAJBuAFqIABBABDNBiACQYABaiABQQAQzQYgAkHIAGogAkGAAWoQrQYhAQJAIAIoArgBQQN2Qf8DcSIABEAgAEEBaiEADAELIAIoAsQBIgAgAigCwAEiA0wNACACQgA3AwggAkGAgIQINgIAIAIgAkG4AWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBuAFqNgI8IAIgAkE4ahC0ByADIQALAkAgAigCgAFBA3ZB/wNxIgNBAWogAigCiAEiBCACKAKMASIFIAQgBUgbIAMbIgMgAEYEQCACQYCAhBA2AgAgAkIANwMIIAIgAkGAAWo2AgQgAkG4AWogAhCWBAwBCyAAIANIBEAgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ2QsMAQsgAkIANwMIIAJBgICECDYCACACIAJBuAFqNgIEIAJBgICEEDYCOCACQgA3A0AgAiACQYABajYCPCACIAJBOGoQ1wsLIAIgAkGAAWogASgCAEEDdkH/A3EiAEEBaiABKAIMIgQgASgCCCAARSADIARIcSIAGxDBBiACQYABaiACELkGGiACELEGGgJAAkACQCAABEAgAigCiAEgASgCDEcNAiACKAKMASABKAIIRw0CIAIoAoABIAEoAgBzQf8fcUUEQCACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAiABNgI8IAJBgICEkHw2AjggAkIANwNAIAIgAkE4ahC0BwwCCyACQgA3AwggAkGAgIQINgIAIAIgAkGAAWo2AgQgAkGAgIQQNgI4IAJCADcDQCACIAJBgAFqNgI8IAIgAkE4ahC0ByACQYCAhJB8NgIAIAJCADcDCCACIAE2AgQgAkGAAWogAiABKAIAQf8fcUQAAAAAAADwP0QAAAAAAAAAABCIAwwBCyACKAKoASIAKAIEIAEo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OQOQASABIAArA4gBIAihOQOYASABIAArA6ABIAihOQOgASABIAArA3ggACsDYCIIoTkDqAEgASAAKwOQASAIoTkDsAEgASAAKwOoASAIoTkDuAEgASAAKwOAASAAKwNoIgihOQPAASABIAArA5gBIAihOQPIASABIAArA7ABIAihOQPQASABQSBqIAEQtwQgACgCUCIFQQFOBEAgACgCOCEGIAAoAiAhBwNAIAYgA0EFdGoiBCABKwNAIAcgA0EYbGoiAisDACAAKwNYoaIgASsDSCACKwMIIAArA2ChoqAgASsDUCACKwMQIAArA2ihoqAiCDkDCCAEIAErA1ggAisDACAAKwNYoaIgASsDYCACKwMIIAArA2ChoqAgASsDaCACKwMQIAArA2ihoqAiCTkDECAEIAErA3AgAisDACAAKwNYoaIgASsDeCACKwMIIAArA2ChoqAgASsDgAEgAisDECAAKwNooaKgIgo5AxggBEQAAAAAAADwPyAIoSAJoSAKoTkDACADQQFqIgMgBUcNAAsLIAFB4AFqJAALqAMBAnwgACsDECEGIAMrAwAhByABKAIQIAJB4ABsaiIBQgA3AwggASAHIAaiOQMAIAMrAwAhBiAAKwMAIQcgAUIANwNgIAEgBiAHIAShojkDECABIAMrAwAgACsDGKI5A2ggASADKwMAIAArAwggBaGiOQNwIAArAxAhBiADKwMIIQcgAUIANwMgIAEgByAGojkDGCADKwMIIQYgACsDACEHIAFCADcDeCABIAYgByAEoaI5AyggASADKwMIIAArAxiiOQOAASABIAMrAwggACsDCCAFoaI5A4gBIAArAxAhBiADKwMQIQcgAUIANwM4IAEgByAGojkDMCADKwMQIQYgACsDACEHIAFCADcDkAEgASAGIAcgBKGiOQNAIAEgAysDECAAKwMYojkDmAEgASADKwMQIAArAwggBaGiOQOgASAAKwMQIQYgAysDGCEHIAFCADcDUCABIAcgBqI5A0ggAysDGCEGIAArAwAhByABQgA3A6gBIAEgBiAHIAShojkDWCABIAMrAxggACsDGKI5A7ABIAEgAysDGCAAKwMIIAWhojkDuAELwAICBH8MfCAAQbgBakEAQeAAEK8bIQYDQCAGIBIgASAFQQN0aiIDKwMAIAJBCyAFa0HgAGxqIgQrAwCioCISOQMAIAAgESADKwMAIAQrAwiioCIROQPAASAAIBAgAysDACAEKwMQoqAiEDkDyAEgACAPIAMrAwAgBCsDGKKgIg85A9ABIAAgDiADKwMAIAQrAyCioCIOOQPYASAAIA0gAysDACAEKwMooqAiDTkD4AEgACAMIAMrAwAgBCsDMKKgIgw5A+gBIAAgCyADKwMAIAQrAziioCILOQPwASAAIAogAysDACAEKwNAoqAiCjkD+AEgACAJIAMrAwAgBCsDSKKgIgk5A4ACIAAgCCADKwMAIAQrA1CioCIIOQOIAiAAIAcgAysDACAEKwNYoqAiBzkDkAIgBUEBaiIFQQRHDQALC+YBAQZ/IAAoAlAiBEEBTgRAIAAoAkQhBSAAKAI4IQYDQCAFIAJBGGxqIgMgBiACQQV0aiIBKwMAIAArA7gBoiABKwMIIAArA9ABoqAgASsDECAAKwPoAaKgIAErAxggACsDgAKioDkDACADIAErAwAgACsDwAGiIAErAwggACsD2AGioCABKwMQIAArA/ABoqAgASsDGCAAKwOIAqKgOQMIIAMgASsDACAAKwPIAaIgASsDCCAAKwPgAaKgIAErAxAgACsD+AGioCABKwMYIAArA5ACoqA5AxAgAkEBaiICIARHDQALCwuNCwIFfw18IwBBkB1rIgMkACAAEJ4MIAAQnwwgAyAAKAJQQQF0QQxBBhD3AyIFNgKMHSAAKAJQQQFOBEADQCAAIAUgBEEBdCAAKAI4IARBBXRqIAAoAiwiByAEQQR0IgZqKwMAIAcgBkEIcmorAwAQoAwgBEEBaiIEIAAoAlBIDQALCyADQYAUakEAQYAJEK8bGiADQaATakEAQeAAEK8bGiADQaAKakEAQYAJEK8bGiADQoaAiZKEDDcDgAogA0KMgICAwAE3ApQKIANCADcDiAogAyADQYAUajYCkAogA0KGgImShAE3A+AJIANCjICAgBA3AvQJIANCADcD6AkgAyADQaATajYC8AkgA0KGgImShAw3A8AJIANCjICAgMABNwLUCSADQgA3A8gJIAMgA0GgCmo2AtAJIAUgA0GACmpBABCHBiADQYAKaiADQeAJaiADQcAJakEAQQMQuQQgA0GMHWoQ+wMgA0HgBWpBAEHgAxCvGxogA0HYBWoiBEIANwMAIANB0AVqIgdCADcDACADQcgF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+AIgAyAPIAUrAxAgHKEgBCsDECAQoaKgIg85A4ADIAZBAWoiBiAHRw0ACwsgA0HgAGogA0FAayADQSBqIANBARC5BCABIAMrA9ABIhMgAysDgAEiFKIgAysD2AEiCyADKwOIASIVoqAgAysD4AEiDCADKwOQASIWoqAiDzkDACABIBMgAysDmAEiF6IgCyADKwOgASIdoqAgDCADKwOoASIeoqAiCjkDCCABIBMgAysDsAEiGKIgCyADKwO4ASIZoqAgDCADKwPAASILoqAiEzkDECABIBggAysD6AEiDKIgGSADKwPwASIaoqAgCyADKwP4ASIboqAiHzkDKCABIAwgF6IgGiAdoqAgGyAeoqAiIDkDICABIAwgFKIgGiAVoqAgGyAWoqAiGjkDGCABQUBrIBggAysDgAIiG6IgGSADKwOIAiIYoqAgCyADKwOQAiIZoqAiCzkDACABIBsgF6IgGCAdoqAgGSAeoqAiDDkDOCABIBsgFKIgGCAVoqAgGSAWoqAiFDkDMCAPICCiIAuiIAogH6IgFKKgIBMgGqIgDKKgIBQgICAToqKhIAsgCiAaoqKhIA8gH6IgDKKhRAAAAAAAAAAAYwRAIAEgC5o5A0AgASAMmjkDOCABIBSaOQMwCyACIBEgDyANoiAKIA6ioCATIBCioKE5AwAgAiASIA0gASsDGKIgDiABKwMgoqAgECABKwMooqChOQMIIAIgHCANIAErAzCiIA4gASsDOKKgIBAgASsDQKKgoTkDECADQZADaiQAC8wCAgN/FXwCQCAAKAJQIgNBAUgEQAwBCyABQUBrKwMAIQkgASsDOCEKIAErAyghCyABKwMgIQwgACgCLCEEIAArAxghDSAAKwMIIQ4gACsDECEPIAArAwAhECACKwMQIREgASsDMCESIAIrAwghEyABKwMYIRQgAisDACEVIAErAxAhFiABKwMIIRcgASsDACEYIAAoAiAhBUEAIQEDQCAGIAQgAUEEdCICaisDACAQIBUgGCAFIAFBGGxqIgArAwAiBqIgFyAAKwMIIgeioCAWIAArAxAiCKKgoCAPokQAAAAAAADwPyARIAYgEqIgByAKoqAgCCAJoqCgoyIZoqChIhogGqIgBCACQQhyaisDACAOIBkgEyAGIBSiIAcgDKKgIAggC6KgoCANoqKgoSIGIAaioJ+gIQYgAUEBaiIBIANHDQALCyAGIAO3owvuAwIHfwJ8IwBB8AFrIgMkACADQeAAakEAQZABEK8bGiADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEAzcDICADQoaAgIAwNwI0IANCADcDKCADIANB4ABqNgIwIANChoCJkoQBNwMAIANCg4CAgBA3AhQgA0IANwMIIAMgA0FAazYCECAAKAIEIQggACgCAEH/H3FBBUchCQNAIAQgCGwiBSAAKAIQaiEHAnwgCUUEQCAEQRhsIgYgAygCMGogByoCALs5AwAgAygCMCAGaiAAKAIQIAVqKgIEuzkDCCAAKAIQIAVqKgIIuwwBCyAEQRhsIgYgAygCMGogBysDADkDACADKAIwIAZqIAAoAhAgBWorAwg5AwggACgCECAFaisDEAshCiADKAIwIAZqIAo5AxAgBEEBaiIEQQZHDQALIANBIGogASADELgEAkAgAysDQCIKRAAAAAAAAAAAYwRAIAIgCpqfIgs5AwAgAysDUCIKRAAAAAAAAAAAYyEEIAqaIQoMAQsgAiAKnyILOQMAIAMrA1AiCkQAAAAAAAAAAGQhBAsgAiAKn0QAAAAAAAAAACAEGzkDCCADKwNIRAAAAAAAAAAAY0EBc0UEQCACIAuaOQMACyACQgA3AxAgAkIANwMYIANB8AFqJAAL4wQCB38CfCMAQeACayIDJAAgA0HwAGpBAEHwARCvGxogA0IANwNgIANCADcDWCADQgA3A1AgA0IANwNIIANCADcDQCADQoaAiZKEBTcDICADQoaAgIDQADcCNCADQgA3AyggAyADQfAAajYCMCADQoaAiZKEATcDACADQoWAgIAQNwIUIANCADcDCCADIANBQGs2AhAgACgCBCEIIAAoAgBB/x9xQQVHIQkDQCAGIAhsIgQgACgCEGohBwJ8IAlFBEAgBkEobCIFIAMoAjBqIAcqAgC7OQMAIAMoAjAgBWogACgCECAEaioCBLs5AwggAygCMCAFaiAAKAIQIARqKgIIuzkDECADKAIwIAVqIAAoAhAgBGoqAgy7OQMYIAAoAhAgBGoqAhC7DAELIAZBKGwiBSADKAIwaiAHKwMAOQMAIAMoAjAgBWogACgCECAEaisDCDkDCCADKAIwIAVqIAAoAhAgBGorAxA5AxAgAygCMCAFaiAAKAIQIARqKwMY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IhUrAwA5AxggFSAMKAIAaisDACErIAIgLCAuoiApICqioJo5AyggAiArOQMgIAIgASsDADkDMCACIBQrAwA5AzggAiABIApBAXRqKwMAOQNAIANCADcDUCADQgA3A1ggA0HoAGoiAUIANwMAIANCADcDSCADQoOAgIAwNwNAIANChoD9lyQ3AzggAyABNgJkIAMgA0FAazYCYCADQfAIakEDQQNBBiACQQAQrgYhASADQYCAhBA2ArgBIANCADcDwAEgAyADQThqNgK8ASABIANBuAFqEJYEIAEQsQYaIANBuAFqICEgA0E4ahD/BiADQThqELEGGiADQfAIaiADQbgBaiAgEIEHIAMQpwYhCiADKALwCCIBIANB8AhqIApBfyABKAIAKAIMEQYAIANBOGogChDDCyACIANBOGpByAAQrhshASAKELEGGiAJELEGGiAIELEGGiANELEGGiAQELEGGiARELEGGiASELEGGiABIAErA0AiKUQAAAAAAADwPyApoyIpojkDQCABICkgASsDOKI5AzggASApIAErAzCiOQMwIAEgKSABKwMoojkDKCABICkgASsDIKI5AyAgASApIAErAxiiOQMYIAEgKSABKwMQojkDECABICkgASsDCKI5AwggASABKwMAICmiOQMAIAUQsQYaIAQQsQYaIAAQsQYaIAYQsQYaIA8QsQYaIAsQsQYaIAcQsQYaIBoQsQYaIB8QsQYaIB4QsQYaIB0QsQYaIBwQsQYaIBsQsQYaICYQsQYaIBgQsQYaIBkQsQYaIBcQsQYaIBYQsQYaICUQsQYaICQQsQYaICMQsQYaICIQsQYaICgQsQYaICEQsQYaICAQsQYaICcQsQYaIBMQsQYaIA4QsQYaIANB4BBqJAAL0ggCA38IfCMAQaADayIFJAAgA0EEQQRBBkEAQQAQ9wcgBEEEQQRBBkEAQQAQ9wcCQCADEMwHQYCABEYEQCAFQeACaiADKAIEEK0GGgwBCyAFQeACaiADEMkHCwJAIAQQzAdBgIAERgRAIAVBqAJqIAQoAgQQrQYaDAELIAVBqAJqIAQQyQcLIAVCgYCAgBA3A/gBIAVBhoCIiHw2AvABIAVCADcDuAEgBSAFQbgBajYC9AEgBUHgAmogBUHwAWpB1NYKEJkEIAUoAvACIAUoAowDKAIAQQNsakKAgICAgICA+D83AxggBUKBgICAEDcD+AEgBUGGgIiIfDYC8AEgBUIANwO4ASAFIAVBuAFqNgL0ASAFQagCaiAFQfABakHU1goQmQQgBSgCuAIgBSgC1AIoAgBBA2xqQoCAgICAgID4PzcDGCACKwMAIQwgAisDCCENIAIrAxAhCCACKwMYIQ4gAisDMCEKIAIrAyAhDyACKwMoIQkgAisDOCELIAVCgICAgPj/////ADcD8AEgBUKAgICAMDcDgAEgBUG4AWogBUHgAmogBUHwAWogBUGAAWoQugYhBCAFQoCAgIAwNwOAASAFQoCAgID4/////wA3A0ggBUHwAWogBCAFQYABaiAFQcgAahC6BiECIAQQsQYaIAVCgICAgPj/////ADcDuAEgBUKAgICAMDcDSCAFQYABaiAFQagCaiAFQbgBaiAFQcgAahC6BiEDIAVCgICAgDA3A0ggBUKAgICA+P////8ANwMQIAVBuAFqIAMgBUHIAGogBUEQahC6BiEEIAMQsQYaIAUgAjYChAEgBUGAgIQQNgKAASAFQgA3A4gBIAUgBDYCTCAFQYCAhBA2AkggBUIANwNQIAwgCiAIoqEgDSAIIAuioSAOIAogCaKhIA8gCyAJoqEgCCAJIAVBgAFqIAVByABqELoMIAVCgICAgPj/////ADcDgAEgBUKDgICAwAA3AxAgBUHIAGogBUHgAmogBUGAAWogBUEQahC6BiEDIAVCgICAgDA3AxAgBUKAgICA+P////8ANwMAIAVBgAFqIAMgBUEQaiAFELoGIQYgAxCxBhogBUKAgICA+P////8ANwNIIAVCg4CAgMAANwMAIAVBEGogBUGoAmogBUHIAGogBRC6BiEDIAVCgICAgDA3AwAgBUKAgICA+P////8ANwOYAyAFQcgAaiADIAUgBUGYA2oQugYhByADELEGGiAFQgA3AxggBSACNgIUIAVBgICECDYCECAFIAY2AgQgBUGAgIQQNgIAIAVCADcDCCAAIAEgBUEQaiAFELsMIAVCADcDGCAFIAQ2AhQgBUGAgIQINgIQIAUgBzYCBCAFQYCAhBA2AgAgBUIANwMIIAAgASAFQRBqIAUQuwwgBxCxBhogBhCxBhogBBCxBhogAhCxBhogBUGoAmoQsQYaIAVB4AJqELEGGiAFQaADaiQAC6gNAhB/An0jAEHABWsiBCQA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gIAERgRAIANBOGogASgCBBCtBhoMAQsgA0E4aiABEMkHCyADQfAAaiADQThqEJwHIANBiANqIANB0AJqIANB8ABqEIIHIANB6ARqIANBiANqEKYHIQEgA0GAgIQQNgIoIANCADcDMCADIAI2AiwgAyAFNgIcIANBgICEEDYCGCADQgA3AyAgAyAHNgIMIANBgICEEDYCCCADQgA3AxAgASADQShqIANBGGogA0EIakEAEK8EIANBgARqELEGGiADQcgDahCxBhogA0GQA2oQsQYaIANB6AFqELEGGiADQbABahCxBhogA0H4AGoQsQYaIANBOGoQsQYaIANB0AJqELEGGgJAAn8CQAJAIAItAAFBwABxDQAgAigCKCIBKAIAQQFGDQAgASgCBEEBRw0BIAIoAhAiBCACKAIsKAIAQQF0agwCCyACKAIQIgRBCGohASAEKwMQIQwMAgsgAigCECIEQQIgAigCDCIGbSILIAIoAiwoAgBsakECIAYgC2xrQQN0agsrAwAhDCABKAIEQQFGBEAgBCACKAIsKAIAaiEBDAELIAQgAigCDCIBQQAgAUEBakEDSRsiBiACKAIsKAIAbGpBASABIAZsa0EDdGohAQsgACsDACAMIAErAwCjZARAIANBiANqIAUQnAcgAygCiAMiASADQYgDaiADQcgHakF/IAEoAgAoAgwRBgAgA0GABGoQsQYaIANByANqELEGGiADQZADahCxBhogA0IANwOQAyADQYCAhAg2AogDIAMgA0HIB2o2AowDIANBiANqEKoERAAAAAAAAAAAY0EBc0UEQCADKALYByADKAL0BygCAEEBdGoiASABKwMAmjkDACABIAErAwiaOQMIIAEgASsDEJo5AxALIAcQsQYaIAUQsQYaIAIQsQYaIAoQsQYaIAkQsQYaIAgQsQYaIANByAdqELEGGiADQYAIaiQADwtBqX4gA0GIA2pBouwEEIkDQbfsBEGm3QRB1QYQmAoAC4UUAwx/AX0FfCMAQeADayIEJAACQCAAEMwHQYCABEYEQCAEQagDaiAAKAIEEK0GGgwBCyAEQagDaiAAEMkHCwJAAkACQCAEKAKwAyIMQQFHQQAgBCgCtAMiCUEBRxtFBEAgBCgCqANBA3ZB/wNxQQFrQQJPDQEgCSAMbCIJQQNMDQIgABDLByIKQRZLDQNBASAK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aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiACELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoCAgIAwNwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A4ABIAhCgICAgPj/////ADcDcCAIQThqIAAgCEGAAWogCEHwAGoQugYhBCAIQgA3A9ABIAggBDYCzAEgCEGAgIQINgLIASAIQcgBaiAFELIMIAQQsQYaIAAQsQYaIAhCgICAgPj/////ADcDOCAIQoOAgIDAADcDyAEgCCABIAhBOGogCEHIAWoQugYhACAIQoCAgIAwNwPIASAIQoCAgID4/////wA3A4ABIAhBOGogACAIQcgBaiAIQYABahC6BiIEIAMQlgQgBBCxBhogABCxBhogCEKAgICA+P////8ANwM4IAhCg4CAgMAANwPIASAIIAogCEE4aiAIQcgBahC6BiEAIAhCgICAgDA3A8gBIAhCgICAgPj/////ADcDgAEgCEE4aiAAIAhByAFqIAhBgAFqELoGIgQgBhCWBCAEELEGGiAAELEGGiAKELEGGiABELEGGiAOELEGGiANELEGGiAJELEGGiAMELEGGiAIQYAEahCxBhogCxCxBhogCEHwBGokAAuREQIEfxV8IwBBwAFrIgMkAAJ8An8CQAJAIAAQywdBDUcEQCAAEMsHQQ5HDQELAkAgABDMB0GAgARGBEAgA0GIAWogACgCBBCtBhoMAQsgA0GIAWogABDJBwsgABDLByEAIAMoAogBQYCAAXEhBSAAQQ1GBEACQAJAIAVFBEAgAygCmAEiACoCBIy7IQ0gACoCAIy7IQ4CQAJAAkACQAJAAkACQCADKAKwASIFKAIAQQFHBEACfyAFKAIEQQFGBEAgACADKAK0ASgCAGoMAQsgACADKAKUASIEQQAgBEEBakEDSRsiBiADKAK0ASgCAGxqQQEgBCAGbGtBA3RqCyoCAIy7IQoMAQsgACoCCIy7IQogAygCsAEiBSgCAEEBRg0BCwJ/IAUoAgRBAUYEQCAAIAMoArQBKAIAagwBCyAAIAMoApQBIgRBACAEQQFqQQNJ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ACsDkAIgGyABKwMIoqE5A5ACIAAgACsDmAIgHCABKwMIoqE5A5gCIAAgACsD2AIgHSABKwMIoqE5A9gCIAAgACsD4AIgHiABKwMIoqE5A+ACIAAgACsDqAMgHyABKwMIoqE5A6gDIAAgGCAYoiAZIBmioCIQIBqiIAArA+ADoDkD4AMgACAQIBuiIAArA+gDoDkD6AMgACAQIByiIAArA/ADoDkD8AMgACAQIB2iIAArA7AEoDkDsAQgACAQIB6iIAArA7gEoDkDuAQgACAQIB+iIAArA4AFoDkDgAUgAyACKwMAIAMrA7gJoDkDuAkgAyACKwMIIAMrA8AJoDkDwAkgAyACKwMQIAMrA8gJoDkDyAkgAyACKwMAIAMrA5gKoDkDmAogAyACKwMIIAMrA6AKoDkDoAogAyACKwMQIAMrA6gKoDkDqAogAyADKwPoCSABKwMAIAIrAwCioTkD6AkgAyADKwPwCSABKwMAIAIrAwiioTkD8AkgAyADKwP4CSABKwMAIAIrAxCioTkD+AkgAyADKwOwCiABKwMIIAIrAwCioTkDsAogAyADKwO4CiABKwMIIAIrAwiioTkDuAogAyADKwPACiABKwMIIAIrAxCioTkDwAogAyADKwPICiABKwMAIAIrAwCioTkDyAogAyADKwPQCiABKwMAIAIrAwiioTkD0AogAyADKwPYCiABKwMAIAIrAxCioTkD2AogAyADKwPgCiABKwMIIAIrAwCioTkD4AogAyADKwPoCiABKwMIIAIrAwiioTkD6AogAyADKwPwCiABKwMIIAIrAxCioTkD8AogAyADKwP4CiAQIAIrAwCioDkD+AogAyADKwOACyAQIAIrAwiioDkDgAsgAyADKwOICyAQIAIrAxCioDkDiAsgIiARoCEiICEgEqAhISAgIBegISAgEyAZoCETIBUgGKAhFSAWIBCgIRYgBEEBaiIEIAVHDQALCyAAIAArAzg5A3ggACAAKwNAOQPAASAAIAArA4gBOQPIASAAIAArA5ACOQPQAiAAIAArA5gCOQOYAyAAIAArA+ACOQOgAyAAIAArA+gDOQOoBCAAIAArA/ADOQPwBCAAIAArA7gEOQP4BCAAIAArAwA5A/ABIAAgACsDCCIQOQP4ASAAIAArAxAiETkDgAIgACAAKwNQOQPAAiAAIAArA1giEjkD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IAIrAwAgA0HAA2ogAWorAwCgOQMAIARBAWoiBEHRAEcNAAsgA0KJgICAkAE3A8gDIANBhoCIiHw2AsADIAMgADYCxAMgA0GYAmoQpwYhByADQdACahCnBiEFIANBiANqEKcGIQYgA0GYAmogA0HAA2oQtQQgA0HAA2ogBRDZDCAAQYgFaiADQcADakHIABCuGxogAyAGEJwHIANB4AFqEKcGIQEgAygCACICIAMgAUF/IAIoAgAoAgwRBgAgA0HAA2ogARDaDCAAQdAFaiADQcADakGIBRCuGxogARCxBhogA0H4AGoQsQYaIANBQGsQsQYaIANBCGoQsQYaAkACQCAAKwOIBURIr7ya8td6PmZBAXNFBEAgAEEAIAAoAsgMIgFrQQN0aisDwAVESK+8mvLXej5jDQEgASEEDAILQal+IANBwANqQYOBBRCJA0H2gAVBwPwEQfsBEJgKAAsDQEEGIAFrIQIgAUEBaiIEIQEgACACQQN0aisDiAVESK+8mvLXej5jDQALCyAAIARBAWo2AsgMIARBBk4NASAAQcAMaiAiIBSjOQMAIABBuAxqICEgFKM5AwAgACAgIBSjOQOwDCAGELEGGiAFELEGGiAHELEGGiADQcgIahCxBhogA0GACWoQsQYaIANBkAtqJAAPC0GpfiADQcADakHAgAUQiQNB9oAFQcD8BEHuARCYCgALQal+IANBwANqQZGBBRCJA0H2gAVBwPwEQf8BEJgKAAu8HAIFfxt8IwBB0ANrIgEkACABQv/////////3/wA3A8gDRP///////+9/IQdBCSAAKALIDCICa0EIIAJBAEobIgRBCEwEQCABQZgCaiEFIAQhAwNAIAAgA0EDdGoiAisD0AUhCCACKwOYBiEJIAIrA+AGIQogAisDqAchCyACKwPwByEMIAJBuAhqKwMAIQ0gAkGACWorAwAhDiACQcgJaisDACEPIAEgAkGQCmorAwBEqkxY6Hq2+z+iIgc5A8ADIAEgD0SqTFjoerb7P6IiDzkDuAMgASAORKpMWOh6tvs/oiIOOQOwAyABIA1EqkxY6Hq2+z+iIg05A6gDIAEgDESqTFjoerb7P6IiDDkDoAMgASALRKpMWOh6tvs/oiILOQOYAyABIApEqkxY6Hq2+z+iIgo5A5ADIAEgCUSqTFjoerb7P6IiCTkDiAMgASAI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NgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAEKIbCxgAIAAoAgQiACABIAIgACgCACgCIBEFAAu9AgEDfyMAQRBrIgMkACADQQhqIAEoAgQiAiACKAIAKAIsEQIAIAMgASgCDCIBIAEoAgAoAiwRAgBBIBDVGiIBQgA3AgQgAUGokgU2AgAgAUEMaiIEEOMLGiABQaSTBTYCDCABIAMoAgg2AhAgASADKAIMIgI2AhQgAgRAIAIgAigCBEEBajYCBAsgASADKAIANgIYIAEgAygCBCICNgIcAkAgAkUEQCAAIAE2AgQgACAENgIADAELIAIgAigCBEEBajYCBCADKAIEIQIgACABNgIEIAAgBDYCACACRQ0AIAIgAigCBCIBQQFrNgIEIAENACACIAIoAgAoAggRAQAgAhDQGgsCQCADKAIMIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyADQRBqJAALiQEBA38gAEG0lQU2AgwgAEG8lAU2AgACQCAAKAIcIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAQQxqIQICQCAAKAIUIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAC4wBAQN/IABBtJUFNgIMIABBvJQFNgIAAkAgACgCHCIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgAEEMaiECAkAgACgCFCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARDQGgsgAhDjCxogABCiGwt5AQJ/IABBtJUFNgIAAkAgACgCECIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsCQCAAKAIIIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCyAAEOMLGiAAC3wBAn8gAEG0lQU2AgACQCAAKAIQIgFFDQAgASABKAIEIgJBAWs2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GiIBQYAFaiEMIAEgCiACayIKaiENIApBAU4EQCABIAIgChCuGxoLIAAgDDYCiAEgACANNgKEASAAIAE2AoABIAJFDQAgAhCiGwsgACAFIAYQ7w1BACECIABBADoAvAEgAEL/////////9/8ANwNQIABBADYCHCAAIAlBAkkiCiAJQQNGciIBOgC9ASAKRQRAIAtBADYCCCALQgA3AwBBACEKQQAhCSADBEAgA0GAgICABE8NAiALIANBAnQiAxDVGiIJNgIAIAsgAyAJaiICNgIIIAlBACADEK8bGiALIAI2AgQgAiEKCyAAKAKYASIDBEAgACADNgKcASADEKIbIAsoAgghAiALKAIEIQogCygCACEJIAAtAL0BIQELIAAgAjYCoAEgACAKNgKcASAAIAk2ApgBCyAAIAFBAXM6AL4BIAtBEGokAA8LEPwaAAtXAQN/IABB8LcFNgIQIABB9LYFNgIAIABBEGohAgJAIAAoAhgiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLIAIQ4wsaIAALWgEDfyAAQfC3BTYCECAAQfS2BTYCACAAQRBqIQICQCAAKAIYIgFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCyACEOMLGiAAEKIbCxMAIABBEGogACgCECgCABEAABoLRwECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAALSgECfyAAQfC3BTYCAAJAIAAoAggiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLIAAQ4wsaIAAQohsLjgECAn8BfSABKAIEIgMgAiADKAIAKAIgEQIAAkAgASgCDEEBSARAQQAhAwwBC0EAIQJBACEDA0AgASgCBCIEIAIgBCgCACgCJBEZACEFIAErAxiaIAMgASsDECAFu2RqIgMgASgCDCIEIAJrardkDQEgAkEBaiICIARIDQALCyAAIAM2AgAgACADt5o5AwgLJgAjAEEQayIAJABBq34gAEGguQUQiQNBsbkFQbq5BUHjARCYCgALpQECAn8BfCAAKwMQIQUgACgCBCIAIAEgACgCACgCKBEDACEA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QCADQThrELEGIgMgBEcNAAsgACgCgAELIQMgACAENgKEASADEKIbCyAAIAU2AoQBIAAgATYCgAEgACAFNgKIASAJQRBqJAAPCxD8GgAL3QkBAX8jAEEQayILJAAgABDjCxogAEHs8wU2AgAgACABKAIANgIEIAAgASgCBCIBNgIIIAEEQCABIAEoAgRBAWo2AgQLIAAgAigCADYCDCAAIAIoAgQiATYCECABBEAgASABKAIEQQFqNgIECyAAIAMoAgAiATYCFCAAIAMoAgQiAjYCGCACBEAgAiACKAIEQQFqNgIEIAAoAhQhAQsgAEIANwIcQQAhAiAAQQA2AmAgAEIANwNwIAAgBTkDaCAAIAk2AlggACAINgJUIABCADcCJCAAQgA3AiwgAEIANwI0IABCADcCPCAAQgA3AkQgAEIANwJMIABCADcDeCAAQgA3A4ABIABBADYCiAEgASABKAIAKAI0EQAAIQEgACAGOgBkIAAgATYCXAJAIAYEQCAAIAc2AmAgC0EAIAQgBxD6EyALKAIAIQEgCygCBCIDBEAgAyADKAIEQQFqNgIECyAAIAE2AhwgACgCICEBIAAgAzYCIAJAIAFFDQAgASABKAIEIgNBAWs2AgQgAw0AIAEgASgCACgCCBEBACABENAaCwJAIAsoAgQiAUUNACABIAEoAgQiA0EBazYCBCADDQAgASABKAIAKAIIEQEAIAEQ0BoLQQAhAyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NAiALIAFBOGwiAxDVGiIBNgIAIAsgATYCBCALIAEgA2oiAzYCCANAIAEQpwZBOGoiASADRw0ACyALIAM2AgQLIAAoAjAiBgRAAn8gBiAGIAAoAjQiAUYNABoDQCABQThrELEGIgEgBkcNAAsgACgCMAshASAAIAY2AjQgARCiGyALKAIEIQMLIAsoAgAhASAAIAM2AjQgACABNgIwIAAgCygCCDYCOEEAIQEgC0EANgIIIAtCADcDAEEAIQMgBARAIARBgICAgARPDQIgCyAEQQJ0IgYQ1RoiAzYCACALIAMgBmoiATYCCCADQQAgBhCvGxogCyABNgIECyABIQYgACAAKAJIIgcEfyAAIAc2AkwgBxCiGyALKAIEIQYgCygCACEDIAsoAggFIAELNgJQIAAgBjYCTCAAIAM2AkggACAAKwNoIgUgCqIiCjkDcCAAIAogBaEgCbejOQN4CyAAKAIEIgEgASgCACgCNBEAACEBIAtBADYCCCALQgA3AwAgAQRAIAFBpZLJJE8NASALIAFBOGwiAhDVGiIBNgIAIAsgATYCBCALIAEgAmoiAjYCCANAIAEQpwZBOGoiASACRw0ACyALIAI2AgQLIAAoAiQiAwRAAn8gAyADIAAoAigiAUYNABoDQCABQThrELEGIgEgA0cNAAsgACgCJAshASAAIAM2AiggARCiGyALKAIEIQILIAsoAgAhASAAIAI2AiggACABNgIkIAAgCygCCDYCLEEAIQEgC0EANgIIIAtCADcDAEEAIQIgBARAIARBgICAgARPDQEgCyAEQQJ0IgMQ1RoiAjYCACALIAIgA2oiATYCCCACQQAgAxCvGxogCyABNgIECyABIQMgACgCPCIGBEAgACAGNgJAIAYQohsgCygCBCEDIAsoAgAhAiALKAIIIQELIAAgAzYCQCAAIAI2AjwgACABNgJEIAtBEGokAA8LEPwaAAvYCQECfyMAQRBrIg0kACAAEOMLGiAAQYz2BTYCACAAIAEoAgA2AgQgACABKAIEIgw2AgggDARAIAwgDCgCBEEBajYCBAsgACADKAIANgIMIAAgAygCBCIMNgIQIAwEQCAMIAwoAgRBAWo2AgQLIAAgAigCADYCFCAAIAIoAgQiDDYCGCAMBEAgDCAMKAIEQQFqNgIECyAAIAQoAgA2AhwgACAEKAIEIgw2AiAgDARAIAwgDCgCBEEBajYCBAsQvw0hDCAAIAo5A0AgACAIOQMwIAAgBzYCKCAAIAw2AiQgASgCACIBIAEoAgAoAigRAAAhASAAIAk5A3AgACABNgJIIAMoAgAiAyADKAIAKAI4EQAAIQMgAEIANwKYASAAIAs5A5ABIAAgCzkDiAEgACAGNgKEASAAIAM2AoABIABCADcCoAEgAEIANwKoASAAQgA3ArABIABCADcCuAEgAEIANwLAASAAQgA3AsgBQQAhASAAQQA2AtABIABC/////w83A+gBIAAgACgCJBDlCjYC8AEgACAAKwOQASILIAuiIgggCKAiCDkDYCAAIAAoAii3RAAAAAAAAPC/oEQAAAAAAADgP6IiCTkDOCAAIAhEAAAAAAAA4D+iOQN4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FBEBAAsgABCiGws1ACAAKAIYIgBFBEBBBBAVIgBBoOgINgIAIABByOgIQY8MEBYACyAAIAEgACgCACgCGBECAAtbACABQaiCBjYCACABIAApAgQ3AgQgASAAKQIMNwIMIAEgACkCFDcCFCABIAApAhw3AhwgASAAKQIkNwIkIAEgACkCLDcCLCABIAApAjQ3AjQgASAAKAI8NgI8CwoAIABBBGoQ/Q4L8hcDGH8CfgJ8IwBBwAJrIgEkAAJAAkACQCAAKAIALQAAQQFxDQAgACgCCCEIIAAoAgQiAiACKAIAIglBAWo2AgAgCCgCTCECIAFBqAJqIAgoAggiAyADKAIAKAI4EQIAIAFBoAJqIAgoAjAiAyACIAlBCmxqIgIgAygCACgCLBEEACABQZgCaiAIKAIQIgMgAygCACgCPBECACABQZACaiAIKAIoIgMgAkEBaiADKAIAKAI0EQQAIAJBAmohAyAAKAIMLQAABEAgAUHQAWogCCgCOCIGIAMgBigCACgCJBEEACABKALQASEOAkAgASgC1AEiCkUNACAKIAooAgRBAWo2AgQgASgC1AEiA0UNACADIAMoAgQiBkEBazYCBCAGDQAgAyADKAIAKAIIEQEAIAMQ0BoLIAJBA2ohAwsgAUGIAmogCCgCICICIAIoAgAoAiQRAgACQCAAKAIQLQAADQAgAUHQAWogCCgCGCICIAMgAigCACgCKBEEACABKALQASEWIAEoAtQBIgtFDQAgCyALKAIEQQFqNgIEIAEoAtQBIgJFDQAgAiACKAIEIgNBAWs2AgQgAw0AIAIgAigCACgCCBEBACACENAaCyABQdABahCnBiEHIAFBmAFqEKcGIRMgAUHgAGoQpwYhDyABQv/////////3/wA3A1ggAUEANgJQIAFC//////////f/ADcDSCABQQA2AkAgAUL/////////9/8ANwM4IAFBADYCMCABQv/////////3/wA3AyggAUEANgIgIAEoAqgCIgIgAigCACgCKBEAACECIAFBADYCGCABQgA3AxAgAgRAIAJBgICAgARPDQMgASACQQJ0IgIQ1RoiAzYCECABIAIgA2oiBjYCGCADQQAgAhCvGxogASAGNgIUCyABKAKoAiICIAIoAgAoAjARAAAhAiABQQA2AgggAUIANwMAIAIEQCACQaWSySRPDQIg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ASIBBEAgACABNgKkASABEKIbCyAAEOMLGiAAEKIbCw0AIAAoAiBBAWtBAkkLCAAgACgCIEULCgAgACgCIEEDRgsNACAAKAIgQQVrQQJJCwcAIAAoAhgLCAAgAC0AsQELBwAgACgCYAsHACAAKAI8CwgAIAAoApABCwcAIAAoAigLBwAgACgCHAsHACAAKwMQCwcAIAArAwgLBwAgACgCJAsIACAAKwOIAQsHACAAKwN4CwcAIAArA3ALCAAgACsDgAELBwAgACgCOAsHACAAKAIsCwcAIAAoAjALBwAgACgCNAsIACAAKwOYAQsIACAAKAKsAQsIACAAKAK8AQsIACAAKwPAAQsIACAAKwPIAQsIACAAKwPQAQsIACAAKwPYAQsIACAAKwPgAQsHACAAKwNYCwcAIAAoAkwLBwAgACgCUAsIACAAQaABagsIACAAKAK0AQsIACAAKAK4AQsJACAAIAE2AjwLCQAgACABNgIsCwkAIAAgATYCOAsJACAAIAE2AjALCgAgACABOgCxAQsJACAAIAE2AmQLCQAgACABNgJgCwoAIAAgATYCkAELCQAgACABNgJECwkAIAAgATYCSAsJACAAIAE2AkALKwAgARCIFSIBmUQAAAAAAADgQWMEQCAAIAGqNgJMDwsgAEGAgICAeDYCTAsKACAAIAE2ArQBCwoAIAAgAToAsAELCAAgAC0AsAEL+AEBBX8jAEEQayIEJAACQCABIAAoAhBOBEAgASAAKAIUIgNKBEAgBEEANgIIIARCADcDACABBEAgAUGAgICABE8NAyABQQJ0IgIQ1RoiBkEAIAIQrxsgAmohAgsgACgCBCIFBEAgACAFNgIIIAUQohsgACgCFCEDCyAAIAY2AgQgACACNgIMIAAgAjYCCAsCQCABIANGDQAgACABNgIUIAFBAUgNACAAKAIEIQNBACEBA0AgAyABQQJ0aiABNgIAIAFBAWoiASAAKAIUSA0ACwsgBEEQaiQADwtBqX4gBEH8jgYQiQNBmI8GQaaPBkEwEJgKAAsQ/BoAC9ADAgN/AnwjAEEQayIGJAAgABDjCxogAEEANgIMIABCADcCBCAAQYSRBjYCACAAQShqIAEQ+RMCQCACIANOBEAgACAENgIgIAAgAjYCECAAIAM2AhQgBkEANgIIIAZCADcDACACBEAgAkGAgICABE8N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AOBBYwRAIAeqDAELQYCAgIB4CyACIAEbIAIgB71C////////////AINCgICAgICAgPj/AFIbDwtBACECIAhEAAAAAAAAAABjDQAgCCAAKAIYIgK3IgpjQQFzRQRAIAcgCRCVFaMiByAKYyEBAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIAIgARsgAiAHvUL///////////8Ag0KAgICAgICA+P8AUhsiAgJ/IAiZRAAAAAAAAOBBYwRAIAiqDAELQYCAgIB4CyIBIAEgAkobDwsgByAJEJUVoyIHIApjIQECfyAHmUQAAAAAAADgQWMEQCAHqgwBC0GAgICAeAsgAiABGyACIAe9Qv///////////wCDQoCAgICAgID4/wBSGw8LIAILkQEDA38BfgF8IAEoAgQhAyABKwMIIQZBMBDVGiICQgA3AgQgAkHEmwY2AgAgASkCECEFIAEoAhghASACQRBqIgQQ4wsaIAIgATYCKCACIAU3AyAgAiAGEIQVRAAAAAAAAPC/oEQAAAAAAADwP6AQlRU5AxggAiADNgIUIAJBwJwGNgIQIAAgAjYCBCAAIAQ2AgALKAAgAEHIngY2AhAgAEHEnQY2AgAgAEEYahDjCxogAEEQahDjCxogAAsrACAAQcieBjYCECAAQcSdBjYCACAAQRhqEOMLGiAAQRBqEOMLGiAAEKIbCxwAIABByJ4GNgIAIABBCGoQ4wsaIAAQ4wsaIAALHwAgAEHIngY2AgAgAEEIahDjCxogABDjCxogABCiGwuhAQIBfwF8IABBCGogASACEPAPIQEgACsDMCACtyAAKAJAt6OgIgREAAAAAAAA8D9mBH8gAwUgBCAAKAJEtxCTFSEEIAArAzhEAAAAAAAA8D8gBKEQlRWjIgS9Qv///////////wCDQoCAgICAgID4/wBSIQACfyAEmUQAAAAAAADgQWMEQCAEqgwBC0GAgICAeAsgASAAGyABIAQgAbdjGwsL4wECBX8CfCABKAIoIQMgASsDOCEHQeAAENUaIgJCADcCBCACQcSdBjYCACABKwMwIQggASgCQCEEIAEoAkQhBSABKAJIIQEgAkEQaiIGEOMLGiACQcieBjYCECACQRhqEOMLGiACIAE2AlggAiAFNgJUIAIgBDYCUCACIAcQhBVEAAAAAAAA8L+gRAAAAAAA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ECADIAQ2AhhBGBDVGiIBIANBEGogAigCABDMECABKAIAKAIIEQEAIAAgATYCACADQSBqJAAPCyADIAU2AgAgA0EQakHEtwYgAxCUCkGufiADQRBqQc23BkGApAZB0AIQmAoAC0F7IANBEGpB2bcGEIkDQc23BkGApAZB0gIQmAoAC+YCAQR/IwBBMGsiAiQAIAEQuBsiA0FwSQRAAkACQCADQQtPBEAgA0EQakFwcSIFENUaIQQgAiAFQYCAgIB4cjYCKCACIAQ2AiAgAiADNgIkDAELIAIgAzoAKyACQSBqIQQgA0UNAQsgBCABIAMQrhsaCyADIARqQQA6AAAgAkEAOgAQIAJBADoAGyACQcAAENUaIgM2AgAgAkKygICAgIiAgIB/NwIEIANBADoAMiADQfyoBi8AADsAMCADQfSoBikAADcAKCADQeyoBikAADcAICADQeSoBikAADcAGCADQdyoBikAADcAECADQdSoBikAADcACCADQcyoBikAADcAACAAQQAgAkEgaiACQRBqIAJBLhCRChogAiwAC0F/TARAIAIoAgAQohsLIAIsABtBf0wEQCACKAIQEKIbCyACLAArQX9MBEAgAigCIBCiGwsgAEGIqQY2AgAgAkEwaiQADwsQ2RoAC7ICAQN/IwBB0ABrIgQkACACKAIAQf+fAXFBgIABRgRAIAIoAgghBiACKAIMIQUgBCACKAIQNgI0IAQgBTYCLCAEIAY2AiggBCAFNgIwIARCADcCHCAEIARBGGpBBHI2AhggBCAAKAIINgIUIARBADoAESAEQfyhBi0AADoAECAEQQk6ABMgBEH0oQYpAAA3AwggBCAEQQhqNgJAIARByABqIARBGGogBEEIaiAEQUBrEJAQIAQoAkhBHGogBEEUahCOECAELAATQX9MBEAgBCgCCBCiGwtBGBDVGiICIARBKGogBEEYahDMECADIAIoAgAoAhgRAgAgASACNgIAIARBGGogBCgCHBD/DyAEQdAAaiQADwtBqX4gBEEoakGxmgcQiQNB85oHQYCkBkGGBhCYCgALsgIBA38jAEHQAGsiBCQAIAIoAgBB/58BcUGFgAFGBEAgAigCCCEGIAIoAgwhBSAEIAIoAhA2AjQgBCAFNgIsIAQgBjYCKCAEIAU2AjAgBEIANwIcIAQgBEEYakEEcjYCGCAEIAAoAgg2AhQgBEEAOgARIARB/KEGLQAAOgAQIARBCToAEyAEQfShBikAADcDCCAEIARBCGo2AkAgBEHIAGogBEEYaiAEQQhqIARBQGsQkBAgBCgCSEEcaiAEQRRqEI4QIAQsABNBf0wEQCAEKAIIEKIbC0EYENUaIgIgBEEoaiAEQRhqEMYRIAMgAigCACgCGBECACABIAI2AgAgBEEYaiAEKAIcEP8PIARB0ABqJAAPC0GpfiAEQShqQbGaBxCJA0HzmgdBgKQGQYYGEJgKAAuyAgEDfyMAQdAAayIEJAAgAigCAEH/nwFxQYWAAUYEQCACKAIIIQYgAigCDCEFIAQgAigCEDYCNCAEIAU2AiwgBCAGNgIoIAQgBTYCMCAEQgA3AhwgBCAEQRhqQQRyNgIYIAQgACgCCDYCFCAEQQA6ABEgBEH8oQYtAAA6ABAgBEEJOgATIARB9KEGKQAANwMIIAQgBEEIajYCQCAEQcgAaiAEQRhqIARBCGogBEFAaxCQECAEKAJIQRxqIARBFGoQjhAgBCwAE0F/TARAIAQoAggQohsLQRgQ1RoiAiAEQShqIARBGGoQ7BIgAyACKAIAKAIYEQIAIAEgAjYCACAEQRhqIAQoAhwQ/w8gBEHQAGokAA8LQal+IARBKGpBsZoHEIkDQfOaB0GApAZBhgYQmAoACxsAIABBuKMGNgIAIAAQnhAgAEEUahCxBhogAAuVAQECfyMAQRBrIgIkACAAQRRqELIGIAAoAhAiAQRAAkACQAJAAkACQCAAKAIEQQFrDgkAAQICAgICAgMCCyABIAEoAgAoAgQRAQAMAwsgASABKAIAKAIEEQEADAILQXsgAkHYowYQiQNBpaQGQYCkBkH6AxCYCgALIAEgASgCACgCBBEBAAsgAEEANgIQCyACQRBqJAALHgAgAEG4owY2AgAgABCeECAAQRRqELEGGiAAEKIbC5QCAQF/IwBBwAFrIgYkAAJAIAEQzAdBgIAERgRAIAZBiAFqIAEoAgQQrQYaDAELIAZBiAFqIAEQyQcLIAIgAyAGQdAAahCnBiIBIAZBGGoQpwYiAiAGKAKQASAEIARBBEEFIAAoAgRBCWtBAkkbEKEQAkACQAJAAkACQCAAKAIEQQFrDgkAAQICAgICAgMCCyAAKAIQIAZBiAFqIAEgAiAEIAUQohAMAwsgACgCECAGQYgBaiABIAIgBCAFEKIQDAILQXsgBkEIakHYowYQiQNBraQGQYCkBkGHBRCYCgALIAAoAhAgBkGIAWogASACIAQgBRCjEAsgAhCxBhogARCxBhogBkGIAWoQsQYaIAZBwAFqJAAL4wMBAn8jAEFAaiIIJAACQCAAEPkHBEACQCAAEMwHQYCABEYEQCAIQQhqIAAoAgQQrQYaDAELIAhBCGogABDJBwsgAiAIQQhqELkGGiAIQQhqELEGGgJAIAIoAgAiCUGAgAFxBEAgCUH/H3FBBEcNASACKAIIIARHDQEgAigCDCIJIAVIDQEgBiAJSA0BDAMLIAAQ2wcLIAAgBCAFQQRBAEEAEPcHAkAgABDMB0GAgARGBEAgCEEIaiAAKAIEEK0GGgwBCyAIQQhqIAAQyQcLIAIgCEEIahC5BhogCEEIahCxBhoMAQsgAiAEIAVBBBCqBgsCQCABEPkHBEACQCABEMwHQYCABEYEQCAIQQhqIAEoAgQQrQYaDAELIAhBCGogARDJBwsgAyAIQQhqELkGGiAIQQhqELEGGgJAIAMoAgAiAEGAgAFxRQ0AIABB/x9xIAdHDQAgAygCCCAERw0AIAMoAgwiACAFSA0AIAAgBkwNAgsgARDZB0UEQCABENsHCyABIAQgBSAHQQBBABD3BwJAIAEQzAdBgIAERgRAIAhBCGogASgCBBCtBhoMAQsgCEEIaiABEMkHCyADIAhBCGoQuQYaIAhBCGoQsQYaDAELIAMgBCAFIAcQqgYLIAhBQGskAAvvAgEEfyMAQTBrIgYkAAJAAkAgACAAKAIAKAIcEQAAIARPBEAgASgCACIHQf8fcUEFRw0BIAIoAgAiCEH/H3FBBEcNASADKAIAIglB/x9xQQVHDQEgByAIcSAJcUGAgAFxRQ0CIAEoAgghCCABKAIMIQcgBiABKAIQNgIsIAYgBzYCJCAGIAg2AiAgBiAHNgIoIAIoAgghByACKAIMIQEgBiACKAIQNgIcIAYgATYCFCAGIAc2AhAgBiABNgIYIAMoAgghAiADKAIMIQEgBiADKAIQNgIMIAYgATYCBCAGIAI2AgAgBiABNgIIIAAgBkEgaiAGQRBqIAYgBCAFKAIAIAAoAgAoAgwRDQAgBkEwaiQADwtBqX4gBkEgakHcmAcQiQNB+pgHQYCkBkGJBBCYCgALQal+IAZBIGpBiJkHEIkDQfqYB0GApAZBigQQmAoAC0GpfiAGQSBqQdKZBxCJA0H6mAdBgKQGQYsEEJgKAAvsAgEEfyMAQTBrIgYkAAJAAkAgACAAKAIAKAIcEQAAIARPBEAgASgCACIHQf8fcQ0BIAIoAgAiCEH/H3FBBEcNASADKAIAIglB/x9xQQRHDQEgByAIcSAJcUGAgAFxRQ0CIAEoAgghCCABKAIMIQcgBiABKAIQNgIsIAYgBzYCJCAGIAg2AiAgBiAHNgIoIAIoAgghByACKAIMIQEgBiACKAIQNgIcIAYgATYCFCAGIAc2AhAgBiABNgIYIAMoAgghAiADKAIMIQEgBiADKAIQNgIMIAYgATYCBCAGIAI2AgAgBiABNgIIIAAgBkEgaiAGQRBqIAYgBCAFKAIAIAAoAgAoAgwRDQAgBkEwaiQADwtBqX4gBkEgakHcmAcQiQNB+pgHQYCkBkGJBBCYCgALQal+IAZBIGpBiJkHEIkDQfqYB0GApAZBigQQmAoAC0GpfiAGQSBqQdKZBxCJA0H6mAdBgKQGQYsEEJgKAAvyAgECfyMAQcABayIHJAACQCABEMwHQYCABEYEQCAHQYgBaiABKAIEEK0GGgwBCyAHQYgBaiABEMkHCyAHQdAAahCnBiEBIAdBGGoQpwYhCAJAIAVBAEoEQCACIAMgASAIIAcoApABIAVB/////wdBBEEFIAAoAgRBCWtBAkkbEKEQIAAoAghBBkYNAQJ/AkACQAJAAkAgACgCBEEBaw4JAAECAgICAgIDAgsgACgCECAHQYgBaiABIAggBCAGEKUQDAMLIAAoAhAgB0GIAWogASAIIAQgBhClEAwCC0F7IAdBCGpB2KMGEIkDQcakBkGApAZBsgUQmAoACyAAKAIQIAdBiAFqIAEgCCAEIAYQphALIQAgCBCxBhogARCxBhogB0GIAWoQsQYaIAdBwAFqJAAgAA8LQal+IAdBCGpBt6QGEIkDQcakBkGApAZBlAUQmAoAC0GrfiAHQQhqQdOkBhCJA0HGpAZBgKQGQZgFEJgKAAvDAgEEfyMAQTBrIgYkAAJAAkAgASgCACIHQf8fcUEFRw0AIAIoAgAiCEH/H3FBBEcNACADKAIAIglB/x9xQQVHDQAgByAIcSAJcUGAgAFxRQ0BIAEoAgghCCABKAIMIQcgBiABKAIQNgIsIAYgBzYCJCAGIAg2AiAgBiAHNgIoIAIoAgghByACKAIMIQEgBiACKAIQNgIcIAYgATYCFCAGIAc2AhAgBiABNgIYIAMoAgghASADKAIMIQIgBiADKAIQNgIMIAYgAjYCBCAGIAE2AgAgBiACNgIIIAAgBkEgaiAGQRBqIAYgBLYgBSgCACAAKAIAKAIQESEAIQIgBkEwaiQAIAIPC0GpfiAGQSBqQYiZBxCJA0GZmgdBgKQGQaQEEJgKAAtBqX4gBkEgakHSmQcQiQNBmZoHQYCkBkGlBBCYCgALwAIBBH8jAEEwayIGJAACQAJAIAEoAgAiB0H/H3ENACACKAIAIghB/x9xQQRHDQAgAygCACIJQf8fcUEERw0AIAcgCHEgCXFBgIABcUUNASABKAIIIQggASgCDCEHIAYgASgCEDYCLCAGIAc2AiQgBiAINgIgIAYgBzYCKCACKAIIIQcgAigCDCEBIAYgAigCEDYCHCAGIAE2AhQgBiAHNgIQIAYgATYCGCADKAIIIQEgAygCDCECIAYgAygCEDYCDCAGIAI2AgQgBiABNgIAIAYgAjYCCCAAIAZBIGogBkEQaiAGIAS2IAUoAgAgACgCACgCEBEhACECIAZBMGokACACDwtBqX4gBkEgakGImQcQiQNBmZoHQYCkBkGkBBCYCgALQal+IAZBIGpB0pkHEIkDQZmaB0GApAZBpQQQmAoAC/gFAQJ/IwBBQGoiAiQAIAEoAgAgASABLAALQQBIG0GFpQYQoxUiAwRAAkACQAJAAkACQCAAKAIEQQFrDgkAAQICAgICAgMCCyAAKAIQIQEgAkIANwAnIAJBADoALyACQa2aBygAADYAIyACQQg2AjAgAkGkqAYoAAA2AhggAkGcqAYpAAA3AxAgAkEANgIcIAJBqpoHKAAANgIgIAIgASABKAIAKAIoEQAANgI0IAIgASABKAIAKAIcEQAANgI4IAIgASABKAIAKAIgEQAANgI8IAJBEGpBMEEBIAMQtBsaIAIgACgCBDYCECACQRBqQQRBASADELQbGiABIAMgASgCACgCFBECAAwDCyAAKAIQIQEgAkIANwAnIAJBADoALyACQa2aBygAADYAIyACQQg2AjAgAkGkqAYoAAA2AhggAkGcqAYpAAA3AxAgAkEANgIcIAJBqpoHKAAANgIgIAIgASABKAIAKAIoEQAANgI0IAIgASABKAIAKAIcEQAANgI4IAIgASABKAIAKAIgEQAANgI8IAJBEGpBMEEBIAMQtBsaIAIgACgCBDYCECACQRBqQQRBASADELQbGiABIAMgASgCACgCFBECAAwCCyADEJoVQXsgAkEQakHYowYQiQNBtqUGQYCkBkH7BRCYCgALIAAoAhAhASACQaSoBigAADYCGCACQgA3ACcgAkEAOgAvIAJBrZoHKAAANgAjIAJBnKgGKQAANwMQIAJBADYCHCACQaqaBygAADYCICACQQQ2AjAgAiABIAEoAgAoAigRAAA2AjQgAiABIAEoAgAoAhwRAAA2AjggAiABIAEoAgAoAiARAAA2AjwgAkEQakEwQQEgAxC0GxogAiAAKAIENgIQIAJBEGpBBEEBIAMQtBsaIAEgAyABKAIAKAIUEQIACyADEJoVIAJBQGskAA8LIAIgASgCACABIAEsAAtBAEgbNgIAIAJBEGpBiKUGIAIQlApBfiACQRBqQbalBkGApAZB1wUQmAoAC40BAQF/IwBB8ABrIgMkACAAIAAoAgAoAhwRAQACQCABEMwHQYCABEYEQCADIAEoAgQQrQYaDAELIAMgARDJBwsgA0E4aiADELQGIABBFGoiASADQThqELkGGiADQThqELEGGiADELEGGiADQThqIAEQrQYhASAAIAIQlRAhACABELEGGiADQfAAaiQAIAALDQAgABCVChogABCiGwuXAgEHfyAAQQRqIQQCQCAAKAIEIgAEQCACKAIAIAIgAi0ACyIDQRh0QRh1QQBIIgUbIQggAigCBCADIAUbIQIDQAJAAkACQAJAAkACQCAAKAIUIAAtABsiAyADQRh0QRh1QQBIIgYbIgMgAiACIANLIgkbIgUEQCAIIABBEGoiBygCACAHIAYbIgcgBRD4FCIGRQRAIAIgA0kNAgwDCyAGQX9KDQIMAQsgAiADTw0CCyAAKAIAIgMNBCABIAA2AgAgAA8LIAcgCCAFEPgUIgMNAQsgCQ0BDAULIANBf0oNBAsgAEEEaiEEIAAoAgQiA0UNAyAEIQALIAAhBCADIQAMAAsACyABIAQ2AgAgBA8LIAEgADYCACAECxgAIAEoAgAiAARAIAAQohsLIAFBADYCAAsMACACQQEQ1Ro2AgALBwAgASgCAAsGAEHkqwYLDgAgAUHsqwZBCxDMAxoLDAAgAiABKAIANgIACwQAIAELBgBB/NIJCw0AIAEgAigCABDNFhoLDAAgAiABKgIAOAIACwYAQazTCQsMACABIAIqAgAQzxYLDAAgAiABLQAAOgAACwYAQbTSCQsMACABIAItAAAQxxYLGABBBBDVGiIAIAEoAgA2AgAgAiAANgIACxsAQQQQ1RoiACABKAIAKAIANgIAIAIgADYCAAsSACACKAIAIAEoAgAoAgA2AgALBgBB0LEGCxAAIAEgAigCACgCABDNFhoLBgBB0LMGCysAIAEoAgAiAARAIAAsAAtBf0wEQCAAKAIAEKIbCyAAEKIbCyABQQA2AgALFgBBDBDVGiIAIAEQ2xoaIAIgADYCAAsZAEEMENUaIgAgASgCABDbGhogAiAANgIACyoAIAIoAgAiACwAC0F/TAR/IAAoAgAQohsgAigCAAUgAAsgASgCABDfGgsEAEEMCwYAQdS8AQspACABAn8gAigCACICLAALQX9MBEAgAigCACECCyACCyACELgbEMwDGgsYAEEIENUaIgAgASsDADkDACACIAA2AgALGwBBCBDVGiIAIAEoAgArAwA5AwAgAiAANgIACxIAIAIoAgAgASgCACsDADkDAAsGAEG40wkLDwAgASACKAIAKwMAENEWC4QDAQd/IwBBQGoiAyQAIABBiLgGNgIAIABBEGoiB0IANwIAIAAgBzYCDCACKAIAIgYgAkEEaiIIRwRAIABBDGohCQNAIAkgByAGIgRBEGoQzRACQCAEKAIEIgVFBEAgBCgCCCIGKAIAIARGDQEgBEEIaiEEA0AgBCgCACIFQQhqIQQgBSAFKAIIIgYoAgBHDQALDAELA0AgBSIGKAIAIgUNAAsLIAYgCEcNAAsLIANBADoAMSADQfyhBi0AADoAMCADQQk6ADMgA0H0oQYpAAA3AyggAiADQShqEM4QIQUgAywAM0F/TARAIAMoAigQohsLIABBADoACAJAIAVB/gFGBEAgA0EIOgATIANBADoAECADQubSsavmrdi25QA3AwggA0EYaiACIANBCGoQzxAgACABIANBGGoQ0BA2AgQgAywAI0F/TARAIAMoAhgQohsLIAMsABNBf0wEQCADKAIIEKIbCyAAQQE6AAgMAQsgACABIAIQ0RA2AgQLIANBQGskACAAC48BAQJ/IwBBEGsiAyQAIAAgASADQQxqIANBCGogAhDvECIEKAIARQRAQSQQ1RoiAUEQaiACEPAQIAEgAygCDDYCCCABQgA3AgAgBCABNgIAAn8gASAAKAIAKAIAIgJFDQAaIAAgAjYCACAEKAIACyECIAAoAgQgAhCNCyAAIAAoAghBAWo2AggLIANBEGokAAu5AQECfyMAQUBqIgMkAAJAIAAgARCBECICIABBBGpHBEAgAigCHCIAIAAoAgAoAhwRAAAoAgRBsLEGRw0BIAIoAhwiACACQSBqIAAoAgAoAhQRAwAoAgAhAiADQUBrJAAgAg8LQTwQFSECIANBIGogA0EQakHkvQYQiQMgARDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgAiADQTBqENMQIAJBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALuAEBAn8jAEFAaiIDJAACQCABIAIQgRAiBCABQQRqRwRAIAQoAhwiASABKAIAKAIcEQAAKAIEQeS7AUcNASAAIAQoAhwiASAEQSBqIAEoAgAoAhQRAwAQ2xoaIANBQGskAA8LQTwQFSEEIANBIGogA0EQakHkvQYQiQMgAhDSECADQTBqIANBIGogA0H4vQYQiQMQ0hAgBCADQTBqENMQIARBkKgGQeMHEBYAC0EBEBVBnLYGQQAQFgALnAMBAn8jAEHwAGsiAiQAAkACQAJAAkAgASgCACABIAEsAAtBAEgbQbulBhCjFSIBBEAgAkEgakEwQQEgARCoFUEBRw0BIAJBIGpBnKgGQQwQ+BQNAiACKAJAQQRHDQMgAigCSCAAKAIARw0EIAIoAkwgACgCBEcNBCACQgA3AhQgAiACQRBqQQRyNgIQIAJBADoACSACQfyhBi0AADoACCACQQk6AAsgAkH0oQYpAAA3AwAgAiACNgJgIAJB6ABqIAJBEGogAiACQeAAahCQECACKAJoQRxqIAJBxABqEI4QIAIsAAtBf0wEQCACKAIAEKIbCyAAIAJBEGoQ0RAiAyABIAMoAgAoAhgRAgAgARCaFSACQRBqIAIoAhQQ/w8LIAJB8ABqJAAgAw8LQTwQFSICQdSnBhCZECACQZCoBkHjBxAWAAtBPBAVIgJBqKgGEJkQIAJBkKgGQeMHEBYACyABEJoVQTwQFSICQZK+BhCZECACQZCoBkHjBxAWAAsgARCaFUE8EBUiAkHWvgYQmRAgAkGQqAZB4wcQFgAL+QIBBn8jAEEQayIDJAAgA0EAOgAJIANB/KEGLQAAOgAIIANBCToACyADQfShBikAADcDACABIAMQzhAhBCADLAALQX9MBEAgAygCABCiGwsCQAJAAkACQAJAAkAgBA4HAAMEAwMBAgMLQSQQ1RoiAkGgvwY2AgAgAiAAKQIANwIEIAIgACkCCDcCDCACQgA3AhggAiACQRhqIgU2AhQgASgCACIAIAFBBGoiBkYNBCACQRRqIQcDQCAHIAUgACIEQRBqEM0QAkAgACgCBCIBRQRAIAQoAggiACgCACAERg0BIARBCGohBANAIAQoAgAiAUEIaiEEIAEgASgCCCIAKAIARw0ACwwBCwNAIAEiACgCACIBDQALCyAAIAZHDQALDAQLQegAENUaIgIgACABEPEQDAMLQcwAENUaIgIgACABEPIQDAILQTwQFSIBQYW/BhCZECABQZCoBkHjBxAWAAtB7AAQ1RoiAiAAIAEQ8xALIANBEGokACACC1QBAX8gACABIAIoAgAgAiACLQALIgFBGHRBGHVBAEgiAxsgAigCBCABIAMbEOcaIgIpAgA3AgAgACACQQhqIgAoAgA2AgggAkIANwIAIABBADYCAAvcAQECfyMAQSBrIgIkACACQQA6ABAgAkEAOgAbIAJBwAAQ1RoiAzYCACACQrKAgICAiICAgH83AgQgA0EAOgAyIANB/KgGLwAAOwAwIANB9KgGKQAANwAoIANB7KgGKQAANwAgIANB5KgGKQAANwAYIANB3KgGKQAANwAQIANB1KgGKQAANwAIIANBzKgGKQAANwAAIABBACABIAJBEGogAkEwEJEKGiACLAALQX9MBEAgAigCABCiGwsgAiwAG0F/TARAIAIoAhAQohsLIABBiKkGNgIAIAJBIGokAAszAQF/IABBiLgGNgIAIAAoAgQiAQRAIAEgASgCACgCBBEBAAsgAEEMaiAAKAIQEP8PIAALNgEBfyAAQYi4BjYCACAAKAIEIgEEQCABIAEoAgAoAgQRAQALIABBDGogACgCEBD/DyAAEKIbCx0AIAAtAAhFBEAgACgCBCIAIAAoAgAoAggRAQALCx4AIAAoAgQiACABIAIgAyAEIAUgACgCACgCDBENAAseACAAKAIEIgAgASACIAMgBCAFIAAo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IQALAkACQAJAAkAgBkH/AXFFDQAgAEUNACAHBEADQCACLQAMIQECQCACIAIoAggiAygCAEcEQAJAAn8gAUH/AXFFBEAgAkEBOgAMIANBADoADCADIAMoAgQiASgCACIENgIEIAQEQCAEIAM2AggLIAEgAygCCDYCCCADKAIIIgQgBCgCACADR0ECdGogATYCACABIAM2AgAgAyABNgIIIAIgACAAIAIoAgAiA0YbIQAgAygCBCECCyACKAIAIgMLBEAgAy0ADEUNAQsgAigCBCIBBEAgAS0ADEUNBwsgAkEAOgAMAkAgACACKAIIIgJGBEAgACECDAELIAItAAwNAwsgAkEBOgAMDwsgAigCBCIBDQUMBgsCQCABQf8BcQRAIAIhAQwBCyACQQE6AAwgA0EAOgAMIAMgAigCBCIBNgIAIAEEQCABIAM2AggLIAIgAygCCDYCCAJAIAMgAygCCCIEKAIARgRAIAQgAjYCACADKAIAIQEMAQsgBCACNgIECyACIAM2AgQgAyACNgIIIAIgACAAIANGGyEACwJAAkAgASgCACIDRQ0AIAMtAAwNACABIQIMAQsCQCABKAIEIgIEQCACLQAMRQ0BCyABQQA6AAwgACABKAIIIgJHBEAgAi0ADA0DCyACQQE6AAwPCyADBEAgAy0ADEUEQCABIQIMAgsgASgCBCECCyACQQE6AAwgAUEAOgAMIAEgAigCACIDNgIEIAMEQCADIAE2AggLIAIgASgCCDYCCCABKAIIIgMgAygCACABR0ECdGogAjYCACACIAE2AgAgASACNgIIIAEhAwsgAiACKAIIIgAtAAw6AAwgAEEBOgAMIANBAToADCAAIAAoAgAiAigCBCIDNgIAIAMEQCADIAA2AggLIAIgACgCCDYCCCAAKAIIIgMgAygCACAAR0ECdGogAjYCACACIAA2AgQgACACNgIIDwsgAigCCCIDIAMoAgAgAkZBAnRqKAIAIQIMAAsACyAEQQE6AAwLDwsgAS0ADA0AIAIhAwwBCyADQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAEQCAAIAI2AggLIAMgAigCCDYCCCACKAIIIgAgACgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIIAIhAQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAFBAToADCACIAIo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BEAgAhCiGyAAKAJIIANqQQA2AgAgACgCECEECyABQQFqIgEgBE4NASAAKAJIIQIMAAsACyAEQQFIDQBB7OQIKAIAIQYDQEF/IAAoAjwiAkECdCACQf////8DcSACRxsQ1RohASAFQQJ0IgMgACgCSGogATYCACACBEAgACgCSCADaigCACEEQQAhAQNAIAQgAUECdGogATYCACABQQFqIgEgAkcNAAsLAkACfyAAKAJQIgJBIE4EQCAAKAJYDAELIAAgACgCZCACajYCZEGAwAAQoRsiAUUEQEHkxQZBG0EBIAYQtBsaQQAhAQwCCyABIAAoAlQ2AgAgACABNgJUQfw/IQIgAUEEagshASAAIAJBIGs2AlAgACABQSBqNgJYIAAgACgCYEEgajYCYAsgACgCRCADaiABNgIAIAAoAkQgA2ooAgAiAUIANwIAIAFCADcCGCABQgA3AhAgAUIANwIIIAAgACgCRCADaigCACAAKAJIIANqKAIAIAAoAjwQhREgACAAKAJEIANqKAIAIAAoAkggA2ooAgAgACgCPCAAKAIMQQAQhhEgBUEBaiIFIAAoAhBIDQALCw8LQTwQFSIBQcDFBhCZECABQZCoBkHjBxAWAAusCgMOfwJ+A3wgACgCQCIKENUaIQ0gACAKIAAoAmhqNgJoQX8gCkEFdCIHIApBA3QiDEH4////A3EgDEcbENUaQQAgBxCvGyEHIAMEfCAMQQFrQQN2IQ8gACgCKCEQIAAoAiwhEQNAIBEgECACIA5BAnRqKAIAbGohC0EAIQlBACEEQQAhBSAKBEADQCAFIAQgC2otAABBgMYGai0AAGohBSAEQQFqIgQgCkcNAAsLIAUgBWytIRNBACEGIAwEQANAIAcgBkECdCIEaiIFIAUoAgAgCSALaiIFLQAAQQFxajYCACAHIARBBHJqIgggCCgCACAFLQAAQQF2QQFxajYCACAHIARBCHJqIgggCCgCACAFLQAAQQJ2QQFxajYCACAHIARBDHJqIgggCCgCACAFLQAAQQN2QQFxajYCACAHIARBEHJqIgggCCgCACAFLQAAQQR2QQFxajYCACAHIARBFHJqIgggCCgCACAFLQAAQQV2QQFxajYCACAHIARBGHJqIgggCCgCACAFLQAAQQZ2QQFxajYCACAHIARBHHJqIgQgBCgCACAFLQAAQQd2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IABBJGogACgCKBD/DyAAKAIEIgIEQAJ/IAIgAiAAKAIIIgFGDQAaA0AgAUHIAGsQsBEiASACRw0ACyAAKAIECyEBIAAgAjYCCCABEKIbCyAAEKIbC8QCAgd/AXwjAEHQAGsiBiQAAkAgACgCMCIBIAAoAggiAiAAKAIEIgRrQcgAbSIDSwRAIABBBGogASADaxCzEQwBCyABIANPDQAgBCABQcgAbGoiASACRwRAA0AgAkHIAGsQsBEiAiABRw0ACwsgACABNgIICyAAKAIwQQFOBEADQCAAKAIEIAVByABsaiIBIAZBCGogACgCICAAKAI0ELQRIgIQtREgAhCwERogACgCHCEEIAAoAhghByABQQxqAn8gACgCECIDIAEoAhhquEQzMzMzMzPzP6IiCEQAAAAAAADwQWMgCEQAAAAAAAAAAGZxBEAgCKsMAQtBAAsQnBFBACECIAMEQANAIAEgAiAEIAIgB2xqELYRIAJBAWoiAiADRw0ACwsgARC3ESAFQQFqIgUgACgCMEgNAAsLIAZB0ABqJAALkgQBBX8gASAAKAIIIgMgACgCBCICa0HIAG1NBEAgACABBH8gAiABQcgAbGohAwNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiADRw0ACyADBSACCzYCBA8LAkACQAJAIAIgACgCACIEa0HIAG0iBSABaiICQeTxuBxJBEAgBUHIAGwCf0EAIAIgAyAEa0HIAG0iA0EBdCIEIAIgBEsbQePxuBwgA0HxuJwOSRsiBUUNABogBUHk8bgcTw0CIAVByABsENUaCyIGaiIDIAFByABsaiEEIAMhAgNAIAJCADcCACACQgA3AiAgAkIANwIQIAJCADcCCCACQoCAgICAgIDAPzcCGCACQgA3AiggAkIANwIwIAJCADcCOCACQUBrQgA3AgAgAkHIAGoiAiAERw0ACyAGIAVByABsaiEGIAAoAgQiAiAAKAIAIgFGDQIDQCADQcgAayIDIAJByABrIgIQwREgASACRw0ACyAAIAY2AgggACgCBCECIAAgBDYCBCAAKAIAIQEgACADNgIAIAEgAkYNAwNAIAJByABrELARIgIgAUcNAAsMAwsQ/BoA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CwNAIAIiASgCACICDQALCyABIAdHDQALCyAAQgA3AjAgAEEANgJUIABCADcCPCAAQgA3AkwgAEKAgICAgIAINwJEIAAgACkCDDcCKCADQYyiBi0AADoAOCADQQk6ADsgA0EAOgA5IANBhKIGKQAANwMwAkACQAJAAkAgACAFIAYgA0EwahCBECICRwR/IAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNASACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIABUEgCzYCWCADLAA7QX9MBEAgAygCMBCiGwsgA0EQENUaIgI2AiAgA0KMgICAgIKAgIB/NwIkIAJBADoADCACQaGiBigAADYACCACQZmiBikAADcAACAAIAUgBiADQSBqEIEQIgJHBH8gAigCHCIBIAEoAgAoAhwRAAAoAgRBrLMGRw0CIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgAFQQALNgJgIAMsACtBf0wEQCADKAIgEKIbCyADQQU6ABsgA0EAOgAVIANB/qEGKAAANgIQIANBgqIGLQAAOgAUIAACf0EEIAUgBiADQRBqEIEQIgJGDQAaIAIoAhwiASABKAIAKAIcEQAAKAIEQYDTCSgCAEcNAyACKAIcIgEgAkEgaiABKAIAKAIUEQMAKAIACzYCXCADLAAbQX9MBEAgAygCEBCiGwsgA0EAOgAJIANB6qIGLQAAOgAIIANBCToACyADQeKiBikAADcDACAAAn9B5AAgBSAGIAMQgRAiAkYNABogAigCHCIBIAEoAgAoAhwRAAAoAgRBgNMJKAIARw0EIAIoAhwiASACQSBqIAEoAgAoAhQRAwAoAgALNgJkIAMsAAtBf0wEQCADKAIAEKIbC0HFDSECAkACQAJAAkACQCAAKAJgDgQEAwABAgtBxg0hAgwDC0HHDSECDAILQTwQFSICQczCBhCZECACQZCoBkHjBxAWAAtByA0hAgsgACACNgIEIABBADYCCCAAQX8gACgCXCIEQQJ0IARB/////wNxIARHGyICENUaIgE2AjAgACACENUaNgI0QQEhAgJAIARBAUgNACABQQA2AgAgACgCNEEANgIAIARBAUYNAANAIAJBAnQiASAAKAIwakEANgIAIAAoAjQgAWpBADYCACACQQFqIgIgBEcNAAsLIANBQGskAA8LQQEQFUGc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ACgCRCIDRQ0AIAAoAhAiBUEBSA0AQQAhBANAIAMgBEECdGooAgAiAwRAIAAgAxCbEiAAKAIQIQULIARBAWoiBCAFTg0BIAAoAkQhAwwACwALAkACQAJAAkACQCAAQQxqIgdBBEEBIAEQqBVBAUYEQCAAQRRqIghBBEEBIAEQqBVBAUcNASAAQegAakEEQQEgARCoFUEBRw0CIABBHGoiCUEEQQEgARCoFUEBRw0DIABBEGoiCkEEQQEgARCoFUEBRw0EIABBfyAAKAIQIgRBAnQgBEH/////A3EgBEcbENUaNgJIIARBAU4EQEEAIQMDQEF/IAAoAjwiBEECdCAEQf////8DcSAERxsQ1RohBiADQQJ0IgUgACgCSGogBjYCACAAKAJIIAVqKAIAQQQgBCABEKgVIARHDQcgACABIAAoAkQgBWogAxCjEiADQQFqIgMgACgCEEgNAAsLIAIgACAAKAIAKAIoEQAANgIQIAJBADoACSACQQhqIgNB/KEGLQAAOgAAIAJBCToACyACQfShBikAADcDACACIAI2AiAgAkEoaiAAQTBqIgQgAiACQSBqEJAQIAIoAihBHGogAkEQahCOECACLAALQX9MBEAgAigCABCiGwsgAkEAOgAJIANBjKIGLQAAOgAAIAJBCToACyACQYSiBikAADcDACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIAcQhhAgAiwAC0F/TARAIAIoAgAQohsLIAJBBToACyACQQA6AAUgAkH+oQYoAAA2AgAgAkGCogYtAAA6AAQgAiACNgIgIAJBKGogBCACIAJBIGoQkBAgAigCKEEcaiAKEIYQIAIsAAtBf0wEQCACKAIAEKIbCyACQZaiBi8AADsBCCACQYAUOwEKIAJBjqIGKQAANwMAIAIgAjYCICACQShqIAQgAiACQSBqEJAQIAIoAihBHGogCBCGECACLAALQX9MBEAgAigCABCiGwsgAkEQENUaIgM2AgAgAkKMgICAgIKAgIB/NwIEIANBADoADCADQaGiBigAADYACCADQZmiBikAADcAACACIAI2AiAgAkEoaiAEIAIgAkEgahCQECACKAIoQRxqIABBGGoQkRAgAiwAC0F/TARAIAIoAgAQohsLIAJBADoACCACQuPE/crmjdmy+AA3AwAgAkEIOgALIAIg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IGoQugYhCiAFIAQ2AiQgBSABNgIgIAVCgICAgPj/////ADcDECAFQTBqIAggBUEgaiAFQRBqELoGIQEgACgCLCELIAVCADcDKCAFIAk2AiQgBUGAgIQINgIgIAUgCjYCFCAFQYCAhBA2AhAgBUIANwMYIAUgATYCBCAFQYCAhBA2AgAgBUIANwMIIAsgBUEgaiAFQRBqIAUgDCAGIAAoAiQgCygCACgCEBFDABogARCxBhogChCxBhogCRCxBhogBCIBIAUoAtACSA0ACwsgAEE0aiAHIAggAhDoEyAIELEGGiAHELEGGiAFQcgCahCxBhogBUGAA2okAAuXAQECfyAAQfycBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgJGDQAaA0AgAkEwaxDYCiICIAFHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiAkYNABoDQCACQThrELEGIgIgAUcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogAAvTAQECfyAAQaybBzYCNCAAQfCfBzYCACAAKAJwIgEEQCAAIAE2AnQgARCiGwsgAEE4ahCxBhoCQCAAKAIwIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABENAaCwJAIAAoAigiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQ0BoLAkAgACgCICIBRQ0AIAEgASgCBCICQQFrNgIEIAINACABIAEoAgAoAggRAQAgARDQGgsgABDrExogAAsKACAAEOwTEKIbCxYAIABBhKYHNgIAIABBDGoQ7BMaIAALGQAgAEGEpgc2AgAgAEEMahDsExogABCiGwsWACAAQfimBzYCACAAQQxqEJ0QGiAACxkAIABB+KYHNgIAIABBDGoQnRAaIAAQohsLFQAgAEHopwc2AgAgAEEMahD+DyAACxgAIABB6KcHNgIAIABBDGoQ/g8gABCiGwsKACAAQQxqEP4PC1sBA3wgASsDCCECIAErAxAhAyABKwMAIQQgAEIANwNAIAAgBDkDOCAAQgA3AyAgACADOQMYIAAgAjkDECAAQgA3AwAgACACmjkDMCAAIASaOQMoIAAgA5o5AwgLhQIBCHwgACABKwMAIgIgAqIgASsDCCID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IABBDGoPCyADIAJB9LEHENUDAAvhAQEFfyMAQRBrIgUkAEEwENUaIgNCADcCBCADQYSqBzYCACABKAIEIQQgASgCCCEGIANBEGoiBxDjCxogA0IANwIcIANBiKsHNgIQQQAhASADQQA2AiQgAyACrEL/////DyACGzcDKCADIAY2AhggAyAENgIUIAVBADYCCCAFQgA3AwBBACECAkAgBARAIARBgICAgARPDQEgBEECdCIEENUaIgJBACAEEK8bIARqIQELIAMgATYCJCADIAE2AiAgAyACNgIcIAAgAzYCBCAAIAc2AgAgBUEQaiQADwsQ/BoAC3wBBH8gAEGktAc2AgwgAEGYswc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIABBDGoQ4wsaIAALfwEEfyAAQaS0BzYCDCAAQZizBzYCACAAKAIQIgEEQAJ/IAEgASAAKAIUIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCEAshAiAAIAE2AhQgAhCiGwsgAEEMahDjCxogABCiGwtwAQR/IABBpLQHNgIAIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC3MBBH8gAEGktAc2AgAgACgCBCIBBEACfyABIAEgACgCCCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAgQLIQIgACABNgIIIAIQohsLIAAQ4wsaIAAQohsLDQAgACgCBCABQQxsagsVACAAQai2BzYCACAAQQxqEP4PIAALGAAgAEGotgc2AgAgAEEMahD+DyAAEKIbCxUAIABBpLcHNgIAIABBDGoQ/g8gAAsYACAAQaS3BzYCACAAQQxqEP4PIAAQohsL1wEBBH8gAEGguQc2AgwgAEGcuAc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsLIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAQQxqEOMLGiAACwoAIAAQkRQQohsLywEBBH8gAEGguQc2AgAgACgCECIBBEACfyABIAEgACgCFCIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhALIQIgACABNgIUIAIQohsLIAAoAgQiAQRAAn8gASABIAAoAggiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIECyECIAAgATYCCCACEKIbCyAAEOMLGiAAC84BAQR/IABBoLkHNgIAIAAoAhAiAQRAAn8gASABIAAoAhQiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIQCyECIAAgATYCFCACEKIbCyAAKAIEIgEEQAJ/IAEgASAAKAIIIgNGDQAaA0AgA0EMayICKAIAIgQEQCADQQhrIAQ2AgAgBBCiGwsgAiEDIAEgAkcNAAsgACgCBAshAiAAIAE2AgggAhCiGwsgABDjCxogABCiGwsNACAAKAIQIAFBDGxqC4kBAQR/IABB9LsHNgIMIABB8LoHNgIAIAAoAhwiAQRAAn8gASABIAAoAiAiA0YNABoDQCADQQxrIgIoAgAiBARAIANBCGsgBDYCACAEEKIbCyACIQMgASACRw0ACyAAKAIcCyECIAAgATYCICACEKIbCyAAQRBqIAAoAhQQlxQgAEEMahDjCxogAAs2ACABBEAgACABKAIAEJcUIAAgASgCBBCXFCABKAIgIgAEQCABIAA2AiQgABCiGwsgARCiGwsLjAEBBH8gAEH0uwc2AgwgAEHwugc2AgAgACgCHCIBBEACfyABIAEgACgCICIDRg0AGgNAIANBDGsiAigCACIEBEAgA0EIayAENgIAIAQQohsLIAIhAyABIAJHDQALIAAoAhwLIQIgACABNgIgIAIQohsL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OQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAJBmgVGDQAgAkEqRw0BCwJ/An8CfyABKAIIIgIEQCAAKAIoIAIgAxECACAAKAIcIQELIAEoAkQiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAkAiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAEoAjgiAgsEQCAAKAIoIAIgACgCJBECACAAKAIcIQELIAAoAiggASAAKAIkEQIAIABBADYCHAsLmQIBA39BfiECAkAgAEUNACAAKAIgRQ0AIAAoAiRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCBCIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsgAEECNgIsIABBADYCCCAAQgA3AhQgAUEANgIUIAEgASgCCDYCECABKAIYIgJBf0wEQCABQQAgAmsiAjYCGAsgAUE5QSpB8QAgAhsgAkECRhs2AgQgAAJ/IAJBAkYEQEEAQQBBABCpFAwBC0EAQQBBABCnFAs2AjBBACECIAFBADYCKCABEMEUCyACC7cBAQJ/IAAQrBRFBEAgACgCHCIAIAAoAixBAXQ2AjwgACgCRCIBIAAoAkxBAXRBAmsiAmpBADsBACABQQAgAhCvGxogAEEANgK0LSAAQoCAgIAgNwJ0IABCADcCaCAAQoCAgIAgNwJcIABBADYCSCAAIAAoAoQBQQxsIgFB5P4Hai8BADYCkAEgACABQeD+B2ovAQA2AowBIAAgAUHi/gdqLwEANgKAASAAIAFB5v4Hai8BADYCfAsLoAYBCn8gACgCLCIHQYYCayEJIAAoAnQhBSAHIQEDQCAAKAI8IAVrIAAoAmwiCGshBiABIAlqIAhNBEAgACgCOCIBIAEgB2ogByAGaxCuGxogACAAKAJwIAdrNgJwIAAgACgCbCAHayIINgJsIAAgACgCXCAHazYCXCAAKAJEIAAoAkwiA0EBdGohASAAKAIsIQIDQCABQQJrIgFBACABLwEAIgQgAmsiBSAEIAVJGzsBACADQQFrIgMNAAsgACgCQCACQQF0aiEBIAIhAwNAIAFBAmsiAUEAIAEvAQAiBCACayIFIAQgBUkbOwEAIANBAWsiAw0ACyAGIAdqIQYLAkAgACgCACIBKAIEIgNFDQAgACgCdCEEIAYgAyADIAZLGyICBEAgACgCOCEFIAEgAyACazYCBCAFIAhqIARqIAEoAgAgAhCuGyEDAkACQAJAIAEoAhwoAhhBAWsOAgABAgsgASABKAIwIAMgAhCnFDYCMAwBCyABIAEoAjAgAyACEKkUNgIwCyABIAEoAgAgAmo2AgAgASABKAIIIAJqNgIIIAAoAnQhBAsgACACIARqIgU2AnQCQCAAKAK0LSICIAVqQQNJDQAgACAAKAI4IgYgACgCbCACayIBaiIDLQAAIgQ2AkggACAAKAJUIgogAy0AASAEIAAoAlgiCHRzcSIDNgJIA0AgAkUNASAAIAEgBmotAAIgAyAIdHMgCnEiAzYCSCAAKAJAIAAoAjQgAXFBAXRqIAAoAkQgA0EBdGoiBC8BADsBACAEIAE7AQAgACACQQFrIgI2ArQtIAFBAWohASACIAVqQQJLDQALCyAFQYUCSw0AIAAoAgAoAgRFDQAgACgCLCEBDAELCwJAIAAoAjwiAyAAKALALSIBTQ0AIAAoAnQgACgCbGoiAiABSwRAIAAoAjggAmpBACADIAJrIgFBggIgAUGCAkkbIgEQrxsaIAAgASACajYCwC0PCyACQYICaiICIAFNDQAgACgCOCABakEAIAMgAWsiAyACIAFrIgEgASADSxsiARCvGxogACAAKALALSABajYCwC0LC4M2AQp/QX4hAwJAIABFDQAgACgCIEUNACAAKAIkRQ0AIAAoAhwiAkUNACACKAIAIABHDQACQAJAIAIoAgQiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAFBBUsNAAJAAkAgACgCDEUNACAAKAIEIgMEQCAAKAIARQ0BCyABQQRGDQEgBEGaBUcNAQsgAEGgrggoAgA2AhhBfg8LIAAoAhBFBEAgAEGsrggoAgA2AhhBew8LIAIoAighBiACIAE2AigCQCACKAIUBEAgAhDEFAJAIAAoAhAiBCACKAIUIgUgBCAFSRsiA0UNACAAKAIM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IAdFDQQgAiAGLQAAOgADIAdBAUYEQCACQQRqIQMMBQsgAiAELQAEOgAEIAJBBWohAwwECyADIAItAAE6AAEgA0ECaiEDDAMLIAAgBzYCGEHR/gALNgIEDAILIAMgBzoAACADQQFqIQMLIAMgDU8NACAIIA5JDQELCyAAIAM2AgwgACAIIAVBA3ZrIgI2AgAgACANIANrQYECajYCECAAIA4gAmtBBWo2AgQgCSAFQQdxIgU2AkAgCSABQX8gBXRBf3NxNgI8C2IAIABBADYCvC0gAEEAOwG4LSAAQbgWakGYngg2AgAgACAAQfwUajYCsBYgAEGsFmpBhJ4INgIAIAAgAEGIE2o2AqQWIABBoBZqQfCdCDYCACAAIABBlAFqNgKYFiAAEMIUC9oEAQF/A0AgACABQQJ0akEAOwGUASABQQFqIgFBngJHDQALIABBADsB/BQgAEEAOwGIEyAAQcQVakEAOwEAIABBwBVqQQA7AQAgAEG8FWpBADsBACAAQbgVakEAOwEAIABBtBVqQQA7AQAgAEGwFWpBADsBACAAQawVakEAOwEAIABBqBVqQQA7AQAgAEGkFWpBADsBACAAQaAVakEAOwEAIABBnBVqQQA7AQAgAEGYFWpBADsBACAAQZQVakEAOwEAIABBkBVqQQA7AQAgAEGMFWpBADsBACAAQYgVakEAOwEAIABBhBVqQQA7AQAgAEGAFWpBADsBACAAQfwTakEAOwEAIABB+BNqQQA7AQAgAEH0E2pBADsBACAAQfATakEAOwEAIABB7BNqQQA7AQAgAEHoE2pBADsBACAAQeQTakEAOwEAIABB4BNqQQA7AQAgAEHcE2pBADsBACAAQdgTakEAOwEAIABB1BNqQQA7AQAgAEHQE2pBADsBACAAQcwTakEAOwEAIABByBNqQQA7AQAgAEHEE2pBADsBACAAQcATakEAOwEAIABBvBNqQQA7AQAgAEG4E2pBADsBACAAQbQTakEAOwEAIABBsBNqQQA7AQAgAEGsE2pBADsBACAAQagTakEAOwEAIABBpBNqQQA7AQAgAEGgE2pBADsBACAAQZwTakEAOwEAIABBmBNqQQA7AQAgAEGUE2pBADsBACAAQZATakEAOwEAIABBjBNqQQA7AQAgAEIANwKsLSAAQZQJakEBOwEAIABBADYCqC0gAEEANgKg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FEUEQEHE/QpBHDYCAAwBC0GYCRChGyICDQELQQAMAQsgAkEAQZABEK8bGiABQSsQ/BRFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAECQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAkGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQJQ0AIAJBCjoASwsgAkH6ETYCKCACQfsRNgIkIAJB/BE2AiAgAkH9ETYCDEHM/QooAgBFBEAgAkF/NgJMCyACEMMVCyECIANBIGokACACC3EBA38jAEEQayICJAACQAJAQbTfCCABLAAAEPwURQRAQcT9CkEcNgIADAELIAEQxxUhBCACQbYDNgIAIAAgBEGAgAJyIAIQIBDrFCIAQQBIDQEgACABEKIVIgMNASAAECMaC0EAIQMLIAJBEGokACADC7sBAQJ/IwBBoAFrIgQkACAEQQhqQbjfCEGQARCuGxoCQAJAIAFBAWtB/////wdPBEAgAQ0BQQEhASAEQZ8BaiEACyAEIAA2AjQgBCAANgIcIARBfiAAayIFIAEgASAFSxsiATYCOCAEIAAgAWoiADYCJCAEIAA2AhggBEEIaiACIAMQvBUhACABRQ0BIAQoAhwiASABIAQoAhhGa0EAOgAADAELQcT9CkE9NgIAQX8hAAsgBEGgAWokACAACzQBAX8gACgCFCIDIAEgAiAAKAIQIANrIgMgAiADSRsiAxCuGxogACAAKAIUIANqNgIUIAILiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC/FSAEBEAgAygCHCIEIAQgAygCGEZrQQA6AAALIANBoAFqJAALiwEBAn8jAEGgAWsiAyQAIANBCGpBuN8IQZABEK4bGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HIARB/////wdJGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhDAFSAEBEAgAygCHCIEIAQgAygCGEZrQQA6AAALIANBoAFqJAALtAEBA38gAygCTBogAyADLQBKIgRBAWsgBHI6AEoCfyABIAJsIgYgAygCCCADKAIEIgVrIgRBAUgNABogACAFIAQgBiAEIAZJGyIFEK4bGiADIAMoAgQgBWo2AgQgACAFaiEAIAYgBWsLIgQEQANAAkAgAxCsFUUEQCADIAAgBCADKAIgEQUAIgVBAWpBAUsNAQsgBiAEayABbg8LIAAgBWohACAEIAVrIgQNAAsLIAJBACABGwskAQF/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhCmFSADQRBqJAALJAEBfyMAQRBrIgMkACADIAI2AgwgACABIAIQpxUgA0EQaiQACzwBAX8jAEEQayIDJAAgACgCPCABIAJB/wFxIANBCGoQpR4Q2xUhACADKQMIIQEgA0EQaiQAQn8gASAAGwt8AQJ/IAAgAC0ASiIBQQFrIAFyOgBKIAAoAhQgACgCHEsEQCAAQQBBACAAKAIkEQUAGgsgAEEANgIcIABCADcDECAAKAIAIgFBBHEEQCAAIAFBIHI2AgBBfw8LIAAgACgCLCAAKAIwaiICNgIIIAAgAjYCBCABQRt0QR91CzwAIAAoAkxBAE4EQCAAQgBBABCfFRogACAAKAIAQV9xNgIADwsgAEIAQQAQnxUaIAAgACgCAEFfcTYCAAvAAgEEfyACKAJMGiABQQFrIQQCQCABQQJOBEAgACEBAkADQAJAIARFDQACfyACKAIEIgNBCiACKAIIIANrEPoUIgYEQCAGIAIoAgQiBWtBAWoMAQsgAigCCCACKAIEIgVrCyEDIAEgBSADIAQgAyAESRsiAxCuGxogAiACKAIEIANqIgU2AgQgASADaiEBIAYNACAEIANrIgRFDQACQCACKAIIIAVLBEAgAiAFQQFqNgIEIAUtAAAhAwwBCyACEJ0VIgNBf0oNAEEAIQMgACABRg0DIAItAABBEHFFDQMMAQsgASADOgAAIAFBAWohASAEQQFrIQQgA0H/AXFBCkcNAQsLIABFBEBBACEDDAELIAFBADoAACAAIQMLDAELIAIgAi0ASiIBQQFrIAFyOgBKIAQNACAAQQA6AAAgAA8LIAMLCgAgAEEwa0EKSQuUAgACQCAABH8gAUH/AE0NAQJAQZjRCigCACgCAEUEQCABQYB/cUGAvwNGDQNBxP0KQRk2AgAMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LQcT9CkEZNgIAC0F/BUEBCw8LIAAgAToAAEEBCxIAIABFBEBBAA8LIAAgARCwFQt/AgF/AX4gAL0iA0I0iKdB/w9xIgJB/w9HBHwgAkUEQCABIABEAAAAAAAAAABhBH9BAAUgAEQAAAAAAADwQ6IgARCyFSEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC/wCAQN/IwBB0AFrIgUkACAFIAI2AswBQQAhAiAFQaABakEAQSgQrxsaIAUgBSgCzAE2AsgBAkBBACABIAVByAFqIAVB0ABqIAVBoAFqIAMgBBC0FUEASARAQX8hAQwBC0EBIAIgACgCTEEAThshAiAAKAIAIQYgACwASkEATARAIAAgBkFfcTYCAAsgBkEgcSEGAn8gACgCMARAIAAgASAFQcgBaiAFQdAAaiAFQaABaiADIAQQtBUMAQsgAEHQADYCMCAAIAVB0ABqNgIQIAAgBTYCHCAAIAU2AhQgACgCLCEHIAAgBTYCLCAAIAEgBUHIAWogBUHQAGogBUGgAWogAyAEELQVIgEgB0UNABogAEEAQQAgACgCJBEFABogAEEANgIwIAAgBzYCLCAAQQA2AhwgAEEANgIQIAAoAhQhAyAAQQA2AhQgAUF/IAMbCyEBIAAgACgCACIDIAZyNgIAQX8gASADQSBxGyEBIAJFDQALIAVB0AFqJAAgAQu0EQIPfwF+IwBB0ABrIgckACAHIAE2AkwgB0E3aiEVIAdBOGohEkEAIQECQANAAkAgD0EASA0AQf////8HIA9rIAFIBEBBxP0KQT02AgBBfyEPDAELIAEgD2ohDwsgBygCTCILIQECQAJAAkAgCy0AACIIBEADQAJAAkAgCEH/AXEiCEUEQCABIQgMAQsgCEElRw0BIAEhCANAIAEtAAFBJUcNASAHIAFBAmoiCTYCTCAIQQFqIQggAS0AAiEMIAkhASAMQSVGDQALCyAIIAtrIQEgAARAIAAgCyABELUVCyABDQYgBygCTCwAARCvFSEBIAcoAkwhCCAHAn8CQCABRQ0AIAgtAAJBJEcNACAILAABQTBrIRFBASETIAhBA2oMAQtBfyERIAhBAWoLIgE2AkxBACEQAkAgASwAACIMQSBrIglBH0sEQCABIQgMAQsgASEIQQEgCXQiCUGJ0QRxRQ0AA0AgByABQQFqIgg2AkwgCSAQciEQIAEsAAEiDEEgayIJQSBPDQEgCCEBQQEgCXQiCUGJ0QRxDQALCwJAIAxBKkYEQCAHAn8CQCAILAABEK8VRQ0AIAcoAkwiCC0AAkEkRw0AIAgsAAFBAnQgBGpBwAFrQQo2AgAgCCwAAUEDdCADakGAA2soAgAhDUEBIRMgCEEDagwBCyATDQZBACETQQAhDSAABEAgAiACKAIAIgFBBGo2AgAgASgCACENCyAHKAJMQQFqCyIBNgJMIA1Bf0oNAUEAIA1rIQ0gEEGAwAByIRAMAQsgB0HMAGoQthUiDUEASA0EIAcoAkwhAQtBfyEKAkAgAS0AAEEuRw0AIAEtAAFBKkYEQAJAIAEsAAIQrxVFDQAgBygCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEKIAcgAUEEaiIBNgJMDAILIBMNBSAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCiAHIAcoAkxBAmoiATYCTAwBCyAHIAFBAWo2AkwgB0HMAGoQthUhCiAHKAJMIQELQQAhCANAIAghCUF/IQ4gASwAAEHBAGtBOUsNCCAHIAFBAWoiDDYCTCABLAAAIQggDCEBIAggCUE6bGpBn+AIai0AACIIQQFrQQhJDQALAkACQCAIQRNHBEAgCEUNCiARQQBOBEAgBCARQQJ0aiAINgIAIAcgAyARQQN0aikDADcDQAwCCyAARQ0IIAdBQGsgCCACIAYQtxUgBygCTCEMDAILIBFBf0oNCQtBACEBIABFDQcLIBBB//97cSIUIBAgEEGAwABxGyEIQQAhDkHI4AghESASIRACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAMQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIAkbIgFB2ABrDiEEFBQUFBQUFBQOFA8GDg4OFAYUFBQUAgUDFBQJFAEUFAQACwJAIAFBwQBrDgcOFAsUDg4OAAsgAUHTAEYNCQwTCyAHKQNAIRZByOAIDAULQQAhAQJAAkACQAJAAkACQAJAIAlB/wFxDggAAQIDBBoFBhoLIAcoAkAgDzYCAAwZCyAHKAJAIA82AgAMGAsgBygCQCAPrDcDAAwXCyAHKAJAIA87AQAMFgsgBygCQCAPOgAADBULIAcoAkAgDzYCAAwUCyAHKAJAIA+sNwMADBMLIApBCCAKQQhLGyEKIAhBCHIhCEH4ACEBCyAHKQNAIBIgAUEgcRC4FSELIAhBCHFFDQMgBykDQFANAyABQQR2QcjgCGohEUECIQ4MAwsgBykDQCASELkVIQsgCEEIcUUNAiAKIBIgC2siAUEBaiABIApIGyEKDAILIAcpA0AiFkJ/VwRAIAdCACAWfSIWNwNAQQEhDkHI4AgMAQsgCEGAEHEEQEEBIQ5ByeAIDAELQcrgCEHI4AggCEEBcSIOGwshESAWIBIQuhUhCwsgCEH//3txIAggCkF/ShshCCAHKQNAIRYCQCAKDQAgFlBFDQBBACEKIBIhCwwMCyAKIBZQIBIgC2tqIgEgASAKSBshCgwLCyAHKAJAIgFB0uAIIAEbIgtBACAKEPoUIgEgCiALaiABGyEQIBQhCCABIAtrIAogARshCgwKCyAKBEAgBygCQAwCC0EAIQEgAEEgIA1BACAIELsVDAILIAdBADYCDCAHIAcpA0A+AgggByAHQQhqNgJAQX8hCiAHQQhqCyEJQQAhAQJAA0AgCSgCACIMRQ0BAkAgB0EEaiAMELEVIgxBAEgiCw0AIAwgCiABa0sNACAJQQRqIQkgCiABIAxqIgFLDQEMAgsLQX8hDiALDQsLIABBICANIAEgCBC7FSABRQRAQQAhAQwBC0EAIQwgBygCQCEJA0AgCSgCACILRQ0BIAdBBGogCxCxFSILIAxqIgwgAUoNASAAIAdBBGogCxC1FSAJQQRqIQkgASAMSw0ACwsgAEEgIA0gASAIQYDAAHMQuxUgDSABIAEgDUgbIQEMCAsgACAHKwNAIA0gCiAIIAEgBRFFACEBDAcLIAcgBykDQDwAN0EBIQogFSELIBQhCAwECyAHIAFBAWoiCTYCTCABLQABIQggCSEBDAALAAsgDyEOIAANBCATRQ0CQQEhAQNAIAQgAUECdGooAgAiCARAIAMgAUEDdGogCCACIAYQtxVBASEOIAFBAWoiAUEKRw0BDAYLC0EBIQ4gAUEKTw0EA0AgBCABQQJ0aigCAA0BIAFBAWoiAUEKRw0ACwwEC0F/IQ4MAwsgAEEgIA4gECALayIMIAogCiAMSBsiEGoiCSANIAkgDUobIgEgCSAIELsVIAAgESAOELUVIABBMCABIAkgCEGAgARzELsVIABBMCAQIAxBABC7FSAAIAsgDBC1FSAAQSAgASAJIAhBgMAAcxC7FQwBCwtBACEOCyAHQdAAaiQAIA4LGAAgAC0AAEEgcUUEQCABIAIgABCzGxoLC0QBA38gACgCACwAABCvFQRAA0AgACgCACICLAAAIQMgACACQQFqNgIAIAMgAUEKbGpBMGshASACLAABEK8VDQALCyABC7sCAAJAIAFBFEsNAAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsLNQAgAFBFBEADQCABQQFrIgEgAKdBD3FBsOQIai0AACACcjoAACAAQgSIIgBCAFINAAsLIAELLQAgAFBFBEADQCABQQFrIgEgAKdBB3FBMHI6AAAgAEIDiCIAQgBSDQALCyABC4MBAgN/AX4CQCAAQoCAgIAQVARAIAAhBQwBCwNAIAFBAWsiASAAIABCCoAiBUIKfn2nQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAiACQQpuIgNBCmxrQTByOgAAIAJBCUshBCADIQIgBA0ACwsgAQtyAQF/IwBBgAJrIgUkAAJAIAIgA0wNACAEQYDABHENACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIDGxCvGxogA0UEQANAIAAgBUGAAhC1FSACQYACayICQf8BSw0ACwsgACAFIAIQtRULIAVBgAJqJAALEQAgACABIAJB/xFBgBIQsxULyRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCfyABvSIYQn9XBEBBASESIAGaIgG9IRhBwOQIDAELQQEhEkHD5AggBEGAEHENABpBxuQIIARBAXENABpBACESQQEhF0HB5AgLIRQCQCAYQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEkEDaiIMIARB//97cRC7FSAAIBQgEhC1FSAAQdvkCEHf5AggBUEgcSIGG0HT5AhB1+QIIAYbIAEgAWIbQQMQtRUgAEEgIAIgDCAEQYDAAHMQuxUMAQsgCUEQaiEQAkACfwJAIAEgCUEsahCyFSIBIAGgIgFEAAAAAAAAAABiBEAgCSAJKAIsIgZBAWs2AiwgBUEgciIVQeEARw0BDAMLIAVBIHIiFUHhAEYNAiAJKAIsIRNBBiADIANBAEgbDAELIAkgBkEdayITNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAlBMGogCUHQAmogE0EASBsiDiEIA0AgCAJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgY2AgAgCEEEaiEIIAEgBrihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIBNBAUgEQCATIQMgCCEGIA4hBwwBCyAOIQcgEyEDA0AgA0EdIANBHUgbIQMCQCAIQQRrIgYgB0kNACADrSEZQgAhGANAIAYgGEL/////D4MgBjUCACAZhnwiGCAYQoCU69wDgCIYQoCU69wDfn0+AgAgBkEEayIGIAdPDQALIBinIgZFDQAgB0EEayIHIAY2AgALA0AgByAIIgZJBEAgBkEEayIIKAIARQ0BCwsgCSAJKAIsIANrIgM2AiwgBiEIIANBAEoNAAsLIANBf0wEQCALQRlqQQltQQFqIREgFUHmAEYhFgNAQQlBACADayADQXdIGyEMAkAgBiAHTQRAIAcgB0EEaiAHKAIAGyEHDAELQYCU69wDIAx2IQ1BfyAMdEF/cyEPQQAhAyAHIQgDQCAIIAgoAgAiCiAMdiADajYCACAKIA9xIA1sIQMgCEEEaiIIIAZJDQALIAcgB0EEaiAHKAIAGyEHIANFDQAgBiADNgIAIAZBBGohBgsgCSAJKAIsIAxqIgM2AiwgDiAHIBYbIgggEUECdGogBiAGIAhrQQJ1IBFKGyEGIANBAEgNAAsLQQAhCAJAIAYgB00NACAOIAdrQQJ1QQlsIQhBCiEDIAcoAgAiCkEKSQ0AA0AgCEEBaiEIIAogA0EKbCIDTw0ACwsgC0EAIAggFUHmAEYbayAVQecARiALQQBHcWsiAyAGIA5rQQJ1QQlsQQlrSARAIANBgMgAaiIKQQltIg1BAnQgCUEwakEEciAJQdQCaiATQQBIG2pBgCBrIQxBCiEDIAogDUEJbGsiCkEHTARAA0AgA0EKbCEDIApBAWoiCkEIRw0ACwsCQEEAIAYgDEEEaiIRRiAMKAIAIg0gDSADbiIPIANsayIKGw0ARAAAAAAAAOA/RAAAAAAAAPA/RAAAAAAAAPg/IAogA0EBdiIWRhtEAAAAAAAA+D8gBiARRhsgCiAWSRshGkQBAAAAAABAQ0QAAAAAAABAQyAPQQFxGyEBAkAgFw0AIBQtAABBLUcNACAamiEaIAGaIQELIAwgDSAKayIKNgIAIAEgGqAgAWENACAMIAMgCmoiCDYCACAIQYCU69wDTwRAA0AgDEEANgIAIAcgDEEEayIMSwRAIAdBBGsiB0EANgIACyAMIAwoAgBBAWoiCDYCACAIQf+T69wDSw0ACwsgDiAHa0ECdUEJbCEIQQohAyAHKAIAIgpBCkkNAANAIAhBAWohCCAKIANBCmwiA08NAAsLIAxBBGoiAyAGIAMgBkkbIQYLA0AgBiIDIAdNIgpFBEAgA0EEayIGKAIARQ0BCwsCQCAVQecARwRAIARBCHEhDwwBCyAIQX9zQX8gC0EBIAsbIgYgCEogCEF7SnEiDBsgBmohC0F/QX4gDBsgBWohBSAEQQhxIg8NAEF3IQYCQCAKDQAgA0EEaygCACIMRQ0AQQohCkEAIQYgDEEKcA0AA0AgBiINQQFqIQYgDCAKQQpsIgpwRQ0ACyANQX9zIQYLIAMgDmtBAnVBCWwhCiAFQV9xQcYARgRAQQAhDyALIAYgCmpBCWsiBkEAIAZBAEobIgYgBiALShshCwwBC0EAIQ8gCyAIIApqIAZqQQlrIgZBACAGQQBKGyIGIAYgC0obIQsLIAsgD3IiFkEARyEKIABBICACAn8gCEEAIAhBAEobIAVBX3EiDUHGAEYNABogECAIIAhBH3UiBmogBnOtIBAQuhUiBmtBAUwEQANAIAZBAWsiBkEwOgAAIBAgBmtBAkgNAAsLIAZBAmsiESAFOgAAIAZBAWtBLUErIAhBAEgbOgAAIBAgEWsLIAsgEmogCmpqQQFqIgwgBBC7FSAAIBQgEhC1FSAAQTAgAiAMIARBgIAEcxC7FQJAAkACQCANQcYARgRAIAlBEGpBCHIhDSAJQRBqQQlyIQggDiAHIAcgDksbIgohBwNAIAc1AgAgCBC6FSEGAkAgByAKRwRAIAYgCUEQak0NAQNAIAZBAWsiBkEwOgAAIAYgCUEQaksNAAsMAQsgBiAIRw0AIAlBMDoAGCANIQYLIAAgBiAIIAZrELUVIAdBBGoiByAOTQ0ACyAWBEAgAEHj5AhBARC1FQsgAyAHTQ0BIAtBAUgNAQNAIAc1AgAgCBC6FSIGIAlBEGpLBEADQCAGQQFrIgZBMDoAACAGIAlBEGpLDQALCyAAIAYgC0EJIAtBCUgbELUVIAtBCWshBiAHQQRqIgcgA08NAyALQQlKIQogBiELIAoNAAsMAgsCQCALQQBIDQAgAyAHQQRqIAMgB0sbIQ0gCUEQakEIciEOIAlBEGpBCXIhAyAHIQgDQCADIAg1AgAgAxC6FSIGRgRAIAlBMDoAGCAOIQYLAkAgByAIRwRAIAYgCUEQak0NAQNAIAZBAWsiBkEwOgAAIAYgCUEQaksNAAsMAQsgACAGQQEQtRUgBkEBaiEGIA9FQQAgC0EBSBsNACAAQePkCEEBELUVCyAAIAYgAyAGayIKIAsgCiALSBsQtRUgCyAKayELIAhBBGoiCCANTw0BIAtBf0oNAAsLIABBMCALQRJqQRJBABC7FSAAIBEgECARaxC1FQwCCyALIQYLIABBMCAGQQlqQQlBABC7FQsgAEEgIAIgDCAEQYDAAHMQuxUMAQsgFEEJaiAUIAVBIHEiCBshCwJAIANBC0sNAEEMIANrIgZFDQBEAAAAAAAAIEAhGgNAIBpEAAAAAAAAMECiIRogBkEBayIGDQALIAstAABBLUYEQCAaIAGaIBqhoJohAQwBCyABIBqgIBqhIQELIBAgCSgCLCIGIAZBH3UiBmogBnOtIBAQuhUiBkYEQCAJQTA6AA8gCUEPaiEGCyASQQJyIQ8gCSgCLCEHIAZBAmsiDSAFQQ9qOgAAIAZBAWtBLUErIAdBAEgbOgAAIARBCHEhCiAJQRBqIQcDQCAHIgYCfyABmUQAAAAAAADgQWMEQCABqgwBC0GAgICAeAsiB0Gw5AhqLQAAIAhyOgAAIAEgB7ehRAAAAAAAADBAoiEBAkAgBkEBaiIHIAlBEGprQQFHDQACQCAKDQAgA0EASg0AIAFEAAAAAAAAAABhDQELIAZBLjoAASAGQQJqIQcLIAFEAAAAAAAAAABiDQALIABBICACIA8CfwJAIANFDQAgByAJa0ESayADTg0AIAMgEGogDWtBAmoMAQsgECAJQRBqayANayAHagsiBmoiDCAEELsVIAAgCyAPELUVIABBMCACIAwgBEGAgARzELsVIAAgCUEQaiAHIAlBEGprIgcQtRUgAEEwIAYgByAQIA1rIghqa0EAQQAQuxUgACANIAgQtRUgAEEgIAIgDCAEQYDAAHMQuxULIAlBsARqJAAgAiAMIAIgDEobCykAIAEgASgCAEEPakFwcSIBQRBqNgIAIAAgASkDACABKQMIEO4VOQMACxAAIAAgASACQQBBABCzFRoLEQAgACABIAJB/xFBABCzFRoLCQAgACgCPBAjCyQBAX8jAEEQayIDJAAgAyACNgIMIAAgASACEL8VIANBEGokAAsuAQF/IABBqIYLKAIANgI4QaiGCygCACIBBEAgASAANgI0C0GohgsgADYCACAACwQAQgAL1AIBB38jAEEgayIDJAAgAyAAKAIcIgQ2AhAgACgCFCEFIAMgAjYCHCADIAE2AhggAyAFIARrIgE2AhQgASACaiEGQQIhByADQRBqIQECfwJAAkAgACgCPCADQRBqQQIgA0EMahAhENsVRQRAA0AgBiADKAIMIgRGDQIgBEF/TA0DIAEgBCABKAIEIghLIgVBA3RqIgkgBCAIQQAgBRtrIgggCSgCAGo2AgAgAUEMQQQgBRtqIgkgCSgCACAIazYCACAGIARrIQYgACgCPCABQQhqIAEgBRsiASAHIAVrIgcgA0EMahAhENsVRQ0ACwsgBkF/Rw0BCyAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAQsgAEEANgIcIABCADcDECAAIAAoAgBBIHI2AgBBACAHQQJGDQAaIAIgASgCBGsLIQQgA0EgaiQAIAQLKAACQCAAKAJMQX9MBEAgACgCACEADAELIAAoAgAhAAsgAEEEdkEBcQt2AQF/QQIhAQJ/IABBKxD8FEUEQCAALQAAQfIARyEBCyABQYABcgsgASAAQfgAEPwUGyIBQYCAIHIgASAAQeUAEPwUGyIBIAFBwAByIAAtAAAiAEHyAEYbIgFBgARyIAEgAEH3AEYbIgFBgAhyIAEgAEHhAEYbCz8CAn8BfiAAIAE3A3AgACAAKAIIIgIgACgCBCIDa6wiBDcDeCAAIAMgAadqIAIgASAEUxsgAiABQgBSGzYCaAuvAQIDfwF+AkACQCAAKQNwIgRQRQRAIAApA3ggBFkNAQsgABCdFSIDQX9KDQELIABBADYCaEF/DwsgAAJ/IAAoAggiASAAKQNwIgRQDQAaIAEgBCAAKQN4Qn+FfCIEIAEgACgCBCICa6xZDQAaIAIgBKdqCzYCaCAAKAIEIQIgAQRAIAAgACkDeCABIAJrQQFqrHw3A3gLIAJBAWsiAC0AACADRwRAIAAgAzoAAAsgAwvWCgIFfwR+IwBBEGsiByQAAkACQAJAAkACQAJAIAFBJE0EQANAAn8gACgCBCIEIAAoAmhJBEAgACAEQQFqNgIEIAQtAAAMAQsgABDJFQsiBBDnFA0ACwJAAkAgBEEraw4DAAEAAQtBf0EAIARBLUYbIQYgACgCBCIEIAAoAmhJBEAgACAEQQFqNgIEIAQtAAAhBAwBCyAAEMkVIQQLAkACQCABQW9xDQAgBEEwRw0AAn8gACgCBCIEIAAoAmhJBEAgACAEQQFqNgIEIAQtAAAMAQsgABDJFQsiBEFfcUHYAEYEQEEQIQECfyAAKAIEIgQgACgCaEkEQCAAIARBAWo2AgQgBC0AAAwBCyAAEMkVCyIEQfHkCGotAABBEEkNBSAAKAJoRQRAQgAhAyACDQoMCQsgACAAKAIEIgRBAWs2AgQgAkUNCCAAIARBAms2AgRCACEDDAkLIAENAUEIIQEMBAsgAUEKIAEbIgEgBEHx5AhqLQAASw0AIAAoAmgEQCAAIAAoAgRBAWs2AgQLQgAhAyAAQgAQyBVBxP0KQRw2AgAMBwsgAUEKRw0CIARBMGsiAkEJTQRAQQAhAQNAIAIgAUEKbGohAQJ/IAAoAgQiBCAAKAJoSQRAIAAgBEEBajYCBCAELQAADAELIAAQyRULIgRBMGsiAkEJTUEAIAFBmbPmzAFJGw0ACyABrSEJCyACQQlLDQEgCUIKfiEKIAKtIQsDQCAKIAt8IQkCfyAAKAIEIgQgACgCaEkEQCAAIARBAWo2AgQgBC0AAAwBCyAAEMkVCyIEQTBrIgJBCUsNAiAJQpqz5syZs+bMGVoNAiAJQgp+IgogAq0iC0J/hVgNAAtBCiEBDAMLQcT9CkEcNgIAQgAhAwwFC0EKIQEgAkEJTQ0BDAILIAEgAUEBa3EEQCAEQfHkCGotAAAiAiABSQRAA0AgAiABIAVsaiIFQcbj8ThNQQACfyAAKAIEIgQgACgCaEkEQCAAIARBAWo2AgQgBC0AAAwBCyAAEMkVCyIEQfHkCGotAAAiAiABSRsNAAsgBa0hCQsgASACTQ0BIAGtIQoDQCAJIAp+IgsgAq1C/wGDIgxCf4VWDQIgCyAMfCEJIAECfyAAKAIEIgQgACgCaEkEQCAAIARBAWo2AgQgBC0AAAwBCyAAEMkVCyIEQfHkCGotAAAiAk0NAiAHIAogCRDjFSAHKQMIUA0ACwwBCyABQRdsQQV2QQdxQfHmCGosAAAhCCAEQfHkCGotAAAiAiABSQRAA0AgAiAFIAh0ciIFQf///z9NQQACfyAAKAIEIgQgACgCaEkEQCAAIARBAWo2AgQgBC0AAAwBCyAAEMkVCyIEQfHkCGotAAAiAiABSRsNAAsgBa0hCQtCfyAIrSIKiCILIAlUDQAgASACTQ0AA0AgAq1C/wGDIAkgCoaEIQkCfyAAKAIEIgQgACgCaEkEQCAAIARBAWo2AgQgBC0AAAwBCyAAEMkVCyEEIAkgC1YNASABIARB8eQIai0AACICSw0ACwsgASAEQfHkCGotAABNDQADQCABAn8gACgCBCIEIAAoAmhJBEAgACAEQQFqNgIEIAQtAAAMAQsgABDJFQtB8eQIai0AAEsNAAtBxP0KQcQANgIAIAZBACADQgGDUBshBiADIQkLIAAoAmgEQCAAIAAoAgRBAWs2AgQLAkAgAyAJVg0AAkAgA6dBAXENACAGDQBBxP0KQcQANgIAIANCAX0hAwwDCyADIAlaDQBBxP0KQcQANgIADAILIAkgBqwiA4UgA30hAwwBC0IAIQMgAEIAEMgVCyAHQRBqJAAgAwsNACAAIAEgAkJ/EMwVC3wBAX8jAEGQAWsiBCQAIAQgADYCLCAEIAA2AgQgBEEANgIAIARBfzYCTCAEQX8gAEH/////B2ogAEEASBs2AgggBEIAEMgVIAQgAkEBIAMQyhUhAyABBEAgASAAIAQoAgQgBCgCeGogBCgCCGtqNgIACyAEQZABaiQAIAMLEgAgACABIAJCgICAgAgQzBWnCzUAIAAgATcDACAAIAJC////////P4MgBEIwiKdBgIACcSACQjCIp0H//wFxcq1CMIaENwMIC8QCAQF/IwBB0ABrIgQkAAJAIANBgIABTgRAIARBIGogASACQgBCgICAgICAgP//ABDqFSAEKQMoIQIgBCkDICEBIANB//8BSARAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABDqFSADQf3/AiADQf3/AkgbQf7/AWshAyAEKQMYIQIgBCkDECEBDAELIANBgYB/Sg0AIARBQGsgASACQgBCgICAgICAwAAQ6hUgBCkDSCECIAQpA0AhASADQYOAfkoEQCADQf7/AGohAwwBCyAEQTBqIAEgAkIAQoCAgICAgMAAEOoVIANBhoB9IANBhoB9ShtB/P8BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhDqFSAAIAQpAwg3AwggACAEKQMANwMAIARB0ABqJAALlAgCBn8CfiMAQTBrIgYkAAJAIAJBAk0EQCABQQRqIQUgAkECdCICQcznCGooAgAhCCACQcDnCGooAgAhCQNAAn8gASgCBCICIAEoAmhJBEAgBSACQQFqNgIAIAItAAAMAQsgARDJFQsiAhDnFA0AC0EBIQcCQAJAIAJBK2sOAwABAAELQX9BASACQS1GGyEHIAEoAgQiAiABKAJoSQRAIAUgAkEBajYCACACLQAAIQIMAQsgARDJFSECCwJAAkADQCAEQfrmCGosAAAgAkEgckYEQAJAIARBBksNACABKAIEIgIgASgCaEkEQCAFIAJBAWo2AgAgAi0AACECDAELIAEQyRUhAgsgBEEBaiIEQQhH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DQAgAC0AAEUNACAAQT0Q/BQNAEGshgsoAgAoAgAiAkUNAAJAA0AgACACIAQQgBUhA0GshgsoAgAhAiADRQRAIAIgAUECdGooAgAgBGoiAy0AAEE9Rg0CCyACIAFBAWoiAUECdGooAgAiAg0AC0EADwsgA0EBaiEBCyABCxYAIABFBEBBAA8LQcT9CiAANgIAQX8LAwABC9kBAQN/IABFBEBBHA8LQbCGCygCAEUEQEGwhgtBBDYCAEG0hgtBEBChGzYCAAtBuIYLKAIAIgMEQEG0hgsoAgAhAgJAA0AgAiABQQN0aigCBEUNASABQQFqIgEgA0cNAAsgAyEBCyADQQJ0IQILQbCGCygCACABRgRAQbCGCyABQQF0NgIAQbSGC0G0hgsoAgAgAhCjGzYCAEG4hgsoAgAhAwsgAUEBaiECIAEgA0YEQEG4hgsgAjYCAAtBtIYLKAIAIAFBA3RqQoCAgIAQNwIAIAAgAjYCAEEAC0UBAX9BHCEBAkAgAEEBayIAQbiGCygCAE8NAEG0hgsoAgAgAEEDdGoiACgCBEUNAEEAIQEgAEEANgIAIABBADYCBAsgAQs2AAJ/QQAgAEEBayIAQbiGCygCAE8NABpBAEG0hgsoAgAgAEEDdGoiACgCBEUNABogACgCAAsLPgEBf0EcIQICQCAAQQFrIgBBuIYLKAIATw0AQbSGCygCACAAQQN0aiIAKAIERQ0AIAAgATYCAEEAIQILIAIL2wECAX8CfkEBIQQCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIGQoCAgICAgMD//wBWIAZCgICAgICAwP//AFEbDQAgACAChCAFIAaEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvEAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQBBACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEBBACABIAJTIAEgAlEbDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwtpAQN+IAAgAkIgiCIDIAFCIIgiBH4gAkL/////D4MiAiABQv////8PgyIBfiIFQiCIIAIgBH58IgJCIIh8IAEgA34gAkL/////D4N8IgJCIIh8NwMIIAAgBUL/////D4MgAkIghoQ3AwALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgL4QkCBH8EfiMAQfAAayIFJAAgBEL///////////8AgyEKAkACQCABQgF9IglCf1EgAkL///////////8AgyILIAEgCVatfEIBfSIJQv///////7///wBWIAlC////////v///AFEbRQRAIANCAX0iCUJ/UiAKIAMgCVatfEIBfSIJQv///////7///wBUIAlC////////v///AFEbDQELIAFQIAtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAtCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIGGyEEQgAgASAGGyEDDAILIAMgCkKAgICAgIDA//8AhYRQDQEgASALhFAEQCADIAqEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAqEUEUNACABIQMgAiEEDAELIAMgASABIANUIAogC1YgCiALURsiBxshCiAEIAIgBxsiC0L///////8/gyEJIAIgBCAHGyICQjCIp0H//wFxIQggC0IwiKdB//8BcSIGRQRAIAVB4ABqIAogCSAKIAkgCVAiBht5IAZBBnStfKciBkEPaxDkFSAFKQNoIQkgBSkDYCEKQRAgBmshBgsgASADIAcbIQMgAkL///////8/gyEEIAhFBEAgBUHQAGogAyAEIAMgBCAEUCIHG3kgB0EGdK18pyIHQQ9rEOQVQRAgB2shCCAFKQNYIQQgBSkDUCEDCyAEQgOGIANCPYiEQoCAgICAgIAEhCEEIAlCA4YgCkI9iIQhASACIAuFIQkCfiADQgOGIgMgBiAIayIHRQ0AGiAHQf8ASwRAQgAhBEIBDAELIAVBQGsgAyAEQYABIAdrEOQVIAVBMGogAyAEIAcQ5xUgBSkDOCEEIAUpAzAgBSkDQCAFKQNIhEIAUq2ECyEDIAFCgICAgICAgASEIQwgCkIDhiECAkAgCUJ/VwRAIAIgA30iASAMIAR9IAIgA1StfSIEhFAEQEIAIQNCACEEDAMLIARC/////////wNWDQEgBUEgaiABIAQgASAEIARQIgcbeSAHQQZ0rXynQQxrIgcQ5BUgBiAHayEGIAUpAyghBCAFKQMgIQEMAQsgAiADfCIBIANUrSAEIAx8fCIEQoCAgICAgIAIg1ANACABQgGDIARCP4YgAUIBiISEIQEgBkEBaiEGIARCAYghBAsgC0KAgICAgICAgIB/gyECIAZB//8BTgRAIAJCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBkEASgRAIAYhBwwBCyAFQRBqIAEgBCAGQf8AahDkFSAFIAEgBEEBIAZrEOcVIAUpAwAgBSkDECAFKQMYhEIAUq2EIQEgBSkDCCEECyAEQj2GIAFCA4iEIgMgAyABp0EHcSIGQQRLrXwiAVatIARCA4hC////////P4MgAoQgB61CMIaEfCEEAkACQCAGQQRHBEAgASEDDAELIAQgAUIBgyICIAF8IgMgAlStfCEEDAELIAZFDQELCyAAIAM3AwAgACAENwMIIAVB8ABqJAALxwECA38CfiMAQRBrIgMkAAJ+IAG8IgRB/////wdxIgJBgICABGtB////9wdNBEAgAq1CGYZCgICAgICAgMA/fAwBCyACQYCAgPwHTwRAIAStQhmGQoCAgICAgMD//wCEDAELIAJFBEBCAAwBCyADIAKtQgAgAmciAkHRAGoQ5BUgAykDACEFIAMpAwhCgICAgICAwACFQYn/ACACa61CMIaECyEGIAAgBTcDACAAIAYgBEGAgICAeHGtQiCGhDcDCCADQRBqJAALUAEBfgJAIANBwABxBEAgAiADQUBqrYghAUIAIQIMAQsgA0UNACACQcAAIANrrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLtgMCA38BfiMAQSBrIgMkAAJAIAFC////////////AIMiBUKAgICAgIDAwD99IAVCgICAgICAwL/AAH1UBEAgAUIZiKchBCAAUCABQv///w+DIgVCgICACFQgBUKAgIAIURtFBEAgBEGBgICABGohAgwCCyAEQYCAgIAEaiECIAAgBUKAgIAIhYRCAFINASACIARBAXFqIQIMAQsgAFAgBUKAgICAgIDA//8AVCAFQoCAgICAgMD//wBRG0UEQCABQhmIp0H///8BcUGAgID+B3IhAgwBC0GAgID8ByECIAVC////////v7/AAFYNAEEAIQIgBUIwiKciBEGR/gBJDQAgA0EQaiAAIAFC////////P4NCgICAgICAwACEIgUgBEGB/gBrEOQVIAMgACAFQYH/ACAEaxDnFSADKQMIIgVCGYinIQIgAykDACADKQMQIAMpAxiEQgBSrYQiAFAgBUL///8PgyIFQoCAgAhUIAVCgICACFEbRQRAIAJBAWohAgwBCyAAIAVCgICACIWEQgBSDQAgAkEBcSACaiECCyADQSBqJAAgAiABQiCIp0GAgICAeHFyvgv6AQICfwN+IwBBEGsiAiQAAn4gAb0iBUL///////////8AgyIEQoCAgICAgIAIfUL/////////7/8AWARAIARCPIYhBiAEQgSIQoCAgICAgICAPHwMAQsgBEKAgICAgICA+P8AWgRAIAVCPIYhBiAFQgSIQoCAgICAgMD//wCEDAELIARQBEBCAAwBCyACIARCACAFp2dBIGogBEIgiKdnIARCgICAgBBUGyIDQTFqEOQVIAIpAwAhBiACKQMIQoCAgICAgMAAhUGM+AAgA2utQjCGhAshBCAAIAY3AwAgACAEIAVCgICAgICAgICAf4OENwMIIAJBEGokAAueCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ4gBEIvhiADQhGIhCELIARC////////P4MiDEIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghESAMQhGIIRIgBEIwiKdB//8BcSEGAkACfyACQjCIp0H//wFxIghBAWtB/f8BTQRAQQAgBkEBa0H+/wFJDQEaCyABUCACQv///////////wCDIg9CgICAgICAwP//AFQgD0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgD0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA+EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA+EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAPQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIHG3kgB0EGdK18pyIHQQ9rEOQVIAUpA1giDUIghiAFKQNQIgFCIIiEIQ4gDUIgiCERQRAgB2shBwsgByACQv///////z9WDQAaIAVBQGsgAyAMIAMgDCAMUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCELIAJCEYghEiAHIAlrQRBqCyEHIAtC/////w+DIgIgAUL/////D4MiBH4iEyADQg+GQoCA/v8PgyIBIA5C/////w+DIgN+fCIOQiCGIgwgASAEfnwiCyAMVK0gAiADfiIVIAEgDUL/////D4MiDH58Ig8gEEL/////D4MiDSAEfnwiECAOIBNUrUIghiAOQiCIhHwiEyACIAx+IhYgASARQoCABIQiDn58IhEgAyANfnwiFCASQv////8Hg0KAgICACIQiASAEfnwiEkIghnwiF3whBCAGIAhqIAdqQf//AGshBgJAIAwgDX4iGCACIA5+fCICIBhUrSACIAEgA358IgMgAlStfCADIA8gFVStIA8gEFatfHwiAiADVK18IAEgDn58IAEgDH4iAyANIA5+fCIBIANUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASASIBRUrSARIBZUrSARIBRWrXx8QiCGIBJCIIiEfCIDIAFUrXwgAyAQIBNWrSATIBdWrXx8IgIgA1StfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAtCAYYhCyADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIIQYABTwRAQgAhAQwDCyAFQTBqIAsgBCAGQf8AaiIGEOQVIAVBIGogAiABIAYQ5BUgBUEQaiALIAQgCBDnFSAFIAIgASAIEOcVIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAtQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAsgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAtBAQF/IwBBEGsiBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRDlFSAAIAUpAwA3AwAgACAFKQMINwMIIAVBEGokAAt/AgJ/AX4jAEEQayIDJAAgAAJ+IAFFBEBCAAwBCyADIAEgAUEfdSICaiACcyICrUIAIAJnIgJB0QBqEOQVIAMpAwhCgICAgICAwACFQZ6AASACa61CMIZ8IAFBgICAgHhxrUIghoQhBCADKQMACzcDACAAIAQ3AwggA0EQaiQAC4gRAgV/DH4jAEHAAWsiBSQAIARC////////P4MhEiACQv///////z+DIRAgAiAEhUKAgICAgICAgIB/gyERIARCMIinQf//AXEhBwJAAkACQCACQjCIp0H//wFxIghBAWtB/f8BTQRAIAdBAWtB/v8BSQ0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCERDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIREgAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACERDAMLIBFCgICAgICAwP//AIQhEUIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASALhFANAiACIAOEUARAIBFCgICAgICAwP//AIQhEUIAIQEMAgsgC0L///////8/WARAIAVBsAFqIAEgECABIBAgEFAiBht5IAZBBnStfKciBkEPaxDkFUEQIAZrIQYgBSkDuAEhECAFKQOwASEBCyACQv///////z9WDQAgBUGgAWogAyASIAMgEiASUCIJG3kgCUEGdK18pyIJQQ9rEOQVIAYgCWpBEGshBiAFKQOoASESIAUpA6ABIQMLIAVBkAFqIBJCgICAgICAwACEIhRCD4YgA0IxiIQiAkKEyfnOv+a8gvUAIAJ9IgQQ4xUgBUGAAWpCACAFKQOYAX0gBBDjFSAFQfAAaiAFKQOIAUIBhiAFKQOAAUI/iIQiBCACEOMVIAVB4ABqIARCACAFKQN4fRDjFSAFQdAAaiAFKQNoQgGGIAUpA2BCP4iEIgQgAhDjFSAFQUBrIARCACAFKQNYfRDjFSAFQTBqIAUpA0hCAYYgBSkDQEI/iIQiBCACEOMVIAVBIGogBEIAIAUpAzh9EOMVIAVBEGogBSkDKEIBhiAFKQMgQj+IhCIEIAIQ4xUgBSAEQgAgBSkDGH0Q4xUgBiAIIAdraiEHAn5CACAFKQMIQgGGIAUpAwBCP4iEQgF9IgtC/////w+DIgQgAkIgiCIKfiIMIAtCIIgiCyACQv////8PgyIPfnwiAkIgiCACIAxUrUIghoQgCiALfnwgAkIghiIKIAQgD358IgIgClStfCACIAQgA0IRiEL/////D4MiDH4iDyALIANCD4ZCgID+/w+DIg1+fCIKQiCGIg4gBCANfnwgDlStIAsgDH4gCiAPVK1CIIYgCkIgiIR8fHwiCiACVK18IApCAFKtfH0iAkL/////D4MiDCAEfiIPIAsgDH4iDSAEIAJCIIgiDn58IgJCIIZ8IgwgD1StIAsgDn4gAiANVK1CIIYgAkIgiIR8fCAMQgAgCn0iAkIgiCIKIAR+Ig8gAkL/////D4MiDSALfnwiAkIghiIOIAQgDX58IA5UrSAKIAt+IAIgD1StQiCGIAJCIIiEfHx8IgIgDFStfCACQgJ9Ig8gAlStfEIBfSIKQv////8PgyICIBBCAoYgAUI+iIRC/////w+DIgR+IgwgAUIeiEL/////D4MiCyAKQiCIIgp+fCINIAxUrSANIA9CIIgiDCAQQh6IQv//7/8Pg0KAgBCEIhB+fCIOIA1UrXwgCiAQfnwgAiAQfiITIAQgCn58Ig0gE1StQiCGIA1CIIiEfCAOIA1CIIZ8Ig0gDlStfCANIAsgDH4iEyAPQv////8PgyIPIAR+fCIOIBNUrSAOIAIgAUIChkL8////D4MiE358IhUgDlStfHwiDiANVK18IA4gCiATfiINIA8gEH58IgogBCAMfnwiBCACIAt+fCICQiCIIAIgBFStIAogDVStIAQgClStfHxCIIaEfCIKIA5UrXwgCiAVIAwgE34iBCALIA9+fCILQiCIIAQgC1atQiCGhHwiBCAVVK0gBCACQiCGfCAEVK18fCIEIApUrXwiAkL/////////AFgEQCABQjGGIARC/////w+DIgEgA0L/////D4MiC34iCkIAUq19QgAgCn0iDyAEQiCIIgogC34iDSABIANCIIgiDH58IhBCIIYiDlStfSACQv////8PgyALfiABIBJC/////w+DfnwgCiAMfnwgDSAQVq1CIIYgEEIgiIR8IAQgFEIgiH4gAyACQiCIfnwgAiAMfnwgCiASfnxCIIZ8fSELIAdBAWshByAPIA59DAELIARCIYghDCABQjCGIAJCP4YgBEIBiIQiBEL/////D4MiASADQv////8PgyILfiIKQgBSrX1CACAKfSIQIAEgA0IgiCIKfiIPIAwgAkIfhoQiDUL/////D4MiDiALfnwiDEIghiITVK19IAQgFEIgiH4gAyACQiGIfnwgAkIBiCICIAp+fCANIBJ+fEIghiAKIA5+IAJC/////w+DIAt+fCABIBJC/////w+DfnwgDCAPVK1CIIYgDEIgiIR8fH0hCyAQIBN9CyEBIAdBgIABTgRAIBFCgICAgICAwP//AIQhEUIAIQEMAQsgB0H//wBqIQggB0GBgH9MBEACQCAIDQAgBCABQgGGIANWIAtCAYYgAUI/iIQiASAUViABIBRRG618IgEgBFStIAJC////////P4N8IgNCgICAgICAwACDUA0AIAMgEYQhEQwCC0IAIQEMAQsgBCABQgGGIANaIAtCAYYgAUI/iIQiASAUWiABIBRRG618IgEgBFStIAJC////////P4N8IAitQjCGfCARhCERCyAAIAE3AwAgACARNwMIIAVBwAFqJAAPCyAAQgA3AwAgAEKAgICAgIDg//8AIBEgAiADhFAbNwMIIAVBwAFqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQUMAgsgBEKAgICAgICAgEB9IQUgAEKAgICAgICAgAiFQgBSDQEgBSAEQgGDfCEFDAELIABQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBQwBC0KAgICAgICA+P8AIQUgBEL///////+//8MAVg0AQgAhBSAEQjCIpyIDQZH3AEkNACACQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBCADQYH3AGsQ5BUgAiAAIARBgfgAIANrEOcVIAIpAwhCBIYgAikDACIEQjyIhCEFIAIpAxAgAikDGIRCAFKtIARC//////////8Pg4QiBEKBgICAgICAgAhaBEAgBUIBfCEFDAELIARCgICAgICAgIAIhUIAUg0AIAVCAYMgBXwhBQsgAkEgaiQAIAUgAUKAgICAgICAgIB/g4S/C2QCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahDkFSACKQMIQoCAgICAgMAAhUGegAEgAWutQjCGfCEDIAIpAwALNwMAIAAgAzcDCCACQRBqJAALNQEBfyMAQRBrIgIkACACIAAtAAA6AA8gACABLQAAOgAAIAEgAkEPai0AADoAACACQRBqJAALNQEBfyMAQRBrIgIkACACIAAoAgA2AgwgACABKAIANgIAIAEgAkEMaigCADYCACACQRBqJAALnwUBBn8DQCABQQRrIQcDQCAAIQMDQAJAAkACQAJAAkACQAJAAkAgASADayIAQQJ1IgUOBgcHAAQBAgMLIAFBBGsiACADEPMVRQ0GIAMgABDxFQ8LIAMgA0EEaiADQQhqIAFBBGsQ9BUaDwsgAyADQQRqIANBCGogA0EMaiABQQRrEPUVGg8LIABB+wBMBEAgAyABEPYVDwsgAyAFQQJtQQJ0aiEEAn8gAEGdH04EQCADIAMgBUEEbUECdCIAaiAEIAAgBGogBxD1FQwBCyADIAQgBxD3FQshCCAHIQACQCADIAQQ8xUEQAwBCwNAIABBBGsiACADRgRAIANBBGohBSADIAcQ8xUNBQNAIAUgB0YNByADIAUQ8xUEQCAFIAcQ8RUgBUEEaiEFDAcFIAVBBGohBQwBCwALAAsgACAEEPMVRQ0ACyADIAAQ8RUgCEEBaiEICyADQQRqIgYgAE8NAQNAIAYiBUEEaiEGIAUgBBDzFQ0AA0AgAEEEayIAIAQQ8xVFDQALIAAgBUkEQCAFIQYMAwUgBSAAEPEVIAAgBCAEIAVGGyEEIAhBAWohCAwBCwALAAsgAyADQQRqIAFBBGsQ9xUaDAILAkAgBCAGRg0AIAQgBhDzFUUNACAGIAQQ8RUgCEEBaiEICyAIRQRAIAMgBhD4FSEEIAZBBGoiACABEPgVBEAgBiEBIAMhACAERQ0GDAMLIAQNBAsgBiADayABIAZrSARAIAMgBiACEPIVIAZBBGohAAwECyAGQQRqIAEgAhDyFSAGIQEgAyEADAQLIAUgByIARg0AA0AgBSIEQQRqIQUgAyAEEPMVRQ0AA0AgAyAAQQRrIgAQ8xUNAAsgACAETQRAIAQhAwwDBSAEIAAQ8RUMAQsACwALCwsLCw0AIAAoAgAgASgCAEgLWAEBfyAAIAEgAhD3FSEEIAMgAhDzFQR/IAIgAxDxFSACIAEQ8xVFBEAgBEEBag8LIAEgAhDxFSABIAAQ8xVFBEAgBEECag8LIAAgARDxFSAEQQNqBSAECwtyAQF/IAAgASACIAMQ9BUhBSAEIAMQ8xUEfyADIAQQ8RUgAyACEPMVRQRAIAVBAWoPCyACIAMQ8RUgAiABEPMVRQRAIAVBAmoPCyABIAIQ8RUgASAAEPMVRQRAIAVBA2oPCyAAIAEQ8RUgBUEEagUgBQsLnwEBBX8jAEEQayIEJAAgACAAQQRqIABBCGoiBRD3FRogAEEMaiECA0AgASACRwRAIAIgBRDzFQRAIAQgAigCADYCDCACIQYDQAJAIAYgBSIDKAIANgIAIAAgA0YEQCAAIQMMAQsgAyEGIARBDGogA0EEayIFEPMVDQELCyADIARBDGooAgA2AgALIAIhBSACQQRqIQIMAQsLIARBEGokAAtzAQJ/IAEgABDzFSEEIAIgARDzFSEDAn8CQCAERQRAQQAgA0UNAhogASACEPEVQQEgASAAEPMVRQ0CGiAAIAEQ8RUMAQsgAwRAIAAgAhDxFUEBDwsgACABEPEVQQEgAiABEPMVRQ0BGiABIAIQ8RULQQILC8wCAQd/IwBBEGsiBSQAQQEhAgJAAkACQAJAAkACQCABIABrQQJ1DgYFBQABAgMECyABQQRrIgQgABDzFUUNBCAAIAQQ8RUMBAsgACAAQQRqIAFBBGsQ9xUaDAMLIAAgAEEEaiAAQQhqIAFBBGsQ9BUaDAILIAAgAEEEaiAAQQhqIABBDGogAUEEaxD1FRoMAQsgACAAQQRqIABBCGoiBBD3FRogAEEMaiEDAkADQCABIANGIgcNAQJAIAMgBBDzFQRAIAUgAygCADYCDCADIQYDQAJAIAYgBCICKAIANgIAIAAgAkYEQCAAIQIMAQsgAiEGIAVBDGogAkEEayIEEPMVDQELCyACIAVBDGooAgA2AgAgCEEBaiIIQQhGDQELIAMhBCADQQRqIQMMAQsLIANBBGogAUYhAgsgAiAHciECCyAFQRBqJAAgAkEBcQsNACAAKAIAIAEoAgBJCwoAIAAoAgAQoBsLBgBB/ucIC/AMAQh/IwBBEGsiBCQAIAQgADYCDAJAIABB0wFNBEBB4OgIQaDqCCAEQQxqEP0VKAIAIQAMAQsgAEF8TwRAEP8VAAsgBCAAIABB0gFuIgdB0gFsIgNrNgIIQaDqCEHg6wggBEEIahD9FUGg6ghrQQJ1IQUCQANAIAVBAnRBoOoIaigCACADaiEAQQUhAyAGIQECQAJAA0AgASEGIANBL0YEQEHTASEDA0AgACADbiIBIANJDQQgACABIANsRg0DIAAgA0EKaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EMaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EQaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0ESaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EWaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EcaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EeaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EkaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EoaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EqaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0EuaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0E0aiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0E6aiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0E8aiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0HCAGoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBxgBqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQcgAaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0HOAGoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANB0gBqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQdgAaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0HgAGoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANB5ABqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQeYAaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0HqAGoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANB7ABqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQfAAaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0H4AGoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANB/gBqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQYIBaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0GIAWoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBigFqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQY4BaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0GUAWoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBlgFqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQZwBaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0GiAWoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBpgFqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQagBaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0GsAWoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBsgFqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQbQBaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0G6AWoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBvgFqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQcABaiIBbiICIAFJDQQgACABIAJsRg0DIAAgA0HEAWoiAW4iAiABSQ0EIAAgASACbEYNAyAAIANBxgFqIgFuIgIgAUkNBCAAIAEgAmxGDQMgACADQdABaiIBbiICIAFJDQQgA0HSAWohAyAAIAEgAmxHDQALDAILIAAgA0ECdEHg6AhqKAIAIgFuIgIgAWwhCCABIAJLIgJFBEAgACAGIAIbIQEgA0EBaiEDIAAgCEcNAQsLIAINAyAAIAhHDQMLQQAgBUEBaiIAIABBMEYiABshBSAAIAdqIgdB0gFsIQMMAQsLIAQgADYCDAwBCyAEIAA2AgwgACAGIAIbIQALIARBEGokACAACwsAIAAgASACEP4VCyEBAX8jAEEQayIDJAAgACABIAIQgBYhACADQRBqJAAgAAsFABAoAAtyAQJ/IwBBEGsiBCQAIAAgARCBFiEBA0AgAQRAIAQgADYCDCAEQQxqIgMgAygCACABQQF2IgNBAnRqNgIAIAEgA0F/c2ogAyAEKAIMIAIQ+RUiAxshASAEKAIMQQRqIAAgAxshAAwBCwsgBEEQaiQAIAALCQAgACABEIIWCwoAIAEgAGtBAnULMwEBfyACBEAgACEDA0AgAyABKAIANgIAIANBBGohAyABQQRqIQEgAkEBayICDQALCyAACwoAIAAQhRYaIAALOgAgAEGY7wg2AgAgABCGFiAAQRxqELQXIAAoAiAQohsgACgCJBCiGyAAKAIwEKIbIAAoAjwQohsgAAs8AQJ/IAAoAighAQNAIAEEQEEAIAAgAUEBayIBQQJ0IgIgACgCJGooAgAgACgCICACaigCABEEAAwBCwsLCgAgABCEFhCiGwsVACAAQYDsCDYCACAAQQRqELQXIAALCgAgABCIFhCiGwsqACAAQYDsCDYCACAAQQRqEMIZIABCADcCGCAAQgA3AhAgAEIANwIIIAALBAAgAAsHACAAEI0WCxAAIABCfzcDCCAAQgA3AwALBwAgABCNFgvAAQEEfyMAQRBrIgQkAANAAkAgAiAFTA0AAkAgACgCDCIDIAAoAhAiBkkEQCAEQf////8HNgIMIAQgBiADazYCCCAEIAIgBWs2AgQgBEEMaiAEQQhqIARBBGoQkBYQkBYhAyABIAAoAgwgAygCACIDEJEWIAAgACgCDCADajYCDAwBCyAAIAAoAgAoAigRAAAiA0F/Rg0BIAEgAxCSFjoAAEEBIQMLIAEgA2ohASADIAVqIQUMAQsLIARBEGokACAFCwkAIAAgARCTFgsRACACBEAgACABIAIQrhsaCwsKACAAQRh0QRh1CyQBAn8jAEEQayICJAAgASAAEPMVIQMgAkEQaiQAIAEgACADGwsvACAAIAAoAgAoAiQRAABBf0YEQEF/DwsgACAAKAIMIgBBAWo2AgwgACwAABCVFgsIACAAQf8BcQsEAEF/C7IBAQR/IwBBEGsiBSQAA0ACQCACIARMDQAgACgCGCIDIAAoAhwiBk8EQCAAIAEsAAAQlRYgACgCACgCNBEDAEF/Rg0BIARBAWohBCABQQFqIQEMAgUgBSAGIANrNgIMIAUgAiAEazYCCCAFQQxqIAVBCGoQkBYhAyAAKAIYIAEgAygCACIDEJEWIAAgAyAAKAIYajYCGCADIARqIQQgASADaiEBDAILAAsLIAVBEGokACAECxUAIABBwOwINgIAIABBBGoQtBcgAAsKACAAEJgWEKIbCyoAIABBwOwINgIAIABBBGoQwhkgAEIANwIYIABCADcCECAAQgA3AgggAAvLAQEEfyMAQRBrIgQkAANAAkAgAiAFTA0AAn8gACgCDCIDIAAoAhAiBkkEQCAEQf////8HNgIMIAQgBiADa0ECdTYCCCAEIAIgBWs2AgQgBEEMaiAEQQhqIARBBGoQkBYQkBYhAyABIAAoAgwgAygCACIDEJwWIAAgACgCDCADQQJ0ajYCDCABIANBAnRqDAELIAAgACgCACgCKBEAACIDQX9GDQEgASADNgIAQQEhAyABQQRqCyEBIAMgBWohBQwBCwsgBEEQaiQAIAULFAAgAgR/IAAgASACEIMWBSAACxoLLAAgACAAKAIAKAIkEQAAQX9GBEBBfw8LIAAgACgCDCIAQQRqNgIMIAAoAgALtwEBBH8jAEEQayIFJAADQAJAIAIgA0wNACAAKAIYIgQgACgCHCIGTwRAIAAgASgCACAAKAIAKAI0EQMAQX9GDQEgA0EBaiEDIAFBBGohAQwCBSAFIAYgBGtBAnU2AgwgBSACIANrNgIIIAVBDGogBUEIahCQFiEEIAAoAhggASAEKAIAIgQQnBYgACAEQQJ0IgYgACgCGGo2AhggAyAEaiEDIAEgBmohAQwCCwALCyAFQRBqJAAgAwsEACAACw0AIABBCGoQhBYaIAALEwAgACAAKAIAQQxrKAIAahCgFgsKACAAEKAWEKIbCxMAIAAgACgCAEEMaygCAGoQohYLCAAgACgCEEULbgECfyMAQRBrIgEkACAAIAAoAgBBDGsoAgBqKAIYBEACQCABQQhqIAAQrhYiAi0AAEUNACAAIAAoAgBBDGsoAgBqKAIYEK8WQX9HDQAgACAAKAIAQQxrKAIAakEBEK0WCyACELAWCyABQRBqJAALDAAgACABQRxqEMAZCwsAIABBvJgLELkXCwwAIAAgARCxFkEBcwsQACAAKAIAELIWQRh0QRh1CycBAX8gAkEATgR/IAAoAgggAkH/AXFBAXRqLwEAIAFxQQBHBSADCwsNACAAKAIAELMWGiAACwkAIAAgARCxFgsPACAAIAAoAhAgAXIQthYLVQAgACABNgIEIABBADoAACABIAEoAgBBDGsoAgBqEKQWBEAgASABKAIAQQxrKAIAaigCSARAIAEgASgCAEEMaygCAGooAkgQpRYLIABBAToAAAsgAAsPACAAIAAoAgAoAhgRAAALjQEBAX8CQCAAKAIEIgEgASgCAEEMaygCAGooAhhFDQAgACgCBCIBIAEoAgBBDGsoAgBqEKQWRQ0AIAAoAgQiASABKAIAQQxrKAIAaigCBEGAwABxRQ0AIAAoAgQiASABKAIAQQxrKAIAaigCGBCvFkF/Rw0AIAAoAgQiASABKAIAQQxrKAIAakEBEK0WCwsQACAAEOEWIAEQ4RZzQQFzCyoBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIkEQAADwsgASwAABCVFgs0AQF/IAAoAgwiASAAKAIQRgRAIAAgACgCACgCKBEAAA8LIAAgAUEBajYCDCABLAAAEJUWCwcAIAAgAUYLPQEBfyAAKAIYIgIgACgCHEYEQCAAIAEQlRYgACgCACgCNBEDAA8LIAAgAkEBajYCGCACIAE6AAAgARCVFgshACAAIAAoAhhFIAFyIgE2AhAgACgCFCABcQRAEP8VAAsLbgECfyMAQRBrIgEkACAAIAAoAgBBDGsoAgBqKAIYBEACQCABQQhqIAAQvhYiAi0AAEUNACAAIAAoAgBBDGsoAgBqKAIYEK8WQX9HDQAgACAAKAIAQQxrKAIAakEBEK0WCyACELAWCyABQRBqJAALCwAgAEG0mAsQuRcLDAAgACABEL8WQQFzCwoAIAAoAgAQwBYLEwAgACABIAIgACgCACgCDBEFAAsNACAAKAIAEMEWGiAACwkAIAAgARC/FgtVACAAIAE2AgQgAEEAOgAAIAEgASgCAEEMaygCAGoQpBYEQCABIAEoAgBBDGsoAgBqKAJIBEAgASABKAIAQQxrKAIAaigCSBC3FgsgAEEBOgAACyAACxAAIAAQ4hYgARDiFnNBAXMLJwEBfyAAKAIMIgEgACgCEEYEQCAAIAAoAgAoAiQRAAAPCyABKAIACzEBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIoEQAADwsgACABQQRqNgIMIAEoAgALNwEBfyAAKAIYIgIgACgCHEYEQCAAIAEgACgCACgCNBEDAA8LIAAgAkEEajYCGCACIAE2AgAgAQsNACAAQQRqEIQWGiAACxMAIAAgACgCAEEMaygCAGoQwxYLCgAgABDDFhCiGwsTACAAIAAoAgBBDGsoAgBqEMUWC7IBAQZ/IwBBIGsiAiQAAkAgAkEYaiAAEK4WIgQtAABFDQAgAkEQaiAAIAAoAgBBDGsoAgBqEKYWIAJBEGoQyBYhAyACQRBqELQXIAJBCGogABDJFiEFIAAgACgCAEEMaygCAGoiBhDKFiEHIAIgAyAFKAIAIAYgByABIAMoAgAoAgwRCQA2AhAgAkEQahDLFkUNACAAIAAoAgBBDGsoAgBqQQUQrRYLIAQQsBYgAkEgaiQACwsAIABBkJcLELkXCxoAIAAgASABKAIAQQxrKAIAaigCGDYCACAACzAAAkBBfyAAKAJMELQWRQRAIAAoAkwhAAwBCyAAIAAQzBYiADYCTAsgAEEYdEEYdQsIACAAKAIARQs3AQF/IwBBEGsiASQAIAFBCGogABCmFiABQQhqEKcWQSAQ4xYhACABQQhqELQXIAFBEGokACAAC8YBAQZ/IwBBIGsiAiQAAkAgAkEYaiAAEK4WIgQtAABFDQAgACAAKAIAQQxrKAIAaigCBBogAkEQaiAAIAAoAgBBDGsoAgBqEKYWIAJBEGoQyBYhAyACQRBqELQXIAJBCGogABDJFiEFIAAgACgCAEEMaygCAGoiBhDKFiEHIAIgAyAFKAIAIAYgByABIAMoAgAoAhARCQA2AhAgAkEQahDLFkUNACAAIAAoAgBBDGsoAgBqQQUQrRYLIAQQsBYgAkEgaiQAIAALtAEBBn8jAEEgayICJAACQCACQRhqIAAQrhYiBC0AAEUNACACQRBqIAAgACgCAEEMaygCAGoQphYgAkEQahDIFiEDIAJBEGoQtBcgAkEIaiAAEMkWIQUgACAAKAIAQQxrKAIAaiIGEMoWIQcgAiADIAUoAgAgBiAHIAEgAygCACgCGBEJADYCECACQRBqEMsWRQ0AIAAgACgCAEEMaygCAGpBBRCtFgsgBBCwFiACQSBqJAAgAAurAQEGfyMAQSBrIgIkAAJAIAJBGGogABCuFiIDLQAARQ0AIAJBEGogACAAKAIAQQxrKAIAahCmFiACQRBqEMgWIQQgAkEQahC0FyACQQhqIAAQyRYhBSAAIAAoAgBBDGsoAgBqIgYQyhYhByACIAQgBSgCACAGIAcgAbsQ0BY2AhAgAkEQahDLFkUNACAAIAAoAgBBDGsoAgBqQQUQrRYLIAMQsBYgAkEgaiQACxcAIAAgASACIAMgBCAAKAIAKAIgES8AC6oBAQZ/IwBBIGsiAiQAAkAgAkEYaiAAEK4WIgMtAABFDQAgAkEQaiAAIAAoAgBBDGsoAgBqEKYWIAJBEGoQyBYhBCACQRBqELQXIAJBCGogABDJFiEFIAAgACgCAEEMaygCAGoiBhDKFiEHIAIgBCAFKAIAIAYgByABENAWNgIQIAJBEGoQyxZFDQAgACAAKAIAQQxrKAIAakEFEK0WCyADELAWIAJBIGokAAuyAQEGfyMAQSBrIgIkAAJAIAJBGGogABCuFiIELQAARQ0AIAJBEGogACAAKAIAQQxrKAIAahCmFiACQRBqEMgWIQMgAkEQahC0FyACQQhqIAAQyRYhBSAAIAAoAgBBDGsoAgBqIgYQyhYhByACIAMgBSgCACAGIAcgASADKAIAKAIoEQkANgIQIAJBEGoQyxZFDQAgACAAKAIAQQxrKAIAakEFEK0WCyAEELAWIAJBIGokAAsnAQF/AkAgACgCACICRQ0AIAIgARC1FkF/ELQWRQ0AIABBADYCAAsLVwEDfyMAQRBrIgIkAAJAIAJBCGogABCuFiIDLQAARQ0AIAIgABDJFiIEIAEQ0xYgBBDLFkUNACAAIAAoAgBBDGsoAgBqQQEQrRYLIAMQsBYgAkEQaiQACycBAX8CQCAAKAIAIgJFDQAgAiABEMIWQX8QtBZFDQAgAEEANgIACwsTACAAIAEgAiAAKAIAKAIwEQUACw0AIABBDGoQhBYaIAALCgAgAEEIaxDXFgsTACAAIAAoAgBBDGsoAgBqENcWCwoAIAAQ1xYQohsLCgAgAEEIaxDaFgsTACAAIAAoAgBBDGsoAgBqENoWCwkAIAAgARDeFgskAQJ/IwBBEGsiAiQAIAAgARD5FSEDIAJBEGokACABIAAgAxsLCgAgABCFFhCiGwtAACAAQQA2AhQgACABNgIYIABBADYCDCAAQoKggIDgADcCBCAAIAFFNgIQIABBIGpBAEEoEK8bGiAAQRxqEMIZCywBAX8gACgCACIBBEAgARCyFkF/ELQWRQRAIAAoAgBFDwsgAEEANgIAC0EBCywBAX8gACgCACIBBEAgARDAFkF/ELQWRQRAIAAoAgBFDwsgAEEANgIAC0EBCxEAIAAgASAAKAIAKAIcEQMACxEAIAAgASAAKAIAKAIsEQMACwwAIAAgASgCADYCAAt9AQN/QX8hAgJAIABBf0YNAEEBIAQgASgCTEEAThshBAJAAkAgASgCBCIDRQRAIAEQrBUaIAEoAgQiA0UNAQsgAyABKAIsQQhrSw0BCyAERQ0BQX8PCyABIANBAWsiAjYCBCACIAA6AAAgASABKAIAQW9xNgIAIAAhAgsgAgvPAgEBf0GU9QgoAgAiABDoFhDpFiAAEOoWEOsWQfSUC0Ho5AgoAgAiAEGklQsQ7BZB+I8LQfSUCxDtFkGslQsgAEHclQsQ7hZBzJALQayVCxDvFkHklQtB7OQIKAIAIgBBlJYLEOwWQaCRC0HklQsQ7RZByJILQaCRCygCAEEMaygCAEGgkQtqKAIYEO0WQZyWCyAAQcyWCxDuFkH0kQtBnJYLEO8WQZyTC0H0kQsoAgBBDGsoAgBB9JELaigCGBDvFkHIjgsoAgBBDGsoAgBByI4LakH4jwsQ8BZBoI8LKAIAQQxrKAIAQaCPC2pBzJALEPAWQaCRCygCAEEMaygCAEGgkQtqEPgWQfSRCygCAEEMaygCAEH0kQtqEPgWQaCRCygCAEEMaygCAEGgkQtqQfiPCxDwFkH0kQsoAgBBDGsoAgBB9JELakHMkAsQ8BYLdgECfyMAQRBrIgEkAEH0kwsQihYhAkGclAtBrJQLNgIAQZSUCyAANgIAQfSTC0Gg9Qg2AgBBqJQLQQA6AABBpJQLQX82AgAgAUEIaiACEPEWQfSTCyABQQhqQfSTCygCACgCCBECACABQQhqELQXIAFBEGokAAs9AQF/QdCOCxDyFiEAQciOC0GE7Qg2AgAgAEGY7Qg2AgBBzI4LQQA2AgBB+OwIKAIAQciOC2pB9JMLEPMWC3YBAn8jAEEQayIBJABBtJQLEJoWIQJB3JQLQeyUCzYCAEHUlAsgADYCAEG0lAtBrPYINgIAQeiUC0EAOgAAQeSUC0F/NgIAIAFBCGogAhDxFkG0lAsgAUEIakG0lAsoAgAoAggRAgAgAUEIahC0FyABQRBqJAALPQEBf0GojwsQ9BYhAEGgjwtBtO0INgIAIABByO0INgIAQaSPC0EANgIAQajtCCgCAEGgjwtqQbSUCxDzFgtfAQJ/IwBBEGsiAyQAIAAQihYhBCAAIAE2AiAgAEGQ9wg2AgAgA0EIaiAEEPEWIANBCGoQ9RYhASADQQhqELQXIAAgAjYCKCAAIAE2AiQgACABEPYWOgAsIANBEGokAAsvAQF/IABBBGoQ8hYhAiAAQeTtCDYCACACQfjtCDYCACAAQdjtCCgCAGogARDzFgtfAQJ/IwBBEGsiAyQAIAAQmhYhBCAAIAE2AiAgAEH49wg2AgAgA0EIaiAEEPEWIANBCGoQ9xYhASADQQhqELQXIAAgAjYCKCAAIAE2AiQgACABEPYWOgAsIANBEGokAAsvAQF/IABBBGoQ9BYhAiAAQZTuCDYCACACQajuCDYCACAAQYjuCCgCAGogARDzFgsPACAAKAJIGiAAIAE2AkgLDAAgACABQQRqEMAZCxIAIAAQhBcgAEHU7wg2AgAgAAsXACAAIAEQ4BYgAEEANgJIIABBfzYCTAsSACAAEIQXIABBnPAINgIAIAALCwAgAEHEmAsQuRcLDwAgACAAKAIAKAIcEQAACwsAIABBzJgLELkXCxEAIAAgACgCBEGAwAByNgIECx4AQfiPCxClFkHMkAsQtxZByJILEKUWQZyTCxC3FgsNACAAEIgWGiAAEKIbCzQAIAAgARD1FiIBNgIkIAAgARCvFjYCLCAAIAAoAiQQ9hY6ADUgACgCLEEJTgRAEP8VAAsLCQAgAEEAEP0WC4gDAgV/AX4jAEEgayICJAACQCAALQA0BEAgACgCMCEDIAFFDQEgAEEAOgA0IABBfzYCMAwBCyACQQE2AhggAkEYaiAAQSxqEIEXKAIAIgRBACAEQQBKGyEFAkADQCADIAVHBEAgACgCIBCeFSIGQX9GDQIgAkEYaiADaiAGOgAAIANBAWohAwwBCwsCQCAALQA1BEAgAiACLQAYOgAXDAELIAJBGGohBQNAAkAgACgCKCIDKQIAIQcCQCAAKAIkIAMgAkEYaiACQRhqIARqIgYgAkEQaiACQRdqIAUgAkEMahCCF0EBaw4DAAQBAwsgACgCKCAHNwIAIARBCEYNAyAAKAIgEJ4VIgNBf0YNAyAGIAM6AAAgBEEBaiEEDAELCyACIAItABg6ABcLAkAgAUUEQANAIARBAUgNAiAEQQFrIgQgAkEYamosAAAQlRYgACgCIBDmFkF/Rw0ADAMLAAsgACACLAAXEJUWNgIwCyACLAAXEJUWIQMMAQtBfyEDCyACQSBqJAAgAwsJACAAQQEQ/RYLhAIBA38jAEEgayICJAAgAUF/ELQWIQMgAC0ANCEEAkAgAwRAIAEhAyAEDQEgACAAKAIwIgNBfxC0FkEBczoANAwBCyAEBEAgAiAAKAIwEJIWOgATAn8CQAJAAkAgACgCJCAAKAIoIAJBE2ogAkEUaiACQQxqIAJBGGogAkEgaiACQRRqEIAXQQFrDgMCAgABCyAAKAIwIQMgAiACQRlqNgIUIAIgAzoAGAsDQEEBIAIoAhQiAyACQRhqTQ0CGiACIANBAWsiAzYCFCADLAAAIAAoAiAQ5hZBf0cNAAsLQX8hA0EAC0UNAQsgAEEBOgA0IAAgATYCMCABIQMLIAJBIGokACADCx0AIAAgASACIAMgBCAFIAYgByAAKAIAKAIMERIACwkAIAAgARCDFwsdACAAIAEgAiADIAQgBSAGIAcgACgCACgCEBESAAskAQJ/IwBBEGsiAiQAIAAgARDzFSEDIAJBEGokACABIAAgAxsLCwAgAEGY7wg2AgALDQAgABCYFhogABCiGws0ACAAIAEQ9xYiATYCJCAAIAEQrxY2AiwgACAAKAIkEPYWOgA1IAAoAixBCU4EQBD/FQALCwkAIABBABCIFwv/AgIFfwF+IwBBIGsiAiQAAkAgAC0ANARAIAAoAjAhAyABRQ0BIABBADoANCAAQX82AjAMAQsgAkEBNgIYIAJBGGogAEEsahCBFygCACIEQQAgBEEAShshBQJAA0AgAyAFRwRAIAAoAiAQnhUiBkF/Rg0CIAJBGGogA2ogBjoAACADQQFqIQMMAQsLAkAgAC0ANQRAIAIgAiwAGDYCFAwBCyACQRhqIQUDQAJAIAAoAigiAykCACEHAkAgACgCJCADIAJBGGogAkEYaiAEaiIGIAJBEGogAkEUaiAFIAJBDGoQghdBAWsOAwAEAQMLIAAoAiggBzcCACAEQQhGDQMgACgCIBCeFSIDQX9GDQMgBiADOgAAIARBAWohBAwBCwsgAiACLAAYNgIUCwJAIAFFBEADQCAEQQFIDQIgBEEBayIEIAJBGGpqLAAAIAAoAiAQ5hZBf0cNAAwDCwALIAAgAigCFDYCMAsgAigCFCEDDAELQX8hAwsgAkEgaiQAIAMLCQAgAEEBEIgXC4ECAQN/IwBBIGsiAiQAIAFBfxC0FiEDIAAtADQhBAJAIAMEQCABIQMgBA0BIAAgACgCMCIDQX8QtBZBAXM6ADQMAQsgBARAIAIgACgCMDYCEAJ/AkACQAJAIAAoAiQgACgCKCACQRBqIAJBFGogAkEMaiACQRhqIAJBIGogAkEUahCAF0EBaw4DAgIAAQsgACgCMCEDIAIgAkEZajYCFCACIAM6ABgLA0BBASACKAIUIgMgAkEYak0NAhogAiADQQFrIgM2AhQgAywAACAAKAIgEOYWQX9HDQALC0F/IQNBAAtFDQELIABBAToANCAAIAE2AjAgASEDCyACQSBqJAAgAwsmACAAIAAoAgAoAhgRAAAaIAAgARD1FiIBNgIkIAAgARD2FjoALAuJAQEFfyMAQRBrIgEkACABQRBqIQMCQANAIAAoAiQiAiAAKAIoIAFBCGogAyABQQRqIAIoAgAoAhQRCQAhBEF/IQIgAUEIakEBIAEoAgQgAUEIamsiBSAAKAIgELQbIAVHDQECQCAEQQFrDgIBAgALC0F/QQAgACgCIBCbFRshAgsgAUEQaiQAIAILaQEBfwJAIAAtACxFBEAgAkEAIAJBAEobIQIDQCACIANGDQIgACABLAAAEJUWIAAoAgAoAjQRAwBBf0YEQCADDwUgAUEBaiEBIANBAWohAwwBCwALAAsgAUEBIAIgACgCIBC0GyECCyACC4ACAQV/IwBBIGsiAiQAAn8CQAJAIAFBfxC0Fg0AIAIgARCSFjoAFyAALQAsBEAgAkEXakEBQQEgACgCIBC0G0EBRw0CDAELIAIgAkEYajYCECACQSBqIQUgAkEYaiEGIAJBF2ohAwNAIAAoAiQgACgCKCADIAYgAkEMaiACQRhqIAUgAkEQahCAFyEEIAIoAgwgA0YNAiAEQQNGBEAgA0EBQQEgACgCIBC0G0EBRg0CDAMLIARBAUsNAiACQRhqQQEgAigCECACQRhqayIDIAAoAiAQtBsgA0cNAiACKAIMIQMgBEEBRg0ACwsgARCPFwwBC0F/CyEAIAJBIGokACAACw4AQQAgACAAQX8QtBYbCyYAIAAgACgCACgCGBEAABogACABEPcWIgE2AiQgACABEPYWOgAsC2YBAX8CQCAALQAsRQRAIAJBACACQQBKGyECA0AgAiADRg0CIAAgASgCACAAKAIAKAI0EQMAQX9GBEAgAw8FIAFBBGohASADQQFqIQMMAQsACwALIAFBBCACIAAoAiAQtBshAgsgAgv9AQEFfyMAQSBrIgIkAAJ/AkACQCABQX8QtBYNACACIAE2AhQgAC0ALARAIAJBFGpBBEEBIAAoAiAQtBtBAUcNAgwBCyACIAJBGGo2AhAgAkEgaiEFIAJBGGohBiACQRRqIQMDQCAAKAIkIAAoAiggAyAGIAJBDGogAkEYaiAFIAJBEGoQgBchBCACKAIMIANGDQIgBEEDRgRAIANBAUEBIAAoAiAQtBtBAUYNAgwDCyAEQQFLDQIgAkEYakEBIAIoAhAgAkEYamsiAyAAKAIgELQbIANHDQIgAigCDCEDIARBAUYNAAsLIAEQjxcMAQtBfwshACACQSBqJAAgAAvlAgEGfyMAQRBrIgckACADQdyWCyADGyIFKAIAIQMCQAJAAkAgAUUEQCADDQEMAwtBfiEEIAJFDQIgACAHQQxqIAAbIQYCQCADBEAgAiEADAELIAEtAAAiA0EYdEEYdSIAQQBOBEAgBiADNgIAIABBAEchBAwECyABLAAAIQBBmNEKKAIAKAIARQRAIAYgAEH/vwNxNgIAQQEhBAwECyAAQf8BcUHCAWsiA0EySw0BIANBAnRB4PgIaigCACEDIAJBAWsiAEUNAiABQQFqIQELIAEtAAAiCEEDdiIJQRBrIANBGnUgCWpyQQdLDQADQCAAQQFrIQAgCEGAAWsgA0EGdHIiA0EATgRAIAVBADYCACAGIAM2AgAgAiAAayEEDAQLIABFDQIgAUEBaiIBLQAAIghBwAFxQYABRg0ACwsgBUEANgIAQcT9CkEZNgIAQX8hBAwBCyAFIAM2AgALIAdBEGokACAEC/USAg1/A34jAEGwAmsiBSQAIAAoAkwaAkAgAS0AACIERQ0AAkACQAJAA0ACQAJAIARB/wFxEOcUBEADQCABIgRBAWohASAELQABEOcUDQALIABCABDIFQNAAn8gACgCBCIBIAAoAmhJBEAgACABQQFqNgIEIAEtAAAMAQsgABDJFQsQ5xQNAAsgACgCBCEBIAAoAmgEQCAAIAFBAWsiATYCBAsgASAAKAIIa6wgACkDeCAQfHwhEAwBCwJ/AkACQCABLQAAIgRBJUYEQCABLQABIgNBKkYNASADQSVHDQILIABCABDIFSABIARBJUZqIQQCfyAAKAIEIgEgACgCaEkEQCAAIAFBAWo2AgQgAS0AAAwBCyAAEMkVCyIBIAQtAABHBEAgACgCaARAIAAgACgCBEEBazYCBAtBACEMIAFBAE4NCgwICyAQQgF8IRAMAwtBACEHIAFBAmoMAQsCQCADEK8VRQ0AIAEtAAJBJEcNACACIAEtAAFBMGsQlRchByABQQNqDAELIAIoAgAhByACQQRqIQIgAUEBagshBEEAIQxBACEBIAQtAAAQrxUEQANAIAQtAAAgAUEKbGpBMGshASAELQABIQMgBEEBaiEEIAMQrxUNAAsLAn8gBCAELQAAIghB7QBHDQAaQQAhCSAHQQBHIQwgBC0AASEIQQAhCiAEQQFqCyIDQQFqIQRBAyEGAkACQAJAAkACQAJAIAhB/wFxQcEAaw46BAoECgQEBAoKCgoDCgoKCgoKBAoKCgoECgoECgoKCgoECgQEBAQEAAQFCgEKBAQECgoEAgQKCgQKAgoLIANBAmogBCADLQABQegARiIDGyEEQX5BfyADGyEGDAQLIANBAmogBCADLQABQewARiIDGyEEQQNBASADGyEGDAMLQQEhBgwCC0ECIQYMAQtBACEGIAMhBAtBASAGIAQtAAAiA0EvcUEDRiIIGyENAkAgA0EgciADIAgbIgtB2wBGDQACQCALQe4ARwRAIAtB4wBHDQEgAUEBIAFBAUobIQEMAgsgByANIBAQlhcMAgsgAEIAEMgVA0ACfyAAKAIEIgMgACgCaEkEQCAAIANBAWo2AgQgAy0AAAwBCyAAEMkVCxDnFA0ACyAAKAIEIQMgACgCaARAIAAgA0EBayIDNgIECyADIAAoAghrrCAAKQN4IBB8fCEQCyAAIAGsIhEQyBUCQCAAKAIEIgYgACgCaCIDSQRAIAAgBkEBajYCBAwBCyAAEMkVQQBIDQUgACgCaCEDCyADBEAgACAAKAIEQQFrNgIEC0EQIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgC0HYAGsOIQYLCwILCwsLCwELAgQBAQELBQsLCwsLAwYLCwILBAsLBgALIAtBwQBrIgFBBksNCkEBIAF0QfEAcUUNCgsgBSAAIA1BABDQFSAAKQN4QgAgACgCBCAAKAIIa6x9UQ0PIAdFDQkgBSkDCCERIAUpAwAhEiANDgMFBgcJCyALQe8BcUHjAEYEQCAFQSBqQX9BgQIQrxsaIAVBADoAICALQfMARw0IIAVBADoAQSAFQQA6AC4gBUEANgEqDAgLIAVBIGogBC0AASIGQd4ARiIDQYECEK8bGiAFQQA6ACAgBEECaiAEQQFqIAMbIQgCfwJAAkAgBEECQQEgAxtqLQAAIgRBLUcEQCAEQd0ARg0BIAZB3gBHIQYgCAwDCyAFIAZB3gBHIgY6AE4MAQsgBSAGQd4ARyIGOgB+CyAIQQFqCyEEA0ACQCAELQAAIgNBLUcEQCADRQ0QIANB3QBHDQEMCgtBLSEDIAQtAAEiDkUNACAOQd0ARg0AIARBAWohCAJAIA4gBEEBay0AACIETQRAIA4hAwwBCwNAIARBAWoiBCAFQSBqaiAGOgAAIAQgCC0AACIDSQ0ACwsgCCEECyADIAVqIAY6ACEgBEEBaiEEDAALAAtBCCEDDAILQQohAwwBC0EAIQMLIAAgA0EAQn8QyhUhESAAKQN4QgAgACgCBCAAKAIIa6x9UQ0KAkAgB0UNACALQfAARw0AIAcgET4CAAwFCyAHIA0gERCWFwwECyAHIBIgERDoFTgCAAwDCyAHIBIgERDuFTkDAAwCCyAHIBI3AwAgByARNwMIDAELIAFBAWpBHyALQeMARiIIGyEGAkAgDUEBRyILRQRAIAchAyAMBEAgBkECdBChGyIDRQ0HCyAFQgA3A6gCQQAhASAMIQ4DQCADIQoCQANAAn8gACgCBCIDIAAoAmhJBEAgACADQQFqNgIEIAMtAAAMAQsgABDJFQsiAyAFai0AIUUNASAFIAM6ABsgBUEcaiAFQRtqQQEgBUGoAmoQkxciA0F+Rg0AIANBf0YNByAKBEAgCiABQQJ0aiAFKAIcNgIAIAFBAWohAQsgDkEBcyABIAZHcg0ACyAKIAZBAXRBAXIiBkECdBCjGyIDDQEMBgsLAn9BASAFQagCaiIDRQ0AGiADKAIARQtFDQRBACEJDAELIAwEQEEAIQEgBhChGyIDRQ0GA0AgAyEJA0ACfyAAKAIEIgMgACgCaEkEQCAAIANBAWo2AgQgAy0AAAwBCyAAEMkVCyIDIAVqLQAhRQRAQQAhCgwECyABIAlqIAM6AAAgAUEBaiIBIAZHDQALQQAhCiAJIAZBAXRBAXIiBhCjGyIDDQALDAcLQQAhASAHBEADQAJ/IAAoAgQiAyAAKAJoSQRAIAAgA0EBajYCBCADLQAADAELIAAQyRULIgMgBWotACEEQCABIAdqIAM6AAAgAUEBaiEBDAEFQQAhCiAHIQkMAwsACwALA0ACfyAAKAIEIgEgACgCaEkEQCAAIAFBAWo2AgQgAS0AAAwBCyAAEMkVCyAFai0AIQ0AC0EAIQlBACEKQQAhAQsgACgCBCEDIAAoAmgEQCAAIANBAWsiAzYCBAsgACkDeCADIAAoAghrrHwiElANBiARIBJSQQAgCBsNBgJAIAxFDQAgC0UEQCAHIAo2AgAMAQsgByAJNgIACyAIDQAgCgRAIAogAUECdGpBADYCAAsgCUUEQEEAIQkMAQsgASAJakEAOgAACyAAKAIEIAAoAghrrCAAKQN4IBB8fCEQIA8gB0EAR2ohDwsgBEEBaiEBIAQtAAEiBA0BDAULC0EAIQkMAQtBACEJQQAhCgsgD0F/IA8bIQ8LIAxFDQAgCRCiGyAKEKIbCyAFQbACaiQAIA8LMgEBfyMAQRBrIgIgADYCDCACIAFBAnQgAGpBBGsgACABQQFLGyIAQQRqNgIIIAAoAgALQwACQCAARQ0AAkACQAJAAkAgAUECag4GAAECAgQDBAsgACACPAAADwsgACACPQEADwsgACACPgIADwsgACACNwMACwtVAQJ/IAEgACgCVCIDIANBACACQYACaiIBEPoUIgQgA2sgASAEGyIBIAIgASACSRsiAhCuGxogACABIANqIgE2AlQgACABNgIIIAAgAiADajYCBCACC0oBAX8jAEGQAWsiAyQAIANBAEGQARCvGyIDQX82AkwgAyAANgIsIANBvRI2AiAgAyAANgJUIAMgASACEJQXIQAgA0GQAWokACAACwsAIAAgASACEJcXC8MCAQt/IAAoAgggACgCAEGi2u/XBmoiBRCbFyEEIAAoAgwgBRCbFyEDIAAoAhAgBRCbFyEGAkAgBCABQQJ2Tw0AIAMgASAEQQJ0ayIHTw0AIAYgB08NACADIAZyQQNxDQAgBkECdiEKIANBAnYhC0EAIQcDQCAAIAcgBEEBdiIJaiIMQQF0Ig0gC2pBAnRqIgMoAgAgBRCbFyEGIAEgAygCBCAFEJsXIgNNDQEgBiABIANrTw0BIAAgAyAGamotAAANASACIAAgA2oQ/xQiA0UEQCAAIAogDWpBAnRqIgQoAgAgBRCbFyEDIAEgBCgCBCAFEJsXIgRNDQIgAyABIARrTw0CQQAgACAEaiAAIAMgBGpqLQAAGyEIDAILIARBAUYNASAJIAQgCWsgA0EASCIDGyEEIAcgDCADGyEHDAALAAsgCAspACAAQQh0QYCA/AdxIABBGHRyIABBCHZBgP4DcSAAQRh2cnIgACABGwuhAwEDfwJAIAEtAAANAEGQ+wgQ2hUiAQRAIAEtAAANAQsgAEEMbEGg+whqENoVIgEEQCABLQAADQELQej7CBDaFSIBBEAgAS0AAA0BC0Ht+wghAQsCQANAAkAgASACai0AACIERQ0AIARBL0YNAEEPIQQgAkEBaiICQQ9HDQEMAgsLIAIhBAtB7fsIIQMCQAJAAkACQAJAIAEtAAAiAkEuRg0AIAEgBGotAAANACABIQMgAkHDAEcNAQsgAy0AAUUNAQsgA0Ht+wgQ/xRFDQAgA0H1+wgQ/xQNAQsgAEUEQEHE+gghAiADLQABQS5GDQILQQAPC0HolgsoAgAiAgRAA0AgAyACQQhqEP8URQ0CIAIoAhgiAg0ACwtB6JYLKAIAIgIEQANAIAMgAkEIahD/FEUEQCACDwsgAigCGCICDQALCwJAQRwQoRsiAkUEQEEAIQIMAQsgAkHE+ggpAgA3AgAgAkEIaiIBIAMgBBCuGxogASAEakEAOgAAIAJB6JYLKAIANgIYQeiWCyACNgIACyACQcT6CCAAIAJyGyECCyACCxcAIABBAEcgAEHg+ghHcSAAQfj6CEdxC8ABAQR/IwBBIGsiASQAAkACQEEAEJ0XBEADQEH/////ByAAdkEBcQRAIABBAnQgAEG1nAkQnBc2AgALIABBAWoiAEEGRw0ACwwBCwNAIAFBCGogAEECdGogAEG1nAlB+/sIQQEgAHRB/////wdxGxCcFyIDNgIAIAIgA0EAR2ohAiAAQQFqIgBBBkcNAAtB4PoIIQACQCACDgICAAELIAEoAghBxPoIRw0AQfj6CCEADAELQQAhAAsgAUEgaiQAIAALYwECfyMAQRBrIgMkACADIAI2AgwgAyACNgIIQX8hBAJAQQBBACABIAIQpBUiAkEASA0AIAAgAkEBaiIAEKEbIgI2AgAgAkUNACACIAAgASADKAIMEKQVIQQLIANBEGokACAECxcAIAAQrxVBAEcgAEEgckHhAGtBBklyCyoBAX8jAEEQayICJAAgAiABNgIMIABBoJwJIAEQmBchASACQRBqJAAgAQsPACAAEJ0XBEAgABCiGwsLIwECfyAAIQEDQCABIgJBBGohASACKAIADQALIAIgAGtBAnULswMBBX8jAEEQayIHJAACQAJAAkACQCAABEAgAkEETw0BIAIhAwwCCyABKAIAIgAoAgAiA0UNAwNAQQEhBSADQYABTwRAQX8hBiAHQQxqIAMQsBUiBUF/Rg0FCyAAKAIEIQMgAEEEaiEAIAQgBWoiBCEGIAMNAAsMAwsgASgCACEFIAIhAwNAAn8gBSgCACIEQQFrQf8ATwRAIARFBEAgAEEAOgAAIAFBADYCAAwFC0F/IQYgACAEELAVIgRBf0YNBSADIARrIQMgACAEagwBCyAAIAQ6AAAgA0EBayEDIAEoAgAhBSAAQQFqCyEAIAEgBUEEaiIFNgIAIANBA0sNAAsLIAMEQCABKAIAIQUDQAJ/IAUoAgAiBEEBa0H/AE8EQCAERQRAIABBADoAACABQQA2AgAMBQtBfyEGIAdBDGogBBCwFSIEQX9GDQUgAyAESQ0EIAAgBSgCABCwFRogAyAEayEDIAAgBGoMAQsgACAEOgAAIANBAWshAyABKAIAIQUgAEEBagshACABIAVBBGoiBTYCACADDQALCyACIQYMAQsgAiADayEGCyAHQRBqJAAgBgv1AgEGfyMAQZACayIFJAAgBSABKAIAIgg2AgwgACAFQRBqIAAbIQYCQAJAAkAgA0GAAiAAGyIDRQ0AIAhFDQAgAiADSSEEAkAgAkEgSw0AIAIgA08NAAwCCwNAIAIgAiADIARBAXEbIgRrIQIgBiAFQQxqIAQQpBciBEF/RgRAQQAhAyAFKAIMIQhBfyEHDAILIAYgBCAGaiAGIAVBEGpGIgkbIQYgBCAHaiEHIAUoAgwhCCADQQAgBCAJG2siA0UNASAIRQ0BIAIgA0khBCACQSBLDQAgAiADTw0ACwwBCyAIRQ0BCyADRQ0AIAJFDQAgByEJA0ACQAJAIAYgCCgCABCwFSIEQQFqQQFNBEBBfyEHIAQNBCAFQQA2AgwMAQsgBSAFKAIMQQRqIgg2AgwgBCAJaiEJIAMgBGsiAw0BCyAJIQcMAgsgBCAGaiEGIAkhByACQQFrIgINAAsLIAAEQCABIAUoAgw2AgALIAVBkAJqJAAgBwujCAEFfyABKAIAIQQCQAJAAkACQAJAAkACQAJ/AkACQAJAAkAgA0UNACADKAIAIgZFDQAgAEUEQCACIQMMAwsgA0EANgIAIAIhAwwBCwJAQZjRCigCACgCAEUEQCAARQ0BIAJFDQwgAiEGA0AgBCwAACIDBEAgACADQf+/A3E2AgAgAEEEaiEAIARBAWohBCAGQQFrIgYNAQwOCwsgAEEANgIAIAFBADYCACACIAZrDwsgAiEDIABFDQMMBQsgBBC4Gw8LQQEhBQwDC0EADAELQQELIQUDQCAFRQRAIAQtAABBA3YiBUEQayAGQRp1IAVqckEHSw0DAn8gBEEBaiIFIAZBgICAEHFFDQAaIAUtAABBwAFxQYABRw0EIARBAmoiBSAGQYCAIHFFDQAaIAUtAABBwAFxQYABRw0EIARBA2oLIQQgA0EBayEDQQEhBQwBCwNAAkAgBC0AACIGQQFrQf4ASw0AIARBA3ENACAEKAIAIgZBgYKECGsgBnJBgIGChHhxDQADQCADQQRrIQMgBCgCBCEGIARBBGoiBSEEIAYgBkGBgoQIa3JBgIGChHhxRQ0ACyAFIQQLIAZB/wFxIgVBAWtB/gBNBEAgA0EBayEDIARBAWohBAwBCwsgBUHCAWsiBUEySw0DIARBAWohBCAFQQJ0QeD4CGooAgAhBkEAIQUMAAsACwNAIAVFBEAgA0UNBwNAAkACQAJAIAQtAAAiBUEBayIHQf4ASwRAIAUhBgwBCyAEQQNxDQEgA0EFSQ0BAkADQCAEKAIAIgZBgYKECGsgBnJBgIGChHhxDQEgACAGQf8BcTYCACAAIAQtAAE2AgQgACAELQACNgIIIAAgBC0AAzYCDCAAQRBqIQAgBEEEaiEEIANBBGsiA0EESw0ACyAELQAAIQYLIAZB/wFxIgVBAWshBwsgB0H+AEsNAQsgACAFNgIAIABBBGohACAEQQFqIQQgA0EBayIDDQEMCQsLIAVBwgFrIgVBMksNAyAEQQFqIQQgBUECdEHg+AhqKAIAIQZBASEFDAELIAQtAAAiB0EDdiIFQRBrIAUgBkEadWpyQQdLDQECQAJAAn8gBEEBaiIIIAdBgAFrIAZBBnRyIgVBf0oNABogCC0AAEGAAWsiB0E/Sw0BIARBAmoiCCAHIAVBBnRyIgVBf0oNABogCC0AAEGAAWsiB0E/Sw0BIAcgBUEGdHIhBSAEQQNqCyEEIAAgBTYCACADQQFrIQMgAEEEaiEADAELQcT9CkEZNgIAIARBAWshBAwFC0EAIQUMAAsACyAEQQFrIQQgBg0BIAQtAAAhBgsgBkH/AXENACAABEAgAEEANgIAIAFBADYCAAsgAiADaw8LQcT9CkEZNgIAIABFDQELIAEgBDYCAAtBfw8LIAEgBDYCACACC5MDAQZ/IwBBkAhrIgckACAHIAEoAgAiCDYCDCAAIAdBEGogABshCQJAAkACQCADQYACIAAbIgNFDQAgCEUNACACQQJ2IgUgA0khCiACQYMBTUEAIAMgBUsbDQEDQCACIAUgAyAKGyIIayECIAkgB0EMaiAIIAQQphciBUF/RgRAQQAhAyAHKAIMIQhBfyEGDAILIAkgCSAFQQJ0aiAJIAdBEGpGIgobIQkgBSAGaiEGIAcoAgwhCCADQQAgBSAKG2siA0UNASAIRQ0BIAJBAnYiBSADSSEKIAJBgwFLDQAgAyAFTQ0ACwwBCyAIRQ0BCyADRQ0AIAJFDQAgBiEFA0ACQAJAIAkgCCACIAQQkxciBkECakECTQRAAkACQCAGQQFqDgIGAAELIAdBADYCDAwCCyAEQQA2AgAMAQsgByAHKAIMIAZqIgg2AgwgBUEBaiEFIANBAWsiAw0BCyAFIQYMAgsgCUEEaiEJIAIgBmshAiAFIQYgAg0ACwsgAARAIAEgBygCDDYCAAsgB0GQCGokACAGCzEBAX9BmNEKKAIAIQEgAARAQZjRCkHw/QogACAAQX9GGzYCAAtBfyABIAFB8P0KRhsLCwAgACABIAIQyxULFgAgACABIAJCgICAgICAgICAfxDMFQtUAQJ/AkADQCADIARHBEBBfyEAIAEgAkYNAiABLAAAIgUgAywAACIGSA0CIAUgBkoEQEEBDwUgA0EBaiEDIAFBAWohAQwCCwALCyABIAJHIQALIAALGwAjAEEQayIBJAAgACACIAMQrRcgAUEQaiQAC5UBAQR/IwBBEGsiBSQAIAEgAhDIGiIEQW9NBEACQCAEQQpNBEAgACAEEPoYIAAhAwwBCyAAIAQQuBpBAWoiBhDVGiIDELkaIAAgBhC6GiAAIAQQkQsLA0AgASACRwRAIAMgARD5GCADQQFqIQMgAUEBaiEBDAELCyAFQQA6AA8gAyAFQQ9qEPkYIAVBEGokAA8LENkaAAtAAQF/QQAhAAN/IAEgAkYEfyAABSABLAAAIABBBHRqIgBBgICAgH9xIgNBGHYgA3IgAHMhACABQQFqIQEMAQsLC1QBAn8CQANAIAMgBEcEQEF/IQAgASACRg0CIAEoAgAiBSADKAIAIgZIDQIgBSAGSgRAQQEPBSADQQRqIQMgAUEEaiEBDAILAAsLIAEgAkchAAsgAAsbACMAQRBrIgEkACAAIAIgAxCxFyABQRBqJAALmQEBBH8jAEEQayIFJAAgASACEIEWIgRB7////wNNBEACQCAEQQFNBEAgACAEEPoYIAAhAwwBCyAAIAQQyRpBAWoiBhDKGiIDELkaIAAgBhC6GiAAIAQQkQsLA0AgASACRwRAIAMgARDlFiADQQRqIQMgAUEEaiEBDAELCyAFQQA2AgwgAyAFQQxqEOUWIAVBEGokAA8LENkaAAtAAQF/QQAhAAN/IAEgAkYEfyAABSABKAIAIABBBHRqIgBBgICAgH9xIgNBGHYgA3IgAHMhACABQQRqIQEMAQsLC/cBAQF/IwBBIGsiBiQAIAYgATYCGAJAIAMoAgRBAXFFBEAgBkF/NgIAIAYgACABIAIgAyAEIAYgACgCACgCEBEMACIBNgIYAkACQAJAIAYoAgAOAgABAgsgBUEAOgAADAMLIAVBAToAAAwCCyAFQQE6AAAgBEEENgIADAELIAYgAxCmFiAGEKcWIQEgBhC0FyAGIAMQphYgBhC1FyEDIAYQtBcgBiADELYXIAZBDHIgAxC3FyAFIAZBGGogAiAGIAZBGGoiAyABIARBARC4FyAGRjoAACAGKAIYIQEDQCADQQxrEN4aIgMgBkcNAAsLIAZBIGokACABCwoAIAAoAgAQuhkLCwAgAEHkmAsQuRcLEQAgACABIAEoAgAoAhgRAgALEQAgACABIAEoAgAoAhwRAgALxgQBC38jAEGAAWsiCCQAIAggATYCeCACIAMQuhchCSAIQb4SNgIQIAhBCGpBACAIQRBqELsXIRAgCEEQaiEKAkAgCUHlAE8EQCAJEKEbIgpFDQEgECAKELwXCyAKIQcgAiEBA0AgASADRgRAA0ACQCAJQQAgACAIQfgAahCoFhtFBEAgACAIQfgAahCsFgRAIAUgBSgCAEECcjYCAAsMAQsgABCpFiEOIAZFBEAgBCAOEL0XIQ4LIAxBAWohDUEAIQ8gCiEHIAIhAQNAIAEgA0YEQCANIQwgD0UNAyAAEKsWGiAKIQcgAiEBIAkgC2pBAkkNAwNAIAEgA0YEQAwFBQJAIActAABBAkcNACABEL4XIA1GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASAMEL8XLAAAIRECQCAOQf8BcSAGBH8gEQUgBCAREL0XC0H/AXFGBEBBASEPIAEQvhcgDUcNAiAHQQI6AAAgC0EBaiELDAELIAdBADoAAAsgCUEBayEJCyAHQQFqIQcgAUEMaiEBDAELAAsACwsCQAJAA0AgAiADRg0BIAotAABBAkcEQCAKQQFqIQogAkEMaiECDAELCyACIQMMAQsgBSAFKAIAQQRyNgIACyAQEMAXIAhBgAFqJAAgAw8FAkAgARDBF0UEQCAHQQE6AAAMAQsgB0ECOgAAIAtBAWohCyAJQQFrIQkLIAdBAWohByABQQxqIQEMAQsACwALEP8VAAtOAQJ/An8gACgCACIAIQIgARCyGSIBIQMgAkEQaiICEPYBIANLBH8gAiADELYZKAIAQQBHBUEAC0ULBEAQ/xUACyAAQRBqIAEQthkoAgALCgAgASAAa0EMbQsxAQF/IwBBEGsiAyQAIAMgATYCDCAAIANBDGoQ5RYgAEEEaiACEOUWIANBEGokACAACyQBAX8gACgCACECIAAgATYCACACBEAgAiAAEOsNKAIAEQEACwsRACAAIAEgACgCACgCDBEDAAsVACAAEOgXBEAgACgCBA8LIAAtAAsLCgAgABDqFyABagsJACAAQQAQvBcLCAAgABC+F0ULDwAgASACIAMgBCAFEMMXC6YDAQJ/IwBBkAJrIgUkACAFIAE2AoACIAUgADYCiAIgAhDEFyEAIAVB0AFqIAIgBUH/AWoQxRcgBUHAAWoQxhciAiACEMcXEMgXIAUgAkEAEL8XIgY2ArwBIAUgBUEQajYCDCAFQQA2AggDQAJAIAVBiAJqIAVBgAJqEKgWRQ0AIAUoArwBIAIQvhcgBmpGBEAgAhC+FyEBIAIgAhC+F0EBdBDIFyACIAIQxxcQyBcgBSABIAJBABC/FyIGajYCvAELIAVBiAJqEKkWIAAgBiAFQbwBaiAFQQhqIAUsAP8BIAVB0AFqIAVBEGogBUEMakGgmgkQyRcNACAFQYgCahCrFhoMAQsLAkAgBUHQAWoQvhdFDQAgBSgCDCIBIAVBEGprQZ8BSg0AIAUgAUEEajYCDCABIAUoAgg2AgALIAQgBiAFKAK8ASADIAAQyhc2AgAgBUHQAWogBUEQaiAFKAIMIAMQyxcgBUGIAmogBUGAAmoQrBYEQCADIAMoAgBBAnI2AgALIAUoAogCIQYgAhDeGhogBUHQAWoQ3hoaIAVBkAJqJAAgBgsuAAJAIAAoAgRBygBxIgAEQCAAQcAARgRAQQgPCyAAQQhHDQFBEA8LQQAPC0EKCz8BAX8jAEEQayIDJAAgA0EIaiABEKYWIAIgA0EIahC1FyIBEIsYOgAAIAAgARCMGCADQQhqELQXIANBEGokAAsbAQF/IwBBEGsiASQAIAAQ5xcgAUEQaiQAIAALGwEBf0EKIQEgABDoFwR/IAAQ6RdBAWsFIAELCwkAIAAgARDiGgvzAgEDfyMAQRBrIgokACAKIAA6AA8CQAJAAkAgAygCACACRw0AQSshCyAAQf8BcSIMIAktABhHBEBBLSELIAktABkgDEcNAQsgAyACQQFqNgIAIAIgCzoAAAwBCwJAIAYQvhdFDQAgACAFRw0AQQAhACAIKAIAIgkgB2tBnwFKDQIgBCgCACEAIAggCUEEajYCACAJIAA2AgAMAQtBfyEAIAkgCUEaaiAKQQ9qEOsXIAlrIglBF0oNAQJAAkACQCABQQhrDgMAAgABCyABIAlKDQEMAwsgAUEQRw0AIAlBFkgNACADKAIAIgYgAkYNAiAGIAJrQQJKDQIgBkEBay0AAEEwRw0CQQAhACAEQQA2AgAgAyAGQQFqNgIAIAYgCUGgmglqLQAAOgAADAILIAMgAygCACIAQQFqNgIAIAAgCUGgmglqLQAAOgAAIAQgBCgCAEEBajYCAEEAIQAMAQtBACEAIARBADYCAAsgCkEQaiQAIAAL0QECAn8BfiMAQRBrIgQkAAJ/AkACQAJAIAAgAUcEQEHE/QooAgAhBUHE/QpBADYCACAAIARBDGogAxDlFxCqFyEGAkBBxP0KKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBQwEC0HE/QogBTYCACAEKAIMIAFGDQMLIAJBBDYCAAwBCyACQQQ2AgALQQAMAgsgBkKAgICAeFMNACAGQv////8HVQ0AIAanDAELIAJBBDYCAEH/////ByAGQgFZDQAaQYCAgIB4CyEAIARBEGokACAAC7IBAQJ/AkAgABC+F0UNACACIAFrQQVIDQAgASACEKkYIAJBBGshBCAAEOoXIgIgABC+F2ohBQNAAkAgAiwAACEAIAEgBE8NAAJAIABBAUgNACAAQf8ATg0AIAEoAgAgAiwAAEYNACADQQQ2AgAPCyACQQFqIAIgBSACa0EBShshAiABQQRqIQEMAQsLIABBAUgNACAAQf8ATg0AIAIsAAAgBCgCAEEBa0sNACADQQQ2AgALCw8AIAEgAiADIAQgBRDNFwumAwECfyMAQZACayIFJAAgBSABNgKAAiAFIAA2AogCIAIQxBchACAFQdABaiACIAVB/wFqEMUXIAVBwAFqEMYXIgIgAhDHFxDIFyAFIAJBABC/FyIGNgK8ASAFIAVBEGo2AgwgBUEANgIIA0ACQCAFQYgCaiAFQYACahCoFkUNACAFKAK8ASACEL4XIAZqRgRAIAIQvhchASACIAIQvhdBAXQQyBcgAiACEMcXEMgXIAUgASACQQAQvxciBmo2ArwBCyAFQYgCahCpFiAAIAYgBUG8AWogBUEIaiAFLAD/ASAFQdABaiAFQRBqIAVBDGpBoJoJEMkXDQAgBUGIAmoQqxYaDAELCwJAIAVB0AFqEL4XRQ0AIAUoAgwiASAFQRBqa0GfAUoNACAFIAFBBGo2AgwgASAFKAIINgIACyAEIAYgBSgCvAEgAyAAEM4XNwMAIAVB0AFqIAVBEGogBSgCDCADEMsXIAVBiAJqIAVBgAJqEKwWBEAgAyADKAIAQQJyNgIACyAFKAKIAiEGIAIQ3hoaIAVB0AFqEN4aGiAFQZACaiQAIAYLwwECAn8BfiMAQRBrIgQkAAJAAkACQCAAIAFHBEBBxP0KKAIAIQVBxP0KQQA2AgAgACAEQQxqIAMQ5RcQqhchBgJAQcT9CigCACIABEAgBCgCDCABRw0BIABBxABGDQQMBQtBxP0KIAU2AgAgBCgCDCABRg0ECyACQQQ2AgAMAQsgAkEENgIAC0IAIQYMAQsgAkEENgIAIAZCAVkEQEL///////////8AIQYMAQtCgICAgICAgICAfyEGCyAEQRBqJAAgBgsPACABIAIgAyAEIAUQ0BcLpgMBAn8jAEGQAmsiBSQAIAUgATYCgAIgBSAANgKIAiACEMQXIQAgBUHQAWogAiAFQf8BahDFFyAFQcABahDGFyICIAIQxxcQyBcgBSACQQAQvxciBjYCvAEgBSAFQRBqNgIMIAVBADYCCANAAkAgBUGIAmogBUGAAmoQqBZFDQAgBSgCvAEgAhC+FyAGakYEQCACEL4XIQEgAiACEL4XQQF0EMgXIAIgAhDHFxDIFyAFIAEgAkEAEL8XIgZqNgK8AQsgBUGIAmoQqRYgACAGIAVBvAFqIAVBCGogBSwA/wEgBUHQAWogBUEQaiAFQQxqQaCaCRDJFw0AIAVBiAJqEKsWGgwBCwsCQCAFQdABahC+F0UNACAFKAIMIgEgBUEQamtBnwFKDQAgBSABQQRqNgIMIAEgBSgCCDYCAAsgBCAGIAUoArwBIAMgABDRFzsBACAFQdABaiAFQRBqIAUoAgwgAxDLFyAFQYgCaiAFQYACahCsFgRAIAMgAygCAEECcjYCAAsgBSgCiAIhBiACEN4aGiAFQdABahDeGhogBUGQAmokACAGC+0BAgN/AX4jAEEQayIEJAACfwJAAkACQAJAIAAgAUcEQAJAIAAtAAAiBUEtRw0AIABBAWoiACABRw0AIAJBBDYCAAwCC0HE/QooAgAhBkHE/QpBADYCACAAIARBDGogAxDlFxCpFyEHAkBBxP0KKAIAIgAEQCAEKAIMIAFHDQEgAEHEAEYNBQwEC0HE/QogBjYCACAEKAIMIAFGDQMLIAJBBDYCAAwBCyACQQQ2AgALQQAMAwsgB0L//wNYDQELIAJBBDYCAEH//wMMAQtBACAHpyIAayAAIAVBLUYbCyEAIARBEGokACAAQf//A3ELDwAgASACIAMgBCAFENMXC6YDAQJ/IwBBkAJrIgUkACAFIAE2AoACIAUgADYCiAIgAhDEFyEAIAVB0AFqIAIgBUH/AWoQxRcgBUHAAWoQxhciAiACEMcXEMgXIAUgAkEAEL8XIgY2ArwBIAUgBUEQajYCDCAFQQA2AggDQAJAIAVBiAJqIAVBgAJqEKgWRQ0AIAUoArwBIAIQvhcgBmpGBEAgAhC+FyEBIAIgAhC+F0EBdBDIFyACIAIQxxcQyBcgBSABIAJBABC/FyIGajYCvAELIAVBiAJqEKkWIAAgBiAFQbwBaiAFQQhqIAUsAP8BIAVB0AFqIAVBEGogBUEMakGgmgkQyRcNACAFQYgCahCrFhoMAQsLAkAgBUHQAWoQvhdFDQAgBSgCDCIBIAVBEGprQZ8BSg0AIAUgAUEEajYCDCABIAUoAgg2AgALIAQgBiAFKAK8ASADIAAQ1Bc2AgAgBUHQAWogBUEQaiAFKAIMIAMQyxcgBUGIAmogBUGAAmoQrBYEQCADIAMoAgBBAnI2AgALIAUoAogCIQYgAhDeGhogBUHQAWoQ3hoaIAVBkAJqJAAgBgvoAQIDfwF+IwBBEGsiBCQAAn8CQAJAAkACQCAAIAFHBEACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNACACQQQ2AgAMAgtBxP0KKAIAIQZBxP0KQQA2AgAgACAEQQxqIAMQ5RcQqRchBwJAQcT9CigCACIABEAgBCgCDCABRw0BIABBxABGDQUMBAtBxP0KIAY2AgAgBCgCDCABRg0DCyACQQQ2AgAMAQsgAkEENgIAC0EADAMLIAdC/////w9YDQELIAJBBDYCAEF/DAELQQAgB6ciAGsgACAFQS1GGwshACAEQRBqJAAgAAsPACABIAIgAyAEIAUQ1hcLpgMBAn8jAEGQAmsiBSQAIAUgATYCgAIgBSAANgKIAiACEMQXIQAgBUHQAWogAiAFQf8BahDFFyAFQcABahDGFyICIAIQxxcQyBcgBSACQQAQvxciBjYCvAEgBSAFQRBqNgIMIAVBADYCCANAAkAgBUGIAmogBUGAAmoQqBZFDQAgBSgCvAEgAhC+FyAGakYEQCACEL4XIQEgAiACEL4XQQF0EMgXIAIgAhDHFxDIFyAFIAEgAkEAEL8XIgZqNgK8AQsgBUGIAmoQqRYgACAGIAVBvAFqIAVBCGogBSwA/wEgBUHQAWogBUEQaiAFQQxqQaCaCRDJFw0AIAVBiAJqEKsWGgwBCwsCQCAFQdABahC+F0UNACAFKAIMIgEgBUEQamtBnwFKDQAgBSABQQRqNgIMIAEgBSgCCDYCAAsgBCAGIAUoArwBIAMgABDXFzcDACAFQdABaiAFQRBqIAUoAgwgAxDLFyAFQYgCaiAFQYACahCsFgRAIAMgAygCAEECcjYCAAsgBSgCiAIhBiACEN4aGiAFQdABahDeGhogBUGQAmokACAGC9cBAgN/AX4jAEEQayIEJAACfgJAAkACQCAAIAFHBEACQCAALQAAIgVBLUcNACAAQQFqIgAgAUcNACACQQQ2AgAMAgtBxP0KKAIAIQZBxP0KQQA2AgAgACAEQQxqIAMQ5RcQqRchBwJAQcT9CigCACIABEAgBCgCDCABRw0BIABBxABGDQQMBQtBxP0KIAY2AgAgBCgCDCABRg0ECyACQQQ2AgAMAQsgAkEENgIAC0IADAILIAJBBDYCAEJ/DAELQgAgB30gByAFQS1GGwshByAEQRBqJAAgBwsPACABIAIgAyAEIAUQ2RcL0AMBAX8jAEGQAmsiBSQAIAUgATYCgAIgBSAANgKIAiAFQdABaiACIAVB4AFqIAVB3wFqIAVB3gFqENoXIAVBwAFqEMYXIgIgAhDHFxDIFyAFIAJBABC/FyIANgK8ASAFIAVBEGo2AgwgBUEANgIIIAVBAToAByAFQcUAOgAGA0ACQCAFQYgCaiAFQYACahCoFkUNACAFKAK8ASACEL4XIABqRgRAIAIQvhchASACIAIQvhdBAXQQyBcgAiACEMcXEMgXIAUgASACQQAQvxciAGo2ArwBCyAFQYgCahCpFiAFQQdqIAVBBmogACAFQbwBaiAFLADfASAFLADeASAFQdABaiAFQRBqIAVBDGogBUEIaiAFQeABahDbFw0AIAVBiAJqEKsWGgwBCwsCQCAFQdABahC+F0UNACAFLQAHRQ0AIAUoAgwiASAFQRBqa0GfAUoNACAFIAFBBGo2AgwgASAFKAIINgIACyAEIAAgBSgCvAEgAxDcFzgCACAFQdABaiAFQRBqIAUoAgwgAxDLFyAFQYgCaiAFQYACahCsFgRAIAMgAygCAEECcjYCAAsgBSgCiAIhACACEN4aGiAFQdABahDeGhogBUGQAmokACAAC14BAX8jAEEQayIFJAAgBUEIaiABEKYWIAVBCGoQpxZBoJoJQcCaCSACEOQXIAMgBUEIahC1FyICEIoYOgAAIAQgAhCLGDoAACAAIAIQjBggBUEIahC0FyAFQRBqJAAL7gMBAX8jAEEQayIMJAAgDCAAOgAPAkACQCAAIAVGBEAgAS0AAEUNAUEAIQAgAUEAOgAAIAQgBCgCACILQQFqNgIAIAtBLjoAACAHEL4XRQ0CIAkoAgAiCyAIa0GfAUoNAiAKKAIAIQUgCSALQQRqNgIAIAsgBTYCAAwCCwJAIAAgBkcNACAHEL4XRQ0AIAEtAABFDQFBACEAIAkoAgAiCyAIa0GfAUoNAiAKKAIAIQAgCSALQQRqNgIAIAsgADYCAEEAIQAgCkEANgIADAILQX8hACALIAtBIGogDEEPahDrFyALayILQR9KDQEgC0GgmglqLQAAIQUCQAJAAkACQCALQRZrDgQBAQAAAgsgAyAEKAIAIgtHBEAgC0EBay0AAEHfAHEgAi0AAEH/AHFHDQULIAQgC0EBajYCACALIAU6AABBACEADAQLIAJB0AA6AAAMAQsgAiwAACIAIAVB3wBxRw0AIAIgAEGAAXI6AAAgAS0AAEUNACABQQA6AAAgBxC+F0UNACAJKAIAIgAgCGtBnwFKDQAgCigCACEBIAkgAEEEajYCACAAIAE2AgALIAQgBCgCACIAQQFqNgIAIAAgBToAAEEAIQAgC0EVSg0BIAogCigCAEEBajYCAAwBC0F/IQALIAxBEGokACAAC5wBAgJ/AX0jAEEQayIDJAACQAJAIAAgAUcEQEHE/QooAgAhBEHE/QpBADYCABDlFxogACADQQxqENQVIQUCQEHE/QooAgAiAARAIAMoAgwgAUcNASAAQcQARw0EIAJBBDYCAAwEC0HE/QogBDYCACADKAIMIAFGDQMLIAJBBDYCAAwBCyACQQQ2AgALQwAAAAAhBQsgA0EQaiQAIAULDwAgASACIAMgBCAFEN4XC9ADAQF/IwBBkAJrIgUkACAFIAE2AoACIAUgADYCiAIgBUHQAWogAiAFQeABaiAFQd8BaiAFQd4BahDaFyAFQcABahDGFyICIAIQxxcQyBcgBSACQQAQvxciADYCvAEgBSAFQRBqNgIMIAVBADYCCCAFQQE6AAcgBUHFADoABgNAAkAgBUGIAmogBUGAAmoQqBZFDQAgBSgCvAEgAhC+FyAAakYEQCACEL4XIQEgAiACEL4XQQF0EMgXIAIgAhDHFxDIFyAFIAEgAkEAEL8XIgBqNgK8AQsgBUGIAmoQqRYgBUEHaiAFQQZqIAAgBUG8AWogBSwA3wEgBSwA3gEgBUHQAWogBUEQaiAFQQxqIAVBCGogBUHgAWoQ2xcNACAFQYgCahCrFhoMAQsLAkAgBUHQAWoQvhdFDQAgBS0AB0UNACAFKAIMIgEgBUEQamtBnwFKDQAgBSABQQRqNgIMIAEgBSgCCDYCAAsgBCAAIAUoArwBIAMQ3xc5AwAgBUHQAWogBUEQaiAFKAIMIAMQyxcgBUGIAmogBUGAAmoQrBYEQCADIAMoAgBBAnI2AgALIAUoAogCIQAgAhDeGhogBUHQAWoQ3hoaIAVBkAJqJAAgAAugAQICfwF8IwBBEGsiAyQAAkACQCAAIAFHBEBBxP0KKAIAIQRBxP0KQQA2AgAQ5RcaIAAgA0EMahDWFSEFAkBBxP0KKAIAIgAEQCADKAIMIAFHDQEgAEHEAEcNBCACQQQ2AgAMBAtBxP0KIAQ2AgAgAygCDCABRg0DCyACQQQ2AgAMAQsgAkEENgIAC0QAAAAAAAAAACEFCyADQRBqJAAgBQsPACABIAIgAyAEIAUQ4RcL4QMBAX8jAEGgAmsiBSQAIAUgATYCkAIgBSAANgKYAiAFQeABaiACIAVB8AFqIAVB7wFqIAVB7gFqENoXIAVB0AFqEMYXIgIgAhDHFxDIFyAFIAJBABC/FyIANgLMASAFIAVBIGo2AhwgBUEANgIYIAVBAToAFyAFQcUAOgAWA0ACQCAFQZgCaiAFQZACahCoFkUNACAFKALMASACEL4XIABqRgRAIAIQvhchASACIAIQvhdBAXQQyBcgAiACEMcXEMgXIAUgASACQQAQvxciAGo2AswBCyAFQZgCahCpFiAFQRdqIAVBFmogACAFQcwBaiAFLADvASAFLADuASAFQeABaiAFQSBqIAVBHGogBUEYaiAFQfABahDbFw0AIAVBmAJqEKsWGgwBCwsCQCAFQeABahC+F0UNACAFLQAXRQ0AIAUoAhwiASAFQSBqa0GfAUoNACAFIAFBBGo2AhwgASAFKAIYNgIACyAFIAAgBSgCzAEgAxDiFyAEIAUpAwA3AwAgBCAFKQMINwMIIAVB4AFqIAVBIGogBSgCHCADEMsXIAVBmAJqIAVBkAJqEKwWBEAgAyADKAIAQQJyNgIACyAFKAKYAiEAIAIQ3hoaIAVB4AFqEN4aGiAFQaACaiQAIAALswECAn8CfiMAQSBrIgQkAAJAAkAgASACRwRAQcT9CigCACEFQcT9CkEANgIAIAQgASAEQRxqEMsaIAQpAwghBiAEKQMAIQcCQEHE/QooAgAiAQRAIAQoAhwgAkcNASABQcQARw0EIANBBDYCAAwEC0HE/QogBTYCACAEKAIcIAJGDQMLIANBBDYCAAwBCyADQQQ2AgALQgAhB0IAIQYLIAAgBzcDACAAIAY3AwggBEEgaiQAC5IDAQF/IwBBkAJrIgAkACAAIAI2AoACIAAgATYCiAIgAEHQAWoQxhchAiAAQRBqIAMQphYgAEEQahCnFkGgmglBupoJIABB4AFqEOQXIABBEGoQtBcgAEHAAWoQxhciAyADEMcXEMgXIAAgA0EAEL8XIgE2ArwBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBiAJqIABBgAJqEKgWRQ0AIAAoArwBIAMQvhcgAWpGBEAgAxC+FyEGIAMgAxC+F0EBdBDIFyADIAMQxxcQyBcgACAGIANBABC/FyIBajYCvAELIABBiAJqEKkWQRAgASAAQbwBaiAAQQhqQQAgAiAAQRBqIABBDGogAEHgAWoQyRcNACAAQYgCahCrFhoMAQsLIAMgACgCvAEgAWsQyBcgAxDqFyEBEOUXIQYgACAFNgIAIAEgBiAAEOYXQQFHBEAgBEEENgIACyAAQYgCaiAAQYACahCsFgRAIAQgBCgCAEECcjYCAAsgACgCiAIhASADEN4aGiACEN4aGiAAQZACaiQAIAELFgAgACABIAIgAyAAKAIAKAIgEQsAGgszAAJAQZSYCy0AAEEBcQ0AQZSYCxD9GkUNAEGQmAsQnhc2AgBBlJgLEIEbC0GQmAsoAgALRQEBfyMAQRBrIgMkACADIAE2AgwgAyACNgIIIAMgA0EMahDsFyEBIABBwZoJIAMoAggQmBchACABEO0XIANBEGokACAACy0BAX8gACEBQQAhAANAIABBA0cEQCABIABBAnRqQQA2AgAgAEEBaiEADAELCwsKACAALQALQQd2Cw4AIAAoAghB/////wdxCxIAIAAQ6BcEQCAAKAIADwsgAAsxACACLQAAIQIDQAJAIAAgAUcEfyAALQAAIAJHDQEgAAUgAQsPCyAAQQFqIQAMAAsACxEAIAAgASgCABCoFzYCACAACxIAIAAoAgAiAARAIAAQqBcaCwv3AQEBfyMAQSBrIgYkACAGIAE2AhgCQCADKAIEQQFxRQRAIAZBfzYCACAGIAAgASACIAMgBCAGIAAoAgAoAhARDAAiATYCGAJAAkACQCAGKAIADgIAAQILIAVBADoAAAwDCyAFQQE6AAAMAgsgBUEBOgAAIARBBDYCAAwBCyAGIAMQphYgBhC4FiEBIAYQtBcgBiADEKYWIAYQ7xchAyAGELQXIAYgAxC2FyAGQQxyIAMQtxcgBSAGQRhqIAIgBiAGQRhqIgMgASAEQQEQ8BcgBkY6AAAgBigCGCEBA0AgA0EMaxDeGiIDIAZHDQALCyAGQSBqJAAgAQsLACAAQeyYCxC5Fwu+BAELfyMAQYABayIIJAAgCCABNgJ4IAIgAxC6FyEJIAhBvhI2AhAgCEEIakEAIAhBEGoQuxchECAIQRBqIQoCQCAJQeUATwRAIAkQoRsiCkUNASAQIAoQvBcLIAohByACIQEDQCABIANGBEADQAJAIAlBACAAIAhB+ABqELkWG0UEQCAAIAhB+ABqEL0WBEAgBSAFKAIAQQJyNgIACwwBCyAAELoWIQ4gBkUEQCAEIA4Q4xYhDgsgDEEBaiENQQAhDyAKIQcgAiEBA0AgASADRgRAIA0hDCAPRQ0DIAAQvBYaIAohByACIQEgCSALakECSQ0DA0AgASADRgRADAUFAkAgBy0AAEECRw0AIAEQvhcgDUYNACAHQQA6AAAgC0EBayELCyAHQQFqIQcgAUEMaiEBDAELAAsABQJAIActAABBAUcNACABIAwQ8RcoAgAhEQJAIAYEfyARBSAEIBEQ4xYLIA5GBEBBASEPIAEQvhcgDUcNAiAHQQI6AAAgC0EBaiELDAELIAdBADoAAAsgCUEBayEJCyAHQQFqIQcgAUEMaiEBDAELAAsACwsCQAJAA0AgAiADRg0BIAotAABBAkcEQCAKQQFqIQogAkEMaiECDAELCyACIQMMAQsgBSAFKAIAQQRyNgIACyAQEMAXIAhBgAFqJAAgAw8FAkAgARDBF0UEQCAHQQE6AAAMAQsgB0ECOgAAIAtBAWohCyAJQQFrIQkLIAdBAWohByABQQxqIQEMAQsACwALEP8VAAsNACAAEOoXIAFBAnRqCw8AIAEgAiADIAQgBRDzFwuxAwEDfyMAQeACayIFJAAgBSABNgLQAiAFIAA2AtgCIAIQxBchACACIAVB4AFqEPQXIQEgBUHQAWogAiAFQcwCahD1FyAFQcABahDGFyICIAIQxxcQyBcgBSACQQAQvxciBjYCvAEgBSAFQRBqNgIMIAVBADYCCANAAkAgBUHYAmogBUHQAmoQuRZFDQAgBSgCvAEgAhC+FyAGakYEQCACEL4XIQcgAiACEL4XQQF0EMgXIAIgAhDHFxDIFyAFIAcgAkEAEL8XIgZqNgK8AQsgBUHYAmoQuhYgACAGIAVBvAFqIAVBCGogBSgCzAIgBUHQAWogBUEQaiAFQQxqIAEQ9hcNACAFQdgCahC8FhoMAQsLAkAgBUHQAWoQvhdFDQAgBSgCDCIBIAVBEGprQZ8BSg0AIAUgAUEEajYCDCABIAUoAgg2AgALIAQgBiAFKAK8ASADIAAQyhc2AgAgBUHQAWogBUEQaiAFKAIMIAMQyxcgBUHYAmogBUHQAmoQvRYEQCADIAMoAgBBAnI2AgALIAUoAtgCIQYgAhDeGhogBUHQAWoQ3hoaIAVB4AJqJAAgBgsJACAAIAEQjRgLPwEBfyMAQRBrIgMkACADQQhqIAEQphYgAiADQQhqEO8XIgEQixg2AgAgACABEIwYIANBCGoQtBcgA0EQaiQAC/cCAQJ/IwBBEGsiCiQAIAogADYCDAJAAkACQCADKAIAIAJHDQBBKyELIAAgCSgCYEcEQEEtIQsgCSgCZCAARw0BCyADIAJBAWo2AgAgAiALOgAADAELAkAgBhC+F0UNACAAIAVHDQBBACEAIAgoAgAiCSAHa0GfAUoNAiAEKAIAIQAgCCAJQQRqNgIAIAkgADYCAAwBC0F/IQAgCSAJQegAaiAKQQxqEIkYIAlrIglB3ABKDQEgCUECdSEGAkACQAJAIAFBCGsOAwACAAELIAEgBkoNAQwDCyABQRBHDQAgCUHYAEgNACADKAIAIgkgAkYNAiAJIAJrQQJKDQIgCUEBay0AAEEwRw0CQQAhACAEQQA2AgAgAyAJQQFqNgIAIAkgBkGgmglqLQAAOgAADAILIAMgAygCACIAQQFqNgIAIAAgBkGgmglqLQAAOgAAIAQgBCgCAEEBajYCAEEAIQAMAQtBACEAIARBADYCAAsgCkEQaiQAIAALDwAgASACIAMgBCAFEPgXC7EDAQN/IwBB4AJrIgUkACAFIAE2AtACIAUgADYC2AIgAhDEFyEAIAIgBUHgAWoQ9BchASAFQdABaiACIAVBzAJqEPUXIAVBwAFqEMYXIgIgAhDHFxDIFyAFIAJBABC/FyIGNgK8ASAFIAVBEGo2AgwgBUEANgIIA0ACQCAFQdgCaiAFQdACahC5FkUNACAFKAK8ASACEL4XIAZqRgRAIAIQvhchByACIAIQvhdBAXQQyBcgAiACEMcXEMgXIAUgByACQQAQvxciBmo2ArwBCyAFQdgCahC6FiAAIAYgBUG8AWogBUEIaiAFKALMAiAFQdABaiAFQRBqIAVBDGogARD2Fw0AIAVB2AJqELwWGgwBCwsCQCAFQdABahC+F0UNACAFKAIMIgEgBUEQamtBnwFKDQAgBSABQQRqNgIMIAEgBSgCCDYCAAsgBCAGIAUoArwBIAMgABDOFzcDACAFQdABaiAFQRBqIAUoAgwgAxDLFyAFQdgCaiAFQdACahC9FgRAIAMgAygCAEECcjYCAAsgBSgC2AIhBiACEN4aGiAFQdABahDeGhogBUHgAmokACAGCw8AIAEgAiADIAQgBRD6FwuxAwEDfyMAQeACayIFJAAgBSABNgLQAiAFIAA2AtgCIAIQxBchACACIAVB4AFqEPQXIQEgBUHQAWogAiAFQcwCahD1FyAFQcABahDGFyICIAIQxxcQyBcgBSACQQAQvxciBjYCvAEgBSAFQRBqNgIMIAVBADYCCANAAkAgBUHYAmogBUHQAmoQuRZFDQAgBSgCvAEgAhC+FyAGakYEQCACEL4XIQcgAiACEL4XQQF0EMgXIAIgAhDHFxDIFyAFIAcgAkEAEL8XIgZqNgK8AQsgBUHYAmoQuhYgACAGIAVBvAFqIAVBCGogBSgCzAIgBUHQAWogBUEQaiAFQQxqIAEQ9hcNACAFQdgCahC8FhoMAQsLAkAgBUHQAWoQvhdFDQAgBSgCDCIBIAVBEGprQZ8BSg0AIAUgAUEEajYCDCABIAUoAgg2AgALIAQgBiAFKAK8ASADIAAQ0Rc7AQAgBUHQAWogBUEQaiAFKAIMIAMQyxcgBUHYAmogBUHQAmoQvRYEQCADIAMoAgBBAnI2AgALIAUoAtgCIQYgAhDeGhogBUHQAWoQ3hoaIAVB4AJqJAAgBgsPACABIAIgAyAEIAUQ/BcLsQMBA38jAEHgAmsiBSQAIAUgATYC0AIgBSAANgLYAiACEMQXIQAgAiAFQeABahD0FyEBIAVB0AFqIAIgBUHMAmoQ9RcgBUHAAWoQxhciAiACEMcXEMgXIAUgAkEAEL8XIgY2ArwBIAUgBUEQajYCDCAFQQA2AggDQAJAIAVB2AJqIAVB0AJqELkWRQ0AIAUoArwBIAIQvhcgBmpGBEAgAhC+FyEHIAIgAhC+F0EBdBDIFyACIAIQxxcQyBcgBSAHIAJBABC/FyIGajYCvAELIAVB2AJqELoWIAAgBiAFQbwBaiAFQQhqIAUoAswCIAVB0AFqIAVBEGogBUEMaiABEPYXDQAgBUHYAmoQvBYaDAELCwJAIAVB0AFqEL4XRQ0AIAUoAgwiASAFQRBqa0GfAUoNACAFIAFBBGo2AgwgASAFKAIINgIACyAEIAYgBSgCvAEgAyAAENQXNgIAIAVB0AFqIAVBEGogBSgCDCADEMsXIAVB2AJqIAVB0AJqEL0WBEAgAyADKAIAQQJyNgIACyAFKALYAiEGIAIQ3hoaIAVB0AFqEN4aGiAFQeACaiQAIAYLDwAgASACIAMgBCAFEP4XC7EDAQN/IwBB4AJrIgUkACAFIAE2AtACIAUgADYC2AIgAhDEFyEAIAIgBUHgAWoQ9BchASAFQdABaiACIAVBzAJqEPUXIAVBwAFqEMYXIgIgAhDHFxDIFyAFIAJBABC/FyIGNgK8ASAFIAVBEGo2AgwgBUEANgIIA0ACQCAFQdgCaiAFQdACahC5FkUNACAFKAK8ASACEL4XIAZqRgRAIAIQvhchByACIAIQvhdBAXQQyBcgAiACEMcXEMgXIAUgByACQQAQvxciBmo2ArwBCyAFQdgCahC6FiAAIAYgBUG8AWogBUEIaiAFKALMAiAFQdABaiAFQRBqIAVBDGogARD2Fw0AIAVB2AJqELwWGgwBCwsCQCAFQdABahC+F0UNACAFKAIMIgEgBUEQamtBnwFKDQAgBSABQQRqNgIMIAEgBSgCCDYCAAsgBCAGIAUoArwBIAMgABDXFzcDACAFQdABaiAFQRBqIAUoAgwgAxDLFyAFQdgCaiAFQdACahC9FgRAIAMgAygCAEECcjYCAAsgBSgC2AIhBiACEN4aGiAFQdABahDeGhogBUHgAmokACAGCw8AIAEgAiADIAQgBRCAGAvQAwEBfyMAQfACayIFJAAgBSABNgLgAiAFIAA2AugCIAVByAFqIAIgBUHgAWogBUHcAWogBUHYAWoQgRggBUG4AWoQxhciAiACEMcXEMgXIAUgAkEAEL8XIgA2ArQBIAUgBUEQajYCDCAFQQA2AgggBUEBOgAHIAVBxQA6AAYDQAJAIAVB6AJqIAVB4AJqELkWRQ0AIAUoArQBIAIQvhcgAGpGBEAgAhC+FyEBIAIgAhC+F0EBdBDIFyACIAIQxxcQyBcgBSABIAJBABC/FyIAajYCtAELIAVB6AJqELoWIAVBB2ogBUEGaiAAIAVBtAFqIAUoAtwBIAUoAtgBIAVByAFqIAVBEGogBUEMaiAFQQhqIAVB4AFqEIIYDQAgBUHoAmoQvBYaDAELCwJAIAVByAFqEL4XRQ0AIAUtAAdFDQAgBSgCDCIBIAVBEGprQZ8BSg0AIAUgAUEEajYCDCABIAUoAgg2AgALIAQgACAFKAK0ASADENwXOAIAIAVByAFqIAVBEGogBSgCDCADEMsXIAVB6AJqIAVB4AJqEL0WBEAgAyADKAIAQQJyNgIACyAFKALoAiEAIAIQ3hoaIAVByAFqEN4aGiAFQfACaiQAIAALXgEBfyMAQRBrIgUkACAFQQhqIAEQphYgBUEIahC4FkGgmglBwJoJIAIQiBggAyAFQQhqEO8XIgIQihg2AgAgBCACEIsYNgIAIAAgAhCMGCAFQQhqELQXIAVBEGokAAv4AwEBfyMAQRBrIgwkACAMIAA2AgwCQAJAIAAgBUYEQCABLQAARQ0BQQAhACABQQA6AAAgBCAEKAIAIgtBAWo2AgAgC0EuOgAAIAcQvhdFDQIgCSgCACILIAhrQZ8BSg0CIAooAgAhBSAJIAtBBGo2AgAgCyAFNgIADAILAkAgACAGRw0AIAcQvhdFDQAgAS0AAEUNAUEAIQAgCSgCACILIAhrQZ8BSg0CIAooAgAhACAJIAtBBGo2AgAgCyAANgIAQQAhACAKQQA2AgAMAgtBfyEAIAsgC0GAAWogDEEMahCJGCALayILQfwASg0BIAtBAnVBoJoJai0AACEFAkACQAJAAkAgC0HYAGtBHncOBAEBAAACCyADIAQoAgAiC0cEQCALQQFrLQAAQd8AcSACLQAAQf8AcUcNBQsgBCALQQFqNgIAIAsgBToAAEEAIQAMBAsgAkHQADoAAAwBCyACLAAAIgAgBUHfAHFHDQAgAiAAQYABcjoAACABLQAARQ0AIAFBADoAACAHEL4XRQ0AIAkoAgAiACAIa0GfAUoNACAKKAIAIQEgCSAAQQRqNgIAIAAgATYCAAsgBCAEKAIAIgBBAWo2AgAgACAFOgAAQQAhACALQdQASg0BIAogCigCAEEBajYCAAwBC0F/IQALIAxBEGokACAACw8AIAEgAiADIAQgBRCEGAvQAwEBfyMAQfACayIFJAAgBSABNgLgAiAFIAA2AugCIAVByAFqIAIgBUHgAWogBUHcAWogBUHYAWoQgRggBUG4AWoQxhciAiACEMcXEMgXIAUgAkEAEL8XIgA2ArQBIAUgBUEQajYCDCAFQQA2AgggBUEBOgAHIAVBxQA6AAYDQAJAIAVB6AJqIAVB4AJqELkWRQ0AIAUoArQBIAIQvhcgAGpGBEAgAhC+FyEBIAIgAhC+F0EBdBDIFyACIAIQxxcQyBcgBSABIAJBABC/FyIAajYCtAELIAVB6AJqELoWIAVBB2ogBUEGaiAAIAVBtAFqIAUoAtwBIAUoAtgBIAVByAFqIAVBEGogBUEMaiAFQQhqIAVB4AFqEIIYDQAgBUHoAmoQvBYaDAELCwJAIAVByAFqEL4XRQ0AIAUtAAdFDQAgBSgCDCIBIAVBEGprQZ8BSg0AIAUgAUEEajYCDCABIAUoAgg2AgALIAQgACAFKAK0ASADEN8XOQMAIAVByAFqIAVBEGogBSgCDCADEMsXIAVB6AJqIAVB4AJqEL0WBEAgAyADKAIAQQJyNgIACyAFKALoAiEAIAIQ3hoaIAVByAFqEN4aGiAFQfACaiQAIAALDwAgASACIAMgBCAFEIYYC+EDAQF/IwBBgANrIgUkACAFIAE2AvACIAUgADYC+AIgBUHYAWogAiAFQfABaiAFQewBaiAFQegBahCBGCAFQcgBahDGFyICIAIQxxcQyBcgBSACQQAQvxciADYCxAEgBSAFQSBqNgIcIAVBADYCGCAFQQE6ABcgBUHFADoAFgNAAkAgBUH4AmogBUHwAmoQuRZFDQAgBSgCxAEgAhC+FyAAakYEQCACEL4XIQEgAiACEL4XQQF0EMgXIAIgAhDHFxDIFyAFIAEgAkEAEL8XIgBqNgLEAQsgBUH4AmoQuhYgBUEXaiAFQRZqIAAgBUHEAWogBSgC7AEgBSgC6AEgBUHYAWogBUEgaiAFQRxqIAVBGGogBUHwAWoQghgNACAFQfgCahC8FhoMAQsLAkAgBUHYAWoQvhdFDQAgBS0AF0UNACAFKAIcIgEgBUEgamtBnwFKDQAgBSABQQRqNgIcIAEgBSgCGDYCAAsgBSAAIAUoAsQBIAMQ4hcgBCAFKQMANwMAIAQgBSkDCDcDCCAFQdgBaiAFQSBqIAUoAhwgAxDLFyAFQfgCaiAFQfACahC9FgRAIAMgAygCAEECcjYCAAsgBSgC+AIhACACEN4aGiAFQdgBahDeGhogBUGAA2okACAAC5IDAQF/IwBB4AJrIgAkACAAIAI2AtACIAAgATYC2AIgAEHQAWoQxhchAiAAQRBqIAMQphYgAEEQahC4FkGgmglBupoJIABB4AFqEIgYIABBEGoQtBcgAEHAAWoQxhciAyADEMcXEMgXIAAgA0EAEL8XIgE2ArwBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB2AJqIABB0AJqELkWRQ0AIAAoArwBIAMQvhcgAWpGBEAgAxC+FyEGIAMgAxC+F0EBdBDIFyADIAMQxxcQyBcgACAGIANBABC/FyIBajYCvAELIABB2AJqELoWQRAgASAAQbwBaiAAQQhqQQAgAiAAQRBqIABBDGogAEHgAWoQ9hcNACAAQdgCahC8FhoMAQsLIAMgACgCvAEgAWsQyBcgAxDqFyEBEOUXIQYgACAFNgIAIAEgBiAAEOYXQQFHBEAgBEEENgIACyAAQdgCaiAAQdACahC9FgRAIAQgBCgCAEECcjYCAAsgACgC2AIhASADEN4aGiACEN4aGiAAQeACaiQAIAELFgAgACABIAIgAyAAKAIAKAIwEQsAGgsxACACKAIAIQIDQAJAIAAgAUcEfyAAKAIAIAJHDQEgAAUgAQsPCyAAQQRqIQAMAAsACw8AIAAgACgCACgCDBEAAAsPACAAIAAoAgAoAhARAAALEQAgACABIAEoAgAoAhQRAgALPQEBfyMAQRBrIgIkACACQQhqIAAQphYgAkEIahC4FkGgmglBupoJIAEQiBggAkEIahC0FyACQRBqJAAgAQvaAQEBfyMAQTBrIgUkACAFIAE2AigCQCACKAIEQQFxRQRAIAAgASACIAMgBCAAKAIAKAIYEQkAIQIMAQsgBUEYaiACEKYWIAVBGGoQtRchAiAFQRhqELQXAkAgBARAIAVBGGogAhC2FwwBCyAFQRhqIAIQtxcLIAUgBUEYahCPGDYCEANAIAUgBUEYahCQGDYCCCAFQRBqIAVBCGoQkRgEQCAFQShqIAVBEGooAgAsAAAQ0xYgBUEQahCSGAwBBSAFKAIoIQIgBUEYahDeGhoLCwsgBUEwaiQAIAILKAEBfyMAQRBrIgEkACABQQhqIAAQ6hcQkxgoAgAhACABQRBqJAAgAAsuAQF/IwBBEGsiASQAIAFBCGogABDqFyAAEL4XahCTGCgCACEAIAFBEGokACAACxAAIAAoAgAgASgCAEZBAXMLDwAgACAAKAIAQQFqNgIACwsAIAAgATYCACAAC9UBAQR/IwBBIGsiACQAIABB0JoJLwAAOwEcIABBzJoJKAAANgIYIABBGGpBAXJBxJoJQQEgAigCBBCVGCACKAIEIQYgAEEQayIFIggkABDlFyEHIAAgBDYCACAFIAUgBkEJdkEBcUENaiAHIABBGGogABCWGCAFaiIGIAIQlxghByAIQSBrIgQkACAAQQhqIAIQphYgBSAHIAYgBCAAQRRqIABBEGogAEEIahCYGCAAQQhqELQXIAEgBCAAKAIUIAAoAhAgAiADEN4DIQIgAEEgaiQAIAILjwEBAX8gA0GAEHEEQCAAQSs6AAAgAEEBaiEACyADQYAEcQRAIABBIzoAACAAQQFqIQALA0AgAS0AACIEBEAgACAEOgAAIABBAWohACABQQFqIQEMAQsLIAACf0HvACADQcoAcSIBQcAARg0AGkHYAEH4ACADQYCAAXEbIAFBCEYNABpB5ABB9QAgAhsLOgAAC0UBAX8jAEEQayIFJAAgBSACNgIMIAUgBDYCCCAFIAVBDGoQ7BchAiAAIAEgAyAFKAIIEKQVIQAgAhDtFyAFQRBqJAAgAAtkACACKAIEQbABcSICQSBGBEAgAQ8LAkAgAkEQRw0AAkACQCAALQAAIgJBK2sOAwABAAELIABBAWoPCyABIABrQQJIDQAgAkEwRw0AIAAtAAFBIHJB+ABHDQAgAEECaiEACyAAC9kDAQh/IwBBEGsiCiQAIAYQpxYhCyAKIAYQtRciBhCMGAJAIAoQwRcEQCALIAAgAiADEOQXIAUgAyACIABraiIGNgIADAELIAUgAzYCAAJAAkAgACIJLQAAIgdBK2sOAwABAAELIAsgB0EYdEEYdRDjFiEHIAUgBSgCACIIQQFqNgIAIAggBzoAACAAQQFqIQkLAkAgAiAJa0ECSA0AIAktAABBMEcNACAJLQABQSByQfgARw0AIAtBMBDjFiEHIAUgBSgCACIIQQFqNgIAIAggBzoAACALIAksAAEQ4xYhByAFIAUoAgAiCEEBajYCACAIIAc6AAAgCUECaiEJCyAJIAIQmRhBACEHIAYQixghDEEAIQggCSEGA38gAiAGTQR/IAMgCSAAa2ogBSgCABCZGCAFKAIABQJAIAogCBC/Fy0AAEUNACAHIAogCBC/FywAAEcNACAFIAUoAgAiB0EBajYCACAHIAw6AAAgCCAIIAoQvhdBAWtJaiEIQQAhBwsgCyAGLAAAEOMWIQ0gBSAFKAIAIg5BAWo2AgAgDiANOgAAIAZBAWohBiAHQQFqIQcMAQsLIQYLIAQgBiADIAEgAGtqIAEgAkYbNgIAIAoQ3hoaIApBEGokAAsJACAAIAEQshgLxAEBBX8jAEEgayIAJAAgAEIlNwMYIABBGGpBAXJBxpoJQQEgAigCBBCVGCACKAIEIQUgAEEgayIGIggkABDlFyEHIAAgBDcDACAGIAYgBUEJdkEBcUEXaiAHIABBGGogABCWGCAGaiIHIAIQlxghCSAIQTBrIgUkACAAQQhqIAIQphYgBiAJIAcgBSAAQRRqIABBEGogAEEIahCYGCAAQQhqELQXIAEgBSAAKAIUIAAoAhAgAiADEN4DIQIgAEEgaiQAIAIL1QEBBH8jAEEgayIAJAAgAEHQmgkvAAA7ARwgAEHMmgkoAAA2AhggAEEYakEBckHEmglBACACKAIEEJUYIAIoAgQhBiAAQRBrIgUiCCQAEOUXIQcgACAENgIAIAUgBSAGQQl2QQFxQQxyIAcgAEEYaiAAEJYYIAVqIgYgAhCXGCEHIAhBIGsiBCQAIABBCGogAhCmFiAFIAcgBiAEIABBFGogAEEQaiAAQQhqEJgYIABBCGoQtBcgASAEIAAoAhQgACgCECACIAMQ3gMhAiAAQSBqJAAgAgvEAQEFfyMAQSBrIgAkACAAQiU3AxggAEEYakEBckHGmglBACACKAIEEJUYIAIoAgQhBSAAQSBrIgYiCCQAEOUXIQcgACAENwMAIAYgBiAFQQl2QQFxQRdqIAcgAEEYaiAAEJYYIAZqIgcgAhCXGCEJIAhBMGsiBSQAIABBCGogAhCmFiAGIAkgByAFIABBFGogAEEQaiAAQQhqEJgYIABBCGoQtBcgASAFIAAoAhQgACgCECACIAMQ3gMhAiAAQSBqJAAgAgvxAwEGfyMAQdABayIAJAAgAEIlNwPIASAAQcgBakEBckHJmgkgAigCBBCeGCEGIAAgAEGgAWo2ApwBEOUXIQUCfyAGBEAgAigCCCEHIAAgBDkDKCAAIAc2AiAgAEGgAWpBHiAFIABByAFqIABBIGoQlhgMAQsgACAEOQMwIABBoAFqQR4gBSAAQcgBaiAAQTBqEJYYCyEFIABBvhI2AlAgAEGQAWpBACAAQdAAahC7FyEHAkAgBUEeTgRAEOUXIQUCfyAGBEAgAigCCCEGIAAgBDkDCCAAIAY2AgAgAEGcAWogBSAAQcgBaiAAEJ8YDAELIAAgBDkDECAAQZwBaiAFIABByAFqIABBEGoQnxgLIQUgACgCnAEiBkUNASAHIAYQvBcLIAAoApwBIgYgBSAGaiIIIAIQlxghCSAAQb4SNgJQIABByABqQQAgAEHQAGoQuxchBgJ/IAAoApwBIABBoAFqRgRAIABB0ABqIQUgAEGgAWoMAQsgBUEBdBChGyIFRQ0BIAYgBRC8FyAAKAKcAQshCiAAQThqIAIQphYgCiAJIAggBSAAQcQAaiAAQUBrIABBOGoQoBggAEE4ahC0FyABIAUgACgCRCAAKAJAIAIgAxDeAyECIAYQwBcgBxDAFyAAQdABaiQAIAIPCxD/FQAL0AEBAn8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJHBEAgAEGu1AA7AAAgAEECaiEACyACQYCAAXEhBANAIAEtAAAiAgRAIAAgAjoAACAAQQFqIQAgAUEBaiEBDAELCyAAAn8CQCADQYACRwRAIANBBEcNAUHGAEHmACAEGwwCC0HFAEHlACAEGwwBC0HBAEHhACAEGyADQYQCRg0AGkHHAEHnACAEGws6AAAgA0GEAkcLQwEBfyMAQRBrIgQkACAEIAE2AgwgBCADNgIIIAQgBEEMahDsFyEBIAAgAiAEKAIIEJ8XIQAgARDtFyAEQRBqJAAgAAu2BQEKfyMAQRBrIgokACAGEKcWIQsgCiAGELUXIg0QjBggBSADNgIAAkACQCAAIggtAAAiBkEraw4DAAEAAQsgCyAGQRh0QRh1EOMWIQYgBSAFKAIAIgdBAWo2AgAgByAGOgAAIABBAWohCAsCQAJAIAIgCCIGa0EBTA0AIAgtAABBMEcNACAILQABQSByQfgARw0AIAtBMBDjFiEGIAUgBSgCACIHQQFqNgIAIAcgBjoAACALIAgsAAEQ4xYhBiAFIAUoAgAiB0EBajYCACAHIAY6AAAgCEECaiIIIQYDQCACIAZNDQIgBiwAACEHEOUXGiAHEKAXRQ0CIAZBAWohBgwACwALA0AgAiAGTQ0BIAYsAAAhBxDlFxogBxCvFUUNASAGQQFqIQYMAAsACwJAIAoQwRcEQCALIAggBiAFKAIAEOQXIAUgBSgCACAGIAhrajYCAAwBCyAIIAYQmRggDRCLGCEOIAghBwNAIAYgB00EQCADIAggAGtqIAUoAgAQmRgFAkAgCiAMEL8XLAAAQQFIDQAgCSAKIAwQvxcsAABHDQAgBSAFKAIAIglBAWo2AgAgCSAOOgAAIAwgDCAKEL4XQQFrSWohDEEAIQkLIAsgBywAABDjFiEPIAUgBSgCACIQQQFqNgIAIBAgDzoAACAHQQFqIQcgCUEBaiEJDAELCwsDQAJAIAsCfyACIAZLBEAgBi0AACIHQS5HDQIgDRCKGCEHIAUgBSgCACIJQQFqNgIAIAkgBzoAACAGQQFqIQYLIAYLIAIgBSgCABDkFyAFIAUoAgAgAiAGa2oiBjYCACAEIAYgAyABIABraiABIAJGGzYCACAKEN4aGiAKQRBqJAAPCyALIAdBGHRBGHUQ4xYhByAFIAUoAgAiCUEBajYCACAJIAc6AAAgBkEBaiEGDAALAAuXBAEGfyMAQYACayIAJAAgAEIlNwP4ASAAQfgBakEBckHKmgkgAigCBBCeGCEHIAAgAEHQAWo2AswBEOUXIQYCfyAHBEAgAigCCCEIIAAgBTcDSCAAQUBrIAQ3AwAgACAINgIwIABB0AFqQR4gBiAAQfgBaiAAQTBqEJYYDAELIAAgBDcDUCAAIAU3A1ggAEHQAWpBHiAGIABB+AFqIABB0ABqEJYYCyEGIABBvhI2AoABIABBwAFqQQAgAEGAAWoQuxchCAJAIAZBHk4EQBDlFyEGAn8gBwRAIAIoAgghByAAIAU3AxggACAENwMQIAAgBzYCACAAQcwBaiAGIABB+AFqIAAQnxgMAQsgACAENwMgIAAgBTcDKCAAQcwBaiAGIABB+AFqIABBIGoQnxgLIQYgACgCzAEiB0UNASAIIAcQvBcLIAAoAswBIgcgBiAHaiIJIAIQlxghCiAAQb4SNgKAASAAQfgAakEAIABBgAFqELsXIQcCfyAAKALMASAAQdABakYEQCAAQYABaiEGIABB0AFqDAELIAZBAXQQoRsiBkUNASAHIAYQvBcgACgCzAELIQsgAEHoAGogAhCmFiALIAogCSAGIABB9ABqIABB8ABqIABB6ABqEKAYIABB6ABqELQXIAEgBiAAKAJ0IAAoAnAgAiADEN4DIQIgBxDAFyAIEMAXIABBgAJqJAAgAg8LEP8VAAvAAQEDfyMAQeAAayIAJAAgAEHWmgkvAAA7AVwgAEHSmgkoAAA2AlgQ5RchBSAAIAQ2AgAgAEFAayAAQUBrQRQgBSAAQdgAaiAAEJYYIgYgAEFAa2oiBCACEJcYIQUgAEEQaiACEKYWIABBEGoQpxYhByAAQRBqELQXIAcgAEFAayAEIABBEGoQ5BcgASAAQRBqIAYgAEEQamoiBiAFIABrIABqQTBrIAQgBUYbIAYgAiADEN4DIQIgAEHgAGokACACC9oBAQF/IwBBMGsiBSQAIAUgATYCKAJAIAIoAgRBAXFFBEAgACABIAIgAyAEIAAoAgAoAhgRCQAhAgwBCyAFQRhqIAIQphYgBUEYahDvFyECIAVBGGoQtBcCQCAEBEAgBUEYaiACELYXDAELIAVBGGogAhC3FwsgBSAFQRhqEI8YNgIQA0AgBSAFQRhqEKQYNgIIIAVBEGogBUEIahCRGARAIAVBKGogBUEQaigCACgCABDVFiAFQRBqEKUYDAEFIAUoAighAiAFQRhqEN4aGgsLCyAFQTBqJAAgAgsxAQF/IwBBEGsiASQAIAFBCGogABDqFyAAEL4XQQJ0ahCTGCgCACEAIAFBEGokACAACw8AIAAgACgCAEEEajYCAAviAQEEfyMAQSBrIgAkACAAQdCaCS8AADsBHCAAQcyaCSgAADYCGCAAQRhqQQFyQcSaCUEBIAIoAgQQlRggAigCBCEGIABBEGsiBSIIJAAQ5RchByAAIAQ2AgAgBSAFIAZBCXZBAXEiBEENaiAHIABBGGogABCWGCAFaiIGIAIQlxghByAIIARBA3RB6wBqQfAAcWsiBCQAIABBCGogAhCmFiAFIAcgBiAEIABBFGogAEEQaiAAQQhqEKcYIABBCGoQtBcgASAEIAAoAhQgACgCECACIAMQqBghAiAAQSBqJAAgAgviAwEIfyMAQRBrIgokACAGELgWIQsgCiAGEO8XIgYQjBgCQCAKEMEXBEAgCyAAIAIgAxCIGCAFIAMgAiAAa0ECdGoiBjYCAAwBCyAFIAM2AgACQAJAIAAiCS0AACIHQStrDgMAAQABCyALIAdBGHRBGHUQ5BYhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgAEEBaiEJCwJAIAIgCWtBAkgNACAJLQAAQTBHDQAgCS0AAUEgckH4AEcNACALQTAQ5BYhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgCyAJLAABEOQWIQcgBSAFKAIAIghBBGo2AgAgCCAHNgIAIAlBAmohCQsgCSACEJkYQQAhByAGEIsYIQxBACEIIAkhBgN/IAIgBk0EfyADIAkgAGtBAnRqIAUoAgAQqRggBSgCAAUCQCAKIAgQvxctAABFDQAgByAKIAgQvxcsAABHDQAgBSAFKAIAIgdBBGo2AgAgByAMNgIAIAggCCAKEL4XQQFrSWohCEEAIQcLIAsgBiwAABDkFiENIAUgBSgCACIOQQRqNgIAIA4gDTYCACAGQQFqIQYgB0EBaiEHDAELCyEGCyAEIAYgAyABIABrQQJ0aiABIAJGGzYCACAKEN4aGiAKQRBqJAALvwEBBH8jAEEQayIJJAACQCAARQ0AIAQoAgwhByACIAFrIghBAU4EQCAAIAEgCEECdSIIENYWIAhHDQELIAcgAyABa0ECdSIGa0EAIAYgB0gbIgFBAU4EQCAAIAkgASAFEKoYIgYQ6hcgARDWFiEHIAYQ3hoaQQAhBiABIAdHDQELIAMgAmsiAUEBTgRAQQAhBiAAIAIgAUECdSIBENYWIAFHDQELIAQoAgwaIARBADYCDCAAIQYLIAlBEGokACAGCwkAIAAgARCzGAsfAQF/IwBBEGsiAyQAIAAgASACEPYaIANBEGokACAAC9EBAQV/IwBBIGsiACQAIABCJTcDGCAAQRhqQQFyQcaaCUEBIAIoAgQQlRggAigCBCEFIABBIGsiBiIIJAAQ5RchByAAIAQ3AwAgBiAGIAVBCXZBAXEiBUEXaiAHIABBGGogABCWGCAGaiIHIAIQlxghCSAIIAVBA3RBuwFqQfABcWsiBSQAIABBCGogAhCmFiAGIAkgByAFIABBFGogAEEQaiAAQQhqEKcYIABBCGoQtBcgASAFIAAoAhQgACgCECACIAMQqBghAiAAQSBqJAAgAgvWAQEEfyMAQSBrIgAkACAAQdCaCS8AADsBHCAAQcyaCSgAADYCGCAAQRhqQQFyQcSaCUEAIAIoAgQQlRggAigCBCEGIABBEGsiBSIIJAAQ5RchByAAIAQ2AgAgBSAFIAZBCXZBAXFBDHIgByAAQRhqIAAQlhggBWoiBiACEJcYIQcgCEHgAGsiBCQAIABBCGogAhCmFiAFIAcgBiAEIABBFGogAEEQaiAAQQhqEKcYIABBCGoQtBcgASAEIAAoAhQgACgCECACIAMQqBghAiAAQSBqJAAgAgvRAQEFfyMAQSBrIgAkACAAQiU3AxggAEEYakEBckHGmglBACACKAIEEJUYIAIoAgQhBSAAQSBrIgYiCCQAEOUXIQcgACAENwMAIAYgBiAFQQl2QQFxIgVBF2ogByAAQRhqIAAQlhggBmoiByACEJcYIQkgCCAFQQN0QbsBakHwAXFrIgUkACAAQQhqIAIQphYgBiAJIAcgBSAAQRRqIABBEGogAEEIahCnGCAAQQhqELQXIAEgBSAAKAIUIAAoAhAgAiADEKgYIQIgAEEgaiQAIAIL8QMBBn8jAEGAA2siACQAIABCJTcD+AIgAEH4AmpBAXJByZoJIAIoAgQQnhghBiAAIABB0AJqNgLMAhDlFyEFAn8gBgRAIAIoAgghByAAIAQ5AyggACAHNgIgIABB0AJqQR4gBSAAQfgCaiAAQSBqEJYYDAELIAAgBDkDMCAAQdACakEeIAUgAEH4AmogAEEwahCWGAshBSAAQb4SNgJQIABBwAJqQQAgAEHQAGoQuxchBwJAIAVBHk4EQBDlFyEFAn8gBgRAIAIoAgghBiAAIAQ5AwggACAGNgIAIABBzAJqIAUgAEH4AmogABCfGAwBCyAAIAQ5AxAgAEHMAmogBSAAQfgCaiAAQRBqEJ8YCyEFIAAoAswCIgZFDQEgByAGELwXCyAAKALMAiIGIAUgBmoiCCACEJcYIQkgAEG+EjYCUCAAQcgAakEAIABB0ABqELsXIQYCfyAAKALMAiAAQdACakYEQCAAQdAAaiEFIABB0AJqDAELIAVBA3QQoRsiBUUNASAGIAUQvBcgACgCzAILIQogAEE4aiACEKYWIAogCSAIIAUgAEHEAGogAEFAayAAQThqEK8YIABBOGoQtBcgASAFIAAoAkQgACgCQCACIAMQqBghAiAGEMAXIAcQwBcgAEGAA2okACACDwsQ/xUAC8gFAQp/IwBBEGsiCiQAIAYQuBYhCyAKIAYQ7xciDRCMGCAFIAM2AgACQAJAIAAiCC0AACIGQStrDgMAAQABCyALIAZBGHRBGHUQ5BYhBiAFIAUoAgAiB0EEajYCACAHIAY2AgAgAEEBaiEICwJAAkAgAiAIIgZrQQFMDQAgCC0AAEEwRw0AIAgtAAFBIHJB+ABHDQAgC0EwEOQWIQYgBSAFKAIAIgdBBGo2AgAgByAGNgIAIAsgCCwAARDkFiEGIAUgBSgCACIHQQRqNgIAIAcgBjYCACAIQQJqIgghBgNAIAIgBk0NAiAGLAAAIQcQ5RcaIAcQoBdFDQIgBkEBaiEGDAALAAsDQCACIAZNDQEgBiwAACEHEOUXGiAHEK8VRQ0BIAZBAWohBgwACwALAkAgChDBFwRAIAsgCCAGIAUoAgAQiBggBSAFKAIAIAYgCGtBAnRqNgIADAELIAggBhCZGCANEIsYIQ4gCCEHA0AgBiAHTQRAIAMgCCAAa0ECdGogBSgCABCpGAUCQCAKIAwQvxcsAABBAUgNACAJIAogDBC/FywAAEcNACAFIAUoAgAiCUEEajYCACAJIA42AgAgDCAMIAoQvhdBAWtJaiEMQQAhCQsgCyAHLAAAEOQWIQ8gBSAFKAIAIhBBBGo2AgAgECAPNgIAIAdBAWohByAJQQFqIQkMAQsLCwJAAkADQCACIAZNDQEgBi0AACIHQS5HBEAgCyAHQRh0QRh1EOQWIQcgBSAFKAIAIglBBGo2AgAgCSAHNgIAIAZBAWohBgwBCwsgDRCKGCEJIAUgBSgCACIMQQRqIgc2AgAgDCAJNgIAIAZBAWohBgwBCyAFKAIAIQcLIAsgBiACIAcQiBggBSAFKAIAIAIgBmtBAnRqIgY2AgAgBCAGIAMgASAAa0ECdGogASACRhs2AgAgChDeGhogCkEQaiQAC5cEAQZ/IwBBsANrIgAkACAAQiU3A6gDIABBqANqQQFyQcqaCSACKAIEEJ4YIQcgACAAQYADajYC/AIQ5RchBgJ/IAcEQCACKAIIIQggACAFNwNIIABBQGsgBDcDACAAIAg2AjAgAEGAA2pBHiAGIABBqANqIABBMGoQlhgMAQsgACAENwNQIAAgBTcDWCAAQYADakEeIAYgAEGoA2ogAEHQAGoQlhgLIQYgAEG+EjYCgAEgAEHwAmpBACAAQYABahC7FyEIAkAgBkEeTgRAEOUXIQYCfyAHBEAgAigCCCEHIAAgBTcDGCAAIAQ3AxAgACAHNgIAIABB/AJqIAYgAEGoA2ogABCfGAwBCyAAIAQ3AyAgACAFNwMoIABB/AJqIAYgAEGoA2ogAEEgahCfGAshBiAAKAL8AiIHRQ0BIAggBxC8FwsgACgC/AIiByAGIAdqIgkgAhCXGCEKIABBvhI2AoABIABB+ABqQQAgAEGAAWoQuxchBwJ/IAAoAvwCIABBgANqRgRAIABBgAFqIQYgAEGAA2oMAQsgBkEDdBChGyIGRQ0BIAcgBhC8FyAAKAL8AgshCyAAQegAaiACEKYWIAsgCiAJIAYgAEH0AGogAEHwAGogAEHoAGoQrxggAEHoAGoQtBcgASAGIAAoAnQgACgCcCACIAMQqBghAiAHEMAXIAgQwBcgAEGwA2okACACDwsQ/xUAC80BAQN/IwBB0AFrIgAkACAAQdaaCS8AADsBzAEgAEHSmgkoAAA2AsgBEOUXIQUgACAENgIAIABBsAFqIABBsAFqQRQgBSAAQcgBaiAAEJYYIgYgAEGwAWpqIgQgAhCXGCEFIABBEGogAhCmFiAAQRBqELgWIQcgAEEQahC0FyAHIABBsAFqIAQgAEEQahCIGCABIABBEGogAEEQaiAGQQJ0aiIGIAUgAGtBAnQgAGpBsAVrIAQgBUYbIAYgAiADEKgYIQIgAEHQAWokACACCywAAkAgACABRg0AA0AgACABQQFrIgFPDQEgACABEPAVIABBAWohAAwACwALCywAAkAgACABRg0AA0AgACABQQRrIgFPDQEgACABEPEVIABBBGohAAwACwALC9wDAQN/IwBBIGsiCCQAIAggAjYCECAIIAE2AhggCEEIaiADEKYWIAhBCGoQpxYhASAIQQhqELQXIARBADYCAEEAIQICQANAIAYgB0YNASACDQECQCAIQRhqIAhBEGoQrBYNAAJAIAEgBiwAABC1GEElRgRAIAZBAWoiAiAHRg0CQQAhCgJ/AkAgASACLAAAELUYIglBxQBGDQAgCUH/AXFBMEYNACAGIQIgCQwBCyAGQQJqIgYgB0YNAyAJIQogASAGLAAAELUYCyEGIAggACAIKAIYIAgoAhAgAyAEIAUgBiAKIAAoAgAoAiQREgA2AhggAkECaiEGDAELIAFBgMAAIAYsAAAQqhYEQANAAkAgByAGQQFqIgZGBEAgByEGDAELIAFBgMAAIAYsAAAQqhYNAQsLA0AgCEEYaiAIQRBqEKgWRQ0CIAFBgMAAIAhBGGoQqRYQqhZFDQIgCEEYahCrFhoMAAsACyABIAhBGGoQqRYQvRcgASAGLAAAEL0XRgRAIAZBAWohBiAIQRhqEKsWGgwBCyAEQQQ2AgALIAQoAgAhAgwBCwsgBEEENgIACyAIQRhqIAhBEGoQrBYEQCAEIAQoAgBBAnI2AgALIAgoAhghBiAIQSBqJAAgBgsTACAAIAFBACAAKAIAKAIkEQUAC0EBAX8jAEEQayIGJAAgBkKlkOmp0snOktMANwMIIAAgASACIAMgBCAFIAZBCGogBkEQahC0GCEAIAZBEGokACAACzEAIAAgASACIAMgBCAFIABBCGogACgCCCgCFBEAACIAEOoXIAAQ6hcgABC+F2oQtBgLTAEBfyMAQRBrIgYkACAGIAE2AgggBiADEKYWIAYQpxYhAyAGELQXIAAgBUEYaiAGQQhqIAIgBCADELkYIAYoAgghACAGQRBqJAAgAAtAACACIAMgAEEIaiAAKAIIKAIAEQAAIgAgAEGoAWogBSAEQQAQuBcgAGsiAEGnAUwEQCABIABBDG1BB282AgALC0wBAX8jAEEQayIGJAAgBiABNgIIIAYgAxCmFiAGEKcWIQMgBhC0FyAAIAVBEGogBkEIaiACIAQgAxC7GCAGKAIIIQAgBkEQaiQAIAALQAAgAiADIABBCGogACgCCCgCBBEAACIAIABBoAJqIAUgBEEAELgXIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtKAQF/IwBBEGsiBiQAIAYgATYCCCAGIAMQphYgBhCnFiEDIAYQtBcgBUEUaiAGQQhqIAIgBCADEL0YIAYoAgghACAGQRBqJAAgAAtCACABIAIgAyAEQQQQvhghASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASBsgAUHFAEgbQewOazYCAAsL3gEBAn8jAEEQayIFJAAgBSABNgIIAkAgACAFQQhqEKwWBEAgAiACKAIAQQZyNgIAQQAhAQwBCyADQYAQIAAQqRYiARCqFkUEQCACIAIoAgBBBHI2AgBBACEBDAELIAMgARC1GCEBA0ACQCAAEKsWGiABQTBrIQEgACAFQQhqEKgWIQYgBEECSA0AIAZFDQAgA0GAECAAEKkWIgYQqhZFDQIgBEEBayEEIAMgBhC1GCABQQpsaiEBDAELCyAAIAVBCGoQrBZFDQAgAiACKAIAQQJyNgIACyAFQRBqJAAgAQuxBwEBfyMAQSBrIgckACAHIAE2AhggBEEANgIAIAdBCGogAxCmFiAHQQhqEKcWIQggB0EIahC0FwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGQcEAaw45AAEXBBcFFwYHFxcXChcXFxcODxAXFxcTFRcXFxcXFxcAAQIDAxcXARcIFxcJCxcMFw0XCxcXERIUFgsgACAFQRhqIAdBGGogAiAEIAgQuRgMGAsgACAFQRBqIAdBGGogAiAEIAgQuxgMFwsgAEEIaiAAKAIIKAIMEQAAIQEgByAAIAcoAhggAiADIAQgBSABEOoXIAEQ6hcgARC+F2oQtBg2AhgMFgsgBUEMaiAHQRhqIAIgBCAIEMAYDBULIAdCpdq9qcLsy5L5ADcDCCAHIAAgASACIAMgBCAFIAdBCGogB0EQahC0GDYCGAwUCyAHQqWytanSrcuS5AA3AwggByAAIAEgAiADIAQgBSAHQQhqIAdBEGoQtBg2AhgMEwsgBUEIaiAHQRhqIAIgBCAIEMEYDBILIAVBCGogB0EYaiACIAQgCBDCGAwRCyAFQRxqIAdBGGogAiAEIAgQwxgMEAsgBUEQaiAHQRhqIAIgBCAIEMQYDA8LIAVBBGogB0EYaiACIAQgCBDFGAwOCyAHQRhqIAIgBCAIEMYYDA0LIAAgBUEIaiAHQRhqIAIgBCAIEMcYDAwLIAdB35oJKAAANgAPIAdB2JoJKQAANwMIIAcgACABIAIgAyAEIAUgB0EIaiAHQRNqELQYNgIYDAsLIAdB55oJLQAAOgAMIAdB45oJKAAANgIIIAcgACABIAIgAyAEIAUgB0EIaiAHQQ1qELQYNgIYDAoLIAUgB0EYaiACIAQgCBDIGAwJCyAHQqWQ6anSyc6S0wA3AwggByAAIAEgAiADIAQgBSAHQQhqIAdBEGoQtBg2AhgMCAsgBUEYaiAHQRhqIAIgBCAIEMkYDAcLIAAgASACIAMgBCAFIAAoAgAoAhQRDAAMBwsgAEEIaiAAKAIIKAIYEQAAIQEgByAAIAcoAhggAiADIAQgBSABEOoXIAEQ6hcgARC+F2oQtBg2AhgMBQsgBUEUaiAHQRhqIAIgBCAIEL0YDAQLIAVBFGogB0EYaiACIAQgCBDKGAwDCyAGQSVGDQELIAQgBCgCAEEEcjYCAAwBCyAHQRhqIAIgBCAIEMsYCyAHKAIYCyEEIAdBIGokACAECz4AIAEgAiADIARBAhC+GCEBIAMoAgAhAgJAIAFBAWtBHksNACACQQRxDQAgACABNgIADwsgAyACQQRyNgIACzsAIAEgAiADIARBAhC+GCEBIAMoAgAhAgJAIAFBF0oNACACQQRxDQAgACABNgIADwsgAyACQQRyNgIACz4AIAEgAiADIARBAhC+GCEBIAMoAgAhAgJAIAFBAWtBC0sNACACQQRxDQAgACABNgIADwsgAyACQQRyNgIACzwAIAEgAiADIARBAxC+GCEBIAMoAgAhAgJAIAFB7QJKDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAs+ACABIAIgAyAEQQIQvhghASADKAIAIQICQCABQQxKDQAgAkEEcQ0AIAAgAUEBazYCAA8LIAMgAkEEcjYCAAs7ACABIAIgAyAEQQIQvhghASADKAIAIQICQCABQTtKDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAthAQF/IwBBEGsiBCQAIAQgATYCCANAAkAgACAEQQhqEKgWRQ0AIANBgMAAIAAQqRYQqhZFDQAgABCrFhoMAQsLIAAgBEEIahCsFgRAIAIgAigCAEECcjYCAAsgBEEQaiQAC4MBACAAQQhqIAAoAggoAggRAAAiABC+F0EAIABBDGoQvhdrRgRAIAQgBCgCAEEEcjYCAA8LIAIgAyAAIABBGGogBSAEQQAQuBcgAGshAAJAIAEoAgAiBEEMRw0AIAANACABQQA2AgAPCwJAIARBC0oNACAAQQxHDQAgASAEQQxqNgIACws7ACABIAIgAyAEQQIQvhghASADKAIAIQICQCABQTxKDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAs7ACABIAIgAyAEQQEQvhghASADKAIAIQICQCABQQZKDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAsoACABIAIgAyAEQQQQvhghASADLQAAQQRxRQRAIAAgAUHsDms2AgALC2UBAX8jAEEQayIEJAAgBCABNgIIQQYhAQJAAkAgACAEQQhqEKwWDQBBBCEBIAMgABCpFhC1GEElRw0AQQIhASAAEKsWIARBCGoQrBZFDQELIAIgAigCACABcjYCAAsgBEEQaiQAC9wDAQN/IwBBIGsiCCQAIAggAjYCECAIIAE2AhggCEEIaiADEKYWIAhBCGoQuBYhASAIQQhqELQXIARBADYCAEEAIQICQANAIAYgB0YNASACDQECQCAIQRhqIAhBEGoQvRYNAAJAIAEgBigCABDNGEElRgRAIAZBBGoiAiAHRg0CQQAhCgJ/AkAgASACKAIAEM0YIglBxQBGDQAgCUH/AXFBMEYNACAGIQIgCQwBCyAGQQhqIgYgB0YNAyAJIQogASAGKAIAEM0YCyEGIAggACAIKAIYIAgoAhAgAyAEIAUgBiAKIAAoAgAoAiQREgA2AhggAkEIaiEGDAELIAFBgMAAIAYoAgAQuxYEQANAAkAgByAGQQRqIgZGBEAgByEGDAELIAFBgMAAIAYoAgAQuxYNAQsLA0AgCEEYaiAIQRBqELkWRQ0CIAFBgMAAIAhBGGoQuhYQuxZFDQIgCEEYahC8FhoMAAsACyABIAhBGGoQuhYQ4xYgASAGKAIAEOMWRgRAIAZBBGohBiAIQRhqELwWGgwBCyAEQQQ2AgALIAQoAgAhAgwBCwsgBEEENgIACyAIQRhqIAhBEGoQvRYEQCAEIAQoAgBBAnI2AgALIAgoAhghBiAIQSBqJAAgBgsTACAAIAFBACAAKAIAKAI0EQUAC14BAX8jAEEgayIGJAAgBkGYnAkpAwA3AxggBkGQnAkpAwA3AxAgBkGInAkpAwA3AwggBkGAnAkpAwA3AwAgACABIAIgAyAEIAUgBiAGQSBqEMwYIQAgBkEgaiQAIAALNAAgACABIAIgAyAEIAUgAEEIaiAAKAIIKAIUEQAAIgAQ6hcgABDqFyAAEL4XQQJ0ahDMGAtMAQF/IwBBEGsiBiQAIAYgATYCCCAGIAMQphYgBhC4FiEDIAYQtBcgACAFQRhqIAZBCGogAiAEIAMQ0RggBigCCCEAIAZBEGokACAAC0AAIAIgAyAAQQhqIAAoAggoAgARAAAiACAAQagBaiAFIARBABDwFyAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLTAEBfyMAQRBrIgYkACAGIAE2AgggBiADEKYWIAYQuBYhAyAGELQXIAAgBUEQaiAGQQhqIAIgBCADENMYIAYoAgghACAGQRBqJAAgAAtAACACIAMgAEEIaiAAKAIIKAIEEQAAIgAgAEGgAmogBSAEQQAQ8BcgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0oBAX8jAEEQayIGJAAgBiABNgIIIAYgAxCmFiAGELgWIQMgBhC0FyAFQRRqIAZBCGogAiAEIAMQ1RggBigCCCEAIAZBEGokACAAC0IAIAEgAiADIARBBBDWGCEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABIGyABQcUASBtB7A5rNgIACwveAQECfyMAQRBrIgUkACAFIAE2AggCQCAAIAVBCGoQvRYEQCACIAIoAgBBBnI2AgBBACEBDAELIANBgBAgABC6FiIBELsWRQRAIAIgAigCAEEEcjYCAEEAIQEMAQsgAyABEM0YIQEDQAJAIAAQvBYaIAFBMGshASAAIAVBCGoQuRYhBiAEQQJIDQAgBkUNACADQYAQIAAQuhYiBhC7FkUNAiAEQQFrIQQgAyAGEM0YIAFBCmxqIQEMAQsLIAAgBUEIahC9FkUNACACIAIoAgBBAnI2AgALIAVBEGokACABC/4HAQF/IwBBQGoiByQAIAcgATYCOCAEQQA2AgAgByADEKYWIAcQuBYhCCAHELQXAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAZBwQBrDjkAARcEFwUXBgcXFxcKFxcXFw4PEBcXFxMVFxcXFxcXFwABAgMDFxcBFwgXFwkLFwwXDRcLFxcREhQWCyAAIAVBGGogB0E4aiACIAQgCBDRGAwYCyAAIAVBEGogB0E4aiACIAQgCBDTGAwXCyAAQQhqIAAoAggoAgwRAAAhASAHIAAgBygCOCACIAMgBCAFIAEQ6hcgARDqFyABEL4XQQJ0ahDMGDYCOAwWCyAFQQxqIAdBOGogAiAEIAgQ2BgMFQsgB0GImwkpAwA3AxggB0GAmwkpAwA3AxAgB0H4mgkpAwA3AwggB0HwmgkpAwA3AwAgByAAIAEgAiADIAQgBSAHIAdBIGoQzBg2AjgMFAsgB0GomwkpAwA3AxggB0GgmwkpAwA3AxAgB0GYmwkpAwA3AwggB0GQmwkpAwA3AwAgByAAIAEgAiADIAQgBSAHIAdBIGoQzBg2AjgMEwsgBUEIaiAHQThqIAIgBCAIENkYDBILIAVBCGogB0E4aiACIAQgCBDaGAwRCyAFQRxqIAdBOGogAiAEIAgQ2xgMEAsgBUEQaiAHQThqIAIgBCAIENwYDA8LIAVBBGogB0E4aiACIAQgCBDdGAwOCyAHQThqIAIgBCAIEN4YDA0LIAAgBUEIaiAHQThqIAIgBCAIEN8YDAwLIAdBsJsJQSwQrhsiBiAAIAEgAiADIAQgBSAGIAZBLGoQzBg2AjgMCwsgB0HwmwkoAgA2AhAgB0HomwkpAwA3AwggB0HgmwkpAwA3AwAgByAAIAEgAiADIAQgBSAHIAdBFGoQzBg2AjgMCgsgBSAHQThqIAIgBCAIEOAYDAkLIAdBmJwJKQMANwMYIAdBkJwJKQMANwMQIAdBiJwJKQMANwMIIAdBgJwJKQMANwMAIAcgACABIAIgAyAEIAUgByAHQSBqEMwYNgI4DAgLIAVBGGogB0E4aiACIAQgCBDhGAwHCyAAIAEgAiADIAQgBSAAKAIAKAIUEQwADAcLIABBCGogACgCCCgCGBEAACEBIAcgACAHKAI4IAIgAyAEIAUgARDqFyABEOoXIAEQvhdBAnRqEMwYNgI4DAULIAVBFGogB0E4aiACIAQgCBDVGAwECyAFQRRqIAdBOGogAiAEIAgQ4hgMAwsgBkElRg0BCyAEIAQoAgBBBHI2AgAMAQsgB0E4aiACIAQgCBDjGAsgBygCOAshBCAHQUBrJAAgBAs+ACABIAIgAyAEQQIQ1hghASADKAIAIQICQCABQQFrQR5LDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAs7ACABIAIgAyAEQQIQ1hghASADKAIAIQICQCABQRdKDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAs+ACABIAIgAyAEQQIQ1hghASADKAIAIQICQCABQQFrQQtLDQAgAkEEcQ0AIAAgATYCAA8LIAMgAkEEcjYCAAs8ACABIAIgAyAEQQMQ1hghASADKAIAIQICQCABQe0CSg0AIAJBBHENACAAIAE2AgAPCyADIAJBBHI2AgALPgAgASACIAMgBEECENYYIQEgAygCACECAkAgAUEMSg0AIAJBBHENACAAIAFBAWs2AgAPCyADIAJBBHI2AgALOwAgASACIAMgBEECENYYIQEgAygCACECAkAgAUE7Sg0AIAJBBHENACAAIAE2AgAPCyADIAJBBHI2AgALYQEBfyMAQRBrIgQkACAEIAE2AggDQAJAIAAgBEEIahC5FkUNACADQYDAACAAELoWELsWRQ0AIAAQvBYaDAELCyAAIARBCGoQvRYEQCACIAIoAgBBAnI2AgALIARBEGokAAuDAQAgAEEIaiAAKAIIKAIIEQAAIgAQvhdBACAAQQxqEL4Xa0YEQCAEIAQoAgBBBHI2AgAPCyACIAMgACAAQRhqIAUgBEEAEPAXIABrIQACQCABKAIAIgRBDEcNACAADQAgAUEANgIADwsCQCAEQQtKDQAgAEEMRw0AIAEgBEEMajYCAAsLOwAgASACIAMgBEECENYYIQEgAygCACECAkAgAUE8Sg0AIAJBBHENACAAIAE2AgAPCyADIAJBBHI2AgALOwAgASACIAMgBEEBENYYIQEgAygCACECAkAgAUEGSg0AIAJBBHENACAAIAE2AgAPCyADIAJBBHI2AgALKAAgASACIAMgBEEEENYYIQEgAy0AAEEEcUUEQCAAIAFB7A5rNgIACwtlAQF/IwBBEGsiBCQAIAQgATYCCEEGIQECQAJAIAAgBEEIahC9Fg0AQQQhASADIAAQuhYQzRhBJUcNAEECIQEgABC8FiAEQQhqEL0WRQ0BCyACIAIoAgAgAXI2AgALIARBEGokAAtKACMAQYABayICJAAgAiACQfQAajYCDCAAQQhqIAJBEGogAkEMaiAEIAUgBhDlGCACQRBqIAIoAgwgARDMGiEBIAJBgAFqJAAgAQtkAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPAVCyACIAEgASACKAIAEOYYIAZBDGogAyAAKAIAECkgAWo2AgAgBkEQaiQACwcAIAEgAGsLSgAjAEGgA2siAiQAIAIgAkGgA2o2AgwgAEEIaiACQRBqIAJBDGogBCAFIAYQ6BggAkEQaiACKAIMIAEQzRohASACQaADaiQAIAELfgEBfyMAQZABayIGJAAgBiAGQYQBajYCHCAAIAZBIGogBkEcaiADIAQgBRDlGCAGQgA3AxAgBiAGQSBqNgIMIAEgBkEMaiABIAIoAgAQghYgBkEQaiAAKAIAEOkYIgBBf0YEQBD/FQALIAIgASAAQQJ0ajYCACAGQZABaiQACz4BAX8jAEEQayIFJAAgBSAENgIMIAVBCGogBUEMahDsFyEEIAAgASACIAMQphchACAEEO0XIAVBEGokACAACwUAQf8ACwgAIAAQxhcaCxcAIwBBEGsiASQAIAAQ7xogAUEQaiQACwwAIABBgoaAIDYAAAsIAEH/////BwsMACAAQQFBLRCqGBoL6AMBAX8jAEGgAmsiACQAIAAgAjYCkAIgACABNgKYAiAAQb8SNgIQIABBmAFqIABBoAFqIABBEGoQuxchASAAQZABaiAEEKYWIABBkAFqEKcWIQcgAEEAOgCPAQJAIABBmAJqIAIgAyAAQZABaiAEKAIEIAUgAEGPAWogByABIABBlAFqIABBhAJqEPEYRQ0AIABBq5wJKAAANgCHASAAQaScCSkAADcDgAEgByAAQYABaiAAQYoBaiAAQfYAahDkFyAAQb4SNgIQIABBCGpBACAAQRBqELsXIQcgAEEQaiECAkAgACgClAEgASgCAGtB4wBOBEAgByAAKAKUASABKAIAa0ECahChGxC8FyAHKAIARQ0BIAcoAgAhAgsgAC0AjwEEQCACQS06AAAgAkEBaiECCyABKAIAIQQDQCAAKAKUASAETQRAAkAgAkEAOgAAIAAgBjYCACAAQRBqIAAQoRdBAUcNACAHEMAXDAQLBSACIABB9gBqIABBgAFqIAQQ6xcgAGsgAGotAAo6AAAgAkEBaiECIARBAWohBAwBCwsQ/xUACxD/FQALIABBmAJqIABBkAJqEKwWBEAgBSAFKAIAQQJyNgIACyAAKAKYAiEEIABBkAFqELQXIAEQwBcgAEGgAmokACAEC7gOAQl/IwBBsARrIgskACALIAo2AqQEIAsgATYCqAQgC0G/EjYCaCALIAtBiAFqIAtBkAFqIAtB6ABqELsXIg8oAgAiATYChAEgCyABQZADajYCgAEgC0HoAGoQxhchESALQdgAahDGFyEOIAtByABqEMYXIQwgC0E4ahDGFyENIAtBKGoQxhchECACIAMgC0H4AGogC0H3AGogC0H2AGogESAOIAwgDSALQSRqEPIYIAkgCCgCADYCACAEQYAEcSISQQl2IRNBACEBQQAhAgNAIAIhCgJAAkACQAJAIAFBBEYNACAAIAtBqARqEKgWRQ0AQQAhBAJAAkACQAJAAkACQCALQfgAaiABaiwAAA4FAQAEAwUJCyABQQNGDQcgB0GAwAAgABCpFhCqFgRAIAtBGGogABDzGCAQIAssABgQ6BoMAgsgBSAFKAIAQQRyNgIAQQAhAAwGCyABQQNGDQYLA0AgACALQagEahCoFkUNBiAHQYDAACAAEKkWEKoWRQ0GIAtBGGogABDzGCAQIAssABgQ6BoMAAsACyAMEL4XQQAgDRC+F2tGDQQCQCAMEL4XBEAgDRC+Fw0BCyAMEL4XIQQgABCpFiECIAQEQCAMQQAQvxctAAAgAkH/AXFGBEAgABCrFhogDCAKIAwQvhdBAUsbIQIMCAsgBkEBOgAADAYLIA1BABC/Fy0AACACQf8BcUcNBSAAEKsWGiAGQQE6AAAgDSAKIA0QvhdBAUsbIQIMBgsgABCpFkH/AXEgDEEAEL8XLQAARgRAIAAQqxYaIAwgCiAMEL4XQQFLGyECDAYLIAAQqRZB/wFxIA1BABC/Fy0AAEYEQCAAEKsWGiAGQQE6AAAgDSAKIA0QvhdBAUsbIQIMBgsgBSAFKAIAQQRyNgIAQQAhAAwDCwJAIAFBAkkNACAKDQBBACECIAFBAkYgCy0Ae0EAR3EgE3JFDQULIAsgDhCPGDYCECALQRhqIAtBEGoQ9BghBAJAIAFFDQAgASALai0Ad0EBSw0AA0ACQCALIA4QkBg2AhAgBCALQRBqEJEYRQ0AIAdBgMAAIAQoAgAsAAAQqhZFDQAgBBCSGAwBCwsgCyAOEI8YNgIQIAQoAgAgCygCEGsiBCAQEL4XTQRAIAsgEBCQGDYCECALQRBqQQAgBGsQgxkgEBCQGCAOEI8YEIIZDQELIAsgDhCPGDYCCCALQRBqIAtBCGoQ9BgaIAsgCygCEDYCGAsgCyALKAIYNgIQA0ACQCALIA4QkBg2AgggC0EQaiALQQhqEJEYRQ0AIAAgC0GoBGoQqBZFDQAgABCpFkH/AXEgCygCEC0AAEcNACAAEKsWGiALQRBqEJIYDAELCyASRQ0DIAsgDhCQGDYCCCALQRBqIAtBCGoQkRhFDQMgBSAFKAIAQQRyNgIAQQAhAAwCCwNAAkAgACALQagEahCoFkUNAAJ/IAdBgBAgABCpFiICEKoWBEAgCSgCACIDIAsoAqQERgRAIAggCSALQaQEahD1GCAJKAIAIQMLIAkgA0EBajYCACADIAI6AAAgBEEBagwBCyAREL4XIQMgBEUNASADRQ0BIAstAHYgAkH/AXFHDQEgCygChAEiAiALKAKAAUYEQCAPIAtBhAFqIAtBgAFqEPYYIAsoAoQBIQILIAsgAkEEajYChAEgAiAENgIAQQALIQQgABCrFhoMAQsLIA8oAgAhAwJAIARFDQAgAyALKAKEASICRg0AIAsoAoABIAJGBEAgDyALQYQBaiALQYABahD2GCALKAKEASECCyALIAJBBGo2AoQBIAIgBDYCAAsCQCALKAIkQQFIDQACQCAAIAtBqARqEKwWRQRAIAAQqRZB/wFxIAstAHdGDQELIAUgBSgCAEEEcjYCAEEAIQAMAwsDQCAAEKsWGiALKAIkQQFIDQECQCAAIAtBqARqEKwWRQRAIAdBgBAgABCpFhCqFg0BCyAFIAUoAgBBBHI2AgBBACEADAQLIAkoAgAgCygCpARGBEAgCCAJIAtBpARqEPUYCyAAEKkWIQQgCSAJKAIAIgJBAWo2AgAgAiAEOgAAIAsgCygCJEEBazYCJAwACwALIAohAiAIKAIAIAkoAgBHDQMgBSAFKAIAQQRyNgIAQQAhAAwBCwJAIApFDQBBASEEA0AgChC+FyAETQ0BAkAgACALQagEahCsFkUEQCAAEKkWQf8BcSAKIAQQvxctAABGDQELIAUgBSgCAEEEcjYCAEEAIQAMAwsgABCrFhogBEEBaiEEDAALAAtBASEAIA8oAgAgCygChAFGDQBBACEAIAtBADYCGCARIA8oAgAgCygChAEgC0EYahDLFyALKAIYBEAgBSAFKAIAQQRyNgIADAELQQEhAAsgEBDeGhogDRDeGhogDBDeGhogDhDeGhogERDeGhogDxDAFyALQbAEaiQAIAAPCyAKIQILIAFBAWohAQwACwALoQIBAX8jAEEQayIKJAAgCQJ/IAAEQCAKIAEQ/BgiABD9GCACIAooAgA2AAAgCiAAEP4YIAggChD/GCAKEN4aGiAKIAAQtxcgByAKEP8YIAoQ3hoaIAMgABCKGDoAACAEIAAQixg6AAAgCiAAEIwYIAUgChD/GCAKEN4aGiAKIAAQthcgBiAKEP8YIAoQ3hoaIAAQgBkMAQsgCiABEIEZIgAQ/RggAiAKKAIANgAAIAogABD+GCAIIAoQ/xggChDeGhogCiAAELcXIAcgChD/GCAKEN4aGiADIAAQihg6AAAgBCAAEIsYOgAAIAogABCMGCAFIAoQ/xggChDeGhogCiAAELYXIAYgChD/GCAKEN4aGiAAEIAZCzYCACAKQRBqJAALJQEBfyABKAIAELMWQRh0QRh1IQIgACABKAIANgIEIAAgAjoAAAsOACAAIAEoAgA2AgAgAAvHAQEGfyMAQRBrIgQkACAAEOsNKAIAIQUCfyACKAIAIAAoAgBrIgNB/////wdJBEAgA0EBdAwBC0F/CyIDQQEgAxshAyABKAIAIQYgACgCACEHIAVBvxJGBH9BAAUgACgCAAsgAxCjGyIIBEAgBUG/EkcEQCAAEIQZGgsgBEG+EjYCBCAAIARBCGogCCAEQQRqELsXIgUQhRkgBRDAFyABIAAoAgAgBiAHa2o2AgAgAiADIAAoAgBqNgIAIARBEGokAA8LEP8VAAvKAQEGfyMAQRBrIgQkACAAEOsNKAIAIQUCfyACKAIAIAAoAgBrIgNB/////wdJBEAgA0EBdAwBC0F/CyIDQQQgAxshAyABKAIAIQYgACgCACEHIAVBvxJGBH9BAAUgACgCAAsgAxCjGyIIBEAgBUG/EkcEQCAAEIQZGgsgBEG+EjYCBCAAIARBCGogCCAEQQRqELsXIgUQhRkgBRDAFyABIAAoAgAgBiAHa2o2AgAgAiAAKAIAIANBfHFqNgIAIARBEGokAA8LEP8VAAu7AgECfyMAQaABayIAJAAgACACNgKQASAAIAE2ApgBIABBvxI2AhQgAEEYaiAAQSBqIABBFGoQuxchByAAQRBqIAQQphYgAEEQahCnFiEBIABBADoADwJAIABBmAFqIAIgAyAAQRBqIAQoAgQgBSAAQQ9qIAEgByAAQRRqIABBhAFqEPEYRQ0AIAYQ+BggAC0ADwRAIAYgAUEtEOMWEOgaCyABQTAQ4xYhASAHKAIAIgQgACgCFCIIQQFrIgIgAiAESRshAyABQf8BcSEBA0ACQCAGIAIgBEsEfyAELQAAIAFGDQEgBAUgAwsgCBD7GAwCCyAEQQFqIQQMAAsACyAAQZgBaiAAQZABahCsFgRAIAUgBSgCAEECcjYCAAsgACgCmAEhBCAAQRBqELQXIAcQwBcgAEGgAWokACAEC1gBAn8jAEEQayIBJAACQCAAEOgXBEAgACgCACECIAFBADoADyACIAFBD2oQ+RggAEEAEJELDAELIAFBADoADiAAIAFBDmoQ+RggAEEAEPoYCyABQRBqJAALDAAgACABLQAAOgAACwkAIAAgAToACwvpAQEEfyMAQSBrIgUkACAAEL4XIQQgABDHFyEDAkAgASACEMgaIgZFDQAgASAAEOoXIAAQ6hcgABC+F2oQzhoEQCAAAn8jAEEQayIAJAAgBUEQaiIDIAEgAhCtFyAAQRBqJAAgAyIBCxDqFyABEL4XEOcaGiABEN4aGgwBCyAGIAMgBGtLBEAgACADIAQgBmogA2sgBCAEEOUaCyAAEOoXIARqIQMDQCABIAJHBEAgAyABEPkYIAFBAWohASADQQFqIQMMAQsLIAVBADoADyADIAVBD2oQ+RggACAEIAZqEKwaCyAFQSBqJAALCwAgAEHIlwsQuRcLEQAgACABIAEoAgAoAiwRAgALEQAgACABIAEoAgAoAiARAgALCQAgACABEJMZCw8AIAAgACgCACgCJBEAAAsLACAAQcCXCxC5FwtuAQF/IwBBIGsiAyQAIAMgATYCECADIAA2AhggAyACNgIIA0ACQCADQRhqIANBEGoQkRgiAkUNACADQRhqKAIAIANBCGooAgAQzxpFDQAgA0EYahCSGCADQQhqEJIYDAELCyADQSBqJAAgAkEBcws5AQF/IwBBEGsiAiQAIAIgACgCADYCCCACQQhqIgAgACgCACABajYCACACKAIIIQEgAkEQaiQAIAELFAEBfyAAKAIAIQEgAEEANgIAIAELIAAgACABEIQZELwXIAEQ6w0oAgAhASAAEOsNIAE2AgAL9gMBAX8jAEHwBGsiACQAIAAgAjYC4AQgACABNgLoBCAAQb8SNgIQIABByAFqIABB0AFqIABBEGoQuxchASAAQcABaiAEEKYWIABBwAFqELgWIQcgAEEAOgC/AQJAIABB6ARqIAIgAyAAQcABaiAEKAIEIAUgAEG/AWogByABIABBxAFqIABB4ARqEIcZRQ0AIABBq5wJKAAANgC3ASAAQaScCSkAADcDsAEgByAAQbABaiAAQboBaiAAQYABahCIGCAAQb4SNgIQIABBCGpBACAAQRBqELsXIQcgAEEQaiECAkAgACgCxAEgASgCAGtBiQNOBEAgByAAKALEASABKAIAa0ECdUECahChGxC8FyAHKAIARQ0BIAcoAgAhAgsgAC0AvwEEQCACQS06AAAgAkEBaiECCyABKAIAIQQDQCAAKALEASAETQRAAkAgAkEAOgAAIAAgBjYCACAAQRBqIAAQoRdBAUcNACAHEMAXDAQLBSACIABBsAFqIABBgAFqIABBqAFqIAQQiRggAEGAAWprQQJ1ai0AADoAACACQQFqIQIgBEEEaiEEDAELCxD/FQALEP8VAAsgAEHoBGogAEHgBGoQvRYEQCAFIAUoAgBBAnI2AgALIAAoAugEIQQgAEHAAWoQtBcgARDAFyAAQfAEaiQAIAQLiQ4BCX8jAEGwBGsiCyQAIAsgCjYCpAQgCyABNgKoBCALQb8SNgJgIAsgC0GIAWogC0GQAWogC0HgAGoQuxciDygCACIBNgKEASALIAFBkANqNgKAASALQeAAahDGFyERIAtB0ABqEMYXIQ4gC0FAaxDGFyEMIAtBMGoQxhchDSALQSBqEMYXIRAgAiADIAtB+ABqIAtB9ABqIAtB8ABqIBEgDiAMIA0gC0EcahCIGSAJIAgoAgA2AgAgBEGABHEiEkEJdiETQQAhAUEAIQIDQCACIQoCQAJAAkACQCABQQRGDQAgACALQagEahC5FkUNAEEAIQQCQAJAAkACQAJAAkAgC0H4AGogAWosAAAOBQEABAMFCQsgAUEDRg0HIAdBgMAAIAAQuhYQuxYEQCALQRBqIAAQiRkgECALKAIQEPUaDAILIAUgBSgCAEEEcjYCAEEAIQAMBgsgAUEDRg0GCwNAIAAgC0GoBGoQuRZFDQYgB0GAwAAgABC6FhC7FkUNBiALQRBqIAAQiRkgECALKAIQEPUaDAALAAsgDBC+F0EAIA0QvhdrRg0EAkAgDBC+FwRAIA0QvhcNAQsgDBC+FyEEIAAQuhYhAiAEBEAgDBDqFygCACACRgRAIAAQvBYaIAwgCiAMEL4XQQFLGyECDAgLIAZBAToAAAwGCyACIA0Q6hcoAgBHDQUgABC8FhogBkEBOgAAIA0gCiANEL4XQQFLGyECDAYLIAAQuhYgDBDqFygCAEYEQCAAELwWGiAMIAogDBC+F0EBSxshAgwGCyAAELoWIA0Q6hcoAgBGBEAgABC8FhogBkEBOgAAIA0gCiANEL4XQQFLGyECDAYLIAUgBSgCAEEEcjYCAEEAIQAMAwsCQCABQQJJDQAgCg0AQQAhAiABQQJGIAstAHtBAEdxIBNyRQ0FCyALIA4Qjxg2AgggC0EQaiALQQhqEPQYIQQCQCABRQ0AIAEgC2otAHdBAUsNAANAAkAgCyAOEKQYNgIIIAQgC0EIahCRGEUNACAHQYDAACAEKAIAKAIAELsWRQ0AIAQQpRgMAQsLIAsgDhCPGDYCCCAEKAIAIAsoAghrQQJ1IgQgEBC+F00EQCALIBAQpBg2AgggC0EIakEAIARrEJIZIBAQpBggDhCPGBCRGQ0BCyALIA4Qjxg2AgAgC0EIaiALEPQYGiALIAsoAgg2AhALIAsgCygCEDYCCANAAkAgCyAOEKQYNgIAIAtBCGogCxCRGEUNACAAIAtBqARqELkWRQ0AIAAQuhYgCygCCCgCAEcNACAAELwWGiALQQhqEKUYDAELCyASRQ0DIAsgDhCkGDYCACALQQhqIAsQkRhFDQMgBSAFKAIAQQRyNgIAQQAhAAwCCwNAAkAgACALQagEahC5FkUNAAJ/IAdBgBAgABC6FiICELsWBEAgCSgCACIDIAsoAqQERgRAIAggCSALQaQEahD2GCAJKAIAIQMLIAkgA0EEajYCACADIAI2AgAgBEEBagwBCyAREL4XIQMgBEUNASADRQ0BIAIgCygCcEcNASALKAKEASICIAsoAoABRgRAIA8gC0GEAWogC0GAAWoQ9hggCygChAEhAgsgCyACQQRqNgKEASACIAQ2AgBBAAshBCAAELwWGgwBCwsgDygCACEDAkAgBEUNACADIAsoAoQBIgJGDQAgCygCgAEgAkYEQCAPIAtBhAFqIAtBgAFqEPYYIAsoAoQBIQILIAsgAkEEajYChAEgAiAENgIACwJAIAsoAhxBAUgNAAJAIAAgC0GoBGoQvRZFBEAgABC6FiALKAJ0Rg0BCyAFIAUoAgBBBHI2AgBBACEADAMLA0AgABC8FhogCygCHEEBSA0BAkAgACALQagEahC9FkUEQCAHQYAQIAAQuhYQuxYNAQsgBSAFKAIAQQRyNgIAQQAhAAwECyAJKAIAIAsoAqQERgRAIAggCSALQaQEahD2GAsgABC6FiEEIAkgCSgCACICQQRqNgIAIAIgBDYCACALIAsoAhxBAWs2AhwMAAsACyAKIQIgCCgCACAJKAIARw0DIAUgBSgCAEEEcjYCAEEAIQAMAQsCQCAKRQ0AQQEhBANAIAoQvhcgBE0NAQJAIAAgC0GoBGoQvRZFBEAgABC6FiAKIAQQ8RcoAgBGDQELIAUgBSgCAEEEcjYCAEEAIQAMAwsgABC8FhogBEEBaiEEDAALAAtBASEAIA8oAgAgCygChAFGDQBBACEAIAtBADYCECARIA8oAgAgCygChAEgC0EQahDLFyALKAIQBEAgBSAFKAIAQQRyNgIADAELQQEhAAsgEBDeGhogDRDeGhogDBDeGhogDhDeGhogERDeGhogDxDAFyALQbAEaiQAIAAPCyAKIQILIAFBAWohAQwACwALoQIBAX8jAEEQayIKJAAgCQJ/IAAEQCAKIAEQjRkiABD9GCACIAooAgA2AAAgCiAAEP4YIAggChCOGSAKEN4aGiAKIAAQtxcgByAKEI4ZIAoQ3hoaIAMgABCKGDYCACAEIAAQixg2AgAgCiAAEIwYIAUgChD/GCAKEN4aGiAKIAAQthcgBiAKEI4ZIAoQ3hoaIAAQgBkMAQsgCiABEI8ZIgAQ/RggAiAKKAIANgAAIAogABD+GCAIIAoQjhkgChDeGhogCiAAELcXIAcgChCOGSAKEN4aGiADIAAQihg2AgAgBCAAEIsYNgIAIAogABCMGCAFIAoQ/xggChDeGhogCiAAELYXIAYgChCOGSAKEN4aGiAAEIAZCzYCACAKQRBqJAALFQAgACABKAIAEMEWIAEoAgAQkBkaC6ECAQF/IwBBwANrIgAkACAAIAI2ArADIAAgATYCuAMgAEG/EjYCFCAAQRhqIABBIGogAEEUahC7FyEHIABBEGogBBCmFiAAQRBqELgWIQEgAEEAOgAPIABBuANqIAIgAyAAQRBqIAQoAgQgBSAAQQ9qIAEgByAAQRRqIABBsANqEIcZBEAgBhCLGSAALQAPBEAgBiABQS0Q5BYQ9RoLIAFBMBDkFiEBIAcoAgAhBCAAKAIUIgNBBGshAgNAAkAgAiAETQ0AIAQoAgAgAUcNACAEQQRqIQQMAQsLIAYgBCADEIwZCyAAQbgDaiAAQbADahC9FgRAIAUgBSgCAEECcjYCAAsgACgCuAMhBCAAQRBqELQXIAcQwBcgAEHAA2okACAEC1gBAn8jAEEQayIBJAACQCAAEOgXBEAgACgCACECIAFBADYCDCACIAFBDGoQ5RYgAEEAEJELDAELIAFBADYCCCAAIAFBCGoQ5RYgAEEAEPoYCyABQRBqJAAL5gEBBH8jAEEQayIFJAAgABC+FyEEIAAQqxohAwJAIAEgAhCBFiIGRQ0AIAEgABDqFyAAEOoXIAAQvhdBAnRqEM4aBEAgAAJ/IwBBEGsiACQAIAUgASACELEXIABBEGokACAFIgELEOoXIAEQvhcQ9BogARDeGhoMAQsgBiADIARrSwRAIAAgAyAEIAZqIANrIAQgBBDzGgsgABDqFyAEQQJ0aiEDA0AgASACRwRAIAMgARDlFiABQQRqIQEgA0EEaiEDDAELCyAFQQA2AgAgAyAFEOUWIAAgBCAGahCsGgsgBUEQaiQACwsAIABB2JcLELkXCwkAIAAgARCUGQsLACAAQdCXCxC5FwsSACAAIAI2AgQgACABNgIAIAALcQEBfyMAQSBrIgMkACADIAE2AhAgAyAANgIYIAMgAjYCCANAAkAgA0EYaiADQRBqEJEYIgJFDQAgA0EYaigCACgCACADQQhqKAIAKAIARw0AIANBGGoQpRggA0EIahClGAwBCwsgA0EgaiQAIAJBAXMLPAEBfyMAQRBrIgIkACACIAAoAgA2AgggAkEIaiIAIAAoAgAgAUECdGo2AgAgAigCCCEBIAJBEGokACABC1oBAn8jAEEQayICJAAgABDoFwRAIAAoAgAhAyAAEOkXGiADEKIbCyAAIAEoAgg2AgggACABKQIANwIAIAFBABD6GCACQQA6AA8gASACQQ9qEPkYIAJBEGokAAtaAQJ/IwBBEGsiAiQAIAAQ6BcEQCAAKAIAIQMgABDpFxogAxCiGwsgACABKAIINgIIIAAgASkCADcCACABQQAQ+hggAkEANgIMIAEgAkEMahDlFiACQRBqJAAL5gQBC38jAEHQA2siACQAIAAgBTcDECAAIAY3AxggACAAQeACajYC3AIgAEHgAmpB5ABBr5wJIABBEGoQnwohByAAQb4SNgLwASAAQegBakEAIABB8AFqELsXIQ4gAEG+EjYC8AEgAEHgAWpBACAAQfABahC7FyEKIABB8AFqIQgCQCAHQeQATwRAEOUXIQcgACAFNwMAIAAgBjcDCCAAQdwCaiAHQa+cCSAAEJ8YIQcgACgC3AIiCEUNASAOIAgQvBcgCiAHEKEbELwXIAoQlhkNASAKKAIAIQgLIABB2AFqIAMQphYgAEHYAWoQpxYiESAAKALcAiIJIAcgCWogCBDkFyACAn8gBwRAIAAoAtwCLQAAQS1GIQ8LIA8LIABB2AFqIABB0AFqIABBzwFqIABBzgFqIABBwAFqEMYXIhAgAEGwAWoQxhciCSAAQaABahDGFyILIABBnAFqEJcZIABBvhI2AjAgAEEoakEAIABBMGoQuxchDAJ/IAAoApwBIgIgB0gEQCALEL4XIAcgAmtBAXRBAXJqDAELIAsQvhdBAmoLIQ0gAEEwaiECIAkQvhcgDWogACgCnAFqIg1B5QBPBEAgDCANEKEbELwXIAwoAgAiAkUNAQsgAiAAQSRqIABBIGogAygCBCAIIAcgCGogESAPIABB0AFqIAAsAM8BIAAsAM4BIBAgCSALIAAoApwBEJgZIAEgAiAAKAIkIAAoAiAgAyAEEN4DIQcgDBDAFyALEN4aGiAJEN4aGiAQEN4aGiAAQdgBahC0FyAKEMAXIA4QwBcgAEHQA2okACAHDwsQ/xUACw0AIAAoAgBBAEdBAXML2wIBAX8jAEEQayIKJAAgCQJ/IAAEQCACEPwYIQACQCABBEAgCiAAEP0YIAMgCigCADYAACAKIAAQ/hggCCAKEP8YIAoQ3hoaDAELIAogABCZGSADIAooAgA2AAAgCiAAELcXIAggChD/GCAKEN4aGgsgBCAAEIoYOgAAIAUgABCLGDoAACAKIAAQjBggBiAKEP8YIAoQ3hoaIAogABC2FyAHIAoQ/xggChDeGhogABCAGQwBCyACEIEZIQACQCABBEAgCiAAEP0YIAMgCigCADYAACAKIAAQ/hggCCAKEP8YIAoQ3hoaDAELIAogABCZGSADIAooAgA2AAAgCiAAELcXIAggChD/GCAKEN4aGgsgBCAAEIoYOgAAIAUgABCLGDoAACAKIAAQjBggBiAKEP8YIAoQ3hoaIAogABC2FyAHIAoQ/xggChDeGhogABCAGQs2AgAgCkEQaiQAC/MFAQp/IwBBEGsiFSQAIAIgADYCACADQYAEcSEXA0AgFkEERgRAIA0QvhdBAUsEQCAVIA0Qjxg2AgggAiAVQQhqQQEQgxkgDRCQGCACKAIAEJoZNgIACyADQbABcSIPQRBHBEAgASAPQSBGBH8gAigCAAUgAAs2AgALIBVBEGokAA8LAkACQAJAAkACQAJAIAggFmosAAAOBQABAwIEBQsgASACKAIANgIADAQLIAEgAigCADYCACAGQSAQ4xYhDyACIAIoAgAiEEEBajYCACAQIA86AAAMAwsgDRDBFw0CIA1BABC/Fy0AACEPIAIgAigCACIQQQFqNgIAIBAgDzoAAAwCCyAMEMEXIQ8gF0UNASAPDQEgAiAMEI8YIAwQkBggAigCABCaGTYCAAwBCyACKAIAIRggBEEBaiAEIAcbIgQhDwNAAkAgBSAPTQ0AIAZBgBAgDywAABCqFkUNACAPQQFqIQ8MAQsLIA4iEEEBTgRAA0ACQCAQQQFIIhENACAEIA9PDQAgD0EBayIPLQAAIREgAiACKAIAIhJBAWo2AgAgEiAROgAAIBBBAWshEAwBCwsgEQR/QQAFIAZBMBDjFgshEgNAIAIgAigCACIRQQFqNgIAIBBBAU4EQCARIBI6AAAgEEEBayEQDAELCyARIAk6AAALAkAgBCAPRgRAIAZBMBDjFiEPIAIgAigCACIQQQFqNgIAIBAgDzoAAAwBCwJ/QX8gCxDBFw0AGiALQQAQvxcsAAALIRNBACEQQQAhFANAIAQgD0YNAQJAIBAgE0cEQCAQIRIMAQsgAiACKAIAIhFBAWo2AgAgESAKOgAAQQAhEiALEL4XIBRBAWoiFE0EQCAQIRMMAQsgCyAUEL8XLQAAQf8ARgRAQX8hEwwBCyALIBQQvxcsAAAhEwsgD0EBayIPLQAAIRAgAiACKAIAIhFBAWo2AgAgESAQOgAAIBJBAWohEAwACwALIBggAigCABCZGAsgFkEBaiEWDAALAAsRACAAIAEgASgCACgCKBECAAskACAAEKAZIQAgARCgGSAAayIBBEAgAiAAIAEQsBsLIAEgAmoLnAMBB38jAEHAAWsiACQAIABBuAFqIAMQphYgAEG4AWoQpxYhCiACAn8gBRC+FwRAIAVBABC/Fy0AACAKQS0Q4xZB/wFxRiELCyALCyAAQbgBaiAAQbABaiAAQa8BaiAAQa4BaiAAQaABahDGFyIMIABBkAFqEMYXIgggAEGAAWoQxhciByAAQfwAahCXGSAAQb4SNgIQIABBCGpBACAAQRBqELsXIQkCfyAFEL4XIAAoAnxKBEAgBRC+FyECIAAoAnwhBiAHEL4XIAIgBmtBAXRqQQFqDAELIAcQvhdBAmoLIQYgAEEQaiECAkAgCBC+FyAGaiAAKAJ8aiIGQeUASQ0AIAkgBhChGxC8FyAJKAIAIgINABD/FQALIAIgAEEEaiAAIAMoAgQgBRDqFyAFEOoXIAUQvhdqIAogCyAAQbABaiAALACvASAALACuASAMIAggByAAKAJ8EJgZIAEgAiAAKAIEIAAoAgAgAyAEEN4DIQUgCRDAFyAHEN4aGiAIEN4aGiAMEN4aGiAAQbgBahC0FyAAQcABaiQAIAUL7wQBC38jAEGwCGsiACQAIAAgBTcDECAAIAY3AxggACAAQcAHajYCvAcgAEHAB2pB5ABBr5wJIABBEGoQnwohByAAQb4SNgKgBCAAQZgEakEAIABBoARqELsXIQ4gAEG+EjYCoAQgAEGQBGpBACAAQaAEahC7FyEKIABBoARqIQgCQCAHQeQATwRAEOUXIQcgACAFNwMAIAAgBjcDCCAAQbwHaiAHQa+cCSAAEJ8YIQcgACgCvAciCEUNASAOIAgQvBcgCiAHQQJ0EKEbELwXIAoQlhkNASAKKAIAIQgLIABBiARqIAMQphYgAEGIBGoQuBYiESAAKAK8ByIJIAcgCWogCBCIGCACAn8gBwRAIAAoArwHLQAAQS1GIQ8LIA8LIABBiARqIABBgARqIABB/ANqIABB+ANqIABB6ANqEMYXIhAgAEHYA2oQxhciCSAAQcgDahDGFyILIABBxANqEJ0ZIABBvhI2AjAgAEEoakEAIABBMGoQuxchDAJ/IAAoAsQDIgIgB0gEQCALEL4XIAcgAmtBAXRBAXJqDAELIAsQvhdBAmoLIQ0gAEEwaiECIAkQvhcgDWogACgCxANqIg1B5QBPBEAgDCANQQJ0EKEbELwXIAwoAgAiAkUNAQsgAiAAQSRqIABBIGogAygCBCAIIAggB0ECdGogESAPIABBgARqIAAoAvwDIAAoAvgDIBAgCSALIAAoAsQDEJ4ZIAEgAiAAKAIkIAAoAiAgAyAEEKgYIQcgDBDAFyALEN4aGiAJEN4aGiAQEN4aGiAAQYgEahC0FyAKEMAXIA4QwBcgAEGwCGokACAHDwsQ/xUAC9sCAQF/IwBBEGsiCiQAIAkCfyAABEAgAhCNGSEAAkAgAQRAIAogABD9GCADIAooAgA2AAAgCiAAEP4YIAggChCOGSAKEN4aGgwBCyAKIAAQmRkgAyAKKAIANgAAIAogABC3FyAIIAoQjhkgChDeGhoLIAQgABCKGDYCACAFIAAQixg2AgAgCiAAEIwYIAYgChD/GCAKEN4aGiAKIAAQthcgByAKEI4ZIAoQ3hoaIAAQgBkMAQsgAhCPGSEAAkAgAQRAIAogABD9GCADIAooAgA2AAAgCiAAEP4YIAggChCOGSAKEN4aGgwBCyAKIAAQmRkgAyAKKAIANgAAIAogABC3FyAIIAoQjhkgChDeGhoLIAQgABCKGDYCACAFIAAQixg2AgAgCiAAEIwYIAYgChD/GCAKEN4aGiAKIAAQthcgByAKEI4ZIAoQ3hoaIAAQgBkLNgIAIApBEGokAAuCBgEKfyMAQRBrIhUkACACIAA2AgAgA0GABHEhFwNAIBZBBEYEQCANEL4XQQFLBEAgFSANEI8YNgIIIAIgFUEIakEBEJIZIA0QpBggAigCABCaGTYCAAsgA0GwAXEiD0EQRwRAIAEgD0EgRgR/IAIoAgAFIAALNgIACyAVQRBqJAAFAkACQAJAAkACQAJAIAggFmosAAAOBQABAwIEBQsgASACKAIANgIADAQLIAEgAigCADYCACAGQSAQ5BYhDyACIAIoAgAiEEEEajYCACAQIA82AgAMAwsgDRDBFw0CIA1BABDxFygCACEPIAIgAigCACIQQQRqNgIAIBAgDzYCAAwCCyAMEMEXIQ8gF0UNASAPDQEgAiAMEI8YIAwQpBggAigCABCaGTYCAAwBCyACKAIAIRggBEEEaiAEIAcbIgQhDwNAAkAgBSAPTQ0AIAZBgBAgDygCABC7FkUNACAPQQRqIQ8MAQsLIA4iEEEBTgRAA0ACQCAQQQFIIhENACAEIA9PDQAgD0EEayIPKAIAIREgAiACKAIAIhJBBGo2AgAgEiARNgIAIBBBAWshEAwBCwsgEQR/QQAFIAZBMBDkFgshEyACKAIAIREDQCARQQRqIRIgEEEBTgRAIBEgEzYCACAQQQFrIRAgEiERDAELCyACIBI2AgAgESAJNgIACwJAIAQgD0YEQCAGQTAQ5BYhECACIAIoAgAiEUEEaiIPNgIAIBEgEDYCAAwBCwJ/QX8gCxDBFw0AGiALQQAQvxcsAAALIRNBACEQQQAhFANAIAQgD0cEQAJAIBAgE0cEQCAQIRIMAQsgAiACKAIAIhFBBGo2AgAgESAKNgIAQQAhEiALEL4XIBRBAWoiFE0EQCAQIRMMAQsgCyAUEL8XLQAAQf8ARgRAQX8hEwwBCyALIBQQvxcsAAAhEwsgD0EEayIPKAIAIRAgAiACKAIAIhFBBGo2AgAgESAQNgIAIBJBAWohEAwBCwsgAigCACEPCyAYIA8QqRgLIBZBAWohFgwBCwsLogMBB38jAEHwA2siACQAIABB6ANqIAMQphYgAEHoA2oQuBYhCiACAn8gBRC+FwRAIAVBABDxFygCACAKQS0Q5BZGIQsLIAsLIABB6ANqIABB4ANqIABB3ANqIABB2ANqIABByANqEMYXIgwgAEG4A2oQxhciCCAAQagDahDGFyIHIABBpANqEJ0ZIABBvhI2AhAgAEEIakEAIABBEGoQuxchCQJ/IAUQvhcgACgCpANKBEAgBRC+FyECIAAoAqQDIQYgBxC+FyACIAZrQQF0akEBagwBCyAHEL4XQQJqCyEGIABBEGohAgJAIAgQvhcgBmogACgCpANqIgZB5QBJDQAgCSAGQQJ0EKEbELwXIAkoAgAiAg0AEP8VAAsgAiAAQQRqIAAgAygCBCAFEOoXIAUQ6hcgBRC+F0ECdGogCiALIABB4ANqIAAoAtwDIAAoAtgDIAwgCCAHIAAoAqQDEJ4ZIAEgAiAAKAIEIAAoAgAgAyAEEKgYIQUgCRDAFyAHEN4aGiAIEN4aGiAMEN4aGiAAQegDahC0FyAAQfADaiQAIAULJwEBfyMAQRBrIgEkACABIAA2AgggAUEIaigCACEAIAFBEGokACAACxYAQX8CfyABEOoXGkH/////BwtBARsLVAAjAEEgayIBJAAgAUEQahDGFyICEKMZIAUQ6hcgBRDqFyAFEL4XahCkGSACEOoXIQUgABDGFxCjGSAFIAUQuBsgBWoQpBkgAhDeGhogAUEgaiQACyUBAX8jAEEQayIBJAAgAUEIaiAAEJMYKAIAIQAgAUEQaiQAIAALPwEBfyMAQRBrIgMkACADIAA2AggDQCABIAJJBEAgA0EIaiABEKUZIAFBAWohAQwBCwsgAygCCBogA0EQaiQACw8AIAAoAgAgASwAABDoGguNAQAjAEEgayIBJAAgAUEQahDGFyEEAn8gAUEIaiICEKkZIAJBlKUJNgIAIAILIAQQoxkgBRDqFyAFEOoXIAUQvhdBAnRqEKcZIAQQ6hchBSAAEMYXIQICfyABQQhqIgAQqRkgAEH0pQk2AgAgAAsgAhCjGSAFIAUQuBsgBWoQqBkgBBDeGhogAUEgaiQAC6wBAQJ/IwBBQGoiBCQAIAQgATYCOCAEQTBqIQUCQANAIAIgA0kEQCAEIAI2AgggACAEQTBqIAIgAyAEQQhqIARBEGogBSAEQQxqIAAoAgAoAgwREgBBAkYNAiAEQRBqIQEgBCgCCCACRg0CA0AgBCgCDCABTQRAIAQoAgghAgwDBSAEQThqIAEQpRkgAUEBaiEBDAELAAsACwsgBCgCOBogBEFAayQADwsQ/xUAC9EBAQJ/IwBBoAFrIgQkACAEIAE2ApgBIARBkAFqIQUCQANAIAIgA0kEQCAEIAI2AgggACAEQZABaiACIAJBIGogAyADIAJrQSBKGyAEQQhqIARBEGogBSAEQQxqIAAoAgAoAhAREgBBAkYNAiAEQRBqIQEgBCgCCCACRg0CA0AgBCgCDCABTQRAIAQoAgghAgwDBSAEIAEoAgA2AgQgBCgCmAEgBEEEaigCABD1GiABQQRqIQEMAQsACwALCyAEKAKYARogBEGgAWokAA8LEP8VAAsQACAAEKwZIABBoKQJNgIACyEAIABBiJ0JNgIAIAAoAggQ5RdHBEAgACgCCBCiFwsgAAuZCAEBf0HwpAsQrBlB8KQLQcCcCTYCABCtGRCuGUEcEK8ZQaCmC0G1nAkQiQMaQYClCxD2ASEAQYClCxCwGUGApQsgABCxGUGwogsQrBlBsKILQfioCTYCAEGwogtB8JYLELIZELMZQbiiCxCsGUG4ogtBmKkJNgIAQbiiC0H4lgsQshkQsxkQtBlBwKILQbyYCxCyGRCzGUHQogsQrBlB0KILQYShCTYCAEHQogtBtJgLELIZELMZQdiiCxCsGUHYogtBmKIJNgIAQdiiC0HEmAsQshkQsxlB4KILEKwZQeCiC0GInQk2AgBB6KILEOUXNgIAQeCiC0HMmAsQshkQsxlB8KILEKwZQfCiC0Gsowk2AgBB8KILQdSYCxCyGRCzGUH4ogsQqRlB+KILQdyYCxCyGRCzGUGAowsQrBlBiKMLQa7YADsBAEGAowtBuJ0JNgIAQYyjCxDGFxpBgKMLQeSYCxCyGRCzGUGgowsQrBlBqKMLQq6AgIDABTcCAEGgowtB4J0JNgIAQbCjCxDGFxpBoKMLQeyYCxCyGRCzGUHAowsQrBlBwKMLQbipCTYCAEHAowtBgJcLELIZELMZQcijCxCsGUHIowtBrKsJNgIAQcijC0GIlwsQshkQsxlB0KMLEKwZQdCjC0GArQk2AgBB0KMLQZCXCxCyGRCzGUHYowsQrBlB2KMLQeiuCTYCAEHYowtBmJcLELIZELMZQeCjCxCsGUHgowtBwLYJNgIAQeCjC0HAlwsQshkQsxlB6KMLEKwZQeijC0HUtwk2AgBB6KMLQciXCxCyGRCzGUHwowsQrBlB8KMLQci4CTYCAEHwowtB0JcLELIZELMZQfijCxCsGUH4owtBvLkJNgIAQfijC0HYlwsQshkQsxlBgKQLEKwZQYCkC0Gwugk2AgBBgKQLQeCXCxCyGRCzGUGIpAsQrBlBiKQLQdS7CTYCAEGIpAtB6JcLELIZELMZQZCkCxCsGUGQpAtB+LwJNgIAQZCkC0HwlwsQshkQsxlBmKQLEKwZQZikC0Gcvgk2AgBBmKQLQfiXCxCyGRCzGUGgpAsQrBlBqKQLQazKCTYCAEGgpAtBsLAJNgIAQaikC0HgsAk2AgBBoKQLQaCXCxCyGRCzGUGwpAsQrBlBuKQLQdDKCTYCAEGwpAtBuLIJNgIAQbikC0Hosgk2AgBBsKQLQaiXCxCyGRCzGUHApAsQrBlByKQLEL0aQcCkC0GktAk2AgBBwKQLQbCXCxCyGRCzGUHQpAsQrBlB2KQLEL0aQdCkC0HAtQk2AgBB0KQLQbiXCxCyGRCzGUHgpAsQrBlB4KQLQcC/CTYCAEHgpAtBgJgLELIZELMZQeikCxCsGUHopAtBuMAJNgIAQeikC0GImAsQshkQsxkLGwAgAEEANgIEIABB9MoJNgIAIABBzKAJNgIACzkBAX8jAEEQayIAJABBgKULQgA3AwAgAEEANgIMQZClCyAAQQxqELQaQZCmC0EAOgAAIABBEGokAAtEAQF/EK8aQRxJBEAQ/BoAC0GApQtBgKULEOQKQRwQsBoiADYCAEGEpQsgADYCAEGApQsQsRogAEHwAGo2AgBBABCyGgteAQJ/IwBBEGsiASQAIAEgABCzGiIAKAIEIQIDQCAAKAIIIAJHBEBBgKULEOQKGiAAKAIEELcaIAAgACgCBEEEaiICNgIEDAELCyAAKAIAIAAoAgQ2AgQgAUEQaiQACwwAIAAgACgCABC8GgssACAAKAIAGiAAKAIAIAAQthpBAnRqGiAAKAIAGiAAKAIAIAAQ9gFBAnRqGgtZAQJ/IwBBIGsiASQAIAFBADYCDCABQcASNgIIIAEgASkDCDcDACAAAn8gAUEQaiICIAEpAgA3AgQgAiAANgIAIAILEMQZIAAoAgQhACABQSBqJAAgAEEBawuFAQECfyMAQRBrIgMkACAAELcZIANBCGogABC4GSECQYClCxD2ASABTQRAIAFBAWoQuRkLQYClCyABELYZKAIABEBBgKULIAEQthkoAgAQuhkLIAIQhBkhAEGApQsgARC2GSAANgIAIAIoAgAhACACQQA2AgAgAARAIAAQuhkLIANBEGokAAs0AEHAogsQrBlBzKILQQA6AABByKILQQA2AgBBwKILQdScCTYCAEHIogtB/PsIKAIANgIAC0IAAkBBoJgLLQAAQQFxDQBBoJgLEP0aRQ0AEKsZQZiYC0HwpAs2AgBBnJgLQZiYCzYCAEGgmAsQgRsLQZyYCygCAAsNACAAKAIAIAFBAnRqCxQAIABBBGoiACAAKAIAQQFqNgIACycBAX8jAEEQayICJAAgAiABNgIMIAAgAkEMahDlFiACQRBqJAAgAAtOAQF/IABBgKULEPYBIgFLBEAgACABaxC/GQ8LIAAgAUkEQEGApQsoAgAgAEECdGohAEGApQsQ9gEhAUGApQsgABC8GkGApQsgARCxGQsLHQAgAEEEahC8GUF/RgRAIAAgACgCACgCCBEBAAsLdQECfyAAQcCcCTYCACAAQRBqIQEDQCABEPYBIAJLBEAgASACELYZKAIABEAgASACELYZKAIAELoZCyACQQFqIQIMAQsLIABBsAFqEN4aGiABEL0ZIAEoAgAEQCABELAZIAEQ5AogASgCACABELYaELsaCyAACxMAIAAgACgCAEEBayIANgIAIAALNQAgACgCABogACgCACAAELYaQQJ0ahogACgCACAAEPYBQQJ0ahogACgCACAAELYaQQJ0ahoLCgAgABC7GRCiGwucAQECfyMAQSBrIgIkAAJAIABBgKULELEaKAIAQYSlCygCAGtBAnVNBEAgABCvGQwBC0GApQsQ5AohASACQQhqQYClCxD2ASAAahC+GkGApQsQ9gEgARC/GiIBIAAQwBogARDBGiABIAEoAgQQxhogASgCAARAIAEQwhogASgCACABEOMKKAIAIAEoAgBrQQJ1ELsaCwsgAkEgaiQACxMAIAAgASgCACIBNgIAIAEQtxkLPgACQEGsmAstAABBAXENAEGsmAsQ/RpFDQBBpJgLELUZEMAZQaiYC0GkmAs2AgBBrJgLEIEbC0GomAsoAgALFAAgABDBGSgCACIANgIAIAAQtxkLHwAgAAJ/QbCYC0GwmAsoAgBBAWoiADYCACAACzYCBAs+AQJ/IwBBEGsiAiQAIAAoAgBBf0cEQCACAn8gAkEIaiIDIAEQkxgaIAMLEJMYGiAAIAIQ1BoLIAJBEGokAAsPACAAIAAoAgAoAgQRAQALDQAgACgCACgCABDHGgskACACQf8ATQR/Qfz7CCgCACACQQF0ai8BACABcUEARwVBAAsLRgADQCABIAJHBEAgAyABKAIAQf8ATQR/Qfz7CCgCACABKAIAQQF0ai8BAAVBAAs7AQAgA0ECaiEDIAFBBGohAQwBCwsgAgtEAANAAkAgAiADRwR/IAIoAgBB/wBLDQFB/PsIKAIAIAIoAgBBAXRqLwEAIAFxRQ0BIAIFIAMLDwsgAkEEaiECDAALAAtFAAJAA0AgAiADRg0BAkAgAigCAEH/AEsNAEH8+wgoAgAgAigCAEEBdGovAQAgAXFFDQAgAkEEaiECDAELCyACIQMLIAMLHgAgAUH/AE0Ef0GAggkoAgAgAUECdGooAgAFIAELC0EAA0AgASACRwRAIAEgASgCACIAQf8ATQR/QYCCCSgCACABKAIAQQJ0aigCAAUgAAs2AgAgAUEEaiEBDAELCyACCx4AIAFB/wBNBH9BkI4JKAIAIAFBAnRqKAIABSABCwtBAANAIAEgAkcEQCABIAEoAgAiAEH/AE0Ef0GQjgkoAgAgASgCAEECdGooAgAFIAALNgIAIAFBBGohAQwBCwsgAgsqAANAIAEgAkZFBEAgAyABLAAANgIAIANBBGohAyABQQFqIQEMAQsLIAILEwAgASACIAFBgAFJG0EYdEEYdQs1AANAIAEgAkZFBEAgBCABKAIAIgAgAyAAQYABSRs6AAAgBEEBaiEEIAFBBGohAQwBCwsgAgspAQF/IABB1JwJNgIAAkAgACgCCCIBRQ0AIAAtAAxFDQAgARCiGwsgAAsKACAAENIZEKIbCycAIAFBAE4Ef0GAggkoAgAgAUH/AXFBAnRqKAIABSABC0EYdEEYdQtAAANAIAEgAkcEQCABIAEsAAAiAEEATgR/QYCCCSgCACABLAAAQQJ0aigCAAUgAAs6AAAgAUEBaiEBDAELCyACCycAIAFBAE4Ef0GQjgkoAgAgAUH/AXFBAnRqKAIABSABC0EYdEEYdQtAAANAIAEgAkcEQCABIAEsAAAiAEEATgR/QZCOCSgCACABLAAAQQJ0aigCAAUgAAs6AAAgAUEBaiEBDAELCyACCyoAA0AgASACRkUEQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohAQwBCwsgAgsMACABIAIgAUF/ShsLNAADQCABIAJGRQRAIAQgASwAACIAIAMgAEF/Shs6AAAgBEEBaiEEIAFBAWohAQwBCwsgAgsSACAEIAI2AgAgByAFNgIAQQMLCwAgBCACNgIAQQMLNwAjAEEQayIAJAAgACAENgIMIAAgAyACazYCCCAAQQxqIABBCGoQ3hkoAgAhAyAAQRBqJAAgAwsJACAAIAEQ3xkLJAECfyMAQRBrIgIkACABIAAQ+RUhAyACQRBqJAAgASAAIAMbCwoAIAAQqhkQohsL1wMBBH8jAEEQayIKJAAgAiEIA0ACQCADIAhGBEAgAyEIDAELIAgoAgBFDQAgCEEEaiEIDAELCyAHIAU2AgAgBCACNgIAA0ACQAJAAkAgBSAGRg0AIAIgA0YNACAKIAEpAgA3AwhBASEJAkACQAJAAkACQCAFIAQgCCACa0ECdSAGIAVrIAAoAggQ4hkiC0EBag4CAAYBCyAHIAU2AgADQAJAIAIgBCgCAEYNACAFIAIoAgAgACgCCBDjGSIIQX9GDQAgByAHKAIAIAhqIgU2AgAgAkEEaiECDAELCyAEIAI2AgAMAQsgByAHKAIAIAtqIgU2AgAgBSAGRg0CIAMgCEYEQCAEKAIAIQIgAyEIDAcLIApBBGpBACAAKAIIEOMZIghBf0cNAQtBAiEJDAMLIApBBGohAiAGIAcoAgBrIAhJBEAMAwsDQCAIBEAgAi0AACEFIAcgBygCACIJQQFqNgIAIAkgBToAACAIQQFrIQggAkEBaiECDAELCyAEIAQoAgBBBGoiAjYCACACIQgDQCADIAhGBEAgAyEIDAULIAgoAgBFDQQgCEEEaiEIDAALAAsgBCgCACECCyACIANHIQkLIApBEGokACAJDwsgBygCACEFDAALAAs+AQF/IwBBEGsiBSQAIAUgBDYCDCAFQQhqIAVBDGoQ7BchBCAAIAEgAiADEKUXIQAgBBDtFyAFQRBqJAAgAAs6AQF/IwBBEGsiAyQAIAMgAjYCDCADQQhqIANBDGoQ7BchAiAAIAEQsBUhACACEO0XIANBEGokACAAC7oDAQN/IwBBEGsiCSQAIAIhCANAAkAgAyAIRgRAIAMhCAwBCyAILQAARQ0AIAhBAWohCAwBCwsgByAFNgIAIAQgAjYCAANAAkACfwJAIAUgBkYNACACIANGDQAgCSABKQIANwMIAkACQAJAAkAgBSAEIAggAmsgBiAFa0ECdSABIAAoAggQ5RkiCkF/RgRAA0ACQCAHIAU2AgAgAiAEKAIARg0AQQEhBgJAAkACQCAFIAIgCCACayAJQQhqIAAoAggQ5hkiBUECag4DCAACAQsgBCACNgIADAULIAUhBgsgAiAGaiECIAcoAgBBBGohBQwBCwsgBCACNgIADAULIAcgBygCACAKQQJ0aiIFNgIAIAUgBkYNAyAEKAIAIQIgAyAIRgRAIAMhCAwICyAFIAJBASABIAAoAggQ5hlFDQELQQIMBAsgByAHKAIAQQRqNgIAIAQgBCgCAEEBaiICNgIAIAIhCANAIAMgCEYEQCADIQgMBgsgCC0AAEUNBSAIQQFqIQgMAAsACyAEIAI2AgBBAQwCCyAEKAIAIQILIAIgA0cLIQggCUEQaiQAIAgPCyAHKAIAIQUMAAsAC0ABAX8jAEEQayIGJAAgBiAFNgIMIAZBCGogBkEMahDsFyEFIAAgASACIAMgBBCnFyEAIAUQ7RcgBkEQaiQAIAALPgEBfyMAQRBrIgUkACAFIAQ2AgwgBUEIaiAFQQxqEOwXIQQgACABIAIgAxCTFyEAIAQQ7RcgBUEQaiQAIAALkgEBAX8jAEEQayIFJAAgBCACNgIAAn9BAiAFQQxqQQAgACgCCBDjGSIBQQFqQQJJDQAaQQEgAUEBayIBIAMgBCgCAGtLDQAaIAVBDGohAgN/IAEEfyACLQAAIQAgBCAEKAIAIgNBAWo2AgAgAyAAOgAAIAFBAWshASACQQFqIQIMAQVBAAsLCyECIAVBEGokACACCy0BAX9BfyEBAkAgACgCCBDpGQR/IAEFIAAoAggiAA0BQQELDwsgABDqGUEBRgtFAQJ/IwBBEGsiASQAIAEgADYCDCABQQhqIAFBDGoQ7BchACMAQRBrIgIkACACQRBqJABBACECIAAQ7RcgAUEQaiQAIAILQgECfyMAQRBrIgEkACABIAA2AgwgAUEIaiABQQxqEOwXIQBBBEEBQZjRCigCACgCABshAiAAEO0XIAFBEGokACACC1sBBH8DQAJAIAIgA0YNACAEIAZNDQBBASEHAkACQCACIAMgAmsgASAAKAIIEOwZIghBAmoOAwICAQALIAghBwsgBkEBaiEGIAUgB2ohBSACIAdqIQIMAQsLIAULRQEBfyMAQRBrIgQkACAEIAM2AgwgBEEIaiAEQQxqEOwXIQNBACAAIAEgAkHslgsgAhsQkxchACADEO0XIARBEGokACAACxUAIAAoAggiAEUEQEEBDwsgABDqGQtNACMAQRBrIgAkACAAIAI2AgwgACAFNgIIIAIgAyAAQQxqIAUgBiAAQQhqEO8ZIQUgBCAAKAIMNgIAIAcgACgCCDYCACAAQRBqJAAgBQu/BQECfyACIAA2AgAgBSADNgIAIAIoAgAhBgJAAkADQCABIAZNBEBBACEADAMLQQIhACAGLwEAIgNB///DAEsNAgJAAkAgA0H/AE0EQEEBIQAgBCAFKAIAIgZrQQFIDQUgBSAGQQFqNgIAIAYgAzoAAAwBCyADQf8PTQRAIAQgBSgCACIGa0ECSA0EIAUgBkEBajYCACAGIANBBnZBwAFyOgAAIAUgBSgCACIGQQFqNgIAIAYgA0E/cUGAAXI6AAAMAQsgA0H/rwNNBEAgBCAFKAIAIgZrQQNIDQQgBSAGQQFqNgIAIAYgA0EMdkHgAXI6AAAgBSAFKAIAIgZBAWo2AgAgBiADQQZ2QT9xQYABcjoAACAFIAUoAgAiBkEBajYCACAGIANBP3FBgAFyOgAADAELIANB/7cDTQRAQQEhACABIAZrQQRIDQUgBi8BAiIHQYD4A3FBgLgDRw0CIAQgBSgCAGtBBEgNBSAHQf8HcSADQQp0QYD4A3EgA0HAB3EiAEEKdHJyQYCABGpB///DAEsNAiACIAZBAmo2AgAgBSAFKAIAIgZBAWo2AgAgBiAAQQZ2QQFqIgBBAnZB8AFyOgAAIAUgBSgCACIGQQFqNgIAIAYgAEEEdEEwcSADQQJ2QQ9xckGAAXI6AAAgBSAFKAIAIgZBAWo2AgAgBiAHQQZ2QQ9xIANBBHRBMHFyQYABcjoAACAFIAUoAgAiA0EBajYCACADIAdBP3FBgAFyOgAADAELIANBgMADSQ0EIAQgBSgCACIGa0EDSA0DIAUgBkEBajYCACAGIANBDHZB4AFyOgAAIAUgBSgCACIGQQFqNgIAIAYgA0EGdkE/cUGAAXI6AAAgBSAFKAIAIgZBAWo2AgAgBiADQT9xQYABcjoAAAsgAiACKAIAQQJqIgY2AgAMAQsLQQIPC0EBDwsgAAtNACMAQRBrIgAkACAAIAI2AgwgACAFNgIIIAIgAyAAQQxqIAUgBiAAQQhqEPEZIQUgBCAAKAIMNgIAIAcgACgCCDYCACAAQRBqJAAgBQuWBQEFfyACIAA2AgAgBSADNgIAAkACQAJAA0ACQCACKAIAIgAgAU8NACADIARPDQBBAiEJIAAtAAAiBkH//8MASw0EIAICfyAGQRh0QRh1QQBOBEAgAyAGOwEAIABBAWoMAQsgBkHCAUkNBSAGQd8BTQRAIAEgAGtBAkgNBSAALQABIgdBwAFxQYABRw0EIAdBP3EgBkEGdEHAD3FyIgZB///DAEsNBCADIAY7AQAgAEECagwBCyAGQe8BTQRAIAEgAGtBA0gNBSAALQACIQggAC0AASEHAkACQCAGQe0BRwRAIAZB4AFHDQEgB0HgAXFBoAFGDQIMBwsgB0HgAXFBgAFGDQEMBgsgB0HAAXFBgAFHDQULIAhBwAFxQYABRw0EIAhBP3EgB0E/cUEGdCAGQQx0cnIiBkH//wNxQf//wwBLDQQgAyAGOwEAIABBA2oMAQsgBkH0AUsNBUEBIQkgASAAa0EESA0DIAAtAAMhCCAALQACIQcgAC0AASEAAkACQAJAAkAgBkHwAWsOBQACAgIBAgsgAEHwAGpB/wFxQTBPDQgMAgsgAEHwAXFBgAFHDQcMAQsgAEHAAXFBgAFHDQYLIAdBwAFxQYABRw0FIAhBwAFxQYABRw0FIAQgA2tBBEgNA0ECIQkgCEE/cSIIIAdBBnQiCkHAH3EgAEEMdEGA4A9xIAZBB3EiBkESdHJyckH//8MASw0DIAMgB0EEdkEDcSAGQQh0IABBAnQiBkHAAXFyIAZBPHFyckHA/wBqQYCwA3I7AQAgBSADQQJqNgIAIAMgCkHAB3EgCHJBgLgDcjsBAiACKAIAQQRqCzYCACAFIAUoAgBBAmoiAzYCAAwBCwsgACABSSEJCyAJDwtBAQ8LQQILCwAgAiADIAQQ8xkL9QMBBn8gACEDA0ACQCACIAZNDQAgASADTQ0AIAMtAAAiBEH//8MASw0AAn8gA0EBaiAEQRh0QRh1QQBODQAaIARBwgFJDQEgBEHfAU0EQCABIANrQQJIDQIgAy0AASIFQcABcUGAAUcNAiAFQT9xIARBBnRBwA9xckH//8MASw0CIANBAmoMAQsCQAJAIARB7wFNBEAgASADa0EDSA0EIAMtAAIhByADLQABIQUgBEHtAUYNASAEQeABRgRAIAVB4AFxQaABRg0DDAULIAVBwAFxQYABRw0EDAILIARB9AFLDQMgAiAGa0ECSQ0DIAEgA2tBBEgNAyADLQADIQggAy0AAiEHIAMtAAEhBQJAAkACQAJAIARB8AFrDgUAAgICAQILIAVB8ABqQf8BcUEwSQ0CDAYLIAVB8AFxQYABRg0BDAULIAVBwAFxQYABRw0ECyAHQcABcUGAAUcNAyAIQcABcUGAAUcNAyAIQT9xIAdBBnRBwB9xIARBEnRBgIDwAHEgBUE/cUEMdHJyckH//8MASw0DIAZBAWohBiADQQRqDAILIAVB4AFxQYABRw0CCyAHQcABcUGAAUcNASAHQT9xIARBDHRBgOADcSAFQT9xQQZ0cnJB///DAEsNASADQQNqCyEDIAZBAWohBgwBCwsgAyAAawtNACMAQRBrIgAkACAAIAI2AgwgACAFNgIIIAIgAyAAQQxqIAUgBiAAQQhqEPUZIQUgBCAAKAIMNgIAIAcgACgCCDYCACAAQRBqJAAgBQvXAwEBfyACIAA2AgAgBSADNgIAIAIoAgAhAwJAA0AgASADTQRAQQAhBgwCC0ECIQYgAygCACIDQf//wwBLDQEgA0GAcHFBgLADRg0BAkACQCADQf8ATQRAQQEhBiAEIAUoAgAiAGtBAUgNBCAFIABBAWo2AgAgACADOgAADAELIANB/w9NBEAgBCAFKAIAIgZrQQJIDQIgBSAGQQFqNgIAIAYgA0EGdkHAAXI6AAAgBSAFKAIAIgZBAWo2AgAgBiADQT9xQYABcjoAAAwBCyAEIAUoAgAiBmshACADQf//A00EQCAAQQNIDQIgBSAGQQFqNgIAIAYgA0EMdkHgAXI6AAAgBSAFKAIAIgZBAWo2AgAgBiADQQZ2QT9xQYABcjoAACAFIAUoAgAiBkEBajYCACAGIANBP3FBgAFyOgAADAELIABBBEgNASAFIAZBAWo2AgAgBiADQRJ2QfABcjoAACAFIAUoAgAiBkEBajYCACAGIANBDHZBP3FBgAFyOgAAIAUgBSgCACIGQQFqNgIAIAYgA0EGdkE/cUGAAXI6AAAgBSAFKAIAIgZBAWo2AgAgBiADQT9xQYABcjoAAAsgAiACKAIAQQRqIgM2AgAMAQsLQQEPCyAGC00AIwBBEGsiACQAIAAgAjYCDCAAIAU2AgggAiADIABBDGogBSAGIABBCGoQ9xkhBSAEIAAoAgw2AgAgByAAKAIINgIAIABBEGokACAFC6UEAQZ/IAIgADYCACAFIAM2AgACQAJAA0ACQCACKAIAIgAgAU8NACADIARPDQAgACwAACIIQf8BcSEGAkAgCEEATgRAIAZB///DAE0EQEEBIQgMAgtBAg8LQQIhCiAGQcIBSQ0DIAZB3wFNBEAgASAAa0ECSA0FIAAtAAEiB0HAAXFBgAFHDQRBAiEIIAdBP3EgBkEGdEHAD3FyIgZB///DAE0NAQwECyAGQe8BTQRAIAEgAGtBA0gNBSAALQACIQkgAC0AASEHAkACQCAGQe0BRwRAIAZB4AFHDQEgB0HgAXFBoAFGDQIMBwsgB0HgAXFBgAFGDQEMBgsgB0HAAXFBgAFHDQULIAlBwAFxQYABRw0EQQMhCCAJQT9xIAZBDHRBgOADcSAHQT9xQQZ0cnIiBkH//8MATQ0BDAQLIAZB9AFLDQMgASAAa0EESA0EIAAtAAMhCyAALQACIQkgAC0AASEHAkACQAJAAkAgBkHwAWsOBQACAgIBAgsgB0HwAGpB/wFxQTBJDQIMBgsgB0HwAXFBgAFGDQEMBQsgB0HAAXFBgAFHDQQLIAlBwAFxQYABRw0DIAtBwAFxQYABRw0DQQQhCCALQT9xIAlBBnRBwB9xIAZBEnRBgIDwAHEgB0E/cUEMdHJyciIGQf//wwBLDQMLIAMgBjYCACACIAAgCGo2AgAgBSAFKAIAQQRqIgM2AgAMAQsLIAAgAUkhCgsgCg8LQQELCwAgAiADIAQQ+RkL6QMBB38gACEDA0ACQCACIAhNDQAgASADTQ0AIAMsAAAiBkH/AXEhBAJAIAZBAE4EQEEBIQYgBEH//8MATQ0BDAILIARBwgFJDQEgBEHfAU0EQCABIANrQQJIDQIgAy0AASIFQcABcUGAAUcNAkECIQYgBUE/cSAEQQZ0QcAPcXJB///DAE0NAQwCCwJAAkAgBEHvAU0EQCABIANrQQNIDQQgAy0AAiEHIAMtAAEhBSAEQe0BRg0BIARB4AFGBEAgBUHgAXFBoAFGDQMMBQsgBUHAAXFBgAFHDQQMAgsgBEH0AUsNAyABIANrQQRIDQMgAy0AAyEJIAMtAAIhByADLQABIQUCQAJAAkACQCAEQfABaw4FAAICAgECCyAFQfAAakH/AXFBMEkNAgwGCyAFQfABcUGAAUYNAQwFCyAFQcABcUGAAUcNBAsgB0HAAXFBgAFHDQMgCUHAAXFBgAFHDQNBBCEGIAlBP3EgB0EGdEHAH3EgBEESdEGAgPAAcSAFQT9xQQx0cnJyQf//wwBLDQMMAgsgBUHgAXFBgAFHDQILIAdBwAFxQYABRw0BQQMhBiAHQT9xIARBDHRBgOADcSAFQT9xQQZ0cnJB///DAEsNAQsgCEEBaiEIIAMgBmohAwwBCwsgAyAAawsWACAAQbidCTYCACAAQQxqEN4aGiAACwoAIAAQ+hkQohsLFgAgAEHgnQk2AgAgAEEQahDeGhogAAsKACAAEPwZEKIbCwcAIAAsAAgLBwAgACwACQsNACAAIAFBDGoQ2xoaCw0AIAAgAUEQahDbGhoLDAAgAEGAngkQiQMaCwsAIABBiJ4JEIQaCyABAX8jAEEQayICJAAgACABIAEQoxcQ8BogAkEQaiQACwwAIABBnJ4JEIkDGgsLACAAQaSeCRCEGgsJACAAIAEQ6RoLNwACQEH4mAstAABBAXENAEH4mAsQ/RpFDQAQiRpB9JgLQbCaCzYCAEH4mAsQgRsLQfSYCygCAAvYAQEBfwJAQdibCy0AAEEBcQ0AQdibCxD9GkUNAEGwmgshAANAIAAQxhdBDGoiAEHYmwtHDQALQdibCxCBGwtBsJoLQYjBCRCHGkG8mgtBj8EJEIcaQciaC0GWwQkQhxpB1JoLQZ7BCRCHGkHgmgtBqMEJEIcaQeyaC0GxwQkQhxpB+JoLQbjBCRCHGkGEmwtBwcEJEIcaQZCbC0HFwQkQhxpBnJsLQcnBCRCHGkGomwtBzcEJEIcaQbSbC0HRwQkQhxpBwJsLQdXBCRCHGkHMmwtB2cEJEIcaCxwAQdibCyEAA0AgAEEMaxDeGiIAQbCaC0cNAAsLNwACQEGAmQstAABBAXENAEGAmQsQ/RpFDQAQjBpB/JgLQeCbCzYCAEGAmQsQgRsLQfyYCygCAAvYAQEBfwJAQYidCy0AAEEBcQ0AQYidCxD9GkUNAEHgmwshAANAIAAQxhdBDGoiAEGInQtHDQALQYidCxCBGwtB4JsLQeDBCRCOGkHsmwtB/MEJEI4aQfibC0GYwgkQjhpBhJwLQbjCCRCOGkGQnAtB4MIJEI4aQZycC0GEwwkQjhpBqJwLQaDDCRCOGkG0nAtBxMMJEI4aQcCcC0HUwwkQjhpBzJwLQeTDCRCOGkHYnAtB9MMJEI4aQeScC0GExAkQjhpB8JwLQZTECRCOGkH8nAtBpMQJEI4aCxwAQYidCyEAA0AgAEEMaxDeGiIAQeCbC0cNAAsLDgAgACABIAEQoxcQ8RoLNwACQEGImQstAABBAXENAEGImQsQ/RpFDQAQkBpBhJkLQZCdCzYCAEGImQsQgRsLQYSZCygCAAvGAgEBfwJAQbCfCy0AAEEBcQ0AQbCfCxD9GkUNAEGQnQshAANAIAAQxhdBDGoiAEGwnwtHDQALQbCfCxCBGwtBkJ0LQbTECRCHGkGcnQtBvMQJEIcaQaidC0HFxAkQhxpBtJ0LQcvECRCHGkHAnQtB0cQJEIcaQcydC0HVxAkQhxpB2J0LQdrECRCHGkHknQtB38QJEIcaQfCdC0HmxAkQhxpB/J0LQfDECRCHGkGIngtB+MQJEIcaQZSeC0GBxQkQhxpBoJ4LQYrFCRCHGkGsngtBjsUJEIcaQbieC0GSxQkQhxpBxJ4LQZbFCRCHGkHQngtB0cQJEIcaQdyeC0GaxQkQhxpB6J4LQZ7FCRCHGkH0ngtBosUJEIcaQYCfC0GmxQkQhxpBjJ8LQarFCRCHGkGYnwtBrsUJEIcaQaSfC0GyxQkQhxoLHABBsJ8LIQADQCAAQQxrEN4aIgBBkJ0LRw0ACws3AAJAQZCZCy0AAEEBcQ0AQZCZCxD9GkUNABCTGkGMmQtBwJ8LNgIAQZCZCxCBGwtBjJkLKAIAC8YCAQF/AkBB4KELLQAAQQFxDQBB4KELEP0aRQ0AQcCfCyEAA0AgABDGF0EMaiIAQeChC0cNAAtB4KELEIEbC0HAnwtBuMUJEI4aQcyfC0HYxQkQjhpB2J8LQfzFCRCOGkHknwtBlMYJEI4aQfCfC0GsxgkQjhpB/J8LQbzGCRCOGkGIoAtB0MYJEI4aQZSgC0HkxgkQjhpBoKALQYDHCRCOGkGsoAtBqMcJEI4aQbigC0HIxwkQjhpBxKALQezHCRCOGkHQoAtBkMgJEI4aQdygC0GgyAkQjhpB6KALQbDICRCOGkH0oAtBwMgJEI4aQYChC0GsxgkQjhpBjKELQdDICRCOGkGYoQtB4MgJEI4aQaShC0HwyAkQjhpBsKELQYDJCRCOGkG8oQtBkMkJEI4aQcihC0GgyQkQjhpB1KELQbDJCRCOGgscAEHgoQshAANAIABBDGsQ3hoiAEHAnwtHDQALCzcAAkBBmJkLLQAAQQFxDQBBmJkLEP0aRQ0AEJYaQZSZC0HwoQs2AgBBmJkLEIEbC0GUmQsoAgALVAEBfwJAQYiiCy0AAEEBcQ0AQYiiCxD9GkUNAEHwoQshAANAIAAQxhdBDGoiAEGIogtHDQALQYiiCxCBGwtB8KELQcDJCRCHGkH8oQtBw8kJEIcaCxwAQYiiCyEAA0AgAEEMaxDeGiIAQfChC0cNAAsLNwACQEGgmQstAABBAXENAEGgmQsQ/RpFDQAQmRpBnJkLQZCiCzYCAEGgmQsQgRsLQZyZCygCAAtUAQF/AkBBqKILLQAAQQFxDQBBqKILEP0aRQ0AQZCiCyEAA0AgABDGF0EMaiIAQaiiC0cNAAtBqKILEIEbC0GQogtByMkJEI4aQZyiC0HUyQkQjhoLHABBqKILIQADQCAAQQxrEN4aIgBBkKILRw0ACwsyAAJAQbCZCy0AAEEBcQ0AQbCZCxD9GkUNAEGkmQtBvJ4JEIkDGkGwmQsQgRsLQaSZCwsKAEGkmQsQ3hoaCzEAAkBBwJkLLQAAQQFxDQBBwJkLEP0aRQ0AQbSZC0HIngkQhBpBwJkLEIEbC0G0mQsLCgBBtJkLEN4aGgsyAAJAQdCZCy0AAEEBcQ0AQdCZCxD9GkUNAEHEmQtB7J4JEIkDGkHQmQsQgRsLQcSZCwsKAEHEmQsQ3hoaCzEAAkBB4JkLLQAAQQFxDQBB4JkLEP0aRQ0AQdSZC0H4ngkQhBpB4JkLEIEbC0HUmQsLCgBB1JkLEN4aGgsyAAJAQfCZCy0AAEEBcQ0AQfCZCxD9GkUNAEHkmQtBnJ8JEIkDGkHwmQsQgRsLQeSZCwsKAEHkmQsQ3hoaCzEAAkBBgJoLLQAAQQFxDQBBgJoLEP0aRQ0AQfSZC0G0nwkQhBpBgJoLEIEbC0H0mQsLCgBB9JkLEN4aGgsyAAJAQZCaCy0AAEEBcQ0AQZCaCxD9GkUNAEGEmgtBiKAJEIkDGkGQmgsQgRsLQYSaCwsKAEGEmgsQ3hoaCzEAAkBBoJoLLQAAQQFxDQBBoJoLEP0aRQ0AQZSaC0GUoAkQhBpBoJoLEIEbC0GUmgsLCgBBlJoLEN4aGgsbAQF/QQEhASAAEOgXBH8gABDpF0EBawUgAQsLGQAgABDoFwRAIAAgARCRCw8LIAAgARD6GAsKACAAEK4aEKIbCx8BAX8gAEEIaiIBKAIAEOUXRwRAIAEoAgAQohcLIAALRgECfyMAQRBrIgAkAEGApQsQ5AoaIABB/////wM2AgwgAEH/////BzYCCCAAQQxqIABBCGoQ3hkoAgAhASAAQRBqJAAgAQsJACAAIAEQtRoLBwAgAEEQags4AEGApQsoAgAaQYClCygCAEGApQsQthpBAnRqGkGApQsoAgBBgKULELYaQQJ0ahpBgKULKAIAGgsqAQF/IABBgKULNgIAIABBhKULKAIAIgI2AgQgACACIAFBAnRqNgIIIAALCQAgAEEANgIACyUAAkAgAUEcSw0AIAAtAHANACAAQQE6AHAgAA8LIAFBAnQQ1RoLEwAgABCxGigCACAAKAIAa0ECdQsJACAAQQA2AgALJAAgAEELTwR/IABBEGpBcHEiACAAQQFrIgAgAEELRhsFQQoLCwkAIAAgATYCAAsQACAAIAFBgICAgHhyNgIICxsAAkAgACABRgRAIABBADoAcAwBCyABEKIbCwssAQF/IAAoAgQhAgNAIAEgAkcEQCAAEOQKGiACQQRrIQIMAQsLIAAgATYCBAsKACAAEOUXNgIAC1sBAn8jAEEQayIBJAAgASAANgIMIAAQrxoiAk0EQEGApQsQthoiACACQQF2SQRAIAEgAEEBdDYCCCABQQhqIAFBDGoQ3RYoAgAhAgsgAUEQaiQAIAIPCxD8GgALdQEDfyMAQRBrIgQkACAEQQA2AgwgAEEMaiIGIARBDGoQtBogBkEEaiADEJMYGiABBEAgABDCGiABELAaIQULIAAgBTYCACAAIAUgAkECdGoiAjYCCCAAIAI2AgQgABDjCiAFIAFBAnRqNgIAIARBEGokACAAC2EBAn8jAEEQayICJAAgAiAAQQhqIAEQwxoiASgCACEDA0AgASgCBCADRwRAIAAQwhoaIAEoAgAQtxogASABKAIAQQRqIgM2AgAMAQsLIAEoAgggASgCADYCACACQRBqJAALYgEBf0GApQsQvRlBgKULEOQKQYClCygCAEGEpQsoAgAgAEEEaiIBEMQaQYClCyABEPEVQYSlCyAAQQhqEPEVQYClCxCxGiAAEOMKEPEVIAAgACgCBDYCAEGApQsQ9gEQshoLCgAgAEEMahDFGgsrAQF/IAAgASgCADYCACABKAIAIQMgACABNgIIIAAgAyACQQJ0ajYCBCAACygAIAMgAygCACACIAFrIgJrIgA2AgAgAkEBTgRAIAAgASACEK4bGgsLCgAgAEEEaigCAAslAANAIAEgACgCCEcEQCAAEMIaGiAAIAAoAghBBGs2AggMAQsLCzgBAn8gACgCACAAKAIIIgJBAXVqIQEgACgCBCEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQEACwkAIAAgARDmGAskACAAQQJPBH8gAEEEakF8cSIAIABBAWsiACAAQQJGGwVBAQsLHgAgAEH/////A0sEQEHgyQkQvgIACyAAQQJ0ENUaCzQBAX8jAEEQayIDJAAgAyABIAIQ5RcQ2BUgACADKQMANwMAIAAgAykDCDcDCCADQRBqJAALRQEBfyMAQRBrIgMkACADIAI2AggDQCAAIAFHBEAgA0EIaiAALAAAENMWIABBAWohAAwBCwsgAygCCCEAIANBEGokACAAC0UBAX8jAEEQayIDJAAgAyACNgIIA0AgACABRwRAIANBCGogACgCABDVFiAAQQRqIQAMAQsLIAMoAgghACADQRBqJAAgAAsNACAAIAJJIAAgAU9xCw0AIAAtAAAgAS0AAEYLOAEBfyAAQQhqIgEoAgBFBEAgACAAKAIAKAIQEQEADwsgARC8GUF/RgRAIAAgACgCACgCEBEBAAsLFgEBfyAAENIaIgEEQCABEPsaAAsgAAsvAQJ/IwBBEGsiAiQAAkBBACIADQBBAA0AQQANACABRQRADAELCyACQRBqJAAgAAsPAEEAIgAEQCAAEPsaAAsLLgADQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAFBwRIRAQAgAEF/NgIACws0AQF/IABBASAAGyEBAkADQCABEKEbIgANAUH8pgsoAgAiAARAIAARDgAMAQsLECgACyAACzoBAn8gARC4GyICQQ1qENUaIgNBADYCCCADIAI2AgQgAyACNgIAIAAgAxDjCiABIAJBAWoQrhs2AgALKQEBfyACBEAgACEDA0AgAyABNgIAIANBBGohAyACQQFrIgINAAsLIAALaAEBfwJAIAIgACABa0ECdUsEQANAIAAgAkEBayICQQJ0IgNqIAEgA2ooAgA2AgAgAg0ADAILAAsgAkUNACAAIQMDQCADIAEoAgA2AgAgA0EEaiEDIAFBBGohASACQQFrIgINAAsLIAALCgBBm8wJEL4CAAsGABD/FQALSwECfyMAQRBrIgMkACAAIQICQCABEOgXRQRAIAIgASgCCDYCCCACIAEpAgA3AgAMAQsgACABKAIAIAEoAgQQ3BoLIANBEGokACAAC3gBA38jAEEQayIDJAAgAkFvTQRAAkAgAkEKTQRAIAAgAhD6GCAAIQQMAQsgACACELgaQQFqIgUQ1RoiBBC5GiAAIAUQuhogACACEJELCyAEIAEgAhCRFiADQQA6AA8gAiAEaiADQQ9qEPkYIANBEGokAA8LENkaAAtZAQF/IwBBEGsiBSQAIAUgAzYCDCACIAEQvhciBEsEQBDaGgALIAEQ6hchASAFIAQgAms2AgQgACABIAJqIAVBDGogBUEEahDeGSgCABDcGiAFQRBqJAAgAAsgAQF/IAAQ6BcEQCAAKAIAIQEgABDpFxogARCiGwsgAAsdACAAIAFHBH8gACABEOoXIAEQvhcQ4BoFIAALGgt3AQR/IwBBEGsiBCQAAkAgAiAAEMcXIgNNBEAgABDqFyIDIQUgAiIGBEAgBSABIAYQsBsLIARBADoADyACIANqIARBD2oQ+RggACACEKwaDAELIAAgAyACIANrIAAQvhciA0EAIAMgAiABEOEaCyAEQRBqJAAgAAv3AQEDfyMAQRBrIggkACACQW8iCSABQX9zak0EQCAAEOoXIQoCfyABIAlBAXZBEGtJBEAgCCABQQF0NgIIIAggASACajYCDCAIQQxqIAhBCGoQ3RYoAgAQuBoMAQsgCUEBawtBAWoiCRDVGiECIAQEQCACIAogBBCRFgsgBgRAIAIgBGogByAGEJEWCyADIAVrIgMgBGsiBwRAIAIgBGogBmogBCAKaiAFaiAHEJEWCyABQQpHBEAgChCiGwsgACACELkaIAAgCRC6GiAAIAMgBmoiBBCRCyAIQQA6AAcgAiAEaiAIQQdqEPkYIAhBEGokAA8LENkaAAsjAQF/IAEgABC+FyICSwRAIAAgASACaxDjGg8LIAAgARDkGgtzAQR/IwBBEGsiBCQAIAEEQCAAEMcXIQIgABC+FyIDIAFqIQUgASACIANrSwRAIAAgAiAFIAJrIAMgAxDlGgsgAyAAEOoXIgJqIAFBABDmGiAAIAUQrBogBEEAOgAPIAIgBWogBEEPahD5GAsgBEEQaiQAC14BAn8jAEEQayICJAACQCAAEOgXBEAgACgCACEDIAJBADoADyABIANqIAJBD2oQ+RggACABEJELDAELIAJBADoADiAAIAFqIAJBDmoQ+RggACABEPoYCyACQRBqJAALuAEBA38jAEEQayIFJAAgAkFvIgYgAWtNBEAgABDqFyEHAn8gASAGQQF2QRBrSQRAIAUgAUEBdDYCCCAFIAEgAmo2AgwgBUEMaiAFQQhqEN0WKAIAELgaDAELIAZBAWsLQQFqIgYQ1RohAiAEBEAgAiAHIAQQkRYLIAMgBGsiAwRAIAIgBGogBCAHaiADEJEWCyABQQpHBEAgBxCiGwsgACACELkaIAAgBhC6GiAFQRBqJAAPCxDZGgALFAAgAQRAIAAgAhCVFiABEK8bGgsLfwEDfyMAQRBrIgUkAAJAIAIgABDHFyIEIAAQvhciA2tNBEAgAkUNASAAEOoXIgQgA2ogASACEJEWIAAgAiADaiICEKwaIAVBADoADyACIARqIAVBD2oQ+RgMAQsgACAEIAIgA2ogBGsgAyADQQAgAiABEOEaCyAFQRBqJAAgAAu9AQEDfyMAQRBrIgMkACADIAE6AA8CQAJAAkACQCAAEOgXBEAgABDpFyEBIAAoAgQiBCABQQFrIgJGDQEMAwtBCiEEQQohAiAALQALIgFBCkcNAQsgACACQQEgAiACEOUaIAQhASAAEOgXDQELIAAhAiAAIAFBAWoQ+hgMAQsgACgCACECIAAgBEEBahCRCyAEIQELIAEgAmoiACADQQ9qEPkYIANBADoADiAAQQFqIANBDmoQ+RggA0EQaiQACw8AIAAgASABELgbEOAaGgsTACAAEOoXIAAQvhcgASACEOsaC2IBAn8jAEEQayIEJAAgBCACOgAPQX8hAiABIANLBEACfyAAIANqIQIgBEEPaiEFQQAgASADayIBRQ0AGiACIAUsAAAQlRYgARD6FAsiAyAAa0F/IAMbIQILIARBEGokACACC0ABAX8gAUUEQEF/DwsgACABaiEBQX8hAgJAA0AgACABRg0BIAFBAWsiASwAAEE/ELQWRQ0ACyABIABrIQILIAILpgEBAn8jAEEQayIDJAAgAyACNgIIIANBfzYCDAJAIAAQvhciBEEASQ0AIAJBf0YNACADIAQ2AgAgAyADQQxqIAMQ3hkoAgA2AgQCQAJ/IAAQ6hchAEEAIANBBGogA0EIahDeGSgCACICRQ0AGiAAIAEgAhD4FAsiAQ0AQX8hASADKAIEIgAgAygCCCICSQ0AIAAgAkshAQsgA0EQaiQAIAEPCxDaGgALeAECfyMAQRBrIgQkACADQW9NBEACQCADQQpNBEAgACACEPoYIAAhAwwBCyAAIAMQuBpBAWoiBRDVGiIDELkaIAAgBRC6GiAAIAIQkQsLIAMgASACEJEWIARBADoADyACIANqIARBD2oQ+RggBEEQaiQADwsQ2RoACz0BAX8jAEEQayIBJAACQCAAQQEQ+hggAEEBQS0Q5hogAUEAOgAPIABBAWogAUEPahD5GCABQRBqJAAPCwALfwEDfyMAQRBrIgMkACACQe////8DTQRAAkAgAkEBTQRAIAAgAhD6GCAAIQQMAQsgACACEMkaQQFqIgUQyhoiBBC5GiAAIAUQuhogACACEJELCyAEIAEgAhCcFiADQQA2AgwgBCACQQJ0aiADQQxqEOUWIANBEGokAA8LENkaAAt8AQR/IwBBEGsiBCQAAkAgAiAAEKsaIgNNBEAgABDqFyIDIQUgAiIGBH8gBSABIAYQ2BoFIAULGiAEQQA2AgwgAyACQQJ0aiAEQQxqEOUWIAAgAhCsGgwBCyAAIAMgAiADayAAEL4XIgNBACADIAIgARDyGgsgBEEQaiQAC4wCAQN/IwBBEGsiCCQAIAJB7////wMiCSABQX9zak0EQCAAEOoXIQoCfyABIAlBAXZBEGtJBEAgCCABQQF0NgIIIAggASACajYCDCAIQQxqIAhBCGoQ3RYoAgAQyRoMAQsgCUEBawtBAWoiCRDKGiECIAQEQCACIAogBBCcFgsgBgRAIARBAnQgAmogByAGEJwWCyADIAVrIgMgBGsiBwRAIARBAnQiBCACaiAGQQJ0aiAEIApqIAVBAnRqIAcQnBYLIAFBAUcEQCAKEKIbCyAAIAIQuRogACAJELoaIAAgAyAGaiIBEJELIAhBADYCBCACIAFBAnRqIAhBBGoQ5RYgCEEQaiQADwsQ2RoAC8EBAQN/IwBBEGsiBSQAIAJB7////wMiBiABa00EQCAAEOoXIQcCfyABIAZBAXZBEGtJBEAgBSABQQF0NgIIIAUgASACajYCDCAFQQxqIAVBCGoQ3RYoAgAQyRoMAQsgBkEBawtBAWoiBhDKGiECIAQEQCACIAcgBBCcFgsgAyAEayIDBEAgBEECdCIEIAJqIAQgB2ogAxCcFgsgAUEBRwRAIAcQohsLIAAgAhC5GiAAIAYQuhogBUEQaiQADwsQ2RoAC4MBAQN/IwBBEGsiBSQAAkAgAiAAEKsaIgQgABC+FyIDa00EQCACRQ0BIAAQ6hciBCADQQJ0aiABIAIQnBYgACACIANqIgIQrBogBUEANgIMIAQgAkECdGogBUEMahDlFgwBCyAAIAQgAiADaiAEayADIANBACACIAEQ8hoLIAVBEGokAAvAAQEDfyMAQRBrIgMkACADIAE2AgwCQAJAAkACQCAAEOgXBEAgABDpFyEBIAAoAgQiBCABQQFrIgJGDQEMAwtBASEEQQEhAiAALQALIgFBAUcNAQsgACACQQEgAiACEPMaIAQhASAAEOgXDQELIAAhAiAAIAFBAWoQ+hgMAQsgACgCACECIAAgBEEBahCRCyAEIQELIAIgAUECdGoiACADQQxqEOUWIANBADYCCCAAQQRqIANBCGoQ5RYgA0EQaiQAC44BAQN/IwBBEGsiBCQAIAFB7////wNNBEACQCABQQFNBEAgACABEPoYIAAhBQwBCyAAIAEQyRpBAWoiAxDKGiIFELkaIAAgAxC6GiAAIAEQkQsLIAUhAyABIgAEfyADIAIgABDXGgUgAwsaIARBADYCDCAFIAFBAnRqIARBDGoQ5RYgBEEQaiQADwsQ2RoACzACAn8BfiMAQRBrIgEkACABQajMCRCJAyICIAAQ+BohAyACEN4aGiABQRBqJAAgAwujAQIBfwF+IwBBEGsiAiQAIAJBADYCDCABEOoXIQEgAkHE/QooAgA2AghBxP0KQQA2AgAgASACQQxqQQoQyxUhA0HE/QogAkEIahDxFQJAIAIoAghBxABHBEAgAigCDCABRg0BIAJBEGokACADDwsjAEEQayIBJAAgASAAQcPMCRD5GiABEPoaAAsjAEEQayIBJAAgASAAQa/MCRD5GiABEPoaAAtSAQN/IwBBEGsiBSQAIwBBEGsiAyQAIAAQ5xcgA0EQaiQAIAEQvhchAyACELgbIQQgACABEOoXIAMgAyAEahDuGiAAIAIgBBDnGhogBUEQaiQACyoBAX8jAEEQayIBJAAgASAAEOoXNgIAQezkCCgCAEG/zAkgARDCFRAoAAsFABAoAAsKAEHSzAkQvgIACyIBAX8jAEEQayIBJAAgASAAEP4aEP8aIQAgAUEQaiQAIAALIwAgAEEANgIMIAAgATYCBCAAIAE2AgAgACABQQFqNgIIIAALNAECfyMAQRBrIgEkACABQQhqIAAoAgQQkxgoAgAtAABFBEAgABCAGyECCyABQRBqJAAgAgsuAQF/AkAgACgCCCIALQAAIgFBAUcEfyABQQJxDQEgAEECOgAAQQEFQQALDwsACx4BAX8jAEEQayIBJAAgASAAEP4aEIIbIAFBEGokAAszAQF/IwBBEGsiASQAIAFBCGogACgCBBCTGCgCAEEBOgAAIAAoAghBAToAACABQRBqJAALAwAACw0AQYjVCigCABEOAAALBgBB4c0JCy0BAX8gAEGkzgk2AgAgAEEEaigCAEEMayIBQQhqELwZQX9MBEAgARCiGwsgAAsKACAAEIYbEKIbCw0AIAAQhhsaIAAQohsLCwAgACABQQAQihsLLQAgAkUEQCAAKAIEIAEoAgRGDwsgACABRgRAQQEPCyAAEM0UIAEQzRQQ/xRFC6cBAQF/IwBBQGoiAyQAAn9BASAAIAFBABCKGw0AGkEAIAFFDQAaQQAgAUG8zwlB7M8JEIwbIgFFDQAaIANBCGpBBHJBAEE0EK8bGiADQQE2AjggA0F/NgIUIAMgADYCECADIAE2AgggASADQQhqIAIoAgBBASABKAIAKAIcEQYAIAMoAiAiAEEBRgRAIAIgAygCGDYCAAsgAEEBRgshACADQUBrJAAgAAujAgEDfyMAQUBqIgMkACAAKAIAIgVBBGsoAgAhBCAFQQhrKAIAIQUgA0EANgIUIAMgATYCECADIAA2AgwgAyACNgIIQQAhASADQRhqQQBBJxCvGxogACAFaiEAAkAgBCACQQAQihsEQCADQQE2AjggBCADQQhqIAAgAEEBQQAgBCgCACgCFBENACAAQQAgAygCIEEBRhshAQwBCyAEIANBCGogAEEBQQAgBCgCACgCGBEIAAJAAkAgAygCLA4CAAECCyADKAIcQQAgAygCKEEBRhtBACADKAIkQQFGG0EAIAMoAjBBAUYbIQEMAQsgAygCIEEBRwRAIAMoAjANASADKAIkQQFHDQEgAygCKEEBRw0BCyADKAIYIQELIANBQGskACABC10BAX8gACgCECIDRQRAIABBATYCJCAAIAI2AhggACABNgIQDwsCQCABIANGBEAgACgCGEECRw0BIAAgAjYCGA8LIABBAToANiAAQQI2AhggACAAKAIkQQFqNgIkCwsaACAAIAEoAghBABCKGwRAIAEgAiADEI0bCwszACAAIAEoAghBABCKGwRAIAEgAiADEI0bDwsgACgCCCIAIAEgAiADIAAoAgAoAhwRBgALUgEB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DQA/AEEQdCAASQRAIAAQKkUNAQtBjNUKIAA2AgAgAQ8LQcT9CkEwNgIAQX8LRgAgAL1C////////////AINCgICAgICAgPj/AFgEQCAAIAAgAaUgAb1C////////////AINCgICAgICAgPj/AFYbDwsgAQucBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEOEVRQ0AIAMgBBCtGyEHIAJCMIinIghB//8BcSIGQf//AUYNACAHDQELIAVBEGogASACIAMgBBDqFSAFIAUpAxAiBCAFKQMYIgMgBCADEO0VIAUpAwghAiAFKQMAIQQMAQsgASACQv///////z+DIAatQjCGhCIKIAMgBEL///////8/gyAEQjCIp0H//wFxIgetQjCGhCIJEOEVQQBMBEAgASAKIAMgCRDhFQRAIAEhBAwCCyAFQfAAaiABIAJCAEIAEOoVIAUpA3ghAiAFKQNwIQQMAQsgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQ6hUgBSkDaCIKQjCIp0H4AGshBiAFKQNgCyEEIAdFBEAgBUHQAGogAyAJQgBCgICAgICAwLvAABDqFSAFKQNYIglCMIinQfgAayEHIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQhCyAKQv///////z+DQoCAgICAgMAAhCEKIAYgB0oEQANAAn4gCiALfSADIARWrX0iCUIAWQRAIAkgBCADfSIEhFAEQCAFQSBqIAEgAkIAQgAQ6hUgBSkDKCECIAUpAyAhBAwFCyAJQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiALfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQ6hUgBSkDOCECIAUpAzAhBAwBCyAJQv///////z9YBEADQCAEQj+IIQMgBkEBayEGIARCAYYhBCADIAlCAYaEIglCgICAgICAwABUDQALCyAIQYCAAnEhByAGQQBMBEAgBUFAayAEIAlC////////P4MgBkH4AGogB3KtQjCGhEIAQoCAgICAgMDDPxDqFSAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu4AgMCfwF+AnwCQAJ8IAC9IgNCIIinQf////8HcSIBQYDgv4QETwRAAkAgA0IAUw0AIAFBgIDAhARJDQAgAEQAAAAAAADgf6IPCyABQYCAwP8HTwRARAAAAAAAAPC/IACjDwsgAEQAAAAAAMyQwGVBAXMNAkQAAAAAAAAAACADQn9XDQEaDAILIAFB//+/5ANLDQEgAEQAAAAAAADwP6ALDwsgAEQAAAAAAAC4QqAiBL2nQYABaiIBQQR0QfAfcSICQZDWCWorAwAiBSAFIAAgBEQAAAAAAAC4wqChIAJBCHJBkNYJaisDAKEiAKIgACAAIAAgAER0XIcDgNhVP6JEAAT3iKuygz+gokSmoATXCGusP6CiRHXFgv+9v84/oKJE7zn6/kIu5j+goqAgAUGAfnFBgAJtEKwbC6gBAAJAIAFBgAhOBEAgAEQAAAAAAADgf6IhACABQf8PSARAIAFB/wdrIQEMAgsgAEQAAAAAAADgf6IhACABQf0XIAFB/RdIG0H+D2shAQwBCyABQYF4Sg0AIABEAAAAAAAAEACiIQAgAUGDcEoEQCABQf4HaiEBDAELIABEAAAAAAAAEACiIQAgAUGGaCABQYZoShtB/A9qIQELIAAgAUH/B2qtQjSGv6ILRAIBfwF+IAFC////////P4MhAwJ/IAFCMIinQf//AXEiAkH//wFHBEBBBCACDQEaQQJBAyAAIAOEUBsPCyAAIAOEUAsLggQBA38gAkGABE8EQCAAIAEgAhArGiAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIAJBAUgEQCAAIQIMAQsgAEEDcUUEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA08NASACQQNxDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC+kCAQF/AkAgACABRg0AIAEgAGsgAmtBACACQQF0a00EQCAAIAEgAhCuGxoPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIAAgAmpBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiED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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgMsAAAiBEHMAGsOKQATExMTExMTARMTExMTExMTExMTEwMTBAUGAgcTCBMTCQoLDA0ODxAREgsgABD3GyECDBULIAAQ6BshAgwUCwJAIABBARDDGyICQfAARwRAIAJB/wFxQcwARw0BIABBAhDDG0Ewa0EJSw0BCyAAEK8cIQIMFAsgABCwHCECDBMLAkACQAJAAkACQAJAAkAgAywAASIEQeEAaw4EARkZAgALIARBzgBGDQMgBEHTAEYNBCAEQe4ARg0CIARB9ABGDQUgBEH6AEcNGCAAIANBAmo2AgAgASAAEPYbIgI2AvgEIAJFDRcgAEGZ/gkgAUH4BGoQlxwhAgwYCyAAIANBAmo2AgAgASABQagFakGP/gkQwBspAgA3AxAgACABQRBqELEcIQIMFwsgACADQQJqNgIAIAEgAUGgBWpBkv4JEMAbKQIANwMYIAAgAUEYahCyHCECDBYLIAAgA0ECajYCACABIAFBmAVqQZL+CRDAGykCADcDICAAIAFBIGoQsRwhAgwVCyAAIANBAmo2AgAgASABQZAFakGU/gkQwBspAgA3AyggACABQShqELEcIQIMFAsgACADQQJqNgIAIAEgAUGIBWpBl/4JEMAbKQIANwMwIAAgAUEwahCxHCECDBMLIAAgA0ECajYCACABIAAQyRsiAjYC+AQgAkUNESAAQZn+CSABQfgEahCXHCECDBILAkACQAJAAkACQCADLAABIgRB7ABrDgQBAhYDAAsgBEH2AEYNAyAEQeMARw0VIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0UIAEgAxD2GyICNgKEBSACRQ0UIABBoANqQaP+CSABQfgEaiABQYQFahDEHCECDBULIAAgA0ECajYCACABIAAiBBD2GyIDNgKEBSADRQ0UIABBCGoiBRD2ASEGA0AgAEHFABDFG0UEQCABIAQQ9hsiAzYC+AQgA0UNFiAFIAFB+ARqENgbDAELCyABQfgEaiAAIAYQ2RsgAEGgA2ogAUGEBWogAUH4BGoQxRwhAgwUCyAAIANBAmo2AgAgASABQfAEakGu/gkQwBspAgA3AzggACABQThqELEcIQIMEwsgACADQQJqNgIAIAEgAUHoBGpBsP4JEMAbKQIANwNAIAAgAUFAaxCyHCECDBILIAAQsxwhAgwRCwJAAkACQAJAAkACQAJAIAMsAAEiBEHsAGsOCwEXAhcXFxcDBBcFAAsCQAJAAkAgBEHhAGsOBQAZARkCCAsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0XIAFBAToAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBgLIAAgA0ECajYCACABIAAiAxDJGyICNgL4BCACRQ0WIAEgAxD2GyICNgKEBSACRQ0WIABBoANqQbL+CSABQfgEaiABQYQFahDEHCECDBcLIAAgA0ECajYCACABIAFB4ARqQb/+CRDAGykCADcDSCAAIAFByABqELIcIQIMFgsgACADQQJqNgIAIAEgABD2GyICNgL4BCACRQ0UIAFBADoAhAUgACABQfgEaiABQb8FaiABQYQFahC0HCECDBULIAAQtRwhAgwUCyAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNEiABIAMQ9hsiAjYChAUgAkUNEiAAIAFB+ARqQcH+CSABQYQFahC2HCECDBMLIAAgA0ECajYCACABIAAiAxD2GyICNgL4BCACRQ0RIAEgAxD2GyICNgKEBSACRQ0RIABBoANqIAFB+ARqQcT+CSABQYQFahDMHCECDBILIAAgA0ECajYCACABIAFB2ARqQcb+CRDAGykCADcDUCAAIAFB0ABqELEcIQIMEQsgBEHWAEcNECAAIANBAmo2AgAgASABQdAEakHI/gkQwBspAgA3A1ggACABQdgAahCxHCECDBALAkACQAJAIAMsAAEiBEHvAGsOAwASAgELIAAgA0ECajYCACABIAFByARqQcv+CRDAGykCADcDYCAAIAFB4ABqELEcIQIMEQsgBEHPAEcNECAAIANBAmo2AgAgASABQcAEakHN/gkQwBspAgA3A2ggACABQegAahCxHCECDBALIAAgA0ECajYCACABIAFBuARqQdD+CRDAGykCADcDcCAAIAFB8ABqELEcIQIMDwsgAywAASIEQfQARwRAIARB5QBHDQ8gACADQQJqNgIAIAEgAUGwBGpB0/4JEMAbKQIANwN4IAAgAUH4AGoQsRwhAgwPCyAAIANBAmo2AgAgASABQagEakHW/gkQwBspAgA3A4ABIAAgAUGAAWoQsRwhAgwOCyADLAABIgRB7ABHBEAgBEH4AEcNDiAAIANBAmo2AgAgASAAIgMQ9hsiAjYC+AQgAkUNDSABIAMQ9hsiAjYChAUgAkUNDSAAQaADakEQEPwbIAFB+ARqKAIAIAFBhAVqKAIAEK0dIQIMDgsgACADQQJqNgIAIABBCGoiBBD2ASEFA0AgAEHFABDFG0UEQCABIAAQtxwiAzYC+AQgA0UNDyAEIAFB+ARqENgbDAELCyABQQA2AoQFIAFB+ARqIAAgBRDZGyAAQaADaiABQYQFaiABQfgEahDOHCECDA0LAkACQAJAAkAgAywAASIEQfMAaw4CAQMACyAEQdMARg0BIARB5QBHDQ8gACADQQJqNgIAIAEgAUGgBGpB2P4JEMAbKQIANwOIASAAIAFBiAFqELEcIQIMDwsgACADQQJqNgIAIAEgAUGYBGpB2/4JEMAbKQIANwOQASAAIAFBkAFqELEcIQIMDgsgACADQQJqNgIAIAEgAUGQBGpB3v4JEMAbKQIANwOYASAAIAFBmAFqELEcIQIMDQsgACADQQJqNgIAIAEgAUGIBGpB4v4JEMAbKQIANwOgASAAIAFBoAFqELEcIQIMDAsCQAJAAkACQAJAAkAgAywAASIEQekAaw4FARERAwUACyAEQckAaw4EARAQAxALIAAgA0ECajYCACABIAFBgARqQeT+CRDAGykCADcDqAEgACABQagBahCxHCECDA8LIAAgA0ECajYCACABIAFB+ANqQeb+CRDAGykCADcDsAEgACABQbABahCxHCECDA4LIAAgA0ECajYCACABIAFB8ANqQb/+CRDAGykCADcDuAEgACABQbgBahCxHCECDA0LIAAgA0ECajYCACABIAFB6ANqQen+CRDAGykCADcDwAEgACABQcABahCxHCECDAwLIAAgA0ECajYCACAAQd8AEMUbBEAgASABQeADakHs/gkQwBspAgA3A8gBIAAgAUHIAWoQshwhAgwMCyABIAAQ9hsiAjYC+AQgAkUNCiAAIAFB+ARqQez+CRC4HCECDAsLAkACQAJAAkACQAJAIAMsAAEiBEHhAGsOBwEQEBACEAMACyAEQfQAaw4FAw8PAAQPCyAAELkcIQIMDgsgACADQQJqNgIAIAEgAUHYA2pB7/4JEMAbKQIANwPQASAAIAFB0AFqELEcIQIMDQsgACAD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Amo2AgAgAEGDnAoQ3hshAgwKCyAAIAAoAgBBAmo2AgAgAEGOnAoQ3hshAgwJCwJAAkACQAJAAkACQCAAQQEQwxsiAUHhAGsOBwEODg4CDgMACyABQfQAaw4EAw0NBA0LIAAgACgCAEECajYCACAAQZmcChDeGyECDAwLIAAgACgCAEECajYCACAAQaicChDeGyECDAsLIAAgACgCAEECajYCACAAQe6bChDeGyECDAoLIAAgACgCAEECajYCACAAQbOcChDeGyECDAkLIAAgACgCAEECajYCACAAQb2cChDeGyECDAgLAkACQAJAIABBARDDGyIBQe8Aaw4EAAoKAQILIAAgACgCAEECajYCACAAQcqcChDeGyECDAkLIAAgACgCAEECajYCACAAQdWcChDeGyECDAgLIAFB0gBHDQcgACAAKAIAQQJqNgIAIABB35wKEN4bIQIMBwsCQAJAAkACQAJAAkAgAEEBEMMbIgFB7ABrDgkBAAwMAwwMBAUCCyAAIAAoAgBBAmo2AgAgAEHqnAoQ3hshAgwLCyAAIAAoAgBBAmo2AgAgAEH2nAoQ3hshAgwKCyABQcwARw0JIAAgACgCAEECajYCACAAQYCdChDeGyECDAkLIAAgACgCAEECajYCACAAQYudChDeGyECDAgLIAAgACgCAEECajYCACAAQfacChDeGyECDAcLIAAgACgCAEECajYCACAAQZadChDeGyECDAYLIABBARDDG0H1AEcNBSAAIAAoAgBBAmo2AgAgAEGhnQoQ3hshAgwFCwJAAkAgAEEBEMMbIgFBzQBHBEAgAUHTAEYNAiABQfMARg0BIAFB7QBHDQcgACAAKAIAQQJqNgIAIABBq50KEN4bIQIMBwsgACAAKAIAQQJqNgIAIABBtZ0KEN4bIQIMBgsgACAAKAIAQQJqNgIAIABBwJ0KEN4bIQIMBQsgACAAKAIAQQJqNgIAIABBy50KEN4bIQIMBAsgAEEBEMMbQfMARw0DIAAgACgCAEECajYCACAAQdedChDeGyECDAMLIABBARDDG0Ewa0EJSw0CIAAgACgCAEECajYCACADIAAQmhwiAjYCGCACRQ0BIAAgA0EYahCjHSECDAILIAAgACgCAEECajYCACAAQfiZChDeGyECDAELQQAhAgsgA0EgaiQAIAILJAAgAEEHQQFBAUEBEIAcIABBvPsJNgIAIAAgASkCADcCCCAACzACAX8BfiMAQRBrIgIkACACIAApAggiAzcDACACIAM3AwggASACEIIcIAJBEGokAAsoACAAQRdBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQaD8CTYCACAAC0MBAX8jAEEQayICJAAgACgCCCABELwbIAIgAkEIakGA/QkQwBspAgA3AwAgASACEIIcIAAoAgwgARC8GyACQRBqJAALFgAgACABKAIMIgEgASgCACgCGBECAAsuAQF/An9BACAAKAIAIgEgACgCBEYNABogACABQQFqNgIAIAEtAAALQRh0QRh1Cy8AIABBJEECQQJBAhCAHCAAQQA6ABAgAEEANgIMIAAgATYCCCAAQZD9CTYCACAAC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARClHCEDIAQQphwLIAJBEGokACADC0kBAX8jAEEQayIDJAAgAyACOgAPIAAgATYCACABLQAAIQEgAEEBOgAFIAAgAToABCAAKAIAIANBD2otAAA6AAAgA0EQaiQAIAALJAEBfyAALQAFIgJBAkcEQCACRQ8LIAAgASAAKAIAKAIAEQMACxoAIAAtAAUEQCAAKAIAIABBBGotAAA6AAALC0EBA38jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEEIAAoAgwgARCoHCEDIAQQphwLIAJBEGokACADCyQBAX8gAC0ABiICQQJHBEAgAkUPCyAAIAEgACgCACgCBBEDAAtBAQN/IwBBEGsiAiQAIAAtABBFBEAgAkEIaiAAQRBqQQEQpBwhBCAAKAIMIAEQqhwhAyAEEKYcCyACQRBqJAAgAwskAQF/IAAtAAciAkECRwRAIAJFDwsgACABIAAoAgAoAggRAwALSwECfyMAQRBrIgIkACAALQAQRQRAIAJBCGogAEEQakEBEKQcIQMgACgCDCIAIAEgACgCACgCDBEDACEAIAMQphwLIAJBEGokACAAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhARAgAgAxCmHAsgAkEQaiQAC0cBAn8jAEEQayICJAAgAC0AEEUEQCACQQhqIABBEGpBARCkHCEDIAAoAgwiACABIAAoAgAoAhQRAgAgAxCmHAsgAkEQaiQACxUAIAEgAGsiAQRAIAIgACABELAbCwvQAQECfyMAQTBrIgEkACABIAFBKGpBtI8KEMAbKQIANwMQAkAgACABQRBqEMEbBEAgABCGHBogAUEgaiAAQQAQxhsgAEHfABDFG0UNASAAIAFBIGoQwhwhAgwBCyABIAFBGGpBt48KEMAbKQIANwMIIAAgAUEIahDBG0UNACABQSBqIABBABDGGyABQSBqEMcbDQAgAEHwABDFG0UNACAAEIYcGiABQSBqIABBABDGGyAAQd8AEMUbRQ0AIAAgAUEgahDCHCECCyABQTBqJAAgAgusEQEGfyMAQZAEayIBJAACQCAAQeYAEMUbRQ0AIAECf0EBIABBABDDGyIEQcwARg0AGiAEQf8BcSIDQfIARwRAQQEgA0HsAEYNARogA0HSAEcNAgtBAAs6AI8EIAAgACgCAEEBajYCACABQYAEahDaGyEDIAEgAUH4A2pBqJAKEMAbKQIANwPwAQJAIAAgAUHwAWoQwRsEQCABQfADakGP/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHoA2pBq5AKEMAbKQIANwPoASAAIAFB6AFqEMEbBEAgAUHwA2pBkv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFB4ANqQa6QChDAGykCADcD4AEgACABQeABahDBGwRAIAFB8ANqQZT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgDakGxkAoQwBspAgA3A9gBIAAgAUHYAWoQwRsEQCABQfADakGX/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUHQA2pBtJAKEMAbKQIANwPQASAAIAFB0AFqEMEbBEAgAUHwA2pBrv4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFByANqQbeQChDAGykCADcDyAEgACABQcgBahDBGwRAIAFB8ANqQcH+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcADakG6kAoQwBspAgA3A8ABIAAgAUHAAWoQwRsEQCABQfADakHG/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUG4A2pBvZAKEMAbKQIANwO4ASAAIAFBuAFqEMEbBEAgAUHwA2pByP4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBsANqQcCQChDAGykCADcDsAEgACABQbABahDBGwRAIAFB8ANqQcv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQagDakHDkAoQwBspAgA3A6gBIAAgAUGoAWoQwRsEQCABQfADakHN/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGgA2pBxpAKEMAbKQIANwOgASAAIAFBoAFqEMEbBEAgAUHwA2pB0P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBmANqQcmQChDAGykCADcDmAEgACABQZgBahDBGwRAIAFB8ANqQdP+CRDAGxogASABKQPwAzcDgAQMAQsgASABQZADakHMkAoQwBspAgA3A5ABIAAgAUGQAWoQwRsEQCABQfADakHW/gkQwBsaIAEgASkD8AM3A4AEDAELIAEgAUGIA2pBz5AKEMAbKQIANwOIASAAIAFBiAFqEMEbBEAgAUHwA2pB2P4JEMAbGiABIAEpA/ADNwOABAwBCyABIAFBgANqQdKQChDAGykCADcDgAEgACABQYABahDBGwRAIAFB8ANqQdv+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfgCakHVkAoQwBspAgA3A3ggACABQfgAahDBGwRAIAFB8ANqQd7+CRDAGxogASABKQPwAzcDgAQMAQsgASABQfACakHYkAoQwBspAgA3A3AgACABQfAAahDBGwRAIAFB8ANqQeL+CRDAGxogASABKQPwAzcDgAQMAQsgASABQegCakHbkAoQwBspAgA3A2ggACABQegAahDBGwRAIAFB8ANqQeT+CRDAGxogASABKQPwAzcDgAQMAQsgASABQeACakHekAoQwBspAgA3A2AgACABQeAAahDBGwRAIAFB8ANqQeb+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdgCakHhkAoQwBspAgA3A1ggACABQdgAahDBGwRAIAFB8ANqQb/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQdACakHkkAoQwBspAgA3A1AgACABQdAAahDBGwRAIAFB8ANqQen+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcgCakHnkAoQwBspAgA3A0ggACABQcgAahDBGwRAIAFB8ANqQe/+CRDAGxogASABKQPwAzcDgAQMAQsgASABQcACakHqkAoQwBspAgA3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ahDHGw0AIABBxQAQxRtFDQAgAEGgA2ogASACQQhqEN8cIQMLIAJBEGokACADCzkAIABBoANqQQwQ/BshACABKAIAQQBHIQEgAEHBAEEBQQFBARCAHCAAIAE6AAggAEHwgQo2AgAgAAuWAQEFfyMAQRBrIgIkAAJ/QQAgABDEG0EJSQ0AGiACQQhqIAAoAgAiASABQQhqEJAZIgMoAgAhASADKAIEIQQCQANAIAEgBEYNASABLAAAIQUgAUEBaiEBIAUQoBcNAAtBAAwBCyAAIAAoAgBBCGo2AgBBACAAQcUAEMUbRQ0AGiAAQaADaiADEOQcCyEBIAJBEGokACABC5YBAQV/IwBBEGsiAiQAAn9BACAAEMQbQRFJDQAaIAJBCGogACgCACIBIAFBEGoQkBkiAygCACEBIAMoAgQhBAJAA0AgASAERg0BIAEsAAAhBSABQQFqIQEgBRCgFw0AC0EADAELIAAgACgCAEEQajYCAEEAIABBxQAQxRtFDQAaIABBoANqIAMQ5hwLIQEgAkEQaiQAIAELlgEBBX8jAEEQayICJAACf0EAIAAQxBtBIUkNABogAkEIaiAAKAIAIgEgAUEgahCQGSIDKAIAIQEgAygCBCEEAkADQCABIARGDQEgASwAACEFIAFBAWohASAFEKAXDQALQQAMAQsgACAAKAIAQSBqNgIAQQAgAEHFABDFG0UNABogAEGgA2ogAxDoHAshASACQRBqJAAgAQsNACAAQaADaiABEIcdCxwBAX8gACgCACECIAAgASgCADYCACABIAI2AgALUAEBfyMAQRBrIgQkACAAQRgQ/BshACAEQQhqIAEQwBshASADKAIAIQMgAigCACECIAQgASkCADcDACAAIAQgAiADEJcdIQIgBEEQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQmR0hAiADQRBqJAAgAgsPACAAQaADaiABIAIQmx0LgQEBAn8jAEEQayICJAACQAJAIABBABDDGyIBQcQARwRAIAFB/wFxQdQARw0BIAIgABDoGyIBNgIMIAFFDQIgAEGUAWogAkEMahDYGwwCCyACIAAQ4RsiATYCCCABRQ0BIABBlAFqIAJBCGoQ2BsMAQsgABDsGyEBCyACQRBqJAAg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IwBBEGsiAiQAIAIgATYCDCAAKAIAIgAgAUECdGpBjANqIgEgASgCACIBQQFqNgIAIAIgATYCCCACIABBoANqQRAQ/BsgAkEMaigCACACQQhqKAIAEPIcIgE2AgQgAEHMAmoQkxwoAgAgAkEEahDYGyACQRBqJAAgAQttAgF/A34jAEEwayIEJAAgAEEgEPwbIQAgBCABKQIAIgU3AyggBCACKQIAIgY3AyAgBCADKQIAIgc3AxggBCAFNwMQIAQgBjcDCCAEIAc3AwAgACAEQRBqIARBCGogBBCBHSEDIARBMGokACADC2wCAX8BfiMAQTBrIgIkACACIAJBKGpBuIcKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAggiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAJBMGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEcQQBBAUEBEIAcIAAgATYCCCAAQeCICjYCACAAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPwcIQIgA0EQaiQAIAILMQAgAEEMEPwbIQAgASgCACEBIABBH0EAQQFBARCAHCAAIAE2AgggAEHwiwo2AgAgAAsoACAAQRtBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQdyHCjYCACAAC3oBAX8jAEEgayICJAACQCACAn8CQAJAAkAgACgCCA4DAAECBAsgAkEYakHMiAoQwBsMAgsgAkEQakHPiAoQwBsMAQsgAkEIakHSiAoQwBsLKQIANwMAIAEgAhCCHAsgACgCDCIABEAgASAAQQFrrRD0HAsgAkEgaiQAC3gBAn8jAEEwayICJAACQCABUARAIABBMBC9GwwBCyACQRBqEPUcIQMDQCABUEUEQCADQQFrIgMgASABQgqAIgFCCn59p0EwcjoAAAwBCwsgAiACQQhqIAMgAkEQahD1HBCQGSkCADcDACAAIAIQ9hwLIAJBMGokAAsHACAAQRVqCzACAX8BfiMAQRBrIgIkACACIAEpAgAiAzcDACACIAM3AwggACACEIIcIAJBEGokAAstACMAQRBrIgAkACAAIABBCGpBzIkKEMAbKQIANwMAIAEgABCCHCAAQRBqJAALDAAgACgCCCABELwbCygAIABBHUEAQQFBARCAHCAAIAI2AgwgACABNgIIIABB4IkKNgIAIAALUQECfyMAQRBrIgIkACAAKAIMIgMgASADKAIAKAIQEQIAIAAoAgwgARClHEUEQCACIAJBCGpB0IoKEMAbKQIANwMAIAEgAhCCHAsgAkEQaiQACyAAIAAoAgggARC8GyAAKAIMIgAgASAAKAIAKAIUEQIACysAIABBHkEAQQFBARCAHCAAIAE2AgggAEHcigo2AgAgACACKQIANwIMIAALVwEBfyMAQSBrIgIkACACIAJBGGpBzIsKEMAbKQIANwMIIAEgAkEIahCCHCAAQQxqIAEQ/hwgAiACQRBqQdaLChDAGykCADcDACABIAIQghwgAkEgaiQAC40BAQV/IwBBEGsiAiQAQQEhAwNAIAAoAgQgBEcEQCABKAIEIQUgA0EBcUUEQCACIAJBCGpB4osKEMAbKQIANwMAIAEgAhCCHAsgASgCBCEGIAAoAgAgBEECdGooAgAgARC8GyAEQQFqIQQgBiABKAIERgR/IAEgBRCRCyADBUEACyEDDAELCyACQRBqJAALQwEBfyMAQRBrIgIkACAAKAIIIgAgASAAKAIAKAIQEQIAIAIgAkEIakHcjAoQwBspAgA3AwAgASACEIIcIAJBEGokAAsWACAAKAIIIgAgASAAKAIAKAIUEQIACzgAIABBLUEBQQFBARCAHCAAQeiMCjYCACAAIAEpAgA3AgggACACKQIANwIQIAAgAykCADcCGCAAC3MCAX8BfiMAQTBrIgIkACACIAJBKGpBzI0KEMAbKQIANwMQIAEgAkEQahCCHCACIAApAhgiAzcDCCACIAM3AyAgASACQQhqEIIcIAIgAkEYakHBhwoQwBspAgA3AwAgASACEIIcIAAgARCDHSACQTBqJAALqAEBAn8jAEFAaiICJAAgAEEIaiIDENocRQRAIAIgAkE4akHi/gkQwBspAgA3AxggASACQRhqEIIcIAMgARD+HCACIAJBMGpB1v4JEMAbKQIANwMQIAEgAkEQahCCHAsgAiACQShqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEQaiABEP4cIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtkAQF/IwBBIGsiAiQAIAIgAkEYakG8jgoQwBspAgA3AwggASACQQhqEIIcIAAoAggiAC0ABEEtRgRAIAAgARCDHQsgAiACQRBqQb+OChDAGykCADcDACABIAIQghwgAkEgaiQACywAIABBxABBAUEBQQEQgBwgACABNgIIIABB0I4KNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYr+CRDAGykCADcDCCABIAJBCGoQghwgAiAAKQIMIgM3AwAgAiADNwMYIAEgAhCCHCACQTBqJAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQTtBAUEBQQEQgBwgAEHEjwo2AgAgACACKQIANwIIIAJBEGokACAAC04CAX8BfiMAQSBrIgIkACACIAJBGGpBtI8KEMAbKQIANwMIIAEgAkEIahCCHCACIAApAggiAzcDACACIAM3AxAgASACEIIcIAJBIGokAAtYAgF/AX4jAEEQayIFJAAgAEEcEPwbIQAgAS0AACEBIAUgAikCACIGNwMIIAQoAgAhBCADKAIAIQMgBSAGNwMAIAAgASAFIAMgBBCKHSEDIAVBEGokACADCz8BAX4gAEE+QQFBAUEBEIAcIAAgBDYCDCAAIAM2AgggAEGQkQo2AgAgAikCACEFIAAgAToAGCAAIAU3AhAgAAvRAgICfwF+IwBB8ABrIgIkACACIAA2AmwgAiABNgJoIAFBKBC9GwJAIAAtABgEQCAAKAIMIgMEQCADIAEQvBsgAUEgEL0bIAIgACkCECIENwMwIAIgBDcDYCABIAJBMGoQghwgAUEgEL0bCyACIAJB2ABqQeyRChDAGykCADcDKCABIAJBKGoQghwgAiAAKQIQIgQ3AyAgAiAENwNQIAEgAkEgahCCHCABQSAQvRsgAkHoAGoQjB0MAQsgAkHoAGoQjB0gAUEgEL0bIAIgACkCECIENwMYIAIgBDcDSCABIAJBGGoQghwgAiACQUBrQfGRChDAGykCADcDECABIAJBEGoQghwgACgCDEUNACABQSAQvRsgAiAAKQIQIgQ3AwggAiAENwM4IAEgAkEIahCCHCABQSAQvRsgACgCDCABELwbCyABQSkQvRsgAkHwAGokAAtBAQJ/IwBBEGsiASQAIAAoAgQhAiAAKAIAQSgQvRsgASACKAIIEI0dIAAoAgAQvBsgACgCAEEpEL0bIAFBEGokAAshACAAQSJBAUEBQQEQgBwgACABNgIIIABBgJIKNgIAIAAL3wEBBX8jAEFAaiICJAAgAkEwaiABQQxqEI8dIQUgAkEgaiABQRBqEI8dIQYgASgCBCEEIAAoAgggARC8GwJAAkACQAJAIAEoAhAiA0EBag4CAgABCyABIAQQkQsMAgsgA0EBIANBAUsbIQRBASEDA0AgAyAERg0CIAIgAkEQakHiiwoQwBspAgA3AwAgASACEIIcIAEgAzYCDCAAKAIIIAEQvBsgA0EBaiEDDAALAAsgAiACQRhqQdyMChDAGykCADcDCCABIAJBCGoQghwLIAYQ3BwgBRDcHCACQUBrJAALSQEBfyMAQRBrIgIkACACQX82AgwgACABNgIAIAEoAgAhASAAQQE6AAggACABNgIEIAAoAgAgAkEMaigCADYCACACQRBqJAAgAAtPAgF/AX4jAEEQayIEJAAgAEEYEPwbIQAgASgCACEBIAQgAikCACIFNwMIIAMoAgAhAyAEIAU3AwAgACABIAQgAxCRHSEDIARBEGokACADCzgBAX4gAEEvQQFBAUEBEIAcIAAgATYCCCAAQfSSCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC7ECAgJ/AX4jAEGAAWsiAiQAIABBDGoiAyACQfgAakHW/gkQwBsQkx0EQCACIAJB8ABqQeSBChDAGykCADcDOCABIAJBOGoQghwLIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCAAKAIIIAEQvBsgAiACQeAAakHUkwoQwBspAgA3AyggASACQShqEIIcIAIgACkCDCIENwMgIAIgBDcDWCABIAJBIGoQghwgAiACQdAAakHXkwoQwBspAgA3AxggASACQRhqEIIcIAAoAhQgARC8GyACIAJByABqQYr+CRDAGykCADcDECABIAJBEGoQghwgAyACQfgAakHW/gkQwBsQkx0EQCACIAJBQGtBiv4JEMAbKQIANwMIIAEgAkEIahCCHAsgAkGAAWokAAslACAAEMQbIAEQxBtGBH8gACgCACAAKAIEIAEoAgAQ7hsFQQALC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACADIAEpAgAiBDcDCCACKAIAIQIgAyAENwMAIAAgAyACEJUdIQIgA0EQaiQAIAILMQEBfiAAQTpBAUEBQQEQgBwgAEHkkwo2AgAgASkCACEDIAAgAjYCECAAIAM3AgggAAt2AgF/AX4jAEEwayICJAAgAiAAKQIIIgM3AxAgAiADNwMoIAEgAkEQahCCHCACIAJBIGpB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIQIAEQvBsgAiACQRhqQYr+CRDAGykCADcDACABIAIQghwgAkEwaiQACzgBAX4gAEE1QQFBAUEBEIAcIABBzJQKNgIAIAEpAgAhBCAAIAM2AhQgACACNgIQIAAgBDcCCCAAC7IBAgJ/AX4jAEFAaiICJAAgAiAAKQIIIgQ3AxggAiAENwM4IAEgAkEYahCCHCACIAJBMGpB4v4JEMAbKQIANwMQIAEgAkEQahCCHCAAKAIQIgMgASADKAIAKAIQEQIAIAIgAkEoakGolQoQwBspAgA3AwggASACQQhqEIIcIAAoAhQiACABIAAoAgAoAhARAgAgAiACQSBqQYr+CRDAGykCADcDACABIAIQghwgAkFAayQACysAIABBN0EBQQFBARCAHCAAIAE2AgggAEG0lQo2AgAgACACKQIANwIMIAALYQEBfyMAQSBrIgIkACAAKAIIIAEQvBsgAiACQRhqQeSBChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBIGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgASgCACEBIAMgAikCACIENwMAIAMgBDcDCCAAIAEgAxCcHSECIANBEGokACACCysAIABBPEEBQQFBARCAHCAAIAE2AgggAEGclgo2AgAgACACKQIANwIMIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQYCXChDAGykCADcDCCABIAJBCGoQghwgAEEMaiABEP4cIAIgAkEYakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsvACAAQTlBAUEBQQEQgBwgACADOgANIAAgAjoADCAAIAE2AgggAEGMlwo2AgAgAAuFAQEBfyMAQTBrIgIkACAALQAMBEAgAiACQShqQYD9CRDAGykCADcDECABIAJBEGoQghwLIAIgAkEgakHslwoQwBspAgA3AwggASACQQhqEIIcIAAtAA0EQCACIAJBGGpB85cKEMAbKQIANwMAIAEgAhCCHAsgACgCCCABELwbIAJBMGokAAtYAQJ/IwBBEGsiAiQAIAAhASACAn8gAEEAEMMbQTBrQQlNBEAgARDIHAwBCyABEMccCyIBNgIMIAEEfyAAQaADaiACQQxqEKQdBUEACyEAIAJBEGokACAACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACEJwcIQAgAkEQaiQAIAALKAAgAEEWQQFBAUEBEIAcIAAgAjYCDCAAIAE2AgggAEGomAo2AgAgAAs1ACAAQaADakEMEPwbIQAgASgCACEBIABBBEEBQQFBARCAHCAAIAE2AgggAEHsnQo2AgAgAAsxACAAQQwQ/BshACABKAIAIQEgAEErQQFBAUEBEIAcIAAgATYCCCAAQZyZCjYCACAAC0MBAX8jAEEQayICJAAgAiACQQhqQbD+CRDAGykCADcDACABIAIQghwgACgCCCIAIAEgACgCACgCEBECACACQRBqJAALMQAgAEEMEPwbIQAgASgCACEBIABBE0EBQQFBARCAHCAAIAE2AgggAEHsngo2AgAgAAs5AQF/IwBBEGsiAiQAIAIgAkEIakHYngoQwBspAgA3AwAgASACEIIcIAAoAgggARC8GyACQRBqJAALOQEBfyMAQRBrIgIkACACIAJBCGpB0J8KEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQACzkBAX8jAEEQayICJAAgAiACQQhqQYD9CRDAGykCADcDACABIAIQghwgACgCCCABELwbIAJBEGokAAsWACAAIAEoAggiASABKAIAKAIYEQIACzgBAX4gAEEzQQFBAUEBEIAcIAAgATYCCCAAQdSgCjYCACACKQIAIQQgACADNgIUIAAgBDcCDCAAC0QCAX8BfiMAQRBrIgIkACAAKAIIIAEQvBsgAiAAKQIMIgM3AwAgAiADNwMIIAEgAhCCHCAAKAIUIAEQvBsgAkEQaiQACygAIABBMEEBQQFBARCAHCAAIAI2AgwgACABNgIIIABBvKEKNgIAIAALfwEBfyMAQTBrIgIkACACIAJBKGpB5IEKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIIIAEQvBsgAiACQSBqQaSiChDAGykCADcDCCABIAJBCGoQghwgACgCDCABELwbIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAswACAAQckAQQFBAUEBEIAcIAAgAzoAECAAIAI2AgwgACABNgIIIABBtKIKNgIAIAALjAEBAn8jAEEQayICJAACQCAALQAQBEAgAUHbABC9GyAAKAIIIAEQvBsgAUHdABC9GwwBCyABQS4QvRsgACgCCCABELwbCyAAKAIMIgMtAARByQBrQf8BcUECTwR/IAIgAkEIakGUowoQwBspAgA3AwAgASACEIIcIAAoAgwFIAMLIAEQvBsgAkEQaiQACzAAIABBygBBAUEBQQEQgBwgACADNgIQIAAgAjYCDCAAIAE2AgggAEGgowo2AgAgAAuWAQECfyMAQSBrIgIkACABQdsAEL0bIAAoAgggARC8GyACIAJBGGpBhKQKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIAEQvBsgAUHdABC9GyAAKAIQIgMtAARByQBrQf8BcUECTwR/IAIgAkEQakGUowoQwBspAgA3AwAgASACEIIcIAAoAhAFIAMLIAEQvBsgAkEgaiQACysAIABBPUEBQQFBARCAHCAAIAE2AgggAEGUpAo2AgAgACACKQIANwIMIAALLwEBfyAAKAIIIgIEQCACIAEQvBsLIAFB+wAQvRsgAEEMaiABEP4cIAFB/QAQvRsLKwAgAEExQQFBAUEBEIAcIAAgATYCCCAAQYClCjYCACAAIAIpAgA3AgwgAAtwAQF/IwBBIGsiBiQAIABBIBD8GyEAIAYgASkCADcDGCACKAIAIQIgBiADKQIANwMQIAQtAAAhBCAFLQAAIQUgBiAGKQMYNwMIIAYgBikDEDcDACAAIAZBCGogAiAGIAQgBRC3HSEFIAZBIGokACAFC00BAX4gAEE4QQFBAUEBEIAcIABB9KUKNgIAIAEpAgAhBiAAIAI2AhAgACAGNwIIIAMpAgAhBiAAIAU6AB0gACAEOgAcIAAgBjcCFCAAC7UCAQJ/IwBB8ABrIgIkACAALQAcBEAgAiACQegAakHQpgoQwBspAgA3AzAgASACQTBqEIIcCyACIAJB4ABqQdymChDAGykCADcDKCABIAJBKGoQghwgAC0AHQRAIAIgAkHYAGpBvI4KEMAbKQIANwMgIAEgAkEgahCCHAsgAUEgEL0bIABBCGoiAxDaHEUEQCACIAJB0ABqQeSBChDAGykCADcDGCABIAJBGGoQghwgAyABEP4cIAIgAkHIAGpBiv4JEMAbKQIANwMQIAEgAkEQahCCHAsgACgCECABELwbIABBFGoiABDaHEUEQCACIAJBQGtB5IEKEMAbKQIANwMIIAEgAkEIahCCHCAAIAEQ/hwgAiACQThqQYr+CRDAGykCADcDACABIAIQghwLIAJB8ABqJAALOwEBfiAAQTRBAUEBQQEQgBwgAEHopgo2AgAgASkCACEEIAAgAjYCECAAIAQ3AgggACADKQIANwIUIAALVwIBfwF+IwBBIGsiAiQAIAIgACkCCCIDNwMIIAIgAzcDGCABIAJBCGoQghwgACgCECABELwbIAIgACkCFCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACy8AIABBMkEBQQFBARCAHCAAIAM2AhAgACACNgIMIAAgATYCCCAAQdSnCjYCACAAC6cBAQF/IwBBQGoiAiQAIAIgAkE4akHkgQoQwBspAgA3AxggASACQRhqEIIcIAAoAgggARC8GyACIAJBMGpBuKgKEMAbKQIANwMQIAEgAkEQahCCHCAAKAIMIAEQvBsgAiACQShqQb6oChDAGykCADcDCCABIAJBCGoQghwgACgCECABELwbIAIgAkEgakGK/gkQwBspAgA3AwAgASACEIIcIAJBQGskAAtfAQF/IwBBMGsiAiQAIAIgAkEoakG0qQoQwBspAgA3AwggASACQQhqEIIcIAJBGGogACgCCBCNHSABEI4dIAIgAkEQakGK/gkQwBspAgA3AwAgASACEIIcIAJBMGokAAsMACAAQQhqIAEQ/hwLOQEBfyMAQRBrIgIkACACIAJBCGpBlKsKEMAbKQIANwMAIAEgAhCCHCAAKAIIIAEQvBsgAkEQaiQAC1cBAX8jAEEgayICJAAgAiACQRhqQYSsChDAGykCADcDCCABIAJBCGoQ9hwgACgCCCABELwbIAIgAkEQakGK/gkQwBspAgA3AwAgASACEPYcIAJBIGokAAsxACAAQQwQ/BshACABKAIAIQEgAEEoQQFBAUEBEIAcIAAgATYCCCAAQZisCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBqa0KEMAbDAMLIAJBIGpB8K0KEMAbDAILIAJBGGpBoq4KEMAbDAELIAJBEGpB1K4KEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRB+MoKaigCABDAGxoLLwAgAEEqQQFBAUEBEIAcIAAgAzYCECAAIAI6AAwgACABNgIIIABB1K8KNgIAIAALYgEBfyMAQSBrIgIkACAALQAMBEAgAiACQRhqQbD+CRDAGykCADcDCCABIAJBCGoQghwLIAJBEGogACgCCCIAIAAoAgAoAhgRAgAgAiACKQMQNwMAIAEgAhCCHCACQSBqJAALRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQxx0hAiADQRBqJAAgAgs0ACAAQQggAS0ABSABLQAGIAEtAAcQgBwgACABNgIIIABBwLAKNgIAIAAgAikCADcCDCAAC4ABAgJ/AX4jAEEwayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAJBKGpBoLEKEMAbKQIANwMQIAEgAkEQahCCHCACIAApAgwiBDcDCCACIAQ3AyAgASACQQhqEIIcIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAJBMGokAAtUAgF/AX4jAEEQayICJAAgAEEQEPwbIQAgAiABKQIAIgM3AwAgAiADNwMIIABBLkEBQQFBARCAHCAAQbSxCjYCACAAIAIpAgA3AgggAkEQaiQAIAALHAAgAUHbABC9GyAAQQhqIAEQ/hwgAUHdABC9GwsoACAAQRhBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQbiyCjYCACAAC54BAQF/IwBBQGoiAiQAAkAgAgJ/AkACQAJAAkACQAJAIAAoAggOBgABAgMEBQcLIAJBOGpBiK0KEMAbDAULIAJBMGpBl60KEMAbDAQLIAJBKGpBiLQKEMAbDAMLIAJBIGpBlLQKEMAbDAILIAJBGGpBobQKEMAbDAELIAJBEGpBrrQKEMAbCykCADcDCCABIAJBCGoQghwLIAJBQGskAAsYACAAIAEoAghBAnRBkMsKaigCABDAGxoLIQEBfyAAIABBHGo2AgggACAAQQxqIgE2AgQgACABNgIACz0CAX8BfiMAQRBrIgIkACAAQRAQ/BshACACIAEpAgAiAzcDACACIAM3AwggACACENEdIQAgAkEQaiQAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQSNBAUEBQQEQgBwgAEHQtQo2AgAgACACKQIANwIIIAJBEGokACAAC4MBAQF+IABBIEEBQQFBARCAHCAAQeS0CjYCACABKQIAIQIgAEECOgAHIAAgAjcCCCAAQYIEOwAFIABBAUECIABBCGoiASgCACABENIdENMdGzoABiABKAIAIAEQ0h0Q1B0EQCAAQQE6AAcLIAEoAgAgARDSHRDVHQRAIABBAToABQsgAAsQACAAKAIAIAAoAgRBAnRqCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAGQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAHQQFGDQELCyACCywBAn8DQCAAIAFGIgJFBEAgACgCACEDIABBBGohACADLQAFQQFGDQELCyACCy8BAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBH8gACACENgdIAEQpRwFQQALCyIAIAEoAhBBf0YEQCAAKAIMIQAgAUEANgIMIAEgADYCEAsLEAAgACgCACABQQJ0aigCAAsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKgcBUEACwsvAQF/IAAgARDXHSABKAIMIgIgAEEIaiIAKAIESQR/IAAgAhDYHSABEKocBUEACws5AQJ/IAAgARDXHSABKAIMIgMgAEEIaiICKAIESQR/IAIgAxDYHSIAIAEgACgCACgCDBEDAAUgAAsLNgEBfyAAIAEQ1x0gASgCDCICIABBCGoiACgCBEkEQCAAIAIQ2B0iACABIAAoAgAoAhARAgALCzYBAX8gACABENcdIAEoAgwiAiAAQQhqIgAoAgRJBEAgACACENgdIgAgASAAKAIAKAIUEQIACwuAAQEBfyMAQTBrIgIkACACIAJBKGpB4v4JEMAbKQIANwMQIAEgAkEQahCCHCAAQQhqIAEQ/hwgARDfHUE+RgRAIAIgAkEgakHQigoQwBspAgA3AwggASACQQhqEIIcCyACIAJBGGpB1v4JEMAbKQIANwMAIAEgAhCCHCACQTBqJAALKAEBfwJ/QQAgACgCBCIBRQ0AGiABIAAoAgBqQQFrLQAAC0EYdEEYdQsoACAAQSVBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQby2CjYCACAACxYAIAAoAgggARC8GyAAKAIMIAEQvBsLMQAgAEEMEPwbIQAgASgCACEBIABBJ0EBQQFBARCAHCAAIAE2AgggAEG0two2AgAgAAs5AQF/IwBBEGsiAiQAIAIgAkEIakGcuAoQwBspAgA3AwAgASACEIIcIAAoAgggARC8GyACQRBqJAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQSFBAUEBQQEQgBwgAEGsuAo2AgAgACACKQIANwIIIAJBEGokACAAC0EBAX8jAEEQayICJAAgAiACQQhqQYS6ChDAGykCADcDACABIAIQghwgAEEIaiABEP4cIAFB3QAQvRsgAkEQaiQAC00BAX4gAEESQQBBAUEAEIAcIAAgAjYCDCAAIAE2AgggAEGcugo2AgAgAykCACEHIAAgBjoAICAAIAU2AhwgACAENgIYIAAgBzcCECAAC2EBAn8jAEEQayICJAACQCAAKAIIIgNFDQAgAyABIAMoAgAoAhARAgAgACgCCCABEKUcDQAgAiACQQhqQdCKChDAGykCADcDACABIAIQghwLIAAoAgwgARC8GyACQRBqJAAL1wIBAn8jAEHwAGsiAiQAIAIgAkHoAGpB5IEKEMAbKQIANwMwIAEgAkEwahCCHCAAQRBqIAEQ/hwgAiACQeAAakGK/gkQwBspAgA3AyggASACQShqEIIcIAAoAggiAwRAIAMgASADKAIAKAIUEQIACwJ/IAAoAhwiA0EBcQRAIAIgAkHYAGpBhLsKEMAbKQIANwMgIAEgAkEgahCCHCAAKAIcIQMLIANBAnELBH8gAiACQdAAakGLuwoQwBspAgA3AxggASACQRhqEIIcIAAoAhwFIAMLQQRxBEAgAiACQcgAakGVuwoQwBspAgA3AxAgASACQRBqEIIcCwJAIAICfwJAAkAgAC0AIEEBaw4CAAEDCyACQUBrQZ+7ChDAGwwBCyACQThqQaK7ChDAGwspAgA3AwggASACQQhqEIIcCyAAKAIYIgAEQCAAIAEQvBsLIAJB8ABqJAALKwAgAEEBQQFBAUEBEIAcIAAgATYCCCAAQbC7CjYCACAAIAIpAgA3AgwgAAt2AgF/AX4jAEEwayICJAAgACgCCCABELwbIAIgAkEoakHXkwoQwBspAgA3AxAgASACQRBqEIIcIAIgACkCDCIDNwMIIAIgAzcDICABIAJBCGoQghwgAiACQRhqQYr+CRDAGykCADcDACABIAIQghwgAkEwaiQACxoAIABBoANqQRAQ/BsgASgCACACKAIAEIUeCzAAIABBDBD8GyIAQQsgASgCACIBLQAFQQFBARCAHCAAIAE2AgggAEGoyAo2AgAgAAtDAQF/IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIANBCGogAhDAGykCADcDACAAIAEgAxCYHiECIANBEGokACACCzEAIABBDBD8GyEAIAEoAgAhASAAQRBBAUEBQQEQgBwgACABNgIIIABBmL4KNgIAIAALVAIBfwF+IwBBEGsiAiQAIABBEBD8GyEAIAIgASkCACIDNwMAIAIgAzcDCCAAQRFBAUEBQQEQgBwgAEGQvwo2AgAgACACKQIANwIIIAJBEGokACAAC2ECAX8BfiMAQRBrIgYkACAAQSAQ/BshACABKAIAIQEgBiACKQIAIgc3AwggBSgCACEFIAQtAAAhBCADKAIAIQMgBiAHNwMAIAAgASAGIAMgBCAFEPMdIQMgBkEQaiQAIAMLVwEBfyMAQSBrIgIkACACIAJBGGpB/L4KEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIIAEQvBsgAiACQRBqQYr+CRDAGykCADcDACABIAIQghwgAkEgaiQAC0ABAX8jAEEQayICJAAgAiACQQhqQfy/ChDAGykCADcDACABIAIQghwgAEEIaiABEP4cIAFBKRC9GyACQRBqJAALRgEBfiAAQQ9BAEEBQQAQgBwgACABNgIIIABBjMAKNgIAIAIpAgAhBiAAIAU2AhwgACAEOgAYIAAgAzYCFCAAIAY3AgwgAAtDAQF/IwBBEGsiAiQAIAAoAggiACABIAAoAgAoAhARAgAgAiACQQhqQdCKChDAGykCADcDACABIAIQghwgAkEQaiQAC9oCAQJ/IwBB8ABrIgIkACACIAJB6ABqQeSBChDAGykCADcDMCABIAJBMGoQghwgAEEMaiABEP4cIAIgAkHgAGpBiv4JEMAbKQIANwMoIAEgAkEoahCCHCAAKAIIIgMgASADKAIAKAIUEQIAAn8gACgCFCIDQQFxBEAgAiACQdgAakGEuwoQwBspAgA3AyAgASACQSBqEIIcIAAoAhQhAwsgA0ECcQsEfyACIAJB0ABqQYu7ChDAGykCADcDGCABIAJBGGoQghwgACgCFAUgAwtBBHEEQCACIAJByABqQZW7ChDAGykCADcDECABIAJBEGoQghwLAkAgAgJ/AkACQCAALQAYQQFrDgIAAQMLIAJBQGtBn7sKEMAbDAELIAJBOGpBorsKEMAbCykCADcDCCABIAJBCGoQghwLIAAoAhwEQCABQSAQvRsgACgCHCABELwbCyACQfAAaiQAC0YCAX8BfiMAQRBrIgMkACAAQRQQ/BshACABKAIAIQEgAyACKQIAIgQ3AwAgAyAENwMIIAAgASADEPgdIQIgA0EQaiQAIAILRgIBfwF+IwBBEGsiAyQAIABBFBD8GyEAIAEoAgAhASADIAIpAgAiBDcDACADIAQ3AwggACABIAMQ+h0hAiADQRBqJAAgAgsrACAAQQpBAUEBQQEQgBwgACABNgIIIABBhMEKNgIAIAAgAikCADcCDCAAC3YCAX8BfiMAQTBrIgIkACAAKAIIIAEQvBsgAiACQShqQeL+CRDAGykCADcDECABIAJBEGoQghwgAiAAKQIMIgM3AwggAiADNwMgIAEgAkEIahCCHCACIAJBGGpB1v4JEMAbKQIANwMAIAEgAhCCHCACQTBqJAALKwAgAEECQQFBAUEBEIAcIAAgATYCCCAAQfDBCjYCACAAIAIpAgA3AgwgAAtYAgF/AX4jAEEgayICJAAgACgCCCABELwbIAIgAkEYakHQigoQwBspAgA3AwggASACQQhqEIIcIAIgACkCDCIDNwMAIAIgAzcDECABIAIQghwgAkEgaiQACzEAIABBAyABLQAFIAEtAAYgAS0ABxCAHCAAIAE2AgwgACACNgIIIABB4MIKNgIAIAALDAAgACgCDCABEKUcCwwAIAAoAgwgARCoHAsMACAAKAIMIAEQqhwLHwEBfyAAKAIMIgIgASACKAIAKAIQEQIAIAAgARCBHguYAQECfyMAQTBrIgIkAAJ/IAAoAggiA0EBcQRAIAIgAkEoakGEuwoQwBspAgA3AxAgASACQRBqEIIcIAAoAgghAwsgA0ECcQsEfyACIAJBIGpBi7sKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIIBSADC0EEcQRAIAIgAkEYakGVuwoQwBspAgA3AwAgASACEIIcCyACQTBqJAALFgAgACgCDCIAIAEgACgCACgCFBECAAsxACAAQQwQ/BshACABKAIAIQEgAEEaQQFBAUEBEIAcIAAgATYCCCAAQcjDCjYCACAAC1cBAX8jAEEgayICJAAgAiACQRhqQazEChDAGykCADcDCCABIAJBCGoQghwgACgCCCABELwbIAIgAkEQakGnogoQwBspAgA3AwAgASACEIIcIAJBIGokAAsoACAAQRlBAUEBQQEQgBwgACACNgIMIAAgATYCCCAAQcTECjYCACAAC2gBAX8jAEEgayICJAAgACgCCCABELwbIAIgAkEYakGkxQoQwBspAgA3AwggASACQQhqEIIcIAAoAgwiAARAIAAgARC8GwsgAiACQRBqQaeiChDAGykCADcDACABIAIQghwgAkEgaiQACygAIABBDkEAQQBBARCAHCAAIAI2AgwgACABNgIIIABBuMUKNgIAIAALFgAgACgCCCIAIAEgACgCACgCEBECAAucAQECfyMAQTBrIgIkACABEN8dQd0ARwRAIAIgAkEoakHQigoQwBspAgA3AxAgASACQRBqEIIcCyACIAJBIGpBmMYKEMAbKQIANwMIIAEgAkEIahCCHCAAKAIMIgMEQCADIAEQvBsLIAIgAkEYakGnogoQwBspAgA3AwAgASACEIIcIAAoAggiACABIAAoAgAoAhQRAgAgAkEwaiQACysAIABBDSACLQAFQQFBARCAHCAAIAI2AgwgACABNgIIIABBpMYKNgIAIAALnQEBAn8jAEEwayICJAAgACgCDCIDIAEgAygCACgCEBECACACAn8CQCAAKAIMIAEQqBxFBEAgACgCDCABEKocRQ0BCyACQShqQeSBChDAGwwBCyACQSBqQdCKChDAGwspAgA3AxAgASACQRBqEIIcIAAoAgggARC8GyACIAJBGGpBjMcKEMAbKQIANwMIIAEgAkEIahCCHCACQTBqJAALYQEBfyMAQRBrIgIkAAJAIAAoAgwgARCoHEUEQCAAKAIMIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIMIgAgASAAKAIAKAIUEQIAIAJBEGokAAtGAgF/AX4jAEEQayIDJAAgAEEUEPwbIQAgAyABKQIAIgQ3AwggAigCACECIAMgBDcDACAAIAMgAhCOHiECIANBEGokACACCzEBAX4gAEEGQQFBAUEBEIAcIABBtMcKNgIAIAEpAgAhAyAAIAI2AhAgACADNwIIIAALQQIBfwF+IwBBEGsiAiQAIAIgACkCCCIDNwMAIAIgAzcDCCABIAIQghwgAUEgEL0bIAAoAhAgARC8GyACQRBqJAALDAAgACgCCCABEKUcC6YCAgJ/AX4jAEHgAGsiAiQAIAICfwJAAn8gACgCCCIDLQAEQQpGBEAgAxCSHg0CIAAoAgghAwsgAwsgASADKAIAKAIQEQIAIAAoAgggARCoHARAIAIgAkHYAGpB0IoKEMAbKQIANwMoIAEgAkEoahCCHAsCQCAAKAIIIAEQqBxFBEAgACgCCCABEKocRQ0BCyACIAJB0ABqQeSBChDAGykCADcDICABIAJBIGoQghwLIAJByABqQb/+CRDAGwwBCyAAKAIIIQAgAiACQUBrQYjJChDAGykCADcDGCABIAJBGGoQghwgAiAAKQIMIgQ3AxAgAiAENwM4IAEgAkEQahCCHCACQTBqQdb+CRDAGwspAgA3AwggASACQQhqEIIcIAJB4ABqJAALQwECfyMAQRBrIgEkACAAKAIIIgAtAARBB0YEQCABQQhqIAAQkhwgAUEIaiABQYzJChDAGxCTHSECCyABQRBqJAAgAgt+AQJ/IwBBEGsiAiQAAkACQCAAKAIIIgMtAARBCkYEfyADEJIeDQIgACgCCAUgAwsgARCoHEUEQCAAKAIIIAEQqhxFDQELIAIgAkEIakGK/gkQwBspAgA3AwAgASACEIIcCyAAKAIIIgAgASAAKAIAKAIUEQIACyACQRBqJAALMgAgAEEMIAEtAAVBAUEBEIAcIABBADoAECAAIAI2AgwgACABNgIIIABBoMkKNgIAIAAL3wEBAn8jAEFAaiICJAAgAC0AEEUEQCACQThqIABBEGpBARCkHCEDIAJBMGogACABEJYeIAIoAjQiACABIAAoAgAoAhARAgAgAigCNCABEKgcBEAgAiACQShqQdCKChDAGykCADcDECABIAJBEGoQghwLAkAgAigCNCABEKgcRQRAIAIoAjQgARCqHEUNAQsgAiACQSBqQeSBChDAGykCADcDCCABIAJBCGoQghwLIAIgAkEYakGP/glBkv4JIAIoAjAbEMAbKQIANwMAIAEgAhCCHCADEKYcCyACQUBrJAALbQEBfyAAIAFBDGooAgA2AgAgACABQQhqKAIANgIEIAAoAgQhAQNAIAEgAiABKAIAKAIMEQMAIgMtAARBDEYEQCAAIAMoAggiATYCBCAAIANBDGoiAyAAIAMoAgAgACgCAEgbKAIANgIADAELCwuMAQECfyMAQSBrIgIkACAALQAQRQRAIAJBGGogAEEQakEBEKQcIQMgAkEQaiAAIAEQlh4CQCACKAIUIAEQqBxFBEAgAigCFCABEKocRQ0BCyACIAJBCGpBiv4JEMAbKQIANwMAIAEgAhCCHAsgAigCFCIAIAEgACgCACgCFBECACADEKYcCyACQSBqJAALKwAgAEEFQQFBAUEBEIAcIAAgATYCCCAAQYzKCjYCACAAIAIpAgA3AgwgAAtEAgJ/AX4jAEEQayICJAAgACgCCCIDIAEgAygCACgCEBECACACIAApAgwiBDcDACACIAQ3AwggASACEIIcIAJBEGokAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACx8AQfCqCygCAEUEQEH0qgsgATYCAEHwqgsgADYCAAsLGQAgASACIAOtIAStQiCGhCAFIAYgABEsAAsWAQF+IAEgABEdACICQiCIpxAsIAKnCxMAIAEgAq0gA61CIIaEIAARJgALIgEBfiABIAKtIAOtQiCGhCAEIAARHgAiBUIgiKcQLCAFpwsZACABIAIgAyAEIAWtIAatQiCGhCAAEScACyMAIAEgAiADIAQgBa0gBq1CIIaEIAetIAitQiCGhCAAETgACyUAIAEgAiADIAQgBSAGrSAHrUIghoQgCK0gCa1CIIaEIAARNwALEwAgACABpyABQiCIpyACIAMQLQsLm6oKhAEAQYAIC7COAXB1c2gAeAB5AHdpZHRoAGhlaWdodABJbnRWZWN0b3IARmxvYXRWZWN0b3IARG91YmxlVmVjdG9yAFBvaW50VmVjdG9yAE1hdFZlY3RvcgBSZWN0VmVjdG9yAEtleVBvaW50VmVjdG9yAERNYXRjaFZlY3RvcgBETWF0Y2hWZWN0b3JWZWN0b3IATWF0AGV5ZQBvbmVzAHplcm9zAHJvd3MAY29scwBtYXRTaXplAHN0ZXAAZGF0YQBkYXRhOFMAZGF0YTE2VQBkYXRhMTZTAGRhdGEzMlMAZGF0YTMyRgBkYXRhNjRGAGVsZW1TaXplAGVsZW1TaXplMQBjaGFubmVscwBjb252ZXJ0VG8AdG90YWwAcm93AGNyZWF0ZQByb3dSYW5nZQBjb3B5VG8AdHlwZQBlbXB0eQBjb2xSYW5nZQBzdGVwMQBjbG9uZQBkZXB0aABjb2wAZG90AG11bABpbnYAdAByb2kAZGlhZwBpc0NvbnRpbnVvdXMAc2V0VG8Ac2l6ZQBwdHIAdWNoYXJQdHIAY2hhclB0cgBzaG9ydFB0cgB1c2hvcnRQdHIAaW50UHRyAGZsb2F0UHRyAGRvdWJsZVB0cgBjaGFyQXQAdWNoYXJBdABzaG9ydEF0AHVzaG9ydEF0AGludEF0AGZsb2F0QXQAZG91YmxlQXQAUmFuZ2UAc3RhcnQAZW5kAFRlcm1Dcml0ZXJpYQBtYXhDb3VudABlcHNpbG9uACN0eXBlAFJlY3QAUmVjdDJmAFJvdGF0ZWRSZWN0AGNlbnRlcgBhbmdsZQByb3RhdGVkUmVjdFBvaW50cwByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdAByb3RhdGVkUmVjdEJvdW5kaW5nUmVjdDJmAEtleVBvaW50AGNsYXNzX2lkAG9jdGF2ZQBwdAByZXNwb25zZQBETWF0Y2gAcXVlcnlJZHgAdHJhaW5JZHgAaW1nSWR4AGRpc3RhbmNlAFNjYWxhcgBNaW5NYXhMb2MAbWluVmFsAG1heFZhbABtaW5Mb2MAbWF4TG9jAENpcmNsZQByYWRpdXMATW9tZW50cwBtMDAAbTEwAG0wMQBtMjAAbTExAG0wMgBtMzAAbTIxAG0xMgBtMDMAbXUyMABtdTExAG11MDIAbXUzMABtdTIxAG11MTIAbXUwMwBudTIwAG51MTEAbnUwMgBudTMwAG51MjEAbnUxMgBudTAzAEV4Y2VwdGlvbgBjb2RlAG1zZwBleGNlcHRpb25Gcm9tUHRyAG1pbkVuY2xvc2luZ0NpcmNsZQBmbG9vZEZpbGwAbWluTWF4TG9jAG1vcnBob2xvZ3lEZWZhdWx0Qm9yZGVyVmFsdWUAQ1ZfTUFUX0RFUFRIAENhbVNoaWZ0AG1lYW5TaGlmdABUcmFja2VyAGluaXQAdXBkYXRlAGdldEJ1aWxkSW5mb3JtYXRpb24AQ1ZfOFVDMQBDVl84VUMyAENWXzhVQzMAQ1ZfOFVDNABDVl84U0MxAENWXzhTQzIAQ1ZfOFNDMwBDVl84U0M0AENWXzE2VUMxAENWXzE2VUMyAENWXzE2VUMzAENWXzE2VUM0AENWXzE2U0MxAENWXzE2U0MyAENWXzE2U0MzAENWXzE2U0M0AENWXzMyU0MxAENWXzMyU0MyAENWXzMyU0MzAENWXzMyU0M0AENWXzMyRkMxAENWXzMyRkMyAENWXzMyRkMzAENWXzMyRkM0AENWXzY0RkMxAENWXzY0RkMyAENWXzY0RkMzAENWXzY0RkM0AENWXzhVAENWXzhTAENWXzE2VQBDVl8xNlMAQ1ZfMzJTAENWXzMyRgBDVl82NEYASU5UX01JTgBJTlRfTUFYAFJvZHJpZ3VlcwBTVkRlY29tcABzb2x2ZVBuUABBQ0NFU1NfRkFTVABBQ0NFU1NfTUFTSwBBQ0NFU1NfUkVBRABBQ0NFU1NfUlcAQUNDRVNTX1dSSVRFAEFEQVBUSVZFX1RIUkVTSF9HQVVTU0lBTl9DAEFEQVBUSVZFX1RIUkVTSF9NRUFOX0MAQUtBWkVfREVTQ1JJUFRPUl9LQVpFAEFLQVpFX0RFU0NSSVBUT1JfS0FaRV9VUFJJR0hUAEFLQVpFX0RFU0NSSVBUT1JfTUxEQgBBS0FaRV9ERVNDUklQVE9SX01MREJfVVBSSUdIVABBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9BR0FTVF81XzgAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMmQAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfQUdBU1RfN18xMnMAQWdhc3RGZWF0dXJlRGV0ZWN0b3JfTk9OTUFYX1NVUFBSRVNTSU9OAEFnYXN0RmVhdHVyZURldGVjdG9yX09BU1RfOV8xNgBBZ2FzdEZlYXR1cmVEZXRlY3Rvcl9USFJFU0hPTEQAQk9SREVSX0NPTlNUQU5UAEJPUkRFUl9ERUZBVUxUAEJPUkRFUl9JU09MQVRFRABCT1JERVJfUkVGTEVDVABCT1JERVJfUkVGTEVDVDEwMQBCT1JERVJfUkVGTEVDVF8xMDEAQk9SREVSX1JFUExJQ0FURQBCT1JERVJfVFJBTlNQQVJFTlQAQk9SREVSX1dSQVAAQ0FMSUJfQ0JfQUNDVVJBQ1kAQ0FMSUJfQ0JfQURBUFRJVkVfVEhSRVNIAENBTElCX0NCX0FTWU1NRVRSSUNfR1JJRABDQUxJQl9DQl9DTFVTVEVSSU5HAENBTElCX0NCX0VYSEFVU1RJVkUAQ0FMSUJfQ0JfRkFTVF9DSEVDSwBDQUxJQl9DQl9GSUxURVJfUVVBRFMAQ0FMSUJfQ0JfTEFSR0VSAENBTElCX0NCX01BUktFUgBDQUxJQl9DQl9OT1JNQUxJWkVfSU1BR0UAQ0FMSUJfQ0JfU1lNTUVUUklDX0dSSUQAQ0FMSUJfRklYX0FTUEVDVF9SQVRJTwBDQUxJQl9GSVhfRk9DQUxfTEVOR1RIAENBTElCX0ZJWF9JTlRSSU5TSUMAQ0FMSUJfRklYX0sxAENBTElCX0ZJWF9LMgBDQUxJQl9GSVhfSzMAQ0FMSUJfRklYX0s0AENBTElCX0ZJWF9LNQBDQUxJQl9GSVhfSzYAQ0FMSUJfRklYX1BSSU5DSVBBTF9QT0lOVABDQUxJQl9GSVhfUzFfUzJfUzNfUzQAQ0FMSUJfRklYX1RBTkdFTlRfRElTVABDQUxJQl9GSVhfVEFVWF9UQVVZAENBTElCX0hBTkRfRVlFX0FORFJFRkYAQ0FMSUJfSEFORF9FWUVfREFOSUlMSURJUwBDQUxJQl9IQU5EX0VZRV9IT1JBVUQAQ0FMSUJfSEFORF9FWUVfUEFSSwBDQUxJQl9IQU5EX0VZRV9UU0FJAENBTElCX05JTlRSSU5TSUMAQ0FMSUJfUkFUSU9OQUxfTU9ERUwAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfTEkAQ0FMSUJfUk9CT1RfV09STERfSEFORF9FWUVfU0hBSABDQUxJQl9TQU1FX0ZPQ0FMX0xFTkdUSABDQUxJQl9USElOX1BSSVNNX01PREVMAENBTElCX1RJTFRFRF9NT0RFTABDQUxJQl9VU0VfRVhUUklOU0lDX0dVRVNTAENBTElCX1VTRV9JTlRSSU5TSUNfR1VFU1MAQ0FMSUJfVVNFX0xVAENBTElCX1VTRV9RUgBDQUxJQl9aRVJPX0RJU1BBUklUWQBDQUxJQl9aRVJPX1RBTkdFTlRfRElTVABDQVNDQURFX0RPX0NBTk5ZX1BSVU5JTkcAQ0FTQ0FERV9ET19ST1VHSF9TRUFSQ0gAQ0FTQ0FERV9GSU5EX0JJR0dFU1RfT0JKRUNUAENBU0NBREVfU0NBTEVfSU1BR0UAQ0NMX0JCRFQAQ0NMX0JPTEVMTEkAQ0NMX0RFRkFVTFQAQ0NMX0dSQU5BAENDTF9TQVVGAENDTF9TUEFHSEVUVEkAQ0NMX1dVAENDX1NUQVRfQVJFQQBDQ19TVEFUX0hFSUdIVABDQ19TVEFUX0xFRlQAQ0NfU1RBVF9NQVgAQ0NfU1RBVF9UT1AAQ0NfU1RBVF9XSURUSABDSEFJTl9BUFBST1hfTk9ORQBDSEFJTl9BUFBST1hfU0lNUExFAENIQUlOX0FQUFJPWF9UQzg5X0tDT1MAQ0hBSU5fQVBQUk9YX1RDODlfTDEAQ01QX0VRAENNUF9HRQBDTVBfR1QAQ01QX0xFAENNUF9MVABDTVBfTkUAQ09MT1JNQVBfQVVUVU1OAENPTE9STUFQX0JPTkUAQ09MT1JNQVBfQ0lWSURJUwBDT0xPUk1BUF9DT09MAENPTE9STUFQX0RFRVBHUkVFTgBDT0xPUk1BUF9IT1QAQ09MT1JNQVBfSFNWAENPTE9STUFQX0lORkVSTk8AQ09MT1JNQVBfSkVUAENPTE9STUFQX01BR01BAENPTE9STUFQX09DRUFOAENPTE9STUFQX1BBUlVMQQBDT0xPUk1BUF9QSU5LAENPTE9STUFQX1BMQVNNQQBDT0xPUk1BUF9SQUlOQk9XAENPTE9STUFQX1NQUklORwBDT0xPUk1BUF9TVU1NRVIAQ09MT1JNQVBfVFVSQk8AQ09MT1JNQVBfVFdJTElHSFQAQ09MT1JNQVBfVFdJTElHSFRfU0hJRlRFRABDT0xPUk1BUF9WSVJJRElTAENPTE9STUFQX1dJTlRFUgBDT0xPUl9CR1IyQkdSNTU1AENPTE9SX0JHUjJCR1I1NjUAQ09MT1JfQkdSMkJHUkEAQ09MT1JfQkdSMkdSQVkAQ09MT1JfQkdSMkhMUwBDT0xPUl9CR1IySExTX0ZVTEwAQ09MT1JfQkdSMkhTVgBDT0xPUl9CR1IySFNWX0ZVTEwAQ09MT1JfQkdSMkxhYgBDT0xPUl9CR1IyTHV2AENPTE9SX0JHUjJSR0IAQ09MT1JfQkdSMlJHQkEAQ09MT1JfQkdSMlhZWgBDT0xPUl9CR1IyWUNyQ2IAQ09MT1JfQkdSMllVVgBDT0xPUl9CR1IyWVVWX0k0MjAAQ09MT1JfQkdSMllVVl9JWVVWAENPTE9SX0JHUjJZVVZfWVYxMgBDT0xPUl9CR1I1NTUyQkdSAENPTE9SX0JHUjU1NTJCR1JBAENPTE9SX0JHUjU1NTJHUkFZAENPTE9SX0JHUjU1NTJSR0IAQ09MT1JfQkdSNTU1MlJHQkEAQ09MT1JfQkdSNTY1MkJHUgBDT0xPUl9CR1I1NjUyQkdSQQBDT0xPUl9CR1I1NjUyR1JBWQBDT0xPUl9CR1I1NjUyUkdCAENPTE9SX0JHUjU2NTJSR0JBAENPTE9SX0JHUkEyQkdSAENPTE9SX0JHUkEyQkdSNTU1AENPTE9SX0JHUkEyQkdSNTY1AENPTE9SX0JHUkEyR1JBWQBDT0xPUl9CR1JBMlJHQgBDT0xPUl9CR1JBMlJHQkEAQ09MT1JfQkdSQTJZVVZfSTQyMABDT0xPUl9CR1JBMllVVl9JWVVWAENPTE9SX0JHUkEyWVVWX1lWMTIAQ09MT1JfQmF5ZXJCRzJCR1IAQ09MT1JfQmF5ZXJCRzJCR1JBAENPTE9SX0JheWVyQkcyQkdSX0VBAENPTE9SX0JheWVyQkcyQkdSX1ZORwBDT0xPUl9CYXllckJHMkdSQVkAQ09MT1JfQmF5ZXJCRzJSR0IAQ09MT1JfQmF5ZXJCRzJSR0JBAENPTE9SX0JheWVyQkcyUkdCX0VBAENPTE9SX0JheWVyQkcyUkdCX1ZORwBDT0xPUl9CYXllckJHR1IyQkdSAENPTE9SX0JheWVyQkdHUjJCR1JBAENPTE9SX0JheWVyQkdHUjJCR1JfRUEAQ09MT1JfQmF5ZXJCR0dSMkJHUl9WTkcAQ09MT1JfQmF5ZXJCR0dSMkdSQVkAQ09MT1JfQmF5ZXJCR0dSMlJHQgBDT0xPUl9CYXllckJHR1IyUkdCQQBDT0xPUl9CYXllckJHR1IyUkdCX0VBAENPTE9SX0JheWVyQkdHUjJSR0JfVk5HAENPTE9SX0JheWVyR0IyQkdSAENPTE9SX0JheWVyR0IyQkdSQQBDT0xPUl9CYXllckdCMkJHUl9FQQBDT0xPUl9CYXllckdCMkJHUl9WTkcAQ09MT1JfQmF5ZXJHQjJHUkFZAENPTE9SX0JheWVyR0IyUkdCAENPTE9SX0JheWVyR0IyUkdCQQBDT0xPUl9CYXllckdCMlJHQl9FQQBDT0xPUl9CYXllckdCMlJHQl9WTkcAQ09MT1JfQmF5ZXJHQlJHMkJHUgBDT0xPUl9CYXllckdCUkcyQkdSQQBDT0xPUl9CYXllckdCUkcyQkdSX0VBAENPTE9SX0JheWVyR0JSRzJCR1JfVk5HAENPTE9SX0JheWVyR0JSRzJHUkFZAENPTE9SX0JheWVyR0JSRzJSR0IAQ09MT1JfQmF5ZXJHQlJHMlJHQkEAQ09MT1JfQmF5ZXJHQlJHMlJHQl9FQQBDT0xPUl9CYXllckdCUkcyUkdCX1ZORwBDT0xPUl9CYXllckdSMkJHUgBDT0xPUl9CYXllckdSMkJHUkEAQ09MT1JfQmF5ZXJHUjJCR1JfRUEAQ09MT1JfQmF5ZXJHUjJCR1JfVk5HAENPTE9SX0JheWVyR1IyR1JBWQBDT0xPUl9CYXllckdSMlJHQgBDT0xPUl9CYXllckdSMlJHQkEAQ09MT1JfQmF5ZXJHUjJSR0JfRUEAQ09MT1JfQmF5ZXJHUjJSR0JfVk5HAENPTE9SX0JheWVyR1JCRzJCR1IAQ09MT1JfQmF5ZXJHUkJHMkJHUkEAQ09MT1JfQmF5ZXJHUkJHMkJHUl9FQQBDT0xPUl9CYXllckdSQkcyQkdSX1ZORwBDT0xPUl9CYXllckdSQkcyR1JBWQBDT0xPUl9CYXllckdSQkcyUkdCAENPTE9SX0JheWVyR1JCRzJSR0JBAENPTE9SX0JheWVyR1JCRzJSR0JfRUEAQ09MT1JfQmF5ZXJHUkJHMlJHQl9WTkcAQ09MT1JfQmF5ZXJSRzJCR1IAQ09MT1JfQmF5ZXJSRzJCR1JBAENPTE9SX0JheWVyUkcyQkdSX0VBAENPTE9SX0JheWVyUkcyQkdSX1ZORwBDT0xPUl9CYXllclJHMkdSQVkAQ09MT1JfQmF5ZXJSRzJSR0IAQ09MT1JfQmF5ZXJSRzJSR0JBAENPTE9SX0JheWVyUkcyUkdCX0VBAENPTE9SX0JheWVyUkcyUkdCX1ZORwBDT0xPUl9CYXllclJHR0IyQkdSAENPTE9SX0JheWVyUkdHQjJCR1JBAENPTE9SX0JheWVyUkdHQjJCR1JfRUEAQ09MT1JfQmF5ZXJSR0dCMkJHUl9WTkcAQ09MT1JfQmF5ZXJSR0dCMkdSQVkAQ09MT1JfQmF5ZXJSR0dCMlJHQgBDT0xPUl9CYXllclJHR0IyUkdCQQBDT0xPUl9CYXllclJHR0IyUkdCX0VBAENPTE9SX0JheWVyUkdHQjJSR0JfVk5HAENPTE9SX0NPTE9SQ1ZUX01BWABDT0xPUl9HUkFZMkJHUgBDT0xPUl9HUkFZMkJHUjU1NQBDT0xPUl9HUkFZMkJHUjU2NQBDT0xPUl9HUkFZMkJHUkEAQ09MT1JfR1JBWTJSR0IAQ09MT1JfR1JBWTJSR0JBAENPTE9SX0hMUzJCR1IAQ09MT1JfSExTMkJHUl9GVUxMAENPTE9SX0hMUzJSR0IAQ09MT1JfSExTMlJHQl9GVUxMAENPTE9SX0hTVjJCR1IAQ09MT1JfSFNWMkJHUl9GVUxMAENPTE9SX0hTVjJSR0IAQ09MT1JfSFNWMlJHQl9GVUxMAENPTE9SX0xCR1IyTGFiAENPTE9SX0xCR1IyTHV2AENPTE9SX0xSR0IyTGFiAENPTE9SX0xSR0IyTHV2AENPTE9SX0xhYjJCR1IAQ09MT1JfTGFiMkxCR1IAQ09MT1JfTGFiMkxSR0IAQ09MT1JfTGFiMlJHQgBDT0xPUl9MdXYyQkdSAENPTE9SX0x1djJMQkdSAENPTE9SX0x1djJMUkdCAENPTE9SX0x1djJSR0IAQ09MT1JfUkdCMkJHUgBDT0xPUl9SR0IyQkdSNTU1AENPTE9SX1JHQjJCR1I1NjUAQ09MT1JfUkdCMkJHUkEAQ09MT1JfUkdCMkdSQVkAQ09MT1JfUkdCMkhMUwBDT0xPUl9SR0IySExTX0ZVTEwAQ09MT1JfUkdCMkhTVgBDT0xPUl9SR0IySFNWX0ZVTEwAQ09MT1JfUkdCMkxhYgBDT0xPUl9SR0IyTHV2AENPTE9SX1JHQjJSR0JBAENPTE9SX1JHQjJYWVoAQ09MT1JfUkdCMllDckNiAENPTE9SX1JHQjJZVVYAQ09MT1JfUkdCMllVVl9JNDIwAENPTE9SX1JHQjJZVVZfSVlVVgBDT0xPUl9SR0IyWVVWX1lWMTIAQ09MT1JfUkdCQTJCR1IAQ09MT1JfUkdCQTJCR1I1NTUAQ09MT1JfUkdCQTJCR1I1NjUAQ09MT1JfUkdCQTJCR1JBAENPTE9SX1JHQkEyR1JBWQBDT0xPUl9SR0JBMlJHQgBDT0xPUl9SR0JBMllVVl9JNDIwAENPTE9SX1JHQkEyWVVWX0lZVVYAQ09MT1JfUkdCQTJZVVZfWVYxMgBDT0xPUl9SR0JBMm1SR0JBAENPTE9SX1hZWjJCR1IAQ09MT1JfWFlaMlJHQgBDT0xPUl9ZQ3JDYjJCR1IAQ09MT1JfWUNyQ2IyUkdCAENPTE9SX1lVVjJCR1IAQ09MT1JfWVVWMkJHUkFfSTQyMABDT0xPUl9ZVVYyQkdSQV9JWVVWAENPTE9SX1lVVjJCR1JBX05WMTIAQ09MT1JfWVVWMkJHUkFfTlYyMQBDT0xPUl9ZVVYyQkdSQV9VWU5WAENPTE9SX1lVVjJCR1JBX1VZVlkAQ09MT1JfWVVWMkJHUkFfWTQyMgBDT0xPUl9ZVVYyQkdSQV9ZVU5WAENPTE9SX1lVVjJCR1JBX1lVWTIAQ09MT1JfWVVWMkJHUkFfWVVZVgBDT0xPUl9ZVVYyQkdSQV9ZVjEyAENPTE9SX1lVVjJCR1JBX1lWWVUAQ09MT1JfWVVWMkJHUl9JNDIwAENPTE9SX1lVVjJCR1JfSVlVVgBDT0xPUl9ZVVYyQkdSX05WMTIAQ09MT1JfWVVWMkJHUl9OVjIxAENPTE9SX1lVVjJCR1JfVVlOVgBDT0xPUl9ZVVYyQkdSX1VZVlkAQ09MT1JfWVVWMkJHUl9ZNDIyAENPTE9SX1lVVjJCR1JfWVVOVgBDT0xPUl9ZVVYyQkdSX1lVWTIAQ09MT1JfWVVWMkJHUl9ZVVlWAENPTE9SX1lVVjJCR1JfWVYxMgBDT0xPUl9ZVVYyQkdSX1lWWVUAQ09MT1JfWVVWMkdSQVlfNDIwAENPTE9SX1lVVjJHUkFZX0k0MjAAQ09MT1JfWVVWMkdSQVlfSVlVVgBDT0xPUl9ZVVYyR1JBWV9OVjEyAENPTE9SX1lVVjJHUkFZX05WMjEAQ09MT1JfWVVWMkdSQVlfVVlOVgBDT0xPUl9ZVVYyR1JBWV9VWVZZAENPTE9SX1lVVjJHUkFZX1k0MjIAQ09MT1JfWVVWMkdSQVlfWVVOVgBDT0xPUl9ZVVYyR1JBWV9ZVVkyAENPTE9SX1lVVjJHUkFZX1lVWVYAQ09MT1JfWVVWMkdSQVlfWVYxMgBDT0xPUl9ZVVYyR1JBWV9ZVllVAENPTE9SX1lVVjJSR0IAQ09MT1JfWVVWMlJHQkFfSTQyMABDT0xPUl9ZVVYyUkdCQV9JWVVWAENPTE9SX1lVVjJSR0JBX05WMTIAQ09MT1JfWVVWMlJHQkFfTlYyMQBDT0xPUl9ZVVYyUkdCQV9VWU5WAENPTE9SX1lVVjJSR0JBX1VZVlkAQ09MT1JfWVVWMlJHQkFfWTQyMgBDT0xPUl9ZVVYyUkdCQV9ZVU5WAENPTE9SX1lVVjJSR0JBX1lVWTIAQ09MT1JfWVVWMlJHQkFfWVVZVgBDT0xPUl9ZVVYyUkdCQV9ZVjEyAENPTE9SX1lVVjJSR0JBX1lWWVUAQ09MT1JfWVVWMlJHQl9JNDIwAENPTE9SX1lVVjJSR0JfSVlVVgBDT0xPUl9ZVVYyUkdCX05WMTIAQ09MT1JfWVVWMlJHQl9OVjIxAENPTE9SX1lVVjJSR0JfVVlOVgBDT0xPUl9ZVVYyUkdCX1VZVlkAQ09MT1JfWVVWMlJHQl9ZNDIyAENPTE9SX1lVVjJSR0JfWVVOVgBDT0xPUl9ZVVYyUkdCX1lVWTIAQ09MT1JfWVVWMlJHQl9ZVVlWAENPTE9SX1lVVjJSR0JfWVYxMgBDT0xPUl9ZVVYyUkdCX1lWWVUAQ09MT1JfWVVWNDIwcDJCR1IAQ09MT1JfWVVWNDIwcDJCR1JBAENPTE9SX1lVVjQyMHAyR1JBWQBDT0xPUl9ZVVY0MjBwMlJHQgBDT0xPUl9ZVVY0MjBwMlJHQkEAQ09MT1JfWVVWNDIwc3AyQkdSAENPTE9SX1lVVjQyMHNwMkJHUkEAQ09MT1JfWVVWNDIwc3AyR1JBWQBDT0xPUl9ZVVY0MjBzcDJSR0IAQ09MT1JfWVVWNDIwc3AyUkdCQQBDT0xPUl9tUkdCQTJSR0JBAENPTlRPVVJTX01BVENIX0kxAENPTlRPVVJTX01BVENIX0kyAENPTlRPVVJTX01BVENIX0kzAENPVkFSX0NPTFMAQ09WQVJfTk9STUFMAENPVkFSX1JPV1MAQ09WQVJfU0NBTEUAQ09WQVJfU0NSQU1CTEVEAENPVkFSX1VTRV9BVkcAQ2lyY2xlc0dyaWRGaW5kZXJQYXJhbWV0ZXJzX0FTWU1NRVRSSUNfR1JJRABDaXJjbGVzR3JpZEZpbmRlclBhcmFtZXRlcnNfU1lNTUVUUklDX0dSSUQARENUX0lOVkVSU0UARENUX1JPV1MAREVDT01QX0NIT0xFU0tZAERFQ09NUF9FSUcAREVDT01QX0xVAERFQ09NUF9OT1JNQUwAREVDT01QX1FSAERFQ09NUF9TVkQAREZUX0NPTVBMRVhfSU5QVVQAREZUX0NPTVBMRVhfT1VUUFVUAERGVF9JTlZFUlNFAERGVF9SRUFMX09VVFBVVABERlRfUk9XUwBERlRfU0NBTEUARElTT3B0aWNhbEZsb3dfUFJFU0VUX0ZBU1QARElTT3B0aWNhbEZsb3dfUFJFU0VUX01FRElVTQBESVNPcHRpY2FsRmxvd19QUkVTRVRfVUxUUkFGQVNUAERJU1RfQwBESVNUX0ZBSVIARElTVF9IVUJFUgBESVNUX0wxAERJU1RfTDEyAERJU1RfTDIARElTVF9MQUJFTF9DQ09NUABESVNUX0xBQkVMX1BJWEVMAERJU1RfTUFTS18zAERJU1RfTUFTS181AERJU1RfTUFTS19QUkVDSVNFAERJU1RfVVNFUgBESVNUX1dFTFNDSABEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFAERlc2NyaXB0b3JNYXRjaGVyX0JSVVRFRk9SQ0VfSEFNTUlORwBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX0hBTU1JTkdMVVQARGVzY3JpcHRvck1hdGNoZXJfQlJVVEVGT1JDRV9MMQBEZXNjcmlwdG9yTWF0Y2hlcl9CUlVURUZPUkNFX1NMMgBEZXNjcmlwdG9yTWF0Y2hlcl9GTEFOTkJBU0VEAERyYXdNYXRjaGVzRmxhZ3NfREVGQVVMVABEcmF3TWF0Y2hlc0ZsYWdzX0RSQVdfT1ZFUl9PVVRJTUcARHJhd01hdGNoZXNGbGFnc19EUkFXX1JJQ0hfS0VZUE9JTlRTAERyYXdNYXRjaGVzRmxhZ3NfTk9UX0RSQVdfU0lOR0xFX1BPSU5UUwBGSUxMRUQARklMVEVSX1NDSEFSUgBGTE9PREZJTExfRklYRURfUkFOR0UARkxPT0RGSUxMX01BU0tfT05MWQBGTV83UE9JTlQARk1fOFBPSU5UAEZNX0xNRURTAEZNX1JBTlNBQwBGT05UX0hFUlNIRVlfQ09NUExFWABGT05UX0hFUlNIRVlfQ09NUExFWF9TTUFMTABGT05UX0hFUlNIRVlfRFVQTEVYAEZPTlRfSEVSU0hFWV9QTEFJTgBGT05UX0hFUlNIRVlfU0NSSVBUX0NPTVBMRVgARk9OVF9IRVJTSEVZX1NDUklQVF9TSU1QTEVYAEZPTlRfSEVSU0hFWV9TSU1QTEVYAEZPTlRfSEVSU0hFWV9UUklQTEVYAEZPTlRfSVRBTElDAEZhY2VSZWNvZ25pemVyU0ZfRlJfQ09TSU5FAEZhY2VSZWNvZ25pemVyU0ZfRlJfTk9STV9MMgBGYXN0RmVhdHVyZURldGVjdG9yX0ZBU1RfTgBGYXN0RmVhdHVyZURldGVjdG9yX05PTk1BWF9TVVBQUkVTU0lPTgBGYXN0RmVhdHVyZURldGVjdG9yX1RIUkVTSE9MRABGYXN0RmVhdHVyZURldGVjdG9yX1RZUEVfNV84AEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV83XzEyAEZhc3RGZWF0dXJlRGV0ZWN0b3JfVFlQRV85XzE2AEZpbGVOb2RlX0VNUFRZAEZpbGVOb2RlX0ZMT0FUAEZpbGVOb2RlX0ZMT1cARmlsZU5vZGVfSU5UAEZpbGVOb2RlX01BUABGaWxlTm9kZV9OQU1FRABGaWxlTm9kZV9OT05FAEZpbGVOb2RlX1JFQUwARmlsZU5vZGVfU0VRAEZpbGVOb2RlX1NUUgBGaWxlTm9kZV9TVFJJTkcARmlsZU5vZGVfVFlQRV9NQVNLAEZpbGVOb2RlX1VOSUZPUk0ARmlsZVN0b3JhZ2VfQVBQRU5EAEZpbGVTdG9yYWdlX0JBU0U2NABGaWxlU3RvcmFnZV9GT1JNQVRfQVVUTwBGaWxlU3RvcmFnZV9GT1JNQVRfSlNPTgBGaWxlU3RvcmFnZV9GT1JNQVRfTUFTSwBGaWxlU3RvcmFnZV9GT1JNQVRfWE1MAEZpbGVTdG9yYWdlX0ZPUk1BVF9ZQU1MAEZpbGVTdG9yYWdlX0lOU0lERV9NQVAARmlsZVN0b3JhZ2VfTUVNT1JZAEZpbGVTdG9yYWdlX05BTUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfUkVBRABGaWxlU3RvcmFnZV9VTkRFRklORUQARmlsZVN0b3JhZ2VfVkFMVUVfRVhQRUNURUQARmlsZVN0b3JhZ2VfV1JJVEUARmlsZVN0b3JhZ2VfV1JJVEVfQkFTRTY0AEZvcm1hdHRlcl9GTVRfQwBGb3JtYXR0ZXJfRk1UX0NTVgBGb3JtYXR0ZXJfRk1UX0RFRkFVTFQARm9ybWF0dGVyX0ZNVF9NQVRMQUIARm9ybWF0dGVyX0ZNVF9OVU1QWQBGb3JtYXR0ZXJfRk1UX1BZVEhPTgBHQ19CR0QAR0NfRVZBTABHQ19FVkFMX0ZSRUVaRV9NT0RFTABHQ19GR0QAR0NfSU5JVF9XSVRIX01BU0sAR0NfSU5JVF9XSVRIX1JFQ1QAR0NfUFJfQkdEAEdDX1BSX0ZHRABHRU1NXzFfVABHRU1NXzJfVABHRU1NXzNfVABISVNUQ01QX0JIQVRUQUNIQVJZWUEASElTVENNUF9DSElTUVIASElTVENNUF9DSElTUVJfQUxUAEhJU1RDTVBfQ09SUkVMAEhJU1RDTVBfSEVMTElOR0VSAEhJU1RDTVBfSU5URVJTRUNUAEhJU1RDTVBfS0xfRElWAEhPR0Rlc2NyaXB0b3JfREVGQVVMVF9OTEVWRUxTAEhPR0Rlc2NyaXB0b3JfREVTQ1JfRk9STUFUX0NPTF9CWV9DT0wASE9HRGVzY3JpcHRvcl9ERVNDUl9GT1JNQVRfUk9XX0JZX1JPVwBIT0dEZXNjcmlwdG9yX0wySHlzAEhPVUdIX0dSQURJRU5UAEhPVUdIX0dSQURJRU5UX0FMVABIT1VHSF9NVUxUSV9TQ0FMRQBIT1VHSF9QUk9CQUJJTElTVElDAEhPVUdIX1NUQU5EQVJEAElOUEFJTlRfTlMASU5QQUlOVF9URUxFQQBJTlRFUlNFQ1RfRlVMTABJTlRFUlNFQ1RfTk9ORQBJTlRFUlNFQ1RfUEFSVElBTABJTlRFUl9BUkVBAElOVEVSX0JJVFMASU5URVJfQklUUzIASU5URVJfQ1VCSUMASU5URVJfTEFOQ1pPUzQASU5URVJfTElORUFSAElOVEVSX0xJTkVBUl9FWEFDVABJTlRFUl9NQVgASU5URVJfTkVBUkVTVABJTlRFUl9ORUFSRVNUX0VYQUNUAElOVEVSX1RBQl9TSVpFAElOVEVSX1RBQl9TSVpFMgBLQVpFX0RJRkZfQ0hBUkJPTk5JRVIAS0FaRV9ESUZGX1BNX0cxAEtBWkVfRElGRl9QTV9HMgBLQVpFX0RJRkZfV0VJQ0tFUlQAS01FQU5TX1BQX0NFTlRFUlMAS01FQU5TX1JBTkRPTV9DRU5URVJTAEtNRUFOU19VU0VfSU5JVElBTF9MQUJFTFMATERSX1NJWkUATElORV80AExJTkVfOABMSU5FX0FBAExNRURTAExPQ0FMX09QVElNX0dDAExPQ0FMX09QVElNX0lOTkVSX0FORF9JVEVSX0xPAExPQ0FMX09QVElNX0lOTkVSX0xPAExPQ0FMX09QVElNX05VTEwATE9DQUxfT1BUSU1fU0lHTUEATFNEX1JFRklORV9BRFYATFNEX1JFRklORV9OT05FAExTRF9SRUZJTkVfU1REAE1BUktFUl9DUk9TUwBNQVJLRVJfRElBTU9ORABNQVJLRVJfU1FVQVJFAE1BUktFUl9TVEFSAE1BUktFUl9USUxURURfQ1JPU1MATUFSS0VSX1RSSUFOR0xFX0RPV04ATUFSS0VSX1RSSUFOR0xFX1VQAE1JWEVEX0NMT05FAE1PTk9DSFJPTUVfVFJBTlNGRVIATU9SUEhfQkxBQ0tIQVQATU9SUEhfQ0xPU0UATU9SUEhfQ1JPU1MATU9SUEhfRElMQVRFAE1PUlBIX0VMTElQU0UATU9SUEhfRVJPREUATU9SUEhfR1JBRElFTlQATU9SUEhfSElUTUlTUwBNT1JQSF9PUEVOAE1PUlBIX1JFQ1QATU9SUEhfVE9QSEFUAE1PVElPTl9BRkZJTkUATU9USU9OX0VVQ0xJREVBTgBNT1RJT05fSE9NT0dSQVBIWQBNT1RJT05fVFJBTlNMQVRJT04ATWF0X0FVVE9fU1RFUABNYXRfQ09OVElOVU9VU19GTEFHAE1hdF9ERVBUSF9NQVNLAE1hdF9NQUdJQ19NQVNLAE1hdF9NQUdJQ19WQUwATWF0X1NVQk1BVFJJWF9GTEFHAE1hdF9UWVBFX01BU0sATkVJR0hfRkxBTk5fS05OAE5FSUdIX0ZMQU5OX1JBRElVUwBORUlHSF9HUklEAE5PUk1BTF9DTE9ORQBOT1JNQ09OVl9GSUxURVIATk9STV9IQU1NSU5HAE5PUk1fSEFNTUlORzIATk9STV9JTkYATk9STV9MMQBOT1JNX0wyAE5PUk1fTDJTUVIATk9STV9NSU5NQVgATk9STV9SRUxBVElWRQBOT1JNX1RZUEVfTUFTSwBPUFRGTE9XX0ZBUk5FQkFDS19HQVVTU0lBTgBPUFRGTE9XX0xLX0dFVF9NSU5fRUlHRU5WQUxTAE9QVEZMT1dfVVNFX0lOSVRJQUxfRkxPVwBPUkJfRkFTVF9TQ09SRQBPUkJfSEFSUklTX1NDT1JFAFBDQV9EQVRBX0FTX0NPTABQQ0FfREFUQV9BU19ST1cAUENBX1VTRV9BVkcAUFJPSl9TUEhFUklDQUxfRVFSRUNUAFBST0pfU1BIRVJJQ0FMX09SVEhPAFBhcmFtX0FMR09SSVRITQBQYXJhbV9CT09MRUFOAFBhcmFtX0ZMT0FUAFBhcmFtX0lOVABQYXJhbV9NQVQAUGFyYW1fTUFUX1ZFQ1RPUgBQYXJhbV9SRUFMAFBhcmFtX1NDQUxBUgBQYXJhbV9TVFJJTkcAUGFyYW1fVUNIQVIAUGFyYW1fVUlOVDY0AFBhcmFtX1VOU0lHTkVEX0lOVABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfSABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTABRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfTQBRUkNvZGVFbmNvZGVyX0NPUlJFQ1RfTEVWRUxfUQBRUkNvZGVFbmNvZGVyX0VDSV9VVEY4AFFSQ29kZUVuY29kZXJfTU9ERV9BTFBIQU5VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX0FVVE8AUVJDb2RlRW5jb2Rlcl9NT0RFX0JZVEUAUVJDb2RlRW5jb2Rlcl9NT0RFX0VDSQBRUkNvZGVFbmNvZGVyX01PREVfS0FOSkkAUVJDb2RlRW5jb2Rlcl9NT0RFX05VTUVSSUMAUVJDb2RlRW5jb2Rlcl9NT0RFX1NUUlVDVFVSRURfQVBQRU5EAFFVQVRfQVNTVU1FX05PVF9VTklUAFFVQVRfQVNTVU1FX1VOSVQAUXVhdEVudW1fRVVMRVJfQU5HTEVTX01BWF9WQUxVRQBRdWF0RW51bV9FWFRfWFlYAFF1YXRFbnVtX0VYVF9YWVoAUXVhdEVudW1fRVhUX1haWABRdWF0RW51bV9FWFRfWFpZAFF1YXRFbnVtX0VYVF9ZWFkAUXVhdEVudW1fRVhUX1lYWgBRdWF0RW51bV9FWFRfWVpYAFF1YXRFbnVtX0VYVF9ZWlkAUXVhdEVudW1fRVhUX1pYWQBRdWF0RW51bV9FWFRfWlhaAFF1YXRFbnVtX0VYVF9aWVgAUXVhdEVudW1fRVhUX1pZWgBRdWF0RW51bV9JTlRfWFlYAFF1YXRFbnVtX0lOVF9YWVoAUXVhdEVudW1fSU5UX1haWABRdWF0RW51bV9JTlRfWFpZAFF1YXRFbnVtX0lOVF9ZWFkAUXVhdEVudW1fSU5UX1lYWgBRdWF0RW51bV9JTlRfWVpYAFF1YXRFbnVtX0lOVF9ZWlkAUXVhdEVudW1fSU5UX1pYWQBRdWF0RW51bV9JTlRfWlhaAFF1YXRFbnVtX0lOVF9aWVgAUXVhdEVudW1fSU5UX1pZWgBSQU5TQUMAUkVDVVJTX0ZJTFRFUgBSRURVQ0VfQVZHAFJFRFVDRV9NQVgAUkVEVUNFX01JTgBSRURVQ0VfU1VNAFJFVFJfQ0NPTVAAUkVUUl9FWFRFUk5BTABSRVRSX0ZMT09ERklMTABSRVRSX0xJU1QAUkVUUl9UUkVFAFJITwBSTkdfTk9STUFMAFJOR19VTklGT1JNAFJPVEFURV8xODAAUk9UQVRFXzkwX0NMT0NLV0lTRQBST1RBVEVfOTBfQ09VTlRFUkNMT0NLV0lTRQBTQU1QTElOR19OQVBTQUMAU0FNUExJTkdfUFJPR1JFU1NJVkVfTkFQU0FDAFNBTVBMSU5HX1BST1NBQwBTQU1QTElOR19VTklGT1JNAFNDT1JFX01FVEhPRF9MTUVEUwBTQ09SRV9NRVRIT0RfTUFHU0FDAFNDT1JFX01FVEhPRF9NU0FDAFNDT1JFX01FVEhPRF9SQU5TQUMAU09MVkVMUF9NVUxUSQBTT0xWRUxQX1NJTkdMRQBTT0xWRUxQX1VOQk9VTkRFRABTT0xWRUxQX1VORkVBU0lCTEUAU09MVkVQTlBfQVAzUABTT0xWRVBOUF9ETFMAU09MVkVQTlBfRVBOUABTT0xWRVBOUF9JUFBFAFNPTFZFUE5QX0lQUEVfU1FVQVJFAFNPTFZFUE5QX0lURVJBVElWRQBTT0xWRVBOUF9NQVhfQ09VTlQAU09MVkVQTlBfUDNQAFNPTFZFUE5QX1NRUE5QAFNPTFZFUE5QX1VQTlAAU09SVF9BU0NFTkRJTkcAU09SVF9ERVNDRU5ESU5HAFNPUlRfRVZFUllfQ09MVU1OAFNPUlRfRVZFUllfUk9XAFNWRF9GVUxMX1VWAFNWRF9NT0RJRllfQQBTVkRfTk9fVVYAU3BhcnNlTWF0X0hBU0hfQklUAFNwYXJzZU1hdF9IQVNIX1NDQUxFAFNwYXJzZU1hdF9NQUdJQ19WQUwAU3BhcnNlTWF0X01BWF9ESU0AU3RlcmVvQk1fUFJFRklMVEVSX05PUk1BTElaRURfUkVTUE9OU0UAU3RlcmVvQk1fUFJFRklMVEVSX1hTT0JFTABTdGVyZW9NYXRjaGVyX0RJU1BfU0NBTEUAU3RlcmVvTWF0Y2hlcl9ESVNQX1NISUZUAFN0ZXJlb1NHQk1fTU9ERV9ISABTdGVyZW9TR0JNX01PREVfSEg0AFN0ZXJlb1NHQk1fTU9ERV9TR0JNAFN0ZXJlb1NHQk1fTU9ERV9TR0JNXzNXQVkAU3ViZGl2MkRfTkVYVF9BUk9VTkRfRFNUAFN1YmRpdjJEX05FWFRfQVJPVU5EX0xFRlQAU3ViZGl2MkRfTkVYVF9BUk9VTkRfT1JHAFN1YmRpdjJEX05FWFRfQVJPVU5EX1JJR0hUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX0RTVABTdWJkaXYyRF9QUkVWX0FST1VORF9MRUZUAFN1YmRpdjJEX1BSRVZfQVJPVU5EX09SRwBTdWJkaXYyRF9QUkVWX0FST1VORF9SSUdIVABTdWJkaXYyRF9QVExPQ19FUlJPUgBTdWJkaXYyRF9QVExPQ19JTlNJREUAU3ViZGl2MkRfUFRMT0NfT05fRURHRQBTdWJkaXYyRF9QVExPQ19PVVRTSURFX1JFQ1QAU3ViZGl2MkRfUFRMT0NfVkVSVEVYAFRIUkVTSF9CSU5BUlkAVEhSRVNIX0JJTkFSWV9JTlYAVEhSRVNIX01BU0sAVEhSRVNIX09UU1UAVEhSRVNIX1RPWkVSTwBUSFJFU0hfVE9aRVJPX0lOVgBUSFJFU0hfVFJJQU5HTEUAVEhSRVNIX1RSVU5DAFRNX0NDT0VGRgBUTV9DQ09FRkZfTk9STUVEAFRNX0NDT1JSAFRNX0NDT1JSX05PUk1FRABUTV9TUURJRkYAVE1fU1FESUZGX05PUk1FRABUZXJtQ3JpdGVyaWFfQ09VTlQAVGVybUNyaXRlcmlhX0VQUwBUZXJtQ3JpdGVyaWFfTUFYX0lURVIAVU1hdERhdGFfQVNZTkNfQ0xFQU5VUABVTWF0RGF0YV9DT1BZX09OX01BUABVTWF0RGF0YV9ERVZJQ0VfQ09QWV9PQlNPTEVURQBVTWF0RGF0YV9ERVZJQ0VfTUVNX01BUFBFRABVTWF0RGF0YV9IT1NUX0NPUFlfT0JTT0xFVEUAVU1hdERhdGFfVEVNUF9DT1BJRURfVU1BVABVTWF0RGF0YV9URU1QX1VNQVQAVU1hdERhdGFfVVNFUl9BTExPQ0FURUQAVU1hdF9BVVRPX1NURVAAVU1hdF9DT05USU5VT1VTX0ZMQUcAVU1hdF9ERVBUSF9NQVNLAFVNYXRfTUFHSUNfTUFTSwBVTWF0X01BR0lDX1ZBTABVTWF0X1NVQk1BVFJJWF9GTEFHAFVNYXRfVFlQRV9NQVNLAFVTQUNfQUNDVVJBVEUAVVNBQ19ERUZBVUxUAFVTQUNfRkFTVABVU0FDX0ZNXzhQVFMAVVNBQ19NQUdTQUMAVVNBQ19QQVJBTExFTABVU0FDX1BST1NBQwBVU0FHRV9BTExPQ0FURV9ERVZJQ0VfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX0hPU1RfTUVNT1JZAFVTQUdFX0FMTE9DQVRFX1NIQVJFRF9NRU1PUlkAVVNBR0VfREVGQVVMVABXQVJQX0ZJTExfT1VUTElFUlMAV0FSUF9JTlZFUlNFX01BUABXQVJQX1BPTEFSX0xJTkVBUgBXQVJQX1BPTEFSX0xPRwBfSW5wdXRBcnJheV9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfQ1VEQV9IT1NUX01FTQBfSW5wdXRBcnJheV9FWFBSAF9JbnB1dEFycmF5X0ZJWEVEX1NJWkUAX0lucHV0QXJyYXlfRklYRURfVFlQRQBfSW5wdXRBcnJheV9LSU5EX01BU0sAX0lucHV0QXJyYXlfS0lORF9TSElGVABfSW5wdXRBcnJheV9NQVQAX0lucHV0QXJyYXlfTUFUWABfSW5wdXRBcnJheV9OT05FAF9JbnB1dEFycmF5X09QRU5HTF9CVUZGRVIAX0lucHV0QXJyYXlfU1REX0FSUkFZAF9JbnB1dEFycmF5X1NURF9BUlJBWV9NQVQAX0lucHV0QXJyYXlfU1REX0JPT0xfVkVDVE9SAF9JbnB1dEFycmF5X1NURF9WRUNUT1IAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9DVURBX0dQVV9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9NQVQAX0lucHV0QXJyYXlfU1REX1ZFQ1RPUl9VTUFUAF9JbnB1dEFycmF5X1NURF9WRUNUT1JfVkVDVE9SAF9JbnB1dEFycmF5X1VNQVQAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMTZGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzE2UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS18xNlUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfMzJGAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLXzMyUwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS182NEYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFMAX091dHB1dEFycmF5X0RFUFRIX01BU0tfOFUAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMAF9PdXRwdXRBcnJheV9ERVBUSF9NQVNLX0FMTF8xNkYAX091dHB1dEFycmF5X0RFUFRIX01BU0tfQUxMX0JVVF84UwBfT3V0cHV0QXJyYXlfREVQVEhfTUFTS19GTFQAX19VTUFUX1VTQUdFX0ZMQUdTXzMyQklUAEJhZEFsaWduAEJhZEFscGhhQ2hhbm5lbABCYWRDT0kAQmFkQ2FsbEJhY2sAQmFkRGF0YVB0cgBCYWREZXB0aABCYWRJbWFnZVNpemUAQmFkTW9kZWxPckNoU2VxAEJhZE51bUNoYW5uZWwxVQBCYWROdW1DaGFubmVscwBCYWRPZmZzZXQAQmFkT3JkZXIAQmFkT3JpZ2luAEJhZFJPSVNpemUAQmFkU3RlcABCYWRUaWxlU2l6ZQBHcHVBcGlDYWxsRXJyb3IAR3B1Tm90U3VwcG9ydGVkAEhlYWRlcklzTnVsbABNYXNrSXNUaWxlZABPcGVuQ0xBcGlDYWxsRXJyb3IAT3BlbkNMRG91YmxlTm90U3VwcG9ydGVkAE9wZW5DTEluaXRFcnJvcgBPcGVuQ0xOb0FNREJsYXNGZnQAT3BlbkdsQXBpQ2FsbEVycm9yAE9wZW5HbE5vdFN1cHBvcnRlZABTdHNBc3NlcnQAU3RzQXV0b1RyYWNlAFN0c0JhY2tUcmFjZQBTdHNCYWRBcmcAU3RzQmFkRmxhZwBTdHNCYWRGdW5jAFN0c0JhZE1hc2sAU3RzQmFkTWVtQmxvY2sAU3RzQmFkUG9pbnQAU3RzQmFkU2l6ZQBTdHNEaXZCeVplcm8AU3RzRXJyb3IAU3RzRmlsdGVyT2Zmc2V0RXJyAFN0c0ZpbHRlclN0cnVjdENvbnRlbnRFcnIAU3RzSW5wbGFjZU5vdFN1cHBvcnRlZABTdHNJbnRlcm5hbABTdHNLZXJuZWxTdHJ1Y3RDb250ZW50RXJyAFN0c05vQ29udgBTdHNOb01lbQBTdHNOb3RJbXBsZW1lbnRlZABTdHNOdWxsUHRyAFN0c09iamVjdE5vdEZvdW5kAFN0c09rAFN0c091dE9mUmFuZ2UAU3RzUGFyc2VFcnJvcgBTdHNVbm1hdGNoZWRGb3JtYXRzAFN0c1VubWF0Y2hlZFNpemVzAFN0c1Vuc3VwcG9ydGVkRm9ybWF0AFN0c1ZlY0xlbmd0aEVycgBURVNUX0NVU1RPTQBURVNUX0VRAFRFU1RfR0UAVEVTVF9HVABURVNUX0xFAFRFU1RfTFQAVEVTVF9ORQBUcmFja2VyU2FtcGxlckNTQ19NT0RFX0RFVEVDVABUcmFja2VyU2FtcGxlckNTQ19NT0RFX0lOSVRfTkVHAFRyYWNrZXJTYW1wbGVyQ1NDX01PREVfSU5JVF9QT1MAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19ORUcAVHJhY2tlclNhbXBsZXJDU0NfTU9ERV9UUkFDS19QT1MARE5OX0JBQ0tFTkRfQ1VEQQBETk5fQkFDS0VORF9ERUZBVUxUAEROTl9CQUNLRU5EX0hBTElERQBETk5fQkFDS0VORF9JTkZFUkVOQ0VfRU5HSU5FAEROTl9CQUNLRU5EX09QRU5DVgBETk5fQkFDS0VORF9WS0NPTQBETk5fQkFDS0VORF9XRUJOTgBETk5fVEFSR0VUX0NQVQBETk5fVEFSR0VUX0NVREEARE5OX1RBUkdFVF9DVURBX0ZQMTYARE5OX1RBUkdFVF9GUEdBAEROTl9UQVJHRVRfSERETABETk5fVEFSR0VUX01ZUklBRABETk5fVEFSR0VUX09QRU5DTABETk5fVEFSR0VUX09QRU5DTF9GUDE2AEROTl9UQVJHRVRfVlVMS0FOAFNvZnROTVNNZXRob2RfU09GVE5NU19HQVVTU0lBTgBTb2Z0Tk1TTWV0aG9kX1NPRlROTVNfTElORUFSAENBTElCX0NIRUNLX0NPTkQAQ0FMSUJfRklYX1NLRVcAQ0FMSUJfUkVDT01QVVRFX0VYVFJJTlNJQwBFTlVNX0xPR19MRVZFTF9GT1JDRV9JTlQATE9HX0xFVkVMX0RFQlVHAExPR19MRVZFTF9FUlJPUgBMT0dfTEVWRUxfRkFUQUwATE9HX0xFVkVMX0lORk8ATE9HX0xFVkVMX1NJTEVOVABMT0dfTEVWRUxfVkVSQk9TRQBMT0dfTEVWRUxfV0FSTklORwAAHGkCAHxpAgAcaQIAoGkCABxpAgDoSAAATjJjdjZQb2ludF9JZkVFABRqAgDYSAAAHGkCAAxJAABOMmN2MTFSb3RhdGVkUmVjdEUAABRqAgD4SAAAHGkCACxJAABOMmN2NVJlY3RfSWlFRQAAFGoCABxJAAAcaQIAfGkCABxpAgA0aQIAcHVzaF9iYWNrAHJlc2l6ZQBnZXQAc2V0AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATlN0M19fMjZ2ZWN0b3JJaU5TXzlhbGxvY2F0b3JJaUVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlpTlNfOWFsbG9jYXRvcklpRUVFRQBOU3QzX18yMjBfX3ZlY3Rvcl9iYXNlX2NvbW1vbklMYjFFRUUAAAAUagIA8UkAAJhqAgDFSQAAAAAAAAEAAAAYSgAAAAAAAJhqAgChSQAAAAAAAAEAAAAgSgAAAAAAAFBOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAAD0agIAUEoAAAAAAAA4SgAAUEtOU3QzX18yNnZlY3RvcklpTlNfOWFsbG9jYXRvcklpRUVFRQAAAPRqAgCISgAAAQAAADhKAABpaQB2AHZpAHhKAAAcaQIAeEoAAHxpAgB2aWlpAAAAABxpAgB4SgAAoGkCAHxpAgB2aWlpaQAAAKBpAgCwSgAAaWlpACRLAAA4SgAAoGkCAE4xMGVtc2NyaXB0ZW4zdmFsRQAAFGoCABBLAABpaWlpAEHAlgELswg0aQIAOEoAAKBpAgB8aQIAaWlpaWkATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlmTlNfOWFsbG9jYXRvcklmRUVFRQAAAJhqAgB6SwAAAAAAAAEAAAAYSgAAAAAAAJhqAgBWSwAAAAAAAAEAAACoSwAAAAAAAFBOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAAD0agIA2EsAAAAAAADASwAAUEtOU3QzX18yNnZlY3RvcklmTlNfOWFsbG9jYXRvcklmRUVFRQAAAPRqAgAQTAAAAQAAAMBLAAAATAAAHGkCAABMAACsaQIAdmlpZgAAAAAcaQIAAEwAAKBpAgCsaQIAdmlpaWYAAACgaQIAOEwAACRLAADASwAAoGkCAAAAAAA0aQIAwEsAAKBpAgCsaQIAaWlpaWYATlN0M19fMjZ2ZWN0b3JJZE5TXzlhbGxvY2F0b3JJZEVFRUUATlN0M19fMjEzX192ZWN0b3JfYmFzZUlkTlNfOWFsbG9jYXRvcklkRUVFRQAAAJhqAgDKTAAAAAAAAAEAAAAYSgAAAAAAAJhqAgCmTAAAAAAAAAEAAAD4TAAAAAAAAFBOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAAD0agIAKE0AAAAAAAAQTQAAUEtOU3QzX18yNnZlY3RvcklkTlNfOWFsbG9jYXRvcklkRUVFRQAAAPRqAgBgTQAAAQAAABBNAABQTQAAHGkCAFBNAAC4aQIAdmlpZAAAAAAcaQIAUE0AAKBpAgC4aQIAdmlpaWQAAACgaQIAiE0AACRLAAAQTQAAoGkCAAAAAAA0aQIAEE0AAKBpAgC4aQIAaWlpaWQATlN0M19fMjZ2ZWN0b3JJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjZQb2ludF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAmGoCACpOAAAAAAAAAQAAABhKAAAAAAAAmGoCAPZNAAAAAAAAAQAAAGhOAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y2UG9pbnRfSWlFRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAD0agIAmE4AAAAAAACATgAAUEtOU3QzX18yNnZlY3RvcklOMmN2NlBvaW50X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAD0agIA4E4AAAEAAACATgAA0E4AABxpAgDQTgAASE8AAE4yY3Y2UG9pbnRfSWlFRQAUagIAOE8AABxpAgDQTgAAoGkCAEhPAACgaQIAGE8AACRLAACATgAAoGkCAEGAnwELxgI0aQIAgE4AAKBpAgBITwAATlN0M19fMjZ2ZWN0b3JJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjNNYXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAJhqAgC+TwAAAAAAAAEAAAAYSgAAAAAAAJhqAgCQTwAAAAAAAAEAAAD0TwAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2M01hdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAPRqAgAkUAAAAAAAAAxQAABQS05TdDNfXzI2dmVjdG9ySU4yY3YzTWF0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQD0agIAZFAAAAEAAAAMUAAAVFAAABxpAgBUUAAAwFAAAE4yY3YzTWF0RQAAABRqAgC0UABB0KEBCyMcaQIAVFAAAKBpAgDAUAAAoGkCAJRQAAAkSwAADFAAAKBpAgBBgKIBC/MCNGkCAAxQAACgaQIAwFAAAE5TdDNfXzI2dmVjdG9ySU4yY3Y1UmVjdF9JaUVFTlNfOWFsbG9jYXRvcklTM19FRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAACYagIAQ1EAAAAAAAABAAAAGEoAAAAAAACYagIAEFEAAAAAAAABAAAAgFEAAAAAAABQTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUA9GoCALBRAAAAAAAAmFEAAFBLTlN0M19fMjZ2ZWN0b3JJTjJjdjVSZWN0X0lpRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAA9GoCAPRRAAABAAAAmFEAAORRAAAcaQIA5FEAACxJAAAAAAAAHGkCAORRAACgaQIALEkAAKBpAgAsUgAAJEsAAJhRAACgaQIAQYClAQviAjRpAgCYUQAAoGkCACxJAABOU3QzX18yNnZlY3RvcklOMmN2OEtleVBvaW50RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAmGoCAMNSAAAAAAAAAQAAABhKAAAAAAAAmGoCAJBSAAAAAAAAAQAAAABTAAAAAAAAUE5TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAPRqAgAwUwAAAAAAABhTAABQS05TdDNfXzI2dmVjdG9ySU4yY3Y4S2V5UG9pbnRFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAAPRqAgB0UwAAAQAAABhTAABkUwAAHGkCAGRTAADcUwAATjJjdjhLZXlQb2ludEUAABRqAgDMUwBB8KcBCyMcaQIAZFMAAKBpAgDcUwAAoGkCAKxTAAAkSwAAGFMAAKBpAgBBoKgBC4MDNGkCABhTAACgaQIA3FMAAE5TdDNfXzI2dmVjdG9ySU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQBOU3QzX18yMTNfX3ZlY3Rvcl9iYXNlSU4yY3Y2RE1hdGNoRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAJhqAgBhVAAAAAAAAAEAAAAYSgAAAAAAAJhqAgAwVAAAAAAAAAEAAACcVAAAAAAAAFBOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAD0agIAzFQAAAAAAAC0VAAAUEtOU3QzX18yNnZlY3RvcklOMmN2NkRNYXRjaEVO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Yy9tb2R1bGVzL2NvcmUvc3JjL2FsbG9jLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYXJyYXkuY3BwAE5vbi1wb3NpdGl2ZSB3aWR0aCBvciBoZWlnaHQAY3ZDcmVhdGVNYXRIZWFkZXIASW52YWxpZCBtYXRyaXggdHlwZQAAY3ZJbml0TWF0SGVhZGVyAE5vbi1wb3NpdGl2ZSBjb2xzIG9yIHJvd3MAY3ZSZWxlYXNlTWF0AEJhZCBDdk1hdCBoZWFkZXIAY3ZDbG9uZU1hdABJbnZhbGlkIHNwYXJzZSBtYXRyaXggaGVhZGVyAGN2SW5pdFNwYXJzZU1hdEl0ZXJhdG9yAE5VTEwgaXRlcmF0b3IgcG9pbnRlcgBEYXRhIGlzIGFscmVhZHkgYWxsb2NhdGVkAGN2Q3JlYXRlRGF0YQBUb28gYmlnIGJ1ZmZlciBpcyBhbGxvY2F0ZWQAT3ZlcmZsb3cgZm9yIGltYWdlU2l6ZQB1bnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBPbmx5IGNvbnRpbnVvdXMgbkQgYXJyYXlzIGFyZSBzdXBwb3J0ZWQgaGVyZQBjdkdldENvbHMATlVMTCBhcnJheSBwb2ludGVyIGlzIHBhc3NlZABjdkdldE1hdABUaGUgbWF0cml4IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBUaGUgaW1hZ2UgaGFzIE5VTEwgZGF0YSBwb2ludGVyAEltYWdlcyB3aXRoIHBsYW5hciBkYXRhIGxheW91dCBzaG91bGQgYmUgdXNlZCB3aXRoIENPSSBzZWxlY3RlZABUaGUgaW1hZ2UgaXMgaW50ZXJsZWF2ZWQgYW5kIGhhcyBvdmVyIENWX0NOX01BWCBjaGFubmVscwBQaXhlbCBvcmRlciBzaG91bGQgYmUgdXNlZCB3aXRoIGNvaSA9PSAwAElucHV0IGFycmF5IGhhcyBOVUxMIGRhdGEgcG9pbnRlcgBVbnJlY29nbml6ZWQgb3IgdW5zdXBwb3J0ZWQgYXJyYXkgdHlwZQBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdHJpeCBlbGVtZW50cyBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIHJvd3MAY3ZSZXNoYXBlAENPSSBpcyBub3Qgc3VwcG9ydGVkAFRoZSBtYXRyaXggaXMgbm90IGNvbnRpbnVvdXMsIHRodXMgaXRzIG51bWJlciBvZiByb3dzIGNhbiBub3QgYmUgY2hhbmdlZABCYWQgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAGN2R2V0SW1hZ2VDT0kAc3JjICYmIG5zcmNzID4gMCAmJiBkc3QgJiYgbmRzdHMgPiAwICYmIGZyb21UbyAmJiBucGFpcnMgPiAwAG1peENoYW5uZWxzAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jaGFubmVscy5jcHAAaiA8IG5zcmNzICYmIHNyY1tqXS5kZXB0aCgpID09IGRlcHRoAGkxID49IDAgJiYgaiA8IG5kc3RzICYmIGRzdFtqXS5kZXB0aCgpID09IGRlcHRoAEGQ2AELmiFDAgAAQwIAAEQCAABEAgAARQIAAEUCAABGAgAAAAAAAGNuIDw9IDQAc2NhbGFyVG9SYXdEYXRhAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3B5LmNwcAAAY3Z0Rm4AY29udmVydEFuZFVucm9sbFNjYWxhcgBzY24gPT0gMQBjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51ICE9IE5VTEwAZGltcyA+IDAgJiYgZGltcyA8IENWX01BWF9ESU0A/GwAAEhsAABmAQAABQAAAGdsAAAobQAAMW0AAHZvaWQgY3Y6Ok1hdDo6Y29weVRvKGN2OjpPdXRwdXRBcnJheSkgY29uc3QAc3oud2lkdGgAMABtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikAc2l6ZSgpID09IG1hc2suc2l6ZSgpAHN6IDw9IHNpemVvZihzY2FsYXIpAG9wZXJhdG9yPQBjaGVja1NjYWxhcih2YWx1ZSwgdHlwZSgpLCBfdmFsdWUua2luZCgpLCBfSW5wdXRBcnJheTo6TUFUICkAc2V0VG8AbWFzay5lbXB0eSgpIHx8IChtYXNrLmRlcHRoKCkgPT0gQ1ZfOFUgJiYgKG1jbiA9PSAxIHx8IG1jbiA9PSBjbikgJiYgc2l6ZSA9PSBtYXNrLnNpemUpAF9zcmMuZ2V0T2JqKCkgIT0gX2RzdC5nZXRPYmooKQByZXBlYXQAX3NyYy5kaW1zKCkgPD0gMgBueSA+IDAgJiYgbnggPiAwAG1hc2thcnIgPT0gMABjdkNvcHkAc3JjLmRlcHRoKCkgPT0gZHN0LmRlcHRoKCkgJiYgc3JjLnNpemUgPT0gZHN0LnNpemUAKGNvaTEgIT0gMCB8fCBzcmMuY2hhbm5lbHMoKSA9PSAxKSAmJiAoY29pMiAhPSAwIHx8IGRzdC5jaGFubmVscygpID09IDEpAHNyYy5jaGFubmVscygpID09IGRzdC5jaGFubmVscygpAAAvc3JjL21vZHVsZXMvY29yZS9zcmMvZGF0YXN0cnVjdHMuY3BwAGN2UmVzdG9yZU1lbVN0b3JhZ2VQb3MATlVMTCBzdG9yYWdlIHBvaW50ZXIAY3ZNZW1TdG9yYWdlQWxsb2MAVG9vIGxhcmdlIG1lbW9yeSBibG9jayBpcyByZXF1ZXN0ZWQAc3RvcmFnZS0+ZnJlZV9zcGFjZSAlIENWX1NUUlVDVF9BTElHTiA9PSAwAHJlcXVlc3RlZCBzaXplIGlzIG5lZ2F0aXZlIG9yIHRvbyBiaWcAKHNpemVfdClwdHIgJSBDVl9TVFJVQ1RfQUxJR04gPT0gMABjdlNldFNlcUJsb2NrU2l6ZQBTdG9yYWdlIGJsb2NrIHNpemUgaXMgdG9vIHNtYWxsIHRvIGZpdCB0aGUgc2VxdWVuY2UgZWxlbWVudHMAY3ZDdnRTZXFUb0FycmF5AGN2U2V0U2VxUmVhZGVyUG9zAE5VTEwgc2VxdWVuY2UgcG9pbnRlcgBudW1iZXIgb2YgcmVtb3ZlZCBlbGVtZW50cyBpcyBuZWdhdGl2ZQBjdlNlcVBvcE11bHRpAGRlbHRhID4gMABjdkNsZWFyU2VxAGN2U2V0QWRkAGNvdW50IDw9IENWX1NFVF9FTEVNX0lEWF9NQVNLKzEAaWN2R29OZXh0TWVtQmxvY2sAcGFyZW50LT5ib3R0b20gPT0gYmxvY2sAaWN2R3Jvd1NlcQBUaGUgc2VxdWVuY2UgaGFzIE5VTEwgc3RvcmFnZSBwb2ludGVyAHN0b3JhZ2UtPmZyZWVfc3BhY2UgPj0gZGVsdGEAYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMCAmJiBibG9jay0+Y291bnQgPiAwAHNlcS0+Zmlyc3QtPnN0YXJ0X2luZGV4ID09IDAAKGluX2Zyb250X29mID8gYmxvY2sgOiBibG9jay0+cHJldiktPmNvdW50ID09IDAAaWN2RnJlZVNlcUJsb2NrAHNlcS0+cHRyID09IGJsb2NrLT5kYXRhAGJsb2NrLT5jb3VudCA+IDAgJiYgYmxvY2stPmNvdW50ICUgc2VxLT5lbGVtX3NpemUgPT0gMAAvc3JjL21vZHVsZXMvY29yZS9zcmMvbGFwYWNrLmNwcAAhbWF0LmVtcHR5KCkAZGV0ZXJtaW5hbnQAbWF0LnJvd3MgPT0gbWF0LmNvbHMgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQB0eXBlID09IENWXzMyRiB8fCB0eXBlID09IENWXzY0RgBpbnZlcnQAbSA9PSBuAG1ldGhvZCA9PSBERUNPTVBfTFUgfHwgbWV0aG9kID09IERFQ09NUF9DSE9MRVNLWQBuID09IDEAdHlwZSA9PSBfc3JjMi50eXBlKCkgJiYgKHR5cGUgPT0gQ1ZfMzJGIHx8IHR5cGUgPT0gQ1ZfNjRGKQBzb2x2ZQC4cwAAf3IAAEgEAAAAAAAA/XMAACJ0AAApdAAAYm9vbCBjdjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGludCkAVW5zdXBwb3J0ZWQgbWV0aG9kLCBzZWUgI0RlY29tcFR5cGVzAG1ldGhvZABtZXRob2QgPT0gREVDT01QX0xVIHx8IG1ldGhvZCA9PSBERUNPTVBfU1ZEIHx8IG1ldGhvZCA9PSBERUNPTVBfRUlHIHx8IG1ldGhvZCA9PSBERUNPTVBfQ0hPTEVTS1kgfHwgbWV0aG9kID09IERFQ09NUF9RUgAobWV0aG9kICE9IERFQ09NUF9MVSAmJiBtZXRob2QgIT0gREVDT01QX0NIT0xFU0tZKSB8fCBpc19ub3JtYWwgfHwgc3JjLnJvd3MgPT0gc3JjLmNvbHMAc3JjLnJvd3MgPT0gMQBUaGUgZnVuY3Rpb24gY2FuIG5vdCBzb2x2ZSB1bmRlci1kZXRlcm1pbmVkIGxpbmVhciBzeXN0ZW1zAHNyYy5yb3dzID09IHNyYy5jb2xzAGVpZ2VuAHcudHlwZSgpID09IHUudHlwZSgpICYmIHUudHlwZSgpID09IHZ0LnR5cGUoKSAmJiB1LmRhdGEgJiYgdnQuZGF0YSAmJiB3LmRhdGEAYmFja1N1YnN0AHUuY29scyA+PSBubSAmJiB2dC5yb3dzID49IG5tICYmICh3LnNpemUoKSA9PSBTaXplKG5tLCAxKSB8fCB3LnNpemUoKSA9PSBTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBTaXplKHZ0LnJvd3MsIHUuY29scykpAHJocy5kYXRhID09IDAgfHwgKHJocy50eXBlKCkgPT0gdHlwZSAmJiByaHMucm93cyA9PSBtKQAAcm93cyA9PSBtYXQtPmNvbHMAY3ZEZXQAc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpICYmIHNyYy5yb3dzID09IGRzdC5jb2xzICYmIHNyYy5jb2xzID09IGRzdC5yb3dzAGN2SW52ZXJ0AEEudHlwZSgpID09IHgudHlwZSgpICYmIEEuY29scyA9PSB4LnJvd3MgJiYgeC5jb2xzID09IGIuY29scwBjdlNvbHZlAHcudHlwZSgpID09IHR5cGUgJiYgKHcuc2l6ZSgpID09IGN2OjpTaXplKG5tLDEpIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKDEsIG5tKSB8fCB3LnNpemUoKSA9PSBjdjo6U2l6ZShubSwgbm0pIHx8IHcuc2l6ZSgpID09IGN2OjpTaXplKG4sIG0pKQBjdlNWRAB1LnR5cGUoKSA9PSB0eXBlAHYudHlwZSgpID09IHR5cGUAdS5zaXplKCkgPT0gc3ZkLnUuc2l6ZSgpAHYuc2l6ZSgpID09IHN2ZC52dC5zaXplKCkAX1NWRGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5zaW1kLmhwcABjbXBvcCA9PSBDTVBfTkUAY21wX2xvb3Bfbm9zaW1kAGNtcF9sb29wAG9wID09IENNUF9MVCB8fCBvcCA9PSBDTVBfTEUgfHwgb3AgPT0gQ01QX0VRIHx8IG9wID09IENNUF9ORSB8fCBvcCA9PSBDTVBfR0UgfHwgb3AgPT0gQ01QX0dUAGNvbXBhcmUAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL2FyaXRobS5jcHAAX3NyYzEuZW1wdHkoKSA9PSBfc3JjMi5lbXB0eSgpAFRoZSBvcGVyYXRpb24gaXMgbmVpdGhlciAnYXJyYXkgb3AgYXJyYXknICh3aGVyZSBhcnJheXMgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCB0aGUgc2FtZSB0eXBlKSwgbm9yICdhcnJheSBvcCBzY2FsYXInLCBub3IgJ3NjYWxhciBvcCBhcnJheScAVW5zdXBwb3J0ZWQgZGVwdGggdmFsdWUgQ1ZfMTZGAGZ1bmMAY3Z0Rm4Ac3JjMS5zaXplID09IGRzdC5zaXplICYmIHNyYzEuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdlN1YgBiaW5hcnlfb3AAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHR5cGUpLCBub3IgJ2FycmF5IG9wIHNjYWxhcicsIG5vciAnc2NhbGFyIG9wIGFycmF5JwBwc3JjMS0+c2FtZVNpemUoKnBzcmMyKSAmJiB0eXBlMSA9PSB0eXBlMgAobXR5cGUgPT0gQ1ZfOFUgfHwgbXR5cGUgPT0gQ1ZfOFMpICYmIF9tYXNrLnNhbWVTaXplKCpwc3JjMSkAVGhlIG9wZXJhdGlvbiBpcyBuZWl0aGVyICdhcnJheSBvcCBhcnJheScgKHdoZXJlIGFycmF5cyBoYXZlIHRoZSBzYW1lIHNpemUgYW5kIHRoZSBzYW1lIG51bWJlciBvZiBjaGFubmVscyksIG5vciAnYXJyYXkgb3Agc2NhbGFyJywgbm9yICdzY2FsYXIgb3AgYXJyYXknAGFyaXRobV9vcAB0eXBlMiA9PSBDVl82NEYgJiYgKHN6Mi5oZWlnaHQgPT0gMSB8fCBzejIuaGVpZ2h0ID09IDQpAFdoZW4gdGhlIGlucHV0IGFycmF5cyBpbiBhZGQvc3VidHJhY3QvbXVsdGlwbHkvZGl2aWRlIGZ1bmN0aW9ucyBoYXZlIGRpZmZlcmVudCB0eXBlcywgdGhlIG91dHB1dCBhcnJheSB0eXBlIG11c3QgYmUgZXhwbGljaXRseSBzcGVjaWZpZWQAKG10eXBlID09IENWXzhVQzEgfHwgbXR5cGUgPT0gQ1ZfOFNDMSkgJiYgX21hc2suc2FtZVNpemUoKnBzcmMxKQCVAgAAlgIAAJcCAACYAgAAmQIAAJoCAACbAgBBvvkBCwJgwABBzvkBCxrgwAAAAAAAAODBAAAA4P//78f////////v/wBB9fkBC9UI4G9AAAAAAADAX0AAAAAA4P/vQAAAAADA/99AAADA////30EAAADg///vR////////+9/AAAAAAAAAAAEAAAAAQAAAAIAAAAwICYmICJOb3Qgc3VwcG9ydGVkIgAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLnNpbWQuaHBwAGdldFNjYWxlQWRkRnVuYwBmdW5jICYmICJOb3Qgc3VwcG9ydGVkIgBnZXRNdWxUcmFuc3Bvc2VkRnVuYwAvc3JjL21vZHVsZXMvY29yZS9zcmMvbWF0bXVsLmRpc3BhdGNoLmNwcAB0eXBlID09IEIudHlwZSgpAGdlbW0AKHR5cGUgPT0gKCgoNSkgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgxKS0xKSA8PCAzKSkgfHwgdHlwZSA9PSAoKCg2KSAmICgoMSA8PCAzKSAtIDEpKSArICgoKDEpLTEpIDw8IDMpKSB8fCB0eXBlID09ICgoKDUpICYgKCgxIDw8IDMpIC0gMSkpICsgKCgoMiktMSkgPDwgMykpIHx8IHR5cGUgPT0gKCgoNikgJiAoKDEgPDwgMykgLSAxKSkgKyAoKCgyKS0xKSA8PCAzKSkpAGFfc2l6ZS53aWR0aCA9PSBsZW4AYV9zaXplLmhlaWdodCA9PSBsZW4AQy50eXBlKCkgPT0gdHlwZQAoKChmbGFncyZHRU1NXzNfVCkgPT0gMCAmJiBDLnJvd3MgPT0gZF9zaXplLmhlaWdodCAmJiBDLmNvbHMgPT0gZF9zaXplLndpZHRoKSB8fCAoKGZsYWdzJkdFTU1fM19UKSAhPSAwICYmIEMucm93cyA9PSBkX3NpemUud2lkdGggJiYgQy5jb2xzID09IGRfc2l6ZS5oZWlnaHQpKQB0eXBlID09IENWXzY0RkMyAGZ1bmMgIT0gMAB0eXBlID09IF9zcmMyLnR5cGUoKQBzY2FsZUFkZABzcmMxLnNpemUgPT0gc3JjMi5zaXplAHNyYy5jaGFubmVscygpID09IDEAbXVsVHJhbnNwb3NlZABkZWx0YS5jaGFubmVscygpID09IDEAKGRlbHRhLnJvd3MgPT0gc3JjLnJvd3MgfHwgZGVsdGEucm93cyA9PSAxKQAoZGVsdGEuY29scyA9PSBzcmMuY29scyB8fCBkZWx0YS5jb2xzID09IDEpAABtYXQudHlwZSgpID09IHR5cGUoKQBkb3QAbWF0LnNpemUgPT0gc2l6ZQAoRC5yb3dzID09ICgoZmxhZ3MgJiAxKSA9PSAwID8gQS5yb3dzIDogQS5jb2xzKSkAY3ZHRU1NAChELmNvbHMgPT0gKChmbGFncyAmIDIpID09IDAgPyBCLmNvbHMgOiBCLnJvd3MpKQBELnR5cGUoKSA9PSBBLnR5cGUoKQAAAAAAAAAAvAIAAL0CAAC+AgAAvwIAAMACAADBAgAAwgIAQYCDAguILGdlbW1JbXBsADAAR0VNTV9UcmFuc3Bvc2VCbG9jawBkZWx0YV9jb2xzID09IDEATXVsVHJhbnNwb3NlZFIAc3pbaV0gPD0gKHNpemVfdClJTlRfTUFYAGRvd25sb2FkAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tYXRyaXguY3BwAHVwbG9hZABjb3B5ADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABTdGVwICV6dSBmb3IgZGltZW5zaW9uICVkIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxICV6dQBUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAdG90YWwoKSA9PSAwIHx8IGRhdGEgIT0gTlVMTABNYXQAX3N0ZXAgPj0gbWluc3RlcABTdGVwIG11c3QgYmUgYSBtdWx0aXBsZSBvZiBlc3oxAAAAAByDAADggQAA0gEAAAUAAABIgwAASYMAAE+DAABjdjo6TWF0OjpNYXQoY3Y6OlNpemUsIGludCwgdm9pZCAqLCBzaXplX3QpAABfc3RlcABtaW5zdGVwAG0uc3RlcC5wICE9IG0uc3RlcC5idWYAb3BlcmF0b3I9ADAgPD0gZCAmJiBkIDw9IENWX01BWF9ESU0gJiYgX3NpemVzAGNyZWF0ZQB1ICE9IDAAc3RlcFtkaW1zLTFdID09IChzaXplX3QpQ1ZfRUxFTV9TSVpFKGZsYWdzKQBtLmRpbXMgPj0gMgAwIDw9IF9yb3dSYW5nZS5zdGFydCAmJiBfcm93UmFuZ2Uuc3RhcnQgPD0gX3Jvd1JhbmdlLmVuZCAmJiBfcm93UmFuZ2UuZW5kIDw9IG0ucm93cwAwIDw9IF9jb2xSYW5nZS5zdGFydCAmJiBfY29sUmFuZ2Uuc3RhcnQgPD0gX2NvbFJhbmdlLmVuZCAmJiBfY29sUmFuZ2UuZW5kIDw9IG0uY29scwBtLmRpbXMgPD0gMgAwIDw9IHJvaS54ICYmIDAgPD0gcm9pLndpZHRoICYmIHJvaS54ICsgcm9pLndpZHRoIDw9IG0uY29scyAmJiAwIDw9IHJvaS55ICYmIDAgPD0gcm9pLmhlaWdodCAmJiByb2kueSArIHJvaS5oZWlnaHQgPD0gbS5yb3dzAHJhbmdlcwByID09IFJhbmdlOjphbGwoKSB8fCAoMCA8PSByLnN0YXJ0ICYmIHIuc3RhcnQgPCByLmVuZCAmJiByLmVuZCA8PSBtLnNpemVbaV0pAGRpbXMgPD0gMgBkaWFnAGRpbXMgPD0gMiAmJiBzdGVwWzBdID4gMABsb2NhdGVST0kAYWRqdXN0Uk9JAHJlc2hhcGUAVGhlIG1hdHJpeCBpcyBub3QgY29udGludW91cywgdGh1cyBpdHMgbnVtYmVyIG9mIHJvd3MgY2FuIG5vdCBiZSBjaGFuZ2VkAEJhZCBuZXcgbnVtYmVyIG9mIHJvd3MAVGhlIHRvdGFsIG51bWJlciBvZiBtYXRyaXggZWxlbWVudHMgaXMgbm90IGRpdmlzaWJsZSBieSB0aGUgbmV3IG51bWJlciBvZiByb3dzAFRoZSB0b3RhbCB3aWR0aCBpcyBub3QgZGl2aXNpYmxlIGJ5IHRoZSBuZXcgbnVtYmVyIG9mIGNoYW5uZWxzAF9jbiA+PSAwICYmIF9uZXduZGltcyA+IDAgJiYgX25ld25kaW1zIDw9IENWX01BWF9ESU0gJiYgX25ld3N6AF9jbiA8PSBDVl9DTl9NQVgAX25ld3N6W2ldID49IDAAQ29weSBkaW1lbnNpb24gKHdoaWNoIGhhcyB6ZXJvIHNpemUpIGlzIG5vdCBwcmVzZW50IGluIHNvdXJjZSBtYXRyaXgAUmVxdWVzdGVkIGFuZCBzb3VyY2UgbWF0cmljZXMgaGF2ZSBkaWZmZXJlbnQgY291bnQgb2YgZWxlbWVudHMAUmVzaGFwaW5nIG9mIG4tZGltZW5zaW9uYWwgbm9uLWNvbnRpbnVvdXMgbWF0cmljZXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQA4IcAAOCBAAAXBQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgaW50KQBtMS5kaW1zADIAADiIAADggQAAHQUAAAMAAABIgwAAEYgAABmIAABjdjo6U2l6ZSBjdjo6Z2V0Q29udGludW91c1NpemUyRChjdjo6TWF0ICYsIGN2OjpNYXQgJiwgaW50KQA4iAAA4IEAAB4FAAADAAAASIMAAJCIAAAZiAAAbTIuZGltcwA4iAAA4IEAACMFAAABAAAASIMAALSIAAC9iAAAdG90YWxfc3oAbTIudG90YWwoKQBpc19tMV92ZWN0b3IAZ2V0Q29udGludW91c1NpemUyRABpc19tMl92ZWN0b3IAbTEuY29scyA9PSBtMi5jb2xzICYmIG0xLnJvd3MgPT0gbTIucm93cwAAPIkAAOCBAAA3BQAAAwAAAEiDAAARiAAAGYgAAGN2OjpTaXplIGN2OjpnZXRDb250aW51b3VzU2l6ZTJEKGN2OjpNYXQgJiwgY3Y6Ok1hdCAmLCBjdjo6TWF0ICYsIGludCkAADyJAADggQAAOAUAAAMAAABIgwAAkIgAABmIAAA8iQAA4IEAADkFAAADAAAASIMAALyJAAAZiAAAbTMuZGltcwA8iQAA4IEAAD4FAAABAAAASIMAALSIAAC9iAAAPIkAAOCBAAA/BQAAAQAAAEiDAAC0iAAA/IkAAG0zLnRvdGFsKCkAaXNfbTNfdmVjdG9yAG0xLmNvbHMgPT0gbTIuY29scyAmJiBtMS5yb3dzID09IG0yLnJvd3MgJiYgbTEuY29scyA9PSBtMy5jb2xzICYmIG0xLnJvd3MgPT0gbTMucm93cwBOMmN2MTJNYXRBbGxvY2F0b3JFAAAAABRqAgBpigAAAAAAAPCKAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAABOMmN2MjVEdW1teUJ1ZmZlclBvb2xDb250cm9sbGVyRQBOMmN2MjBCdWZmZXJQb29sQ29udHJvbGxlckUAAAAAFGoCAMmKAAA8agIAqIoAAOiKAAAAAAAASIsAAMkCAADKAgAAywIAAMwCAADNAgAAzgIAAM8CAADQAgAA0QIAANICAADTAgAATjJjdjE1U3RkTWF0QWxsb2NhdG9yRQAAPGoCADCLAACAigAAdG90YWwgPD0gc3RlcFtpXQBhbGxvY2F0ZQB1LT51cmVmY291bnQgPT0gMABkZWFsbG9jYXRlAHUtPnJlZmNvdW50ID09IDAAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdHJpeF9jLmNwcABDT0kgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZnVuY3Rpb24AY3ZhcnJUb01hdAB0b3RhbCA+IDAgJiYgQ1ZfRUxFTV9TSVpFKHNlcS0+ZmxhZ3MpID09IGVzegBVbmtub3duIGFycmF5IHR5cGUAQ1ZfSVNfSU1BR0UoYXJyKQBleHRyYWN0SW1hZ2VDT0kAMCA8PSBjb2kgJiYgY29pIDwgbWF0LmNoYW5uZWxzKCkAc3JjLnJvd3MgPT0gZHN0LmNvbHMgJiYgc3JjLmNvbHMgPT0gZHN0LnJvd3MgJiYgc3JjLnR5cGUoKSA9PSBkc3QudHlwZSgpAGN2VHJhbnNwb3NlAHNyY0Euc2l6ZSgpID09IGRzdC5zaXplKCkgJiYgc3JjQS50eXBlKCkgPT0gZHN0LnR5cGUoKQBjdkNyb3NzUHJvZHVjdABpbWctPmRhdGFPcmRlciA9PSBJUExfREFUQV9PUkRFUl9QSVhFTABpcGxJbWFnZVRvTWF0AGltZy0+ZGF0YU9yZGVyID09IElQTF9EQVRBX09SREVSX1BJWEVMIHx8IGltZy0+cm9pLT5jb2kgIT0gMABnbG9iYWwAJWRAJTAuM2YAJWRAJWxsdQAlZABbRkFUQUw6AF0gAFtFUlJPUjoAWyBXQVJOOgBbIElORk86AFtERUJVRzoAIAAoACkgAE9QRU5DVl9MT0dfTEVWRUwAAE9QRU5DVl9MT0dfVElNRVNUQU1QAE9QRU5D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KXZ2LnNpemUoKQAwIDw9IGkgJiYgaSA8IChpbnQpdi5zaXplKCkAMCA8PSBpICYmIGkgPCBzei5oZWlnaHQAWW91IHNob3VsZCBleHBsaWNpdGx5IGNhbGwgbWFwSG9zdC91bm1hcEhvc3QgbWV0aG9kcyBmb3Igb2dsOjpCdWZmZXIgb2JqZWN0AFlvdSBzaG91bGQgZXhwbGljaXRseSBjYWxsIGRvd25sb2FkIG1ldGhvZCBmb3IgY3VkYTo6R3B1TWF0IG9iamVjdABVbmtub3duL3Vuc3VwcG9ydGVkIGFycmF5IHR5cGUAZ2V0VU1hdABnZXRNYXRWZWN0b3IAZ2V0VU1hdFZlY3RvcgBDVURBIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9DVURBKQBzaXplAGkgPCAoaW50KXZ2LnNpemUoKQBpIDwgc3ouaGVpZ2h0AHNpemVuZAComgAA0pgAADcCAAADAAAA1poAAOSaAADsmgAAaW50IGN2OjpfSW5wdXRBcnJheTo6c2l6ZW5kKGludCAqLCBpbnQpIGNvbnN0AE5vdCBzdXBwb3J0ZWQAZGltcyhpKQAyAGRpbXMAKGZsYWdzICYgRklYRURfVFlQRSkgIT0gMAB0eXBlAGVtcHR5AGkgPj0gMCAmJiAoc2l6ZV90KWkgPCB2di5zaXplKCkAaXNDb250aW51b3VzAGkgPj0gMCAmJiBpIDwgc3ouaGVpZ2h0AABjb3B5VG8AIWZpeGVkU2l6ZSgpIHx8ICgoTWF0KilvYmopLT5zaXplLm9wZXJhdG9yKCkoKSA9PSBfc3oAY3JlYXRlACFmaXhlZFR5cGUoKSB8fCAoKE1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IF9zegAhZml4ZWRUeXBlKCkgfHwgKChVTWF0KilvYmopLT50eXBlKCkgPT0gbXR5cGUAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6R3B1TWF0KilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKGN1ZGE6OkdwdU1hdCopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT5zaXplKCkgPT0gX3N6ACFmaXhlZFR5cGUoKSB8fCAoKG9nbDo6QnVmZmVyKilvYmopLT50eXBlKCkgPT0gbXR5cGUAT3BlbkdMIHN1cHBvcnQgaXMgbm90IGVuYWJsZWQgaW4gdGhpcyBPcGVuQ1YgYnVpbGQgKG1pc3NpbmcgSEFWRV9PUEVOR0wpACFmaXhlZFNpemUoKSB8fCAoKGN1ZGE6Okhvc3RNZW0qKW9iaiktPnNpemUoKSA9PSBfc3oAIWZpeGVkVHlwZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+dHlwZSgpID09IG10eXBlACFmaXhlZFNpemUoKSB8fCAoKE1hdCopb2JqKS0+c2l6ZS5vcGVyYXRvcigpKCkgPT0gU2l6ZShfY29scywgX3Jvd3MpACFmaXhlZFNpemUoKSB8fCAoKFVNYXQqKW9iaiktPnNpemUub3BlcmF0b3IoKSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhZml4ZWRTaXplKCkgfHwgKChjdWRhOjpHcHVNYXQqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgob2dsOjpCdWZmZXIqKW9iaiktPnNpemUoKSA9PSBTaXplKF9jb2xzLCBfcm93cykAIWZpeGVkU2l6ZSgpIHx8ICgoY3VkYTo6SG9zdE1lbSopb2JqKS0+c2l6ZSgpID09IFNpemUoX2NvbHMsIF9yb3dzKQAhKG0uZW1wdHkoKSAmJiBmaXhlZFR5cGUoKSAmJiBmaXhlZFNpemUoKSkgJiYgIkNhbid0IHJlYWxsb2NhdGUgZW1wdHkgTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiALSfAADSmAAAFAUAAAEAAAAToAAAZKAAAG2gAAB2b2lkIGN2OjpfT3V0cHV0QXJyYXk6OmNyZWF0ZShpbnQsIGNvbnN0IGludCAqLCBpbnQsIGludCwgYm9vbCwgX091dHB1dEFycmF5OjpEZXB0aE1hc2spIGNvbnN0AENhbid0IHJlYWxsb2NhdGUgTWF0IHdpdGggbG9ja2VkIHR5cGUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAG0udHlwZSgpAENWX01BVF9UWVBFKG10eXBlKQC0nwAA0pgAABgFAAABAAAAnKAAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBNYXQgd2l0aCBsb2NrZWQgc2l6ZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAbS5kaW1zAGQAAAC0nwAA0pgAABoFAAABAAAAnKAAABShAAAeoQAAbS5zaXplW2pdAHNpemVzW2pdACEobS5lbXB0eSgpICYmIGZpeGVkVHlwZSgpICYmIGZpeGVkU2l6ZSgpKSAmJiAiQ2FuJ3QgcmVhbGxvY2F0ZSBlbXB0eSBVTWF0IHdpdGggbG9ja2VkIGxheW91dCAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikiAAAAALSfAADSmAAAMgUAAAEAAADQoQAAZKAAAG2gAABDYW4ndCByZWFsbG9jYXRlIFVNYXQgd2l0aCBsb2NrZWQgdHlwZSAocHJvYmFibHkgZHVlIHRvIG1pc3VzZWQgJ2NvbnN0JyBtb2RpZmllcikAAAC0nwAA0pgAADYFAAABAAAAQKIAAO2gAAD0oAAAQ2FuJ3QgcmVhbGxvY2F0ZSBVTWF0IHdpdGggbG9ja2VkIHNpemUgKHByb2JhYmx5IGR1ZSB0byBtaXN1c2VkICdjb25zdCcgbW9kaWZpZXIpAAAAtJ8AANKYAAA4BQAAAQAAAECiAAAUoQAAHqEAAG10eXBlID09IHR5cGUwIHx8IChDVl9NQVRfQ04obXR5cGUpID09IDEgJiYgKCgxIDw8IHR5cGUwKSAmIGZpeGVkRGVwdGhNYXNrKSAhPSAwKQAAALSfAADSmAAAQwUAAAMAAABdmwAA9KAAAOyaAAC0nwAA0pgAAEkFAAAAAAAAXZsAADyjAABLowAAcmVxdWVzdGVkX3NpemUAc3RkOjptYXgocmVxdWVzdGVkX3NpemUud2lkdGgsIHJlcXVlc3RlZF9zaXplLmhlaWdodCkgPT0gdG90YWxfMWQAAAAAtJ8AANKYAABPBQAAAQAAAF2bAAA8owAArKMAAHN6AAC0nwAA0pgAAFUFAAAAAAAAXZsAADyjAADMowAAKHJlcXVlc3RlZF9zaXplID09IHN6IHx8IChyZXF1ZXN0ZWRfc2l6ZS5oZWlnaHQgPT0gc3oud2lkdGggJiYgcmVxdWVzdGVkX3NpemUud2lkdGggPT0gc3ouaGVpZ2h0KSkAZCA9PSAyICYmIChzaXplc1swXSA9PSAxIHx8IHNpemVzWzFdID09IDEgfHwgc2l6ZXNbMF0qc2l6ZXNbMV0gPT0gMCkAIWZpeGVkU2l6ZSgpIHx8IGxlbiA9PSB2di5zaXplKCkAbXR5cGUgPT0gdHlwZTAgfHwgKENWX01BVF9DTihtdHlwZSkgPT0gQ1ZfTUFUX0NOKHR5cGUwKSAmJiAoKDEgPDwgdHlwZTApICYgZml4ZWREZXB0aE1hc2spICE9IDApACFmaXhlZFNpemUoKSB8fCBsZW4gPT0gKChzdGQ6OnZlY3Rvcjx1Y2hhcj4qKXYpLT5zaXplKCkgLyBlc3oAVmVjdG9ycyB3aXRoIGVsZW1lbnQgc2l6ZSAlZCBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlLCBtb2RpZnkgT3V0cHV0QXJyYXk6OmNyZWF0ZSgpCgBjcmVhdGUoKSBjYWxsZWQgZm9yIHRoZSBtaXNzaW5nIG91dHB1dCBhcnJheQAhZml4ZWRTaXplKCkgfHwgbGVuID09IGxlbjAAdltqXS5lbXB0eSgpAGkgPCAoaW50KXYuc2l6ZSgpACFmaXhlZFR5cGUoKSAmJiAhZml4ZWRTaXplKCkAQ1ZfTUFUX1RZUEUobXR5cGUpID09IG0udHlwZSgpAG0uZGltcyA9PSBkAG0uc2l6ZVtqXSA9PSBzaXplc1tqXQBsZW4gPT0gbGVuMAAhZml4ZWRTaXplKCkAcmVsZWFzZQBrID09IE1BVABnZXRNYXRSZWYAayA9PSBTVERfVkVDVE9SX01BVCB8fCBrID09IFNURF9BUlJBWV9NQVQAc2V0VG8AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAoY24gPT0gMSAmJiAoX21hc2suZW1wdHkoKSB8fCBfbWFzay50eXBlKCkgPT0gQ1ZfOFUpKSB8fCAoY24gPiAxICYmIF9tYXNrLmVtcHR5KCkgJiYgIW1pbklkeCAmJiAhbWF4SWR4KQBtaW5NYXhJZHgAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21pbm1heC5jcHAAZnVuYyAhPSAwAF9pbWcuZGltcygpIDw9IDIAbWluTWF4TG9jAEHAzwIL3SgtAwAALgMAAC8DAAAwAwAAMQMAADIDAAAzAwAAAAAAAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAQEBAQICAgECAgIBAgICAQICAgIDAwMCAwMDAgMDAwECAgICAwMDAgMDAwIDAwMBAgICAgMDAwIDAwMCAwMDAQICAgIDAwMCAwMDAgMDAwIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAECAgICAwMDAgMDAwIDAwMCAwMDAwQEBAMEBAQDBAQEAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQBAgICAgMDAwIDAwMCAwMDAgMDAwMEBAQDBAQEAwQEBAIDAwMDBAQEAwQEBAMEBAQCAwMDAwQEBAMEBAQDBAQEAAEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgECAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAm5vcm1UeXBlID09IE5PUk1fSU5GIHx8IG5vcm1UeXBlID09IE5PUk1fTDEgfHwgbm9ybVR5cGUgPT0gTk9STV9MMiB8fCBub3JtVHlwZSA9PSBOT1JNX0wyU1FSIHx8ICgobm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HIHx8IG5vcm1UeXBlID09IE5PUk1fSEFNTUlORzIpICYmIF9zcmMudHlwZSgpID09IENWXzhVKQBub3JtAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9ub3JtLmNwcABtYXNrLmVtcHR5KCkgfHwgbWFzay50eXBlKCkgPT0gQ1ZfOFUAZnVuYyAhPSAwAAAAAASsAACXqwAAxwIAAAQAAAA5rAAAOqwAAEqsAABkb3VibGUgY3Y6Om5vcm0oY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAAAoc2l6ZV90KWl0LnNpemUAKHNpemVfdClJTlRfTUFYAAAAeKwAAJerAAA5BAAAAQAAAL2sAADRrAAA3qwAAGRvdWJsZSBjdjo6bm9ybShjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGludCwgY3Y6OklucHV0QXJyYXkpAElucHV0IHR5cGUgbWlzbWF0Y2gAX3NyYzEudHlwZSgpAF9zcmMyLnR5cGUoKQBfc3JjMS5zYW1lU2l6ZShfc3JjMikAbm9ybVR5cGUgPT0gTk9STV9JTkYgfHwgbm9ybVR5cGUgPT0gTk9STV9MMSB8fCBub3JtVHlwZSA9PSBOT1JNX0wyIHx8IG5vcm1UeXBlID09IE5PUk1fTDJTUVIgfHwgKChub3JtVHlwZSA9PSBOT1JNX0hBTU1JTkcgfHwgbm9ybVR5cGUgPT0gTk9STV9IQU1NSU5HMikgJiYgc3JjMS50eXBlKCkgPT0gQ1ZfOFUpAAB4rAAAl6sAAKUEAAAEAAAAOawAADqsAABKrAAANAMAADUDAAA2AwAANwMAADgDAAA5AwAAOgMAAAAAAAA7AwAAPAMAAD0DAAA+AwAAPwMAAEADAABBAwAAAAAAAEIDAABDAwAARAMAAEUDAABGAwAARwMAAEgDAAAAAAAASQMAAEoDAABLAwAATAMAAE0DAABOAwAATwMAAAAAAABQAwAAUQMAAFIDAABTAwAAVAMAAFUDAABWAwAAAAAAAFcDAABYAwAAWQMAAFoDAABbAwAAXAMAAF0DAAAAAAAATjJjdjE2UGFyYWxsZWxMb29wQm9keUUAFGoCAJCuAAAAAAAA9K4AAF8DAABgAwAAYQMAAE4yY3YxMl9HTE9CQUxfX05fMTIzUGFyYWxsZWxMb29wQm9keVdyYXBwZXJFAAAAADxqAgDErgAAqK4AAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wYXJhbGxlbC9wYXJhbGxlbC5jcHAAY29yZShwYXJhbGxlbCk6IEJ1aWx0aW4gYmFja2VuZHMoACk6IAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGFyYWxsZWwvcmVnaXN0cnlfcGFyYWxsZWwuaW1wbC5ocHAAUGFyYWxsZWxCYWNrZW5kUmVnaXN0cnkAY29yZShwYXJhbGxlbCk6IFVwZGF0ZWQgYmFja2VuZHMgcHJpb3JpdGllczogAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV8lcwBjb3JlKHBhcmFsbGVsKTogRGlzYWJsZSBiYWNrZW5kOiAAY29yZShwYXJhbGxlbCk6IEF2YWlsYWJsZSBiYWNrZW5kcygAY29yZShwYXJhbGxlbCk6IEVuYWJsZWQgYmFja2VuZHMoACwgc29ydGVkIGJ5IHByaW9yaXR5KTogAE4vQQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplADsgAE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUAGNvcmUocGFyYWxsZWwpOiBDb25maWd1cmVkIHByaW9yaXR5IGxpc3QgKE9QRU5DVl9QQVJBTExFTF9QUklPUklUWV9MSVNUKTogAHJlYWRQcmlvcml0eVNldHRpbmdzAGNvcmUocGFyYWxsZWwpOiBOZXcgYmFja2VuZCBwcmlvcml0eTogJwAnID0+IABjb3JlKHBhcmFsbGVsKTogQWRkaW5nIHBhcmFsbGVsIGJhY2tlbmQgKHBsdWdpbik6ICcAJwBjb3JlKHBhcmFsbGVsKTogSW5pdGlhbGl6aW5nIHBhcmFsbGVsIGJhY2tlbmQuLi4AY3JlYXRlRGVmYXVsdFBhcmFsbGVsRm9yQVBJAE9QRU5DVl9QQVJBTExFTF9CQUNLRU5EAABjb3JlKHBhcmFsbGVsKTogcmVxdWVzdGVkIGJhY2tlbmQgbmFtZTogAGNyZWF0ZVBhcmFsbGVsRm9yQVBJAGNvcmUocGFyYWxsZWwpOiB0cnlpbmcgYmFja2VuZDogACAocHJpb3JpdHk9ACkAY29yZShwYXJhbGxlbCk6IGZhY3RvcnkgaXMgbm90IGF2YWlsYWJsZSAocGx1Z2lucyByZXF1aXJlIGZpbGVzeXN0ZW0gc3VwcG9ydCk6IABjb3JlKHBhcmFsbGVsKTogdXNpbmcgYmFja2VuZDogAGNvcmUocGFyYWxsZWwpOiBmYWxsYmFjayBvbiBidWlsdGluIGNvZGUAY29yZShwYXJhbGxlbCk6IHVua25vd24gYmFja2VuZDogAAAlZC4wACVkLgAlLjE2ZQAuTmFuAC0uSW5mAC5JbmYAZm10X3BhaXJzICE9IDAgJiYgbWF4X2xlbiA+IDAAZGVjb2RlRm9ybWF0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZS5jcHAASW52YWxpZCBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgBUb28gbG9uZyBkYXRhIHR5cGUgc3BlY2lmaWNhdGlvbgAAAAAAANC/AABnAwAAaAMAAGkDAABqAwAAawMAAGwDAABtAwAAbgMAAG8DAABwAwAAcQMAAHIDAABzAwAAdAMAAHUDAAB2AwAAdwMAAHgDAAB5AwAAegMAAHsDAAB8AwAAfQMAAH4DAAB/AwAAgAMAAIEDAACCAwAAPC9vcGVuY3Zfc3RvcmFnZT4KAH0KAGJhc2U2NABOVUxMIG9yIGVtcHR5IGZpbGVuYW1lAG9wZW4ARmlsZVN0b3JhZ2U6OkFQUEVORCBhbmQgRmlsZVN0b3JhZ2U6Ok1FTU9SWSBhcmUgbm90IGN1cnJlbnRseSBjb21wYXRpYmxlAEFwcGVuZGluZyBkYXRhIHRvIGNvbXByZXNzZWQgZmlsZSBpcyBub3QgaW1wbGVtZW50ZWQAcnQAd3QAYSt0AC5negAueG1sAC54bWwuZ3oALmpzb24ALmpzb24uZ3oAVVRGLTE2AFVURi0xNiBYTUwgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZCEgVXNlIDgtYml0IGVuY29kaW5nCgBzdHJsZW4oZW5jb2RpbmcpIDwgMTAwMAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSIlcyI/PgoAPD94bWwgdmVyc2lvbj0iMS4wIj8+CgA8b3BlbmN2X3N0b3JhZ2U+CgAAAAAAPC9vcGVuY3Zfc3RvcmFnZT4AQ291bGQgbm90IGZpbmQgPC9vcGVuY3Zfc3RvcmFnZT4gaW4gdGhlIGVuZCBvZiBmaWxlLgoAcit0AGZpbGUgIT0gMAAgPCEtLSByZXN1bWVkIC0tPgAKACVZQU1MOjEuMAotLS0KAC4uLgotLS0KAGZtdCA9PSBGaWxlU3RvcmFnZTo6Rk9STUFUX0pTT04AewoAQ291bGQgbm90IGZpbmQgJ30nIGluIHRoZSBlbmQgb2YgZmlsZS4KACVZQU1MADw/eG1sAGJ1ZgBJbnB1dCBmaWxlIGlzIGludmFsaWQAVW5zdXBwb3J0ZWQgZmlsZSBzdG9yYWdlIGZvcm1hdAAhZnNfZGF0YV9wdHJzLmVtcHR5KCkAd3JpdGVfbW9kZQBwdXRzAFRoZSBzdG9yYWdlIGlzIG5vdCBvcGVuZWQAZ2V0c0Zyb21GaWxlAG1heENvdW50IDwgTUFYX0JMT0NLX1NJWkUAZ2V0cwB3cml0dGVuX2xlbiA8PSAoaW50KSBidWZmZXIuc2l6ZSgpAHJlc2l6ZVdyaXRlQnVmZmVyAGVuZFdyaXRlU3RydWN0ACF3cml0ZV9zdGFjay5lbXB0eSgpAHN0YXJ0V3JpdGVTdHJ1Y3RfaGVscGVyAFNvbWUgY29sbGVjdGlvbiB0eXBlOiBGaWxlTm9kZTo6U0VRIG9yIEZpbGVOb2RlOjpNQVAgbXVzdCBiZSBzcGVjaWZpZWQAdHlwZV9pZABiaW5hcnkAbXVzdCBzZXQgJ3N0cnVjdF9mbGFncyB8PSBDVl9OT0RFX1NFUScgaWYgdXNpbmcgQmFzZTY0LgBzdGFydFdyaXRlU3RydWN0AGZ1bmN0aW9uICdjdlN0YXJ0V3JpdGVTdHJ1Y3QnIGNhbGxzIGNhbm5vdCBiZSBuZXN0ZWQgaWYgdXNpbmcgQmFzZTY0LgBBdCB0aGUgZW5kIG9mIHRoZSBvdXRwdXQgQmFzZTY0LCBgY3ZFbmRXcml0ZVN0cnVjdGAgaXMgbmVlZGVkLgB3cml0ZQBVbnN1cHBvcnRlZCB0eXBlAFVuZXhwZWN0ZWQgZXJyb3IsIHVuYWJsZSB0byBkZXRlcm1pbmUgdGhlIEJhc2U2NCBzdGF0ZS4AVW5leHBlY3RlZCBlcnJvciwgdW5hYmxlIHRvIHN3aXRjaCB0byB0aGlzIHN0YXRlLgAiJGJhc2U2NCQAc3dpdGNoX3RvX0Jhc2U2NF9zdGF0ZQAiAGlzX3dyaXRlX3N0cnVjdF9kZWxheWVkID09IGZhbHNlAG1ha2Vfd3JpdGVfc3RydWN0X2RlbGF5ZWQAcHRyID49IGJ1ZmZlcnN0YXJ0ICYmIHB0ciA8PSBidWZmZXJFbmQoKQBzZXRCdWZmZXJQdHIAZ2V0Q3VycmVudFN0cnVjdABwcm9jZXNzU3BlY2lhbERvdWJsZQBCYWQgZm9ybWF0IG9mIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50AHR5cGUgPT0gRmlsZU5vZGU6OlNFUSB8fCB0eXBlID09IEZpbGVOb2RlOjpNQVAAY29udmVydFRvQ29sbGVjdGlvbgB0eXBlID09IEZpbGVOb2RlOjpTRVEAVGhlIG5vZGUgb2YgdHlwZSAlZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGNvbGxlY3Rpb24AYmxvY2tJZHggPT0gZnNfZGF0YV9wdHJzLnNpemUoKSAtIDEAcmVzZXJ2ZU5vZGVTcGFjZQBvZnMgPD0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0AZnJlZVNwYWNlT2ZzIDw9IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAHB0ciA+PSBmc19kYXRhX3B0cnNbYmxvY2tJZHhdICYmIHB0ciA8PSBibG9ja0VuZABfAGFkZE5vZGUATWFwIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBuYW1lAFNlcXVlbmNlIGVsZW1lbnQgc2hvdWxkIG5vdCBoYXZlIG5hbWUgKHVzZSA8Xz48L18+KQBvZnMgPT0gZnNfZGF0YV9ibGtzeltibG9ja0lkeF0Abm9ybWFsaXplTm9kZU9mcwBBy/gCC1A+AAAAPzQ1Njc4OTo7PD0AAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkAAAAAAAAaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMwBBoPoCC9EIb2ZzIDw9IHN6AHJlYWRNb3JlACFwYXJzZXIuZW1wdHkoKSAmJiBwdHIAIWJhc2U2NGRlY29kZXIuZW5kT2ZTdHJlYW0oKQBwYXJzZUJhc2U2NAAlcyglZCk6ICVzAGJsb2NrSWR4IDwgZnNfZGF0YV9wdHJzLnNpemUoKQBnZXROb2RlUHRyAG9mcyA8IGZzX2RhdGFfYmxrc3pbYmxvY2tJZHhdAAAAAAAAAPC/AACDAwAAhAMAAIUDAACGAwAAhwMAAIgDAABFeHRyYSBjbG9zaW5nICclYycAb3BlcmF0b3I8PABUaGUgY2xvc2luZyAnJWMnIGRvZXMgbm90IG1hdGNoIHRoZSBvcGVuaW5nICclYycAIWZzX2ltcGwtPndyaXRlX3N0YWNrLmVtcHR5KCkASW5jb3JyZWN0IGVsZW1lbnQgbmFtZSAlczsgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgJ18nAEludmFsaWQgZnMuc3RhdGUAaXNNYXAoKQBvcGVyYXRvcltdAGtleTIgPCBmcy0+c3RyX2hhc2hfZGF0YS5zaXplKCkAaXNTZXEoKQAwIDw9IGkgJiYgaSA8IHN6AHRwID09IFNUUklORyB8fCB0cCA9PSBTRVEgfHwgdHAgPT0gTUFQAHJhd1NpemUAcCAhPSAwAHNldFZhbHVlAGN1cnJlbnRfdHlwZSA9PSBOT05FIHx8IGN1cnJlbnRfdHlwZSA9PSB0eXBlAE9ubHkgc2NhbGFyIHR5cGVzIGNhbiBiZSBkeW5hbWljYWxseSBhc3NpZ25lZCB0byBhIGZpbGUgbm9kZQBOMmN2MTVGaWxlU3RvcmFnZV9BUElFAAAUagIAmL8AAE4yY3YxMUZpbGVTdG9yYWdlNEltcGxFADxqAgC4vwAAsL8AAE4yY3YxMUZpbGVTdG9yYWdlRQAAFGoCANy/AAB1Y3dzaWZkaABzeW1ib2xUb1R5cGUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAC8wAAAiQMAAIoDAACLAwAAjAMAAI0DAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFTlMyX0lTNF9FRUVFAAAAPGoCAHDAAADEZQIAAAAAADDBAACOAwAAjwMAAJADAACMAwAAkQMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMUZpbGVTdG9yYWdlNEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIA5MAAAMRlAgAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfYmFzZTY0X2VuY29kaW5nLmNwcABBgIMDC5YvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBmcy53cml0ZV9tb2RlAEJhc2U2NFdyaXRlcgBCYXNlNjRDb250ZXh0RW1pdHRlcgAAAAAAAAAAWMIAAJIDAACTAwAAlAMAAIwDAACVAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExSlNPTkVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCABDCAADEZQIAAAAAAMzCAACWAwAAlwMAAJgDAACZAwAAmgMAAJsDAACcAwAAnQMAAJ4DAACfAwAATjJjdjExSlNPTkVtaXR0ZXJFAE4yY3YxOEZpbGVTdG9yYWdlRW1pdHRlckUAAAAAFGoCAKfCAAA8agIAlMIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfanNvbi5jcHAAYmluYXJ5AE51bGwgc3RyaW5nIHBvaW50ZXIAd3JpdGUAVGhlIHdyaXR0ZW4gc3RyaW5nIGlzIHRvbyBsb25nAEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBUaGUga2V5IGlzIGFuIGVtcHR5AFRoZSBrZXkgaXMgdG9vIGxvbmcAQW4gYXR0ZW1wdCB0byBhZGQgZWxlbWVudCB3aXRob3V0IGEga2V5IHRvIGEgbWFwLCBvciBhZGQgZWxlbWVudCB3aXRoIGtleSB0byBzZXF1ZW5jZQBLZXkgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yIF8AS2V5IG5hbWVzIG1heSBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgW2EtekEtWjAtOV0sICctJywgJ18nIGFuZCAnICcATnVsbCBjb21tZW50AHdyaXRlQ29tbWVudAAuLi4KAC0tLQoAAAAAAABIxQAAoAMAAKEDAACiAwAAjAMAAKMDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTBKU09OUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAAAA8agIAAMUAAMRlAgAAAAAAoMUAAKQDAAClAwAApgMAAKcDAABOMmN2MTBKU09OUGFyc2VyRQBOMmN2MTdGaWxlU3RvcmFnZVBhcnNlckUAABRqAgB+xQAAPGoCAGzFAACYxQAAcGFyc2UASW52YWxpZCBpbnB1dABsZWZ0LWJyYWNlIG9mIHRvcCBsZXZlbCBpcyBtaXNzaW5nAHNraXBTcGFjZXMATm90IHN1cHBvcnRlZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcHRyAEFib3J0IGF0IHBhcnNlIHRpbWUAcGFyc2VNYXAAcHRyIGlzIE5VTEwAJ3snIC0gbGVmdC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBVbmV4cGVjdGVkIGNoYXJhY3RlcgAnfScgLSByaWdodC1icmFjZSBvZiBtYXAgaXMgbWlzc2luZwBwYXJzZUtleQBLZXkgbXVzdCBzdGFydCB3aXRoICciJwBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBLZXkgbXVzdCBlbmQgd2l0aCAnIicAS2V5IGlzIGVtcHR5AE1pc3NpbmcgJzonIGJldHdlZW4ga2V5IGFuZCB2YWx1ZQBwYXJzZVZhbHVlAEludmFsaWQgdmFsdWUgaW5wdXQAVW5leHBlY3RlZCBFbmQtT2YtRmlsZQAnIicgLSByaWdodC1xdW90ZSBvZiBzdHJpbmcgaXMgbWlzc2luZwBzdHJpbmcgaXMgdG9vIGxvbmcAJ1x1WFhYWCcgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQASW52YWxpZCBlc2NhcGUgY2hhcmFjdGVyAEludmFsaWQgbnVtZXJpYyB2YWx1ZSAoaW5jb25zaXN0ZW50IGV4cGxpY2l0IHR5cGUgc3BlY2lmaWNhdGlvbj8pAFZhbHVlICdudWxsJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcGFyc2VyAGZhbHNlAFVucmVjb2duaXplZCB2YWx1ZQBwYXJzZVNlcQAnWycgLSBsZWZ0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nACddJyAtIHJpZ2h0LWJyYWNlIG9mIHNlcSBpcyBtaXNzaW5nAGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAAAAAKDJAACoAwAAqQMAAKoDAACMAwAAqwMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMFhNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgBYyQAAxGUCAAAAAADwyQAAlgMAAKwDAACtAwAArgMAAK8DAACwAwAAsQMAALIDAACzAwAAtAMAAE4yY3YxMFhNTEVtaXR0ZXJFAAAAPGoCANzJAADEwgAAdHlwZV9pZABBbiBhdHRlbXB0IHRvIGFkZCBlbGVtZW50IHdpdGhvdXQgYSBrZXkgdG8gYSBtYXAsIG9yIGFkZCBlbGVtZW50IHdpdGgga2V5IHRvIHNlcXVlbmNlAHdyaXRlVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9wZXJzaXN0ZW5jZV94bWwuY3BwAF8AQSBzaW5nbGUgXyBpcyBhIHJlc2VydmVkIHRhZyBuYW1lAENsb3NpbmcgdGFnIHNob3VsZCBub3QgaW5jbHVkZSBhbnkgYXR0cmlidXRlcwBLZXkgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZSBtYXkgb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXpBLVowLTldLCAnLScgYW5kICdfJwBuYXR0ciAlIDIgPT0gMABsZW4wID4gMABOdWxsIHN0cmluZyBwb2ludGVyAHdyaXRlAFRoZSB3cml0dGVuIHN0cmluZyBpcyB0b28gbG9uZwBhbXAAI3glMDJ4AEF0IHByZXNlbnQsIG91dHB1dCBCYXNlNjQgZGF0YSBvbmx5LgB3cml0ZVNjYWxhcgBlbGVtZW50cyB3aXRoIGtleXMgY2FuIG5vdCBiZSB3cml0dGVuIHRvIHNlcXVlbmNlAE51bGwgY29tbWVudAB3cml0ZUNvbW1lbnQALS0ARG91YmxlIGh5cGhlbiAnLS0nIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBjb21tZW50cwA8IS0tICVzIC0tPgA8IS0tAAo8IS0tIG5leHQgc3RyZWFtIC0tPgoAAAAAAOTMAAC1AwAAtgMAALcDAACMAwAAuAMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y5WE1MUGFyc2VyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCAKDMAADEZQIAAAAAABjNAACkAwAAuQMAALoDAAC7AwAATjJjdjlYTUxQYXJzZXJFADxqAgAIzQAAmMUAAGZzICE9IDAAcGFyc2UASW52YWxpZCBpbnB1dAA8P3htbABWYWxpZCBYTUwgc2hvdWxkIHN0YXJ0IHdpdGggJzw/eG1sIC4uLj8+JwBvcGVuY3Zfc3RvcmFnZQA8b3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nADwvb3BlbmN2X3N0b3JhZ2U+IHRhZyBpcyBtaXNzaW5nAGZzLT5lb2YoKQBza2lwU3BhY2VzAENvbW1lbnRzIGFyZSBub3QgYWxsb3dlZCBoZXJlAEludmFsaWQgY2hhcmFjdGVyIGluIHRoZSBzdHJlYW0AcGFyc2VUYWcASW52YWxpZCB0YWcgaW5wdXQAVW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbQBUYWcgc2hvdWxkIHN0YXJ0IHdpdGggJzwnAE9wZW5DViBwZXJzaXN0ZW5jZSBkb2Vzbid0IHN1cHBvcnQgdmVyeSBsb25nIGxpbmVzAHB0clsxXSAhPSAnLScgfHwgcHRyWzJdICE9ICctJwBVbmtub3duIHRhZyB0eXBlAE5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgdW5kZXJzY29yZQBDbG9zaW5nIHRhZyBzaG91bGQgbm90IGNvbnRhaW4gYW55IGF0dHJpYnV0ZXMASW52YWxpZCBhdHRyaWJ1dGUAQXR0cmlidXRlIG5hbWUgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5ICc9JwBBdHRyaWJ1dGUgdmFsdWUgc2hvdWxkIGJlIHB1dCBpbnRvIHNpbmdsZSBvciBkb3VibGUgcXVvdGVzAFVuZXhwZWN0ZWQgZW5kIG9mIGxpbmUAdHlwZV9uYW1lLmVtcHR5KCkASW52YWxpZCBjbG9zaW5nIHRhZyBmb3IgPD94bWwgLi4uAFRoZXJlIHNob3VsZCBiZSBzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXMAcGFyc2VWYWx1ZQBEaXJlY3RpdmUgdGFncyBhcmUgbm90IGFsbG93ZWQgaGVyZQBFbXB0eSB0YWdzIGFyZSBub3Qgc3VwcG9ydGVkAHRhZ190eXBlID09IENWX1hNTF9PUEVOSU5HX1RBRwBzdHIAbWFwAHNlcQBiaW5hcnkATWlzbWF0Y2hlZCBjbG9zaW5nIHRhZwBUaGVyZSBzaG91bGQgYmUgc3BhY2UgYmV0d2VlbiBsaXRlcmFscwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBMaXRlcmFsICIgaXMgbm90IGFsbG93ZWQgd2l0aGluIGEgc3RyaW5nLiBVc2UgJnF1b3Q7AENsb3NpbmcgIiBpcyBleHBlY3RlZABMaXRlcmFsICcgb3IgPiBhcmUgbm90IGFsbG93ZWQuIFVzZSAmYXBvczsgb3IgJmd0OwBJbnZhbGlkIG51bWVyaWMgdmFsdWUgaW4gdGhlIHN0cmluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiB0aGUgc3ltYm9sIGVudGl0eSBuYW1lAHN0cmluZyBpcyB0b28gbG9uZwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABnZXRCYXNlNjRSb3cAAAAAAAAAeNIAALwDAAC9AwAAvgMAAIwDAAC/AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjExWUFNTEVtaXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCADDSAADEZQIAAAAAAMjSAACWAwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAATjJjdjExWUFNTEVtaXR0ZXJFAAA8agIAtNIAAMTCAABTb21lIGNvbGxlY3Rpb24gdHlwZSAtIEZpbGVOb2RlOjpTRVEgb3IgRmlsZU5vZGU6Ok1BUCwgbXVzdCBiZSBzcGVjaWZpZWQAc3RhcnRXcml0ZVN0cnVjdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvcGVyc2lzdGVuY2VfeW1sLmNwcABiaW5hcnkAISFiaW5hcnkgfAAhISVzICVjACEhJXMATnVsbCBzdHJpbmcgcG9pbnRlcgB3cml0ZQBUaGUgd3JpdHRlbiBzdHJpbmcgaXMgdG9vIGxvbmcAeCUwMngAQXQgcHJlc2VudCwgb3V0cHV0IEJhc2U2NCBkYXRhIG9ubHkuAHdyaXRlU2NhbGFyAEFuIGF0dGVtcHQgdG8gYWRkIGVsZW1lbnQgd2l0aG91dCBhIGtleSB0byBhIG1hcCwgb3IgYWRkIGVsZW1lbnQgd2l0aCBrZXkgdG8gc2VxdWVuY2UAVGhlIGtleSBpcyBhbiBlbXB0eQBUaGUga2V5IGlzIHRvbyBsb25nAEtleSBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgXwBLZXkgbmFtZXMgbWF5IG9ubHkgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBbYS16QS1aMC05XSwgJy0nLCAnXycgYW5kICcgJwBOdWxsIGNvbW1lbnQAd3JpdGVDb21tZW50AC4uLgoALS0tCgAAAAAAYNUAAMkDAADKAwAAywMAAIwDAADMAwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEwWUFNTFBhcnNlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCABjVAADEZQIAAAAAAJjVAACkAwAAzQMAAM4DAADPAwAATjJjdjEwWUFNTFBhcnNlckUAAAA8agIAhNUAAJjFAABwYXJzZQBJbnZhbGlkIGlucHV0ACVZQU1MAFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAoaXQgbXVzdCBiZSAxLngpAC0tLQBUaGUgWUFNTCBzdHJlYW1zIG11c3Qgc3RhcnQgd2l0aCAnLS0tJywgZXhjZXB0IHRoZSBmaXJzdCBvbmUASW52YWxpZCBvciB1bnN1cHBvcnRlZCBzeW50YXgALi4uAE9ubHkgY29sbGVjdGlvbnMgYXMgWUFNTCBzdHJlYW1zIGFyZSBzdXBwb3J0ZWQgYnkgdGhpcyBwYXJzZXIAc2tpcFNwYWNlcwBJbmNvcnJlY3QgaW5kZW50YXRpb24AVG9vIGxvbmcgc3RyaW5nIG9yIGEgbGFzdCBzdHJpbmcgdy9vIG5ld2xpbmUAVGFicyBhcmUgcHJvaGliaXRlZCBpbiBZQU1MIQBJbnZhbGlkIGNoYXJhY3RlcgBwYXJzZVZhbHVlADx0YWc6eWFtbC5vcmcsMjAwMjoARW1wdHkgdHlwZSBuYW1lAHN0cgBpbnQAc2VxAG1hcABmbG9hdABJbnZhbGlkIG51bWVyaWMgdmFsdWUgKGluY29uc2lzdGVudCBleHBsaWNpdCB0eXBlIHNwZWNpZmljYXRpb24/KQBPcGVuQ1YgcGVyc2lzdGVuY2UgZG9lc24ndCBzdXBwb3J0IHZlcnkgbG9uZyBsaW5lcwBUb28gbG9uZyBzdHJpbmcgbGl0ZXJhbABUaGUgd3JvbmcgY2xvc2luZyBicmFja2V0AE1pc3NpbmcgLCBiZXR3ZWVuIHRoZSBlbGVtZW50cwBDb21wbGV4IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQATXVsdGktbGluZSB0ZXh0IGxpdGVyYWxzIGFyZSBub3Qgc3VwcG9ydGVkAEJsb2NrIHNlcXVlbmNlIGVsZW1lbnRzIG11c3QgYmUgcHJlY2VkZWQgd2l0aCAnLScAcGFyc2VLZXkAS2V5IG1heSBub3Qgc3RhcnQgd2l0aCAnLScATWlzc2luZyAnOicAQW4gZW1wdHkga2V5AGdldEJhc2U2NFJvdwBVbmV4cGVjdGVkIGVuZCBvZiBsaW5lAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9yYW5kLmNwcABmdW5jICE9IDAAQaSyAwse0AMAANEDAADSAwAA0wMAAAAAAADUAwAAAAAAANUDAEHQsgMLAtYDAEHgsgMLAtcDAEGAswMLAtgDAEGgswMLQNkDAABkc3QuZWxlbVNpemUoKSA8PSAzMgByYW5kU2h1ZmZsZQBfYXJyLmRpbXMgPD0gMgByYW5kU2h1ZmZsZV8AQfCzAwv6OtoDAADbAwAA3AMAAN0DAADeAwAA3wMAAOADAAAAAAAAT1BFTkNWX0RVTVBfRVJST1JTAAAAAAAA1O0AAOMDAADmAwAA5wMAAD4gAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpIGluIGZ1bmN0aW9uICclcycKJXMANC41LjUtZGV2AE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzIGluIGZ1bmN0aW9uICclcycKAE9wZW5DViglcykgJXM6JWQ6IGVycm9yOiAoJWQ6JXMpICVzJXMAAAoACkdlbmVyYWwgY29uZmlndXJhdGlvbiBmb3IgT3BlbkNWIDQuNS41LWRldiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgVmVyc2lvbiBjb250cm9sOiAgICAgICAgICAgICAgIDQuNS41LTIwLWdhMTE0M2M0ZWEwLWRpcnR5CgogIFBsYXRmb3JtOgogICAgVGltZXN0YW1wOiAgICAgICAgICAgICAgICAgICAyMDIyLTAxLTExVDAzOjE1OjQxWgogICAgSG9zdDogICAgICAgICAgICAgICAgICAgICAgICBMaW51eCA0LjkuOTMtbGludXhraXQtYXVmcyB4ODZfNjQKICAgIFRhcmdldDogICAgICAgICAgICAgICAgICAgICAgRW1zY3JpcHRlbiAxIHg4NgogICAgQ01ha2U6ICAgICAgICAgICAgICAgICAgICAgICAzLjEzLjQKICAgIENNYWtlIGdlbmVyYXRvcjogICAgICAgICAgICAgVW5peCBNYWtlZmlsZXMKICAgIENNYWtlIGJ1aWxkIHRvb2w6ICAgICAgICAgICAgL3Vzci9iaW4vbWFrZQogICAgQ29uZmlndXJhdGlvbjogICAgICAgICAgICAgICBSZWxlYXNlCgogIENQVS9IVyBmZWF0dXJlczoKICAgIEJhc2VsaW5lOgoKICBDL0MrKzoKICAgIEJ1aWx0IGFzIGR5bmFtaWMgbGlicz86ICAgICAgTk8KICAgIEMrKyBzdGFuZGFyZDogICAgICAgICAgICAgICAgMTEKICAgIEMrKyBDb21waWxlcjogICAgICAgICAgICAgICAgL2Vtc2RrL3Vwc3RyZWFtL2Vtc2NyaXB0ZW4vZW0rKyAgKHZlciAxMi4wLjApCiAgICBDKysgZmxhZ3MgKFJlbGVhc2UpOiAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQysrIGZsYWdzIChEZWJ1Zyk6ICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgQyBDb21waWxlcjogICAgICAgICAgICAgICAgICAvZW1zZGsvdXBzdHJlYW0vZW1zY3JpcHRlbi9lbWNjCiAgICBDIGZsYWdzIChSZWxlYXNlKTogICAgICAgICAgIC1zIFVTRV9QVEhSRUFEUz0wICAgIC1mc2lnbmVkLWNoYXIgLVcgLVdhbGwgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV2Vycm9yPW5vbi12aXJ0dWFsLWR0b3IgLVdlcnJvcj1hZGRyZXNzIC1XZXJyb3I9c2VxdWVuY2UtcG9pbnQgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVdpbml0LXNlbGYgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc2lnbi1wcm9tbyAtV3VuaW5pdGlhbGl6ZWQgLVdpbmNvbnNpc3RlbnQtbWlzc2luZy1vdmVycmlkZSAtV25vLWRlbGV0ZS1ub24tdmlydHVhbC1kdG9yIC1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MgLVduby1jb21tZW50IC1Xbm8tZGVwcmVjYXRlZC1lbnVtLWVudW0tY29udmVyc2lvbiAtV25vLWRlcHJlY2F0ZWQtYW5vbi1lbnVtLWVudW0tY29udmVyc2lvbiAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1RdW51c2VkLWFyZ3VtZW50cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gLUROREVCVUcgLU8yICAtRE5ERUJVRwogICAgQyBmbGFncyAoRGVidWcpOiAgICAgICAgICAgICAtcyBVU0VfUFRIUkVBRFM9MCAgICAtZnNpZ25lZC1jaGFyIC1XIC1XYWxsIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVdlcnJvcj1ub24tdmlydHVhbC1kdG9yIC1XZXJyb3I9YWRkcmVzcyAtV2Vycm9yPXNlcXVlbmNlLXBvaW50IC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1XaW5pdC1zZWxmIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3NpZ24tcHJvbW8gLVd1bmluaXRpYWxpemVkIC1XaW5jb25zaXN0ZW50LW1pc3Npbmctb3ZlcnJpZGUgLVduby1kZWxldGUtbm9uLXZpcnR1YWwtZHRvciAtV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzIC1Xbm8tY29tbWVudCAtV25vLWRlcHJlY2F0ZWQtZW51bS1lbnVtLWNvbnZlcnNpb24gLVduby1kZXByZWNhdGVkLWFub24tZW51bS1lbnVtLWNvbnZlcnNpb24gLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtUXVudXNlZC1hcmd1bWVudHMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgIC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIC1nICAtTzAgLURERUJVRyAtRF9ERUJVRwogICAgTGlua2VyIGZsYWdzIChSZWxlYXNlKTogICAgICAtV2wsLS1nYy1zZWN0aW9ucyAtTzIgCiAgICBMaW5rZXIgZmxhZ3MgKERlYnVnKTogICAgICAgIC1XbCwtLWdjLXNlY3Rpb25zICAKICAgIGNjYWNoZTogICAgICAgICAgICAgICAgICAgICAgTk8KICAgIFByZWNvbXBpbGVkIGhlYWRlcnM6ICAgICAgICAgTk8KICAgIEV4dHJhIGRlcGVuZGVuY2llczoKICAgIDNyZHBhcnR5IGRlcGVuZGVuY2llczogICAgICAgemxpYiBsaWJwcm90b2J1ZiBxdWlyYwoKICBPcGVuQ1YgbW9kdWxlczoKICAgIFRvIGJlIGJ1aWx0OiAgICAgICAgICAgICAgICAgY2FsaWIzZCBjb3JlIGRubiBmZWF0dXJlczJkIGZsYW5uIGltZ3Byb2MganMgb2JqZGV0ZWN0IHBob3RvIHZpZGVvCiAgICBEaXNhYmxlZDogICAgICAgICAgICAgICAgICAgIGhpZ2hndWkgaW1nY29kZWNzIG1sIHN0aXRjaGluZyB2aWRlb2lvIHdvcmxkCiAgICBEaXNhYmxlZCBieSBkZXBlbmRlbmN5OiAgICAgIHRzCiAgICBVbmF2YWlsYWJsZTogICAgICAgICAgICAgICAgIGdhcGkgamF2YSBweXRob24yIHB5dGhvbjMKICAgIEFwcGxpY2F0aW9uczogICAgICAgICAgICAgICAgZXhhbXBsZXMKICAgIERvY3VtZW50YXRpb246ICAgICAgICAgICAgICAganMKICAgIE5vbi1mcmVlIGFsZ29yaXRobXM6ICAgICAgICAgTk8KCiAgR1VJOiAKCiAgTWVkaWEgSS9POiAKICAgIFpMaWI6ICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQgKHZlciAxLjIuMTEpCiAgICBKUEVHIDIwMDA6ICAgICAgICAgICAgICAgICAgIGJ1aWxkICh2ZXIgMi40LjApCiAgICBIRFI6ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwogICAgU1VOUkFTVEVSOiAgICAgICAgICAgICAgICAgICBZRVMKICAgIFBYTTogICAgICAgICAgICAgICAgICAgICAgICAgWUVTCiAgICBQRk06ICAgICAgICAgICAgICAgICAgICAgICAgIFlFUwoKICBWaWRlbyBJL086CgogIFBhcmFsbGVsIGZyYW1ld29yazogICAgICAgICAgICBub25lCgogIE90aGVyIHRoaXJkLXBhcnR5IGxpYnJhcmllczoKICAgIFZBOiAgICAgICAgICAgICAgICAgICAgICAgICAgTk8KICAgIEN1c3RvbSBIQUw6ICAgICAgICAgICAgICAgICAgTk8KICAgIFByb3RvYnVmOiAgICAgICAgICAgICAgICAgICAgYnVpbGQgKDMuMTkuMSkKCiAgUHl0aG9uIChmb3IgYnVpbGQpOiAgICAgICAgICAgIC91c3IvYmluL3B5dGhvbjMKCiAgSW5zdGFsbCB0bzogICAgICAgICAgICAgICAgICAgIC91c3IvbG9jYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgBsZW4gPj0gMCAmJiAiQ2hlY2sgZm9ybWF0IHN0cmluZyBmb3IgZXJyb3JzIgBmb3JtYXQAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3N5c3RlbS5jcHAATjJjdjlFeGNlcHRpb25FAAA8agIAw+0AABRnAgBObyBFcnJvcgBCYWNrdHJhY2UAVW5zcGVjaWZpZWQgZXJyb3IASW50ZXJuYWwgZXJyb3IASW5zdWZmaWNpZW50IG1lbW9yeQBCYWQgYXJndW1lbnQASXRlcmF0aW9ucyBkbyBub3QgY29udmVyZ2UAQXV0b3RyYWNlIGNhbGwASW5jb3JyZWN0IHNpemUgb2YgaW5wdXQgYXJyYXkATnVsbCBwb2ludGVyAERpdmlzaW9uIGJ5IHplcm8gb2NjdXJyZWQASW1hZ2Ugc3RlcCBpcyB3cm9uZwBJbnBsYWNlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkAFJlcXVlc3RlZCBvYmplY3Qgd2FzIG5vdCBmb3VuZABJbnB1dCBpbWFnZSBkZXB0aCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGZ1bmN0aW9uAEZvcm1hdHMgb2YgaW5wdXQgYXJndW1lbnRzIGRvIG5vdCBtYXRjaABTaXplcyBvZiBpbnB1dCBhcmd1bWVudHMgZG8gbm90IG1hdGNoAE9uZSBvZiB0aGUgYXJndW1lbnRzJyB2YWx1ZXMgaXMgb3V0IG9mIHJhbmdlAFVuc3VwcG9ydGVkIGZvcm1hdCBvciBjb21iaW5hdGlvbiBvZiBmb3JtYXRzAElucHV0IENPSSBpcyBub3Qgc3VwcG9ydGVkAEJhZCBudW1iZXIgb2YgY2hhbm5lbHMAQmFkIGZsYWcgKHBhcmFtZXRlciBvciBzdHJ1Y3R1cmUgZmllbGQpAEJhZCBwYXJhbWV0ZXIgb2YgdHlwZSBDdlBvaW50AEJhZCB0eXBlIG9mIG1hc2sgYXJndW1lbnQAUGFyc2luZyBlcnJvcgBUaGUgZnVuY3Rpb24vZmVhdHVyZSBpcyBub3QgaW1wbGVtZW50ZWQATWVtb3J5IGJsb2NrIGhhcyBiZWVuIGNvcnJ1cHRlZABBc3NlcnRpb24gZmFpbGVkAE5vIENVREEgc3VwcG9ydABHcHUgQVBJIGNhbGwATm8gT3BlbkdMIHN1cHBvcnQAT3BlbkdMIEFQSSBjYWxsAFVua25vd24gJXMgY29kZSAlZABzdGF0dXMAZXJyb3IAcHRocmVhZF9rZXlfY3JlYXRlKCZ0bHNLZXksIG9wZW5jdl90bHNfZGVzdHJ1Y3RvcikgPT0gMABUbHNBYnN0cmFjdGlvbgBPcGVuQ1YgRVJST1I6IFRsc0Fic3RyYWN0aW9uOjp+VGxzQWJzdHJhY3Rpb24oKTogcHRocmVhZF9rZXlfZGVsZXRlKCkgY2FsbCBmYWlsZWQKAHB0aHJlYWRfc2V0c3BlY2lmaWModGxzS2V5LCBwRGF0YSkgPT0gMABzZXREYXRhAAAAAAAAjPIAAOgDAADpAwAA6gMAAOoDAABrZXlfID09IC0xAH5UTFNEYXRhQ29udGFpbmVyAGtleV8gIT0gLTEgJiYgIkNhbid0IGZldGNoIGRhdGEgZnJvbSB0ZXJtaW5hdGVkIFRMUyBjb250YWluZXIuIgBnZXREYXRhAE4yY3YxNlRMU0RhdGFDb250YWluZXJFAAAAABRqAgBx8gAAT1BFTkNWX0RVTVBfQ09ORklHAApPcGVuQ1YgYnVpbGQgY29uZmlndXJhdGlvbiBpczoKJXMKAE1NWABTU0UAU1NFMgBTU0UzAFNTU0UzAFNTRTQuMQBTU0U0LjIAUE9QQ05UAEZQMTYAQVZYAEFWWDIARk1BMwBBVlg1MTJGAEFWWDUxMkJXAEFWWDUxMkNEAEFWWDUxMkRRAEFWWDUxMkVSAEFWWDUxMklGTUEAQVZYNTEyUEYAQVZYNTEyVkJNSQBBVlg1MTJWTABBVlg1MTJWQk1JMgBBVlg1MTJWTk5JAEFWWDUxMkJJVEFMRwBBVlg1MTJWUE9QQ05URFEAQVZYNTEyNFZOTklXAEFWWDUxMjRGTUFQUwBORU9OAFZTWABWU1gzAENQVV9NU0EAUklTQ1ZWAEFWWDUxMi1DT01NT04AQVZYNTEyLVNLWABBVlg1MTItS05MAEFWWDUxMi1LTk0AQVZYNTEyLUNOTABBVlg1MTItQ0xYAEFWWDUxMi1JQ0wAUlZWAE9QRU5DVl9DUFVfRElTQUJMRQBmZWF0dXJlLnNpemUoKSA+IDAAcmVhZFNldHRpbmdzAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgYmFzZWxpbmUgQ1BVIGZlYXR1cmU6ICclcycuVGhpcyBoYXMgdmVyeSBsaW1pdGVkIGVmZmVjdCwgYmVjYXVzZSBjb2RlIG9wdGltaXphdGlvbnMgZm9yIHRoaXMgZmVhdHVyZSBhcmUgZXhlY3V0ZWQgdW5jb25kaXRpb25hbGx5IGluIHRoZSBtb3N0IGNhc2VzLgoAT1BFTkNWOiBUcnlpbmcgdG8gZGlzYWJsZSB1bmF2YWlsYWJsZSBDUFUgZmVhdHVyZSBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybTogJyVzJy4KAE9QRU5DVjogVHJ5aW5nIHRvIGRpc2FibGUgdW5r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FkMAABdDAAAYQwAAGUMAABpDAAAbQwAAHEMAAB1DAAAeQwAAH0MAACBDAAAhQwAAIkMAACNDAAAkQwAAJUMAACZDAAAnQwAAKEMAAClDAAAqQwAAK0MAACxDAAAtQwAALkMAAC9DAAAwQwAAMUMAADJDAAAzQwAANEMAADVDAAA2QwAAN0MAADhDAAA5QwAAOkMAADtDAAA8QwAAPUMAAD5DAAA/QwAAQEMAAEFDAABCQwAAQ0MAAERDAABFQwAARkMAAEdDAABIQwAASUMAAEpDAABLQwAATEMAAE1DAABOQwAAT0MAAFBDAABRQwAAUkMAAFNDAABUQwAAVUMAAFZDAABXQwAAWEMAAFlDAABaQwAAW0MAAFxDAABdQwAAXkMAAF9DAABgQwAAYUMAAGJDAABjQwAAZEMAAGVDAABmQwAAZ0MAAGhDAABpQwAAakMAAGtDAABsQwAAbUMAAG5DAABvQwAAcEMAAHFDAAByQwAAc0MAAHRDAAB1QwAAdkMAAHdDAAB4QwAAeUMAAHpDAAB7QwAAfEMAAH1DAAB+QwAAf0MAQaH+Awv2GQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////bWFwY291bnQgPT0gMAB+VU1hdERhdGEAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL3VtYXRyaXguY3BwADAgPD0gX2RpbXMgJiYgX2RpbXMgPD0gQ1ZfTUFYX0RJTQBzZXRTaXplAHMgPj0gMABUaGUgdG90YWwgbWF0cml4IHNpemUgZG9lcyBub3QgZml0IHRvICJzaXplX3QiIHR5cGUAZGF0YSA9PSBkYXRhc3RhcnQAZ2V0VU1hdABhbGxvY2F0ZWQAMCA8PSBkICYmIGQgPD0gQ1ZfTUFYX0RJTSAmJiBfc2l6ZXMAY3JlYXRlAHUgIT0gMABzdGVwW2RpbXMtMV0gPT0gKHNpemVfdClDVl9FTEVNX1NJWkUoZmxhZ3MpAG0uZGltcyA+PSAyAFVNYXQAMCA8PSBfcm93UmFuZ2Uuc3RhcnQgJiYgX3Jvd1JhbmdlLnN0YXJ0IDw9IF9yb3dSYW5nZS5lbmQgJiYgX3Jvd1JhbmdlLmVuZCA8PSBtLnJvd3MAMCA8PSBfY29sUmFuZ2Uuc3RhcnQgJiYgX2NvbFJhbmdlLnN0YXJ0IDw9IF9jb2xSYW5nZS5lbmQgJiYgX2NvbFJhbmdlLmVuZCA8PSBtLmNvbHMAbS5kaW1zIDw9IDIAMCA8PSByb2kueCAmJiAwIDw9IHJvaS53aWR0aCAmJiByb2kueCArIHJvaS53aWR0aCA8PSBtLmNvbHMgJiYgMCA8PSByb2kueSAmJiAwIDw9IHJvaS5oZWlnaHQgJiYgcm9pLnkgKyByb2kuaGVpZ2h0IDw9IG0ucm93cwByYW5nZXMAciA9PSBSYW5nZTo6YWxsKCkgfHwgKDAgPD0gci5zdGFydCAmJiByLnN0YXJ0IDwgci5lbmQgJiYgci5lbmQgPD0gbS5zaXplW2ldKQB1LT5kYXRhICE9IDAgJiYgIkVycm9yIG1hcHBpbmcgb2YgVU1hdCB0byBob3N0IG1lbW9yeS4iAGdldE1hdABjaGFubmVscygpID09IENWX01BVF9DTihkdHlwZSkAY29weVRvAGRzdC51AAAAAAAAhAQBAPQDAAD1AwAA9gMAAPcDAABOMmN2N1RMU0RhdGFJTlNfMThVTWF0RGF0YUF1dG9Mb2NrZXJFRUUAmGoCAFwEAQAAAAAAAQAAAIzyAAAAAAAAdXNhZ2VfY291bnQgPT0gMABsb2NrAHVzYWdlX2NvdW50ID09IDEAcmVsZWFzZQBnbG9iYWwAREVCVUcARElTQUJMRQBESVNBQkxFRABFUlJPUgBGQVRBTABJTkZPAE9GRgBTSUxFTlQAVkVSQk9TRQBXQVJOAFdBUk5JTkcAV0FSTklOR1MAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBnbG9iYWwAZnVsbE5hbWVSZXN1bHQubV9maW5kQ3Jvc3NSZWZlcmVuY2VzAGludGVybmFsX2FwcGx5TmFtZVBhcnRDb25maWdUb1NwZWNpZmljVGFnAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy91dGlscy9sb2d0YWdtYW5hZ2VyLmNwcABuYW1lUGFydFJlc3VsdC5tX2ZpbmRDcm9zc1JlZmVyZW5jZXMAaW50ZXJuYWxfYXBwbHlOYW1lUGFydENvbmZpZ1RvTWF0Y2hpbmdUYWdzAHNjb3BlICE9IE1hdGNoaW5nU2NvcGU6OkZ1bGwAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFAcBAPgDAAD5AwAA+gMAAIwDAAD7AwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjV1dGlsczdsb2dnaW5nMThMb2dUYWdDb25maWdQYXJzZXJFTlNfOWFsbG9jYXRvcklTNF9FRUVFAAA8agIAuAYBAMRlAgBOdW1iZXIgb2YgY2hhbm5lbHMgaW4gaW5wdXQgaW1hZ2UgbXVzdCBiZSAxIG9yIDMAZmxvb2RGaWxsAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9mbG9vZGZpbGwuY3BwAENvbm5lY3Rpdml0eSBtdXN0IGJlIDQsIDAoPTQpIG9yIDgAbG9fZGlmZiBhbmQgdXBfZGlmZiBtdXN0IGJlIG5vbi1uZWdhdGl2ZQBTZWVkIHBvaW50IGlzIG91dHNpZGUgb2YgaW1hZ2UAAG1hc2sucm93cyA9PSBzaXplLmhlaWdodCsyICYmIG1hc2suY29scyA9PSBzaXplLndpZHRoKzIAbWFzay50eXBlKCkgPT0gQ1ZfOFUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbnZhbGlkIGltYWdlIHR5cGUgKG11c3QgYmUgc2luZ2xlLWNoYW5uZWwpAG1vbWVudHMAL3NyYy9tb2R1bGVzL2ltZ3Byb2Mvc3JjL21vbWVudHMuY3BwAABjb250b3VyLmRlcHRoKCkgPT0gQ1ZfMzJTIHx8IGNvbnRvdXIuZGVwdGgoKSA9PSBDVl8zMkYAY29udG91ck1vbWVudHMAAP0DAAD+AwAA/QMAAP8DAAAABAAATjJjdjlGb3JtYXR0ZWRFABRqAgA0CQEATjJjdjlGb3JtYXR0ZXJFABRqAgBMCQEAAAAAAMwJAQAJBAAACgQAAAsEAACMAwAADAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxNkRlZmF1bHRGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAgAkBAMRlAgAAAAAAOAoBAA0EAAAOBAAADwQAABAEAAARBAAAEgQAABMEAABOMmN2MTZEZWZhdWx0Rm9ybWF0dGVyRQBOMmN2MTNGb3JtYXR0ZXJCYXNlRQAAAAA8agIAFAoBAFwJAQA8agIA/AkBACwKAQBbAF0AAAAAAKwKAQAUBAAAFQQAABYEAACMAwAAFwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxM0Zvcm1hdHRlZEltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFADxqAgBkCgEAxGUCAAAAAAAkCwEAGAQAABkEAAAaBAAAGwQAAG0uZGltcyA8PSAyAEZvcm1hdHRlZEltcGwAL3NyYy9tb2R1bGVzL2NvcmUvc3JjL291dC5jcHAAJSUuJWRnAE4yY3YxM0Zvcm1hdHRlZEltcGxFADxqAgAPCwEARAkBACUzZAAlZAAKKDosIDosICVkKSA9IAoAKDosIDosICVkKSA9IAoAAAAAAAAAwAsBABwEAAAdBAAAHgQAAIwDAAAfBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1TWF0bGFiRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgB0CwEAxGUCAAAAAAAIDAEADQQAACAEAAAhBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNU1hdGxhYkZvcm1hdHRlckUAADxqAgDwCwEALAoBAAAAOwBBoJgEC6spgAwBACIEAAAjBAAAJAQAAIwDAAAlBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjEyQ1NWRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAPGoCADgMAQDEZQIAAAAAAMQMAQANBAAAJgQAACcEAAAQBAAAEQQAABIEAAATBAAATjJjdjEyQ1NWRm9ybWF0dGVyRQA8agIAsAwBACwKAQAAAAAAOA0BACgEAAApBAAAKgQAAIwDAAArBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjE1UHl0aG9uRm9ybWF0dGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgDsDAEAxGUCAAAAAACADQEADQQAACwEAAAtBAAAEAQAABEEAAASBAAAEwQAAE4yY3YxNVB5dGhvbkZvcm1hdHRlckUAADxqAgBoDQEALAoBAAAAAAD0DQEALgQAAC8EAAAwBAAAjAMAADEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTROdW1weUZvcm1hdHRlckVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCAKgNAQDEZQIAAAAAADwOAQANBAAAMgQAADMEAAAQBAAAEQQAABIEAAATBAAATjJjdjE0TnVtcHlGb3JtYXR0ZXJFAAAAPGoCACQOAQAsCgEAdWludDgAaW50OAB1aW50MTYAaW50MTYAaW50MzIAZmxvYXQzMgBmbG9hdDY0AGZsb2F0MTYAW10sW11hcnJheShbAF0sIGR0eXBlPSclcycpAAAAAAAAAAAPAQA0BAAANQQAADYEAACMAwAANwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxMENGb3JtYXR0ZXJFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAADxqAgC4DgEAxGUCAAAAAABEDwEADQQAADgEAAA5BAAAEAQAABEEAAASBAAAEwQAAE4yY3YxMENGb3JtYXR0ZXJFAAAAPGoCADAPAQAsCgEAAAAsAAB7AH0AL3NyYy9tb2R1bGVzL2NvcmUvc3JjL21hdGhmdW5jcy5jcHAAcHQgPT0gTlVMTABjaGVja1JhbmdlAHRoZSB2YWx1ZSBhdCAoJWQsICVkKT0lcyBpcyBvdXQgb2YgcmFuZ2UgWyVmLCAlZikAY3R5cGUgPT0gQ1ZfMzJGIHx8IGN0eXBlID09IENWXzY0RgBzb2x2ZUN1YmljAChjb2VmZnMuc2l6ZSgpID09IFNpemUobjAsIDEpIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZShuMCsxLCAxKSB8fCBjb2VmZnMuc2l6ZSgpID09IFNpemUoMSwgbjApIHx8IGNvZWZmcy5zaXplKCkgPT0gU2l6ZSgxLCBuMCsxKSkAY291bnQgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzMyUykAbWluRW5jbG9zaW5nQ2lyY2xlAC9zcmMvbW9kdWxlcy9pbWdwcm9jL3NyYy9zaGFwZWRlc2NyLmNwcAAvc3JjL21vZHVsZXMvY29yZS9zcmMvY29udmVydF9jLmNwcABzcmMuc2l6ZSA9PSBkc3Quc2l6ZSAmJiBzcmMuY2hhbm5lbHMoKSA9PSBkc3QuY2hhbm5lbHMoKQBjdkNvbnZlcnRTY2FsZQA/BAAAPwQAAEAEAABABAAAQQQAAEIEAABDBAAAAAAAAGNuID09IDEAY291bnROb25aZXJvAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9jb3VudF9ub25femVyby5kaXNwYXRjaC5jcHAAZnVuYyAhPSAwAG1hc2suZW1wdHkoKSB8fCBtYXNrLnR5cGUoKSA9PSBDVl84VQBtZWFuAC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9tZWFuLmRpc3BhdGNoLmNwcABjbiA8PSA0ICYmIGZ1bmMgIT0gMAAwIDwgY29pICYmIGNvaSA8PSA0AC9zcmMvbW9kdWxlcy9jb3JlL3NyYy9zdGF0X2MuY3BwAGN2QXZnAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9jYWxpYnJhdGlvbi5jcHAASW5wdXQgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgbWF0cml4AGN2Um9kcmlndWVzMgBUaGUgZmlyc3Qgb3V0cHV0IGFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIG1hdHJpeABUaGUgbWF0cmljZXMgbXVzdCBoYXZlIDMyZiBvciA2NGYgZGF0YSB0eXBlAEFsbCB0aGUgbWF0cmljZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGRhdGEgdHlwZQBKYWNvYmlhbiBpcyBub3QgYSB2YWxpZCBtYXRyaXgASmFjb2JpYW4gbXVzdCBoYXZlIDMyZkMxIG9yIDY0ZkMxIGRhdGF0eXBlAEphY29iaWFuIG11c3QgYmUgM3g5IG9yIDl4MwBJbnB1dCBtYXRyaXggbXVzdCBiZSAxeDMsIDN4MSBvciAzeDMAT3V0cHV0IG1hdHJpeCBtdXN0IGJlIDN4Mywgc2luZ2xlLWNoYW5uZWwgZmxvYXRpbmcgcG9pbnQgbWF0cml4AE91dHB1dCBtYXRyaXggbXVzdCBiZSAxeDMgb3IgM3gxAElucHV0IG1hdHJpeCBtdXN0IGJlIDF4MyBvciAzeDEgZm9yIGEgcm90YXRpb24gdmVjdG9yLCBvciAzeDMgZm9yIGEgcm90YXRpb24gbWF0cml4AENWX0lTX01BVChvYmplY3RQb2ludHMpICYmIENWX0lTX01BVChpbWFnZVBvaW50cykgJiYgQ1ZfSVNfTUFUKEEpICYmIENWX0lTX01BVChydmVjKSAmJiBDVl9JU19NQVQodHZlYykAY3ZGaW5kRXh0cmluc2ljQ2FtZXJhUGFyYW1zMgAoQ1ZfTUFUX0RFUFRIKHJ2ZWMtPnR5cGUpID09IENWXzY0RiB8fCBDVl9NQVRfREVQVEgocnZlYy0+dHlwZSkgPT0gQ1ZfMzJGKSAmJiAocnZlYy0+cm93cyA9PSAxIHx8IHJ2ZWMtPmNvbHMgPT0gMSkgJiYgcnZlYy0+cm93cypydmVjLT5jb2xzKkNWX01BVF9DTihydmVjLT50eXBlKSA9PSAzAChDVl9NQVRfREVQVEgodHZlYy0+dHlwZSkgPT0gQ1ZfNjRGIHx8IENWX01BVF9ERVBUSCh0dmVjLT50eXBlKSA9PSBDVl8zMkYpICYmICh0dmVjLT5yb3dzID09IDEgfHwgdHZlYy0+Y29scyA9PSAxKSAmJiB0dmVjLT5yb3dzKnR2ZWMtPmNvbHMqQ1ZfTUFUX0NOKHR2ZWMtPnR5cGUpID09IDMAKGNvdW50ID49IDQpIHx8IChjb3VudCA9PSAzICYmIHVzZUV4dHJpbnNpY0d1ZXNzKQAAAACsFgEAYxIBAJUEAAAFAAAAIRcBAH0XAQCDFwEAdm9pZCBjdkZpbmRFeHRyaW5zaWNDYW1lcmFQYXJhbXMyKGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIGNvbnN0IEN2TWF0ICosIEN2TWF0ICosIEN2TWF0ICosIGludCkARExUIGFsZ29yaXRobSBuZWVkcyBhdCBsZWFzdCA2IHBvaW50cyBmb3IgcG9zZSBlc3RpbWF0aW9uIGZyb20gM0QtMkQgcG9pbnQgY29ycmVzcG9uZGVuY2VzLgBjb3VudAA2AGZhYnMoc2MpID4gREJMX0VQU0lMT04AuBcBAGMSAQCXDQAAAAAAADQUAQD9FwEAAxgBAHZvaWQgY3Y6OlJvZHJpZ3Vlcyhjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAHNyY1N6AHNyY1N6ID09IFNpemUoMywgMSkgfHwgc3JjU3ogPT0gU2l6ZSgxLCAzKSB8fCAoc3JjU3ogPT0gU2l6ZSgxLCAxKSAmJiBzcmMuY2hhbm5lbHMoKSA9PSAzKSB8fCBzcmNTeiA9PSBTaXplKDMsIDMpAG5wb2ludHMgPj0gMCAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAcHJvamVjdFBvaW50cwBfaXBvaW50cy5uZWVkZWQoKQBPbmUgb2YgcmVxdWlyZWQgYXJndW1lbnRzIGlzIG5vdCBhIHZhbGlkIG1hdHJpeABjdlByb2plY3RQb2ludHMySW50ZXJuYWwASG9tb2dlbmVvdXMgY29vcmRpbmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQAUm90YXRpb24gbXVzdCBiZSByZXByZXNlbnRlZCBieSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHJvdGF0aW9uIHZlY3Rvciwgb3IgM3gzIHJvdGF0aW9uIG1hdHJpeABUcmFuc2xhdGlvbiB2ZWN0b3IgbXVzdCBiZSAxeDMgb3IgM3gxIGZsb2F0aW5nLXBvaW50IHZlY3RvcgBJbnRyaW5zaWMgcGFyYW1ldGVycyBtdXN0IGJlIDN4MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZHJvdCBtdXN0IGJlIDJOeDMgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RUIG11c3QgYmUgMk54MyBmbG9hdGluZy1wb2ludCBtYXRyaXgAZHAvZGYgbXVzdCBiZSAyTngyIGZsb2F0aW5nLXBvaW50IG1hdHJpeABkcC9kYyBtdXN0IGJlIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRwL2RmIG11c3QgYmUgMk54MTQsIDJOeDEyLCAyTng4LCAyTng1LCAyTng0IG9yIDJOeDIgZmxvYXRpbmctcG9pbnQgbWF0cml4AGRpc3RDb2VmZnMgaXMgTlVMTCB3aGlsZSBkcGRrIGlzIG5vdABkcC9kbyBtdXN0IGJlIDJOeDNOIGZsb2F0aW5nLXBvaW50IG1hdHJpeABEaXN0b3J0aW9uIGNvZWZmaWNpZW50cyBtdXN0IGJlIDF4NCwgNHgxLCAxeDUsIDV4MSwgMXg4LCA4eDEsIDF4MTIsIDEyeDEsIDF4MTQgb3IgMTR4MSBmbG9hdGluZy1wb2ludCB2ZWN0b3IAAAAAAAA0HAEARAQAAEUEAABGBAAARwQAAEgEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQNUN2TWF0TjJjdjE0RGVmYXVsdERlbGV0ZXJJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUAAAAAPGoCANwbAQDEZQIATjJjdjE0RGVmYXVsdERlbGV0ZXJJNUN2TWF0RUUAZGF0YSAmJiBkaW1zIDw9IDIgJiYgcm93cyA9PSBtICYmIGNvbHMgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgTWF0eAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9tYXQuaW5sLmhwcABfdy5kYXRhID09ICh1Y2hhciopJncudmFsWzBdICYmIF91LmRhdGEgPT0gKHVjaGFyKikmdS52YWxbMF0gJiYgX3Z0LmRhdGEgPT0gKHVjaGFyKikmdnQudmFsWzBdAGNvbXB1dGUAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvb3BlcmF0aW9ucy5ocHAAIWVyci5lbXB0eSgpAHVwZGF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvY29tcGF0X3B0c2V0cmVnLmNwcABzdGF0ZSA9PSBDSEVDS19FUlIAZHN0LnJvd3MgPT0gZHN0MC5jb2xzICYmIGRzdC5jb2xzID09IGRzdDAucm93cwBjdkNvbnZlcnRQb2ludHNIb21vZ2VuZW91cwBkc3Quc2l6ZSgpID09IGRzdDAuc2l6ZSgpAFRoZSBpbnB1dCBhcnJheXMgc2hvdWxkIGJlIDJEIG9yIDNEIHBvaW50IHNldHMAZmluZEhvbW9ncmFwaHkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2Z1bmRhbS5jcHAAVGhlIGlucHV0IGFycmF5cyBzaG91bGQgaGF2ZSBhdCBsZWFzdCA0IGNvcnJlc3BvbmRpbmcgcG9pbnQgc2V0cyB0byBjYWxjdWxhdGUgSG9tb2dyYXBoeQBzcmMuY2hlY2tWZWN0b3IoMikgPT0gZHN0LmNoZWNrVmVjdG9yKDIpAFVua25vd24gZXN0aW1hdGlvbiBtZXRob2QAbnBvaW50cyA+PSAwAGNvbnZlcnRQb2ludHNGcm9tSG9tb2dlbmVvdXMAbnBvaW50cyA+PSAwICYmIChkZXB0aCA9PSBDVl8zMlMgfHwgZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAZHN0LmlzQ29udGludW91cygpAABjb252ZXJ0UG9pbnRzVG9Ib21vZ2VuZW91cwAAAAAAAABIIAEASQQAAEoEAABLBAAAjAMAAEwEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjdIb21vZ3JhcGh5RXN0aW1hdG9yQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAAAPGoCAPAfAQDEZQIAAAAAAMAgAQBNBAAATgQAAE8EAABQBAAAUQQAAE4yY3YyN0hvbW9ncmFwaHlFc3RpbWF0b3JDYWxsYmFja0UATjJjdjE5UG9pbnRTZXRSZWdpc3RyYXRvcjhDYWxsYmFja0UAABRqAgCTIAEAPGoCAHAgAQC4IAEAQdTBBAuD6AEBAAAAAgAAAAEAAAACAAAAAwAAAAAAAAACAAAAAwAAAAAAAAABAAAAAwAAAAAAAABwIQEAUgQAAFMEAABUBAAAjAMAAFUEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MjRIb21vZ3JhcGh5UmVmaW5lQ2FsbGJhY2tFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIAHCEBAMRlAgAAAAAA0CEBAFYEAABXBAAAWAQAAE4yY3YyNEhvbW9ncmFwaHlSZWZpbmVDYWxsYmFja0UATjJjdjhMTVNvbHZlcjhDYWxsYmFja0UAFGoCALAhAQA8agIAkCEBAMghAQBKLmlzQ29udGludW91cygpICYmIEouY29scyA9PSA4AGNvbXB1dGUAAAAAAFAiAQBZBAAAWgQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAG15X29iamVjdABmb3JtYXQATjJjdjlBbGdvcml0aG1FAAAAABRqAgA9IgEATm8gZWxlbWVudCBuYW1lIGhhcyBiZWVuIGdpdmVuAG9wZXJhdG9yPDwAL3NyYy9tb2R1bGVzL2NvcmUvaW5jbHVkZS9vcGVuY3YyL2NvcmUvcGVyc2lzdGVuY2UuaHBwAAAAAAAAAAAgIwEAYQQAAGIEAABjBAAAjAMAAGQEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2MTJMTVNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTMl9FRUVFAAA8agIA2CIBAMRlAgAAAAAAkCMBAGUEAABmBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZwQAAGgEAABpBAAATjJjdjEyTE1Tb2x2ZXJJbXBsRQBOMmN2OExNU29sdmVyRQAAPGoCAHQjAQBQIgEAPGoCAGAjAQCEIwEAKHBhcmFtMC5jb2xzID09IDEgfHwgcGFyYW0wLnJvd3MgPT0gMSkgJiYgKHB0eXBlID09IENWXzMyRiB8fCBwdHlwZSA9PSBDVl82NEYpAHJ1bgAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvbGV2bWFycS5jcHAAY2IAQS50eXBlKCkgPT0gQ1ZfNjRGICYmIEEucm93cyA9PSBseAAlYyUxMGQgJTEwZCAlMTUuNGUgJTE2LjRlICUxNy40ZSAlMTYuNGUgJTE3LjRlCgBpdGVycyA+IDAAc2V0TWF4SXRlcnMACWl0cgluZkoJCVNVTShyXjIpCQl4CQlkeAkJbAkJbGMAKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAHRoZSBudW1iZXIgb2YgbW9kZWwgcG9pbnRzIHNob3VsZCBiZSBwb3NpdGl2ZQBSQU5TQUNVcGRhdGVOdW1JdGVycwAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvcHRzZXRyZWcuY3BwAAAAAAAA2CUBAGoEAABrBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAbAQAAG0EAABOMmN2MjVSQU5TQUNQb2ludFNldFJlZ2lzdHJhdG9yRQBOMmN2MTlQb2ludFNldFJlZ2lzdHJhdG9yRQA8agIAsSUBAFAiAQA8agIAkCUBAMwlAQBjYgBydW4AY29uZmlkZW5jZSA+IDAgJiYgY29uZmlkZW5jZSA8IDEAY291bnQgPj0gMCAmJiBjb3VudDIgPT0gY291bnQAKGJlc3RNYXNrLmNvbHMgPT0gMSB8fCBiZXN0TWFzay5yb3dzID09IDEpICYmIChpbnQpYmVzdE1hc2sudG90YWwoKSA9PSBjb3VudABtb2RlbC5yb3dzICUgbm1vZGVscyA9PSAwAChlc3oxICUgc2l6ZW9mKGludCkpID09IDAgJiYgKGVzejIgJSBzaXplb2YoaW50KSkgPT0gMABnZXRTdWJzZXQAY291bnQgPj0gbW9kZWxQb2ludHMgJiYgY291bnQgPT0gY291bnQyAGVyci5pc0NvbnRpbnVvdXMoKSAmJiBlcnIudHlwZSgpID09IENWXzMyRiAmJiBtYXNrLmlzQ29udGludW91cygpICYmIG1hc2sudHlwZSgpID09IENWXzhVAGZpbmRJbmxpZXJzAAAAAACwJwEAagQAAG4EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABsBAAAbwQAAE4yY3YyNExNZURTUG9pbnRTZXRSZWdpc3RyYXRvckUAPGoCAJAnAQDYJQEAKG1hc2suY29scyA9PSAxIHx8IG1hc2sucm93cyA9PSAxKSAmJiAoaW50KW1hc2sudG90YWwoKSA9PSBjb3VudABlcnJmLmlzQ29udGludW91cygpICYmIGVycmYudHlwZSgpID09IENWXzMyRiAmJiAoaW50KWVycmYudG90YWwoKSA9PSBjb3VudAAAAAAA1CgBAEQEAABwBAAAcQQAAHIEAABzBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTMl9FRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAAADxqAgBkKAEAxGUCAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU4yY3YyNVJBTlNBQ1BvaW50U2V0UmVnaXN0cmF0b3JFRUUAAAAAAACoKQEARAQAAHQEAAB1BAAAdgQAAHcEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAAAPGoCADgpAQDEZQIATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjJjdjI0TE1lRFNQb2ludFNldFJlZ2lzdHJhdG9yRUVFAE9QRU5DVl9CVUZGRVJfQVJFQV9BTFdBWVNfU0FGRQB0b3RhbFNpemUgPiAwAGNvbW1pdAAvc3JjL21vZHVsZXMvY29yZS9zcmMvYnVmZmVyX2FyZWEuY3BwAG9uZUJ1ZiA9PSBOVUxMACFibG9ja3MuZW1wdHkoKQBwdHIgJiYgKnB0ciA9PSBOVUxMAEJsb2NrAHJlYWxfYWxsb2NhdGUAcmVpbnRlcnByZXRfY2FzdDxzaXplX3Q+KCpwdHIpICUgYWxpZ25tZW50ID09IDAAc3RhdGljX2Nhc3Q8dWNoYXIqPigqcHRyKSArIHR5cGVfc2l6ZSAqIGNvdW50IDw9IHN0YXRpY19jYXN0PHVjaGFyKj4ocmF3X21lbSkgKyB0eXBlX3NpemUgKiBhbGxvY2F0ZWRfY291bnQAcHRyICYmICpwdHIAZmFzdF9hbGxvY2F0ZQByZWludGVycHJldF9jYXN0PHNpemVfdD4oYnVmKSAlIGFsaWdubWVudCA9PSAwAGNsZWFudXAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAFCwBAHgEAAB5BAAAegQAAHsEAAB8BAAAfQQAAH4EAAB/BAAATjJjdjEzUkhPX0hFU1RfUkVGQ0UATjJjdjhSSE9fSEVTVEUAFGoCAP0rAQA8agIA6CsBAAwsAQBwdHIgPT0gTlVMTABhbGxvY2F0ZQAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS91dGlscy9idWZmZXJfYXJlYS5wcml2YXRlLmhwcABjb3VudCA+IDAAYWxpZ25tZW50ID4gMABhbGlnbm1lbnQgJSBzaXplb2YoVCkgPT0gMAAoYWxpZ25tZW50ICYgKGFsaWdubWVudCAtIDEpKSA9PSAwAHB0ciAhPSBOVUxMAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAKAtAQBEBAAAgAQAAIEEAACCBAAAgwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBOMmN2MTNSSE9fSEVTVF9SRUZDRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzJfRUVOU185YWxsb2NhdG9ySVMyX0VFRUUAAAA8agIAPC0BAMRlAgBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlOMmN2MTNSSE9fSEVTVF9SRUZDRUVFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAADwuAQCmLgEAVQAAAAAAAADILgEA+y4BAAMvAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpzb2x2ZUdlbmVyaWMoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL2lwcGUuY3BwAFR5cGUgb2YgX29iamVjdFBvaW50cyBtdXN0IGJlIENWXzMyRkMzIG9yIENWXzY0RkMzAG9ialR5cGUAb2JqVHlwZSA9PSBDVl8zMkZDMyB8fCBvYmpUeXBlID09IENWXzY0RkMzAAAAPC4BAKYuAQBXAAAAAAAAAEwvAQCILwEAky8BAFR5cGUgb2YgX25vcm1hbGl6ZWRJbnB1dFBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAHR5cGVfaW5wdXQAdHlwZV9pbnB1dCA9PSBDVl8zMkZDMiB8fCB0eXBlX2lucHV0ID09IENWXzY0RkMyAF9vYmplY3RQb2ludHMucm93cygpID09IDEgfHwgX29iamVjdFBvaW50cy5jb2xzKCkgPT0gMQBzb2x2ZUdlbmVyaWMAX29iamVjdFBvaW50cy5yb3dzKCkgPj0gNCB8fCBfb2JqZWN0UG9pbnRzLmNvbHMoKSA+PSA0AF9ub3JtYWxpemVkSW5wdXRQb2ludHMucm93cygpID09IDEgfHwgX25vcm1hbGl6ZWRJbnB1dFBvaW50cy5jb2xzKCkgPT0gMQBzdGF0aWNfY2FzdDxzaXplX3Q+KF9vYmplY3RQb2ludHMucm93cygpKSAqIHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5jb2xzKCkpID09IG4AX29iamVjdFBvaW50cy50eXBlKCkAFDEBAKYuAQAoAQAAAAAAAFgxAQB0MQEAfjEBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OnJvdDJ2ZWMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfUiBtdXN0IGJlIENWXzY0RkMxAF9SLnR5cGUoKQBfUi50eXBlKCkgPT0gQ1ZfNjRGQzEAX1Iucm93cygpID09IDMAcm90MnZlYwBfUi5jb2xzKCkgPT0gMwAAANgxAQCmLgEASwEAAAAAAABHMgEA4zABAG4yAQB2b2lkIGN2OjpJUFBFOjpQb3NlU29sdmVyOjpjb21wdXRlVHJhbnNsYXRpb24oY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9vYmplY3RQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfb2JqZWN0UG9pbnRzLnR5cGUoKSA9PSBDVl82NEZDMgAA2DEBAKYuAQBNAQAAAAAAAKwyAQDaMgEA9jIBAFR5cGUgb2YgX25vcm1hbGl6ZWRJbWdQb2ludHMgbXVzdCBiZSBDVl82NEZDMgBfbm9ybWFsaXplZEltZ1BvaW50cy50eXBlKCkAX25vcm1hbGl6ZWRJbWdQb2ludHMudHlwZSgpID09IENWXzY0RkMyAAAA2DEBAKYuAQBPAQAAAAAAAFgxAQB0MQEAfjEBAF9SLnJvd3MoKSA9PSAzICYmIF9SLmNvbHMoKSA9PSAzAGNvbXB1dGVUcmFuc2xhdGlvbgBfbm9ybWFsaXplZEltZ1BvaW50cy5yb3dzKCkgPT0gMSB8fCBfbm9ybWFsaXplZEltZ1BvaW50cy5jb2xzKCkgPT0gMQBuID09IHN0YXRpY19jYXN0PHNpemVfdD4oX29iamVjdFBvaW50cy5yb3dzKCkgKiBfb2JqZWN0UG9pbnRzLmNvbHMoKSkAY29tcHV0ZVJvdGF0aW9ucwBnYW1tYSBpcyB6ZXJvLgAAODQBAKYuAQACAgAAAAAAAJc0AQDKNAEA3zQBAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6OmhvbW9ncmFwaHlGcm9tU3F1YXJlUG9pbnRzKGN2OjpJbnB1dEFycmF5LCBkb3VibGUsIGN2OjpPdXRwdXRBcnJheSkAVHlwZSBvZiBfdGFyZ2V0UG9pbnRzIG11c3QgYmUgQ1ZfMzJGQzIgb3IgQ1ZfNjRGQzIAX3RhcmdldFBvaW50cy50eXBlKCkAX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfMzJGQzIgfHwgX3RhcmdldFBvaW50cy50eXBlKCkgPT0gQ1ZfNjRGQzIARGV0ZXJtaW5hbnQgaXMgemVybyEAaG9tb2dyYXBoeUZyb21TcXVhcmVQb2ludHMAcDUBAKYuAQBAAgAAAAAAAMguAQD7LgEAAy8BAHZvaWQgY3Y6OklQUEU6OlBvc2VTb2x2ZXI6Om1ha2VDYW5vbmljYWxPYmplY3RQb2ludHMoY3Y6OklucHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBDYW5ub3QgdHJhbnNmb3JtIG9iamVjdCBwb2ludHMgdG8gdGhlIHBsYW5lIHo9MCEAbWFrZUNhbm9uaWNhbE9iamVjdFBvaW50cwBzMyAvIHMyIDwgSVBQRV9TTUFMTABjb21wdXRlT2JqZXh0U3BhY2VSU3ZEAERhdGEucm93cyA9PSAxIHx8IERhdGEuY29scyA9PSAxAG5vcm1hbGl6ZURhdGFJc290cm9waWMARGF0YS5jaGFubmVscygpID09IDIgfHwgRGF0YS5jaGFubmVscygpID09IDMAbnVtUG9pbnRzID49IDQAAADgNgEApi4BAG0DAAAAAAAAUTcBAJU3AQCeNwEAdm9pZCBjdjo6SG9tb2dyYXBoeUhPOjpub3JtYWxpemVEYXRhSXNvdHJvcGljKGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXksIGN2OjpPdXRwdXRBcnJheSwgY3Y6Ok91dHB1dEFycmF5KQBUeXBlIG9mIF9EYXRhIG11c3QgYmUgb25lIG9mIENWXzMyRkMyLCBDVl8zMkZDMywgQ1ZfNjRGQzIsIENWXzY0RkMzAGRhdGFUeXBlAGRhdGFUeXBlID09IENWXzMyRkMyIHx8IGRhdGFUeXBlID09IENWXzMyRkMzIHx8IGRhdGFUeXBlID09IENWXzY0RkMyIHx8IGRhdGFUeXBlID09IENWXzY0RkMzAG4gPT0gRGF0YUIuY29scwBob21vZ3JhcGh5SE8AL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3NvbHZlcG5wLmNwcABucG9pbnRzID09IHN0ZDo6bWF4KGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfMzJGKSwgaXBvaW50cy5jaGVja1ZlY3RvcigyLCBDVl82NEYpKQBzb2x2ZVAzUABucG9pbnRzID09IDMgfHwgbnBvaW50cyA9PSA0AGZsYWdzID09IFNPTFZFUE5QX1AzUCB8fCBmbGFncyA9PSBTT0xWRVBOUF9BUDNQACggKG5wb2ludHMgPj0gNCkgfHwgKG5wb2ludHMgPT0gMyAmJiBmbGFncyA9PSBTT0xWRVBOUF9JVEVSQVRJVkUgJiYgdXNlRXh0cmluc2ljR3Vlc3MpIHx8IChucG9pbnRzID49IDMgJiYgZmxhZ3MgPT0gU09MVkVQTlBfU1FQTlApICkgJiYgbnBvaW50cyA9PSBzdGQ6Om1heChpcG9pbnRzLmNoZWNrVmVjdG9yKDIsIENWXzMyRiksIGlwb2ludHMuY2hlY2tWZWN0b3IoMiwgQ1ZfNjRGKSkAc29sdmVQblBHZW5lcmljACFfcnZlYy5lbXB0eSgpICYmICFfdHZlYy5lbXB0eSgpAChydHlwZSA9PSBDVl8zMkZDMSB8fCBydHlwZSA9PSBDVl82NEZDMSkgJiYgKHR0eXBlID09IENWXzMyRkMxIHx8IHR0eXBlID09IENWXzY0RkMxKQAocnNpemUgPT0gU2l6ZSgxLCAzKSB8fCByc2l6ZSA9PSBTaXplKDMsIDEpKSAmJiAodHNpemUgPT0gU2l6ZSgxLCAzKSB8fCB0c2l6ZSA9PSBTaXplKDMsIDEpKQBucG9pbnRzID09IDQAVGhlIGZsYWdzIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIFNPTFZFUE5QX0lURVJBVElWRSwgU09MVkVQTlBfUDNQLCBTT0xWRVBOUF9FUE5QLCBTT0xWRVBOUF9ETFMsIFNPTFZFUE5QX1VQTlAsIFNPTFZFUE5QX0FQM1AsIFNPTFZFUE5QX0lQUEUsIFNPTFZFUE5QX0lQUEVfU1FVQVJFIG9yIFNPTFZFUE5QX1NRUE5QAHZlY19ydmVjcy5zaXplKCkgPT0gdmVjX3R2ZWNzLnNpemUoKQAArDsBABg4AQBbBAAAAAAAAIE8AQC5PAEA0jwBAGludCBjdjo6c29sdmVQblBHZW5lcmljKGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMsIGJvb2wsIGN2OjpTb2x2ZVBuUE1ldGhvZCwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXkpAFR5cGUgb2YgcmVwcm9qZWN0aW9uRXJyb3IgbXVzdCBiZSBDVl8zMkZDMSBvciBDVl82NEZDMSEAcmVwcm9qZWN0aW9uRXJyb3IudHlwZSgpAHR5cGUgPT0gQ1ZfMzJGQzEgfHwgdHlwZSA9PSBDVl82NEZDMQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAERhdGFUeXBlPF9UcD46OmNoYW5uZWxzID09IG0uY2hhbm5lbHMoKSB8fCBtLmVtcHR5KCkAb3BlcmF0b3I9AAAAAMw9AQBAPgEAVgAAAAAAAABjPgEAlT4BAJ0+AQB2b2lkIGN2OjpzcXBucDo6UG9zZVNvbHZlcjo6c29sdmUoY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6T3V0cHV0QXJyYXlPZkFycmF5cywgY3Y6Ok91dHB1dEFycmF5T2ZBcnJheXMpAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy9zcXBucC5jcHAAVHlwZSBvZiBvYmplY3RQb2ludHMgbXVzdCBiZSBDVl8zMkZDMyBvciBDVl82NEZDMwBvYmpUeXBlAG9ialR5cGUgPT0gQ1ZfMzJGQzMgfHwgb2JqVHlwZSA9PSBDVl82NEZDMwDMPQEAQD4BAFoAAAAAAAAA5D4BABU/AQAdPwEAVHlwZSBvZiBpbWFnZVBvaW50cyBtdXN0IGJlIENWXzMyRkMyIG9yIENWXzY0RkMyAGltZ1R5cGUAaW1nVHlwZSA9PSBDVl8zMkZDMiB8fCBpbWdUeXBlID09IENWXzY0RkMyAG9iamVjdFBvaW50cy5yb3dzKCkgPT0gMSB8fCBvYmplY3RQb2ludHMuY29scygpID09IDEAc29sdmUAb2JqZWN0UG9pbnRzLnJvd3MoKSA+PSAzIHx8IG9iamVjdFBvaW50cy5jb2xzKCkgPj0gMwBpbWFnZVBvaW50cy5yb3dzKCkgPT0gMSB8fCBpbWFnZVBvaW50cy5jb2xzKCkgPT0gMQBpbWFnZVBvaW50cy5yb3dzKCkgKiBpbWFnZVBvaW50cy5jb2xzKCkgPT0gb2JqZWN0UG9pbnRzLnJvd3MoKSAqIG9iamVjdFBvaW50cy5jb2xzKCkAcG9pbnRfY29vcmRpbmF0ZV92YXJpYW5jZSA+PSBQT0lOVF9WQVJJQU5DRV9USFJFU0hPTEQAY29tcHV0ZU9tZWdhAHNfKDApID49IDFlLTcAKytudW1fbnVsbF92ZWN0b3JzXyA8PSA2AGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAGRhdGEgJiYgZGltcyA8PSAyICYmIHJvd3MgPT0gbSAmJiBjb2xzID09IG4gJiYgY2hhbm5lbHMoKSA9PSAxAG9wZXJhdG9yIE1hdHgAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VuZGlzdG9ydC5kaXNwYXRjaC5jcHAAbnBvaW50cyA+PSAwICYmIHNyYy5pc0NvbnRpbnVvdXMoKSAmJiAoZGVwdGggPT0gQ1ZfMzJGIHx8IGRlcHRoID09IENWXzY0RikAdW5kaXN0b3J0UG9pbnRzAGNyaXRlcmlhLmlzVmFsaWQoKQBjdlVuZGlzdG9ydFBvaW50c0ludGVybmFsAENWX0lTX01BVChfc3JjKSAmJiBDVl9JU19NQVQoX2RzdCkgJiYgKF9zcmMtPnJvd3MgPT0gMSB8fCBfc3JjLT5jb2xzID09IDEpICYmIChfZHN0LT5yb3dzID09IDEgfHwgX2RzdC0+Y29scyA9PSAxKSAmJiBfc3JjLT5jb2xzICsgX3NyYy0+cm93cyAtIDEgPT0gX2RzdC0+cm93cyArIF9kc3QtPmNvbHMgLSAxICYmIChDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl8zMkZDMiB8fCBDVl9NQVRfVFlQRShfc3JjLT50eXBlKSA9PSBDVl82NEZDMikgJiYgKENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzMyRkMyIHx8IENWX01BVF9UWVBFKF9kc3QtPnR5cGUpID09IENWXzY0RkMyKQBDVl9JU19NQVQoX2NhbWVyYU1hdHJpeCkgJiYgX2NhbWVyYU1hdHJpeC0+cm93cyA9PSAzICYmIF9jYW1lcmFNYXRyaXgtPmNvbHMgPT0gMwBDVl9JU19NQVQoX2Rpc3RDb2VmZnMpICYmIChfZGlzdENvZWZmcy0+cm93cyA9PSAxIHx8IF9kaXN0Q29lZmZzLT5jb2xzID09IDEpICYmIChfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSA0IHx8IF9kaXN0Q29lZmZzLT5yb3dzKl9kaXN0Q29lZmZzLT5jb2xzID09IDUgfHwgX2Rpc3RDb2VmZnMtPnJvd3MqX2Rpc3RDb2VmZnMtPmNvbHMgPT0gOCB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxMiB8fCBfZGlzdENvZWZmcy0+cm93cypfZGlzdENvZWZmcy0+Y29scyA9PSAxNCkAQ1ZfSVNfTUFUKG1hdFIpICYmIG1hdFItPnJvd3MgPT0gMyAmJiBtYXRSLT5jb2xzID09IDMAQ1ZfSVNfTUFUKG1hdFApICYmIG1hdFAtPnJvd3MgPT0gMyAmJiAobWF0UC0+Y29scyA9PSAzIHx8IG1hdFAtPmNvbHMgPT0gNCkAAAAAAAxGAQCEBAAAhQQAAIYEAACMAwAAhwQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAtEUBAMRlAgAAAAAA0EYBAIgEAACJBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAigQAAIsEAACMBAAAjQQAAI4EAACPBAAAkAQAAE4yY3Y0dXNhYzIzSG9tb2dyYXBoeUVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE5SG9tb2dyYXBoeUVzdGltYXRvckUATjJjdjR1c2FjOUVzdGltYXRvckUAAAAAPGoCAKBGAQBQIgEAPGoCAIBGAQC4RgEAPGoCAFxGAQDERgEAAAAAAFBHAQCRBAAAkgQAAJMEAACMAwAAlAQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA+EYBAMRlAgAAAAAA9EcBAJUEAACWBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAAnQQAAE4yY3Y0dXNhYzI0RnVuZGFtZW50YWxFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMyMEZ1bmRhbWVudGFsRXN0aW1hdG9yRQAAADxqAgDFRwEAuEYBADxqAgCgRwEA6EcBAAAAAAB0SAEAngQAAJ8EAACgBAAAjAMAAKEEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCABxIAQDEZQIAAAAAABRJAQCiBAAAowQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKQEAAClBAAApgQAAKcEAACoBAAAqQQAAKoEAABOMmN2NHVzYWMyMkVzc2VudGlhbEVzdGltYXRvckltcGxFAE4yY3Y0dXNhYzE4RXNzZW50aWFsRXN0aW1hdG9yRQAAADxqAgDnSAEAuEYBADxqAgDESAEACEkBAAAAAACQSQEAqwQAAKwEAACtBAAAjAMAAK4EAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOUFmZmluZUVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPEkBAMRlAgAAAAAAKEoBAK8EAACwBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAsQQAALIEAACzBAAAtAQAALUEAAC2BAAAtwQAAE4yY3Y0dXNhYzE5QWZmaW5lRXN0aW1hdG9ySW1wbEUATjJjdjR1c2FjMTVBZmZpbmVFc3RpbWF0b3JFADxqAgAASgEAuEYBADxqAgDgSQEAHEoBAAAAAACgSgEAuAQAALkEAAC6BAAAjAMAALsEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNlBuUEVzdGltYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBQSgEAxGUCAAAAAAA0SwEAvAQAAL0EAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC+BAAAvwQAAMAEAADBBAAAwgQAAMMEAADEBAAATjJjdjR1c2FjMTZQblBFc3RpbWF0b3JJbXBsRQBOMmN2NHVzYWMxMlBuUEVzdGltYXRvckUAAAA8agIADUsBALhGAQA8agIA8EoBAChLAQAAAAAAvEsBAMUEAADGBAAAxwQAAIwDAADIBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAFxLAQDEZQIAAAAAAHxMAQDJBAAAygQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMsEAADMBAAAzQQAAM4EAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkVycm9yU3ltbWV0cmljSW1wbEUATjJjdjR1c2FjMjZSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0UATjJjdjR1c2FjNUVycm9yRQAAPGoCAFJMAQBQIgEAPGoCACtMAQBkTAEAPGoCAABMAQBwTAEAIW1vZGVsLmVtcHR5KCkAc2V0TW9kZWxQYXJhbWV0ZXJzAC9zcmMvbW9kdWxlcy9jYWxpYjNkL3NyYy91c2FjL2VzdGltYXRvci5jcHAAAAD0TAEAqkwBAPIAAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclN5bW1ldHJpY0ltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAABtb2RlbC5kZXB0aCgpAENWXzY0RgAAAAD0TAEAqkwBAPoAAAABAAAAT00BAIRNAQBeTQEAbW9kZWxfaW52LmRlcHRoKCkAAAAAAAAAEE4BAM8EAADQBAAA0QQAAIwDAADSBAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvckZvcndhcmRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAtE0BAMRlAgAAAAAAsE4BANMEAADUBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA1QQAANYEAADXBAAA2AQAAE4yY3Y0dXNhYzI4UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbEUATjJjdjR1c2FjMjRSZXByb2plY3Rpb25FcnJvckZvcndhcmRFAAAAPGoCAH1OAQBkTAEAPGoCAFROAQCkTgEA2E4BAKpMAQA2AQAAAQAAAE9NAQBQTQEAXk0BAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6UmVwcm9qZWN0aW9uRXJyb3JGb3J3YXJkSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAAAAKBPAQDZBAAA2gQAANsEAACMAwAA3AQAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE2U2FtcHNvbkVycm9ySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAFBPAQDEZQIAAAAAAChQAQDdBAAA3gQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAN8EAADgBAAA4QQAAOIEAABOMmN2NHVzYWMxNlNhbXBzb25FcnJvckltcGxFAE4yY3Y0dXNhYzEyU2FtcHNvbkVycm9yRQAAADxqAgABUAEAZEwBADxqAgDkTwEAHFABAFBQAQCqTAEAbAEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlNhbXBzb25FcnJvckltcGw6OnNldE1vZGVsUGFyYW1ldGVycyhjb25zdCBjdjo6TWF0ICYpAAAAAAAAAAAcUQEA4wQAAOQEAADlBAAAjAMAAOYEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMFN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAvFABAMRlAgAAAAAAwFEBAOcEAADoBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA6QQAAOoEAADrBAAA7AQAAE4yY3Y0dXNhYzMwU3ltbWV0cmljR2VvbWV0cmljRGlzdGFuY2VJbXBsRQBOMmN2NHVzYWMyNlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlRQAAADxqAgCLUQEAZEwBADxqAgBgUQEAtFEBAOhRAQCqTAEAswEAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlN5bW1ldHJpY0dlb21ldHJpY0Rpc3RhbmNlSW1wbDo6c2V0TW9kZWxQYXJhbWV0ZXJzKGNvbnN0IGN2OjpNYXQgJikAAAAAAAC8UgEA7QQAAO4EAADvBAAAjAMAAPAEAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyOFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgBgUgEAxGUCAAAAAABcUwEA8QQAAPIEAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzBAAA9AQAAPUEAAD2BAAATjJjdjR1c2FjMjhSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsRQBOMmN2NHVzYWMyNFJlcHJvamVjdGlvbkVycm9yUG1hdHJpeEUAAAA8agIAKVMBAGRMAQA8agIAAFMBAFBTAQCEUwEAqkwBAPMBAAABAAAAT00BAFBNAQBeTQEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpSZXByb2plY3Rpb25FcnJvclBtYXRyaXhJbXBsOjpzZXRNb2RlbFBhcmFtZXRlcnMoY29uc3QgY3Y6Ok1hdCAmKQAAAAAAAAAAXFQBAPcEAAD4BAAA+QQAAIwDAAD6BAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzBSZXByb2plY3Rpb25EaXN0YW5jZUFmZmluZUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAPxTAQDEZQIAAAAAAPxUAQD7BAAA/AQAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAP0EAAD+BAAA/wQAAAAFAABOMmN2NHVzYWMzMFJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1wbEUATjJjdjR1c2FjMjNSZXByb2plY3Rpb25FcnJvckFmZmluZUUAADxqAgDLVAEAZEwBADxqAgCgVAEA8FQBACRVAQCqTAEAMgIAAAEAAABPTQEAUE0BAF5NAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlJlcHJvamVjdGlvbkRpc3RhbmNlQWZmaW5lSW1w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dWFsaXR5RQBOMmN2NHVzYWM3UXVhbGl0eUUAADxqAgBoXAEAUCIBADxqAgBOXAEAfFwBADxqAgAwXAEAiFwBAGdldFNjb3JlKGVycm9ycykAZ2V0U2NvcmUAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvLi4vdXNhYy5ocHAAAAAAAFBdAQAWBQAAFwUAABgFAACMAwAAGQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE1TXNhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAABdAQDEZQIAAAAAAORdAQAaBQAAGwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAABwFAAAPBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAATjJjdjR1c2FjMTVNc2FjUXVhbGl0eUltcGxFAE4yY3Y0dXNhYzExTXNhY1F1YWxpdHlFADxqAgDAXQEAfFwBADxqAgCkXQEA2F0BAAAAAABgXgEAIwUAACQFAAAlBQAAjAMAACYFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIADF4BAMRlAgAAAAAA+F4BACcFAAAoBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKQUAACoFAAArBQAALAUAAC0FAAAuBQAALwUAADAFAABOMmN2NHVzYWMxN01hZ3NhY1F1YWxpdHlJbXBsRQBOMmN2NHVzYWMxM01hZ3NhY1F1YWxpdHlFADxqAgDSXgEAfFwBADxqAgC0XgEA7F4BAAAAAABwXwEAMQUAADIFAAAzBQAAjAMAADQFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxNkxNZWRzUXVhbGl0eUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgAgXwEAxGUCAAAAAAAIYAEANQUAADYFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAA3BQAADwUAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAE4yY3Y0dXNhYzE2TE1lZHNRdWFsaXR5SW1wbEUATjJjdjR1c2FjMTJMTWVkc1F1YWxpdHlFAAAAPGoCAOFfAQB8XAEAPGoCAMRfAQD8XwEAAAAAAIRgAQA+BQAAPwUAAEAFAACMAwAAQQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TW9kZWxWZXJpZmllckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgAwYAEAxGUCAAAAAAAUYQEAQgUAAEMFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABEBQAARQUAAEYFAABHBQAASAUAAEkFAABOMmN2NHVzYWMxN01vZGVsVmVyaWZpZXJJbXBsRQBOMmN2NHVzYWMxM01vZGVsVmVyaWZpZXJFADxqAgDuYAEAUCIBADxqAgDQYAEACGEBAAAAAACEYQEASgUAAEsFAABMBQAAjAMAAE0FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM4U1BSVEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAPGEBAMRlAgAAAAAABGIBAE4FAABPBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAUAUAAFEFAABSBQAAUwUAAFQFAABVBQAAVgUAAE4yY3Y0dXNhYzhTUFJUSW1wbEUATjJjdjR1c2FjNFNQUlRFADxqAgDoYQEACGEBADxqAgDUYQEA+GEBAAAAAACQYgEAVwUAAFgFAABZBQAAjAMAAFoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCACxiAQDEZQIAAAAAAGBjAQBZBAAAWwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAFwFAABdBQAAXgUAAF8FAABOMmN2NHVzYWMzNEhvbW9ncmFwaHlNaW5pbWFsU29sdmVyNHB0c0dFTUltcGxFAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU1pbmltYWxTb2x2ZXI0cHRzR0VNRQBOMmN2NHVzYWMxM01pbmltYWxTb2x2ZXJFADxqAgAuYwEAUCIBADxqAgADYwEASGMBADxqAgDUYgEAVGMBAAAAAADoYwEAYAUAAGEFAABiBQAAjAMAAGMFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAiGMBAMRlAgAAAAAAtGQBAGQFAABlBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAZgUAAGcFAABoBQAAaQUAAE4yY3Y0dXNhYzMwSG9tb2dyYXBoeU5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNkhvbW9ncmFwaHlOb25NaW5pbWFsU29sdmVyRQBOMmN2NHVzYWMxNk5vbk1pbmltYWxTb2x2ZXJFAAA8agIAfmQBAFAiAQA8agIAV2QBAJxkAQA8agIALGQBAKhkAQAAAAAANGUBAGoFAABrBQAAbAUAAIwDAABtBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDcZAEAxGUCAAAAAADIZQEAWQQAAG4FAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABvBQAAcAUAAHEFAAByBQAATjJjdjR1c2FjMjNBZmZpbmVNaW5pbWFsU29sdmVySW1wbEUATjJjdjR1c2FjMTlBZmZpbmVNaW5pbWFsU29sdmVyRQA8agIAnGUBAEhjAQA8agIAeGUBALxlAQAAAAAATGYBAHMFAAB0BQAAdQUAAIwDAAB2BQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjZBZmZpbmVOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIA8GUBAMRlAgAAAAAA6GYBAFkEAAB3BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAeAUAAHkFAAB6BQAAewUAAE4yY3Y0dXNhYzI2QWZmaW5lTm9uTWluaW1hbFNvbHZlckltcGxFAE4yY3Y0dXNhYzIyQWZmaW5lTm9uTWluaW1hbFNvbHZlckUAAAA8agIAt2YBAJxkAQA8agIAkGYBANxmAQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAAAAC0ZwEAfAUAAH0FAAB+BQAAjAMAAH8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMEVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIAVGcBAMRlAgAAAAAAWGgBAFkEAACABQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAIIFAACDBQAAhAUAAE4yY3Y0dXNhYzMwRXBpcG9sYXJHZW9tZXRyeURlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMyNkVwaXBvbGFyR2VvbWV0cnlEZWdlbmVyYWN5RQAAADxqAgAjaAEAIIMBADxqAgD4ZwEATGgBAGRhdGEgJiYgZGltcyA8PSAyICYmIChyb3dzID09IDEgfHwgY29scyA9PSAxKSAmJiByb3dzICsgY29scyAtIDEgPT0gbiAmJiBjaGFubmVscygpID09IDEAb3BlcmF0b3IgVmVjAC9zcmMvbW9kdWxlcy9jb3JlL2luY2x1ZGUvb3BlbmN2Mi9jb3JlL21hdC5pbmwuaHBwAAAAAAAAAAB0aQEAhQUAAIYFAACHBQAAjAMAAIgFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCABxpAQDEZQIAAAAAAAxqAQBZBAAAiQUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIoFAACLBQAAgwUAAIwFAABOMmN2NHVzYWMyNEhvbW9ncmFwaHlEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjBIb21vZ3JhcGh5RGVnZW5lcmFjeUUAAAA8agIA3WkBACCDAQA8agIAuGkBAABqAQAAAAAAkGoBAI0FAACOBQAAjwUAAIwDAACQBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVGdW5kYW1lbnRhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIANGoBAMRlAgAAAAAAKGsBAJEFAACSBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAgQUAAJMFAACUBQAAlQUAAE4yY3Y0dXNhYzI1RnVuZGFtZW50YWxEZWdlbmVyYWN5SW1wbEUATjJjdjR1c2FjMjFGdW5kYW1lbnRhbERlZ2VuZXJhY3lFADxqAgD6agEATGgBADxqAgDUagEAHGsBAAAAAACoawEAlgUAAJcFAACYBQAAjAMAAJkFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAFBrAQDEZQIAAAAAADxsAQCaBQAAmwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACcBQAAgwUAAJ0FAABOMmN2NHVzYWMyM0Vzc2VudGlhbERlZ2VuZXJhY3lJbXBsRQBOMmN2NHVzYWMxOUVzc2VudGlhbERlZ2VuZXJhY3lFADxqAgAQbAEATGgBADxqAgDsawEAMGwBAAAAAADEbAEAngUAAJ8FAACgBQAAjAMAAKEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjdwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZGwBAMRlAgAAAAAAbG0BAFkEAACiBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAowUAAKQFAAClBQAApgUAAE4yY3Y0dXNhYzMyRnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0ltcGxFAE4yY3Y0dXNhYzI4RnVuZGFtZW50YWxNaW5pbWFsU29sdmVyN3B0c0UAAAA8agIANW0BAEhjAQA8agIACG0BAGBtAQAAAAAA9G0BAKcFAACoBQAAqQUAAIwDAACqBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMzJGdW5kYW1lbnRhbE1pbmltYWxTb2x2ZXI4cHRzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAPGoCAJRtAQDEZQIAAAAAAJxuAQBZBAAAqwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAKwFAACtBQAArgUAAK8FAABOMmN2NHVzYWMzMkZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNJbXBsRQBOMmN2NHVzYWMyOEZ1bmRhbWVudGFsTWluaW1hbFNvbHZlcjhwdHNFAAAAPGoCAGVuAQBIYwEAPGoCADhuAQCQbgEAAAAAACRvAQCwBQAAsQUAALIFAACMAwAAswUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxRnVuZGFtZW50YWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDEbgEAxGUCAAAAAADIbwEAtAUAALUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAC2BQAAtwUAALgFAAC5BQAATjJjdjR1c2FjMzFGdW5kYW1lbnRhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyN0Z1bmRhbWVudGFsTm9uTWluaW1hbFNvbHZlckUAPGoCAJRvAQCcZAEAPGoCAGhvAQC8bwEAAAAAAFhwAQC6BQAAuwUAALwFAACMAwAAvQUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM5RXNzZW50aWFsTWluaW1hbFNvbHZlclN0ZXdlbml1czVwdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCAPBvAQDEZQIAAAAAAAxxAQBZBAAAvgUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAL8FAADABQAAwQUAAMIFAABOMmN2NHVzYWMzOUVzc2VudGlhbE1pbmltYWxTb2x2ZXJTdGV3ZW5pdXM1cHRzSW1wbEUATjJjdjR1c2FjMzVFc3NlbnRpYWxNaW5pbWFsU29sdmVyU3Rld2VuaXVzNXB0c0UAPGoCANBwAQBIYwEAPGoCAJxwAQAAcQEAVG8gdXNlIGVzc2VudGlhbCBtYXRyaXggc29sdmVyIExBUEFDSyBvciBFaWdlbiBoYXMgdG8gYmUgaW5zdGFsbGVkIQBlc3RpbWF0ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9lc3NlbnRpYWxfc29sdmVyLmNwcAAAAAAAFHIBAMMFAADEBQAAxQUAAIwDAADGBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlFc3NlbnRpYWxOb25NaW5pbWFsU29sdmVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALRxAQDEZQIAAAAAALRyAQBZBAAAxwUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAMgFAADJBQAAygUAAMsFAABOMmN2NHVzYWMyOUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMyNUVzc2VudGlhbE5vbk1pbmltYWxTb2x2ZXJFADxqAgCCcgEAnGQBADxqAgBYcgEAqHIBAAAAAAAocwEAzAUAAM0FAADOBQAAjAMAAM8FAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERMU1BuUEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCANxyAQDEZQIAAAAAAKRzAQBZBAAA0AUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANEFAADSBQAA0wUAANQFAABOMmN2NHVzYWMxMERMU1BuUEltcGxFAE4yY3Y0dXNhYzZETFNQblBFAAAAADxqAgCDcwEAnGQBADxqAgBscwEAmHMBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGh0AQDVBQAA1gUAANcFAACMAwAA2AUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAEHQBAMRlAgAAAAAAAHUBAFkEAADZBQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA2gUAANsFAADcBQAA3QUAAE4yY3Y0dXNhYzI0UG5QTWluaW1hbFNvbHZlcjZQdHNJbXBsRQBOMmN2NHVzYWMyMFBuUE1pbmltYWxTb2x2ZXI2UHRzRQAAADxqAgDRdAEASGMBADxqAgCsdAEA9HQBAAAAAACAdQEA3gUAAN8FAADgBQAAjAMAAOEFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAPGoCACh1AQDEZQIAAAAAABR2AQBZBAAA4gUAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOMFAADkBQAA5QUAAOYFAABOMmN2NHVzYWMyM1BuUE5vbk1pbmltYWxTb2x2ZXJJbXBsRQBOMmN2NHVzYWMxOVBuUE5vbk1pbmltYWxTb2x2ZXJFADxqAgDodQEAnGQBADxqAgDEdQEACHYBAAAAAACMdgEA5wUAAOgFAADpBQAAjAMAAOoFAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxM1AzUFNvbHZlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgA8dgEAxGUCAAAAAAAMdwEAWQQAAOsFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADsBQAA7QUAAO4FAADvBQAATjJjdjR1c2FjMTNQM1BTb2x2ZXJJbXBsRQBOMmN2NHVzYWM5UDNQU29sdmVyRQAAPGoCAOp2AQBIYwEAPGoCANB2AQAAdwEAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAxHcBAPAFAADxBQAA8gUAAIwDAADzBQAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTJHcmFwaEN1dEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFADxqAgB4dwEAxGUCAAAAAABkeAEA9AUAAPUFAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAD2BQAA9wUAAE4yY3Y0dXNhYzEyR3JhcGhDdXRJbXBsRQBOMmN2NHVzYWM4R3JhcGhDdXRFAE4yY3Y0dXNhYzE3TG9jYWxPcHRpbWl6YXRpb25FAAA8agIALXgBAFAiAQA8agIAGXgBAEx4AQA8agIAAHgBAFh4AQBpPj0wICYmIGk8KGludCl2dGNzLnNpemUoKQBhZGRUZXJtV2VpZ2h0cwAvc3JjL21vZHVsZXMvaW1ncHJvYy9pbmNsdWRlL29wZW5jdjIvaW1ncHJvYy9kZXRhaWwvZ2NncmFwaC5ocHAAYWRkRWRnZXMAaj49MCAmJiBqPChpbnQpdnRjcy5zaXplKCkAdz49MCAmJiByZXZ3Pj0wAGkgIT0gagAhdnRjcy5lbXB0eSgpAG1heEZsb3cAIWVkZ2VzLmVtcHR5KCkAbWluV2VpZ2h0ID4gMABpblNvdXJjZVNlZ21lbnQAAAAAANh5AQD4BQAA+QUAAPoFAACMAwAA+wUAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzM1SW5uZXJJdGVyYXRpdmVMb2NhbE9wdGltaXphdGlvbkltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAdHkBAMRlAgAAAAAAfHoBAPwFAAD9BQAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAA/gUAAP8FAABOMmN2NHVzYWMzNUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25JbXBsRQBOMmN2NHVzYWMzMUlubmVySXRlcmF0aXZlTG9jYWxPcHRpbWl6YXRpb25FADxqAgBEegEATHgBADxqAgAUegEAcHoBAAAAAAD4egEAAAYAAAEGAAACBgAAjAMAAAMGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAA8agIApHoBAMRlAgAAAAAAfHsBAAQGAAAFBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAABgYAAAcGAABOMmN2NHVzYWMxOFNpZ21hQ29uc2Vuc3VzSW1wbEUATjJjdjR1c2FjMTRTaWdtYUNvbnNlbnN1c0UAAAA8agIAU3sBAEx4AQA8agIANHsBAHB7AQAAAAAAAHwBAAgGAAAJBgAACgYAAIwDAAALBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjVMZWFzdFNxdWFyZXNQb2xpc2hpbmdJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIApHsBAMRlAgAAAAAAuHwBAAwGAAANBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAADgYAAE4yY3Y0dXNhYzI1TGVhc3RTcXVhcmVzUG9saXNoaW5nSW1wbEUATjJjdjR1c2FjMjFMZWFzdFNxdWFyZXNQb2xpc2hpbmdFAE4yY3Y0dXNhYzE4RmluYWxNb2RlbFBvbGlzaGVyRQAAPGoCAIB8AQBQIgEAPGoCAF58AQCgfAEAPGoCADh8AQCsfAEASW5jb3JyZWN0IGZsYWcgZm9yIFVTQUMhAHNldFBhcmFtZXRlcnMAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvcmFuc2FjX3NvbHZlcnMuY3BwADh9AQDrfAEAIAMAAAEAAADzfQEAF34BADt+AQBib29sIGN2Ojp1c2FjOjpydW4oY29uc3QgUHRyPGNvbnN0IGN2Ojp1c2FjOjpNb2RlbD4gJiwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBpbnQsIFB0cjxjdjo6dXNhYzo6UmFuc2FjT3V0cHV0PiAmLCBjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpJbnB1dEFycmF5LCBjdjo6SW5wdXRBcnJheSkASW50cmluc2ljIG1hdHJpeCBtdXN0IG5vdCBiZSBlbXB0eSEAKGludCkoIUsxXy5lbXB0eSgpICYmICFLMl8uZW1wdHkoKSkAMQBHcmFwaCB0eXBlIGlzIG5vdCBpbXBsZW1lbnRlZCEAcnVuADh9AQDrfAEASQMAAAEAAAB8fgEAqn4BAL9+AQBQcm9ncmVzc2l2ZU5BUFNBQyBmb3IgUG5QIGlzIG5vdCBpbXBsZW1lbnRlZCEAKGludClwYXJhbXMtPmlzUG5QKCkAMABQcm9ncmVzc2l2ZSBOQVBTQUMgc2FtcGxlcjogQ2VsbCBudW1iZXIgaW4gbGF5ZXJzIG11c3QgYmUgaW4gZGVjcmVhc2luZyBvcmRlciEARXJyb3IgbWV0cmljIGlzIG5vdCBpbXBsZW1lbnRlZCEAU2NvcmUgaXMgbm90IGltZXBsZW1ldGVkIQBFc3RpbWF0b3Igbm90IGltcGxlbWVudGVkIQBTYW1wbGVyIGlzIG5vdCBpbXBsZW1lbnRlZCEAVmVyaWZpZXIgaXMgbm90IGltZXBsZW1lbnRlZCEATG9jYWwgT3B0aW1pemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCEAAOR/AQDrfAEAigEAAAUAAABlgAEAgIABAIyAAQBhdXRvIGN2Ojp1c2FjOjptZXJnZVBvaW50cyhjdjo6SW5wdXRBcnJheSwgY3Y6OklucHV0QXJyYXksIGN2OjpNYXQgJiwgYm9vbCk6Oihhbm9ueW1vdXMgY2xhc3MpOjpvcGVyYXRvcigpKGN2OjpNYXQgJiwgaW50KSBjb25zdABJbnZhbGlkIGRpbWVuc2lvbiBvZiBwb2ludABwb2ludHMuY29scwBwdF9kaW0AYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAABSBAQAQBgAAEQYAABIGAABOMmN2MjlQYXJhbGxlbExvb3BCb2R5TGFtYmRhV3JhcHBlckUAAAAAPGoCAOyAAQCorgAAAAAAAACCAQATBgAAFAYAABUGAAAWBgAAFwYAABgGAAAZBgAAGgYAABsGAABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TMl8zUHRySU5TM18xMlJhbnNhY091dHB1dEVFRUVVbFJLTlMyXzVSYW5nZUVFX05TXzlhbGxvY2F0b3JJU0NfRUVGdlNCX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJLTjJjdjVSYW5nZUVFRUUAFGoCAMqBAQA8agIATIEBAPiBAQBaTjJjdjR1c2FjNlJhbnNhYzNydW5FUk5TXzNQdHJJTlMwXzEyUmFuc2FjT3V0cHV0RUVFRVVsUktOU181UmFuZ2VFRV8AAAAUagIADIIBAAAAAADEggEAHAYAAB0GAAAeBgAAjAMAAB8GAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMxMERlZ2VuZXJhY3lFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCAHiCAQDEZQIAAAAAACCDAQBZBAAAIAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEFAACLBQAAgwUAACEGAABOMmN2NHVzYWMxMERlZ2VuZXJhY3lFAAA8agIACIMBAFAiAQAAAAAAmIMBACIGAAAjBgAAJAYAAIwDAAAlBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTZSYW5zYWNPdXRwdXRJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIASIMBAMRlAgAAAAAAPIQBACYGAAAnBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAKAYAACkGAAAqBgAAKwYAACwGAAAtBgAALgYAAC8GAAAwBgAAMQYAADIGAABOMmN2NHVzYWMxNlJhbnNhY091dHB1dEltcGxFAE4yY3Y0dXNhYzEyUmFuc2FjT3V0cHV0RQAAADxqAgAVhAEAUCIBADxqAgD4gwEAMIQBAAAAAACshAEAMwYAADQGAAA1BgAAjAMAADYGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWM5TW9kZWxJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIAZIQBAMRlAgAAAAAAJIYBADcGAAA4BgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAOQYAADoGAAA7BgAAPAYAAD0GAAA+BgAAPwYAAEAGAABBBgAAQgYAAEMGAABEBgAARQYAAEYGAABHBgAASAYAAEkGAABKBgAASwYAAEwGAABNBgAATgYAAE8GAABQBgAAUQYAAFIGAABTBgAAVAYAAFUGAABWBgAAVwYAAFgGAABZBgAAWgYAAFsGAABcBgAAXQYAAF4GAABfBgAAYAYAAGEGAABiBgAAYwYAAGQGAABlBgAAZgYAAGcGAABoBgAAaQYAAGoGAABrBgAAbAYAAG0GAABuBgAAbwYAAHAGAABxBgAARXN0aW1hdG9yIGhhcyBub3QgaW1wbGVtZW50ZWQgeWV0IQBNb2RlbEltcGwATjJjdjR1c2FjOU1vZGVsSW1wbEUATjJjdjR1c2FjNU1vZGVsRQAAPGoCAAaGAQBQIgEAPGoCAPGFAQAYhgEATjJjdjR1c2FjN1NhbXBsZXJFAAA8agIAMIYBAFAiAQBOMmN2NHVzYWMxM1Byb3NhY1NhbXBsZXJFAAAAPGoCAFCGAQBEhgEAAAAAAOiGAQByBgAAcwYAAHQGAACMAwAAdQYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE4VW5pZm9ybVNhbXBsZXJJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgCUhgEAxGUCAAAAAABwhwEAdgYAAHcGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAB4BgAAeQYAAHoGAABOMmN2NHVzYWMxOFVuaWZvcm1TYW1wbGVySW1wbEUATjJjdjR1c2FjMTRVbmlmb3JtU2FtcGxlckUAAAA8agIAR4cBAESGAQA8agIAKIcBAGSHAQBzYW1wbGVfc2l6ZSA8PSBwb2ludHNfc2l6ZV8Ac2V0UG9pbnRzU2l6ZQAvc3JjL21vZHVsZXMvY2FsaWIzZC9zcmMvdXNhYy9zYW1wbGVyLmNwcABzYW1wbGVfc2l6ZV8gPD0gcG9pbnRzX3NpemVfAHNldE5ld1BvaW50c1NpemUAAAAAAAAAcIgBAHsGAAB8BgAAfQYAAIwDAAB+BgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMTdQcm9zYWNTYW1wbGVySW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAByIAQDEZQIAAAAAAOyIAQB/BgAAgAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAIEGAACCBgAAgwYAAIQGAACFBgAAhgYAAFByb3NhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3UHJvc2FjU2FtcGxlckltcGxFADxqAgDOiAEAbIYBAENoYW5naW5nIHBvaW50cyBzaXplIGluIFBST1NBQyByZXF1aXJlcyB0byBjaGFuZ2UgYWxzbyB0ZXJtaW5hdGlvbiBjcml0ZXJpYSEgVXNlIFBST1NBQyBzaW1wbGVyIHZlcnNpb24AAAAAANSJAQCHBgAAiAYAAIkGAACMAwAAigYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAAAA8agIAfIkBAMRlAgAAAAAAeIoBAIsGAACMBgAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAjQYAAI4GAACPBgAAUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsAE4yY3Y0dXNhYzIxUHJvZ3Jlc3NpdmVOYXBzYWNJbXBsRQBOMmN2NHVzYWMxN1Byb2dyZXNzaXZlTmFwc2FjRQAAADxqAgBMigEARIYBADxqAgAqigEAbIoBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIFAtTkFQU0FDIQAAAAAAAFCLAQCQBgAAkQYAAJIGAACMAwAAkwYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgD8igEAxGUCAAAAAAAEjAEAlAYAAJUGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACWBgAAlwYAAJgGAABwb2ludHNfc2l6ZV8gPj0gc2FtcGxlX3NpemVfAE5hcHNhY1NhbXBsZXJJbXBsAE4yY3Y0dXNhYzE3TmFwc2FjU2FtcGxlckltcGxFAE4yY3Y0dXNhYzEzTmFwc2FjU2FtcGxlckUAADxqAgDdiwEARIYBADxqAgC/iwEA+IsBAENoYW5naW5nIHBvaW50cyBzaXplIHJlcXVpcmVzIGNoYW5naW5nIG5laWdoYm9yaG9vZCBncmFwaCEgWW91IG11c3QgcmVpbml0aWFsaXplIE5BUFNBQyEAAAAAAAAAAOiMAQCZBgAAmgYAAJsGAACMAwAAnAYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgCIjAEAxGUCAAAAAACwjQEAWQQAAJ0GAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACeBgAAnwYAAE4yY3Y0dXNhYzMxU3RhbmRhcmRUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjdTdGFuZGFyZFRlcm1pbmF0aW9uQ3JpdGVyaWFFAE4yY3Y0dXNhYzE5VGVybWluYXRpb25Dcml0ZXJpYUUAPGoCAHiNAQBQIgEAPGoCAFCNAQCYjQEAPGoCACSNAQCkjQEAAAAAACyOAQCgBgAAoQYAAKIGAACMAwAAowYAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAADxqAgDYjQEAxGUCAAAAAACwjgEAWQQAAKQGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAAClBgAApgYAAE4yY3Y0dXNhYzE5U1BSVFRlcm1pbmF0aW9uSW1wbEUATjJjdjR1c2FjMTVTUFJUVGVybWluYXRpb25FADxqAgCIjgEAmI0BADxqAgBojgEApI4BAAAAAAA0jwEApwYAAKgGAACpBgAAjAMAAKoGAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNlNQUlRQTmFwc2FjVGVybWluYXRpb25JbXBsRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQAAADxqAgDYjgEAxGUCAAAAAADIjwEAqwYAAKwGAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAACtBgAArgYAAE4yY3Y0dXNhYzI2U1BSVFBOYXBzYWNUZXJtaW5hdGlvbkltcGxFAE4yY3Y0dXNhYzIyU1BSVFBOYXBzYWNUZXJtaW5hdGlvbkUAAAA8agIAl48BAJiNAQA8agIAcI8BALyPAQAAAAAAUJABAK8GAACwBgAAsQYAAIwDAACyBgAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAPCPAQDEZQIAAAAAAOiQAQCzBgAAtAYAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAALUGAAC2BgAATjJjdjR1c2FjMjlQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhSW1wbEUATjJjdjR1c2FjMjVQcm9zYWNUZXJtaW5hdGlvbkNyaXRlcmlhRQA8agIAtpABAJiNAQA8agIAjJABANyQAQBhbGdvcml0aG0AdHJlZXMAYnJhbmNoaW5nAGl0ZXJhdGlvbnMAY2VudGVyc19pbml0AHRhcmdldF9wcmVjaXNpb24AYnVpbGRfd2VpZ2h0AG1lbW9yeV93ZWlnaHQAc2FtcGxlX2ZyYWN0aW9uAGxlYWZfc2l6ZQB0YWJsZV9udW1iZXIAbXVsdGlfcHJvYmVfbGV2ZWwAY2hlY2tzAGVwcwBzb3J0ZWQAZXhwbG9yZV9hbGxfdHJlZXMAAAAAAADMkwEA3QYAAN4GAADfBgAA4AYAAOEGAADiBgAA4wYAAOQGAABVbmtub3duL3Vuc3VwcG9ydGVkIGRpc3RhbmNlIHR5cGUAYnVpbGQAL3NyYy9tb2R1bGVzL2ZsYW5uL3NyYy9taW5pZmxhbm4uY3BwAHJlbGVhc2UAa25uU2VhcmNoAG1heFJlc3VsdHMgPiAwAHJhZGl1c1NlYXJjaABMU0ggaW5kZXggZG9lcyBub3Qgc3VwcG9ydCByYWRpdXNTZWFyY2ggb3BlcmF0aW9uAHdiAENhbiBub3Qgb3BlbiBmaWxlICVzIGZvciB3cml0aW5nIEZMQU5OIGluZGV4CgBzYXZlAHJiAFJlYWRpbmcgRkxBTk4gaW5kZXggZXJyb3I6IHRoZSBzYXZlZCBkYXRhIHNpemUgKCVkLCAlZCkgb3IgdHlwZSAoJWQpIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwYXNzZWQgb25lICglZCwgJWQpLCAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZmVhdHVyZSB0eXBlICVkIGZvciB0aGUgaW5kZXggdHlwZSAlZAoAUmVhZGluZyBGTEFOTiBpbmRleCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlzdGFuY2UgdHlwZSAlZAoATjJjdjVmbGFubjVJbmRleEUAABRqAgC5kwEASW52YWxpZCBpbmRleCBmaWxlLCBjYW5ub3QgcmVhZABON2N2Zmxhbm4xNEZMQU5ORXhjZXB0aW9uRQAAPGoCAPSTAQDU7QAARkxBTk5fSU5ERVgASW52YWxpZCBpbmRleCBmaWxlLCB3cm9uZyBzaWduYXR1cmUAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9nZW5lcmFsLmgAAAAAAAAQlAEA4wMAAOUGAADnAwAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBB4KkGC9MZuJUBAOYGAADnBgAA6AYAAOkGAADqBgAA6wYAAOwGAADtBgAA7gYAAO8GAADwBgAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TMF85ZW1wdHlfYW55RUVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJTlMwXzllbXB0eV9hbnlFRUUATjdjdmZsYW5uN2FueWltcGwxNWJhc2VfYW55X3BvbGljeUUAABRqAgB/lQEAPGoCAESVAQCklQEAPGoCABCVAQCslQEATjdjdmZsYW5uN2FueWltcGw5ZW1wdHlfYW55RQAAAAAUagIAxJUBAFtlbXB0eV9hbnldAAAAAACQlgEA8QYAAPIGAADzBgAA9AYAAPUGAAD2BgAA9wYAAPgGAAD5BgAA7wYAAPoGAABON2N2Zmxhbm43YW55aW1wbDE2c21hbGxfYW55X3BvbGljeUlpRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlpRUUAAAAAPGoCAFSWAQCklQEAPGoCACyWAQCElgEAAAAAADSXAQD7BgAA/AYAAP0GAAD+BgAA/wYAAAAHAAABBwAAAgcAAAMHAADvBgAABAcAAE43Y3ZmbGFubjdhbnlpbXBsMTZzbWFsbF9hbnlfcG9saWN5SWZFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWZFRQAAAAA8agIA+JYBAKSVAQA8agIA0JYBACiXAQAAAAAA2JcBAAUHAAAGBwAABwcAAAgHAAAJBwAACgcAAAsHAAAMBwAADQcAAO8GAAAOBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJYkVFAE43Y3ZmbGFubjdhbnlpbXBsMjF0eXBlZF9iYXNlX2FueV9wb2xpY3lJYkVFAAAAADxqAgCclwEApJUBADxqAgB0lwEAzJcBAAAAAACkmAEADwcAABAHAAARBwAAEgcAABMHAAAUBwAAFQcAABYHAAAXBwAA7wYAABgHAABON2N2Zmxhbm43YW55aW1wbDE0YmlnX2FueV9wb2xpY3lJTlNfMTdmbGFubl9hbGdvcml0aG1fdEVFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SU5TXzE3Zmxhbm5fYWxnb3JpdGhtX3RFRUUAADxqAgBUmAEApJUBADxqAgAYmAEAmJgBAE43Y3ZmbGFubjE3Zmxhbm5fYWxnb3JpdGhtX3RFAAAAyGkCALCYAQAAAAAAoJkBABkHAAAaBwAAGwcAABwHAAAdBwAAHgcAAB8HAAAgBwAAIQcAAO8GAAAiBwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SU5TXzIwZmxhbm5fY2VudGVyc19pbml0X3RFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU18yMGZsYW5uX2NlbnRlcnNfaW5pdF90RUVFAAAAADxqAgBLmQEApJUBADxqAgAMmQEAlJkBAE43Y3ZmbGFubjIwZmxhbm5fY2VudGVyc19pbml0X3RFAAAAAMhpAgCsmQEAAAAAAOyaAQAjBwAAJAcAACUHAAAmBwAAJwcAACgHAAApBwAAKgcAACsHAADvBgAALAcAAE43Y3ZmbGFubjdhbnlpbXBsMTRiaWdfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TMl8xMWNoYXJfdHJhaXRzSWNFRU5TMl85YWxsb2NhdG9ySWNFRUVFRUUAAAAAPGoCAHGaAQCklQEAPGoCAAyaAQDgmgEATjdjdmZsYW5uN2FueWltcGwxMmJhZF9hbnlfY2FzdEUAAAAAFGoCAPiaAQAAAAAAuJsBAC0HAAAuBwAALwcAADAHAAAxBwAAMgcAADMHAAA0BwAANQcAAO8GAAA2BwAATjdjdmZsYW5uN2FueWltcGwxNGJpZ19hbnlfcG9saWN5SWRFRQBON2N2Zmxhbm43YW55aW1wbDIxdHlwZWRfYmFzZV9hbnlfcG9saWN5SWRFRQAAPGoCAH6bAQCklQEAPGoCAFibAQCsmwEAdHlwZT0lZAoAYnVpbGRJbmRleF8AT25seSBjb250aW51b3VzIGFycmF5cyBhcmUgc3VwcG9ydGVkAAAAAAAAAIycAQA3BwAAOAcAADkHAAA6BwAAOwcAADwHAAA9BwAAPgcAAD8HAABABwAAQQcAAEIHAABDBwAATjdjdmZsYW5uNUluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18xMEhhbW1pbmdMVVRFRUUAFGoCAF+cAQA8agIAPJwBAIScAQBxdWVyaWVzLmNvbHMgPT0gdmVjbGVuKCkAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9ubl9pbmRleC5oAGluZGljZXMucm93cyA+PSBxdWVyaWVzLnJvd3MAZGlzdHMucm93cyA+PSBxdWVyaWVzLnJvd3MAaW50KGluZGljZXMuY29scykgPj0ga25uAGludChkaXN0cy5jb2xzKSA+PSBrbm4AAAAAAAAAAOidAQBEBwAARQcAAEYHAABHBwAASAcAAEkHAABKBwAASwcAAE43Y3ZmbGFubjE4S05OVW5pcXVlUmVzdWx0U2V0SWlFRQBON2N2Zmxhbm4xNVVuaXF1ZVJlc3VsdFNldElpRUUATjdjdmZsYW5uOVJlc3VsdFNldElpRUUAAAAAFGoCALmdAQA8agIAmp0BANSdAQA8agIAeJ0BANydAQAAAAAA3J0BAEQHAABMBwAARgcAAOoDAABIBwAA6gMAAEoHAABLBwAASSBjYW4gb25seSBzZWFyY2ggb25lIGZlYXR1cmUgYXQgYSB0aW1lIGZvciByYW5nZSBzZWFyY2gKAHF1ZXJ5LmNvbHMgPT0gdmVjbGVuKCkAaW5kaWNlcy5jb2xzID09IGRpc3RzLmNvbHMAAAAAANieAQBEBwAATQcAAE4HAABPBwAAUAcAAFEHAABKBwAASwcAAE43Y3ZmbGFubjIxUmFkaXVzVW5pcXVlUmVzdWx0U2V0SWlFRQAAAAA8agIAsJ4BANydAQBNaXNzaW5nIHBhcmFtZXRlciAnACcgaW4gdGhlIHBhcmFtZXRlcnMgZ2l2ZW4ARGF0YXR5cGUgb2Ygc2F2ZWQgaW5kZXggaXMgZGlmZmVyZW50IHRoYW4gb2YgdGhlIG9uZSB0byBiZSBjcmVhdGVkLgBUaGUgaW5kZXggc2F2ZWQgYmVsb25ncyB0byBhIGRpZmZlcmVudCBkYXRhc2V0AFVua25vd24gaW5kZXggdHlwZQAAAAAAAKABAFIHAABTBwAAVAcAAFUHAABWBwAAVwcAAFgHAABZBwAAWgcAAFsHAABcBwAAXQcAAF4HAABON2N2Zmxhbm4xMUxpbmVhckluZGV4SU5TXzEwSGFtbWluZ0xVVEVFRQAAADxqAgDUnwEAhJwBAAAAAAAAAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIAAAAAKihAQBfBwAAYAcAAGEHAABVBwAAVgcAAGIHAABjBwAAZAcAAGUHAABmBwAAZwcAAGgHAABpBwAAVW5rbm93biBhbGdvcml0aG0gZm9yIGNob29zaW5nIGluaXRpYWwgY2VudGVycy4ATjdjdmZsYW5uMTFLTWVhbnNJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAfKEBAIScAQBBwcMGC8ZOAQECAQICAwECAgMCAwMEAQICAwIDAwQCAwMEAwQEBQECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwECAgMCAwMEAgMDBAMEBAUCAwMEAwQEBQMEBAUEBQUGAgMDBAMEBAUDBAQFBAUFBgMEBAUEBQUGBAUFBgUGBgcCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwMEBAUEBQUGBAUFBgUGBgcEBQUGBQYGBwUGBgcGBwcIQnJhbmNoaW5nIGZhY3RvciBtdXN0IGJlIGF0IGxlYXN0IDIARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeS4KAAABAQIBAgIDAQICAwIDAwQBAgIDAgMDBAIDAwQDBAQFAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYBAgIDAgMDBAIDAwQDBAQFAgMDBAMEBAUDBAQFBAUFBgIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAQICAwIDAwQCAwMEAwQEBQIDAwQDBAQFAwQEBQQFBQYCAwMEAwQEBQMEBAUEBQUGAwQEBQQFBQYEBQUGBQYGBwIDAwQDBAQFAwQEBQQFBQYDBAQFBAUFBgQFBQYFBgYHAwQEBQQFBQYEBQUGBQYGBwQFBQYFBgYHBQYGBwYHBwgAAAAAXKQBAF8DAABqBwAAawcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMTBIYW1taW5nTFVURUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJUFBoRUUAADxqAgAUpAEAqK4AAENhbm5vdCByZWFkIGZyb20gZmlsZQByZXN1bHQuZnVsbCgpAGZpbmROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rbWVhbnNfaW5kZXguaAAAAPCkAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLTWVhbnNJbmRleDxjdmZsYW5uOjpIYW1taW5nTFVUPjo6S01lYW5zTm9kZSAqLCBpbnQ+LCBIYXNoYWJsZVQgPSBpbnRdAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vaGVhcC5oAEZhaWxlZCB0byBpbnNlcnQgdGhlIGhlYXAgaW50byBpdHMgbWVtb3J5IHBvb2wAc3RhdGljX2Nhc3Q8aW50PihlbXBsYWNlUmVzdWx0LnNlY29uZCkAMQDwpAEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAQ2Fubm90IG1vZGlmeSBhIGhlYXAgdGhhdCBpcyBjdXJyZW50bHkgYWNjZXNzZWQgYnkgYW5vdGhlciBjYWxsZXIAaGVhcEl0LT5zZWNvbmQuaGVhcFB0ci51c2VfY291bnQoKQBjbGVhbnVwSXQgIT0gaGVhcEl0AGdldFBvb2xlZEluc3RhbmNlAAAAAAAA6KcBAGwHAABtBwAAbgcAAIwDAABvBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLTWVhbnNJbmRleElOUzFfMTBIYW1taW5nTFVURUUxMEtNZWFuc05vZGVFaUVFRUVOU185YWxsb2NhdG9ySVNBX0VFRUUAAAAAPGoCAFinAQDEZQIAAAAAAGyoAQBwBwAAcQcAAHIHAABVBwAAVgcAAHMHAAB0BwAAdQcAAHYHAAB3BwAAeAcAAHkHAAB6BwAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMTBIYW1taW5nTFVURUVFAAAAPGoCADCoAQCEnAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9oaWVyYXJjaGljYWxfY2x1c3RlcmluZ19pbmRleC5oAAAAAOCoAQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6SGFtbWluZ0xVVD46Ok5vZGUgKiwgaW50Pj46OmdldFBvb2xlZEluc3RhbmNlKGNvbnN0IEhhc2hhYmxlVCAmLCBjb25zdCBpbnQsIGludCkgW1QgPSBjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkhhbW1pbmdMVVQ+OjpOb2RlICosIGludD4sIEhhc2hhYmxlVCA9IGludF0A4KgBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAADgqgEAewcAAHwHAAB9BwAAjAMAAH4HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8yN0hpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleElOUzFfMTBIYW1taW5nTFVURUU0Tm9kZUVpRUVFRU5TXzlhbGxvY2F0b3JJU0FfRUVFRQAAADxqAgBIqgEAxGUCAAAAAABQqwEAfwcAAIAHAACBBwAAggcAAFYHAACDBwAAhAcAAIUHAACGBwAAhwcAAIgHAACJBwAAigcAAE43Y3ZmbGFubjhMc2hJbmRleElOU18xMEhhbW1pbmdMVVRFRUUAAAA8agIAKKsBAIScAQBJbnZhbGlkIGtleV9zaXplICg9JWQpLiBWYWxpZCB2YWx1ZXMgZm9yIHlvdXIgc3lzdGVtIGFyZSAlZCA8PSBrZXlfc2l6ZSA8ICVkLgBpbml0aWFsaXplAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vbHNoX3RhYmxlLmgAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9sc2hfaW5kZXguaAAAAAAAAKCsAQCLBwAAjAcAAI0HAACOBwAAjwcAAJAHAACRBwAAkgcAAJMHAACUBwAAlQcAAJYHAACXBwAATjdjdmZsYW5uNUluZGV4SU5TXzJMMklmRUVFRQBON2N2Zmxhbm43Tk5JbmRleElOU18yTDJJZkVFRUUAFGoCAHmsAQA8agIAXKwBAJisAQAAAAAARK0BAJgHAACZBwAAmgcAAJsHAACcBwAAnQcAAJ4HAACfBwAATjdjdmZsYW5uMThLTk5VbmlxdWVSZXN1bHRTZXRJZkVFAE43Y3ZmbGFubjE1VW5pcXVlUmVzdWx0U2V0SWZFRQBON2N2Zmxhbm45UmVzdWx0U2V0SWZFRQAAAAAUagIAFa0BADxqAgD2rAEAMK0BADxqAgDUrAEAOK0BAAAAAAA4rQEAmAcAAKAHAACaBwAA6gMAAJwHAADqAwAAngcAAJ8HAAAAAAAAyK0BAJgHAAChBwAAogcAAKMHAACkBwAApQcAAJ4HAACfBwAATjdjdmZsYW5uMjFSYWRpdXNVbmlxdWVSZXN1bHRTZXRJZkVFAAAAADxqAgCgrQEAOK0BAAAAAAA0rgEApgcAAKcHAACoBwAAqQcAAKoHAACrBwAArAcAAK0HAACuBwAArwcAALAHAACxBwAAsgcAAE43Y3ZmbGFubjExTGluZWFySW5kZXhJTlNfMkwySWZFRUVFADxqAgAQrgEAmKwBAAAAAADArgEAswcAALQHAAC1BwAAtgcAAKoHAAC3BwAAuAcAALkHAAC6BwAAuwcAALwHAAC9BwAAvgcAAGRpbQBsZWFmX21heF9zaXplAHJlb3JkZXIATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDJJZkVFRUUAPGoCAJauAQCYrAEAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfc2luZ2xlX2luZGV4LmgAAAAAAABMrwEAvwcAAMAHAADBBwAAwgcAAMMHAABON2N2Zmxhbm4xOEtOTlNpbXBsZVJlc3VsdFNldElmRUUAAAA8agIAKK8BADCtAQAAAAAAuK8BAMQHAADFBwAAxgcAAKkHAACqBwAAxwcAAMgHAADJBwAAygcAAMsHAADMBwAAzQcAAM4HAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFRQA8agIAlK8BAJisAQAAAAAAoLABAM8HAADQBwAA0QcAANIHAADTBwAA1AcAANUHAADWBwAA1wcAAO8GAADYBwAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUVFRQAAPGoCAEOwAQCklQEAPGoCAPivAQCUsAEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMklmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwySWZFRUU0Tm9kZUUAAAAUagIAAbEBAPRqAgDXsAEAAAAAACyxAQD0agIArLABAAAAAAA0sQEASXQgZG9lc24ndCBtYWtlIGFueSBzZW5zZSB0byB1c2UgbW9yZSB0aGFuIG9uZSB0cmVlIGZvciBleGFjdCBzZWFyY2gAZ2V0RXhhY3ROZWlnaGJvcnMAL3NyYy9tb2R1bGVzL2ZsYW5uL2luY2x1ZGUvb3BlbmN2Mi9mbGFubi9rZHRyZWVfaW5kZXguaABnZXROZWlnaGJvcnMADLIBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAAyyAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAA2LMBANkHAADaBwAA2wcAAIwDAADcBwAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwySWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAWLMBAMRlAgAAAAAARLQBAN0HAADeBwAA3wcAAKkHAACqBwAA4AcAAOEHAADiBwAA4wcAAOQHAADlBwAA5gcAAOcHAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMklmRUVFRQA8agIAILQBAJisAQAAAAAAsLQBAF8DAADoBwAA6QcAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwySWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAZLQBAKiuAADYtAEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwyPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAA2LQBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAC4tgEA6gcAAOsHAADsBwAAjAMAAO0HAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDJJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCADC2AQDEZQIAAAAAACi3AQDuBwAA7wcAAPAHAACpBwAAqgcAAPEHAADyBwAA8wcAAPQHAAD1BwAA9gcAAPcHAAD4BwAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDJJZkVFRUUAADxqAgAAtwEAmKwBAEJ1aWxkaW5nIGttZWFucyB0cmVlLi4uCgBCdWlsZGluZyBrZHRyZWUgdHJlZS4uLgoAAAAAAAAAzLcBAPkHAAD6BwAA+wcAAKkHAACqBwAA/AcAAP0HAAD+BwAA/wcAAAAIAAABCAAAAggAAAMIAABON2N2Zmxhbm4xNEF1dG90dW5lZEluZGV4SU5TXzJMMklmRUVFRQAAPGoCAKS3AQCYrAEALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoAQXV0b3R1bmVkIHBhcmFtZXRlcnM6CgAlcwBTZWFyY2ggcGFyYW1ldGVyczoKAEVudGVyaW5nIGF1dG90dW5pbmcsIGRhdGFzZXQgc2l6ZTogJWQsIHNhbXBsZVNpemU6ICVkLCB0ZXN0U2FtcGxlU2l6ZTogJWQsIHRhcmdldCBwcmVjaXNpb246ICVnCgBDaG9vc2luZyBsaW5lYXIsIGRhdGFzZXQgdG9vIHNtYWxsCgBDb21wdXRpbmcgZ3JvdW5kIHRydXRoLi4uIAoAQXV0b3R1bmluZyBwYXJhbWV0ZXJzLi4uCgBLTUVBTlMsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS01lYW5zVHJlZSB1c2luZyBwYXJhbXM6IG1heF9pdGVyYXRpb25zPSVkLCBicmFuY2hpbmc9JWQKAEtNZWFuc1RyZWUgYnVpbGRUaW1lPSVnLCBzZWFyY2hUaW1lPSVnLCBidWlsZF93ZWlnaHQ9JWcKACAgTm9kZXMgIFByZWNpc2lvbiglKSAgIFRpbWUocykgICBUaW1lL3ZlYyhtcykgIE1lYW4gZGlzdAoALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBHb3QgYXMgY2xvc2UgYXMgSSBjYW4KAFN0YXJ0IGxpbmVhciBlc3RpbWF0aW9uCgBObyBuZWVkIGZvciBsaW5lYXIgZXN0aW1hdGlvbgoAbWF0Y2hlcy5jb2xzPSVkLCBubj0lZAoAR3JvdW5kIHRydXRoIGlzIG5vdCBjb21wdXRlZCBmb3IgYXMgbWFueSBuZWlnaGJvcnMgYXMgcmVxdWVzdGVkACU4ZCAlMTAuNGcgJTEwLjVnICUxMC41ZyAlMTAuNWcKAAAAAAAADLsBAL8HAAAECAAABQgAAAYIAAAHCAAATjdjdmZsYW5uMTJLTk5SZXN1bHRTZXRJZkVFADxqAgDwugEAMK0BAEtELVRSRUUsIFN0ZXAgMTogRXhwbG9yaW5nIHBhcmFtZXRlciBzcGFjZQoAS0RUcmVlIHVzaW5nIHBhcmFtczogdHJlZXM9JWQKAEtEVHJlZSBidWlsZFRpbWU9JWcsIHNlYXJjaFRpbWU9JWcKACA6IABiZXN0SW5kZXhfICE9IE5VTEwgJiYgIlJlcXVpcmVzIGEgdmFsaWQgaW5kZXgiAGVzdGltYXRlU2VhcmNoUGFyYW1zAC9zcmMvbW9kdWxlcy9mbGFubi9pbmNsdWRlL29wZW5jdjIvZmxhbm4vYXV0b3R1bmVkX2luZGV4LmgAQ29tcHV0aW5nIGdyb3VuZCB0cnV0aAoARXN0aW1hdGluZyBudW1iZXIgb2YgY2hlY2tzCgBLTWVhbnMgYWxnb3JpdGhtLCBlc3RpbWF0aW5nIGNsdXN0ZXIgYm9yZGVyIGZhY3RvcgoAT3B0aW11bSBjYl9pbmRleDogJWcKAFJlcXVpcmVkIG51bWJlciBvZiBjaGVja3M6ICVkIAoAAAAAAAAAABy9AQAICAAACQgAAAoIAACpBwAAqgcAAAsIAAAMCAAADQgAAA4IAAAPCAAAEAgAABEIAAASCAAATjdjdmZsYW5uMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlNfMkwySWZFRUVFADxqAgDovAEAmKwBAES9AQAMpgEA0AAAAAEAAAA8pgEAa6YBAJKmAQBzdGF0aWMgY3Y6OlB0cjxIZWFwPFQ+PiBjdmZsYW5uOjpIZWFwPGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDI8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OkhpZXJhcmNoaWNhbENsdXN0ZXJpbmdJbmRleDxjdmZsYW5uOjpMMjxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAES9AQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAQL8BABMIAAAUCAAAFQgAAIwDAAAWCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMjdIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXhJTlMxXzJMMklmRUVFNE5vZGVFZkVFRUVOU185YWxsb2NhdG9ySVNCX0VFRUUAPGoCALC+AQDEZQIAAAAAAKi/AQAXCAAAGAgAABkIAAAaCAAAqgcAABsIAAAcCAAAHQgAAB4IAAAfCAAAIAgAACEIAAAiCAAATjdjdmZsYW5uOExzaEluZGV4SU5TXzJMMklmRUVFRQA8agIAiL8BAJisAQBMU0ggaXMgbm90IGltcGxlbWVudGVkIGZvciB0aGF0IHR5cGUATHNoVGFibGUAZ2V0S2V5AAAAAAAAAABswAEAIwgAACQIAAAlCAAAJggAACcIAAAoCAAAKQgAACoIAAArCAAALAgAAC0IAAAuCAAALwgAAE43Y3ZmbGFubjVJbmRleElOU18yTDFJZkVFRUUATjdjdmZsYW5uN05OSW5kZXhJTlNfMkwxSWZFRUVFABRqAgBFwAEAPGoCACjAAQBkwAEAAAAAANjAAQAwCAAAMQgAADIIAAAzCAAANAgAADUIAAA2CAAANwgAADgIAAA5CAAAOggAADsIAAA8CAAATjdjdmZsYW5uMTFMaW5lYXJJbmRleElOU18yTDFJZkVFRUUAPGoCALTAAQBkwAEAAAAAAEzBAQA9CAAAPggAAD8IAABACAAANAgAAEEIAABCCAAAQwgAAEQIAABFCAAARggAAEcIAABICAAATjdjdmZsYW5uMTdLRFRyZWVTaW5nbGVJbmRleElOU18yTDFJZkVFRUUAAAA8agIAIMEBAGTAAQAAAAAAuMEBAEkIAABKCAAASwgAADMIAAA0CAAATAgAAE0IAABOCAAATwgAAFAIAABRCAAAUggAAFMIAABON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFRQA8agIAlMEBAGTAAQAAAAAAoMIBAFQIAABVCAAAVggAAFcIAABYCAAAWQgAAFoIAABbCAAAXAgAAO8GAABdCAAATjdjdmZsYW5uN2FueWltcGwxNnNtYWxsX2FueV9wb2xpY3lJUFBOU18xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFRUUATjdjdmZsYW5uN2FueWltcGwyMXR5cGVkX2Jhc2VfYW55X3BvbGljeUlQUE5TXzExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUVFRQAAPGoCAEPCAQCklQEAPGoCAPjBAQCUwgEAUFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAFBON2N2Zmxhbm4xMUtEVHJlZUluZGV4SU5TXzJMMUlmRUVFNE5vZGVFAE43Y3ZmbGFubjExS0RUcmVlSW5kZXhJTlNfMkwxSWZFRUU0Tm9kZUUAAAAUagIAAcMBAPRqAgDXwgEAAAAAACzDAQD0agIArMIBAAAAAAA0wwEAcMMBAAymAQDQAAAAAQAAADymAQBrpgEAkqYBAHN0YXRpYyBjdjo6UHRyPEhlYXA8VD4+IGN2Zmxhbm46OkhlYXA8Y3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktEVHJlZUluZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpLRFRyZWVJbmRleDxjdmZsYW5uOjpMMTxmbG9hdD4+OjpOb2RlICosIGZsb2F0PiwgSGFzaGFibGVUID0gaW50XQAAAHDDAQAMpgEA1QAAAAEAAACwpgEA8qYBAJKmAQAAAAAAPMUBAF4IAABfCAAAYAgAAIwDAABhCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjdjdmZsYW5uNEhlYXBJTlMxXzEyQnJhbmNoU3RydWN0SVBOUzFfMTFLRFRyZWVJbmRleElOUzFfMkwxSWZFRUU0Tm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQA8agIAvMQBAMRlAgAAAAAAqMUBAGIIAABjCAAAZAgAADMIAAA0CAAAZQgAAGYIAABnCAAAaAgAAGkIAABqCAAAawgAAGwIAABON2N2Zmxhbm4xMUtNZWFuc0luZGV4SU5TXzJMMUlmRUVFRQA8agIAhMUBAGTAAQAAAAAAFMYBAF8DAABtCAAAbggAAE43Y3ZmbGFubjExS01lYW5zSW5kZXhJTlNfMkwxSWZFRUUyMktNZWFuc0Rpc3RhbmNlQ29tcHV0ZXJJTlNfNk1hdHJpeElkRUVFRQA8agIAyMUBAKiuAAA8xgEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6S01lYW5zSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6S01lYW5zTm9kZSAqLCBmbG9hdD4+OjpnZXRQb29sZWRJbnN0YW5jZShjb25zdCBIYXNoYWJsZVQgJiwgY29uc3QgaW50LCBpbnQpIFtUID0gY3ZmbGFubjo6QnJhbmNoU3RydWN0PGN2Zmxhbm46OktNZWFuc0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46OktNZWFuc05vZGUgKiwgZmxvYXQ+LCBIYXNoYWJsZVQgPSBpbnRdAAAAPMYBAAymAQDVAAAAAQAAALCmAQDypgEAkqYBAAAAAAAcyAEAbwgAAHAIAABxCAAAjAMAAHIIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlON2N2Zmxhbm40SGVhcElOUzFfMTJCcmFuY2hTdHJ1Y3RJUE5TMV8xMUtNZWFuc0luZGV4SU5TMV8yTDFJZkVFRTEwS01lYW5zTm9kZUVmRUVFRU5TXzlhbGxvY2F0b3JJU0JfRUVFRQAAPGoCAJTHAQDEZQIAAAAAAIzIAQBzCAAAdAgAAHUIAAAzCAAANAgAAHYIAAB3CAAAeAgAAHkIAAB6CAAAewgAAHwIAAB9CAAATjdjdmZsYW5uMTRDb21wb3NpdGVJbmRleElOU18yTDFJZkVFRUUAADxqAgBkyAEAZMABAAAAAAD8yAEAfggAAH8IAACACAAAMwgAADQIAACBCAAAgggAAIMIAACECAAAhQgAAIYIAACHCAAAiAgAAE43Y3ZmbGFubjE0QXV0b3R1bmVkSW5kZXhJTlNfMkwxSWZFRUVFAAA8agIA1MgBAGTAAQBBkJIHCyIBAAAABQAAAAoAAAAPAAAAEAAAACAAAABAAAAAgAAAAAABAEHAkgcLyQgBAAAABAAAAAgAAAAQAAAAIAAAAAAAAADEyQEAiQgAAIoIAACLCAAAMwgAADQIAACMCAAAjQgAAI4IAACPCAAAkAgAAJEIAACSCAAAkwgAAE43Y3ZmbGFubjI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TXzJMMUlmRUVFRQA8agIAkMkBAGTAAQDsyQEADKYBANAAAAABAAAAPKYBAGumAQCSpgEAc3RhdGljIGN2OjpQdHI8SGVhcDxUPj4gY3ZmbGFubjo6SGVhcDxjdmZsYW5uOjpCcmFuY2hTdHJ1Y3Q8Y3ZmbGFubjo6SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4PGN2Zmxhbm46OkwxPGZsb2F0Pj46Ok5vZGUgKiwgZmxvYXQ+Pjo6Z2V0UG9vbGVkSW5zdGFuY2UoY29uc3QgSGFzaGFibGVUICYsIGNvbnN0IGludCwgaW50KSBbVCA9IGN2Zmxhbm46OkJyYW5jaFN0cnVjdDxjdmZsYW5uOjpIaWVyYXJjaGljYWxDbHVzdGVyaW5nSW5kZXg8Y3ZmbGFubjo6TDE8ZmxvYXQ+Pjo6Tm9kZSAqLCBmbG9hdD4sIEhhc2hhYmxlVCA9IGludF0AAADsyQEADKYBANUAAAABAAAAsKYBAPKmAQCSpgEAAAAAAOjLAQCUCAAAlQgAAJYIAACMAwAAlwgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU43Y3ZmbGFubjRIZWFwSU5TMV8xMkJyYW5jaFN0cnVjdElQTlMxXzI3SGllcmFyY2hpY2FsQ2x1c3RlcmluZ0luZGV4SU5TMV8yTDFJZkVFRTROb2RlRWZFRUVFTlNfOWFsbG9jYXRvcklTQl9FRUVFADxqAgBYywEAxGUCAAAAAABQzAEAmAgAAJkIAACaCAAAmwgAADQIAACcCAAAnQgAAJ4IAACfCAAAoAgAAKEIAACiCAAAowgAAE43Y3ZmbGFubjhMc2hJbmRleElOU18yTDFJZkVFRUUAPGoCADDMAQBkwAEAKHNpemVfdClrbm4gPD0gaW5kZXhfLT5zaXplKCkAcnVuS25uU2VhcmNoXwBxdWVyeS50eXBlKCkgPT0gdHlwZSAmJiBpbmRpY2VzLnR5cGUoKSA9PSBDVl8zMlMgJiYgZGlzdHMudHlwZSgpID09IGR0eXBlAHF1ZXJ5LmlzQ29udGludW91cygpICYmIGluZGljZXMuaXNDb250aW51b3VzKCkgJiYgZGlzdHMuaXNDb250aW51b3VzKCkAcnVuUmFkaXVzU2VhcmNoXwAxLjYuMTAARGF0YVR5cGU8RWxlbWVudFR5cGU+Ojp0eXBlID09IGRhdGEudHlwZSgpICYmIGRhdGEuaXNDb250aW51b3VzKCkAbG9hZEluZGV4XwAAAAEAAAADAAAABABBlJsHCwECAEGgmwcL82QFAAAAAAAAAIjSAQCkCAAApQgAAKYIAABpbWFnZUNvdW50ID4gMABzZXQAL3NyYy9tb2R1bGVzL2ZlYXR1cmVzMmQvc3JjL21hdGNoZXJzLmNwcABkaW0gPiAwAGRlc2NyaXB0b3JzW2ldLmNvbHMgPT0gZGltICYmIGRlc2NyaXB0b3JzW2ldLnR5cGUoKSA9PSB0eXBlAChnbG9iYWxEZXNjSWR4Pj0wKSAmJiAoZ2xvYmFsRGVzY0lkeCA8IHNpemUoKSkAZ2V0TG9jYWxJZHgAAAAAAABM0gEApwgAAKgIAACpCAAAqggAAKsIAACsCAAAXwQAAGAEAACtCAAA6gMAAK4IAADqAwAA6gMAAOoDAABfZGVzY3JpcHRvcnMuaXNVTWF0KCkgfHwgX2Rlc2NyaXB0b3JzLmlzVU1hdFZlY3RvcigpIHx8IF9kZXNjcmlwdG9ycy5pc01hdCgpIHx8IF9kZXNjcmlwdG9ycy5pc01hdFZlY3RvcigpAGFkZABtYXNrcy5zaXplKCkgPT0gaW1hZ2VDb3VudABjaGVja01hc2tzAG1hc2tzW2ldLnR5cGUoKSA9PSBDVl84VUMxICYmIG1hc2tzW2ldLnJvd3MgPT0gcXVlcnlEZXNjcmlwdG9yc0NvdW50ICYmIG1hc2tzW2ldLmNvbHMgPT0gcm93cwBtYXhEaXN0YW5jZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjplcHNpbG9uKCkAcmFkaXVzTWF0Y2gAAAAAAACs0gEArwgAALAIAACxCAAAsggAALMIAACsCAAAXwQAAGAEAAC0CAAAtQgAALYIAAC3CAAAuAgAALkIAABfaW5kZXhQYXJhbXMARmxhbm5CYXNlZE1hdGNoZXIAX3NlYXJjaFBhcmFtcwB0cmFpbkRlc2NDb2xsZWN0aW9uLnNpemUoKSA9PSAwAHRyYWluAGluZGV4UGFyYW1zAGlwLnR5cGUoKSA9PSBGaWxlTm9kZTo6U0VRAHJlYWQAaXBbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAbmFtZQB0eXBlAADs0AEAy80BAKkEAAADAAAAK9EBACzRAQA20QEAdmlydHVhbCB2b2lkIGN2OjpGbGFubkJhc2VkTWF0Y2hlcjo6cmVhZChjb25zdCBjdjo6RmlsZU5vZGUgJikAAChpbnQpdHlwZQAoaW50KUxBU1RfVkFMVUVfRkxBTk5fSU5ERVhfVFlQRQB2YWx1ZQBzZWFyY2hQYXJhbXMAc3AudHlwZSgpID09IEZpbGVOb2RlOjpTRVEAc3BbaV0udHlwZSgpID09IEZpbGVOb2RlOjpNQVAAAOzQAQDLzQEA0gQAAAMAAAAr0QEALNEBADbRAQBkZWVwIGNsb25lIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGltcGxlbWVudGVkLCBiZWNhdXNlIEZsYW5uOjpJbmRleCBoYXMgbm90IGNvcHkgY29uc3RydWN0b3Igb3IgY2xvbmUgbWV0aG9kIABjbG9uZQBOMmN2MTdEZXNjcmlwdG9yTWF0Y2hlckUAADxqAgAy0gEAUCIBAE4yY3YxN0Rlc2NyaXB0b3JNYXRjaGVyMjBEZXNjcmlwdG9yQ29sbGVjdGlvbkUAABRqAgBY0gEATjJjdjE3Rmxhbm5CYXNlZE1hdGNoZXJFAAAAADxqAgCQ0gEATNIBAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAAAAAAGTTAQC6CAAAuwgAALwIAACMAwAAvQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3YxN0ZsYW5uQmFzZWRNYXRjaGVyRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQA8agIAGNMBAMRlAgAAAAAA1NMBAL4IAAC/CAAAwAgAAIwDAADBCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjVJbmRleEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAIzTAQDEZQIAAAAAAEjUAQDCCAAAwwgAAMQIAACMAwAAxQgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMUluZGV4UGFyYW1zRU5TXzlhbGxvY2F0b3JJUzNfRUVFRQA8agIA/NMBAMRlAgBObyBlbGVtZW50IG5hbWUgaGFzIGJlZW4gZ2l2ZW4Ab3BlcmF0b3I8PAAvc3JjL21vZHVsZXMvY29yZS9pbmNsdWRlL29wZW5jdjIvY29yZS9wZXJzaXN0ZW5jZS5ocHAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQAAAAAAAAAAdNUBAMYIAADHCAAAyAgAAIwDAADJCAAAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAA8agIAGdUBAMRlAgAAAAAAUNYBAMoIAADLCAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAzAgAAM0IAADOCAAAzwgAANAIAADRCAAA0ggAANMIAADUCAAA1QgAAE4yY3Y0dXNhYzI2VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGxFAE4yY3Y0dXNhYzIyVW5pZm9ybVJhbmRvbUdlbmVyYXRvckUATjJjdjR1c2FjMTVSYW5kb21HZW5lcmF0b3JFAAAAPGoCABrWAQBQIgEAPGoCAPfVAQA41gEAPGoCANDVAQBE1gEAeNYBAL/WAQDfAAAABQAAAOfWAQAI1wEACtcBAHZpcnR1YWwgdm9pZCBjdjo6dXNhYzo6VW5pZm9ybVJhbmRvbUdlbmVyYXRvckltcGw6OnJlc2V0R2VuZXJhdG9yKGludCkAL3NyYy9tb2R1bGVzL2NhbGliM2Qvc3JjL3VzYWMvdXRpbHMuY3BwAG1heCByYW5nZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwADAAbWF4X3JhbmdlXwAAAAA01wEAv9YBAOQAAAADAAAAk9cBAMfXAQDT1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmKQBSYW5kb21HZW5lcmF0b3IuIFN1YnNldCBzaXplIG11c3QgYmUgTEUgdGhhbiByYW5nZSEAc3Vic2V0X3NpemUAbWF4X3JhbmdlAAAAAPzXAQC/1gEACAEAAAMAAACT1wEAZdgBAArXAQB2aXJ0dWFsIHZvaWQgY3Y6OnVzYWM6OlVuaWZvcm1SYW5kb21HZW5lcmF0b3JJbXBsOjpnZW5lcmF0ZVVuaXF1ZVJhbmRvbVNldChzdGQ6OnZlY3RvcjxpbnQ+ICYsIGludCwgaW50KQBzdWJzZXRfc2l6ZV8AAACQ2AEAv9YBAPoAAAADAAAAk9cBAMfXAQAK1wEAdmlydHVhbCB2b2lkIGN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpABDZAQC/1gEAFAEAAAMAAACT1wEAx9cBAIrZAQB2aXJ0dWFsIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJmN2Ojp1c2FjOjpVbmlmb3JtUmFuZG9tR2VuZXJhdG9ySW1wbDo6Z2VuZXJhdGVVbmlxdWVSYW5kb21TdWJzZXQoc3RkOjp2ZWN0b3I8aW50PiAmLCBpbnQpAHNpemUxAAAAAAAQ2gEA1ggAANcIAADYCAAAjAMAANkIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMzM1JhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoSW1wbEVOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCAKzZAQDEZQIAAAAAABTbAQDaCAAA2wgAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAANwIAABjb250YWluZXJfLnR5cGUoKSA9PSBDVl8zMkYAUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsAE4yY3Y0dXNhYzMzUmFkaXVzU2VhcmNoTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyOVJhZGl1c1NlYXJjaE5laWdoYm9yaG9vZEdyYXBoRQBOMmN2NHVzYWMxN05laWdoYm9yaG9vZEdyYXBoRQA8agIA3toBAFAiAQA8agIAtNoBAPzaAQA8agIAhtoBAAjbAQAAAAAAkNsBAN0IAADeCAAA3wgAAIwDAADgCAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjJjdjVmbGFubjE3S0RUcmVlSW5kZXhQYXJhbXNFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADzbAQDEZQIAAAAAAAjcAQDhCAAA4ggAAOMIAACMAwAA5AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y1Zmxhbm4xMlNlYXJjaFBhcmFtc0VOU185YWxsb2NhdG9ySVMzX0VFRUUAAAAAPGoCALjbAQDEZQIAAAAAAIzcAQDlCAAA5ggAAOcIAACMAwAA6AgAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSU4yY3Y0dXNhYzI2Rmxhbm5OZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAPGoCADDcAQDEZQIAAAAAAFzdAQDpCAAA6ggAAFsEAABcBAAAXQQAAF4EAABfBAAAYAQAAOsIAADsCAAAa19uZWFyZXN0X25laWdoYm9ycyA8PSBwb2ludHNfc2l6ZQBGbGFubk5laWdoYm9yaG9vZEdyYXBoSW1wbABOMmN2NHVzYWMyNkZsYW5uTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMkZsYW5uTmVpZ2hib3Job29kR3JhcGhFADxqAgAt3QEA/NoBADxqAgAG3QEAUN0BAAAAAADg3QEA7QgAAO4IAADvCAAAjAMAAPAIAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMmN2NHVzYWMyNUdyaWROZWlnaGJvcmhvb2RHcmFwaEltcGxFTlNfOWFsbG9jYXRvcklTM19FRUVFAAAAADxqAgCE3QEAxGUCAAAAAABs3gEA8QgAAPIIAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAADzCAAATjJjdjR1c2FjMjVHcmlkTmVpZ2hib3Job29kR3JhcGhJbXBsRQBOMmN2NHVzYWMyMUdyaWROZWlnaGJvcmhvb2RHcmFwaEUAPGoCAD7eAQD82gEAPGoCABjeAQBg3gEAY24gPT0gMQBtZWFuU2hpZnQA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BwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAA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AAgAGgAIAJoACABaAAgA2gAIADoACAC6AAgAegAIAPoACAAGAAgAhgAIAEYACADGAAgAJgAIAKYACABmAAgA5gAIABYACACWAAgAVgAIANYACAA2AAgAtgAIAHYACAD2AAgADgAIAI4ACABOAAgAzgAIAC4ACACuAAgAbgAIAO4ACAAeAAgAngAIAF4ACADeAAgAPgAIAL4ACAB+AAgA/gAIAAEACACBAAgAQQAIAMEACAAhAAgAoQAIAGEACADhAAgAEQAIAJEACABRAAgA0QAIADEACACxAAgAcQAIAPEACAAJAAgAiQAIAEkACADJAAgAKQAIAKkACABpAAgA6QAIABkACACZAAgAWQAIANkACAA5AAgAuQAIAHkACAD5AAgABQAIAIUACABFAAgAxQAIACUACAClAAgAZQAIAOUACAAVAAgAlQAIAFUACADVAAgANQAIALUACAB1AAgA9QAIAA0ACACNAAgATQAIAM0ACAAtAAgArQAIAG0ACADtAAgAHQAIAJ0ACABdAAgA3QAIAD0ACAC9AAgAfQAIAP0ACAATAAkAEwEJAJMACQCTAQkAUwAJAFMBCQDTAAkA0wEJADMACQAzAQkAswAJALMBCQBzAAkAcwEJAPMACQDzAQkACwAJAAsBCQCLAAkAiwEJAEsACQBLAQkAywAJAMsBCQArAAkAKwEJAKsACQCrAQkAawAJAGsBCQDrAAkA6wEJABsACQAbAQkAmwAJAJsBCQBbAAkAWwEJANsACQDbAQkAOwAJADsBCQC7AAkAuwEJAHsACQB7AQkA+wAJAPsBCQAHAAkABwEJAIcACQCHAQkARwAJAEcBCQDHAAkAxwEJACcACQAnAQkApwAJAKcBCQBnAAkAZwEJAOcACQDnAQkAFwAJABcBCQCXAAkAlwEJAFcACQBXAQkA1wAJANcBCQA3AAkANwEJALcACQC3AQkAdwAJAHcBCQD3AAkA9wEJAA8ACQAPAQkAjwAJAI8BCQBPAAkATwEJAM8ACQDPAQkALwAJAC8BCQCvAAkArwEJAG8ACQBvAQkA7wAJAO8BCQAfAAkAHwEJAJ8ACQCfAQkAXwAJAF8BCQDfAAkA3wEJAD8ACQA/AQkAvwAJAL8BCQB/AAkAfwEJAP8ACQD/AQkAAAAHAEAABwAgAAcAYAAHABAABwBQAAcAMAAHAHAABwAIAAcASAAHACgABwBoAAcAGAAHAFgABwA4AAcAeAAHAAQABwBEAAcAJAAHAGQABwAUAAcAVAAHADQABwB0AAcAAwAIAIMACABDAAgAwwAIACMACACjAAgAYwAIAOMACAAAAAUAEAAFAAgABQAYAAUABAAFABQABQAMAAUAHAAFAAIABQASAAUACgAFABoABQAGAAUAFgAFAA4ABQAeAAUAAQAFABEABQAJAAUAGQAFAAUABQAVAAUADQAFAB0ABQADAAUAEwAFAAsABQAbAAUABwAFABcABQBB0KgIC00BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQBBwKkIC2UBAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABAAAAAUAAAAFAAAABgAAAAYAAAAHAAAABwAAAAgAAAAIAAAACQAAAAkAAAAKAAAACgAAAAsAAAALAAAADAAAAAwAAAANAAAADQBB8KoICyMCAAAAAwAAAAcAAAAAAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBBpKsIC2kBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQaSsCAuzDAEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAbmVlZCBkaWN0aW9uYXJ5AHN0cmVhbSBlbmQAAGZpbGUgZXJyb3IAc3RyZWFtIGVycm9yAGRhdGEgZXJyb3IAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAmBYCAKgWAgCzFgIAtBYCAL8WAgDMFgIA1xYCAOsWAgD4FgIAsxYCAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAACYagIAThoCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAmGoCAKgaAgAAAAAAAQAAAExeAAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAACYagIAABsCAAAAAAABAAAATF4AAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAJhqAgBcGwIAAAAAAAEAAABMXgAAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAFGoCALgbAgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAABRqAgDgGwIATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAUagIACBwCAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAFGoCADAcAgBB4LgIC1cZEkQ7Aj8sRxQ9MzAKGwZGS0U3D0kOjhcDQB08aSs2H0otHAEgJSkhCAwVFiIuEDg+CzQxGGR0dXYvQQl/OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQcC5CAuKDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5v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BhEAAAAREREAQbHhCAshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEHr4QgLAQwAQffhCAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGl4ggLAQ4AQbHiCAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHf4ggLARAAQeviCAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGi4wgLDhIAAAASEhIAAAAAAAAJAEHT4wgLAQsAQd/jCAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEGN5AgLAQwAQZnkCAvtAgwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRi0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgAAAADQqAIAaKkCAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAaW5maW5pdHkAbmFuAEGQ5wgLwwHRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///9jbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykgZmFpbGVkAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwAAAAAAAAAAEg0AgAPBgAAAwkAAAQJAABOU3QzX18yMTdiYWRfZnVuY3Rpb25fY2FsbEUAPGoCACw0AgAUZwIAQeToCAvzDwIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8A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ANAJAABOU3QzX18yN251bV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SXdFRQAAAJhqAgDYVwIAAAAAAAEAAAAgVwIAAAAAAJhqAgCUVwIAAAAAAAIAAABwUAIAAgAAAPBXAgBBrLAJC5sLCFkCANEJAADSCQAAUgkAANMJAADUCQAA1QkAANYJAADXCQAA2AkAANkJAAD4////CFkCANoJAADbCQAA3AkAAN0JAADeCQAA3wkAAOAJAABOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOXRpbWVfYmFzZUUAFGoCAMFYAgBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUAAAAUagIA3FgCAJhqAgB8WAIAAAAAAAMAAABwUAIAAgAAANRYAgACAAAAAFkCAAAIAAAAAAAA9FkCAOEJAADiCQAAUgkAAOMJAADkCQAA5QkAAOYJAADnCQAA6AkAAOkJAAD4////9FkCAOoJAADrCQAA7AkAAO0JAADuCQAA7wkAAPAJAABOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUAABRqAgDJWQIAmGoCAIRZAgAAAAAAAwAAAHBQAgACAAAA1FgCAAIAAADsWQIAAAgAAAAAAACYWgIA8QkAAPIJAABSCQAA8wkAAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAFGoCAHlaAgCYagIANFoCAAAAAAACAAAAcFACAAIAAACQWgIAAAgAAAAAAAAYWwIA9AkAAPUJAABSCQAA9gkAAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVF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TlN0M19fMjE5X19zaGFyZWRfd2Vha19jb3VudEUAAACYagIApGUCAAAAAAABAAAAnGUCAAAAAAByZWN1cnNpdmVfbXV0ZXggY29uc3RydWN0b3IgZmFpbGVkAHJlY3Vyc2l2ZV9tdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAc3RvdWxsADogbm8gY29udmVyc2lvbgAlcwoAOiBvdXQgb2YgcmFuZ2UAdmVjdG9yAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHRlcm1pbmF0aW5nAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBzdGQ6OmV4Y2VwdGlvbgAAAAAAFGcCADUKAAA2CgAANwoAAFN0OWV4Y2VwdGlvbgAAAAAUagIABGcCAAAAAABAZwIAnAEAADgKAAA5CgAAU3QxMWxvZ2ljX2Vycm9yADxqAgAwZwIAFGcCAAAAAAB0ZwIAnAEAADoKAAA5CgAAU3QxMmxlbmd0aF9lcnJvcgAAAAA8agIAYGcCAEBnAgBTdDl0eXBlX2luZm8AAAAAFGoCAIBnAgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAAA8agIAmGcCAJBnAgBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAAA8agIAyGcCALxnAgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAAA8agIA+GcCALxnAgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQA8agIAKGgCABxoAgBOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UAAAAAPGoCAFhoAgC8ZwIATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAAAAPGoCAIxoAgAcaAIAAAAAAAxpAgA7CgAAPAoAAD0KAAA+CgAAPwoAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQA8agIA5GgCALxnAgB2AAAA0GgCABhpAgBEbgAA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AABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME5lc3RlZE5hbWVFAAA8agIARH4CANh8AgA6OgBhdXRvAAAAAAD0fgIAYwoAAGQKAABlCgAAZgoAAGcKAABoCgAAVwoAAFgKAABpCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjRGb3J3YXJkVGVtcGxhdGVSZWZlcmVuY2VFAAAAADxqAgC0fgIA2HwCAGRlY2x0eXBlKAApAGdzACYmACYAJj0APQBhbGlnbm9mICgAY29uc3RfY2FzdAAsAH4AZHluYW1pY19jYXN0ACoALioALgAvAC89AF4AXj0APT0APj0APgA8PQA8PAA8PD0APAAtAC09ACo9AC0tACE9ACEAbm9leGNlcHQgKAB8fAB8AHw9AC0+KgArACs9ACsrAC0+AHJlaW50ZXJwcmV0X2Nhc3QAJQAlPQA+PgA+Pj0Ac3RhdGljX2Nhc3QAc2l6ZW9mICgAc2l6ZW9mLi4uICgAdHlwZWlkICgAdGhyb3cAdThfX3V1aWRvZnQAdThfX3V1aWRvZnoAd2NoYXJfdABiMEUAYjFFAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydAAAdQBsAHVsAGxsAHVsbABfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABEbkUAbnVsbHB0cgAAAAAAAAAA2IACAFEKAABSCgAAUwoAAFQKAABqCgAAVgoAAFcKAABYCgAAawoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAAA8agIApIACANh8AgAoAAAAAAAAAECBAgBRCgAAUgoAAFMKAABUCgAAbAoAAFYKAABXCgAAWAoAAG0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Qm9vbEV4cHJFADxqAgAUgQIA2HwCAHRydWUAZmFsc2UAAAAAAAC8gQIAUQoAAFIKAABTCgAAVAoAAG4KAABWCgAAVwoAAFgKAABvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGbG9hdExpdGVyYWxJbXBsSWZFRQA8agIAhIECANh8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T0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQAAADxqAgBMjAIA2HwCAGRuAG9uAAAAAAAAAOyMAgBRCgAAUgoAAFMKAABUCgAAoQoAAFYKAABXCgAAWAoAAKIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4RHRvck5hbWVFADxqAgDAjAIA2HwCAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3I8PT4AAAAAAABMjwIAUQoAAFIKAABTCgAAVAoAAKMKAABWCgAAVwoAAFgKAACkCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJDb252ZXJzaW9uT3BlcmF0b3JUeXBlRQAAPGoCABCPAgDYfAIAb3BlcmF0b3IgAAAAAAAAAMSPAgBRCgAAUgoAAFMKAABUCgAApQoAAFYKAABXCgAAWAoAAKYKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAPGoCAJCPAgDYfAIAb3BlcmF0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YWxsb2NhdG9yPGNoYXI+ID4Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfaW9zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGFsbG9jYXRvcgBiYXNpY19zdHJpbmcAYmFzaWNfaXN0cmVhbQBiYXNpY19vc3RyZWFtAGJhc2ljX2lvc3RyZWFtAAAAAAAAAAAsmAIAUQoAAFIKAABTCgAAVAoAAMcKAABWCgAAVwoAAFgKAADICgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJDdG9yRHRvck5hbWVFAAAAADxqAgD4lwIA2HwCAAAAAACUmAIAUQoAAFIKAABTCgAAVAoAAMkKAABWCgAAVwoAAFgKAADKCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBBYmlUYWdBdHRyRQAAPGoCAGSYAgDYfAIAW2FiaToAREMAAAAAAAAAABSZAgBRCgAAUgoAAFMKAABUCgAAywoAAFYKAABXCgAAWAoAAMwKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAAAA8agIA2JgCANh8AgBzdHJpbmcgbGl0ZXJhbAAAAAAAAIyZAgBRCgAAUgoAAFMKAABUCgAAzQoAAFYKAABXCgAAWAoAAM4KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5TG9jYWxOYW1lRQAAAAA8agIAXJkCANh8AgAAAAAA/JkCAFEKAABSCgAAUwoAAFQKAADPCgAAVgoAANAKAABYCgAA0QoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAPGoCAMSZAgDYfAIAc3RkOjpzdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0AAAAAALyaAgDSCgAA0woAANQKAADVCgAA1goAANcKAABXCgAAWAoAANgKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAAAAPGoCAIiaAgDYfAIAAAAAACibAgBRCgAAUgoAAFMKAABUCgAA2QoAAFYKAABXCgAAWAoAANoKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMlRlbXBsYXRlQXJnc0UAAAAAPGoCAPSaAgDYfAIAAAAAAJybAgBRCgAAUgoAAFMKAABUCgAA2woAAFYKAADcCgAAWAoAAN0KAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQAAAAA8agIAYJsCANh8AgBTdEwAAAAAABCcAgBRCgAAUgoAAFMKAABUCgAA3goAAFYKAADfCgAAWAoAAOAKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNlN0ZFF1YWxpZmllZE5hbWVFAAAAADxqAgDYmwIA2HwCAHN0ZDo6AAAAAAAAAIycAgBRCgAAUgoAAFMKAABUCgAA4QoAAFYKAABXCgAAWAoAAOIKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFRlbXBsYXRlQXJndW1lbnRQYWNrRQAAAAA8agIAUJwCANh8AgAAAAAA+JwCAFEKAABSCgAAUwoAAFQKAADjCgAAVgoAAFcKAABYCgAA5AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRW5hYmxlSWZBdHRyRQAAAAA8agIAxJwCANh8AgAgW2VuYWJsZV9pZjoAAAAAAAAAAHidAgDlCgAAUgoAAOYKAABUCgAA5woAAOgKAABXCgAAWAoAAOkKAABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZ1bmN0aW9uRW5jb2RpbmdFAAAAADxqAgBAnQIA2HwCACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0ACAmACAmJgAAAAAAAAAEngIAUQoAAFIKAABTCgAAVAoAAOoKAABWCgAAVwoAAFgKAADrCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOURvdFN1ZmZpeEUAAAAAPGoCANSdAgDYfAIAdm9pZABib29sAGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGxvbmcgbG9uZwB1bnNpZ25lZCBsb25nIGxvbmcAZmxvYXQAZG91YmxlAGxvbmcgZG91YmxlAF9fZmxvYXQxMjgAZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABjaGFyOF90AGRlY2x0eXBlKGF1dG8pAHN0ZDo6bnVsbHB0cl90ACBjb21wbGV4ACBpbWFnaW5hcnkARG8Abm9leGNlcHQARE8ARHcARHgAUkUAT0UAAAAAAABwnwIAUQoAAFIKAABTCgAAVAoAAOwKAABWCgAAVwoAAFgKAADtCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAAAAADxqAgA8nwIA2HwCAG5vZXhjZXB0KAAAAAAAAADwnwIAUQoAAFIKAABTCgAAVAoAAO4KAABWCgAAVwoAAFgKAADvCgAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBEeW5hbWljRXhjZXB0aW9uU3BlY0UAAAAAPGoCALSfAgDYfAIAdGhyb3coAAAAAAAAZKACAPAKAABSCgAA8QoAAFQKAADyCgAA8woAAFcKAABYCgAA9AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyRnVuY3Rpb25UeXBlRQAAAAA8agIAMKACANh8AgBvYmpjcHJvdG8AAAAAAAAA3KACAFEKAABSCgAAUwoAAFQKAAD1CgAAVgoAAFcKAABYCgAA9goAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzT2JqQ1Byb3RvTmFtZUUAAAA8agIAqKACANh8AgAAAAAATKECAFEKAABSCgAAUwoAAFQKAAD3CgAAVgoAAFcKAABYCgAA+AoAAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE3VmVuZG9yRXh0UXVhbFR5cGVFAAAAPGoCABShAgDYfAIAAAAAALChAgD5CgAA+goAAPsK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";function qA(){try{if(c)return new Uint8Array(c);var A=TC(HA);if(A)return A;if(a)return a(HA);throw"both async and sync fetching of the wasm failed"}catch(A){KA(A)}}function tA(){return c||!G&&!w||"function"!=typeof fetch||JA(HA)?Promise.resolve().then(qA):fetch(HA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+HA+"'";return A.arrayBuffer()})).catch((function(){return qA()}))}function rA(){var A={env:pC,wasi_snapshot_preview1:pC};function I(A,I){var g=A.exports;Q.asm=g,gA((L=Q.asm.memory).buffer),CA=Q.asm.__indirect_function_table,yA()}function g(A){I(A.instance)}function C(I){return tA().then((function(I){return WebAssembly.instantiate(I,A)})).then(I,(function(A){k("failed to asynchronously prepare wasm: "+A),KA(A)}))}if(sA(),Q.instantiateWasm)try{return Q.instantiateWasm(A,I)}catch(A){return k("Module.instantiateWasm callback failed with error: "+A),!1}return(c||"function"!=typeof WebAssembly.instantiateStreaming||kA(HA)||JA(HA)||"function"!=typeof fetch?C(g):fetch(HA,{credentials:"same-origin"}).then((function(I){return WebAssembly.instantiateStreaming(I,A).then(g,(function(A){return k("wasm streaming compile failed: "+A),k("falling back to ArrayBuffer instantiation"),C(g)}))}))).catch(B),{}}function dA(A,I){if(lA.mainLoop.timingMode=A,lA.mainLoop.timingValue=I,!lA.mainLoop.func)return 1;if(0==A)lA.mainLoop.scheduler=function(){var A=0|Math.max(0,lA.mainLoop.tickStartTime+I-LA());setTimeout(lA.mainLoop.runner,A)},lA.mainLoop.method="timeout";else if(1==A)lA.mainLoop.scheduler=function(){lA.requestAnimationFrame(lA.mainLoop.runner)},lA.mainLoop.method="rAF";else if(2==A){if("undefined"==typeof setImmediate){var g=[],C="setimmediate";addEventListener("message",(function(A){A.data!==C&&A.data.target!==C||(A.stopPropagation(),g.shift()())}),!0),setImmediate=function(A){g.push(A),w?(void 0===Q.setImmediates&&(Q.setImmediates=[]),Q.setImmediates.push(A),postMessage({target:C})):postMessage(C,"*")}}lA.mainLoop.scheduler=function(){setImmediate(lA.mainLoop.runner)},lA.mainLoop.method="immediate"}return 0}function nA(A,I,g,C,B){t(!lA.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),lA.mainLoop.func=A,lA.mainLoop.arg=C;var Q=lA.mainLoop.currentlyRunningMainloop;if(lA.mainLoop.runner=function(){if(!q)if(lA.mainLoop.queue.length>0){var I=Date.now(),g=lA.mainLoop.queue.shift();if(g.func(g.arg),lA.mainLoop.remainingBlockers){var C=lA.mainLoop.remainingBlockers,B=C%1==0?C-1:Math.floor(C);g.counted?lA.mainLoop.remainingBlockers=B:(B+=.5,lA.mainLoop.remainingBlockers=(8*C+B)/9)}if(console.log('main loop blocker "'+g.name+'" took '+(Date.now()-I)+" ms"),lA.mainLoop.updateStatus(),Q1&&lA.mainLoop.currentFrameNumber%lA.mainLoop.timingValue!=0?lA.mainLoop.scheduler():(0==lA.mainLoop.timingMode&&(lA.mainLoop.tickStartTime=LA()),lA.mainLoop.runIter(A),Q0?dA(0,1e3/I):dA(1,1),lA.mainLoop.scheduler()),g)throw"unwind"}kA(HA)||(HA=U(HA)),LA=F?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var lA={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){lA.mainLoop.scheduler=null,lA.mainLoop.currentlyRunningMainloop++},resume:function(){lA.mainLoop.currentlyRunningMainloop++;var A=lA.mainLoop.timingMode,I=lA.mainLoop.timingValue,g=lA.mainLoop.func;lA.mainLoop.func=null,nA(g,0,!1,lA.mainLoop.arg,!0),dA(A,I),lA.mainLoop.scheduler()},updateStatus:function(){if(Q.setStatus){var A=Q.statusMessage||"Please wait...",I=lA.mainLoop.remainingBlockers,g=lA.mainLoop.expectedBlockers;I?I=6;){var E=C>>B-6&63;B-=6,g+=I[E]}return 2==B?(g+=I[(3&C)<<4],g+="=="):4==B&&(g+=I[(15&C)<<2],g+="="),g}(A),E(G))},G.src=o,lA.safeSetTimeout((function(){E(G)}),1e4)}};Q.preloadPlugins.push(I);var g=Q.canvas;g&&(g.requestPointerLock=g.requestPointerLock||g.mozRequestPointerLock||g.webkitRequestPointerLock||g.msRequestPointerLock||function(){},g.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},g.exitPointerLock=g.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",C,!1),document.addEventListener("mozpointerlockchange",C,!1),document.addEventListener("webkitpointerlockchange",C,!1),document.addEventListener("mspointerlockchange",C,!1),Q.elementPointerLock&&g.addEventListener("click",(function(A){!lA.pointerLock&&Q.canvas.requestPointerLock&&(Q.canvas.requestPointerLock(),A.preventDefault())}),!1))}function C(){lA.pointerLock=document.pointerLockElement===Q.canvas||document.mozPointerLockElement===Q.canvas||document.webkitPointerLockElement===Q.canvas||document.msPointerLockElement===Q.canvas}},createContext:function(A,I,g,C){if(I&&Q.ctx&&A==Q.canvas)return Q.ctx;var B,E;if(I){var i={antialias:!1,alpha:!1,majorVersion:1};if(C)for(var D in C)i[D]=C[D];"undefined"!=typeof GL&&(E=GL.createContext(A,i))&&(B=GL.getContext(E).GLctx)}else B=A.getContext("2d");return B?(g&&(I||t("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Q.ctx=B,I&&GL.makeContextCurrent(E),Q.useWebGL=I,lA.moduleContextCreatedCallbacks.forEach((function(A){A()})),lA.init()),B):null},destroyContext:function(A,I,g){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(A,I){lA.lockPointer=A,lA.resizeCanvas=I,void 0===lA.lockPointer&&(lA.lockPointer=!0),void 0===lA.resizeCanvas&&(lA.resizeCanvas=!1);var g=Q.canvas;function C(){lA.isFullscreen=!1;var A=g.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===A?(g.exitFullscreen=lA.exitFullscreen,lA.lockPointer&&g.requestPointerLock(),lA.isFullscreen=!0,lA.resizeCanvas?lA.setFullscreenCanvasSize():lA.updateCanvasDimensions(g)):(A.parentNode.insertBefore(g,A),A.parentNode.removeChild(A),lA.resizeCanvas?lA.setWindowedCanvasSize():lA.updateCanvasDimensions(g)),Q.onFullScreen&&Q.onFullScreen(lA.isFullscreen),Q.onFullscreen&&Q.onFullscreen(lA.isFullscreen)}lA.fullscreenHandlersInstalled||(lA.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",C,!1),document.addEventListener("mozfullscreenchange",C,!1),document.addEventListener("webkitfullscreenchange",C,!1),document.addEventListener("MSFullscreenChange",C,!1));var B=document.createElement("div");g.parentNode.insertBefore(B,g),B.appendChild(g),B.requestFullscreen=B.requestFullscreen||B.mozRequestFullScreen||B.msRequestFullscreen||(B.webkitRequestFullscreen?function(){B.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(B.webkitRequestFullScreen?function(){B.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),B.requestFullscreen()},exitFullscreen:function(){return!!lA.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(A){var I=Date.now();if(0===lA.nextRAF)lA.nextRAF=I+1e3/60;else for(;I+2>=lA.nextRAF;)lA.nextRAF+=1e3/60;var g=Math.max(lA.nextRAF-I,0);setTimeout(A,g)},requestAnimationFrame:function(A){"function"!=typeof requestAnimationFrame?(0,lA.fakeRequestAnimationFrame)(A):requestAnimationFrame(A)},safeCallback:function(A){return function(){if(!q)return A.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){lA.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(lA.allowAsyncCallbacks=!0,lA.queuedAsyncCallbacks.length>0){var A=lA.queuedAsyncCallbacks;lA.queuedAsyncCallbacks=[],A.forEach((function(A){A()}))}},safeRequestAnimationFrame:function(A){return lA.requestAnimationFrame((function(){q||(lA.allowAsyncCallbacks?A():lA.queuedAsyncCallbacks.push(A))}))},safeSetTimeout:function(A,I){return setTimeout((function(){q||(lA.allowAsyncCallbacks?A():lA.queuedAsyncCallbacks.push(A))}),I)},safeSetInterval:function(A,I){return setInterval((function(){q||lA.allowAsyncCallbacks&&A()}),I)},getMimetype:function(A){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[A.substr(A.lastIndexOf(".")+1)]},getUserMedia:function(A){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(A)},getMovementX:function(A){return A.movementX||A.mozMovementX||A.webkitMovementX||0},getMovementY:function(A){return A.movementY||A.mozMovementY||A.webkitMovementY||0},getMouseWheelDelta:function(A){var I=0;switch(A.type){case"DOMMouseScroll":I=A.detail/3;break;case"mousewheel":I=A.wheelDelta/120;break;case"wheel":switch(I=A.deltaY,A.deltaMode){case 0:I/=100;break;case 1:I/=3;break;case 2:I*=80;break;default:throw"unrecognized mouse wheel delta mode: "+A.deltaMode}break;default:throw"unrecognized mouse wheel event: "+A.type}return I},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(A){if(lA.pointerLock)"mousemove"!=A.type&&"mozMovementX"in A?lA.mouseMovementX=lA.mouseMovementY=0:(lA.mouseMovementX=lA.getMovementX(A),lA.mouseMovementY=lA.getMovementY(A)),"undefined"!=typeof SDL?(lA.mouseX=SDL.mouseX+lA.mouseMovementX,lA.mouseY=SDL.mouseY+lA.mouseMovementY):(lA.mouseX+=lA.mouseMovementX,lA.mouseY+=lA.mouseMovementY);else{var I=Q.canvas.getBoundingClientRect(),g=Q.canvas.width,C=Q.canvas.height,B=void 0!==window.scrollX?window.scrollX:window.pageXOffset,E=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===A.type||"touchend"===A.type||"touchmove"===A.type){var i=A.touch;if(void 0===i)return;var D=i.pageX-(B+I.left),o=i.pageY-(E+I.top),G={x:D*=g/I.width,y:o*=C/I.height};if("touchstart"===A.type)lA.lastTouches[i.identifier]=G,lA.touches[i.identifier]=G;else if("touchend"===A.type||"touchmove"===A.type){var w=lA.touches[i.identifier];w||(w=G),lA.lastTouches[i.identifier]=w,lA.touches[i.identifier]=G}return}var F=A.pageX-(B+I.left),R=A.pageY-(E+I.top);F*=g/I.width,R*=C/I.height,lA.mouseMovementX=F-lA.mouseX,lA.mouseMovementY=R-lA.mouseY,lA.mouseX=F,lA.mouseY=R}},asyncLoad:function(A,I,g,C){var B=C?"":"al "+A;h(A,(function(g){t(g,'Loading data file "'+A+'" failed (no arrayBuffer).'),I(new Uint8Array(g)),B&&yA()}),(function(I){if(!g)throw'Loading data file "'+A+'" failed.';g()})),B&&sA()},resizeListeners:[],updateResizeListeners:function(){var A=Q.canvas;lA.resizeListeners.forEach((function(I){I(A.width,A.height)}))},setCanvasSize:function(A,I,g){var C=Q.canvas;lA.updateCanvasDimensions(C,A,I),g||lA.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var A=m[SDL.screen>>2];A|=8388608,T[SDL.screen>>2]=A}lA.updateCanvasDimensions(Q.canvas),lA.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var A=m[SDL.screen>>2];A&=-8388609,T[SDL.screen>>2]=A}lA.updateCanvasDimensions(Q.canvas),lA.updateResizeListeners()},updateCanvasDimensions:function(A,I,g){I&&g?(A.widthNative=I,A.heightNative=g):(I=A.widthNative,g=A.heightNative);var C=I,B=g;if(Q.forcedAspectRatio&&Q.forcedAspectRatio>0&&(C/B0;){var I=A.shift();if("function"!=typeof I){var g=I.func;"number"==typeof g?void 0===I.arg?CA.get(g)():CA.get(g)(I.arg):g(void 0===I.arg?null:I.arg)}else I(Q)}}var bA={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function VA(A){return OC(A+bA.SIZE)+bA.SIZE}function xA(A,I){}function fA(A){this.excPtr=A,this.ptr=A-bA.SIZE,this.set_type=function(A){T[this.ptr+bA.TYPE_OFFSET>>2]=A},this.get_type=function(){return T[this.ptr+bA.TYPE_OFFSET>>2]},this.set_destructor=function(A){T[this.ptr+bA.DESTRUCTOR_OFFSET>>2]=A},this.get_destructor=function(){return T[this.ptr+bA.DESTRUCTOR_OFFSET>>2]},this.set_refcount=function(A){T[this.ptr+bA.REFCOUNT_OFFSET>>2]=A},this.set_caught=function(A){A=A?1:0,x[this.ptr+bA.CAUGHT_OFFSET>>0]=A},this.get_caught=function(){return 0!=x[this.ptr+bA.CAUGHT_OFFSET>>0]},this.set_rethrown=function(A){A=A?1:0,x[this.ptr+bA.RETHROWN_OFFSET>>0]=A},this.get_rethrown=function(){return 0!=x[this.ptr+bA.RETHROWN_OFFSET>>0]},this.init=function(A,I){this.set_type(A),this.set_destructor(I),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var A=T[this.ptr+bA.REFCOUNT_OFFSET>>2];T[this.ptr+bA.REFCOUNT_OFFSET>>2]=A+1},this.release_ref=function(){var A=T[this.ptr+bA.REFCOUNT_OFFSET>>2];return T[this.ptr+bA.REFCOUNT_OFFSET>>2]=A-1,1===A}}function WA(A,I,g){throw new fA(A).init(I,g),A}function ZA(A){return T[jC()>>2]=A,A}var TA={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,C=A.length-1;C>=0;C--){var B=A[C];"."===B?A.splice(C,1):".."===B?(A.splice(C,1),g++):g&&(A.splice(C,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=TA.splitPath(A),g=I[0],C=I[1];return g||C?(C&&(C=C.substr(0,C.length-1)),g+C):"."},basename:function(A){if("/"===A)return"/";var I=(A=(A=TA.normalize(A)).replace(/\/$/,"")).lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return TA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return TA.normalize(A.join("/"))},join2:function(A,I){return TA.normalize(A+"/"+I)}};function mA(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var A=new Uint8Array(1);return function(){return crypto.getRandomValues(A),A[0]}}if(F)try{var I=g(3906);return function(){return I.randomBytes(1)[0]}}catch(A){}return function(){KA("randomDevice")}}var pA={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var C=g>=0?arguments[g]:jA.cwd();if("string"!=typeof C)throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";A=C+"/"+A,I="/"===C.charAt(0)}return(I?"/":"")+(A=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=pA.resolve(A).substr(1),I=pA.resolve(I).substr(1);for(var C=g(A.split("/")),B=g(I.split("/")),Q=Math.min(C.length,B.length),E=Q,i=0;i0?g.slice(0,C).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=xC(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(M(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(M(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(k(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(k(d(A.output,0)),A.output=[])}}};function OA(A){for(var I=J(A,16384),g=OC(I);A=I)){I=Math.max(I,g*(g<1048576?2:1.125)>>>0),0!=g&&(I=Math.max(I,256));var C=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(C.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-B,C);if(E>8&&Q.subarray)I.set(Q.subarray(B,B+E),g);else for(var i=0;i0||C+g8)throw new jA.ErrnoError(32);for(var B=TA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=jA.root,E="/",i=0;i40)throw new jA.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(jA.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,C=0;C>>0)%jA.nameTable.length},hashAddNode:function(A){var I=jA.hashName(A.parent.id,A.name);A.name_next=jA.nameTable[I],jA.nameTable[I]=A},hashRemoveNode:function(A){var I=jA.hashName(A.parent.id,A.name);if(jA.nameTable[I]===A)jA.nameTable[I]=A.name_next;else for(var g=jA.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=jA.mayLookup(A);if(g)throw new jA.ErrnoError(g,A);for(var C=jA.hashName(A.id,I),B=jA.nameTable[C];B;B=B.name_next){var Q=B.name;if(B.parent.id===A.id&&Q===I)return B}return jA.lookup(A,I)},createNode:function(A,I,g,C){var B=new jA.FSNode(A,I,g,C);return jA.hashAddNode(B),B},destroyNode:function(A){jA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(A){var I=jA.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return jA.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return jA.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return jA.lookupNode(A,I),20}catch(A){}return jA.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var C;try{C=jA.lookupNode(A,I)}catch(A){return A.errno}var B=jA.nodePermissions(A,"wx");if(B)return B;if(g){if(!jA.isDir(C.mode))return 54;if(jA.isRoot(C)||jA.getPath(C)===jA.cwd())return 10}else if(jA.isDir(C.mode))return 31;return 0},mayOpen:function(A,I){return A?jA.isLink(A.mode)?32:jA.isDir(A.mode)&&("r"!==jA.flagsToPermissionString(I)||512&I)?31:jA.nodePermissions(A,jA.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||jA.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!jA.streams[g])return g;throw new jA.ErrnoError(33)},getStream:function(A){return jA.streams[A]},createStream:function(A,I,g){jA.FSStream||(jA.FSStream=function(){},jA.FSStream.prototype={object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var C=new jA.FSStream;for(var B in A)C[B]=A[B];A=C;var Q=jA.nextfd(I,g);return A.fd=Q,jA.streams[Q]=A,A},closeStream:function(A){jA.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=jA.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new jA.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){jA.devices[A]={stream_ops:I}},getDevice:function(A){return jA.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var C=g.pop();I.push(C),g.push.apply(g,C.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),jA.syncFSRequests++,jA.syncFSRequests>1&&k("warning: "+jA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=jA.getMounts(jA.root.mount),C=0;function B(A){return jA.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,B(A));++C>=g.length&&B(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var C,B="/"===g,Q=!g;if(B&&jA.root)throw new jA.ErrnoError(10);if(!B&&!Q){var E=jA.lookupPath(g,{follow_mount:!1});if(g=E.path,C=E.node,jA.isMountpoint(C))throw new jA.ErrnoError(10);if(!jA.isDir(C.mode))throw new jA.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},D=A.mount(i);return D.mount=i,i.root=D,B?jA.root=D:C&&(C.mounted=i,C.mount&&C.mount.mounts.push(i)),D},unmount:function(A){var I=jA.lookupPath(A,{follow_mount:!1});if(!jA.isMountpoint(I.node))throw new jA.ErrnoError(28);var g=I.node,C=g.mounted,B=jA.getMounts(C);Object.keys(jA.nameTable).forEach((function(A){for(var I=jA.nameTable[A];I;){var g=I.name_next;-1!==B.indexOf(I.mount)&&jA.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(C);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var C=jA.lookupPath(A,{parent:!0}).node,B=TA.basename(A);if(!B||"."===B||".."===B)throw new jA.ErrnoError(28);var Q=jA.mayCreate(C,B);if(Q)throw new jA.ErrnoError(Q);if(!C.node_ops.mknod)throw new jA.ErrnoError(63);return C.node_ops.mknod(C,B,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,jA.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,jA.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),C="",B=0;Bthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,C=Number(A.getResponseHeader("Content-length")),B=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;B||(E=C);var i=this;i.setDataGetter((function(A){var I=A*E,B=(A+1)*E-1;if(B=Math.min(B,C-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>C-1)throw new Error("only "+C+" bytes available! programmer error!");var B=new XMLHttpRequest;if(B.open("GET",g,!1),C!==E&&B.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(B.responseType="arraybuffer"),B.overrideMimeType&&B.overrideMimeType("text/plain; charset=x-user-defined"),B.send(null),!(B.status>=200&&B.status<300||304===B.status))throw new Error("Couldn't load "+g+". Status: "+B.status);return void 0!==B.response?new Uint8Array(B.response||[]):xC(B.responseText||"",!0)}(I,B)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&C||(E=C=1,C=this.getter(0).length,E=C,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=C,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!w)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=jA.createFile(A,I,i,C,B);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var o={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];o[A]=function(){return jA.forceLoadFile(D),I.apply(null,arguments)}})),o.read=function(A,I,g,C,B){jA.forceLoadFile(D);var Q=A.node.contents;if(B>=Q.length)return 0;var E=Math.min(Q.length-B,C);if(Q.slice)for(var i=0;i>2]=C.dev,T[g+4>>2]=0,T[g+8>>2]=C.ino,T[g+12>>2]=C.mode,T[g+16>>2]=C.nlink,T[g+20>>2]=C.uid,T[g+24>>2]=C.gid,T[g+28>>2]=C.rdev,T[g+32>>2]=0,cA=[C.size>>>0,(YA=C.size,+Math.abs(YA)>=1?YA>0?(0|Math.min(+Math.floor(YA/4294967296),4294967295))>>>0:~~+Math.ceil((YA-+(~~YA>>>0))/4294967296)>>>0:0)],T[g+40>>2]=cA[0],T[g+44>>2]=cA[1],T[g+48>>2]=4096,T[g+52>>2]=C.blocks,T[g+56>>2]=C.atime.getTime()/1e3|0,T[g+60>>2]=0,T[g+64>>2]=C.mtime.getTime()/1e3|0,T[g+68>>2]=0,T[g+72>>2]=C.ctime.getTime()/1e3|0,T[g+76>>2]=0,cA=[C.ino>>>0,(YA=C.ino,+Math.abs(YA)>=1?YA>0?(0|Math.min(+Math.floor(YA/4294967296),4294967295))>>>0:~~+Math.ceil((YA-+(~~YA>>>0))/4294967296)>>>0:0)],T[g+80>>2]=cA[0],T[g+84>>2]=cA[1],0},doMsync:function(A,I,g,C,B){var Q=f.slice(A,A+g);jA.msync(I,Q,B,g,C)},doMkdir:function(A,I){return"/"===(A=TA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),jA.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return jA.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var C=jA.readlink(A),B=Math.min(g,b(C)),Q=x[I+B];return e(C,I,g+1),x[I+B]=Q,B},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=jA.lookupPath(A,{follow:!0}).node))return-44;var C="";return 4&I&&(C+="r"),2&I&&(C+="w"),1&I&&(C+="x"),C&&jA.nodePermissions(g,C)?-2:0},doDup:function(A,I,g){var C=jA.getStream(g);return C&&jA.close(C),jA.open(A,I,0,g,g).fd},doReadv:function(A,I,g,C){for(var B=0,Q=0;Q>2],i=T[I+(8*Q+4)>>2],D=jA.read(A,x,E,i,C);if(D<0)return-1;if(B+=D,D>2],i=T[I+(8*Q+4)>>2],D=jA.write(A,x,E,i,C);if(D<0)return-1;B+=D}return B},varargs:void 0,get:function(){return PA.varargs+=4,T[PA.varargs-4>>2]},getStr:function(A){return n(A)},getStreamFromFD:function(A){var I=jA.getStream(A);if(!I)throw new jA.ErrnoError(8);return I},get64:function(A,I){return A}};function zA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 0:return(B=PA.get())<0?-28:jA.open(C.path,C.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return C.flags;case 4:var B=PA.get();return C.flags|=B,0;case 12:return B=PA.get(),W[B+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ZA(28),-1}}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),-A.errno}}function vA(A,I,g){PA.varargs=g;try{var C=PA.getStreamFromFD(A);switch(I){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return C.tty?0:-59;case 21519:if(!C.tty)return-59;var B=PA.get();return T[B>>2]=0,0;case 21520:return C.tty?-28:-59;case 21531:return B=PA.get(),jA.ioctl(C,I,B);default:KA("bad ioctl syscall "+I)}}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),-A.errno}}function _A(A,I,g){PA.varargs=g;try{var C=PA.getStr(A),B=PA.get();return jA.open(C,I,B).fd}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),-A.errno}}var $A={};function AI(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function II(A){return this.fromWireType(m[A>>2])}var gI={},CI={},BI={},QI=48,EI=57;function iI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=QI&&I<=EI?"_"+A:A}function DI(A,I){return A=iI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function oI(A,I){var g=DI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var GI=void 0;function wI(A){throw new GI(A)}function FI(A,I,g){function C(I){var C=g(I);C.length!==A.length&&wI("Mismatched type converter count");for(var B=0;B>Q])},destructorFunction:null})}function JI(A){if(!(this instanceof WI))return!1;if(!(A instanceof WI))return!1;for(var I=this.$$.ptrType.registeredClass,g=this.$$.ptr,C=A.$$.ptrType.registeredClass,B=A.$$.ptr;I.baseClass;)g=I.upcast(g),I=I.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return I===C&&g===B}function YI(A){return{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}}function cI(A){MI(A.$$.ptrType.registeredClass.name+" instance already deleted")}var LI=!1;function HI(A){}function qI(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}function tI(A){A.count.value-=1,0===A.count.value&&qI(A)}function rI(A){return"undefined"==typeof FinalizationGroup?(rI=function(A){return A},A):(LI=new FinalizationGroup((function(A){for(var I=A.next();!I.done;I=A.next()){var g=I.value;g.ptr?tI(g):console.warn("object already deleted: "+g.ptr)}})),rI=function(A){return LI.register(A,A.$$,A.$$),A},HI=function(A){LI.unregister(A.$$)},rI(A))}function dI(){if(this.$$.ptr||cI(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=rI(Object.create(Object.getPrototypeOf(this),{$$:{value:YI(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A}function nI(){this.$$.ptr||cI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&MI("Object already scheduled for deletion"),HI(this),tI(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function lI(){return!this.$$.ptr}var eI=void 0,bI=[];function VI(){for(;bI.length;){var A=bI.pop();A.$$.deleteScheduled=!1,A.delete()}}function xI(){return this.$$.ptr||cI(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&MI("Object already scheduled for deletion"),bI.push(this),1===bI.length&&eI&&eI(VI),this.$$.deleteScheduled=!0,this}function fI(){WI.prototype.isAliasOf=JI,WI.prototype.clone=dI,WI.prototype.delete=nI,WI.prototype.isDeleted=lI,WI.prototype.deleteLater=xI}function WI(){}var ZI={};function TI(A,I,g){if(void 0===A[I].overloadTable){var C=A[I];A[I]=function(){return A[I].overloadTable.hasOwnProperty(arguments.length)||MI("Function '"+g+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+A[I].overloadTable+")!"),A[I].overloadTable[arguments.length].apply(this,arguments)},A[I].overloadTable=[],A[I].overloadTable[C.argCount]=C}}function mI(A,I,g){Q.hasOwnProperty(A)?((void 0===g||void 0!==Q[A].overloadTable&&void 0!==Q[A].overloadTable[g])&&MI("Cannot register public name '"+A+"' twice"),TI(Q,A,A),Q.hasOwnProperty(g)&&MI("Cannot register multiple overloads of a function with the same number of arguments ("+g+")!"),Q[A].overloadTable[g]=I):(Q[A]=I,void 0!==g&&(Q[A].numArguments=g))}function pI(A,I,g,C,B,Q,E,i){this.name=A,this.constructor=I,this.instancePrototype=g,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=E,this.downcast=i,this.pureVirtualFunctions=[]}function XI(A,I,g){for(;I!==g;)I.upcast||MI("Expected null or instance of "+g.name+", got an instance of "+I.name),A=I.upcast(A),I=I.baseClass;return A}function OI(A,I){if(null===I)return this.isReference&&MI("null is not a valid "+this.name),0;I.$$||MI('Cannot pass "'+bg(I)+'" as a '+this.name),I.$$.ptr||MI("Cannot pass deleted object as a pointer of type "+this.name);var g=I.$$.ptrType.registeredClass;return XI(I.$$.ptr,g,this.registeredClass)}function uI(A,I){var g;if(null===I)return this.isReference&&MI("null is not a valid "+this.name),this.isSmartPointer?(g=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,g),g):0;I.$$||MI('Cannot pass "'+bg(I)+'" as a '+this.name),I.$$.ptr||MI("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&I.$$.ptrType.isConst&&MI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);var C=I.$$.ptrType.registeredClass;if(g=XI(I.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===I.$$.smartPtr&&MI("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:I.$$.smartPtrType===this?g=I.$$.smartPtr:MI("Cannot convert argument of type "+(I.$$.smartPtrType?I.$$.smartPtrType.name:I.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:g=I.$$.smartPtr;break;case 2:if(I.$$.smartPtrType===this)g=I.$$.smartPtr;else{var B=I.clone();g=this.rawShare(g,lg((function(){B.delete()}))),null!==A&&A.push(this.rawDestructor,g)}break;default:MI("Unsupporting sharing policy")}return g}function jI(A,I){if(null===I)return this.isReference&&MI("null is not a valid "+this.name),0;I.$$||MI('Cannot pass "'+bg(I)+'" as a '+this.name),I.$$.ptr||MI("Cannot pass deleted object as a pointer of type "+this.name),I.$$.ptrType.isConst&&MI("Cannot convert argument of type "+I.$$.ptrType.name+" to parameter type "+this.name);var g=I.$$.ptrType.registeredClass;return XI(I.$$.ptr,g,this.registeredClass)}function PI(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A}function zI(A){this.rawDestructor&&this.rawDestructor(A)}function vI(A){null!==A&&A.delete()}function _I(A,I,g){if(I===g)return A;if(void 0===g.baseClass)return null;var C=_I(A,I,g.baseClass);return null===C?null:g.downcast(C)}function $I(){return Object.keys(Cg).length}function Ag(){var A=[];for(var I in Cg)Cg.hasOwnProperty(I)&&A.push(Cg[I]);return A}function Ig(A){eI=A,bI.length&&eI&&eI(VI)}function gg(){Q.getInheritedInstanceCount=$I,Q.getLiveInheritedInstances=Ag,Q.flushPendingDeletes=VI,Q.setDelayFunction=Ig}var Cg={};function Bg(A,I){for(void 0===I&&MI("ptr should not be undefined");A.baseClass;)I=A.upcast(I),A=A.baseClass;return I}function Qg(A,I){return I=Bg(A,I),Cg[I]}function Eg(A,I){return I.ptrType&&I.ptr||wI("makeClassHandle requires ptr and ptrType"),!!I.smartPtrType!=!!I.smartPtr&&wI("Both smartPtrType and smartPtr must be specified"),I.count={value:1},rI(Object.create(A,{$$:{value:I}}))}function ig(A){var I=this.getPointee(A);if(!I)return this.destructor(A),null;var g=Qg(this.registeredClass,I);if(void 0!==g){if(0===g.$$.count.value)return g.$$.ptr=I,g.$$.smartPtr=A,g.clone();var C=g.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?Eg(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:I,smartPtrType:this,smartPtr:A}):Eg(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,E=this.registeredClass.getActualType(I),i=ZI[E];if(!i)return B.call(this);Q=this.isConst?i.constPointerType:i.pointerType;var D=_I(I,this.registeredClass,Q.registeredClass);return null===D?B.call(this):this.isSmartPointer?Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:D,smartPtrType:this,smartPtr:A}):Eg(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:D})}function Dg(){og.prototype.getPointee=PI,og.prototype.destructor=zI,og.prototype.argPackAdvance=8,og.prototype.readValueFromPointer=II,og.prototype.deleteObject=vI,og.prototype.fromWireType=ig}function og(A,I,g,C,B,Q,E,i,D,o,G){this.name=A,this.registeredClass=I,this.isReference=g,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=E,this.rawGetPointee=i,this.rawConstructor=D,this.rawShare=o,this.rawDestructor=G,B||void 0!==I.baseClass?this.toWireType=uI:C?(this.toWireType=OI,this.destructorFunction=null):(this.toWireType=jI,this.destructorFunction=null)}function Gg(A,I,g){Q.hasOwnProperty(A)||wI("Replacing nonexistant public symbol"),void 0!==Q[A].overloadTable&&void 0!==g?Q[A].overloadTable[g]=I:(Q[A]=I,Q[A].argCount=g)}function wg(A,I,g){return g&&g.length?Q["dynCall_"+A].apply(null,[I].concat(g)):Q["dynCall_"+A].call(null,I)}function Fg(A,I,g){return-1!=A.indexOf("j")?wg(A,I,g):CA.get(I).apply(null,g)}function Rg(A,I){t(A.indexOf("j")>=0,"getDynCaller should only be called with i64 sigs");var g=[];return function(){g.length=arguments.length;for(var C=0;C0?", ":"")+w),F+=(o?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(D=E?1:2;D>2)+C]);return g}function kg(A,I,g,C,B,Q,E){var i=Mg(g,C);I=KI(I),Q=Ng(B,Q),FI([],[A],(function(A){var C=(A=A[0]).name+"."+I;function B(){sg("Cannot call "+C+" due to unbound types",i)}var D=A.registeredClass.constructor;return void 0===D[I]?(B.argCount=g-1,D[I]=B):(TI(D,I,C),D[I].overloadTable[g-1]=B),FI([],i,(function(A){var B=[A[0],null].concat(A.slice(1)),i=Ug(C,B,null,Q,E);return void 0===D[I].overloadTable?(i.argCount=g-1,D[I]=i):D[I].overloadTable[g-1]=i,[]})),[]}))}function Sg(A,I,g,C,B,Q){t(I>0);var E=Mg(I,g);B=Ng(C,B);var i=[Q],D=[];FI([],[A],(function(A){var g="constructor "+(A=A[0]).name;if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[I-1])throw new UI("Cannot register multiple constructors with identical number of parameters ("+(I-1)+") for class '"+A.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return A.registeredClass.constructor_body[I-1]=function(){sg("Cannot construct "+A.name+" due to unbound types",E)},FI([],E,(function(C){return A.registeredClass.constructor_body[I-1]=function(){arguments.length!==I-1&&MI(g+" called with "+arguments.length+" arguments, expected "+(I-1)),D.length=0,i.length=I;for(var A=1;A4&&0==--qg[A].refcount&&(qg[A]=void 0,Hg.push(A))}function rg(){for(var A=0,I=5;I>2])};case 3:return function(A){return this.fromWireType(X[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function xg(A,I,g){var C=aI(g);kI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+bg(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:Vg(I,C),destructorFunction:null})}function fg(A,I,g,C,B,Q){var E=Mg(I,g);A=KI(A),B=Ng(C,B),mI(A,(function(){sg("Cannot call "+A+" due to unbound types",E)}),I-1),FI([],E,(function(g){var C=[g[0],null].concat(g.slice(1));return Gg(A,Ug(A,C,null,B,Q),I-1),[]}))}function Wg(A,I,g){switch(I){case 0:return g?function(A){return x[A]}:function(A){return f[A]};case 1:return g?function(A){return W[A>>1]}:function(A){return Z[A>>1]};case 2:return g?function(A){return T[A>>2]}:function(A){return m[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function Zg(A,I,g,C,B){I=KI(I),-1===B&&(B=4294967295);var Q=aI(g),E=function(A){return A};if(0===C){var i=32-8*g;E=function(A){return A<>>i}}var D=-1!=I.indexOf("unsigned");kI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+bg(g)+'" to '+this.name);if(gB)throw new TypeError('Passing a number "'+bg(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+C+", "+B+"]!");return D?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Wg(I,Q,0!==C),destructorFunction:null})}function Tg(A,I,g){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function B(A){var I=m,g=I[A>>=2],B=I[A+1];return new C(V,B,g)}kI(A,{name:g=KI(g),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})}function mg(A,I){var g="std::string"===(I=KI(I));kI(A,{name:I,fromWireType:function(A){var I,C=m[A>>2];if(g)for(var B=A+4,Q=0;Q<=C;++Q){var E=A+4+Q;if(Q==C||0==f[E]){var i=n(B,E-B);void 0===I?I=i:(I+=String.fromCharCode(0),I+=i),B=E+1}}else{var D=new Array(C);for(Q=0;Q>2]=B,g&&C)e(I,Q+4,B+1);else if(C)for(var E=0;E255&&(uC(Q),MI("String has UTF-16 code units that do not fit in 8 bits")),f[Q+4+E]=i}else for(E=0;E>2],E=Q(),D=A+4,o=0;o<=B;++o){var G=A+4+o*I;if(o==B||0==E[G>>i]){var w=C(D,G-D);void 0===g?g=w:(g+=String.fromCharCode(0),g+=w),D=G+I}}return uC(A),g},toWireType:function(A,C){"string"!=typeof C&&MI("Cannot pass non-string to C++ string type "+g);var Q=E(C),D=OC(4+Q+I);return m[D>>2]=Q>>i,B(C,D+4,Q+I),null!==A&&A.push(uC,D),D},argPackAdvance:8,readValueFromPointer:II,destructorFunction:function(A){uC(A)}})}function Xg(A,I,g,C,B,Q){$A[A]={name:KI(I),rawConstructor:Ng(g,C),rawDestructor:Ng(B,Q),elements:[]}}function Og(A,I,g,C,B,Q,E,i,D){$A[A].elements.push({getterReturnType:I,getter:Ng(g,C),getterContext:B,setterArgumentType:Q,setter:Ng(E,i),setterContext:D})}function ug(A,I,g,C,B,Q){NI[A]={name:KI(I),rawConstructor:Ng(g,C),rawDestructor:Ng(B,Q),fields:[]}}function jg(A,I,g,C,B,Q,E,i,D,o){NI[A].fields.push({fieldName:KI(I),getterReturnType:g,getter:Ng(C,B),getterContext:Q,setterArgumentType:E,setter:Ng(i,D),setterContext:o})}function Pg(A,I){kI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}var zg={};function vg(A){var I=zg[A];return void 0===I?KI(A):I}var _g=[];function $g(A){return A||MI("Cannot use deleted val. handle = "+A),qg[A].value}function AC(A,I,g,C){(A=_g[A])(I=$g(I),g=vg(g),null,C)}function IC(A){var I=_g.length;return _g.push(A),I}function gC(A,I){var g=CI[A];return void 0===g&&MI(I+" has unknown type "+ag(A)),g}function CC(A,I){for(var g=new Array(A),C=0;C>2)+C],"parameter "+C);return g}function BC(A,I){for(var g=CC(A,I),C=g[0],B=C.name+"_$"+g.slice(1).map((function(A){return A.name})).join("_")+"$",Q=["retType"],E=[C],i="",D=0;D4&&(qg[A].refcount+=1)}function EC(){return lg([])}function iC(A){return lg(vg(A))}function DC(A,I,g){A=$g(A),I=$g(I),g=$g(g),A[I]=g}function oC(A,I){return lg((A=gC(A,"_emval_take_value")).readValueFromPointer(I))}function GC(){KA()}var wC=!0;function FC(A,I){var g;if(0===A)g=Date.now();else{if(1!==A&&4!==A||!wC)return ZA(28),-1;g=LA()}return T[I>>2]=g/1e3|0,T[I+4>>2]=g%1e3*1e3*1e3|0,0}function RC(A,I,g){f.copyWithin(A,I,I+g)}function NC(){return f.length}function hC(A){try{return L.grow(A-V.byteLength+65535>>>16),gA(L.buffer),1}catch(A){}}function aC(A){A>>>=0;var I=NC(),g=1073741824;if(A>g)return!1;for(var C=1;C<=4;C*=2){var B=I*(1+.2/C);if(B=Math.min(B,A+100663296),hC(Math.min(g,IA(Math.max(16777216,A,B),65536))))return!0}return!1}var sC={};function yC(){return o||"./this.program"}function KC(){if(!KC.strings){var A={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:yC()};for(var I in sC)A[I]=sC[I];var g=[];for(var I in A)g.push(I+"="+A[I]);KC.strings=g}return KC.strings}function UC(A,I){try{var g=0;return KC().forEach((function(C,B){var Q=I+g;T[A+4*B>>2]=Q,AA(C,Q),g+=C.length+1})),0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function MC(A,I){try{var g=KC();T[A>>2]=g.length;var C=0;return g.forEach((function(A){C+=A.length+1})),T[I>>2]=C,0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function kC(A){try{var I=PA.getStreamFromFD(A);return jA.close(I),0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function SC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doReadv(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function JC(A,I,g,C,B){try{var Q=PA.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(jA.llseek(Q,E,C),cA=[Q.position>>>0,(YA=Q.position,+Math.abs(YA)>=1?YA>0?(0|Math.min(+Math.floor(YA/4294967296),4294967295))>>>0:~~+Math.ceil((YA-+(~~YA>>>0))/4294967296)>>>0:0)],T[B>>2]=cA[0],T[B+4>>2]=cA[1],Q.getdents&&0===E&&0===C&&(Q.getdents=null),0)}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function YC(A,I,g,C){try{var B=PA.getStreamFromFD(A),Q=PA.doWritev(B,I,g);return T[C>>2]=Q,0}catch(A){return void 0!==jA&&A instanceof jA.ErrnoError||KA(A),A.errno}}function cC(A){H(0|A)}function LC(A){return A%4==0&&(A%100!=0||A%400==0)}function HC(A,I){for(var g=0,C=0;C<=I;g+=A[C++]);return g}var qC=[31,29,31,30,31,30,31,31,30,31,30,31],tC=[31,28,31,30,31,30,31,31,30,31,30,31];function rC(A,I){for(var g=new Date(A.getTime());I>0;){var C=LC(g.getFullYear()),B=g.getMonth(),Q=(C?qC:tC)[B];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),B<11?g.setMonth(B+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function dC(A,I,g,C){var B=T[C+40>>2],Q={tm_sec:T[C>>2],tm_min:T[C+4>>2],tm_hour:T[C+8>>2],tm_mday:T[C+12>>2],tm_mon:T[C+16>>2],tm_year:T[C+20>>2],tm_wday:T[C+24>>2],tm_yday:T[C+28>>2],tm_isdst:T[C+32>>2],tm_gmtoff:T[C+36>>2],tm_zone:B?n(B):""},E=n(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var D in i)E=E.replace(new RegExp(D,"g"),i[D]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],G=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var C="number"==typeof A?A.toString():A||"";C.length0?1:0}var C;return 0===(C=g(A.getFullYear()-I.getFullYear()))&&0===(C=g(A.getMonth()-I.getMonth()))&&(C=g(A.getDate()-I.getDate())),C}function N(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function h(A){var I=rC(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),C=new Date(I.getFullYear()+1,0,4),B=N(g),Q=N(C);return R(B,I)<=0?R(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var a={"%a":function(A){return o[A.tm_wday].substring(0,3)},"%A":function(A){return o[A.tm_wday]},"%b":function(A){return G[A.tm_mon].substring(0,3)},"%B":function(A){return G[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return h(A).toString().substring(2)},"%G":function(A){return h(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+HC(LC(A.tm_year+1900)?qC:tC,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:rC(I,7-I.getDay()),C=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(R(g,C)<0){var B=HC(LC(C.getFullYear())?qC:tC,C.getMonth()-1)-31,Q=31-g.getDate()+B+C.getDate();return F(Math.ceil(Q/7),2)}return 0===R(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),C=new Date(A.tm_year+1901,0,4),B=N(g),Q=N(C),E=rC(new Date(A.tm_year+1900,0,1),A.tm_yday);return R(E,B)<0?"53":R(Q,E)<=0?"01":(I=B.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var D in a)E.indexOf(D)>=0&&(E=E.replace(new RegExp(D,"g"),a[D](Q)));var s=xC(E,!1);return s.length>I?0:($(s,A),s.length-1)}function nC(A,I,g,C){return dC(A,I,g,C)}Q.requestFullscreen=function(A,I){lA.requestFullscreen(A,I)},Q.requestAnimationFrame=function(A){lA.requestAnimationFrame(A)},Q.setCanvasSize=function(A,I,g){lA.setCanvasSize(A,I,g)},Q.pauseMainLoop=function(){lA.mainLoop.pause()},Q.resumeMainLoop=function(){lA.mainLoop.resume()},Q.getUserMedia=function(){lA.getUserMedia()},Q.createContext=function(A,I,g,C){return lA.createContext(A,I,g,C)};var lC=function(A,I,g,C){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=jA.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=C},eC=365,bC=146;Object.defineProperties(lC.prototype,{read:{get:function(){return(this.mode&eC)===eC},set:function(A){A?this.mode|=eC:this.mode&=~eC}},write:{get:function(){return(this.mode&bC)===bC},set:function(A){A?this.mode|=bC:this.mode&=~bC}},isFolder:{get:function(){return jA.isDir(this.mode)}},isDevice:{get:function(){return jA.isChrdev(this.mode)}}}),jA.FSNode=lC,jA.staticInit(),Q.FS_createPath=jA.createPath,Q.FS_createDataFile=jA.createDataFile,Q.FS_createPreloadedFile=jA.createPreloadedFile,Q.FS_createLazyFile=jA.createLazyFile,Q.FS_createDevice=jA.createDevice,Q.FS_unlink=jA.unlink,GI=Q.InternalError=oI(Error,"InternalError"),sI(),UI=Q.BindingError=oI(Error,"BindingError"),fI(),Dg(),gg(),hg=Q.UnboundTypeError=oI(Error,"UnboundTypeError"),ng();var VC=!1;function xC(A,I,g){var C=g>0?g:b(A)+1,B=new Array(C),Q=l(A,B,0,B.length);return I&&(B.length=Q),B}function fC(A){for(var I=[],g=0;g255&&(VC&&t(!1,"Character code "+C+" ("+String.fromCharCode(C)+") at offset "+g+" not in 0x00-0xFF."),C&=255),I.push(String.fromCharCode(C))}return I.join("")}var WC="function"==typeof atob?atob:function(A){var I,g,C,B,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",D="",o=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(o++))<<2|(B=i.indexOf(A.charAt(o++)))>>4,g=(15&B)<<4|(Q=i.indexOf(A.charAt(o++)))>>2,C=(3&Q)<<6|(E=i.indexOf(A.charAt(o++))),D+=String.fromCharCode(I),64!==Q&&(D+=String.fromCharCode(g)),64!==E&&(D+=String.fromCharCode(C))}while(o0||(DA(),NA>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),I()}),1)):I()))}if(Q.___embind_register_native_and_builtin_types=function(){return(Q.___embind_register_native_and_builtin_types=Q.asm.__embind_register_native_and_builtin_types).apply(null,arguments)},Q._emscripten_main_thread_process_queued_calls=function(){return(Q._emscripten_main_thread_process_queued_calls=Q.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Q.stackSave=function(){return(Q.stackSave=Q.asm.stackSave).apply(null,arguments)},Q.stackRestore=function(){return(Q.stackRestore=Q.asm.stackRestore).apply(null,arguments)},Q.stackAlloc=function(){return(Q.stackAlloc=Q.asm.stackAlloc).apply(null,arguments)},Q._setThrew=function(){return(Q._setThrew=Q.asm.setThrew).apply(null,arguments)},Q.___cxa_demangle=function(){return(Q.___cxa_demangle=Q.asm.__cxa_demangle).apply(null,arguments)},Q.dynCall_viijii=function(){return(Q.dynCall_viijii=Q.asm.dynCall_viijii).apply(null,arguments)},Q.dynCall_ji=function(){return(Q.dynCall_ji=Q.asm.dynCall_ji).apply(null,arguments)},Q.dynCall_vij=function(){return(Q.dynCall_vij=Q.asm.dynCall_vij).apply(null,arguments)},Q.dynCall_jiji=function(){return(Q.dynCall_jiji=Q.asm.dynCall_jiji).apply(null,arguments)},Q.dynCall_iiiiij=function(){return(Q.dynCall_iiiiij=Q.asm.dynCall_iiiiij).apply(null,arguments)},Q.dynCall_iiiiijj=function(){return(Q.dynCall_iiiiijj=Q.asm.dynCall_iiiiijj).apply(null,arguments)},Q.dynCall_iiiiiijj=function(){return(Q.dynCall_iiiiiijj=Q.asm.dynCall_iiiiiijj).apply(null,arguments)},Q.addRunDependency=sA,Q.removeRunDependency=yA,Q.FS_createPath=jA.createPath,Q.FS_createDataFile=jA.createDataFile,Q.FS_createPreloadedFile=jA.createPreloadedFile,Q.FS_createLazyFile=jA.createLazyFile,Q.FS_createDevice=jA.createDevice,Q.FS_unlink=jA.unlink,aA=function A(){mC||vC(),mC||(aA=A)},Q.run=vC,Q.preInit)for("function"==typeof Q.preInit&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();function _C(A,I){this.start=void 0===A?0:A,this.end=void 0===I?0:I}function $C(A,I){this.x=void 0===A?0:A,this.y=void 0===I?0:I}function AB(A,I){this.width=void 0===A?0:A,this.height=void 0===I?0:I}function IB(){switch(arguments.length){case 0:this.x=0,this.y=0,this.width=0,this.height=0;break;case 1:var A=arguments[0];this.x=A.x,this.y=A.y,this.width=A.width,this.height=A.height;break;case 2:var I=arguments[0],g=arguments[1];this.x=I.x,this.y=I.y,this.width=g.width,this.height=g.height;break;case 4:this.x=arguments[0],this.y=arguments[1],this.width=arguments[2],this.height=arguments[3];break;default:throw new Error("Invalid arguments")}}function gB(){switch(arguments.length){case 0:this.center={x:0,y:0},this.size={width:0,height:0},this.angle=0;break;case 3:this.center=arguments[0],this.size=arguments[1],this.angle=arguments[2];break;default:throw new Error("Invalid arguments")}}function CB(A,I,g,C){this.push(void 0===A?0:A),this.push(void 0===I?0:I),this.push(void 0===g?0:g),this.push(void 0===C?0:C)}function BB(){switch(arguments.length){case 0:this.minVal=0,this.maxVal=0,this.minLoc=new $C,this.maxLoc=new $C;break;case 4:this.minVal=arguments[0],this.maxVal=arguments[1],this.minLoc=arguments[2],this.maxLoc=arguments[3];break;default:throw new Error("Invalid arguments")}}function QB(){switch(arguments.length){case 0:this.center=new $C,this.radius=0;break;case 2:this.center=arguments[0],this.radius=arguments[1];break;default:throw new Error("Invalid arguments")}}function EB(){switch(arguments.length){case 0:this.type=0,this.maxCount=0,this.epsilon=0;break;case 3:this.type=arguments[0],this.maxCount=arguments[1],this.epsilon=arguments[2];break;default:throw new Error("Invalid arguments")}}return vC(),void 0===Q.FS&&void 0!==jA&&(Q.FS=jA),Q.imread=function(I){var g,C=null,B=null;if((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLImageElement)(C=document.createElement("canvas")).width=g.width,C.height=g.height,(B=C.getContext("2d")).drawImage(g,0,0,g.width,g.height);else{if(!(g instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas or img id.");B=(C=g).getContext("2d")}var Q=B.getImageData(0,0,C.width,C.height);return A.matFromImageData(Q)},Q.imshow=function(I,g){var C=null;if(!((C="string"==typeof I?document.getElementById(I):I)instanceof HTMLCanvasElement))throw new Error("Please input the valid canvas element or id.");if(!(g instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");var B=new A.Mat,Q=g.type()%8,E=Q<=A.CV_8S?1:Q<=A.CV_32S?1/256:255,i=Q===A.CV_8S||Q===A.CV_16S?128:0;switch(g.convertTo(B,A.CV_8U,E,i),B.type()){case A.CV_8UC1:A.cvtColor(B,B,A.COLOR_GRAY2RGBA);break;case A.CV_8UC3:A.cvtColor(B,B,A.COLOR_RGB2RGBA);break;case A.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)")}var D=new ImageData(new Uint8ClampedArray(B.data),B.cols,B.rows),o=C.getContext("2d");o.clearRect(0,0,C.width,C.height),C.width=D.width,C.height=D.height,o.putImageData(D,0,0),B.delete()},Q.VideoCapture=function(I){var g;if(!((g="string"==typeof I?document.getElementById(I):I)instanceof HTMLVideoElement))throw new Error("Please input the valid video element or id.");var C=document.createElement("canvas");C.width=g.width,C.height=g.height;var B=C.getContext("2d");this.video=g,this.read=function(I){if(!(I instanceof A.Mat))throw new Error("Please input the valid cv.Mat instance.");if(I.type()!==A.CV_8UC4)throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");if(I.cols!==g.width||I.rows!==g.height)throw new Error("Bad size of input mat: the size should be same as the video.");B.drawImage(g,0,0,g.width,g.height),I.data.set(B.getImageData(0,0,g.width,g.height).data)}},Q.Range=_C,Q.Point=$C,Q.Size=AB,Q.Rect=IB,gB.points=function(A){return Q.rotatedRectPoints(A)},gB.boundingRect=function(A){return Q.rotatedRectBoundingRect(A)},gB.boundingRect2f=function(A){return Q.rotatedRectBoundingRect2f(A)},Q.RotatedRect=gB,CB.prototype=new Array,CB.all=function(A){return new CB(A,A,A,A)},Q.Scalar=CB,Q.MinMaxLoc=BB,Q.Circle=QB,Q.TermCriteria=EB,Q.matFromArray=function(I,g,C,B){var Q=new A.Mat(I,g,C);switch(C){case A.CV_8U:case A.CV_8UC1:case A.CV_8UC2:case A.CV_8UC3:case A.CV_8UC4:Q.data.set(B);break;case A.CV_8S:case A.CV_8SC1:case A.CV_8SC2:case A.CV_8SC3:case A.CV_8SC4:Q.data8S.set(B);break;case A.CV_16U:case A.CV_16UC1:case A.CV_16UC2:case A.CV_16UC3:case A.CV_16UC4:Q.data16U.set(B);break;case A.CV_16S:case A.CV_16SC1:case A.CV_16SC2:case A.CV_16SC3:case A.CV_16SC4:Q.data16S.set(B);break;case A.CV_32S:case A.CV_32SC1:case A.CV_32SC2:case A.CV_32SC3:case A.CV_32SC4:Q.data32S.set(B);break;case A.CV_32F:case A.CV_32FC1:case A.CV_32FC2:case A.CV_32FC3:case A.CV_32FC4:Q.data32F.set(B);break;case A.CV_64F:case A.CV_64FC1:case A.CV_64FC2:case A.CV_64FC3:case A.CV_64FC4:Q.data64F.set(B);break;default:throw new Error("Type is unsupported")}return Q},Q.matFromImageData=function(I){var g=new A.Mat(I.height,I.width,A.CV_8UC4);return g.data.set(I.data),g},A.ready},A.exports=C,"undefined"==typeof Module&&(Module={}),C(Module));var I,C}.call(I,g,I,A),void 0===C||(A.exports=C)},2749:(A,I,g)=>{g(4412);const C=g(9894).Z,B=g(7676).Z,Q=g(2810).Z;A.exports={UI:class{constructor({uiLoading:A,uiScanning:I,uiError:g}){"yes"===A?this.loadingModal=this._loadHTML(C):"no"!==A&&(this.loadingModal=document.querySelector(A)),"yes"===g?this.compatibilityModal=this._loadHTML(B):"no"!==g&&(this.compatibilityModal=document.querySelector(g)),"yes"===I?this.scanningMask=this._loadHTML(Q):"no"!==I&&(this.scanningMask=document.querySelector(I)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(A){const I=document.createElement("template");I.innerHTML=A.trim();const g=I.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(g),g}}}},3906:()=>{},2993:()=>{},1386:()=>{}},I={};function g(C){if(I[C])return I[C].exports;var B=I[C]={id:C,exports:{}};return A[C].call(B.exports,B,B.exports,g),B.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var C in I)g.o(I,C)&&!g.o(A,C)&&Object.defineProperty(A,C,{enumerable:!0,get:I[C]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I),g.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},g(7297)})(); \ No newline at end of file diff --git a/dist/mindar-image-three.prod.js b/dist/mindar-image-three.prod.js index 8f9031d6..e78c9e41 100644 --- a/dist/mindar-image-three.prod.js +++ b/dist/mindar-image-three.prod.js @@ -1,2 +1,2 @@ /*! For license information please see mindar-image-three.prod.js.LICENSE.txt */ -(()=>{var t={1113:function(t){t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var s=e[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(r,s,function(e){return t[e]}.bind(null,s));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e),n.d(e,"encode",(function(){return I})),n.d(e,"decode",(function(){return V})),n.d(e,"decodeAsync",(function(){return X})),n.d(e,"decodeArrayStream",(function(){return K})),n.d(e,"decodeStream",(function(){return Y})),n.d(e,"Decoder",(function(){return B})),n.d(e,"Encoder",(function(){return k})),n.d(e,"ExtensionCodec",(function(){return T})),n.d(e,"ExtData",(function(){return p})),n.d(e,"EXT_TIMESTAMP",(function(){return g})),n.d(e,"encodeDateToTimeSpec",(function(){return x})),n.d(e,"encodeTimeSpecToTimestamp",(function(){return y})),n.d(e,"decodeTimestampToTimeSpec",(function(){return v})),n.d(e,"encodeTimestampExtension",(function(){return b})),n.d(e,"decodeTimestampExtension",(function(){return w}));var r=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,s,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(t){s={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}return a},s=function(){for(var t=[],e=0;e=55296&&s<=56319&&r65535&&(h-=65536,a.push(h>>>10&1023|55296),h=56320|1023&h),a.push(h)}else a.push(l);a.length>=4096&&(o+=String.fromCharCode.apply(String,s(a)),a.length=0)}return a.length>0&&(o+=String.fromCharCode.apply(String,s(a))),o}var h=i?new TextDecoder:null,d="undefined"!=typeof process?200:0,p=function(t,e){this.type=t,this.data=e};function f(t,e,n){var r=Math.floor(n/4294967296),s=n;t.setUint32(e,r),t.setUint32(e+4,s)}function m(t,e){return 4294967296*t.getInt32(e)+t.getUint32(e+4)}var g=-1;function y(t){var e,n=t.sec,r=t.nsec;if(n>=0&&r>=0&&n<=17179869183){if(0===r&&n<=4294967295){var s=new Uint8Array(4);return(e=new DataView(s.buffer)).setUint32(0,n),s}var i=n/4294967296,a=4294967295&n;return s=new Uint8Array(8),(e=new DataView(s.buffer)).setUint32(0,r<<2|3&i),e.setUint32(4,a),s}return s=new Uint8Array(12),(e=new DataView(s.buffer)).setUint32(0,r),f(e,4,n),s}function x(t){var e=t.getTime(),n=Math.floor(e/1e3),r=1e6*(e-1e3*n),s=Math.floor(r/1e9);return{sec:n+s,nsec:r-1e9*s}}function b(t){return t instanceof Date?y(x(t)):null}function v(t){var e=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t.byteLength){case 4:return{sec:e.getUint32(0),nsec:0};case 8:var n=e.getUint32(0);return{sec:4294967296*(3&n)+e.getUint32(4),nsec:n>>>2};case 12:return{sec:m(e,4),nsec:e.getUint32(0)};default:throw new Error("Unrecognized data size for timestamp: "+t.length)}}function w(t){var e=v(t);return new Date(1e3*e.sec+e.nsec/1e6)}var S={type:g,encode:b,decode:w},T=function(){function t(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(S)}return t.prototype.register=function(t){var e=t.type,n=t.encode,r=t.decode;if(e>=0)this.encoders[e]=n,this.decoders[e]=r;else{var s=1+e;this.builtInEncoders[s]=n,this.builtInDecoders[s]=r}},t.prototype.tryToEncode=function(t,e){for(var n=0;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},k=function(){function t(t,e,n,r,s,i,a){void 0===t&&(t=T.defaultCodec),void 0===n&&(n=100),void 0===r&&(r=2048),void 0===s&&(s=!1),void 0===i&&(i=!1),void 0===a&&(a=!1),this.extensionCodec=t,this.context=e,this.maxDepth=n,this.initialBufferSize=r,this.sortKeys=s,this.forceFloat32=i,this.ignoreUndefined=a,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}return t.prototype.encode=function(t,e){if(e>this.maxDepth)throw new Error("Too deep objects in depth "+e);null==t?this.encodeNil():"boolean"==typeof t?this.encodeBoolean(t):"number"==typeof t?this.encodeNumber(t):"string"==typeof t?this.encodeString(t):this.encodeObject(t,e)},t.prototype.getUint8Array=function(){return this.bytes.subarray(0,this.pos)},t.prototype.ensureBufferSizeToWrite=function(t){var e=this.pos+t;this.view.byteLength=0?t<128?this.writeU8(t):t<256?(this.writeU8(204),this.writeU8(t)):t<65536?(this.writeU8(205),this.writeU16(t)):t<4294967296?(this.writeU8(206),this.writeU32(t)):(this.writeU8(207),this.writeU64(t)):t>=-32?this.writeU8(224|t+32):t>=-128?(this.writeU8(208),this.writeI8(t)):t>=-32768?(this.writeU8(209),this.writeI16(t)):t>=-2147483648?(this.writeU8(210),this.writeI32(t)):(this.writeU8(211),this.writeI64(t)):this.forceFloat32?(this.writeU8(202),this.writeF32(t)):(this.writeU8(203),this.writeF64(t))},t.prototype.writeStringHeader=function(t){if(t<32)this.writeU8(160+t);else if(t<256)this.writeU8(217),this.writeU8(t);else if(t<65536)this.writeU8(218),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too long string: "+t+" bytes in UTF-8");this.writeU8(219),this.writeU32(t)}},t.prototype.encodeString=function(t){var e=t.length;if(i&&e>l){var n=a(t);this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),u(t,this.bytes,this.pos),this.pos+=n}else n=a(t),this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),function(t,e,n){for(var r=t.length,s=n,i=0;i>6&31|192;else{if(a>=55296&&a<=56319&&i>12&15|224,e[s++]=a>>6&63|128):(e[s++]=a>>18&7|240,e[s++]=a>>12&63|128,e[s++]=a>>6&63|128)}e[s++]=63&a|128}else e[s++]=a}}(t,this.bytes,this.pos),this.pos+=n},t.prototype.encodeObject=function(t,e){var n=this.extensionCodec.tryToEncode(t,this.context);if(null!=n)this.encodeExtension(n);else if(Array.isArray(t))this.encodeArray(t,e);else if(ArrayBuffer.isView(t))this.encodeBinary(t);else{if("object"!=typeof t)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(t));this.encodeMap(t,e)}},t.prototype.encodeBinary=function(t){var e=t.byteLength;if(e<256)this.writeU8(196),this.writeU8(e);else if(e<65536)this.writeU8(197),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large binary: "+e);this.writeU8(198),this.writeU32(e)}var n=_(t);this.writeU8a(n)},t.prototype.encodeArray=function(t,e){var n,r,s=t.length;if(s<16)this.writeU8(144+s);else if(s<65536)this.writeU8(220),this.writeU16(s);else{if(!(s<4294967296))throw new Error("Too large array: "+s);this.writeU8(221),this.writeU32(s)}try{for(var i=M(t),a=i.next();!a.done;a=i.next()){var o=a.value;this.encode(o,e+1)}}catch(t){n={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},t.prototype.countWithoutUndefined=function(t,e){var n,r,s=0;try{for(var i=M(e),a=i.next();!a.done;a=i.next())void 0!==t[a.value]&&s++}catch(t){n={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return s},t.prototype.encodeMap=function(t,e){var n,r,s=Object.keys(t);this.sortKeys&&s.sort();var i=this.ignoreUndefined?this.countWithoutUndefined(t,s):s.length;if(i<16)this.writeU8(128+i);else if(i<65536)this.writeU8(222),this.writeU16(i);else{if(!(i<4294967296))throw new Error("Too large map object: "+i);this.writeU8(223),this.writeU32(i)}try{for(var a=M(s),o=a.next();!o.done;o=a.next()){var l=o.value,u=t[l];this.ignoreUndefined&&void 0===u||(this.encodeString(l),this.encode(u,e+1))}}catch(t){n={error:t}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}},t.prototype.encodeExtension=function(t){var e=t.data.length;if(1===e)this.writeU8(212);else if(2===e)this.writeU8(213);else if(4===e)this.writeU8(214);else if(8===e)this.writeU8(215);else if(16===e)this.writeU8(216);else if(e<256)this.writeU8(199),this.writeU8(e);else if(e<65536)this.writeU8(200),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large extension object: "+e);this.writeU8(201),this.writeU32(e)}this.writeI8(t.type),this.writeU8a(t.data)},t.prototype.writeU8=function(t){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,t),this.pos++},t.prototype.writeU8a=function(t){var e=t.length;this.ensureBufferSizeToWrite(e),this.bytes.set(t,this.pos),this.pos+=e},t.prototype.writeI8=function(t){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,t),this.pos++},t.prototype.writeU16=function(t){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,t),this.pos+=2},t.prototype.writeI16=function(t){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,t),this.pos+=2},t.prototype.writeU32=function(t){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,t),this.pos+=4},t.prototype.writeI32=function(t){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,t),this.pos+=4},t.prototype.writeF32=function(t){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,t),this.pos+=4},t.prototype.writeF64=function(t){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,t),this.pos+=8},t.prototype.writeU64=function(t){this.ensureBufferSizeToWrite(8),function(t,e,n){var r=n/4294967296,s=n;t.setUint32(e,r),t.setUint32(e+4,s)}(this.view,this.pos,t),this.pos+=8},t.prototype.writeI64=function(t){this.ensureBufferSizeToWrite(8),f(this.view,this.pos,t),this.pos+=8},t}(),E={};function I(t,e){void 0===e&&(e=E);var n=new k(e.extensionCodec,e.context,e.maxDepth,e.initialBufferSize,e.sortKeys,e.forceFloat32,e.ignoreUndefined);return n.encode(t,1),n.getUint8Array()}function C(t){return(t<0?"-":"")+"0x"+Math.abs(t).toString(16).padStart(2,"0")}var N=function(){function t(t,e){void 0===t&&(t=16),void 0===e&&(e=16),this.maxKeyLength=t,this.maxLengthPerKey=e,this.caches=[];for(var n=0;n0&&t<=this.maxKeyLength},t.prototype.get=function(t,e,n){var r=this.caches[n-1],s=r.length;t:for(var i=0;i=this.maxLengthPerKey?n[Math.random()*n.length|0]=r:n.push(r)},t.prototype.decode=function(t,e,n){var r=this.get(t,e,n);if(null!=r)return r;var s=c(t,e,n),i=Uint8Array.prototype.slice.call(t,e,e+n);return this.store(i,s),s},t}(),A=function(t,e){var n,r,s,i,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((s=(s=a.trys).length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]1||o(t,e)}))})}function o(t,e){try{(n=s[t](e)).value instanceof D?Promise.resolve(n.value.v).then(l,u):c(i[0][2],n)}catch(t){c(i[0][3],t)}var n}function l(t){o("next",t)}function u(t){o("throw",t)}function c(t,e){t(e),i.shift(),i.length&&o(i[0][0],i[0][1])}},F=new DataView(new ArrayBuffer(0)),$=new Uint8Array(F.buffer),O=function(){try{F.getInt8(0)}catch(t){return t.constructor}throw new Error("never reached")}(),P=new O("Insufficient data"),z=new N,B=function(){function t(t,e,n,r,s,i,a,o){void 0===t&&(t=T.defaultCodec),void 0===n&&(n=4294967295),void 0===r&&(r=4294967295),void 0===s&&(s=4294967295),void 0===i&&(i=4294967295),void 0===a&&(a=4294967295),void 0===o&&(o=z),this.extensionCodec=t,this.context=e,this.maxStrLength=n,this.maxBinLength=r,this.maxArrayLength=s,this.maxMapLength=i,this.maxExtLength=a,this.cachedKeyDecoder=o,this.totalPos=0,this.pos=0,this.view=F,this.bytes=$,this.headByte=-1,this.stack=[]}return t.prototype.setBuffer=function(t){this.bytes=_(t),this.view=function(t){if(t instanceof ArrayBuffer)return new DataView(t);var e=_(t);return new DataView(e.buffer,e.byteOffset,e.byteLength)}(this.bytes),this.pos=0},t.prototype.appendBuffer=function(t){if(-1!==this.headByte||this.hasRemaining()){var e=this.bytes.subarray(this.pos),n=_(t),r=new Uint8Array(e.length+n.length);r.set(e),r.set(n,e.length),this.setBuffer(r)}else this.setBuffer(t)},t.prototype.hasRemaining=function(t){return void 0===t&&(t=1),this.view.byteLength-this.pos>=t},t.prototype.createNoExtraBytesError=function(t){var e=this.view,n=this.pos;return new RangeError("Extra "+(e.byteLength-n)+" byte(s) found at buffer["+t+"]")},t.prototype.decodeSingleSync=function(){var t=this.decodeSync();if(this.hasRemaining())throw this.createNoExtraBytesError(this.pos);return t},t.prototype.decodeSingleAsync=function(t){var e,n,r,s;return function(t,e,n,r){return new(n||(n=Promise))((function(s,i){function a(t){try{l(r.next(t))}catch(t){i(t)}}function o(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,o)}l((r=r.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var i,a,o,l,u,c,h,d;return A(this,(function(p){switch(p.label){case 0:i=!1,p.label=1;case 1:p.trys.push([1,6,7,12]),e=R(t),p.label=2;case 2:return[4,e.next()];case 3:if((n=p.sent()).done)return[3,5];if(o=n.value,i)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(o);try{a=this.decodeSync(),i=!0}catch(t){if(!(t instanceof O))throw t}this.totalPos+=this.pos,p.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return l=p.sent(),r={error:l},[3,12];case 7:return p.trys.push([7,,10,11]),n&&!n.done&&(s=e.return)?[4,s.call(e)]:[3,9];case 8:p.sent(),p.label=9;case 9:return[3,11];case 10:if(r)throw r.error;return[7];case 11:return[7];case 12:if(i){if(this.hasRemaining())throw this.createNoExtraBytesError(this.totalPos);return[2,a]}throw c=(u=this).headByte,h=u.pos,d=u.totalPos,new RangeError("Insufficient data in parcing "+C(c)+" at "+d+" ("+h+" in the current buffer)")}}))}))},t.prototype.decodeArrayStream=function(t){return this.decodeMultiAsync(t,!0)},t.prototype.decodeStream=function(t){return this.decodeMultiAsync(t,!1)},t.prototype.decodeMultiAsync=function(t,e){return L(this,arguments,(function(){var n,r,s,i,a,o,l,u,c;return A(this,(function(h){switch(h.label){case 0:n=e,r=-1,h.label=1;case 1:h.trys.push([1,13,14,19]),s=R(t),h.label=2;case 2:return[4,D(s.next())];case 3:if((i=h.sent()).done)return[3,12];if(a=i.value,e&&0===r)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(a),n&&(r=this.readArraySize(),n=!1,this.complete()),h.label=4;case 4:h.trys.push([4,9,,10]),h.label=5;case 5:return[4,D(this.decodeSync())];case 6:return[4,h.sent()];case 7:return h.sent(),0==--r?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((o=h.sent())instanceof O))throw o;return[3,10];case 10:this.totalPos+=this.pos,h.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return l=h.sent(),u={error:l},[3,19];case 14:return h.trys.push([14,,17,18]),i&&!i.done&&(c=s.return)?[4,D(c.call(s))]:[3,16];case 15:h.sent(),h.label=16;case 16:return[3,18];case 17:if(u)throw u.error;return[7];case 18:return[7];case 19:return[2]}}))}))},t.prototype.decodeSync=function(){t:for(;;){var t=this.readHeadByte(),e=void 0;if(t>=224)e=t-256;else if(t<192)if(t<128)e=t;else if(t<144){if(0!=(r=t-128)){this.pushMapState(r),this.complete();continue t}e={}}else if(t<160){if(0!=(r=t-144)){this.pushArrayState(r),this.complete();continue t}e=[]}else{var n=t-160;e=this.decodeUtf8String(n,0)}else if(192===t)e=null;else if(194===t)e=!1;else if(195===t)e=!0;else if(202===t)e=this.readF32();else if(203===t)e=this.readF64();else if(204===t)e=this.readU8();else if(205===t)e=this.readU16();else if(206===t)e=this.readU32();else if(207===t)e=this.readU64();else if(208===t)e=this.readI8();else if(209===t)e=this.readI16();else if(210===t)e=this.readI32();else if(211===t)e=this.readI64();else if(217===t)n=this.lookU8(),e=this.decodeUtf8String(n,1);else if(218===t)n=this.lookU16(),e=this.decodeUtf8String(n,2);else if(219===t)n=this.lookU32(),e=this.decodeUtf8String(n,4);else if(220===t){if(0!==(r=this.readU16())){this.pushArrayState(r),this.complete();continue t}e=[]}else if(221===t){if(0!==(r=this.readU32())){this.pushArrayState(r),this.complete();continue t}e=[]}else if(222===t){if(0!==(r=this.readU16())){this.pushMapState(r),this.complete();continue t}e={}}else if(223===t){if(0!==(r=this.readU32())){this.pushMapState(r),this.complete();continue t}e={}}else if(196===t){var r=this.lookU8();e=this.decodeBinary(r,1)}else if(197===t)r=this.lookU16(),e=this.decodeBinary(r,2);else if(198===t)r=this.lookU32(),e=this.decodeBinary(r,4);else if(212===t)e=this.decodeExtension(1,0);else if(213===t)e=this.decodeExtension(2,0);else if(214===t)e=this.decodeExtension(4,0);else if(215===t)e=this.decodeExtension(8,0);else if(216===t)e=this.decodeExtension(16,0);else if(199===t)r=this.lookU8(),e=this.decodeExtension(r,1);else if(200===t)r=this.lookU16(),e=this.decodeExtension(r,2);else{if(201!==t)throw new Error("Unrecognized type byte: "+C(t));r=this.lookU32(),e=this.decodeExtension(r,4)}this.complete();for(var s=this.stack;s.length>0;){var i=s[s.length-1];if(0===i.type){if(i.array[i.position]=e,i.position++,i.position!==i.size)continue t;s.pop(),e=i.array}else{if(1===i.type){if(void 0,"string"!=(a=typeof e)&&"number"!==a)throw new Error("The type of key must be string or number but "+typeof e);i.key=e,i.type=2;continue t}if(i.map[i.key]=e,i.readCount++,i.readCount!==i.size){i.key=null,i.type=1;continue t}s.pop(),e=i.map}}return e}var a},t.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=-1},t.prototype.readArraySize=function(){var t=this.readHeadByte();switch(t){case 220:return this.readU16();case 221:return this.readU32();default:if(t<160)return t-144;throw new Error("Unrecognized array type byte: "+C(t))}},t.prototype.pushMapState=function(t){if(t>this.maxMapLength)throw new Error("Max length exceeded: map length ("+t+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:t,key:null,readCount:0,map:{}})},t.prototype.pushArrayState=function(t){if(t>this.maxArrayLength)throw new Error("Max length exceeded: array length ("+t+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:t,array:new Array(t),position:0})},t.prototype.decodeUtf8String=function(t,e){var n;if(t>this.maxStrLength)throw new Error("Max length exceeded: UTF-8 byte length ("+t+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthd?function(t,e,n){var r=t.subarray(e,e+n);return h.decode(r)}(this.bytes,s,t):c(this.bytes,s,t),this.pos+=e+t,r},t.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},t.prototype.decodeBinary=function(t,e){if(t>this.maxBinLength)throw new Error("Max length exceeded: bin length ("+t+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(t+e))throw P;var n=this.pos+e,r=this.bytes.subarray(n,n+t);return this.pos+=e+t,r},t.prototype.decodeExtension=function(t,e){if(t>this.maxExtLength)throw new Error("Max length exceeded: ext length ("+t+") > maxExtLength ("+this.maxExtLength+")");var n=this.view.getInt8(this.pos+e),r=this.decodeBinary(t,e+1);return this.extensionCodec.decode(r,n,this.context)},t.prototype.lookU8=function(){return this.view.getUint8(this.pos)},t.prototype.lookU16=function(){return this.view.getUint16(this.pos)},t.prototype.lookU32=function(){return this.view.getUint32(this.pos)},t.prototype.readU8=function(){var t=this.view.getUint8(this.pos);return this.pos++,t},t.prototype.readI8=function(){var t=this.view.getInt8(this.pos);return this.pos++,t},t.prototype.readU16=function(){var t=this.view.getUint16(this.pos);return this.pos+=2,t},t.prototype.readI16=function(){var t=this.view.getInt16(this.pos);return this.pos+=2,t},t.prototype.readU32=function(){var t=this.view.getUint32(this.pos);return this.pos+=4,t},t.prototype.readI32=function(){var t=this.view.getInt32(this.pos);return this.pos+=4,t},t.prototype.readU64=function(){var t,e,n=(t=this.view,e=this.pos,4294967296*t.getUint32(e)+t.getUint32(e+4));return this.pos+=8,n},t.prototype.readI64=function(){var t=m(this.view,this.pos);return this.pos+=8,t},t.prototype.readF32=function(){var t=this.view.getFloat32(this.pos);return this.pos+=4,t},t.prototype.readF64=function(){var t=this.view.getFloat64(this.pos);return this.pos+=8,t},t}(),U={};function V(t,e){void 0===e&&(e=U);var n=new B(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength);return n.setBuffer(t),n.decodeSingleSync()}var W=function(t,e){var n,r,s,i,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((s=(s=a.trys).length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]1||o(t,e)}))})}function o(t,e){try{(n=s[t](e)).value instanceof H?Promise.resolve(n.value.v).then(l,u):c(i[0][2],n)}catch(t){c(i[0][3],t)}var n}function l(t){o("next",t)}function u(t){o("throw",t)}function c(t,e){t(e),i.shift(),i.length&&o(i[0][0],i[0][1])}};function j(t){if(null==t)throw new Error("Assertion Failure: value must not be null nor undefined")}function q(t){return null!=t[Symbol.asyncIterator]?t:function(t){return G(this,arguments,(function(){var e,n,r,s;return W(this,(function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,H(e.read())];case 3:return n=i.sent(),r=n.done,s=n.value,r?[4,H(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return j(s),[4,H(s)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}(t)}function X(t,e){return void 0===e&&(e=U),function(t,e,n,r){return new(n||(n=Promise))((function(s,i){function a(t){try{l(r.next(t))}catch(t){i(t)}}function o(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,o)}l((r=r.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var n;return function(t,e){var n,r,s,i,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((s=(s=a.trys).length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]{"use strict";n.r(e),n.d(e,{Abs:()=>Yt,Acos:()=>Jt,Acosh:()=>Zt,AdadeltaOptimizer:()=>_l,AdagradOptimizer:()=>kl,AdamOptimizer:()=>Cl,AdamaxOptimizer:()=>Rl,Add:()=>Qt,AddN:()=>te,All:()=>ee,Any:()=>ne,ArgMax:()=>re,ArgMin:()=>se,Asin:()=>ie,Asinh:()=>ae,Atan:()=>oe,Atan2:()=>ue,Atanh:()=>le,AvgPool:()=>ce,AvgPool3D:()=>de,AvgPool3DGrad:()=>pe,AvgPoolGrad:()=>he,BatchMatMul:()=>fe,BatchToSpaceND:()=>me,Bincount:()=>ge,BroadcastArgs:()=>xe,BroadcastTo:()=>ye,Callback:()=>xT,CallbackList:()=>xx,Cast:()=>be,Ceil:()=>ve,ClipByValue:()=>we,Complex:()=>Se,ComplexAbs:()=>Te,Concat:()=>_e,Conv2D:()=>Me,Conv2DBackpropFilter:()=>ke,Conv2DBackpropInput:()=>Ee,Conv3D:()=>Ie,Conv3DBackpropFilterV2:()=>Ce,Conv3DBackpropInputV2:()=>Ne,Cos:()=>Ae,Cosh:()=>Re,CropAndResize:()=>Le,Cumsum:()=>De,CustomCallback:()=>wx,DataStorage:()=>j,DenseBincount:()=>Fe,DepthToSpace:()=>$e,DepthwiseConv2dNative:()=>Oe,DepthwiseConv2dNativeBackpropFilter:()=>Pe,DepthwiseConv2dNativeBackpropInput:()=>ze,Diag:()=>Be,Dilation2D:()=>Ue,Dilation2DBackpropFilter:()=>We,Dilation2DBackpropInput:()=>Ve,ENV:()=>qt,EarlyStopping:()=>wT,Einsum:()=>Ge,Elu:()=>je,EluGrad:()=>qe,Environment:()=>Wt,Equal:()=>Ke,Erf:()=>Xe,Exp:()=>Ye,ExpandDims:()=>Je,Expm1:()=>Ze,FFT:()=>Qe,Fill:()=>tn,FlipLeftRight:()=>en,Floor:()=>nn,FloorDiv:()=>rn,FromPixels:()=>Jr,FusedBatchNorm:()=>sn,FusedConv2D:()=>ts,FusedDepthwiseConv2D:()=>es,GatherNd:()=>on,GatherV2:()=>an,GraphModel:()=>O_,Greater:()=>ln,GreaterEqual:()=>un,History:()=>vx,IFFT:()=>hn,Identity:()=>cn,Imag:()=>dn,InputSpec:()=>ix,IsFinite:()=>pn,IsInf:()=>fn,IsNan:()=>mn,KernelBackend:()=>q,LRN:()=>kn,LRNGrad:()=>En,LayerVariable:()=>nx,LayersModel:()=>kb,LeakyRelu:()=>gn,Less:()=>yn,LessEqual:()=>xn,LinSpace:()=>bn,Log:()=>vn,Log1p:()=>wn,LogSoftmax:()=>Mn,LogicalAnd:()=>Sn,LogicalNot:()=>Tn,LogicalOr:()=>_n,Max:()=>In,MaxPool:()=>Nn,MaxPool3D:()=>Rn,MaxPool3DGrad:()=>Dn,MaxPoolGrad:()=>An,MaxPoolWithArgmax:()=>Ln,Maximum:()=>Cn,Mean:()=>Fn,Min:()=>$n,Minimum:()=>On,MirrorPad:()=>Pn,Mod:()=>zn,MomentumOptimizer:()=>Ll,Multinomial:()=>Bn,Multiply:()=>Un,Neg:()=>Vn,NonMaxSuppressionV3:()=>Hn,NonMaxSuppressionV4:()=>Gn,NonMaxSuppressionV5:()=>jn,NotEqual:()=>Wn,OP_SCOPE_SUFFIX:()=>Mi,OneHot:()=>Xn,OnesLike:()=>qn,Optimizer:()=>Tl,OptimizerConstructors:()=>$l,Pack:()=>Kn,PadV2:()=>Yn,Pool:()=>Jn,Pow:()=>Zn,Prelu:()=>Qn,Prod:()=>tr,RMSPropOptimizer:()=>Fl,RNN:()=>Rv,Range:()=>er,Rank:()=>Ys,Real:()=>nr,RealDiv:()=>He,Reciprocal:()=>rr,Reduction:()=>op,Relu:()=>sr,Relu6:()=>cr,Reshape:()=>ir,ResizeBilinear:()=>lr,ResizeBilinearGrad:()=>ur,ResizeNearestNeighbor:()=>ar,ResizeNearestNeighborGrad:()=>or,Reverse:()=>hr,RotateWithOffset:()=>Zr,Round:()=>dr,Rsqrt:()=>pr,SGDOptimizer:()=>Dl,ScatterNd:()=>fr,Select:()=>mr,Selu:()=>gr,Sequential:()=>Cb,Sigmoid:()=>wr,Sign:()=>vr,Sin:()=>xr,Sinh:()=>br,Slice:()=>yr,Softmax:()=>Er,Softplus:()=>Sr,SpaceToBatchND:()=>Mr,SparseFillEmptyRows:()=>Ir,SparseReshape:()=>Cr,SparseSegmentMean:()=>Nr,SparseSegmentSum:()=>Ar,SparseToDense:()=>Rr,SplitV:()=>kr,Sqrt:()=>Tr,Square:()=>Lr,SquaredDifference:()=>Dr,Step:()=>Yr,StridedSlice:()=>Fr,StringNGrams:()=>$r,StringSplit:()=>Or,StringToHashBucketFast:()=>Pr,Sub:()=>zr,Sum:()=>_r,SymbolicTensor:()=>ax,Tan:()=>Br,Tanh:()=>Ur,Tensor:()=>qs,TensorBuffer:()=>Ws,Tile:()=>Vr,TopK:()=>Wr,Transform:()=>Hr,Transpose:()=>Gr,Unique:()=>jr,Unpack:()=>qr,UnsortedSegmentSum:()=>Xr,Variable:()=>Ks,ZerosLike:()=>Kr,_FusedMatMul:()=>Qr,abs:()=>Nl,acos:()=>Ol,acosh:()=>Pl,add:()=>ll,addN:()=>zl,all:()=>Bl,any:()=>Ul,argMax:()=>Vl,argMin:()=>Wl,asin:()=>Hl,asinh:()=>Gl,atan:()=>jl,atan2:()=>ql,atanh:()=>Xl,avgPool:()=>cu,avgPool3d:()=>hu,backend:()=>al,backend_util:()=>y,basicLSTMCell:()=>gu,batchNorm:()=>xu,batchNorm2d:()=>bu,batchNorm3d:()=>vu,batchNorm4d:()=>wu,batchToSpaceND:()=>yu,bincount:()=>Su,booleanMaskAsync:()=>hd,broadcastArgs:()=>Tu,broadcastTo:()=>_u,broadcast_util:()=>l,browser:()=>u,buffer:()=>_a,callbacks:()=>ST,cast:()=>Ma,ceil:()=>Mu,clipByValue:()=>ku,clone:()=>ka,complex:()=>Ei,concat:()=>du,concat1d:()=>Eu,concat2d:()=>Iu,concat3d:()=>Cu,concat4d:()=>Nu,constraints:()=>b,conv1d:()=>Ru,conv2d:()=>Au,conv2dTranspose:()=>Lu,conv3d:()=>Fu,conv3dTranspose:()=>Ou,copyRegisteredKernels:()=>ps,cos:()=>Pu,cosh:()=>zu,cosineWindow:()=>vd,cumsum:()=>Bu,customGrad:()=>vl,data:()=>H,denseBincount:()=>Uu,deprecationWarn:()=>Ho,depthToSpace:()=>Vu,depthwiseConv2d:()=>Wu,deregisterOp:()=>IT,device_util:()=>i,diag:()=>Hu,dilation2d:()=>Gu,disableDeprecationWarnings:()=>Wo,dispose:()=>Yo,disposeVariables:()=>Go,div:()=>cl,divNoNan:()=>Xu,dot:()=>Ku,dropout:()=>xd,einsum:()=>Yu,elu:()=>Ju,enableDebugMode:()=>Vo,enableProdMode:()=>Uo,enclosingPowerOfTwo:()=>bd,engine:()=>jo,env:()=>Gt,equal:()=>ju,erf:()=>Zu,exp:()=>Qu,expandDims:()=>tc,expm1:()=>ec,eye:()=>rc,fft:()=>Uh,fill:()=>Ml,findBackend:()=>rl,findBackendFactory:()=>sl,floor:()=>sc,floorDiv:()=>ul,fused:()=>m,gather:()=>ic,gatherND:()=>yd,gather_util:()=>c,getBackend:()=>el,getGradient:()=>os,getKernel:()=>as,getKernelsForBackend:()=>ls,grad:()=>ml,grads:()=>gl,greater:()=>ac,greaterEqual:()=>oc,ifft:()=>Vh,imag:()=>lc,image:()=>kp,inTopKAsync:()=>wd,initializers:()=>v,input:()=>Db,io:()=>a,irfft:()=>Wh,isFinite:()=>uc,isInf:()=>cc,isNaN:()=>hc,keep:()=>Jo,kernel_impls:()=>x,layers:()=>w,leakyRelu:()=>dc,less:()=>pc,lessEqual:()=>fc,linalg:()=>Ep,linspace:()=>mc,loadGraphModel:()=>P_,loadLayersModel:()=>Rb,localResponseNormalization:()=>gc,log:()=>yc,log1p:()=>xc,logSigmoid:()=>wc,logSoftmax:()=>_c,logSumExp:()=>Dc,logicalAnd:()=>Lc,logicalNot:()=>Fc,logicalOr:()=>$c,logicalXor:()=>Oc,losses:()=>Ip,matMul:()=>Ga,math:()=>o,max:()=>Sc,maxPool:()=>Pc,maxPool3d:()=>zc,maxPoolWithArgmax:()=>Bc,maximum:()=>Al,mean:()=>Uc,memory:()=>qo,meshgrid:()=>Hc,metrics:()=>S,min:()=>Gc,minimum:()=>jc,mirrorPad:()=>qc,mod:()=>Xc,model:()=>Nb,models:()=>T,moments:()=>Kc,movingAverage:()=>fd,mul:()=>hl,multiRNNCell:()=>Yc,multinomial:()=>Jc,neg:()=>bc,nextFrame:()=>Dp,norm:()=>pd,notEqual:()=>Zc,oneHot:()=>ja,ones:()=>Wc,onesLike:()=>Qc,op:()=>ki,outerProduct:()=>th,pad:()=>eh,pad1d:()=>nh,pad2d:()=>rh,pad3d:()=>sh,pad4d:()=>ih,pool:()=>oh,pow:()=>El,prelu:()=>lh,print:()=>Ea,prod:()=>uh,profile:()=>Xo,rand:()=>ch,randomGamma:()=>mh,randomNormal:()=>gh,randomUniform:()=>yh,range:()=>xh,ready:()=>tl,real:()=>bh,reciprocal:()=>vh,registerBackend:()=>il,registerCallbackConstructor:()=>Lb,registerGradient:()=>cs,registerKernel:()=>us,registerOp:()=>kT,regularizers:()=>_,relu:()=>wh,relu6:()=>Sh,removeBackend:()=>nl,reshape:()=>uu,reverse:()=>Th,reverse1d:()=>_h,reverse2d:()=>Mh,reverse3d:()=>kh,reverse4d:()=>Eh,rfft:()=>Gh,round:()=>Ih,rsqrt:()=>Ch,scalar:()=>Sl,scatterND:()=>md,scatter_util:()=>h,selu:()=>Nh,separableConv2d:()=>Ah,sequential:()=>Ab,serialization:()=>p,setBackend:()=>Qo,setPlatform:()=>ol,setdiff1dAsync:()=>Rh,sigmoid:()=>pu,sign:()=>Dh,signal:()=>Mp,sin:()=>Lh,sinh:()=>Fh,slice:()=>fu,slice1d:()=>$h,slice2d:()=>Oh,slice3d:()=>Ph,slice4d:()=>zh,slice_util:()=>d,softmax:()=>Bh,softplus:()=>vc,spaceToBatchND:()=>ah,sparse:()=>Cp,sparseToDense:()=>gd,spectral:()=>_p,split:()=>Hh,sqrt:()=>dl,square:()=>pl,squaredDifference:()=>jh,squeeze:()=>qh,stack:()=>Xh,step:()=>Kh,stridedSlice:()=>Yh,string:()=>Np,sub:()=>Il,sum:()=>Tc,sumOutType:()=>ri,tan:()=>Jh,tanh:()=>mu,tensor:()=>Ci,tensor1d:()=>Zh,tensor2d:()=>Qh,tensor3d:()=>Za,tensor4d:()=>td,tensor5d:()=>ed,tensor6d:()=>nd,tensor_util:()=>s,test_util:()=>f,tidy:()=>Ko,tile:()=>nc,time:()=>Zo,topk:()=>rd,train:()=>Ap,transpose:()=>qa,truncatedNormal:()=>sd,unique:()=>id,unregisterGradient:()=>ds,unregisterKernel:()=>hs,unsortedSegmentSum:()=>ad,unstack:()=>od,upcastType:()=>ni,util:()=>r,valueAndGrad:()=>yl,valueAndGrads:()=>xl,variable:()=>ld,variableGrads:()=>bl,version:()=>FB,version_converter:()=>z_,version_core:()=>Bo,version_layers:()=>eb,where:()=>qu,whereAsync:()=>cd,zeros:()=>Vc,zerosLike:()=>fl});var r={};n.r(r),n.d(r,{arraysEqual:()=>ut,assert:()=>rt,assertNonNegativeIntegerDimensions:()=>zt,assertNonNull:()=>it,assertShapesMatch:()=>st,bytesFromStringArray:()=>kt,bytesPerElement:()=>Mt,checkConversionForErrors:()=>wt,clamp:()=>J,computeStrides:()=>Dt,createScalarValue:()=>Cs,createShuffledIndices:()=>pt,decodeString:()=>Ls,distSquared:()=>nt,encodeString:()=>Ds,fetch:()=>Rs,fingerPrint64:()=>Is,flatten:()=>at,getArrayFromDType:()=>vt,getTypedArrayFromDType:()=>bt,hasEncodingLoss:()=>Tt,hexToLong:()=>ys,indexToLoc:()=>Ut,inferDtype:()=>Nt,inferFromImplicitShape:()=>gt,isBoolean:()=>It,isFunction:()=>At,isInt:()=>ct,isNumber:()=>Ct,isPromise:()=>Vt,isScalarShape:()=>lt,isString:()=>Et,isTypedArray:()=>_t,isValidDtype:()=>St,locToIndex:()=>Bt,makeOnesTypedArray:()=>$t,makeZerosNestedTypedArray:()=>Pt,makeZerosTypedArray:()=>Ot,nearestDivisor:()=>Rt,nearestLargerEven:()=>Z,now:()=>As,parseAxisParam:()=>yt,randUniform:()=>et,repeatedTry:()=>mt,rightPad:()=>ft,shuffle:()=>K,shuffleCombo:()=>Y,sizeFromShape:()=>ot,sizeToSquarishShape:()=>dt,squeezeShape:()=>xt,sum:()=>tt,swap:()=>Q,tanh:()=>ht,toNestedArray:()=>Ft,toTypedArray:()=>Ns});var s={};n.r(s),n.d(s,{assertTypesMatch:()=>ii,getTensorsInContainer:()=>oi,isTensorInList:()=>ai,makeTypesMatch:()=>si});var i={};n.r(i),n.d(i,{isBrowser:()=>xi,isMobile:()=>yi,mockIsMobile:()=>gi});var a={};n.r(a),n.d(a,{browserFiles:()=>Aa,browserHTTPRequest:()=>Ba,concatenateArrayBuffers:()=>$i,copyModel:()=>va,decodeWeights:()=>Ri,encodeWeights:()=>Ai,fromMemory:()=>Wa,getLoadHandlers:()=>ji,getModelArtifactsForJSON:()=>zi,getModelArtifactsInfoForJSON:()=>Bi,getSaveHandlers:()=>Gi,http:()=>za,isHTTPScheme:()=>Oa,listModels:()=>xa,loadWeights:()=>La,moveModel:()=>wa,registerLoadRouter:()=>Hi,registerSaveRouter:()=>Wi,removeModel:()=>ba,weightsLoaderFactory:()=>Fa,withSaveHandler:()=>Ha});var o={};n.r(o),n.d(o,{confusionMatrix:()=>Xa});var l={};n.r(l),n.d(l,{assertAndGetBroadcastShape:()=>Ja,getBroadcastDims:()=>Ka,getReductionAxes:()=>Ya});var u={};n.r(u),n.d(u,{fromPixels:()=>ro,fromPixelsAsync:()=>eo,toPixels:()=>no});var c={};n.r(c),n.d(c,{prepareAndValidate:()=>so});var h={};n.r(h),n.d(h,{calculateShapes:()=>oo,validateInput:()=>ao,validateUpdateShape:()=>io});var d={};n.r(d),n.d(d,{assertParamsValid:()=>lo,computeFlatOffset:()=>So,computeOutShape:()=>co,getNormalizedAxes:()=>mo,isSliceContinous:()=>wo,maskToAxes:()=>uo,parseSliceParams:()=>To,sliceInfo:()=>_o,startForAxis:()=>bo,startIndicesWithElidedDims:()=>go,stopForAxis:()=>vo,stopIndicesWithElidedDims:()=>yo,stridesForAxis:()=>xo,stridesWithElidedDims:()=>ho});var p={};n.r(p),n.d(p,{Serializable:()=>ko,SerializationMap:()=>Eo,registerClass:()=>Io});var f={};n.r(f),n.d(f,{TEST_EPSILON_FLOAT16:()=>Co,encodeStrings:()=>zo,expectArrayBuffersEqual:()=>Po,expectArraysClose:()=>No,expectArraysEqual:()=>Lo,expectNumbersClose:()=>Fo,expectPromiseToFail:()=>Do,expectValuesInRange:()=>Oo,testEpsilon:()=>Ao});var m={};n.r(m),n.d(m,{conv2d:()=>Ed,depthwiseConv2d:()=>Nd,matMul:()=>Ad});var g={};n.r(g),n.d(g,{collectGatherOpShapeInfo:()=>Cf,computeOutShape:()=>If,segOpComputeOptimalWindowSize:()=>Ef});var y={};n.r(y),n.d(y,{ERF_A1:()=>qp,ERF_A2:()=>Xp,ERF_A3:()=>Kp,ERF_A4:()=>Yp,ERF_A5:()=>Jp,ERF_P:()=>jp,PARALLELIZE_THRESHOLD:()=>$p,SELU_SCALE:()=>Gp,SELU_SCALEALPHA:()=>Hp,applyActivation:()=>Md,assertAndGetBroadcastShape:()=>Ja,assertAxesAreInnerMostDims:()=>Cc,assertParamsConsistent:()=>Lp,assignToTypedArray:()=>rf,axesAreInnerMostDims:()=>Mc,calculateShapes:()=>oo,checkEinsumDimSizes:()=>cf,checkPadOnDimRoundingMode:()=>lu,combineLocations:()=>kc,complexWithEvenIndex:()=>tf,complexWithOddIndex:()=>ef,computeConv2DInfo:()=>Zl,computeConv3DInfo:()=>Ql,computeDefaultPad:()=>tu,computeDilation2DInfo:()=>Kl,computeOptimalWindowSize:()=>Op,computeOutAndReduceShapes:()=>Ec,computeOutShape:()=>Fp,computePool2DInfo:()=>Yl,computePool3DInfo:()=>Jl,convertConv2DDataFormat:()=>ou,decodeEinsumEquation:()=>lf,eitherStridesOrDilationsAreOne:()=>au,expandShapeToKeepDim:()=>Ic,exponent:()=>af,exponents:()=>sf,fromStringArrayToUint8:()=>Af,fromUint8ToStringArray:()=>Nf,getAxesPermutation:()=>Nc,getBroadcastDims:()=>Ka,getComplexWithIndex:()=>nf,getEinsumComputePath:()=>hf,getEinsumPermutation:()=>uf,getFusedBiasGradient:()=>_d,getFusedDyActivation:()=>Td,getImageCenter:()=>Pp,getInnerMostAxes:()=>Rc,getPermuted:()=>Bp,getReductionAxes:()=>Ya,getReshaped:()=>zp,getReshapedPermuted:()=>Up,getSliceBeginCoords:()=>Vp,getSliceSize:()=>Wp,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>mf,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>gf,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>yf,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>vf,getSparseReshapeInputOutputMismatchErrorMessage:()=>Sf,getSparseReshapeInputOutputMultipleErrorMessage:()=>wf,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>xf,getSparseReshapeNegativeOutputDimErrorMessage:()=>bf,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>kf,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>Tf,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>_f,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>Mf,getUndoAxesPermutation:()=>Ac,isIdentityPermutation:()=>df,log:()=>rs,mergeRealAndImagArrays:()=>Zp,prepareAndValidate:()=>so,prepareSplitSize:()=>ff,segment_util:()=>g,shouldFuse:()=>kd,slice_util:()=>d,splitRealAndImagArrays:()=>Qp,tupleValuesAreOne:()=>iu,upcastType:()=>ni,validateInput:()=>ao,validateUpdateShape:()=>io,warn:()=>ns});var x={};n.r(x),n.d(x,{nonMaxSuppressionV3Impl:()=>Hd,nonMaxSuppressionV4Impl:()=>Gd,nonMaxSuppressionV5Impl:()=>jd,whereImpl:()=>ud});var b={};n.r(b),n.d(b,{maxNorm:()=>Mg,minMaxNorm:()=>Ig,nonNeg:()=>Eg,unitNorm:()=>kg});var v={};n.r(v),n.d(v,{constant:()=>Ly,glorotNormal:()=>Uy,glorotUniform:()=>By,heNormal:()=>Vy,heUniform:()=>Wy,identity:()=>Py,leCunNormal:()=>Hy,leCunUniform:()=>Gy,ones:()=>Dy,orthogonal:()=>jy,randomNormal:()=>$y,randomUniform:()=>Fy,truncatedNormal:()=>Oy,varianceScaling:()=>zy,zeros:()=>Ry});var w={};n.r(w),n.d(w,{Layer:()=>cx,RNN:()=>Rv,RNNCell:()=>Dv,activation:()=>Qw,add:()=>lS,alphaDropout:()=>ZS,average:()=>uS,averagePooling1d:()=>xS,averagePooling2d:()=>wS,averagePooling3d:()=>_S,avgPool1d:()=>bS,avgPool2d:()=>SS,avgPool3d:()=>MS,avgPooling1d:()=>vS,avgPooling2d:()=>TS,avgPooling3d:()=>kS,batchNormalization:()=>mS,bidirectional:()=>HS,concatenate:()=>cS,conv1d:()=>Hw,conv2d:()=>Gw,conv2dTranspose:()=>jw,conv3d:()=>qw,conv3dTranspose:()=>Xw,convLstm2d:()=>BS,convLstm2dCell:()=>US,cropping2D:()=>Yw,dense:()=>tS,depthwiseConv2d:()=>Zw,dot:()=>fS,dropout:()=>eS,elu:()=>Pw,embedding:()=>oS,flatten:()=>rS,gaussianDropout:()=>JS,gaussianNoise:()=>YS,globalAveragePooling1d:()=>ES,globalAveragePooling2d:()=>IS,globalMaxPool1d:()=>jS,globalMaxPool2d:()=>qS,globalMaxPooling1d:()=>CS,globalMaxPooling2d:()=>NS,gru:()=>LS,gruCell:()=>FS,input:()=>Db,inputLayer:()=>Ow,layerNormalization:()=>gS,leakyReLU:()=>Bw,lstm:()=>$S,lstmCell:()=>OS,masking:()=>QS,maxPool1d:()=>XS,maxPool2d:()=>KS,maxPooling1d:()=>AS,maxPooling2d:()=>RS,maxPooling3d:()=>DS,maximum:()=>hS,minimum:()=>dS,multiply:()=>pS,permute:()=>aS,prelu:()=>Uw,reLU:()=>zw,repeatVector:()=>sS,reshape:()=>iS,rnn:()=>VS,separableConv2d:()=>Kw,simpleRNN:()=>PS,simpleRNNCell:()=>zS,softmax:()=>Vw,spatialDropout1d:()=>nS,stackedRNNCells:()=>WS,thresholdedReLU:()=>Ww,timeDistributed:()=>GS,upSampling2d:()=>Jw,zeroPadding2d:()=>yS});var S={};n.r(S),n.d(S,{MAPE:()=>cT,MSE:()=>pT,binaryAccuracy:()=>tT,binaryCrossentropy:()=>eT,categoricalAccuracy:()=>rT,categoricalCrossentropy:()=>sT,cosineProximity:()=>oT,mape:()=>hT,meanAbsoluteError:()=>lT,meanAbsolutePercentageError:()=>uT,meanSquaredError:()=>dT,mse:()=>fT,precision:()=>iT,recall:()=>aT,sparseCategoricalAccuracy:()=>nT});var T={};n.r(T),n.d(T,{modelFromJSON:()=>Ib});var _={};n.r(_),n.d(_,{l1:()=>gT,l1l2:()=>mT,l2:()=>yT});var M={};n.r(M),n.d(M,{json:()=>$T});var k={};n.r(k),n.d(k,{json:()=>OT});var E={};n.r(E),n.d(E,{json:()=>PT});var I={};n.r(I),n.d(I,{json:()=>zT});var C={};n.r(C),n.d(C,{json:()=>BT});var N={};n.r(N),n.d(N,{json:()=>UT});var A={};n.r(A),n.d(A,{json:()=>VT});var R={};n.r(R),n.d(R,{json:()=>WT});var D={};n.r(D),n.d(D,{json:()=>HT});var L={};n.r(L),n.d(L,{json:()=>GT});var F={};n.r(F),n.d(F,{json:()=>jT});var $={};n.r($),n.d($,{json:()=>qT});var O={};n.r(O),n.d(O,{json:()=>XT});var P={};n.r(P),n.d(P,{json:()=>KT});var z={};n.r(z),n.d(z,{json:()=>YT});var B={};n.r(B),n.d(B,{json:()=>JT});var U={};n.r(U),n.d(U,{json:()=>ZT});var V={};n.r(V),n.d(V,{json:()=>QT});var W={};n.r(W),n.d(W,{json:()=>t_});var H={};n.r(H),n.d(H,{CSVDataset:()=>EM,Dataset:()=>mM,FileDataSource:()=>zM,TextLineDataset:()=>vM,URLDataSource:()=>BM,array:()=>yM,csv:()=>UM,func:()=>VM,generator:()=>WM,microphone:()=>GM,version_data:()=>jM,webcam:()=>HM,zip:()=>xM});var G={};n.r(G),n.d(G,{addImpl:()=>kk,bincountImpl:()=>xE,bincountReduceImpl:()=>bE,ceilImpl:()=>SE,concatImpl:()=>IE,equalImpl:()=>cI,expImpl:()=>wI,expm1Impl:()=>kI,floorImpl:()=>WI,gatherNdImpl:()=>JI,gatherV2Impl:()=>QI,greaterEqualImpl:()=>sC,greaterImpl:()=>eC,lessEqualImpl:()=>yC,lessImpl:()=>fC,linSpaceImpl:()=>vC,logImpl:()=>SC,maxImpl:()=>OC,maximumImpl:()=>BC,minimumImpl:()=>YC,multiplyImpl:()=>nI,negImpl:()=>aN,notEqualImpl:()=>fN,prodImpl:()=>EN,rangeImpl:()=>CN,rsqrtImpl:()=>UN,sigmoidImpl:()=>pk,simpleAbsImpl:()=>Fk,sliceImpl:()=>fE,sparseFillEmptyRowsImpl:()=>oA,sparseReshapeImpl:()=>uA,sparseSegmentReductionImpl:()=>hA,sqrtImpl:()=>gA,squaredDifferenceImpl:()=>vA,stridedSliceImpl:()=>MA,stringNGramsImpl:()=>IA,stringSplitImpl:()=>AA,stringToHashBucketFastImpl:()=>DA,subImpl:()=>RI,tileImpl:()=>PA,topKImpl:()=>UA,transposeImpl:()=>Vk,uniqueImpl:()=>jA});class j{constructor(t,e){this.backend=t,this.dataMover=e,this.data=new WeakMap,this.dataIdsCount=0}get(t){return this.data.has(t)||this.dataMover.moveData(this.backend,t),this.data.get(t)}set(t,e){this.dataIdsCount++,this.data.set(t,e)}has(t){return this.data.has(t)}delete(t){return this.dataIdsCount--,this.data.delete(t)}numDataIds(){return this.dataIdsCount}}class q{refCount(t){return X("refCount")}incRef(t){return X("incRef")}timerAvailable(){return!0}time(t){return X("time")}read(t){return X("read")}readSync(t){return X("readSync")}readToGPU(t,e){return X("readToGPU")}numDataIds(){return X("numDataIds")}disposeData(t,e){return X("disposeData")}write(t,e,n){return X("write")}move(t,e,n,r,s){return X("move")}memory(){return X("memory")}floatPrecision(){return X("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return X("dispose")}}function X(t){throw new Error(`'${t}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function K(t){let e=t.length,n=0;for(;e>0;)n=Math.random()*e|0,e--,Q(t,e,n)}function Y(t,e){if(t.length!==e.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${t.length}Second array length was ${e.length}`);let n=t.length,r=0;for(;n>0;)r=Math.random()*n|0,n--,Q(t,n,r),Q(e,n,r)}function J(t,e,n){return Math.max(t,Math.min(e,n))}function Z(t){return t%2==0?t:t+1}function Q(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function tt(t){let e=0;for(let n=0;nn+` Shapes ${t} and ${e} must match`))}function it(t){rt(null!=t,(()=>"The input to the tensor constructor must be a non-null value."))}function at(t,e=[],n=!1){if(null==e&&(e=[]),Array.isArray(t)||_t(t)&&!n)for(let r=0;r0),n){return new Promise(((r,s)=>{let i=0;const a=()=>{if(t())return void r();i++;const o=e(i);null!=n&&i>=n?s():setTimeout(a,o)};a()}))}function gt(t,e){let n=1,r=-1;for(let e=0;e=0)n*=t[e];else if(-1===t[e]){if(-1!==r)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${e}`);r=e}else if(t[e]<0)throw Error(`Shapes can not be < 0. Found ${t[e]} at dim ${e}`);if(-1===r){if(e>0&&e!==n)throw Error(`Size(${e}) must match the product of shape ${t}`);return t}if(0===n)throw Error(`Cannot infer the missing size in [${t}] when there are 0 elements`);if(e%n!=0)throw Error(`The implicit shape can't be a fractional number. Got ${e} / ${n}`);const s=t.slice();return s[r]=e/n,s}function yt(t,e){const n=e.length;return rt((t=null==t?e.map(((t,e)=>e)):[].concat(t)).every((t=>t>=-n&&t`All values in axis param must be in range [-${n}, ${n}) but got axis ${t}`)),rt(t.every((t=>ct(t))),(()=>`All values in axis param must be integers but got axis ${t}`)),t.map((t=>t<0?n+t:t))}function xt(t,e){const n=[],r=[],s=null!=e&&Array.isArray(e)&&0===e.length,i=null==e||s?null:yt(e,t).sort();let a=0;for(let e=0;ee)&&1===t[e]&&(n.push(t[e]),r.push(e)),i[a]<=e&&a++}1!==t[e]&&(n.push(t[e]),r.push(e))}return{newShape:n,keptDims:r}}function bt(t,e){let n=null;if(null==t||"float32"===t)n=new Float32Array(e);else if("int32"===t)n=new Int32Array(e);else{if("bool"!==t)throw new Error(`Unknown data type ${t}`);n=new Uint8Array(e)}return n}function vt(t,e){let n=null;if(null==t||"float32"===t)n=new Float32Array(e);else if("int32"===t)n=new Int32Array(e);else if("bool"===t)n=new Uint8Array(e);else{if("string"!==t)throw new Error(`Unknown data type ${t}`);n=new Array(e)}return n}function wt(t,e){for(let n=0;ne+=t.length)),e}function Et(t){return"string"==typeof t||t instanceof String}function It(t){return"boolean"==typeof t}function Ct(t){return"number"==typeof t}function Nt(t){return Array.isArray(t)?Nt(t[0]):t instanceof Float32Array?"float32":t instanceof Int32Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray?"int32":Ct(t)?"float32":Et(t)?"string":It(t)?"bool":"float32"}function At(t){return!!(t&&t.constructor&&t.call&&t.apply)}function Rt(t,e){for(let n=e;n=0;--r)n[r]=n[r+1]*t[r+1];return n}function Lt(t,e,n,r=!1){const s=new Array;if(1===e.length){const i=e[0]*(r?2:1);for(let e=0;et*e))*(r?2:1);for(let e=0;et*e))*(n?2:1);if(0===r)return[];if(r!==e.length)throw new Error(`[${t}] does not match the input size ${e.length}${n?" for a complex tensor":""}.`);return Lt(0,t,e,n)}function $t(t,e){const n=Ot(t,e);for(let t=0;tt*e),1);if(null==e||"float32"===e)return Ft(t,new Float32Array(n));if("int32"===e)return Ft(t,new Int32Array(n));if("bool"===e)return Ft(t,new Uint8Array(n));throw new Error(`Unknown data type ${e}`)}function zt(t){t.forEach((e=>{rt(Number.isInteger(e)&&e>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${t}].`))}))}function Bt(t,e,n){if(0===e)return 0;if(1===e)return t[0];let r=t[t.length-1];for(let e=0;e{const[e,n]=t.split(":");this.urlFlags[e]=function(t,e){if("true"===(e=e.toLowerCase())||"false"===e)return"true"===e;if(""+ +e===e)return+e;throw new Error(`Could not parse value flag value ${e} for flag ${t}.`)}(e,n)}))}}function Ht(t){const e={};return t.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((t,...n)=>(function(t,e,n){t[decodeURIComponent(e)]=decodeURIComponent(n||"")}(e,n[0],n[1]),n.join("=")))),e}function Gt(){return qt}let jt,qt=null;function Xt(){if(null==jt){let t;if("undefined"!=typeof window)t=window;else if(void 0!==n.g)t=n.g;else if("undefined"!=typeof process)t=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");t=self}jt=t}return jt}function Kt(t,e){const n=function(){const t=Xt();return null==t._tfGlobals&&(t._tfGlobals=new Map),t._tfGlobals}();if(n.has(t))return n.get(t);{const r=e();return n.set(t,r),n.get(t)}}const Yt="Abs",Jt="Acos",Zt="Acosh",Qt="Add",te="AddN",ee="All",ne="Any",re="ArgMax",se="ArgMin",ie="Asin",ae="Asinh",oe="Atan",le="Atanh",ue="Atan2",ce="AvgPool",he="AvgPoolGrad",de="AvgPool3D",pe="AvgPool3DGrad",fe="BatchMatMul",me="BatchToSpaceND",ge="Bincount",ye="BroadcastTo",xe="BroadcastArgs",be="Cast",ve="Ceil",we="ClipByValue",Se="Complex",Te="ComplexAbs",_e="Concat",Me="Conv2D",ke="Conv2DBackpropFilter",Ee="Conv2DBackpropInput",Ie="Conv3D",Ce="Conv3DBackpropFilterV2",Ne="Conv3DBackpropInputV2",Ae="Cos",Re="Cosh",De="Cumsum",Le="CropAndResize",Fe="DenseBincount",$e="DepthToSpace",Oe="DepthwiseConv2dNative",Pe="DepthwiseConv2dNativeBackpropFilter",ze="DepthwiseConv2dNativeBackpropInput",Be="Diag",Ue="Dilation2D",Ve="Dilation2DBackpropInput",We="Dilation2DBackpropFilter",He="RealDiv",Ge="Einsum",je="Elu",qe="EluGrad",Xe="Erf",Ke="Equal",Ye="Exp",Je="ExpandDims",Ze="Expm1",Qe="FFT",tn="Fill",en="FlipLeftRight",nn="Floor",rn="FloorDiv",sn="FusedBatchNorm",an="GatherV2",on="GatherNd",ln="Greater",un="GreaterEqual",cn="Identity",hn="IFFT",dn="Imag",pn="IsFinite",fn="IsInf",mn="IsNan",gn="LeakyRelu",yn="Less",xn="LessEqual",bn="LinSpace",vn="Log",wn="Log1p",Sn="LogicalAnd",Tn="LogicalNot",_n="LogicalOr",Mn="LogSoftmax",kn="LRN",En="LRNGrad",In="Max",Cn="Maximum",Nn="MaxPool",An="MaxPoolGrad",Rn="MaxPool3D",Dn="MaxPool3DGrad",Ln="MaxPoolWithArgmax",Fn="Mean",$n="Min",On="Minimum",Pn="MirrorPad",zn="Mod",Bn="Multinomial",Un="Multiply",Vn="Neg",Wn="NotEqual",Hn="NonMaxSuppressionV3",Gn="NonMaxSuppressionV4",jn="NonMaxSuppressionV5",qn="OnesLike",Xn="OneHot",Kn="Pack",Yn="PadV2",Jn="Pool",Zn="Pow",Qn="Prelu",tr="Prod",er="Range",nr="Real",rr="Reciprocal",sr="Relu",ir="Reshape",ar="ResizeNearestNeighbor",or="ResizeNearestNeighborGrad",lr="ResizeBilinear",ur="ResizeBilinearGrad",cr="Relu6",hr="Reverse",dr="Round",pr="Rsqrt",fr="ScatterNd",mr="Select",gr="Selu",yr="Slice",xr="Sin",br="Sinh",vr="Sign",wr="Sigmoid",Sr="Softplus",Tr="Sqrt",_r="Sum",Mr="SpaceToBatchND",kr="SplitV",Er="Softmax",Ir="SparseFillEmptyRows",Cr="SparseReshape",Nr="SparseSegmentMean",Ar="SparseSegmentSum",Rr="SparseToDense",Dr="SquaredDifference",Lr="Square",Fr="StridedSlice",$r="StringNGrams",Or="StringSplit",Pr="StringToHashBucketFast",zr="Sub",Br="Tan",Ur="Tanh",Vr="Tile",Wr="TopK",Hr="Transform",Gr="Transpose",jr="Unique",qr="Unpack",Xr="UnsortedSegmentSum",Kr="ZerosLike",Yr="Step",Jr="FromPixels",Zr="RotateWithOffset",Qr="_FusedMatMul",ts="FusedConv2D",es="FusedDepthwiseConv2D";function ns(...t){Gt().getBool("IS_TEST")||Gt().getBool("PROD")||console.warn(...t)}function rs(...t){Gt().getBool("IS_TEST")||Gt().getBool("PROD")||console.log(...t)}const ss=Kt("kernelRegistry",(()=>new Map)),is=Kt("gradRegistry",(()=>new Map));function as(t,e){const n=fs(t,e);return ss.get(n)}function os(t){return is.get(t)}function ls(t){const e=ss.entries(),n=[];for(;;){const{done:r,value:s}=e.next();if(r)break;const[i,a]=s,[o]=i.split("_");o===t&&n.push(a)}return n}function us(t){const{kernelName:e,backendName:n}=t,r=fs(e,n);ss.has(r)&&ns(`The kernel '${e}' for backend '${n}' is already registered`),ss.set(r,t)}function cs(t){const{kernelName:e}=t;is.has(e)&&Gt().getBool("DEBUG")&&ns(`Overriding the gradient for '${e}'`),is.set(e,t)}function hs(t,e){const n=fs(t,e);if(!ss.has(n))throw new Error(`The kernel '${t}' for backend '${e}' is not registered`);ss.delete(n)}function ds(t){if(!is.has(t))throw new Error(`The gradient '${t}' for backend is not registered`);is.delete(t)}function ps(t,e){ls(t).forEach((t=>{us(Object.assign({},t,{backendName:e}))}))}function fs(t,e){return`${e}_${t}`}var ms=n(3720);const gs=n.n(ms)()||ms;function ys(t){return gs.fromString(t,!0,16)}const xs=ys("c3a5c85c97cb3127"),bs=ys("b492b66fbe98f273"),vs=ys("9ae16a3b2f90404f");function ws(t){return t.xor(t.shru(47))}function Ss(t,e,n){const r=t.slice(e,e+n);return gs.fromBytes(Array.from(r),!0,!0)}function Ts(t,e){return Ss(t,e,8)}function _s(t,e){return Ss(t,e,4)}function Ms(t,e){return 0===e?t:t.shru(e).or(t.shl(64-e))}function ks(t,e,n=ys("9ddfea08eb382d69")){let r=t.xor(e).mul(n);r=r.xor(r.shru(47));let s=e.xor(r).mul(n);return s=s.xor(s.shru(47)),s=s.mul(n),s}function Es(t,e,n,r){return function(t,e,n,r,s,i){s=s.add(t),i=Ms(i.add(s).add(r),21);const a=s;return s=(s=s.add(e)).add(n),i=i.add(Ms(s,44)),[s.add(r),i.add(a)]}(Ts(t,e),Ts(t,e+8),Ts(t,e+16),Ts(t,e+24),n,r)}function Is(t,e=t.length){const n=gs.fromNumber(81,!0);if(e<=32)return e<=16?function(t,e=t.length){if(e>=8){const n=vs.add(2*e),r=Ts(t,0).add(vs),s=Ts(t,e-8);return ks(Ms(s,37).mul(n).add(r),Ms(r,25).add(s).mul(n),n)}if(e>=4){const n=vs.add(2*e);return ks(_s(t,0).shl(3).add(e),_s(t,e-4),n)}if(e>0){const n=t[0]+(t[e>>1]<<8),r=e+(t[e-1]<<2);return ws(vs.mul(n).xor(xs.mul(r))).mul(vs)}return vs}(t,e):function(t,e=t.length){const n=vs.add(2*e),r=Ts(t,0).mul(bs),s=Ts(t,8),i=Ts(t,e-8).mul(n),a=Ts(t,e-16).mul(vs);return ks(Ms(r.add(s),43).add(Ms(i,30)).add(a),r.add(Ms(s.add(vs),18)).add(i),n)}(t,e);if(e<=64)return function(t,e=t.length){const n=vs.add(2*e),r=Ts(t,0).mul(vs),s=Ts(t,8),i=Ts(t,e-8).mul(n),a=Ts(t,e-16).mul(vs),o=Ms(r.add(s),43).add(Ms(i,30)).add(a),l=ks(o,r.add(Ms(s.add(vs),18)).add(i),n),u=Ts(t,16).mul(n),c=Ts(t,24),h=o.add(Ts(t,e-32)).mul(n),d=l.add(Ts(t,e-24)).mul(n);return ks(Ms(u.add(c),43).add(Ms(h,30)).add(d),u.add(Ms(c.add(r),18)).add(h),n)}(t,e);let r=n,s=n.mul(bs).add(113),i=ws(s.mul(vs).add(113)).mul(vs),a=[gs.UZERO,gs.UZERO],o=[gs.UZERO,gs.UZERO];r=r.mul(vs).add(Ts(t,0));let l=0;const u=64*(e-1>>6),c=u+(e-1&63)-63;do{r=Ms(r.add(s).add(a[0]).add(Ts(t,l+8)),37).mul(bs),s=Ms(s.add(a[1]).add(Ts(t,l+48)),42).mul(bs),r=r.xor(o[1]),s=s.add(a[0]).add(Ts(t,l+40)),i=Ms(i.add(o[0]),33).mul(bs),a=Es(t,l,a[1].mul(bs),r.add(o[0])),o=Es(t,l+32,i.add(o[1]),s.add(Ts(t,l+16))),[i,r]=[r,i],l+=64}while(l!==u);const h=bs.add(i.and(255).shl(1));return l=c,o[0]=o[0].add(e-1&63),a[0]=a[0].add(o[0]),o[0]=o[0].add(a[0]),r=Ms(r.add(s).add(a[0]).add(Ts(t,l+8)),37).mul(h),s=Ms(s.add(a[1]).add(Ts(t,l+48)),42).mul(h),r=r.xor(o[1].mul(9)),s=s.add(a[0].mul(9).add(Ts(t,l+40))),i=Ms(i.add(o[0]),33).mul(h),a=Es(t,l,a[1].mul(h),r.add(o[0])),o=Es(t,l+32,i.add(o[1]),s.add(Ts(t,l+16))),[i,r]=[r,i],ks(ks(a[0],o[0],h).add(ws(s).mul(xs)).add(i),ks(a[1],o[1],h).add(r),h)}function Cs(t,e){return"string"===e?Ds(t):Ns([t],e)}function Ns(t,e){if("string"===e)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(t)&&(t=at(t)),Gt().getBool("DEBUG")&&wt(t,e),function(t,e){return t instanceof Float32Array&&"float32"===e||t instanceof Int32Array&&"int32"===e||t instanceof Uint8Array&&"bool"===e}(t,e))return t;if(null==e||"float32"===e||"complex64"===e)return new Float32Array(t);if("int32"===e)return new Int32Array(t);if("bool"===e){const e=new Uint8Array(t.length);for(let n=0;n{r=n()};let i;const a=As();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(s);else{s();for(const t of r)t.dataSync();i=Promise.resolve({kernelMs:As()-a})}if(Gt().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let e=0;e{$s(e,n.dtype,t)}))}return{kernelName:t,outputs:r,inputs:e,timeMs:i.then((t=>t.kernelMs)),extraInfo:i.then((t=>null!=t.getExtraProfileInfo?t.getExtraProfileInfo():""))}}logKernelProfile(t){const{kernelName:e,outputs:n,timeMs:r,inputs:s,extraInfo:i}=t;n.forEach((t=>{Promise.all([t.data(),r,i]).then((n=>{this.logger.logKernelProfile(e,t,n[0],n[1],s,n[2])}))}))}}function $s(t,e,n){if("float32"!==e)return!1;for(let e=0;e0?r:""} `}}console.log(`%c${o}\t%c${a}\t%c${l}D ${c}\t%c${u}\t%c${h}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function Ps(t,e,n,r){const s=Dt(e),i=function(t,e,n,r){const s=ot(e),i=r[r.length-1],a=new Array(i).fill(0),o=e.length,l="complex64"===n?Vs(t):t;if(o>1)for(let t=0;t" "+t)).join("\n")),l.join("\n")}function zs(t,e,n){let r;return r=Array.isArray(t)?`${parseFloat(t[0].toFixed(7))} + ${parseFloat(t[1].toFixed(7))}j`:Et(t)?`'${t}'`:"bool"===n?Bs(t):parseFloat(t.toFixed(7)).toString(),ft(r,e)}function Bs(t){return 0===t?"false":"true"}function Us(t,e,n,r,s,i=!0){const a="complex64"===n?2:1,o=e[0],l=e.length;if(0===l)return"complex64"===n?[zs(Vs(t)[0],0,n)]:"bool"===n?[Bs(t[0])]:[t[0].toString()];if(1===l){if(o>20){const e=3*a;let r=Array.from(t.slice(0,e)),i=Array.from(t.slice((o-3)*a,o*a));return"complex64"===n&&(r=Vs(r),i=Vs(i)),["["+r.map(((t,e)=>zs(t,s[e],n))).join(", ")+", ..., "+i.map(((t,e)=>zs(t,s[o-3+e],n))).join(", ")+"]"]}return["["+("complex64"===n?Vs(t):Array.from(t)).map(((t,e)=>zs(t,s[e],n))).join(", ")+"]"]}const u=e.slice(1),c=r.slice(1),h=r[0]*a,d=[];if(o>20){for(let e=0;e<3;e++){const r=e*h,i=r+h;d.push(...Us(t.slice(r,i),u,n,c,s,!1))}d.push("...");for(let e=o-3;e`Length of values '${t}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===e)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||vt(e,this.size),this.strides=Dt(t)}set(t,...e){0===e.length&&(e=[0]),rt(e.length===this.rank,(()=>`The number of provided coordinates (${e.length}) must match the rank (${this.rank})`));const n=this.locToIndex(e);this.values[n]=t}get(...t){0===t.length&&(t=[0]);let e=0;for(const n of t){if(n<0||n>=this.shape[e]){const e=`Requested out of range element at ${t}. Buffer shape=${this.shape}`;throw new Error(e)}e++}let n=t[t.length-1];for(let e=0;eLs(t)))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return t}dataToGPU(t){return this.throwIfDisposed(),Hs().readToGPU(this.dataId,t)}dataSync(){this.throwIfDisposed();const t=Hs().readSync(this.dataId);if("string"===this.dtype)try{return t.map((t=>Ls(t)))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return t}async bytes(){this.throwIfDisposed();const t=await Hs().read(this.dataId);return"string"===this.dtype?t:new Uint8Array(t.buffer)}dispose(){this.isDisposed||(Hs().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(t=!1){return Gs.print(this,t)}clone(){return this.throwIfDisposed(),Gs.clone(this)}toString(t=!1){return Ps(this.dataSync(),this.shape,this.dtype,t)}cast(t){return this.throwIfDisposed(),Gs.cast(this,t)}variable(t=!0,e,n){return this.throwIfDisposed(),Hs().makeVariable(this,t,e,n)}}function Xs(){return Kt("Tensor",(()=>qs))}Object.defineProperty(qs,Symbol.hasInstance,{value:t=>!!t&&null!=t.data&&null!=t.dataSync&&null!=t.throwIfDisposed}),Xs();class Ks extends qs{constructor(t,e,n,r){super(t.shape,t.dtype,t.dataId,r),this.trainable=e,this.name=n}assign(t){if(t.dtype!==this.dtype)throw new Error(`dtype of the new value (${t.dtype}) and previous value (${this.dtype}) must match`);if(!ut(t.shape,this.shape))throw new Error(`shape of the new value (${t.shape}) and previous value (${this.shape}) must match`);Hs().disposeTensor(this),this.dataId=t.dataId,Hs().incRef(this,null)}dispose(){Hs().disposeVariable(this),this.isDisposedInternal=!0}}var Ys,Js,Zs,Qs,ti;Object.defineProperty(Ks,Symbol.hasInstance,{value:t=>t instanceof qs&&null!=t.assign&&t.assign instanceof Function}),function(t){t.R0="R0",t.R1="R1",t.R2="R2",t.R3="R3",t.R4="R4",t.R5="R5",t.R6="R6"}(Ys||(Ys={})),function(t){t.float32="float32",t.int32="int32",t.bool="int32",t.complex64="complex64"}(Js||(Js={})),function(t){t.float32="float32",t.int32="int32",t.bool="bool",t.complex64="complex64"}(Zs||(Zs={})),function(t){t.float32="float32",t.int32="float32",t.bool="float32",t.complex64="complex64"}(Qs||(Qs={})),function(t){t.float32="complex64",t.int32="complex64",t.bool="complex64",t.complex64="complex64"}(ti||(ti={}));const ei={float32:Qs,int32:Js,bool:Zs,complex64:ti};function ni(t,e){if("string"===t||"string"===e){if("string"===t&&"string"===e)return"string";throw new Error(`Can not upcast ${t} with ${e}`)}return ei[t][e]}function ri(t){return ni(t,"int32")}function si(t,e){if(t.dtype===e.dtype)return[t,e];const n=ni(t.dtype,e.dtype);return[t.cast(n),e.cast(n)]}function ii(t,e){rt(t.dtype===e.dtype,(()=>`The dtypes of the first(${t.dtype}) and second(${e.dtype}) input must match`))}function ai(t,e){return e.some((e=>e.id===t.id))}function oi(t){const e=[];return li(t,e,new Set),e}function li(t,e,n){if(null==t)return;if(t instanceof qs)return void e.push(t);if(r=t,!Array.isArray(r)&&"object"!=typeof r)return;var r;const s=t;for(const t in s){const r=s[t];n.has(r)||(n.add(r),li(r,e,n))}}function ui(t){return null!=t.kernelName}class ci{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((t=>t.name))))}}}dispose(){for(const t in this.registeredVariables)this.registeredVariables[t].dispose()}}class hi{constructor(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new ci}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const t=this.getSortedBackends();for(let e=0;e{null!=t.setupFunc&&t.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(t){ls(t).forEach((e=>{null!=e.disposeFunc&&e.disposeFunc(this.registry[t])}))}initializeBackend(t){const e=this.registryFactory[t];if(null==e)throw new Error(`Cannot initialize backend ${t}, no registration found.`);try{const n=e.factory();if(!n||n instanceof q||"function"!=typeof n.then)return this.registry[t]=n,{success:!0,asyncInit:!1};{const e=++this.pendingBackendInitId,r=n.then((n=>!(e(ethis.registryFactory[e].priority-this.registryFactory[t].priority))}initializeBackendsAndReturnBest(){const t=this.getSortedBackends();for(let e=0;ethis.startScope(r)),(()=>this.endScope(n)),(()=>(n=e(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(t,e,n){t();try{const t=n();return e(),t}catch(t){throw e(),t}}nextTensorId(){return hi.nextTensorId++}nextVariableId(){return hi.nextVariableId++}clone(t){const e=pi.runKernel(cn,{x:t}),n={x:t};return this.addTapeNode(this.state.activeScope.name,n,[e],(t=>({x:()=>{const e={x:t};return pi.runKernel(be,e,{dtype:"float32"})}})),[],{}),e}runKernel(t,e,n){if(null==this.backendName&&this.backend,null==as(t,this.backendName))throw new Error(`Kernel '${t}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:t,inputs:e,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(t,e,n){const r=this.backend.numDataIds();let s=0;n.forEach((t=>{s+="complex64"===t.dtype?3:1}));const i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=r-e-s-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${t}'`)}runKernelFunc(t){let e,n=[];const r=this.isTapeOn(),s=this.state.numBytes,i=this.state.numTensors;let a,o;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0),null==this.backendName&&this.backend;const l=ui(t)?t.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(ui(t)){const{kernelName:e,inputs:s,attrs:i}=t;null==this.backendName&&this.backend;const l=as(e,this.backendName);rt(null!=l,(()=>`Cannot find registered kernel '${e}' for backend '${this.backendName}'`)),a=()=>{const t=this.backend.numDataIds();o=l.kernelFunc({inputs:s,attrs:i,backend:this.backend});const a=Array.isArray(o)?o:[o];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(e,t,a);const u=a.map((t=>{if(null!=t.rank)return t;const{dataId:e,shape:n,dtype:r}=t;return this.makeTensorFromDataId(e,n,r)}));if(r){const t=this.getTensorsForGradient(e,s,u);n=this.saveTensorsForBackwardMode(t)}return u}}else{const{forwardFunc:e}=t,s=t=>{r&&(n=t.map((t=>this.keep(this.clone(t)))))};a=()=>{const t=this.backend.numDataIds();o=this.tidy((()=>e(this.backend,s)));const n=Array.isArray(o)?o:[o];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,t,n),n}}const{inputs:u,attrs:c}=t,h=ui(t)?null:t.backwardsFunc;let d;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(d=this.profiler.profileKernel(l,u,(()=>a())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(d),e=d.outputs):e=a()})),r&&this.addTapeNode(l,u,e,h,n,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(u).map((t=>null!=u[t]?u[t].shape:null)),outputShapes:e.map((t=>t.shape)),kernelTimeMs:d.timeMs,extraInfo:d.extraInfo}),Array.isArray(o)?e:e[0]}saveTensorsForBackwardMode(t){return t.map((t=>this.keep(this.clone(t))))}getTensorsForGradient(t,e,n){const r=os(t);if(null!=r){const t=r.inputsToSave||[],s=r.outputsToSave||[];let i;r.saveAllInputs?(rt(Array.isArray(e),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(e).map((t=>e[t]))):i=t.map((t=>e[t]));const a=n.filter(((t,e)=>s[e]));return i.concat(a)}return[]}makeTensor(t,e,n,r){if(null==t)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let s=t;"string"===n&&Et(t[0])&&(s=t.map((t=>Ds(t))));const i=r.write(s,e,n),a=new qs(e,n,i,this.nextTensorId());if(this.trackTensor(a,r),"string"===n){const t=this.state.tensorInfo.get(i),e=kt(s);this.state.numBytes+=e-t.bytes,t.bytes=e}return a}makeTensorFromDataId(t,e,n,r){const s=new qs(e,n=n||"float32",t,this.nextTensorId());return this.trackTensor(s,r),s}makeVariable(t,e=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==t.dtype&&(t=t.cast(r));const s=new Ks(t,e,n,this.nextTensorId());if(null!=this.state.registeredVariables[s.name])throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(t,e){this.state.numTensors++,"string"===t.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==t.dtype&&"string"!==t.dtype&&(n=t.size*Mt(t.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(t.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(t.dataId,{backend:e||this.backend,dtype:t.dtype,shape:t.shape,bytes:n})),t instanceof Ks||this.track(t)}incRef(t,e){this.trackTensor(t,e),this.backend.incRef(t.dataId)}removeDataId(t,e){this.state.tensorInfo.has(t)&&this.state.tensorInfo.get(t).backend===e&&(this.state.tensorInfo.delete(t),this.state.numDataBuffers--)}disposeTensor(t){if(!this.state.tensorInfo.has(t.dataId))return;const e=this.state.tensorInfo.get(t.dataId);if(this.state.numTensors--,"string"===t.dtype&&(this.state.numStringTensors--,this.state.numBytes-=e.bytes),"complex64"!==t.dtype&&"string"!==t.dtype){const e=t.size*Mt(t.dtype);this.state.numBytes-=e}e.backend.disposeData(t.dataId)&&this.removeDataId(t.dataId,e.backend)}disposeVariables(){for(const t in this.state.registeredVariables){const e=this.state.registeredVariables[t];this.disposeVariable(e)}}disposeVariable(t){this.disposeTensor(t),null!=this.state.registeredVariables[t.name]&&delete this.state.registeredVariables[t.name]}memory(){const t=this.backend.memory();return t.numTensors=this.state.numTensors,t.numDataBuffers=this.state.numDataBuffers,t.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(t.unreliable=!0,null==t.reasons&&(t.reasons=[]),t.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),t}async profile(t){this.state.profiling=!0;const e=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await t(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((t=>t.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-e,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const t of this.state.activeProfile.kernels)t.kernelTimeMs=await t.kernelTimeMs,t.extraInfo=await t.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(t,e,n,r,s,i){const a={id:this.state.nextTapeNodeId++,kernelName:t,inputs:e,outputs:n,saved:s},o=os(t);null!=o&&(r=o.gradFunc),null!=r&&(a.gradient=t=>(t=t.map(((t,e)=>{if(null==t){const t=n[e],r=Ot(t.size,t.dtype);return this.makeTensor(r,t.shape,t.dtype)}return t})),r(t.length>1?t:t[0],s,i))),this.state.activeTape.push(a)}keep(t){return t.kept=!0,t}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(t){const e={track:[],name:"unnamed scope",id:this.state.nextScopeId++};t&&(e.name=t),this.state.scopeStack.push(e),this.state.activeScope=e}endScope(t){const e=oi(t),n=new Set(e.map((t=>t.id)));for(let t=0;t{t.kept||t.scopeId!==r.id||this.track(t)}))}gradients(t,e,n,r=!1){if(rt(e.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const s=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",t)));rt(s instanceof qs,(()=>"The result y returned by f() must be a tensor."));const i=function(t,e,n){const r={},s={};for(let t=0;tr[t.id]=!0)),o=!0,s[i.id]=!0;break}if(o)break}}const i={};i[n.id]=!0;const a={};for(let e=t.length-1;e>=0;e--){const n=t[e],r=n.inputs;for(let t=0;t0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const t={};t[s.id]=null==n?function(t){const e=$t(ot(t),"float32");return pi.makeTensor(e,t,"float32")}(s.shape):n,function(t,e,n,r){for(let s=e.length-1;s>=0;s--){const i=e[s],a=[];if(i.outputs.forEach((e=>{const n=t[e.id];null!=n?a.push(n):a.push(null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const o=i.gradient(a);for(const e in i.inputs){if(!(e in o))throw new Error(`Cannot backprop through input ${e}. Available gradients found: ${Object.keys(o)}.`);const s=n((()=>o[e]()));if("float32"!==s.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${e} must have 'float32' dtype, but has '${s.dtype}'`);const a=i.inputs[e];if(!ut(s.shape,a.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${e}' has shape '${s.shape}', which does not match the shape of the input '${a.shape}'`);if(null==t[a.id])t[a.id]=s;else{const e=t[a.id];t[a.id]=r(e,s),e.dispose()}}}}(t,i,(t=>this.tidy(t)),fi);const r=e.map((e=>t[e.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((t=>{for(const e of t.saved)e.dispose()})),this.state.activeTape=null),{value:s,grads:r}}))}customGrad(t){return rt(At(t),(()=>"The f passed in customGrad(f) must be a function.")),(...e)=>{let n;rt(e.every((t=>t instanceof qs)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};return e.forEach(((t,e)=>{r[e]=t})),this.runKernelFunc({forwardFunc:(r,s)=>(n=t(...e,s),rt(n.value instanceof qs,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),rt(At(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(t,r)=>{const s=n.gradFunc(t,r),i=Array.isArray(s)?s:[s];rt(i.length===e.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),rt(i.every((t=>t instanceof qs)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const a={};return i.forEach(((t,e)=>{a[e]=()=>t})),a},inputs:r})}}readSync(t){return this.state.tensorInfo.get(t).backend.readSync(t)}read(t){return this.state.tensorInfo.get(t).backend.read(t)}readToGPU(t,e){return this.state.tensorInfo.get(t).backend.readToGPU(t,e)}async time(t){const e=As(),n=await this.backend.time(t);return n.wallMs=As()-e,n}track(t){return null!=this.state.activeScope&&(t.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(t)),t}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new ci;for(const t in this.registry)this.disposeRegisteredKernels(t),this.registry[t].dispose(),delete this.registry[t];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function di(){const t=Xt();if(null==t._tfengine){const e=new Wt(t);t._tfengine=new hi(e)}var e;return e=t._tfengine.ENV,qt=e,Hs=()=>t._tfengine,t._tfengine}hi.nextTensorId=0,hi.nextVariableId=0;const pi=di();function fi(t,e){const n={a:t,b:e};return pi.runKernel(Qt,n)}let mi;function gi(t){mi=t}function yi(t){if(void 0!==mi)return mi;if(t||"undefined"!=typeof navigator&&null!=navigator){if(t||(t=navigator),"ReactNative"===t.product)return!0;const e=t.userAgent||t.vendor||("undefined"!=typeof window?window.opera:"");if(!e){const e=t;return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}return!1}function xi(){return"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope}const bi=Gt();function vi(t,e){let n=t;if(_t(t))return"string"===e?[]:[t.length];if(!Array.isArray(t))return[];const r=[];for(;Array.isArray(n)||_t(n)&&"string"!==e;)r.push(n.length),n=n[0];return Array.isArray(t)&&Gt().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&wi(t,r,[]),r}function wi(t,e,n){if(n=n||[],!Array.isArray(t)&&!_t(t))return void rt(0===e.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${e[0]} elements`));rt(e.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${t.length} elements`)),rt(t.length===e[0],(()=>`Element arr[${n.join("][")}] should have ${e[0]} elements, but has ${t.length} elements`));const r=e.slice(1);for(let e=0;e=0&&(s=r),Si(r,s,e,n),null==t||!_t(t)&&!Array.isArray(t)&&"number"!=typeof t&&"boolean"!=typeof t&&"string"!=typeof t){const r=null==t?"null":t.constructor.name;throw new Error(`Argument '${e}' passed to '${n}' must be a Tensor or TensorLike, but got '${r}'`)}const i=vi(t,s);_t(t)||Array.isArray(t)||(t=[t]);const a="string"!==s?Ns(t,s):at(t,[],!0);return pi.makeTensor(a,i,s)}function _i(t,e,n,r="numeric"){if(!Array.isArray(t))throw new Error(`Argument ${e} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);return t.map(((t,s)=>Ti(t,`${e}[${s}]`,n,r)))}bi.registerFlag("DEBUG",(()=>!1),(t=>{t&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),bi.registerFlag("IS_BROWSER",(()=>xi())),bi.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),bi.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),bi.registerFlag("PROD",(()=>!1)),bi.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>bi.getBool("DEBUG"))),bi.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),bi.registerFlag("IS_TEST",(()=>!1)),bi.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>!0)),bi.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1));const Mi="__op";function ki(t){const e=Object.keys(t);if(1!==e.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${e.length} keys.`);let n=e[0];const r=t[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+=Mi;const s=(...t)=>{pi.startScope(n);try{const e=r(...t);return Vt(e)&&console.error("Cannot return a Promise inside of tidy."),pi.endScope(e),e}catch(t){throw pi.endScope(null),t}};return Object.defineProperty(s,"name",{value:n,configurable:!0}),s}const Ei=ki({complex_:function(t,e){const n=Ti(t,"real","complex"),r=Ti(e,"imag","complex");st(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const s={real:n,imag:r};return pi.runKernel(Se,s)}});function Ii(t,e,n,r){if(null==r&&(r=Nt(t)),"complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(!_t(t)&&!Array.isArray(t)&&"number"!=typeof t&&"boolean"!=typeof t&&"string"!=typeof t)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=e){zt(e);const t=ot(e),r=ot(n);rt(t===r,(()=>`Based on the provided shape, [${e}], the tensor should have ${t} values but has ${r}`));for(let t=0;t`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${e}). `))}}return _t(t)||Array.isArray(t)||(t=[t]),e=e||n,t="string"!==r?Ns(t,r):at(t,[],!0),pi.makeTensor(t,e,r)}function Ci(t,e,n){return Ii(t,e,vi(t,n),n)}const Ni={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};async function Ai(t,e){const n=[],r=[],s=Array.isArray(t)?t.map((t=>t.name)):Object.keys(t);for(let i=0;i{const e=await o.bytes(),n=e.reduce(((t,e)=>t+e.length),0)+4*e.length,r=new Uint8Array(n);let s=0;for(let t=0;t{if(e+=t.byteLength,n.push(t.byteLength===t.buffer.byteLength?t:new t.constructor(t)),!(t instanceof Float32Array||t instanceof Int32Array||t instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${t.constructor.name}`)}));const r=new Uint8Array(e);let s=0;return n.forEach((t=>{r.set(new Uint8Array(t.buffer),s),s+=t.byteLength})),r.buffer}const Li="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function Fi(t){return Li?Buffer.byteLength(t):new Blob([t]).size}function $i(t){if(1===t.length)return t[0];let e=0;t.forEach((t=>{e+=t.byteLength}));const n=new Uint8Array(e);let r=0;return t.forEach((t=>{n.set(new Uint8Array(t),r),r+=t.byteLength})),n.buffer}function Oi(t){for(t=t.trim();t.endsWith("/");)t=t.slice(0,t.length-1);const e=t.split("/");return e[e.length-1]}function Pi(t,e){const n={modelTopology:t.modelTopology,format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy,weightsManifest:e};return null!=t.signature&&(n.signature=t.signature),null!=t.userDefinedMetadata&&(n.userDefinedMetadata=t.userDefinedMetadata),null!=t.modelInitializer&&(n.modelInitializer=t.modelInitializer),null!=t.trainingConfig&&(n.trainingConfig=t.trainingConfig),n}async function zi(t,e){const n={modelTopology:t.modelTopology,format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy};if(null!=t.trainingConfig&&(n.trainingConfig=t.trainingConfig),null!=t.weightsManifest){const[r,s]=await e(t.weightsManifest);n.weightSpecs=r,n.weightData=s}return null!=t.signature&&(n.signature=t.signature),null!=t.userDefinedMetadata&&(n.userDefinedMetadata=t.userDefinedMetadata),null!=t.modelInitializer&&(n.modelInitializer=t.modelInitializer),n}function Bi(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==t.modelTopology?0:Fi(JSON.stringify(t.modelTopology)),weightSpecsBytes:null==t.weightSpecs?0:Fi(JSON.stringify(t.weightSpecs)),weightDataBytes:null==t.weightData?0:t.weightData.byteLength}}function Ui(){const t=function(){const t=t=>{let e=t<<13,n=0;for(;0==(8388608&e);)n-=8388608,e<<=1;return e&=-8388609,n+=947912704,e|n},e=new Uint32Array(2048);e[0]=0;for(let n=1;n<1024;n++)e[n]=t(n);for(let t=1024;t<2048;t++)e[t]=939524096+(t-1024<<13);return e}(),e=function(){const t=new Uint32Array(64);t[0]=0,t[31]=1199570944,t[32]=2147483648,t[63]=3347054592;for(let e=1;e<31;e++)t[e]=e<<23;for(let e=33;e<63;e++)t[e]=2147483648+(e-32<<23);return t}(),n=function(){const t=new Uint32Array(64);for(let e=0;e<64;e++)t[e]=1024;return t[0]=t[32]=0,t}();return r=>{const s=new ArrayBuffer(4*r.length),i=new Uint32Array(s);for(let s=0;s>10]+(1023&a)]+e[a>>10];i[s]=o}return new Float32Array(s)}}class Vi{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Vi.instance&&(Vi.instance=new Vi),Vi.instance}static registerSaveRouter(t){Vi.getInstance().saveRouters.push(t)}static registerLoadRouter(t){Vi.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return Vi.getHandlers(t,"save")}static getLoadHandlers(t,e){return Vi.getHandlers(t,"load",e)}static getHandlers(t,e,n){const r=[];return("load"===e?Vi.getInstance().loadRouters:Vi.getInstance().saveRouters).forEach((e=>{const s=e(t,n);null!==s&&r.push(s)})),r}}const Wi=t=>Vi.registerSaveRouter(t),Hi=t=>Vi.registerLoadRouter(t),Gi=t=>Vi.getSaveHandlers(t),ji=(t,e)=>Vi.getLoadHandlers(t,e),qi="tensorflowjs",Xi="models_store",Ki="model_info_store";function Yi(){if(!Gt().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const t="undefined"==typeof window?self:window,e=t.indexedDB||t.mozIndexedDB||t.webkitIndexedDB||t.msIndexedDB||t.shimIndexedDB;if(null==e)throw new Error("The current browser does not appear to support IndexedDB.");return e}function Ji(t){const e=t.result;e.createObjectStore(Xi,{keyPath:"modelPath"}),e.createObjectStore(Ki,{keyPath:"modelPath"})}class Zi{constructor(t){if(this.indexedDB=Yi(),null==t||!t)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=t}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,t)}async load(){return this.databaseAction(this.modelPath)}databaseAction(t,e){return new Promise(((t,n)=>{const r=this.indexedDB.open(qi,1);r.onupgradeneeded=()=>Ji(r),r.onsuccess=()=>{const s=r.result;if(null==e){const e=s.transaction(Xi,"readonly"),r=e.objectStore(Xi).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return s.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));t(r.result.modelArtifacts)},r.onerror=t=>(s.close(),n(r.error)),e.oncomplete=()=>s.close()}else{const r=Bi(e),i=s.transaction(Ki,"readwrite");let a=i.objectStore(Ki);const o=a.put({modelPath:this.modelPath,modelArtifactsInfo:r});let l;o.onsuccess=()=>{l=s.transaction(Xi,"readwrite");const o=l.objectStore(Xi).put({modelPath:this.modelPath,modelArtifacts:e,modelArtifactsInfo:r});o.onsuccess=()=>t({modelArtifactsInfo:r}),o.onerror=t=>{a=i.objectStore(Ki);const e=a.delete(this.modelPath);e.onsuccess=()=>(s.close(),n(o.error)),e.onerror=t=>(s.close(),n(o.error))}},o.onerror=t=>(s.close(),n(o.error)),i.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}}},r.onerror=t=>n(r.error)}))}}Zi.URL_SCHEME="indexeddb://";const Qi=t=>{return Gt().getBool("IS_BROWSER")&&!Array.isArray(t)&&t.startsWith(Zi.URL_SCHEME)?(e=t.slice(Zi.URL_SCHEME.length),new Zi(e)):null;var e};Vi.registerSaveRouter(Qi),Vi.registerLoadRouter(Qi);class ta{constructor(){this.indexedDB=Yi()}async listModels(){return new Promise(((t,e)=>{const n=this.indexedDB.open(qi,1);n.onupgradeneeded=()=>Ji(n),n.onsuccess=()=>{const r=n.result,s=r.transaction(Ki,"readonly"),i=s.objectStore(Ki).getAll();i.onsuccess=()=>{const e={};for(const t of i.result)e[t.modelPath]=t.modelArtifactsInfo;t(e)},i.onerror=t=>(r.close(),e(i.error)),s.oncomplete=()=>r.close()},n.onerror=t=>e(n.error)}))}async removeModel(t){var e;return t=(e=t).startsWith(Zi.URL_SCHEME)?e.slice(Zi.URL_SCHEME.length):e,new Promise(((e,n)=>{const r=this.indexedDB.open(qi,1);r.onupgradeneeded=()=>Ji(r),r.onsuccess=()=>{const s=r.result,i=s.transaction(Ki,"readwrite"),a=i.objectStore(Ki),o=a.get(t);let l;o.onsuccess=()=>{if(null==o.result)return s.close(),n(new Error(`Cannot find model with path '${t}' in IndexedDB.`));{const r=a.delete(t),i=()=>{l=s.transaction(Xi,"readwrite");const r=l.objectStore(Xi).delete(t);r.onsuccess=()=>e(o.result.modelArtifactsInfo),r.onerror=t=>n(o.error)};r.onsuccess=i,r.onerror=t=>(i(),s.close(),n(o.error))}},o.onerror=t=>(s.close(),n(o.error)),i.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}},r.onerror=t=>n(r.error)}))}}const ea="/",na="tensorflowjs_models",ra="info",sa="model_topology",ia="weight_specs",aa="weight_data",oa="model_metadata";function la(t){return{info:[na,t,ra].join(ea),topology:[na,t,sa].join(ea),weightSpecs:[na,t,ia].join(ea),weightData:[na,t,aa].join(ea),modelMetadata:[na,t,oa].join(ea)}}function ua(t){for(const e of Object.values(t))window.localStorage.removeItem(e)}function ca(t){const e=t.split(ea);if(e.length<3)throw new Error(`Invalid key format: ${t}`);return e.slice(1,e.length-1).join(ea)}class ha{constructor(t){if(!Gt().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==t||!t)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=t,this.keys=la(this.modelPath)}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const e=JSON.stringify(t.modelTopology),n=JSON.stringify(t.weightSpecs),r=Bi(t);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,e),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(t){if(Li)return Buffer.from(t).toString("base64");const e=new Uint8Array(t);let n="";for(let t=0,r=e.length;t{return Gt().getBool("IS_BROWSER")&&!Array.isArray(t)&&t.startsWith(ha.URL_SCHEME)?(e=t.slice(ha.URL_SCHEME.length),new ha(e)):null;var e};Vi.registerSaveRouter(da),Vi.registerLoadRouter(da);class pa{constructor(){rt(Gt().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),rt("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const t={},e=na+ea,n=ea+ra;for(let r=0;r"scheme must not be undefined or null.")),t.endsWith(fa)&&(t=t.slice(0,t.indexOf(fa))),rt(t.length>0,(()=>"scheme must not be an empty string."));const n=ma.getInstance();rt(null==n.managers[t],(()=>`A model store manager is already registered for scheme '${t}'.`)),n.managers[t]=e}static getManager(t){const e=this.getInstance().managers[t];if(null==e)throw new Error(`Cannot find model manager for scheme '${t}'`);return e}static getSchemes(){return Object.keys(this.getInstance().managers)}}function ga(t){if(-1===t.indexOf(fa))throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ma.getSchemes().join(",")}`);return{scheme:t.split(fa)[0],path:t.split(fa)[1]}}async function ya(t,e,n=!1){rt(t!==e,(()=>`Old path and new path are the same: '${t}'`));const r=Vi.getLoadHandlers(t);rt(r.length>0,(()=>`Copying failed because no load handler is found for source URL ${t}.`)),rt(r.length<2,(()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${t}.`));const s=r[0],i=Vi.getSaveHandlers(e);rt(i.length>0,(()=>`Copying failed because no save handler is found for destination URL ${e}.`)),rt(i.length<2,(()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${e}.`));const a=i[0],o=ga(t).scheme,l=ga(t).path,u=o===ga(t).scheme,c=await s.load();n&&u&&await ma.getManager(o).removeModel(l);const h=await a.save(c);return n&&!u&&await ma.getManager(o).removeModel(l),h.modelArtifactsInfo}async function xa(){const t=ma.getSchemes(),e={};for(const n of t){const t=await ma.getManager(n).listModels();for(const r in t)e[n+fa+r]=t[r]}return e}async function ba(t){const e=ga(t);return ma.getManager(e.scheme).removeModel(e.path)}async function va(t,e){return ya(t,e,!1)}async function wa(t,e){return ya(t,e,!0)}class Sa{fetch(t,e){return fetch(t,e)}now(){return performance.now()}encode(t,e){if("utf-8"!==e&&"utf8"!==e)throw new Error(`Browser's encoder only supports utf-8, but got ${e}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(t)}decode(t,e){return new TextDecoder(e).decode(t)}}if(Gt().get("IS_BROWSER")){Gt().setPlatform("browser",new Sa);try{ma.registerManager(ha.URL_SCHEME,new pa)}catch(t){}try{ma.registerManager(Zi.URL_SCHEME,new ta)}catch(t){}}let Ta;function _a(t,e="float32",n){return e=e||"float32",zt(t),new Ws(t,e,n)}Gt().get("IS_NODE")&&Gt().setPlatform("node",new class{constructor(){this.util=n(1758),this.textEncoder=new this.util.TextEncoder}fetch(t,e){return null!=Gt().global.fetch?Gt().global.fetch(t,e):(null==Ta&&(Ta=n(8352)),Ta(t,e))}now(){const t=process.hrtime();return 1e3*t[0]+t[1]/1e6}encode(t,e){if("utf-8"!==e&&"utf8"!==e)throw new Error(`Node built-in encoder only supports utf-8, but got ${e}`);return this.textEncoder.encode(t)}decode(t,e){return 0===t.length?"":new this.util.TextDecoder(e).decode(t)}});const Ma=ki({cast_:function(t,e){const n=Ti(t,"x","cast");if(!St(e))throw new Error(`Failed to cast to unknown dtype ${e}`);if("string"===e&&"string"!==n.dtype||"string"!==e&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");const r={x:n},s={dtype:e};return pi.runKernel(be,r,s)}}),ka=ki({clone_:function(t){const e={x:Ti(t,"x","clone","string_or_numeric")};return pi.runKernel(cn,e)}});function Ea(t,e=!1){console.log(t.toString(e))}function Ia(t){return new Promise((t=>setTimeout(t))).then(t)}di(),Gs={buffer:_a,cast:Ma,clone:ka,print:Ea};class Ca{constructor(t){if(!Gt().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");t.startsWith(Ca.URL_SCHEME)&&(t=t.slice(Ca.URL_SCHEME.length)),null!=t&&0!==t.length||(t="model"),this.modelJsonFileName=t+".json",this.weightDataFileName=t+".weights.bin"}async save(t){if("undefined"==typeof document)throw new Error("Browser downloads are not supported in this environment since `document` is not present");const e=window.URL.createObjectURL(new Blob([t.weightData],{type:"application/octet-stream"}));if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=Pi(t,[{paths:["./"+this.weightDataFileName],weights:t.weightSpecs}]),r=window.URL.createObjectURL(new Blob([JSON.stringify(n)],{type:"application/json"})),s=null==this.modelJsonAnchor?document.createElement("a"):this.modelJsonAnchor;if(s.download=this.modelJsonFileName,s.href=r,await Ia((()=>s.dispatchEvent(new MouseEvent("click")))),null!=t.weightData){const t=null==this.weightDataAnchor?document.createElement("a"):this.weightDataAnchor;t.download=this.weightDataFileName,t.href=e,await Ia((()=>t.dispatchEvent(new MouseEvent("click"))))}return{modelArtifactsInfo:Bi(t)}}}}Ca.URL_SCHEME="downloads://";class Na{constructor(t){if(null==t||t.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${t}`);this.jsonFile=t[0],this.weightsFiles=t.slice(1)}async load(){return new Promise(((t,e)=>{const n=new FileReader;n.onload=n=>{const r=JSON.parse(n.target.result),s=r.modelTopology;if(null==s)return void e(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));if(null==r.weightsManifest)return void e(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));if(0===this.weightsFiles.length)return void t({modelTopology:s});const i=zi(r,(t=>this.loadWeights(t)));t(i)},n.onerror=t=>e(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)}))}loadWeights(t){const e=[],n=[];for(const r of t)e.push(...r.weights),n.push(...r.paths);const r=this.checkManifestAndWeightFiles(t),s=n.map((t=>this.loadWeightsFile(t,r[t])));return Promise.all(s).then((t=>[e,$i(t)]))}loadWeightsFile(t,e){return new Promise(((n,r)=>{const s=new FileReader;s.onload=t=>{const e=t.target.result;n(e)},s.onerror=e=>r(`Failed to weights data from file of path '${t}'.`),s.readAsArrayBuffer(e)}))}checkManifestAndWeightFiles(t){const e=[],n=this.weightsFiles.map((t=>Oi(t.name))),r={};for(const s of t)s.paths.forEach((t=>{const s=Oi(t);if(-1!==e.indexOf(s))throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(e.push(s),-1===n.indexOf(s))throw new Error(`Weight file with basename '${s}' is not provided.`);r[t]=this.weightsFiles[n.indexOf(s)]}));if(e.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${e.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return r}}function Aa(t){return new Na(t)}function Ra(t,e,n,r){!function(t){rt(null!=t&&Array.isArray(t)&&t.length>0,(()=>"promises must be a none empty array"))}(t),function(t,e){rt(t>=0&&t<=1,(()=>`Progress fraction must be in range [0, 1], but got startFraction ${t}`)),rt(e>=0&&e<=1,(()=>`Progress fraction must be in range [0, 1], but got endFraction ${e}`)),rt(e>=t,(()=>`startFraction must be no more than endFraction, but got startFraction ${t} and endFraction ${e}`))}(n=null==n?0:n,r=null==r?1:r);let s=0;return Promise.all(t.map((i=>(i.then((i=>{const a=n+ ++s/t.length*(r-n);return e(a),i})),i))))}async function Da(t,e){null==e&&(e={});const n=null==e.fetchFunc?Gt().platform.fetch:e.fetchFunc,r=t.map((t=>n(t,e.requestInit,{isBinary:!0}))),s=(null==e.onProgress?await Promise.all(r):await Ra(r,e.onProgress,0,.5)).map((t=>t.arrayBuffer()));return null==e.onProgress?await Promise.all(s):await Ra(s,e.onProgress,.5,1)}async function La(t,e="",n,r){return Fa((t=>Da(t,{requestInit:r})))(t,e,n)}function Fa(t){return async(e,n="",r)=>{const s=e.map((()=>!1)),i={},a=null!=r?r.map((()=>!1)):[],o=[];if(e.forEach(((t,e)=>{let n=0;t.weights.forEach((t=>{const l="quantization"in t?t.quantization.dtype:t.dtype,u=Ni[l]*ot(t.shape),c=()=>{s[e]=!0,null==i[e]&&(i[e]=[]),i[e].push({manifestEntry:t,groupOffset:n,sizeBytes:u})};null!=r?r.forEach(((e,n)=>{e===t.name&&(c(),a[n]=!0)})):c(),o.push(t.name),n+=u}))})),!a.every((t=>t))){const t=r.filter(((t,e)=>!a[e]));throw new Error(`Could not find weights in manifest with names: ${t.join(", ")}. \nManifest JSON has weights with names: ${o.join(", ")}.`)}const l=s.reduce(((t,e,n)=>(e&&t.push(n),t)),[]),u=[];l.forEach((t=>{e[t].paths.forEach((t=>{const e=n+(n.endsWith("/")?"":"/")+t;u.push(e)}))}));const c=await t(u),h={};let d=0;return l.forEach((t=>{const n=e[t].paths.length;let r=0;for(let t=0;t{const e=Ri(s.slice(t.groupOffset,t.groupOffset+t.sizeBytes),[t.manifestEntry]);for(const t in e)h[t]=e[t]})),d+=n})),h}}Vi.registerSaveRouter((t=>Gt().getBool("IS_BROWSER")&&!Array.isArray(t)&&t.startsWith(Ca.URL_SCHEME)?function(t="model"){return new Ca(t)}(t.slice(Ca.URL_SCHEME.length)):null));class $a{constructor(t,e){if(this.DEFAULT_METHOD="POST",null==e&&(e={}),this.weightPathPrefix=e.weightPathPrefix,this.onProgress=e.onProgress,this.weightUrlConverter=e.weightUrlConverter,null!=e.fetchFunc?(rt("function"==typeof e.fetchFunc,(()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)")),this.fetch=e.fetchFunc):this.fetch=Gt().platform.fetch,rt(null!=t&&t.length>0,(()=>"URL path for http must not be null, undefined or empty.")),Array.isArray(t)&&rt(2===t.length,(()=>`URL paths for http must have a length of 2, (actual length is ${t.length}).`)),this.path=t,null!=e.requestInit&&null!=e.requestInit.body)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=e.requestInit||{}}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const e=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);e.body=new FormData;const n=Pi(t,[{paths:["./model.weights.bin"],weights:t.weightSpecs}]);e.body.append("model.json",new Blob([JSON.stringify(n)],{type:"application/json"}),"model.json"),null!=t.weightData&&e.body.append("model.weights.bin",new Blob([t.weightData],{type:"application/octet-stream"}),"model.weights.bin");const r=await this.fetch(this.path,e);if(r.ok)return{modelArtifactsInfo:Bi(t),responses:[r]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${r.status}.`)}async load(){const t=await this.fetch(this.path,this.requestInit);if(!t.ok)throw new Error(`Request to ${this.path} failed with status code ${t.status}. Please verify this URL points to the model JSON of the model to load.`);let e;try{e=await t.json()}catch(t){let e=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?e+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":e+=" Please make sure the server is serving valid JSON for this request.",new Error(e)}const n=e.modelTopology,r=e.weightsManifest;if(null==n&&null==r)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return zi(e,(t=>this.loadWeights(t)))}async loadWeights(t){const e=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=function(t){const e=t.lastIndexOf("/"),n=t.lastIndexOf("?");return[t.substring(0,e)+"/",n>e?t.substring(n):""]}(e),s=this.weightPathPrefix||n,i=[];for(const e of t)i.push(...e.weights);const a=[],o=[];for(const e of t)for(const t of e.paths)null!=this.weightUrlConverter?o.push(this.weightUrlConverter(t)):a.push(s+t+r);return this.weightUrlConverter&&a.push(...await Promise.all(o)),[i,$i(await Da(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress}))]}}function Oa(t){return null!=t.match($a.URL_SCHEME_REGEX)}$a.URL_SCHEME_REGEX=/^https?:\/\//;const Pa=(t,e)=>{if("undefined"==typeof fetch&&(null==e||null==e.fetchFunc))return null;{let n=!0;if(n=Array.isArray(t)?t.every((t=>Oa(t))):Oa(t),n)return za(t,e)}return null};function za(t,e){return new $a(t,e)}function Ba(t,e){return za(t,e)}Vi.registerSaveRouter(Pa),Vi.registerLoadRouter(Pa);class Ua{constructor(t){this.modelArtifacts=t}async load(){return this.modelArtifacts}}class Va{constructor(t){this.saveHandler=t}async save(t){return this.saveHandler(t)}}function Wa(t,e,n,r){return 1===arguments.length?null!=t.modelTopology||null!=t.weightSpecs?new Ua(t):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Ua({modelTopology:t})):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Ua({modelTopology:t,weightSpecs:e,weightData:n,trainingConfig:r}))}function Ha(t){return new Va(t)}const Ga=ki({matMul_:function(t,e,n=!1,r=!1){let s=Ti(t,"a","matMul"),i=Ti(e,"b","matMul");[s,i]=si(s,i);const a={a:s,b:i},o={transposeA:n,transposeB:r};return pi.runKernel(fe,a,o)}}),ja=ki({oneHot_:function(t,e,n=1,r=0){if(e<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${e}`);const s={indices:Ti(t,"indices","oneHot","int32")},i={depth:e,onValue:n,offValue:r};return pi.runKernel(Xn,s,i)}}),qa=ki({transpose_:function(t,e){const n=Ti(t,"x","transpose");if(null==e&&(e=n.shape.map(((t,e)=>e)).reverse()),rt(n.rank===e.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${e}.`)),e.forEach((t=>{rt(t>=0&&t"All entries in 'perm' must be between 0 and "+(n.rank-1)+` but got ${e}`))})),n.rank<=1)return n.clone();const r={x:n},s={perm:e};return pi.runKernel(Gr,r,s)}}),Xa=ki({confusionMatrix_:function(t,e,n){const r=Ti(t,"labels","confusionMatrix"),s=Ti(e,"predictions","confusionMatrix");rt(null==n||n>0&&Number.isInteger(n),(()=>`If provided, numClasses must be a positive integer, but got ${n}`)),rt(1===r.rank,(()=>`Expected the rank of labels to be 1, but got ${r.rank}`)),rt(1===s.rank,(()=>`Expected the rank of predictions to be 1, but got ${s.rank}`)),rt(r.shape[0]===s.shape[0],(()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${s.shape[0]}. Labels and predictions should have the same number of elements.`)),rt(n>0&&Number.isInteger(n),(()=>`numClasses is required to be a positive integer, but got ${n}`));const i=ja(Ma(r,"int32"),n),a=ja(Ma(s,"int32"),n),o=qa(i),l=Ga(o,a);return Ma(l,"int32")}});function Ka(t,e){const n=t.length,r=[];for(let s=0;s1&&1===a&&r.unshift(i)}return r}function Ya(t,e){const n=[];for(let r=0;r1)&&n.unshift(i)}return n}function Ja(t,e){const n=[],r=Math.max(t.length,e.length);for(let s=0;s4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(null==t)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,s=!1,i=!1,a=!1,o=!1;if(t.data instanceof Uint8Array)n=!0;else if("undefined"!=typeof ImageData&&t instanceof ImageData)r=!0;else if("undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement)s=!0;else if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement)i=!0;else if(null!=t.getContext)a=!0;else{if(!("undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap))throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${t.constructor.name}`);o=!0}if(s){const e=2;if(s&&t.readyState element.")}if(null!=as(Jr,pi.backendName)){const n={pixels:t},r={numChannels:e};return pi.runKernel(Jr,n,r)}const[l,u]=s?[t.videoWidth,t.videoHeight]:[t.width,t.height];let c,h;if(a)c=t.getContext("2d").getImageData(0,0,l,u).data;else if(r||n)c=t.data;else if(i||s||o){if(null==Qa)if("undefined"==typeof document){if("undefined"==typeof OffscreenCanvas||"undefined"==typeof OffscreenCanvasRenderingContext2D)throw new Error("Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.");Qa=new OffscreenCanvas(1,1).getContext("2d")}else Qa=document.createElement("canvas").getContext("2d");Qa.canvas.width=l,Qa.canvas.height=u,Qa.drawImage(t,0,0,l,u),c=Qa.getImageData(0,0,l,u).data}if(4===e)h=new Int32Array(c);else{const t=l*u;h=new Int32Array(t*e);for(let n=0;n4||2===i)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${i}`);if("float32"!==n.dtype&&"int32"!==n.dtype)throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const a=await n.data(),o="float32"===n.dtype?255:1,l=new Uint8ClampedArray(s*r*4);for(let t=0;t1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${s}.`)}else if("int32"===n.dtype&&(s<0||s>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${s}.`);1===i?(e[0]=s*o,e[1]=s*o,e[2]=s*o):e[r]=s*o}const r=4*t;l[r+0]=Math.round(e[0]),l[r+1]=Math.round(e[1]),l[r+2]=Math.round(e[2]),l[r+3]=Math.round(e[3])}if(null!=e){e.width=s,e.height=r;const t=e.getContext("2d"),n=new ImageData(l,s,r);t.putImageData(n,0,0)}return n!==t&&n.dispose(),l}const ro=ki({fromPixels_:to});function so(t,e){const n=t.shape.length,r=e.shape.length;if(n<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);if(r<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${r}.`);if("int32"!==e.dtype)throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.shape[r-1]>n)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${e.shape[r-1]} vs. ${n}`);if(0===ot(t.shape))throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${t.shape}.`);const s=e.shape,i=s[s.length-1];let a=1;for(let t=0;tt/u)),1].slice(0,i);return[l,a,u,c]}function io(t,e,n){const r=e.rank>1?e.shape[e.rank-1]:1,s=e.rank>1?e.rank-1:1,i=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${e.shape}, shape: ${t}, sliceDim: ${r}, and batchDim: ${s}.`;if(n.rank1?e.shape[r-1]:1,i=n.length;let a=1;for(let t=s;t`Error in slice${r}D: Length of begin ${e} must match the rank of the array (${r}).`)),rt(r===n.length,(()=>`Error in slice${r}D: Length of size ${n} must match the rank of the array (${r}).`));for(let s=0;s`Error in slice${r}D: begin[${s}] + size[${s}] (${e[s]+n[s]}) would overflow input.shape[${s}] (${t.shape[s]})`))}function uo(t){const e=[];let n=0;for(;t>0;)1&t&&e.push(n),t/=2,n++;return e}function co(t,e,n){const r=[];for(let s=0;s0){const l=e[0],u=n+1;c=go(a,l,u,r,t),h=yo(o,l,u,s,t),d=ho(i,l,u,t)}else for(let e=0;e-1)i[s]=0;else{const a=po(e,n,s);let o=r[a];t&1<-1)i[s]=Number.MAX_SAFE_INTEGER;else{const a=po(e,n,s);let o=r[a];t&1<0?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER);const l=r[s];return a<0&&(a+=l),a=J(0,a,l-1),a}function vo(t,e,n,r,s,i){let a=e[s];const o=n[s]||1;(t&1<0?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER);const l=r[s];return a<0&&(a+=l),a=o>0?J(0,a,l):J(-1,a,l-1),a}function wo(t,e,n){let r=n.length;for(let t=0;t1){r=t;break}for(let s=r+1;s0||n[s]!==t[s])return!1;return!0}function So(t,e){let n=t.length>0?t[t.length-1]:1;for(let r=0;r{rt(-1!==t,(()=>"slice() does not support negative begin indexing."))})),i=null==n?new Array(s).fill(-1):"number"==typeof n?[n,...new Array(s-1).fill(-1)]:n.lengthe>=0?e:(rt(-1===e,(()=>`Negative size values should be exactly -1 but got ${e} for the slice() size at index ${n}.`)),t.shape[n]-r[n]))),[r,i]}function _o(t,e,n,r,s,i,a,o,l){let u;if(null==r?(u=new Array(e.length),u.fill(1)):u=r,null!=a&&0!=(a&a-1))throw new Error("Multiple ellipses in slice is not allowed.");let c=!1;const h={dims:u.length,numAddAxisAfterEllipsis:0,begin:e.slice(),end:n.slice(),strides:u.slice(),beginMask:s,endMask:i,ellipsisMask:a,newAxisMask:o,shrinkAxisMask:l};for(let t=0;t0?0:-1,d.strides[e]>0?r:r-1];if(n&&d.strides[e]<=0)throw Error("only stride 1 allowed on non-range indexing.");m=m&&1===d.strides[e];const a=!!(d.beginMask&1<=r)throw Error(`slice index ${d.begin[e]} of dimension ${e} out of bounds.`)}else d.begin[e]=Mo(d.begin[e],0,d.strides[e],r,s,i),d.end[e]=Mo(d.end[e],1,d.strides[e],r,s,i);const t=1===d.strides[e]&&0===d.begin[e]&&d.end[e]===r;p=p&&t,f=f&&(0===e&&1===d.strides[e]||t)}else p=p&&1===d.strides[e]&&a,f=f&&(0===e&&1===d.strides[e]||a);let o,l=!1;if(d.beginValid&&d.endValid?(o=d.end[e]-d.begin[e],l=!0):n?(o=1,l=!0):a&&r>=0&&(o=d.strides[e]<0?-r:r,l=!0),l){let t;t=0===o||o<0!=d.strides[e]<0?0:Math.trunc(o/d.strides[e])+(o%d.strides[e]!=0?1:0),g.push(t)}else g.push(-1)}for(let t=0;t=0?y.push(g[e]):-2===e&&y.push(1)}return{finalShapeSparse:y.filter(((t,e)=>-2!==d.finalShapeGatherIndices[e])),finalShape:y,isIdentity:p,sliceDim0:f,isSimpleSlice:m,begin:d.begin,end:d.end,strides:d.strides}}function Mo(t,e,n,r,s,i){if(s[e])return n>0?i[e]:i[e+1&1];{const e=t<0?r+t:t;return ei[1]?i[1]:e}}class ko{getClassName(){return this.constructor.className}static fromConfig(t,e){return new t(e)}}class Eo{constructor(){this.classNameMap={}}static getMap(){return null==Eo.instance&&(Eo.instance=new Eo),Eo.instance}static register(t){Eo.getMap().classNameMap[t.className]=[t,t.fromConfig]}}function Io(t){rt(null!=t.className,(()=>"Class being registered does not have the static className property defined.")),rt("string"==typeof t.className,(()=>"className is required to be a string, but got type "+typeof t.className)),rt(t.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),Eo.register(t)}const Co=.1;function No(t,e,n){return null==n&&(n=Ao()),Ro(t,e,((t,e)=>$o(t,e,n)))}function Ao(){return 32===pi.backend.floatPrecision()?.001:Co}function Ro(t,e,n){let r=!0;if((_t(t)||_t(e))&&(r=!1),_t(t)&&_t(e)&&(r=!0),r){const n=t.constructor.name,r=e.constructor.name;if(n!==r)throw new Error(`Arrays are of different type. Actual: ${n}. Expected: ${r}`)}if(Array.isArray(t)&&Array.isArray(e)){const n=vi(t),r=vi(e);if(!ut(n,r))throw new Error(`Arrays have different shapes. Actual: [${n}]. Expected: [${r}]`)}const s=_t(t)?t:at(t),i=_t(e)?e:at(e);if(s.length!==i.length)throw new Error(`Arrays have different lengths actual: ${s.length} vs expected: ${i.length}.\nActual: ${s}.\nExpected: ${i}.`);for(let t=0;te.fail()),(()=>e()))}function Lo(t,e){const n="string"==typeof e||"number"==typeof e||"boolean"==typeof e?[e]:e;return Et(t)||Et(t[0])||Et(e)||Et(e[0])?Ro(t,n,((t,e)=>t==e)):Ro(t,e,((t,e)=>$o(t,e,0)))}function Fo(t,e,n){if(null==n&&(n=Ao()),!$o(t,e,n))throw new Error(`Numbers differ: actual === ${t}, expected === ${e}`)}function $o(t,e,n){return!isFinite(t)&&!isFinite(e)||!(isNaN(t)||isNaN(e)||Math.abs(t-e)>n)}function Oo(t,e,n){for(let r=0;rn)throw new Error(`Value out of range:${t[r]} low: ${e}, high: ${n}`)}function Po(t,e){const n=new Float32Array(t),r=new Float32Array(e);if(n.length!==r.length)throw new Error(`Expected ArrayBuffer to be of length ${r.length}, but it was ${n.length}`);for(let t=0;tt.dispose()))}function Jo(t){return pi.keep(t)}function Zo(t){return pi.time(t)}function Qo(t){return pi.setBackend(t)}function tl(){return pi.ready()}function el(){return pi.backendName}function nl(t){pi.removeBackend(t)}function rl(t){return pi.findBackend(t)}function sl(t){return pi.findBackendFactory(t)}function il(t,e,n=1){return pi.registerBackend(t,e,n)}function al(){return pi.backend}function ol(t,e){Gt().setPlatform(t,e)}js=Ho;const ll=ki({add_:function(t,e){let n=Ti(t,"a","add"),r=Ti(e,"b","add");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(Qt,s)}}),ul=ki({floorDiv_:function(t,e){let n=Ti(t,"a","floorDiv"),r=Ti(e,"b","floorDiv");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(rn,s)}}),cl=ki({div_:function(t,e){let n=Ti(t,"a","div"),r=Ti(e,"b","div");if([n,r]=si(n,r),"int32"===n.dtype&&"int32"===r.dtype)return ul(n,r);const s={a:n,b:r};return pi.runKernel(He,s,{})}}),hl=ki({mul_:function(t,e){let n=Ti(t,"a","mul"),r=Ti(e,"b","mul");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(Un,s)}}),dl=ki({sqrt_:function(t){const e={x:Ti(t,"x","sqrt","float32")};return pi.runKernel(Tr,e)}}),pl=ki({square_:function(t){const e=Ti(t,"x","square");return pi.runKernel("Square",{x:e},{})}}),fl=ki({zerosLike_:function(t){const e={x:Ti(t,"x","zerosLike")};return pi.runKernel(Kr,e)}});function ml(t){return rt(At(t),(()=>"The f passed in grad(f) must be a function")),(e,n)=>{const r=Ti(e,"x","tf.grad","string_or_numeric"),s=null!=n?Ti(n,"dy","tf.grad"):null;return pi.tidy((()=>{const{value:e,grads:n}=pi.gradients((()=>t(r)),[r],s);return null!=s&&st(e.shape,s.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),wl(n),n[0]}))}}function gl(t){return rt(At(t),(()=>"The f passed in grads(f) must be a function")),(e,n)=>{rt(Array.isArray(e),(()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s"));const r=_i(e,"args","tf.grads","string_or_numeric"),s=null!=n?Ti(n,"dy","tf.grads"):null;return pi.tidy((()=>{const{value:e,grads:n}=pi.gradients((()=>t(...r)),r,s);return null!=s&&st(e.shape,s.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),wl(n),n}))}}function yl(t){return rt(At(t),(()=>"The f passed in valueAndGrad(f) must be a function")),(e,n)=>{rt(e instanceof qs,(()=>"The x passed in valueAndGrad(f)(x) must be a tensor")),rt(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor"));const{grads:r,value:s}=pi.gradients((()=>t(e)),[e],n);return wl(r),{grad:r[0],value:s}}}function xl(t){return rt(At(t),(()=>"The f passed in valueAndGrads(f) must be a function")),(e,n)=>{rt(Array.isArray(e)&&e.every((t=>t instanceof qs)),(()=>"The args passed in valueAndGrads(f)(args) must be array of tensors")),rt(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor"));const r=pi.gradients((()=>t(...e)),e,n);return null!=n&&st(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),wl(r.grads),r}}function bl(t,e){rt(At(t),(()=>"The f passed in variableGrads(f) must be a function")),rt(null==e||Array.isArray(e)&&e.every((t=>t instanceof Ks)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=e;if(!n){e=[];for(const t in pi.registeredVariables)e.push(pi.registeredVariables[t])}const r=n?e.filter((t=>!t.trainable)):null,s=e.length;rt((e=e.filter((t=>t.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${s} variables is trainable.`));const{value:i,grads:a}=pi.gradients(t,e,null,!0);rt(a.some((t=>null!=t)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),rt(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const o={};return e.forEach(((t,e)=>{null!=a[e]&&(o[t.name]=a[e])})),null!=r&&r.forEach((t=>o[t.name]=null)),{value:i,grads:o}}function vl(t){return pi.customGrad(t)}function wl(t){if(t.filter((t=>null==t)).length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.")}function Sl(t,e){if((_t(t)&&"string"!==e||Array.isArray(t))&&"complex64"!==e)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===e&&_t(t)&&!(t instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return Ii(t,[],[],e)}class Tl extends ko{minimize(t,e=!1,n){const{value:r,grads:s}=this.computeGradients(t,n);if(null!=n){const t=n.map((t=>({name:t.name,tensor:s[t.name]})));this.applyGradients(t)}else this.applyGradients(s);return Yo(s),e?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(t,e){return bl(t,e)}dispose(){null!=this.iterations_&&Yo(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:Sl(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(t){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(t){return this.iterations_=(await t[0].tensor.data())[0],t.slice(1)}}Object.defineProperty(Tl,Symbol.hasInstance,{value:t=>null!=t.minimize&&null!=t.computeGradients&&null!=t.applyGradients});class _l extends Tl{constructor(t,e,n=null){super(),this.learningRate=t,this.rho=e,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=pi.backend.epsilon())}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${e}/accum_grad`,variable:Ko((()=>fl(r).variable(!1)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${e}/accum_var`,variable:Ko((()=>fl(r).variable(!1)))});const s=Array.isArray(t)?t[n].tensor:t[e];if(null==s)return;const i=this.accumulatedGrads[n].variable,a=this.accumulatedUpdates[n].variable;Ko((()=>{const t=ll(hl(i,this.rho),hl(pl(s),1-this.rho)),e=hl(cl(dl(ll(a,this.epsilon)),dl(ll(i,this.epsilon))),s),n=ll(hl(a,this.rho),hl(pl(e),1-this.rho));i.assign(t),a.assign(n);const o=ll(hl(e,-this.learningRate),r);r.assign(o)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Yo(this.accumulatedGrads.map((t=>t.variable))),Yo(this.accumulatedUpdates.map((t=>t.variable))))}async getWeights(){const t=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(t.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){const e=(t=await this.extractIterations(t)).length/2;this.accumulatedGrads=t.slice(0,e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)}))),this.accumulatedUpdates=t.slice(e,2*e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.rho,e.epsilon)}}function Ml(t,e,n){const r={shape:t,value:e,dtype:n};return pi.runKernel(tn,{},r)}_l.className="Adadelta",Io(_l);class kl extends Tl{constructor(t,e=.1){super(),this.learningRate=t,this.initialAccumulatorValue=e,this.accumulatedGrads=[]}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e];if(null==this.accumulatedGrads[n]){const t=!1;this.accumulatedGrads[n]={originalName:`${e}/accumulator`,variable:Ko((()=>Ml(r.shape,this.initialAccumulatorValue).variable(t)))}}const s=Array.isArray(t)?t[n].tensor:t[e];if(null==s)return;const i=this.accumulatedGrads[n].variable;Ko((()=>{const t=ll(i,pl(s));i.assign(t);const e=ll(hl(cl(s,dl(ll(t,pi.backend.epsilon()))),-this.learningRate),r);r.assign(e)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Yo(this.accumulatedGrads.map((t=>t.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t),this.accumulatedGrads=t.map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(t,e){return new t(e.learningRate,e.initialAccumulatorValue)}}kl.className="Adagrad",Io(kl);const El=ki({pow_:function(t,e){let n=Ti(t,"base","pow"),r=Ti(e,"exp","pow");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(Zn,s)}}),Il=ki({sub_:function(t,e){let n=Ti(t,"a","sub"),r=Ti(e,"b","sub");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(zr,s)}});class Cl extends Tl{constructor(t,e,n,r=null){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],Ko((()=>{this.accBeta1=Sl(e).variable(),this.accBeta2=Sl(n).variable()})),null==r&&(this.epsilon=pi.backend.epsilon())}applyGradients(t){const e=Array.isArray(t)?t.map((t=>t.name)):Object.keys(t);Ko((()=>{const n=Il(1,this.accBeta1),r=Il(1,this.accBeta2);e.forEach(((e,s)=>{const i=pi.registeredVariables[e];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${e}/m`,variable:Ko((()=>fl(i).variable(!1)))}),null==this.accumulatedSecondMoment[s]&&(this.accumulatedSecondMoment[s]={originalName:`${e}/v`,variable:Ko((()=>fl(i).variable(!1)))});const a=Array.isArray(t)?t[s].tensor:t[e];if(null==a)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedSecondMoment[s].variable,u=ll(hl(o,this.beta1),hl(a,1-this.beta1)),c=ll(hl(l,this.beta2),hl(pl(a),1-this.beta2)),h=cl(u,n),d=cl(c,r);o.assign(u),l.assign(c);const p=ll(hl(cl(h,ll(dl(d),this.epsilon)),-this.learningRate),i);i.assign(p)})),this.accBeta1.assign(hl(this.accBeta1,this.beta1)),this.accBeta2.assign(hl(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((t=>t.variable))),null!=this.accumulatedSecondMoment&&Yo(this.accumulatedSecondMoment.map((t=>t.variable)))}async getWeights(){const t=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(t.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t),Ko((()=>{this.accBeta1.assign(El(this.beta1,this.iterations_+1)),this.accBeta2.assign(El(this.beta2,this.iterations_+1))}));const e=t.length/2;this.accumulatedFirstMoment=t.slice(0,e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)}))),this.accumulatedSecondMoment=t.slice(e,2*e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon)}}Cl.className="Adam",Io(Cl);const Nl=ki({abs_:function(t){const e=Ti(t,"x","abs");if("complex64"===e.dtype){const t={x:e};return pi.runKernel(Te,t)}{const t={x:e};return pi.runKernel(Yt,t)}}}),Al=ki({maximum_:function(t,e){let n=Ti(t,"a","maximum"),r=Ti(e,"b","maximum");[n,r]=si(n,r),"bool"===n.dtype&&(n=Ma(n,"int32"),r=Ma(r,"int32")),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Cn,s)}});class Rl extends Tl{constructor(t,e,n,r=null,s=0){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=r,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Ko((()=>{this.iteration=Sl(0).variable(),this.accBeta1=Sl(e).variable()})),null==r&&(this.epsilon=pi.backend.epsilon())}applyGradients(t){const e=Array.isArray(t)?t.map((t=>t.name)):Object.keys(t);Ko((()=>{const n=Il(1,this.accBeta1),r=cl(-this.learningRate,ll(hl(this.iteration,this.decay),1));e.forEach(((e,s)=>{const i=pi.registeredVariables[e];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${e}/m`,variable:fl(i).variable(!1)}),null==this.accumulatedWeightedInfNorm[s]&&(this.accumulatedWeightedInfNorm[s]={originalName:`${e}/v`,variable:fl(i).variable(!1)});const a=Array.isArray(t)?t[s].tensor:t[e];if(null==a)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedWeightedInfNorm[s].variable,u=ll(hl(o,this.beta1),hl(a,1-this.beta1)),c=hl(l,this.beta2),h=Nl(a),d=Al(c,h);o.assign(u),l.assign(d);const p=ll(hl(cl(r,n),cl(u,ll(d,this.epsilon))),i);i.assign(p)})),this.iteration.assign(ll(this.iteration,1)),this.accBeta1.assign(hl(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((t=>t.variable))),null!=this.accumulatedWeightedInfNorm&&Yo(this.accumulatedWeightedInfNorm.map((t=>t.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(t){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon,e.decay)}}Rl.className="Adamax",Io(Rl);class Dl extends Tl{constructor(t){super(),this.learningRate=t,this.setLearningRate(t)}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=Array.isArray(t)?t[n].tensor:t[e];if(null==r)return;const s=pi.registeredVariables[e];Ko((()=>{const t=ll(hl(this.c,r),s);s.assign(t)}))})),this.incrementIterations()}setLearningRate(t){this.learningRate=t,null!=this.c&&this.c.dispose(),this.c=Jo(Sl(-t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(t){if(0!==(t=await this.extractIterations(t)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(t,e){return new t(e.learningRate)}}Dl.className="SGD",Io(Dl);class Ll extends Dl{constructor(t,e,n=!1){super(t),this.learningRate=t,this.momentum=e,this.useNesterov=n,this.accumulations=[],this.m=Sl(this.momentum)}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e];if(null==this.accumulations[n]){const t=!1;this.accumulations[n]={originalName:`${e}/momentum`,variable:Ko((()=>fl(r).variable(t)))}}const s=this.accumulations[n].variable,i=Array.isArray(t)?t[n].tensor:t[e];null!=i&&Ko((()=>{let t;const e=ll(hl(this.m,s),i);t=this.useNesterov?ll(hl(this.c,ll(i,hl(e,this.m))),r):ll(hl(this.c,e),r),s.assign(e),r.assign(t)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Yo(this.accumulations.map((t=>t.variable)))}setMomentum(t){this.momentum=t}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t),this.accumulations=t.map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(t,e){return new t(e.learningRate,e.momentum,e.useNesterov)}}Ll.className="Momentum",Io(Ll);class Fl extends Tl{constructor(t,e=.9,n=0,r=null,s=!1){if(super(),this.learningRate=t,this.decay=e,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,null==r&&(this.epsilon=pi.backend.epsilon()),null==t)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e],s=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${e}/rms`,variable:Ko((()=>fl(r).variable(s)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${e}/momentum`,variable:Ko((()=>fl(r).variable(s)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${e}/mg`,variable:Ko((()=>fl(r).variable(s)))});const i=Array.isArray(t)?t[n].tensor:t[e];if(null==i)return;const a=this.accumulatedMeanSquares[n].variable,o=this.accumulatedMoments[n].variable;Ko((()=>{const t=ll(hl(a,this.decay),hl(pl(i),1-this.decay));if(this.centered){const e=this.accumulatedMeanGrads[n].variable,s=ll(hl(e,this.decay),hl(i,1-this.decay)),l=cl(hl(i,this.learningRate),dl(Il(t,ll(pl(s),this.epsilon)))),u=ll(hl(o,this.momentum),l);a.assign(t),e.assign(s),o.assign(u);const c=Il(r,u);r.assign(c)}else{const t=ll(hl(a,this.decay),hl(pl(i),1-this.decay)),e=ll(hl(o,this.momentum),cl(hl(i,this.learningRate),dl(ll(t,this.epsilon))));a.assign(t),o.assign(e);const n=Il(r,e);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Yo(this.accumulatedMeanSquares.map((t=>t.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Yo(this.accumulatedMeanGrads.map((t=>t.variable))),null!=this.accumulatedMoments&&Yo(this.accumulatedMoments.map((t=>t.variable)))}async getWeights(){const t=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&t.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(t.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t);const e=this.centered?t.length/3:t.length/2,n=!1;this.accumulatedMeanSquares=t.slice(0,e).map((t=>({originalName:t.name,variable:t.tensor.variable(n)}))),this.accumulatedMoments=t.slice(e,2*e).map((t=>({originalName:t.name,variable:t.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=t.slice(2*e,3*e).map((t=>({originalName:t.name,variable:t.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(t,e){return new t(e.learningRate,e.decay,e.momentum,e.epsilon,e.centered)}}Fl.className="RMSProp",Io(Fl);class $l{static sgd(t){return new Dl(t)}static momentum(t,e,n=!1){return new Ll(t,e,n)}static rmsprop(t,e=.9,n=0,r=null,s=!1){return new Fl(t,e,n,r,s)}static adam(t=.001,e=.9,n=.999,r=null){return new Cl(t,e,n,r)}static adadelta(t=.001,e=.95,n=null){return new _l(t,e,n)}static adamax(t=.002,e=.9,n=.999,r=null,s=0){return new Rl(t,e,n,r,s)}static adagrad(t,e=.1){return new kl(t,e)}}const Ol=ki({acos_:function(t){const e={x:Ti(t,"x","acos")};return pi.runKernel(Jt,e)}}),Pl=ki({acosh_:function(t){const e={x:Ti(t,"x","acosh")};return pi.runKernel(Zt,e)}}),zl=ki({addN_:function(t){rt(Array.isArray(t),(()=>"The argument passed to tf.addN() must be a list of tensors")),rt(t.length>=1,(()=>`Must pass at least one tensor to tf.addN(), but got ${t.length}`));const e=t.map(((t,e)=>Ti(t,`tensors${e}`,"addN"))),n=e[0];e.forEach((t=>{if(t.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")})),e.forEach((t=>{if(!ut(t.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")}));const r=e;return pi.runKernel(te,r)}}),Bl=ki({all_:function(t,e=null,n=!1){const r={x:Ti(t,"x","all","bool")},s={axis:e,keepDims:n};return pi.runKernel(ee,r,s)}}),Ul=ki({any_:function(t,e=null,n=!1){const r={x:Ti(t,"x","any","bool")},s={axis:e,keepDims:n};return pi.runKernel(ne,r,s)}}),Vl=ki({argMax_:function(t,e=0){const n={x:Ti(t,"x","argMax")},r={axis:e};return pi.runKernel(re,n,r)}}),Wl=ki({argMin_:function(t,e=0){const n={x:Ti(t,"x","argMin")},r={axis:e};return pi.runKernel(se,n,r)}}),Hl=ki({asin_:function(t){const e={x:Ti(t,"x","asin")};return pi.runKernel(ie,e)}}),Gl=ki({asinh_:function(t){const e={x:Ti(t,"x","asinh")};return pi.runKernel(ae,e)}}),jl=ki({atan_:function(t){const e={x:Ti(t,"x","atan")};return pi.runKernel(oe,e)}}),ql=ki({atan2_:function(t,e){let n=Ti(t,"a","atan2"),r=Ti(e,"b","atan2");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(ue,s)}}),Xl=ki({atanh_:function(t){const e={x:Ti(t,"x","atanh")};return pi.runKernel(le,e)}});function Kl(t,e,n,r,s="NHWC",i){return Zl(t,[...e,t[3]],n,i,r,null,null,ou(s))}function Yl(t,e,n,r,s,i,a="channelsLast"){const[o,l]=eu(e);let u;if("channelsLast"===a)u=[o,l,t[3],t[3]];else{if("channelsFirst"!==a)throw new Error(`Unknown dataFormat ${a}`);u=[o,l,t[1],t[1]]}return Zl(t,u,n,r,s,i,!1,a)}function Jl(t,e,n,r,s,i,a="NDHWC"){const[o,l,u]=nu(e);let c,h;if("NDHWC"===a)h="channelsLast",c=[o,l,u,t[4],t[4]];else{if("NCDHW"!==a)throw new Error(`Unknown dataFormat ${a}`);h="channelsFirst",c=[o,l,u,t[1],t[1]]}return Ql(t,c,n,r,s,!1,h,i)}function Zl(t,e,n,r,s,i,a=!1,o="channelsLast"){let[l,u,c,h]=[-1,-1,-1,-1];if("channelsLast"===o)[l,u,c,h]=t;else{if("channelsFirst"!==o)throw new Error(`Unknown dataFormat ${o}`);[l,h,u,c]=t}const[d,p,,f]=e,[m,g]=eu(n),[y,x]=eu(r),b=ru(d,y),v=ru(p,x),{padInfo:w,outHeight:S,outWidth:T}=function(t,e,n,r,s,i,a,o,l){let u,c,h;if("number"==typeof t){u={top:t,bottom:t,left:t,right:t,type:0===t?"VALID":"NUMBER"};const s=function(t,e,n,r,s){null==r&&(r=tu(t,e,n));const i=t[1];return[su((t[0]-e+2*r)/n+1,s),su((i-e+2*r)/n+1,s)]}([e,n],i,r,t,o);c=s[0],h=s[1]}else if("same"===t){c=Math.ceil(e/r),h=Math.ceil(n/s);const t=Math.max(0,(c-1)*r+i-e),o=Math.max(0,(h-1)*s+a-n),l=Math.floor(t/2),d=t-l,p=Math.floor(o/2);u={top:l,bottom:d,left:p,right:o-p,type:"SAME"}}else if("valid"===t)u={top:0,bottom:0,left:0,right:0,type:"VALID"},c=Math.ceil((e-i+1)/r),h=Math.ceil((n-a+1)/s);else{if("object"!=typeof t)throw Error(`Unknown padding parameter: ${t}`);{const d="channelsLast"===l?t[1][0]:t[2][0],p="channelsLast"===l?t[1][1]:t[2][1],f="channelsLast"===l?t[2][0]:t[3][0],m="channelsLast"===l?t[2][1]:t[3][1];u={top:d,bottom:p,left:f,right:m,type:0===d&&0===p&&0===f&&0===m?"VALID":"EXPLICIT"},c=su((e-i+d+p)/r+1,o),h=su((n-a+f+m)/s+1,o)}}return{padInfo:u,outHeight:c,outWidth:h}}(s,u,c,m,g,b,v,i,o),_=a?f*h:f;let M;return"channelsFirst"===o?M=[l,_,S,T]:"channelsLast"===o&&(M=[l,S,T,_]),{batchSize:l,dataFormat:o,inHeight:u,inWidth:c,inChannels:h,outHeight:S,outWidth:T,outChannels:_,padInfo:w,strideHeight:m,strideWidth:g,filterHeight:d,filterWidth:p,effectiveFilterHeight:b,effectiveFilterWidth:v,dilationHeight:y,dilationWidth:x,inShape:t,outShape:M,filterShape:e}}function Ql(t,e,n,r,s,i=!1,a="channelsLast",o){let[l,u,c,h,d]=[-1,-1,-1,-1,-1];if("channelsLast"===a)[l,u,c,h,d]=t;else{if("channelsFirst"!==a)throw new Error(`Unknown dataFormat ${a}`);[l,d,u,c,h]=t}const[p,f,m,,g]=e,[y,x,b]=nu(n),[v,w,S]=nu(r),T=ru(p,v),_=ru(f,w),M=ru(m,S),{padInfo:k,outDepth:E,outHeight:I,outWidth:C}=function(t,e,n,r,s,i,a,o,l,u,c){let h,d,p,f;if("number"==typeof t){h={top:t,bottom:t,left:t,right:t,front:t,back:t,type:0===t?"VALID":"NUMBER"};const i=function(t,e,n,r,s,i){null==s&&(s=tu(t,e,r));const a=t[1],o=t[2];return[su((t[0]-e+2*s)/r+1,i),su((a-e+2*s)/r+1,i),su((o-e+2*s)/r+1,i),1]}([e,n,r,1],o,0,s,t,c);d=i[0],p=i[1],f=i[2]}else if("same"===t){d=Math.ceil(e/s),p=Math.ceil(n/i),f=Math.ceil(r/a);const t=(d-1)*s+o-e,c=(p-1)*i+l-n,m=(f-1)*a+u-r,g=Math.floor(t/2),y=t-g,x=Math.floor(c/2),b=c-x,v=Math.floor(m/2);h={top:x,bottom:b,left:v,right:m-v,front:g,back:y,type:"SAME"}}else{if("valid"!==t)throw Error(`Unknown padding parameter: ${t}`);h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},d=Math.ceil((e-o+1)/s),p=Math.ceil((n-l+1)/i),f=Math.ceil((r-u+1)/a)}return{padInfo:h,outDepth:d,outHeight:p,outWidth:f}}(s,u,c,h,y,x,b,T,_,M,o),N=i?g*d:g;let A;return"channelsFirst"===a?A=[l,N,E,I,C]:"channelsLast"===a&&(A=[l,E,I,C,N]),{batchSize:l,dataFormat:a,inDepth:u,inHeight:c,inWidth:h,inChannels:d,outDepth:E,outHeight:I,outWidth:C,outChannels:N,padInfo:k,strideDepth:y,strideHeight:x,strideWidth:b,filterDepth:p,filterHeight:f,filterWidth:m,effectiveFilterDepth:T,effectiveFilterHeight:_,effectiveFilterWidth:M,dilationDepth:v,dilationHeight:w,dilationWidth:S,inShape:t,outShape:A,filterShape:e}}function tu(t,e,n,r=1){const s=ru(e,r);return Math.floor((t[0]*(n-1)-n+s)/2)}function eu(t){return"number"==typeof t?[t,t,t]:2===t.length?[t[0],t[1],1]:t}function nu(t){return"number"==typeof t?[t,t,t]:t}function ru(t,e){return e<=1?t:t+(t-1)*(e-1)}function su(t,e){if(!e)return Math.trunc(t);switch(e){case"round":return Math.round(t);case"ceil":return Math.ceil(t);case"floor":return Math.floor(t);default:throw new Error(`Unknown roundingMode ${e}`)}}function iu(t){const[e,n,r]=eu(t);return 1===e&&1===n&&1===r}function au(t,e){return iu(t)||iu(e)}function ou(t){if("NHWC"===t)return"channelsLast";if("NCHW"===t)return"channelsFirst";throw new Error(`Unknown dataFormat ${t}`)}function lu(t,e,n){if(null!=n){if("string"==typeof e)throw Error(`Error in ${t}: pad must be an integer when using dimRoundingMode ${n} but got pad ${e}.`);if("number"==typeof e)rt(ct(e),(()=>`Error in ${t}: pad must be an integer when using dimRoundingMode ${n} but got pad ${e}.`));else{if("object"!=typeof e)throw Error(`Error in ${t}: Unknown padding parameter: ${e}`);e.forEach((e=>{e.forEach((e=>{rt(ct(e),(()=>`Error in ${t}: pad must be an integer when using dimRoundingMode ${n} but got pad ${e}.`))}))}))}}}const uu=ki({reshape_:function(t,e){const n={x:Ti(t,"x","reshape","string_or_numeric")},r={shape:e};return pi.runKernel(ir,n,r)}}),cu=ki({avgPool_:function(t,e,n,r,s){const i=Ti(t,"x","avgPool","float32");rt(au(n,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`));let a=i,o=!1;3===i.rank&&(o=!0,a=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]])),rt(4===a.rank,(()=>`Error in avgPool: x must be rank 4 but got rank ${a.rank}.`)),lu("avgPool",r,s);const l={x:a},u={filterSize:e,strides:n,pad:r,dimRoundingMode:s};let c=pi.runKernel(ce,l,u);return c=Ma(c,i.dtype),o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),hu=ki({avgPool3d_:function(t,e,n,r,s,i="NDHWC"){const a=Ti(t,"x","avgPool3d","float32");let o=a,l=!1;4===a.rank&&(l=!0,o=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),rt(5===o.rank,(()=>`Error in avgPool3d: x must be rank 5 but got rank ${o.rank}.`)),rt("NDHWC"===i,(()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`)),lu("avgPool3d",r,s);const u={x:o},c={filterSize:e,strides:n,pad:r,dimRoundingMode:s,dataFormat:i};let h=pi.runKernel(de,u,c);return h=Ma(h,o.dtype),l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),du=ki({concat_:function(t,e=0){rt(t.length>=1,(()=>"Pass at least one tensor to concat"));const n=_i(t,"tensors","concat","string_or_numeric");if("complex64"===n[0].dtype&&n.forEach((t=>{if("complex64"!==t.dtype)throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${t.dtype}. `)})),1===n.length)return ka(n[0]);const r=n,s={axis:e};return pi.runKernel(_e,r,s)}}),pu=ki({sigmoid_:function(t){const e={x:Ti(t,"x","sigmoid","float32")};return pi.runKernel(wr,e)}}),fu=ki({slice_:function(t,e,n){const r=Ti(t,"x","slice","string_or_numeric");if(0===r.rank)throw new Error("Slicing scalar is not possible");const s={x:r},i={begin:e,size:n};return pi.runKernel(yr,s,i)}}),mu=ki({tanh_:function(t){const e={x:Ti(t,"x","tanh","float32")};return pi.runKernel(Ur,e)}}),gu=ki({basicLSTMCell_:function(t,e,n,r,s,i){const a=Ti(t,"forgetBias","basicLSTMCell"),o=Ti(e,"lstmKernel","basicLSTMCell"),l=Ti(n,"lstmBias","basicLSTMCell"),u=Ti(r,"data","basicLSTMCell"),c=Ti(s,"c","basicLSTMCell"),h=Ti(i,"h","basicLSTMCell"),d=du([u,h],1),p=Ga(d,o),f=ll(p,l),m=f.shape[0],g=f.shape[1]/4,y=[m,g],x=fu(f,[0,0],y),b=fu(f,[0,g],y),v=fu(f,[0,2*g],y),w=fu(f,[0,3*g],y),S=ll(hl(pu(x),mu(b)),hl(c,pu(ll(a,v))));return[S,hl(mu(S),pu(w))]}}),yu=ki({batchToSpaceND_:function(t,e,n){const r=Ti(t,"x","batchToSpaceND"),s=e.reduce(((t,e)=>t*e));rt(r.rank>=1+e.length,(()=>`input rank is ${r.rank} but should be > than blockShape.length ${e.length}`)),rt(n.length===e.length,(()=>`crops.length is ${n.length} but should be equal to blockShape.length ${e.length}`)),rt(r.shape[0]%s==0,(()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${e.join(" * ")} === ${s}`));const i={x:r},a={blockShape:e,crops:n};return pi.runKernel(me,i,a)}}),xu=ki({batchNorm_:function(t,e,n,r,s,i){null==i&&(i=.001);const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(o.rank===l.rank,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),rt(null==c||o.rank===c.rank,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),rt(null==u||o.rank===u.rank,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));const h={x:function(t){let e;return e=0===t.rank||1===t.rank?uu(t,[1,1,1,t.size]):2===t.rank?uu(t,[1,1,t.shape[0],t.shape[1]]):3===t.rank?uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]):t,e}(a),scale:u,offset:c,mean:o,variance:l},d={varianceEpsilon:i},p=pi.runKernel(sn,h,d);return uu(p,a.shape)}}),bu=ki({batchNorm2d_:function(t,e,n,r,s,i){const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(2===a.rank,(()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`)),rt(2===o.rank||1===o.rank,(()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${o.rank}.`)),rt(2===l.rank||1===l.rank,(()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${l.rank}.`)),null!=u&&rt(2===u.rank||1===u.rank,(()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`)),null!=c&&rt(2===c.rank||1===c.rank,(()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`)),xu(a,o,l,c,u,i)}}),vu=ki({batchNorm3d_:function(t,e,n,r,s,i){const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(3===a.rank,(()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`)),rt(3===o.rank||1===o.rank,(()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${o.rank}.`)),rt(3===l.rank||1===l.rank,(()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${l.rank}.`)),null!=u&&rt(3===u.rank||1===u.rank,(()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`)),null!=c&&rt(3===c.rank||1===c.rank,(()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`)),xu(a,o,l,c,u,i)}}),wu=ki({batchNorm4d_:function(t,e,n,r,s,i){const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(4===a.rank,(()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`)),rt(4===o.rank||1===o.rank,(()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${o.rank}.`)),rt(4===l.rank||1===l.rank,(()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${l.rank}.`)),null!=u&&rt(4===u.rank||1===u.rank,(()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`)),null!=c&&rt(4===c.rank||1===c.rank,(()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`)),xu(a,o,l,c,u,i)}}),Su=ki({bincount_:function(t,e,n){const r=Ti(t,"x","bincount"),s=Ti(e,"weights","bincount");rt("int32"===r.dtype,(()=>`Error in bincount: input dtype must be int32, but got ${r.dtype}`)),rt(n>=0,(()=>`size must be non-negative, but got ${n}.`)),rt(s.size===r.size||0===s.size,(()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${r.shape}, weights shape: ${s.shape}.`));const i={x:r,weights:s},a={size:n};return pi.runKernel(ge,i,a)}}),Tu=ki({broadcastArgs_:function(t,e){const n=Ti(t,"s0","broadcastArgs","int32"),r=Ti(e,"s1","broadcastArgs","int32");if(1!==n.rank)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${n.rank}`);if(1!==r.rank)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${r.rank}`);const s={s0:n,s1:r};return pi.runKernel(xe,s)}}),_u=ki({broadcastTo_:function(t,e){let n=Ti(t,"broadcastTo","x");const r=n.shape;if(e.some((t=>!(t>0)||t%1!=0)))throw new Error(`broadcastTo(): Invalid broadcast shape [${e}].`);if(e.lengthn.rank){const t=n.shape.slice();for(;t.length=0;t--)if(s[t]===e[t])i[t]=1;else if(1!==n.shape[t])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${e}].`);if(0===i.map(((t,e)=>t>1?e:-1)).filter((t=>t>=0)).length)return ka(n);const a={x:n},o={reps:i};return pi.runKernel(Vr,a,o)}}),Mu=ki({ceil_:function(t){const e={x:Ti(t,"x","ceil","float32")};return pi.runKernel(ve,e)}}),ku=ki({clipByValue_:function(t,e,n){const r=Ti(t,"x","clipByValue");rt(e<=n,(()=>`Error in clip: min (${e}) must be less than or equal to max (${n}).`));const s={x:r},i={clipValueMin:e,clipValueMax:n};return pi.runKernel(we,s,i)}}),Eu=ki({concat1d_:function(t){return du(t,0)}}),Iu=ki({concat2d_:function(t,e){return du(t,e)}}),Cu=ki({concat3d_:function(t,e){return du(t,e)}}),Nu=ki({concat4d_:function(t,e){return du(t,e)}}),Au=ki({conv2d_:function(t,e,n,r,s="NHWC",i=[1,1],a){const o=Ti(t,"x","conv2d","float32"),l=Ti(e,"filter","conv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),rt(4===u.rank,(()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`)),rt(4===l.rank,(()=>`Error in conv2d: filter must be rank 4, but got rank ${l.rank}.`)),lu("conv2d",r,a);const h="NHWC"===s?u.shape[3]:u.shape[1];rt(h===l.shape[2],(()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${l.shape[2]}.`)),rt(au(n,i),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`));const d={x:u,filter:l},p={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a},f=pi.runKernel(Me,d,p);return c?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Ru=ki({conv1d_:function(t,e,n,r,s="NWC",i=1,a){const o=Ti(t,"x","conv1d"),l=Ti(e,"filter","conv1d");let u=o,c=!1;2===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1]])),rt(3===u.rank,(()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`)),rt(3===l.rank,(()=>`Error in conv1d: filter must be rank 3, but got rank ${l.rank}.`)),lu("conv1d",r,a),rt(u.shape[2]===l.shape[1],(()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${l.shape[1]}.`)),rt(au(n,i),(()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${i}'`)),rt("NWC"===s,(()=>`Error in conv1d: got dataFormat of ${s} but only NWC is currently supported.`));const h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2]]),d=uu(u,[u.shape[0],1,u.shape[1],u.shape[2]]),p=Au(d,h,[1,n],r,"NHWC",[1,i],a);return uu(p,c?[p.shape[2],p.shape[3]]:[p.shape[0],p.shape[2],p.shape[3]])}}),Du=ki({conv2DBackpropInput_:function(t,e,n,r,s,i="NHWC",a){rt(t.length===e.rank,(()=>`Length of inShape (${t.length}) and rank of dy (${e.rank}) must match`));let o=t,l=e,u=!1;3===e.rank&&(u=!0,l=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]),o=[1,t[0],t[1],t[2]]),rt(4===o.length,(()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${o.length}.`)),rt(4===l.rank,(()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${l.rank}`)),rt(4===n.rank,(()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`));const c="NHWC"===i?o[3]:o[1],h="NHWC"===i?l.shape[3]:l.shape[1];rt(c===n.shape[2],(()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[2]}.`)),rt(h===n.shape[3],(()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`)),lu("conv2dDerInput",s,a);const d={dy:l,filter:n},p={strides:r,pad:s,dataFormat:i,dimRoundingMode:a,inputShape:o},f=pi.runKernel(Ee,d,p);return u?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Lu=ki({conv2dTranspose_:function(t,e,n,r,s,i){const a=Ti(t,"x","conv2dTranspose"),o=Ti(e,"filter","conv2dTranspose");return Du(n,a,o,r,s,"NHWC",i)}}),Fu=ki({conv3d_:function(t,e,n,r,s="NDHWC",i=[1,1,1]){const a=Ti(t,"x","conv3d"),o=Ti(e,"filter","conv3d");let l=a,u=!1;4===a.rank&&(u=!0,l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),rt(5===l.rank,(()=>`Error in conv3d: input must be rank 5, but got rank ${l.rank}.`)),rt(5===o.rank,(()=>`Error in conv3d: filter must be rank 5, but got rank ${o.rank}.`)),rt(l.shape[4]===o.shape[3],(()=>`Error in conv3d: depth of input (${l.shape[4]}) must match input depth for filter ${o.shape[3]}.`)),rt(au(n,i),(()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`)),rt("NDHWC"===s,(()=>`Error in conv3d: got dataFormat of ${s} but only NDHWC is currently supported.`));const c={x:l,filter:o},h={strides:n,pad:r,dataFormat:s,dilations:i},d=pi.runKernel(Ie,c,h);return u?uu(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}}),$u=ki({conv3DBackpropInput_:function(t,e,n,r,s){rt(t.length===e.rank,(()=>`Length of inShape (${t.length}) and rank of dy (${e.rank}) must match`));let i=t,a=e,o=!1;4===e.rank&&(o=!0,a=uu(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]),i=[1,t[0],t[1],t[2],t[3]]);const l=i[4],u=a.shape[4];rt(5===i.length,(()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${i.length}.`)),rt(5===a.rank,(()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`)),rt(5===n.rank,(()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`)),rt(l===n.shape[3],(()=>`Error in conv3dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[3]}.`)),rt(u===n.shape[4],(()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${n.shape[4]}.`));const c={dy:a,filter:n},h={pad:s,strides:r,inputShape:i},d=pi.runKernel(Ne,c,h);return o?uu(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}}),Ou=ki({conv3dTranspose_:function(t,e,n,r,s){const i=Ti(t,"x","conv3dTranspose"),a=Ti(e,"filter","conv3dTranspose");return $u(n,i,a,r,s)}}),Pu=ki({cos_:function(t){const e={x:Ti(t,"x","cos","float32")};return pi.runKernel(Ae,e)}}),zu=ki({cosh_:function(t){const e={x:Ti(t,"x","cosh","float32")};return pi.runKernel(Re,e)}}),Bu=ki({cumsum_:function(t,e=0,n=!1,r=!1){const s={x:Ti(t,"x","cumsum")},i={axis:e,exclusive:n,reverse:r};return pi.runKernel(De,s,i)}}),Uu=ki({denseBincount_:function(t,e,n,r=!1){const s=Ti(t,"x","denseBincount"),i=Ti(e,"weights","denseBincount");rt("int32"===s.dtype,(()=>`Error in denseBincount: input dtype must be int32, but got ${s.dtype}`)),rt(s.rank<=2,(()=>`Error in denseBincount: input must be at most rank 2, but got rank ${s.rank}.`)),rt(n>=0,(()=>`size must be non-negative, but got ${n}.`)),rt(i.size===s.size||0===i.size,(()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${s.shape}, weights shape: ${i.shape}.`));const a={x:s,weights:i},o={size:n,binaryOutput:r};return pi.runKernel(Fe,a,o)}}),Vu=ki({depthToSpace_:function(t,e,n="NHWC"){const r=Ti(t,"x","depthToSpace","float32"),s="NHWC"===n?r.shape[1]:r.shape[2],i="NHWC"===n?r.shape[2]:r.shape[3],a="NHWC"===n?r.shape[3]:r.shape[1];rt(e>1,(()=>`blockSize should be > 1 for depthToSpace, but was: ${e}`)),rt(s*e>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${e} for depthToSpace with input shape\n ${r.shape}`)),rt(i*e>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${i} and ${e} for depthToSpace with input shape\n ${r.shape}`)),rt(a%(e*e)==0,(()=>`Dimension size must be evenly divisible by ${e*e} but is ${a} for depthToSpace with input shape ${r.shape}`));const o={x:r},l={blockSize:e,dataFormat:n};return pi.runKernel($e,o,l)}}),Wu=ki({depthwiseConv2d_:function(t,e,n,r,s="NHWC",i=[1,1],a){const o=Ti(t,"x","depthwiseConv2d","float32"),l=Ti(e,"filter","depthwiseConv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),rt(4===u.rank,(()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`)),rt(4===l.rank,(()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${l.rank}.`)),rt(u.shape[3]===l.shape[2],(()=>`Error in depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`)),lu("depthwiseConv2d",r,a);const h={x:u,filter:l},d={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a},p=pi.runKernel(Oe,h,d);return c?uu(p,[p.shape[1],p.shape[2],p.shape[3]]):p}}),Hu=ki({diag_:function(t){const e={x:Ti(t,"x","diag")};return pi.runKernel(Be,e)}}),Gu=ki({dilation2d_:function(t,e,n,r,s=[1,1],i="NHWC"){const a=Ti(t,"x","dilation2d"),o=Ti(e,"filter","dilation2d");rt(3===a.rank||4===a.rank,(()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`)),rt(3===o.rank,(()=>`Error in dilation2d: filter must be rank 3, but got rank ${o.rank}.`)),rt("NHWC"===i,(()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${i}`));let l=a,u=!1;3===a.rank&&(l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]]),u=!0);const c={x:l,filter:o},h={strides:n,pad:r,dilations:s},d=pi.runKernel(Ue,c,h);return u?uu(d,[d.shape[1],d.shape[2],d.shape[3]]):d}}),ju=ki({equal_:function(t,e){let n=Ti(t,"a","equal","string_or_numeric"),r=Ti(e,"b","equal","string_or_numeric");[n,r]=si(n,r),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Ke,s)}}),qu=ki({where_:function(t,e,n){const r=Ti(e,"a","where"),s=Ti(n,"b","where"),i=Ti(t,"condition","where","bool"),a=Ja(Ja(i.shape,r.shape),s.shape),o={condition:_u(i,a),t:_u(r,a),e:_u(s,a)};return pi.runKernel(mr,o)}}),Xu=ki({divNoNan_:function(t,e){let n=Ti(t,"a","div"),r=Ti(e,"b","div");[n,r]=si(n,r);const s=cl(n,r),i=fl(s),a=ju(r,i);return qu(a,i,s)}}),Ku=ki({dot_:function(t,e){const n=Ti(t,"t1","dot"),r=Ti(e,"t2","dot");rt(!(1!==n.rank&&2!==n.rank||1!==r.rank&&2!==r.rank),(()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`));const s=1===n.rank?n.size:n.shape[1],i=1===r.rank?r.size:r.shape[0];if(rt(s===i,(()=>`Error in dot: inner dimensions of inputs must match, but got ${s} and ${i}.`)),1===n.rank&&1===r.rank){const t=uu(n,[1,-1]),e=uu(r,[-1,1]),s=Ga(t,e);return uu(s,[])}if(1===n.rank&&2===r.rank){const t=uu(n,[1,-1]),e=uu(r,[r.shape[0],r.shape[1]]),s=Ga(t,e);return uu(s,[s.size])}if(2===n.rank&&1===r.rank){const t=uu(r,[-1,1]),e=Ga(n,t);return uu(e,[e.size])}{const t=uu(r,[r.shape[0],r.shape[1]]);return Ga(n,t)}}}),Yu=ki({einsum_:function(t,...e){const n=e.map(((t,e)=>Ti(t,`tensors${e}`,"einsum"))),r={equation:t};return pi.runKernel(Ge,n,r)}}),Ju=ki({elu_:function(t){const e={x:Ti(t,"x","elu","float32")};return pi.runKernel(je,e)}}),Zu=ki({erf_:function(t){let e=Ti(t,"x","erf");rt("int32"===e.dtype||"float32"===e.dtype,(()=>"Input dtype must be `int32` or `float32`.")),"int32"===e.dtype&&(e=Ma(e,"float32"));const n={x:e};return pi.runKernel(Xe,n)}}),Qu=ki({exp_:function(t){const e={x:Ti(t,"x","exp")};return pi.runKernel(Ye,e)}}),tc=ki({expandDims_:function(t,e=0){const n=Ti(t,"x","expandDims","string_or_numeric");rt(e<=n.rank,(()=>"Axis must be <= rank of the tensor"));const r={input:n},s={dim:e};return pi.runKernel(Je,r,s)}}),ec=ki({expm1_:function(t){const e={x:Ti(t,"x","expm1")};return pi.runKernel(Ze,e)}}),nc=ki({tile_:function(t,e){const n=Ti(t,"x","tile","string_or_numeric");rt(n.rank===e.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of reps ${e}.`));const r={x:n},s={reps:e};return pi.runKernel(Vr,r,s)}}),rc=ki({eye_:function(t,e,n,r="float32"){null==e&&(e=t);const s=_a([t,e],r),i=t<=e?t:e;for(let t=0;t`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${i.rank}.`)),rt(ct(e),(()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${e}.`));let a=i,o=!1;3===i.rank&&(o=!0,a=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]]));const l={x:a},u={depthRadius:e,bias:n,alpha:r,beta:s},c=pi.runKernel(kn,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),yc=ki({log_:function(t){const e={x:Ti(t,"x","log","float32")};return pi.runKernel(vn,e)}}),xc=ki({log1p_:function(t){const e={x:Ti(t,"x","log1p")};return pi.runKernel(wn,e)}}),bc=ki({neg_:function(t){const e={x:Ti(t,"x","neg")};return pi.runKernel(Vn,e)}}),vc=ki({softplus_:function(t){const e={x:Ti(t,"x","softplus")};return pi.runKernel(Sr,e)}}),wc=ki({logSigmoid_:function(t){const e=Ti(t,"x","logSigmoid");return vl((t=>({value:bc(vc(bc(t))),gradFunc:e=>hl(e,pu(bc(t)))})))(e)}}),Sc=ki({max_:function(t,e=null,n=!1){const r={x:Ti(t,"x","max")},s={reductionIndices:e,keepDims:n};return pi.runKernel(In,r,s)}}),Tc=ki({sum_:function(t,e=null,n=!1){let r=Ti(t,"x","sum");"bool"===r.dtype&&(r=Ma(r,"int32"));const s={x:r},i={axis:e,keepDims:n};return pi.runKernel(_r,s,i)}}),_c=ki({logSoftmax_:function(t,e=-1){const n=Ti(t,"logits","logSoftmax");if(-1===e&&(e=n.rank-1),e!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${e}`);return vl(((t,n)=>{const r=Sc(t,e,!0),s=Il(t,r),i=Il(Ma(s,"float32"),yc(Tc(Qu(s),e,!0)));return n([i]),{value:i,gradFunc:(t,n)=>{const[r]=n,s=Qu(r);return Il(t,hl(Tc(t,e,!0),s))}}}))(n)}});function Mc(t,e){for(let n=0;nt[e]))]}function Ic(t,e){return kc(t,e.map((t=>1)),e)}function Cc(t,e,n){rt(Mc(e,n),(()=>`${t} supports only inner-most axes for now. Got axes ${e} and rank-${n} input.`))}function Nc(t,e){if(Mc(t,e))return null;const n=[];for(let r=0;rn.push(t))),n}function Ac(t){return t.map(((t,e)=>[e,t])).sort(((t,e)=>t[1]-e[1])).map((t=>t[0]))}function Rc(t,e){const n=[];for(let r=e-t;r`Error in maxPool: input must be rank 4 but got rank ${a.rank}.`)),rt(au(n,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`)),lu("maxPool",r,s);const l={x:a},u={filterSize:e,strides:n,pad:r,dimRoundingMode:s},c=pi.runKernel(Nn,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),zc=ki({maxPool3d_:function(t,e=[1,1,1],n,r,s,i="NDHWC"){const a=Ti(t,"x","maxPool3d");let o=a,l=!1;4===a.rank&&(l=!0,o=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),rt(5===o.rank,(()=>`Error in maxPool3d: x must be rank 5 but got rank ${o.rank}.`)),rt("NDHWC"===i,(()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`)),lu("maxPool3d",r,s);const u={x:o},c={filterSize:e,strides:n,pad:r,dimRoundingMode:s,dataFormat:i},h=pi.runKernel(Rn,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),Bc=ki({maxPoolWithArgmax_:function(t,e,n,r,s=!1){const i={x:Ti(t,"x","maxPoolWithArgmax")},a={filterSize:e,strides:n,pad:r,includeBatchInIndex:s},o=pi.runKernel(Ln,i,a);return{result:o[0],indexes:o[1]}}}),Uc=ki({mean_:function(t,e=null,n=!1){const r={x:Ti(t,"x","mean")},s={axis:e,keepDims:n};return pi.runKernel(Fn,r,s)}});function Vc(t,e="float32"){if("complex64"===e){const e=Vc(t,"float32"),n=Vc(t,"float32");return Ei(e,n)}const n=Ot(ot(t),e);return pi.makeTensor(n,t,e)}function Wc(t,e="float32"){if("complex64"===e){const e=Wc(t,"float32"),n=Vc(t,"float32");return Ei(e,n)}const n=$t(ot(t),e);return pi.makeTensor(n,t,e)}function Hc(t,e,{indexing:n="xy"}={}){if("xy"!==n&&"ij"!==n)throw new TypeError(`${n} is not a valid third argument to meshgrid`);if(void 0===t)return[];let r=Ti(t,"x","meshgrid",t instanceof qs?t.dtype:"float32");if(void 0===e)return[r];let s=Ti(e,"y","meshgrid",e instanceof qs?e.dtype:"float32");const i=ot(r.shape),a=ot(s.shape);return"xy"===n?(r=uu(r,[1,-1]),s=uu(s,[-1,1]),[Ga(Wc([a,1],r.dtype),r),Ga(s,Wc([1,i],s.dtype))]):(r=uu(r,[-1,1]),s=uu(s,[1,-1]),[Ga(r,Wc([1,a],r.dtype)),Ga(Wc([i,1],s.dtype),s)])}const Gc=ki({min_:function(t,e=null,n=!1){const r={x:Ti(t,"x","min")},s={axis:e,keepDims:n};return pi.runKernel($n,r,s)}}),jc=ki({minimum_:function(t,e){let n=Ti(t,"a","minimum"),r=Ti(e,"b","minimum");[n,r]=si(n,r),"bool"===n.dtype&&(n=Ma(n,"int32"),r=Ma(r,"int32")),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(On,s)}}),qc=ki({mirrorPad_:function(t,e,n){rt("reflect"===n||"symmetric"===n,(()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${n}.`));const r=Ti(t,"x","mirrorPad");if(0===r.rank)throw new Error("mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad");rt(e.length===r.rank,(()=>`Padding doesn't match input. Must be ${r.rank}. Got ${e.length}.`));const s="reflect"===n?1:0;for(let t=0;t"Invalid number of paddings. Must be length of 2 each.")),rt(e[t][0]>=0&&e[t][0]<=r.shape[t]-s&&e[t][1]>=0&&e[t][1]<=r.shape[t]-s,(()=>`Padding in dimension ${t} cannot be greater than or equal to ${r.shape[t]-s} or less than 0 for input of shape ${r.shape}`));const i={paddings:e,mode:n},a={x:r};return pi.runKernel(Pn,a,i)}}),Xc=ki({mod_:function(t,e){let n=Ti(t,"a","mod"),r=Ti(e,"b","mod");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(zn,s)}}),Kc=ki({moments_:function(t,e=null,n=!1){const r=yt(e,(t=Ti(t,"x","moments")).shape),s=Uc(t,r,n);let i=s.shape;n||(i=Ic(s.shape,r));const a=pl(Il(Ma(t,"float32"),uu(s,i)));return{mean:s,variance:Uc(a,r,n)}}}),Yc=ki({multiRNNCell_:function(t,e,n,r){const s=Ti(e,"data","multiRNNCell"),i=_i(n,"c","multiRNNCell"),a=_i(r,"h","multiRNNCell");let o=s;const l=[];for(let e=0;e2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);n=n||Math.random();const o={logits:1===a?uu(s,[1,-1]):s},l={numSamples:e,seed:n,normalized:r},u=pi.runKernel(Bn,o,l);return 1===a?uu(u,[u.size]):u}}),Zc=ki({notEqual_:function(t,e){let n=Ti(t,"a","notEqual","string_or_numeric"),r=Ti(e,"b","notEqual","string_or_numeric");[n,r]=si(n,r),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Wn,s)}}),Qc=ki({onesLike_:function(t){const e={x:Ti(t,"x","onesLike")};return pi.runKernel(qn,e)}}),th=ki({outerProduct_:function(t,e){const n=Ti(t,"v1","outerProduct"),r=Ti(e,"v2","outerProduct");rt(1===n.rank&&1===r.rank,(()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`));const s=uu(n,[-1,1]),i=uu(r,[1,-1]);return Ga(s,i)}}),eh=ki({pad_:function(t,e,n=0){const r=Ti(t,"x","pad");if(0===r.rank)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const s={paddings:e,constantValue:n},i={x:r};return pi.runKernel(Yn,i,s)}}),nh=ki({pad1d_:function(t,e,n=0){return rt(2===e.length,(()=>"Invalid number of paddings. Must be length of 2.")),eh(t,[e],n)}}),rh=ki({pad2d_:function(t,e,n=0){return rt(2===e.length&&2===e[0].length&&2===e[1].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),eh(t,e,n)}}),sh=ki({pad3d_:function(t,e,n=0){return rt(3===e.length&&2===e[0].length&&2===e[1].length&&2===e[2].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),eh(t,e,n)}}),ih=ki({pad4d_:function(t,e,n=0){return rt(4===e.length&&2===e[0].length&&2===e[1].length&&2===e[2].length&&2===e[3].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),eh(t,e,n)}}),ah=ki({spaceToBatchND_:function(t,e,n){const r=Ti(t,"x","spaceToBatchND");rt(r.rank>=1+e.length,(()=>`input rank ${r.rank} should be > than [blockShape] ${e.length}`)),rt(n.length===e.length,(()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${e.length}`)),rt(r.shape.reduce(((t,r,s)=>s>0&&s<=e.length?t&&(r+n[s-1][0]+n[s-1][1])%e[s-1]==0:t),!0),(()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${e.toString()}`));const s={x:r},i={blockShape:e,paddings:n};return pi.runKernel(Mr,s,i)}}),oh=ki({pool_:function(t,e,n,r,s,i,a){null==s&&(s=[1,1]),null==i&&(i=1),0===r&&(r="valid");const o=Ti(t,"x","maxPool");let l=o,u=!1;3===o.rank&&(u=!0,l=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),rt(au(i,s),(()=>`Error in pool: Either strides or dilations must be 1. Got strides ${i} and dilations '${s}'`));const c=Yl(l.shape,e,i,s,r),h=[c.dilationHeight,c.dilationWidth];let d;d="same"===r?function(t,e){const n=t.map(((t,n)=>t+(t-1)*(e[n]-1))).map((t=>t-1)),r=n.map((t=>Math.floor(t/2))),s=n.map(((t,e)=>t-r[e]));return n.map(((t,e)=>[r[e],s[e]]))}([c.filterHeight,c.filterWidth],h):[[0,0],[0,0]];const p=1===h[0]&&1===h[1],[f,m]=function(t,e,n){const r=n.map((t=>t[0])),s=n.map((t=>t[1])),i=t.concat(r,s),a=e.map(((t,e)=>(t-i[e]%t)%t)),o=s.map(((t,e)=>t+a[e]));return[e.map(((t,e)=>[r[e],o[e]])),e.map(((t,e)=>[0,a[e]]))]}([c.inHeight,c.inWidth],h,d),g=p?r:"valid",y=p?l:ah(l,h,f),x=("avg"===n?()=>cu(y,e,i,g,a):()=>Pc(y,e,i,g,a))(),b=p?x:yu(x,h,m);return u?uu(b,[b.shape[1],b.shape[2],b.shape[3]]):b}}),lh=ki({prelu_:function(t,e){const n={x:Ti(t,"x","prelu"),alpha:Ti(e,"alpha","prelu")};return pi.runKernel(Qn,n)}}),uh=ki({prod_:function(t,e=null,n=!1){let r=Ti(t,"x","prod");"bool"===r.dtype&&(r=Ma(r,"int32"));const s={x:r},i={axis:e,keepDims:n};return pi.runKernel(tr,s,i)}}),ch=ki({rand_:function(t,e,n){const r=ot(t);let s=null;if(null==n||"float32"===n)s=new Float32Array(r);else if("int32"===n)s=new Int32Array(r);else{if("bool"!==n)throw new Error(`Unknown data type ${n}`);s=new Uint8Array(r)}for(let t=0;t=1||0===i);const a=Math.sqrt(-2*Math.log(i)/i);t=this.mean+this.stdDev*r*a,e=this.mean+this.stdDev*s*a,this.truncated&&!this.isValidTruncated(t)||(n=!0)}return this.truncated&&!this.isValidTruncated(e)||(this.nextVal=this.convertValue(e)),this.convertValue(t)}convertValue(t){return null==this.dtype||"float32"===this.dtype?t:Math.round(t)}isValidTruncated(t){return t<=this.upper&&t>=this.lower}}class ph{constructor(t,e,n,r){this.alpha=t,this.beta=1/e,this.dtype=n;const s=r||Math.random();this.randu=hh.alea(s.toString()),this.randn=new dh(0,1,n,!1,this.randu()),this.d=t<1?t+2/3:t-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let t,e,n,r,s,i;for(;;){do{r=this.randn.nextValue(),i=1+this.c*r}while(i<=0);if(i*=i*i,t=r*r,e=1-.331*t*t,n=.5*t+this.d*(1-i+Math.log(i)),s=this.randu(),snull==this.dtype||"float32"===this.dtype,this.min=t,this.range=e-t,this.dtype=n,null==r&&(r=Math.random()),"number"==typeof r&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${t} - ${e} <= 1 and dtype is not float`);this.random=hh.alea(r)}convertValue(t){return this.canReturnFloat()?t:Math.round(t)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}const mh=ki({randomGamma_:function(t,e,n=1,r="float32",s){if(null==n&&(n=1),null==r&&(r="float32"),"float32"!==r&&"int32"!==r)throw new Error(`Unsupported data type ${r}`);const i=new ph(e,n,r,s),a=_a(t,r);for(let t=0;t`Error in reverse1D: x must be rank 1 but got rank ${e.rank}.`)),Th(e,0)}}),Mh=ki({reverse2d_:function(t,e){const n=Ti(t,"x","reverse");return rt(2===n.rank,(()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`)),Th(n,e)}}),kh=ki({reverse3d_:function(t,e){const n=Ti(t,"x","reverse");return rt(3===n.rank,(()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`)),Th(n,e)}}),Eh=ki({reverse4d_:function(t,e){const n=Ti(t,"x","reverse");return rt(4===n.rank,(()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`)),Th(n,e)}}),Ih=ki({round_:function(t){const e={x:Ti(t,"x","round")};return pi.runKernel(dr,e)}}),Ch=ki({rsqrt_:function(t){const e={x:Ti(t,"x","rsqrt","float32")};return pi.runKernel(pr,e)}}),Nh=ki({selu_:function(t){const e={x:Ti(t,"x","selu")};return pi.runKernel(gr,e)}}),Ah=ki({separableConv2d_:function(t,e,n,r,s,i=[1,1],a="NHWC"){const o=Ti(t,"x","separableConv2d"),l=Ti(e,"depthwiseFilter","separableConv2d"),u=Ti(n,"pointwiseFilter","separableConv2d");let c=o,h=!1;if(3===o.rank&&(h=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),"NCHW"===a)throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");rt(4===c.rank,(()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`)),rt(4===l.rank,(()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${l.rank}.`)),rt(4===u.rank,(()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${l.rank}.`)),rt(1===u.shape[0],(()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`)),rt(1===u.shape[1],(()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`));const d=l.shape[2],p=l.shape[3];rt(u.shape[2]===d*p,(()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${d*p}, but got ${u.shape[2]}.`));const f=Wu(c,l,r,s,a,i),m=Au(f,u,1,"valid",a);return h?uu(m,[m.shape[1],m.shape[2],m.shape[3]]):m}}),Rh=async function(t,e){const n=Ti(t,"x","setdiff1d"),r=Ti(e,"y","setdiff1d");rt(n.dtype===r.dtype,(()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`)),rt(1===n.rank,(()=>`x should be 1D tensor, but got x (${n.shape}).`)),rt(1===r.rank,(()=>`y should be 1D tensor, but got y (${r.shape}).`));const s=await n.data(),i=await r.data(),a=new Set(i);let o=0;for(let t=0;t`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`)),fu(r,[e],[n])}}),Oh=ki({slice2d_:function(t,e,n){const r=Ti(t,"x","slice2d");return rt(2===r.rank,(()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`)),fu(r,e,n)}}),Ph=ki({slice3d_:function(t,e,n){const r=Ti(t,"x","slice3d");return rt(3===r.rank,(()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`)),fu(r,e,n)}}),zh=ki({slice4d_:function(t,e,n){const r=Ti(t,"x","slice4d");return rt(4===r.rank,(()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`)),fu(r,e,n)}}),Bh=ki({softmax_:function(t,e=-1){const n=Ti(t,"logits","softmax","float32");if(-1===e&&(e=n.rank-1),e!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${e}`);const r={logits:n},s={dim:e};return pi.runKernel(Er,r,s)}}),Uh=ki({fft_:function(t){rt("complex64"===t.dtype,(()=>`The dtype for tf.spectral.fft() must be complex64 but got ${t.dtype}.`));const e={input:t};return pi.runKernel(Qe,e)}}),Vh=ki({ifft_:function(t){rt("complex64"===t.dtype,(()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${t.dtype}.`));const e={input:t};return pi.runKernel(hn,e)}}),Wh=ki({irfft_:function(t){const e=t.shape[t.shape.length-1],n=t.size/e;let r;if(e<=2){const s=uu(t,[n,e]);r=Vh(s)}else{const s=[n,2*(e-1)],i=uu(bh(t),[n,e]),a=uu(lc(t),[n,e]),o=Th(fu(i,[0,1],[n,e-2]),1),l=hl(Th(fu(a,[0,1],[n,e-2]),1),Sl(-1)),u=du([i,o],1),c=du([a,l],1),h=uu(Ei(u,c),[s[0],s[1]]);r=Vh(h)}if(r=bh(r),3===t.rank&&0!==t.shape[0]){const e=r,n=t.shape[0];r=uu(r,[n,r.shape[0]/n,r.shape[1]]),e.dispose()}return r}}),Hh=ki({split_:function(t,e,n=0){const r={x:Ti(t,"x","split")},s={numOrSizeSplits:e,axis:n};return pi.runKernel(kr,r,s)}}),Gh=ki({rfft_:function(t,e){rt("float32"===t.dtype,(()=>`The dtype for rfft() must be real value but got ${t.dtype}`));let n=t.shape[t.shape.length-1];const r=t.size/n;let s;if(null!=e&&e0)),i=t.shape.map((t=>t));i[t.shape.length-1]=e,s=fu(t,r,i),n=e}else if(null!=e&&e>n){const r=t.shape.map((t=>t));r[t.shape.length-1]=e-n,s=du([t,Vc(r)],t.shape.length-1),n=e}else s=t;const i=fl(s),a=uu(Ei(s,i),[r,n]),o=Uh(a),l=Math.floor(n/2)+1,u=bh(o),c=lc(o),h=Hh(u,[l,n-l],u.shape.length-1),d=Hh(c,[l,n-l],c.shape.length-1),p=s.shape.slice();return p[s.shape.length-1]=l,uu(Ei(h[0],d[0]),p)}}),jh=ki({squaredDifference_:function(t,e){let n=Ti(t,"a","squaredDifference"),r=Ti(e,"b","squaredDifference");[n,r]=si(n,r),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Dr,s,{})}}),qh=ki({squeeze_:function(t,e){const n=Ti(t,"x","squeeze");return uu(n,xt(n.shape,e).newShape)}}),Xh=ki({stack_:function(t,e=0){const n=_i(t,"tensors","stack","string_or_numeric");rt(n.length>=1,(()=>"Pass at least one tensor to tf.stack")),n.length>0&&rt(e<=n[0].rank,(()=>"Axis must be <= rank of the tensor"));const r=n,s={axis:e};return pi.runKernel(Kn,r,s)}}),Kh=ki({step_:function(t,e=0){const n={x:Ti(t,"x","step")},r={alpha:e};return pi.runKernel(Yr,n,r)}}),Yh=ki({stridedSlice_:function(t,e,n,r,s=0,i=0,a=0,o=0,l=0){const u={x:Ti(t,"x","stridedSlice","string_or_numeric")},c={begin:e,end:n,strides:r,beginMask:s,endMask:i,ellipsisMask:a,newAxisMask:o,shrinkAxisMask:l};return pi.runKernel(Fr,u,c)}}),Jh=ki({tan_:function(t){const e={x:Ti(t,"x","tan","float32")};return pi.runKernel(Br,e)}});function Zh(t,e){it(t);const n=vi(t,e);if(1!==n.length)throw new Error("tensor1d() requires values to be a flat/TypedArray");return Ii(t,null,n,e)}function Qh(t,e,n){if(it(t),null!=e&&2!==e.length)throw new Error("tensor2d() requires shape to have two numbers");const r=vi(t,n);if(2!==r.length&&1!==r.length)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return Ii(t,e,r,n)}function td(t,e,n){if(it(t),null!=e&&4!==e.length)throw new Error("tensor4d() requires shape to have four numbers");const r=vi(t,n);if(4!==r.length&&1!==r.length)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return Ii(t,e,r,n)}function ed(t,e,n){if(it(t),null!=e&&5!==e.length)throw new Error("tensor5d() requires shape to have five numbers");const r=vi(t,n);if(5!==r.length&&1!==r.length)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return Ii(t,e,r,n)}function nd(t,e,n){if(it(t),null!=e&&6!==e.length)throw new Error("tensor6d() requires shape to have six numbers");const r=vi(t,n);if(6!==r.length&&1!==r.length)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return Ii(t,e=e||r,r,n)}const rd=ki({topk_:function(t,e=1,n=!0){const r=Ti(t,"x","topk");if(0===r.rank)throw new Error("topk() expects the input to be of rank 1 or higher");const s=r.shape[r.shape.length-1];if(e<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${e}`);if(e>s)throw new Error(`'k' passed to topk() must be <= the last dimension (${s}) but got ${e}`);const i={x:r},a={k:e,sorted:n},[o,l]=pi.runKernel(Wr,i,a);return{values:o,indices:l}}}),sd=ki({truncatedNormal_:function(t,e=0,n=1,r,s){if(null!=r&&"bool"===r)throw new Error("Unsupported data type $ { dtype }");const i=new dh(e,n,r,!0,s),a=_a(t,r);for(let t=0;t0,(()=>"The input tensor must be at least 1D"));const r={x:n},s={axis:e},[i,a]=pi.runKernel(jr,r,s);return{values:i,indices:a}}}),ad=ki({unsortedSegmentSum_:function(t,e,n){const r=Ti(t,"x","unsortedSegmentSum"),s=Ti(e,"segmentIds","unsortedSegmentSum","int32");rt(ct(n),(()=>"numSegments must be of dtype int"));const i={x:r,segmentIds:s},a={numSegments:n};return pi.runKernel(Xr,i,a)}}),od=ki({unstack_:function(t,e=0){const n=Ti(t,"x","unstack","string_or_numeric");rt(e>=-n.shape.length&&e`Axis = ${e} is not in [-${n.shape.length}, ${n.shape.length})`));const r={value:n},s={axis:e};return pi.runKernel(qr,r,s)}});function ld(t,e=!0,n,r){return pi.makeVariable(t,e,n,r)}function ud(t,e){const n=[];for(let t=0;t0,(()=>"mask cannot be scalar")),st(o.slice(i,i+a),s.shape,"mask's shape must match the first K dimensions of tensor's shape,");let l=1;for(let t=i;t"Shape mismatch in v and x"));const l=Sl(1),u=Il(l,o);let c=hl(Il(a,i),u);if(s){rt(null!=r,(()=>"When using zeroDebias: true, step is required."));const t=Ti(r,"step","movingAverage");c=cl(c,Il(l,El(o,t)))}return ll(i,c)}}),md=ki({scatterND_:function(t,e,n){const r=Ti(t,"indices","scatterND","int32"),s=Ti(e,"updates","scatterND");ao(s,r,n);const i={indices:r,updates:s},a={shape:n};return pi.runKernel(fr,i,a)}}),gd=ki({sparseToDense_:function(t,e,n,r=0){const s=Ti(t,"sparseIndices","sparseToDense","int32"),i=Ti(e,"sparseValues","sparseToDense"),a=Ti(r,"defaultValue","sparseToDense",i.dtype);!function(t,e,n,r){if("int32"!==t.dtype)throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${t.shape}.`);const s=t.rank>0?t.shape[0]:1,i=t.rank>1?t.shape[1]:1;if(n.length!==i)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${i}.`);const a=e.size;if(0!==e.rank&&(1!==e.rank||a!==s))throw new Error(`sparseValues has incorrect shape ${e.shape}, should be [] or [${s}]`);if(e.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}(s,i,n,a);const o={sparseIndices:s,sparseValues:i,defaultValue:a},l={outputShape:n};return pi.runKernel(Rr,o,l)}}),yd=ki({gatherND_:function(t,e){const n=Ti(e,"indices","gatherND","int32"),r={params:Ti(t,"x","gatherND","string_or_numeric"),indices:n};return pi.runKernel(on,r)}}),xd=ki({dropout_:function(t,e,n,r){const s=Ti(t,"x","dropout");if(rt("float32"===s.dtype,(()=>`x has to be a floating point tensor since it's going to be scaled, but got a ${s.dtype} tensor instead.`)),rt(e>=0&&e<1,(()=>`rate must be a float in the range [0, 1), but got ${e}.`)),0===e)return t instanceof qs?s.clone():s;const i=function(t,e){if(null==e)return t.shape.slice();if(ut(t.shape,e))return e;if(t.shape.length===e.length){const n=[];for(let r=0;r1,(()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`)),rt(r.rank-1===s.rank,(()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${s.rank}`)),st(r.shape.slice(0,r.shape.length-1),s.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const i=r.shape[r.shape.length-1];rt(n>0&&n<=i,(()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${i}), but got ${n}`));const a=await r.data(),o=await s.data(),[l,u]=[a.length/i,i],c=bt("bool",l);for(let t=0;te.value-t.value)),c[t]=0;for(let e=0;e`Error in conv2dDerFilter: input must be rank 4, but got shape ${o.shape}.`)),rt(4===l.rank,(()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${l.shape}.`)),rt(4===n.length,(()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`));const u="NHWC"===i?o.shape[3]:o.shape[1],c="NHWC"===i?l.shape[3]:l.shape[1];rt(u===n[2],(()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${n[2]}.`)),rt(c===n[3],(()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${n[3]}).`)),lu("conv2dDerFilter",s,a);const h={x:o,dy:l},d={strides:r,pad:s,dataFormat:i,dimRoundingMode:a,filterShape:n};return pi.runKernel(ke,h,d)}});function Td(t,e,n){if(null==n||"linear"===n)return t;if("relu"===n)return hl(t,Kh(e));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function _d(t,e){let n=e;const r=Ya(t.shape,e.shape);return r.length>0&&(n=Tc(n,r)),uu(n,t.shape)}function Md(t,e,n,r){if("linear"===e)return t;if("relu"===e)return wh(t);if("elu"===e)return Ju(t);if("relu6"===e)return Sh(t);if("prelu"===e)return lh(t,n);if("leakyrelu"===e)return dc(t,r);if("sigmoid"===e)return pu(t);throw new Error(`Unknown fused activation ${e}.`)}const kd=(t,e)=>!(t>0)||"linear"===e,Ed=ki({fusedConv2d_:function({x:t,filter:e,strides:n,pad:r,dataFormat:s="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(l=l||"linear",!1===kd(pi.state.gradientDepth,l)){let h=Au(t,e,n,r,s,i,a);return null!=o&&(h=ll(h,o)),Md(h,l,u,c)}const h=Ti(t,"x","conv2d","float32"),d=Ti(e,"filter","conv2d","float32");let p=h,f=!1;3===h.rank&&(f=!0,p=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),rt(4===p.rank,(()=>`Error in fused conv2d: input must be rank 4, but got rank ${p.rank}.`)),rt(4===d.rank,(()=>`Error in fused conv2d: filter must be rank 4, but got rank ${d.rank}.`)),lu("fused conv2d",r,a),rt(p.shape[3]===d.shape[2],(()=>`Error in conv2d: depth of input (${p.shape[3]}) must match input depth for filter ${d.shape[2]}.`)),rt(au(n,i),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`)),rt("NHWC"===s,(()=>`Error in conv2d: got dataFormat of ${s} but only NHWC is currently supported.`));const m=Zl(p.shape,d.shape,n,i,r,a);let g,y;null!=o&&(g=Ti(o,"bias","fused conv2d"),[g]=si(g,h),Ja(m.outShape,g.shape)),null!=u&&(y=Ti(u,"prelu weights","fused conv2d"));const x=(t,e)=>{const[s,a,o,u]=e,c=Td(t,o,l);rt(iu(i),(()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`));const h=[Du(a.shape,c,s,n,r),Sd(a,c,s.shape,n,r)];if(null!=u){const t=_d(u,c);h.push(t)}return h},b={x:p,filter:d,bias:g,preluActivationWeights:y},v={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a,activation:l,leakyreluAlpha:c};return null==o?vl(((t,e,n)=>{let r=pi.runKernel(ts,b,v);return n([e,t,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:x}}))(p,d):vl(((t,e,n,r)=>{let s=pi.runKernel(ts,b,v);return r([e,t,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:x}}))(p,d,g)}}),Id=ki({depthwiseConv2dNativeBackpropFilter_:function(t,e,n,r,s,i=[1,1],a){let o=t;3===t.rank&&(o=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l=e;3===l.rank&&(l=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]));const u={x:o,dy:l},c={strides:r,pad:s,dimRoundingMode:a,dilations:i,filterShape:n};return pi.runKernel(Pe,u,c)}}),Cd=ki({depthwiseConv2dNativeBackpropInput_:function(t,e,n,r,s,i=[1,1],a){let o=e,l=!1;3===e.rank&&(l=!0,o=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]));const u={dy:o,filter:n},c={strides:r,pad:s,dimRoundingMode:a,dilations:i,inputShape:t},h=pi.runKernel(ze,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),Nd=ki({fusedDepthwiseConv2d_:function({x:t,filter:e,strides:n,pad:r,dataFormat:s="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(!1===kd(pi.state.gradientDepth,l)){let h=Wu(t,e,n,r,s,i,a);return null!=o&&(h=ll(h,o)),Md(h,l,u,c)}const h=Ti(t,"x","depthwiseConv2d","float32"),d=Ti(e,"filter","depthwiseConv2d","float32");let p=h,f=!1;3===h.rank&&(f=!0,p=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),rt(4===p.rank,(()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${p.rank}.`)),rt(4===d.rank,(()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${d.rank}.`)),rt(p.shape[3]===d.shape[2],(()=>`Error in fused depthwiseConv2d: number of input channels (${p.shape[3]}) must match the inChannels dimension in filter ${d.shape[2]}.`)),null==i&&(i=[1,1]),rt(au(n,i),(()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`)),lu("fused depthwiseConv2d",r,a);const m=Zl(p.shape,d.shape,n,i,r,a,!0);let g,y;null!=o&&(g=Ti(o,"bias","fused conv2d"),[g]=si(g,h),Ja(m.outShape,g.shape)),null!=u&&(y=Ti(u,"prelu weights","fused depthwiseConv2d"));const x=(t,e)=>{rt(iu(i),(()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${i}'`));const[s,o,u,c]=e,h=Td(t,u,l),d=Cd(o.shape,h,s,n,r,i,a),p=Id(o,h,s.shape,n,r,i,a);return null!=c?[d,p,_d(g,h)]:[d,p]},b={x:p,filter:d,bias:g,preluActivationWeights:y},v={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a,activation:l,leakyreluAlpha:c};return null==o?vl(((t,e,n)=>{let r=pi.runKernel(es,b,v);return n([e,t,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:x}}))(p,d):vl(((t,e,n,r)=>{let s=pi.runKernel(es,b,v);return r([e,t,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:x}}))(p,d,g)}}),Ad=ki({fusedMatMul_:function({a:t,b:e,transposeA:n=!1,transposeB:r=!1,bias:s,activation:i="linear",preluActivationWeights:a,leakyreluAlpha:o}){if(!1===kd(pi.state.gradientDepth,i)){let l=Ga(t,e,n,r);return null!=s&&(l=ll(l,s)),Md(l,i,a,o)}let l=Ti(t,"a","fused matMul"),u=Ti(e,"b","fused matMul");[l,u]=si(l,u);const c=n?l.shape[l.rank-2]:l.shape[l.rank-1],h=r?u.shape[u.rank-1]:u.shape[u.rank-2],d=n?l.shape[l.rank-1]:l.shape[l.rank-2],p=r?u.shape[u.rank-2]:u.shape[u.rank-1],f=l.shape.slice(0,-2),m=u.shape.slice(0,-2),g=ot(f),y=ot(m);rt(c===h,(()=>`Error in fused matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${l.shape} and ${u.shape} and transposeA=${n} and transposeB=${r} must match.`));const x=Ja(l.shape.slice(0,-2),u.shape.slice(0,-2)).concat([d,p]),b=uu(l,n?[g,c,d]:[g,d,c]),v=uu(u,r?[y,p,h]:[y,h,p]);let w,S;null!=s&&(w=Ti(s,"bias","fused matMul"),[w]=si(w,l),Ja(x,w.shape)),null!=a&&(S=Ti(a,"prelu weights","fused matMul"));const T=(t,e)=>{const[a,o,l,u]=e,c=Td(uu(t,l.shape),l,i);let h,d;return n||r?!n&&r?(h=Ga(c,o,!1,!1),d=Ga(c,a,!0,!1)):n&&!r?(h=Ga(o,c,!1,!0),d=Ga(a,c,!1,!1)):(h=Ga(o,c,!0,!0),d=Ga(c,a,!0,!0)):(h=Ga(c,o,!1,!0),d=Ga(a,c,!0,!1)),null!=s?[h,d,_d(u,c)]:[h,d]},_={a:b,b:v,bias:w,preluActivationWeights:S},M={transposeA:n,transposeB:r,activation:i,leakyreluAlpha:o};return null==s?vl(((t,e,n)=>{const r=pi.runKernel(Qr,_,M);return n([t,e,r]),{value:uu(r,x),gradFunc:T}}))(b,v):vl(((t,e,n,r)=>{const s=pi.runKernel(Qr,_,M);return r([t,e,s,n]),{value:uu(s,x),gradFunc:T}}))(b,v,w)}}),Rd=ki({hammingWindow_:function(t){return vd(t,.54,.46)}}),Dd=ki({hannWindow_:function(t){return vd(t,.5,.5)}}),Ld=ki({frame_:function(t,e,n,r=!1,s=0){let i=0;const a=[];for(;i+e<=t.size;)a.push(fu(t,i,e)),i+=n;if(r)for(;i`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`)),rt(2===o.rank&&4===o.shape[1],(()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${o.shape}.`)),rt(1===l.rank&&l.shape[0]===u,(()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${o.shape}.`)),rt(2===r.length,(()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`)),rt(r[0]>=1&&r[1]>=1,(()=>`cropSize must be atleast [1,1], but was ${r}`)),rt("bilinear"===s||"nearest"===s,(()=>`method must be bilinear or nearest, but was ${s}`));const c={image:a,boxes:o,boxInd:l},h={method:s,extrapolationValue:i,cropSize:r};return pi.runKernel(Le,c,h)}}),Od=ki({flipLeftRight_:function(t){const e=Ti(t,"image","flipLeftRight","float32");rt(4===e.rank,(()=>`Error in flipLeftRight: image must be rank 4,but got rank ${e.rank}.`));const n={image:e};return pi.runKernel(en,n,{})}}),Pd=ki({grayscaleToRGB_:function(t){const e=Ti(t,"image","grayscaleToRGB"),n=e.rank-1,r=e.shape[n];rt(e.rank>=2,(()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${e.rank}.`)),rt(1===r,(()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${r}.`));const s=new Array(e.rank);return s.fill(1,0,n),s[n]=3,nc(e,s)}}),zd=ki({rotateWithOffset_:function(t,e,n=0,r=.5){const s=Ti(t,"image","rotateWithOffset","float32");rt(4===s.rank,(()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${s.rank}.`));const i={image:s},a={radians:e,fillValue:n,center:r};return pi.runKernel(Zr,i,a)}});function Bd(t,e,n,r,s,i){null==r&&(r=.5),null==s&&(s=Number.NEGATIVE_INFINITY),null==i&&(i=0);const a=t.shape[0];return n=Math.min(n,a),rt(0<=r&&r<=1,(()=>`iouThreshold must be in [0, 1], but was '${r}'`)),rt(2===t.rank,(()=>`boxes must be a 2D tensor, but was of rank '${t.rank}'`)),rt(4===t.shape[1],(()=>`boxes must have 4 columns, but 2nd dimension was ${t.shape[1]}`)),rt(1===e.rank,(()=>"scores must be a 1D tensor")),rt(e.shape[0]===a,(()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${e.shape[0]}`)),rt(0<=i&&i<=1,(()=>`softNmsSigma must be in [0, 1], but was '${i}'`)),{maxOutputSize:n,iouThreshold:r,scoreThreshold:s,softNmsSigma:i}}const Ud=ki({nonMaxSuppression_:function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY){const i=Ti(t,"boxes","nonMaxSuppression","float32"),a=Ti(e,"scores","nonMaxSuppression","float32"),o=Bd(i,a,n,r,s),l={maxOutputSize:n=o.maxOutputSize,iouThreshold:r=o.iouThreshold,scoreThreshold:s=o.scoreThreshold};return pi.runKernel(Hn,{boxes:i,scores:a},l)}});function Vd(t,e,n){const r=function(t,e,n){return function(t,e,n){let r=0,s=t.length,i=0,a=!1;for(;r>>1);const o=n(e,t[i]);o>0?r=i+1:(s=i,a=!o)}return a?r:-r-1}(t,e,n||Wd)}(t,e,n),s=r<0?-(r+1):r;t.splice(s,0,e)}function Wd(t,e){return t>e?1:ts&&u.push({score:e[t],boxIndex:t,suppressBeginIndex:0});u.sort(Yd);const c=i>0?-.5/i:0,h=[],d=[];for(;h.length0;){const e=u.pop(),{score:n,boxIndex:i,suppressBeginIndex:a}=e;if(n=a;--n){const a=Xd(t,i,h[n]);if(a>=r){o=!0;break}if(e.score=e.score*Kd(r,c,a),e.score<=s)break}e.suppressBeginIndex=h.length,o||(e.score===n?(h.push(i),d.push(e.score)):e.score>s&&Vd(u,e,Yd))}const p=h.length,f=n-p;o&&f>0&&(h.push(...new Array(f).fill(0)),d.push(...new Array(f).fill(0)));const m={selectedIndices:h};return a&&(m.selectedScores=d),l&&(m.validOutputs=p),m}function Xd(t,e,n){const r=t.subarray(4*e,4*e+4),s=t.subarray(4*n,4*n+4),i=Math.min(r[0],r[2]),a=Math.min(r[1],r[3]),o=Math.max(r[0],r[2]),l=Math.max(r[1],r[3]),u=Math.min(s[0],s[2]),c=Math.min(s[1],s[3]),h=Math.max(s[0],s[2]),d=Math.max(s[1],s[3]),p=(o-i)*(l-a),f=(h-u)*(d-c);if(p<=0||f<=0)return 0;const m=Math.max(i,u),g=Math.max(a,c),y=Math.min(o,h),x=Math.min(l,d),b=Math.max(y-m,0)*Math.max(x-g,0);return b/(p+f-b)}function Kd(t,e,n){const r=Math.exp(e*n*n);return n<=t?r:0}function Yd(t,e){return t.score-e.score||t.score===e.score&&e.boxIndex-t.boxIndex}const Jd=ki({nonMaxSuppressionWithScore_:function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=0){const a=Ti(t,"boxes","nonMaxSuppression"),o=Ti(e,"scores","nonMaxSuppression"),l=Bd(a,o,n,r,s,i),u={boxes:a,scores:o},c={maxOutputSize:n=l.maxOutputSize,iouThreshold:r=l.iouThreshold,scoreThreshold:s=l.scoreThreshold,softNmsSigma:i=l.softNmsSigma},h=pi.runKernel(jn,u,c);return{selectedIndices:h[0],selectedScores:h[1]}}}),Zd=ki({nonMaxSuppressionPadded_:function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=!1){const a=Ti(t,"boxes","nonMaxSuppression"),o=Ti(e,"scores","nonMaxSuppression"),l=Bd(a,o,n,r,s,null),u={boxes:a,scores:o},c={maxOutputSize:l.maxOutputSize,iouThreshold:l.iouThreshold,scoreThreshold:l.scoreThreshold,padToMaxOutputSize:i},h=pi.runKernel(Gn,u,c);return{selectedIndices:h[0],validOutputs:h[1]}}}),Qd=ki({resizeBilinear_:function(t,e,n=!1,r=!1){const s=Ti(t,"images","resizeBilinear");rt(3===s.rank||4===s.rank,(()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${s.rank}.`)),rt(2===e.length,(()=>`Error in resizeBilinear: new shape must 2D, but got shape ${e}.`)),rt(!1===r||!1===n,(()=>"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false."));let i=s,a=!1;3===s.rank&&(a=!0,i=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=e,o={images:i},l={alignCorners:n,halfPixelCenters:r,size:e},u=pi.runKernel(lr,o,l);return a?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),tp=ki({resizeNearestNeighbor_:function(t,e,n=!1,r=!1){const s=Ti(t,"images","resizeNearestNeighbor");rt(3===s.rank||4===s.rank,(()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${s.rank}.`)),rt(2===e.length,(()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${e}.`)),rt("float32"===s.dtype||"int32"===s.dtype,(()=>"`images` must have `int32` or `float32` as dtype")),rt(!1===r||!1===n,(()=>"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false."));let i=s,a=!1;3===s.rank&&(a=!0,i=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=e,o={images:i},l={alignCorners:n,halfPixelCenters:r,size:e},u=pi.runKernel(ar,o,l);return a?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),ep=ki({threshold_:function(t,e="binary",n=!1,r=.5){const s=Ti(t,"image","threshold"),i=s.shape[0]*s.shape[1];let a,o,l,u,c=hl(Zh([r]),255);if(rt(3===s.rank,(()=>`Error in threshold: image must be rank 3,but got rank ${s.rank}.`)),rt(3===s.shape[2]||1===s.shape[2],(()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${s.shape[2]}.`)),rt("int32"===s.dtype||"float32"===s.dtype,(()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${s.dtype}.`)),rt("otsu"===e||"binary"===e,(()=>`Method must be binary or otsu, but was ${e}`)),3===s.shape[2]){[a,o,l]=Hh(s,[1,1,1],-1);const t=hl(a,.2989),e=hl(o,.587),n=hl(l,.114);u=ll(ll(t,e),n)}else u=t;"otsu"===e&&(c=function(t,e){let n,r,s,i,a,o,l=Zh([-1]),u=Zh([0]),c=Zh([0]);for(let h=0;h`Error in transform: image must be rank 4,but got rank ${a.rank}.`)),rt(2===o.rank&&(o.shape[0]===a.shape[0]||1===o.shape[0])&&8===o.shape[1],(()=>"Error in transform: Input transform should be batch x 8 or 1 x 8")),rt(null==i||2===i.length,(()=>`Error in transform: outputShape must be [height, width] or null, but got ${i}.`));const l={image:a,transforms:o},u={interpolation:n,fillMode:r,fillValue:s,outputShape:i};return pi.runKernel(Hr,l,u)}}),rp=ki({bandPart_:function(t,e,n){rt(e%1==0,(()=>`bandPart(): numLower must be an integer, got ${e}.`)),rt(n%1==0,(()=>`bandPart(): numUpper must be an integer, got ${n}.`));const r=Ti(t,"a","bandPart");rt(r.rank>=2,(()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`));const s=r.shape,[i,a]=r.shape.slice(-2);if(!(e<=i))throw new Error(`bandPart(): numLower (${e}) must not be greater than the number of rows (${i}).`);if(!(n<=a))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${a}).`);e<0&&(e=i),n<0&&(n=a);const o=uu(xh(0,i,1,"int32"),[-1,1]),l=xh(0,a,1,"int32"),u=Il(o,l),c=Lc(fc(u,Sl(+e,"int32")),oc(u,Sl(-n,"int32"))),h=Vc([i,a],r.dtype);return uu(Xh(od(uu(r,[-1,i,a])).map((t=>qu(c,t,h)))),s)}}),sp=ki({gramSchmidt_:function(t){let e;if(Array.isArray(t)){e=!1,rt(null!=t&&t.length>0,(()=>"Gram-Schmidt process: input must not be null, undefined, or empty"));const n=t[0].shape[0];for(let e=1;e`Gram-Schmidt: Non-unique lengths found in the input vectors: (${t[e].shape[0]} vs. ${n})`))}else e=!0,t=Hh(t,t.shape[0],0).map((t=>qh(t,[0])));rt(t.length<=t[0].shape[0],(()=>`Gram-Schmidt: Number of vectors (${t.length}) exceeds number of dimensions (${t[0].shape[0]}).`));const n=[],r=t;for(let e=0;e{let t=r[e];if(e>0)for(let r=0;r{rt(2===t.shape.length,(()=>`qr2d() requires a 2D Tensor, but got a ${t.shape.length}D Tensor.`));const n=t.shape[0],r=t.shape[1];let s=rc(n),i=ka(t);const a=Qh([[1]],[1,1]);let o=ka(a);const l=n>=r?r:n;for(let t=0;t{const e=fu(i,[t,t],[n-t,1]),l=pd(e),u=fu(i,[t,t],[1,1]),c=qu(ac(u,0),Qh([[-1]]),Qh([[1]])),h=Il(u,hl(c,l)),d=cl(e,h);o=1===d.shape[0]?ka(a):du([a,fu(d,[1,0],[d.shape[0]-1,d.shape[1]])],0);const p=bc(cl(Ga(c,h),l)),f=fu(i,[t,0],[n-t,r]),m=hl(p,o),g=qa(o);if(0===t)i=Il(f,Ga(m,Ga(g,f)));else{const e=Il(f,Ga(m,Ga(g,f)));i=du([fu(i,[0,0],[t,r]),e],0)}const y=qa(m),x=fu(s,[0,t],[n,s.shape[1]-t]);if(0===t)s=Il(x,Ga(Ga(x,o),y));else{const e=Il(x,Ga(Ga(x,o),y));s=du([fu(s,[0,0],[n,t]),e],1)}return[o,i,s]})),Yo([e,l,u])}return!e&&n>r&&(s=fu(s,[0,0],[n,r]),i=fu(i,[0,0],[r,r])),[s,i]}))}const ap=ki({qr_:function(t,e=!1){if(rt(t.rank>=2,(()=>`qr() requires input tensor to have a rank >= 2, but got rank ${t.rank}`)),2===t.rank)return ip(t,e);{const n=t.shape.slice(0,t.shape.length-2).reduce(((t,e)=>t*e)),r=od(uu(t,[n,t.shape[t.shape.length-2],t.shape[t.shape.length-1]]),0),s=[],i=[];return r.forEach((t=>{const[n,r]=ip(t,e);s.push(n),i.push(r)})),[uu(Xh(s,0),t.shape),uu(Xh(i,0),t.shape)]}}});var op;!function(t){t[t.NONE=0]="NONE",t[t.MEAN=1]="MEAN",t[t.SUM=2]="SUM",t[t.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"}(op||(op={}));const lp=ki({computeWeightedLoss_:function(t,e,n=op.SUM_BY_NONZERO_WEIGHTS){const r=Ti(t,"losses","computeWeightedLoss");let s=null;null!=e&&(s=Ti(e,"weights","computeWeightedLoss"));const i=null==s?r:hl(r,s);if(n===op.NONE)return i;if(n===op.SUM)return Tc(i);if(n===op.MEAN){if(null==s)return Uc(i);{const t=r.size/s.size,e=cl(Tc(i),Tc(s));return t>1?cl(e,Sl(t)):e}}if(n===op.SUM_BY_NONZERO_WEIGHTS){if(null==s)return cl(Tc(i),Sl(r.size));{const t=hl(s,Wc(r.shape)),e=Ma(Tc(Zc(t,Sl(0))),"float32");return cl(Tc(i),e)}}throw Error(`Unknown reduction: ${n}`)}}),up=ki({absoluteDifference_:function(t,e,n,r=op.SUM_BY_NONZERO_WEIGHTS){const s=Ti(t,"labels","absoluteDifference"),i=Ti(e,"predictions","absoluteDifference");let a=null;null!=n&&(a=Ti(n,"weights","absoluteDifference")),st(s.shape,i.shape,"Error in absoluteDifference: ");const o=Nl(Il(s,i));return lp(o,a,r)}}),cp=ki({cosineDistance_:function(t,e,n,r,s=op.SUM_BY_NONZERO_WEIGHTS){const i=Ti(t,"labels","cosineDistance"),a=Ti(e,"predictions","cosineDistance");let o=null;null!=r&&(o=Ti(r,"weights","cosineDistance")),st(i.shape,a.shape,"Error in cosineDistance: ");const l=Sl(1),u=Il(l,Tc(hl(i,a),n,!0));return lp(u,o,s)}}),hp=ki({hingeLoss_:function(t,e,n,r=op.SUM_BY_NONZERO_WEIGHTS){let s=Ti(t,"labels","hingeLoss");const i=Ti(e,"predictions","hingeLoss");let a=null;null!=n&&(a=Ti(n,"weights","hingeLoss")),st(s.shape,i.shape,"Error in hingeLoss: ");const o=Sl(1);s=Il(hl(Sl(2),s),o);const l=wh(Il(o,hl(s,i)));return lp(l,a,r)}}),dp=ki({huberLoss_:function(t,e,n,r=1,s=op.SUM_BY_NONZERO_WEIGHTS){const i=Ti(t,"labels","huberLoss"),a=Ti(e,"predictions","huberLoss");let o=null;null!=n&&(o=Ti(n,"weights","huberLoss")),st(i.shape,a.shape,"Error in huberLoss: ");const l=Sl(r),u=Nl(Il(a,i)),c=jc(u,l),h=Il(u,c),d=ll(hl(Sl(.5),pl(c)),hl(l,h));return lp(d,o,s)}}),pp=ki({logLoss_:function(t,e,n,r=1e-7,s=op.SUM_BY_NONZERO_WEIGHTS){const i=Ti(t,"labels","logLoss"),a=Ti(e,"predictions","logLoss");let o=null;null!=n&&(o=Ti(n,"weights","logLoss")),st(i.shape,a.shape,"Error in logLoss: ");const l=Sl(1),u=Sl(r),c=bc(hl(i,yc(ll(a,u)))),h=hl(Il(l,i),yc(ll(Il(l,a),u))),d=Il(c,h);return lp(d,o,s)}}),fp=ki({meanSquaredError_:function(t,e,n,r=op.SUM_BY_NONZERO_WEIGHTS){const s=Ti(t,"labels","meanSquaredError"),i=Ti(e,"predictions","meanSquaredError");let a=null;null!=n&&(a=Ti(n,"weights","meanSquaredError")),st(s.shape,i.shape,"Error in meanSquaredError: ");const o=jh(s,i);return lp(o,a,r)}}),mp=ki({sigmoidCrossEntropy_:function(t,e,n,r=0,s=op.SUM_BY_NONZERO_WEIGHTS){let i=Ti(t,"multiClassLabels","sigmoidCrossEntropy");const a=Ti(e,"logits","sigmoidCrossEntropy");let o=null;if(null!=n&&(o=Ti(n,"weights","sigmoidCrossEntropy")),st(i.shape,a.shape,"Error in sigmoidCrossEntropy: "),r>0){const t=Sl(r),e=Sl(1),n=Sl(.5);i=ll(hl(i,Il(e,t)),hl(n,t))}const l=function(t,e){const n=Ti(t,"labels","sigmoidCrossEntropyWithLogits"),r=Ti(e,"logits","sigmoidCrossEntropyWithLogits");st(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const s=wh(r),i=hl(r,n),a=xc(Qu(bc(Nl(r))));return ll(Il(s,i),a)}(i,a);return lp(l,o,s)}}),gp=ki({softmaxCrossEntropy_:function(t,e,n,r=0,s=op.SUM_BY_NONZERO_WEIGHTS){let i=Ti(t,"onehotLabels","softmaxCrossEntropy");const a=Ti(e,"logits","softmaxCrossEntropy");let o=null;if(null!=n&&(o=Ti(n,"weights","softmaxCrossEntropy")),st(i.shape,a.shape,"Error in softmaxCrossEntropy: "),r>0){const t=Sl(r),e=Sl(1),n=Sl(i.shape[1]);i=ll(hl(i,Il(e,t)),cl(t,n))}const l=function(t,e,n=-1){if(-1===n&&(n=e.rank-1),n!==e.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${e.rank} and dim was ${n}`);return vl(((t,e,r)=>{const s=Dc(e,[n],!0),i=Il(Ma(e,"float32"),s);r([t,i]);const a=bc(hl(i,t));return{value:Tc(a,[n]),gradFunc:(t,e)=>{const[r,s]=e,i=Ic(t.shape,[n]);return[hl(uu(t,i),Il(Ma(r,"float32"),Qu(s))),hl(uu(t,i),Il(Qu(s),Ma(r,"float32")))]}}}))(t,e)}(i,a);return lp(l,o,s)}}),yp=ki({sparseFillEmptyRows_:function(t,e,n,r){const s=Ti(t,"indices","sparseFillEmptyRows","int32"),i=Ti(e,"values","sparseFillEmptyRows"),a=Ti(n,"denseShape","sparseFillEmptyRows","int32"),o=Ti(r,"defaultValue","sparseFillEmptyRows",i.dtype);if(2!==s.rank)throw new Error(`Indices should be Tensor2D but received shape\n ${s.shape}`);if(1!==i.rank)throw new Error(`Values should be Tensor1D but received shape ${i.shape}`);if(1!==a.rank)throw new Error(`Dense shape should be Tensor1D but received shape ${a.shape}`);if(0!==o.rank)throw new Error(`Default value should be a scalar but received shape ${o.shape}`);const l={indices:s,values:i,denseShape:a,defaultValue:o},u=pi.runKernel(Ir,l);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}}),xp=ki({sparseReshape_:function(t,e,n){const r=Ti(t,"inputIndices","sparseReshape","int32"),s=Ti(e,"inputShape","sparseReshape","int32"),i=Ti(n,"newShape","sparseReshape","int32");if(2!==r.rank)throw new Error(`Input indices should be Tensor2D but received shape\n ${r.shape}`);if(1!==s.rank)throw new Error(`Input shape should be Tensor1D but received shape ${s.shape}`);if(1!==i.rank)throw new Error(`New shape should be Tensor1D but received shape ${i.shape}`);const a={inputIndices:r,inputShape:s,newShape:i},o=pi.runKernel(Cr,a);return{outputIndices:o[0],outputShape:o[1]}}}),bp=ki({sparseSegmentMean_:function(t,e,n){const r=Ti(t,"data","sparseSegmentMean"),s=Ti(e,"indices","sparseSegmentMean","int32"),i=Ti(n,"segmentIds","sparseSegmentMean","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==i.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${i.shape}`);const a={data:r,indices:s,segmentIds:i};return pi.runKernel(Nr,a)}}),vp=ki({sparseSegmentSum_:function(t,e,n){const r=Ti(t,"data","sparseSegmentSum"),s=Ti(e,"indices","sparseSegmentSum","int32"),i=Ti(n,"segmentIds","sparseSegmentSum","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==i.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${i.shape}`);const a={data:r,indices:s,segmentIds:i};return pi.runKernel(Ar,a)}}),wp=ki({stringNGrams_:function(t,e,n,r,s,i,a,o){const l=Ti(t,"data","stringNGrams","string");if("string"!==l.dtype)throw new Error("Data must be of datatype string");if(1!==l.shape.length)throw new Error(`Data must be a vector, saw: ${l.shape}`);const u=Ti(e,"dataSplits","stringNGrams");if("int32"!==u.dtype)throw new Error("Data splits must be of datatype int32");const c={separator:n,nGramWidths:r,leftPad:s,rightPad:i,padWidth:a,preserveShortSequences:o},h={data:l,dataSplits:u},d=pi.runKernel($r,h,c);return{nGrams:d[0],nGramsSplits:d[1]}}}),Sp=ki({stringSplit_:function(t,e,n=!0){const r=Ti(t,"input","stringSplit","string"),s=Ti(e,"delimiter","stringSplit","string");if(1!==r.rank)throw new Error(`Input should be Tensor1D but received shape ${r.shape}`);if(0!==s.rank)throw new Error(`Delimiter should be a scalar but received shape ${s.shape}`);const i={skipEmpty:n},a={input:r,delimiter:s},o=pi.runKernel(Or,a,i);return{indices:o[0],values:o[1],shape:o[2]}}}),Tp=ki({stringToHashBucketFast_:function(t,e){const n=Ti(t,"input","stringToHashBucketFast","string"),r={numBuckets:e};if(e<=0)throw new Error("Number of buckets must be at least 1");const s={input:n};return pi.runKernel(Pr,s,r)}}),_p={fft:Uh,ifft:Vh,rfft:Gh,irfft:Wh},Mp={hammingWindow:Rd,hannWindow:Dd,frame:Ld,stft:Fd},kp={flipLeftRight:Od,grayscaleToRGB:Pd,resizeNearestNeighbor:tp,resizeBilinear:Qd,rotateWithOffset:zd,cropAndResize:$d,nonMaxSuppression:Ud,nonMaxSuppressionAsync:async function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY){const i=Ti(t,"boxes","nonMaxSuppressionAsync"),a=Ti(e,"scores","nonMaxSuppressionAsync"),o=Bd(i,a,n,r,s);n=o.maxOutputSize,r=o.iouThreshold,s=o.scoreThreshold;const l=await Promise.all([i.data(),a.data()]),u=l[0],c=l[1],{selectedIndices:h}=Hd(u,c,n,r,s);return i!==t&&i.dispose(),a!==e&&a.dispose(),Zh(h,"int32")},nonMaxSuppressionWithScore:Jd,nonMaxSuppressionWithScoreAsync:async function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=0){const a=Ti(t,"boxes","nonMaxSuppressionAsync"),o=Ti(e,"scores","nonMaxSuppressionAsync"),l=Bd(a,o,n,r,s,i);n=l.maxOutputSize,r=l.iouThreshold,s=l.scoreThreshold,i=l.softNmsSigma;const u=await Promise.all([a.data(),o.data()]),c=u[0],h=u[1],{selectedIndices:d,selectedScores:p}=jd(c,h,n,r,s,i);return a!==t&&a.dispose(),o!==e&&o.dispose(),{selectedIndices:Zh(d,"int32"),selectedScores:Zh(p)}},nonMaxSuppressionPadded:Zd,nonMaxSuppressionPaddedAsync:async function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=!1){const a=Ti(t,"boxes","nonMaxSuppressionAsync"),o=Ti(e,"scores","nonMaxSuppressionAsync"),l=Bd(a,o,n,r,s,null),u=l.maxOutputSize,c=l.iouThreshold,h=l.scoreThreshold,[d,p]=await Promise.all([a.data(),o.data()]),{selectedIndices:f,validOutputs:m}=Gd(d,p,u,c,h,i);return a!==t&&a.dispose(),o!==e&&o.dispose(),{selectedIndices:Zh(f,"int32"),validOutputs:Sl(m,"int32")}},threshold:ep,transform:np},Ep={bandPart:rp,gramSchmidt:sp,qr:ap},Ip={absoluteDifference:up,computeWeightedLoss:lp,cosineDistance:cp,hingeLoss:hp,huberLoss:dp,logLoss:pp,meanSquaredError:fp,sigmoidCrossEntropy:mp,softmaxCrossEntropy:gp},Cp={sparseFillEmptyRows:yp,sparseReshape:xp,sparseSegmentMean:bp,sparseSegmentSum:vp},Np={stringNGrams:wp,stringSplit:Sp,stringToHashBucketFast:Tp},Ap={sgd:$l.sgd,momentum:$l.momentum,adadelta:$l.adadelta,adagrad:$l.adagrad,rmsprop:$l.rmsprop,adamax:$l.adamax,adam:$l.adam},Rp="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:"undefined"!=typeof setImmediate?setImmediate:t=>t();function Dp(){return new Promise((t=>Rp((()=>t()))))}function Lp(t,e){const n=t[0].length;t.forEach(((t,e)=>{rt(t.length===n,(()=>`Error in concat${n}D: rank of tensors[${e}] must be the same as the rank of the rest (${n})`))})),rt(e>=0&&e`Error in concat${n}D: axis must be between 0 and ${n-1}.`));const r=t[0];t.forEach(((t,s)=>{for(let i=0;i`Error in concat${n}D: Shape of tensors[${s}] (${t}) does not match the shape of the rest (${r}) along the non-concatenated axis ${s}.`))}))}function Fp(t,e){const n=t[0].slice();for(let r=1;r=2*e+1||r%2==1?s.push(r):n.push(r);r.push(...n),r.push(0),r.push(...s)}return r}function Up(t,e,n,r=!0){const s=[];r?s.push(t[0]/n):s.push(t[0]*n);for(let n=1;n/g;function lf(t,e){const n=((t=t.replace(/\s/g,"")).length-t.replace(of,"").length)/"->".length;if(n<1)throw new Error("Equations without an arrow are not supported.");if(n>1)throw new Error('Equation must contain exactly one arrow ("->").');const[r,s]=t.split("->");rt(-1===r.indexOf("..."),(()=>'The ellipsis notation ("...") is not supported yet.'));const i=r.split(","),a=i.length;if(e!==a)throw new Error(`Expected ${a} input tensors, received ${e}`);if(a>2)throw new Error("Support for more than 2 input tensors is not implemented yet.");const o=[];for(let t=0;t-1!==t.indexOf(e))))throw new Error(`Output subscripts contain the label ${e} not present in the input subscripts.`);-1===o.indexOf(e)&&o.push(e)}for(let t=0;t-1!==t)),{permutationIndices:n,expandDims:r}}function cf(t,e,n){const r=new Array(t);for(let t=0;t`Expected dimension ${r[e[t][n]]} at axis ${n} of input shaped ${JSON.stringify(s)}, but got dimension ${s[n]}`))}}function hf(t,e){const n=t,r=[];let s=0;0===t.length&&n.push(-1),s=t.length+1;for(let t=0;tt===e))}function pf(t,e){const n=[];for(let r=0;r"Number of splits must evenly divide the axis.")),r=new Array(e).fill(t.shape[n]/e);else{rt(e.reduce(((t,e)=>(-1===e&&(t+=1),t)),0)<=1,(()=>"There should be only one negative value in split array."));const s=e.indexOf(-1);if(-1!==s){const r=e.reduce(((t,e)=>e>0?t+e:t));e[s]=t.shape[n]-r}rt(t.shape[n]===e.reduce(((t,e)=>t+e)),(()=>"The sum of sizes must match the size of the axis dimension.")),r=e}return r}function mf(t){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${t}`}function gf(t,e){return`indices(${t}, 0) is invalid: ${e} < 0`}function yf(t,e,n){return`indices(${t}, 0) is invalid: ${e} >= ${n}`}function xf(t,e){return`only one output dimension may be -1, not both ${t} and ${e}`}function bf(t,e){return`size ${t} must be non-negative, not ${e}`}function vf(){return"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero"}function wf(t,e){return`Input to reshape is a SparseTensor with ${ot(t)}\n dense values, but the requested shape requires a multiple of ${ot(e)}. inputShape=${t} outputShape= ${e}`}function Sf(t,e){return`Input to reshape is a tensor with ${ot(t)} dense values, but the requested shape has ${ot(e)}. inputShape=${t} outputShape=${e}`}function Tf(){return"segment ids must be >= 0"}function _f(){return"segment ids are not increasing"}function Mf(t,e){return`Segment id ${t} out of range [0, ${e}), possibly because segmentIds input is not sorted.`}function kf(t,e,n){return`Bad: indices[${t}] == ${e} out of range [0, ${n})`}function Ef(t,e){let n,r=!1;for(t<=$p?(n=t,r=!0):n=Rt(t,Math.floor(Math.sqrt(t)));!r;)n>e||n===t?r=!0:n=Rt(t,n+1);return n}function If(t,e,n){const r=[],s=t.length;for(let i=0;is))throw new Error(`Expect batchDims in the range of [-${s}, ${s}], but got ${r}`);if(r<0&&(r+=s),r>i)throw new Error(`batchDims (${r}) must be less than rank(x) (\n ${i}).`);if(nLs(t)))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function Af(t){return t.map((t=>Ds(t)))}const Rf={kernelName:Yt,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,Kh(Ma(n,"float32"),-1))}}},Df={kernelName:Jt,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=pl(Ma(n,"float32")),r=dl(Il(Sl(1),e));return bc(cl(t,r))}}}},Lf={kernelName:Zt,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=dl(Il(pl(Ma(n,"float32")),1));return cl(t,e)}}}},Ff={kernelName:Qt,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{let e=t;const r=Ya(n.shape,s);return r.length>0&&(e=Tc(e,r)),uu(e,n.shape)},b:()=>{let e=t;const n=Ya(r.shape,s);return n.length>0&&(e=Tc(e,n)),uu(e,r.shape)}}}},$f={kernelName:te,saveAllInputs:!0,gradFunc:(t,e)=>{const n={};return e.forEach(((e,r)=>{n[r]=()=>t.clone()})),n}},Of={kernelName:re,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>fl(n)}}},Pf={kernelName:se,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>fl(n)}}},zf={kernelName:ie,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,dl(Il(Sl(1),pl(Ma(n,"float32")))))}}},Bf={kernelName:ae,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=dl(ll(Sl(1),pl(Ma(n,"float32"))));return cl(t,e)}}}},Uf={kernelName:ue,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=ll(pl(n),pl(r));let i=hl(t,cl(r,e));const a=Ya(n.shape,s);return a.length>0&&(i=Tc(i,a)),uu(i,n.shape)},b:()=>{const e=ll(pl(n),pl(r));let i=bc(hl(t,cl(n,e)));const a=Ya(r.shape,s);return a.length>0&&(i=Tc(i,a)),uu(i,r.shape)}}}},Vf={kernelName:oe,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,ll(pl(Ma(n,"float32")),1))}}},Wf={kernelName:le,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,Il(Sl(1),pl(Ma(n,"float32"))))}}},Hf=ki({avgPool3dGrad_:function(t,e,n,r,s,i){const a=Ti(t,"dy","avgPool3dGrad"),o=Ti(e,"input","avgPool3dGrad");let l=a,u=o,c=!1;4===o.rank&&(c=!0,l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),rt(5===l.rank,(()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`)),rt(5===u.rank,(()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`)),lu("avgPool3dGrad",s,i);const h={dy:l,input:u},d={filterSize:n,strides:r,pad:s,dimRoundingMode:i},p=pi.runKernel(pe,h,d);return c?uu(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),Gf={kernelName:de,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{filterSize:s,strides:i,pad:a,dimRoundingMode:o}=n;return{x:()=>Hf(t,r,s,i,a,o)}}},jf=ki({avgPoolGrad_:function(t,e,n,r,s){const i=Ti(t,"dy","avgPoolGrad"),a=Ti(e,"input","avgPoolGrad");rt(a.rank===i.rank,(()=>`Rank of input (${a.rank}) does not match rank of dy (${i.rank})`));let o=a,l=i,u=!1;3===a.rank&&(u=!0,o=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]]),l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]])),rt(4===l.rank,(()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`)),rt(4===o.rank,(()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${o.rank}.`));const c={dy:l,input:o},h={filterSize:n,strides:r,pad:s},d=pi.runKernel(he,c,h);return u?uu(d,[d.shape[1],d.shape[2],d.shape[3]]):d}}),qf={kernelName:ce,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{filterSize:s,strides:i,pad:a}=n;return{x:()=>jf(t,r,s,i,a)}}},Xf={kernelName:fe,inputsToSave:["a","b"],gradFunc:(t,e,n)=>{const[r,s]=e,{transposeA:i,transposeB:a}=n;return i||a?!i&&a?{a:()=>Ga(t,s,!1,!1),b:()=>Ga(t,r,!0,!1)}:i&&!a?{a:()=>Ga(s,t,!1,!0),b:()=>Ga(r,t,!1,!1)}:{a:()=>Ga(s,t,!0,!0),b:()=>Ga(t,r,!0,!0)}:{a:()=>Ga(t,s,!1,!0),b:()=>Ga(r,t,!0,!1)}}},Kf={kernelName:me,gradFunc:(t,e,n)=>{const{blockShape:r,crops:s}=n;return{x:()=>ah(t,r,s)}}},Yf={kernelName:ye,gradFunc:(t,e,n)=>{const r=n,s=r.inputShape,i=r.shape,a=Array.from(i);for(let t=s.length-1;t>=0;t--)if(s[t]===i[t])a[t]=1;else if(1!==s[t])throw new Error(`broadcastTo(): [${s}] cannot be broadcast to [${i}].`);const o=[];for(let t=0;t1&&o.push(t);return{x:()=>Tc(t,o,!0)}}},Jf={kernelName:be,gradFunc:t=>({x:()=>t.clone()})},Zf={kernelName:ve,gradFunc:t=>({x:()=>fl(t)})},Qf={kernelName:we,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{clipValueMin:s,clipValueMax:i}=n;return{x:()=>qu(Lc(oc(r,s),fc(r,i)),t,fl(t))}}},tm={kernelName:Te,inputsToSave:["x"],gradFunc:Rf.gradFunc},em={kernelName:_e,saveAllInputs:!0,gradFunc:(t,e,n)=>{const r=e.map((t=>t.shape)),{axis:s}=n,i=yt(s,e[0].shape)[0],a=r.map((t=>t[i]));return Hh(t,a,i).map((t=>()=>t))}},nm={kernelName:Me,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const[r,s]=e,{dilations:i,strides:a,pad:o,dataFormat:l}=n;return rt(iu(i),(()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`)),{x:()=>Du(r.shape,t,s,a,o,l),filter:()=>Sd(r,t,s.shape,a,o,l)}}},rm={kernelName:Ee,inputsToSave:["dy","filter"],gradFunc:(t,e,n)=>{const[r,s]=e,{strides:i,pad:a,dataFormat:o,dimRoundingMode:l}=n;return{dy:()=>Au(t,s,i,a,o,1,l),filter:()=>Sd(t,r,s.shape,i,a,o,l)}}},sm=ki({conv3DBackpropFilter_:function(t,e,n,r,s){let i=t;4===t.rank&&(i=uu(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]));let a=e;4===a.rank&&(a=uu(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]])),rt(5===i.rank,(()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${i.shape}.`)),rt(5===a.rank,(()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`)),rt(5===n.length,(()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`)),rt(i.shape[4]===n[3],(()=>`Error in conv3dDerFilter: depth of input ${i.shape[4]}) must match input depth in filter (${n[3]}.`)),rt(a.shape[4]===n[4],(()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${n[4]}).`));const o={x:i,dy:a},l={strides:r,pad:s,filterShape:n};return pi.runKernel(Ce,o,l)}}),im={kernelName:Ie,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const{dilations:r,strides:s,pad:i}=n;rt(iu(r),(()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`));const[a,o]=e;return{x:()=>$u(a.shape,t,o,s,i),filter:()=>sm(a,t,o.shape,s,i)}}},am={kernelName:Ae,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(bc(Lh(Ma(n,"float32"))),t)}}},om={kernelName:Re,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(Fh(Ma(n,"float32")),t)}}},lm={kernelName:De,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{axis:s,exclusive:i,reverse:a}=n;return{x:()=>{const e=Nc([s],r.rank);let n=Bu(t,s,i,!a);return null!=e&&(n=qa(n,e)),n}}}},um={kernelName:Oe,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const{dilations:r,strides:s,pad:i,dimRoundingMode:a}=n,o=null==r?[1,1]:r;rt(iu(o),(()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${o}'`));const[l,u]=e;return rt(4===l.rank,(()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`)),rt(4===u.rank,(()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`)),rt(l.shape[3]===u.shape[2],(()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`)),rt(au(s,o),(()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'.`)),lu("depthwiseConv2d",i,a),{x:()=>Cd(l.shape,t,u,s,i,o,a),filter:()=>Id(l,t,u.shape,s,i,o,a)}}},cm={kernelName:Ue,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const[r,s]=e,i={x:r,filter:s,dy:t},a={x:r,filter:s,dy:t};return{x:()=>pi.runKernel(Ve,i,n),filter:()=>pi.runKernel(We,a,n)}}},hm={kernelName:je,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e,r={dy:t,y:n};return{x:()=>pi.runKernel(qe,r)}}},dm={kernelName:Xe,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e,r=hl(Qu(bc(pl(n))),2/Math.sqrt(Math.PI));return{x:()=>hl(t,r)}}},pm={kernelName:Ye,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,n)}}},fm={kernelName:Je,inputsToSave:["input"],gradFunc:(t,e)=>{const[n]=e;return{input:()=>uu(t,n.shape)}}},mm={kernelName:Ze,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,Qu(n))}}},gm={kernelName:nn,gradFunc:t=>({x:()=>fl(t)})},ym={kernelName:rn,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=cl(t,Ma(r,"float32")),i=Ya(n.shape,s);return i.length>0?uu(Tc(e,i),n.shape):e},b:()=>{let e=hl(t,Ma(n,"float32"));const i=Ya(r.shape,s);i.length>0&&(e=uu(Tc(e,i),r.shape));const a=pl(r);return bc(cl(e,Ma(a,"float32")))}}}},xm={kernelName:sn,inputsToSave:["x","mean","variance","scale"],gradFunc:(t,e,n)=>{const{varianceEpsilon:r}=n,[s,i,a,o]=e,l=null==o?Sl(1):o,u=Ya(i.shape,s.shape),c=[];if(1===i.rank){for(let t=0;t1===i.rank?uu(hl(hl(t,nc(uu(p,[1,1,1,i.shape[0]]),c)),l),s.shape):uu(hl(hl(t,p),l),s.shape),mean:()=>{let t=hl(hl(p,Sl(-1)),d);return 1===i.rank&&(t=Tc(t,u)),uu(t,i.shape)},variance:()=>{let t=hl(hl(f,h),d);return 1===i.rank&&(t=Tc(t,u)),uu(t,i.shape)},scale:()=>{const e=hl(h,p);let n=hl(t,e);return 1===i.rank&&(n=Tc(n,u)),uu(n,i.shape)},offset:()=>{let e=t;return 1===i.rank&&(e=Tc(e,u)),uu(e,i.shape)}}}},bm={kernelName:an,inputsToSave:["x","indices"],gradFunc:(t,e,n)=>{const[r,s]=e,{axis:i}=n,a=yt(i,r.shape)[0];return{x:()=>{const e=r.shape,n=s.size,o=e.slice(0,a),l=o.length,u=e.slice(i,e.length).slice(1),c=u.length,h=vm(0,l),d=vm(l+1,l+1+c),p=wm([o,[n],u]),f=uu(t,p),m=uu(s,[n]),g=wm([[l],h,d]),y=qa(f,g);let x=ad(y,m,r.shape[a]);const b=Ac(g);return x=qa(x,b),x},indices:()=>s}}};function vm(t,e){const n=[];for(let r=t;r{const[n,r]=e;return{a:()=>fl(n),b:()=>fl(r)}}},Tm={kernelName:cn,gradFunc:t=>({x:()=>Ma(t,"float32")})},_m={kernelName:pn,gradFunc:t=>({x:()=>fl(t)})},Mm={kernelName:fn,gradFunc:t=>({x:()=>fl(t)})},km={kernelName:mn,gradFunc:t=>({x:()=>fl(t)})},Em={kernelName:gn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{alpha:s}=n,i=ac(r,0);return{x:()=>qu(i,t,hl(t,s))}}},Im={kernelName:wn,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,ll(n,1))}}},Cm={kernelName:vn,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,Ma(n,"float32"))}}},Nm={kernelName:Mn,inputsToSave:[],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r]=e,{axis:s}=n;return{logits:()=>{const e=Qu(r);return Il(t,hl(Tc(t,s,!0),e))}}}},Am=ki({localResponseNormalizationBackprop_:function(t,e,n,r=5,s=1,i=1,a=.5){const o={x:t,y:e,dy:n},l={depthRadius:r,bias:s,alpha:i,beta:a};return pi.runKernel(En,o,l)}}),Rm={kernelName:kn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r,s]=e,{depthRadius:i,bias:a,alpha:o,beta:l}=n;return{x:()=>Am(r,s,t,i,a,o,l)}}};function Dm(t,e,n,r){return e.rankhl(t,Ma(ju(n,e),t.dtype))}}const Lm={kernelName:In,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const r=n,{reductionIndices:s}=r,i=e[0],a=Dm(t,e[1],i,yt(s,i.shape));return{x:()=>a.x()}}},Fm={kernelName:Cn,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e;return{a:()=>hl(t,Ma(oc(n,r),"float32")),b:()=>hl(t,Ma(pc(n,r),"float32"))}}},$m=ki({maxPool3dGrad_:function(t,e,n,r,s,i,a){const o=Ti(t,"dy","maxPool3dGrad"),l=Ti(e,"input","maxPool3dGrad"),u=Ti(n,"output","maxPool3dGrad");let c=o,h=l,d=u,p=!1;4===l.rank&&(p=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),d=uu(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),rt(5===c.rank,(()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`)),rt(5===h.rank,(()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${h.rank}.`)),rt(5===d.rank,(()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${d.rank}.`)),lu("maxPool3dGrad",i,a);const f={dy:c,input:h,output:d},m={filterSize:r,strides:s,pad:i,dimRoundingMode:a},g=pi.runKernel(Dn,f,m);return p?uu(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),Om={kernelName:Rn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r,s]=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=n;return{x:()=>$m(t,r,s,i,a,o,l)}}},Pm=ki({maxPoolGrad_:function(t,e,n,r,s,i,a){const o=Ti(t,"dy","maxPoolGrad"),l=Ti(e,"input","maxPoolGrad"),u=Ti(n,"output","maxPoolGrad");rt(l.rank===o.rank,(()=>`Rank of input (${l.rank}) does not match rank of dy (${o.rank})`)),rt(4===o.rank,(()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${o.rank}.`)),rt(4===l.rank,(()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`)),lu("maxPoolGrad",i,a);const c={dy:o,input:l,output:u},h={filterSize:r,strides:s,pad:i,dimRoundingMode:a};return pi.runKernel(An,c,h)}}),zm={kernelName:Yn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const r=e[0],{paddings:s}=n,i=s.map((t=>t[0]));return{x:()=>fu(t,i,r.shape)}}},Bm={kernelName:Mr,gradFunc:(t,e,n)=>{const{blockShape:r,paddings:s}=n;return{x:()=>yu(t,r,s)}}},Um={kernelName:kr,gradFunc:(t,e,n)=>{const{axis:r}=n;return{x:()=>du(t,r)}}},Vm=[Rf,Df,Lf,Ff,$f,Of,Pf,zf,Bf,Uf,Vf,Wf,Gf,qf,Xf,Kf,Yf,Jf,Zf,Qf,tm,em,rm,nm,im,am,om,lm,um,cm,{kernelName:He,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=cl(t,Ma(r,"float32")),i=Ya(n.shape,s);return i.length>0?uu(Tc(e,i),n.shape):e},b:()=>{let e=hl(t,Ma(n,"float32"));const i=Ya(r.shape,s);i.length>0&&(e=uu(Tc(e,i),r.shape));const a=pl(r);return bc(cl(e,Ma(a,"float32")))}}}},hm,dm,pm,fm,mm,ym,gm,xm,bm,Sm,Tm,_m,Mm,km,Em,Im,Cm,Nm,Rm,Lm,Lm,Fm,Om,{kernelName:Nn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r,s]=e,{filterSize:i,strides:a,pad:o}=n;return{x:()=>Pm(t,r,s,i,a,o)}}},{kernelName:Fn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{axis:s}=n,i=yt(s,r.shape),a=ot(Ec(r.shape,i)[1]);return{x:()=>{const e=r.shape.slice();i.forEach((t=>{e[t]=1}));const n=uu(t,e);return cl(hl(n,Wc(r.shape,"float32")),a)}}}},{kernelName:$n,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const r=n,{axis:s}=r,[i,a]=e,o=Dm(t,a,i,yt(s,i.shape));return{x:()=>o.x()}}},{kernelName:On,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e;return{a:()=>hl(t,Ma(fc(n,r),"float32")),b:()=>hl(t,Ma(ac(n,r),"float32"))}}},{kernelName:Pn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const r=e[0],{paddings:s}=n,i=s.map((t=>t[0]));return{x:()=>fu(t,i,r.shape)}}},{kernelName:zn,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=Ya(n.shape,s);return e.length>0?uu(Tc(t,e),n.shape):t},b:()=>{const e=hl(t,bc(sc(cl(n,r)))),i=Ya(r.shape,s);return i.length>0?uu(Tc(e,i),r.shape):e}}}},{kernelName:Un,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=hl(t,Ma(r,"float32")),i=Ya(n.shape,s);return i.length>0?uu(Tc(e,i),n.shape):e},b:()=>{const e=hl(t,Ma(n,"float32")),i=Ya(r.shape,s);return i.length>0?uu(Tc(e,i),r.shape):e}}}},{kernelName:Vn,gradFunc:t=>({x:()=>bc(t)})},{kernelName:Xn,inputsToSave:["indices"],gradFunc:(t,e)=>{const n=e[0];return{indices:()=>Vc(n.shape,"float32")}}},{kernelName:qn,gradFunc:t=>({x:()=>fl(t)})},{kernelName:Kn,saveAllInputs:!0,gradFunc:(t,e,n)=>{const{axis:r}=n;return od(t,r).map((t=>()=>t))}},zm,zm,{kernelName:Zn,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(t,e)=>{const[n,r,s]=e,i=n,a=r,o=Ja(i.shape,a.shape);return{a:()=>{const e=Ma(a,"float32");let n=hl(t,hl(e,El(i,Il(e,Sl(1)))));const r=Ya(i.shape,o);return r.length>0&&(n=Tc(n,r)),uu(n,i.shape)},b:()=>{const e=ac(i,0),n=qu(e,yc(i),fl(i));let r=hl(t,hl(s,n));const l=Ya(a.shape,o);return l.length>0&&(r=Tc(r,l)),uu(r,a.shape)}}}},{kernelName:Qn,inputsToSave:["x","alpha"],gradFunc:(t,e)=>{const[n,r]=e,s=ac(n,0);return{x:()=>qu(s,t,hl(t,r)),alpha:()=>{let e=qu(s,fl(t),hl(t,n));const i=Ya(r.shape,t.shape);return i.length>0&&(e=Tc(e,i)),uu(e,r.shape)}}}},{kernelName:rr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,bc(pl(n)))}}},{kernelName:cr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e,r=hl(fc(n,6),Kh(n));return{x:()=>hl(t,Ma(r,"float32"))}}},{kernelName:sr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,Ma(Kh(n),"float32"))}}},{kernelName:ir,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>uu(t,n.shape)}}},{kernelName:lr,inputsToSave:["images"],gradFunc:(t,e,n)=>{const[r]=e,s={dy:t,images:r};return{images:()=>pi.runKernel(ur,s,n)}}},{kernelName:ar,inputsToSave:["images"],gradFunc:(t,e,n)=>{const[r]=e,s={dy:t,images:r};return{images:()=>pi.runKernel(or,s,n)}}},{kernelName:hr,gradFunc:(t,e,n)=>{const{dims:r}=n,s=yt(r,t.shape);return{x:()=>Th(t,s)}}},{kernelName:dr,gradFunc:t=>({x:()=>fl(t)})},{kernelName:pr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>bc(cl(t,hl(El(n,1.5),2)))}}},{kernelName:mr,inputsToSave:["condition"],gradFunc:(t,e)=>{const[n]=e;return{condition:()=>Ma(fl(n),"float32"),t:()=>hl(t,Ma(n,t.dtype)),e:()=>hl(t,Ma(Fc(n),t.dtype))}}},{kernelName:gr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=ac(n,Sl(0)),r=Sl(Hp),s=Sl(Gp),i=hl(t,s),a=hl(hl(t,r),Qu(Ma(n,"float32")));return qu(e,i,a)}}}},{kernelName:wr,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,hl(n,Il(Sl(1),n)))}}},{kernelName:vr,gradFunc:t=>({x:()=>fl(t)})},{kernelName:xr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(Pu(Ma(n,"float32")),t)}}},{kernelName:br,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(zu(Ma(n,"float32")),t)}}},{kernelName:yr,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{begin:s,size:i}=n,a=r.shape,[o,l]=To(r,s,i),u=[];for(let e=0;eeh(t,u)}}},{kernelName:Er,outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r]=e,{dim:s}=n,i=hl(t,r);return{logits:()=>Il(i,hl(Tc(i,[s],!0),r))}}},{kernelName:Sr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,pu(n))}}},Bm,Bm,Um,Um,{kernelName:Tr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,hl(dl(Ma(n,"float32")),2))}}},{kernelName:Dr,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Sl(2);return{a:()=>hl(t,hl(s,Il(n,r))),b:()=>hl(t,hl(s,Il(r,n)))}}},{kernelName:Lr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,hl(Ma(n,"float32"),2))}}},{kernelName:Yr,gradFunc:t=>({x:()=>fl(t)})},{kernelName:zr,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{let e=t;const r=Ya(n.shape,s);return r.length>0&&(e=Tc(e,r)),uu(e,n.shape)},b:()=>{let e=t;const n=Ya(r.shape,s);return n.length>0&&(e=Tc(e,n)),uu(bc(e),r.shape)}}}},{kernelName:_r,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,s=r.shape.slice(),{axis:i}=n;yt(i,r.shape).forEach((t=>{s[t]=1}));const a=uu(t,s),o=hl(a,Wc(r.shape,"float32"));return{x:()=>o}}},{kernelName:Br,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,pl(Pu(n)))}}},{kernelName:Ur,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(Il(Sl(1),pl(n)),t)}}},{kernelName:Vr,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{reps:s}=n;return{x:()=>{let e=fl(r);if(1===r.rank)for(let n=0;n{const r=n,{perm:s}=r,i=Ac(s);return{x:()=>qa(t,i)}}},{kernelName:qr,gradFunc:(t,e,n)=>{const r=n,{axis:s}=r;return{value:()=>Xh(t,s)}}},{kernelName:Xr,inputsToSave:["segmentIds"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>function(t,e){const n=Al(e,fl(e)),r=ic(t,n);let s=oc(e,Sl(0,"int32"));const i=r.rank-s.rank;for(let t=0;t({x:()=>fl(t)})}];for(const t of Vm)cs(t);let Wm;function Hm(){return null==Wm&&(Wm=al().epsilon()),Wm}Xs().prototype.abs=function(){return this.throwIfDisposed(),Nl(this)},Xs().prototype.acos=function(){return this.throwIfDisposed(),Ol(this)},Xs().prototype.acosh=function(){return this.throwIfDisposed(),Pl(this)},Xs().prototype.add=function(t){return this.throwIfDisposed(),ll(this,t)},Xs().prototype.all=function(t,e){return this.throwIfDisposed(),Bl(this,t,e)},Xs().prototype.any=function(t,e){return this.throwIfDisposed(),Ul(this,t,e)},Xs().prototype.argMax=function(t){return this.throwIfDisposed(),Vl(this,t)},Xs().prototype.argMin=function(t){return this.throwIfDisposed(),Wl(this,t)},Xs().prototype.asScalar=function(){return this.throwIfDisposed(),rt(1===this.size,(()=>"The array must have only 1 element.")),uu(this,[])},Xs().prototype.asType=function(t){return this.throwIfDisposed(),Ma(this,t)},Xs().prototype.as1D=function(){return this.throwIfDisposed(),uu(this,[this.size])},Xs().prototype.as2D=function(t,e){return this.throwIfDisposed(),uu(this,[t,e])},Xs().prototype.as3D=function(t,e,n){return this.throwIfDisposed(),uu(this,[t,e,n])},Xs().prototype.as4D=function(t,e,n,r){return this.throwIfDisposed(),uu(this,[t,e,n,r])},Xs().prototype.as5D=function(t,e,n,r,s){return this.throwIfDisposed(),uu(this,[t,e,n,r,s])},Xs().prototype.asin=function(){return this.throwIfDisposed(),Hl(this)},Xs().prototype.asinh=function(){return this.throwIfDisposed(),Gl(this)},Xs().prototype.atan=function(){return this.throwIfDisposed(),jl(this)},Xs().prototype.atan2=function(t){return this.throwIfDisposed(),ql(this,t)},Xs().prototype.atanh=function(){return this.throwIfDisposed(),Xl(this)},Xs().prototype.avgPool=function(t,e,n,r){return this.throwIfDisposed(),cu(this,t,e,n,r)},Xs().prototype.batchToSpaceND=function(t,e){return this.throwIfDisposed(),yu(this,t,e)},Xs().prototype.batchNorm=function(t,e,n,r,s){return this.throwIfDisposed(),xu(this,t,e,n,r,s)},Xs().prototype.broadcastTo=function(t){return this.throwIfDisposed(),_u(this,t)},Xs().prototype.cast=function(t){return this.throwIfDisposed(),Ma(this,t)},Xs().prototype.ceil=function(){return this.throwIfDisposed(),Mu(this)},Xs().prototype.clipByValue=function(t,e){return this.throwIfDisposed(),ku(this,t,e)},Xs().prototype.concat=function(t,e){return this.throwIfDisposed(),t instanceof qs&&(t=[t]),du([this,...t],e)},Xs().prototype.conv1d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Ru(this,t,e,n,r,s,i)},Xs().prototype.conv2dTranspose=function(t,e,n,r,s){return this.throwIfDisposed(),Lu(this,t,e,n,r,s)},Xs().prototype.conv2d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Au(this,t,e,n,r,s,i)},Xs().prototype.cos=function(){return this.throwIfDisposed(),Pu(this)},Xs().prototype.cosh=function(){return this.throwIfDisposed(),zu(this)},Xs().prototype.cumsum=function(t,e,n){return this.throwIfDisposed(),Bu(this,t,e,n)},Xs().prototype.depthToSpace=function(t,e){return this.throwIfDisposed(),Vu(this,t,e)},Xs().prototype.depthwiseConv2d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Wu(this,t,e,n,r,s,i)},Xs().prototype.dilation2d=function(t,e,n,r,s){return this.throwIfDisposed(),Gu(this,t,e,n,r,s)},Xs().prototype.divNoNan=function(t){return this.throwIfDisposed(),Xu(this,t)},Xs().prototype.div=function(t){return this.throwIfDisposed(),cl(this,t)},Xs().prototype.dot=function(t){return this.throwIfDisposed(),Ku(this,t)},Xs().prototype.elu=function(){return this.throwIfDisposed(),Ju(this)},Xs().prototype.equal=function(t){return this.throwIfDisposed(),ju(this,t)},Xs().prototype.erf=function(){return this.throwIfDisposed(),Zu(this)},Xs().prototype.exp=function(){return this.throwIfDisposed(),Qu(this)},Xs().prototype.expandDims=function(t){return this.throwIfDisposed(),tc(this,t)},Xs().prototype.expm1=function(){return this.throwIfDisposed(),ec(this)},Xs().prototype.fft=function(){return this.throwIfDisposed(),Uh(this)},Xs().prototype.flatten=function(){return this.throwIfDisposed(),uu(this,[this.size])},Xs().prototype.floor=function(){return this.throwIfDisposed(),sc(this)},Xs().prototype.floorDiv=function(t){return this.throwIfDisposed(),ul(this,t)},Xs().prototype.gather=function(t,e){return this.throwIfDisposed(),ic(this,t,e)},Xs().prototype.greaterEqual=function(t){return this.throwIfDisposed(),oc(this,t)},Xs().prototype.greater=function(t){return this.throwIfDisposed(),ac(this,t)},Xs().prototype.ifft=function(){return this.throwIfDisposed(),Vh(this)},Xs().prototype.irfft=function(){return this.throwIfDisposed(),Wh(this)},Xs().prototype.isFinite=function(){return this.throwIfDisposed(),uc(this)},Xs().prototype.isInf=function(){return this.throwIfDisposed(),cc(this)},Xs().prototype.isNaN=function(){return this.throwIfDisposed(),hc(this)},Xs().prototype.leakyRelu=function(t){return this.throwIfDisposed(),dc(this,t)},Xs().prototype.lessEqual=function(t){return this.throwIfDisposed(),fc(this,t)},Xs().prototype.less=function(t){return this.throwIfDisposed(),pc(this,t)},Xs().prototype.localResponseNormalization=function(t,e,n,r){return this.throwIfDisposed(),gc(this,t,e,n,r)},Xs().prototype.logSigmoid=function(){return this.throwIfDisposed(),wc(this)},Xs().prototype.logSoftmax=function(t){return this.throwIfDisposed(),_c(this,t)},Xs().prototype.logSumExp=function(t,e){return this.throwIfDisposed(),Dc(this,t,e)},Xs().prototype.log=function(){return this.throwIfDisposed(),yc(this)},Xs().prototype.log1p=function(){return this.throwIfDisposed(),xc(this)},Xs().prototype.logicalAnd=function(t){return this.throwIfDisposed(),Lc(this,t)},Xs().prototype.logicalNot=function(){return this.throwIfDisposed(),Fc(this)},Xs().prototype.logicalOr=function(t){return this.throwIfDisposed(),$c(this,t)},Xs().prototype.logicalXor=function(t){return this.throwIfDisposed(),Oc(this,t)},Xs().prototype.matMul=function(t,e,n){return this.throwIfDisposed(),Ga(this,t,e,n)},Xs().prototype.maxPool=function(t,e,n,r){return this.throwIfDisposed(),Pc(this,t,e,n,r)},Xs().prototype.max=function(t,e){return this.throwIfDisposed(),Sc(this,t,e)},Xs().prototype.maximum=function(t){return this.throwIfDisposed(),Al(this,t)},Xs().prototype.mean=function(t,e){return this.throwIfDisposed(),Uc(this,t,e)},Xs().prototype.min=function(t,e){return this.throwIfDisposed(),Gc(this,t,e)},Xs().prototype.minimum=function(t){return this.throwIfDisposed(),jc(this,t)},Xs().prototype.mirrorPad=function(t,e){return this.throwIfDisposed(),qc(this,t,e)},Xs().prototype.mod=function(t){return this.throwIfDisposed(),Xc(this,t)},Xs().prototype.mul=function(t){return this.throwIfDisposed(),hl(this,t)},Xs().prototype.neg=function(){return this.throwIfDisposed(),bc(this)},Xs().prototype.norm=function(t,e,n){return this.throwIfDisposed(),pd(this,t,e,n)},Xs().prototype.notEqual=function(t){return this.throwIfDisposed(),Zc(this,t)},Xs().prototype.oneHot=function(t,e=1,n=0){return this.throwIfDisposed(),ja(this,t,e,n)},Xs().prototype.onesLike=function(){return this.throwIfDisposed(),Qc(this)},Xs().prototype.pad=function(t,e){return this.throwIfDisposed(),eh(this,t,e)},Xs().prototype.pool=function(t,e,n,r,s,i){return this.throwIfDisposed(),oh(this,t,e,n,r,s,i)},Xs().prototype.pow=function(t){return this.throwIfDisposed(),El(this,t)},Xs().prototype.prelu=function(t){return this.throwIfDisposed(),lh(this,t)},Xs().prototype.prod=function(t,e){return this.throwIfDisposed(),uh(this,t,e)},Xs().prototype.reciprocal=function(){return this.throwIfDisposed(),vh(this)},Xs().prototype.relu=function(){return this.throwIfDisposed(),wh(this)},Xs().prototype.relu6=function(){return this.throwIfDisposed(),Sh(this)},Xs().prototype.reshapeAs=function(t){return this.throwIfDisposed(),uu(this,t.shape)},Xs().prototype.reshape=function(t){return this.throwIfDisposed(),uu(this,t)},Xs().prototype.resizeBilinear=function(t,e,n){return this.throwIfDisposed(),Qd(this,t,e,n)},Xs().prototype.resizeNearestNeighbor=function(t,e,n){return this.throwIfDisposed(),tp(this,t,e,n)},Xs().prototype.reverse=function(t){return this.throwIfDisposed(),Th(this,t)},Xs().prototype.rfft=function(){return this.throwIfDisposed(),Gh(this)},Xs().prototype.round=function(){return this.throwIfDisposed(),Ih(this)},Xs().prototype.rsqrt=function(){return this.throwIfDisposed(),Ch(this)},Xs().prototype.selu=function(){return this.throwIfDisposed(),Nh(this)},Xs().prototype.separableConv2d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Ah(this,t,e,n,r,s,i)},Xs().prototype.sigmoid=function(){return this.throwIfDisposed(),pu(this)},Xs().prototype.sign=function(){return this.throwIfDisposed(),Dh(this)},Xs().prototype.sin=function(){return this.throwIfDisposed(),Lh(this)},Xs().prototype.sinh=function(){return this.throwIfDisposed(),Fh(this)},Xs().prototype.slice=function(t,e){return this.throwIfDisposed(),fu(this,t,e)},Xs().prototype.softmax=function(t){return this.throwIfDisposed(),Bh(this,t)},Xs().prototype.softplus=function(){return this.throwIfDisposed(),vc(this)},Xs().prototype.spaceToBatchND=function(t,e){return this.throwIfDisposed(),ah(this,t,e)},Xs().prototype.split=function(t,e){return this.throwIfDisposed(),Hh(this,t,e)},Xs().prototype.sqrt=function(){return this.throwIfDisposed(),dl(this)},Xs().prototype.square=function(){return this.throwIfDisposed(),pl(this)},Xs().prototype.squaredDifference=function(t){return this.throwIfDisposed(),jh(this,t)},Xs().prototype.squeeze=function(t){return this.throwIfDisposed(),qh(this,t)},Xs().prototype.stack=function(t,e){this.throwIfDisposed();const n=t instanceof qs?[this,t]:[this,...t];return Xh(n,e)},Xs().prototype.step=function(t){return this.throwIfDisposed(),Kh(this,t)},Xs().prototype.stridedSlice=function(t,e,n,r,s,i,a,o){return this.throwIfDisposed(),Yh(this,t,e,n,r,s,i,a,o)},Xs().prototype.sub=function(t){return this.throwIfDisposed(),Il(this,t)},Xs().prototype.sum=function(t,e){return this.throwIfDisposed(),Tc(this,t,e)},Xs().prototype.tan=function(){return this.throwIfDisposed(),Jh(this)},Xs().prototype.tanh=function(){return this.throwIfDisposed(),mu(this)},Xs().prototype.tile=function(t){return this.throwIfDisposed(),nc(this,t)},Xs().prototype.toBool=function(){return this.throwIfDisposed(),Ma(this,"bool")},Xs().prototype.toFloat=function(){return this.throwIfDisposed(),Ma(this,"float32")},Xs().prototype.toInt=function(){return this.throwIfDisposed(),Ma(this,"int32")},Xs().prototype.topk=function(t,e){return this.throwIfDisposed(),rd(this,t,e)},Xs().prototype.transpose=function(t){return this.throwIfDisposed(),qa(this,t)},Xs().prototype.unique=function(t){return this.throwIfDisposed(),id(this,t)},Xs().prototype.unsortedSegmentSum=function(t,e){return this.throwIfDisposed(),ad(this,t,e)},Xs().prototype.unstack=function(t){return this.throwIfDisposed(),od(this,t)},Xs().prototype.where=function(t,e){return this.throwIfDisposed(),qu(t,this,e)},Xs().prototype.zerosLike=function(){return this.throwIfDisposed(),fl(this)};class Gm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Gm.prototype)}}class jm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,jm.prototype)}}class qm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,qm.prototype)}}class Xm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Xm.prototype)}}class Km extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Km.prototype)}}function Ym(t,e){if(Array.isArray(t)){let n=[];for(let r=0;re.toUpperCase()))}Error;let rg={};function sg(t){if(null==t)return null;const e={};return e.className=t.getClassName(),e.config=t.getConfig(),e}function ig(t){if(null!=t&&"object"==typeof t)if(Array.isArray(t))t.forEach((t=>ig(t)));else{const e=Object.keys(t);for(const n of e){const e=t[n];null!=e&&"object"==typeof e&&(Array.isArray(e)||"ndarray"!==e.type||"number"!=typeof e.value?ig(e):t[n]=e.value)}}}function ag(t,e={},n={},r="object",s=!1){if("string"==typeof t){const s=t;let i;if(s in n)i=n[s];else if(s in rg)i=rg[s];else if(i=e[s],null==i)throw new qm(`Unknown ${r}: ${t}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return i}{const i=t;if(null==i.className||null==i.config)throw new qm(`${r}: Improper config format: ${JSON.stringify(i)}.\n'className' and 'config' must set.`);const a=i.className;let o,l;if(a in n?[o,l]=n[a]:a in rg?[o,l]=rg.className:a in e&&([o,l]=e[a]),null==o)throw new qm(`Unknown ${r}: ${a}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const t={};for(const e of Object.keys(rg))t[e]=rg[e];for(const e of Object.keys(n))t[e]=n[e];i.config.customObjects=t;const e=Object.assign({},rg);for(const t of Object.keys(n))rg[t]=n[t];ig(i.config);const r=l(o,i.config,n,s);return rg=Object.assign({},e),r}{const t=Object.assign({},rg);for(const t of Object.keys(n))rg[t]=n[t];const e=new o(i.config);return rg=Object.assign({},t),e}}}function og(t,e){return-1*function(t,e){return te?1:0}(t,e)}function lg(t){if(null==t)return t;const e=[];for(const n of t)-1===e.indexOf(n)&&e.push(n);return e}function ug(t){if(null==t)throw new qm(`Invalid value in obj: ${JSON.stringify(t)}`);for(const e in t)if(t.hasOwnProperty(e))return!1;return!0}function cg(t,e,n){if(null!=n&&t.indexOf(n)<0)throw new qm(`${n} is not a valid ${e}. Valid values are ${t} or null/undefined.`)}function hg(t,e,n=0,r=1/0){return Jm(n>=0),Jm(r>=n),Array.isArray(t)&&t.length>=n&&t.length<=r&&t.every((t=>typeof t===e))}function dg(t,e){Array.isArray(t)?(rt(t.length>0,(()=>`${e} is unexpectedly an empty array.`)),t.forEach(((t,n)=>dg(t,`element ${n+1} of ${e}`)))):rt(Number.isInteger(t)&&t>0,(()=>`Expected ${e} to be a positive integer, but got ${pg(t)}.`))}function pg(t){return null===t?"null":Array.isArray(t)?"["+t.map((t=>pg(t))).join(",")+"]":"string"==typeof t?`"${t}"`:`${t}`}function fg(t){return"relu"===t?"relu":"linear"===t?"linear":"elu"===t?"elu":null}function mg(t,e){return Ko((()=>dl(Tc(hl(t,t),e,!0))))}class gg extends ko{getConfig(){return{}}}class yg extends gg{constructor(t){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=t.maxValue?t.maxValue:this.defaultMaxValue,this.axis=null!=t.axis?t.axis:this.defaultAxis}apply(t){return Ko((()=>{const e=mg(t,this.axis),n=ku(e,0,this.maxValue);return hl(t,cl(n,ll(Hm(),e)))}))}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}yg.className="MaxNorm",Io(yg);class xg extends gg{constructor(t){super(),this.defaultAxis=0,this.axis=null!=t.axis?t.axis:this.defaultAxis}apply(t){return Ko((()=>cl(t,ll(Hm(),mg(t,this.axis)))))}getConfig(){return{axis:this.axis}}}xg.className="UnitNorm",Io(xg);class bg extends gg{apply(t){return wh(t)}}bg.className="NonNeg",Io(bg);class vg extends gg{constructor(t){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=t.minValue?t.minValue:this.defaultMinValue,this.maxValue=null!=t.maxValue?t.maxValue:this.defaultMaxValue,this.rate=null!=t.rate?t.rate:this.defaultRate,this.axis=null!=t.axis?t.axis:this.defaultAxis}apply(t){return Ko((()=>{const e=mg(t,this.axis),n=ll(hl(this.rate,ku(e,this.minValue,this.maxValue)),hl(1-this.rate,e));return hl(t,cl(n,ll(Hm(),e)))}))}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}vg.className="MinMaxNorm",Io(vg);const wg={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function Sg(t){return sg(t)}function Tg(t,e={}){return ag(t,Eo.getMap().classNameMap,e,"constraint")}function _g(t){return null==t?null:"string"==typeof t?Tg({className:t in wg?wg[t]:t,config:{}}):t instanceof gg?t:Tg(t)}function Mg(t){return new yg(t)}function kg(t){return new xg(t)}function Eg(){return new bg}function Ig(t){return new vg(t)}const Cg=["channelsFirst","channelsLast"],Ng=["nearest","bilinear"],Ag=["valid","same","causal"],Rg=["max","avg"],Dg=["sum","mul","concat","ave"],Lg=new Map;function Fg(t){cg(Cg,"DataFormat",t)}function $g(t){cg(Ag,"PaddingMode",t)}function Og(t){cg(Rg,"PoolMode",t)}const Pg=[];function zg(t,e){Pg.push(t);try{const t=e();return Pg.pop(),t}catch(t){throw Pg.pop(),t}}function Bg(t){if(!Wg(t))throw new Error("Not a valid tensor name: '"+t+"'");return(0===Pg.length?"":Pg.join("/")+"/")+t}function Ug(t){if(!Wg(t))throw new Error("Not a valid tensor name: '"+t+"'");Lg.has(t)||Lg.set(t,0);const e=Lg.get(t);if(Lg.set(t,Lg.get(t)+1),e>0){const n=`${t}_${e}`;return Lg.set(n,1),n}return t}const Vg=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function Wg(t){return!!t.match(Vg)}function Hg(t,e,n){null==e&&(e=0),null==n&&(n=t.length);let r=1;for(let s=e;se&&(e=r)}return e}function qg(t,e){if(e{switch(t.rank){case 1:return $h(t,e,n);case 2:return Oh(t,[e,0],[n,t.shape[1]]);case 3:return Ph(t,[e,0,0],[n,t.shape[1],t.shape[2]]);case 4:return zh(t,[e,0,0,0],[n,t.shape[1],t.shape[2],t.shape[3]]);case 5:return fu(t,[e,0,0,0,0],[n,t.shape[1],t.shape[2],t.shape[3],t.shape[4]]);case 6:return fu(t,[e,0,0,0,0,0],[n,t.shape[1],t.shape[2],t.shape[3],t.shape[4],t.shape[5]]);default:throw new qm(`sliceAlongFirstAxis() received an unsupported tensor rank: ${t.rank}`)}}))}function Jg(t,e,n){return Ko((()=>{switch(t.rank){case 1:return $h(t,e,n);case 2:return Oh(t,[0,e],[t.shape[0],n]);case 3:return Ph(t,[0,0,e],[t.shape[0],t.shape[1],n]);case 4:return zh(t,[0,0,0,e],[t.shape[0],t.shape[1],t.shape[2],n]);default:throw new qm(`sliceAlongLastAxis() received an unsupported tensor rank: ${t.rank}`)}}))}function Zg(t,e,n,r){return Ko((()=>{switch(t.rank){case 1:return $h(t,e,n);case 2:switch(r){case 1:return Yg(t,e,n);case 2:return Jg(t,e,n);default:throw new qm(`The axis is not within the rank of the tensor ${r}`)}case 3:switch(r){case 1:return Yg(t,e,n);case 2:return Ph(t,[0,e,0],[t.shape[0],n,t.shape[2]]);case 3:return Jg(t,e,n);default:throw new qm(`The axis is not within the rank of the tensor ${r}`)}case 4:switch(r){case 1:return Yg(t,e,n);case 2:return zh(t,[0,e,0,0],[t.shape[0],n,t.shape[2],t.shape[3]]);case 3:return zh(t,[0,0,e,0],[t.shape[0],t.shape[1],n,t.shape[3]]);case 4:return Jg(t,e,n);default:throw new qm(`The axis is not within the rank of the tensor ${r}`)}default:throw new qm(`sliceAlongLastAxis() received an unsupported tensor rank: ${t.rank}`)}}))}function Qg(t,e=-1){let n;return e<0&&(n=t[0].rank,e=0!==n?n:0),e===t[0].rank&&(e=-1),du(t,e)}function ty(t,e){switch(t.rank){case 1:return Eu([t,e]);case 2:return Iu([t,e],0);case 3:return Cu([t,e],0);case 4:return Nu([t,e],0);default:throw new qm(`concatAlongFirstAxis() received an unsupported tensor rank: ${t.rank}`)}}function ey(t,e){if(Array.isArray(e)||(e=[e]),t.rank!==e.length)throw new qm(`The length of input n (${e.length}) does not match the number of dimensions in input x (${t.rank})`);return nc(t,e)}function ny(t,e=0,n=1,r,s){return gh(t,e,n,r,s)}function ry(t,e,n,r){if(t.rank<2||e.rank<2)throw new Xm(`dot requires both inputs to be rank >= 2 but got x shape = ${t.shape} and y shape = ${e.shape}`);if(e.rank>=3&&t.shape.slice(-1)[0]!==e.shape.slice(-2)[0])throw new Xm(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${t.shape} and y shape = ${e.shape}`);if(2===t.rank&&2===e.rank)return Ad({a:t,b:e,transposeA:!1,transposeB:!1,bias:r?ay(t.rank,r,"channelsLast"):null,activation:n});{const s=t.shape.slice(),i=s.pop();t=uu(t,[-1,i]);const a=e.shape.slice(),o=a.pop(),l=a.pop(),u=[...a,o],c=Array.from({length:e.rank},((t,n)=>0===n?e.rank-2:n<=e.rank-2?n-1:n));e=uu(qa(e,c),[l,-1]);const h=[...s,...u];return uu(Ad({a:t,b:e,transposeA:!1,transposeB:!1,bias:r?ay(t.rank,r,"channelsLast"):null,activation:n}),h)}}function sy(t,e,n){return Ko((()=>(e=Array.isArray(e)?Zh(e,"int32"):Ma(e,"int32"),ic(t,e,n))))}function iy(t){return hl(t,t)}function ay(t,e,n){const r=e.shape;if(1!==e.rank&&e.rank!==t)throw new qm(`Unexpected bias dimensions: ${e.rank}; expected it to be 1 or ${t}`);if(5===t){if("channelsFirst"===n)return 1===r.length?uu(e,[1,r[0],1,1,1]):uu(e,[1,r[3],r[0],r[1],r[2]]);if("channelsLast"===n)return 1===r.length?uu(e,[1,1,1,1,r[0]]):uu(e,[1].concat(r))}else if(4===t){if("channelsFirst"===n)return 1===r.length?uu(e,[1,r[0],1,1]):uu(e,[1,r[2],r[0],r[1]]);if("channelsLast"===n)return 1===r.length?uu(e,[1,1,1,r[0]]):uu(e,[1].concat(r))}else if(3===t){if("channelsFirst"===n)return 1===r.length?uu(e,[1,r[0],1]):uu(e,[1,r[1],r[0]]);if("channelsLast"===n)return 1===r.length?uu(e,[1,1,r[0]]):uu(e,[1].concat(r))}else if(t<3)return e;throw new qm(`Unsupported input rank by biasAdd: ${e.rank}`)}function oy(t,e,n){return Ko((()=>(null==n&&(n="channelsLast"),Fg(n),ll(t,ay(t.rank,e,n)))))}function ly(t,e,n,r){return Ko((()=>xd(t,e,n,r)))}function uy(t,e,n=!1){return n?t():e()}const cy=["fanIn","fanOut","fanAvg"],hy=["normal","uniform","truncatedNormal"];class dy extends ko{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class py extends dy{apply(t,e){return Vc(t,e)}}py.className="Zeros",Io(py);class fy extends dy{apply(t,e){return Wc(t,e)}}fy.className="Ones",Io(fy);class my extends dy{constructor(t){if(super(),"object"!=typeof t)throw new qm(`Expected argument of type ConstantConfig but got ${t}`);if(void 0===t.value)throw new qm(`config must have value set but got ${t}`);this.value=t.value}apply(t,e){return Ko((()=>hl(Sl(this.value),Wc(t,e))))}getConfig(){return{value:this.value}}}my.className="Constant",Io(my);class gy extends dy{constructor(t){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=t.minval||this.DEFAULT_MINVAL,this.maxval=t.maxval||this.DEFAULT_MAXVAL,this.seed=t.seed}apply(t,e){return yh(t,this.minval,this.maxval,e)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}gy.className="RandomUniform",Io(gy);class yy extends dy{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if("float32"!==(e=e||"float32")&&"int32"!==e)throw new Xm(`randomNormal does not support dType ${e}.`);return ny(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}yy.className="RandomNormal",Io(yy);class xy extends dy{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if("float32"!==(e=e||"float32")&&"int32"!==e)throw new Xm(`truncatedNormal does not support dType ${e}.`);return sd(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}xy.className="TruncatedNormal",Io(xy);class by extends dy{constructor(t){super(),this.gain=null!=t.gain?t.gain:1}apply(t,e){return Ko((()=>{if(2!==t.length||t[0]!==t[1])throw new qm("Identity matrix initializer can only be used for 2D square matrices.");return hl(this.gain,rc(t[0]))}))}getConfig(){return{gain:this.gain}}}by.className="Identity",Io(by);class vy extends dy{constructor(t){if(super(),t.scale<0)throw new qm(`scale must be a positive float. Got: ${t.scale}`);var e;this.scale=null==t.scale?1:t.scale,this.mode=null==t.mode?"fanIn":t.mode,e=this.mode,cg(cy,"FanMode",e),this.distribution=null==t.distribution?"normal":t.distribution,function(t){cg(hy,"Distribution",t)}(this.distribution),this.seed=t.seed}apply(t,e){const n=function(t,e="channelsLast"){let n,r;if(Fg(e),2===t.length)n=t[0],r=t[1];else if(-1!==[3,4,5].indexOf(t.length)){if("channelsFirst"===e){const e=Hg(t,2);n=t[1]*e,r=t[0]*e}else if("channelsLast"===e){const e=Hg(t,0,t.length-2);n=t[t.length-2]*e,r=t[t.length-1]*e}}else{const e=Hg(t);n=Math.sqrt(e),r=Math.sqrt(e)}return[n,r]}(t),r=n[0],s=n[1];let i=this.scale;if("fanIn"===this.mode?i/=Math.max(1,r):"fanOut"===this.mode?i/=Math.max(1,s):i/=Math.max(1,(r+s)/2),"normal"===this.distribution){const n=Math.sqrt(i);if("float32"!==(e=e||"float32")&&"int32"!==e)throw new Xm(`${this.getClassName()} does not support dType ${e}.`);return sd(t,0,n,e,this.seed)}{const n=Math.sqrt(3*i);return yh(t,-n,n,e)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}}vy.className="VarianceScaling",Io(vy);class wy extends vy{constructor(t){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:null==t?null:t.seed})}getClassName(){return vy.className}}wy.className="GlorotUniform",Io(wy);class Sy extends vy{constructor(t){super({scale:1,mode:"fanAvg",distribution:"normal",seed:null==t?null:t.seed})}getClassName(){return vy.className}}Sy.className="GlorotNormal",Io(Sy);class Ty extends vy{constructor(t){super({scale:2,mode:"fanIn",distribution:"normal",seed:null==t?null:t.seed})}getClassName(){return vy.className}}Ty.className="HeNormal",Io(Ty);class _y extends vy{constructor(t){super({scale:2,mode:"fanIn",distribution:"uniform",seed:null==t?null:t.seed})}getClassName(){return vy.className}}_y.className="HeUniform",Io(_y);class My extends vy{constructor(t){super({scale:1,mode:"fanIn",distribution:"normal",seed:null==t?null:t.seed})}getClassName(){return vy.className}}My.className="LeCunNormal",Io(My);class ky extends vy{constructor(t){super({scale:1,mode:"fanIn",distribution:"uniform",seed:null==t?null:t.seed})}getClassName(){return vy.className}}ky.className="LeCunNormal",Io(ky);class Ey extends dy{constructor(t){if(super(),this.DEFAULT_GAIN=1,this.gain=null==t.gain?this.DEFAULT_GAIN:t.gain,this.seed=t.seed,null!=this.seed)throw new Xm("Random seed is not implemented for Orthogonal Initializer yet.")}apply(t,e){return Ko((()=>{if(t.length<2)throw new Xm("Shape must be at least 2D.");t[0]*t[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${t[0]*t[1]}) elements: Slowness may result.`);const e=ny(t[0]>t[1]?[t[1],t[0]]:t,0,1,"float32");let n=Ep.gramSchmidt(e);return t[0]>t[1]&&(n=qa(n)),hl(this.gain,n)}))}getConfig(){return{gain:this.gain,seed:this.seed}}}Ey.className="Orthogonal",Io(Ey);const Iy={constant:"Constant",glorotNormal:"GlorotNormal",glorotUniform:"GlorotUniform",heNormal:"HeNormal",heUniform:"HeUniform",identity:"Identity",leCunNormal:"LeCunNormal",leCunUniform:"LeCunUniform",ones:"Ones",orthogonal:"Orthogonal",randomNormal:"RandomNormal",randomUniform:"RandomUniform",truncatedNormal:"TruncatedNormal",varianceScaling:"VarianceScaling",zeros:"Zeros"};function Cy(t,e={}){return ag(t,Eo.getMap().classNameMap,e,"initializer")}function Ny(t){return sg(t)}function Ay(t){if("string"==typeof t){const e=t in Iy?Iy[t]:t;if("GlorotNormal"===e)return new Sy;if("GlorotUniform"===e)return new wy;if("HeNormal"===e)return new Ty;if("HeUniform"===e)return new _y;if("LeCunNormal"===e)return new My;if("LeCunUniform"===e)return new ky;{const t={};return t.className=e,t.config={},Cy(t)}}return t instanceof dy?t:Cy(t)}function Ry(){return new py}function Dy(){return new fy}function Ly(t){return new my(t)}function Fy(t){return new gy(t)}function $y(t){return new yy(t)}function Oy(t){return new xy(t)}function Py(t){return new by(t)}function zy(t){return new vy(t)}function By(t){return new wy(t)}function Uy(t){return new Sy(t)}function Vy(t){return new Ty(t)}function Wy(t){return new _y(t)}function Hy(t){return new My(t)}function Gy(t){return new ky(t)}function jy(t){return new Ey(t)}let qy=0;function Xy(){return qy++}const Ky={};function Yy(t=""){return t in Ky||(Ky[t]=0),Ky[t]+=1,t+Ky[t].toString()}function Jy(t){return Array.isArray(t)&&Array.isArray(t[0])}function Zy(t){return 0===t.length?[]:Array.isArray(t[0])?t:[t]}function Qy(t){let e;if(Array.isArray(t)){if(1!==t.length)throw new qm(`Expected Tensor length to be 1; got ${t.length}`);e=t[0]}else e=t;return e}function tx(t){if(Array.isArray(t)&&Array.isArray(t[0])){if(1===t.length)return(t=t)[0];throw new qm(`Expected exactly 1 Shape; got ${t.length}`)}return t}function ex(t){let e=0;for(const n of t)0===n.shape.length?e+=1:e+=n.shape.reduce(((t,e)=>t*e));return e}class nx{constructor(t,e="float32",n="Variable",r=!0,s=null){this.dtype=null==e?"float32":e,this.shape=t.shape,this.id=Xy(),n=null==n?"Variable":n,this.originalName=Bg(n),this.name=Ug(this.originalName),this.trainable_=r,this.constraint=s,this.val=ld(t,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(t){return this.assertNotDisposed(),function(t,e){if(t.shape.toString()!==e.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(t.shape)+" vs. "+JSON.stringify(e.shape))}(this.val,t),this.val.id!==t.id&&(this.val.assign(t),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(t){this.trainable_=t,this.val.trainable=t}}function rx(t){return t.map((t=>t.read()))}function sx(t){t.forEach((t=>{t[0].write(t[1])}))}class ix{constructor(t){this.dtype=t.dtype,this.shape=t.shape,null!=t.shape?this.ndim=t.shape.length:this.ndim=t.ndim,this.maxNDim=t.maxNDim,this.minNDim=t.minNDim,this.axes=t.axes||{}}}class ax{constructor(t,e,n,r,s,i,a){this.dtype=t,this.shape=e,this.sourceLayer=n,this.inputs=r,this.callArgs=s,this.outputTensorIndex=a,this.id=Xy(),null!=i&&(this.originalName=Bg(i),this.name=Ug(this.originalName)),this.rank=e.length}}let ox=0;class lx{constructor(t,e){this.callArgs=e,this.id=ox++,this.outboundLayer=t.outboundLayer,this.inboundLayers=t.inboundLayers,this.nodeIndices=t.nodeIndices,this.tensorIndices=t.tensorIndices,this.inputTensors=t.inputTensors,this.outputTensors=t.outputTensors,this.inputMasks=t.inputMasks,this.outputMasks=t.outputMasks,this.inputShapes=t.inputShapes,this.outputShapes=t.outputShapes;for(const e of t.inboundLayers)null!=e&&e.outboundNodes.push(this);t.outboundLayer.inboundNodes.push(this)}getConfig(){const t=[];for(const e of this.inboundLayers)null!=e?t.push(e.name):t.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:t,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}}let ux=0;class cx extends ko{constructor(t={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=ux++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let e=t.name;if(!e){const t=this.getClassName();e=eg(t)+"_"+Yy(t)}if(this.name=e,this.trainable_=null==t.trainable||t.trainable,null!=t.inputShape||null!=t.batchInputShape){let e;if(null!=t.batchInputShape)e=t.batchInputShape;else if(null!=t.inputShape){let n=null;null!=t.batchSize&&(n=t.batchSize),e=[n].concat(t.inputShape)}this.batchInputShape=e;let n=t.dtype;null==n&&(n=t.inputDType),null==n&&(n="float32"),this.dtype=n}null!=t.weights?this.initialWeights=t.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(t,e){return t.name+"_ib-"+e.toString()}getNodeAtIndex(t,e){if(0===this.inboundNodes.length)throw new jm(`The layer has never been called and thus has no defined ${e}.`);if(this.inboundNodes.length<=t)throw new qm(`Asked to get ${e} at node ${t}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[t]}getInputAt(t){return Qm(this.getNodeAtIndex(t,"input").inputTensors)}getOutputAt(t){return Qm(this.getNodeAtIndex(t,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Gm(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new Gm(`Layer ${this.name} is not connected, no input to return.`);return Qm(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new Gm(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Gm(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return Qm(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map((t=>t()))}get updates(){return this._updates}get built(){return this._built}set built(t){this._built=t}get trainable(){return this.trainable_}set trainable(t){this._trainableWeights.forEach((e=>e.trainable=t)),this.trainable_=t}get trainableWeights(){return this.trainable_?this._trainableWeights.filter((t=>t.trainable)):[]}set trainableWeights(t){this._trainableWeights=t}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter((t=>!t.trainable)).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(t){this._nonTrainableWeights=t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(t){if(t=tg(t),null==this.inputSpec||0===this.inputSpec.length)return;const e=tg(this.inputSpec);if(t.length!==e.length)throw new qm(`Layer ${this.name} expects ${e.length} inputs, but it received ${t.length} input tensors. Input received: ${t}`);for(let n=0;ns.maxNDim)throw new qm(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${i}`);if(null!=s.minNDim&&i=0?t[r]:t[t.length+r];if(null!=i&&-1===[i,null].indexOf(a))throw new qm(`Input ${n} is incompatible with layer ${this.name}: expected axis ${r} of input shape to have value ${i} but got shape ${t}.`)}}if(null!=s.shape)for(let t=0;t{if(!this.built){this.assertInputCompatibility(t);const e=[];for(const n of tg(t))e.push(n.shape);this.build(Qm(e)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&s&&(this._refCount=1)}if(this.assertInputCompatibility(t),s){let r=this.call(t,e);const s=tg(r),i=[];for(let t of s)-1!==n.indexOf(t)&&(t=t.clone()),i.push(t);if(r=Qm(i),null!=this.activityRegularizer)throw new Xm("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}{const n=function(t){t=tg(t);const e=[];for(const n of t)e.push(n.shape);return Qm(e)}(t),r=this.computeOutputShape(n);let s;const i="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(t)?n[0]:n),s=null!=r&&r.length>0&&Array.isArray(r[0])?r.map(((n,r)=>new ax(i,n,this,tg(t),e,this.name,r))):new ax(i,r,this,tg(t),e,this.name),this.addInboundNode(t,s,null,null,n,r,e),this._refCount++,null!=this.activityRegularizer)throw new Xm("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return s}}))}warnOnIncompatibleInputShape(t){if(null!=this.batchInputShape)if(t.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(t)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let e=!1;this.batchInputShape.forEach(((n,r)=>{null!=n&&null!=t[r]&&t[r]!==n&&(e=!0)})),e&&console.warn(`The shape of the input tensor (${JSON.stringify(t)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new Gm(`The layer ${this.name} has never been called and thus has no defined output shape.`);const t=[];for(const e of this.inboundNodes){const n=JSON.stringify(e.outputShapes);-1===t.indexOf(n)&&t.push(n)}if(1===t.length){const t=this.inboundNodes[0].outputShapes;return Array.isArray(t)&&Array.isArray(t[0])&&1===t.length?t[0]:t}throw new Gm(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new jm(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return ex(this.weights)}build(t){this.built=!0}getWeights(t=!1){return rx(t?this.trainableWeights:this.weights)}setWeights(t){Ko((()=>{const e=this.weights;if(e.length!==t.length)throw new qm(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${t.length}, but the layer was expecting ${e.length} weights. Provided weights: ${t}...`);if(0===e.length)return;const n=[],r=rx(e);for(let s=0;ss.apply(u.read()))),null==i&&(i=!0),i?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(t){this.fastWeightInitDuringBuild=t}addLoss(t){null==t||Array.isArray(t)&&0===t.length||(t=tg(t),void 0!==this._losses&&null!==this._losses&&this.losses.push(...t))}computeOutputShape(t){return t}computeMask(t,e){if(!this.supportsMasking){if(null!=e){if(!Array.isArray(e))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);e.forEach((t=>{if(null!=t)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)}))}return null}return e}addInboundNode(t,e,n,r,s,i,a=null){const o=tg(t);e=tg(e),n=tg(n),r=tg(r),s=Zy(s),i=Zy(i);const l=[],u=[],c=[];for(const t of o)l.push(t.sourceLayer),u.push(t.nodeIndex),c.push(t.tensorIndex);new lx({outboundLayer:this,inboundLayers:l,nodeIndices:u,tensorIndices:c,inputTensors:o,outputTensors:e,inputMasks:n,outputMasks:r,inputShapes:s,outputShapes:i},a);for(let t=0;tt.dispose())),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let t=0;return 0==--this._refCount&&(t=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:t}}}function hx(t,e,n){if((null==e||null!=n&&n>0)&&(e=t.sourceLayer,n=t.nodeIndex),0===e.inboundNodes.length)return[t];{const t=e.inboundNodes[n];if(0===t.inboundLayers.length)return t.inputTensors;{const e=[];for(let n=0;n0){const s=await Promise.all(e);for(let e=0;ell(this.totals[t],hl(r,n))));this.totals[t]=s,null!=e&&e.dispose()}}}async onEpochEnd(t,e){if(null!=e)for(const t of this.params.metrics)null!=this.totals[t]&&("number"==typeof this.totals[t]?e[t]=this.totals[t]/this.seen:Ko((()=>{const n=hl(cl(1,this.seen),this.totals[t]);e[t]=n,this.totals[t].dispose(),Jo(e[t])})))}}class vx extends yx{async onTrainBegin(t){this.epoch=[],this.history={}}async onEpochEnd(t,e){null==e&&(e={}),this.epoch.push(t);for(const t in e)null==this.history[t]&&(this.history[t]=[]),this.history[t].push(e[t])}async syncData(){const t=[],e=[],n=[];for(const r in this.history){const s=this.history[r];for(let i=0;i{const a=null!=n?n():As();return a-snew wx(t,e)))}class Tx{constructor(){}static registerCallbackConstructor(t,e){rt(t>=0&&Number.isInteger(t),(()=>`Verbosity level is expected to be an integer >= 0, but got ${t}`)),Tx.checkForDuplicate(e),null==Tx.constructors[t]&&(Tx.constructors[t]=[]),Tx.constructors[t].push(e)}static checkForDuplicate(t){for(const e in Tx.constructors)Tx.constructors[+e].forEach((e=>{if(e===t)throw new qm("Duplicate callback constructor.")}))}static clear(){Tx.constructors={}}static createCallbacks(t){const e=[];for(const n in Tx.constructors){const r=+n;t>=r&&e.push(...Tx.constructors[r])}return e.map((t=>new t))}}function _x(t,e,n,r,s,i,a,o,l){const u=new vx,c=[new bx,...Tx.createCallbacks(e)];null!=t&&c.push(...t),c.push(u);const h=new xx(c);return h.setParams({epochs:n,initialEpoch:r,samples:s,steps:i,batchSize:a,verbose:e,doValidation:o,metrics:l}),{callbackList:h,history:u}}function Mx(t,e={},n=!1){return ag(t,Eo.getMap().classNameMap,e,"layer",n)}function kx(t,e){return Ko((()=>{"float32"!==t.dtype&&(t=Ma(t,"float32"));const n=Tc(iy(t),e,!0),r=Ml(n.shape,Hm()),s=dl(Al(n,r));return cl(t,s)}))}function Ex(t,e){return Ko((()=>Uc(iy(Il(e,t)),-1)))}function Ix(t,e){return Ko((()=>Uc(Nl(Il(e,t)),-1)))}function Cx(t,e){return Ko((()=>{const n=Il(t,e),r=ku(Nl(t),Hm(),Number.MAX_VALUE),s=Nl(cl(n,r));return hl(100,Uc(s,-1))}))}function Nx(t,e,n=!1){return Ko((()=>{if(n)e=Bh(e);else{const t=Tc(e,e.shape.length-1,!0);e=cl(e,t)}return e=ku(e,Hm(),1-Hm()),bc(Tc(hl(Ma(t,"float32"),yc(e)),e.shape.length-1))}))}function Ax(t,e,n=!1){return Ko((()=>{const r=Ma(sc(function(t){const e=[Hg(t.shape)];return uu(t,e)}(t)),"int32"),s=(e=ku(e,Hm(),1-Hm())).shape;return Nx(uu(ja(r,s[s.length-1]),s),e,n)}))}function Rx(t,e){return Ko((()=>{let n;return n=ku(e,Hm(),1-Hm()),n=yc(cl(n,Il(1,n))),Uc(function(t,e){if(!ut(t.shape,e.shape))throw new qm(`logits and labels must have the same shape, but got shapes ${JSON.stringify(t.shape)} and ${JSON.stringify(e.shape)}`);return Ko((()=>{const n=wh(e),r=bc(Nl(e));return ll(Il(n,hl(e,t)),xc(Qu(r)))}))}(t,n),-1)}))}function Dx(t,e){return Ko((()=>{const n=kx(t,-1),r=kx(e,-1),s=hl(n,r);return bc(Tc(s,-1))}))}Tx.constructors={};const Lx={meanSquaredError:Ex,meanAbsoluteError:Ix,meanAbsolutePercentageError:Cx,meanSquaredLogarithmicError:function(t,e){return Ko((()=>{const n=ku(e,Hm(),Number.MAX_VALUE),r=yc(ll(1,n)),s=ku(t,Hm(),Number.MAX_VALUE),i=yc(ll(1,s));return Uc(iy(Il(r,i)),-1)}))},squaredHinge:function(t,e){return Ko((()=>{const n=Al(0,Il(1,hl(t,e)));return Uc(iy(n),-1)}))},hinge:function(t,e){return Ko((()=>{const n=Al(0,Il(1,hl(t,e)));return Uc(n,-1)}))},categoricalHinge:function(t,e){return Ko((()=>{const n=Tc(hl(t,e),-1),r=Sc(hl(Il(1,t),e),-1);return Al(0,ll(1,Il(r,n)))}))},logcosh:function(t,e){return Ko((()=>{const n=Math.log(2),r=Il(e,t),s=Il(ll(r,vc(hl(-2,r))),n);return Uc(s,-1)}))},categoricalCrossentropy:Nx,sparseCategoricalCrossentropy:Ax,binaryCrossentropy:Rx,kullbackLeiblerDivergence:function(t,e){return Ko((()=>{const n=ku(t,Hm(),1),r=ku(e,Hm(),1);return Tc(hl(t,yc(cl(n,r))),-1)}))},poisson:function(t,e){return Ko((()=>{const n=yc(ll(Hm(),e));return Uc(Il(e,hl(t,n)),-1)}))},cosineProximity:Dx};function Fx(t){if("string"==typeof t){if(t in Lx)return Lx[t];let e=`Unknown loss ${t}`;throw t.toLowerCase().includes("softmaxcrossentropy")&&(e=`Unknown loss ${t}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new qm(e)}return t}function $x(t,e){return Ko((()=>{const n=hl(.5,Qc(e)),r=Xg(ac(e,n),t.dtype);return Uc(ju(t,r),-1)}))}function Ox(t,e){return Ko((()=>Xg(ju(Vl(t,-1),Vl(e,-1)),"float32")))}function Px(t,e){return Ko((()=>Ma(Tc(Lc(ju(t,1),ju(e,1))),"float32")))}function zx(t,e){return Ko((()=>{const n=Px(t,e),r=function(t,e){return Ko((()=>Ma(Tc(Lc(ju(t,0),ju(e,1))),"float32")))}(t,e),s=ll(n,r);return Ma(qu(ac(s,0),cl(n,s),0),"float32")}))}function Bx(t,e){return Rx(t,e)}function Ux(t,e){return t.rank===e.rank&&(t=qh(t,[t.rank-1])),(e=Vl(e,-1)).dtype!==t.dtype&&(e=Ma(e,t.dtype)),Ma(ju(t,e),"float32")}const Vx=Nx,Wx=Ax,Hx={binaryAccuracy:$x,categoricalAccuracy:Ox,precision:zx,categoricalCrossentropy:Vx,sparseCategoricalCrossentropy:Wx,mse:Ex,MSE:Ex,mae:Ix,MAE:Ix,mape:Cx,MAPE:Cx,cosine:Dx};function Gx(t){if("string"==typeof t&&t in Hx)return Hx[t];if("string"!=typeof t&&null!=t)return t;throw new qm(`Unknown metric ${t}`)}function jx(t){if(Jm(null!==t,`Unknown LossOrMetricFn ${t}`),"string"==typeof t)return t;{let e;for(const n of Object.keys(Lx))if(Lx[n]===t){e=n;break}if(void 0!==e)return e;for(const n of Object.keys(Hx))if(Hx[n]===t){e=n;break}return void 0!==e?e:t.name}}function qx(t,e,n=!1){if(null==t||"object"!=typeof t||Object.getPrototypeOf(t)!==Object.prototype||!Xx(t))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(t);n.length>1048576&&console.warn(`User-defined metadata of model "${e}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function Xx(t){if(null===t)return!0;if("object"==typeof t){if(Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);for(const n of e){if("string"!=typeof n)return!1;if(!Xx(t[n]))return!1}return!0}if(Array.isArray(t)){for(const e of t)if(!Xx(e))return!1;return!0}return!1}{const e=typeof t;return"string"===e||"number"===e||"boolean"===e}}function Kx(t,e,n=console.log){let r="";for(let n=0;n0&&(r=r.slice(0,r.length-1)+" "),r+=t[n],r=r.slice(0,e[n]),r+=" ".repeat(e[n]-r.length);n(r)}function Yx(t,e,n){let r;try{r=JSON.stringify(t.outputShape)}catch(t){r="multiple"}Kx([`${t.name} (${t.getClassName()})`,r,t.countParams().toString()],e,n)}function Jx(t,e,n,r){let s;try{s=JSON.stringify(t.outputShape)}catch(t){s="multiple"}const i=[];for(const e of t.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(e)))for(let t=0;tt.name)),l=[],u=e.names();for(const t of o)-1!==u.indexOf(t)?l.push(e.getValue(t)):l.push(null);null!=r&&(r.maxNumTensors=-1/0,r.minNumTensors=1/0);const c=o.join(",")+"|"+e.names().join(",");let h,d;if(null==rb[c]){const t=function(t,e){rt(null!=t&&t.length>0,(()=>"Expected at least one fetch, got none"));let n=[],r={};if(1===t.length){const s=ob(t[0],e);n=s.sorted,r=s.recipientMap}else{const s=new Set;for(const i of t){const{sorted:t,recipientMap:a}=ob(i,e);for(const e of t)s.has(e.name)||(n.push(e),s.add(e.name));for(const t in a)null==r[t]&&(r[t]=new Set),a[t].forEach((e=>r[t].add(e)))}}return{sorted:n,recipientCounts:ab(r)}}(a,e);h=t.sorted,d=t.recipientCounts,rb[c]=h,sb[c]=d}h=rb[c],d={},s||Object.assign(d,sb[c]);const p=new nb(e);for(let t=0;tr.maxNumTensors&&(r.maxNumTensors=t),t0;){const t=i[i.length-1];if(n.has(t.name)){i.pop();continue}const e=a[a.length-1]===i.length-1;if(0===t.inputs.length||e)i.pop(),r.push(t),n.add(t.name),e&&a.pop();else{a.push(i.length-1);for(const e of t.inputs)null==s[e.name]&&(s[e.name]=new Set),s[e.name].add(t.name),n.has(e.name)||i.push(e)}}return{sorted:r,recipientMap:s}}function lb(t){let e;if(1===t.sourceLayer.inboundNodes.length)e=t.sourceLayer.output;else{let n=null;for(let e=0;et.name))}`);lg(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map((t=>t.name))}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const t of this.outputs){const e=t.sourceLayer,n=t.nodeIndex,r=t.tensorIndex;this.outputLayers.push(e),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(r)}for(const t of this.inputs){const e=t.sourceLayer,n=t.nodeIndex,r=t.tensorIndex;Jm(0===n,"input layer has >1 nodes"),Jm(0===r,"input layer has >1 tensors"),this.inputLayers.push(e),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(r)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let e=0;et.shape)),this.internalOutputShapes=this.outputs.map((t=>t.shape));const e={},n={},r={},s={},i={},a=[],o=(t,e,n,r,s,l)=>{null!=r&&null!=s&&null!=l||(r=t.sourceLayer,s=t.nodeIndex,l=t.tensorIndex);const u=r.inboundNodes[s];if(-1!==n.indexOf(u))throw new jm(`The tensor ${t.name} at layer "${r.name}" is part of a cycle.`);if(-1!==e.indexOf(u))return;this.containerNodes.add(ub.nodeKey(r,s)),r.id in i||(i[r.id]=Object.keys(i).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let t=0;t=0;)n.splice(n.indexOf(u),1);a.push(u)},l=[],u=[];for(const t of this.outputs)o(t,l,u);const c=a.slice().reverse();for(const t of c){n[t.id]=t,t.id in e||(e[t.id]=0);let i=e[t.id];const a=null==r[t.outboundLayer.id]?0:r[t.outboundLayer.id];i=Math.max(i,a),r[t.outboundLayer.id]=i,s[t.outboundLayer.id]=t.outboundLayer,e[t.id]=i;for(let r=0;rparseInt(t,10))).sort(og);this.layers=[];for(const t of p){const e=d[t];e.sort(((t,e)=>{const n=i[t.id],r=i[e.id];return nr?1:0}));for(const t of e)t instanceof ub&&this.internalContainerRefs.push(t),this.layers.push(t)}this.layersByDepth=d,p=Object.keys(h).map((t=>parseInt(t,10))).sort(og);const f=this.inputs.slice(),m=[];for(const t of p)for(const e of h[t]){const t=e.outboundLayer;if(null!=t){for(const n of e.inputTensors)if(-1===f.indexOf(n))throw new jm(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${t.name}". The following previous layers were accessed without issue: ${m}`);for(const t of e.outputTensors)f.push(t);m.push(t.name)}}this.nodesByDepth=h;const g=this.layers.map((t=>t.name));for(const t of g){const e=g.filter((e=>e===t)).length;if(1!==e)throw new jm(`The name "${t}" is used ${e} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new lx({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map((t=>null)),outputMasks:this.outputs.map((t=>null)),inputShapes:this.inputs.map((t=>t.shape)),outputShapes:this.outputs.map((t=>t.shape))}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const t={refCountAfterDispose:null,numDisposedVariables:0};if(0==--this._refCount){for(const e of this.layers)t.numDisposedVariables+=e.dispose().numDisposedVariables;for(const e of this.internalContainerRefs)t.numDisposedVariables+=e.dispose().numDisposedVariables}return t.refCountAfterDispose=this._refCount,t}get trainable(){return this.trainable_}set trainable(t){this.layers.forEach((e=>{e._trainableWeights.forEach((e=>e.trainable=t))})),this.trainable_=t}get trainableWeights(){if(this._trainableWeights.length>0)throw new qm("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let t=[];for(const e of this.layers)t=t.concat(e.trainableWeights);return t}get nonTrainableWeights(){const t=[];for(const e of this.layers)t.push(...e.nonTrainableWeights);if(!this.trainable){const e=[];for(const t of this.layers)e.push(...t.trainableWeights);return e.concat(t)}return t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(t,e=!0){const n={};let r=0;for(const t of this.layers)for(const e of t.weights){if(null!=n[e.originalName])throw new qm(`Duplicate weight name: ${e.originalName}`);n[e.originalName]=e,r++}const s=[];for(const r in t){let i=r;if(null==n[r]){const t=r.split("/");i=t.slice(0,-2).concat([t[t.length-1]]).join("/")}if(null!=n[i])s.push([n[i],t[r]]);else if(e)throw new qm(`Provided weight data has no target variable: ${r}`);delete n[i]}if(e){const t=[];for(const e in n)t.push(e);if(t.length>0)throw new qm(`${t.length} of ${r} weights are not set: ${t}`)}sx(s)}updatedConfig(){const t=this.getConfig(),e={};return e.className=this.getClassName(),e.config=t,e.kerasVersion=`tfjs-layers ${eb}`,e.backend="TensorFlow.js",e}toJSON(t,e=!0){const n=tb(this.updatedConfig());return e?JSON.stringify(n):n}call(t,e){return Ko((()=>{t=tg(t);const n=new nb;for(let e=0;e{let n;return t=tg(t),n=null==e?Ym(null,t.length):tg(e),this.runInternalGraph(t,n)[1]}))}computeOutputShape(t){const e=Zy(t);if(e.length!==this.inputLayers.length)throw new qm(`Invalid inputShape argument ${t}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let t=0;tparseInt(t,10))).sort(og);if(r.length>1)for(const t of r){const e=this.nodesByDepth[t];for(const t of e){const e=t.outboundLayer;if(-1!==this.inputLayers.map((t=>t.id)).indexOf(e.id))continue;const r=[];for(let e=0;eparseInt(t,10))).sort(og);for(const t of r){const e=this.nodesByDepth[t];for(const t of e){const e=t.outboundLayer,r=t.inputTensors,s=t.outputTensors,i=new Array;for(const t of r)t.id in n&&i.push(n[t.id]);if(i.length===r.length){let r,a,o,l,u={};if(null!=t.callArgs&&(u=t.callArgs),1===i.length){const[t,n]=i[0];null==u.mask&&(u.mask=n),o=tg(e.call(t,u)),l=tg(e.computeMask(t,n)),r=[t],a=[n]}else r=i.map((t=>t[0])),a=i.map((t=>t[1])),null==u.mask&&(u.mask=a),o=tg(e.call(r,u)),l=tg(e.computeMask(r,a));if(e.activityRegularizer)throw new Xm("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let t=0;t{const t=[];for(const e of this.layers)for(let n=0;n0){const t=[];for(let n=0;n0&&t.apply(Qm(n),r)}function l(t){const n=t.name,i=Mx(t,null!=e.customObjects?e.customObjects:{});i.setFastWeightInitDuringBuild(r),s[n]=i,t.inboundNodes.forEach((t=>{if(!(t instanceof Array))throw new qm(`Corrupted configuration, expected array for nodeData: ${t}`);a(i,t)}))}const u=e.name,c=e.layers;for(const t of c)l(t);for(;!ug(i);)for(const t of c){const e=s[t.name];if(e.name in i){const t=i[e.name];delete i[e.name];for(const n of t)o(e,n)}}const h=[],d=[],p=e.inputLayers;for(const t of p){const e=t[0],n=t[1],r=t[2];Jm(e in s);const i=s[e].inboundNodes[n].outputTensors;h.push(i[r])}const f=e.outputLayers;for(const t of f){const e=t[0],n=t[1],r=t[2];Jm(e in s);const i=s[e].inboundNodes[n].outputTensors;d.push(i[r])}return new t({inputs:h,outputs:d,name:u})}get stateful(){if(this._stateful)throw new qm("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const t of this.layers)if(t.stateful)return!0;return!1}resetStates(){Ko((()=>{this.layers.forEach((t=>{t.stateful&&t.resetStates()}))}))}}function cb(t,e){return function(t,e,n){const r=e.length;if(null==t||Array.isArray(t)&&0===t.length)return e.map((t=>null));if(1===r)return Array.isArray(t)&&1===t.length?t:"object"==typeof t&&e[0]in t?[t[e[0]]]:[t];if(Array.isArray(t)){if(t.length!==r)throw new Error(`Provided ${n} is an array of ${t.length} element(s), but the model has ${r} outputs. Make sure a set of weights is provided for each model output.`);return t}if("object"==typeof t&&Object.keys(t).length>0&&"object"==typeof t[Object.keys(t)[0]]){const n=[];return e.forEach((e=>{e in t?n.push(t[e]):n.push(null)})),n}throw new Error(`The model has multiple (${r}) outputs, so ${n} must be either an array with ${r} elements or an object with ${e} keys. Provided ${n} not understood: ${JSON.stringify(t)}`)}(t,e,"classWeight")}async function hb(t,e,n,r){if(null!=e||null!=r)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const e=Ko((()=>{if(1===t.shape.length)return ka(t);if(2===t.shape.length){if(t.shape[1]>1)return Vl(t,1);if(1===t.shape[1])return uu(t,[t.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${t.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${t.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)})),r=Array.from(await e.data());Yo(e);const s=[];return r.forEach((t=>{if(null==n[t])throw new Error(`classWeight must contain all classes in the training data. The class ${t} exists in the data but not in classWeight`);s.push(n[t])})),Zh(s,"float32")}return null}function db(t,e){return hl(t,e)}function pb(t,e){let n,r;const s=e;n=s.xs,r=s.ys,rt(null!=n&&null!=r,(()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${e}`));const i=fb("input",t.inputNames,n),a=fb("output",t.outputNames,r),o=i[0].shape[0];rt(i.length===t.inputs.length,(()=>`LayersModel has ${t.inputs.length} inputs, but the dataset provides ${i.length} inputs. (Expected input keys: ${JSON.stringify(t.inputNames)})`)),rt(a.length===t.outputs.length,(()=>`LayersModel has ${t.outputs.length} outputs, but the dataset provides ${a.length} outputs. (Expected output keys: ${JSON.stringify(t.outputNames)})`));for(let e=0;e`Batch size mismatch: input ${t.inputNames[e]} has ${i[e].shape[0]}; expected ${o} based on input ${t.inputNames[0]}.`));for(let e=0;e`Batch size mismatch: output ${t.outputNames[e]} has ${a[e].shape[0]}; expected ${o} based on input ${t.inputNames[0]}.`));return{xs:i,ys:a}}function fb(t,e,n){if(n instanceof qs)return[n];if(Array.isArray(n))return rt(n.length===e.length,(()=>`Received an array of ${n.length} Tensors, but expected ${e.length} to match the ${t} keys ${e}.`)),n;{const r=[];for(const s of e){if(null==n[s])throw new qm(`The feature data generated by the dataset lacks the required ${t} key '${s}'.`);r.push(n[s])}return r}}function mb(t){return"function"==typeof t.iterator}function gb(t){rt(t>0&&Number.isInteger(t),(()=>`batchSize is required to be a positive integer, but got ${t}`))}function yb(t,e,n){return null==t?[null]:Array.isArray(t)?t.map((t=>Yg(t,e,n-e))):Yg(t,e,n-e)}function xb(t,e){return Ko((()=>null==t?null:Array.isArray(t)?t.map((t=>xb(t,e))):sy(t,"int32"===e.dtype?e:Ma(e,"int32"))))}function bb(t,e){const n=[];let r=0,s=null;for(;r=t&&(s=t),n.push([r,s]),r=s;return n}function vb(t){const e=[];t instanceof qs&&(t=[t]);for(let n=0;nn.push(t.id)));else if(null!=e)for(const t in e){const r=e[t];n.push(r.id)}const r=[];if(t instanceof qs)-1===n.indexOf(t.id)&&r.push(t);else if(Array.isArray(t))t.forEach((t=>{-1===n.indexOf(t.id)&&r.push(t)}));else if(null!=t)for(const e in t){const s=t[e];-1===n.indexOf(s.id)&&r.push(s)}r.forEach((t=>{t.isDisposed||t.dispose()}))}function Sb(t){return Array.isArray(t)}function Tb(t){return!function(t){return t instanceof qs}(t)&&!Sb(t)}function _b(t,e,n,r=!0,s=""){if(null==e||0===e.length){if(null!=t){let e=!1;if(Sb(t)&&t.length>0)e=!0;else if(Tb(t)){for(const n in t)if(t.hasOwnProperty(n)){e=!0;break}}else e=!0;if(e)throw new qm(`Error when checking model ${s} expected no data, but got ${t}`)}return[]}if(null==t)return e.map((t=>null));let i;if(Tb(t)){t=t,i=[];for(const n of e){if(null==t[n])throw new qm(`No data provided for "${n}". Need data for each key in: ${e}`);i.push(t[n])}}else if(Sb(t)){if((t=t).length!==e.length)throw new qm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${e.length} Tensor(s), but instead got the following list of Tensor(s): ${t}`);i=t}else{if(t=t,e.length>1)throw new qm(`The model ${s} expects ${e.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${t.shape}`);i=[t]}if(i=vb(i),null!=n)for(let t=0;t=0&&i!==o)throw new qm(`${s} expected a batch of elements where each example has shape [${n[t].slice(1,n[t].length)}] (i.e.,tensor shape [*,${n[t].slice(1,n[t].length)}]) but the ${s} received an input with ${a.shape[0]} examples, each with shape [${a.shape.slice(1,a.shape.length)}] (tensor shape [${a.shape}])`)}}return i}function Mb(t,e,n,r=!0,s=""){let i;if(Array.isArray(t)){if(t.length!==e.length)throw new qm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${e.length} Tensor(s), but instead got ${t.length} Tensors(s).`);i=t}else{if(e.length>1)throw new qm(`The model expects ${e.length} ${s} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(t.shape)}.`);i=[t]}if(null!=n)for(let t=0;t1||1===t.length&&t[0].inboundLayers.length>1){e=!1;break}r.push(...t)}if(e)for(const n of t.layers){let t=!1;for(const s of n.inboundNodes)if(-1!==r.indexOf(s)){if(t){e=!1;break}t=!0}if(!e)break}return e}(t),i=["Layer (type)","Output shape","Param #"];let a;if(s?(e=e||65,n=n||[.45,.85,1]):(e=e||98,n=n||[.33,.55,.67,1]),n[n.length-1]<=1&&(n=n.map((t=>Math.floor(e*t)))),!s){i.push("Receives inputs"),a=[];for(const e in t.nodesByDepth)a.push(...t.nodesByDepth[e])}r("_".repeat(e)),Kx(i,n,r),r("=".repeat(e));const o=t.layers;for(let t=0;tAp.adagrad(.01),Adadelta:()=>Ap.adadelta(1,.95,Hm()),Adam:()=>Ap.adam(.001,.9,.999,Hm()),Adamax:()=>Ap.adamax(.002,.9,.999,Hm(),0),RMSProp:()=>Ap.rmsprop(.001,.9,0,Hm()),SGD:()=>Ap.sgd(.01)};if(e.adagrad=e.Adagrad,e.adadelta=e.Adadelta,e.adam=e.Adam,e.adamax=e.Adamax,e.rmsprop=e.RMSProp,e.sgd=e.SGD,t in e)return e[t]();throw new qm(`Unknown Optimizer ${t}`)}(t.optimizer),this.isOptimizerOwned=!0;else{if(!(t.optimizer instanceof Tl))throw new qm("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=t.optimizer,this.isOptimizerOwned=!1}let e=[];if(Array.isArray(t.loss)||"string"==typeof t.loss||"function"==typeof t.loss)if(Array.isArray(t.loss)){if(t.loss.length!==this.outputs.length)throw new qm(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${t.loss}.`);const n=t.loss;e=n.map((t=>Fx(t)))}else{const n=Fx(t.loss);this.outputs.forEach((t=>{e.push(n)}))}else{t.loss=t.loss;for(const e in t.loss)if(-1===this.outputNames.indexOf(e))throw new qm(`Unknown entry in loss dictionary: "${e}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==t.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),e.push(Fx(t.loss[n]))}this.lossFunctions=e,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let t=0;t{for(let t=0;t1&&(this.metricsTensors.push([e,t]),this.metricsNames.push(this.outputNames[t]+"_loss"))}}));const r=function(t,e){if(null==t||Array.isArray(t)&&0===t.length)return e.map((t=>[]));let n;if("string"==typeof t||"function"==typeof t)n=[t];else{if(!Array.isArray(t)&&"object"!=typeof t)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${t}`);n=t}if(Array.isArray(n))return e.map((t=>n));{const t=[];for(const r of e){let e=n.hasOwnProperty(r)?n[r]:[];Array.isArray(e)||(e=[e]),t.push(e)}return t}}(t.metrics,this.outputNames),s=(t,e,n)=>{this.outputNames.length>1&&(e=this.outputNames[t]+"_"+e),this.metricsNames.push(e),this.metricsTensors.push([n,t])};zg("metric",(()=>{for(let t=0;t{let n,r,i;for(const a of e){if("string"==typeof a&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(a)){const e=this.internalOutputShapes[t];let s;1===e[e.length-1]||this.lossFunctions[t]===Rx?-1!==["accuracy","acc"].indexOf(a)?r=$x:-1!==["crossentropy","ce"].indexOf(a)&&(r=Bx):this.lossFunctions[t]===Ax?-1!==["accuracy","acc"].indexOf(a)?r=Ux:-1!==["crossentropy","ce"].indexOf(a)&&(r=Wx):-1!==["accuracy","acc"].indexOf(a)?r=Ox:-1!==["crossentropy","ce"].indexOf(a)&&(r=Vx),-1!==["accuracy","acc"].indexOf(a)?s="acc":-1!==["crossentropy","ce"].indexOf(a)&&(s="ce"),i=r,n=""+s}else{const t=Gx(a);i=t,n=""+jx(a)}let e;zg(n,(()=>{e=i})),s(t,n,e)}})(r[t])})),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(t,e,n={}){const r=null==n.batchSize?32:n.batchSize;gb(r);const s=this.standardizeUserDataXY(t,e,!0,r);try{const i=s[0].concat(s[1]);this.makeTestFunction();const a=this.testFunction;return Qm(this.testLoop(a,i,r,n.verbose,n.steps))}finally{wb(s[0],t),wb(s[1],e)}}async evaluateDataset(t,e){return this.makeTestFunction(),async function(t,e,n){const r=null!=(n=n||{}).batches,s=t.testFunction;let i=[];if(n.verbose>0)throw new Xm("Verbose mode is not implemented yet.");rt(!r||n.batches>0&&Number.isInteger(n.batches),(()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`));const a="function"==typeof e.next?e:await e.iterator();let o=0,l=0;for(;!r||l{if(e.value){const{xs:n,ys:r}=pb(t,e.value),a=n.concat(r),u=Ko((()=>s(a)));if(Yo(a),0===l)for(let t=0;tll(i[t],hl(c,e)))),l>0&&Yo(n)}Yo(u),o+=c,++l}return i})),e.done){r&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let t=0;tt.name));for(let r=0;r0){const n=[];throw e.forEach(((e,r)=>{null==e&&n.push(t[r])})),new qm(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return e}predictLoop(t,e=32,n=!1){return Ko((()=>{const r=this.checkNumSamples(t);if(n)throw new Xm("Verbose predictLoop() is not implemented yet.");const s=bb(r,e),i=this.outputs.map((t=>[]));for(let e=0;e{const n=s[e][0],r=s[e][1],i=yb(t,n,r),a=[];if(Array.isArray(i))for(let t=0;ti[e].push(t)));return Qm(i.map((t=>du(t,0))))}))}predict(t,e={}){const n=vb(t);Mb(n,this.inputNames,this.feedInputShapes,!1);try{const r=null==e.batchSize?32:e.batchSize;return gb(r),this.predictLoop(n,r)}finally{wb(n,t)}}predictOnBatch(t){Mb(t,this.inputNames,this.feedInputShapes,!0);const e=(Array.isArray(t)?t[0]:t).shape[0];return this.predictLoop(t,e)}standardizeUserDataXY(t,e,n=!0,r){if(null==this.optimizer_)throw new jm("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const s=[];for(let t=0;tt.shape[0])));r.sort();const s=lg(e.map((t=>t.shape[0])));if(s.sort(),r.length>1)throw new qm(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map((t=>t.shape)))}`);if(s.length>1)throw new qm(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map((t=>t.shape)))}`);if(r.length>0&&s.length>0&&!ut(r,s))throw new qm(`Input Tensors should have the same number of samples as target Tensors. Found ${r[0]} input sample(s) and ${s[0]} target sample(s).`)}(t=_b(t,this.feedInputNames,this.feedInputShapes,!1,"input"),e=_b(e,this.feedOutputNames,s,!1,"target")),function(t,e,n){const r=[Ex,Rx,Nx];for(let s=0;s0&&t[0].shape[0]%r!=0)throw new qm(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${r}. Found: ${t[0].shape[0]} sample(s).`);return[t,e]}async standardizeUserData(t,e,n,r,s=!0,i){const[a,o]=this.standardizeUserDataXY(t,e,s,i);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=r){const t=cb(r,this.outputNames);l=[];for(let e=0;e{const i=this.checkNumSamples(e,n,s,"steps"),a=[];if(r>0)throw new Xm("Verbose mode is not implemented yet.");if(null!=s)throw new Xm("steps mode in testLoop() is not implemented yet");{const r=bb(i,n),s=Zh(qg(0,i));for(let n=0;n1&&(s+=`_${Zm(t.slice(0,n),r)}`),e.push(s)}return e}makeTrainFunction(){return t=>{const e=[],n=t.slice(0,this.inputs.length),r=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=t.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),i=[],a=this.collectedTrainableWeights.map((t=>t.read()));return[this.optimizer_.minimize((()=>{const t=[];for(let e=0;e1&&t{l=ll(l,t)})),l}),!0,a)].concat(i)}}makeTestFunction(){this.testFunction=t=>Ko((()=>{const e=[];let n;const r=t.slice(0,this.inputs.length),s=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),i=[];for(let t=0;t0){if(y=!0,2!==r.validationData.length)throw 3===r.validationData.length?new Xm("validationData including sample weights is not supported yet."):new qm(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${r.validationData} is invalid.`);l=r.validationData[0],u=r.validationData[1];const e=!0,n=await t.standardizeUserData(l,u,null,null,e,p);c=n[0],h=n[1],g=c.concat(h)}else if(null!=r.validationSplit&&r.validationSplit>0&&r.validationSplit<1){y=!0;const t=Math.floor(s[0].shape[0]*(1-r.validationSplit)),e=s[0].shape[0];c=yb(s,t,e),a=s,s=yb(s,0,t),h=yb(i,t,e),o=i,i=yb(i,0,t),g=c.concat(h)}else null!=r.validationSteps&&(y=!0);const x=s.concat(i).concat(d);t.checkTrainableWeightsConsistency();const b=t.makeTrainFunction(),v=t.getDedupedMetricsNames();let w,S;y?(t.makeTestFunction(),w=t.testFunction,S=v.slice().concat(v.map((t=>"val_"+t)))):(w=null,g=[],S=v.slice());const T=Sx(r.callbacks,r.yieldEvery);return await async function(t,e,n,r,s,i,a,o,l,u,c,h,d,p,f){null==s&&(s=32),null==i&&(i=1),null==c&&(c=!0),null==d&&(d=0);let m=!1;null!=l&&null!=u&&(m=!0);const g=t.checkNumSamples(n,s,p,"steps_per_epoch");let y;null!=g&&(y=qg(0,g)),null==a&&(a=1);const{callbackList:x,history:b}=_x(o,a,i,d,g,p,s,m,h);x.setModel(t),t.history=b,await x.onTrainBegin(),t.stopTraining_=!1;for(let a=d;a{const d=o[c][0],p=o[c][1],f=Yg(a,d,p-d);h.batch=c,h.size=p-d;const g=xb(n,f),y=e(g);for(let t=0;t"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).")),rt(null!=n,(()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.")),rt(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),(()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`)),rt(!r||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),(()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`)),rt(null==n.validationSplit,(()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead.")),t.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");t.isTraining=!0;try{const s=null!=n.validationData;let i,a;if(s)if(mb(n.validationData))rt(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),(()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`));else{const t=function(t){if(3===t.length)throw new Xm("Validation with sample weights is not implemented yet.");return{xs:t[0],ys:t[1]}}(n.validationData);i=t.xs,a=t.ys}const o=t.makeTrainFunction(),l=t.getDedupedMetricsNames();let u;u=s?l.slice().concat(l.map((t=>"val_"+t))):l.slice();const c=Sx(n.callbacks,n.yieldEvery),h=null==n.verbose?1:n.verbose,{callbackList:d,history:p}=_x(c,h,n.epochs,null,null,function(t,e){let n=null;return null!=e.batchesPerEpoch?n=e.batchesPerEpoch:Number.isFinite(t.size)&&(n=t.size),n}(e,n),null,s,u);d.setModel(t),t.history=p,await d.onTrainBegin(),t.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await e.iterator();for(;f=n.batchesPerEpoch:e.done){if(s){let e;e=mb(n.validationData)?tg(await t.evaluateDataset(n.validationData,{batches:n.validationBatches})):tg(t.evaluate(i,a,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;neg(t)))}else{const e=Object.keys(this.loss);t={};const n=this.loss;for(const r of e){if("string"!=typeof n[r])throw new Error("Serialization of non-string loss is not supported.");t[r]=eg(n[r])}}return t}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[eg(jx(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map((t=>eg(jx(t))));{const t={};for(const e in this.metrics)t[e]=eg(jx(this.metrics[e]));return t}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(t){if(null!=t.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=t.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=t.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const e=Mx(Qx(t.optimizer_config));let n,r;if("string"==typeof t.loss)n=ng(t.loss);else if(Array.isArray(t.loss))n=t.loss.map((t=>ng(t)));else if(null!=t.loss){n={};for(const e in t.loss)n[e]=ng(t.loss[e])}if(Array.isArray(t.metrics))r=t.metrics.map((t=>ng(t)));else if(null!=t.metrics){r={};for(const e in t.metrics)r[e]=ng(t.metrics[e])}this.compile({loss:n,metrics:r,optimizer:e})}async save(t,e){if("string"==typeof t){const e=Gi(t);if(0===e.length)throw new qm(`Cannot find any save handlers for URL '${t}'`);if(e.length>1)throw new qm(`Found more than one (${e.length}) save handlers for URL '${t}'`);t=e[0]}if(null==t.save)throw new qm("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await Ai(this.getNamedWeights(e)),r={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${eb}`,convertedBy:null};if(null!=e&&e.includeOptimizer&&null!=this.optimizer){r.trainingConfig=this.getTrainingConfig();const t="optimizer",{data:e,specs:s}=await Ai(await this.optimizer.getWeights(),t);n.specs.push(...s),n.data=$i([n.data,e])}if(null!=this.userDefinedMetadata){const t=!0;qx(this.userDefinedMetadata,this.name,t),r.userDefinedMetadata=this.userDefinedMetadata}return r.weightData=n.data,r.weightSpecs=n.specs,t.save(r)}setUserDefinedMetadata(t){qx(t,this.name),this.userDefinedMetadata=t}getUserDefinedMetadata(){return this.userDefinedMetadata}}kb.className="Model",Io(kb);class Eb extends kb{}async function Ib(t,e){"modelTopology"in t||(t={modelTopology:t});let n=(t=t).modelTopology;null!=n.model_config&&(n=n.model_config);const r=Mx(Qx(n),e);if(null!=t.weightsManifest){const e=await La(t.weightsManifest,t.pathPrefix,r.weights.map((t=>t.originalName))),n={};for(const t of r.weights)n[t.originalName]=e[t.originalName];r.loadWeights(n),Yo(e)}return r}Eb.className="Functional",Io(Eb);class Cb extends kb{constructor(t){if(super({inputs:[],outputs:[]}),t=t||{},this.trainable=!0,this.built=!1,this.name=null!=t.name?t.name:Yy("sequential_"),null!=t.layers)for(const e of t.layers)this.add(e)}checkShape(t){if(t.inboundNodes[0].outputTensors[0].shape.some((t=>t<0)))throw new qm(`Negative dimension size caused by adding layer ${t.name} with input shape [${t.inboundNodes[0].inputTensors[0].shape}]`)}add(t){const e=t instanceof Cb||t instanceof kb;let n;if(e){if(n=t,1!==n.outputs.length)throw new qm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new qm("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===t.inboundNodes.length){if(null==t.batchInputShape)throw new qm("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const e=px({batchShape:t.batchInputShape,dtype:t.dtype,name:t.name+"_input"});t.apply(e)}if(e)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==t.inboundNodes.length)throw new qm(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${t.name} which has ${t.inboundNodes.length} pre-existing inbound connections.`);if(1!==t.inboundNodes[0].outputTensors.length)throw new qm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(t),this.outputs=[t.inboundNodes[0].outputTensors[0]],this.inputs=hx(this.outputs[0])}this.inboundNodes=[],new lx({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Ym(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map((t=>t.shape)),outputShapes:this.outputs[0].shape})}else{const e=t.apply(this.outputs[0]);if(Array.isArray(e))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(t),this.outputs=[e],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(t),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const t=this.layers.length-1;this.layers[t].outboundNodes=[],this.outputs=[this.layers[t].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(t,e){return null==this.model&&this.build(),this.model.call(t,e)}build(t){if(tx(t),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new kb({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(t,e,n=console.log){this.built||this.build(),super.summary(t,e,n)}setWeights(t){null==this.model&&this.build(),this.model.setWeights(t)}evaluate(t,e,n={}){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.evaluate(t,e,n)}async evaluateDataset(t,e){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.evaluateDataset(t,e)}predict(t,e={}){return null==this.model&&this.build(),this.model.predict(t,e)}predictOnBatch(t){return null==this.model&&this.build(),this.model.predictOnBatch(t)}compile(t){this.build(),this.model.compile(t),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(t){this.model.optimizer=t}async fit(t,e,n={}){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.fit(t,e,n)}async fitDataset(t,e){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.fitDataset(t,e)}async trainOnBatch(t,e){return this.model.trainOnBatch(t,e)}static fromConfig(t,e,n={},r=!1){let s,i={};if(e instanceof Array){if(null==e[0].className||"Merge"===e[0].className)throw new qm("Legacy serialization format not supported yet.");s=e}else rt(null!=e.layers,(()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field.")),s=e.layers,delete e.layers,i=e;const a=new t(i);if(!(a instanceof Cb))throw new Xm(`Sequential.fromConfig called on non-Sequential input: ${a}`);for(const t of s){const e=Mx(t,void 0,r);r&&e.setFastWeightInitDuringBuild(!0),a.add(e)}return a}set stopTraining(t){if(null==this.model)throw new qm("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=t}get stopTraining(){if(null==this.model)throw new qm("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const t=[];for(const e of this.layers){const n={};n.className=e.getClassName(),n.config=e.getConfig(),t.push(n)}return{name:this.name,layers:t}}}function Nb(t){return new kb(t)}function Ab(t){return new Cb(t)}function Rb(t,e){return null==e&&(e={}),async function(t,e){if(null==e&&(e={}),"string"==typeof t){const n=ji(t,e);if(0===n.length)n.push(Ba(t,e));else if(n.length>1)throw new qm(`Found more than one (${n.length}) load handlers for URL '${t}'`);t=n[0]}return async function(t,e,n){if(null==n&&(n={}),null==t.load)throw new qm("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const r=await t.load();let s=r.modelTopology;null!=s.model_config&&(s=s.model_config);const i=null==n.strict||n.strict,a=null!=r.weightData&&null!=r.weightSpecs&&i,o=Mx(Qx(s),void 0,a),l=r.trainingConfig;if(null!=l&&o.loadTrainingConfig(l),null!=r.userDefinedMetadata&&o.setUserDefinedMetadata(r.userDefinedMetadata),null!=r.weightData){if(null==r.weightSpecs)throw new qm("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:t,optimizerWeights:e}=function(t,e){const n=Ri(t,e),r={},s=[];return e.forEach((t=>{"optimizer"===t.group?s.push({name:t.name,tensor:n[t.name]}):r[t.name]=n[t.name]})),{modelWeights:r,optimizerWeights:s}}(r.weightData,r.weightSpecs);o.loadWeights(t,i),null!=o.optimizer&&e.length>0&&await o.optimizer.setWeights(e),Yo(t),Yo(e.map((t=>t.tensor)))}return o}(t,0,e)}(t,e)}function Db(t){return px(t)}function Lb(t,e){Tx.registerCallbackConstructor(t,e)}Cb.className="Sequential",Io(Cb);class Fb extends ko{getConfig(){return{}}}class $b extends Fb{apply(t,e=1){return function(t,e=1){if(1!==e)throw new Xm(`Support for alpha values other than 1 (${e}) is not implemented yet.`);return Ju(t)}(t,e)}}$b.className="elu",Io($b);class Ob extends Fb{apply(t){return Nh(t)}}Ob.className="selu",Io(Ob);class Pb extends Fb{apply(t){return wh(t)}}Pb.className="relu",Io(Pb);class zb extends Fb{apply(t){return Ko((()=>jc(6,wh(t))))}}zb.className="relu6",Io(zb);class Bb extends Fb{apply(t){return t}}Bb.className="linear",Io(Bb);class Ub extends Fb{apply(t){return pu(t)}}Ub.className="sigmoid",Io(Ub);class Vb extends Fb{apply(t){return function(t){return Ko((()=>{const e=ll(.5,hl(.2,t));return ku(e,0,1)}))}(t)}}Vb.className="hardSigmoid",Io(Vb);class Wb extends Fb{apply(t){return vc(t)}}Wb.className="softplus",Io(Wb);class Hb extends Fb{apply(t){return function(t){return Ko((()=>cl(t,ll(Nl(t),1))))}(t)}}Hb.className="softsign",Io(Hb);class Gb extends Fb{apply(t){return mu(t)}}Gb.className="tanh",Io(Gb);class jb extends Fb{apply(t,e=-1){return Bh(t,e)}}jb.className="softmax",Io(jb);class qb extends Fb{apply(t,e=-1){return _c(t,e)}}qb.className="logSoftmax",Io(qb);class Xb extends Fb{apply(t,e=1){return Ko((()=>hl(pu(hl(t,e)),t)))}}Xb.className="swish",Io(Xb);class Kb extends Fb{apply(t){return Ko((()=>hl(t,mu(vc(t)))))}}function Yb(t){return t.getClassName()}function Jb(t,e={}){return ag(t,Eo.getMap().classNameMap,e,"activation")}function Zb(t){if(null==t){return Jb({className:"linear",config:{}})}if("string"==typeof t){const e={};return e.className=t,e.config={},Jb(e)}return t instanceof Fb?t:Jb(t)}function Qb(t){if(null!=t&&"object"!=typeof t)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${t}`)}Kb.className="mish",Io(Kb);class tv extends ko{}class ev extends tv{constructor(t){super(),Qb(t),this.l1=null==t||null==t.l1?.01:t.l1,this.l2=null==t||null==t.l2?.01:t.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(t){return Ko((()=>{let e=Vc([1]);return this.hasL1&&(e=ll(e,Tc(hl(this.l1,Nl(t))))),this.hasL2&&(e=ll(e,Tc(hl(this.l2,iy(t))))),uu(e,[])}))}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(t,e){return new t({l1:e.l1,l2:e.l2})}}ev.className="L1L2",Io(ev);const nv={l1l2:"L1L2"};function rv(t){return sg(t)}function sv(t,e={}){return ag(t,Eo.getMap().classNameMap,e,"regularizer")}function iv(t){return null==t?null:"string"==typeof t?sv({className:t in nv?nv[t]:t,config:{}}):t instanceof tv?t:sv(t)}class av extends cx{constructor(t){super(null==t?{}:t),this.supportsMasking=!0,null!=t&&(this.maxValue=t.maxValue)}call(t,e){t=Qy(t);let n=wh(t);return null!=this.maxValue&&(n=ku(n,0,this.maxValue)),n}computeOutputShape(t){return t}getConfig(){const t={maxValue:this.maxValue},e=super.getConfig();return Object.assign(t,e),t}}av.className="ReLU",Io(av);class ov extends cx{constructor(t){super(null==t?{}:t),this.DEFAULT_ALPHA=.3,null==t&&(t={}),this.alpha=null==t.alpha?this.DEFAULT_ALPHA:t.alpha}call(t,e){const n=Qy(t);return dc(n,this.alpha)}computeOutputShape(t){return t}getConfig(){const t={alpha:this.alpha},e=super.getConfig();return Object.assign(t,e),t}}ov.className="LeakyReLU",Io(ov);class lv extends cx{constructor(t){if(super(null==t?{}:t),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==t&&(t={}),this.supportsMasking=!0,this.alphaInitializer=Ay(t.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=iv(t.alphaRegularizer),this.alphaConstraint=_g(t.alphaConstraint),null==t.sharedAxes)this.sharedAxes=null;else if(Array.isArray(t.sharedAxes))this.sharedAxes=t.sharedAxes;else{if("number"!=typeof t.sharedAxes)throw new qm(`Expected sharedAxes to be a number or an array of numbers, but got ${t.sharedAxes}`);this.sharedAxes=[t.sharedAxes]}}build(t){const e=(t=tx(t)).slice(1);if(null!=this.sharedAxes)for(const t of this.sharedAxes)e[t-1]=1;this.alpha=this.addWeight("alpha",e,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let e=1;e(Fg(e),"channelsFirst"===e?qa(t,[0,2,3,1]):t)))}function gv(t,e){return Ko((()=>(Fg(e),"channelsFirst"===e?qa(t,[0,2,3,4,1]):t)))}function yv(t,e,n,r=[1,1],s="valid",i,a,o=null){return Ko((()=>{if(null==i&&(i="channelsLast"),Fg(i),3!==t.rank&&4!==t.rank)throw new qm(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${t.rank}.`);if(3!==e.rank&&4!==e.rank)throw new qm(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${t.rank}.`);let l=mv(t,i);if("causal"===s)throw new Xm("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=Ed({x:l,filter:e,strides:r,pad:"same"===s?"same":"valid",dilations:a,dataFormat:"NHWC",bias:n,activation:o}),"channelsFirst"===i&&(l=qa(l,[0,3,1,2])),l}))}hv.className="Softmax",Io(hv);class xv extends cx{constructor(t,e){if(super(e),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",xv.verifyArgs(e),this.rank=t,dg(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new Xm(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=dv(e.kernelSize,t,"kernelSize"),this.strides=dv(null==e.strides?1:e.strides,t,"strides"),this.padding=null==e.padding?"valid":e.padding,$g(this.padding),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,Fg(this.dataFormat),this.activation=Zb(e.activation),this.useBias=null==e.useBias||e.useBias,this.biasInitializer=Ay(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=_g(e.biasConstraint),this.biasRegularizer=iv(e.biasRegularizer),this.activityRegularizer=iv(e.activityRegularizer),this.dilationRate=dv(null==e.dilationRate?1:e.dilationRate,t,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new qm(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new qm(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new qm(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(t){if(Jm("kernelSize"in t,"required key 'kernelSize' not in config"),"number"!=typeof t.kernelSize&&!hg(t.kernelSize,"number",1,3))throw new qm(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(t.kernelSize)}.`)}getConfig(){const t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:Yb(this.activation),useBias:this.useBias,biasInitializer:Ny(this.biasInitializer),biasRegularizer:rv(this.biasRegularizer),activityRegularizer:rv(this.activityRegularizer),biasConstraint:Sg(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}}class bv extends xv{constructor(t,e){super(t,e),this.kernel=null,bv.verifyArgs(e),this.filters=e.filters,dg(this.filters,"filters"),this.kernelInitializer=Ay(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=_g(e.kernelConstraint),this.kernelRegularizer=iv(e.kernelRegularizer)}build(t){t=tx(t);const e="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[e])throw new qm(`The channel dimension of the input should be defined. Found ${t[e]}`);const n=t[e],r=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[e]:n}}],this.built=!0}call(t,e){return Ko((()=>{let e;t=Qy(t);const n=null==this.bias?null:this.bias.read(),r=fg(this.activation.getClassName());if(null!=r&&2===this.rank)e=yv(t,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,r);else{if(1===this.rank)e=function(t,e,n,r=1,s="valid",i,a=1){return Ko((()=>{if(null==i&&(i="channelsLast"),Fg(i),3!==t.shape.length)throw new qm(`The input of a conv1dWithBias operation should be 3, but is ${t.shape.length} instead.`);if(3!==e.shape.length)throw new qm(`The kernel for a conv1dWithBias operation should be 3, but is ${e.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new qm(`The bias for a conv1dWithBias operation should be 1, but is ${e.shape.length} instead`);if("channelsFirst"===i&&(t=qa(t,[0,2,1])),"causal"===s)throw new Xm("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let o=Ru(t,e,r,"same"===s?"same":"valid","NWC",a);return null!=n&&(o=oy(o,n)),o}))}(t,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)e=yv(t,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new Xm("convolutions greater than 3D are not implemented yet.");e=function(t,e,n,r=[1,1,1],s="valid",i,a){return Ko((()=>{if(null==i&&(i="channelsLast"),Fg(i),4!==t.rank&&5!==t.rank)throw new qm(`conv3dWithBias expects input to be of rank 4 or 5, but received ${t.rank}.`);if(4!==e.rank&&5!==e.rank)throw new qm(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${t.rank}.`);let o=gv(t,i);if("causal"===s)throw new Xm("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return o=Fu(o,e,r,"same"===s?"same":"valid","NDHWC",a),null!=n&&(o=oy(o,n)),"channelsFirst"===i&&(o=qa(o,[0,4,1,2,3])),o}))}(t,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(e=this.activation.apply(e))}return e}))}computeOutputShape(t){t=tx(t);const e=[],n="channelsLast"===this.dataFormat?t.slice(1,t.length-1):t.slice(2);for(let t=0;t 0 but got ${JSON.stringify(t.filters)}`)}}class vv extends bv{constructor(t){super(2,t),vv.verifyArgs(t)}getConfig(){const t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if("number"!=typeof t.kernelSize&&!hg(t.kernelSize,"number",1,2))throw new qm(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(t.kernelSize)}.`)}}vv.className="Conv2D",Io(vv);class wv extends bv{constructor(t){super(3,t),wv.verifyArgs(t)}getConfig(){const t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if("number"!=typeof t.kernelSize&&(!Array.isArray(t.kernelSize)||1!==t.kernelSize.length&&3!==t.kernelSize.length))throw new qm(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(t.kernelSize)}.`)}}wv.className="Conv3D",Io(wv);class Sv extends vv{constructor(t){if(super(t),this.inputSpec=[new ix({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new qm(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(4!==(t=tx(t)).length)throw new qm("Input should have rank 4; Received input shape: "+JSON.stringify(t));const e="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[e])throw new qm("The channel dimension of the inputs should be defined. Found `None`.");const n=t[e],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ix({ndim:4,axes:{[e]:n}})],this.built=!0}call(t,e){return Ko((()=>{let e=Qy(t);if(4!==e.shape.length)throw new qm(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${e.shape.length}`);const n=e.shape,r=n[0];let s,i;"channelsFirst"===this.dataFormat?(s=2,i=3):(s=1,i=2);const a=n[s],o=n[i],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],h=this.strides[1],d=[r,fv(a,c,l,this.padding),fv(o,h,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(e=qa(e,[0,2,3,1]));let p=Lu(e,this.kernel.read(),d,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(p=qa(p,[0,3,1,2])),null!=this.bias&&(p=oy(p,this.bias.read(),this.dataFormat)),null!=this.activation&&(p=this.activation.apply(p)),p}))}computeOutputShape(t){const e=(t=tx(t)).slice();let n,r,s;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3):(n=3,r=1,s=2);const i=this.kernelSize[0],a=this.kernelSize[1],o=this.strides[0],l=this.strides[1];return e[n]=this.filters,e[r]=fv(e[r],o,i,this.padding),e[s]=fv(e[s],l,a,this.padding),e}getConfig(){const t=super.getConfig();return delete t.dilationRate,t}}Sv.className="Conv2DTranspose",Io(Sv);class Tv extends wv{constructor(t){if(super(t),this.inputSpec=[new ix({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new qm(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(5!==(t=tx(t)).length)throw new qm("Input should have rank 5; Received input shape: "+JSON.stringify(t));const e="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[e])throw new qm("The channel dimension of the inputs should be defined. Found `None`.");const n=t[e],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ix({ndim:5,axes:{[e]:n}})],this.built=!0}call(t,e){return Ko((()=>{let e=Qy(t);if(5!==e.shape.length)throw new qm(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${e.shape.length}`);const n=e.shape,r=n[0];let s,i,a;"channelsFirst"===this.dataFormat?(a=2,s=3,i=4):(a=1,s=2,i=3);const o=n[a],l=n[s],u=n[i],c=this.kernelSize[0],h=this.kernelSize[1],d=this.kernelSize[2],p=this.strides[0],f=this.strides[1],m=this.strides[2],g=[r,fv(o,p,c,this.padding),fv(l,f,h,this.padding),fv(u,m,d,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(e=qa(e,[0,2,3,4,1]));let y=Ou(e,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(y=qa(y,[0,4,1,2,3])),null!==this.bias&&(y=oy(y,this.bias.read(),this.dataFormat)),null!==this.activation&&(y=this.activation.apply(y)),y}))}computeOutputShape(t){const e=(t=tx(t)).slice();let n,r,s,i;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3,i=4):(n=4,r=1,s=2,i=3);const a=this.kernelSize[0],o=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],h=this.strides[2];return e[n]=this.filters,e[r]=fv(e[r],u,a,this.padding),e[s]=fv(e[s],c,o,this.padding),e[i]=fv(e[i],h,l,this.padding),e}getConfig(){const t=super.getConfig();return delete t.dilationRate,t}}Tv.className="Conv3DTranspose",Io(Tv);class _v extends bv{constructor(t,e){if(super(t,e),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==e.filters)throw new qm("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=e.kernelInitializer||null!=e.kernelRegularizer||null!=e.kernelConstraint)throw new qm("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=e.padding&&"same"!==e.padding&&"valid"!==e.padding)throw new qm(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(e.padding)}`);this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=Ay(e.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=iv(e.depthwiseRegularizer),this.depthwiseConstraint=_g(e.depthwiseConstraint),this.pointwiseInitializer=Ay(e.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=iv(e.pointwiseRegularizer),this.pointwiseConstraint=_g(e.pointwiseConstraint)}build(t){if((t=tx(t)).length{let e;if(t=Qy(t),1===this.rank)throw new Xm("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(t=qa(t,[0,2,3,1])),e=Ah(t,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(e=oy(e,this.bias.read(),this.dataFormat)),null!=this.activation&&(e=this.activation.apply(e)),"channelsFirst"===this.dataFormat&&(e=qa(e,[0,3,1,2])),e}))}getConfig(){const t=super.getConfig();return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=Ny(this.depthwiseInitializer),t.pointwiseInitializer=Ny(this.pointwiseInitializer),t.depthwiseRegularizer=rv(this.depthwiseRegularizer),t.pointwiseRegularizer=rv(this.pointwiseRegularizer),t.depthwiseConstraint=Sg(this.depthwiseConstraint),t.pointwiseConstraint=Sg(this.pointwiseConstraint),t}}_v.className="SeparableConv";class Mv extends _v{constructor(t){super(2,t)}}Mv.className="SeparableConv2D",Io(Mv);class kv extends bv{constructor(t){super(1,t),kv.verifyArgs(t),this.inputSpec=[{ndim:3}]}getConfig(){const t=super.getConfig();return delete t.rank,delete t.dataFormat,t}static verifyArgs(t){if("number"!=typeof t.kernelSize&&!hg(t.kernelSize,"number",1,1))throw new qm(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(t.kernelSize)}.`)}}kv.className="Conv1D",Io(kv);class Ev extends cx{constructor(t){super(t),"number"==typeof t.cropping?this.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:"number"==typeof t.cropping[0]?this.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:this.cropping=t.cropping,this.dataFormat=void 0===t.dataFormat?"channelsLast":t.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(t){return"channelsFirst"===this.dataFormat?[t[0],t[1],t[2]-this.cropping[0][0]-this.cropping[0][1],t[3]-this.cropping[1][0]-this.cropping[1][1]]:[t[0],t[1]-this.cropping[0][0]-this.cropping[0][1],t[2]-this.cropping[1][0]-this.cropping[1][1],t[3]]}call(t,e){return Ko((()=>{if(t=Qy(t),"channelsLast"===this.dataFormat){const e=Zg(t,this.cropping[0][0],t.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return Zg(e,this.cropping[1][0],t.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const e=Zg(t,this.cropping[0][0],t.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return Zg(e,this.cropping[1][0],t.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}}))}getConfig(){const t={cropping:this.cropping,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}Ev.className="Cropping2D",Io(Ev);class Iv extends cx{constructor(t){var e;super(t),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==t.size?this.DEFAULT_SIZE:t.size,this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,Fg(this.dataFormat),this.interpolation=null==t.interpolation?"nearest":t.interpolation,e=this.interpolation,cg(Ng,"InterpolationFormat",e)}computeOutputShape(t){if("channelsFirst"===this.dataFormat){const e=null==t[2]?null:this.size[0]*t[2],n=null==t[3]?null:this.size[1]*t[3];return[t[0],t[1],e,n]}{const e=null==t[1]?null:this.size[0]*t[1],n=null==t[2]?null:this.size[1]*t[2];return[t[0],e,n,t[3]]}}call(t,e){return Ko((()=>{let e=Qy(t);const n=e.shape;if("channelsFirst"===this.dataFormat){e=qa(e,[0,2,3,1]);const t=this.size[0]*n[2],r=this.size[1]*n[3],s="nearest"===this.interpolation?kp.resizeNearestNeighbor(e,[t,r]):kp.resizeBilinear(e,[t,r]);return qa(s,[0,3,1,2])}{const t=this.size[0]*n[1],r=this.size[1]*n[2];return"nearest"===this.interpolation?kp.resizeNearestNeighbor(e,[t,r]):kp.resizeBilinear(e,[t,r])}}))}getConfig(){const t={size:this.size,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}Iv.className="UpSampling2D",Io(Iv);class Cv extends xv{constructor(t){super(2,t),this.depthwiseKernel=null,this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=Ay(t.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=_g(t.depthwiseConstraint),this.depthwiseRegularizer=iv(t.depthwiseRegularizer)}build(t){if((t=tx(t)).length<4)throw new qm(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(t)}.`);const e="channelsFirst"===this.dataFormat?1:3;if(null==t[e]||t[e]<0)throw new qm(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${t[e]}).`);const n=t[e],r=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",r,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return Ko((()=>{let e=function(t,e,n=[1,1],r="valid",s,i){return Ko((()=>{null==s&&(s="channelsLast"),Fg(s);let a=mv(t,s);if(4!==t.rank)throw new qm(`Input for depthwiseConv2d is required to be 4-D, but is instead ${t.rank}-D`);if(4!==e.rank)throw new qm(`depthwiseKernel is required to be 4-D, but is instead ${e.rank}-D`);return a=Wu(a,e,n,"same"===r?"same":"valid","NHWC",i),"channelsFirst"===s&&(a=qa(a,[0,3,1,2])),a}))}(t=Qy(t),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(e=oy(e,this.bias.read(),this.dataFormat)),null!=this.activation&&(e=this.activation.apply(e)),e}))}computeOutputShape(t){t=tx(t);const e="channelsFirst"===this.dataFormat?t[2]:t[1],n="channelsFirst"===this.dataFormat?t[3]:t[2],r="channelsFirst"===this.dataFormat?t[1]*this.depthMultiplier:t[3]*this.depthMultiplier,s=pv(e,this.kernelSize[0],this.padding,this.strides[0]),i=pv(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[t[0],r,s,i]:[t[0],s,i,r]}getConfig(){const t=super.getConfig();return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=Ny(this.depthwiseInitializer),t.depthwiseRegularizer=rv(this.depthwiseRegularizer),t.depthwiseConstraint=Sg(this.depthwiseRegularizer),t}}function Nv(t,e,n,r){if(Array.isArray(t)){if(null!=e||null!=n)throw new qm("When inputs is an array, neither initialState or constants should be provided");null!=r&&(n=t.slice(t.length-r,t.length),t=t.slice(0,t.length-r)),t.length>1&&(e=t.slice(1,t.length)),t=t[0]}function s(t){return null==t||Array.isArray(t)?t:[t]}return{inputs:t,initialState:e=s(e),constants:n=s(n)}}function Av(t,e,n,r=!1,s,i,a=!1,o=!1){return Ko((()=>{const l=e.shape.length;if(l<3)throw new qm(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(qg(2,l));if(e=qa(e,u),null!=i)throw new Xm("The rnn() functoin of the deeplearn.js backend does not support constants yet.");a&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=s&&((s=Ma(Ma(s,"bool"),"float32")).rank===l-1&&(s=tc(s,-1)),s=qa(s,u)),r&&(e=Th(e,0),null!=s&&(s=Th(s,0)));const c=[];let h,d=n;const p=e.shape[0],f=od(e);let m,g;null!=s&&(m=od(s));for(let e=0;et(n,d)));if(null==s)h=r[0],d=r[1];else{const t=Ko((()=>{const t=m[e],n=Il(Qc(t),t);return{output:ll(hl(r[0],t),hl(d[0],n)),newStates:d.map(((e,s)=>ll(hl(r[1][s],t),hl(e,n))))}}));h=t.output,d=t.newStates}o&&c.push(h)}return o&&(g=Xh(c,1)),[h,g,d]}))}Cv.className="DepthwiseConv2D",Io(Cv);class Rv extends cx{constructor(t){let e;if(super(t),null==t.cell)throw new qm("cell property is missing for the constructor of RNN.");if(e=Array.isArray(t.cell)?new Bv({cells:t.cell}):t.cell,null==e.stateSize)throw new qm("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=e,this.returnSequences=null!=t.returnSequences&&t.returnSequences,this.returnState=null!=t.returnState&&t.returnState,this.goBackwards=null!=t.goBackwards&&t.goBackwards,this._stateful=null!=t.stateful&&t.stateful,this.unroll=null!=t.unroll&&t.unroll,this.supportsMasking=!0,this.inputSpec=[new ix({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){return null==this.states_?qg(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map((t=>null)):this.states_}setStates(t){this.states_=t}computeOutputShape(t){Jy(t)&&(t=t[0]),t=t;let e=this.cell.stateSize;Array.isArray(e)||(e=[e]);const n=e[0];let r;if(r=this.returnSequences?[t[0],t[1],n]:[t[0],n],this.returnState){const n=[];for(const r of e)n.push([t[0],r]);return[r].concat(n)}return r}computeMask(t,e){return Ko((()=>{Array.isArray(e)&&(e=e[0]);const t=this.returnSequences?e:null;if(this.returnState){const e=this.states.map((t=>null));return[t].concat(e)}return t}))}get states(){if(null==this.states_){const t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,e=[];for(let n=0;nt.shape[t.shape.length-1])),s))throw new qm(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=s.map((t=>new ix({shape:[null,t]})));this.stateful&&this.resetStates()}resetStates(t,e=!1){Ko((()=>{if(!this.stateful)throw new Gm("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new qm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((t=>Vc([n,t]))):this.states_=[Vc([n,this.cell.stateSize])];else if(null==t)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((t=>Vc([n,t]))):this.states_[0]=Vc([n,this.cell.stateSize]);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new qm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);!0===e?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let e=0;eJo(t.clone())))}))}apply(t,e){let n=null==e?null:e.initialState,r=null==e?null:e.constants;null==e&&(e={});const s=Nv(t,n,r,this.numConstants);t=s.inputs,n=s.initialState,r=s.constants;let i=[],a=[];if(null!=n){e.initialState=n,i=i.concat(n),this.stateSpec=[];for(const t of n)this.stateSpec.push(new ix({shape:t.shape}));a=a.concat(this.stateSpec)}if(null!=r&&(e.constants=r,i=i.concat(r),this.numConstants=r.length),i[0]instanceof ax){const n=[t].concat(i),r=this.inputSpec.concat(a),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,e);return this.inputSpec=s,o}return super.apply(t,e)}call(t,e){return Ko((()=>{const n=null==e?null:e.mask,r=null==e?null:e.training;let s=null==e?null:e.initialState;t=Qy(t),null==s&&(s=this.stateful?this.states_:this.getInitialState(t));const i=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==i)throw new qm(`RNN Layer has ${i} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const a={training:r},o=Av(((t,e)=>{const n=this.cell.call([t].concat(e),a);return[n[0],n.slice(1)]}),t,s,this.goBackwards,n,null,this.unroll,this.returnSequences),l=o[0],u=o[1],c=o[2];this.stateful&&this.resetStates(c,r);const h=this.returnSequences?u:l;return this.returnState?[h].concat(c):h}))}getInitialState(t){return Ko((()=>{let e=Vc(t.shape);return e=Tc(e,[1,2]),e=Kg(e),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map((t=>t>1?ey(e,[1,t]):e)):this.cell.stateSize>1?[ey(e,[1,this.cell.stateSize])]:[e]}))}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(t)}getConfig(){const t=super.getConfig(),e={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(e.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Rv.className&&(e.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,t,e)}static fromConfig(t,e,n={}){const r=Mx(e.cell,n);return new t(Object.assign(e,{cell:r}))}}Rv.className="RNN",Io(Rv);class Dv extends cx{}class Lv extends Dv{constructor(t){super(t),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=t.units,dg(this.units,"units"),this.activation=Zb(null==t.activation?this.DEFAULT_ACTIVATION:t.activation),this.useBias=null==t.useBias||t.useBias,this.kernelInitializer=Ay(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Ay(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Ay(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=iv(t.kernelRegularizer),this.recurrentRegularizer=iv(t.recurrentRegularizer),this.biasRegularizer=iv(t.biasRegularizer),this.kernelConstraint=_g(t.kernelConstraint),this.recurrentConstraint=_g(t.recurrentConstraint),this.biasConstraint=_g(t.biasConstraint),this.dropout=Gg([1,jg([0,null==t.dropout?0:t.dropout])]),this.recurrentDropout=Gg([1,jg([0,null==t.recurrentDropout?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=tx(t),this.kernel=this.addWeight("kernel",[t[t.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return Ko((()=>{if(2!==(t=t).length)throw new qm(`SimpleRNNCell expects 2 input Tensors, got ${t.length}.`);let n=t[1];t=t[0];const r=null!=e.training&&e.training;let s;0Qc(t),rate:this.dropout,training:r,dropoutFunc:this.dropoutFunc})),0Qc(n),rate:this.recurrentDropout,training:r,dropoutFunc:this.dropoutFunc}));const i=this.dropoutMask,a=this.recurrentDropoutMask;s=ry(null!=i?hl(t,i):t,this.kernel.read()),null!=this.bias&&(s=oy(s,this.bias.read())),null!=a&&(n=hl(n,a));let o=ll(s,ry(n,this.recurrentKernel.read()));return null!=this.activation&&(o=this.activation.apply(o)),[o,o]}))}getConfig(){const t=super.getConfig(),e={units:this.units,activation:Yb(this.activation),useBias:this.useBias,kernelInitializer:Ny(this.kernelInitializer),recurrentInitializer:Ny(this.recurrentInitializer),biasInitializer:Ny(this.biasInitializer),kernelRegularizer:rv(this.kernelRegularizer),recurrentRegularizer:rv(this.recurrentRegularizer),biasRegularizer:rv(this.biasRegularizer),activityRegularizer:rv(this.activityRegularizer),kernelConstraint:Sg(this.kernelConstraint),recurrentConstraint:Sg(this.recurrentConstraint),biasConstraint:Sg(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},t,e)}}Lv.className="SimpleRNNCell",Io(Lv);class Fv extends Rv{constructor(t){t.cell=new Lv(t),super(t)}call(t,e){return Ko((()=>{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}static fromConfig(t,e){return new t(e)}}Fv.className="SimpleRNN",Io(Fv);class $v extends Dv{constructor(t){if(super(t),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",t.resetAfter)throw new qm("GRUCell does not support reset_after parameter set to true.");this.units=t.units,dg(this.units,"units"),this.activation=Zb(void 0===t.activation?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=Zb(void 0===t.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=null==t.useBias||t.useBias,this.kernelInitializer=Ay(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Ay(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Ay(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=iv(t.kernelRegularizer),this.recurrentRegularizer=iv(t.recurrentRegularizer),this.biasRegularizer=iv(t.biasRegularizer),this.kernelConstraint=_g(t.kernelConstraint),this.recurrentConstraint=_g(t.recurrentConstraint),this.biasConstraint=_g(t.biasConstraint),this.dropout=Gg([1,jg([0,null==t.dropout?0:t.dropout])]),this.recurrentDropout=Gg([1,jg([0,null==t.recurrentDropout?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){const e=(t=tx(t))[t.length-1];this.kernel=this.addWeight("kernel",[e,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return Ko((()=>{if(2!==(t=t).length)throw new qm(`GRUCell expects 2 input Tensors (inputs, h, c), got ${t.length}.`);const n=null!=e.training&&e.training;let r=t[1];t=t[0],0Qc(t),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,i=this.recurrentDropoutMask;let a,o,l;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}static fromConfig(t,e){return 0===e.implmentation&&(e.implementation=1),new t(e)}}Ov.className="GRU",Io(Ov);class Pv extends Dv{constructor(t){super(t),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=t.units,dg(this.units,"units"),this.activation=Zb(void 0===t.activation?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=Zb(void 0===t.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=null==t.useBias||t.useBias,this.kernelInitializer=Ay(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Ay(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Ay(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=t.unitForgetBias,this.kernelRegularizer=iv(t.kernelRegularizer),this.recurrentRegularizer=iv(t.recurrentRegularizer),this.biasRegularizer=iv(t.biasRegularizer),this.kernelConstraint=_g(t.kernelConstraint),this.recurrentConstraint=_g(t.recurrentConstraint),this.biasConstraint=_g(t.biasConstraint),this.dropout=Gg([1,jg([0,null==t.dropout?0:t.dropout])]),this.recurrentDropout=Gg([1,jg([0,null==t.recurrentDropout?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){var e;const n=(t=tx(t))[t.length-1];let r;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const t=this.biasInitializer,n=this.units;r=new((e=class extends dy{apply(e,r){const s=t.apply([n]),i=(new fy).apply([n]),a=t.apply([2*n]);return ty(ty(s,i),a)}}).className="CustomInit",e)}else r=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,r,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(t,e){return Ko((()=>{const n=null!=e.training&&e.training;if(3!==(t=t).length)throw new qm(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let r=t[1];const s=t[2];t=t[0],0Qc(t),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const i=this.dropoutMask,a=this.recurrentDropoutMask;let o,l,u,c;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}static fromConfig(t,e){return 0===e.implmentation&&(e.implementation=1),new t(e)}}zv.className="LSTM",Io(zv);class Bv extends Dv{constructor(t){super(t),this.cells=t.cells}get stateSize(){const t=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?t.push(...e.stateSize):t.push(e.stateSize);return t}call(t,e){return Ko((()=>{let n=(t=t).slice(1);const r=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?r.push(n.splice(0,t.stateSize.length)):r.push(n.splice(0,1));r.reverse();const s=[];let i;for(let a=0;a{zg(`RNNCell_${r}`,(()=>{n.build(t),e=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,t=[t[0],e]}))})),this.built=!0}getConfig(){const t=super.getConfig(),e={cells:this.cells.map((t=>({className:t.getClassName(),config:t.getConfig()})))};return Object.assign({},t,e)}static fromConfig(t,e,n={}){const r=[];for(const t of e.cells)r.push(Mx(t,n));return new t({cells:r})}get trainableWeights(){if(!this.trainable)return[];const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t}get nonTrainableWeights(){const t=[];for(const e of this.cells)t.push(...e.nonTrainableWeights);if(!this.trainable){const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e.concat(t)}return t}getWeights(){const t=[];for(const e of this.cells)t.push(...e.weights);return rx(t)}setWeights(t){const e=[];for(const n of this.cells){const r=n.weights.length,s=t.splice(r);for(let t=0;tnull!=i?i(e(),n):ly(e(),n),o=()=>uy(a,e,r);return!s||s<=1?Jo(o().clone()):Array(s).fill(void 0).map(o).map((t=>Jo(t.clone())))}Bv.className="StackedRNNCells",Io(Bv);class Vv extends Rv{constructor(t){if(t.unroll)throw new Xm("Unrolling is not possible with convolutional RNNs.");if(Array.isArray(t.cell))throw new Xm("It is not possible at the moment to stack convolutional cells.");super(t),this.inputSpec=[new ix({ndim:5})]}call(t,e){return Ko((()=>{if(null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),e&&e.constants)throw new qm("ConvRNN2D cell does not support constants");const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}computeOutputShape(t){let e=this.computeSingleOutputShape(t);return this.returnSequences||(e=[e[0],...e.slice(2)]),this.returnState&&(e=[e,...Array(2).fill([t[0],...e.slice(-3)])]),e}getInitialState(t){return Ko((()=>{const{stateSize:e}=this.cell,n=t.shape,r=this.computeSingleOutputShape(n),s=Vc([r[0],...r.slice(2)]);return Array.isArray(e)?Array(e.length).fill(s):[s]}))}resetStates(t,e=!1){Ko((()=>{if(!this.stateful)throw new Gm("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,r=this.computeSingleOutputShape(n),s=[r[0],...r.slice(2)];if(null==n[0])throw new qm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Vc(s))):this.states_=[Vc(s)];else if(null==t)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Vc(s))):this.states_[0]=Vc(s);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new qm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let e=0;eJo(t.clone())))}))}computeSingleOutputShape(t){const{dataFormat:e,filters:n,kernelSize:r,padding:s,strides:i,dilationRate:a}=this.cell,o="channelsFirst"===e,l=t[o?3:2],u=t[o?4:3],c=pv(l,r[0],s,i[0],a[0]),h=pv(u,r[1],s,i[1],a[1]);return[...t.slice(0,2),...o?[n,c,h]:[c,h,n]]}}Vv.className="ConvRNN2D";class Wv extends Pv{constructor(t){const{filters:e,kernelSize:n,strides:r,padding:s,dataFormat:i,dilationRate:a}=t;super(Object.assign({},t,{units:e})),this.filters=e,dg(this.filters,"filters"),this.kernelSize=dv(n,2,"kernelSize"),this.kernelSize.forEach((t=>dg(t,"kernelSize"))),this.strides=dv(r||1,2,"strides"),this.strides.forEach((t=>dg(t,"strides"))),this.padding=s||"valid",$g(this.padding),this.dataFormat=i||"channelsLast",Fg(this.dataFormat),this.dilationRate=dv(a||1,2,"dilationRate"),this.dilationRate.forEach((t=>dg(t,"dilationRate")))}build(t){var e;t=tx(t);const n="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[n])throw new qm(`The channel dimension of the input should be defined. Found ${t[n]}`);const r=t[n],s=this.kernelSize.concat([r,4*this.filters]);this.kernel=this.addWeight("kernel",s,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const i=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",i,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let t;if(this.unitForgetBias){const n=this.biasInitializer,r=this.filters;t=new((e=class extends dy{apply(t,e){return Qg([n.apply([r]),Wc([r]),n.apply([2*r])])}}).className="CustomInit",e)}else t=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,t,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(t,e){return Ko((()=>{if(3!==t.length)throw new qm(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);const n=e.training||!1,r=t[0],s=t[1],i=t[2];0Qc(r),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const a=this.dropoutMask,o=(t,e,n)=>e&&e[n]?hl(e[n],t):t;let l=o(r,a,0),u=o(r,a,1),c=o(r,a,2),h=o(r,a,3);0Qc(s),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const d=this.recurrentDropoutMask;let p=o(s,d,0),f=o(s,d,1),m=o(s,d,2),g=o(s,d,3);const[y,x,b,v]=Hh(this.kernel.read(),4,3),[w,S,T,_]=this.useBias?Hh(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,y,w,this.padding),u=this.inputConv(u,x,S,this.padding),c=this.inputConv(c,b,T,this.padding),h=this.inputConv(h,v,_,this.padding);const[M,k,E,I]=Hh(this.recurrentKernel.read(),4,3);p=this.recurrentConv(p,M),f=this.recurrentConv(f,k),m=this.recurrentConv(m,E),g=this.recurrentConv(g,I);const C=this.recurrentActivation.apply(ll(l,p)),N=this.recurrentActivation.apply(ll(u,f)),A=ll(hl(N,i),hl(C,this.activation.apply(ll(c,m)))),R=hl(this.recurrentActivation.apply(ll(h,g)),this.activation.apply(A));return[R,R,A]}))}getConfig(){const t=super.getConfig(),{units:e}=t,n=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(t);s{this.invokeCallHook(t,e);const n=Qy(t);if(0ly(n,this.rate,r,this.seed)),(()=>n),t)}return t}))}getConfig(){const t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},e=super.getConfig();return Object.assign(t,e),t}dispose(){return super.dispose()}}Gv.className="Dropout",Io(Gv);class jv extends Gv{constructor(t){super(t),this.inputSpec=[{ndim:3}]}getNoiseShape(t){const e=t.shape;return[e[0],1,e[2]]}}jv.className="SpatialDropout1D",Io(jv);class qv extends cx{constructor(t){if(super(t),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==t.batchInputShape&&null==t.inputShape&&null!=t.inputDim){let e=null;null!=t.batchSize&&(e=t.batchSize),this.batchInputShape=[e,t.inputDim]}this.units=t.units,dg(this.units,"units"),this.activation=Zb(t.activation),null!=t.useBias&&(this.useBias=t.useBias),this.kernelInitializer=Ay(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=Ay(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=_g(t.kernelConstraint),this.biasConstraint=_g(t.biasConstraint),this.kernelRegularizer=iv(t.kernelRegularizer),this.biasRegularizer=iv(t.biasRegularizer),this.activityRegularizer=iv(t.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(t){const e=(t=tx(t))[t.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[e,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:e}}],this.built=!0}computeOutputShape(t){const e=(t=tx(t)).slice();return e[e.length-1]=this.units,e}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=Qy(t),r=fg(this.activation.getClassName());let s;return null!=r?s=ry(n,this.kernel.read(),r,this.bias?this.bias.read():null):(s=ry(n,this.kernel.read()),null!=this.bias&&(s=oy(s,this.bias.read())),null!=this.activation&&(s=this.activation.apply(s))),s}))}getConfig(){const t={units:this.units,activation:Yb(this.activation),useBias:this.useBias,kernelInitializer:Ny(this.kernelInitializer),biasInitializer:Ny(this.biasInitializer),kernelRegularizer:rv(this.kernelRegularizer),biasRegularizer:rv(this.biasRegularizer),activityRegularizer:rv(this.activityRegularizer),kernelConstraint:Sg(this.kernelConstraint),biasConstraint:Sg(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}}qv.className="Dense",Io(qv);class Xv extends cx{constructor(t){super(t=t||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=t.dataFormat}computeOutputShape(t){t=tx(t);for(const e of t.slice(1))if(null==e)throw new qm(`The shape of the input to "Flatten" is not fully defined (got ${t.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[t[0],Hg(t,1)]}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);let n=Qy(t);if("channelsFirst"===this.dataFormat&&n.rank>1){const t=[0];for(let e=2;e{this.invokeCallHook(t,e);const n=Qy(t);return this.activation.apply(n)}))}getConfig(){const t={activation:Yb(this.activation)},e=super.getConfig();return Object.assign(t,e),t}}Kv.className="Activation",Io(Kv);class Yv extends cx{constructor(t){super(t),this.n=t.n,this.inputSpec=[{ndim:2}]}computeOutputShape(t){return[t[0],this.n,t[1]]}call(t,e){return Ko((()=>{return t=Qy(t),e=t,n=this.n,Ko((()=>{if(2!==e.shape.length)throw new qm(`repeat() expects a rank-2 tensor, but received a rank-${e.shape.length} tensor.`);return ey(Kg(e,1),[1,n,1])}));var e,n}))}getConfig(){const t={n:this.n},e=super.getConfig();return Object.assign(t,e),t}}Yv.className="RepeatVector",Io(Yv);class Jv extends cx{constructor(t){super(t),this.targetShape=t.targetShape;for(let t=0;t{this.invokeCallHook(t,e);const n=Qy(t),r=n.shape,s=r.slice(0,1).concat(this.fixUnknownDimension(r.slice(1),this.targetShape));return uu(n,s)}))}getConfig(){const t={targetShape:this.targetShape},e=super.getConfig();return Object.assign(t,e),t}}Jv.className="Reshape",Io(Jv);class Zv extends cx{constructor(t){if(super(t),null==t.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(t.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${t.dims} instead.`);const e=qg(1,t.dims.length+1);if(!ut(t.dims.slice().sort(),e))throw new Error("Invalid permutation `dims`: "+JSON.stringify(t.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=t.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new ix({ndim:this.dims.length+1})]}computeOutputShape(t){const e=(t=tx(t)).slice();return this.dims.forEach(((n,r)=>{e[r+1]=t[n]})),e}call(t,e){return qa(Qy(t),this.dimsIncludingBatch)}getConfig(){const t={dims:this.dims},e=super.getConfig();return Object.assign(t,e),t}}Zv.className="Permute",Io(Zv);class Qv extends cx{constructor(t){super(null==t?{}:t),this.supportsMasking=!0,this.maskValue=null!=t?null==t.maskValue?0:t.maskValue:0}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={maskValue:this.maskValue};return Object.assign(e,t),e}computeMask(t,e){const n=Qy(t);return Ul(Zc(n,this.maskValue),-1)}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=Qy(t),r=Ul(Zc(n,this.maskValue),-1,!0);return hl(n,Ma(r,n.dtype))}))}}Qv.className="Masking",Io(Qv);class tw extends cx{constructor(t){if(super(t),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==t.batchInputShape&&null==t.inputShape){let e=null;null!=t.batchSize&&(e=t.batchSize),null==t.inputLength?this.batchInputShape=[e,null]:this.batchInputShape=[e].concat(tg(t.inputLength))}this.inputDim=t.inputDim,dg(this.inputDim,"inputDim"),this.outputDim=t.outputDim,dg(this.outputDim,"outputDim"),this.embeddingsInitializer=Ay(t.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=iv(t.embeddingsRegularizer),this.activityRegularizer=iv(t.activityRegularizer),this.embeddingsConstraint=_g(t.embeddingsConstraint),this.maskZero=t.maskZero,this.supportsMasking=t.maskZero,this.inputLength=t.inputLength}build(t){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(t){}computeMask(t,e){return Ko((()=>this.maskZero?(t=Qy(t),Zc(t,fl(t))):null))}computeOutputShape(t){if(t=tx(t),null==this.inputLength)return[...t,this.outputDim];const e=tg(this.inputLength);if(e.length!==t.length-1)throw new qm(`"inputLength" is ${this.inputLength}, but received input shape has shape ${t}`);{let n=0;for(let r=0;r{this.invokeCallHook(t,e);let n=Qy(t);"int32"!==n.dtype&&(n=Xg(n,"int32"));const r=sy(this.embeddings.read(),uu(n,[n.size]));return uu(r,tx(this.computeOutputShape(n.shape)))}))}getConfig(){const t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Ny(this.embeddingsInitializer),embeddingsRegularizer:rv(this.embeddingsRegularizer),activityRegularizer:rv(this.activityRegularizer),embeddingsConstraint:Sg(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},e=super.getConfig();return Object.assign(t,e),t}}tw.className="Embedding",Io(tw);class ew extends cx{constructor(t){super(t||{}),this.supportsMasking=!0}mergeFunction(t){throw new Xm}computeElementwiseOpOutputShape(t,e){if(null==t||null==e)return null;if(t.length1)throw new qm(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(t)}.`);let n=null==t[0]?null:t[0].slice(1);for(let e=1;et.length));-1===t.indexOf(null)&&1===lg(r).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(t,e){return Ko((()=>{if(t=t,this.reshapeRequired){const e=[],n=t.map((t=>t.rank));if(-1===n.indexOf(null)){const r=jg(n);for(let n of t){const t=n.rank;for(let e=0;e1){const s=qg(1,t).concat([0]);e.push(qa(r,s)),n=!0}else e.push(r)}let r=this.mergeFunction(e);const s=r.rank;if(n)if(null==s){const t=r.shape,e=t[t.length-1],n=[e].concat(t.slice(0,t.length-1));r=uu(qa(uu(r,[-1,e]),[1,0]),n)}else if(s>1){const t=[s-1].concat(qg(0,s-1));r=qa(r,t)}return r}}return this.mergeFunction(t)}))}computeOutputShape(t){let e;e=null==(t=t)[0]?null:t[0].slice(1);for(let n=1;n{if(null==e)return null;if(!Array.isArray(e))throw new qm("`mask` should be an Array");if(!Array.isArray(t))throw new qm("`inputs` should be an Array");if(e.length!==t.length)throw new qm(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${t.length} vs ${e.length})`);if(e.every((t=>null==t)))return null;let n=(e=e.map((t=>null==t?t:tc(t,0))))[0];for(let t=1;t{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0];for(let n=1;n{let e=t[0];for(let n=1;n1)throw new qm("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(t))}mergeFunction(t){return Ko((()=>Qg(t,this.axis)))}computeOutputShape(t){if(!Array.isArray(t)||!Array.isArray(t[0]))throw new qm("A `Concatenate` layer should be called on a list of inputs.");const e=t,n=e[0].slice(),r=this.axis<0?n.length+this.axis:this.axis;for(const t of e.slice(1)){if(null==n[r]||null==t[r]){n[r]=null;break}n[r]+=t[r]}return n}computeMask(t,e){if(null==e)return null;if(!Array.isArray(e))throw new qm("`mask` should be an array for Concatenate");if(!Array.isArray(t))throw new qm("`inputs` should be an array for Concatenate");if(e.length!==t.length)throw new qm(`Mismatch in the length of mask (${e.length}) and the legnth of inputs (${t.length})`);return Ko((()=>{let n=!0;if(e.forEach((t=>{null==t||(n=!1)})),n)return null;const r=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs."));const e=t[0],n=t[1];if(e.length>3||n.length>3)throw new Xm("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(e,n);if(e[r[0]]!==n[r[1]])throw new qm(`Dimension incompatibility: ${e[r[0]]} !== ${n[r[1]]}`)}mergeFunction(t){if(2!==t.length)throw new qm(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${t.length} input(s).`);let e,n=t[0],r=t[1];return e=Array.isArray(this.axes)?this.axes.map(((e,n)=>lw(e,t[n].shape.length))):[lw(this.axes,n.shape.length),lw(this.axes,r.shape.length)],this.normalize&&(n=kx(n,e[0]),r=kx(r,e[1])),function(t,e,n){if(t.shape.length>3||e.shape.length>3)throw new Xm("batchDot is not implemented for tensors of 4D or higher rank yet");if(rt(t.shape.length>=2,(()=>`batchDot requires the rank of x to be >= 2, but got ${t.shape.length}`)),rt(t.shape.length>=2,(()=>`batchDot requires the rank of y to be >= 2, but got ${e.shape.length}`)),"number"==typeof n&&(n=[n,n]),"complex64"===t.dtype||"complex64"===e.dtype)throw new Xm("batchDot is not implemented for complex64-type Tensors yet.");const r=t.shape.length,s=e.shape.length;null==n&&(n=[r-1,s-2]);const i=n;return Ko((()=>{let n,a;if(r>s){n=r-s;const t=[];for(let e=0;er){n=s-r;const e=[];for(let t=0;t0){let t;t=r>s?r+s-3:r-1;const e=[];for(let r=t;r"A `Dot` layer should be called on a list of exactly 2 inputs."));const e=t[0].slice(),n=t[1].slice();if(e.length>3||n.length>3)throw new Xm("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(e,n);e.splice(r[0],1),n.splice(r[1],1),n.splice(0,1);const s=e.concat(n);return 1===s.length&&s.push(1),s}computeMask(t,e){return null}getConfig(){const t={axes:this.axes,normalize:this.normalize},e=super.getConfig();return Object.assign(t,e),t}}uw.className="Dot",Io(uw);class cw extends cx{constructor(t){super(t),this.supportsMasking=!0,this.stddev=t.stddev}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={stddev:this.stddev};return Object.assign(e,t),e}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=Qy(t);return uy((()=>ll(ny(n.shape,0,this.stddev),n)),(()=>n),e.training||!1)}))}}cw.className="GaussianNoise",Io(cw);class hw extends cx{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=Qy(t);return this.rate>0&&this.rate<1?uy((()=>{const t=Math.sqrt(this.rate/(1-this.rate));return hl(n,ny(n.shape,1,t))}),(()=>n),e.training||!1):n}))}}hw.className="GaussianDropout",Io(hw);class dw extends cx{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate,this.noiseShape=t.noiseShape}_getNoiseShape(t){return this.noiseShape||Qy(t).shape}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return Ko((()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(t);return uy((()=>{const e=Qy(t),r=-1.7580993408473766;let s=oc(yh(n),this.rate);s=Xg(s,"float32");const i=((1-this.rate)*(1+this.rate*r**2))**-.5,a=-i*r*this.rate,o=ll(hl(e,s),hl(ll(s,-1),r));return ll(hl(o,i),a)}),(()=>Qy(t)),e.training||!1)}return t}))}}function pw(t,e,n,r,s,i=.001){let a;if(2===t.rank)a=bu(t,e,n,r,s,i);else if(3===t.rank)a=vu(t,e,n,r,s,i);else{if(4!==t.rank)throw new Xm(`batchNormalization is not implemented for array of rank ${t.rank} yet`);a=wu(t,e,n,r,s,i)}return a}dw.className="AlphaDropout",Io(dw);class fw extends cx{constructor(t){null==t&&(t={}),super(t),this.supportsMasking=!0,this.axis=null==t.axis?-1:t.axis,this.momentum=null==t.momentum?.99:t.momentum,this.epsilon=null==t.epsilon?.001:t.epsilon,this.center=null==t.center||t.center,this.scale=null==t.scale||t.scale,this.betaInitializer=Ay(t.betaInitializer||"zeros"),this.gammaInitializer=Ay(t.gammaInitializer||"ones"),this.movingMeanInitializer=Ay(t.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=Ay(t.movingVarianceInitializer||"ones"),this.betaConstraint=_g(t.betaConstraint),this.gammaConstraint=_g(t.gammaConstraint),this.betaRegularizer=iv(t.betaRegularizer),this.gammaRegularizer=iv(t.gammaRegularizer)}build(t){t=tx(t);const e=this.axis>=0?this.axis:this.axis+t.length,n=t[e];if(null==n)throw new qm(`Axis ${e} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(t)}.`);this.inputSpec=[new ix({ndim:t.length,axes:{[e]:n}})];const r=[n];this.scale&&(this.gamma=this.addWeight("gamma",r,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",r,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",r,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",r,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(t,e){return Ko((()=>{const n=null!=e.training&&e.training,r=Qy(t),s=r.shape,i=s.length,a=qg(0,i),o=this.axis>=0?this.axis:this.axis+i;a.splice(o,1);const l=Ym(1,i);l[o]=s[o];const u=a.slice();u.sort();const c=!ut(u,qg(0,i).slice(0,i-1));if(!n)return(()=>{if(c){const t=uu(this.movingMean.read(),l),e=uu(this.movingVariance.read(),l),n=this.center?uu(this.beta.read(),l):null,s=this.scale?uu(this.gamma.read(),l):null;return pw(r,t,e,n,s,this.epsilon)}return pw(r,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[h,d,p]=function(t,e,n,r,s=.001){return ut(r.slice().sort(),qg(0,t.rank-1))?function(t,e,n,r,s=.001){return Ko((()=>{const i=Kc(t,r),a=i.mean,o=i.variance;return[pw(t,a,o,n,e,s),a,o]}))}(t,e,n,r,s):function(t,e,n,r,s=.001){return Ko((()=>{const i=Kc(t,r),a=i.mean,o=i.variance,l=[];for(const e of qg(0,t.rank))-1!==r.indexOf(e)?l.push(1):l.push(t.shape[e]);const u=uu(a,l),c=uu(o,l),h=null==e?null:uu(e,l),d=null==n?null:uu(n,l);return[pw(t,u,c,d,h,s),a,o]}))}(t,e,n,r,s)}(r,this.gamma.read(),this.beta.read(),a,this.epsilon),f=(t,e,n)=>{Ko((()=>{const r=1-n,s=t.read(),i=hl(Il(s,e),r);t.write(Il(s,i))}))};return(()=>{f(this.movingMean,d,this.momentum),f(this.movingVariance,p,this.momentum)})(),h}))}getConfig(){const t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Ny(this.betaInitializer),gammaInitializer:Ny(this.gammaInitializer),movingMeanInitializer:Ny(this.movingMeanInitializer),movingVarianceInitializer:Ny(this.movingVarianceInitializer),betaRegularizer:rv(this.betaRegularizer),gammaRegularizer:rv(this.gammaRegularizer),betaConstraint:Sg(this.betaConstraint),gammaConstraint:Sg(this.gammaConstraint)},e=super.getConfig();return Object.assign(t,e),t}}fw.className="BatchNormalization",Io(fw);class mw extends cx{constructor(t){if(null==t&&(t={}),super(t),this.axis=null==t.axis?-1:t.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const t of this.axis)if(!Number.isInteger(t))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==t.epsilon?.001:t.epsilon,this.center=null==t.center||t.center,this.scale=null==t.scale||t.scale,this.betaInitializer=Ay(t.betaInitializer||"zeros"),this.gammaInitializer=Ay(t.gammaInitializer||"ones"),this.betaRegularizer=iv(t.betaRegularizer),this.gammaRegularizer=iv(t.gammaRegularizer),this.supportsMasking=!0}build(t){const e=(t=tx(t)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let t=0;t=e)throw new Error(`Invalid axis: ${t}`);if(this.axis.length!==lg(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map((e=>t[e]));this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,!0):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,!0):this.beta=null,this.built=!0}call(t,e){const n=Qy(t),r=n.shape,s=r.length;return Ko((()=>{let{mean:t,variance:e}=Kc(n,this.axis,!0);const i=Ym(1,s);for(const t of this.axis)i[t]=r[t];const a=t=>null!=t&&t.shape.length!==s?uu(t,i):t;let o=a(this.gamma.read()),l=a(this.beta.read());const u=[],c=[];for(let t=0;t=0?t[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=t[3]&&t[3]>=0?t[3]+this.padding[1][0]+this.padding[1][1]:null,[t[0],t[1],e,n]):(e=null!=t[1]&&t[1]>=0?t[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=t[2]&&t[2]>=0?t[2]+this.padding[1][0]+this.padding[1][1]:null,[t[0],e,n,t[3]])}call(t,e){return Ko((()=>{return e=Qy(t),n=this.padding,r=this.dataFormat,Ko((()=>{if(4!==e.rank)throw new qm(`temporalPadding expects input tensor to be 4-D, but received a ${e.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new qm("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==r&&(r="channelsLast"),"channelsLast"!==r&&"channelsFirst"!==r)throw new qm(`Unknown data format: ${r}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let t;return t="channelsFirst"===r?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],eh(e,t)}));var e,n,r}))}getConfig(){const t={padding:this.padding,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}function yw(t,e,n,r,s,i){return Ko((()=>{let a;Fg(s),Og(i),$g(r),null==n&&(n=[1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==i&&(i="max"),t=mv(t,s);const o="same"===r?"same":"valid";return a="max"===i?Pc(t,e,n,o):cu(t,e,n,o),"channelsFirst"===s&&(a=qa(a,[0,3,1,2])),a}))}function xw(t,e,n,r,s,i){return Ko((()=>{let a;Fg(s),Og(i),$g(r),null==n&&(n=[1,1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==i&&(i="max"),t=gv(t,s);const o="same"===r?"same":"valid";return a="max"===i?zc(t,e,n,o):hu(t,e,n,o),"channelsFirst"===s&&(a=qa(a,[0,4,1,2,3])),a}))}gw.className="ZeroPadding2D",Io(gw);class bw extends cx{constructor(t){if(null==t.poolSize&&(t.poolSize=2),super(t),"number"==typeof t.poolSize)this.poolSize=[t.poolSize];else{if(!Array.isArray(t.poolSize)||1!==t.poolSize.length||"number"!=typeof t.poolSize[0])throw new qm(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.poolSize)}`);this.poolSize=t.poolSize}if(dg(this.poolSize,"poolSize"),null==t.strides)this.strides=this.poolSize;else if("number"==typeof t.strides)this.strides=[t.strides];else{if(!Array.isArray(t.strides)||1!==t.strides.length||"number"!=typeof t.strides[0])throw new qm(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.strides)}`);this.strides=t.strides}dg(this.strides,"strides"),this.padding=null==t.padding?"valid":t.padding,$g(this.padding),this.inputSpec=[new ix({ndim:3})]}computeOutputShape(t){const e=pv((t=tx(t))[1],this.poolSize[0],this.padding,this.strides[0]);return[t[0],e,t[2]]}call(t,e){return Ko((()=>{this.invokeCallHook(t,e),t=Kg(Qy(t),2);const n=this.poolingFunction(Qy(t),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return qh(n,[2])}))}getConfig(){const t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},e=super.getConfig();return Object.assign(t,e),t}}class vw extends bw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return Fg(s),$g(r),yw(t,e,n,r,s,"max")}}vw.className="MaxPooling1D",Io(vw);class ww extends bw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return Fg(s),$g(r),yw(t,e,n,r,s,"avg")}}ww.className="AveragePooling1D",Io(ww);class Sw extends cx{constructor(t){if(null==t.poolSize&&(t.poolSize=[2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],null==t.strides)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(2!==t.strides.length)throw new qm(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides];dg(this.poolSize,"poolSize"),dg(this.strides,"strides"),this.padding=null==t.padding?"valid":t.padding,this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,Fg(this.dataFormat),$g(this.padding),this.inputSpec=[new ix({ndim:4})]}computeOutputShape(t){t=tx(t);let e="channelsFirst"===this.dataFormat?t[2]:t[1],n="channelsFirst"===this.dataFormat?t[3]:t[2];return e=pv(e,this.poolSize[0],this.padding,this.strides[0]),n=pv(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[t[0],t[1],e,n]:[t[0],e,n,t[3]]}call(t,e){return Ko((()=>(this.invokeCallHook(t,e),this.poolingFunction(Qy(t),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}class Tw extends Sw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return Fg(s),$g(r),yw(t,e,n,r,s,"max")}}Tw.className="MaxPooling2D",Io(Tw);class _w extends Sw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return Fg(s),$g(r),yw(t,e,n,r,s,"avg")}}_w.className="AveragePooling2D",Io(_w);class Mw extends cx{constructor(t){if(null==t.poolSize&&(t.poolSize=[2,2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize,t.poolSize],null==t.strides)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(3!==t.strides.length)throw new qm(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides,t.strides];dg(this.poolSize,"poolSize"),dg(this.strides,"strides"),this.padding=null==t.padding?"valid":t.padding,this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,Fg(this.dataFormat),$g(this.padding),this.inputSpec=[new ix({ndim:5})]}computeOutputShape(t){t=tx(t);let e="channelsFirst"===this.dataFormat?t[2]:t[1],n="channelsFirst"===this.dataFormat?t[3]:t[2],r="channelsFirst"===this.dataFormat?t[4]:t[3];return e=pv(e,this.poolSize[0],this.padding,this.strides[0]),n=pv(n,this.poolSize[1],this.padding,this.strides[1]),r=pv(r,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[t[0],t[1],e,n,r]:[t[0],e,n,r,t[4]]}call(t,e){return Ko((()=>(this.invokeCallHook(t,e),this.poolingFunction(Qy(t),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}class kw extends Mw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return Fg(s),$g(r),xw(t,e,n,r,s,"max")}}kw.className="MaxPooling3D",Io(kw);class Ew extends Mw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return Fg(s),$g(r),xw(t,e,n,r,s,"avg")}}Ew.className="AveragePooling3D",Io(Ew);class Iw extends cx{constructor(t){super(t),this.inputSpec=[new ix({ndim:3})]}computeOutputShape(t){return[t[0],t[2]]}call(t,e){throw new Xm}}class Cw extends Iw{constructor(t){super(t||{})}call(t,e){return Ko((()=>{const e=Qy(t);return Uc(e,1)}))}}Cw.className="GlobalAveragePooling1D",Io(Cw);class Nw extends Iw{constructor(t){super(t||{})}call(t,e){return Ko((()=>{const e=Qy(t);return Sc(e,1)}))}}Nw.className="GlobalMaxPooling1D",Io(Nw);class Aw extends cx{constructor(t){super(t),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,Fg(this.dataFormat),this.inputSpec=[new ix({ndim:4})]}computeOutputShape(t){return t=t,"channelsLast"===this.dataFormat?[t[0],t[3]]:[t[0],t[1]]}call(t,e){throw new Xm}getConfig(){const t={dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}class Rw extends Aw{call(t,e){return Ko((()=>{const e=Qy(t);return"channelsLast"===this.dataFormat?Uc(e,[1,2]):Uc(e,[2,3])}))}}Rw.className="GlobalAveragePooling2D",Io(Rw);class Dw extends Aw{call(t,e){return Ko((()=>{const e=Qy(t);return"channelsLast"===this.dataFormat?Sc(e,[1,2]):Sc(e,[2,3])}))}}Dw.className="GlobalMaxPooling2D",Io(Dw);class Lw extends cx{constructor(t){super(t),this.layer=t.layer}build(t){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(t){null!=this.layer&&(this.layer.trainable=t)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(t){this.layer.setWeights(t)}getConfig(){const t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},e=super.getConfig();return Object.assign(t,e),t}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(t)}static fromConfig(t,e,n={}){const r=Mx(e.layer,n);delete e.layer;const s={layer:r};return Object.assign(s,e),new t(s)}}class Fw extends Lw{constructor(t){super(t),this.supportsMasking=!0}build(t){if((t=tx(t)).length<3)throw new qm(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(t)}`);this.inputSpec=[{shape:t}];const e=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(e),this.layer.built=!0),super.build(t)}computeOutputShape(t){const e=[(t=tx(t))[0]].concat(t.slice(2)),n=this.layer.computeOutputShape(e),r=t[1];return[n[0],r].concat(n.slice(1))}call(t,e){return Ko((()=>Av(((t,n)=>[Qy(this.layer.call(t,e)),[]]),t=Qy(t),[],!1,null,null,!1,!0)[1]))}}Fw.className="TimeDistributed",Io(Fw);class $w extends Lw{constructor(t){super(t);const e=t.layer.getConfig(),n={};n.className=t.layer.getClassName(),n.config=e,this.forwardLayer=Mx(n),e.goBackwards=!0!==e.goBackwards;const r={};var s;if(r.className=t.layer.getClassName(),r.config=e,this.backwardLayer=Mx(r),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===t.mergeMode?"concat":t.mergeMode,s=this.mergeMode,cg(Dg,"BidirectionalMergeMode",s),t.weights)throw new Xm("weights support is not implemented for Bidirectional layer yet.");this._stateful=t.layer.stateful,this.returnSequences=t.layer.returnSequences,this.returnState=t.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=t.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(t){this._trainable=t,null!=this.forwardLayer&&(this.forwardLayer.trainable=t),null!=this.backwardLayer&&(this.backwardLayer.trainable=t)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(t){const e=t.length,n=Math.floor(e/2);this.forwardLayer.setWeights(t.slice(0,n)),this.backwardLayer.setWeights(t.slice(n))}computeOutputShape(t){let e,n,r,s=this.forwardLayer.computeOutputShape(t);return Array.isArray(s)&&Array.isArray(s[0])||(s=[s]),s=s,this.returnState?(r=s.slice(1),e=s[0]):e=s[0],e=e,"concat"===this.mergeMode?(e[e.length-1]*=2,n=[e]):n=null==this.mergeMode?[e,e.slice()]:[e],this.returnState?null==this.mergeMode?n.concat(r).concat(r.slice()):[e].concat(r).concat(r.slice()):Qm(n)}apply(t,e){let n=null==e?null:e.initialState,r=null==e?null:e.constants;null==e&&(e={});const s=Nv(t,n,r,this.numConstants);if(t=s.inputs,n=s.initialState,r=s.constants,Array.isArray(t)&&(n=t.slice(1),t=t[0]),(null==n||0===n.length)&&null==r)return super.apply(t,e);const i=[],a=[];if(null!=n){const t=n.length;if(t%2>0)throw new qm("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");e.initialState=n,i.push(...n);const r=n.map((t=>new ix({shape:t.shape})));this.forwardLayer.stateSpec=r.slice(0,t/2),this.backwardLayer.stateSpec=r.slice(t/2),a.push(...r)}if(null!=r)throw new Xm("Support for constants in Bidirectional layers is not implemented yet.");const o=i[0]instanceof ax;for(const t of i)if(t instanceof ax!==o)throw new qm("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(o){const n=[t].concat(i),r=this.inputSpec.concat(a),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,e);return this.inputSpec=s,o}return super.apply(t,e)}call(t,e){return Ko((()=>{const n=e.initialState;let r,s,i,a;if(null==n)r=this.forwardLayer.call(t,e),s=this.backwardLayer.call(t,e);else{const i=n.slice(0,n.length/2),a=n.slice(n.length/2);r=this.forwardLayer.call(t,Object.assign(e,{initialState:i})),s=this.backwardLayer.call(t,Object.assign(e,{initialState:a}))}return this.returnState&&(Array.isArray(r)&&(i=r.slice(1).concat(s.slice(1))),r=r[0],s=s[0]),this.returnSequences&&(s=Th(s,1)),"concat"===this.mergeMode?a=Qg([r,s]):"sum"===this.mergeMode?a=ll(r,s):"ave"===this.mergeMode?a=hl(.5,ll(r,s)):"mul"===this.mergeMode?a=hl(r,s):null==this.mergeMode&&(a=[r,s]),this.returnState?null==this.mergeMode?a.concat(i):[a].concat(i):a}))}resetStates(t){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(t){zg(this.forwardLayer.name,(()=>{this.forwardLayer.build(t)})),zg(this.backwardLayer.name,(()=>{this.backwardLayer.build(t)})),this.built=!0}computeMask(t,e){let n;if(Array.isArray(e)&&(e=e[0]),n=this.returnSequences?null==this.mergeMode?[e,e]:e:null==this.mergeMode?[null,null]:null,this.returnState){const t=this.forwardLayer.states.map((t=>null));return Array.isArray(n)?n.concat(t).concat(t):[n].concat(t).concat(t)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(t),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(t)}getConfig(){const t={mergeMode:this.mergeMode},e=super.getConfig();return Object.assign(t,e),t}static fromConfig(t,e){const n=Mx(e.layer);if(delete e.layer,null!=e.numConstants)throw new Xm("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const r=e;return r.layer=n,new t(r)}}function Ow(t){return new dx(t)}function Pw(t){return new uv(t)}function zw(t){return new av(t)}function Bw(t){return new ov(t)}function Uw(t){return new lv(t)}function Vw(t){return new hv(t)}function Ww(t){return new cv(t)}function Hw(t){return new kv(t)}function Gw(t){return new vv(t)}function jw(t){return new Sv(t)}function qw(t){return new wv(t)}function Xw(t){return new Tv(t)}function Kw(t){return new Mv(t)}function Yw(t){return new Ev(t)}function Jw(t){return new Iv(t)}function Zw(t){return new Cv(t)}function Qw(t){return new Kv(t)}function tS(t){return new qv(t)}function eS(t){return new Gv(t)}function nS(t){return new jv(t)}function rS(t){return new Xv(t)}function sS(t){return new Yv(t)}function iS(t){return new Jv(t)}function aS(t){return new Zv(t)}function oS(t){return new tw(t)}function lS(t){return new nw(t)}function uS(t){return new sw(t)}function cS(t){return new ow(t)}function hS(t){return new iw(t)}function dS(t){return new aw(t)}function pS(t){return new rw(t)}function fS(t){return new uw(t)}function mS(t){return new fw(t)}function gS(t){return new mw(t)}function yS(t){return new gw(t)}function xS(t){return new ww(t)}function bS(t){return xS(t)}function vS(t){return xS(t)}function wS(t){return new _w(t)}function SS(t){return wS(t)}function TS(t){return wS(t)}function _S(t){return new Ew(t)}function MS(t){return _S(t)}function kS(t){return _S(t)}function ES(t){return new Cw(t)}function IS(t){return new Rw(t)}function CS(t){return new Nw(t)}function NS(t){return new Dw(t)}function AS(t){return new vw(t)}function RS(t){return new Tw(t)}function DS(t){return new kw(t)}function LS(t){return new Ov(t)}function FS(t){return new $v(t)}function $S(t){return new zv(t)}function OS(t){return new Pv(t)}function PS(t){return new Fv(t)}function zS(t){return new Lv(t)}function BS(t){return new Hv(t)}function US(t){return new Wv(t)}function VS(t){return new Rv(t)}function WS(t){return new Bv(t)}function HS(t){return new $w(t)}function GS(t){return new Fw(t)}$w.className="Bidirectional",Io($w);const jS=CS,qS=NS,XS=AS,KS=RS;function YS(t){return new cw(t)}function JS(t){return new hw(t)}function ZS(t){return new dw(t)}function QS(t){return new Qv(t)}function tT(t,e){return $x(t,e)}function eT(t,e){return Bx(t,e)}function nT(t,e){return Ux(t,e)}function rT(t,e){return Ox(t,e)}function sT(t,e){return Vx(t,e)}function iT(t,e){return zx(t,e)}function aT(t,e){return function(t,e){return Ko((()=>{const n=Px(t,e),r=function(t,e){return Ko((()=>Ma(Tc(Lc(ju(t,1),ju(e,0))),"float32")))}(t,e),s=ll(n,r);return Ma(qu(ac(s,0),cl(n,s),0),"float32")}))}(t,e)}function oT(t,e){return Dx(t,e)}function lT(t,e){return Ix(t,e)}function uT(t,e){return Cx(t,e)}function cT(t,e){return Cx(t,e)}function hT(t,e){return Cx(t,e)}function dT(t,e){return Ex(t,e)}function pT(t,e){return Ex(t,e)}function fT(t,e){return Ex(t,e)}function mT(t){return new ev(t)}function gT(t){return Qb(e=t),new ev({l1:null!=e?e.l1:null,l2:0});var e}function yT(t){return Qb(e=t),new ev({l2:null!=e?e.l2:null,l1:0});var e}class xT extends yx{constructor(){super(...arguments),this.model=null}setModel(t){if(!(t instanceof kb))throw new Error("model must be a LayersModel, not some other Container");this.model=t}}function bT(t,e){return te}class wT extends xT{constructor(t){if(super(),null==t&&(t={}),t.restoreBestWeights)throw new Xm("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=t.monitor||"val_loss",this.minDelta=Math.abs(t.minDelta||0),this.patience=t.patience||0,this.verbose=t.verbose||0,this.mode=t.mode||"auto",this.baseline=t.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=bT:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=vT:this.monitorFunc=bT,this.monitorFunc===bT&&(this.minDelta*=-1)}async onTrainBegin(t){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===bT?1/0:-1/0}async onEpochEnd(t,e){await fx(e);const n=this.getMonitorValue(e);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=t,this.model.stopTraining=!0)))}async onTrainEnd(t){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(t){null==t&&(t={});const e=t[this.monitor];return null==e&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(t)}`),e}}const ST={earlyStopping:function(t){return new wT(t)}};var TT,_T;Gt().registerFlag("KEEP_INTERMEDIATE_TENSORS",(()=>!1),(t=>{t&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")})),function(t){t[t.DT_INVALID=0]="DT_INVALID",t[t.DT_FLOAT=1]="DT_FLOAT",t[t.DT_DOUBLE=2]="DT_DOUBLE",t[t.DT_INT32=3]="DT_INT32",t[t.DT_UINT8=4]="DT_UINT8",t[t.DT_INT16=5]="DT_INT16",t[t.DT_INT8=6]="DT_INT8",t[t.DT_STRING=7]="DT_STRING",t[t.DT_COMPLEX64=8]="DT_COMPLEX64",t[t.DT_INT64=9]="DT_INT64",t[t.DT_BOOL=10]="DT_BOOL",t[t.DT_QINT8=11]="DT_QINT8",t[t.DT_QUINT8=12]="DT_QUINT8",t[t.DT_QINT32=13]="DT_QINT32",t[t.DT_BFLOAT16=14]="DT_BFLOAT16",t[t.DT_QINT16=15]="DT_QINT16",t[t.DT_QUINT16=16]="DT_QUINT16",t[t.DT_UINT16=17]="DT_UINT16",t[t.DT_COMPLEX128=18]="DT_COMPLEX128",t[t.DT_HALF=19]="DT_HALF",t[t.DT_RESOURCE=20]="DT_RESOURCE",t[t.DT_VARIANT=21]="DT_VARIANT",t[t.DT_UINT32=22]="DT_UINT32",t[t.DT_UINT64=23]="DT_UINT64",t[t.DT_FLOAT_REF=101]="DT_FLOAT_REF",t[t.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",t[t.DT_INT32_REF=103]="DT_INT32_REF",t[t.DT_UINT8_REF=104]="DT_UINT8_REF",t[t.DT_INT16_REF=105]="DT_INT16_REF",t[t.DT_INT8_REF=106]="DT_INT8_REF",t[t.DT_STRING_REF=107]="DT_STRING_REF",t[t.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",t[t.DT_INT64_REF=109]="DT_INT64_REF",t[t.DT_BOOL_REF=110]="DT_BOOL_REF",t[t.DT_QINT8_REF=111]="DT_QINT8_REF",t[t.DT_QUINT8_REF=112]="DT_QUINT8_REF",t[t.DT_QINT32_REF=113]="DT_QINT32_REF",t[t.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",t[t.DT_QINT16_REF=115]="DT_QINT16_REF",t[t.DT_QUINT16_REF=116]="DT_QUINT16_REF",t[t.DT_UINT16_REF=117]="DT_UINT16_REF",t[t.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",t[t.DT_HALF_REF=119]="DT_HALF_REF",t[t.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",t[t.DT_VARIANT_REF=121]="DT_VARIANT_REF",t[t.DT_UINT32_REF=122]="DT_UINT32_REF",t[t.DT_UINT64_REF=123]="DT_UINT64_REF"}(TT||(TT={})),function(t){let e;!function(t){t[t.LEGACY=0]="LEGACY",t[t.V1=1]="V1",t[t.V2=2]="V2"}(e=t.CheckpointFormatVersion||(t.CheckpointFormatVersion={}))}(_T||(_T={}));const MT={};function kT(t,e){const n={tfOpName:t,category:"custom",inputs:[],attrs:[],customExecutor:e};MT[t]=n}function ET(t){return MT[t]}function IT(t){delete MT[t]}function CT(t,e,n,r,s){const i=e.inputParams[t];if(i&&void 0!==i.inputIndexStart){const t=i.inputIndexStart,a=0===i.inputIndexEnd?void 0:void 0===i.inputIndexEnd?t+1:i.inputIndexEnd;if("tensor"===i.type)return NT(e.inputNames[i.inputIndexStart],n,r,s);if("tensors"===i.type)return e.inputNames.slice(t,a).map((t=>NT(t,n,r,s)));const o=NT(e.inputNames.slice(t)[0],n,r,s),l=o.dataSync();return"number"===i.type?l[0]:Ft(o.shape,l)}const a=e.attrParams[t];return a&&a.value}function NT(t,e,n,r){const[s,i]=DT(t);if(null!=r){const t=r.getHashTableHandleByName(s);if(null!=t)return t}const a=n.currentContextIds.find((t=>!!e[RT(s,t)]));return void 0!==a?e[RT(s,a)][i]:void 0}function AT(t,e){const[n,r,s]=DT(t);return[RT(n,e&&e.currentContextId),r,s]}function RT(t,e){return e?`${t}-${e}`:t}function DT(t){const e=t.split(":");if(1===e.length)return[t,0,void 0];const n=e[0],r=3===e.length?e[1]:void 0;return[n,Number(e[e.length-1]),r]}function LT(t,e,n){let r=CT("pad",t,e,n);if("explicit"===r){r=CT("explicitPaddings",t,e,n);const s=[[0,0],[0,0],[0,0],[0,0]];for(let t=0;t<4;t++)s[t][0]=r[2*t],s[t][1]=r[2*t+1];return s}return r}function FT(t){return t.kept?t:ka(t)}const $T=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],OT=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Prod",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axes",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],PT=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]}],zT=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number"}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],BT=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],UT=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],VT=[{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],WT=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],HT=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]}],GT=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]}],jT=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],qT=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]}],XT=[{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"SparseToDense",category:"normalization",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!0,notSupported:!0}]}],KT=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],YT=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]}],JT=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],ZT=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],QT=[{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],t_=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}];class e_{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const t=[].concat(...[M,k,E,I,C,N,A,R,D,L,F,$,O,P,z,B,U,V,W].map((t=>t.json)));this.opMappers=t.reduce(((t,e)=>(t[e.tfOpName]=e,t)),{})}transformGraph(t,e={}){const n=t.node,r=[],s=[],i=[],a=n.reduce(((t,e)=>(t[e.name]=this.mapNode(e),e.op.startsWith("Placeholder")?r.push(t[e.name]):"Const"===e.op?s.push(t[e.name]):null!=e.input&&0!==e.input.length||i.push(t[e.name]),t)),{});let o=[];const l=[];let u={},c={};null!=e&&(u=this.mapSignatureEntries(e.inputs),c=this.mapSignatureEntries(e.outputs));const h=Object.keys(a);h.forEach((t=>{const e=a[t];e.inputNames.forEach(((t,n)=>{const[r,,s]=AT(t),i=a[r];if(null!=i.outputs){const t=i.outputs.indexOf(s);if(-1!==t){const s=`${r}:${t}`;e.inputNames[n]=s}}e.inputs.push(i),i.children.push(e)}))})),0===Object.keys(c).length?h.forEach((t=>{const e=a[t];0===e.children.length&&l.push(e)})):Object.keys(c).forEach((t=>{const[e]=AT(t),n=a[e];null!=n&&(n.signatureKey=c[t],l.push(n))})),Object.keys(u).length>0?Object.keys(u).forEach((t=>{const[e]=AT(t),n=a[e];n&&(n.signatureKey=u[t],o.push(n))})):o=r;let d={};null!=t.library&&null!=t.library.function&&(d=t.library.function.reduce(((t,e)=>(t[e.signature.name]=this.mapFunction(e),t)),{}));const p={nodes:a,inputs:o,outputs:l,weights:s,placeholders:r,signature:e,functions:d};return i.length>0&&(p.initNodes=i),p}mapSignatureEntries(t){return Object.keys(t||{}).reduce(((e,n)=>(e[t[n].name]=n,e)),{})}mapNode(t){const e=ET(t.op)||this.opMappers[t.op]||{};null==t.attr&&(t.attr={});const n={name:t.name,op:t.op,category:e.category,inputNames:(t.input||[]).map((t=>t.startsWith("^")?t.substr(1):t)),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:t.attr,outputs:e.outputs};return null!=e.inputs&&(n.inputParams=e.inputs.reduce(((t,e)=>(t[e.name]={type:e.type,inputIndexStart:e.start,inputIndexEnd:e.end},t)),{})),null!=e.attrs&&(n.attrParams=e.attrs.reduce(((e,n)=>{const r=n.type;let s;switch(n.type){case"string":s=r_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=r_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":s=p_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=p_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":s=i_(t.attr,n.tfName,n.defaultValue||0),void 0===s&&n.tfDeprecatedName&&(s=i_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":s=d_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=d_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":s=s_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=s_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":s=m_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=m_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":s=h_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=h_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":s=f_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=f_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":s=l_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=l_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":s=u_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=u_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":s=o_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=o_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${t.op}`)}return e[n.name]={value:s,type:r},e}),{})),n}mapFunction(t){const e=t.nodeDef,n=[];let r={};null!=e&&(r=e.reduce(((t,e)=>(t[e.name]=this.mapNode(e),"Const"===e.op&&n.push(t[e.name]),t)),{}));const s=[],i=[];t.signature.inputArg.forEach((t=>{const[e]=AT(t.name),n={name:e,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:a_(t.type),type:"dtype"}},children:[]};n.signatureKey=t.name,s.push(n),r[e]=n})),Object.keys(r).forEach((t=>{const e=r[t];e.inputNames.forEach(((t,n)=>{const[s,,i]=AT(t),a=r[s];if(null!=a.outputs){const t=a.outputs.indexOf(i);if(-1!==t){const r=`${s}:${t}`;e.inputNames[n]=r}}e.inputs.push(a),a.children.push(e)}))}));const a=t.ret;t.signature.outputArg.forEach((t=>{const[e,n]=AT(a[t.name]),s=r[e];null!=s&&(s.defaultOutput=n,i.push(s))}));const o=this.mapArgsToSignature(t);return{nodes:r,inputs:s,outputs:i,weights:n,placeholders:[],signature:o}}mapArgsToSignature(t){return{methodName:t.signature.name,inputs:t.signature.inputArg.reduce(((t,e)=>(t[e.name]=this.mapArgToTensorInfo(e),t)),{}),outputs:t.signature.outputArg.reduce(((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n,t.ret),e)),{})}}mapArgToTensorInfo(t,e){let n=t.name;return null!=e&&(n=e[n]),{name:n,dtype:t.type}}}function n_(t,e){const n=Array.isArray(t)?String.fromCharCode.apply(null,t):function(t){const e=Gt().global;if(void 0!==e.atob)return e.atob(t);if("undefined"!=typeof Buffer)return new Buffer(t,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(t);return e?n:n.toLowerCase()}function r_(t,e,n,r=!1){const s=t[e];return null!=s?n_(s.s,r):n}function s_(t,e,n){const r=t[e];return r?r.b:n}function i_(t,e,n){const r=t[e]||{},s=null!=r.i?r.i:null!=r.f?r.f:n;return"number"==typeof s?s:parseInt(s,10)}function a_(t){switch("string"==typeof t&&(t=TT[t]),t){case TT.DT_FLOAT:case TT.DT_HALF:return"float32";case TT.DT_INT32:case TT.DT_INT64:case TT.DT_INT8:case TT.DT_UINT8:return"int32";case TT.DT_BOOL:return"bool";case TT.DT_DOUBLE:return"float32";case TT.DT_STRING:return"string";default:return null}}function o_(t,e,n){const r=t[e];return r&&r.func?r.func.name:n}function l_(t,e,n){const r=t[e];return r&&r.type?a_(r.type):n}function u_(t,e,n){const r=t[e];return r&&r.list&&r.list.type?r.list.type.map((t=>a_(t))):n}function c_(t){if(!t.unknownRank)return null!=t.dim?t.dim.map((t=>"number"==typeof t.size?t.size:parseInt(t.size,10))):[]}function h_(t,e,n){const r=t[e];return r&&r.shape?c_(r.shape):n}function d_(t,e,n){const r=t[e];return r?((r.list.f&&r.list.f.length?r.list.f:r.list.i)||[]).map((t=>"number"==typeof t?t:parseInt(t,10))):n}function p_(t,e,n,r=!1){const s=t[e];return s&&s.list&&s.list.s?s.list.s.map((t=>n_(t,r))):n}function f_(t,e,n){const r=t[e];return r&&r.list&&r.list.shape?r.list.shape.map((t=>c_(t))):n}function m_(t,e,n){const r=t[e];return r&&r.list&&r.list.b?r.list.b:n}class g_{constructor(t,e,n){this.node=t,this.tensorMap=e,this.context=n,this.inputs=[],this.attrs={},this.inputs=t.inputNames.map((t=>this.getInput(t))),null!=t.rawAttrs&&(this.attrs=Object.keys(t.rawAttrs).reduce(((t,e)=>(t[e]=this.getAttr(e),t)),{}))}getInput(t){return NT(t,this.tensorMap,this.context)}getAttr(t,e){const n=this.node.rawAttrs[t];if(null!=n.tensor)return NT(t,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return i_(this.node.rawAttrs,t,e);if(null!=n.s)return r_(this.node.rawAttrs,t,e);if(null!=n.b)return s_(this.node.rawAttrs,t,e);if(null!=n.shape)return h_(this.node.rawAttrs,t,e);if(null!=n.type)return l_(this.node.rawAttrs,t,e);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return d_(this.node.rawAttrs,t,e);if(null!=n.list.s)return p_(this.node.rawAttrs,t,e);if(null!=n.list.shape)return f_(this.node.rawAttrs,t,e);if(null!=n.list.b)return m_(this.node.rawAttrs,t,e);if(null!=n.list.type)return u_(this.node.rawAttrs,t,e)}return e}}function y_(t,e,n=""){if("number"!=typeof t&&"number"!=typeof e){rt(t.length===e.length,(()=>n+` Shapes ${t} and ${e} must match`));for(let r=0;rn+` Shapes ${t} and ${e} must match`))}}}function x_(t){return"number"!=typeof t&&!t.some((t=>t<0))}function b_(t,e,n){let r=v_(t,n);const s=!x_(r);if(s&&0===e.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${r}`);if(s&&e.forEach((t=>{r=v_(t.shape,r)})),!x_(r))throw new Error(`Non-fully-defined elementShape: ${r}`);return r}function v_(t,e){if("number"==typeof t)return e;if("number"==typeof e)return t;if(t.length!==e.length)throw new Error(`Incompatible ranks during merge: ${t} vs. ${e}`);const n=[];for(let r=0;r=0&&i>=0&&s!==i)throw new Error(`Incompatible shape during merge: ${t} vs. ${e}`);n[r]=s>=0?s:i}return n}class w_{constructor(t,e,n,r,s,i,a){this.name=t,this.dtype=e,this.maxSize=n,this.elementShape=r,this.identicalElementShapes=s,this.dynamicSize=i,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.idTensor=Sl(0),Jo(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(t){this.tensors.forEach((e=>{null!=t&&t.has(e.tensor.id)||e.tensor.dispose()})),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||t>=this.size())throw new Error(`Tried to read from index ${t}, but array size is: ${this.size()}`);const e=this.tensors[t];if(e.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${t} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(e.cleared=!0),e.read=!0,e.tensor}readMany(t){return t.map((t=>this.read(t)))}write(t,e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||!this.dynamicSize&&t>=this.maxSize)throw new Error(`Tried to write to index ${t}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[t]||{};if(e.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t},\n because the value dtype is ${e.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=e.shape),y_(this.elementShape,e.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${t}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been written.`);n.tensor=e,Jo(e),n.written=!0,this.tensors[t]=n}writeMany(t,e){if(t.length!==e.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${t.length} is not the same as tensors size: ${e.length}.`);t.forEach(((t,n)=>this.write(t,e[n])))}gather(t,e){if(e&&e!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${e}`);if(t)t=t.slice(0,this.size());else{t=[];for(let e=0;e=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(t,od(e,0))}split(t,e){if(e.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${e.dtype}`);let n=0;const r=t.map((t=>(n+=t,n)));if(n!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${e.shape}`);if(!this.dynamicSize&&t.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${t.length}), and the TensorArray is not marked as dynamically resizeable`);const s=0===n?0:e.size/n,i=[];Ko((()=>{e=uu(e,[1,n,s]);for(let n=0;n{if(n!==t.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${t.dtype}`);y_(e,t.shape,"TensorList shape mismatch: "),Jo(t)})),this.idTensor=Sl(0),this.maxNumElements=r,Jo(this.idTensor)}get id(){return this.idTensor.id}copy(){return new S_([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(t){this.tensors.forEach((e=>{null!=t&&t.has(e.id)||e.dispose()})),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(t,e,n=-1){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);y_(t,this.elementShape,"TensorList shape mismatch: ");const r=b_(this.elementShape,this.tensors,t);return Ko((()=>{const t=this.tensors.map((t=>uu(t,r)));return Xh(t,0)}))}popBack(t,e){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=b_(this.elementShape,this.tensors,t),r=this.tensors.pop();return y_(r.shape,t,"TensorList shape mismatch: "),uu(r,n)}pushBack(t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(y_(t.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");Jo(t),this.tensors.push(t)}resize(t){if(t<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${t}`);if(-1!==this.maxNumElements&&t>this.maxNumElements)throw new Error(`TensorListResize input size ${t} is greater maxNumElement ${this.maxNumElements}.`);this.tensors.length=t}getItem(t,e,n){if(n!==this.elementDtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${this.elementDtype}`);if(t<0||t>this.tensors.length)throw new Error(`Trying to access element ${t} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[t])throw new Error(`element at index ${t} is null.`);y_(this.tensors[t].shape,e,"TensorList shape mismatch: ");const r=b_(this.elementShape,this.tensors,e);return uu(this.tensors[t],r)}setItem(t,e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(t<0||-1!==this.maxNumElements&&t>=this.maxNumElements)throw new Error(`Trying to set element ${t} in a list with max ${this.maxNumElements} elements.`);y_(this.elementShape,e.shape,"TensorList shape mismatch: "),Jo(e),this.tensors[t]=e}gather(t,e,n){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);y_(this.elementShape,n,"TensorList shape mismatch: "),t=t.slice(0,this.size());const r=b_(this.elementShape,this.tensors,n);return 0===t.length?Ci([],[0].concat(r)):Ko((()=>{const e=t.map((t=>uu(this.tensors[t],r)));return Xh(e,0)}))}concat(t,e){if(t&&t!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${t}`);y_(this.elementShape,e,"TensorList shape mismatch: ");const n=b_(this.elementShape,this.tensors,e);return 0===this.size()?Ci([],[0].concat(n)):Ko((()=>{const t=this.tensors.map((t=>uu(t,n)));return du(t,0)}))}}function T_(t,e,n){const[r,s]=CT("fusedOps",t,e,n),i="biasadd"===r,a=!i,o="prelu"===s,l="fusedbatchnorm"===r,u=CT("numArgs",t,e,n);if(i){if(o&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!o&&i&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=CT("strides",t,e,n),h=LT(t,e,n),d=CT("dataFormat",t,e,n).toUpperCase(),p=CT("dilations",t,e,n);let[f,m]=CT("args",t,e,n);return a&&(m=f,f=void 0),{stride:c,pad:h,dataFormat:d,dilations:p,biasArg:f,preluArg:m,activationFunc:s,leakyreluAlpha:CT("leakyreluAlpha",t,e,n)}}function __(t,e,n){return{boxes:CT("boxes",t,e,n),scores:CT("scores",t,e,n),maxOutputSize:CT("maxOutputSize",t,e,n),iouThreshold:CT("iouThreshold",t,e,n),scoreThreshold:CT("scoreThreshold",t,e,n),softNmsSigma:CT("softNmsSigma",t,e,n)}}class M_{constructor(t,e){this.keyDType=t,this.valueDType=e,this.handle=Sl(0),this.tensorMap=new Map,Jo(this.handle)}get id(){return this.handle.id}clearAndClose(){this.tensorMap.forEach((t=>t.dispose())),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return Sl(this.size(),"int32")}async import(t,e){this.checkKeyAndValueTensor(t,e);const n=await t.data();return this.tensorMap.forEach((t=>t.dispose())),this.tensorMap.clear(),Ko((()=>{const t=od(e),r=n.length,s=t.length;rt(r===s,(()=>`The number of elements doesn't match, keys has ${r} elements, the values has ${s} elements.`));for(let e=0;e{const t=[];for(let r=0;r{switch(t.category){case"arithmetic":return Ko((()=>((t,e,n)=>{switch(t.op){case"BiasAdd":case"AddV2":case"Add":return[ll(CT("a",t,e,n),CT("b",t,e,n))];case"AddN":return[zl(CT("tensors",t,e,n))];case"FloorMod":case"Mod":return[Xc(CT("a",t,e,n),CT("b",t,e,n))];case"Mul":return[hl(CT("a",t,e,n),CT("b",t,e,n))];case"RealDiv":case"Div":return[cl(CT("a",t,e,n),CT("b",t,e,n))];case"DivNoNan":return[Xu(CT("a",t,e,n),CT("b",t,e,n))];case"FloorDiv":return[ul(CT("a",t,e,n),CT("b",t,e,n))];case"Sub":return[Il(CT("a",t,e,n),CT("b",t,e,n))];case"Minimum":return[jc(CT("a",t,e,n),CT("b",t,e,n))];case"Maximum":return[Al(CT("a",t,e,n),CT("b",t,e,n))];case"Pow":return[El(CT("a",t,e,n),CT("b",t,e,n))];case"SquaredDifference":return[jh(CT("a",t,e,n),CT("b",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"basic_math":return Ko((()=>((t,e,n)=>{switch(t.op){case"Abs":case"ComplexAbs":return[Nl(CT("x",t,e,n))];case"Acos":return[Ol(CT("x",t,e,n))];case"Acosh":return[Pl(CT("x",t,e,n))];case"Asin":return[Hl(CT("x",t,e,n))];case"Asinh":return[Gl(CT("x",t,e,n))];case"Atan":return[jl(CT("x",t,e,n))];case"Atan2":return[ql(CT("x",t,e,n),CT("y",t,e,n))];case"Atanh":return[Xl(CT("x",t,e,n))];case"Ceil":return[Mu(CT("x",t,e,n))];case"Complex":return[Ei(CT("real",t,e,n),CT("imag",t,e,n))];case"Cos":return[Pu(CT("x",t,e,n))];case"Cosh":return[zu(CT("x",t,e,n))];case"Elu":return[Ju(CT("x",t,e,n))];case"Erf":return[Zu(CT("x",t,e,n))];case"Exp":return[Qu(CT("x",t,e,n))];case"Expm1":return[ec(CT("x",t,e,n))];case"Floor":return[sc(CT("x",t,e,n))];case"Log":return[yc(CT("x",t,e,n))];case"Log1p":return[xc(CT("x",t,e,n))];case"Imag":return[lc(CT("x",t,e,n))];case"Neg":return[bc(CT("x",t,e,n))];case"Reciprocal":return[vh(CT("x",t,e,n))];case"Real":return[bh(CT("x",t,e,n))];case"Relu":return[wh(CT("x",t,e,n))];case"Round":return[Ih(CT("x",t,e,n))];case"Selu":return[Nh(CT("x",t,e,n))];case"Sigmoid":return[pu(CT("x",t,e,n))];case"Sin":return[Lh(CT("x",t,e,n))];case"Sign":return[Dh(CT("x",t,e,n))];case"Sinh":return[Fh(CT("x",t,e,n))];case"Softplus":return[vc(CT("x",t,e,n))];case"Sqrt":return[dl(CT("x",t,e,n))];case"Square":return[pl(CT("x",t,e,n))];case"Tanh":return[mu(CT("x",t,e,n))];case"Tan":return[Jh(CT("x",t,e,n))];case"ClipByValue":return[ku(CT("x",t,e,n),CT("clipValueMin",t,e,n),CT("clipValueMax",t,e,n))];case"Relu6":return[Sh(CT("x",t,e,n))];case"Rsqrt":return[Ch(NT(t.inputNames[0],e,n))];case"Prod":return[uh(CT("x",t,e,n),CT("axes",t,e,n))];case"LeakyRelu":return[dc(CT("x",t,e,n),CT("alpha",t,e,n))];case"Prelu":return[lh(CT("x",t,e,n),CT("alpha",t,e,n))];case"IsNan":return[hc(NT(t.inputNames[0],e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"control":return(async(t,e,n)=>{switch(t.op){case"If":case"StatelessIf":{const r=CT("thenBranch",t,e,n),s=CT("elseBranch",t,e,n),i=CT("cond",t,e,n),a=CT("args",t,e,n);return(await i.data())[0]?n.functionMap[r].executeFunctionAsync(a,n.tensorArrayMap,n.tensorListMap):n.functionMap[s].executeFunctionAsync(a,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const r=CT("body",t,e,n),s=CT("cond",t,e,n),i=CT("args",t,e,n),a=await n.functionMap[s].executeFunctionAsync(i,n.tensorArrayMap,n.tensorListMap),o=i.map((t=>t.id));let l=await a[0].data();a.forEach((t=>{t.kept||-1!==o.indexOf(t.id)||t.dispose()}));let u=i;for(;l[0];){const t=u;u=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const e=u.map((t=>t.id));t.forEach((t=>{t.kept||-1!==o.indexOf(t.id)||-1!==e.indexOf(t.id)||t.dispose()}));const i=await n.functionMap[s].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await i[0].data(),i.forEach((t=>{t.kept||-1!==o.indexOf(t.id)||-1!==e.indexOf(t.id)||t.dispose()}))}return u}case"LoopCond":return[FT(CT("pred",t,e,n))];case"Switch":{const r=CT("pred",t,e,n);let s=CT("data",t,e,n);return s.kept||(s=FT(s)),(await r.data())[0]?[void 0,s]:[s,void 0]}case"Merge":{const r=t.inputNames.find((t=>void 0!==NT(t,e,n)));return r?[FT(NT(r,e,n))]:void 0}case"Enter":{const r=CT("frameName",t,e,n),s=CT("tensor",t,e,n);return n.enterFrame(r),[FT(s)]}case"Exit":{const r=CT("tensor",t,e,n);return n.exitFrame(),[FT(r)]}case"NextIteration":{const r=CT("tensor",t,e,n);return n.nextIteration(),[FT(r)]}case"TensorArrayV3":{const r=CT("size",t,e,n),s=CT("dtype",t,e,n),i=CT("elementShape",t,e,n),a=CT("dynamicSize",t,e,n),o=CT("clearAfterRead",t,e,n),l=CT("identicalElementShapes",t,e,n),u=CT("name",t,e,n),c=new w_(u,s,r,i,l,a,o);return n.addTensorArray(c),[c.idTensor,Sl(1)]}case"TensorArrayWriteV3":{const r=CT("tensorArrayId",t,e,n),s=CT("index",t,e,n),i=CT("tensor",t,e,n),a=n.getTensorArray(r.id);return a.write(s,i),[a.idTensor]}case"TensorArrayReadV3":{const r=CT("tensorArrayId",t,e,n),s=CT("index",t,e,n);return[n.getTensorArray(r.id).read(s)]}case"TensorArrayGatherV3":{const r=CT("tensorArrayId",t,e,n),s=CT("indices",t,e,n),i=CT("dtype",t,e,n);return[n.getTensorArray(r.id).gather(s,i)]}case"TensorArrayScatterV3":{const r=CT("tensorArrayId",t,e,n),s=CT("indices",t,e,n),i=CT("tensor",t,e,n),a=n.getTensorArray(r.id);return a.scatter(s,i),[a.idTensor]}case"TensorArrayConcatV3":{const r=CT("tensorArrayId",t,e,n),s=n.getTensorArray(r.id),i=CT("dtype",t,e,n);return[s.concat(i)]}case"TensorArraySplitV3":{const r=CT("tensorArrayId",t,e,n),s=CT("tensor",t,e,n),i=CT("lengths",t,e,n),a=n.getTensorArray(r.id);return a.split(i,s),[a.idTensor]}case"TensorArraySizeV3":{const r=CT("tensorArrayId",t,e,n);return[Sl(n.getTensorArray(r.id).size(),"int32")]}case"TensorArrayCloseV3":{const r=CT("tensorArrayId",t,e,n),s=n.getTensorArray(r.id);return s.clearAndClose(),[s.idTensor]}case"TensorListSetItem":{const r=CT("tensorListId",t,e,n),s=CT("index",t,e,n),i=CT("tensor",t,e,n),a=n.getTensorList(r.id);return a.setItem(s,i),[a.idTensor]}case"TensorListGetItem":{const r=CT("tensorListId",t,e,n),s=CT("index",t,e,n),i=CT("elementShape",t,e,n),a=CT("elementDType",t,e,n);return[n.getTensorList(r.id).getItem(s,i,a)]}case"TensorListScatterV2":case"TensorListScatter":{const r=CT("indices",t,e,n),s=function(t,e,n,r){if(e.length!==t.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${e.length} vs. ${t.shape[0]}`);const s=Math.max(...e);if(null!=r&&-1!==r&&s>=r)throw new Error(`Max index must be < array size (${s} vs. ${r})`);const i=new S_([],n,t.dtype,r),a=od(t,0);return e.forEach(((t,e)=>{i.setItem(t,a[e])})),i}(CT("tensor",t,e,n),r,CT("elementShape",t,e,n),CT("numElements",t,e,n));return n.addTensorList(s),[s.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const r=CT("elementShape",t,e,n),s=CT("elementDType",t,e,n);let i;i="TensorListReserve"===t.op?"numElements":"maxNumElements";const a=function(t,e,n){return new S_([],t,e,n)}(r,s,CT(i,t,e,n));return n.addTensorList(a),[a.idTensor]}case"TensorListGather":{const r=CT("tensorListId",t,e,n),s=CT("indices",t,e,n),i=CT("elementShape",t,e,n),a=CT("elementDType",t,e,n);return[n.getTensorList(r.id).gather(s,a,i)]}case"TensorListStack":{const r=CT("tensorListId",t,e,n),s=CT("elementShape",t,e,n),i=CT("elementDType",t,e,n),a=CT("numElements",t,e,n);return[n.getTensorList(r.id).stack(s,i,a)]}case"TensorListFromTensor":{const r=function(t,e,n){const r=t.dtype;if(t.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${t.shape}`);if(t.dtype!==n)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${n}`);y_(t.shape.slice(1),e,"TensorList shape mismatch: ");const s=od(t);return new S_(s,e,r)}(CT("tensor",t,e,n),CT("elementShape",t,e,n),CT("elementDType",t,e,n));return n.addTensorList(r),[r.idTensor]}case"TensorListConcat":{const r=CT("tensorListId",t,e,n),s=n.getTensorList(r.id),i=CT("dtype",t,e,n),a=CT("elementShape",t,e,n);return[s.concat(i,a)]}case"TensorListPushBack":{const r=CT("tensorListId",t,e,n),s=CT("tensor",t,e,n),i=n.getTensorList(r.id);return i.pushBack(s),[i.idTensor]}case"TensorListPopBack":{const r=CT("tensorListId",t,e,n),s=CT("elementShape",t,e,n),i=CT("elementDType",t,e,n);return[n.getTensorList(r.id).popBack(s,i)]}case"TensorListSplit":{const r=CT("tensor",t,e,n),s=CT("elementShape",t,e,n),i=function(t,e,n){let r=0;const s=e.map((t=>(r+=t,r)));if(r!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${r}, and tensor's shape is: ${t.shape}`);const i=v_(t.shape.slice(1),n),a=0===r?0:t.size/r,o=Ko((()=>{const n=[];t=uu(t,[1,r,a]);for(let r=0;r((t,e,n)=>{switch(t.op){case"Conv1D":{const r=CT("stride",t,e,n),s=CT("pad",t,e,n),i=CT("dataFormat",t,e,n).toUpperCase(),a=CT("dilation",t,e,n);return[Ru(CT("x",t,e,n),CT("filter",t,e,n),r,s,i,a)]}case"Conv2D":{const r=CT("strides",t,e,n),s=LT(t,e,n),i=CT("dataFormat",t,e,n).toUpperCase(),a=CT("dilations",t,e,n);return[Au(CT("x",t,e,n),CT("filter",t,e,n),[r[1],r[2]],s,i,[a[1],a[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:i,dilations:a,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=T_(t,e,n);return[Ed({x:CT("x",t,e,n),filter:CT("filter",t,e,n),strides:[r[1],r[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:i,dilations:a,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=T_(t,e,n);return[Nd({x:CT("x",t,e,n),filter:CT("filter",t,e,n),strides:[r[1],r[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=CT("outputShape",t,e,n),s=CT("strides",t,e,n),i=LT(t,e,n);return[Lu(CT("x",t,e,n),CT("filter",t,e,n),r,[s[1],s[2]],i)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=CT("strides",t,e,n),s=LT(t,e,n),i=CT("dilations",t,e,n),a=CT("dataFormat",t,e,n).toUpperCase();return[Wu(CT("input",t,e,n),CT("filter",t,e,n),[r[1],r[2]],s,a,[i[1],i[2]])]}case"Conv3D":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("dataFormat",t,e,n).toUpperCase(),a=CT("dilations",t,e,n);return[Fu(CT("x",t,e,n),CT("filter",t,e,n),[r[1],r[2],r[3]],s,i,[a[1],a[2],a[3]])]}case"AvgPool":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("kernelSize",t,e,n);return[cu(CT("x",t,e,n),[i[1],i[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("kernelSize",t,e,n);return[Pc(CT("x",t,e,n),[i[1],i[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("kernelSize",t,e,n),a=CT("includeBatchInIndex",t,e,n),{result:o,indexes:l}=Bc(CT("x",t,e,n),[i[1],i[2]],[r[1],r[2]],s,a);return[o,l]}case"AvgPool3D":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("kernelSize",t,e,n);return[hu(CT("x",t,e,n),[i[1],i[2],i[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("kernelSize",t,e,n);return[zc(CT("x",t,e,n),[i[1],i[2],i[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=CT("strides",t,e,n),s=CT("pad",t,e,n),i=CT("dilations",t,e,n),a=r[1],o=r[2],l=i[1],u=i[2];return[Gu(CT("x",t,e,n),CT("filter",t,e,n),[a,o],s,[l,u],"NHWC")]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"creation":return Ko((()=>((t,e,n)=>{switch(t.op){case"Fill":{const r=CT("shape",t,e,n),s=CT("dtype",t,e,n);return[Ml(r,CT("value",t,e,n),s)]}case"LinSpace":return[mc(CT("start",t,e,n),CT("stop",t,e,n),CT("num",t,e,n))];case"Multinomial":{const r=CT("logits",t,e,n),s=CT("numSamples",t,e,n),i=CT("seed",t,e,n);return[Jc(r,s,i)]}case"OneHot":{const r=CT("indices",t,e,n),s=CT("depth",t,e,n),i=CT("onValue",t,e,n),a=CT("offValue",t,e,n);return[ja(r,s,i,a)]}case"Ones":return[Wc(CT("shape",t,e,n),CT("dtype",t,e,n))];case"OnesLike":return[Qc(CT("x",t,e,n))];case"RandomUniform":return[yh(CT("shape",t,e,n),CT("minval",t,e,n),CT("maxval",t,e,n),CT("dtype",t,e,n))];case"Range":return[xh(CT("start",t,e,n),CT("stop",t,e,n),CT("step",t,e,n),CT("dtype",t,e,n))];case"TruncatedNormal":{const r=CT("shape",t,e,n),s=CT("mean",t,e,n),i=CT("stdDev",t,e,n),a=CT("seed",t,e,n);return[sd(r,s,i,CT("dtype",t,e,n),a)]}case"Zeros":return[Vc(CT("shape",t,e,n),CT("dtype",t,e,n))];case"ZerosLike":return[fl(CT("x",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"dynamic":return(async(t,e,n)=>{switch(t.op){case"NonMaxSuppressionV5":{const{boxes:r,scores:s,maxOutputSize:i,iouThreshold:a,scoreThreshold:o,softNmsSigma:l}=__(t,e,n),u=await kp.nonMaxSuppressionWithScoreAsync(r,s,i,a,o,l);return[u.selectedIndices,u.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:r,scores:s,maxOutputSize:i,iouThreshold:a,scoreThreshold:o}=__(t,e,n),l=CT("padToMaxOutputSize",t,e,n),u=await kp.nonMaxSuppressionPaddedAsync(r,s,i,a,o,l);return[u.selectedIndices,u.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:r,scores:s,maxOutputSize:i,iouThreshold:a,scoreThreshold:o}=__(t,e,n);return[await kp.nonMaxSuppressionAsync(r,s,i,a,o)]}case"Where":{const r=Ma(CT("condition",t,e,n),"bool"),s=[await cd(r)];return r.dispose(),s}case"ListDiff":return Rh(CT("x",t,e,n),CT("y",t,e,n));default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n);case"evaluation":return Ko((()=>((t,e,n)=>{switch(t.op){case"TopKV2":{const r=CT("x",t,e,n),s=CT("k",t,e,n),i=CT("sorted",t,e,n),a=rd(r,s,i);return[a.values,a.indices]}case"Unique":{const r=CT("x",t,e,n),s=id(r);return[s.values,s.indices]}case"UniqueV2":{const r=CT("x",t,e,n),s=CT("axis",t,e,n),i=id(r,s);return[i.values,i.indices]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"image":return Ko((()=>((t,e,n)=>{switch(t.op){case"ResizeBilinear":{const r=CT("images",t,e,n),s=CT("size",t,e,n),i=CT("alignCorners",t,e,n),a=CT("halfPixelCenters",t,e,n);return[kp.resizeBilinear(r,[s[0],s[1]],i,a)]}case"ResizeNearestNeighbor":{const r=CT("images",t,e,n),s=CT("size",t,e,n),i=CT("alignCorners",t,e,n),a=CT("halfPixelCenters",t,e,n);return[kp.resizeNearestNeighbor(r,[s[0],s[1]],i,a)]}case"CropAndResize":{const r=CT("image",t,e,n),s=CT("boxes",t,e,n),i=CT("boxInd",t,e,n),a=CT("cropSize",t,e,n),o=CT("method",t,e,n),l=CT("extrapolationValue",t,e,n);return[kp.cropAndResize(r,s,i,a,o,l)]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"graph":return Ko((()=>((t,e,n)=>{switch(t.op){case"Const":return e[t.name];case"PlaceholderWithDefault":const r=CT("default",t,e,n);return[NT(t.name,e,n)||r];case"Placeholder":return[NT(t.name,e,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":return[FT(CT("x",t,e,n))];case"IdentityN":return CT("x",t,e,n).map((t=>FT(t)));case"Snapshot":return[FT(CT("x",t,e,n))];case"Shape":return[Zh(CT("x",t,e,n).shape,"int32")];case"ShapeN":return CT("x",t,e,n).map((t=>Zh(t.shape)));case"Size":return[Sl(CT("x",t,e,n).size,"int32")];case"Rank":return[Sl(CT("x",t,e,n).rank,"int32")];case"NoOp":return[Sl(1)];case"Print":const s=CT("x",t,e,n),i=CT("data",t,e,n),a=CT("message",t,e,n),o=CT("summarize",t,e,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(a);for(let t=0;t((t,e,n)=>{switch(t.op){case"Equal":return[ju(CT("a",t,e,n),CT("b",t,e,n))];case"NotEqual":return[Zc(CT("a",t,e,n),CT("b",t,e,n))];case"Greater":return[ac(CT("a",t,e,n),CT("b",t,e,n))];case"GreaterEqual":return[oc(CT("a",t,e,n),CT("b",t,e,n))];case"Less":return[pc(CT("a",t,e,n),CT("b",t,e,n))];case"LessEqual":return[fc(CT("a",t,e,n),CT("b",t,e,n))];case"LogicalAnd":return[Lc(CT("a",t,e,n),CT("b",t,e,n))];case"LogicalNot":return[Fc(CT("a",t,e,n))];case"LogicalOr":return[$c(CT("a",t,e,n),CT("b",t,e,n))];case"Select":case"SelectV2":return[qu(CT("condition",t,e,n),CT("a",t,e,n),CT("b",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"matrices":return Ko((()=>((t,e,n)=>{switch(t.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[Ga(CT("a",t,e,n),CT("b",t,e,n),CT("transposeA",t,e,n),CT("transposeB",t,e,n))];case"Einsum":return[Yu(CT("equation",t,e,n),...CT("tensors",t,e,n))];case"Transpose":return[qa(CT("x",t,e,n),CT("perm",t,e,n))];case"_FusedMatMul":const[r,s]=CT("fusedOps",t,e,n),i="biasadd"===r,a="prelu"===s,o=CT("numArgs",t,e,n),l=CT("leakyreluAlpha",t,e,n);if(i){if(a&&2!==o)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&1!==o)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[u,c]=CT("args",t,e,n);return[Ad({a:CT("a",t,e,n),b:CT("b",t,e,n),transposeA:CT("transposeA",t,e,n),transposeB:CT("transposeB",t,e,n),bias:u,activation:s,preluActivationWeights:c,leakyreluAlpha:l})];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"normalization":return Ko((()=>((t,e,n)=>{switch(t.op){case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[xu(CT("x",t,e,n),CT("mean",t,e,n),CT("variance",t,e,n),CT("offset",t,e,n),CT("scale",t,e,n),CT("epsilon",t,e,n))];case"LRN":return[gc(CT("x",t,e,n),CT("radius",t,e,n),CT("bias",t,e,n),CT("alpha",t,e,n),CT("beta",t,e,n))];case"Softmax":return[Bh(CT("x",t,e,n))];case"LogSoftmax":return[_c(CT("x",t,e,n))];case"SparseToDense":return[gd(CT("sparseIndices",t,e,n),CT("outputShape",t,e,n),CT("sparseValues",t,e,n),CT("defaultValue",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"reduction":return Ko((()=>((t,e,n)=>{switch(t.op){case"Max":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[Sc(CT("x",t,e,n),r,s)]}case"Mean":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[Uc(CT("x",t,e,n),r,s)]}case"Min":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[Gc(CT("x",t,e,n),r,s)]}case"Sum":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[Tc(CT("x",t,e,n),r,s)]}case"All":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[Bl(CT("x",t,e,n),r,s)]}case"Any":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[Ul(CT("x",t,e,n),r,s)]}case"ArgMax":{const r=CT("axis",t,e,n);return[Vl(CT("x",t,e,n),r)]}case"ArgMin":{const r=CT("axis",t,e,n);return[Wl(CT("x",t,e,n),r)]}case"Prod":{const r=CT("axis",t,e,n),s=CT("keepDims",t,e,n);return[uh(CT("x",t,e,n),r,s)]}case"Cumsum":{const r=CT("axis",t,e,n),s=CT("exclusive",t,e,n),i=CT("reverse",t,e,n);return[Bu(CT("x",t,e,n),r,s,i)]}case"Bincount":const r=CT("x",t,e,n),s=CT("weights",t,e,n),i=CT("size",t,e,n);return[Su(r,s,i)];case"DenseBincount":{const r=CT("x",t,e,n),s=CT("weights",t,e,n),i=CT("size",t,e,n),a=CT("binaryOutput",t,e,n);return[Uu(r,s,i,a)]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"slice_join":return Ko((()=>((t,e,n)=>{switch(t.op){case"ConcatV2":case"Concat":{const r=CT("n",t,e,n),s=CT("axis",t,e,n);let i=CT("tensors",t,e,n);return i=i.slice(0,r),[du(i,s)]}case"Gather":{const r=CT("x",t,e,n),s=CT("indices",t,e,n);return[ic(r,Ma(s,"int32"),0)]}case"GatherV2":{const r=CT("axis",t,e,n),s=CT("batchDims",t,e,n),i=CT("x",t,e,n),a=CT("indices",t,e,n);return[ic(i,Ma(a,"int32"),r,s)]}case"Reverse":{const r=CT("dims",t,e,n),s=[];for(let t=0;t{const r=CT("axis",t,e,n),s=CT("tensors",t,e,n),i=s[0].shape,a=qh(s[0]).shape,o=s.map((t=>{const e=ut(t.shape,i);if(!e&&!ut(qh(t).shape,a))throw new Error("the input tensors shape does not match");return e?t:uu(t,i)}));return[Xh(o,r)]}));case"Unpack":{const r=CT("axis",t,e,n),s=CT("tensor",t,e,n);return od(s,r)}case"Tile":{const r=CT("reps",t,e,n);return[nc(CT("x",t,e,n),r)]}case"Split":case"SplitV":{const r=CT("axis",t,e,n),s=CT("numOrSizeSplits",t,e,n),i=CT("x",t,e,n);return Hh(i,s,r)}case"ScatterNd":{const r=CT("indices",t,e,n),s=CT("values",t,e,n),i=CT("shape",t,e,n);return[md(r,s,i)]}case"GatherNd":{const r=CT("x",t,e,n),s=CT("indices",t,e,n);return[yd(r,s)]}case"SparseToDense":{const r=CT("sparseIndices",t,e,n),s=CT("outputShape",t,e,n),i=CT("sparseValues",t,e,n),a=CT("defaultValue",t,e,n);return[gd(r,i,s,i.dtype===a.dtype?a:Ma(a,i.dtype))]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"sparse":return Ko((()=>((t,e,n)=>{switch(t.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:i,reverseIndexMap:a}=Cp.sparseFillEmptyRows(CT("indices",t,e,n),CT("values",t,e,n),CT("denseShape",t,e,n),CT("defaultValue",t,e,n));return[r,s,i,a]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=Cp.sparseReshape(CT("inputIndices",t,e,n),CT("inputShape",t,e,n),CT("newShape",t,e,n));return[r,s]}case"SparseSegmentMean":return[Cp.sparseSegmentMean(CT("data",t,e,n),CT("indices",t,e,n),CT("segmentIds",t,e,n))];case"SparseSegmentSum":return[Cp.sparseSegmentSum(CT("data",t,e,n),CT("indices",t,e,n),CT("segmentIds",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"spectral":return Ko((()=>((t,e,n)=>{switch(t.op){case"FFT":return[Uh(CT("x",t,e,n))];case"IFFT":return[Vh(CT("x",t,e,n))];case"RFFT":return[Gh(CT("x",t,e,n))];case"IRFFT":return[Wh(CT("x",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"string":return Ko((()=>((t,e,n)=>{switch(t.op){case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=Np.stringNGrams(CT("data",t,e,n),CT("dataSplits",t,e,n),CT("separator",t,e,n),CT("nGramWidths",t,e,n),CT("leftPad",t,e,n),CT("rightPad",t,e,n),CT("padWidth",t,e,n),CT("preserveShortSequences",t,e,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:i}=Np.stringSplit(CT("input",t,e,n),CT("delimiter",t,e,n),CT("skipEmpty",t,e,n));return[r,s,i]}case"StringToHashBucketFast":return[Np.stringToHashBucketFast(CT("input",t,e,n),CT("numBuckets",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"transformation":return Ko((()=>((t,e,n)=>{switch(t.op){case"Cast":return[Ma(CT("x",t,e,n),CT("dtype",t,e,n))];case"ExpandDims":{const r=CT("axis",t,e,n);return[tc(CT("x",t,e,n),r)]}case"Squeeze":{const r=CT("axis",t,e,n);return[qh(CT("x",t,e,n),r)]}case"Reshape":return[uu(CT("x",t,e,n),CT("shape",t,e,n))];case"MirrorPad":return[qc(CT("x",t,e,n),CT("padding",t,e,n),CT("mode",t,e,n))];case"PadV2":case"Pad":return[eh(CT("x",t,e,n),CT("padding",t,e,n),CT("constantValue",t,e,n))];case"SpaceToBatchND":{const r=CT("blockShape",t,e,n),s=CT("paddings",t,e,n);return[ah(CT("x",t,e,n),r,s)]}case"BatchToSpaceND":{const r=CT("blockShape",t,e,n),s=CT("crops",t,e,n);return[yu(CT("x",t,e,n),r,s)]}case"DepthToSpace":{const r=CT("blockSize",t,e,n),s=CT("dataFormat",t,e,n).toUpperCase();return[Vu(CT("x",t,e,n),r,s)]}case"BroadcastTo":return[_u(CT("x",t,e,n),CT("shape",t,e,n))];case"BroadcastArgs":return[Tu(CT("s0",t,e,n),CT("s1",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"hash_table":return(async(t,e,n,r)=>{switch(t.op){case"HashTable":case"HashTableV2":{const s=CT("keyDType",t,e,n),i=CT("valueDType",t,e,n),a=new M_(s,i);return r.addHashTable(t.name,a),[a.handle]}case"LookupTableImport":case"LookupTableImportV2":{const s=CT("tableHandle",t,e,n,r),i=CT("keys",t,e,n),a=CT("values",t,e,n),o=r.getHashTableById(s.id);return[await o.import(i,a)]}case"LookupTableFind":case"LookupTableFindV2":{const s=CT("tableHandle",t,e,n,r),i=CT("keys",t,e,n),a=CT("defaultValue",t,e,n),o=r.getHashTableById(s.id);return[await o.find(i,a)]}case"LookupTableSize":case"LookupTableSizeV2":{const s=CT("tableHandle",t,e,n,r);return[r.getHashTableById(s.id).tensorSize()]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n,r);case"custom":const s=ET(t.op);if(s&&s.customExecutor)return s.customExecutor(new g_(t,e,n));throw TypeError(`Custom op ${t.op} is not registered.`);default:throw TypeError(`Unknown op '${t.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(t,e,n);return Vt(s)?s.then((t=>[].concat(t))):[].concat(s)}class E_{constructor(t={},e={},n={},r={}){this.weightMap=t,this.tensorArrayMap=e,this.tensorListMap=n,this.functionMap=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(t,e){return{id:t,frameName:e,iterationId:0}}set currentContext(t){this.contexts!==t&&(this.contexts=t,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const t=[];for(let e=0;e0===t.id&&0===t.iterationId?"":`${t.frameName}-${t.iterationId}`)).join("/"):""}enterFrame(t){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,t)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const t=Object.assign({},this.contexts[this.contexts.length-1]);t.iterationId+=1,t.id=this.lastId,this.contexts.splice(-1,1,t),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(t){return this.weightMap[t]}addTensorArray(t){this.tensorArrayMap[t.id]=t}getTensorArray(t){return this.tensorArrayMap[t]}addTensorList(t){this.tensorListMap[t.id]=t}getTensorList(t){return this.tensorListMap[t]}dispose(t){for(const e in this.tensorArrayMap)this.tensorArrayMap[e].clearAndClose(t);for(const e in this.tensorListMap)this.tensorListMap[e].clearAndClose(t)}}function I_(t,e,n,r){const s=new Set,i=[];let a=null,o=null;const l=new Set,u=Object.keys(t).map((t=>DT(t)[0]));let c=[];null!=r&&(c=r.map((t=>DT(t.name)[0])));const h=[...e];for(;h.length>0;){const t=h.pop();(R_(t)||D_(t)||L_(t))&&null==a&&(a=t,o=a.children.map((t=>t.name)).filter((t=>s.has(t)))),s.add(t.name),null==n[t.name]&&-1===u.indexOf(t.name)&&-1===c.indexOf(t.name)&&(0!==t.inputs.length?t.inputs.forEach((t=>{l.has(t.name)||(l.add(t.name),h.push(t))})):i.push(t.name))}return{inputs:t,outputs:e,usedNodes:s,missingInputs:i,dynamicNode:a,syncInputs:o}}const C_=["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"],N_=["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"],A_=["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"];function R_(t){return C_.indexOf(t.op)>=0}function D_(t){return N_.indexOf(t.op)>=0}function L_(t){return A_.indexOf(t.op)>=0}class F_{constructor(t,e){this.graph=t,this.parent=e,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=",",this._functions={},this._functionExecutorMap={},this.intermediateTensors={},this.keepTensorForDebug=!1,this._outputs=t.outputs,this._inputs=t.inputs,this._initNodes=t.initNodes,this._signature=t.signature,this._functions=t.functions,null!=t.functions&&Object.keys(t.functions).forEach((e=>{this._functionExecutorMap[e]=new F_(t.functions[e],this)}))}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(t){const e=Object.keys(t).map((e=>t[e].map((t=>t.id))));this._weightIds=[].concat(...e),this._weightMap=t}set resourceManager(t){this._resourceManager=t}get inputs(){return this._inputs.map((t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0})))}get outputs(){return this._outputs.map((t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0})))}get inputNodes(){return this._inputs.map((t=>t.signatureKey||t.name))}get outputNodes(){return this._outputs.map((t=>{const e=t.signatureKey||t.name;return t.defaultOutput?`${e}:${t.defaultOutput}`:e}))}get functions(){return Object.keys(this._functions).reduce(((t,e)=>(t[e]=this._functions[e].signature,t)),{})}getCompilationKey(t,e){const n=t.map((t=>t.name)).sort(),r=e.map((t=>t.name)).sort();return n.join(this.SEPERATOR)+"--"+r.join(this.SEPERATOR)}compile(t,e){const n=I_(t,e,this.weightMap,this._initNodes),{missingInputs:r,dynamicNode:s,syncInputs:i}=n;if(null!=s)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${i}]`);if(r.length>0){const n=e.map((t=>t.name)),s=Object.keys(t);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${s}]. Missing the following inputs: [${r}]`)}return function(t,e,n){const{usedNodes:r,inputs:s}=n,i=[],a=Object.keys(s).map((t=>DT(t)[0])).map((e=>t.nodes[e])),o=t.initNodes;a.forEach((t=>{r.has(t.name)&&i.push(t)})),t.weights.forEach((t=>{r.has(t.name)&&i.push(t)})),null!=o&&o.forEach((t=>{r.has(t.name)&&i.push(t)}));const l=new Set,u=[];for(;i.length>0;){const t=i.pop();l.add(t.name),e[t.name]||u.push(t),t.children.forEach((t=>{!l.has(t.name)&&r.has(t.name)&&t.inputs.every((t=>l.has(t.name)))&&i.push(t)}))}return u}(this.graph,this.weightMap,n)}execute(t,e){t=this.mapInputs(t);const n=Object.keys(t).sort();this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e);const r=n.map((t=>this.graph.nodes[DT(t)[0]])),s=e.map((t=>DT(t)[0]));let i=s.map((t=>this.graph.nodes[t]));this.resetIntermediateTensors(),0===i.length&&(i=this._outputs);const a=this.getCompilationKey(r,i);let o=this.compiledMap.get(a);null==o&&(o=this.compile(t,i),this.compiledMap.set(a,o));const l={},u={};return Ko((()=>{const n=new E_(this.weightMap,l,u,this.functionExecutorMap),r=Object.assign({},this.weightMap);Object.keys(t).forEach((e=>{const[n,s]=DT(e),i=[];i[s]=t[e],r[n]=i}));const i=this.getFrozenTensorIds(r),a={};for(let t=0;tNT(t,r,n)))}))}getFrozenTensorIds(t){const e=[].concat.apply([],Object.keys(t).map((e=>t[e])).map((t=>t.map((t=>t.id)))));return new Set(e)}checkTensorForDisposal(t,e,n,r,s,i,a){"control"!==e.category&&-1===i.indexOf(t)&&(n[t].forEach((t=>{null!=t&&(a[t.id]=(a[t.id]||0)+e.children.length)})),e.inputs.forEach((t=>{if("control"!==t.category){const i=function(t,e,n){return e[RT(t,n.currentContextId)]}(t.name,n,r);null!=i&&i.forEach((t=>{if(t&&!t.kept&&!s.has(t.id)){const n=a[t.id];if(1===n){if(this.keepTensorForDebug){const[n,s]=AT(e.name,r);this.intermediateTensors[n]||(this.intermediateTensors[n]=[]),this.intermediateTensors[n][s]=t}else t.dispose();delete a[t.id]}else null!=n&&a[t.id]--}}))}})))}async executeAsync(t,e){return this._executeAsync(t,e)}disposeIntermediateTensors(){this.intermediateTensors&&(Object.keys(this.intermediateTensors).forEach((t=>this.intermediateTensors[t].forEach((t=>t.dispose())))),this.disposeTensorsMap())}disposeTensorsMap(){this.tensorsMap&&Object.keys(this.tensorsMap).forEach((t=>{this.tensorsMap[t].forEach((t=>{!t||t.kept||t.isDisposed||this.keepIds.has(t.id)||t.dispose()}))}))}getIntermediateTensors(){return this.tensorsMap}resetIntermediateTensors(){for(const t in this.intermediateTensors)this.intermediateTensors[t].forEach((t=>t.dispose())),delete this.intermediateTensors[t]}async _executeAsync(t,e,n=!1,r={},s={}){n||(t=this.mapInputs(t),this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e));try{this.keepTensorForDebug=Gt().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(t){console.warn(t.message)}this.resetIntermediateTensors();const i=new E_(this.weightMap,r,s,this.functionExecutorMap);this.tensorsMap=await this.executeWithControlFlow(t,i,e,n);const a=e.map((t=>NT(t,this.tensorsMap,i))),o=a.map((t=>t.id)),l=Object.keys(t).map((e=>t[e].id));return this.keepIds=new Set([...o,...l,...this.weightIds]),this.keepTensorForDebug||this.disposeTensorsMap(),null==this.parent&&i.dispose(this.keepIds),a}async executeFunctionAsync(t,e,n){const r=t.reduce(((t,e,n)=>(t[this.inputs[n].name]=e,t)),{});return this._executeAsync(r,this.outputNodes,!0,e,n)}async executeWithControlFlow(t,e,n,r){const s=Object.keys(t),i=s.map((t=>this.graph.nodes[DT(t)[0]])),a=n.map((t=>DT(t)[0]));let o=a.map((t=>this.graph.nodes[t]));0===o.length&&(o=this._outputs);const{usedNodes:l,missingInputs:u,dynamicNode:c,syncInputs:h}=I_(t,o,this.weightMap,this._initNodes),d=[...i,...this.graph.weights,...this._initNodes||[]].map((t=>({node:t,contexts:e.currentContext}))),p=Object.assign({},this.weightMap);Object.keys(t).forEach((e=>{const[n,r]=DT(e),s=[];s[r]=t[e],p[n]=s}));const f={},m=this.getFrozenTensorIds(p),g={};for(;d.length>0;){const t=this.processStack(i,d,e,p,g,m,a,f,l);await Promise.all(t)}null!=c||r||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=o.filter((t=>!R_(t)&&!NT(t.name,p,e))).map((t=>t.name));if(y.length>0){let t="";throw null!=c&&(t=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${s}]. Consider providing the following inputs: [${u}]. ${t}`)}return p}processStack(t,e,n,r,s,i,a,o,l){const u=[];for(;e.length>0;){const t=e.pop();n.currentContext=t.contexts;let c="";if("Enter"===t.node.op&&CT("isConstant",t.node,r,n)&&([c]=AT(t.node.name,n)),null==r[t.node.name]){const h=k_(t.node,r,n,this._resourceManager);c||([c]=AT(t.node.name,n));const d=n.currentContext;Vt(h)?u.push(h.then((u=>(r[c]=u,n.currentContext=d,this.checkTensorForDisposal(c,t.node,r,n,i,a,o),this.processChildNodes(t.node,e,n,r,s,l),u)))):(r[c]=h,this.checkTensorForDisposal(c,t.node,r,n,i,a,o),this.processChildNodes(t.node,e,n,r,s,l))}else this.processChildNodes(t.node,e,n,r,s,l)}return u}processChildNodes(t,e,n,r,s,i){t.children.forEach((t=>{const[a]=AT(t.name,n);!s[a]&&i.has(t.name)&&("Merge"===t.op?t.inputNames.some((t=>!!NT(t,r,n)))&&(s[a]=!0,e.push({contexts:n.currentContext,node:t})):t.inputNames.every((t=>!!NT(t,r,n)))&&(s[a]=!0,e.push({contexts:n.currentContext,node:t})))}))}dispose(){Object.keys(this.weightMap).forEach((t=>this.weightMap[t].forEach((t=>t.dispose()))))}checkInputShapeAndType(t){Object.keys(t).forEach((e=>{const n=t[e],[r]=DT(e),s=this.graph.nodes[r];if(s.attrParams.shape&&s.attrParams.shape.value){const t=s.attrParams.shape.value;rt(t.length===n.shape.length&&n.shape.every(((e,n)=>-1===t[n]||t[n]===e)),(()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${t}], but was [${n.shape}]`))}s.attrParams.dtype&&s.attrParams.dtype.value&&rt(n.dtype===s.attrParams.dtype.value,(()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`))}))}mapInputs(t){const e={};for(const n in t)null!=this._signature&&null!=this._signature.inputs&&null!=this._signature.inputs[n]?e[this._signature.inputs[n].name]=t[n]:e[n]=t[n];return e}checkInputs(t){const e=Object.keys(t).filter((t=>{const[e]=DT(t);return null==this.graph.nodes[e]}));if(e.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${e}] that are not part of graph`)}mapOutputs(t){return t.map((t=>null!=this._signature&&null!=this._signature.outputs&&null!=this._signature.outputs[t]?this._signature.outputs[t].name:t),{})}checkOutputs(t){t.forEach((t=>{const[e]=DT(t);if(!this.graph.nodes[e])throw new Error(`The output '${t}' is not found in the graph`)}))}}class $_{constructor(t={},e={}){this.hashTableNameToHandle=t,this.hashTableMap=e}addHashTable(t,e){this.hashTableNameToHandle[t]=e.handle,this.hashTableMap[e.id]=e}getHashTableHandleByName(t){return this.hashTableNameToHandle[t]}getHashTableById(t){return this.hashTableMap[t]}dispose(){for(const t in this.hashTableMap)this.hashTableMap[t].clearAndClose(),delete this.hashTableMap[t];for(const t in this.hashTableNameToHandle)this.hashTableNameToHandle[t].dispose(),delete this.hashTableNameToHandle[t]}}class O_{constructor(t,e={}){this.modelUrl=t,this.loadOptions=e,this.version="n/a",null==e&&(this.loadOptions={}),this.resourceManager=new $_}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}findIOHandler(){const t=this.modelUrl;if(null!=t.load)this.handler=t;else if(null!=this.loadOptions.requestInit)this.handler=Ba(t,this.loadOptions);else{const e=ji(t,this.loadOptions);if(0===e.length)e.push(Ba(t,this.loadOptions));else if(e.length>1)throw new Error(`Found more than one (${e.length}) load handlers for URL '${[t]}'`);this.handler=e[0]}}async load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const t=await this.handler.load();return this.loadSync(t)}loadSync(t){this.artifacts=t;const e=this.artifacts.modelTopology;let n;n=null!=this.artifacts.userDefinedMetadata&&null!=this.artifacts.userDefinedMetadata.signature?this.artifacts.userDefinedMetadata.signature:this.artifacts.signature,this.signature=n,this.version=`${e.versions.producer}.${e.versions.minConsumer}`;const r=Ri(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new F_(e_.Instance.transformGraph(e,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(r),this.executor.resourceManager=this.resourceManager,null!=t.modelInitializer&&null!=t.modelInitializer.node){const e=e_.Instance.transformGraph(t.modelInitializer);this.initializer=new F_(e),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(t,e){if("string"==typeof t){const e=Gi(t);if(0===e.length)throw new Error(`Cannot find any save handlers for URL '${t}'`);if(e.length>1)throw new Error(`Found more than one (${e.length}) save handlers for URL '${t}'`);t=e[0]}if(null==t.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return t.save(this.artifacts)}predict(t,e){return this.execute(t,this.outputNodes)}normalizeInputs(t){if(!(t instanceof qs||Array.isArray(t)))return t;if((t=Array.isArray(t)?t:[t]).length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${t.length} input tensors.`);return this.inputNodes.reduce(((e,n,r)=>(e[n]=t[r],e)),{})}normalizeOutputs(t){return t=t||this.outputNodes,Array.isArray(t)?t:[t]}execute(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);const n=this.executor.execute(t,e);return n.length>1?n:n[0]}async executeAsync(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);const n=await this.executor.executeAsync(t,e);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(t){return Object.keys(t).reduce(((e,n)=>(e[n]=[t[n]],e)),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}}async function P_(t,e={}){if(null==t)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==e&&(e={}),e.fromTFHub&&null==t.load&&(t.endsWith("/")||(t+="/"),t=`${t}model.json?tfjs-format=file`);const n=new O_(t,e);return await n.load(),n}const z_="3.13.0";function B_(t,e,n=new Map,r=new Set){if(null==t)return null;if("function"==typeof Blob&&t instanceof Blob)return t.slice();if(r.has(t))throw new Error("Circular references are not supported.");if(n.has(t))return n.get(t);const s=e(t);if(s.recurse&&null!==s.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(s.recurse){if(G_(t)){const s=Array.isArray(t)?[]:{};r.add(t);for(const i in t){const a=B_(t[i],e,n,r);s[i]=a}return r.delete(t),t.__proto__&&(s.__proto__=t.__proto__),s}throw new Error(`Can't recurse into non-iterable type: ${t}`)}return n.set(t,s.value),s.value}function U_(t,e=W_){return V_(t,e)}function V_(t,e,n=new Set){const r=t[0];if(n.has(r))throw new Error("Circular references are not supported.");const s=e(t);if(s.recurse&&null!==s.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(s.recurse){if(G_(r)){const s=Array.isArray(r)?[]:{};n.add(r);for(const i in r){const r=V_(t.map((t=>t[i])),e,n);s[i]=r}return n.delete(r),s}throw new Error(`Can't recurse into non-iterable type: ${r}`)}return s.value}function W_(t){return null===t?null:G_(t[0])?{value:null,recurse:!0}:{value:t,recurse:!1}}async function H_(t,e){const n=new Map;B_(t,e,n);for(const t of Array.from(n.keys())){const e=n.get(t);if(Vt(e)){const r=await e;n.set(t,r)}}return B_(t,e,n)}function G_(t){let e=!1;if(Gt().get("IS_BROWSER"))e=t instanceof TextDecoder;else{const{StringDecoder:r}=n(4589);e=t instanceof r}return null!=t&&!ArrayBuffer.isView(t)&&(Array.isArray(t)||"object"==typeof t&&!(t instanceof qs)&&!(t instanceof Promise)&&!e)}function j_(t){return t instanceof qs?{value:t.clone(),recurse:!1}:G_(t)?{value:null,recurse:!0}:{value:t,recurse:!1}}class q_{constructor(t){if(this.capacity=t,this.begin=0,this.end=0,null==t)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(t<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(t),this.doubledCapacity=2*t}wrap(t){for(;t<0;)t+=this.doubledCapacity;return t%this.doubledCapacity}get(t){if(t<0)throw new RangeError("Can't get item at a negative index.");return this.data[t%this.capacity]}set(t,e){if(t<0)throw new RangeError("Can't set item at a negative index.");this.data[t%this.capacity]=e}length(){let t=this.end-this.begin;return t<0&&(t=this.doubledCapacity+t),t}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(t){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,t),this.end=this.wrap(this.end+1)}pushAll(t){for(const e of t)this.push(e)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const t=this.get(this.end);return this.set(this.end,void 0),t}unshift(t){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,t)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),t}shuffleExcise(t){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.wrap(this.begin+t),n=this.get(e);return this.set(e,this.pop()),n}}class X_ extends q_{constructor(){super(X_.INITIAL_CAPACITY)}isFull(){return!1}push(t){super.isFull()&&this.expand(),super.push(t)}unshift(t){super.isFull()&&this.expand(),super.unshift(t)}expand(){const t=2*this.capacity,e=new Array(t),n=this.length();for(let t=0;t!0===t))}rowMajorBatch(t,e=!0){return new rM(this,t,e)}columnMajorBatch(t,e=!0,n=W_){return this.rowMajorBatch(t,e).map((t=>U_(t,n)))}concatenate(t,e){return new cM(K_([this,t]),e)}take(t){return t<0||null==t?this:new nM(this,t)}skip(t){return t<0||null==t?this:new eM(this,t)}prefetch(t){return new pM(this,t)}shuffle(t,e){return new fM(this,t,e)}serial(){return new tM(this)}}class Z_ extends J_{constructor(t){super(),this.items=t,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const t=this.items[this.trav];return this.trav++,{value:(e=t,function(t,e){return B_(t,e)}(e,j_)),done:!1};var e}}class Q_ extends J_{constructor(t){super(),this.nextFn=t}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(t){throw t.message=`Error thrown while iterating through a dataset: ${t.message}`,t}}}class tM extends J_{constructor(t){super(),this.upstream=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){return this.upstream.next()}}class eM extends J_{constructor(t,e){super(),this.upstream=t,this.maxCount=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class rM extends J_{constructor(t,e,n=!0){super(),this.upstream=t,this.batchSize=e,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){const t=[];for(;t.length0?{value:t,done:!1}:{value:null,done:!0};t.push(e.value)}return{value:t,done:!1}}}class sM extends J_{constructor(t,e){super(),this.upstream=t,this.predicate=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;){const t=await this.upstream.next();if(t.done||this.predicate(t.value))return t;Yo(t.value)}}}class iM extends J_{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Map`}async next(){const t=await this.upstream.next();if(t.done)return{value:null,done:!0};const e=oi(t.value),n=this.transform(t.value),r=oi(n);for(const t of e)ai(t,r)||t.dispose();return{value:n,done:!1}}}class aM extends J_{constructor(t,e){super(),this.upstream=t,this.handler=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(t){if(!this.handler(t))return{value:null,done:!0}}}}class oM extends J_{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const t=await this.upstream.next();if(t.done)return{value:null,done:!0};const e=oi(t.value),n=await this.transform(t.value),r=oi(n);for(const t of e)ai(t,r)||t.dispose();return{value:n,done:!1}}}class lM extends J_{constructor(){super(),this.outputQueue=new X_,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class uM extends lM{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const t=await this.upstream.next();if(t.done)return!1;const e=oi(t.value),n=this.transform(t.value),r=oi(n);this.outputQueue.pushAll(n);for(const t of e)ai(t,r)||t.dispose();return!0}}class cM extends J_{constructor(t,e){super(),this.baseErrorHandler=e,this.lastRead=null,this.iterator=null,this.moreIterators=t}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(t){if(await t,null==this.iterator){const t=await this.moreIterators.next();if(t.done)return{value:null,done:!0};this.iterator=t.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const e=await this.iterator.next();return e.done?(this.iterator=null,this.readFromChain(t)):e}}var hM;!function(t){t[t.FAIL=0]="FAIL",t[t.SHORTEST=1]="SHORTEST",t[t.LONGEST=2]="LONGEST"}(hM||(hM={}));class dM extends J_{constructor(t,e=hM.FAIL){super(),this.iterators=t,this.mismatchMode=e,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(t){await t;let e=0,n=0;const r=await H_(this.iterators,(function(t){return t instanceof J_?{value:t.next().then((t=>(e++,t.done&&n++,t.value))),recurse:!1}:{value:null,recurse:!0}}));if(e===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case hM.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case hM.SHORTEST:return{value:null,done:!0};case hM.LONGEST:}return this.count++,{value:r,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class pM extends J_{constructor(t,e){super(),this.upstream=t,this.bufferSize=e,this.buffer=new q_(e)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const t=this.upstream.next();this.buffer.push(t)}}next(){return this.refill(),this.buffer.shift()}}class fM extends pM{constructor(t,e,n){super(t,e),this.upstream=t,this.windowSize=e,this.upstreamExhausted=!1,this.random=hh.alea(n||As().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}randomInt(t){return Math.floor(this.random()*t)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const t=this.chooseIndex(),e=await this.buffer.shuffleExcise(t);if(!e.done)return this.refill(),e;this.upstreamExhausted=!0}return{value:null,done:!0}}}class mM{constructor(){this.size=null}batch(t,e=!0){const n=this;let r;return rt(t>0,(()=>`batchSize needs to be positive, but it is\n ${t}`)),r=this.size===1/0||null==this.size?this.size:e?Math.ceil(this.size/t):Math.floor(this.size/t),gM((async()=>(await n.iterator()).columnMajorBatch(t,e,bM)),r)}concatenate(t){const e=this;let n;return n=this.size===1/0||t.size===1/0?1/0:null!=this.size&&null!=t.size?this.size+t.size:null,gM((async()=>(await e.iterator()).concatenate(await t.iterator())),n)}filter(t){const e=this;let n;return n=this.size===1/0?1/0:null,gM((async()=>(await e.iterator()).filter((e=>Ko((()=>t(e)))))),n)}async forEachAsync(t){return(await this.iterator()).forEachAsync(t)}map(t){const e=this;return gM((async()=>(await e.iterator()).map((e=>Ko((()=>t(e)))))),this.size)}mapAsync(t){const e=this;return gM((async()=>(await e.iterator()).mapAsync(t)),this.size)}prefetch(t){if(null==t)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const e=this;return gM((async()=>(await e.iterator()).prefetch(t)),this.size)}repeat(t){const e=this;let n;return n=null!=this.size&&t>0?this.size*t:0===t?0:null!=this.size&&(void 0===t||t<0)?1/0:null,gM((async()=>{return n=Y_((async()=>({value:await e.iterator(),done:!1}))).take(t),new cM(n,r);var n,r}),n)}skip(t){const e=this;let n;return n=null!=this.size&&t>=0&&this.size>=t?this.size-t:null!=this.size&&(this.size(await e.iterator()).skip(t)),n)}shuffle(t,e,n=!0){if(null==t||t<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const r=this,s=hh.alea(e||As().toString());return gM((async()=>{let e=s.int32();return n&&(e+=s.int32()),(await r.iterator()).shuffle(t,e.toString())}),this.size)}take(t){const e=this;let n;return n=null!=this.size&&this.size>t?t:null!=this.size&&this.size<=t?this.size:null,gM((async()=>(await e.iterator()).take(t)),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function gM(t,e=null){return new class extends mM{constructor(){super(...arguments),this.size=e}async iterator(){return t()}}}function yM(t){return gM((async()=>K_(t)),t.length)}function xM(t){if(!G_(t))throw new Error("The argument to zip() must be an object or array.");let e;if(Array.isArray(t))for(let n=0;nfunction(t,e=hM.FAIL){return new dM(t,e)}(await H_(t,(t=>{if(t instanceof mM)return{value:t.iterator(),recurse:!1};if(G_(t))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")})),hM.SHORTEST)),e)}function bM(t){if(null===t)return null;return null==(e=t[0])||null===(n=e)||"object"!=typeof n&&"function"!=typeof n||Array.isArray(e)||"object"==typeof e&&e instanceof qs||_t(e)?{value:function(t){if(0===t.length)throw new Error("Can't make a batch of zero elements.");return t[0]instanceof qs?Xh(t):Ci(t)}(t),recurse:!1}:{value:null,recurse:!0};var e,n}mM.MAX_BUFFER_SIZE=1e4;class vM extends mM{constructor(t){super(),this.input=t}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map((t=>(t.endsWith("\r")&&(t=t.slice(0,-1)),t)))}}const wM='"',SM=Symbol("out"),TM=Symbol("field"),_M=Symbol("quote"),MM=Symbol("quoteafterquote"),kM=Symbol("quoteinquote");class EM extends mM{constructor(t,e){super(),this.input=t,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new vM(t),e||(e={}),this.hasHeader=!1!==e.hasHeader,this.fullColumnNames=e.columnNames,this.columnConfigs=e.columnConfigs,this.configuredColumnsOnly=e.configuredColumnsOnly,e.delimWhitespace?(rt(null==e.delimiter,(()=>"Delimiter should not be provided when delimWhitespace is true.")),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=e.delimiter?e.delimiter:","}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const t=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!t)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&t&&rt(t.length===this.fullColumnNames.length,(()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+t.length.toString()+").")),this.fullColumnNames||(this.fullColumnNames=t);const e=this.fullColumnNames.reduce(((t,e)=>(t[e]=t[e]+1||1,t)),{}),n=Object.keys(e).filter((t=>e[t]>1));if(rt(0===n.length,(()=>"Duplicate column names found: "+n.toString())),this.columnConfigs)for(const t of Object.keys(this.columnConfigs))if(-1===this.fullColumnNames.indexOf(t))throw new Error('The key "'+t+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").");this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const t=await this.base.iterator(),e=await t.next();if(e.done)throw new Error("No data was found for CSV parsing.");const n=e.value;return this.parseRow(n,!1)}return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let t=await this.base.iterator();return this.hasHeader&&(t=t.skip(1)),t.map((t=>this.makeDataElement(t)))}makeDataElement(t){const e=this.parseRow(t),n={},r={};for(let s=0;s14||!Number.isInteger(e))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=t.numFramesPerSpectrogram||43,this.sampleRateHz=t.sampleRateHz,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.audioTrackConstraints=t.audioTrackConstraints,this.smoothingTimeConstant=t.smoothingTimeConstant||0,this.includeSpectrogram=!1!==t.includeSpectrogram,this.includeWaveform=!0===t.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(t={}){if(Gt().get("IS_NODE"))throw new Error("microphone API is only supported in browser environment.");const e=new IM(t);return await e.start(),e}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(t){throw new Error(`Error thrown while initializing video stream: ${t.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const t=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new t,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,e.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let t,e;const n=await this.getAudioData();if(this.includeSpectrogram){const e=this.flattenQueue(n.freqDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const t=this.flattenQueue(n.timeDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:e},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const t=[],e=[];let n=0;return new Promise((r=>{const s=setInterval((()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&r({freqDataQueue:t,timeDataQueue:e}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),e.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),r({freqDataQueue:t,timeDataQueue:e}))}),this.fftSize/this.sampleRateHz*1e3)}))}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(t){const e=t[0].length,n=new Float32Array(t.length*e);return t.forEach(((t,r)=>n.set(t,r*e))),n}getTensorFromAudioDataArray(t,e){const n=new Float32Array(ot(e));return n.set(t,n.length-t.length),Ci(n,e)}}class CM extends J_{constructor(t,e){if(super(),this.webcamVideoElement=t,this.webcamConfig=e,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Zh([0],"int32"),this.webcamConfig.centerCrop){const t=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,e=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-t)/2,r=(1-e)/2,s=n+t,i=e+r;this.cropBox=Qh([r,n,i,s],[1,4])}else this.cropBox=Qh([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(t,e={}){if(Gt().get("IS_NODE"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!t){if(t=document.createElement("video"),!e.resizeWidth||!e.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");t.width=e.resizeWidth,t.height=e.resizeHeight}const n=new CM(t,e);return await n.start(),n}async start(){this.webcamConfig.facingMode&&rt("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,(()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`));try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(t){throw t.message=`Error thrown while initializing video stream: ${t.message}`,t}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(t){console.log(t),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise((t=>{this.webcamVideoElement.onloadedmetadata=()=>{t()}}))}async next(){if(this.isClosed)return{value:null,done:!0};let t;try{t=ro(this.webcamVideoElement)}catch(t){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(t)}`)}if(!this.resize)return{value:t,done:!1};try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(t){throw new Error(`Error thrown cropping the video: ${t.message}`)}finally{t.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(t){return Ko((()=>{const e=tc(Ma(t,"float32"),0);let n;n=kp.cropAndResize(e,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const r=n.shape;return uu(n,r.slice(1))}))}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach((t=>t.stop()));try{this.webcamVideoElement.srcObject=null}catch(t){console.log(t),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}}class NM{}class AM extends J_{split(t){return new RM(this,t)}}class RM extends AM{constructor(t,e){super(),this.upstream=t,this.impl=new DM(t,e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class DM extends lM{constructor(t,e){super(),this.upstream=t,this.separator=e,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const t=await this.upstream.next();if(t.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const e=t.value.split(this.separator);e[0]=this.carryover+e[0];for(const t of e.slice(0,-1))this.outputQueue.push(t);return this.carryover=e[e.length-1],!0}}class LM extends J_{decodeUTF8(){return new FM(this)}}class FM extends AM{constructor(t){super(),this.upstream=t,this.impl=new $M(t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class $M extends lM{constructor(t){if(super(),this.upstream=t,Gt().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:t}=n(4589);this.decoder=new t("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const t=await this.upstream.next();let e,n;return!t.done&&(e=t.value,n=Gt().get("IS_BROWSER")?this.decoder.decode(e,{stream:!0}):this.decoder.write(Buffer.from(e.buffer)),this.outputQueue.push(n),!0)}}class OM extends LM{constructor(t,e={}){super(),this.file=t,this.options=e,rt(t instanceof Uint8Array||!!Gt().get("IS_BROWSER")&&(t instanceof File||t instanceof Blob),(()=>"FileChunkIterator only supports File, Blob and Uint8Array right now.")),this.offset=e.offset||0,this.chunkSize=e.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const t=new Promise(((t,e)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)t(new Uint8Array(this.file.slice(this.offset,n)));else{const r=new FileReader;r.onload=n=>{let s=r.result;if(s instanceof ArrayBuffer&&(s=new Uint8Array(s)),!(s instanceof Uint8Array))return e(new TypeError("FileReader returned unknown type."));t(s)},r.onabort=t=>e(new Error("Aborted")),r.onerror=t=>e(new Error(t.type));const s=this.file.slice(this.offset,n);r.readAsArrayBuffer(s)}this.offset=n}));return{value:await t,done:!1}}}function PM(t){return"string"==typeof t&&"file://"===t.substr(0,7)}class zM extends NM{constructor(t,e={}){super(),this.input=t,this.options=e}async iterator(){if(PM(this.input)&&Gt().get("IS_NODE")){const t=n(2993);this.input=t.readFileSync(this.input.substr(7))}return new OM(this.input,this.options)}}class BM extends NM{constructor(t,e={}){super(),this.url=t,this.fileOptions=e}async iterator(){return PM(this.url)?new zM(this.url,this.fileOptions).iterator():async function(t,e={},n){let r,s;var i;"string"==typeof t?r=t:(r=t.url,s={method:(i=t).method,headers:i.headers,body:i.body,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,referrer:i.referrer,integrity:i.integrity});const a=await(n||Rs)(r,s);if(a.ok){const t=new Uint8Array(await a.arrayBuffer());return new OM(t,e)}throw new Error(a.statusText)}(this.url,this.fileOptions)}}function UM(t,e={}){return new EM(new BM(t),e)}function VM(t){const e=Y_(t);return gM((async()=>e))}function WM(t){return gM((async()=>{const e=await t();return Y_((()=>e.next()))}))}async function HM(t,e){return CM.create(t,e)}async function GM(t){return IM.create(t)}const jM="3.13.0";function qM(t,e){Array.isArray(t)||(t=[t]),t.forEach((t=>{null!=t&&rt("complex64"!==t.dtype,(()=>`${e} does not support complex64 tensors in the CPU backend.`))}))}const XM=ud;class KM extends q{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new j(this,jo())}nextDataId(){return KM.nextDataId++}write(t,e,n){this.firstUse&&(this.firstUse=!1,Gt().get("IS_NODE")&&ns("\n============================\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\n============================"));const r={id:this.nextDataId()};return this.data.set(r,{values:t,dtype:n,refCount:1}),r}makeTensorInfo(t,e,n){let r;if("string"===e&&null!=n&&n.length>0&&Et(n[0])){const s=n.map((t=>Ds(t)));r=this.write(s,t,e)}else r=this.write(n,t,e);return{dataId:r,shape:t,dtype:e}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){this.data.get(t).refCount++}decRef(t){this.data.has(t)&&this.data.get(t).refCount--}move(t,e,n,r,s){this.data.set(t,{values:e,dtype:r,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){const{dtype:e,complexTensorInfos:n}=this.data.get(t);return"complex64"===e?Zp(this.readSync(n.real.dataId),this.readSync(n.imag.dataId)):this.data.get(t).values}bufferSync(t){const e=this.readSync(t.dataId);let n=e;if("string"===t.dtype)try{n=e.map((t=>Ls(t)))}catch(t){throw new Error("Failed to decode encoded string bytes into utf-8")}return _a(t.shape,t.dtype,n)}makeOutput(t,e,n){const r=this.write(t,e,n);return jo().makeTensorFromDataId(r,e,n,this)}disposeData(t,e=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!e&&this.data.get(t).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(t);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){const e=As();return t(),{kernelMs:As()-e}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(t){qM([t],"where");const e=this.readSync(t.dataId);return XM(t.shape,e)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}}function YM(t,e,n){return({inputs:r,attrs:s,backend:i})=>{const{x:a}=r;if(qM(a,t),"string"===a.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=i,l=o.data.get(a.dataId).values,u=ot(a.shape),c=n||a.dtype,h=vt(c,u);for(let t=0;t{const{x:a}=r;if(qM(a,t),"string"===a.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=i,l=o.data.get(a.dataId).values,u=n||a.dtype,c=e(l,u,s);return o.makeTensorInfo(a.shape,u,c)}}KM.nextDataId=0,il("cpu",(()=>new KM),1);const ZM=YM(je,(t=>t>=0?t:Math.exp(t)-1)),QM={kernelName:je,backendName:"cpu",kernelFunc:ZM};function tk(t){const{inputs:e,backend:n}=t,{x:r}=e;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const ek={kernelName:cn,backendName:"cpu",kernelFunc:tk};function nk(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{alpha:i}=r;qM([s],"leakyRelu");const a=ot(s.shape),o=n.data.get(s.dataId).values,l=bt("float32",a);for(let t=0;t{const a=Ja(e,n),o=a.length,l=Dt(a),u=bt(i,ot(a)),c=e.length,h=n.length,d=Dt(e),p=Dt(n),f=Ka(e,a),m=Ka(n,a);if(f.length+m.length===0)for(let e=0;ei[t]=0));const a=Bt(i,c,d),g=n.slice(-h);m.forEach((t=>g[t]=0));const y=Bt(g,h,p);u[e]=t(r[a],s[y])}return[u,a]}}const ik=sk(((t,e)=>t<0?e*t:t));function ak(t){const{inputs:e,backend:n}=t,{x:r,alpha:s}=e;qM([r,s],"prelu");const i=n.data.get(r.dataId).values,a=n.data.get(s.dataId).values,[o,l]=ik(r.shape,s.shape,i,a,"float32");return n.makeTensorInfo(l,"float32",o)}const ok={kernelName:Qn,backendName:"cpu",kernelFunc:ak},lk=YM(sr,(t=>Math.max(0,t))),uk={kernelName:sr,backendName:"cpu",kernelFunc:lk},ck=YM(cr,(t=>Math.min(Math.max(0,t),6))),hk={kernelName:cr,backendName:"cpu",kernelFunc:ck};function dk(t){return(e,n,r)=>{const s=bt(n,e.length);for(let n=0;n1/(1+Math.exp(-t)))),fk=YM(wr,(t=>1/(1+Math.exp(-t)))),mk={kernelName:wr,backendName:"cpu",kernelFunc:fk};function gk(t,e,n,r,s){if("linear"===n)return tk({inputs:{x:e},backend:t});if("relu"===n)return lk({inputs:{x:e},backend:t});if("elu"===n)return ZM({inputs:{x:e},backend:t});if("relu6"===n)return ck({inputs:{x:e},backend:t});if("prelu"===n)return ak({inputs:{x:e,alpha:r},backend:t});if("leakyrelu"===n)return nk({inputs:{x:e},backend:t,attrs:{alpha:s}});if("sigmoid"===n)return fk({inputs:{x:e},backend:t});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}function yk(t){const{inputs:e,backend:n}=t,{real:r,imag:s}=e,i=n.data.get(r.dataId).values,a=n.data.get(s.dataId).values,o=n.makeTensorInfo(r.shape,"complex64");return n.data.get(o.dataId).complexTensorInfos={real:n.makeTensorInfo(r.shape,"float32",i),imag:n.makeTensorInfo(s.shape,"float32",a)},o}const xk={kernelName:Se,backendName:"cpu",kernelFunc:yk};function bk(t,e,n="float32"){if("complex64"===n)return yk({inputs:{real:bk(t,e,"float32"),imag:bk(t,e,"float32")},backend:t});const r=Ot(ot(e),n);return t.makeTensorInfo(e,n,r)}function vk(t){const{inputs:e,backend:n}=t,{input:r}=e,s=n.data.get(r.dataId).complexTensorInfos.real,i=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,i)}const wk={kernelName:nr,backendName:"cpu",kernelFunc:vk};function Sk(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{dtype:i}=r;if("complex64"===i){if("complex64"===s.dtype)return tk({inputs:{x:s},backend:n});const t=bk(n,s.shape,s.dtype),e=Sk({inputs:{x:s},backend:n,attrs:{dtype:"float32"}}),r=yk({inputs:{real:e,imag:t},backend:n});return n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(e),r}if("complex64"===s.dtype){const t=vk({inputs:{input:s},backend:n}),e=Sk({inputs:{x:t},backend:n,attrs:{dtype:i}});return n.disposeIntermediateTensorInfo(t),e}if(!Tt(s.dtype,i)){const t=tk({inputs:{x:s},backend:n});return{dataId:t.dataId,shape:t.shape,dtype:i}}if("int32"===i){const t=n.data.get(s.dataId).values,e=Int32Array.from(t);return n.makeTensorInfo(s.shape,"int32",e)}if("bool"===i){const t=n.data.get(s.dataId).values,e=Ns([0],s.dtype),[r,i]=sk(((t,e)=>t!==e?1:0))(s.shape,[],t,e,"bool");return n.makeTensorInfo(i,"bool",r)}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${i}`)}const Tk={kernelName:be,backendName:"cpu",kernelFunc:Sk};function _k(t,e,n,r){return null==n?({inputs:n,backend:s})=>{const{a:i,b:a}=n,o=s;qM([i,a],t);const l=o.data.get(i.dataId).values,u=o.data.get(a.dataId).values,c="string"===i.dtype?Nf(l):l,h="string"===i.dtype?Nf(u):u,d=r||i.dtype,[p,f]=e(i.shape,a.shape,c,h,d);return o.makeTensorInfo(f,d,p)}:({inputs:t,backend:s})=>{const{a:i,b:a}=t,o=s;if("complex64"===i.dtype||"complex64"===a.dtype){const t=Sk({inputs:{x:i},backend:o,attrs:{dtype:"complex64"}}),e=o.data.get(t.dataId),r=e.complexTensorInfos.real,s=e.complexTensorInfos.imag,l=o.data.get(r.dataId).values,u=o.data.get(s.dataId).values,c=Sk({inputs:{x:a},backend:o,attrs:{dtype:"complex64"}}),h=o.data.get(c.dataId),d=h.complexTensorInfos.real,p=h.complexTensorInfos.imag,f=o.data.get(d.dataId).values,m=o.data.get(p.dataId).values,[g,y,x]=n(i.shape,a.shape,l,u,f,m),b=o.makeTensorInfo(x,"float32",g),v=o.makeTensorInfo(x,"float32",y),w=yk({inputs:{real:b,imag:v},backend:o});return o.disposeIntermediateTensorInfo(t),o.disposeIntermediateTensorInfo(c),o.disposeIntermediateTensorInfo(b),o.disposeIntermediateTensorInfo(v),w}{const t=o.data.get(i.dataId).values,n=o.data.get(a.dataId).values,s=r||i.dtype,[l,u]=e(i.shape,a.shape,t,n,s);return o.makeTensorInfo(u,s,l)}}}function Mk(t){return(e,n,r,s,i,a)=>{const o=Ja(e,n),l=ot(o),u=o.length,c=Dt(o),h=bt("float32",l),d=bt("float32",l),p=Ka(e,o),f=Ka(n,o),m=Zp(r,s),g=Zp(i,a),y=e.length,x=Dt(e),b=n.length,v=Dt(n);if(p.length+f.length===0)for(let e=0;er[t]=0));const s=Bt(r,y,x),i=n.slice(-b);f.forEach((t=>i[t]=0));const a=Bt(i,b,v),o=t(m[2*s],m[2*s+1],g[2*a],g[2*a+1]);h[e]=o.real,d[e]=o.imag}return[h,d,o]}}const kk=sk(((t,e)=>t+e)),Ek=Mk(((t,e,n,r)=>({real:t+n,imag:e+r}))),Ik=_k(Qt,kk,Ek),Ck={kernelName:Qt,backendName:"cpu",kernelFunc:Ik};function Nk(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{shape:i}=r,a=ot(s.shape),o=gt(i,a),l=ot(o);rt(a===l,(()=>`The new shape (${o}) has ${l} elements and the old shape (${s.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`)),n.incRef(s.dataId);const u=n.data.get(s.dataId);if(null!=u.complexTensorInfos){const t=u.complexTensorInfos.real,e=u.complexTensorInfos.imag;t.shape=o,e.shape=o}return{dataId:s.dataId,shape:o,dtype:s.dtype}}const Ak={kernelName:ir,backendName:"cpu",kernelFunc:Nk};function Rk(t){const{inputs:e,backend:n,attrs:r}=t,{a:s,b:i}=e,{transposeA:a,transposeB:o}=r;qM([s,i],"matMul");const l=s.shape.length,u=i.shape.length,c=a?s.shape[l-2]:s.shape[l-1],h=o?i.shape[u-1]:i.shape[u-2],d=a?s.shape[l-1]:s.shape[l-2],p=o?i.shape[u-2]:i.shape[u-1],f=s.shape.slice(0,-2),m=i.shape.slice(0,-2),g=ot(f),y=ot(m),x=Ja(s.shape.slice(0,-2),i.shape.slice(0,-2)).concat([d,p]);rt(c===h,(()=>`Error in matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${s.shape} and ${i.shape} and transposeA=${a} and transposeB=${o} must match.`));const b=o?[y,p,h]:[y,h,p],v=Nk({inputs:{x:s},backend:n,attrs:{shape:a?[g,c,d]:[g,d,c]}}),w=Nk({inputs:{x:i},backend:n,attrs:{shape:b}}),S=a?v.shape[1]:v.shape[2],T=a?v.shape[2]:v.shape[1],_=o?w.shape[1]:w.shape[2],M=Math.max(g,y),k=n.data.get(v.dataId).values,E=n.data.get(w.dataId).values,I=Dt(v.shape),C=Dt(w.shape),[N,A,R]=a?[I[0],1,I[1]]:[I[0],I[1],1],[D,L,F]=o?[1,C[1],C[0]]:[C[1],1,C[0]],$=T*_,O=_a([M,T,_],v.dtype),P=O.values,z=n.blockSize;for(let t=0;t{const{x:e}=t.inputs,n=t.backend;qM(e,"abs");let r=new Float32Array(ot(e.shape));return r=Fk(n.data.get(e.dataId).values),n.makeOutput(r,e.shape,e.dtype)}},Ok=YM(Jt,(t=>Math.acos(t))),Pk={kernelName:Jt,backendName:"cpu",kernelFunc:Ok},zk=YM(Zt,(t=>Math.acosh(t))),Bk={kernelName:Zt,backendName:"cpu",kernelFunc:zk},Uk={kernelName:te,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,r=e;qM(e,"addN");const s=r.map((t=>n.data.get(t.dataId).values)),i=_a(r[0].shape,r[0].dtype),a=i.values;for(let t=0;tn&&(n=s,r=t)}d[t]=r}return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(c,"int32",d)}},Xk={kernelName:se,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i}=r;qM(s,"argMin");let a=yt(i,s.shape);const o=Nc(a,s.shape.length);let l=s;const u=[];null!=o&&(l=Wk({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),a=Rc(a.length,l.shape.length)),a=[a[0]],Cc("argMin",a,l.shape.length);const[c,h]=Ec(l.shape,a),d=Ot(ot(c),"int32"),p=ot(h),f=n.data.get(l.dataId).values;for(let t=0;tn.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(c,"int32",d)}},Kk=YM(ie,(t=>Math.asin(t))),Yk={kernelName:ie,backendName:"cpu",kernelFunc:Kk},Jk=YM(ae,(t=>Math.asinh(t))),Zk={kernelName:ae,backendName:"cpu",kernelFunc:Jk},Qk=YM(oe,(t=>Math.atan(t))),tE={kernelName:oe,backendName:"cpu",kernelFunc:Qk},eE=sk(((t,e)=>Math.atan2(t,e))),nE=_k(ue,eE),rE={kernelName:ue,backendName:"cpu",kernelFunc:nE},sE=YM(le,(t=>Math.atanh(t))),iE={kernelName:le,backendName:"cpu",kernelFunc:sE};function aE(t,e,n,r,s,i){const a=s.strideHeight,o=s.strideWidth,l=s.dilationHeight,u=s.dilationWidth,c=s.effectiveFilterHeight,h=s.effectiveFilterWidth,d=s.padInfo.top,p=s.padInfo.left,f="max"===i?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=_a(s.outShape,n),g=m.values,y=s.outShape[1]*s.outShape[2]*s.outShape[3],x=s.outShape[2]*s.outShape[3],b=s.outShape[3];for(let e=0;ey?y=a:"avg"===i&&(x+=a,v++)}if(isNaN(y))break}g[T+n*b+e]="avg"===i?x/v:y}}}return m}function oE(t,e,n,r,s=!1,i=!1){const a=_a(r.outShape,"int32"),o=r.strideHeight,l=r.strideWidth,u=r.dilationHeight,c=r.dilationWidth,h=r.effectiveFilterHeight,d=r.effectiveFilterWidth,p=r.padInfo.top,f=r.padInfo.left,m=_a(e,n,t);for(let t=0;tv&&(v=u,w=s?i?((t*r.inHeight+n)*r.inWidth+o)*r.inChannels+e:(n*r.inWidth+o)*r.inChannels+e:a*d+l)}}a.set(w,t,n,o,e)}}return a}function lE(t,e,n,r,s,i){const a=s.strideDepth,o=s.strideHeight,l=s.strideWidth,u=s.dilationDepth,c=s.dilationHeight,h=s.dilationWidth,d=s.effectiveFilterDepth,p=s.effectiveFilterHeight,f=s.effectiveFilterWidth,m=s.padInfo.front,g=s.padInfo.top,y=s.padInfo.left,x="max"===i?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,b=_a(s.outShape,n),v=b.values,w=s.outShape[1]*s.outShape[2]*s.outShape[3]*s.outShape[4],S=s.outShape[2]*s.outShape[3]*s.outShape[4],T=s.outShape[3]*s.outShape[4],_=s.outShape[4];for(let e=0;eS?S=s:"avg"===i&&(T+=s,M++),isNaN(S))break}if(isNaN(S))break}if(isNaN(S))break}v[g+e]="avg"===i?T/M:S}}}}return b}const uE={kernelName:ce,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;qM(s,"avgPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))c=tk({inputs:{x:s},backend:n});else{const t=n.data.get(s.dataId).values,e=Dt(s.shape),r=aE(t,s.shape,s.dtype,e,u,"avg");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},cE={kernelName:de,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l,dataFormat:u}=r;qM(s,"avgPool3d");const c=Jl(s.shape,i,a,1,o,l,u),h=lE(n.data.get(s.dataId).values,s.shape,s.dtype,Dt(s.shape),c,"avg");return n.makeTensorInfo(h.shape,"float32",h.values)}},hE={kernelName:pe,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,{filterSize:a,strides:o,pad:l,dimRoundingMode:u}=r;qM([s,i],"avgPool3DGrad");const c=Jl(i.shape,a,o,1,l,u),h=c.strideDepth,d=c.strideHeight,p=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,y=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,v=c.effectiveFilterDepth,w=c.effectiveFilterHeight,S=c.effectiveFilterWidth,T=v-1-c.padInfo.front,_=S-1-c.padInfo.left,M=w-1-c.padInfo.top,k=_a(i.shape,"float32"),E=1/(f*m*g),I=n.bufferSync(s);for(let t=0;t=c.outDepth||Math.floor(r)!==r))for(let n=0;n=c.outHeight||Math.floor(s)!==s))for(let n=0;n=c.outWidth||Math.floor(i)!==i||(l+=I.get(t,r,s,i,e))}}}k.set(l*E,t,n,r,s,e)}return n.makeTensorInfo(k.shape,k.dtype,k.values)}},dE={kernelName:he,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i;qM([s,i],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(a.shape,o,l,1,u),h=c.strideHeight,d=c.strideWidth,p=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,y=c.effectiveFilterHeight,x=c.effectiveFilterWidth,b=x-1-c.padInfo.left,v=y-1-c.padInfo.top,w=_a(a.shape,"float32"),S=1/(p*f),T=n.data.get(s.dataId).values,_=_a(s.shape,"float32",T);for(let t=0;t=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s||(a+=_.get(t,r,s,e))}}w.set(a*S,t,n,r,e)}return n.makeTensorInfo(w.shape,w.dtype,w.values)}},pE={kernelName:sn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,scale:i,offset:a,mean:o,variance:l}=e;rt(o.shape.length===l.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),rt(null==a||o.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),rt(null==i||o.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks.")),qM([s,o,l,i,a],"batchNorm");let{varianceEpsilon:u}=r;null==u&&(u=.001);const c=n.data.get(s.dataId).values,h=n.data.get(o.dataId).values,d=n.data.get(l.dataId).values,p=i?n.data.get(i.dataId).values:new Float32Array([1]),f=a?n.data.get(a.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,y=p.length,x=d.length,b=h.length;let v=0,w=0,S=0,T=0;for(let t=0;t=g&&(v=0),w>=b&&(w=0),S>=y&&(S=0),T>=x&&(T=0);return n.makeTensorInfo(s.shape,s.dtype,m)}};function fE(t,e,n,r,s){const i=wo(r,e,n),a=ot(n),o=Dt(r);if(i){const n=So(e,o);return"string"===s?t.slice(n,n+a):t.subarray(n,n+a)}const l=_a(r,s,"string"===s?Nf(t):t),u=_a(n,s);for(let t=0;tt+e[n]));u.set(l.get(...r),...n)}return"string"===s?Af(u.values):u.values}function mE(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{begin:i,size:a}=r;qM(s,"slice");const[o,l]=To(s,i,a);lo(s,o,l);const u=fE(n.data.get(s.dataId).values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,u)}const gE={kernelName:yr,backendName:"cpu",kernelFunc:mE},yE={kernelName:me,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockShape:i,crops:a}=r;qM([s],"batchToSpaceND");const o=i.reduce(((t,e)=>t*e)),l=zp(s.shape,i,o),u=Bp(l.length,i.length),c=Up(s.shape,i,o),h=Vp(a,i.length),d=Wp(c,a,i.length),p=Nk({inputs:{x:s},backend:n,attrs:{shape:l}}),f=Wk({inputs:{x:p},backend:n,attrs:{perm:u}}),m=Nk({inputs:{x:f},backend:n,attrs:{shape:c}}),g=mE({inputs:{x:m},backend:n,attrs:{begin:h,size:d}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};function xE(t,e,n,r,s){const i=ot(r),a=Ot(s,n);for(let n=0;n=s||(a[r]+=i>0?e[n]:1)}return a}function bE(t,e,n,r=!1){const s=t.shape[0],i=t.shape[1],a=_a([s,n],e.dtype);for(let o=0;o=n||(r?a.set(1,o,i):e.size>0?a.set(a.get(o,i)+e.get(o,s),o,i):a.set(a.get(o,i)+1,o,i))}return a}const vE={kernelName:ge,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,weights:i}=e,{size:a}=r,o=xE(n.data.get(s.dataId).values,n.data.get(i.dataId).values,i.dtype,i.shape,a);return n.makeTensorInfo([a],i.dtype,o)}},wE={kernelName:xe,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,{s0:r,s1:s}=e,i=n.data.get(r.dataId).values,a=n.data.get(s.dataId).values,o=Ja(Array.from(i),Array.from(a));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},SE=dk((t=>Math.ceil(t))),TE=JM(ve,SE),_E={kernelName:ve,backendName:"cpu",kernelFunc:TE},ME=YM(we,((t,e)=>{const n=e;return t>n.clipValueMax?n.clipValueMax:t{const{x:e}=t.inputs,n=t.backend,r=new Float32Array(ot(e.shape)),s=n.data.get(e.dataId),i=s.complexTensorInfos.real,a=s.complexTensorInfos.imag,o=n.data.get(i.dataId).values,l=n.data.get(a.dataId).values;for(let t=0;t{const n=ot(t.shape);s.set(t.vals,e),e+=n}))}else{let r=0;t.forEach((t=>{const i="string"===n?Nf(t.vals):t.vals;let a=0;for(let n=0;nt.shape)),i);if(0===ot(a))return n.makeTensorInfo(a,e[0].dtype,[]);const o=e.filter((t=>ot(t.shape)>0));if(1===o.length)return tk({inputs:{x:o[0]},backend:n});if(Lp(o.map((t=>t.shape)),i),"complex64"===o[0].dtype){const t=o.map((t=>vk({inputs:{input:t},backend:n}))),e=o.map((t=>CE({inputs:{input:t},backend:n}))),r=AE({inputs:t,backend:n,attrs:{axis:i}}),s=AE({inputs:e,backend:n,attrs:{axis:i}}),a=yk({inputs:{real:r,imag:s},backend:n});return t.forEach((t=>n.disposeIntermediateTensorInfo(t))),e.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),a}const l=o.map((t=>{const e=ot(t.shape.slice(i));return Nk({inputs:{x:t},backend:n,attrs:{shape:[-1,e]}})})),u=l.map((t=>({vals:n.data.get(t.dataId).values,shape:t.shape})));a=Fp(l.map((t=>t.shape)),1);const c=1===l[0].shape[0],h=IE(u,a,e[0].dtype,c),d=Fp(o.map((t=>t.shape)),i),p=n.makeTensorInfo(d,e[0].dtype,h);return l.forEach((t=>n.disposeIntermediateTensorInfo(t))),p}const RE={kernelName:_e,backendName:"cpu",kernelFunc:AE};function DE(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r;qM([s,i],"conv2d");const h=ou(l),d=Zl(s.shape,i.shape,a,u,o,c,!1,h),p=d.filterHeight,f=d.filterWidth,m=d.dilationHeight,g=d.dilationWidth,y=d.padInfo.left,x=d.padInfo.top,b="channelsLast"===d.dataFormat,v=new Ws(d.outShape,s.dtype),w=Dt(s.shape),S=Dt(i.shape),T=w[0],_=b?w[1]:w[2],M=b?w[2]:1,k=b?1:w[1],E=v.strides[0],I=b?v.strides[1]:v.strides[2],C=b?v.strides[2]:1,N=b?1:v.strides[1],A=n.data.get(s.dataId).values,R=n.data.get(i.dataId).values,D=v.values;for(let t=0;t=d.inHeight)continue;const i=t*S[0],a=e+n*_;for(let t=0;t=d.inWidth)continue;const s=a+r*M;let o=i+t*S[1];for(let t=0;t=u.inDepth)continue;const i=t*M[0],a=e+n*_[1];for(let t=0;t=u.inHeight)continue;const s=i+t*M[1],o=a+r*_[2];for(let t=0;t=u.inWidth)continue;const i=s+t*M[2],a=o+e*u.inChannels;let l=i;for(let t=0;tMath.cos(t))),UE={kernelName:Ae,backendName:"cpu",kernelFunc:BE},VE=YM(Re,(t=>Math.cosh(t))),WE={kernelName:Re,backendName:"cpu",kernelFunc:VE},HE={kernelName:Le,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{image:s,boxes:i,boxInd:a}=e,{cropSize:o,method:l,extrapolationValue:u}=r,[c,h,d,p]=s.shape,f=i.shape[0],[m,g]=o,y=_a([f,m,g,p],"float32"),x=n.data.get(i.dataId).values,b=n.data.get(a.dataId).values,v=n.data.get(s.dataId).values,w=Dt(s.shape),S=Dt(y.shape);for(let t=0;t=c)continue;const o=m>1?(s-n)*(h-1)/(m-1):0,f=g>1?(i-r)*(d-1)/(g-1):0;for(let e=0;e1?n*(h-1)+e*o:.5*(n+s)*(h-1);if(c<0||c>h-1)for(let n=0;n1?r*(d-1)+l*f:.5*(r+i)*(d-1);if(c<0||c>d-1){for(let n=0;n1?r*(d-1)+n*f:.5*(r+i)*(d-1);if(s<0||s>d-1){for(let r=0;rt+f-e-1:(t,e)=>t+e;for(let t=0;t`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${a}`));const o=s.shape[0],l=s.shape[1],u=s.shape[2],c=s.shape[3],h=l*i,d=u*i,p=c/(i*i),f=n.data.get(s.dataId).values,m=new Float32Array(o*h*d*p);let g=0;for(let t=0;t`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${d}'`));const p=Zl(s.shape,i.shape,a,d,o,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:y,padInfo:x}=p,b=x.left,v=x.top,w=p.outChannels/p.inChannels,S=new Ws(p.outShape,s.dtype),T=n.data.get(s.dataId).values,_=n.data.get(i.dataId).values,M=S.values;for(let t=0;t=p.inHeight)continue;const i=t*h[0],a=e+n*c[1];for(let t=0;t=p.inWidth)continue;const s=i+t*h[1],o=a+r*p.inChannels;let l=e,u=s;for(let t=0;t{const{x:r,filter:s}=t,{strides:i,pad:a,dilations:o}=n,l=e,u=l.data.get(r.dataId).values,c=r.shape.length,h=l.data.get(s.dataId).values,d=s.shape.length,{batchSize:p,inHeight:f,inWidth:m,inChannels:g,outHeight:y,outWidth:x,padInfo:b,strideHeight:v,strideWidth:w,filterHeight:S,filterWidth:T,dilationHeight:_,dilationWidth:M,outShape:k}=Kl(r.shape,s.shape,i,a,"NHWC",o),E=ot(k),I=k.length,C=vt(r.dtype,E);for(let t=0;t=0&&i=0&&pl&&(l=m)}}}C[Bt([t,e,i,o],I,Dt(k))]=l}}}return{dataId:l.write(Ns(C,r.dtype),k,r.dtype),shape:k,dtype:r.dtype}}},tI={kernelName:We,backendName:"cpu",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r,filter:s,dy:i}=t,{strides:a,pad:o,dilations:l}=n,u=e,c=Ft(r.shape,u.data.get(r.dataId).values),h=Ft(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:x,strideHeight:b,strideWidth:v,filterHeight:w,filterWidth:S,dilationHeight:T,dilationWidth:_,outShape:M}=Kl(r.shape,s.shape,a,o,"NHWC",l);rt(i.rank===M.length,(()=>`Error in ${We}, dy must have the same rank as output ${M.length}, but got ${i.rank}`));const k=Ft(M,u.data.get(i.dataId).values),E=Pt(s.shape,s.dtype);for(let t=0;t=0&&r=0&&ua&&(a=s,o=e,l=n)}}}E[o][l][i]+=k[t][e][r][i]}}}return{dataId:u.write(Ns(E,r.dtype),s.shape,s.dtype),shape:s.shape,dtype:s.dtype}}},eI={kernelName:Ve,backendName:"cpu",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r,filter:s,dy:i}=t,{strides:a,pad:o,dilations:l}=n,u=e,c=Ft(r.shape,u.data.get(r.dataId).values),h=Ft(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:x,strideHeight:b,strideWidth:v,filterHeight:w,filterWidth:S,dilationHeight:T,dilationWidth:_,outShape:M}=Kl(r.shape,s.shape,a,o,"NHWC",l);rt(i.rank===M.length,(()=>`Error in ${Ve}, dy must have the same rank as output ${M.length}, but got ${i.rank}`));const k=Ft(M,u.data.get(i.dataId).values),E=Pt(r.shape,r.dtype);for(let t=0;t=0&&r=0&&ua&&(a=s,o=r,l=u)}}}E[t][o][l][i]+=k[t][e][r][i]}}}return{dataId:u.write(Ns(E,r.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},nI=sk(((t,e)=>t*e)),rI=Mk(((t,e,n,r)=>({real:t*n-e*r,imag:t*r+e*n}))),sI=_k(Un,nI,rI),iI={kernelName:Un,backendName:"cpu",kernelFunc:sI};function aI(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r;let o;qM(s,"sum"),o="bool"===s.dtype?Sk({inputs:{x:s},backend:n,attrs:{dtype:"int32"}}):tk({inputs:{x:s},backend:n});const l=o.shape.length,u=yt(i,o.shape),c=Nc(u,l);let h=u,d=o;null!=c&&(d=Wk({inputs:{x:o},backend:n,attrs:{perm:c}}),h=Rc(h.length,l)),Cc("sum",h,d.shape.length);const[p,f]=Ec(d.shape,h);let m=bk(n,p,ni(d.dtype,"int32"));const g=ot(f),y=n.data.get(m.dataId).values,x=n.data.get(d.dataId).values;for(let t=0;t=0&&(d=aI({inputs:{x:d},backend:n,attrs:{axis:u[t]-(a.length-p),keepDims:!1}}),f.push(d)),p--)}for(const t of f)t!==d&&n.disposeIntermediateTensorInfo(t);return d}},uI={kernelName:qe,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,{dy:r,y:s}=e;qM([r,s],"eluGrad");const i=new Float32Array(ot(s.shape)),a=n.data.get(s.dataId).values,o=n.data.get(r.dataId).values;for(let t=0;t=1?o[t]:o[t]*(e+1)}return n.makeTensorInfo(s.shape,"float32",i)}},cI=sk(((t,e)=>t===e?1:0)),hI=_k(Ke,cI,null,"bool"),dI={kernelName:Ke,backendName:"cpu",kernelFunc:hI},pI=jp,fI=qp,mI=Xp,gI=Kp,yI=Yp,xI=Jp,bI=YM(Xe,(t=>{const e=Math.sign(t),n=Math.abs(t),r=1/(1+pI*n);return e*(1-((((xI*r+yI)*r+gI)*r+mI)*r+fI)*r*Math.exp(-n*n))})),vI={kernelName:Xe,backendName:"cpu",kernelFunc:bI},wI=dk((t=>Math.exp(t))),SI=JM(Ye,wI,"float32"),TI={kernelName:Ye,backendName:"cpu",kernelFunc:SI};function _I(t){const{inputs:e,backend:n,attrs:r}=t,{input:s}=e,{dim:i}=r,a=s.shape.length,o=s.shape.slice();let l=i;return i<0&&(rt(-(a+1)<=i,(()=>`Axis must be in the interval [${-(a+1)}, ${a}]`)),l=a+i+1),o.splice(l,0,1),Nk({inputs:{x:s},backend:n,attrs:{shape:o}})}const MI={kernelName:Je,backendName:"cpu",kernelFunc:_I},kI=dk((t=>Math.expm1(t))),EI=JM(Ze,kI),II={kernelName:Ze,backendName:"cpu",kernelFunc:EI},CI=sk(((t,e)=>t/e)),NI=_k(He,CI),AI={kernelName:He,backendName:"cpu",kernelFunc:NI},RI=sk(((t,e)=>t-e)),DI=Mk(((t,e,n,r)=>({real:t-n,imag:e-r}))),LI=_k(zr,RI,DI),FI={kernelName:zr,backendName:"cpu",kernelFunc:LI};function $I(t,e,n){const r=t.shape,s=r[0],i=r[1],a=n.data.get(t.dataId),o=a.complexTensorInfos.real,l=a.complexTensorInfos.imag,u=[s,i],c=ot(u),h=bt("float32",c),d=bt("float32",c);for(let t=0;t{const{image:r}=t,s=n,i=bt(r.dtype,ot(r.shape)),[a,o,l,u]=r.shape,c=s.data.get(r.dataId).values;for(let t=0;t=0&&aMath.floor(t))),HI=JM(nn,WI),GI={kernelName:nn,backendName:"cpu",kernelFunc:HI},jI=sk(((t,e)=>Math.floor(t/e))),qI=_k(rn,jI,null,"int32"),XI={kernelName:rn,backendName:"cpu",kernelFunc:qI},KI={kernelName:ts,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let m=DE({inputs:{x:s,filter:i},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(a){const t=m;m=Ik({inputs:{a:m,b:a},backend:n}),n.disposeIntermediateTensorInfo(t)}if(p){const t=m;m=gk(n,m,p,o,f),n.disposeIntermediateTensorInfo(t)}return m}},YI={kernelName:es,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let m=XE({inputs:{x:s,filter:i},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(a){const t=m;m=Ik({inputs:{a:m,b:a},backend:n}),n.disposeIntermediateTensorInfo(t)}if(p){const t=m;m=gk(n,m,p,o,f),n.disposeIntermediateTensorInfo(t)}return m}};function JI(t,e,n,r,s,i,a,o,l){const u=_a([r,i],n);for(let n=0;n=l/i)throw new Error(`Invalid indices: ${r} does not index into ${o}`);for(let t=0;t=0,(()=>`GatherV2: the index value ${e} is not in [0, ${c-1}]`))}let h=o;null==o&&(h=0);const d=ot(i.shape),p=Cf(s,i,l,h),f=Nk({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),m=Nk({inputs:{x:i},backend:n,attrs:{shape:[p.batchSize,d/p.batchSize]}}),g=[p.batchSize,p.outerSize,d/p.batchSize,p.sliceSize],y=n.bufferSync(m),x=QI(n.bufferSync(f),y,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(p.outputShape,x.dtype,x.values)}},eC=sk(((t,e)=>t>e?1:0)),nC=_k(ln,eC,null,"bool"),rC={kernelName:ln,backendName:"cpu",kernelFunc:nC},sC=sk(((t,e)=>t>=e?1:0)),iC=_k(un,sC,null,"bool"),aC={kernelName:un,backendName:"cpu",kernelFunc:iC},oC={kernelName:hn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,{input:r}=e,s=ot(r.shape),i=r.shape[r.shape.length-1],a=Nk({inputs:{x:r},backend:n,attrs:{shape:[s/i,i]}}),o=$I(a,!0,n),l=Nk({inputs:{x:o},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(o),l}},lC=YM(pn,(t=>Number.isFinite(t)?1:0),"bool"),uC={kernelName:pn,backendName:"cpu",kernelFunc:lC},cC=YM(fn,(t=>Math.abs(t)===1/0?1:0),"bool"),hC={kernelName:fn,backendName:"cpu",kernelFunc:cC},dC=YM(mn,(t=>Number.isNaN(t)?1:0),"bool"),pC={kernelName:mn,backendName:"cpu",kernelFunc:dC},fC=sk(((t,e)=>tt<=e?1:0)),xC=_k(xn,yC,null,"bool"),bC={kernelName:xn,backendName:"cpu",kernelFunc:xC};function vC(t,e,n){const r=(e-t)/(n-1),s=Ot(n,"float32");s[0]=t;for(let t=1;tMath.log(t))),TC=JM(vn,SC),_C={kernelName:vn,backendName:"cpu",kernelFunc:TC},MC=YM(wn,(t=>Math.log1p(t))),kC={kernelName:wn,backendName:"cpu",kernelFunc:MC},EC=sk(((t,e)=>t&&e)),IC=_k(Sn,EC,null,"bool"),CC={kernelName:Sn,backendName:"cpu",kernelFunc:IC},NC=YM(Tn,(t=>t?0:1),"bool"),AC={kernelName:Tn,backendName:"cpu",kernelFunc:NC},RC=sk(((t,e)=>t||e)),DC=_k(_n,RC,null,"bool"),LC={kernelName:_n,backendName:"cpu",kernelFunc:DC},FC={kernelName:kn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{depthRadius:i,bias:a,alpha:o,beta:l}=r;qM(s,"LRN");const u=s.shape[3],c=u-1,h=n.data.get(s.dataId).values,d=ot(s.shape),p=new Float32Array(d);function f(t){const e=t%u;let n=t-e+Math.max(0,e-i);const r=t-e+Math.min(e+i,c);let s=0;for(;n<=r;n++){const t=h[n];s+=t*t}return s}for(let t=0;ti)&&(i=e)}s[n]=i}return s}function PC(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{reductionIndices:i,keepDims:a}=r,o=n;let l=s.shape;const u=l.length,c=yt(i,l);let h=c;const d=Nc(h,u);let p=o.data.get(s.dataId).values;if(null!=d){const t=new Array(u);for(let e=0;eMath.max(t,e))),UC=_k(Cn,BC),VC={kernelName:Cn,backendName:"cpu",kernelFunc:UC},WC={kernelName:Nn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;qM(s,"maxPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))c=tk({inputs:{x:s},backend:n});else{const t=n.data.get(s.dataId).values,e=Dt(s.shape),r=aE(t,s.shape,s.dtype,e,u,"max");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},HC={kernelName:Rn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l,dataFormat:u}=r;qM(s,"maxPool3d");const c=Jl(s.shape,i,a,1,o,l,u),h=lE(n.data.get(s.dataId).values,s.shape,s.dtype,Dt(s.shape),c,"max");return n.makeTensorInfo(h.shape,"float32",h.values)}},GC={kernelName:Dn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,{filterSize:a,strides:o,pad:l,dimRoundingMode:u}=r;qM([s,i],"maxPool3DGrad");const c=Jl(i.shape,a,o,1,l,u),h=function(t,e){const n=_a(e.outShape,"int32"),r=e.strideDepth,s=e.strideHeight,i=e.strideWidth,a=e.dilationDepth,o=e.dilationHeight,l=e.dilationWidth,u=e.effectiveFilterDepth,c=e.effectiveFilterHeight,h=e.effectiveFilterWidth,d=e.padInfo.front,p=e.padInfo.top,f=e.padInfo.left;for(let m=0;m=_&&(_=o,M=n*c*h+s*c+a)}}}n.set(M,m,y,r,s,g)}}}return n}(n.bufferSync(i),c),d=c.strideDepth,p=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,y=c.dilationWidth,x=c.effectiveFilterDepth,b=c.effectiveFilterHeight,v=c.effectiveFilterWidth,w=x-1-c.padInfo.front,S=v-1-c.padInfo.left,T=b-1-c.padInfo.top,_=_a(i.shape,"float32"),M=n.bufferSync(s);for(let t=0;t=c.outDepth||Math.floor(r)!==r))for(let s=0;s=c.outHeight||Math.floor(i)!==i))for(let a=0;a=c.outWidth||Math.floor(u)!==u)continue;const d=x*b*v-1-h.get(t,r,i,u,e)===n*b*v+s*v+a?1:0;0!==d&&(l+=M.get(t,r,i,u,e)*d)}}}_.set(l,t,n,r,s,e)}return n.makeTensorInfo(_.shape,_.dtype,_.values)}},jC={kernelName:An,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i,output:a}=e,o=i;qM([i,a],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,d=Yl(o.shape,l,u,1,c,h),p=n.data.get(o.dataId).values,f=_a(d.outShape,o.dtype,oE(p,o.shape,o.dtype,d).values),m=d.strideHeight,g=d.strideWidth,y=d.dilationHeight,x=d.dilationWidth,b=d.effectiveFilterHeight,v=d.effectiveFilterWidth,w=v-1-d.padInfo.left,S=b-1-d.padInfo.top,T=_a(o.shape,"float32"),_=n.data.get(s.dataId).values,M=_a(s.shape,"float32",_);for(let t=0;t=d.outHeight||Math.floor(r)!==r))for(let s=0;s=d.outWidth||Math.floor(o)!==o)continue;const l=b*v-1-f.get(t,r,o,e)===n*v+s?1:0;0!==l&&(a+=M.get(t,r,o,e)*l)}}T.set(a,t,n,r,e)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}},qC={kernelName:Ln,backendName:"cpu",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{x:r}=t,{filterSize:s,strides:i,pad:a,includeBatchInIndex:o}=e,l=n;qM(r,"MaxPoolWithArgmax");const u=l.data.get(r.dataId).values,c=Yl(r.shape,s,i,[1,1],a),[h,d]=function(t,e,n,r,s){const i=aE(t,0,n,Dt(e),s,"max"),a=oE(t,e,n,s,!0,r);return[i.values,a.values]}(u,r.shape,r.dtype,o,c),p=l.write(h,c.outShape,r.dtype),f=l.write(d,c.outShape,r.dtype);return[{dataId:p,shape:c.outShape,dtype:r.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}},XC={kernelName:Fn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=yt(i,s.shape),l=ot(Ec(s.shape,o)[1]),u=[],c=n.makeTensorInfo([],"float32",new Float32Array([l]));u.push(c);const h=Sk({inputs:{x:s},backend:n,attrs:{dtype:"float32"}});u.push(h);const d=NI({inputs:{a:h,b:c},backend:n});u.push(d);const p=aI({inputs:{x:d},backend:n,attrs:{axis:i,keepDims:a}});return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),p}},KC={kernelName:$n,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r;qM(s,"min");const o=yt(i,s.shape);let l=o;const u=Nc(l,s.shape.length);let c=s;null!=u&&(c=Wk({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Rc(l.length,s.shape.length)),Cc("min",l,c.shape.length);const[h,d]=Ec(c.shape,l),p=ot(d),f=Ot(ot(h),c.dtype),m=n.data.get(c.dataId).values;for(let t=0;tMath.min(t,e))),JC=_k(On,YC),ZC={kernelName:On,backendName:"cpu",kernelFunc:JC},QC={kernelName:Pn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{paddings:i,mode:a}=r;qM(s,"mirrorPad");const o=i.map(((t,e)=>t[0]+s.shape[e]+t[1])),l=i.map((t=>t[0])),u=i.map(((t,e)=>t[0]+s.shape[e])),c="reflect"===a?0:1,h=n.data.get(s.dataId).values,d=s.shape.length,p=Dt(s.shape),f=ot(o),m=o.length,g=Dt(o),y=bt(s.dtype,f);for(let t=0;t=u[t]&&(e[t]=2*(u[t]-1)-e[t]+c);e=e.map(((t,e)=>t-l[e]));const n=Bt(e,d,p);y[t]=h[n]}return{dataId:n.write(y,o,s.dtype),shape:o,dtype:s.dtype}}},tN=sk(((t,e)=>{const n=t%e;return t<0&&e<0||t>=0&&e>=0?n:(n+e)%e})),eN=_k(zn,tN),nN={kernelName:zn,backendName:"cpu",kernelFunc:eN};function rN(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{dim:i}=r,a=s.shape.length;let o=i;if(-1===o&&(o=a-1),o!==a-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${a} and dim was ${o}`);const l=yt([o],s.shape),u=PC({inputs:{x:s},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=Ic(u.shape,l),h=Nk({inputs:{x:u},backend:n,attrs:{shape:c}}),d=LI({inputs:{a:s,b:h},backend:n}),p=SI({inputs:{x:d},backend:n}),f=aI({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),m=Nk({inputs:{x:f},backend:n,attrs:{shape:c}}),g=NI({inputs:{a:p,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const sN={kernelName:Er,backendName:"cpu",kernelFunc:rN},iN={kernelName:Bn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{numSamples:i,seed:a,normalized:o}=r;qM(s,"multinomial");const l=o?s:rN({inputs:{logits:s},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],h=n.data.get(l.dataId).values,d=[u,i],p=Ot(ot(d),"int32");for(let t=0;tt!==e?1:0)),mN=_k(Wn,fN,null,"bool"),gN={kernelName:Wn,backendName:"cpu",kernelFunc:mN},yN={kernelName:Xn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{indices:s}=e,{depth:i,onValue:a,offValue:o}=r;qM(s,"oneHot");const l=ot(s.shape),u=new Float32Array(l*i);u.fill(o);const c=n.data.get(s.dataId).values;for(let t=0;t=0&&c[t]{st(i,t.shape,"All tensors passed to stack must have matching shapes"),rt(a===t.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=AE({inputs:e.map((t=>{const e=_I({inputs:{input:t},backend:n,attrs:{dim:s}});return o.push(e),e})),backend:n,attrs:{axis:s}});return o.forEach((t=>n.disposeIntermediateTensorInfo(t))),l}const SN={kernelName:Kn,backendName:"cpu",kernelFunc:wN},TN={kernelName:Yn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{paddings:i,constantValue:a}=r;qM(s,"pad");const o=i.map(((t,e)=>t[0]+s.shape[e]+t[1])),l=i.map((t=>t[0])),u=n.data.get(s.dataId).values,c=ot(s.shape),h=s.shape.length,d=Dt(s.shape),p=ot(o),f=o.length,m=Dt(o),g=bt(s.dtype,p);0!==a&&g.fill(a);for(let t=0;tt+l[e])),f,m)]=u[t];return{dataId:n.write(g,o,s.dtype),shape:o,dtype:s.dtype}}},_N=sk(((t,e)=>Math.pow(t,e))),MN=_k(Zn,_N),kN={kernelName:Zn,backendName:"cpu",kernelFunc:MN};function EN(t,e,n,r){const[s,i]=Ec(t,r),a=ni(e,"int32"),o=Ot(ot(s),a),l=ot(i);for(let t=0;tn.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(y,g,f)}};function CN(t,e,n,r){if(t===e||t1)return Ot(0,r);const s=Ot(Math.abs(Math.ceil((e-t)/n)),r);e1/t)),RN={kernelName:rr,backendName:"cpu",kernelFunc:AN},DN={kernelName:lr,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s}=e,{alignCorners:i,halfPixelCenters:a,size:o}=r;qM(s,"resizeBilinear");const l=Dt(s.shape),[u,c]=o,[h,d,p,f]=s.shape,m=n.data.get(s.dataId).values,g=new Float32Array(ot([h,u,c,f])),y=[i&&u>1?d-1:d,i&&c>1?p-1:p],x=[i&&u>1?u-1:u,i&&c>1?c-1:c];let b=0;const v=y[0]/x[0],w=y[1]/x[1];for(let t=0;t1?u-1:u,a&&p>1?c-1:c],g=[a&&d>1?d-1:d,a&&p>1?p-1:p],y=m[0]/g[0],x=m[1]/g[1],b=n.data.get(i.dataId).values;let v=0;for(let t=0;t1?d-1:d,i&&c>1?p-1:p],x=[i&&u>1?u-1:u,i&&c>1?c-1:c],b=y[0]/x[0],v=y[1]/x[1];let w=0;for(let t=0;t1?c-1:c,a&&f>1?h-1:h],x=[a&&p>1?p-1:p,a&&f>1?f-1:f],b=y[0]/x[0],v=y[1]/x[1],w=1/b,S=1/v,T=2*Math.ceil(w)+2,_=2*Math.ceil(S)+2;for(let t=0;t=p)continue;const d=e+u*l[1],m=u*b;if(t===Math.min(c-1,a?Math.round(m):Math.floor(m)))for(let t=0;t<_;t++){const e=t+y;if(e<0||e>=f)continue;const s=d+e*l[2],i=e*v;r===Math.min(h-1,a?Math.round(i):Math.floor(i))&&(o+=g[s+n])}}m[i+n]=o}}}}return n.makeTensorInfo(s.shape,s.dtype,m)}},ON={kernelName:hr,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{dims:i}=r;qM(s,"reverse");const a=s.shape.length,o=yt(i,s.shape);if(0===a)return tk({inputs:{x:s},backend:n});const l=new Ws(s.shape,s.dtype),u=n.bufferSync(s);for(let t=0;tn[t]=s.shape[t]-1-n[t])),l.set(u.get(...n),...e)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},PN={kernelName:Zr,backendName:"cpu",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{image:r}=t,{radians:s,fillValue:i,center:a}=e,o=n,l=bt(r.dtype,ot(r.shape)),[u,c,h,d]=r.shape,[p,f]=Pp(a,c,h),m=Math.sin(s),g=Math.cos(s),y=o.data.get(r.dataId).values;for(let t=0;t=0&&v=0&&w{const e=Math.floor(t);return t-e<.5?Math.floor(t):t-e>.5?Math.ceil(t):e%2==0?e:e+1})),BN={kernelName:dr,backendName:"cpu",kernelFunc:zN},UN=dk((t=>1/Math.sqrt(t))),VN=JM(pr,UN),WN={kernelName:pr,backendName:"cpu",kernelFunc:VN};function HN(t,e,n,r,s,i,a,o,l,u){const c=[r/s,s],h=t.values,d=e.values;if(0===r)return _a(n,e.dtype);const p=_a(c,e.dtype);p.values.fill(l);for(let t=0;t=r/s)throw new Error(`Invalid indices: ${i} does not index into ${n}`);for(let n=0;n1||1===s.shape.length?1:ot(s.shape.slice(1));for(let t=0;tt>=0?XN*t:qN*(Math.exp(t)-1))),YN={kernelName:gr,backendName:"cpu",kernelFunc:KN},JN=YM(vr,(t=>t<0?-1:t>0?1:0)),ZN={kernelName:vr,backendName:"cpu",kernelFunc:JN},QN=YM(xr,(t=>Math.sin(t))),tA={kernelName:xr,backendName:"cpu",kernelFunc:QN},eA=YM(br,(t=>Math.sinh(t))),nA={kernelName:br,backendName:"cpu",kernelFunc:eA},rA=Math.log(1.1920928955078125e-7)+2,sA=YM(Sr,(t=>{const e=t>-rA,n=t=l)throw new Error(yf(e,n,l));++f[n],d=d&&n>=p,p=n}let m=!0;for(let t=0;t0&&(f[t]+=f[t-1])}if(m&&d){const e=t,n=r;for(let t=0;tNumber(t))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}};function uA(t,e,n,r,s){const i=ot(r),a=e[0],o=s.length,l=[];let u=1,c=-1;for(let t=0;t0){d[h-1]=1;for(let t=h-2;t>=0;--t)d[t]=d[t+1]*r[t+1]}const p=[];if(o>0){p[o-1]=1;for(let t=o-2;t>=0;--t)p[t]=p[t+1]*l[t+1]}const f=vt(n,a*o);for(let e=0;e0?s[o-1]+1:0;if(c<0)throw new Error("segment ids must be >= 0");const h=e.slice();h[0]=c;const d=vt(n,h.reduce(((t,e)=>t*e),1));if(0===o)return c>0&&d.fill(a),[d,h];if(c<=0)throw new Error("segment ids must be >= 0");let p=0,f=1,m=0,g=s[p];for(;;){let e=0;if(f=e)throw new Error("segment ids are not increasing")}if(g<0||g>=c)throw new Error(Mf(g,c));g>m&&d.fill(a,m*u,g*u);for(let e=p;e=l[0])throw new Error(kf(e,r[e],l[0]));for(let e=0;eo)break}return m{const e=[...c];e[o]=t;const r=mE({inputs:{x:s},backend:n,attrs:{begin:u,size:e}});return u[o]+=t,r}))}},gA=dk((t=>Math.sqrt(t))),yA=YM(Tr,(t=>Math.sqrt(t))),xA={kernelName:Tr,backendName:"cpu",kernelFunc:yA},bA={kernelName:Lr,backendName:"cpu",kernelFunc:({inputs:t,backend:e})=>{const{x:n}=t,r=e;qM(n,"square");const s=r.data.get(n.dataId).values,i=new Float32Array(s.length);for(let t=0;t{const n=t-e;return n*n})),wA=_k(Dr,vA),SA={kernelName:Dr,backendName:"cpu",kernelFunc:wA},TA=YM(Yr,((t,e)=>{const n=e;return isNaN(t)?NaN:t>0?1:n.alpha})),_A={kernelName:Yr,backendName:"cpu",kernelFunc:TA};function MA(t,e,n,r){const s=_a(t,e.dtype);for(let t=0;t=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const t=co(x,b,v),e=mE({inputs:{x:s},backend:n,attrs:{begin:x,size:t}});w=Nk({inputs:{x:e},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(e)}else{const t=MA(p,n.bufferSync(s),v,x);w=n.makeTensorInfo(f,t.dtype,t.values)}return w}};class EA{constructor(t,e,n,r,s,i){this.separator=Ds(t),this.nGramWidths=e,this.leftPad=Ds(n),this.rightPad=Ds(r),this.padWidth=s,this.preserveShort=i}getPadWidth(t){return Math.min(this.padWidth<0?t-1:this.padWidth,t-1)}getNumNGrams(t,e){const n=this.getPadWidth(e);return Math.max(0,t+2*n-e+1)}createNGrams(t,e,n,r,s,i){for(let a=0;a0?0:a-o);let d=0;d+=l*this.leftPad.length;for(let e=0;et.forEach((t=>p[f++]=t));for(let t=0;t0){m(t[h+c-1]);for(let t=0;t0){let t=e[0];if(0!==t)throw new Error(`First split value must be 0, got ${t}`);for(let s=1;s=t;if(r=r&&e[s]<=n,!r)throw new Error(`Invalid split value ${e[s]}, must be in [${t}, ${n}]`);t=e[s]}if(t!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${t}`)}const s=r-1,i=vt("int32",r);if(0===n||0===r){const t=new Array(n);for(let t=0;t<=s;++t)i[t]=0;return[t,i]}i[0]=0;for(let t=1;t<=s;++t){const n=e[t]-e[t-1];let r=0;this.nGramWidths.forEach((t=>{r+=this.getNumNGrams(n,t)})),this.preserveShort&&n>0&&0===r&&(r=1),i[t]=i[t-1]+r}const a=new Array(i[s]);for(let n=0;n{const o=e[n+1]-e[n],l=this.getNumNGrams(o,i);this.createNGrams(t,r,a,s,l,i),s+=l})),this.preserveShort&&s===i[n]){const i=e[n+1]-e[n];if(0===i)continue;const o=i+2*this.padWidth,l=1;this.createNGrams(t,r,a,s,l,o)}}return[a,i]}}function IA(t,e,n,r,s,i,a,o){return new EA(n,r,s,i,a,o).compute(t,e)}const CA={kernelName:$r,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{separator:s,nGramWidths:i,leftPad:a,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=e,d=n.data.get(c.dataId).values,p=n.data.get(h.dataId).values,[f,m]=IA(d,p,s,i,a,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}};function NA(t,e,n,r){if(!t.length)return;if(0===e.length){for(let e=0;eMath.tan(t))),$A={kernelName:Br,backendName:"cpu",kernelFunc:FA},OA=YM(Ur,(t=>Math.tanh(t)));function PA(t,e){const n=new Array(t.rank);for(let r=0;r{const n=e.value-t.value;return 0===n?t.index-e.index:n};function BA(t,e,n=0,r=t.length-1){for(;r>n;){if(r-n>600){const s=r-n+1,i=e-n+1,a=Math.log(s),o=.5*Math.exp(2*a/3),l=.5*Math.sqrt(a*o*(s-o)/s)*Math.sign(i-s/2);BA(t,e,Math.max(n,Math.floor(e-i*o/s+l)),Math.min(r,Math.floor(e+(s-i)*o/s+l)))}const s=t[e];let i=n,a=r;for(Q(t,n,e),zA(t[r],s)>0&&Q(t,n,r);i0;)a-=1}0===zA(t[n],s)?Q(t,n,a):(a+=1,Q(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}}function UA(t,e,n,r,s){const i=e[e.length-1],[a,o]=[t.length/i,i],l=bt(n,a*r),u=bt("int32",a*r);for(let e=0;ea[e]={value:t,index:e})),re-1)if(e<=1)n=0;else{const t=2*e;n-=t*Math.trunc(n/t),n>=e&&(n=t-n-1)}return J(0,n,e-1)}(t,e);case"wrap":return function(t,e){let n=t;if(n<0)if(e<=1)n=0;else{const t=e-1;n+=e*(Math.trunc(-n/t)+1)}else if(n>e-1)if(e<=1)n=0;else{const t=e-1;n-=e*Math.trunc(n/t)}return J(0,n,e-1)}(t,e);case"nearest":return function(t,e){return J(0,t,e-1)}(t,e);case"constant":default:return function(t,e){return t}(t)}}function WA(t,e,n,r,s,i,a,o,l,u,c){return 0<=o&&o{for(let n=0;nn.disposeIntermediateTensorInfo(t))),h}},bN];for(const t of qA)us(t);const XA={},KA={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function YA(t,e){if(!(t in XA)){const n=function(t,e){if(1!==t&&2!==t)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==e?function(t){if("undefined"!=typeof OffscreenCanvas&&2===t)return new OffscreenCanvas(300,150);if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}(t):e;return n.addEventListener("webglcontextlost",(e=>{e.preventDefault(),delete XA[t]}),!1),1===t?n.getContext("webgl",KA)||n.getContext("experimental-webgl",KA):n.getContext("webgl2",KA)}(t,e);if(null===n)return console.log("Could not get context for WebGL version",t),null;XA[t]=n}const n=XA[t];return null==n||n.isContextLost()?(delete XA[t],YA(t)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),XA[t])}var JA,ZA,QA;function tR(t,e){return[e,t]}function eR(t){const e=ot(t);return dt(Math.ceil(e/4))}function nR(t,e){return[Math.max(1,Math.ceil(e/2)),Math.max(1,Math.ceil(t/2))]}function rR(t,e){const n=t;let r,s,i,a,o,l,u,c,h,d;return 2===Gt().getNumber("WEBGL_VERSION")?(r=n.R32F,s=n.R16F,i=n.RGBA16F,a=n.RGBA32F,o=n.RED,u=4,c=1,h=n.HALF_FLOAT,d=n.FLOAT,l=n.RGBA8):(r=t.RGBA,s=t.RGBA,i=t.RGBA,a=n.RGBA,o=t.RGBA,u=4,c=4,h=null!=e?e.HALF_FLOAT_OES:null,d=t.FLOAT,l=t.RGBA),{internalFormatFloat:r,internalFormatHalfFloat:s,internalFormatPackedHalfFloat:i,internalFormatPackedFloat:a,textureFormatFloat:o,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:h,textureTypeFloat:d}}function sR(t,e){const n=e();return Gt().getBool("DEBUG")&&function(t){const e=t.getError();if(e!==t.NO_ERROR)throw new Error("WebGL Error: "+function(t,e){switch(e){case t.NO_ERROR:return"NO_ERROR";case t.INVALID_ENUM:return"INVALID_ENUM";case t.INVALID_VALUE:return"INVALID_VALUE";case t.INVALID_OPERATION:return"INVALID_OPERATION";case t.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case t.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case t.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return`Unknown error code ${e}`}}(t,e))}(t),n}function iR(t){return!!(Gt().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===t||5.96e-8t.getExtension(e)),'Extension "'+e+'" not supported on this browser.')}!function(t){t[t.DENSE=0]="DENSE",t[t.SHARED_BATCH=1]="SHARED_BATCH"}(JA||(JA={})),function(t){t[t.RENDER=0]="RENDER",t[t.UPLOAD=1]="UPLOAD",t[t.PIXELS=2]="PIXELS",t[t.DOWNLOAD=3]="DOWNLOAD"}(ZA||(ZA={})),function(t){t[t.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",t[t.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",t[t.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",t[t.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",t[t.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(QA||(QA={}));const oR=/ERROR: [0-9]+:([0-9]+):/g;function lR(t,e){if(sR(t,(()=>t.validateProgram(e))),!1===t.getProgramParameter(e,t.VALIDATE_STATUS))throw console.log(t.getProgramInfoLog(e)),new Error("Shader program validation failed.")}function uR(t,e,n,r,s,i,a){const o=t.getAttribLocation(e,n);return-1!==o&&(sR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,r))),sR(t,(()=>t.vertexAttribPointer(o,s,t.FLOAT,!1,i,a))),sR(t,(()=>t.enableVertexAttribArray(o))),!0)}function cR(t,e,n,r){sR(t,(()=>function(t,e,n){(function(t,e){const n=t.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,r=e+t.TEXTURE0;if(rn)throw new Error(`textureUnit must be in [gl.TEXTURE0, gl.TEXTURE${n}].`)})(t,n),sR(t,(()=>t.activeTexture(t.TEXTURE0+n))),sR(t,(()=>t.bindTexture(t.TEXTURE_2D,e)))}(t,e,r))),sR(t,(()=>t.uniform1i(n,r)))}function hR(t,e,n){sR(t,(()=>t.bindFramebuffer(t.FRAMEBUFFER,n))),sR(t,(()=>t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0)))}function dR(t,e){sR(t,(()=>t.bindFramebuffer(t.FRAMEBUFFER,e))),sR(t,(()=>t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,null,0)))}function pR(t){const e=t.checkFramebufferStatus(t.FRAMEBUFFER);if(e!==t.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+function(t,e){switch(e){case t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case t.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${e}`}}(t,e))}function fR(t,e,n){const r=sR(t,(()=>e()));if(null==r)throw new Error(n);return r}function mR(t,e=2){return ot(t.slice(0,t.length-e))}function gR(t){if(0===t.length)throw Error("Cannot get rows and columns of an empty shape array.");return[t.length>1?t[t.length-2]:1,t[t.length-1]]}function yR(t){let e=[1,1,1];return 0===t.length||1===t.length&&1===t[0]||(e=[mR(t),...gR(t)]),e}function xR(t){return t%2==0}function bR(t,e){if(ut(t=t.slice(-2),e=e.slice(-2)))return!0;if(!t.length||!e.length)return!0;if(0===t[0]||0===t[1]||0===e[0]||0===e[1])return!0;if(t.length!==e.length){const n=t.slice(-1)[0],r=e.slice(-1)[0];if(n===r)return!0;if(xR(n)&&xR(r)&&(1===t[0]||1===e[0]))return!0}return t[1]===e[1]&&xR(t[0])&&xR(e[0])}let vR,wR;function SR(t,e){return null!=t.getExtension(e)}function TR(t){try{if(null!=YA(t))return!0}catch(t){return console.log("Error when getting WebGL context: ",t),!1}return!1}function _R(t){const e=rR(t),n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,e.internalFormatFloat,1,1,0,e.textureFormatFloat,e.textureTypeFloat,null);const r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0);const s=t.checkFramebufferStatus(t.FRAMEBUFFER)===t.FRAMEBUFFER_COMPLETE;return t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteTexture(n),t.deleteFramebuffer(r),s}function MR(t,e){Array.isArray(t)||(t=[t]),t.forEach((t=>{null!=t&&rt("complex64"!==t.dtype,(()=>`${e} does not support complex64 tensors in the WebGL backend.`))}))}const kR=Gt();function ER(){let t,e,n,r,s,i,a,o,l,u;return 2===Gt().getNumber("WEBGL_VERSION")?(t="#version 300 es",e="in",n="out",r="in",s="texture",i="outputColor",a="out vec4 outputColor;",o="\n bool isnan_custom(float val) {\n return (val > 0.0 || val < 0.0) ? false : val != 0.0;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(t="",e="attribute",n="varying",r="varying",s="texture2D",i="gl_FragColor",a="",o="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:t,attribute:e,varyingVs:n,varyingFs:r,texture2D:s,output:i,defineOutput:a,defineSpecialNaN:o,defineSpecialInf:l,defineRound:u}}function IR(t,e,n="index"){const r=Dt(e);return r.map(((e,s)=>`int ${t[s]} = ${n} / ${e}; ${s===r.length-1?`int ${t[s+1]} = ${n} - ${t[s]} * ${e}`:`index -= ${t[s]} * ${e}`};`)).join("")}function CR(t,e,n="index"){const r=Dt(e);return r.map(((e,s)=>`int ${t[s]} = ${n} / outShapeStrides[${s}]; ${s===r.length-1?`int ${t[s+1]} = ${n} - ${t[s]} * outShapeStrides[${s}]`:`index -= ${t[s]} * outShapeStrides[${s}]`};`)).join("")}function NR(t){const e=Dt(t).map((t=>t.toString()));return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${e[0]} + coords.y * ${e[1]} + coords.z;\n }\n`}kR.registerFlag("HAS_WEBGL",(()=>kR.getNumber("WEBGL_VERSION")>0)),kR.registerFlag("WEBGL_VERSION",(()=>TR(2)?2:TR(1)?1:0)),kR.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",(()=>!1)),kR.registerFlag("WEBGL_BUFFER_SUPPORTED",(()=>2===kR.get("WEBGL_VERSION"))),kR.registerFlag("WEBGL_CPU_FORWARD",(()=>!0)),kR.registerFlag("WEBGL_FORCE_F16_TEXTURES",(()=>!1)),kR.registerFlag("WEBGL_PACK",(()=>kR.getBool("HAS_WEBGL"))),kR.registerFlag("WEBGL_PACK_NORMALIZATION",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_CLIP",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_DEPTHWISECONV",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_PACK_REDUCE",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_LAZILY_UNPACK",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_CONV_IM2COL",(()=>kR.getBool("WEBGL_PACK"))),kR.registerFlag("WEBGL_MAX_TEXTURE_SIZE",(()=>function(t){if(null==vR){const e=YA(t);vR=e.getParameter(e.MAX_TEXTURE_SIZE)}return vR}(kR.getNumber("WEBGL_VERSION")))),kR.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",(()=>function(t){if(null==wR){const e=YA(t);wR=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,wR)}(kR.getNumber("WEBGL_VERSION")))),kR.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",(()=>{const t=kR.getNumber("WEBGL_VERSION");return 0===t?0:function(t){if(0===t)return 0;let e;const n=YA(t);return e=SR(n,"EXT_disjoint_timer_query_webgl2")&&2===t?2:SR(n,"EXT_disjoint_timer_query")?1:0,e}(t)})),kR.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",(()=>kR.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!yi())),kR.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",(()=>function(t){if(0===t)return!1;const e=YA(t);if(1===t){if(!SR(e,"OES_texture_float"))return!1}else if(!SR(e,"EXT_color_buffer_float"))return!1;return _R(e)}(kR.getNumber("WEBGL_VERSION")))),kR.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",(()=>!kR.getBool("WEBGL_FORCE_F16_TEXTURES")&&kR.getBool("WEBGL_RENDER_FLOAT32_CAPABLE"))),kR.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",(()=>function(t){if(0===t)return!1;const e=YA(t);if(1!==t){if(SR(e,"EXT_color_buffer_float"))return _R(e);const t="EXT_color_buffer_half_float";if(SR(e,t)){const n=e.getExtension(t);return function(t,e){const n=rR(t,e),r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,n.internalFormatHalfFloat,1,1,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const s=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,s),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0);const i=t.checkFramebufferStatus(t.FRAMEBUFFER)===t.FRAMEBUFFER_COMPLETE;return t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteTexture(r),t.deleteFramebuffer(s),i}(e,n)}return!1}return!!SR(e,"OES_texture_float")&&!!SR(e,"WEBGL_color_buffer_float")&&_R(e)}(kR.getNumber("WEBGL_VERSION")))),kR.registerFlag("WEBGL_FENCE_API_ENABLED",(()=>{return 2===(t=kR.getNumber("WEBGL_VERSION"))&&null!=YA(t).fenceSync;var t})),kR.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",(()=>kR.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0)),kR.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",(()=>-1),(t=>{if(t<0&&-1!==t)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${t}.`)})),kR.registerFlag("WEBGL_FLUSH_THRESHOLD",(()=>yi()?1:-1),(t=>{if(t<0&&-1!==t)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${t}.`)})),kR.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",(()=>128)),kR.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",(()=>!1)),kR.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",(()=>1e5)),kR.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",(()=>128));const AR="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:RR}=y;function DR(t,e,n){const r=[];if(t.forEach((t=>{const e=ot(t.shapeInfo.logicalShape);if(t.shapeInfo.isUniform?r.push(`uniform float ${t.name}${e>1?`[${e}]`:""};`):(r.push(`uniform sampler2D ${t.name};`),r.push(`uniform int offset${t.name};`)),n.enableShapeUniforms){const{uniformShape:e}=WR(n.packedInputs,t.shapeInfo.logicalShape,t.shapeInfo.texShape);switch(e.length){case 1:r.push(`uniform int ${t.name}Shape;`);break;case 2:r.push(`uniform ivec2 ${t.name}Shape;`);break;case 3:r.push(`uniform ivec3 ${t.name}Shape;`);break;case 4:r.push(`uniform ivec4 ${t.name}Shape;`)}r.push(`uniform ivec2 ${t.name}TexShape;`)}})),n.enableShapeUniforms){switch(e.logicalShape.length){case 1:r.push("uniform int outShape;");break;case 2:r.push("uniform ivec2 outShape;"),r.push("uniform int outShapeStrides;");break;case 3:r.push("uniform ivec3 outShape;"),r.push("uniform ivec2 outShapeStrides;");break;case 4:r.push("uniform ivec4 outShape;"),r.push("uniform ivec3 outShapeStrides;")}r.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach((t=>{r.push(`uniform ${t.type} ${t.name}${t.arrayIndex?`[${t.arrayIndex}]`:""};`)}));const s=r.join("\n"),i=t.map((t=>function(t,e,n=!1,r){let s="";s+=n?FR(t,r):LR(t,r);const i=t.shapeInfo.logicalShape,a=e.logicalShape;return i.length<=a.length&&(s+=n?function(t,e){const n=t.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",i=t.shapeInfo.logicalShape.length,a=e.logicalShape.length,o=RR(t.shapeInfo.logicalShape,e.logicalShape),l=VR(a),u=a-i;let c;const h=["x","y","z","w","u","v"];c=0===i?"":a<2&&o.length>=1?"coords = 0;":o.map((t=>`coords.${h[t+u]} = 0;`)).join("\n");let d="";d=a<2&&i>0?"coords":t.shapeInfo.logicalShape.map(((t,e)=>`coords.${h[e+u]}`)).join(", ");let p="return outputValue;";const f=1===ot(t.shapeInfo.logicalShape),m=1===ot(e.logicalShape);if(1!==i||f||m){if(f&&!m)p=1===a?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(o.length){const t=i-2,e=i-1;o.indexOf(t)>-1&&o.indexOf(e)>-1?p="return vec4(outputValue.x);":o.indexOf(t)>-1?p="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":o.indexOf(e)>-1&&(p="return vec4(outputValue.xx, outputValue.zz);")}}else p="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${s}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${r}(${d});\n ${p}\n }\n `}(t,e):function(t,e){const n=t.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",i=e.texShape,a=t.shapeInfo.texShape,o=t.shapeInfo.logicalShape.length,l=e.logicalShape.length;if(!t.shapeInfo.isUniform&&o===l&&null==t.shapeInfo.flatOffset&&ut(a,i))return`\n float ${s}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=VR(l),c=RR(t.shapeInfo.logicalShape,e.logicalShape),h=l-o;let d;const p=["x","y","z","w","u","v"];d=0===o?"":l<2&&c.length>=1?"coords = 0;":c.map((t=>`coords.${p[t+h]} = 0;`)).join("\n");let f="";return f=l<2&&o>0?"coords":t.shapeInfo.logicalShape.map(((t,e)=>`coords.${p[e+h]}`)).join(", "),`\n float ${s}() {\n ${u} coords = getOutputCoords();\n ${d}\n return get${r}(${f});\n }\n `}(t,e)),s}(t,e,n.packedInputs,n.enableShapeUniforms))).join("\n"),a=e.texShape,o=ER(),l=function(t){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${t.texture2D}(textureSampler, uv).r;\n }\n `}(o);let u,c,h=function(t){return`${t.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${t.varyingFs} vec2 resultUV;\n ${t.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${t.defineSpecialNaN}\n ${t.defineSpecialInf}\n ${t.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${$R}\n ${OR}\n ${PR}\n `}(o);return e.isPacked?(u=function(t,e,n){switch(t.length){case 0:return"\n int getOutputCoords() {\n return 0;\n }\n ";case 1:return function(t,e,n){const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];return 1===r[0]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${r[1]}.0);\n }\n `:1===r[1]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${r[0]}.0);\n }\n `:n?"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ":`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n return 2 * (resTexRC.x * ${r[1]} + resTexRC.y);\n }\n `}(0,e,n);case 2:return function(t,e,n){const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];if(ut(t,e))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${r[0]}, ${r[1]}));\n }\n `;const s=Math.ceil(t[1]/2);return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ":`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec2(r, c);\n }\n `}(t,e,n);case 3:return function(t,e,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],s=Math.ceil(t[2]/2),i=s*Math.ceil(t[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n\n int b = index / ${i};\n index -= b * ${i};\n\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(t,e,n);default:return function(t,e,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],s=Math.ceil(t[t.length-1]/2),i=s*Math.ceil(t[t.length-2]/2);let a=i,o="",l="b, r, c";for(let e=2;e1&&!ut(e,n)&&r.lengtht[e])).join(", ")}function jR(t,e){if(t.length!==e.length)throw Error(`Binary was compiled with ${t.length} inputs, but was executed with ${e.length} inputs`);t.forEach(((t,n)=>{const r=t.logicalShape,s=e[n],i=s.shape;if(!ut(r,i))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${r} and ${i} must match`);if(t.isUniform&&s.isUniform)return;const a=t.texShape,o=s.isUniform?null:s.texData.texShape;if(!ut(a,o))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${a} and ${o} must match`)}))}function qR(t){return Gt().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&t<=4}class XR{constructor(t){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=JA.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const e=ER();this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?CR(["r","c","d"],t):IR(["r","c","d"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${e.output} = result;\n }\n `}}class KR{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=JA.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const e=ER();this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?CR(["r","c","d"],t):IR(["r","c","d"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${e.output} = result;\n }\n `}}class YR{constructor(t){this.variableNames=["A"],this.outTexUsage=ZA.DOWNLOAD;const e=ER();this.outputShape=t,this.userCode=`\n ${AR}\n\n void main() {\n float x = getAAtOutCoords();\n ${e.output} = encode_float(x);\n }\n `}}class JR{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=ZA.DOWNLOAD;const e=ER();this.outputShape=t,this.userCode=`\n ${AR}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${e.output} = encode_float(x);\n }\n `}}class ZR{constructor(t,e=!1){this.variableNames=["A"],this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=ER();this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length);let r="result";e&&(r="floor(result * 255. + 0.5)"),this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":NR(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n vec4 values = ${n.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${n.output} = vec4(${r}, 0., 0., 0.);\n }\n `}}class QR{constructor(t,e=!1){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=ER();this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length);let r="",s="result";e&&(s="floor(result * 255. + 0.5)");for(let e=0;e<=1;e++)for(let s=0;s<=1;s++){const i=2*e+s;r+=`\n localCoords = coords;\n if(localCoords[2] + ${s} < ${this.enableShapeUniforms?"outShape[2]":`${t[2]}`}) {\n localCoords[2] += ${s};\n if (localCoords[1] + ${e} < ${this.enableShapeUniforms?"outShape[1]":`${t[1]}`}) {\n localCoords[1] += ${e};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n values = ${n.texture2D}(A, uv);\n\n if (offset == 0) {\n result[${i}] = values[0];\n } else if (offset == 1) {\n result[${i}] = values[1];\n } else if (offset == 2) {\n result[${i}] = values[2];\n } else {\n result[${i}] = values[3];\n }\n }\n }\n `}this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":NR(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${r}\n\n ${n.output} = ${s};\n }\n `}}function tD(t,e,n,r,s,i){!function(t,e){const n=Gt().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(t<=0||e<=0)throw new Error(`Requested texture size [${t}x${e}] is invalid.`);if(t>n||e>n)throw new Error(`Requested texture size [${t}x${e}] greater than WebGL maximum on this browser / GPU [${n}x${n}].`)}(e,n);const a=function(t){return fR(t,(()=>t.createTexture()),"Unable to create WebGLTexture.")}(t),o=t.TEXTURE_2D;return sR(t,(()=>t.bindTexture(o,a))),sR(t,(()=>t.texParameteri(o,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE))),sR(t,(()=>t.texParameteri(o,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE))),sR(t,(()=>t.texParameteri(o,t.TEXTURE_MIN_FILTER,t.NEAREST))),sR(t,(()=>t.texParameteri(o,t.TEXTURE_MAG_FILTER,t.NEAREST))),1===Gt().getNumber("WEBGL_VERSION")?sR(t,(()=>t.texImage2D(o,0,r,e,n,0,s,i,null))):sR(t,(()=>t.texStorage2D(o,1,r,e,n))),sR(t,(()=>t.bindTexture(t.TEXTURE_2D,null))),{texture:a,texShape:[n,e]}}function eD(t){return t.internalFormatFloat}function nD(t){return t.internalFormatHalfFloat}function rD(t){return t.downloadTextureFormat}function sD(t){return t.internalFormatPackedFloat}function iD(t){return t.internalFormatPackedHalfFloat}class aD{constructor(t){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];const e=Gt().getNumber("WEBGL_VERSION");null!=t?(this.gl=t,function(t,e){XA[t]=e}(e,t)):this.gl=YA(e);let n="WEBGL_color_buffer_float";const r="EXT_color_buffer_half_float";if(1===Gt().getNumber("WEBGL_VERSION")){const t="OES_texture_float",e="OES_texture_half_float";if(this.textureFloatExtension=aR(this.gl,t),SR(this.gl,e))this.textureHalfFloatExtension=aR(this.gl,e);else if(Gt().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),SR(this.gl,r))this.colorBufferHalfFloatExtension=aR(this.gl,r);else if(Gt().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",SR(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!SR(this.gl,r))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(r)}this.vertexBuffer=function(t){return function(t,e){const n=fR(t,(()=>t.createBuffer()),"Unable to create WebGLBuffer");return sR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,n))),sR(t,(()=>t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW))),n}(t,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}(this.gl),this.indexBuffer=function(t){return function(t,e){const n=fR(t,(()=>t.createBuffer()),"Unable to create WebGLBuffer");return sR(t,(()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n))),sR(t,(()=>t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW))),n}(t,new Uint16Array([0,1,2,2,1,3]))}(this.gl),this.framebuffer=function(t){return fR(t,(()=>t.createFramebuffer()),"Unable to create WebGLFramebuffer.")}(this.gl),this.textureConfig=rR(this.gl,this.textureHalfFloatExtension)}get debug(){return Gt().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const t=this.gl;sR(t,(()=>t.finish())),sR(t,(()=>t.bindFramebuffer(t.FRAMEBUFFER,null))),sR(t,(()=>t.deleteFramebuffer(this.framebuffer))),sR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,null))),sR(t,(()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null))),sR(t,(()=>t.deleteBuffer(this.indexBuffer))),this.disposed=!0}createFloat32MatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=tR(e,n);return tD(t,s,i,eD(r),r.textureFormatFloat,t.FLOAT)}(this.gl,t,e,this.textureConfig)}createFloat16MatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=tR(e,n);return tD(t,s,i,nD(r),r.textureFormatFloat,r.textureTypeHalfFloat)}(this.gl,t,e,this.textureConfig)}createUnsignedBytesMatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=tR(e,n);return tD(t,s,i,rD(r),t.RGBA,t.UNSIGNED_BYTE)}(this.gl,t,e,this.textureConfig)}uploadPixelDataToTexture(t,e){this.throwIfDisposed(),function(t,e,n){sR(t,(()=>t.bindTexture(t.TEXTURE_2D,e))),n.data instanceof Uint8Array?2===Gt().getNumber("WEBGL_VERSION")?sR(t,(()=>t.texSubImage2D(t.TEXTURE_2D,0,0,0,n.width,n.height,t.RGBA,t.UNSIGNED_BYTE,n.data))):sR(t,(()=>t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n.width,n.height,0,t.RGBA,t.UNSIGNED_BYTE,n.data))):2===Gt().getNumber("WEBGL_VERSION")?sR(t,(()=>t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,n))):sR(t,(()=>t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n))),sR(t,(()=>t.bindTexture(t.TEXTURE_2D,null)))}(this.gl,t,e)}uploadDenseMatrixToTexture(t,e,n,r){this.throwIfDisposed(),function(t,e,n,r,s,i){let a,o,l;sR(t,(()=>t.bindTexture(t.TEXTURE_2D,e))),s instanceof Uint8Array?(a=new Uint8Array(n*r*4),o=t.UNSIGNED_BYTE,l=t.RGBA):(a=new Float32Array(n*r*4),o=t.FLOAT,l=i.internalFormatPackedFloat),a.set(s),2===Gt().getNumber("WEBGL_VERSION")?sR(t,(()=>t.texSubImage2D(t.TEXTURE_2D,0,0,0,n,r,t.RGBA,o,a))):sR(t,(()=>t.texImage2D(t.TEXTURE_2D,0,l,n,r,0,t.RGBA,o,a))),sR(t,(()=>t.bindTexture(t.TEXTURE_2D,null)))}(this.gl,t,e,n,r,this.textureConfig)}createFloat16PackedMatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=nR(e,n);return tD(t,s,i,iD(r),t.RGBA,r.textureTypeHalfFloat)}(this.gl,t,e,this.textureConfig)}createPackedMatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=nR(e,n);return tD(t,s,i,sD(r),t.RGBA,t.FLOAT)}(this.gl,t,e,this.textureConfig)}deleteMatrixTexture(t){this.throwIfDisposed(),this.outputTexture===t&&(dR(this.gl,this.framebuffer),this.outputTexture=null),sR(this.gl,(()=>this.gl.deleteTexture(t)))}downloadByteEncodedFloatMatrixFromOutputTexture(t,e,n){return this.downloadMatrixDriver(t,(()=>function(t,e,n,r){const[s,i]=tR(e,n),a=new Uint8Array(e*n*4);return sR(t,(()=>t.readPixels(0,0,s,i,r.downloadTextureFormat,t.UNSIGNED_BYTE,a))),new Float32Array(a.buffer)}(this.gl,e,n,this.textureConfig)))}downloadPackedMatrixFromBuffer(t,e,n,r,s,i){return function(t,e,n,r,s,i,a,o){const l=t,u=new Float32Array(function(t,e){const[n,r]=nR(t,e);return n*r*4}(i,a));return l.bindBuffer(l.PIXEL_PACK_BUFFER,e),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}(this.gl,t,0,0,0,s,i,this.textureConfig)}downloadFloat32MatrixFromBuffer(t,e){return function(t,e,n){const r=t,s=new Float32Array(n);return r.bindBuffer(r.PIXEL_PACK_BUFFER,e),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,s),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),s}(this.gl,t,e)}createBufferFromTexture(t,e,n){this.bindTextureToFrameBuffer(t);const r=function(t,e,n,r){const s=t.createBuffer();sR(t,(()=>t.bindBuffer(t.PIXEL_PACK_BUFFER,s)));const i=16*e*n;return sR(t,(()=>t.bufferData(t.PIXEL_PACK_BUFFER,i,t.STREAM_READ))),sR(t,(()=>t.readPixels(0,0,n,e,t.RGBA,t.FLOAT,0))),sR(t,(()=>t.bindBuffer(t.PIXEL_PACK_BUFFER,null))),s}(this.gl,e,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),r}createAndWaitForFence(){const t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e,n;if(Gt().getBool("WEBGL_FENCE_API_ENABLED")){const r=t,s=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0);t.flush(),n=()=>{const t=r.clientWaitSync(s,0,0);return t===r.ALREADY_SIGNALED||t===r.CONDITION_SATISFIED},e=s}else Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(e=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(e,Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:e,isFencePassed:n}}downloadMatrixFromPackedTexture(t,e,n){return this.downloadMatrixDriver(t,(()=>function(t,e,n){const r=new Float32Array(e*n*4);return sR(t,(()=>t.readPixels(0,0,n,e,t.RGBA,t.FLOAT,r))),r}(this.gl,e,n)))}createProgram(t){this.throwIfDisposed();const e=this.gl;null==this.vertexShader&&(this.vertexShader=function(t){const e=ER();return function(t,e){const n=fR(t,(()=>t.createShader(t.VERTEX_SHADER)),"Unable to create vertex WebGLShader.");if(sR(t,(()=>t.shaderSource(n,e))),sR(t,(()=>t.compileShader(n))),!1===t.getShaderParameter(n,t.COMPILE_STATUS))throw console.log(t.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}(t,`${e.version}\n precision highp float;\n ${e.attribute} vec3 clipSpacePos;\n ${e.attribute} vec2 uv;\n ${e.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`)}(e));const n=function(t){return fR(t,(()=>t.createProgram()),"Unable to create WebGLProgram.")}(e);return sR(e,(()=>e.attachShader(n,this.vertexShader))),sR(e,(()=>e.attachShader(n,t))),function(t,e){if(sR(t,(()=>t.linkProgram(e))),!1===t.getProgramParameter(e,t.LINK_STATUS))throw console.log(t.getProgramInfoLog(e)),new Error("Failed to link vertex and fragment shaders.")}(e,n),this.debug&&lR(e,n),this.vertexAttrsAreBound||(this.setProgram(n),this.vertexAttrsAreBound=function(t,e,n){return sR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,n))),uR(t,e,"clipSpacePos",n,3,20,0)&&uR(t,e,"uv",n,2,20,12)}(e,this.program,this.vertexBuffer)),n}deleteProgram(t){this.throwIfDisposed(),t===this.program&&(this.program=null),null!=t&&sR(this.gl,(()=>this.gl.deleteProgram(t)))}setProgram(t){this.throwIfDisposed(),this.program=t,null!=this.program&&this.debug&&lR(this.gl,this.program),sR(this.gl,(()=>this.gl.useProgram(t)))}getUniformLocation(t,e,n=!0){return this.throwIfDisposed(),n?function(t,e,n){return fR(t,(()=>t.getUniformLocation(e,n)),'uniform "'+n+'" not present in program.')}(this.gl,t,e):function(t,e,n){return t.getUniformLocation(e,n)}(this.gl,t,e)}getAttributeLocation(t,e){return this.throwIfDisposed(),sR(this.gl,(()=>this.gl.getAttribLocation(t,e)))}getUniformLocationNoThrow(t,e){return this.throwIfDisposed(),this.gl.getUniformLocation(t,e)}setInputMatrixTexture(t,e,n){this.throwIfDisposed(),this.throwIfNoProgram(),cR(this.gl,t,e,n)}setOutputMatrixTexture(t,e,n){this.setOutputMatrixTextureDriver(t,n,e)}setOutputPackedMatrixTexture(t,e,n){this.throwIfDisposed();const[r,s]=nR(e,n);this.setOutputMatrixTextureDriver(t,r,s)}setOutputMatrixWriteRegion(t,e,n,r){this.setOutputMatrixWriteRegionDriver(n,t,r,e)}setOutputPackedMatrixWriteRegion(t,e,n,r){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&lR(this.gl,this.program),pR(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const t=this.gl;this.debug&&this.debugValidate(),sR(t,(()=>t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0)))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),sR(this.gl,(()=>this.gl.finish()))}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=aR(this.gl,2===Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const t=this.gl,e=this.getQueryTimerExtensionWebGL2(),n=t.createQuery();return t.beginQuery(e.TIME_ELAPSED_EXT,n),n}const t=this.getQueryTimerExtensionWebGL1(),e=t.createQueryEXT();return t.beginQueryEXT(t.TIME_ELAPSED_EXT,e),e}endQuery(){if(2===Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const t=this.gl,e=this.getQueryTimerExtensionWebGL2();return void t.endQuery(e.TIME_ELAPSED_EXT)}const t=this.getQueryTimerExtensionWebGL1();t.endQueryEXT(t.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(t){return await mt((()=>this.disposed||this.isQueryAvailable(t,Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")))),this.getQueryTime(t,Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(t,e){if(0===e)return null;if(2===e){const e=this.gl;return e.getQueryParameter(t,e.QUERY_RESULT)/1e6}{const e=this.getQueryTimerExtensionWebGL1();return e.getQueryObjectEXT(t,e.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(t,e){if(0===e)return!0;if(2===e){const e=this.gl,n=this.getQueryTimerExtensionWebGL2(),r=e.getQueryParameter(t,e.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),r&&!this.disjoint}{const e=this.getQueryTimerExtensionWebGL1(),n=e.getQueryObjectEXT(t,e.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(e.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(t){return new Promise((e=>{this.addItemToPoll((()=>t.isFencePassed()),(()=>e()))}))}pollItems(){const t=function(t){let e=0;for(;et.isDoneFn)));for(let e=0;e<=t;++e){const{resolveFn:t}=this.itemsToPoll[e];t()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}addItemToPoll(t,e){this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),this.itemsToPoll.length>1||mt((()=>(this.pollItems(),0===this.itemsToPoll.length)))}bindTextureToFrameBuffer(t){this.throwIfDisposed(),hR(this.gl,t,this.framebuffer),this.debug&&pR(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(hR(this.gl,this.outputTexture,this.framebuffer),this.debug&&pR(this.gl)):dR(this.gl,this.framebuffer)}downloadMatrixDriver(t,e){this.bindTextureToFrameBuffer(t);const n=e();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(t,e,n){this.throwIfDisposed();const r=this.gl;hR(r,t,this.framebuffer),this.debug&&pR(r),this.outputTexture=t,sR(r,(()=>r.viewport(0,0,e,n))),sR(r,(()=>r.scissor(0,0,e,n)))}setOutputMatrixWriteRegionDriver(t,e,n,r){this.throwIfDisposed(),sR(this.gl,(()=>this.gl.scissor(t,e,n,r)))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}}const{addImpl:oD,bincountImpl:lD,bincountReduceImpl:uD,ceilImpl:cD,concatImpl:hD,equalImpl:dD,expImpl:pD,expm1Impl:fD,floorImpl:mD,gatherNdImpl:gD,gatherV2Impl:yD,greaterImpl:xD,greaterEqualImpl:bD,lessImpl:vD,lessEqualImpl:wD,linSpaceImpl:SD,logImpl:TD,maxImpl:_D,maximumImpl:MD,minimumImpl:kD,multiplyImpl:ED,negImpl:ID,notEqualImpl:CD,prodImpl:ND,rangeImpl:AD,rsqrtImpl:RD,sigmoidImpl:DD,simpleAbsImpl:LD,sliceImpl:FD,sparseFillEmptyRowsImpl:$D,sparseReshapeImpl:OD,sparseSegmentReductionImpl:PD,sqrtImpl:zD,stridedSliceImpl:BD,stringNGramsImpl:UD,stringSplitImpl:VD,stringToHashBucketFastImpl:WD,subImpl:HD,tileImpl:GD,topKImpl:jD,transposeImpl:qD,uniqueImpl:XD}=G;function KD(t,e){return["x","y","z","w","u","v"].slice(0,e).map((e=>`${t}.${e}`))}function YD(t,e){return 1===e?[t]:KD(t,e)}class JD{constructor(t){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.enableShapeUniforms=qR(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const t=YD("rc",this.rank),e=VR(this.rank),n=this.getOutOfBoundsCondition(t),r=this.getSetup(t),s=this.getOutput(t);this.userCode=`\n void main() {\n ${e} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${r}\n\n setOutput(vec4(${s}));\n }\n }\n `}}getSourceCoordsArr(t){const e=[];for(let n=0;n<=1;n++)for(let r=0;r<=1;r++){let s=`${0===n?"r":"rp1"}, ${0===r?"c":"cp1"}`;for(let e=2;e ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let e="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${r};\n `}getOutput(t){const e=this.getSourceCoordsArr(t);return 1===this.rank?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${e[0]}),\n cEdge ? 0. : getA(${e[1]}),\n rEdge ? 0. : getA(${e[2]}),\n rEdge || cEdge ? 0. : getA(${e[3]})`}}class ZD{constructor(t,e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length);let n="";for(let t=0;t<4;t++){let e="thisRC = rc;";t%2==1&&(e+="thisRC.z += 1;"),t>1&&(e+="thisRC.y += 1;"),n+=`\n ${e}\n ${t>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${t}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${t>0?"}":""}\n `}var r,s;this.userCode=`\n ${r=e,s=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${s?function(t,e,n="index"){const r=function(t,e){const n=t.length,r=t.map((t=>`${e}[${t}]`)),s=new Array(n-1);s[n-2]=r[n-1];for(let t=n-3;t>=0;--t)s[t]=`(${s[t+1]} * ${r[t+1]})`;return s}(t.map(((t,e)=>e)),e);return r.map(((e,s)=>`int ${t[s]} = ${n} / ${r[s]}; ${s===r.length-1?`int ${t[s+1]} = ${n} - ${t[s]} * ${r[s]}`:`index -= ${t[s]} * ${r[s]}`};`)).join("")}(["r","c","d"],"inputShape"):IR(["r","c","d"],r)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":NR(t)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":t[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":t[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}}class QD{constructor(t){this.gpgpu=t,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(t,e,n){const r=eL(e,n),s=nL(t,r,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);const i=tL(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=i,this.log();const t=this.freeTextures[s].shift();return this.usedTextures[s].push(t),t}let a;return r===QA.PACKED_2X2_FLOAT32?a=this.gpgpu.createPackedMatrixTexture(t[0],t[1]):r===QA.PACKED_2X2_FLOAT16?a=this.gpgpu.createFloat16PackedMatrixTexture(t[0],t[1]):r===QA.UNPACKED_FLOAT32?a=this.gpgpu.createFloat32MatrixTexture(t[0],t[1]):r===QA.UNPACKED_FLOAT16?a=this.gpgpu.createFloat16MatrixTexture(t[0],t[1]):r===QA.PACKED_4X1_UNSIGNED_BYTE&&(a=this.gpgpu.createUnsignedBytesMatrixTexture(t[0],t[1])),this.usedTextures[s].push(a),this.numUsedTextures++,this._numBytesAllocated+=i,this.log(),a}releaseTexture(t,e,n,r){if(null==this.freeTextures)return;const s=eL(n,r),i=nL(e,s,r);i in this.freeTextures||(this.freeTextures[i]=[]);const a=tL(e,s,this.gpgpu.gl,this.gpgpu.textureConfig,r),o=Gt().get("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==o&&this._numBytesAllocated>o?(this.gpgpu.deleteMatrixTexture(t.texture),this._numBytesAllocated-=a):(this.freeTextures[i].push(t),this.numFreeTextures++,this._numBytesFree+=a),this.numUsedTextures--;const l=this.usedTextures[i],u=l.indexOf(t);if(u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l.splice(u,1),this.log()}log(){if(!this.logEnabled)return;const t=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${t})`);const e=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*e)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const t in this.freeTextures)this.freeTextures[t].forEach((t=>{this.gpgpu.deleteMatrixTexture(t.texture)}));for(const t in this.usedTextures)this.usedTextures[t].forEach((t=>{this.gpgpu.deleteMatrixTexture(t.texture)}));this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function tL(t,e,n,r,s){const i=function(t,e){switch(t){case QA.PACKED_2X2_FLOAT32:return sD(e);case QA.PACKED_2X2_FLOAT16:return iD(e);case QA.UNPACKED_FLOAT32:return eD(e);case QA.UNPACKED_FLOAT16:return nD(e);case QA.PACKED_4X1_UNSIGNED_BYTE:return rD(e);default:throw new Error(`Unknown physical texture type ${t}`)}}(e,r);let a;if(s){const[e,n]=nR(t[0],t[1]);a=e*n}else{const[e,n]=tR(t[0],t[1]);a=e*n}return a*function(t,e){const n=t;if(e===n.R32F)return 4;if(e===n.R16F)return 2;if(e===n.RGBA32F)return 16;if(e===t.RGBA)return 16;if(e===n.RGBA16F)return 8;if(e===n.RGBA8)return 4;throw new Error(`Unknown internal format ${e}`)}(n,i)}function eL(t,e){if(t===ZA.UPLOAD)return QA.PACKED_2X2_FLOAT32;if(t===ZA.RENDER||null==t)return function(t){return Gt().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?t?QA.PACKED_2X2_FLOAT32:QA.UNPACKED_FLOAT32:t?QA.PACKED_2X2_FLOAT16:QA.UNPACKED_FLOAT16}(e);if(t===ZA.DOWNLOAD||t===ZA.PIXELS)return QA.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${t}`)}function nL(t,e,n){return`${t[0]}_${t[1]}_${e}_${n}`}class rL{constructor(t,e){this.variableNames=["A"],this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${e}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const sL="return abs(x);",iL="return x;";class aL{constructor(t,e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${e}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}class oL{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length);const e=t.length,n=YD("rc",e),r=VR(e),s=function(t,e){if(1===t)return"rc";let n="";for(let r=0;re.push(t)))}const e=this.texData.get(t),{values:n,shape:r,slice:s,dtype:i,complexTensorInfos:a,isPacked:o}=e;if(null!=s){let e;e=o?new aL(r,iL):new rL(r,iL);const n=this.runWebGLProgram(e,[{dataId:t,shape:r,dtype:i}],i),s=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),s}if(null!=n)return this.convertAndCacheOnCPU(t);if(Gt().getBool("DEBUG")&&!Gt().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===Gt().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==i&&Gt().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(t);const e=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(e.texture.texture,...eR(r))}if(this.pendingRead.set(t,[]),"complex64"!==i&&await this.gpgpu.createAndWaitForFence(),"complex64"===i){const t=await Promise.all([this.read(a.real.dataId),this.read(a.imag.dataId)]);u=Zp(t[0],t[1])}else if(null==c)u=this.getValuesFromTexture(t);else{const t=ot(r);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,t)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const t=this.gpgpu.gl;sR(t,(()=>t.deleteBuffer(c)))}const h=this.convertAndCacheOnCPU(t,u),d=this.pendingRead.get(t);return this.pendingRead.delete(t),d.forEach((t=>t(h))),this.pendingDisposal.has(t)&&(this.pendingDisposal.delete(t),this.disposeData(t)&&jo().removeDataId(t,this),this.pendingDeletes--),h}readToGPU(t,e={}){const n=this.texData.get(t),{values:r,shape:s,slice:i,dtype:a,isPacked:o,texture:l}=n;if("complex64"===a)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=i){let n;n=o?new aL(s,iL):new rL(s,iL);const r=this.runWebGLProgram(n,[{dataId:t,shape:s,dtype:a}],a),i=this.readToGPU(r,e);return this.disposeIntermediateTensorInfo(r),i}if(null==l)throw null!=r?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(t,e.customTexShape),c=jo().makeTensorFromDataId(u.dataId,u.shape,u.dtype),h=this.texData.get(u.dataId);return Object.assign({tensorRef:c},h.texture)}bufferSync(t){const e=this.readSync(t.dataId);let n=e;if("string"===t.dtype)try{n=e.map((t=>Ls(t)))}catch(t){throw new Error("Failed to decode encoded string bytes into utf-8")}return _a(t.shape,t.dtype,n)}checkNumericalProblems(t){if(null!=t)for(let e=0;e0}time(t){const e=this.activeTimers,n=[];let r=!1;null==this.programTimersStack?(this.programTimersStack=n,r=!0):this.activeTimers.push(n),this.activeTimers=n,t();const s=at(this.activeTimers.map((t=>t.query))).filter((t=>null!=t)),i=at(this.activeTimers.map((t=>t.name))).filter((t=>null!=t));this.activeTimers=e,r&&(this.programTimersStack=null);const a={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const t=await Promise.all(s);a.kernelMs=tt(t),a.getExtraProfileInfo=()=>t.map(((t,e)=>({name:i[e],ms:t}))).map((t=>`${t.name}: ${t.ms}`)).join(", ")}else a.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,a})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:As(),endMs:null}}endTimer(t){return Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),t):(t.endMs=As(),t)}async getQueryTime(t){if(Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(t);const e=t;return e.endMs-e.startMs}disposeData(t,e=!1){if(this.pendingDisposal.has(t))return!1;if(!this.texData.has(t))return!0;if(e?this.texData.get(t).refCount=0:this.texData.get(t).refCount--,!e&&this.texData.get(t).refCount>0)return!1;if(this.pendingRead.has(t))return this.pendingDisposal.add(t),this.pendingDeletes++,!1;this.releaseGPUData(t);const{complexTensorInfos:n}=this.texData.get(t);return null!=n&&(this.disposeData(n.real.dataId,e),this.disposeData(n.imag.dataId,e)),this.texData.delete(t),!0}releaseGPUData(t){const{texture:e,dtype:n,texShape:r,usage:s,isPacked:i,slice:a}=this.texData.get(t),o=a&&a.origDataId||t,l=this.dataRefCount.get(o);l>1?this.dataRefCount.set(o,l-1):(this.dataRefCount.delete(o),null!=e&&(this.numBytesInGPU-=this.computeBytes(r,n),this.textureManager.releaseTexture(e,r,s,i)));const u=this.texData.get(t);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(t){return this.uploadToGPU(t),this.texData.get(t).texture.texture}getDataInfo(t){return this.texData.get(t)}shouldExecuteOnCPU(t,e=cL){return Gt().getBool("WEBGL_CPU_FORWARD")&&t.every((t=>null==this.texData.get(t.dataId).texture&&ot(t.shape)0&&Et(n[0])){const s=n.map((t=>Ds(t)));r=this.write(s,t,e)}else r=this.write(n,t,e);return this.texData.get(r).usage=null,{dataId:r,shape:t,dtype:e}}makeOutput(t,e,n){const{dataId:r}=this.makeTensorInfo(t,e,n);return jo().makeTensorFromDataId(r,t,e,this)}unpackTensor(t){const e=new oL(t.shape);return this.runWebGLProgram(e,[t],t.dtype)}packTensor(t){const e=new JD(t.shape);return this.runWebGLProgram(e,[t],t.dtype,null,!0)}packedReshape(t,e){const n=[mR(t.shape),...gR(t.shape)],r={dtype:t.dtype,shape:n,dataId:t.dataId},s=[mR(e),...gR(e)],i=new ZD(s,n),a=[n],o=this.runWebGLProgram(i,[r],t.dtype,a,!0);return{dataId:o.dataId,shape:e,dtype:o.dtype}}decode(t,e){const n=this.texData.get(t),{isPacked:r,shape:s,dtype:i}=n;null!=e&&rt(ot(s)<=e[0]*e[1]*4,(()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data."));const a=yR(s);let o;o=r?new KR(a):new XR(a);const l=[null!=e?e:eR(a)];return{dtype:i,shape:s,dataId:this.runWebGLProgram(o,[{shape:a,dtype:i,dataId:t}],i,l,!0,e).dataId}}runWebGLProgram(t,e,n,r,s=!1,i){const a=this.makeTensorInfo(t.outputShape,n),o=this.texData.get(a.dataId);if(t.packedOutput&&(o.isPacked=!0),t.outPackingScheme===JA.DENSE){const e=null!=i?i:eR(t.outputShape);o.texShape=e.map((t=>2*t))}if(null!=t.outTexUsage&&(o.usage=t.outTexUsage),0===ot(a.shape))return o.values=bt(a.dtype,0),a;const l=[],u=e.map((e=>{if("complex64"===e.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(e.dataId);if(null==n.texture){if(!t.packedInputs&&ot(e.shape)<=Gt().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:e.shape,texData:null,isUniform:!0,uniformValues:n.values};t.packedInputs&&(n.isPacked=!0,n.shape=e.shape)}if(this.uploadToGPU(e.dataId),!!n.isPacked!=!!t.packedInputs)e=n.isPacked?this.unpackTensor(e):this.packTensor(e),l.push(e),n=this.texData.get(e.dataId);else if(n.isPacked&&!bR(n.shape,e.shape)){const t=e,r=e.shape;e.shape=n.shape,e=this.packedReshape(e,r),l.push(e),n=this.texData.get(e.dataId),t.shape=r}return{shape:e.shape,texData:n,isUniform:!1}}));this.uploadToGPU(a.dataId);const c={shape:a.shape,texData:o,isUniform:!1},h=function(t,e,n){let r="";e.concat(n).forEach((e=>{const s=null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0;if(t.enableShapeUniforms&&!e.isUniform){const i=e.texData.texShape,{useSqueezeShape:a,uniformShape:o,keptDims:l}=WR(t.packedInputs,e.shape,i);let u="",c="",h="";if(1===o.length&&t.packedInputs){const t=[Math.ceil(i[0]/2),Math.ceil(i[1]/2)];u=`${t[0]>1}_${t[1]>1}`}else if(2!==o.length||t.packedInputs){if(o.length>2&&!t.packedInputs){const t=Dt(o);h=`${t[0]===i[1]}_${t[t.length-1]===i[1]}`}}else c=`${o[0]>1}_${o[1]>1}`;const d=e.shape.length,p=2===o.length&&ut(e.shape,i),f=1===ot(e.shape),m=Ka(e.shape,n.shape),g=!t.packedInputs&&d===n.shape.length&&ut(i,n.texData.texShape),y=t.packedInputs||o.length>2?"":`${i[0]>1}_${i[1]>1}`;r+=`${d}_${g}_${a?l:""}_${o.length}_${f}_${m}_${p}_${u}_${c}_${h}_${y}_${s}`}else{const t=e.isUniform?"uniform":e.texData.texShape;r+=`${e.shape}_${t}_${s}`}}));const s=t.userCode;let i=t.constructor.name;return i+="_"+r+"_"+s+`${Gt().getNumber("WEBGL_VERSION")}`,i}(t,u,c),d=this.getAndSaveBinary(h,(()=>function(t,e,n,r){const s=n.map(((t,n)=>{const r={logicalShape:t.shape,texShape:t.isUniform?null:t.texData.texShape,isUniform:t.isUniform,isPacked:!t.isUniform&&t.texData.isPacked,flatOffset:null};return null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0&&(r.flatOffset=t.texData.slice.flatOffset),{name:e.variableNames[n],shapeInfo:r}})),i=s.map((t=>t.shapeInfo)),a={logicalShape:r.shape,texShape:r.texData.texShape,isUniform:!1,isPacked:r.texData.isPacked,flatOffset:null},o=DR(s,a,e),l=function(t,e){const n=fR(t,(()=>t.createShader(t.FRAGMENT_SHADER)),"Unable to create fragment WebGLShader.");if(sR(t,(()=>t.shaderSource(n,e))),sR(t,(()=>t.compileShader(n))),!1===t.getShaderParameter(n,t.COMPILE_STATUS))throw function(t,e){const n=oR.exec(e);if(null==n)return console.log(`Couldn't parse line number in error: ${e}`),void console.log(t);const r=+n[1],s=t.split("\n"),i=s.length.toString().length+2,a=s.map(((t,e)=>ft((e+1).toString(),i)+t));let o=0;for(let t=0;t{b[n]=t.getUniformLocation(u,e.name,d)})),{program:e,fragmentShader:l,source:o,webGLProgram:u,uniformLocations:p,customUniformLocations:b,inShapeInfos:i,outShapeInfo:a,infLoc:c,nanLoc:h,inShapesLocations:f,inTexShapesLocations:m,outShapeLocation:g,outShapeStridesLocation:x,outTexShapeLocation:y}}(this.gpgpu,t,u,c))),p=null!=this.activeTimers;let f;p&&(f=this.startTimer()),function(t,e,n,r,s){e.program.enableShapeUniforms||(jR(e.inShapeInfos,n),jR([e.outShapeInfo],[r]));const i=r.texData.texture,a=r.texData.texShape;r.texData.isPacked?t.setOutputPackedMatrixTexture(i.texture,a[0],a[1]):t.setOutputMatrixTexture(i.texture,a[0],a[1]),t.setProgram(e.webGLProgram),1===Gt().getNumber("WEBGL_VERSION")&&null!==e.infLoc&&t.gl.uniform1f(e.infLoc,1/0),null!==e.nanLoc&&t.gl.uniform1f(e.nanLoc,NaN),n.forEach(((n,r)=>{const s=e.program.variableNames[r],i=e.uniformLocations[s],a=e.uniformLocations[`offset${s}`],o=e.inShapesLocations[`${s}Shape`],l=e.inTexShapesLocations[`${s}TexShape`];if(o){const{uniformShape:r}=WR(e.program.packedInputs,n.shape,n.texData.texShape);switch(r.length){case 1:t.gl.uniform1iv(o,new Int32Array(r));break;case 2:t.gl.uniform2iv(o,new Int32Array(r));break;case 3:t.gl.uniform3iv(o,new Int32Array(r));break;case 4:t.gl.uniform4iv(o,new Int32Array(r))}}if(l&&t.gl.uniform2i(l,n.texData.texShape[0],n.texData.texShape[1]),null!=i)if(n.isUniform)if(ot(n.shape)<2)t.gl.uniform1f(i,n.uniformValues[0]);else{let e=n.uniformValues;e instanceof Float32Array||(e=new Float32Array(e)),t.gl.uniform1fv(i,e)}else null!=n.texData.slice&&null!=a&&t.gl.uniform1i(a,n.texData.slice.flatOffset),t.setInputMatrixTexture(n.texData.texture.texture,i,r)}));const o=e.outShapeLocation;if(o)switch(r.shape.length){case 1:t.gl.uniform1iv(o,new Int32Array(r.shape));break;case 2:t.gl.uniform2iv(o,new Int32Array(r.shape));break;case 3:t.gl.uniform3iv(o,new Int32Array(r.shape));break;case 4:t.gl.uniform4iv(o,new Int32Array(r.shape))}if(e.outShapeStridesLocation){const n=Dt(r.shape);switch(r.shape.length){case 2:t.gl.uniform1iv(e.outShapeStridesLocation,new Int32Array(n));break;case 3:t.gl.uniform2iv(e.outShapeStridesLocation,new Int32Array(n));break;case 4:t.gl.uniform3iv(e.outShapeStridesLocation,new Int32Array(n))}}e.outTexShapeLocation&&t.gl.uniform2i(e.outTexShapeLocation,r.texData.texShape[0],r.texData.texShape[1]),e.program.customUniforms&&s&&e.program.customUniforms.forEach(((n,r)=>{const i=e.customUniformLocations[r],a=s[r];if("float"===n.type)t.gl.uniform1fv(i,a);else if("vec2"===n.type)t.gl.uniform2fv(i,a);else if("vec3"===n.type)t.gl.uniform3fv(i,a);else if("vec4"===n.type)t.gl.uniform4fv(i,a);else if("int"===n.type)t.gl.uniform1iv(i,a);else if("ivec2"===n.type)t.gl.uniform2iv(i,a);else if("ivec3"===n.type)t.gl.uniform3iv(i,a);else{if("ivec4"!==n.type)throw Error(`uniform type ${n.type} is not supported yet.`);t.gl.uniform4iv(i,a)}})),t.executeProgram()}(this.gpgpu,d,u,c,r),l.forEach((t=>this.disposeIntermediateTensorInfo(t))),p&&(f=this.endTimer(f),this.activeTimers.push({name:t.constructor.name,query:this.getQueryTime(f)}));const m=Gt().get("WEBGL_FLUSH_THRESHOLD");if(m>0){const t=As();t-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=t)}if(!Gt().getBool("WEBGL_LAZILY_UNPACK")&&o.isPacked&&!1===s){const t=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),t}return a}compileAndRun(t,e,n,r,s=!1){return n=n||e[0].dtype,this.runWebGLProgram(t,e,n,r,s)}getAndSaveBinary(t,e){return t in this.binaryCache||(this.binaryCache[t]=e()),this.binaryCache[t]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(Gt().getBool("IS_TEST")||Object.keys(this.binaryCache).forEach((t=>{this.gpgpu.deleteProgram(this.binaryCache[t].webGLProgram),delete this.binaryCache[t]})),this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=Ko((()=>{if(!Gt().get("WEBGL_RENDER_FLOAT32_ENABLED")){const t=Gt().getBool("DEBUG");Gt().set("DEBUG",!1);const e=this.abs(Sl(1e-8)).dataSync()[0];if(Gt().set("DEBUG",t),e>0)return 32}return 16}))),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(t){const e=this.texData.get(t),{shape:n,dtype:r,values:s,texture:i,usage:a,isPacked:o}=e;if(null!=i)return;const l=null!=this.activeTimers;let u;l&&(u=As());let c=e.texShape;if(null==c&&(c=function(t,e=!1){let n=Gt().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e&&(n*=2,1===(t=t.map(((e,n)=>n>=t.length-2?Z(t[n]):t[n]))).length&&(t=[2,t[0]])),2!==t.length){const e=xt(t);t=e.newShape}let r=ot(t);if(t.length<=1&&r<=n)return[1,r];if(2===t.length&&t[0]<=n&&t[1]<=n)return t;if(3===t.length&&t[0]*t[1]<=n&&t[2]<=n)return[t[0]*t[1],t[2]];if(3===t.length&&t[0]<=n&&t[1]*t[2]<=n)return[t[0],t[1]*t[2]];if(4===t.length&&t[0]*t[1]*t[2]<=n&&t[3]<=n)return[t[0]*t[1]*t[2],t[3]];if(4===t.length&&t[0]<=n&&t[1]*t[2]*t[3]<=n)return[t[0],t[1]*t[2]*t[3]];if(e){const e=mR(t);let n=2,s=2;return t.length&&([n,s]=gR(t)),r=e*(n/2)*(s/2),dt(r).map((t=>2*t))}return dt(r)}(n,o),e.texShape=c),null!=s){const t=yR(n);let i,a=c[1],h=c[0];const d=s instanceof Uint8Array||s instanceof Uint8ClampedArray;!o&&d||([a,h]=nR(c[0],c[1])),i=o?new QR(t,d):new ZR(t,d);const p=d?[h,a]:c,f=this.makeTensorInfo(p,r),m=this.texData.get(f.dataId);m.usage=d?ZA.PIXELS:ZA.UPLOAD,m.texShape=p,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),a,h,s);const g=[[h,a]],y=!0,x=this.runWebGLProgram(i,[f],r,g,y),b=this.texData.get(x.dataId);e.texture=b.texture,e.texShape=b.texShape,e.isPacked=b.isPacked,e.usage=b.usage,this.disposeIntermediateTensorInfo(f),this.texData.delete(x.dataId),e.values=null,l&&(this.uploadWaitMs+=As()-u)}else{const t=this.acquireTexture(c,a,r,o);e.texture=t}}convertAndCacheOnCPU(t,e){const n=this.texData.get(t),{dtype:r}=n;return this.releaseGPUData(t),null!=e&&(n.values=function(t,e){if("float32"===e||"complex64"===e)return t;if("int32"===e||"bool"===e){const n="int32"===e?new Int32Array(t.length):new Uint8Array(t.length);for(let e=0;e1024*this.numMBBeforeWarning*1024){const t=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${t} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(t,e,r)}computeBytes(t,e){return t[0]*t[1]*Mt(e)}}hL.nextDataId=0,xi()&&il("webgl",(()=>new hL),2);class dL{constructor(t,e,n){this.variableNames=["A","B"],this.outputShape=Ja(e,n),this.enableShapeUniforms=qR(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${t}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}}class pL{constructor(t,e,n,r=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=Ja(e,n);const s=this.outputShape.length;this.enableShapeUniforms=qR(s);let i="";if(r)if(0===s||1===ot(this.outputShape))i="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else if(i=`\n ${VR(s)} coords = getOutputCoords();\n `,1===s)this.enableShapeUniforms?i+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":i+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const t=YD("coords",s);this.enableShapeUniforms?i+=`\n bool nextRowOutOfBounds =\n (${t[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${t[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:i+=`\n bool nextRowOutOfBounds =\n (${t[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${t[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${t}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${i}\n\n setOutput(result);\n }\n `}}function fL(t){const{inputs:e,backend:n}=t,{x:r}=e;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const mL={kernelName:cn,backendName:"webgl",kernelFunc:fL};function gL(t){const{inputs:e,backend:n}=t,{real:r,imag:s}=e,i=n.makeTensorInfo(r.shape,"complex64"),a=n.texData.get(i.dataId),o=fL({inputs:{x:r},backend:n}),l=fL({inputs:{x:s},backend:n});return a.complexTensorInfos={real:o,imag:l},i}const yL={kernelName:Se,backendName:"webgl",kernelFunc:gL},xL="return (a < 0.) ? b * a : a;",bL="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",vL={kernelName:gn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{alpha:i}=r,a=n.makeTensorInfo([],"float32",Cs(i,"float32")),o=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new pL(bL,s.shape,a.shape):new dL(xL,s.shape,a.shape),l=n.runWebGLProgram(o,[s,a],"float32");return n.disposeIntermediateTensorInfo(a),l}},wL="return (a < 0.) ? b * a : a;",SL="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",TL={kernelName:Qn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r,alpha:s}=e,i=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new pL(SL,r.shape,s.shape):new dL(wL,r.shape,s.shape);return n.runWebGLProgram(i,[r,s],"float32")}};function _L({opSnippet:t,packedOpSnippet:e,cpuKernelImpl:n,dtype:r}){return({inputs:s,backend:i})=>{const{x:a}=s,o=i,l=r||a.dtype;if(o.shouldExecuteOnCPU([a])&&null!=n){const t=o.texData.get(a.dataId),e=n(t.values,l);return o.makeTensorInfo(a.shape,l,e)}let u;return u=Gt().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=e?new aL(a.shape,e):new rL(a.shape,t),o.runWebGLProgram(u,[a],l)}}function ML({opSnippet:t,packedOpSnippet:e,checkOutOfBounds:n=!1,supportsComplex:r=!1,cpuKernelImpl:s,dtype:i}){return({inputs:a,backend:o})=>{const{a:l,b:u}=a,c=o;if(r&&"complex64"===l.dtype){const e=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[r,s]=[[e.complexTensorInfos.real,n.complexTensorInfos.real],[e.complexTensorInfos.imag,n.complexTensorInfos.imag]].map((e=>{const[n,r]=e,s={dataId:n.dataId,dtype:n.dtype,shape:l.shape},i={dataId:r.dataId,dtype:r.dtype,shape:u.shape},a=new dL(t,l.shape,u.shape);return c.runWebGLProgram(a,[s,i],ni(n.dtype,r.dtype))})),i=gL({inputs:{real:r,imag:s},backend:c});return c.disposeIntermediateTensorInfo(r),c.disposeIntermediateTensorInfo(s),i}const h=i||ni(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=s){const t=c.texData.get(l.dataId).values,e=c.texData.get(u.dataId).values,n="string"===l.dtype?Nf(t):t,r="string"===l.dtype?Nf(e):e,[i,a]=s(l.shape,u.shape,n,r,h),o=c.makeTensorInfo(a,h);return c.texData.get(o.dataId).values=i,o}let d;return d=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=e?new pL(e,l.shape,u.shape,n):new dL(t,l.shape,u.shape),c.runWebGLProgram(d,[l,u],h)}}function kL(t,e=!1){if("linear"===t)return"return x;";if("relu"===t)return e?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n";if("elu"===t)return e?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===t)return e?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n";if("prelu"===t)return e?SL:wL;if("leakyrelu"===t)return e?bL:xL;if("sigmoid"===t)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${t} has not been implemented for the WebGL backend.`)}class EL{constructor(t,e,n,r=!1,s=!1,i=!1,a=null,o=!1,l=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=qR(this.outputShape.length);const u=r?t[1]:t[2],c=Math.ceil(u/2),h=r?"i * 2, rc.y":"rc.y, i * 2",d=s?"rc.z, i * 2":"i * 2, rc.z",p=r?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],f=s?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"];let m="",g="";a&&(m=o?`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${a}\n }`:l?`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${a}\n }`:`vec4 activation(vec4 x) {\n ${a}\n }`,g="result = activation(result);");const y=i?"result += getBiasAtOutCoords();":"";i&&this.variableNames.push("bias"),o&&this.variableNames.push("preluActivationWeights"),l&&this.variableNames.push("leakyreluAlpha");let x="rc.x",b="rc.x";t[0]`The new shape (${l}) has ${u} elements and the old shape (${s.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`));const c=a.texData.get(s.dataId);return!c.isPacked||bR(s.shape,l)||null!==c.texture&&bR(c.shape,l)?(a.incRef(s.dataId),{dataId:s.dataId,shape:l,dtype:s.dtype}):function(t,e,n){const r=[mR(t.shape),...gR(t.shape)],s={dtype:t.dtype,shape:r,dataId:t.dataId},i=[mR(e),...gR(e)],a=new ZD(i,r),o=[r],l=n.runWebGLProgram(a,[s],t.dtype,o,!0);return{dataId:l.dataId,shape:e,dtype:l.dtype}}(s,l,a)}const DL={kernelName:ir,backendName:"webgl",kernelFunc:RL};class LL{constructor(t,e){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:i}=t;this.outputShape=[r,i];const a=4*Math.floor(n/4),o=n%4;let l="sumValue += dot(values, ones);";if(null!=e){const t=1/e;l=`sumValue += dot(values * ${ct(t)?t.toPrecision(2):t}, ones);`}let u="";s%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${a};\n if (${1===o}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}}class FL{constructor(t,e){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:i}=t;this.outputShape=[r,i];let a="0.0",o="";"prod"===e?a="1.0":"min"===e?(a="1.0 / 1e-20",o="min"):"max"===e&&(a="-1.0 / 1e-20",o="max");let l=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===e?l="sumValue":"prod"===e?l="prodValue":"all"===e?l="allValue":"any"===e&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let h=`\n if (${"sum"===e}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===e}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${o}(values, minMaxValue);\n if (${"min"===e} || ${"max"===e}) {\n minMaxValue = ${o}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,d="vec4";"all"===e?(a="1.0",h="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",d="bvec4"):"any"===e&&(a="0.0",h="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",d="bvec4");let p="";s%n>0&&(p=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${a};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${p}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${a});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${h}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${2===c}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${3===c}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${h}\n }\n setOutput(${l});\n }\n `}}function $L(t,e,n,r){const s=function(t){const e=[];for(;0===e.length||1!==e[e.length-1].outSize;){const n=e.length?e[e.length-1].outSize:t[1],r=Op(n);e.push({inSize:n,windowSize:r,outSize:Math.ceil(n/r)})}return e}(t.shape);let i=t;for(let a=0;a6)throw Error(`Transpose for rank ${e} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],r=new Array(e);for(let e=0;e6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const r=VR(this.rank),s=KD("rc",this.rank),i=new Array(this.rank);for(let t=0;t`Error in matMul: inner shapes (${h}) and (${d}) of Tensors with shapes ${t.shape} and ${e.shape} and transposeA=${n} and transposeB=${r} must match.`));const v=n?[y,h,p]:[y,p,h],w=r?[x,f,d]:[x,d,f],S=RL({inputs:{x:t},backend:s,attrs:{shape:v}}),T=RL({inputs:{x:e},backend:s,attrs:{shape:w}}),_=[S,T],M=Math.max(y,x),k=n?S.shape[1]:S.shape[2],E=null!=i,I=null!=a,C="leakyrelu"===l,N=null!=l?kL(l,!0):null;let A;if((1===p||1===f)&&k>1e3&&!1===(E||I||C||null!=N)){let t=S,e=T;n&&(t=VL({inputs:{x:S},backend:s,attrs:{perm:[0,2,1]}}),_.push(t)),r&&(e=VL({inputs:{x:T},backend:s,attrs:{perm:[0,2,1]}}),_.push(e));const i=1===f;let a=t;1!==f&&(a=RL({inputs:{x:t},backend:s,attrs:{shape:[M,k,1]}}),_.push(a));const o=1===f?2:1;let l=e;i&&(l=RL({inputs:{x:e},backend:s,attrs:{shape:[M,1,k]}}),_.push(l));const u=NL({inputs:{a,b:l},backend:s});A=BL({inputs:{x:u},backend:s,attrs:{axis:o,keepDims:!0}}),_.push(u)}else{const l=ni(t.dtype,e.dtype),u=new EL(v,w,[M,p,f],n,r,E,N,I,C),c=[S,T];if(null!=i&&c.push(i),I&&c.push(a),C){const t=s.makeTensorInfo([],"float32",Cs(o,"float32"));c.push(t),_.push(t)}A=s.runWebGLProgram(u,c,l)}const R=RL({inputs:{x:A},backend:s,attrs:{shape:b}});_.push(A);for(const t of _)s.disposeIntermediateTensorInfo(t);return R}const GL={kernelName:Qr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{a:s,b:i,bias:a,preluActivationWeights:o}=e,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:h}=r;return HL({a:s,b:i,transposeA:l,transposeB:u,backend:n,bias:a,preluActivationWeights:o,leakyreluAlpha:h,activation:c})}},jL="return abs(x);",qL={kernelName:Yt,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e;if(n.shouldExecuteOnCPU([r])&&"complex64"!==r.dtype){const t=n.texData.get(r.dataId),e=LD(t.values);return n.makeTensorInfo(r.shape,r.dtype,e)}let s;return s=Gt().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new aL(r.shape,jL):new rL(r.shape,jL),n.runWebGLProgram(s,[r],r.dtype)}},XL=_L({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),KL={kernelName:Jt,backendName:"webgl",kernelFunc:XL},YL=_L({opSnippet:"if (isnan(x)) return x;\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),JL={kernelName:Zt,backendName:"webgl",kernelFunc:YL},ZL="return a + b;",QL=ML({opSnippet:ZL,packedOpSnippet:ZL,supportsComplex:!0,cpuKernelImpl:oD}),tF={kernelName:Qt,backendName:"webgl",kernelFunc:QL};class eF{constructor(t,e){this.outputShape=[],this.outputShape=t,this.variableNames=e.map(((t,e)=>`T${e}`));const n=[];this.variableNames.forEach((t=>{n.push(`float v${t} = get${t}AtOutCoords();`)}));const r=this.variableNames.map((t=>`v${t}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${r};\n setOutput(result);\n }\n `}}class nF{constructor(t,e){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.variableNames=e.map(((t,e)=>`T${e}`));const n=[];this.variableNames.forEach((t=>{n.push(`vec4 v${t} = get${t}AtOutCoords();`)}));const r=this.variableNames.map((t=>`v${t}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${r};\n setOutput(result);\n }\n `}}const rF={kernelName:te,backendName:"webgl",kernelFunc:function t(e){const{inputs:n,backend:r}=e,s=n;if(1===s.length)return fL({inputs:{x:s[0]},backend:r});if(s.length>Gt().get("WEBGL_MAX_TEXTURES_IN_SHADER")){const e=Math.floor(s.length/2),n=t({inputs:s.slice(0,e),backend:r}),i=t({inputs:s.slice(e),backend:r});return t({inputs:[n,i],backend:r})}const i=s.map((t=>t.dtype)).reduce(((t,e)=>ni(t,e))),a=s.map((t=>t.shape)),o=Gt().getBool("WEBGL_PACK")?new nF(s[0].shape,a):new eF(s[0].shape,a);return r.runWebGLProgram(o,s,i)}},sF={kernelName:ee,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=s.shape.length,l=yt(i,s.shape);let u=l;const c=Nc(u,o);let h=s;null!=c&&(h=VL({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Rc(u.length,o)),Cc("all",u,o);const[d,p]=Ec(h.shape,u),f=RL({inputs:{x:h},backend:n,attrs:{shape:[-1,ot(p)]}}),m=$L(f,f.dtype,"all",n);let g;return g=RL(a?{inputs:{x:m},backend:n,attrs:{shape:Ic(d,l)}}:{inputs:{x:m},backend:n,attrs:{shape:d}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}},iF={kernelName:ne,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=s.shape.length,l=yt(i,s.shape);let u=l;const c=Nc(u,o);let h=s;null!=c&&(h=VL({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Rc(u.length,o)),Cc("any",u,o);const[d,p]=Ec(h.shape,u),f=RL({inputs:{x:h},backend:n,attrs:{shape:[-1,ot(p)]}}),m=$L(f,f.dtype,"any",n);let g;return g=RL(a?{inputs:{x:m},backend:n,attrs:{shape:Ic(d,l)}}:{inputs:{x:m},backend:n,attrs:{shape:d}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}};class aF{constructor(t,e,n){this.variableNames=["A"];const{windowSize:r,batchSize:s,outSize:i}=t;n||this.variableNames.push("bestIndicesA"),this.outputShape=[s,i];const a="max"===e?">":"<",o=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${r};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${r}; i++) {\n int inIdx = ${o};\n float candidate = getA(batch, inIdx);\n if (candidate ${a} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}}class oF{constructor(t,e,n,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,rt(t.length>2,(()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`));const s=t[t.length-1],i=Math.ceil(s/e);this.outputShape=t.slice(0,-1),i>1&&this.outputShape.push(i),r||this.variableNames.push("bestIndicesA");const a=this.outputShape,o=a.length,l=VR(o),u=YD("coords",o);let c,h;if(1===i){h=o+1;const t=VR(h);c=`\n ${t} sourceLocR = ${t}(${u.join()}, 0);\n ++${u[o-1]};\n ${t} sourceLocG = ${t}(${u.join()}, 0);\n ++${u[o-2]};\n ${t} sourceLocA = ${t}(${u.join()}, 0);\n --${u[o-1]};\n ${t} sourceLocB = ${t}(${u.join()}, 0);\n --${u[o-2]};`}else h=o,c=`\n ${l} sourceLocR = coords;\n ++${u[o-1]};\n ${l} sourceLocG = coords;\n ++${u[o-2]};\n ${l} sourceLocA = coords;\n --${u[o-1]};\n ${l} sourceLocB = coords;\n --${u[o-2]};`;const d=["x","y","z","w","u","v"].slice(0,h),p="."+d[h-1],f=d.map((t=>"int "+t)),m=YD("sourceLocR",h-1).concat("inIdx.r"),g=YD("sourceLocG",h-1).concat("inIdx.g"),y=YD("sourceLocB",h-1).concat("inIdx.b"),x=YD("sourceLocA",h-1).concat("inIdx.a"),b="max"===n?"greaterThan":"lessThan",v=r?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${y.join()}),\n getBestIndicesAChannel(${x.join()})));`,w=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${y.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${x.join()}) : 0.)`,S=r?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }\n ${S}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[o-1]} < ${a[o-1]-1};\n bool hasNextRow = ${u[o-2]} < ${a[o-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${p}, sourceLocG${p},\n sourceLocB${p}, sourceLocA${p}) * ${e};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${w};\n\n for (int i = 0; i < ${e}; i++) {\n inIdx = srcIdx;\n ${v}\n vec4 candidate = ${w};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${b}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}}function lF(t,e,n,r=null){let s=e.shape[0],i=e.shape[1];null!=r&&(s=r.shape[0],i=r.shape[1]);const a=Op(i),o={windowSize:a,inSize:i,batchSize:s,outSize:Math.ceil(i/a)},l=new aF(o,n,null==r),u=[e];null!=r&&u.push(r);const c=t.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const h=lF(t,e,n,c);return t.disposeIntermediateTensorInfo(c),h}function uF(t,e,n,r=null){const s=null!=r?r.shape:e.shape,i=Op(s[s.length-1]),a=new oF(s,i,n,null==r),o=null==r?[e]:[e,r],l=t.runWebGLProgram(a,o,"int32");if(l.shape.length===e.shape.length){const r=uF(t,e,n,l);return t.disposeIntermediateTensorInfo(l),r}return l}function cF(t,e,n,r){const s=[n];if(Cc("arg"+r.charAt(0).toUpperCase()+r.slice(1),s,e.shape.length),!Gt().getBool("WEBGL_PACK_REDUCE")||e.shape.length<=2){const n=[],i=t.texData.get(e.dataId);let a=e;null!==i&&i.isPacked&&(a=t.unpackTensor(e),n.push(a));const[o,l]=Ec(a.shape,s),u=ot(l),c=RL({inputs:{x:a},backend:t,attrs:{shape:[-1,u]}});n.push(c);const h=lF(t,c,r);n.push(h);const d=RL({inputs:{x:h},backend:t,attrs:{shape:o}});return n.forEach((e=>t.disposeIntermediateTensorInfo(e))),d}return uF(t,e,r)}const hF={kernelName:re,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i}=r;let a=yt(i,s.shape);const o=Nc(a,s.shape.length);let l=s;const u=[];null!=o&&(l=VL({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),a=Rc(a.length,l.shape.length)),Cc("argMax",[a[0]],l.shape.length);const c=cF(n,l,a[0],"max");return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),c}},dF={kernelName:se,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i}=r;let a=yt(i,s.shape);const o=Nc(a,s.shape.length);let l=s;const u=[];null!=o&&(l=VL({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),a=Rc(a.length,l.shape.length)),Cc("argMin",[a[0]],l.shape.length);const c=cF(n,l,a[0],"min");return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),c}},pF=_L({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),fF={kernelName:ie,backendName:"webgl",kernelFunc:pF},mF=_L({opSnippet:"if (isnan(x)) return x;return log(x + sqrt(x * x + 1.0));"}),gF={kernelName:ae,backendName:"webgl",kernelFunc:mF},yF=_L({opSnippet:"if (isnan(x)) return x;\n return atan(x);\n"}),xF={kernelName:oe,backendName:"webgl",kernelFunc:yF},bF=ML({opSnippet:"\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),vF={kernelName:ue,backendName:"webgl",kernelFunc:bF},wF=_L({opSnippet:"if (isnan(x)) return x;\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),SF={kernelName:le,backendName:"webgl",kernelFunc:wF};class TF{constructor(t,e,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===e&&n)throw new Error("Cannot compute positions for average pool.");const i=t.filterWidth,a=t.strideHeight,o=t.strideWidth,l=t.dilationHeight,u=t.dilationWidth,c=t.effectiveFilterHeight,h=t.effectiveFilterWidth,d=t.padInfo.top,p=t.padInfo.left;this.outputShape=t.outShape;const f="avg"===e,m=`((batch * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + d`,g=`(xR * ${t.inWidth} + xC) * ${t.inChannels} + d`;let y="0.0";if(f||(y="-1.0 / 1e-20"),n){const e=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${a}, ${o});\n const ivec2 pads = ivec2(${d}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${e} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?m:g:`wR * ${h} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let x=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===e&&(x="avgValue / count");const b=4*Math.floor(i/4),v=i%4,w=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${a}, ${o});\n const ivec2 pads = ivec2(${d}, ${p});\n const float initializationValue = ${y};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${y});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${b}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${w}\n }\n\n int xC = xCCorner + ${b};\n if (${1===v}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${w}\n } else if (${2===v}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${w}\n } else if (${3===v}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${w}\n }\n }\n setOutput(${x});\n }\n `}}class _F{constructor(t,e,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===e&&n)throw new Error("Cannot compute positions for average pool.");const i=t.filterWidth,a=t.strideDepth,o=t.strideHeight,l=t.strideWidth,u=t.dilationDepth,c=t.dilationHeight,h=t.dilationWidth,d=t.effectiveFilterDepth,p=t.effectiveFilterHeight,f=t.effectiveFilterWidth,m=t.padInfo.front,g=t.padInfo.top,y=t.padInfo.left;this.outputShape=t.outShape;const x="avg"===e;let b="0.0";if(x||(b="-1.0 / 1e-20"),n){const e=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${d};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${h}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${e} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?`(((batch * ${t.inDepth} + xD) * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`((xD * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`wD * ${p} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let v=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===e&&(v="avgValue / count");const w=4*Math.floor(i/4),S=i%4,T=`\n if (${x}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${d};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${w}; wC += 4) {\n int xC = xCCorner + wC * ${h};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n getValue(batch, xD, xR, xC + 3 * ${h}, ch)\n );\n\n ${T}\n }\n\n int xC = xCCorner + ${w};\n if (${1===S}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${2===S}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${3===S}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n initializationValue\n );\n\n ${T}\n }\n }\n setOutput(${v});\n }\n }\n `}}const MF={kernelName:ce,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;MR(s,"avgPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))return fL({inputs:{x:s},backend:n});const c=new TF(u,"avg",!1);return n.runWebGLProgram(c,[s],"float32")}},kF={kernelName:de,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l,dataFormat:u}=r,c=Jl(s.shape,i,a,[1,1,1],o,l,u),h=new _F(c,"avg",!1);return n.runWebGLProgram(h,[s],"float32")}};class EF{constructor(t){this.variableNames=["dy"],this.outputShape=t.inShape;const e=t.filterHeight,n=t.filterWidth,r=t.strideHeight,s=t.strideWidth,i=t.dilationHeight,a=t.dilationWidth,o=t.effectiveFilterHeight,l=t.effectiveFilterWidth,u=o-1-t.padInfo.top,c=l-1-t.padInfo.left,h=1/(e*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${h});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${o};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${a}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class IF{constructor(t){this.variableNames=["dy"],this.outputShape=t.inShape;const e=t.filterDepth,n=t.filterHeight,r=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,o=t.dilationDepth,l=t.dilationHeight,u=t.dilationWidth,c=t.effectiveFilterDepth,h=t.effectiveFilterHeight,d=t.effectiveFilterWidth,p=c-1-t.padInfo.front,f=h-1-t.padInfo.top,m=d-1-t.padInfo.left,g=1/(e*n*r);this.userCode=`\n const ivec3 pads = ivec3(${p}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${o}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${h};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${d};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const CF={kernelName:pe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Jl(a.shape,o,l,[1,1,1],u,c),d=new IF(h);return n.runWebGLProgram(d,[s],a.dtype)}},NF={kernelName:he,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i;MR([s,i],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(a.shape,o,l,1,u),h=new EF(c);return n.runWebGLProgram(h,[s],a.dtype)}},AF={kernelName:fe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{a:s,b:i}=e,{transposeA:a,transposeB:o}=r;return HL({a:s,b:i,transposeA:a,transposeB:o,backend:n})}};class RF{constructor(t,e,n,r,s,i){this.outputShape=[],this.variableNames=["x","mean","variance"],Ja(t,e),Ja(t,n);let a="0.0";null!=r&&(Ja(t,r),this.variableNames.push("offset"),a="getOffsetAtOutCoords()");let o="1.0";null!=s&&(Ja(t,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=t,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${a};\n float scale = ${o};\n float inv = scale * inversesqrt(variance + float(${i}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}}class DF{constructor(t,e,n,r,s,i){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],Ja(t,e),Ja(t,n);let a="vec4(0.0)";null!=r&&(Ja(t,r),this.variableNames.push("offset"),a="getOffsetAtOutCoords()");let o="vec4(1.0)";null!=s&&(Ja(t,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=t,this.userCode=`\n void main() {\n vec4 offset = ${a};\n vec4 scale = ${o};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${i}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}}const LF={kernelName:sn,backendName:"webgl",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r,mean:s,variance:i,offset:a,scale:o}=t;rt(s.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),rt(null==a||s.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),rt(null==o||s.shape.length===o.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[r,s,i];let c=null;null!=a&&(c=a.shape,u.push(a));let h=null;null!=o&&(h=o.shape,u.push(o));const d=Gt().getBool("WEBGL_PACK_NORMALIZATION")?new DF(r.shape,s.shape,i.shape,c,h,l):new RF(r.shape,s.shape,i.shape,c,h,l);return e.runWebGLProgram(d,u,u[0].dtype)}};class FF{constructor(t){this.variableNames=["source"],this.outputShape=t,this.rank=t.length;const e=VR(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(t){if(1===t)return"sourceLoc";if(t<=6)return $F.slice(0,t).map((t=>"sourceLoc."+t)).join(",");throw Error(`Slicing for rank ${t} is not yet supported`)}(this.rank);let r;r=`\n ${e} sourceLoc;\n ${e} coords = getOutputCoords();\n ${t.map(((t,e)=>`sourceLoc.${$F[e]} = start[${e}] + coords.${$F[e]};`)).join("\n")}\n `,this.userCode=`\n void main() {\n ${r}\n setOutput(getSource(${n}));\n }\n `}}const $F=["x","y","z","w","u","v"];class OF{constructor(t){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const e=VR(this.rank),n=YD("coords",this.rank),r=YD("sourceLoc",this.rank),s=1===this.rank?"sourceLoc":`vec2(${r.slice(-2).join()})`,i=`getChannel(getSource(${r.join()}), ${s})`,a=`\n result.x = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.y = ${i};\n --${r[this.rank-1]};\n }\n `,o=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${t[this.rank-2]}) {\n ++${r[this.rank-2]};\n result.z = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.w = ${i};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${e}(${t.map(((t,e)=>`start[${e}]`)).join()});`:t.map(((t,e)=>`${r[e]} = ${n[e]} + start[${e}];`)).join("\n");this.userCode=`\n void main() {\n ${e} coords = getOutputCoords();\n ${e} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${a}\n ${o}\n setOutput(result);\n }\n `}}function PF(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{begin:i,size:a}=r,[o,l]=To(s,i,a);if(lo(s,o,l),0===ot(l))return n.makeTensorInfo(l,s.dtype,[]);if(n.shouldExecuteOnCPU([s])||"string"===s.dtype){const t=n.texData.get(s.dataId),e=FD(t.values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,e)}const{isPacked:u}=n.texData.get(s.dataId),c=wo(s.shape,o,l);if(u||!c){const t=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new OF(l):new FF(l),e=[o];return n.runWebGLProgram(t,[s],s.dtype,e)}return n.uploadToGPU(s.dataId),function(t,e,n,r){const s=r.texData.get(t.dataId),i=r.makeTensorInfo(n,t.dtype),a=r.texData.get(i.dataId);Object.assign(a,s),a.refCount=1,a.shape=n,a.dtype=t.dtype;let o=So(e,Dt(t.shape));s.slice&&(o+=s.slice.flatOffset),a.slice={flatOffset:o,origDataId:s.slice&&s.slice.origDataId||t.dataId};const l=r.dataRefCount.get(a.slice.origDataId)||1;return r.dataRefCount.set(a.slice.origDataId,l+1),i}(s,o,l,n)}const zF={kernelName:yr,backendName:"webgl",kernelFunc:PF},BF={kernelName:me,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockShape:i,crops:a}=r;rt(s.shape.length<=4,(()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet"));const o=i.reduce(((t,e)=>t*e)),l=zp(s.shape,i,o),u=Bp(l.length,i.length),c=Up(s.shape,i,o),h=Vp(a,i.length),d=Wp(c,a,i.length),p=[],f=RL({inputs:{x:s},backend:n,attrs:{shape:l}}),m=VL({inputs:{x:f},backend:n,attrs:{perm:u}}),g=RL({inputs:{x:m},backend:n,attrs:{shape:c}}),y=PF({inputs:{x:g},backend:n,attrs:{begin:h,size:d}});return p.push(f),p.push(m),p.push(g),p.forEach((t=>n.disposeIntermediateTensorInfo(t))),y}},UF={kernelName:ge,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,weights:i}=e,{size:a}=r,o=n.readSync(s.dataId),l=n.readSync(i.dataId),u=lD(o,l,i.dtype,i.shape,a);return n.makeTensorInfo([a],i.dtype,u)}},VF={kernelName:xe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{s0:r,s1:s}=e,i=n.readSync(r.dataId),a=n.readSync(s.dataId),o=Ja(Array.from(i),Array.from(a));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},WF=ML({opSnippet:"return float(a != b);",cpuKernelImpl:CD,dtype:"bool"}),HF={kernelName:Wn,backendName:"webgl",kernelFunc:WF};function GF(t){const{inputs:e,backend:n}=t,{input:r}=e;return fL({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.real},backend:n})}const jF={kernelName:nr,backendName:"webgl",kernelFunc:GF},qF={kernelName:be,backendName:"webgl",kernelFunc:function t(e){const{inputs:n,backend:r,attrs:s}=e,{x:i}=n,{dtype:a}=s;if("complex64"===a){if("complex64"===i.dtype)return fL({inputs:{x:i},backend:r});const e=Vc(i.shape),n=t({inputs:{x:i},backend:r,attrs:{dtype:"float32"}}),s=gL({inputs:{real:n,imag:e},backend:r});return e.dispose(),r.disposeIntermediateTensorInfo(n),s}if("complex64"===i.dtype){const e=GF({inputs:{input:i},backend:r}),n=t({inputs:{x:e},backend:r,attrs:{dtype:a}});return r.disposeIntermediateTensorInfo(e),n}if(!Tt(i.dtype,a)){const t=fL({inputs:{x:i},backend:r});return{dataId:t.dataId,shape:t.shape,dtype:a}}if("int32"===a)return function(t,e){const n=new rL(t.shape,"return float(int(x));"),r=e.runWebGLProgram(n,[t],"int32");return{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}(i,r);if("bool"===a){const t=r.makeTensorInfo([],"bool",bt("bool",1)),e=WF({inputs:{a:i,b:t},backend:r});return r.disposeIntermediateTensorInfo(t),e}throw new Error(`Error in Cast: failed to cast ${i.dtype} to ${a}`)}},XF="return ceil(x);",KF=_L({opSnippet:XF,packedOpSnippet:XF,cpuKernelImpl:cD}),YF={kernelName:ve,backendName:"webgl",kernelFunc:KF};class JF{constructor(t){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=t,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}}class ZF{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=t,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const QF={kernelName:we,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{clipValueMin:i,clipValueMax:a}=r;let o;o=Gt().getBool("WEBGL_PACK_CLIP")?new ZF(s.shape):new JF(s.shape);const l=[[i],[a]];return n.runWebGLProgram(o,[s],s.dtype,l)}};class t${constructor(t){this.variableNames=["real","imag"],this.outputShape=t,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}}function e$(t,e){return{dataId:e.dataId,dtype:e.dtype,shape:t.shape}}const n$={kernelName:Te,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e,s=n.texData.get(r.dataId),i=new t$(r.shape),a=[e$(r,s.complexTensorInfos.real),e$(r,s.complexTensorInfos.imag)];return n.runWebGLProgram(i,a,a[0].dtype)}};class r${constructor(t){this.outputShape=[],this.outputShape=Fp(t,1),this.variableNames=t.map(((t,e)=>`T${e}`));const e=new Array(t.length-1);e[0]=t[0][1];for(let n=1;n`T${e}`));const o=new Array(t.length-1);o[0]=t[0][e];for(let n=1;n= ${o[t-1]}) {\n return getChannel(\n getT${t}(${i$(a,l,e)}),\n vec2(${i$(u,l,e)}));\n }`}const d=o.length,p=o[o.length-1];h+=`\n return getChannel(\n getT${d}(${i$(a,l,p)}),\n vec2(${i$(u,l,p)}));`,this.userCode=`\n float getValue(${a.map((t=>"int "+t))}) {\n ${h}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${i}), 0., 0., 0.);\n\n ${i[r-1]} = ${i[r-1]} + 1;\n if (${i[r-1]} < ${n[r-1]}) {\n result.g = getValue(${i});\n }\n\n ${i[r-2]} = ${i[r-2]} + 1;\n if (${i[r-2]} < ${n[r-2]}) {\n result.a = getValue(${i});\n }\n\n ${i[r-1]} = ${i[r-1]} - 1;\n if (${i[r-2]} < ${n[r-2]} &&\n ${i[r-1]} < ${n[r-1]}) {\n result.b = getValue(${i});\n }\n setOutput(result);\n }\n `}}function i$(t,e,n){const r=t.indexOf(e);return t.map(((t,e)=>e===r?`${t} - ${n}`:t)).join()}function a$(t){const{inputs:e,backend:n}=t,{input:r}=e;return fL({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.imag},backend:n})}const o$={kernelName:dn,backendName:"webgl",kernelFunc:a$};function l$(t,e,n){const r=t[0].dtype;if("complex64"===r){const r=t.map((t=>GF({inputs:{input:t},backend:n}))),s=t.map((t=>a$({inputs:{input:t},backend:n}))),i=l$(r,e,n),a=l$(s,e,n),o=gL({inputs:{real:i,imag:a},backend:n});return r.forEach((t=>n.disposeIntermediateTensorInfo(t))),s.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(a),o}let s=n.shouldExecuteOnCPU(t);if("string"===r&&(s=!0),s){const s=t.map((t=>{const r=ot(t.shape.slice(e));return RL({inputs:{x:t},backend:n,attrs:{shape:[-1,r]}})})),i=s.map((t=>({vals:n.readSync(t.dataId),shape:t.shape}))),a=Fp(s.map((t=>t.shape)),1),o=1===s[0].shape[0],l=hD(i,a,r,o),u=Fp(t.map((t=>t.shape)),e),c=n.makeTensorInfo(u,r,l);return s.forEach((t=>n.disposeIntermediateTensorInfo(t))),c}if(t.length>Gt().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const r=Math.floor(t.length/2),s=l$(t.slice(0,r),e,n),i=l$(t.slice(r),e,n),a=l$([s,i],e,n);return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(i),a}if(Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&t[0].shape.length>1){const s=new s$(t.map((t=>t.shape)),e);return n.runWebGLProgram(s,t,r)}const{tensors2D:i,outShape:a}=function(t,e,n){const r=Fp(t.map((t=>t.shape)),e);return{tensors2D:t.map((t=>RL({inputs:{x:t},attrs:{shape:[-1,ot(t.shape.slice(e))]},backend:n}))),outShape:r}}(t,e,n),o=new r$(i.map((t=>t.shape))),l=n.runWebGLProgram(o,i,r);i.forEach((t=>n.disposeIntermediateTensorInfo(t)));const u=RL({inputs:{x:l},attrs:{shape:a},backend:n});return n.disposeIntermediateTensorInfo(l),u}function u$(t){const{inputs:e,backend:n,attrs:r}=t,{axis:s}=r,i=yt(s,e[0].shape)[0],a=Fp(e.map((t=>t.shape)),i);if(0===ot(a))return n.makeTensorInfo(a,e[0].dtype,[]);const o=e.filter((t=>ot(t.shape)>0));return 1===o.length?fL({inputs:{x:o[0]},backend:n}):(Lp(o.map((t=>t.shape)),i),l$(o,i,n))}const c$={kernelName:_e,backendName:"webgl",kernelFunc:u$};class h${constructor(t,e=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.outputShape=t.outShape;const i=t.padInfo.top,a=t.padInfo.left,o=t.strideHeight,l=t.strideWidth,u=t.dilationHeight,c=t.dilationWidth,h=t.filterHeight,d=t.filterWidth,p=4*Math.floor(t.inChannels/4),f=t.inChannels%4,m="channelsLast"===t.dataFormat,g=m?1:2,y=m?2:3,x=m?3:1;let b="",v="";n&&(b=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,v="result = activation(result);");const w=e?"result += getBiasAtOutCoords();":"";e&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${b}\n\n const ivec2 strides = ivec2(${o}, ${l});\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${x}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${y}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${p}) *\n getW(wR, wC, ${p}, d2);\n } else {\n dotProd +=\n getX(batch, ${p}, xR, xC) *\n getW(wR, wC, ${p}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2),\n getW(wR, wC, ${p} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1),\n getX(batch, xR, xC, ${p} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC),\n getX(batch, ${p} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${w}\n ${v}\n setOutput(result);\n }\n `}}class d${constructor(t){this.variableNames=["x","W"],this.outputShape=t.outShape;const e=t.padInfo.front,n=t.padInfo.top,r=t.padInfo.left,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,o=t.dilationDepth,l=t.dilationHeight,u=t.dilationWidth,c=t.filterDepth,h=t.filterHeight,d=t.filterWidth,p=4*Math.floor(t.inChannels/4),f=t.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${i}, ${a});\n const ivec3 pads = ivec3(${e}, ${n}, ${r});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${o};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${p}) *\n getW(wF, wR, wC, ${p}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1),\n getX(batch, xF, xR, xC, ${p} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2),\n getW(wF, wR, wC, ${p} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class p${constructor(t,e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"},{name:"pad",type:"ivec2"},{name:"stride",type:"ivec2"},{name:"dilation",type:"ivec2"},{name:"inChannels",type:"int"},{name:"itemsPerBlockRow",type:"int"},{name:"outWidth",type:"int"}],this.outputShape=t,this.enableShapeUniforms=qR(this.outputShape.length);const{dataFormat:n}=e,r=ER(),s="channelsLast"===n,i=s?0:1,a=s?1:2,o=this.enableShapeUniforms?"if(blockIndex < outShape[1] && pos < outShape[0]) {":`if(blockIndex < ${t[1]} && pos < ${t[0]}) {`;let l="";for(let t=0;t<=1;t++)for(let e=0;e<=1;e++)l+=`\n blockIndex = rc.y + ${e};\n pos = rc.x + ${t};\n\n ${o}\n offsetY = int(blockIndex / outWidth) * stride[0] - pad[0];\n d0 = offsetY + dilation[0] * (pos / itemsPerBlockRow);\n\n if(d0 < inputShape[${i}] && d0 >= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${a}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${2*t+e}] = getChannel(\n getA(d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*t+e}] = getChannel(\n getA(ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec2 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${r.output} = result;\n }\n `}}function f$({x:t,filter:e,convInfo:n,backend:r,bias:s=null,preluActivationWeights:i=null,leakyreluAlpha:a=0,activation:o=null}){const l=t.shape,u=r.texData.get(t.dataId),c=n.inChannels,h=l[0]*l[1]*l[2],d=n.outChannels,p="channelsLast"===n.dataFormat;let f;const m=[];if((1!==h&&1!==d||!(c>1e3))&&u.isPacked&&p&&null!=u.texture&&l[2]%2!=0&&ut(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),h={dataId:t.dataId,shape:[1,c,n.inChannels],dtype:t.dtype},d=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,rt(bR(u.shape,h.shape),(()=>`packed reshape ${u.shape} to ${h.shape} isn't free`));const p=RL({inputs:{x:e},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}});m.push(p);const g=HL({a:h,b:p,backend:r,transposeA:!1,transposeB:!1,bias:s,activation:o,preluActivationWeights:i,leakyreluAlpha:a}),y=r.texData.get(g.dataId);rt(y.isPacked,(()=>"batchMatMul result is expected to be packed")),u.shape=d,y.shape=n.outShape,f=fL({inputs:{x:g},backend:r}),f.shape=n.outShape,m.push(g)}else{const u=RL({inputs:{x:t},backend:r,attrs:{shape:[1,p?l[0]*l[1]*l[2]:l[0]*l[2]*l[3],n.inChannels]}}),c=RL({inputs:{x:e},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}}),h=HL({a:u,b:c,transposeA:!1,transposeB:!1,backend:r,bias:s,activation:o,preluActivationWeights:i,leakyreluAlpha:a});f=RL({inputs:{x:h},backend:r,attrs:{shape:n.outShape}}),m.push(u),m.push(c),m.push(h)}for(const t of m)r.disposeIntermediateTensorInfo(t);return f}function m$({x:t,filter:e,convInfo:n,backend:r,bias:s=null,preluActivationWeights:i=null,leakyreluAlpha:a=0,activation:o=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:h,outHeight:d,dataFormat:p}=n,f="channelsLast"===p,m=l*u*c,g=d*h,y=[m,g],x=[],b=RL({inputs:{x:t},backend:r,attrs:{shape:t.shape.slice(1)}}),v=RL({inputs:{x:e},backend:r,attrs:{shape:[1,m,ot(e.shape)/m]}});x.push(b),x.push(v);const w=new p$(y,n),S=[b.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],T=r.runWebGLProgram(w,[b],"float32",S),_=RL({inputs:{x:T},backend:r,attrs:{shape:[1,y[0],y[1]]}});x.push(T),x.push(_);const M=null!=s,k=null!=i,E="leakyrelu"===o,I=o?kL(o,!0):null,C=new EL(_.shape,v.shape,[1,g,n.outChannels],!0,!1,M,I,k,E),N=[_,v];if(s&&N.push(s),k&&N.push(i),E){const t=r.makeTensorInfo([],"float32",Cs(a,"float32"));N.push(t),x.push(t)}const A=r.runWebGLProgram(C,N,"float32"),R=RL({inputs:{x:A},backend:r,attrs:{shape:f?[1,d,h,n.outChannels]:[1,n.outChannels,d,h]}});x.push(A);for(const t of x)r.disposeIntermediateTensorInfo(t);return R}const g$={kernelName:Me,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r,h=ou(l),d=Zl(s.shape,i.shape,a,u,o,c,!1,h);let p;if(1!==d.filterHeight||1!==d.filterWidth||1!==d.dilationHeight||1!==d.dilationWidth||1!==d.strideHeight||1!==d.strideWidth||"SAME"!==d.padInfo.type&&"VALID"!==d.padInfo.type)if(Gt().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])p=m$({x:s,filter:i,convInfo:d,backend:n});else{const t=new h$(d);p=n.runWebGLProgram(t,[s,i],"float32")}else p=f$({x:s,filter:i,convInfo:d,backend:n});const f=RL({inputs:{x:p},backend:n,attrs:{shape:d.outShape}});return n.disposeIntermediateTensorInfo(p),f}};class y${constructor(t){this.variableNames=["x","dy"],this.outputShape=t.filterShape;const e=t.strideHeight,n=t.strideWidth,r=t.padInfo.top,s=t.padInfo.left,i="channelsLast"===t.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${r};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n if (${i}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class x${constructor(t){this.variableNames=["dy","W"],this.outputShape=t.inShape;const e=t.filterHeight,n=t.filterWidth,r=t.strideHeight,s=t.strideWidth,i="channelsLast"===t.dataFormat,a=e-1-t.padInfo.top,o=n-1-t.padInfo.left,l=i?1:2,u=i?2:3,c=i?3:1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n\n if (${i}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class b${constructor(t){this.variableNames=["x","dy"],this.outputShape=t.filterShape;const e=t.strideDepth,n=t.strideHeight,r=t.strideWidth,s=t.padInfo.front,i=t.padInfo.top,a=t.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yF = 0; yF < ${t.outDepth}; yF++) {\n int xF = wF + yF * ${e} - ${s};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${i};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${r} - ${a};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class v${constructor(t){this.variableNames=["dy","W"],this.outputShape=t.inShape;const e=t.filterDepth,n=t.filterHeight,r=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,o=e-1-t.padInfo.front,l=n-1-t.padInfo.top,u=r-1-t.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${o}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${e}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${t.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${e} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${r}; wC++) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${r} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const w$={kernelName:ke,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,dy:i}=e,{strides:a,pad:o,dataFormat:l,dimRoundingMode:u,filterShape:c}=r,h=ou(l),d=Zl(s.shape,c,a,1,o,u,!1,h),p=new y$(d);return n.runWebGLProgram(p,[s,i],"float32")}},S$={kernelName:Ee,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,filter:i}=e,{inputShape:a,strides:o,pad:l,dataFormat:u,dimRoundingMode:c}=r,h=ou(u),d=Zl(a,i.shape,o,1,l,c,!1,h),p=new x$(d);return n.runWebGLProgram(p,[s,i],"float32")}},T$={kernelName:Ie,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dilations:l}=r,u=Ql(s.shape,i.shape,a,l,o),c=new d$(u);return n.runWebGLProgram(c,[s,i],"float32")}},_$={kernelName:Ce,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,dy:i}=e,{strides:a,pad:o,filterShape:l}=r,u=Ql(s.shape,l,a,1,o),c=new b$(u);return n.runWebGLProgram(c,[s,i],"float32")}},M$={kernelName:Ne,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,filter:i}=e,{pad:a,strides:o,inputShape:l}=r,u=Ql(l,i.shape,o,1,a),c=new v$(u);return n.runWebGLProgram(c,[s,i],"float32")}},k$=_L({opSnippet:"if (isnan(x)) return x;\n return cos(x);\n"}),E$={kernelName:Ae,backendName:"webgl",kernelFunc:k$},I$=_L({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),C$={kernelName:Re,backendName:"webgl",kernelFunc:I$};class N${constructor(t,e,n,r,s){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[i,a,o,l]=t,[u]=e,[c,h]=n;this.outputShape=[u,c,h,l];const d="bilinear"===r?1:0,[p,f]=[a-1+".0",o-1+".0"],[m,g,y]=c>1?[""+(a-1)/(c-1),"(y2-y1) * height_ratio",`y1*${p} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${p}`],[x,b,v]=h>1?[""+(o-1)/(h-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${x});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${i}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${b};\n\n float in_y = ${y};\n if( in_y < 0.0 || in_y > ${p} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${v};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${d} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}}const A$={kernelName:Le,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{image:s,boxes:i,boxInd:a}=e,{cropSize:o,method:l,extrapolationValue:u}=r,c=new N$(s.shape,i.shape,o,l,u);return n.runWebGLProgram(c,[s,i,a],"float32")}};class R${constructor(t,e,n){this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}],this.outputShape=t;const r=t.length,s=e?"0.0":`getX(${D$(r,"coords")})`,i=t[t.length-1];let a="",o="";e?(a=n?"end != "+(i-1):"end != 0",o=n?"end + 1":"end - 1"):(a=n?`end + pow2 < ${i}`:"end >= pow2",o=n?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${VR(r)} coords = getOutputCoords();\n int end = ${L$(r,"coords")};\n float val = ${s};\n int pow2 = int(pow(2.0, index));\n if (${a}) {\n int idx = ${o};\n ${L$(r,"coords")} = idx;\n val += getX(${D$(r,"coords")});\n }\n setOutput(val);\n }\n `}}function D$(t,e){if(1===t)return`${e}`;if(2===t)return`${e}.x, ${e}.y`;if(3===t)return`${e}.x, ${e}.y, ${e}.z`;if(4===t)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw Error(`Cumulative sum for rank ${t} is not yet supported`)}function L$(t,e){if(1===t)return`${e}`;if(2===t)return`${e}.y`;if(3===t)return`${e}.z`;if(4===t)return`${e}.w`;throw Error(`Cumulative sum for rank ${t} is not yet supported`)}const F$={kernelName:De,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,exclusive:a,reverse:o}=r,l=s.shape.length,u=Nc([i],l);let c=s;null!=u&&(c=VL({inputs:{x:s},backend:n,attrs:{perm:u}}));const h=Rc(1,l)[0];if(h!==l-1)throw new Error(`WebGL cumsum shader expects an inner-most axis=${s.shape.length-1} but got axis=${i}`);const d=c.shape[h];let p=fL({inputs:{x:c},backend:n});for(let t=0;t<=Math.ceil(Math.log2(d))-1;t++){const e=new R$(c.shape,!1,o),r=[[t]],s=p;p=n.runWebGLProgram(e,[p],p.dtype,r),n.disposeIntermediateTensorInfo(s)}if(a){const t=new R$(c.shape,a,o),e=p;p=n.runWebGLProgram(t,[p],p.dtype),n.disposeIntermediateTensorInfo(e)}if(null!=u){const t=VL({inputs:{x:p},backend:n,attrs:{perm:Ac(u)}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(c),t}return p}},$$={kernelName:Fe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,weights:i}=e,{size:a,binaryOutput:o}=r;if(1===s.shape.length){const t=n.readSync(s.dataId),e=n.readSync(i.dataId),r=lD(t,e,i.dtype,i.shape,a);return n.makeTensorInfo([a],i.dtype,r)}if(2===s.shape.length){const t=n.bufferSync(s),e=n.bufferSync(i),r=uD(t,e,a,o);return n.makeTensorInfo(r.shape,i.dtype,r.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${s.shape.length}.`)}};class O${constructor(t,e,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=t,this.blockSize=e,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${e};\n int offset_h = imod(h, ${e});\n int in_w = w / ${e};\n int offset_w = imod(w, ${e});\n int offset_d = (offset_h * ${e} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const P$={kernelName:$e,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockSize:i,dataFormat:a}=r,o=s.shape[0],l=("NHWC"===a?s.shape[1]:s.shape[2])*i,u=("NHWC"===a?s.shape[2]:s.shape[3])*i,c=("NHWC"===a?s.shape[3]:s.shape[1])/(i*i),h=new O$("NHWC"===a?[o,l,u,c]:[o,c,l,u],i,a);return n.runWebGLProgram(h,[s],s.dtype)}};class z${constructor(t,e=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=t.outShape,this.enableShapeUniforms=qR(this.outputShape.length);const i=t.filterHeight,a=t.filterWidth,o=t.outChannels/t.inChannels;let l="",u="";n&&(l=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=e?"result += getBiasAtOutCoords();":"";e&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${o};\n int q = d2 - d1 * ${o};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${i}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${a}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}}class B${constructor(t,e=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=t.outShape,this.enableShapeUniforms=qR(this.outputShape.length);const i=t.outChannels/t.inChannels,a=t.padInfo.left,o=t.strideWidth,l=t.dilationWidth,u=t.filterHeight,c=t.filterWidth,h=c;let d="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let t=0;t=0 && xR < inDims[0]) {\n ";for(let t=0;t<(h+1)/2;t++){const e=2*t;if(d+=`\n xC = xCCorner + ${e*l};\n `,1===o){if(e= 0 && xCOffset < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n `,d+=1===l&&e>0?`\n xC${e} = vec4(xTexelC${e-2}.zw, xTexelC${e}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${e} = vec4(previous.zw, xTexelC${e}.xy);\n } else {\n xC${e} = vec4(0.0, 0.0, xTexelC${e}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n\n xC${e} = xTexelC${e};\n `,e+1= 0 && xCOffset < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.0);\n }\n xTexelC${e+1}Ready = 1;\n }\n `,l>1&&(d+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xCOffset, d1);\n xTexelC${e}Ready = 1;\n }\n `),d+=`\n xC${e+1} = vec4(xTexelC${e}.zw, xTexelC${e+1}.xy);\n `):d+=1===t?`\n xC${e+1} = xTexelC${e};\n `:`\n xCOffset = xC + ${t};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.0);\n }\n xTexelC${e+1}Ready = 1;\n }\n\n xC${e+1} = xTexelC${e+1};\n `}}else e= 0 && xCOffset < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.0);\n }\n xTexelC${e+1}Ready = 1;\n }\n\n xC${e} = vec4(xTexelC${e}.zw, xTexelC${e+1}.zw);\n `,e+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${e+1} = vec4(xTexelC${e+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.);\n }\n xTexelC${e+1}Ready = 1;\n }\n\n xC${e} = vec4(\n xTexelC${e}.xy, xTexelC${e+1}.xy);\n `,e+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${c}'`));const h=Zl(s.shape,i.shape,a,c,o,u,!0);let d;d=Gt().getBool("WEBGL_PACK_DEPTHWISECONV")&&h.strideWidth<=2&&h.outChannels/h.inChannels==1?new B$(h):new z$(h);const p=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];return n.runWebGLProgram(d,[s,i],"float32",p)}};class V${constructor(t){this.variableNames=["x","dy"],this.outputShape=t.filterShape;const e=t.strideHeight,n=t.strideWidth,r=t.padInfo.top,s=t.padInfo.left,i=t.outChannels/t.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${i} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${r};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class W${constructor(t){this.variableNames=["dy","W"],this.outputShape=t.inShape;const e=t.filterHeight,n=t.filterWidth,r=t.strideHeight,s=t.strideWidth,i=e-1-t.padInfo.top,a=n-1-t.padInfo.left,o=t.outChannels/t.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${o}; dm++) {\n int d2 = d1 * ${o} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const H$={kernelName:Pe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,dy:i}=e,{strides:a,dilations:o,pad:l,dimRoundingMode:u,filterShape:c}=r,h=Zl(s.shape,c,a,o,l,u,!0),d=new V$(h);return n.runWebGLProgram(d,[s,i],"float32")}},G$={kernelName:ze,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,filter:i}=e,{strides:a,dilations:o,pad:l,dimRoundingMode:u,inputShape:c}=r,h=Zl(c,i.shape,a,o,l,u,!0),d=new W$(h);return n.runWebGLProgram(d,[s,i],"float32")}};class j${constructor(t){this.variableNames=["X"],this.outputShape=[t,t],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const q$={kernelName:Be,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e,s=[...r.shape,...r.shape],i=ot(r.shape),a=RL({inputs:{x:r},backend:n,attrs:{shape:[i]}}),o=new j$(i),l=n.runWebGLProgram(o,[a],a.dtype),u=RL({inputs:{x:l},backend:n,attrs:{shape:s}});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(l),u}};class X${constructor(t){this.variableNames=["x","W"],this.outputShape=t.outShape;const{inHeight:e,inWidth:n,padInfo:r,strideHeight:s,strideWidth:i,filterHeight:a,filterWidth:o,dilationHeight:l,dilationWidth:u}=t,{top:c,left:h}=r;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${i});\n const ivec2 pads = ivec2(${c}, ${h});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${a}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${e}) {\n for (int w = 0; w < ${o}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const K$={kernelName:Ue,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dilations:l}=r,u=Kl(s.shape,i.shape,a,o,"NHWC",l);let c;const h=new X$(u);c=n.runWebGLProgram(h,[s,i],"float32");const d=RL({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),d}},Y$={kernelName:Ge,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{equation:s}=r,i=e,{allDims:a,summedDims:o,idDims:l}=lf(s,i.length);cf(a.length,l,i);const{path:u,steps:c}=hf(o,l),h=c.length;let d=null,p=a.length;const f=[];for(let t=0;t=0&&(d=BL({inputs:{x:d},backend:n,attrs:{axis:u[t]-(a.length-p),keepDims:!1}}),f.push(d)),p--)}for(const t of f)t!==d&&n.disposeIntermediateTensorInfo(t);return d}},J$=_L({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),Z$={kernelName:je,backendName:"webgl",kernelFunc:J$},Q$={kernelName:qe,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n}=t,{dy:r,y:s}=e,i=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new pL("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",r.shape,s.shape):new dL("return (b >= 1.0) ? a : a * (b + 1.0);",r.shape,s.shape);return n.runWebGLProgram(i,[r,s],r.dtype)}},tO=ML({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:dD}),eO={kernelName:Ke,backendName:"webgl",kernelFunc:tO},nO=_L({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${jp};\n float a1 = ${qp};\n float a2 = ${Xp};\n float a3 = ${Kp};\n float a4 = ${Yp};\n float a5 = ${Jp};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),rO={kernelName:Xe,backendName:"webgl",kernelFunc:nO},sO=_L({opSnippet:"if (isnan(x)) return x;\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:pD,dtype:"float32"}),iO={kernelName:Ye,backendName:"webgl",kernelFunc:sO};function aO(t){const{inputs:e,attrs:n,backend:r}=t,{dim:s}=n,{input:i}=e,a=i.shape.length,o=i.shape.slice();let l=s;return s<0&&(rt(-(a+1)<=s,(()=>`Axis must be in the interval [${-(a+1)}, ${a}]`)),l=a+s+1),o.splice(l,0,1),RL({inputs:{x:i},backend:r,attrs:{shape:o}})}const oO={kernelName:Je,backendName:"webgl",kernelFunc:aO},lO="return exp(x) - 1.0;",uO=_L({opSnippet:lO,packedOpSnippet:lO,cpuKernelImpl:fD}),cO={kernelName:Ze,backendName:"webgl",kernelFunc:uO};class hO{constructor(t,e,n){this.variableNames=["real","imag"];const r=e[1];this.outputShape=e;const s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,i=n?`${r}.0`:"1.0";let a;if("real"===t)a="return real * expR - imag * expI;";else{if("imag"!==t)throw new Error(`FFT component must be either "real" or "imag", got ${t}.`);a="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${a}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${r});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${r}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${i};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}}function dO(t,e,n){const r=n.texData.get(t.dataId),s=ot(t.shape),i=t.shape[t.shape.length-1],a=RL({inputs:{x:t},backend:n,attrs:{shape:[s/i,i]}}),o=a.shape,l=new hO("real",o,e),u=new hO("imag",o,e),c=[{dataId:r.complexTensorInfos.real.dataId,dtype:r.complexTensorInfos.real.dtype,shape:o},{dataId:r.complexTensorInfos.imag.dataId,dtype:r.complexTensorInfos.imag.dtype,shape:o}],h=n.runWebGLProgram(l,c,"float32"),d=n.runWebGLProgram(u,c,"float32"),p=gL({inputs:{real:h,imag:d},backend:n});n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d);const f=RL({inputs:{x:p},backend:n,attrs:{shape:t.shape}});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(p),f}const pO={kernelName:Qe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{input:r}=e;return dO(r,!1,n)}};class fO{constructor(t,e){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=t,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}}function mO(t){const{backend:e,attrs:n}=t,{shape:r,value:s}=n;let{dtype:i}=n;if(i=i||Nt(s),"string"===i){const t=vt(i,ot(r));return t.fill(s),e.makeTensorInfo(r,i,t)}{const t=new fO(r,s),n=[[s]];return e.runWebGLProgram(t,[],i,n)}}const gO={kernelName:tn,backendName:"webgl",kernelFunc:mO};class yO{constructor(t){this.variableNames=["Image"],this.outputShape=[];const e=t[2];this.outputShape=t,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${e} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${e}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const xO={kernelName:en,backendName:"webgl",kernelFunc:({inputs:t,backend:e})=>{const{image:n}=t,r=e,s=new yO(n.shape);return r.runWebGLProgram(s,[n],n.dtype)}},bO="return floor(x);",vO=_L({opSnippet:bO,packedOpSnippet:bO,cpuKernelImpl:mD}),wO={kernelName:nn,backendName:"webgl",kernelFunc:vO},SO=ML({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),TO={kernelName:rn,backendName:"webgl",kernelFunc:SO};class _O{constructor(t){this.variableNames=["A"];const e=ER(),[n,r]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${r}.0, ${n}.0);\n\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}}class MO{constructor(t){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const e=ER(),[n,r]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${r}.0, ${n}.0);\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${e.output} = result;\n }\n `}}const kO={kernelName:Jr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t;let{pixels:s}=e;const{numChannels:i}=r,a="undefined"!=typeof HTMLVideoElement&&s instanceof HTMLVideoElement,o="undefined"!=typeof HTMLImageElement&&s instanceof HTMLImageElement,[l,u]=a?[s.videoWidth,s.videoHeight]:[s.width,s.height],c=[u,l],h=[u,l,i];(o||a)&&(null==EO&&(EO=document.createElement("canvas").getContext("2d")),EO.canvas.width=l,EO.canvas.height=u,EO.drawImage(s,0,0,l,u),s=EO.canvas);const d=n.makeTensorInfo(c,"int32");n.texData.get(d.dataId).usage=ZA.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(d.dataId),s);const p=Gt().getBool("WEBGL_PACK")?new MO(h):new _O(h),f=n.runWebGLProgram(p,[d],"int32");return n.disposeData(d.dataId),f}};let EO;const IO={kernelName:ts,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r,m=ou(c),g=Zl(s.shape,i.shape,l,h,u,d,!1,m);let y;const x=[];if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(Gt().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])y=m$({x:s,filter:i,convInfo:g,backend:n,bias:a,activation:p,preluActivationWeights:o,leakyreluAlpha:f});else{const t=null!=a,e=null!=o,r="leakyrelu"===p,l=p?kL(p,!1):null,u=new h$(g,t,l,e,r),c=[s,i];if(a&&c.push(a),o&&c.push(o),r){const t=n.makeTensorInfo([],"float32",Cs(f,"float32"));c.push(t),x.push(t)}y=n.runWebGLProgram(u,c,"float32")}else y=f$({x:s,filter:i,convInfo:g,backend:n,bias:a,activation:p,preluActivationWeights:o,leakyreluAlpha:f});const b=RL({inputs:{x:y},backend:n,attrs:{shape:g.outShape}});return x.push(y),x.forEach((t=>n.disposeIntermediateTensorInfo(t))),b}},CO={kernelName:es,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dilations:c,dimRoundingMode:h,activation:d,leakyreluAlpha:p}=r,f=[];let m=c;null==m&&(m=[1,1]),rt(au(l,m),(()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`));const g=Zl(s.shape,i.shape,l,m,u,h,!0),y=Gt().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels==1,x=d?kL(d,y):null,b=[s,i],v=null!=a,w=null!=o,S="leakyrelu"===d;if(v&&b.push(a),w&&b.push(o),S){const t=n.makeTensorInfo([],"float32",Cs(p,"float32"));b.push(t),f.push(t)}let T;T=y?new B$(g,v,x,w,S):new z$(g,v,x,w,S);const _=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],M=n.runWebGLProgram(T,b,"float32",_);return f.forEach((t=>n.disposeIntermediateTensorInfo(t))),M}};class NO{constructor(t,e,n){this.sliceDim=t,this.strides=e,this.variableNames=["x","indices"],this.outputShape=n;const r=VR(e.length),s=VR(n.length),i=this.sliceDim>1?"strides[j]":"strides";this.userCode=`\n ${r} strides = ${r}(${this.strides});\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n flattenIndex += index * ${i};\n }\n setOutput(getX(flattenIndex, coords[1]));\n }\n `}}const AO={kernelName:on,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{params:r,indices:s}=e,i=s.shape,a=i[i.length-1],o=ot(r.shape),[l,u,c,h]=so(r,s),d=RL({inputs:{x:s},backend:n,attrs:{shape:[u,a]}}),p=RL({inputs:{x:r},backend:n,attrs:{shape:[ot(r.shape)/c,c]}});if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const t=n.readSync(s.dataId),e=n.bufferSync(r),i=gD(t,e,r.dtype,u,a,c,h,r.shape,o);return n.makeTensorInfo(l,r.dtype,i.values)}const f=new NO(a,h,[u,c]),m=n.runWebGLProgram(f,[p,d],p.dtype),g=RL({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(m),g}};class RO{constructor(t,e){this.variableNames=["A","indices"],this.outputShape=e,this.rank=e.length;const n=VR(this.rank),r=function(t,e){const n=["resRC.x","resRC.y","resRC.z","resRC.w"],r=[];for(let e=0;e= 0) && (index < ${t[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${r}));\n }\n `}}function DO(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,indices:i}=e,{axis:a,batchDims:o}=r,l=yt(a,s.shape)[0];if(Gt().get("DEBUG")){const t=n.readSync(i.dataId),e=s.shape[l];for(let n=0;n=0,(()=>`GatherV2: the index value ${r} is not in [0, ${e-1}]`))}}const u=Cf(s,i,l,o),c=ot(i.shape),h=[],d=RL({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),p=RL({inputs:{x:i},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});h.push(d),h.push(p);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([s,i])||"string"===s.dtype){const t=n.bufferSync(p),e=n.bufferSync(d),r=yD(e,t,f);return h.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(u.outputShape,r.dtype,r.values)}const m=new RO(d.shape,f),g=n.runWebGLProgram(m,[d,p],d.dtype);h.push(g);const y=RL({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return h.forEach((t=>n.disposeIntermediateTensorInfo(t))),y}const LO={kernelName:an,backendName:"webgl",kernelFunc:DO},FO=ML({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:xD,dtype:"bool"}),$O={kernelName:ln,backendName:"webgl",kernelFunc:FO},OO=ML({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:bD}),PO={kernelName:un,backendName:"webgl",kernelFunc:OO},zO={kernelName:hn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{input:r}=e;return dO(r,!0,n)}},BO=_L({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),UO={kernelName:pn,backendName:"webgl",kernelFunc:BO},VO=_L({opSnippet:"return float(isinf(x));",dtype:"bool"}),WO={kernelName:fn,backendName:"webgl",kernelFunc:VO},HO=_L({opSnippet:"return float(isnan(x));",dtype:"bool"}),GO={kernelName:mn,backendName:"webgl",kernelFunc:HO},jO=ML({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:vD,dtype:"bool"}),qO={kernelName:yn,backendName:"webgl",kernelFunc:jO},XO=ML({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:wD,dtype:"bool"}),KO={kernelName:xn,backendName:"webgl",kernelFunc:XO},YO={kernelName:bn,backendName:"webgl",kernelFunc:function(t){const{backend:e,attrs:n}=t,{start:r,stop:s,num:i}=n,a=SD(r,s,i);return e.makeTensorInfo([a.length],"float32",a)}},JO=_L({opSnippet:"if (isnan(x)) return x;\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:TD}),ZO={kernelName:vn,backendName:"webgl",kernelFunc:JO},QO=_L({opSnippet:"if (isnan(x)) return x;\n return log(1.0 + x);\n"}),tP={kernelName:wn,backendName:"webgl",kernelFunc:QO},eP=ML({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),nP={kernelName:Sn,backendName:"webgl",kernelFunc:eP},rP=_L({opSnippet:"return float(!(x >= 1.0));"}),sP={kernelName:Tn,backendName:"webgl",kernelFunc:rP},iP=ML({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),aP={kernelName:_n,backendName:"webgl",kernelFunc:iP};class oP{constructor(t,e,n,r,s){this.variableNames=["x"],this.outputShape=[];const i=e,a=t[3]-1;let o;this.outputShape=t;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${i}; j <= ${i}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${a}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${o};\n setOutput(val);\n }\n `}}class lP{constructor(t,e,n,r,s){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const i=e,a=t[3]-1;let o;this.outputShape=t;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${i};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${i}; j <= ${i}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${a}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${o};\n setOutput(result);\n }\n `}}const uP={kernelName:kn,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{depthRadius:i,bias:a,alpha:o,beta:l}=r,u=Gt().getBool("WEBGL_PACK_NORMALIZATION")?new lP(s.shape,i,a,o,l):new oP(s.shape,i,a,o,l);return n.runWebGLProgram(u,[s],s.dtype)}};class cP{constructor(t,e,n,r,s){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=t,this.depth=t[3],this.depthRadius=e,this.bias=n,this.alpha=r,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${e})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${e} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${r}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${r})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}}const hP={kernelName:En,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s,y:i,dy:a}=e,{depthRadius:o,bias:l,alpha:u,beta:c}=r,h=new cP(s.shape,o,l,u,c);return n.runWebGLProgram(h,[s,i,a],s.dtype)}};function dP(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{reductionIndices:i,keepDims:a}=r,o=s.shape.length,l=yt(i,s.shape);let u=l;const c=Nc(u,o),h=null!=c,d=n.shouldExecuteOnCPU([s]);let p=s;if(h){if(d){const t=n.texData.get(p.dataId).values,e=new Array(o);for(let t=0;t 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:MD}),mP={kernelName:Cn,backendName:"webgl",kernelFunc:fP},gP={kernelName:Nn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;MR(s,"maxPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))return fL({inputs:{x:s},backend:n});const c=new TF(u,"max",!1);return n.runWebGLProgram(c,[s],s.dtype)}},yP={kernelName:Rn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dataFormat:l,dimRoundingMode:u}=r,c=Jl(s.shape,i,a,[1,1,1],o,u,l),h=new _F(c,"max",!1);return n.runWebGLProgram(h,[s],s.dtype)}};class xP{constructor(t){this.variableNames=["dy","maxPos"],this.outputShape=t.inShape;const e=t.strideHeight,n=t.strideWidth,r=t.dilationHeight,s=t.effectiveFilterHeight,i=t.effectiveFilterWidth,a=s-1-t.padInfo.top,o=i-1-t.padInfo.left,l=s*i-1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${r}) {\n float dyR = float(dyRCorner + wR) / ${e}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${i} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class bP{constructor(t){this.variableNames=["dy","maxPos"],this.outputShape=t.inShape;const e=t.strideDepth,n=t.strideHeight,r=t.strideWidth,s=t.dilationDepth,i=t.dilationHeight,a=t.dilationWidth,o=t.effectiveFilterDepth,l=t.effectiveFilterHeight,u=t.effectiveFilterWidth,c=o-1-t.padInfo.front,h=l-1-t.padInfo.top,d=u-1-t.padInfo.left,p=o*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${h}, ${d});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${o};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${e}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${a}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${p} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const vP={kernelName:Dn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Jl(a.shape,o,l,[1,1,1],u,c),d=new _F(h,"max",!0),p=n.runWebGLProgram(d,[a],a.dtype),f=new bP(h),m=n.runWebGLProgram(f,[s,p],a.dtype);return n.disposeIntermediateTensorInfo(p),m}},wP={kernelName:An,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i,output:a}=e,o=i;MR([i,a],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,d=Yl(o.shape,l,u,1,c,h),p=new TF(d,"max",!0),f=n.runWebGLProgram(p,[o],o.dtype),m=new xP(d),g=n.runWebGLProgram(m,[s,f],o.dtype);return n.disposeIntermediateTensorInfo(f),g}},SP={kernelName:Ln,backendName:"webgl",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{x:r}=t,{filterSize:s,strides:i,pad:a,includeBatchInIndex:o}=e,l=n;rt(4===r.shape.length,(()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`));const u=[1,1];rt(au(i,u),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`));const c=Yl(r.shape,s,i,u,a),[h,d]=function(t,e,n,r){let s=new TF(n,"max",!1);const i=r.runWebGLProgram(s,[t],"float32");return s=new TF(n,"max",!0,!0,e),[i,r.runWebGLProgram(s,[t],"float32")]}(r,o,c,l);return[h,d]}},TP={kernelName:Fn,backendName:"webgl",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{x:r}=t,{keepDims:s,axis:i}=e,a=n,o=r.shape.length,l=yt(i,r.shape);let u=l;const c=Nc(u,o),h=null!=c,d=a.shouldExecuteOnCPU([r]),p=[];let f=r;if(h){if(d){const t=a.texData.get(f.dataId).values,e=new Array(o);for(let t=0;t 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:kD}),kP={kernelName:On,backendName:"webgl",kernelFunc:MP};class EP{constructor(t,e,n){this.variableNames=["x"],this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=VR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r),l="reflect"===n?0:1;this.userCode=1!==r?`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${r}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n `:`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}}class IP{constructor(t,e,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=VR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=YD("rc",r),l=YD("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h="reflect"===n?0:1;let d="";if(1===r){const t=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${h};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${h};\n }\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${t}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${t}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const t=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${h}) +\n gte * ((end - 1) * 2 - source + ${h});\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${t}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${t}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {\n ${t}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${t}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${i});\n const ${s} end = ${s}(${a});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${d}\n setOutput(result);\n }\n `}}const CP={kernelName:Pn,backendName:"webgl",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r}=t,{paddings:s,mode:i}=n,a=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new IP(r.shape,s,i):new EP(r.shape,s,i);return e.runWebGLProgram(a,[r],r.dtype)}},NP=ML({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n vec4 isNaN = vec4(equal(b, vec4(0.0)));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),AP={kernelName:zn,backendName:"webgl",kernelFunc:NP};class RP{constructor(t,e,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[t,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${e-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${e-1}));\n }\n `}}const DP=ML({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),LP={kernelName:He,backendName:"webgl",kernelFunc:DP},FP="return a - b;",$P=ML({opSnippet:FP,packedOpSnippet:FP,supportsComplex:!0,cpuKernelImpl:HD}),OP={kernelName:zr,backendName:"webgl",kernelFunc:$P};function PP(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{dim:i}=r,a=yt([i],s.shape),o=dP({inputs:{x:s},backend:n,attrs:{reductionIndices:a,keepDims:!1}}),l=Ic(o.shape,a),u=RL({inputs:{x:o},backend:n,attrs:{shape:l}}),c=$P({inputs:{a:s,b:u},backend:n}),h=sO({inputs:{x:c},backend:n}),d=BL({inputs:{x:h},backend:n,attrs:{axis:a,keepDims:!1}}),p=RL({inputs:{x:d},backend:n,attrs:{shape:l}}),f=DP({inputs:{a:h,b:p},backend:n});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),f}const zP={kernelName:Er,backendName:"webgl",kernelFunc:PP},BP={kernelName:Bn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{numSamples:i,seed:a,normalized:o}=r,l=o?s:PP({inputs:{logits:s},backend:n,attrs:{dim:s.shape.length-1}}),u=l.shape[0],c=l.shape[1],h=new RP(u,c,i),d=[[a]],p=n.runWebGLProgram(h,[l],"int32",d);return o||n.disposeIntermediateTensorInfo(l),p}},UP={kernelName:Vn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e;if(n.shouldExecuteOnCPU([r])){const t=n.texData.get(r.dataId),[e,s]=ID(t.values,r.shape,r.dtype);return n.makeTensorInfo(s,r.dtype,e)}let s;return s=Gt().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new aL(r.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new rL(r.shape,"if (isnan(x)) return x;\n return -x;\n"),n.runWebGLProgram(s,[r],r.dtype)}},VP=Hd,WP={kernelName:Hn,backendName:"webgl",kernelFunc:function(t){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:e,backend:n,attrs:r}=t,{boxes:s,scores:i}=e,{maxOutputSize:a,iouThreshold:o,scoreThreshold:l}=r,u=n.readSync(s.dataId),c=n.readSync(i.dataId),{selectedIndices:h}=VP(u,c,a,o,l);return n.makeTensorInfo([h.length],"int32",new Int32Array(h))}},HP=Gd,GP={kernelName:Gn,backendName:"webgl",kernelFunc:function(t){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:e,backend:n,attrs:r}=t,{boxes:s,scores:i}=e,{maxOutputSize:a,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=r,c=n.readSync(s.dataId),h=n.readSync(i.dataId),{selectedIndices:d,validOutputs:p}=HP(c,h,a,o,l,u);return[n.makeTensorInfo([d.length],"int32",new Int32Array(d)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}},jP=jd,qP={kernelName:jn,backendName:"webgl",kernelFunc:function(t){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:e,backend:n,attrs:r}=t,{boxes:s,scores:i}=e,{maxOutputSize:a,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=r,c=n.readSync(s.dataId),h=n.readSync(i.dataId),d=a,p=o,f=l,m=u,{selectedIndices:g,selectedScores:y}=jP(c,h,d,p,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([y.length],"float32",new Float32Array(y))]}};class XP{constructor(t,e,n,r){this.variableNames=["indices"],this.outputShape=[t,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${r}), float(${n}),\n float(index == coords.y)));\n }\n `}}const KP={kernelName:Xn,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{indices:s}=e,{depth:i,onValue:a,offValue:o}=r,l=ot(s.shape),u=new XP(l,i,a,o),c=RL({inputs:{x:s},backend:n,attrs:{shape:[l]}}),h=n.runWebGLProgram(u,[c],s.dtype);n.disposeIntermediateTensorInfo(c);const d=RL({inputs:{x:h},backend:n,attrs:{shape:[...s.shape,i]}});return n.disposeIntermediateTensorInfo(h),d}};function YP(t){const{inputs:e,backend:n}=t,{x:r}=e;if("complex64"===r.dtype){const t=GF({inputs:{input:r},backend:n}),e=YP({inputs:{x:t},backend:n}),s=a$({inputs:{input:r},backend:n}),i=YP({inputs:{x:s},backend:n}),a=gL({inputs:{real:e,imag:i},backend:n});return n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(i),a}return mO({attrs:{shape:r.shape,dtype:r.dtype,value:"string"===r.dtype?"":0},backend:n})}const JP={kernelName:Kr,backendName:"webgl",kernelFunc:YP},ZP={kernelName:qn,backendName:"webgl",kernelFunc:function t(e){const{inputs:n,backend:r}=e,{x:s}=n;if("string"===s.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===s.dtype){const e=GF({inputs:{input:s},backend:r}),n=t({inputs:{x:e},backend:r}),i=a$({inputs:{input:s},backend:r}),a=YP({inputs:{x:i},backend:r}),o=gL({inputs:{real:n,imag:a},backend:r});return r.disposeIntermediateTensorInfo(e),r.disposeIntermediateTensorInfo(n),r.disposeIntermediateTensorInfo(i),r.disposeIntermediateTensorInfo(a),o}return mO({attrs:{shape:s.shape,dtype:s.dtype,value:1},backend:r})}},QP={kernelName:Kn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{axis:s}=r;if(1===e.length)return aO({inputs:{input:e[0]},backend:n,attrs:{dim:s}});const i=e[0].shape,a=e[0].dtype;e.forEach((t=>{st(i,t.shape,"All tensors passed to stack must have matching shapes"),rt(a===t.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=u$({inputs:e.map((t=>{const e=aO({inputs:{input:t},backend:n,attrs:{dim:s}});return o.push(e),e})),backend:n,attrs:{axis:s}});return o.forEach((t=>n.disposeIntermediateTensorInfo(t))),l}};class tz{constructor(t,e,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=VR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r);this.userCode=1!==r?`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n }\n `:`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}}class ez{constructor(t,e,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"value",type:"float"}],this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=VR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=YD("rc",r),l=YD("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h=[`${s} rc = outputLoc;`,`${o[r-1]} += 1;\n if(${u}) {\n `,1===r?"":`}\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {`,1===r?"":` ${o[r-1]} += 1;\n if(${u}) {`],d=1===r?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let p="";for(let t=0,e=1===r?2:4;t{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{paddings:i,constantValue:a}=r;if(0===ot(s.shape))return mO({backend:n,attrs:{shape:i.map(((t,e)=>t[0]+s.shape[e]+t[1])),value:a,dtype:s.dtype}});const o=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new ez(s.shape,i,a):new tz(s.shape,i,a),l=[[a]];return n.runWebGLProgram(o,[s],s.dtype,l)},rz={kernelName:Yn,backendName:"webgl",kernelFunc:nz},sz=ML({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),iz={kernelName:Zn,backendName:"webgl",kernelFunc:sz},az={kernelName:tr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=s.shape.length,l=[],u=yt(i,s.shape);let c=u;const h=Nc(c,o);let d,p=s;if(null!=h&&(p=VL({inputs:{x:s},backend:n,attrs:{perm:h}}),c=Rc(c.length,o),l.push(p)),Cc("prod",c,o),n.shouldExecuteOnCPU([p])){const t=n.texData.get(p.dataId).values,{outVals:e,outShape:r,outDtype:s}=ND(p.shape,p.dtype,t,c);d=n.makeTensorInfo(r,s,e)}else{const[t,e]=Ec(p.shape,c),r=ot(e),i=RL({inputs:{x:p},backend:n,attrs:{shape:[-1,r]}}),a=$L(i,ri(s.dtype),"prod",n);d=RL({inputs:{x:a},backend:n,attrs:{shape:t}}),l.push(i),l.push(a)}if(a){l.push(d);const t=Ic(d.shape,u);d=RL({inputs:{x:d},backend:n,attrs:{shape:t}})}return l.forEach((t=>n.disposeIntermediateTensorInfo(t))),d}},oz=t=>{const{backend:e,attrs:n}=t,{start:r,stop:s,step:i,dtype:a}=n,o=AD(r,s,i,a);return e.makeTensorInfo([o.length],a,o)},lz={kernelName:er,backendName:"webgl",kernelFunc:oz},uz=_L({opSnippet:"return 1.0 / x;"}),cz={kernelName:rr,backendName:"webgl",kernelFunc:uz},hz=_L({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),dz={kernelName:sr,backendName:"webgl",kernelFunc:hz},pz=_L({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),fz={kernelName:cr,backendName:"webgl",kernelFunc:pz};class mz{constructor(t,e,n,r,s){this.variableNames=["A"],this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n];let h;h=s?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}}class gz{constructor(t,e,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n];let h;h=s?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const yz={kernelName:lr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s}=e,{alignCorners:i,halfPixelCenters:a,size:o}=r,[l,u]=o,c=Gt().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new gz(s.shape,l,u,i,a):new mz(s.shape,l,u,i,a);return n.runWebGLProgram(c,[s],"float32")}};class xz{constructor(t,e,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=e;const[,r,s]=e,[,i,a]=t,o=[n&&i>1?r-1:r,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],u=o[0]/l[0],c=o[1]/l[1],h=1/u,d=1/c,p=2*Math.ceil(h)+2,f=2*Math.ceil(d)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${r-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const bz={kernelName:ur,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s,dy:i}=e,{alignCorners:a}=r,o=new xz(i.shape,s.shape,a);return n.runWebGLProgram(o,[i],i.dtype)}};class vz{constructor(t,e,n,r,s){this.variableNames=["A"],this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n],h=r?"0.5":"0.0";let d;d=s?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}}class wz{constructor(t,e,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n],h=r?"0.5":"0.0";let d;d=s?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const Sz={kernelName:ar,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s}=e,{alignCorners:i,halfPixelCenters:a,size:o}=r,[l,u]=o,c=Gt().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new wz(s.shape,l,u,i,a):new vz(s.shape,l,u,i,a);return n.runWebGLProgram(c,[s],s.dtype)}};class Tz{constructor(t,e,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=e;const[,r,s]=e,[,i,a]=t,o=[n&&i>1?r-1:r,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],u=o[0]/l[0],c=o[1]/l[1],h=1/u,d=1/c,p=2*Math.ceil(h)+2,f=2*Math.ceil(d)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float sourceFracRow =\n float(${o[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${o[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const _z={kernelName:or,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s,dy:i}=e,{alignCorners:a}=r,o=new Tz(i.shape,s.shape,a);return n.runWebGLProgram(o,[i],i.dtype)}};class Mz{constructor(t,e){this.variableNames=["x"];const n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=t,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${t[0]} - coord - 1));\n }\n `);const r=t.map(((n,r)=>(n=>-1!==e.indexOf(n)&&1!==t[n]?`${t[n]} - coords[${n}] - 1`:`coords[${n}]`)(r))).join(","),s=VR(n);this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${r}));\n }\n `}}class kz{constructor(t,e){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=t;const r=YD("rc",n),s=`${r[n-1]} + 1 < ${this.outputShape[n-1]}`,i=`${r[n-2]} + 1 < ${this.outputShape[n-2]}`,a=VR(n);function o(n){const r=t.map(((r,s)=>function(n,r){return-1!==e.indexOf(n)&&1!==t[n]?`${t[n]} - ${r[n]} - 1`:`${r[n]}`}(s,n)));return`getChannel(getX(${r.join(",")}), vec2(${r.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${t[0]} - rc - 1),\n ${t[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${t[0]} - (rc + 1) - 1),\n ${t[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${a} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(t){return o(t)}(r.slice())};\n if(${s}){\n result.g = ${function(t){return t[n-1]="("+t[n-1]+" + 1)",o(t)}(r.slice())};\n }\n if(${i}) {\n result.b = ${function(t){return t[n-2]="("+t[n-2]+" + 1)",o(t)}(r.slice())};\n if(${s}) {\n result.a = ${function(t){return t[n-1]="("+t[n-1]+" + 1)",t[n-2]="("+t[n-2]+" + 1)",o(t)}(r.slice())};\n }\n }\n setOutput(result);\n }\n `}}const Ez={kernelName:hr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{dims:i}=r,a=s.shape.length,o=yt(i,s.shape);if(0===a)return fL({inputs:{x:s},backend:n});const l=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new kz(s.shape,o):new Mz(s.shape,o);return n.runWebGLProgram(l,[s],s.dtype)}};class Iz{constructor(t,e){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=t[1],r=t[2];this.outputShape=t;let s="";s="number"==typeof e?`float outputValue = ${e.toFixed(2)};`:`\n vec3 fill = vec3(${e.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${r} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const Cz={kernelName:Zr,backendName:"webgl",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{image:r}=t,{radians:s,fillValue:i,center:a}=e,o=n,l=new Iz(r.shape,i),[u,c]=Pp(a,r.shape[1],r.shape[2]),h=[[u,c,Math.sin(s),Math.cos(s)]];return o.runWebGLProgram(l,[r],r.dtype,h)}},Nz=_L({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),Az={kernelName:dr,backendName:"webgl",kernelFunc:Nz},Rz=_L({opSnippet:"return inversesqrt(x);",cpuKernelImpl:RD}),Dz={kernelName:pr,backendName:"webgl",kernelFunc:Rz};class Lz{constructor(t,e,n,r,s,i,a=!0){this.variableNames=["updates","indices","defaultValue"],this.outputShape=i;const o=VR(s.length),l=VR(i.length);let u="";1===n?u="i":2===n&&(u="i, j");const c=`getIndices(${u})`;let h="";1===r?h="i":2===r&&(h="i, coords[1]");const d=`getUpdates(${h})`,p=e>1?"strides[j]":"strides";this.userCode=`\n ${o} strides = ${o}(${s});\n\n void main() {\n ${l} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${t}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${e}; j++) {\n int index = round(${c});\n flattenedIndex += index * ${p};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${d};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}}const Fz={kernelName:fr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{indices:s,updates:i}=e,{shape:a}=r,{sliceRank:o,numUpdates:l,sliceSize:u,strides:c,outputSize:h}=oo(0,s,a),d=[h/u,u];if(0===h)return n.makeTensorInfo(a,s.dtype);const p=RL({inputs:{x:s},backend:n,attrs:{shape:[l,o]}}),f=RL({inputs:{x:i},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0])),g=new Lz(l,o,p.shape.length,f.shape.length,c,d),y=n.runWebGLProgram(g,[f,p,m],f.dtype),x=RL({inputs:{x:y},backend:n,attrs:{shape:a}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(m),x}};class $z{constructor(t,e,n){let r,s;if(this.variableNames=["c","a","b"],this.outputShape=e,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)s="resRC",r="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],i=[],a=[];for(let r=0;r= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}}const Oz={kernelName:mr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{condition:r,t:s,e:i}=e,a=new $z(r.shape.length,s.shape,s.shape.length);return n.runWebGLProgram(a,[r,s,i],ni(s.dtype,i.dtype))}},Pz=_L({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${Hp};\n float scale = ${Gp};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),zz={kernelName:gr,backendName:"webgl",kernelFunc:Pz},Bz=_L({opSnippet:"if (isnan(x)) return x;\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:DD}),Uz={kernelName:wr,backendName:"webgl",kernelFunc:Bz},Vz=_L({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),Wz={kernelName:vr,backendName:"webgl",kernelFunc:Vz},Hz=_L({opSnippet:"if (isnan(x)) return x;\n return sin(x);\n"}),Gz={kernelName:xr,backendName:"webgl",kernelFunc:Hz},jz=_L({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),qz={kernelName:br,backendName:"webgl",kernelFunc:jz},Xz=_L({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),Kz={kernelName:Sr,backendName:"webgl",kernelFunc:Xz},Yz={kernelName:Mr,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockShape:i,paddings:a}=r;rt(s.shape.length<=4,(()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet"));const o=i.reduce(((t,e)=>t*e)),l=[[0,0]];l.push(...a);for(let t=1+i.length;tn.disposeIntermediateTensorInfo(t))),g}},Jz={kernelName:Ir,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{indices:r,values:s,denseShape:i,defaultValue:a}=e;if(1!==i.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${i.shape}`);if(2!==r.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Values must be a vector, saw:\n ${s.shape}`);if(0!==a.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${a.shape}`);const o=n.readSync(r.dataId),l=n.readSync(s.dataId),u=n.readSync(i.dataId),c=n.readSync(a.dataId)[0],[h,d,p,f,m]=$D(o,r.shape,r.dtype,l,s.dtype,u,c);return[n.makeTensorInfo(d,r.dtype,h),n.makeTensorInfo([d[0]],s.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map((t=>Number(t))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}},Zz={kernelName:Cr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{inputIndices:r,inputShape:s,newShape:i}=e;if(2!==r.shape.length)throw new Error(`Input indices should be a matrix but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Input shape should be a vector but received shape ${s.shape}`);if(1!==i.shape.length)throw new Error(`Target shape should be a vector but received shape ${i.shape}`);const a=Array.from(n.readSync(s.dataId)),o=n.readSync(r.dataId),l=Array.from(n.readSync(i.dataId)),[u,c,h]=OD(o,r.shape,r.dtype,a,l);return[n.makeTensorInfo(c,r.dtype,u),n.makeTensorInfo([h.length],i.dtype,new Int32Array(h))]}},Qz={kernelName:Nr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{data:r,indices:s,segmentIds:i}=e;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==i.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${i.shape}`);const a=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(i.dataId),[u,c]=PD(a,r.shape,r.dtype,o,l,!0);return n.makeTensorInfo(c,r.dtype,u)}},tB={kernelName:Ar,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{data:r,indices:s,segmentIds:i}=e;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==i.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${i.shape}`);const a=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(i.dataId),[u,c]=PD(a,r.shape,r.dtype,o,l);return n.makeTensorInfo(c,r.dtype,u)}},eB={kernelName:Rr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{sparseIndices:s,sparseValues:i,defaultValue:a}=e,{outputShape:o}=r,{sliceRank:l,numUpdates:u,strides:c,outputSize:h}=oo(0,s,o),d=new Lz(u,l,s.shape.length,i.shape.length,c,[h,1],!1),p=n.runWebGLProgram(d,[i,s,a],i.dtype),f=RL({inputs:{x:p},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(p),f}},nB={kernelName:kr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{numOrSizeSplits:i,axis:a}=r,o=yt(a,s.shape)[0],l=ff(s,i,o),u=s.shape.length,c=new Array(u).fill(0),h=s.shape.slice();return l.map((t=>{const e=[...h];e[o]=t;const r=PF({inputs:{x:s},backend:n,attrs:{begin:c,size:e}});return c[o]+=t,r}))}},rB="return sqrt(x);",sB=_L({opSnippet:rB,packedOpSnippet:rB,cpuKernelImpl:zD}),iB={kernelName:Tr,backendName:"webgl",kernelFunc:sB},aB=_L({opSnippet:"return x * x;"}),oB={kernelName:Lr,backendName:"webgl",kernelFunc:aB},lB="return (a - b) * (a - b);",uB=ML({opSnippet:lB,packedOpSnippet:lB}),cB={kernelName:Dr,backendName:"webgl",kernelFunc:uB},hB={kernelName:Yr,backendName:"webgl",kernelFunc:function({inputs:t,attrs:e,backend:n}){const{x:r}=t,s=`if (isnan(x)) return x;\n return x > 0.0 ? 1.0 : float(${e.alpha});\n `,i=new rL(r.shape,s);return n.runWebGLProgram(i,[r],r.dtype)}};class dB{constructor(t,e,n){this.variableNames=["x"],this.outputShape=n;const r=n.length,s=VR(n.length),i=VR(n.length);let a="";if(1===r)a="coords * strides + begin";else{let t=0;a=n.map(((e,r)=>(t++,1===n.length?`coords * strides[${r}] + begin[${r}]`:`coords[${t-1}] * strides[${r}] + begin[${r}]`))).join(",")}this.userCode=`\n ${s} begin = ${s}(${t});\n ${s} strides = ${s}(${e});\n\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${a}));\n }\n `}}const pB={kernelName:Fr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{begin:i,end:a,strides:o,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:h,shrinkAxisMask:d}=r,{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:y,begin:x,end:b,strides:v}=_o(s.shape,i,a,o,l,u,c,h,d);let w;if(m)w=RL({inputs:{x:s},backend:n,attrs:{shape:f}});else if(g||y){rt(s.shape.length>=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const t=co(x,b,v),e=PF({inputs:{x:s},backend:n,attrs:{begin:x,size:t}});w=RL({inputs:{x:e},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(e)}else if(n.shouldExecuteOnCPU([s])){const t=n.readSync(s.dataId),e=_a(s.shape,s.dtype,t),r=BD(p,e,v,x);w=n.makeTensorInfo(f,s.dtype,r.values)}else{const t=new dB(x,v,p);w=n.runWebGLProgram(t,[s],s.dtype)}const S=RL({inputs:{x:w},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(w),S}},fB={kernelName:$r,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{separator:s,nGramWidths:i,leftPad:a,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=e,d=n.readSync(c.dataId),p=n.readSync(h.dataId),[f,m]=UD(d,p,s,i,a,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}},mB={kernelName:Or,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{skipEmpty:s}=r,{input:i,delimiter:a}=e;if("string"!==i.dtype)throw new Error("Input must be of datatype string");if(1!==i.shape.length)throw new Error(`Input must be a vector, got shape: ${i.shape}`);if(0!==a.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${a.shape}`);const o=n.readSync(i.dataId),l=n.readSync(a.dataId)[0],[u,c,h]=VD(o,l,s),d=c.length;return[n.makeTensorInfo([d,2],"int32",u),n.makeTensorInfo([d],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(h))]}},gB={kernelName:Pr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{numBuckets:s}=r,{input:i}=e;if("string"!==i.dtype)throw new Error("Input must be of datatype string");if(s<=0)throw new Error("Number of buckets must be at least 1");const a=n.readSync(i.dataId),o=WD(a,s);return n.makeTensorInfo(i.shape,"int32",o)}},yB=_L({opSnippet:"return tan(x);"}),xB={kernelName:Br,backendName:"webgl",kernelFunc:yB},bB=_L({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),vB={kernelName:Ur,backendName:"webgl",kernelFunc:bB};class wB{constructor(t,e){this.variableNames=["A"];const n=new Array(t.length);for(let r=0;r5)throw Error(`Tile for rank ${e} is not yet supported`);if(1===e)return`imod(resRC, ${t[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],r=[];for(let e=0;e5){const t=n.readSync(s.dataId),e="string"===s.dtype?t.map((t=>Ls(t))):t,r=_a(s.shape,s.dtype,e),a=GD(r,i);return n.makeTensorInfo(a.shape,a.dtype,a.values)}const a=new wB(s.shape,i);return n.runWebGLProgram(a,[s],s.dtype)}const TB={kernelName:Vr,backendName:"webgl",kernelFunc:SB};class _B{constructor(t){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=t,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class MB{constructor(t){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=t,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}}function kB(t,e){null!==e&&t.disposeIntermediateTensorInfo(e)}function EB(t){let e=1;for(;el){const t=n.readSync(s.dataId),[e,r]=jD(t,u,s.dtype,i,a);return[n.makeTensorInfo(e.shape,e.dtype,e.values),n.makeTensorInfo(r.shape,r.dtype,r.values)]}if(0===i)return u[u.length-1]=0,[n.makeTensorInfo(u,s.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[s,mO({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const h=n.texData.get(s.dataId),d=null!==h&&h.isPacked,p=d?n.unpackTensor(s):s,f=ot(u)/c,m=RL({inputs:{x:p},attrs:{shape:[f,c]},backend:n});d&&kB(n,p);const g=EB(i),y=EB(c);let x=null;const b=()=>null===x?[m,m]:[m,x],v=(t,e,r)=>{const s=b(),i=new _B(r),a=[[c],[null===x?1:0],[Number.NEGATIVE_INFINITY],[t],[e]],o=x;x=n.runWebGLProgram(i,s,"int32",a),kB(n,o)};for(let t=1;t=1;n/=2)v(e,n,[f,y])}for(let t=y;t>g;t/=2){const e=b(),r=new MB([f,t/2]),s=[[c],[null===x?1:0],[g]],i=x;x=n.runWebGLProgram(r,e,"int32",s),kB(n,i);const a=g/2,o=2*a;for(let t=a;t>=1;t/=2)v(o,t,x.shape)}let w=x;x=PF({inputs:{x},backend:n,attrs:{begin:0,size:[f,i]}}),kB(n,w);let S=DO({inputs:{x:m,indices:x},backend:n,attrs:{axis:1,batchDims:1}});kB(n,m);const T=u.slice(0,-1);T.push(i),w=x,x=RL({inputs:{x},attrs:{shape:T},backend:n}),kB(n,w);const _=S;return S=RL({inputs:{x:S},attrs:{shape:T},backend:n}),kB(n,_),[S,x]}};class CB{constructor(t,e,n,r,s,i){this.variableNames=["Image","Transforms"],this.outputShape=i;const a="nearest"===n?1:2;let o;switch(r){case"constant":o=1;break;case"reflect":o=2;break;case"wrap":o=3;break;case"nearest":o=4;break;default:o=1}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${o} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${t} && 0 <= coordX && coordX < ${e}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${e}));\n float mapY = mapCoord(inY, float(${t}));\n\n if (${a} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const NB={kernelName:Hr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{image:s,transforms:i}=e,{interpolation:a,fillMode:o,fillValue:l,outputShape:u}=r,[c,h,d,p]=s.shape,[f,m]=null!=u?u:[h,d],g=new CB(h,d,a,o,l,[c,f,m,p]);return n.runWebGLProgram(g,[s,i],"float32")}},AB={kernelName:jr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,attrs:n,backend:r}=t,{axis:s}=n,{x:i}=e;MR(i,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const a=r.readSync(i.dataId),{outputValues:o,outputShape:l,indices:u}=XD(a,s,i.shape,i.dtype);return[r.makeTensorInfo(l,i.dtype,o),r.makeTensorInfo([u.length],"int32",u)]}},RB={kernelName:qr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{value:s}=e;let{axis:i}=r;i<0&&(i+=s.shape.length);const a=s,o=a.shape.length,l=s.shape[i],u=new Array(o-1);let c=0;for(let t=0;tn.disposeIntermediateTensorInfo(t))),f}};class DB{constructor(t,e){this.variableNames=["x","segmentIds"];const n=t.windowSize,r=t.batchSize,s=t.inSize,i=t.numSegments,a=i*Math.ceil(s/n);this.outputShape=[r,a];const o=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let h="";s%n>0&&(h=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${h}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${i})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${i})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const LB=[GL,qL,KL,JL,tF,rF,sF,iF,hF,dF,fF,gF,xF,vF,SF,MF,kF,CF,NF,AF,LF,BF,UF,VF,qF,YF,QF,yL,n$,c$,g$,w$,S$,T$,_$,M$,E$,C$,A$,F$,$$,P$,U$,H$,G$,q$,K$,Y$,Z$,Q$,eO,rO,iO,oO,cO,pO,gO,xO,wO,TO,kO,IO,CO,AO,LO,$O,PO,mL,zO,o$,UO,WO,GO,vL,qO,KO,YO,ZO,tP,nP,sP,aP,uP,hP,pP,mP,gP,yP,vP,wP,SP,TP,_P,kP,CP,AP,BP,AL,UP,WP,GP,qP,HF,KP,ZP,QP,rz,iz,TL,az,lz,jF,LP,cz,dz,fz,DL,yz,bz,Sz,_z,Ez,Cz,Az,Dz,Fz,Oz,zz,Uz,Wz,Gz,qz,zF,zP,Kz,Yz,Jz,Zz,Qz,tB,eB,nB,iB,oB,cB,hB,pB,fB,mB,gB,OP,UL,xB,vB,TB,IB,NB,WL,AB,RB,{kernelName:Xr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,segmentIds:i}=e,{numSegments:a}=r,o=s.shape.length,l=[];let u=0;const c=Nc([u],o);let h=s;null!=c&&(h=VL({inputs:{x:s},backend:n,attrs:{perm:c}}),l.push(h),u=Rc(1,o)[0]);const d=If(h.shape,u,a),p=ot([h.shape[u]]),f=RL({inputs:{x:h},backend:n,attrs:{shape:[-1,p]}});l.push(f);const m=ri(s.dtype),g=(t,e,r,s,i)=>{const a=t.shape[0],o=t.shape[1],u=Ef(o,i),c=new DB({windowSize:u,inSize:o,batchSize:a,numSegments:i},e),h=n.compileAndRun(c,[t,r],s);if(l.push(h),h.shape[1]===i)return h;const d=oz({backend:n,attrs:{start:0,stop:i,step:1,dtype:"float32"}}),p=SB({inputs:{x:d},backend:n,attrs:{reps:[o/u]}});return l.push(d),l.push(p),g(h,e,p,s,i)},y=RL({inputs:{x:g(f,"unsortedSegmentSum",i,m,a)},backend:n,attrs:{shape:d}});let x=y;if(null!=c){l.push(y);const t=Ac(c);x=VL({inputs:{x},backend:n,attrs:{perm:t}})}return l.forEach((t=>n.disposeIntermediateTensorInfo(t))),x}},JP];for(const t of LB)us(t);const FB={"tfjs-core":Bo,"tfjs-backend-cpu":"3.13.0","tfjs-backend-webgl":"3.13.0","tfjs-data":jM,"tfjs-layers":eb,"tfjs-converter":z_,tfjs:"3.13.0"}},8485:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(3645),s=n.n(r)()((function(t){return t[1]}));s.push([t.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const i=s},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var s={};if(r)for(var i=0;i{"use strict";n.d(e,{Z:()=>r});const r='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r='
'},2810:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r='
'},3720:t=>{t.exports=n;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(t){}function n(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function r(t){return!0===(t&&t.__isLong__)}n.prototype.__isLong__,Object.defineProperty(n.prototype,"__isLong__",{value:!0}),n.isLong=r;var s={},i={};function a(t,e){var n,r,a;return e?(a=0<=(t>>>=0)&&t<256)&&(r=i[t])?r:(n=l(t,(0|t)<0?-1:0,!0),a&&(i[t]=n),n):(a=-128<=(t|=0)&&t<128)&&(r=s[t])?r:(n=l(t,t<0?-1:0,!1),a&&(s[t]=n),n)}function o(t,e){if(isNaN(t))return e?y:g;if(e){if(t<0)return y;if(t>=p)return S}else{if(t<=-f)return T;if(t+1>=f)return w}return t<0?o(-t,e).neg():l(t%d|0,t/d|0,e)}function l(t,e,r){return new n(t,e,r)}n.fromInt=a,n.fromNumber=o,n.fromBits=l;var u=Math.pow;function c(t,e,n){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return g;if("number"==typeof e?(n=e,e=!1):e=!!e,(n=n||10)<2||360)throw Error("interior hyphen");if(0===r)return c(t.substring(1),e,n).neg();for(var s=o(u(n,8)),i=g,a=0;a>>0:this.low},_.toNumber=function(){return this.unsigned?(this.high>>>0)*d+(this.low>>>0):this.high*d+(this.low>>>0)},_.toString=function(t){if((t=t||10)<2||36>>0).toString(t);if((i=l).isZero())return c+a;for(;c.length<6;)c="0"+c;a=""+c+a}},_.getHighBits=function(){return this.high},_.getHighBitsUnsigned=function(){return this.high>>>0},_.getLowBits=function(){return this.low},_.getLowBitsUnsigned=function(){return this.low>>>0},_.getNumBitsAbs=function(){if(this.isNegative())return this.eq(T)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<=0},_.isOdd=function(){return 1==(1&this.low)},_.isEven=function(){return 0==(1&this.low)},_.equals=function(t){return r(t)||(t=h(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},_.eq=_.equals,_.notEquals=function(t){return!this.eq(t)},_.neq=_.notEquals,_.ne=_.notEquals,_.lessThan=function(t){return this.comp(t)<0},_.lt=_.lessThan,_.lessThanOrEqual=function(t){return this.comp(t)<=0},_.lte=_.lessThanOrEqual,_.le=_.lessThanOrEqual,_.greaterThan=function(t){return this.comp(t)>0},_.gt=_.greaterThan,_.greaterThanOrEqual=function(t){return this.comp(t)>=0},_.gte=_.greaterThanOrEqual,_.ge=_.greaterThanOrEqual,_.compare=function(t){if(r(t)||(t=h(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},_.comp=_.compare,_.negate=function(){return!this.unsigned&&this.eq(T)?T:this.not().add(x)},_.neg=_.negate,_.add=function(t){r(t)||(t=h(t));var e=this.high>>>16,n=65535&this.high,s=this.low>>>16,i=65535&this.low,a=t.high>>>16,o=65535&t.high,u=t.low>>>16,c=0,d=0,p=0,f=0;return p+=(f+=i+(65535&t.low))>>>16,d+=(p+=s+u)>>>16,c+=(d+=n+o)>>>16,c+=e+a,l((p&=65535)<<16|(f&=65535),(c&=65535)<<16|(d&=65535),this.unsigned)},_.subtract=function(t){return r(t)||(t=h(t)),this.add(t.neg())},_.sub=_.subtract,_.multiply=function(t){if(this.isZero())return g;if(r(t)||(t=h(t)),e)return l(e.mul(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned);if(t.isZero())return g;if(this.eq(T))return t.isOdd()?T:g;if(t.eq(T))return this.isOdd()?T:g;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(m)&&t.lt(m))return o(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,s=65535&this.high,i=this.low>>>16,a=65535&this.low,u=t.high>>>16,c=65535&t.high,d=t.low>>>16,p=65535&t.low,f=0,y=0,x=0,b=0;return x+=(b+=a*p)>>>16,y+=(x+=i*p)>>>16,x&=65535,y+=(x+=a*d)>>>16,f+=(y+=s*p)>>>16,y&=65535,f+=(y+=i*d)>>>16,y&=65535,f+=(y+=a*c)>>>16,f+=n*p+s*d+i*c+a*u,l((x&=65535)<<16|(b&=65535),(f&=65535)<<16|(y&=65535),this.unsigned)},_.mul=_.multiply,_.divide=function(t){if(r(t)||(t=h(t)),t.isZero())throw Error("division by zero");var n,s,i;if(e)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?l((this.unsigned?e.div_u:e.div_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?y:g;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return y;if(t.gt(this.shru(1)))return b;i=y}else{if(this.eq(T))return t.eq(x)||t.eq(v)?T:t.eq(T)?x:(n=this.shr(1).div(t).shl(1)).eq(g)?t.isNegative()?x:v:(s=this.sub(t.mul(n)),i=n.add(s.div(t)));if(t.eq(T))return this.unsigned?y:g;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();i=g}for(s=this;s.gte(t);){n=Math.max(1,Math.floor(s.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:u(2,a-48),d=o(n),p=d.mul(t);p.isNegative()||p.gt(s);)p=(d=o(n-=c,this.unsigned)).mul(t);d.isZero()&&(d=x),i=i.add(d),s=s.sub(p)}return i},_.div=_.divide,_.modulo=function(t){return r(t)||(t=h(t)),e?l((this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},_.mod=_.modulo,_.rem=_.modulo,_.not=function(){return l(~this.low,~this.high,this.unsigned)},_.and=function(t){return r(t)||(t=h(t)),l(this.low&t.low,this.high&t.high,this.unsigned)},_.or=function(t){return r(t)||(t=h(t)),l(this.low|t.low,this.high|t.high,this.unsigned)},_.xor=function(t){return r(t)||(t=h(t)),l(this.low^t.low,this.high^t.high,this.unsigned)},_.shiftLeft=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?l(this.low<>>32-t,this.unsigned):l(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):l(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},_.shr=_.shiftRight,_.shiftRightUnsigned=function(t){if(r(t)&&(t=t.toInt()),0==(t&=63))return this;var e=this.high;return t<32?l(this.low>>>t|e<<32-t,e>>>t,this.unsigned):l(32===t?e:e>>>t-32,0,this.unsigned)},_.shru=_.shiftRightUnsigned,_.shr_u=_.shiftRightUnsigned,_.toSigned=function(){return this.unsigned?l(this.low,this.high,!1):this},_.toUnsigned=function(){return this.unsigned?this:l(this.low,this.high,!0)},_.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},_.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},_.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},n.fromBytes=function(t,e,r){return r?n.fromBytesLE(t,e):n.fromBytesBE(t,e)},n.fromBytesLE=function(t,e){return new n(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},n.fromBytesBE=function(t,e){return new n(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}},6377:(t,e,n)=>{var r=n(4832),s=n(8652),i=n(801),a=n(2030),o=n(3618),l=n(9049),u=n(1971);u.alea=r,u.xor128=s,u.xorwow=i,u.xorshift7=a,u.xor4096=o,u.tychei=l,t.exports=u},4832:function(t,e,n){var r;!function(t,s,i){function a(t){var e,n=this,r=(e=4022871197,function(t){t=t.toString();for(var n=0;n>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)});n.next=function(){var t=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=t-(n.c=0|t)},n.c=1,n.s0=r(" "),n.s1=r(" "),n.s2=r(" "),n.s0-=r(t),n.s0<0&&(n.s0+=1),n.s1-=r(t),n.s1<0&&(n.s1+=1),n.s2-=r(t),n.s2<0&&(n.s2+=1),r=null}function o(t,e){return e.c=t.c,e.s0=t.s0,e.s1=t.s1,e.s2=t.s2,e}function l(t,e){var n=new a(t),r=e&&e.state,s=n.next;return s.int32=function(){return 4294967296*n.next()|0},s.double=function(){return s()+11102230246251565e-32*(2097152*s()|0)},s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.alea=l}(0,t=n.nmd(t),n.amdD)},9049:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this,n="";e.next=function(){var t=e.b,n=e.c,r=e.d,s=e.a;return t=t<<25^t>>>7^n,n=n-r|0,r=r<<24^r>>>8^s,s=s-t|0,e.b=t=t<<20^t>>>12^n,e.c=n=n-r|0,e.d=r<<16^n>>>16^s,e.a=s-t|0},e.a=0,e.b=0,e.c=-1640531527,e.d=1367130551,t===Math.floor(t)?(e.a=t/4294967296|0,e.b=0|t):n+=t;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.tychei=l}(0,t=n.nmd(t),n.amdD)},8652:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this,n="";e.x=0,e.y=0,e.z=0,e.w=0,e.next=function(){var t=e.x^e.x<<11;return e.x=e.y,e.y=e.z,e.z=e.w,e.w^=e.w>>>19^t^t>>>8},t===(0|t)?e.x=t:n+=t;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xor128=l}(0,t=n.nmd(t),n.amdD)},3618:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this;e.next=function(){var t,n,r=e.w,s=e.X,i=e.i;return e.w=r=r+1640531527|0,n=s[i+34&127],t=s[i=i+1&127],n^=n<<13,t^=t<<17,n^=n>>>15,t^=t>>>12,n=s[i]=n^t,e.i=i,n+(r^r>>>16)|0},function(t,e){var n,r,s,i,a,o=[],l=128;for(e===(0|e)?(r=e,e=null):(e+="\0",r=0,l=Math.max(l,e.length)),s=0,i=-32;i>>15,r^=r<<4,r^=r>>>13,i>=0&&(a=a+1640531527|0,s=0==(n=o[127&i]^=r+a)?s+1:0);for(s>=128&&(o[127&(e&&e.length||0)]=-1),s=127,i=512;i>0;--i)r=o[s+34&127],n=o[s=s+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,o[s]=r^n;t.w=a,t.X=o,t.i=s}(e,t)}function o(t,e){return e.i=t.i,e.w=t.w,e.X=t.X.slice(),e}function l(t,e){null==t&&(t=+new Date);var n=new a(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&(r.X&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xor4096=l}(0,t=n.nmd(t),n.amdD)},2030:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this;e.next=function(){var t,n,r=e.x,s=e.i;return t=r[s],n=(t^=t>>>7)^t<<24,n^=(t=r[s+1&7])^t>>>10,n^=(t=r[s+3&7])^t>>>3,n^=(t=r[s+4&7])^t<<7,t=r[s+7&7],n^=(t^=t<<13)^t<<9,r[s]=n,e.i=s+1&7,n},function(t,e){var n,r=[];if(e===(0|e))r[0]=e;else for(e=""+e,n=0;n0;--n)t.next()}(e,t)}function o(t,e){return e.x=t.x.slice(),e.i=t.i,e}function l(t,e){null==t&&(t=+new Date);var n=new a(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&(r.x&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xorshift7=l}(0,t=n.nmd(t),n.amdD)},801:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this,n="";e.next=function(){var t=e.x^e.x>>>2;return e.x=e.y,e.y=e.z,e.z=e.w,e.w=e.v,(e.d=e.d+362437|0)+(e.v=e.v^e.v<<4^t^t<<1)|0},e.x=0,e.y=0,e.z=0,e.w=0,e.v=0,t===(0|t)?e.x=t:n+=t;for(var r=0;r>>4),e.next()}function o(t,e){return e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e.v=t.v,e.d=t.d,e}function l(t,e){var n=new a(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xorwow=l}(0,t=n.nmd(t),n.amdD)},1971:(t,e,n)=>{var r;!function(s,i){var a,o=this,l=256,u=i.pow(l,6),c=i.pow(2,52),h=2*c,d=255;function p(t,e,n){var r=[],d=y(g((e=1==e?{entropy:!0}:e||{}).entropy?[t,x(s)]:null==t?function(){try{var t;return a&&(t=a.randomBytes)?t=t(l):(t=new Uint8Array(l),(o.crypto||o.msCrypto).getRandomValues(t)),x(t)}catch(t){var e=o.navigator,n=e&&e.plugins;return[+new Date,o,n,o.screen,x(s)]}}():t,3),r),p=new f(r),b=function(){for(var t=p.g(6),e=u,n=0;t=h;)t/=2,e/=2,n>>>=1;return(t+n)/e};return b.int32=function(){return 0|p.g(4)},b.quick=function(){return p.g(4)/4294967296},b.double=b,y(x(p.S),s),(e.pass||n||function(t,e,n,r){return r&&(r.S&&m(r,p),t.state=function(){return m(p,{})}),n?(i.random=t,e):t})(b,d,"global"in e?e.global:this==i,e.state)}function f(t){var e,n=t.length,r=this,s=0,i=r.i=r.j=0,a=r.S=[];for(n||(t=[n++]);s{"use strict";n.r(e),n.d(e,{default:()=>a});var r=n(3379),s=n.n(r),i=n(8485);s()(i.Z,{insert:"head",singleton:!1});const a=i.Z.locals||{}},3379:(t,e,n)=>{"use strict";var r,s=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),i=[];function a(t){for(var e=-1,n=0;n{"use strict";n.r(e),n.d(e,{ACESFilmicToneMapping:()=>nt,AddEquation:()=>M,AddOperation:()=>J,AdditiveAnimationBlendMode:()=>Ge,AdditiveBlending:()=>w,AlphaFormat:()=>$t,AlwaysDepth:()=>V,AlwaysStencilFunc:()=>yn,AmbientLight:()=>Qh,AmbientLightProbe:()=>gd,AnimationClip:()=>_h,AnimationLoader:()=>Rh,AnimationMixer:()=>Xd,AnimationObjectGroup:()=>jd,AnimationUtils:()=>hh,ArcCurve:()=>ju,ArrayCamera:()=>ml,ArrowHelper:()=>Op,Audio:()=>Id,AudioAnalyser:()=>Ld,AudioContext:()=>pd,AudioListener:()=>Ed,AudioLoader:()=>fd,AxesHelper:()=>Pp,AxisHelper:()=>ff,BackSide:()=>m,BasicDepthPacking:()=>Je,BasicShadowMap:()=>c,BinaryTextureLoader:()=>bf,Bone:()=>eu,BooleanKeyframeTrack:()=>yh,BoundingBoxHelper:()=>mf,Box2:()=>sp,Box3:()=>or,Box3Helper:()=>Rp,BoxBufferGeometry:()=>fi,BoxGeometry:()=>fi,BoxHelper:()=>Ap,BufferAttribute:()=>Ns,BufferGeometry:()=>Xs,BufferGeometryLoader:()=>ad,ByteType:()=>Mt,Cache:()=>kh,Camera:()=>bi,CameraHelper:()=>Ip,CanvasRenderer:()=>wf,CanvasTexture:()=>Du,CatmullRomCurve3:()=>Zu,CineonToneMapping:()=>et,CircleBufferGeometry:()=>Lu,CircleGeometry:()=>Lu,ClampToEdgeWrapping:()=>dt,Clock:()=>wd,Color:()=>ks,ColorKeyframeTrack:()=>xh,CompressedTexture:()=>Ru,CompressedTextureLoader:()=>Dh,ConeBufferGeometry:()=>$u,ConeGeometry:()=>$u,CubeCamera:()=>Si,CubeReflectionMapping:()=>it,CubeRefractionMapping:()=>at,CubeTexture:()=>Ti,CubeTextureLoader:()=>Fh,CubeUVReflectionMapping:()=>ut,CubeUVRefractionMapping:()=>ct,CubicBezierCurve:()=>nc,CubicBezierCurve3:()=>rc,CubicInterpolant:()=>ph,CullFaceBack:()=>o,CullFaceFront:()=>l,CullFaceFrontBack:()=>u,CullFaceNone:()=>a,Curve:()=>Hu,CurvePath:()=>cc,CustomBlending:()=>_,CustomToneMapping:()=>rt,CylinderBufferGeometry:()=>Fu,CylinderGeometry:()=>Fu,Cylindrical:()=>np,DataTexture:()=>nu,DataTexture2DArray:()=>ga,DataTexture3D:()=>Sa,DataTextureLoader:()=>$h,DataUtils:()=>Vp,DecrementStencilOp:()=>an,DecrementWrapStencilOp:()=>ln,DefaultLoadingManager:()=>Ih,DepthFormat:()=>Ut,DepthStencilFormat:()=>Vt,DepthTexture:()=>bl,DirectionalLight:()=>Zh,DirectionalLightHelper:()=>Mp,DiscreteInterpolant:()=>mh,DodecahedronBufferGeometry:()=>Pu,DodecahedronGeometry:()=>Pu,DoubleSide:()=>g,DstAlphaFactor:()=>$,DstColorFactor:()=>P,DynamicBufferAttribute:()=>rf,DynamicCopyUsage:()=>Mn,DynamicDrawUsage:()=>bn,DynamicReadUsage:()=>Sn,EdgesGeometry:()=>Wu,EdgesHelper:()=>gf,EllipseCurve:()=>Gu,EqualDepth:()=>G,EqualStencilFunc:()=>dn,EquirectangularReflectionMapping:()=>ot,EquirectangularRefractionMapping:()=>lt,Euler:()=>Gr,EventDispatcher:()=>Cn,ExtrudeBufferGeometry:()=>Bc,ExtrudeGeometry:()=>Bc,FaceColors:()=>jp,FileLoader:()=>Ah,FlatShading:()=>y,Float16BufferAttribute:()=>Ps,Float32Attribute:()=>df,Float32BufferAttribute:()=>zs,Float64Attribute:()=>pf,Float64BufferAttribute:()=>Bs,FloatType:()=>Nt,Fog:()=>Ml,FogExp2:()=>_l,Font:()=>If,FontLoader:()=>Ef,FramebufferTexture:()=>Au,FrontSide:()=>f,Frustum:()=>Ai,GLBufferAttribute:()=>Jd,GLSL1:()=>En,GLSL3:()=>In,GreaterDepth:()=>q,GreaterEqualDepth:()=>j,GreaterEqualStencilFunc:()=>gn,GreaterStencilFunc:()=>fn,GridHelper:()=>vp,Group:()=>gl,HalfFloatType:()=>At,HemisphereLight:()=>zh,HemisphereLightHelper:()=>bp,HemisphereLightProbe:()=>md,IcosahedronBufferGeometry:()=>Vc,IcosahedronGeometry:()=>Vc,ImageBitmapLoader:()=>hd,ImageLoader:()=>Lh,ImageUtils:()=>Kn,ImmediateRenderObject:()=>Cf,IncrementStencilOp:()=>sn,IncrementWrapStencilOp:()=>on,InstancedBufferAttribute:()=>au,InstancedBufferGeometry:()=>id,InstancedInterleavedBuffer:()=>Yd,InstancedMesh:()=>hu,Int16Attribute:()=>lf,Int16BufferAttribute:()=>Ls,Int32Attribute:()=>cf,Int32BufferAttribute:()=>$s,Int8Attribute:()=>sf,Int8BufferAttribute:()=>As,IntType:()=>It,InterleavedBuffer:()=>El,InterleavedBufferAttribute:()=>Cl,Interpolant:()=>dh,InterpolateDiscrete:()=>Pe,InterpolateLinear:()=>ze,InterpolateSmooth:()=>Be,InvertStencilOp:()=>un,JSONLoader:()=>Sf,KeepStencilOp:()=>nn,KeyframeTrack:()=>gh,LOD:()=>Xl,LatheBufferGeometry:()=>Wc,LatheGeometry:()=>Wc,Layers:()=>jr,LensFlare:()=>_f,LessDepth:()=>W,LessEqualDepth:()=>H,LessEqualStencilFunc:()=>pn,LessStencilFunc:()=>hn,Light:()=>Ph,LightProbe:()=>nd,Line:()=>xu,Line3:()=>op,LineBasicMaterial:()=>du,LineCurve:()=>sc,LineCurve3:()=>ic,LineDashedMaterial:()=>uh,LineLoop:()=>Su,LinePieces:()=>Hp,LineSegments:()=>wu,LineStrip:()=>Wp,LinearEncoding:()=>Ke,LinearFilter:()=>bt,LinearInterpolant:()=>fh,LinearMipMapLinearFilter:()=>Tt,LinearMipMapNearestFilter:()=>wt,LinearMipmapLinearFilter:()=>St,LinearMipmapNearestFilter:()=>vt,LinearToneMapping:()=>Q,Loader:()=>Ch,LoaderUtils:()=>sd,LoadingManager:()=>Eh,LoopOnce:()=>Fe,LoopPingPong:()=>Oe,LoopRepeat:()=>$e,LuminanceAlphaFormat:()=>Bt,LuminanceFormat:()=>zt,MOUSE:()=>s,Material:()=>bs,MaterialLoader:()=>rd,Math:()=>Un,MathUtils:()=>Un,Matrix3:()=>Wn,Matrix4:()=>Fr,MaxEquation:()=>C,Mesh:()=>di,MeshBasicMaterial:()=>Es,MeshDepthMaterial:()=>ul,MeshDistanceMaterial:()=>cl,MeshFaceMaterial:()=>Xp,MeshLambertMaterial:()=>oh,MeshMatcapMaterial:()=>lh,MeshNormalMaterial:()=>ah,MeshPhongMaterial:()=>sh,MeshPhysicalMaterial:()=>rh,MeshStandardMaterial:()=>nh,MeshToonMaterial:()=>ih,MinEquation:()=>I,MirroredRepeatWrapping:()=>pt,MixOperation:()=>Y,MultiMaterial:()=>Kp,MultiplyBlending:()=>T,MultiplyOperation:()=>K,NearestFilter:()=>ft,NearestMipMapLinearFilter:()=>xt,NearestMipMapNearestFilter:()=>gt,NearestMipmapLinearFilter:()=>yt,NearestMipmapNearestFilter:()=>mt,NeverDepth:()=>U,NeverStencilFunc:()=>cn,NoBlending:()=>b,NoColors:()=>Gp,NoToneMapping:()=>Z,NormalAnimationBlendMode:()=>He,NormalBlending:()=>v,NotEqualDepth:()=>X,NotEqualStencilFunc:()=>mn,NumberKeyframeTrack:()=>bh,Object3D:()=>as,ObjectLoader:()=>od,ObjectSpaceNormalMap:()=>tn,OctahedronBufferGeometry:()=>Hc,OctahedronGeometry:()=>Hc,OneFactor:()=>A,OneMinusDstAlphaFactor:()=>O,OneMinusDstColorFactor:()=>z,OneMinusSrcAlphaFactor:()=>F,OneMinusSrcColorFactor:()=>D,OrthographicCamera:()=>Hi,PCFShadowMap:()=>h,PCFSoftShadowMap:()=>d,PMREMGenerator:()=>ia,ParametricGeometry:()=>Mf,Particle:()=>Jp,ParticleBasicMaterial:()=>tf,ParticleSystem:()=>Zp,ParticleSystemMaterial:()=>ef,Path:()=>hc,PerspectiveCamera:()=>vi,Plane:()=>Ii,PlaneBufferGeometry:()=>Li,PlaneGeometry:()=>Li,PlaneHelper:()=>Dp,PointCloud:()=>Yp,PointCloudMaterial:()=>Qp,PointLight:()=>Yh,PointLightHelper:()=>mp,Points:()=>Iu,PointsMaterial:()=>Tu,PolarGridHelper:()=>wp,PolyhedronBufferGeometry:()=>Ou,PolyhedronGeometry:()=>Ou,PositionalAudio:()=>Dd,PropertyBinding:()=>Gd,PropertyMixer:()=>Fd,QuadraticBezierCurve:()=>ac,QuadraticBezierCurve3:()=>oc,Quaternion:()=>rr,QuaternionKeyframeTrack:()=>wh,QuaternionLinearInterpolant:()=>vh,REVISION:()=>r,RGBADepthPacking:()=>Ze,RGBAFormat:()=>Pt,RGBAIntegerFormat:()=>Xt,RGBA_ASTC_10x10_Format:()=>ye,RGBA_ASTC_10x5_Format:()=>fe,RGBA_ASTC_10x6_Format:()=>me,RGBA_ASTC_10x8_Format:()=>ge,RGBA_ASTC_12x10_Format:()=>xe,RGBA_ASTC_12x12_Format:()=>be,RGBA_ASTC_4x4_Format:()=>ae,RGBA_ASTC_5x4_Format:()=>oe,RGBA_ASTC_5x5_Format:()=>le,RGBA_ASTC_6x5_Format:()=>ue,RGBA_ASTC_6x6_Format:()=>ce,RGBA_ASTC_8x5_Format:()=>he,RGBA_ASTC_8x6_Format:()=>de,RGBA_ASTC_8x8_Format:()=>pe,RGBA_BPTC_Format:()=>ve,RGBA_ETC2_EAC_Format:()=>ie,RGBA_PVRTC_2BPPV1_Format:()=>ne,RGBA_PVRTC_4BPPV1_Format:()=>ee,RGBA_S3TC_DXT1_Format:()=>Yt,RGBA_S3TC_DXT3_Format:()=>Jt,RGBA_S3TC_DXT5_Format:()=>Zt,RGBFormat:()=>Ot,RGBIntegerFormat:()=>qt,RGB_ETC1_Format:()=>re,RGB_ETC2_Format:()=>se,RGB_PVRTC_2BPPV1_Format:()=>te,RGB_PVRTC_4BPPV1_Format:()=>Qt,RGB_S3TC_DXT1_Format:()=>Kt,RGFormat:()=>Gt,RGIntegerFormat:()=>jt,RawShaderMaterial:()=>Gi,Ray:()=>Lr,Raycaster:()=>Zd,RectAreaLight:()=>td,RedFormat:()=>Wt,RedIntegerFormat:()=>Ht,ReinhardToneMapping:()=>tt,RepeatWrapping:()=>ht,ReplaceStencilOp:()=>rn,ReverseSubtractEquation:()=>E,RingBufferGeometry:()=>Gc,RingGeometry:()=>Gc,SRGB8_ALPHA8_ASTC_10x10_Format:()=>Re,SRGB8_ALPHA8_ASTC_10x5_Format:()=>Ce,SRGB8_ALPHA8_ASTC_10x6_Format:()=>Ne,SRGB8_ALPHA8_ASTC_10x8_Format:()=>Ae,SRGB8_ALPHA8_ASTC_12x10_Format:()=>De,SRGB8_ALPHA8_ASTC_12x12_Format:()=>Le,SRGB8_ALPHA8_ASTC_4x4_Format:()=>we,SRGB8_ALPHA8_ASTC_5x4_Format:()=>Se,SRGB8_ALPHA8_ASTC_5x5_Format:()=>Te,SRGB8_ALPHA8_ASTC_6x5_Format:()=>_e,SRGB8_ALPHA8_ASTC_6x6_Format:()=>Me,SRGB8_ALPHA8_ASTC_8x5_Format:()=>ke,SRGB8_ALPHA8_ASTC_8x6_Format:()=>Ee,SRGB8_ALPHA8_ASTC_8x8_Format:()=>Ie,Scene:()=>kl,SceneUtils:()=>Tf,ShaderChunk:()=>Fi,ShaderLib:()=>Oi,ShaderMaterial:()=>xi,ShadowMaterial:()=>eh,Shape:()=>dc,ShapeBufferGeometry:()=>jc,ShapeGeometry:()=>jc,ShapePath:()=>zp,ShapeUtils:()=>Oc,ShortType:()=>kt,Skeleton:()=>iu,SkeletonHelper:()=>pp,SkinnedMesh:()=>tu,SmoothShading:()=>x,Sphere:()=>kr,SphereBufferGeometry:()=>qc,SphereGeometry:()=>qc,Spherical:()=>ep,SphericalHarmonics3:()=>ed,SplineCurve:()=>lc,SpotLight:()=>Gh,SpotLightHelper:()=>up,Sprite:()=>Hl,SpriteMaterial:()=>Nl,SrcAlphaFactor:()=>L,SrcAlphaSaturateFactor:()=>B,SrcColorFactor:()=>R,StaticCopyUsage:()=>_n,StaticDrawUsage:()=>xn,StaticReadUsage:()=>wn,StereoCamera:()=>vd,StreamCopyUsage:()=>kn,StreamDrawUsage:()=>vn,StreamReadUsage:()=>Tn,StringKeyframeTrack:()=>Sh,SubtractEquation:()=>k,SubtractiveBlending:()=>S,TOUCH:()=>i,TangentSpaceNormalMap:()=>Qe,TetrahedronBufferGeometry:()=>Xc,TetrahedronGeometry:()=>Xc,TextGeometry:()=>kf,Texture:()=>Jn,TextureLoader:()=>Oh,TorusBufferGeometry:()=>Kc,TorusGeometry:()=>Kc,TorusKnotBufferGeometry:()=>Yc,TorusKnotGeometry:()=>Yc,Triangle:()=>ys,TriangleFanDrawMode:()=>Xe,TriangleStripDrawMode:()=>qe,TrianglesDrawMode:()=>je,TubeBufferGeometry:()=>Jc,TubeGeometry:()=>Jc,UVMapping:()=>st,Uint16Attribute:()=>uf,Uint16BufferAttribute:()=>Fs,Uint32Attribute:()=>hf,Uint32BufferAttribute:()=>Os,Uint8Attribute:()=>af,Uint8BufferAttribute:()=>Rs,Uint8ClampedAttribute:()=>of,Uint8ClampedBufferAttribute:()=>Ds,Uniform:()=>Kd,UniformsLib:()=>$i,UniformsUtils:()=>yi,UnsignedByteType:()=>_t,UnsignedInt248Type:()=>Ft,UnsignedIntType:()=>Ct,UnsignedShort4444Type:()=>Rt,UnsignedShort5551Type:()=>Dt,UnsignedShort565Type:()=>Lt,UnsignedShortType:()=>Et,VSMShadowMap:()=>p,Vector2:()=>Vn,Vector3:()=>sr,Vector4:()=>Qn,VectorKeyframeTrack:()=>Th,Vertex:()=>nf,VertexColors:()=>qp,VideoTexture:()=>Nu,WebGL1Renderer:()=>Tl,WebGLCubeRenderTarget:()=>_i,WebGLMultipleRenderTargets:()=>er,WebGLMultisampleRenderTarget:()=>nr,WebGLRenderTarget:()=>tr,WebGLRenderTargetCube:()=>vf,WebGLRenderer:()=>Sl,WebGLUtils:()=>fl,WireframeGeometry:()=>Zc,WireframeHelper:()=>yf,WrapAroundEnding:()=>We,XHRLoader:()=>xf,ZeroCurvatureEnding:()=>Ue,ZeroFactor:()=>N,ZeroSlopeEnding:()=>Ve,ZeroStencilOp:()=>en,sRGBEncoding:()=>Ye});const r="136",s={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},a=0,o=1,l=2,u=3,c=0,h=1,d=2,p=3,f=0,m=1,g=2,y=1,x=2,b=0,v=1,w=2,S=3,T=4,_=5,M=100,k=101,E=102,I=103,C=104,N=200,A=201,R=202,D=203,L=204,F=205,$=206,O=207,P=208,z=209,B=210,U=0,V=1,W=2,H=3,G=4,j=5,q=6,X=7,K=0,Y=1,J=2,Z=0,Q=1,tt=2,et=3,nt=4,rt=5,st=300,it=301,at=302,ot=303,lt=304,ut=306,ct=307,ht=1e3,dt=1001,pt=1002,ft=1003,mt=1004,gt=1004,yt=1005,xt=1005,bt=1006,vt=1007,wt=1007,St=1008,Tt=1008,_t=1009,Mt=1010,kt=1011,Et=1012,It=1013,Ct=1014,Nt=1015,At=1016,Rt=1017,Dt=1018,Lt=1019,Ft=1020,$t=1021,Ot=1022,Pt=1023,zt=1024,Bt=1025,Ut=1026,Vt=1027,Wt=1028,Ht=1029,Gt=1030,jt=1031,qt=1032,Xt=1033,Kt=33776,Yt=33777,Jt=33778,Zt=33779,Qt=35840,te=35841,ee=35842,ne=35843,re=36196,se=37492,ie=37496,ae=37808,oe=37809,le=37810,ue=37811,ce=37812,he=37813,de=37814,pe=37815,fe=37816,me=37817,ge=37818,ye=37819,xe=37820,be=37821,ve=36492,we=37840,Se=37841,Te=37842,_e=37843,Me=37844,ke=37845,Ee=37846,Ie=37847,Ce=37848,Ne=37849,Ae=37850,Re=37851,De=37852,Le=37853,Fe=2200,$e=2201,Oe=2202,Pe=2300,ze=2301,Be=2302,Ue=2400,Ve=2401,We=2402,He=2500,Ge=2501,je=0,qe=1,Xe=2,Ke=3e3,Ye=3001,Je=3200,Ze=3201,Qe=0,tn=1,en=0,nn=7680,rn=7681,sn=7682,an=7683,on=34055,ln=34056,un=5386,cn=512,hn=513,dn=514,pn=515,fn=516,mn=517,gn=518,yn=519,xn=35044,bn=35048,vn=35040,wn=35045,Sn=35049,Tn=35041,_n=35046,Mn=35050,kn=35042,En="100",In="300 es";class Cn{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,r=n.length;e>8&255]+Nn[t>>16&255]+Nn[t>>24&255]+"-"+Nn[255&e]+Nn[e>>8&255]+"-"+Nn[e>>16&15|64]+Nn[e>>24&255]+"-"+Nn[63&n|128]+Nn[n>>8&255]+"-"+Nn[n>>16&255]+Nn[n>>24&255]+Nn[255&r]+Nn[r>>8&255]+Nn[r>>16&255]+Nn[r>>24&255]).toUpperCase()}function Fn(t,e,n){return Math.max(e,Math.min(n,t))}function $n(t,e){return(t%e+e)%e}function On(t,e,n){return(1-n)*t+n*e}function Pn(t){return 0==(t&t-1)&&0!==t}function zn(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function Bn(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var Un=Object.freeze({__proto__:null,DEG2RAD:Rn,RAD2DEG:Dn,generateUUID:Ln,clamp:Fn,euclideanModulo:$n,mapLinear:function(t,e,n,r,s){return r+(t-e)*(s-r)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:On,damp:function(t,e,n,r){return On(t,e,1-Math.exp(-n*r))},pingpong:function(t,e=1){return e-Math.abs($n(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(An=t%2147483647),An=16807*An%2147483647,(An-1)/2147483646},degToRad:function(t){return t*Rn},radToDeg:function(t){return t*Dn},isPowerOfTwo:Pn,ceilPowerOfTwo:zn,floorPowerOfTwo:Bn,setQuaternionFromProperEuler:function(t,e,n,r,s){const i=Math.cos,a=Math.sin,o=i(n/2),l=a(n/2),u=i((e+r)/2),c=a((e+r)/2),h=i((e-r)/2),d=a((e-r)/2),p=i((r-e)/2),f=a((r-e)/2);switch(s){case"XYX":t.set(o*c,l*h,l*d,o*u);break;case"YZY":t.set(l*d,o*c,l*h,o*u);break;case"ZXZ":t.set(l*h,l*d,o*c,o*u);break;case"XZX":t.set(o*c,l*f,l*p,o*u);break;case"YXY":t.set(l*p,o*c,l*f,o*u);break;case"ZYZ":t.set(l*f,l*p,o*c,o*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+s)}}});class Vn{constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6],this.y=r[1]*e+r[4]*n+r[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),r=Math.sin(e),s=this.x-t.x,i=this.y-t.y;return this.x=s*n-i*r+t.x,this.y=s*r+i*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}Vn.prototype.isVector2=!0;class Wn{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,r,s,i,a,o,l){const u=this.elements;return u[0]=t,u[1]=r,u[2]=a,u[3]=e,u[4]=s,u[5]=o,u[6]=n,u[7]=i,u[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,r=e.elements,s=this.elements,i=n[0],a=n[3],o=n[6],l=n[1],u=n[4],c=n[7],h=n[2],d=n[5],p=n[8],f=r[0],m=r[3],g=r[6],y=r[1],x=r[4],b=r[7],v=r[2],w=r[5],S=r[8];return s[0]=i*f+a*y+o*v,s[3]=i*m+a*x+o*w,s[6]=i*g+a*b+o*S,s[1]=l*f+u*y+c*v,s[4]=l*m+u*x+c*w,s[7]=l*g+u*b+c*S,s[2]=h*f+d*y+p*v,s[5]=h*m+d*x+p*w,s[8]=h*g+d*b+p*S,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],r=t[2],s=t[3],i=t[4],a=t[5],o=t[6],l=t[7],u=t[8];return e*i*u-e*a*l-n*s*u+n*a*o+r*s*l-r*i*o}invert(){const t=this.elements,e=t[0],n=t[1],r=t[2],s=t[3],i=t[4],a=t[5],o=t[6],l=t[7],u=t[8],c=u*i-a*l,h=a*o-u*s,d=l*s-i*o,p=e*c+n*h+r*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;return t[0]=c*f,t[1]=(r*l-u*n)*f,t[2]=(a*n-r*i)*f,t[3]=h*f,t[4]=(u*e-r*o)*f,t[5]=(r*s-a*e)*f,t[6]=d*f,t[7]=(n*o-l*e)*f,t[8]=(i*e-n*s)*f,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,r,s,i,a){const o=Math.cos(s),l=Math.sin(s);return this.set(n*o,n*l,-n*(o*i+l*a)+i+t,-r*l,r*o,-r*(-l*i+o*a)+a+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),r=this.elements,s=r[0],i=r[3],a=r[6],o=r[1],l=r[4],u=r[7];return r[0]=e*s+n*o,r[3]=e*i+n*l,r[6]=e*a+n*u,r[1]=-n*s+e*o,r[4]=-n*i+e*l,r[7]=-n*a+e*u,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}function Hn(t){if(0===t.length)return-1/0;let e=t[0];for(let n=1,r=t.length;ne&&(e=t[n]);return e}Wn.prototype.isMatrix3=!0;const Gn={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function jn(t,e){return new Gn[t](e)}function qn(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}let Xn;class Kn{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===Xn&&(Xn=qn("canvas")),Xn.width=t.width,Xn.height=t.height;const n=Xn.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=Xn}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}}let Yn=0;class Jn extends Cn{constructor(t=Jn.DEFAULT_IMAGE,e=Jn.DEFAULT_MAPPING,n=dt,r=dt,s=bt,i=St,a=Pt,o=_t,l=1,u=Ke){super(),Object.defineProperty(this,"id",{value:Yn++}),this.uuid=Ln(),this.name="",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=r,this.magFilter=s,this.minFilter=i,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new Vn(0,0),this.repeat=new Vn(1,1),this.center=new Vn(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Wn,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=u,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this.userData=JSON.parse(JSON.stringify(t.userData)),this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const r=this.image;if(void 0===r.uuid&&(r.uuid=Ln()),!e&&void 0===t.images[r.uuid]){let e;if(Array.isArray(r)){e=[];for(let t=0,n=r.length;t1)switch(this.wrapS){case ht:t.x=t.x-Math.floor(t.x);break;case dt:t.x=t.x<0?0:1;break;case pt:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case ht:t.y=t.y-Math.floor(t.y);break;case dt:t.y=t.y<0?0:1;break;case pt:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&this.version++}}function Zn(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?Kn.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}Jn.DEFAULT_IMAGE=void 0,Jn.DEFAULT_MAPPING=st,Jn.prototype.isTexture=!0;class Qn{constructor(t=0,e=0,n=0,r=1){this.x=t,this.y=e,this.z=n,this.w=r}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,r){return this.x=t,this.y=e,this.z=n,this.w=r,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,r=this.z,s=this.w,i=t.elements;return this.x=i[0]*e+i[4]*n+i[8]*r+i[12]*s,this.y=i[1]*e+i[5]*n+i[9]*r+i[13]*s,this.z=i[2]*e+i[6]*n+i[10]*r+i[14]*s,this.w=i[3]*e+i[7]*n+i[11]*r+i[15]*s,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,r,s;const i=.01,a=.1,o=t.elements,l=o[0],u=o[4],c=o[8],h=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(u-h)o&&t>y?ty?o=0?1:-1,r=1-e*e;if(r>Number.EPSILON){const s=Math.sqrt(r),i=Math.atan2(s,e*n);t=Math.sin(t*i)/s,a=Math.sin(a*i)/s}const s=a*n;if(o=o*t+h*s,l=l*t+d*s,u=u*t+p*s,c=c*t+f*s,t===1-a){const t=1/Math.sqrt(o*o+l*l+u*u+c*c);o*=t,l*=t,u*=t,c*=t}}t[e]=o,t[e+1]=l,t[e+2]=u,t[e+3]=c}static multiplyQuaternionsFlat(t,e,n,r,s,i){const a=n[r],o=n[r+1],l=n[r+2],u=n[r+3],c=s[i],h=s[i+1],d=s[i+2],p=s[i+3];return t[e]=a*p+u*c+o*d-l*h,t[e+1]=o*p+u*h+l*c-a*d,t[e+2]=l*p+u*d+a*h-o*c,t[e+3]=u*p-a*c-o*h-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,r){return this._x=t,this._y=e,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=t._x,r=t._y,s=t._z,i=t._order,a=Math.cos,o=Math.sin,l=a(n/2),u=a(r/2),c=a(s/2),h=o(n/2),d=o(r/2),p=o(s/2);switch(i){case"XYZ":this._x=h*u*c+l*d*p,this._y=l*d*c-h*u*p,this._z=l*u*p+h*d*c,this._w=l*u*c-h*d*p;break;case"YXZ":this._x=h*u*c+l*d*p,this._y=l*d*c-h*u*p,this._z=l*u*p-h*d*c,this._w=l*u*c+h*d*p;break;case"ZXY":this._x=h*u*c-l*d*p,this._y=l*d*c+h*u*p,this._z=l*u*p+h*d*c,this._w=l*u*c-h*d*p;break;case"ZYX":this._x=h*u*c-l*d*p,this._y=l*d*c+h*u*p,this._z=l*u*p-h*d*c,this._w=l*u*c+h*d*p;break;case"YZX":this._x=h*u*c+l*d*p,this._y=l*d*c+h*u*p,this._z=l*u*p-h*d*c,this._w=l*u*c-h*d*p;break;case"XZY":this._x=h*u*c-l*d*p,this._y=l*d*c-h*u*p,this._z=l*u*p+h*d*c,this._w=l*u*c+h*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+i)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,r=Math.sin(n);return this._x=t.x*r,this._y=t.y*r,this._z=t.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],r=e[4],s=e[8],i=e[1],a=e[5],o=e[9],l=e[2],u=e[6],c=e[10],h=n+a+c;if(h>0){const t=.5/Math.sqrt(h+1);this._w=.25/t,this._x=(u-o)*t,this._y=(s-l)*t,this._z=(i-r)*t}else if(n>a&&n>c){const t=2*Math.sqrt(1+n-a-c);this._w=(u-o)/t,this._x=.25*t,this._y=(r+i)/t,this._z=(s+l)/t}else if(a>c){const t=2*Math.sqrt(1+a-n-c);this._w=(s-l)/t,this._x=(r+i)/t,this._y=.25*t,this._z=(o+u)/t}else{const t=2*Math.sqrt(1+c-n-a);this._w=(i-r)/t,this._x=(s+l)/t,this._y=(o+u)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Fn(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const r=Math.min(1,e/n);return this.slerp(t,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,r=t._y,s=t._z,i=t._w,a=e._x,o=e._y,l=e._z,u=e._w;return this._x=n*u+i*a+r*l-s*o,this._y=r*u+i*o+s*a-n*l,this._z=s*u+i*l+n*o-r*a,this._w=i*u-n*a-r*o-s*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,r=this._y,s=this._z,i=this._w;let a=i*t._w+n*t._x+r*t._y+s*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=i,this._x=n,this._y=r,this._z=s,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*i+e*this._w,this._x=t*n+e*this._x,this._y=t*r+e*this._y,this._z=t*s+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),u=Math.atan2(l,a),c=Math.sin((1-e)*u)/l,h=Math.sin(e*u)/l;return this._w=i*c+this._w*h,this._x=n*c+this._x*h,this._y=r*c+this._y*h,this._z=s*c+this._z*h,this._onChangeCallback(),this}slerpQuaternions(t,e,n){this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(e*Math.cos(r),n*Math.sin(s),n*Math.cos(s),e*Math.sin(r))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}rr.prototype.isQuaternion=!0;class sr{constructor(t=0,e=0,n=0){this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(ar.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ar.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,r=this.z,s=t.elements;return this.x=s[0]*e+s[3]*n+s[6]*r,this.y=s[1]*e+s[4]*n+s[7]*r,this.z=s[2]*e+s[5]*n+s[8]*r,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,r=this.z,s=t.elements,i=1/(s[3]*e+s[7]*n+s[11]*r+s[15]);return this.x=(s[0]*e+s[4]*n+s[8]*r+s[12])*i,this.y=(s[1]*e+s[5]*n+s[9]*r+s[13])*i,this.z=(s[2]*e+s[6]*n+s[10]*r+s[14])*i,this}applyQuaternion(t){const e=this.x,n=this.y,r=this.z,s=t.x,i=t.y,a=t.z,o=t.w,l=o*e+i*r-a*n,u=o*n+a*e-s*r,c=o*r+s*n-i*e,h=-s*e-i*n-a*r;return this.x=l*o+h*-s+u*-a-c*-i,this.y=u*o+h*-i+c*-s-l*-a,this.z=c*o+h*-a+l*-i-u*-s,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,r=this.z,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*r,this.y=s[1]*e+s[5]*n+s[9]*r,this.z=s[2]*e+s[6]*n+s[10]*r,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,r=t.y,s=t.z,i=e.x,a=e.y,o=e.z;return this.x=r*o-s*a,this.y=s*i-n*o,this.z=n*a-r*i,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return ir.copy(this).projectOnVector(t),this.sub(ir)}reflect(t){return this.sub(ir.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Fn(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,r=this.z-t.z;return e*e+n*n+r*r}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const r=Math.sin(e)*t;return this.x=r*Math.sin(n),this.y=Math.cos(e)*t,this.z=r*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),r=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=r,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}sr.prototype.isVector3=!0;const ir=new sr,ar=new rr;class or{constructor(t=new sr(1/0,1/0,1/0),e=new sr(-1/0,-1/0,-1/0)){this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,r=1/0,s=-1/0,i=-1/0,a=-1/0;for(let o=0,l=t.length;os&&(s=l),u>i&&(i=u),c>a&&(a=c)}return this.min.set(e,n,r),this.max.set(s,i,a),this}setFromBufferAttribute(t){let e=1/0,n=1/0,r=1/0,s=-1/0,i=-1/0,a=-1/0;for(let o=0,l=t.count;os&&(s=l),u>i&&(i=u),c>a&&(a=c)}return this.min.set(e,n,r),this.max.set(s,i,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,ur),ur.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(yr),xr.subVectors(this.max,yr),hr.subVectors(t.a,yr),dr.subVectors(t.b,yr),pr.subVectors(t.c,yr),fr.subVectors(dr,hr),mr.subVectors(pr,dr),gr.subVectors(hr,pr);let e=[0,-fr.z,fr.y,0,-mr.z,mr.y,0,-gr.z,gr.y,fr.z,0,-fr.x,mr.z,0,-mr.x,gr.z,0,-gr.x,-fr.y,fr.x,0,-mr.y,mr.x,0,-gr.y,gr.x,0];return!!wr(e,hr,dr,pr,xr)&&(e=[1,0,0,0,1,0,0,0,1],!!wr(e,hr,dr,pr,xr)&&(br.crossVectors(fr,mr),e=[br.x,br.y,br.z],wr(e,hr,dr,pr,xr)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return ur.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(ur).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(lr[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),lr[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),lr[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),lr[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),lr[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),lr[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),lr[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),lr[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(lr)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}or.prototype.isBox3=!0;const lr=[new sr,new sr,new sr,new sr,new sr,new sr,new sr,new sr],ur=new sr,cr=new or,hr=new sr,dr=new sr,pr=new sr,fr=new sr,mr=new sr,gr=new sr,yr=new sr,xr=new sr,br=new sr,vr=new sr;function wr(t,e,n,r,s){for(let i=0,a=t.length-3;i<=a;i+=3){vr.fromArray(t,i);const a=s.x*Math.abs(vr.x)+s.y*Math.abs(vr.y)+s.z*Math.abs(vr.z),o=e.dot(vr),l=n.dot(vr),u=r.dot(vr);if(Math.max(-Math.max(o,l,u),Math.min(o,l,u))>a)return!1}return!0}const Sr=new or,Tr=new sr,_r=new sr,Mr=new sr;class kr{constructor(t=new sr,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Sr.setFromPoints(t).getCenter(n);let r=0;for(let e=0,s=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){Mr.subVectors(t,this.center);const e=Mr.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.add(Mr.multiplyScalar(n/t)),this.radius+=n}return this}union(t){return!0===this.center.equals(t.center)?_r.set(0,0,1).multiplyScalar(t.radius):_r.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(Tr.copy(t.center).add(_r)),this.expandByPoint(Tr.copy(t.center).sub(_r)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Er=new sr,Ir=new sr,Cr=new sr,Nr=new sr,Ar=new sr,Rr=new sr,Dr=new sr;class Lr{constructor(t=new sr,e=new sr(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Er)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Er.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Er.copy(this.direction).multiplyScalar(e).add(this.origin),Er.distanceToSquared(t))}distanceSqToSegment(t,e,n,r){Ir.copy(t).add(e).multiplyScalar(.5),Cr.copy(e).sub(t).normalize(),Nr.copy(this.origin).sub(Ir);const s=.5*t.distanceTo(e),i=-this.direction.dot(Cr),a=Nr.dot(this.direction),o=-Nr.dot(Cr),l=Nr.lengthSq(),u=Math.abs(1-i*i);let c,h,d,p;if(u>0)if(c=i*o-a,h=i*a-o,p=s*u,c>=0)if(h>=-p)if(h<=p){const t=1/u;c*=t,h*=t,d=c*(c+i*h+2*a)+h*(i*c+h+2*o)+l}else h=s,c=Math.max(0,-(i*h+a)),d=-c*c+h*(h+2*o)+l;else h=-s,c=Math.max(0,-(i*h+a)),d=-c*c+h*(h+2*o)+l;else h<=-p?(c=Math.max(0,-(-i*s+a)),h=c>0?-s:Math.min(Math.max(-s,-o),s),d=-c*c+h*(h+2*o)+l):h<=p?(c=0,h=Math.min(Math.max(-s,-o),s),d=h*(h+2*o)+l):(c=Math.max(0,-(i*s+a)),h=c>0?s:Math.min(Math.max(-s,-o),s),d=-c*c+h*(h+2*o)+l);else h=i>0?-s:s,c=Math.max(0,-(i*h+a)),d=-c*c+h*(h+2*o)+l;return n&&n.copy(this.direction).multiplyScalar(c).add(this.origin),r&&r.copy(Cr).multiplyScalar(h).add(Ir),d}intersectSphere(t,e){Er.subVectors(t.center,this.origin);const n=Er.dot(this.direction),r=Er.dot(Er)-n*n,s=t.radius*t.radius;if(r>s)return null;const i=Math.sqrt(s-r),a=n-i,o=n+i;return a<0&&o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,r,s,i,a,o;const l=1/this.direction.x,u=1/this.direction.y,c=1/this.direction.z,h=this.origin;return l>=0?(n=(t.min.x-h.x)*l,r=(t.max.x-h.x)*l):(n=(t.max.x-h.x)*l,r=(t.min.x-h.x)*l),u>=0?(s=(t.min.y-h.y)*u,i=(t.max.y-h.y)*u):(s=(t.max.y-h.y)*u,i=(t.min.y-h.y)*u),n>i||s>r?null:((s>n||n!=n)&&(n=s),(i=0?(a=(t.min.z-h.z)*c,o=(t.max.z-h.z)*c):(a=(t.max.z-h.z)*c,o=(t.min.z-h.z)*c),n>o||a>r?null:((a>n||n!=n)&&(n=a),(o=0?n:r,e)))}intersectsBox(t){return null!==this.intersectBox(t,Er)}intersectTriangle(t,e,n,r,s){Ar.subVectors(e,t),Rr.subVectors(n,t),Dr.crossVectors(Ar,Rr);let i,a=this.direction.dot(Dr);if(a>0){if(r)return null;i=1}else{if(!(a<0))return null;i=-1,a=-a}Nr.subVectors(this.origin,t);const o=i*this.direction.dot(Rr.crossVectors(Nr,Rr));if(o<0)return null;const l=i*this.direction.dot(Ar.cross(Nr));if(l<0)return null;if(o+l>a)return null;const u=-i*Nr.dot(Dr);return u<0?null:this.at(u/a,s)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Fr{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,r,s,i,a,o,l,u,c,h,d,p,f,m){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=r,g[1]=s,g[5]=i,g[9]=a,g[13]=o,g[2]=l,g[6]=u,g[10]=c,g[14]=h,g[3]=d,g[7]=p,g[11]=f,g[15]=m,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new Fr).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,r=1/$r.setFromMatrixColumn(t,0).length(),s=1/$r.setFromMatrixColumn(t,1).length(),i=1/$r.setFromMatrixColumn(t,2).length();return e[0]=n[0]*r,e[1]=n[1]*r,e[2]=n[2]*r,e[3]=0,e[4]=n[4]*s,e[5]=n[5]*s,e[6]=n[6]*s,e[7]=0,e[8]=n[8]*i,e[9]=n[9]*i,e[10]=n[10]*i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,n=t.x,r=t.y,s=t.z,i=Math.cos(n),a=Math.sin(n),o=Math.cos(r),l=Math.sin(r),u=Math.cos(s),c=Math.sin(s);if("XYZ"===t.order){const t=i*u,n=i*c,r=a*u,s=a*c;e[0]=o*u,e[4]=-o*c,e[8]=l,e[1]=n+r*l,e[5]=t-s*l,e[9]=-a*o,e[2]=s-t*l,e[6]=r+n*l,e[10]=i*o}else if("YXZ"===t.order){const t=o*u,n=o*c,r=l*u,s=l*c;e[0]=t+s*a,e[4]=r*a-n,e[8]=i*l,e[1]=i*c,e[5]=i*u,e[9]=-a,e[2]=n*a-r,e[6]=s+t*a,e[10]=i*o}else if("ZXY"===t.order){const t=o*u,n=o*c,r=l*u,s=l*c;e[0]=t-s*a,e[4]=-i*c,e[8]=r+n*a,e[1]=n+r*a,e[5]=i*u,e[9]=s-t*a,e[2]=-i*l,e[6]=a,e[10]=i*o}else if("ZYX"===t.order){const t=i*u,n=i*c,r=a*u,s=a*c;e[0]=o*u,e[4]=r*l-n,e[8]=t*l+s,e[1]=o*c,e[5]=s*l+t,e[9]=n*l-r,e[2]=-l,e[6]=a*o,e[10]=i*o}else if("YZX"===t.order){const t=i*o,n=i*l,r=a*o,s=a*l;e[0]=o*u,e[4]=s-t*c,e[8]=r*c+n,e[1]=c,e[5]=i*u,e[9]=-a*u,e[2]=-l*u,e[6]=n*c+r,e[10]=t-s*c}else if("XZY"===t.order){const t=i*o,n=i*l,r=a*o,s=a*l;e[0]=o*u,e[4]=-c,e[8]=l*u,e[1]=t*c+s,e[5]=i*u,e[9]=n*c-r,e[2]=r*c-n,e[6]=a*u,e[10]=s*c+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Pr,t,zr)}lookAt(t,e,n){const r=this.elements;return Vr.subVectors(t,e),0===Vr.lengthSq()&&(Vr.z=1),Vr.normalize(),Br.crossVectors(n,Vr),0===Br.lengthSq()&&(1===Math.abs(n.z)?Vr.x+=1e-4:Vr.z+=1e-4,Vr.normalize(),Br.crossVectors(n,Vr)),Br.normalize(),Ur.crossVectors(Vr,Br),r[0]=Br.x,r[4]=Ur.x,r[8]=Vr.x,r[1]=Br.y,r[5]=Ur.y,r[9]=Vr.y,r[2]=Br.z,r[6]=Ur.z,r[10]=Vr.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,r=e.elements,s=this.elements,i=n[0],a=n[4],o=n[8],l=n[12],u=n[1],c=n[5],h=n[9],d=n[13],p=n[2],f=n[6],m=n[10],g=n[14],y=n[3],x=n[7],b=n[11],v=n[15],w=r[0],S=r[4],T=r[8],_=r[12],M=r[1],k=r[5],E=r[9],I=r[13],C=r[2],N=r[6],A=r[10],R=r[14],D=r[3],L=r[7],F=r[11],$=r[15];return s[0]=i*w+a*M+o*C+l*D,s[4]=i*S+a*k+o*N+l*L,s[8]=i*T+a*E+o*A+l*F,s[12]=i*_+a*I+o*R+l*$,s[1]=u*w+c*M+h*C+d*D,s[5]=u*S+c*k+h*N+d*L,s[9]=u*T+c*E+h*A+d*F,s[13]=u*_+c*I+h*R+d*$,s[2]=p*w+f*M+m*C+g*D,s[6]=p*S+f*k+m*N+g*L,s[10]=p*T+f*E+m*A+g*F,s[14]=p*_+f*I+m*R+g*$,s[3]=y*w+x*M+b*C+v*D,s[7]=y*S+x*k+b*N+v*L,s[11]=y*T+x*E+b*A+v*F,s[15]=y*_+x*I+b*R+v*$,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],r=t[8],s=t[12],i=t[1],a=t[5],o=t[9],l=t[13],u=t[2],c=t[6],h=t[10],d=t[14];return t[3]*(+s*o*c-r*l*c-s*a*h+n*l*h+r*a*d-n*o*d)+t[7]*(+e*o*d-e*l*h+s*i*h-r*i*d+r*l*u-s*o*u)+t[11]*(+e*l*c-e*a*d-s*i*c+n*i*d+s*a*u-n*l*u)+t[15]*(-r*a*u-e*o*c+e*a*h+r*i*c-n*i*h+n*o*u)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const r=this.elements;return t.isVector3?(r[12]=t.x,r[13]=t.y,r[14]=t.z):(r[12]=t,r[13]=e,r[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],r=t[2],s=t[3],i=t[4],a=t[5],o=t[6],l=t[7],u=t[8],c=t[9],h=t[10],d=t[11],p=t[12],f=t[13],m=t[14],g=t[15],y=c*m*l-f*h*l+f*o*d-a*m*d-c*o*g+a*h*g,x=p*h*l-u*m*l-p*o*d+i*m*d+u*o*g-i*h*g,b=u*f*l-p*c*l+p*a*d-i*f*d-u*a*g+i*c*g,v=p*c*o-u*f*o-p*a*h+i*f*h+u*a*m-i*c*m,w=e*y+n*x+r*b+s*v;if(0===w)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/w;return t[0]=y*S,t[1]=(f*h*s-c*m*s-f*r*d+n*m*d+c*r*g-n*h*g)*S,t[2]=(a*m*s-f*o*s+f*r*l-n*m*l-a*r*g+n*o*g)*S,t[3]=(c*o*s-a*h*s-c*r*l+n*h*l+a*r*d-n*o*d)*S,t[4]=x*S,t[5]=(u*m*s-p*h*s+p*r*d-e*m*d-u*r*g+e*h*g)*S,t[6]=(p*o*s-i*m*s-p*r*l+e*m*l+i*r*g-e*o*g)*S,t[7]=(i*h*s-u*o*s+u*r*l-e*h*l-i*r*d+e*o*d)*S,t[8]=b*S,t[9]=(p*c*s-u*f*s-p*n*d+e*f*d+u*n*g-e*c*g)*S,t[10]=(i*f*s-p*a*s+p*n*l-e*f*l-i*n*g+e*a*g)*S,t[11]=(u*a*s-i*c*s-u*n*l+e*c*l+i*n*d-e*a*d)*S,t[12]=v*S,t[13]=(u*f*r-p*c*r+p*n*h-e*f*h-u*n*m+e*c*m)*S,t[14]=(p*a*r-i*f*r-p*n*o+e*f*o+i*n*m-e*a*m)*S,t[15]=(i*c*r-u*a*r+u*n*o-e*c*o-i*n*h+e*a*h)*S,this}scale(t){const e=this.elements,n=t.x,r=t.y,s=t.z;return e[0]*=n,e[4]*=r,e[8]*=s,e[1]*=n,e[5]*=r,e[9]*=s,e[2]*=n,e[6]*=r,e[10]*=s,e[3]*=n,e[7]*=r,e[11]*=s,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],r=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,r))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),r=Math.sin(e),s=1-n,i=t.x,a=t.y,o=t.z,l=s*i,u=s*a;return this.set(l*i+n,l*a-r*o,l*o+r*a,0,l*a+r*o,u*a+n,u*o-r*i,0,l*o-r*a,u*o+r*i,s*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,r,s,i){return this.set(1,n,s,0,t,1,i,0,e,r,1,0,0,0,0,1),this}compose(t,e,n){const r=this.elements,s=e._x,i=e._y,a=e._z,o=e._w,l=s+s,u=i+i,c=a+a,h=s*l,d=s*u,p=s*c,f=i*u,m=i*c,g=a*c,y=o*l,x=o*u,b=o*c,v=n.x,w=n.y,S=n.z;return r[0]=(1-(f+g))*v,r[1]=(d+b)*v,r[2]=(p-x)*v,r[3]=0,r[4]=(d-b)*w,r[5]=(1-(h+g))*w,r[6]=(m+y)*w,r[7]=0,r[8]=(p+x)*S,r[9]=(m-y)*S,r[10]=(1-(h+f))*S,r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,this}decompose(t,e,n){const r=this.elements;let s=$r.set(r[0],r[1],r[2]).length();const i=$r.set(r[4],r[5],r[6]).length(),a=$r.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),t.x=r[12],t.y=r[13],t.z=r[14],Or.copy(this);const o=1/s,l=1/i,u=1/a;return Or.elements[0]*=o,Or.elements[1]*=o,Or.elements[2]*=o,Or.elements[4]*=l,Or.elements[5]*=l,Or.elements[6]*=l,Or.elements[8]*=u,Or.elements[9]*=u,Or.elements[10]*=u,e.setFromRotationMatrix(Or),n.x=s,n.y=i,n.z=a,this}makePerspective(t,e,n,r,s,i){void 0===i&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,o=2*s/(e-t),l=2*s/(n-r),u=(e+t)/(e-t),c=(n+r)/(n-r),h=-(i+s)/(i-s),d=-2*i*s/(i-s);return a[0]=o,a[4]=0,a[8]=u,a[12]=0,a[1]=0,a[5]=l,a[9]=c,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,r,s,i){const a=this.elements,o=1/(e-t),l=1/(n-r),u=1/(i-s),c=(e+t)*o,h=(n+r)*l,d=(i+s)*u;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-c,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-h,a[2]=0,a[6]=0,a[10]=-2*u,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}Fr.prototype.isMatrix4=!0;const $r=new sr,Or=new Fr,Pr=new sr(0,0,0),zr=new sr(1,1,1),Br=new sr,Ur=new sr,Vr=new sr,Wr=new Fr,Hr=new rr;class Gr{constructor(t=0,e=0,n=0,r=Gr.DefaultOrder){this._x=t,this._y=e,this._z=n,this._order=r}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,r=this._order){return this._x=t,this._y=e,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const r=t.elements,s=r[0],i=r[4],a=r[8],o=r[1],l=r[5],u=r[9],c=r[2],h=r[6],d=r[10];switch(e){case"XYZ":this._y=Math.asin(Fn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,d),this._z=Math.atan2(-i,s)):(this._x=Math.atan2(h,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Fn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-c,s),this._z=0);break;case"ZXY":this._x=Math.asin(Fn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-c,d),this._z=Math.atan2(-i,l)):(this._y=0,this._z=Math.atan2(o,s));break;case"ZYX":this._y=Math.asin(-Fn(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(h,d),this._z=Math.atan2(o,s)):(this._x=0,this._z=Math.atan2(-i,l));break;case"YZX":this._z=Math.asin(Fn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,l),this._y=Math.atan2(-c,s)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-Fn(i,-1,1)),Math.abs(i)<.9999999?(this._x=Math.atan2(h,l),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return Wr.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Wr,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Hr.setFromEuler(this),this.setFromQuaternion(Hr,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new sr(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Gr.prototype.isEuler=!0,Gr.DefaultOrder="XYZ",Gr.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class jr{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0){r.children=[];for(let e=0;e0){r.animations=[];for(let e=0;e0&&(n.geometries=e),r.length>0&&(n.materials=r),s.length>0&&(n.textures=s),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),u.length>0&&(n.animations=u)}return n.object=r,n;function i(t){const e=[];for(const n in t){const r=t[n];delete r.metadata,e.push(r)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(t,e,n,r,s){os.subVectors(r,e),ls.subVectors(n,e),us.subVectors(t,e);const i=os.dot(os),a=os.dot(ls),o=os.dot(us),l=ls.dot(ls),u=ls.dot(us),c=i*l-a*a;if(0===c)return s.set(-2,-1,-1);const h=1/c,d=(l*o-a*u)*h,p=(i*u-a*o)*h;return s.set(1-d-p,p,d)}static containsPoint(t,e,n,r){return this.getBarycoord(t,e,n,r,cs),cs.x>=0&&cs.y>=0&&cs.x+cs.y<=1}static getUV(t,e,n,r,s,i,a,o){return this.getBarycoord(t,e,n,r,cs),o.set(0,0),o.addScaledVector(s,cs.x),o.addScaledVector(i,cs.y),o.addScaledVector(a,cs.z),o}static isFrontFacing(t,e,n,r){return os.subVectors(n,e),ls.subVectors(t,e),os.cross(ls).dot(r)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,r){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[r]),this}setFromAttributeAndIndices(t,e,n,r){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,r),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return os.subVectors(this.c,this.b),ls.subVectors(this.a,this.b),.5*os.cross(ls).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return ys.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return ys.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,r,s){return ys.getUV(t,this.a,this.b,this.c,e,n,r,s)}containsPoint(t){return ys.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return ys.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,r=this.b,s=this.c;let i,a;hs.subVectors(r,n),ds.subVectors(s,n),fs.subVectors(t,n);const o=hs.dot(fs),l=ds.dot(fs);if(o<=0&&l<=0)return e.copy(n);ms.subVectors(t,r);const u=hs.dot(ms),c=ds.dot(ms);if(u>=0&&c<=u)return e.copy(r);const h=o*c-u*l;if(h<=0&&o>=0&&u<=0)return i=o/(o-u),e.copy(n).addScaledVector(hs,i);gs.subVectors(t,s);const d=hs.dot(gs),p=ds.dot(gs);if(p>=0&&d<=p)return e.copy(s);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(ds,a);const m=u*p-d*c;if(m<=0&&c-u>=0&&d-p>=0)return ps.subVectors(s,r),a=(c-u)/(c-u+(d-p)),e.copy(r).addScaledVector(ps,a);const g=1/(m+f+h);return i=f*g,a=h*g,e.copy(n).addScaledVector(hs,i).addScaledVector(ds,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let xs=0;class bs extends Cn{constructor(){super(),Object.defineProperty(this,"id",{value:xs++}),this.uuid=Ln(),this.name="",this.type="Material",this.fog=!0,this.blending=v,this.side=f,this.vertexColors=!1,this.opacity=1,this.format=Pt,this.transparent=!1,this.blendSrc=L,this.blendDst=F,this.blendEquation=M,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=H,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=yn,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=nn,this.stencilZFail=nn,this.stencilZPass=nn,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn("THREE.Material: '"+e+"' parameter is undefined.");continue}if("shading"===e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===y;continue}const r=this[e];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function r(t){const e=[];for(const n in t){const r=t[n];delete r.metadata,e.push(r)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==v&&(n.blending=this.blending),this.side!==f&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.format!==Pt&&(n.format=this.format),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=r(t.textures),s=r(t.images);e.length>0&&(n.textures=e),s.length>0&&(n.images=s)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.format=t.format,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let r=0;r!==t;++r)n[r]=e[r].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}bs.prototype.isMaterial=!0;const vs={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ws={h:0,s:0,l:0},Ss={h:0,s:0,l:0};function Ts(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function _s(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Ms(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class ks{constructor(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=$n(t,1),e=Fn(e,0,1),n=Fn(n,0,1),0===e)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+e):n+e-n*e,s=2*n-r;this.r=Ts(s,r,t+1/3),this.g=Ts(s,r,t),this.b=Ts(s,r,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let t;const r=n[1],s=n[2];switch(r){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case"hsl":case"hsla":if(t=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s)){const n=parseFloat(t[1])/360,r=parseInt(t[2],10)/100,s=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,r,s)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=vs[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=_s(t.r),this.g=_s(t.g),this.b=_s(t.b),this}copyLinearToSRGB(t){return this.r=Ms(t.r),this.g=Ms(t.g),this.b=Ms(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){const e=this.r,n=this.g,r=this.b,s=Math.max(e,n,r),i=Math.min(e,n,r);let a,o;const l=(i+s)/2;if(i===s)a=0,o=0;else{const t=s-i;switch(o=l<=.5?t/(s+i):t/(2-s-i),s){case e:a=(n-r)/t+(n65535?Os:Fs)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new Wn).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const r=this.attributes.tangent;return void 0!==r&&(r.transformDirection(t),r.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return Vs.makeRotationFromQuaternion(t),this.applyMatrix4(Vs),this}rotateX(t){return Vs.makeRotationX(t),this.applyMatrix4(Vs),this}rotateY(t){return Vs.makeRotationY(t),this.applyMatrix4(Vs),this}rotateZ(t){return Vs.makeRotationZ(t),this.applyMatrix4(Vs),this}translate(t,e,n){return Vs.makeTranslation(t,e,n),this.applyMatrix4(Vs),this}scale(t,e,n){return Vs.makeScale(t,e,n),this.applyMatrix4(Vs),this}lookAt(t){return Ws.lookAt(t),Ws.updateMatrix(),this.applyMatrix4(Ws.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Hs).negate(),this.translate(Hs.x,Hs.y,Hs.z),this}setFromPoints(t){const e=[];for(let n=0,r=t.length;n0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const r=n[e];t.data.attributes[e]=r.toJSON(t.data)}const r={};let s=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],i=[];for(let e=0,r=n.length;e0&&(r[e]=i,s=!0)}s&&(t.data.morphAttributes=r,t.data.morphTargetsRelative=this.morphTargetsRelative);const i=this.groups;i.length>0&&(t.data.groups=JSON.parse(JSON.stringify(i)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const r=t.attributes;for(const t in r){const n=r[t];this.setAttribute(t,n.clone(e))}const s=t.morphAttributes;for(const t in s){const n=[],r=s[t];for(let t=0,s=r.length;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(t,e){const n=this.geometry,r=this.material,s=this.matrixWorld;if(void 0===r)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),Js.copy(n.boundingSphere),Js.applyMatrix4(s),!1===t.ray.intersectsSphere(Js))return;if(Ks.copy(s).invert(),Ys.copy(t.ray).applyMatrix4(Ks),null!==n.boundingBox&&!1===Ys.intersectsBox(n.boundingBox))return;let i;if(n.isBufferGeometry){const s=n.index,a=n.attributes.position,o=n.morphAttributes.position,l=n.morphTargetsRelative,u=n.attributes.uv,c=n.attributes.uv2,h=n.groups,d=n.drawRange;if(null!==s)if(Array.isArray(r))for(let n=0,p=h.length;nn.far?null:{distance:u,point:hi.clone(),object:t}}(t,e,n,r,Zs,Qs,ti,ci);if(p){o&&(oi.fromBufferAttribute(o,u),li.fromBufferAttribute(o,c),ui.fromBufferAttribute(o,h),p.uv=ys.getUV(ci,Zs,Qs,ti,oi,li,ui,new Vn)),l&&(oi.fromBufferAttribute(l,u),li.fromBufferAttribute(l,c),ui.fromBufferAttribute(l,h),p.uv2=ys.getUV(ci,Zs,Qs,ti,oi,li,ui,new Vn));const t={a:u,b:c,c:h,normal:new sr,materialIndex:0};ys.getNormal(Zs,Qs,ti,t.normal),p.face=t}return p}di.prototype.isMesh=!0;class fi extends Xs{constructor(t=1,e=1,n=1,r=1,s=1,i=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:r,heightSegments:s,depthSegments:i};const a=this;r=Math.floor(r),s=Math.floor(s),i=Math.floor(i);const o=[],l=[],u=[],c=[];let h=0,d=0;function p(t,e,n,r,s,i,p,f,m,g,y){const x=i/m,b=p/g,v=i/2,w=p/2,S=f/2,T=m+1,_=g+1;let M=0,k=0;const E=new sr;for(let i=0;i<_;i++){const a=i*b-w;for(let o=0;o0?1:-1,u.push(E.x,E.y,E.z),c.push(o/m),c.push(1-i/g),M+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}xi.prototype.isShaderMaterial=!0;class bi extends as{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new Fr,this.projectionMatrix=new Fr,this.projectionMatrixInverse=new Fr}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}bi.prototype.isCamera=!0;class vi extends bi{constructor(t=50,e=1,n=.1,r=2e3){super(),this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*Dn*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*Rn*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*Dn*Math.atan(Math.tan(.5*Rn*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,r,s,i){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=r,this.view.width=s,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*Rn*this.fov)/this.zoom,n=2*e,r=this.aspect*n,s=-.5*r;const i=this.view;if(null!==this.view&&this.view.enabled){const t=i.fullWidth,a=i.fullHeight;s+=i.offsetX*r/t,e-=i.offsetY*n/a,r*=i.width/t,n*=i.height/a}const a=this.filmOffset;0!==a&&(s+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}vi.prototype.isPerspectiveCamera=!0;const wi=90;class Si extends as{constructor(t,e,n){if(super(),this.type="CubeCamera",!0!==n.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=n;const r=new vi(wi,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new sr(1,0,0)),this.add(r);const s=new vi(wi,1,t,e);s.layers=this.layers,s.up.set(0,-1,0),s.lookAt(new sr(-1,0,0)),this.add(s);const i=new vi(wi,1,t,e);i.layers=this.layers,i.up.set(0,0,1),i.lookAt(new sr(0,1,0)),this.add(i);const a=new vi(wi,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new sr(0,-1,0)),this.add(a);const o=new vi(wi,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new sr(0,0,1)),this.add(o);const l=new vi(wi,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new sr(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[r,s,i,a,o,l]=this.children,u=t.xr.enabled,c=t.getRenderTarget();t.xr.enabled=!1;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,r),t.setRenderTarget(n,1),t.render(e,s),t.setRenderTarget(n,2),t.render(e,i),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=h,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(c),t.xr.enabled=u}}class Ti extends Jn{constructor(t,e,n,r,s,i,a,o,l,u){super(t=void 0!==t?t:[],e=void 0!==e?e:it,n,r,s,i,a,o,l,u),this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}Ti.prototype.isCubeTexture=!0;class _i extends tr{constructor(t,e,n){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=n),super(t,t,e),e=e||{},this.texture=new Ti(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:bt,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.format=Pt,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={tEquirect:{value:null}},r="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",s="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",i=new fi(5,5,5),a=new xi({name:"CubemapFromEquirect",uniforms:mi(n),vertexShader:r,fragmentShader:s,side:m,blending:b});a.uniforms.tEquirect.value=e;const o=new di(i,a),l=e.minFilter;return e.minFilter===St&&(e.minFilter=bt),new Si(1,10,this).update(t,o),e.minFilter=l,o.geometry.dispose(),o.material.dispose(),this}clear(t,e,n,r){const s=t.getRenderTarget();for(let s=0;s<6;s++)t.setRenderTarget(this,s),t.clear(e,n,r);t.setRenderTarget(s)}}_i.prototype.isWebGLCubeRenderTarget=!0;const Mi=new sr,ki=new sr,Ei=new Wn;class Ii{constructor(t=new sr(1,0,0),e=0){this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,r){return this.normal.set(t,e,n),this.constant=r,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const r=Mi.subVectors(n,e).cross(ki.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(r,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)}intersectLine(t,e){const n=t.delta(Mi),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const s=-(t.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:e.copy(n).multiplyScalar(s).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||Ei.getNormalMatrix(t),r=this.coplanarPoint(Mi).applyMatrix4(t),s=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(s),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Ii.prototype.isPlane=!0;const Ci=new kr,Ni=new sr;class Ai{constructor(t=new Ii,e=new Ii,n=new Ii,r=new Ii,s=new Ii,i=new Ii){this.planes=[t,e,n,r,s,i]}set(t,e,n,r,s,i){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(r),a[4].copy(s),a[5].copy(i),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,r=n[0],s=n[1],i=n[2],a=n[3],o=n[4],l=n[5],u=n[6],c=n[7],h=n[8],d=n[9],p=n[10],f=n[11],m=n[12],g=n[13],y=n[14],x=n[15];return e[0].setComponents(a-r,c-o,f-h,x-m).normalize(),e[1].setComponents(a+r,c+o,f+h,x+m).normalize(),e[2].setComponents(a+s,c+l,f+d,x+g).normalize(),e[3].setComponents(a-s,c-l,f-d,x-g).normalize(),e[4].setComponents(a-i,c-u,f-p,x-y).normalize(),e[5].setComponents(a+i,c+u,f+p,x+y).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Ci.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(Ci)}intersectsSprite(t){return Ci.center.set(0,0,0),Ci.radius=.7071067811865476,Ci.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ci)}intersectsSphere(t){const e=this.planes,n=t.center,r=-t.radius;for(let t=0;t<6;t++)if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,Ni.y=r.normal.y>0?t.max.y:t.min.y,Ni.z=r.normal.z>0?t.max.z:t.min.z,r.distanceToPoint(Ni)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function Ri(){let t=null,e=!1,n=null,r=null;function s(e,i){n(e,i),r=t.requestAnimationFrame(s)}return{start:function(){!0!==e&&null!==n&&(r=t.requestAnimationFrame(s),e=!0)},stop:function(){t.cancelAnimationFrame(r),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Di(t,e){const n=e.isWebGL2,r=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),r.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=r.get(e);n&&(t.deleteBuffer(n.buffer),r.delete(e))},update:function(e,s){if(e.isGLBufferAttribute){const t=r.get(e);return void((!t||t.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\treturn texture2D( envMap, uv ).rgb;\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform vec2 morphTargetsTextureSize;\n\t\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\n\t\t\tfloat texelIndex = float( vertexIndex * stride + offset );\n\t\t\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\n\t\t\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\n\t\t\treturn texture( morphTargetsTexture, morphUV ).xyz;\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\t#ifndef USE_MORPHNORMALS\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\n\t\t\t#else\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\n\t\t\t#endif\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},$i={common:{diffuse:{value:new ks(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Wn},uv2Transform:{value:new Wn},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Vn(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ks(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new ks(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Wn}},sprite:{diffuse:{value:new ks(16777215)},opacity:{value:1},center:{value:new Vn(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Wn}}},Oi={basic:{uniforms:gi([$i.common,$i.specularmap,$i.envmap,$i.aomap,$i.lightmap,$i.fog]),vertexShader:Fi.meshbasic_vert,fragmentShader:Fi.meshbasic_frag},lambert:{uniforms:gi([$i.common,$i.specularmap,$i.envmap,$i.aomap,$i.lightmap,$i.emissivemap,$i.fog,$i.lights,{emissive:{value:new ks(0)}}]),vertexShader:Fi.meshlambert_vert,fragmentShader:Fi.meshlambert_frag},phong:{uniforms:gi([$i.common,$i.specularmap,$i.envmap,$i.aomap,$i.lightmap,$i.emissivemap,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.fog,$i.lights,{emissive:{value:new ks(0)},specular:{value:new ks(1118481)},shininess:{value:30}}]),vertexShader:Fi.meshphong_vert,fragmentShader:Fi.meshphong_frag},standard:{uniforms:gi([$i.common,$i.envmap,$i.aomap,$i.lightmap,$i.emissivemap,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.roughnessmap,$i.metalnessmap,$i.fog,$i.lights,{emissive:{value:new ks(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Fi.meshphysical_vert,fragmentShader:Fi.meshphysical_frag},toon:{uniforms:gi([$i.common,$i.aomap,$i.lightmap,$i.emissivemap,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.gradientmap,$i.fog,$i.lights,{emissive:{value:new ks(0)}}]),vertexShader:Fi.meshtoon_vert,fragmentShader:Fi.meshtoon_frag},matcap:{uniforms:gi([$i.common,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.fog,{matcap:{value:null}}]),vertexShader:Fi.meshmatcap_vert,fragmentShader:Fi.meshmatcap_frag},points:{uniforms:gi([$i.points,$i.fog]),vertexShader:Fi.points_vert,fragmentShader:Fi.points_frag},dashed:{uniforms:gi([$i.common,$i.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Fi.linedashed_vert,fragmentShader:Fi.linedashed_frag},depth:{uniforms:gi([$i.common,$i.displacementmap]),vertexShader:Fi.depth_vert,fragmentShader:Fi.depth_frag},normal:{uniforms:gi([$i.common,$i.bumpmap,$i.normalmap,$i.displacementmap,{opacity:{value:1}}]),vertexShader:Fi.meshnormal_vert,fragmentShader:Fi.meshnormal_frag},sprite:{uniforms:gi([$i.sprite,$i.fog]),vertexShader:Fi.sprite_vert,fragmentShader:Fi.sprite_frag},background:{uniforms:{uvTransform:{value:new Wn},t2D:{value:null}},vertexShader:Fi.background_vert,fragmentShader:Fi.background_frag},cube:{uniforms:gi([$i.envmap,{opacity:{value:1}}]),vertexShader:Fi.cube_vert,fragmentShader:Fi.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Fi.equirect_vert,fragmentShader:Fi.equirect_frag},distanceRGBA:{uniforms:gi([$i.common,$i.displacementmap,{referencePosition:{value:new sr},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Fi.distanceRGBA_vert,fragmentShader:Fi.distanceRGBA_frag},shadow:{uniforms:gi([$i.lights,$i.fog,{color:{value:new ks(0)},opacity:{value:1}}]),vertexShader:Fi.shadow_vert,fragmentShader:Fi.shadow_frag}};function Pi(t,e,n,r,s){const i=new ks(0);let a,o,l=0,u=null,c=0,h=null;function d(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,s)}return{getClearColor:function(){return i},setClearColor:function(t,e=1){i.set(t),l=e,d(i,l)},getClearAlpha:function(){return l},setClearAlpha:function(t){l=t,d(i,l)},render:function(n,s){let p=!1,g=!0===s.isScene?s.background:null;g&&g.isTexture&&(g=e.get(g));const y=t.xr,x=y.getSession&&y.getSession();x&&"additive"===x.environmentBlendMode&&(g=null),null===g?d(i,l):g&&g.isColor&&(d(g,1),p=!0),(t.autoClear||p)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),g&&(g.isCubeTexture||g.mapping===ut)?(void 0===o&&(o=new di(new fi(1,1,1),new xi({name:"BackgroundCubeMaterial",uniforms:mi(Oi.cube.uniforms),vertexShader:Oi.cube.vertexShader,fragmentShader:Oi.cube.fragmentShader,side:m,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),o.geometry.deleteAttribute("uv"),o.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(o.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(o)),o.material.uniforms.envMap.value=g,o.material.uniforms.flipEnvMap.value=g.isCubeTexture&&!1===g.isRenderTargetTexture?-1:1,u===g&&c===g.version&&h===t.toneMapping||(o.material.needsUpdate=!0,u=g,c=g.version,h=t.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null)):g&&g.isTexture&&(void 0===a&&(a=new di(new Li(2,2),new xi({name:"BackgroundMaterial",uniforms:mi(Oi.background.uniforms),vertexShader:Oi.background.vertexShader,fragmentShader:Oi.background.fragmentShader,side:f,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(a)),a.material.uniforms.t2D.value=g,!0===g.matrixAutoUpdate&&g.updateMatrix(),a.material.uniforms.uvTransform.value.copy(g.matrix),u===g&&c===g.version&&h===t.toneMapping||(a.material.needsUpdate=!0,u=g,c=g.version,h=t.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null))}}}function zi(t,e,n,r){const s=t.getParameter(34921),i=r.isWebGL2?null:e.get("OES_vertex_array_object"),a=r.isWebGL2||null!==i,o={},l=d(null);let u=l;function c(e){return r.isWebGL2?t.bindVertexArray(e):i.bindVertexArrayOES(e)}function h(e){return r.isWebGL2?t.deleteVertexArray(e):i.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],r=[];for(let t=0;t=0){let i=l[e];if(void 0===i&&("instanceMatrix"===e&&s.instanceMatrix&&(i=s.instanceMatrix),"instanceColor"===e&&s.instanceColor&&(i=s.instanceColor)),void 0!==i){const e=i.normalized,a=i.itemSize,l=n.get(i);if(void 0===l)continue;const u=l.buffer,c=l.type,h=l.bytesPerElement;if(i.isInterleavedBufferAttribute){const n=i.data,l=n.stride,d=i.offset;if(n&&n.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const i="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==n.precision?n.precision:"highp";const o=s(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=i||e.has("WEBGL_draw_buffers"),u=!0===n.logarithmicDepthBuffer,c=t.getParameter(34930),h=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),f=t.getParameter(34921),m=t.getParameter(36347),g=t.getParameter(36348),y=t.getParameter(36349),x=h>0,b=i||e.has("OES_texture_float");return{isWebGL2:i,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==r)return r;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");r=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r},getMaxPrecision:s,precision:a,logarithmicDepthBuffer:u,maxTextures:c,maxVertexTextures:h,maxTextureSize:d,maxCubemapSize:p,maxAttributes:f,maxVertexUniforms:m,maxVaryings:g,maxFragmentUniforms:y,vertexTextures:x,floatFragmentTextures:b,floatVertexTextures:x&&b,maxSamples:i?t.getParameter(36183):0}}function Vi(t){const e=this;let n=null,r=0,s=!1,i=!1;const a=new Ii,o=new Wn,l={value:null,needsUpdate:!1};function u(){l.value!==n&&(l.value=n,l.needsUpdate=r>0),e.numPlanes=r,e.numIntersection=0}function c(t,n,r,s){const i=null!==t?t.length:0;let u=null;if(0!==i){if(u=l.value,!0!==s||null===u){const e=r+4*i,s=n.matrixWorldInverse;o.getNormalMatrix(s),(null===u||u.length0){const a=t.getRenderTarget(),o=new _i(i.height/2);return o.fromEquirectangularTexture(t,s),e.set(s,o),t.setRenderTarget(a),s.addEventListener("dispose",r),n(o.texture,s.mapping)}return null}}}return s},dispose:function(){e=new WeakMap}}}Oi.physical={uniforms:gi([Oi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Vn(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new ks(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Vn},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new ks(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new ks(1,1,1)},specularColorMap:{value:null}}]),vertexShader:Fi.meshphysical_vert,fragmentShader:Fi.meshphysical_frag};class Hi extends bi{constructor(t=-1,e=1,n=1,r=-1,s=.1,i=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=r,this.near=s,this.far=i,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,r,s,i){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=r,this.view.width=s,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=n-t,i=n+t,a=r+e,o=r-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=t*this.view.offsetX,i=s+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(s,i,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}Hi.prototype.isOrthographicCamera=!0;class Gi extends xi{constructor(t){super(t),this.type="RawShaderMaterial"}}Gi.prototype.isRawShaderMaterial=!0;const ji=Math.pow(2,8),qi=[.125,.215,.35,.446,.526,.582],Xi=5+qi.length,Ki={[Ke]:0,[Ye]:1},Yi=new Hi,{_lodPlanes:Ji,_sizeLods:Zi,_sigmas:Qi}=aa(),ta=new ks;let ea=null;const na=(1+Math.sqrt(5))/2,ra=1/na,sa=[new sr(1,1,1),new sr(-1,1,1),new sr(1,1,-1),new sr(-1,1,-1),new sr(0,na,ra),new sr(0,na,-ra),new sr(ra,0,na),new sr(-ra,0,na),new sr(na,ra,0),new sr(-na,ra,0)];class ia{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._blurMaterial=function(t){const e=new Float32Array(20),n=new sr(0,1,0);return new Gi({name:"SphericalGaussianBlur",defines:{n:20},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}(),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,r=100){ea=this._renderer.getRenderTarget();const s=this._allocateTargets();return this._sceneToCubeUV(t,n,r,s),e>0&&this._blur(s,0,0,e),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(t){return this._fromTexture(t)}fromCubemap(t){return this._fromTexture(t)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=ca(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=ua(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let t=0;t2?ji:0,ji,ji),o.setRenderTarget(r),d&&o.render(h,s),o.render(t,s)}h.geometry.dispose(),h.material.dispose(),o.toneMapping=u,o.autoClear=l,t.background=p}_setEncoding(t,e){!0===this._renderer.capabilities.isWebGL2&&e.format===Pt&&e.type===_t&&e.encoding===Ye?t.value=Ki[Ke]:t.value=Ki[e.encoding]}_textureToCubeUV(t,e){const n=this._renderer,r=t.mapping===it||t.mapping===at;r?null==this._cubemapShader&&(this._cubemapShader=ca()):null==this._equirectShader&&(this._equirectShader=ua());const s=r?this._cubemapShader:this._equirectShader,i=new di(Ji[0],s),a=s.uniforms;a.envMap.value=t,r||a.texelSize.value.set(1/t.image.width,1/t.image.height),this._setEncoding(a.inputEncoding,t),la(e,0,0,3*ji,2*ji),n.setRenderTarget(e),n.render(i,Yi)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;e20&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const m=[];let g=0;for(let t=0;t<20;++t){const e=t/p,n=Math.exp(-e*e/2);m.push(n),0==t?g+=n:t4?r-8+4:0),3*y,2*y),o.setRenderTarget(e),o.render(u,Yi)}}function aa(){const t=[],e=[],n=[];let r=8;for(let s=0;s4?a=qi[s-8+4-1]:0==s&&(a=0),n.push(a);const o=1/(i-1),l=-o/2,u=1+o/2,c=[l,l,u,l,u,u,l,l,u,u,l,u],h=6,d=6,p=3,f=2,m=1,g=new Float32Array(p*d*h),y=new Float32Array(f*d*h),x=new Float32Array(m*d*h);for(let t=0;t2?0:-1,r=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(r,p*d*t),y.set(c,f*d*t);const s=[t,t,t,t,t,t];x.set(s,m*d*t)}const b=new Xs;b.setAttribute("position",new Ns(g,p)),b.setAttribute("uv",new Ns(y,f)),b.setAttribute("faceIndex",new Ns(x,m)),t.push(b),r>4&&r--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}function oa(t){const e=new tr(3*ji,3*ji,t);return e.texture.mapping=ut,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function la(t,e,n,r,s){t.viewport.set(e,n,r,s),t.scissor.set(e,n,r,s)}function ua(){const t=new Vn(1,1);return new Gi({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:t},inputEncoding:{value:Ki[Ke]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}function ca(){return new Gi({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Ki[Ke]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}function ha(t){let e=new WeakMap,n=null;function r(t){const n=t.target;n.removeEventListener("dispose",r);const s=e.get(n);void 0!==s&&(e.delete(n),s.dispose())}return{get:function(s){if(s&&s.isTexture&&!1===s.isRenderTargetTexture){const i=s.mapping,a=i===ot||i===lt,o=i===it||i===at;if(a||o){if(e.has(s))return e.get(s).texture;{const i=s.image;if(a&&i&&i.height>0||o&&i&&function(t){let e=0;for(let n=0;n<6;n++)void 0!==t[n]&&e++;return 6===e}(i)){const i=t.getRenderTarget();null===n&&(n=new ia(t));const o=a?n.fromEquirectangular(s):n.fromCubemap(s);return e.set(s,o),t.setRenderTarget(i),s.addEventListener("dispose",r),o.texture}return null}}}return s},dispose:function(){e=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function da(t){const e={};function n(n){if(void 0!==e[n])return e[n];let r;switch(n){case"WEBGL_depth_texture":r=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=t.getExtension(n)}return e[n]=r,r}return{has:function(t){return null!==n(t)},init:function(t){t.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(t){const e=n(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function pa(t,e,n,r){const s={},i=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener("dispose",a),delete s[o.id];const l=i.get(o);l&&(e.remove(l),i.delete(o)),r.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],r=t.index,s=t.attributes.position;let a=0;if(null!==r){const t=r.array;a=r.version;for(let e=0,r=t.length;e65535?Os:Fs)(n,1);o.version=a;const l=i.get(t);l&&e.remove(l),i.set(t,o)}return{get:function(t,e){return!0===s[e.id]||(e.addEventListener("dispose",a),s[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const r=t.morphAttributes;for(const t in r){const n=r[t];for(let t=0,r=n.length;te.maxTextureSize&&(h=Math.ceil(c/e.maxTextureSize),c=e.maxTextureSize);const d=new Float32Array(c*h*4*r),p=new ga(d,c,h,r);p.format=Pt,p.type=Nt,p.needsUpdate=!0;const f=4*l;for(let e=0;e0)return t;const s=e*n;let i=Ea[s];if(void 0===i&&(i=new Float32Array(s),Ea[s]=i),0!==e){r.toArray(i,0);for(let r=1,s=0;r!==e;++r)s+=n,t[r].toArray(i,s)}return i}function Da(t,e){if(t.length!==e.length)return!1;for(let n=0,r=t.length;n/gm;function zo(t){return t.replace(Po,Bo)}function Bo(t,e){const n=Fi[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return zo(n)}const Uo=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Vo=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Wo(t){return t.replace(Vo,Go).replace(Uo,Ho)}function Ho(t,e,n,r){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Go(0,e,n,r)}function Go(t,e,n,r){let s="";for(let t=parseInt(e);t0&&(x+="\n"),b=[m,g].filter(Fo).join("\n"),b.length>0&&(b+="\n")):(x=[jo(n),"#define SHADER_NAME "+n.shaderName,g,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphTargets&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargets&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Fo).join("\n"),b=[m,jo(n),"#define SHADER_NAME "+n.shaderName,g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+u:"",n.envMap?"#define "+c:"",n.envMap?"#define "+f:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==Z?"#define TONE_MAPPING":"",n.toneMapping!==Z?Fi.tonemapping_pars_fragment:"",n.toneMapping!==Z?Lo("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.format===Ot?"#define OPAQUE":"",Fi.encodings_pars_fragment,n.map?Ro("mapTexelToLinear",n.mapEncoding):"",n.matcap?Ro("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?Ro("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?Ro("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.specularColorMap?Ro("specularColorMapTexelToLinear",n.specularColorMapEncoding):"",n.sheenColorMap?Ro("sheenColorMapTexelToLinear",n.sheenColorMapEncoding):"",n.lightMap?Ro("lightMapTexelToLinear",n.lightMapEncoding):"",Do("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Fo).join("\n")),a=zo(a),a=$o(a,n),a=Oo(a,n),o=zo(o),o=$o(o,n),o=Oo(o,n),a=Wo(a),o=Wo(o),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(v="#version 300 es\n",x=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+x,b=["#define varying in",n.glslVersion===In?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===In?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+b);const w=v+b+o,S=Io(s,35633,v+x+a),T=Io(s,35632,w);if(s.attachShader(y,S),s.attachShader(y,T),void 0!==n.index0AttributeName?s.bindAttribLocation(y,0,n.index0AttributeName):!0===n.morphTargets&&s.bindAttribLocation(y,0,"position"),s.linkProgram(y),t.debug.checkShaderErrors){const t=s.getProgramInfoLog(y).trim(),e=s.getShaderInfoLog(S).trim(),n=s.getShaderInfoLog(T).trim();let r=!0,i=!0;if(!1===s.getProgramParameter(y,35714)){r=!1;const e=Ao(s,S,"vertex"),n=Ao(s,T,"fragment");console.error("THREE.WebGLProgram: Shader Error "+s.getError()+" - VALIDATE_STATUS "+s.getProgramParameter(y,35715)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+n)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==e&&""!==n||(i=!1);i&&(this.diagnostics={runnable:r,programLog:t,vertexShader:{log:e,prefix:x},fragmentShader:{log:n,prefix:b}})}let _,M;return s.deleteShader(S),s.deleteShader(T),this.getUniforms=function(){return void 0===_&&(_=new Eo(s,y)),_},this.getAttributes=function(){return void 0===M&&(M=function(t,e){const n={},r=t.getProgramParameter(e,35721);for(let s=0;s0,D=i.clearcoat>0;return{isWebGL2:c,shaderID:M,shaderName:i.type,vertexShader:E,fragmentShader:I,defines:i.defines,customVertexShaderID:C,customFragmentShaderID:N,isRawShaderMaterial:!0===i.isRawShaderMaterial,glslVersion:i.glslVersion,precision:y,instancing:!0===w.isInstancedMesh,instancingColor:!0===w.isInstancedMesh&&null!==w.instanceColor,supportsVertexTextures:f,outputEncoding:null!==A?b(A.texture):t.outputEncoding,map:!!i.map,mapEncoding:b(i.map),matcap:!!i.matcap,matcapEncoding:b(i.matcap),envMap:!!_,envMapMode:_&&_.mapping,envMapEncoding:b(_),envMapCubeUV:!!_&&(_.mapping===ut||_.mapping===ct),lightMap:!!i.lightMap,lightMapEncoding:b(i.lightMap),aoMap:!!i.aoMap,emissiveMap:!!i.emissiveMap,emissiveMapEncoding:b(i.emissiveMap),bumpMap:!!i.bumpMap,normalMap:!!i.normalMap,objectSpaceNormalMap:i.normalMapType===tn,tangentSpaceNormalMap:i.normalMapType===Qe,clearcoat:D,clearcoatMap:D&&!!i.clearcoatMap,clearcoatRoughnessMap:D&&!!i.clearcoatRoughnessMap,clearcoatNormalMap:D&&!!i.clearcoatNormalMap,displacementMap:!!i.displacementMap,roughnessMap:!!i.roughnessMap,metalnessMap:!!i.metalnessMap,specularMap:!!i.specularMap,specularIntensityMap:!!i.specularIntensityMap,specularColorMap:!!i.specularColorMap,specularColorMapEncoding:b(i.specularColorMap),alphaMap:!!i.alphaMap,alphaTest:R,gradientMap:!!i.gradientMap,sheen:i.sheen>0,sheenColorMap:!!i.sheenColorMap,sheenColorMapEncoding:b(i.sheenColorMap),sheenRoughnessMap:!!i.sheenRoughnessMap,transmission:i.transmission>0,transmissionMap:!!i.transmissionMap,thicknessMap:!!i.thicknessMap,combine:i.combine,vertexTangents:!!i.normalMap&&!!w.geometry&&!!w.geometry.attributes.tangent,vertexColors:i.vertexColors,vertexAlphas:!0===i.vertexColors&&!!w.geometry&&!!w.geometry.attributes.color&&4===w.geometry.attributes.color.itemSize,vertexUvs:!!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatMap||i.clearcoatRoughnessMap||i.clearcoatNormalMap||i.displacementMap||i.transmissionMap||i.thicknessMap||i.specularIntensityMap||i.specularColorMap||i.sheenColorMap||i.sheenRoughnessMap),uvsVertexOnly:!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatNormalMap||i.transmission>0||i.transmissionMap||i.thicknessMap||i.specularIntensityMap||i.specularColorMap||i.sheen>0||i.sheenColorMap||i.sheenRoughnessMap||!i.displacementMap),fog:!!S,useFog:i.fog,fogExp2:S&&S.isFogExp2,flatShading:!!i.flatShading,sizeAttenuation:i.sizeAttenuation,logarithmicDepthBuffer:h,skinning:!0===w.isSkinnedMesh&&k>0,maxBones:k,useVertexTexture:d,morphTargets:!!w.geometry&&!!w.geometry.morphAttributes.position,morphNormals:!!w.geometry&&!!w.geometry.morphAttributes.normal,morphTargetsCount:w.geometry&&w.geometry.morphAttributes.position?w.geometry.morphAttributes.position.length:0,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:i.format,dithering:i.dithering,shadowMapEnabled:t.shadowMap.enabled&&u.length>0,shadowMapType:t.shadowMap.type,toneMapping:i.toneMapped?t.toneMapping:Z,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:i.premultipliedAlpha,doubleSided:i.side===g,flipSided:i.side===m,depthPacking:void 0!==i.depthPacking&&i.depthPacking,index0AttributeName:i.index0AttributeName,extensionDerivatives:i.extensions&&i.extensions.derivatives,extensionFragDepth:i.extensions&&i.extensions.fragDepth,extensionDrawBuffers:i.extensions&&i.extensions.drawBuffers,extensionShaderTextureLOD:i.extensions&&i.extensions.shaderTextureLOD,rendererExtensionFragDepth:c||r.has("EXT_frag_depth"),rendererExtensionDrawBuffers:c||r.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:c||r.has("EXT_shader_texture_lod"),customProgramCacheKey:i.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(function(t,e){t.push(e.precision),t.push(e.outputEncoding),t.push(e.mapEncoding),t.push(e.matcapEncoding),t.push(e.envMapMode),t.push(e.envMapEncoding),t.push(e.lightMapEncoding),t.push(e.emissiveMapEncoding),t.push(e.combine),t.push(e.vertexUvs),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.maxBones),t.push(e.morphTargetsCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.format),t.push(e.specularColorMapEncoding),t.push(e.sheenColorMapEncoding)}(n,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0),e.supportsVertexTextures&&o.enable(1),e.instancing&&o.enable(2),e.instancingColor&&o.enable(3),e.map&&o.enable(4),e.matcap&&o.enable(5),e.envMap&&o.enable(6),e.envMapCubeUV&&o.enable(7),e.lightMap&&o.enable(8),e.aoMap&&o.enable(9),e.emissiveMap&&o.enable(10),e.bumpMap&&o.enable(11),e.normalMap&&o.enable(12),e.objectSpaceNormalMap&&o.enable(13),e.tangentSpaceNormalMap&&o.enable(14),e.clearcoat&&o.enable(15),e.clearcoatMap&&o.enable(16),e.clearcoatRoughnessMap&&o.enable(17),e.clearcoatNormalMap&&o.enable(18),e.displacementMap&&o.enable(19),e.specularMap&&o.enable(20),e.roughnessMap&&o.enable(21),e.metalnessMap&&o.enable(22),e.gradientMap&&o.enable(23),e.alphaMap&&o.enable(24),e.alphaTest&&o.enable(25),e.vertexColors&&o.enable(26),e.vertexAlphas&&o.enable(27),e.vertexUvs&&o.enable(28),e.vertexTangents&&o.enable(29),e.uvsVertexOnly&&o.enable(30),e.fog&&o.enable(31),t.push(o.mask),o.disableAll(),e.useFog&&o.enable(0),e.flatShading&&o.enable(1),e.logarithmicDepthBuffer&&o.enable(2),e.skinning&&o.enable(3),e.useVertexTexture&&o.enable(4),e.morphTargets&&o.enable(5),e.morphNormals&&o.enable(6),e.premultipliedAlpha&&o.enable(7),e.shadowMapEnabled&&o.enable(8),e.physicallyCorrectLights&&o.enable(9),e.doubleSided&&o.enable(10),e.flipSided&&o.enable(11),e.depthPacking&&o.enable(12),e.dithering&&o.enable(13),e.specularIntensityMap&&o.enable(14),e.specularColorMap&&o.enable(15),e.transmission&&o.enable(16),e.transmissionMap&&o.enable(17),e.thicknessMap&&o.enable(18),e.sheen&&o.enable(19),e.sheenColorMap&&o.enable(20),e.sheenRoughnessMap&&o.enable(21),t.push(o.mask)}(n,e),n.push(t.outputEncoding)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=x[t.type];let n;if(e){const t=Oi[e];n=yi.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let r;for(let t=0,e=u.length;t0?r.push(c):!0===a.transparent?s.push(c):n.push(c)},unshift:function(t,e,a,o,l,u){const c=i(t,e,a,o,l,u);a.transmission>0?r.unshift(c):!0===a.transparent?s.unshift(c):n.unshift(c)},finish:function(){for(let n=e,r=t.length;n1&&n.sort(t||Qo),r.length>1&&r.sort(e||tl),s.length>1&&s.sort(e||tl)}}}function nl(){let t=new WeakMap;return{get:function(e,n){let r;return!1===t.has(e)?(r=new el,t.set(e,[r])):n>=t.get(e).length?(r=new el,t.get(e).push(r)):r=t.get(e)[n],r},dispose:function(){t=new WeakMap}}}function rl(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new sr,color:new ks};break;case"SpotLight":n={position:new sr,direction:new sr,color:new ks,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new sr,color:new ks,distance:0,decay:0};break;case"HemisphereLight":n={direction:new sr,skyColor:new ks,groundColor:new ks};break;case"RectAreaLight":n={color:new ks,position:new sr,halfWidth:new sr,halfHeight:new sr}}return t[e.id]=n,n}}}let sl=0;function il(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function al(t,e){const n=new rl,r=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vn};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vn,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),s={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)s.probe.push(new sr);const i=new sr,a=new Fr,o=new Fr;return{setup:function(i,a){let o=0,l=0,u=0;for(let t=0;t<9;t++)s.probe[t].set(0,0,0);let c=0,h=0,d=0,p=0,f=0,m=0,g=0,y=0;i.sort(il);const x=!0!==a?Math.PI:1;for(let t=0,e=i.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(s.rectAreaLTC1=$i.LTC_FLOAT_1,s.rectAreaLTC2=$i.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(s.rectAreaLTC1=$i.LTC_HALF_1,s.rectAreaLTC2=$i.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),s.ambient[0]=o,s.ambient[1]=l,s.ambient[2]=u;const b=s.hash;b.directionalLength===c&&b.pointLength===h&&b.spotLength===d&&b.rectAreaLength===p&&b.hemiLength===f&&b.numDirectionalShadows===m&&b.numPointShadows===g&&b.numSpotShadows===y||(s.directional.length=c,s.spot.length=d,s.rectArea.length=p,s.point.length=h,s.hemi.length=f,s.directionalShadow.length=m,s.directionalShadowMap.length=m,s.pointShadow.length=g,s.pointShadowMap.length=g,s.spotShadow.length=y,s.spotShadowMap.length=y,s.directionalShadowMatrix.length=m,s.pointShadowMatrix.length=g,s.spotShadowMatrix.length=y,b.directionalLength=c,b.pointLength=h,b.spotLength=d,b.rectAreaLength=p,b.hemiLength=f,b.numDirectionalShadows=m,b.numPointShadows=g,b.numSpotShadows=y,s.version=sl++)},setupView:function(t,e){let n=0,r=0,l=0,u=0,c=0;const h=e.matrixWorldInverse;for(let e=0,d=t.length;e=n.get(r).length?(i=new ol(t,e),n.get(r).push(i)):i=n.get(r)[s],i},dispose:function(){n=new WeakMap}}}class ul extends bs{constructor(t){super(),this.type="MeshDepthMaterial",this.depthPacking=Je,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}ul.prototype.isMeshDepthMaterial=!0;class cl extends bs{constructor(t){super(),this.type="MeshDistanceMaterial",this.referencePosition=new sr,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}function hl(t,e,n){let r=new Ai;const s=new Vn,i=new Vn,a=new Qn,o=new ul({depthPacking:Ze}),l=new cl,u={},c=n.maxTextureSize,d={0:m,1:f,2:g},y=new xi({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vn},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),x=y.clone();x.defines.HORIZONTAL_PASS=1;const v=new Xs;v.setAttribute("position",new Ns(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const w=new di(v,y),S=this;function T(n,r){const s=e.update(w);y.defines.VSM_SAMPLES!==n.blurSamples&&(y.defines.VSM_SAMPLES=n.blurSamples,x.defines.VSM_SAMPLES=n.blurSamples,y.needsUpdate=!0,x.needsUpdate=!0),y.uniforms.shadow_pass.value=n.map.texture,y.uniforms.resolution.value=n.mapSize,y.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(r,null,s,y,w,null),x.uniforms.shadow_pass.value=n.mapPass.texture,x.uniforms.resolution.value=n.mapSize,x.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(r,null,s,x,w,null)}function _(e,n,r,s,i,a,c){let h=null;const f=!0===s.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(h=void 0!==f?f:!0===s.isPointLight?l:o,t.localClippingEnabled&&!0===r.clipShadows&&0!==r.clippingPlanes.length||r.displacementMap&&0!==r.displacementScale||r.alphaMap&&r.alphaTest>0){const t=h.uuid,e=r.uuid;let n=u[t];void 0===n&&(n={},u[t]=n);let s=n[e];void 0===s&&(s=h.clone(),n[e]=s),h=s}return h.visible=r.visible,h.wireframe=r.wireframe,h.side=c===p?null!==r.shadowSide?r.shadowSide:r.side:null!==r.shadowSide?r.shadowSide:d[r.side],h.alphaMap=r.alphaMap,h.alphaTest=r.alphaTest,h.clipShadows=r.clipShadows,h.clippingPlanes=r.clippingPlanes,h.clipIntersection=r.clipIntersection,h.displacementMap=r.displacementMap,h.displacementScale=r.displacementScale,h.displacementBias=r.displacementBias,h.wireframeLinewidth=r.wireframeLinewidth,h.linewidth=r.linewidth,!0===s.isPointLight&&!0===h.isMeshDistanceMaterial&&(h.referencePosition.setFromMatrixPosition(s.matrixWorld),h.nearDistance=i,h.farDistance=a),h}function M(n,s,i,a,o){if(!1===n.visible)return;if(n.layers.test(s.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===p)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,n.matrixWorld);const r=e.update(n),s=n.material;if(Array.isArray(s)){const e=r.groups;for(let l=0,u=e.length;lc||s.y>c)&&(s.x>c&&(i.x=Math.floor(c/f.x),s.x=i.x*f.x,h.mapSize.x=i.x),s.y>c&&(i.y=Math.floor(c/f.y),s.y=i.y*f.y,h.mapSize.y=i.y)),null===h.map&&!h.isPointLightShadow&&this.type===p){const t={minFilter:bt,magFilter:bt,format:Pt};h.map=new tr(s.x,s.y,t),h.map.texture.name=u.name+".shadowMap",h.mapPass=new tr(s.x,s.y,t),h.camera.updateProjectionMatrix()}if(null===h.map){const t={minFilter:ft,magFilter:ft,format:Pt};h.map=new tr(s.x,s.y,t),h.map.texture.name=u.name+".shadowMap",h.camera.updateProjectionMatrix()}t.setRenderTarget(h.map),t.clear();const m=h.getViewportCount();for(let t=0;t=1):-1!==lt.indexOf("OpenGL ES")&&(ot=parseFloat(/^OpenGL ES (\d)/.exec(lt)[1]),at=ot>=2);let ut=null,ct={};const ht=t.getParameter(3088),dt=t.getParameter(2978),pt=(new Qn).fromArray(ht),ft=(new Qn).fromArray(dt);function mt(e,n,r){const s=new Uint8Array(4),i=t.createTexture();t.bindTexture(e,i),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;er||t.height>r)&&(s=r/Math.max(t.width,t.height)),s<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const r=e?Bn:Math.floor,i=r(s*t.width),a=r(s*t.height);void 0===f&&(f=g(i,a));const o=n?g(i,a):f;return o.width=i,o.height=a,o.getContext("2d").drawImage(t,0,0,i,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+i+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function x(t){return Pn(t.width)&&Pn(t.height)}function b(t,e){return t.generateMipmaps&&e&&t.minFilter!==ft&&t.minFilter!==bt}function v(e){t.generateMipmap(e)}function w(n,r,s,i){if(!1===o)return r;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let a=r;return 6403===r&&(5126===s&&(a=33326),5131===s&&(a=33325),5121===s&&(a=33321)),6407===r&&(5126===s&&(a=34837),5131===s&&(a=34843),5121===s&&(a=32849)),6408===r&&(5126===s&&(a=34836),5131===s&&(a=34842),5121===s&&(a=i===Ye?35907:32856)),33325!==a&&33326!==a&&34842!==a&&34836!==a||e.get("EXT_color_buffer_float"),a}function S(t,e,n){return!0===b(t,n)||t.isFramebufferTexture&&t.minFilter!==ft&&t.minFilter!==bt?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function T(t){return t===ft||t===mt||t===yt?9728:9729}function _(e){const n=e.target;n.removeEventListener("dispose",_),function(e){const n=r.get(e);void 0!==n.__webglInit&&(t.deleteTexture(n.__webglTexture),r.remove(e))}(n),n.isVideoTexture&&p.delete(n),a.memory.textures--}function M(e){const n=e.target;n.removeEventListener("dispose",M),function(e){const n=e.texture,s=r.get(e),i=r.get(n);if(e){if(void 0!==i.__webglTexture&&(t.deleteTexture(i.__webglTexture),a.memory.textures--),e.depthTexture&&e.depthTexture.dispose(),e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(s.__webglFramebuffer[e]),s.__webglDepthbuffer&&t.deleteRenderbuffer(s.__webglDepthbuffer[e]);else t.deleteFramebuffer(s.__webglFramebuffer),s.__webglDepthbuffer&&t.deleteRenderbuffer(s.__webglDepthbuffer),s.__webglMultisampledFramebuffer&&t.deleteFramebuffer(s.__webglMultisampledFramebuffer),s.__webglColorRenderbuffer&&t.deleteRenderbuffer(s.__webglColorRenderbuffer),s.__webglDepthRenderbuffer&&t.deleteRenderbuffer(s.__webglDepthRenderbuffer);if(e.isWebGLMultipleRenderTargets)for(let e=0,s=n.length;e0&&s.__version!==t.version){const n=t.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void D(s,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,s.__webglTexture)}function I(e,s){const a=r.get(e);e.version>0&&a.__version!==e.version?function(e,r,s){if(6!==r.image.length)return;R(e,r),n.activeTexture(33984+s),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const a=r&&(r.isCompressedTexture||r.image[0].isCompressedTexture),l=r.image[0]&&r.image[0].isDataTexture,c=[];for(let t=0;t<6;t++)c[t]=a||l?l?r.image[t].image:r.image[t]:y(r.image[t],!1,!0,u);const h=c[0],d=x(h)||o,p=i.convert(r.format),f=i.convert(r.type),m=w(r.internalFormat,p,f,r.encoding),g=o&&!0!==r.isVideoTexture,T=void 0===e.__version;let _,M=S(r,h,d);if(A(34067,r,d),a){g&&T&&n.texStorage2D(34067,M,m,h.width,h.height);for(let t=0;t<6;t++){_=c[t].mipmaps;for(let e=0;e<_.length;e++){const s=_[e];r.format!==Pt&&r.format!==Ot?null!==p?g?n.compressedTexSubImage2D(34069+t,e,0,0,s.width,s.height,p,s.data):n.compressedTexImage2D(34069+t,e,m,s.width,s.height,0,s.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):g?n.texSubImage2D(34069+t,e,0,0,s.width,s.height,p,f,s.data):n.texImage2D(34069+t,e,m,s.width,s.height,0,p,f,s.data)}}}else{_=r.mipmaps,g&&T&&(_.length>0&&M++,n.texStorage2D(34067,M,m,c[0].width,c[0].height));for(let t=0;t<6;t++)if(l){g?n.texSubImage2D(34069+t,0,0,0,c[t].width,c[t].height,p,f,c[t].data):n.texImage2D(34069+t,0,m,c[t].width,c[t].height,0,p,f,c[t].data);for(let e=0;e<_.length;e++){const r=_[e].image[t].image;g?n.texSubImage2D(34069+t,e+1,0,0,r.width,r.height,p,f,r.data):n.texImage2D(34069+t,e+1,m,r.width,r.height,0,p,f,r.data)}}else{g?n.texSubImage2D(34069+t,0,0,0,p,f,c[t]):n.texImage2D(34069+t,0,m,p,f,c[t]);for(let e=0;e<_.length;e++){const r=_[e];g?n.texSubImage2D(34069+t,e+1,0,0,p,f,r.image[t]):n.texImage2D(34069+t,e+1,m,p,f,r.image[t])}}}b(r,d)&&v(34067),e.__version=r.version,r.onUpdate&&r.onUpdate(r)}(a,e,s):(n.activeTexture(33984+s),n.bindTexture(34067,a.__webglTexture))}const C={[ht]:10497,[dt]:33071,[pt]:33648},N={[ft]:9728,[mt]:9984,[yt]:9986,[bt]:9729,[vt]:9985,[St]:9987};function A(n,i,a){if(a?(t.texParameteri(n,10242,C[i.wrapS]),t.texParameteri(n,10243,C[i.wrapT]),32879!==n&&35866!==n||t.texParameteri(n,32882,C[i.wrapR]),t.texParameteri(n,10240,N[i.magFilter]),t.texParameteri(n,10241,N[i.minFilter])):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),32879!==n&&35866!==n||t.texParameteri(n,32882,33071),i.wrapS===dt&&i.wrapT===dt||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,10240,T(i.magFilter)),t.texParameteri(n,10241,T(i.minFilter)),i.minFilter!==ft&&i.minFilter!==bt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(i.type===Nt&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&i.type===At&&!1===e.has("OES_texture_half_float_linear"))return;(i.anisotropy>1||r.get(i).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(i.anisotropy,s.getMaxAnisotropy())),r.get(i).__currentAnisotropy=i.anisotropy)}}function R(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",_),e.__webglTexture=t.createTexture(),a.memory.textures++)}function D(e,r,s){let a=3553;r.isDataTexture2DArray&&(a=35866),r.isDataTexture3D&&(a=32879),R(e,r),n.activeTexture(33984+s),n.bindTexture(a,e.__webglTexture),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const l=function(t){return!o&&(t.wrapS!==dt||t.wrapT!==dt||t.minFilter!==ft&&t.minFilter!==bt)}(r)&&!1===x(r.image),u=y(r.image,l,!1,c),h=x(u)||o,d=i.convert(r.format);let p,f=i.convert(r.type),m=w(r.internalFormat,d,f,r.encoding);A(a,r,h);const g=r.mipmaps,T=o&&!0!==r.isVideoTexture,_=void 0===e.__version,M=S(r,u,h);if(r.isDepthTexture)m=6402,o?m=r.type===Nt?36012:r.type===Ct?33190:r.type===Ft?35056:33189:r.type===Nt&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),r.format===Ut&&6402===m&&r.type!==Et&&r.type!==Ct&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),r.type=Et,f=i.convert(r.type)),r.format===Vt&&6402===m&&(m=34041,r.type!==Ft&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),r.type=Ft,f=i.convert(r.type))),T&&_?n.texStorage2D(3553,1,m,u.width,u.height):n.texImage2D(3553,0,m,u.width,u.height,0,d,f,null);else if(r.isDataTexture)if(g.length>0&&h){T&&_&&n.texStorage2D(3553,M,m,g[0].width,g[0].height);for(let t=0,e=g.length;t0&&h){T&&_&&n.texStorage2D(3553,M,m,g[0].width,g[0].height);for(let t=0,e=g.length;t=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),k+=1,t},this.resetTextureUnits=function(){k=0},this.setTexture2D=E,this.setTexture2DArray=function(t,e){const s=r.get(t);t.version>0&&s.__version!==t.version?D(s,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,s.__webglTexture))},this.setTexture3D=function(t,e){const s=r.get(t);t.version>0&&s.__version!==t.version?D(s,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,s.__webglTexture))},this.setTextureCube=I,this.rebindTextures=function(t,e,n){const s=r.get(t);void 0!==e&&L(s.__webglFramebuffer,t,t.texture,36064,3553),void 0!==n&&$(t)},this.setupRenderTarget=function(e){const l=e.texture,u=r.get(e),c=r.get(l);e.addEventListener("dispose",M),!0!==e.isWebGLMultipleRenderTargets&&(void 0===c.__webglTexture&&(c.__webglTexture=t.createTexture()),c.__version=l.version,a.memory.textures++);const h=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=l.isDataTexture3D||l.isDataTexture2DArray,f=x(e)||o;if(!o||l.format!==Ot||l.type!==Nt&&l.type!==At||(l.format=Pt,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),h){u.__webglFramebuffer=[];for(let e=0;e<6;e++)u.__webglFramebuffer[e]=t.createFramebuffer()}else if(u.__webglFramebuffer=t.createFramebuffer(),d)if(s.drawBuffers){const n=e.texture;for(let e=0,s=n.length;eo+u?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-u&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(s=e.getPose(t.gripSpace,n),null!==s&&(o.matrix.fromArray(s.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),s.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(s.linearVelocity)):o.hasLinearVelocity=!1,s.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(s.angularVelocity)):o.hasAngularVelocity=!1));return null!==a&&(a.visible=null!==r),null!==o&&(o.visible=null!==s),null!==l&&(l.visible=null!==i),this}}class bl extends Jn{constructor(t,e,n,r,s,i,a,o,l,u){if((u=void 0!==u?u:Ut)!==Ut&&u!==Vt)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&u===Ut&&(n=Et),void 0===n&&u===Vt&&(n=Ft),super(null,r,s,i,a,o,u,n,l),this.image={width:t,height:e},this.magFilter=void 0!==a?a:ft,this.minFilter=void 0!==o?o:ft,this.flipY=!1,this.generateMipmaps=!1}}bl.prototype.isDepthTexture=!0;class vl extends Cn{constructor(t,e){super();const n=this;let r=null,s=1,i=null,a="local-floor";const o=t.extensions.has("WEBGL_multisampled_render_to_texture");let l=null,u=null,c=null,h=null,d=!1,p=null;const f=e.getContextAttributes();let m=null,g=null;const y=[],x=new Map,b=new vi;b.layers.enable(1),b.viewport=new Qn;const v=new vi;v.layers.enable(2),v.viewport=new Qn;const w=[b,v],S=new ml;S.layers.enable(1),S.layers.enable(2);let T=null,_=null;function M(t){const e=x.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function k(){x.forEach((function(t,e){t.disconnect(e)})),x.clear(),T=null,_=null,t.setRenderTarget(m),h=null,c=null,u=null,r=null,g=null,R.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function E(t){const e=r.inputSources;for(let t=0;t0&&(e.alphaTest.value=n.alphaTest);const r=t.get(n).envMap;let s,i;r&&(e.envMap.value=r,e.flipEnvMap.value=r.isCubeTexture&&!1===r.isRenderTargetTexture?-1:1,e.reflectivity.value=n.reflectivity,e.ior.value=n.ior,e.refractionRatio.value=n.refractionRatio),n.lightMap&&(e.lightMap.value=n.lightMap,e.lightMapIntensity.value=n.lightMapIntensity),n.aoMap&&(e.aoMap.value=n.aoMap,e.aoMapIntensity.value=n.aoMapIntensity),n.map?s=n.map:n.specularMap?s=n.specularMap:n.displacementMap?s=n.displacementMap:n.normalMap?s=n.normalMap:n.bumpMap?s=n.bumpMap:n.roughnessMap?s=n.roughnessMap:n.metalnessMap?s=n.metalnessMap:n.alphaMap?s=n.alphaMap:n.emissiveMap?s=n.emissiveMap:n.clearcoatMap?s=n.clearcoatMap:n.clearcoatNormalMap?s=n.clearcoatNormalMap:n.clearcoatRoughnessMap?s=n.clearcoatRoughnessMap:n.specularIntensityMap?s=n.specularIntensityMap:n.specularColorMap?s=n.specularColorMap:n.transmissionMap?s=n.transmissionMap:n.thicknessMap?s=n.thicknessMap:n.sheenColorMap?s=n.sheenColorMap:n.sheenRoughnessMap&&(s=n.sheenRoughnessMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),e.uvTransform.value.copy(s.matrix)),n.aoMap?i=n.aoMap:n.lightMap&&(i=n.lightMap),void 0!==i&&(i.isWebGLRenderTarget&&(i=i.texture),!0===i.matrixAutoUpdate&&i.updateMatrix(),e.uv2Transform.value.copy(i.matrix))}function n(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap),n.emissiveMap&&(e.emissiveMap.value=n.emissiveMap),n.bumpMap&&(e.bumpMap.value=n.bumpMap,e.bumpScale.value=n.bumpScale,n.side===m&&(e.bumpScale.value*=-1)),n.normalMap&&(e.normalMap.value=n.normalMap,e.normalScale.value.copy(n.normalScale),n.side===m&&e.normalScale.value.negate()),n.displacementMap&&(e.displacementMap.value=n.displacementMap,e.displacementScale.value=n.displacementScale,e.displacementBias.value=n.displacementBias),t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}return{refreshFogUniforms:function(t,e){t.fogColor.value.copy(e.color),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(t,r,s,i,a){r.isMeshBasicMaterial?e(t,r):r.isMeshLambertMaterial?(e(t,r),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(t,r)):r.isMeshToonMaterial?(e(t,r),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshPhongMaterial?(e(t,r),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshStandardMaterial?(e(t,r),r.isMeshPhysicalMaterial?function(t,e,r){n(t,e),t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap)),e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),t.clearcoatNormalMap.value=e.clearcoatNormalMap,e.side===m&&t.clearcoatNormalScale.value.negate())),e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=r.texture,t.transmissionSamplerSize.value.set(r.width,r.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor)),t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap)}(t,r,a):n(t,r)):r.isMeshMatcapMaterial?(e(t,r),function(t,e){e.matcap&&(t.matcap.value=e.matcap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshDepthMaterial?(e(t,r),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshDistanceMaterial?(e(t,r),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,r)):r.isMeshNormalMaterial?(e(t,r),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,r),r.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,r)):r.isPointsMaterial?function(t,e,n,r){let s;t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*n,t.scale.value=.5*r,e.map&&(t.map.value=e.map),e.alphaMap&&(t.alphaMap.value=e.alphaMap),e.alphaTest>0&&(t.alphaTest.value=e.alphaTest),e.map?s=e.map:e.alphaMap&&(s=e.alphaMap),void 0!==s&&(!0===s.matrixAutoUpdate&&s.updateMatrix(),t.uvTransform.value.copy(s.matrix))}(t,r,s,i):r.isSpriteMaterial?function(t,e){let n;t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map),e.alphaMap&&(t.alphaMap.value=e.alphaMap),e.alphaTest>0&&(t.alphaTest.value=e.alphaTest),e.map?n=e.map:e.alphaMap&&(n=e.alphaMap),void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),t.uvTransform.value.copy(n.matrix))}(t,r):r.isShadowMaterial?(t.color.value.copy(r.color),t.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function Sl(t={}){const e=void 0!==t.canvas?t.canvas:function(){const t=qn("canvas");return t.style.display="block",t}(),n=void 0!==t.context?t.context:null,s=void 0!==t.alpha&&t.alpha,i=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,l=void 0===t.premultipliedAlpha||t.premultipliedAlpha,u=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,c=void 0!==t.powerPreference?t.powerPreference:"default",h=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let d=null,p=null;const y=[],x=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=Ke,this.physicallyCorrectLights=!1,this.toneMapping=Z,this.toneMappingExposure=1;const b=this;let v=!1,w=0,S=0,T=null,_=-1,M=null;const k=new Qn,E=new Qn;let I=null,C=e.width,N=e.height,A=1,R=null,D=null;const L=new Qn(0,0,C,N),F=new Qn(0,0,C,N);let $=!1;const O=[],P=new Ai;let z=!1,B=!1,U=null;const V=new Fr,W=new sr,H={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function G(){return null===T?A:1}let j,q,X,K,Y,J,Q,tt,et,nt,rt,st,it,at,ot,lt,ut,ct,ht,pt,mt,gt,yt,xt=n;function bt(t,n){for(let r=0;r0&&function(t,e,n){if(null===U){const t=!0===o&&!0===q.isWebGL2;U=new(t?nr:tr)(1024,1024,{generateMipmaps:!0,type:null!==gt.convert(At)?At:_t,minFilter:St,magFilter:ft,wrapS:dt,wrapT:dt,useRenderToTexture:j.has("WEBGL_multisampled_render_to_texture")})}const r=b.getRenderTarget();b.setRenderTarget(U),b.clear();const s=b.toneMapping;b.toneMapping=Z,Ft(t,e,n),b.toneMapping=s,J.updateMultisampleRenderTarget(U),J.updateRenderTargetMipmap(U),b.setRenderTarget(r)}(s,e,n),r&&X.viewport(k.copy(r)),s.length>0&&Ft(s,e,n),i.length>0&&Ft(i,e,n),a.length>0&&Ft(a,e,n)}function Ft(t,e,n){const r=!0===e.isScene?e.overrideMaterial:null;for(let s=0,i=t.length;s0?x[x.length-1]:null,y.pop(),d=y.length>0?y[y.length-1]:null},this.getActiveCubeFace=function(){return w},this.getActiveMipmapLevel=function(){return S},this.getRenderTarget=function(){return T},this.setRenderTargetTextures=function(t,e,n){Y.get(t.texture).__webglTexture=e,Y.get(t.depthTexture).__webglTexture=n;const r=Y.get(t);r.__hasExternalTextures=!0,r.__hasExternalTextures&&(r.__autoAllocateDepthBuffer=void 0===n,r.__autoAllocateDepthBuffer||t.useRenderToTexture&&(console.warn("render-to-texture extension was disabled because an external texture was provided"),t.useRenderToTexture=!1,t.useRenderbuffer=!0))},this.setRenderTargetFramebuffer=function(t,e){const n=Y.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){T=t,w=e,S=n;let r=!0;if(t){const e=Y.get(t);void 0!==e.__useDefaultFramebuffer?(X.bindFramebuffer(36160,null),r=!1):void 0===e.__webglFramebuffer?J.setupRenderTarget(t):e.__hasExternalTextures&&J.rebindTextures(t,Y.get(t.texture).__webglTexture,Y.get(t.depthTexture).__webglTexture)}let s=null,i=!1,a=!1;if(t){const n=t.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(a=!0);const r=Y.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(s=r[e],i=!0):s=t.useRenderbuffer?Y.get(t).__webglMultisampledFramebuffer:r,k.copy(t.viewport),E.copy(t.scissor),I=t.scissorTest}else k.copy(L).multiplyScalar(A).floor(),E.copy(F).multiplyScalar(A).floor(),I=$;if(X.bindFramebuffer(36160,s)&&q.drawBuffers&&r){let e=!1;if(t)if(t.isWebGLMultipleRenderTargets){const n=t.texture;if(O.length!==n.length||36064!==O[0]){for(let t=0,e=n.length;t=0&&e<=t.width-r&&n>=0&&n<=t.height-s&&xt.readPixels(e,n,r,s,gt.convert(o),gt.convert(l),i):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const t=null!==T?Y.get(T).__webglFramebuffer:null;X.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){if(!0!==e.isFramebufferTexture)return void console.error("THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.");const r=Math.pow(2,-n),s=Math.floor(e.image.width*r),i=Math.floor(e.image.height*r);J.setTexture2D(e,0),xt.copyTexSubImage2D(3553,n,0,0,t.x,t.y,s,i),X.unbindTexture()},this.copyTextureToTexture=function(t,e,n,r=0){const s=e.image.width,i=e.image.height,a=gt.convert(n.format),o=gt.convert(n.type);J.setTexture2D(n,0),xt.pixelStorei(37440,n.flipY),xt.pixelStorei(37441,n.premultiplyAlpha),xt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?xt.texSubImage2D(3553,r,t.x,t.y,s,i,a,o,e.image.data):e.isCompressedTexture?xt.compressedTexSubImage2D(3553,r,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):xt.texSubImage2D(3553,r,t.x,t.y,a,o,e.image),0===r&&n.generateMipmaps&&xt.generateMipmap(3553),X.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,r,s=0){if(b.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const i=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=gt.convert(r.format),u=gt.convert(r.type);let c;if(r.isDataTexture3D)J.setTexture3D(r,0),c=32879;else{if(!r.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");J.setTexture2DArray(r,0),c=35866}xt.pixelStorei(37440,r.flipY),xt.pixelStorei(37441,r.premultiplyAlpha),xt.pixelStorei(3317,r.unpackAlignment);const h=xt.getParameter(3314),d=xt.getParameter(32878),p=xt.getParameter(3316),f=xt.getParameter(3315),m=xt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;xt.pixelStorei(3314,g.width),xt.pixelStorei(32878,g.height),xt.pixelStorei(3316,t.min.x),xt.pixelStorei(3315,t.min.y),xt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isDataTexture3D?xt.texSubImage3D(c,s,e.x,e.y,e.z,i,a,o,l,u,g.data):n.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),xt.compressedTexSubImage3D(c,s,e.x,e.y,e.z,i,a,o,l,g.data)):xt.texSubImage3D(c,s,e.x,e.y,e.z,i,a,o,l,u,g),xt.pixelStorei(3314,h),xt.pixelStorei(32878,d),xt.pixelStorei(3316,p),xt.pixelStorei(3315,f),xt.pixelStorei(32877,m),0===s&&r.generateMipmaps&&xt.generateMipmap(c),X.unbindTexture()},this.initTexture=function(t){J.setTexture2D(t,0),X.unbindTexture()},this.resetState=function(){w=0,S=0,T=null,X.reset(),yt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}Sl.prototype.isWebGLRenderer=!0;class Tl extends Sl{}Tl.prototype.isWebGL1Renderer=!0;class _l{constructor(t,e=25e-5){this.name="",this.color=new ks(t),this.density=e}clone(){return new _l(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}_l.prototype.isFogExp2=!0;class Ml{constructor(t,e=1,n=1e3){this.name="",this.color=new ks(t),this.near=e,this.far=n}clone(){return new Ml(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Ml.prototype.isFog=!0;class kl extends as{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}kl.prototype.isScene=!0;class El{constructor(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=xn,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ln()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let r=0,s=this.stride;rt.far||e.push({distance:o,point:Rl.clone(),uv:ys.getUV(Rl,Pl,zl,Bl,Ul,Vl,Wl,new Vn),face:null,object:this})}copy(t){return super.copy(t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function Gl(t,e,n,r,s,i){Fl.subVectors(t,n).addScalar(.5).multiply(r),void 0!==s?($l.x=i*Fl.x-s*Fl.y,$l.y=s*Fl.x+i*Fl.y):$l.copy(Fl),t.copy(e),t.x+=$l.x,t.y+=$l.y,t.applyMatrix4(Ol)}Hl.prototype.isSprite=!0;const jl=new sr,ql=new sr;class Xl extends as{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,r;for(n=1,r=e.length;n0){jl.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(jl);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){jl.setFromMatrixPosition(t.matrixWorld),ql.setFromMatrixPosition(this.matrixWorld);const n=jl.distanceTo(ql)/t.zoom;let r,s;for(e[0].object.visible=!0,r=1,s=e.length;r=e[r].distance;r++)e[r-1].object.visible=!1,e[r].object.visible=!0;for(this._currentLevel=r-1;ro)continue;h.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(h);dt.far||e.push({distance:d,point:c.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}else for(let n=Math.max(0,i.start),r=Math.min(s.count,i.start+i.count)-1;no)continue;h.applyMatrix4(this.matrixWorld);const r=t.ray.origin.distanceTo(h);rt.far||e.push({distance:r,point:c.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}xu.prototype.isLine=!0;const bu=new sr,vu=new sr;class wu extends xu{constructor(t,e){super(t,e),this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,r=e.count;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function Cu(t,e,n,r,s,i,a){const o=Mu.distanceSqToPoint(t);if(os.far)return;i.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}Iu.prototype.isPoints=!0;class Nu extends Jn{constructor(t,e,n,r,s,i,a,o,l){super(t,e,n,r,s,i,a,o,l),this.format=void 0!==a?a:Ot,this.minFilter=void 0!==i?i:bt,this.magFilter=void 0!==s?s:bt,this.generateMipmaps=!1;const u=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback((function e(){u.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1=="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}Nu.prototype.isVideoTexture=!0;class Au extends Jn{constructor(t,e,n){super({width:t,height:e}),this.format=n,this.magFilter=ft,this.minFilter=ft,this.generateMipmaps=!1,this.needsUpdate=!0}}Au.prototype.isFramebufferTexture=!0;class Ru extends Jn{constructor(t,e,n,r,s,i,a,o,l,u,c,h){super(null,i,a,o,l,u,r,s,c,h),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}Ru.prototype.isCompressedTexture=!0;class Du extends Jn{constructor(t,e,n,r,s,i,a,o,l){super(t,e,n,r,s,i,a,o,l),this.needsUpdate=!0}}Du.prototype.isCanvasTexture=!0;class Lu extends Xs{constructor(t=1,e=8,n=0,r=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:r},e=Math.max(3,e);const s=[],i=[],a=[],o=[],l=new sr,u=new Vn;i.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let s=0,c=3;s<=e;s++,c+=3){const h=n+s/e*r;l.x=t*Math.cos(h),l.y=t*Math.sin(h),i.push(l.x,l.y,l.z),a.push(0,0,1),u.x=(i[c]/t+1)/2,u.y=(i[c+1]/t+1)/2,o.push(u.x,u.y)}for(let t=1;t<=e;t++)s.push(t,t+1,0);this.setIndex(s),this.setAttribute("position",new zs(i,3)),this.setAttribute("normal",new zs(a,3)),this.setAttribute("uv",new zs(o,2))}static fromJSON(t){return new Lu(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class Fu extends Xs{constructor(t=1,e=1,n=1,r=8,s=1,i=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:r,heightSegments:s,openEnded:i,thetaStart:a,thetaLength:o};const l=this;r=Math.floor(r),s=Math.floor(s);const u=[],c=[],h=[],d=[];let p=0;const f=[],m=n/2;let g=0;function y(n){const s=p,i=new Vn,f=new sr;let y=0;const x=!0===n?t:e,b=!0===n?1:-1;for(let t=1;t<=r;t++)c.push(0,m*b,0),h.push(0,b,0),d.push(.5,.5),p++;const v=p;for(let t=0;t<=r;t++){const e=t/r*o+a,n=Math.cos(e),s=Math.sin(e);f.x=x*s,f.y=m*b,f.z=x*n,c.push(f.x,f.y,f.z),h.push(0,b,0),i.x=.5*n+.5,i.y=.5*s*b+.5,d.push(i.x,i.y),p++}for(let t=0;t0&&y(!0),e>0&&y(!1)),this.setIndex(u),this.setAttribute("position",new zs(c,3)),this.setAttribute("normal",new zs(h,3)),this.setAttribute("uv",new zs(d,2))}static fromJSON(t){return new Fu(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class $u extends Fu{constructor(t=1,e=1,n=8,r=1,s=!1,i=0,a=2*Math.PI){super(0,t,e,n,r,s,i,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:r,openEnded:s,thetaStart:i,thetaLength:a}}static fromJSON(t){return new $u(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Ou extends Xs{constructor(t=[],e=[],n=1,r=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:r};const s=[],i=[];function a(t,e,n,r){const s=r+1,i=[];for(let r=0;r<=s;r++){i[r]=[];const a=t.clone().lerp(n,r/s),o=e.clone().lerp(n,r/s),l=s-r;for(let t=0;t<=l;t++)i[r][t]=0===t&&r===s?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(i[t+0]+=1),n<.2&&(i[t+2]+=1),r<.2&&(i[t+4]+=1))}}()}(),this.setAttribute("position",new zs(s,3)),this.setAttribute("normal",new zs(s.slice(),3)),this.setAttribute("uv",new zs(i,2)),0===r?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(t){return new Ou(t.vertices,t.indices,t.radius,t.details)}}class Pu extends Ou{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,r=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Pu(t.radius,t.detail)}}const zu=new sr,Bu=new sr,Uu=new sr,Vu=new ys;class Wu extends Xs{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const n=4,r=Math.pow(10,n),s=Math.cos(Rn*e),i=t.getIndex(),a=t.getAttribute("position"),o=i?i.count:a.count,l=[0,0,0],u=["a","b","c"],c=new Array(3),h={},d=[];for(let t=0;t0)){l=r;break}l=r-1}if(r=l,n[r]===i)return r/(s-1);const u=n[r];return(r+(i-u)/(n[r+1]-u))/(s-1)}getTangent(t,e){const n=1e-4;let r=t-n,s=t+n;r<0&&(r=0),s>1&&(s=1);const i=this.getPoint(r),a=this.getPoint(s),o=e||(i.isVector2?new Vn:new sr);return o.copy(a).sub(i).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new sr,r=[],s=[],i=[],a=new sr,o=new Fr;for(let e=0;e<=t;e++){const n=e/t;r[e]=this.getTangentAt(n,new sr)}s[0]=new sr,i[0]=new sr;let l=Number.MAX_VALUE;const u=Math.abs(r[0].x),c=Math.abs(r[0].y),h=Math.abs(r[0].z);u<=l&&(l=u,n.set(1,0,0)),c<=l&&(l=c,n.set(0,1,0)),h<=l&&n.set(0,0,1),a.crossVectors(r[0],n).normalize(),s[0].crossVectors(r[0],a),i[0].crossVectors(r[0],s[0]);for(let e=1;e<=t;e++){if(s[e]=s[e-1].clone(),i[e]=i[e-1].clone(),a.crossVectors(r[e-1],r[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(Fn(r[e-1].dot(r[e]),-1,1));s[e].applyMatrix4(o.makeRotationAxis(a,t))}i[e].crossVectors(r[e],s[e])}if(!0===e){let e=Math.acos(Fn(s[0].dot(s[t]),-1,1));e/=t,r[0].dot(a.crossVectors(s[0],s[t]))>0&&(e=-e);for(let n=1;n<=t;n++)s[n].applyMatrix4(o.makeRotationAxis(r[n],e*n)),i[n].crossVectors(r[n],s[n])}return{tangents:r,normals:s,binormals:i}}clone(){return(new this.constructor).copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Gu extends Hu{constructor(t=0,e=0,n=1,r=1,s=0,i=2*Math.PI,a=!1,o=0){super(),this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=i,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new Vn,r=2*Math.PI;let s=this.aEndAngle-this.aStartAngle;const i=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(l)/s)+1)*s:0===u&&l===s-1&&(l=s-2,u=1),this.closed||l>0?a=r[(l-1)%s]:(Xu.subVectors(r[0],r[1]).add(r[0]),a=Xu);const c=r[l%s],h=r[(l+1)%s];if(this.closed||l+2r.length-2?r.length-1:i+1],c=r[i>r.length-3?r.length-1:i+2];return n.set(Qu(a,o.x,l.x,u.x,c.x),Qu(a,o.y,l.y,u.y,c.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e=n){const t=r[s]-n,i=this.curves[s],a=i.getLength(),o=0===a?0:1-t/a;return i.getPointAt(o,e)}s++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,r=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const u=l.getPoint(1);return this.currentPoint.copy(u),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class dc extends hc{constructor(t){super(t),this.uuid=Ln(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,r=this.holes.length;n0)for(i=e;i=e;i-=r)a=Lc(i,t[i],t[i+1],a);return a&&Ic(a,a.next)&&(Fc(a),a=a.next),a}function fc(t,e){if(!t)return t;e||(e=t);let n,r=t;do{if(n=!1,r.steiner||!Ic(r,r.next)&&0!==Ec(r.prev,r,r.next))r=r.next;else{if(Fc(r),r=e=r.prev,r===r.next)break;n=!0}}while(n||r!==e);return e}function mc(t,e,n,r,s,i,a){if(!t)return;!a&&i&&function(t,e,n,r){let s=t;do{null===s.z&&(s.z=Tc(s.x,s.y,e,n,r)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next}while(s!==t);s.prevZ.nextZ=null,s.prevZ=null,function(t){let e,n,r,s,i,a,o,l,u=1;do{for(n=t,t=null,i=null,a=0;n;){for(a++,r=n,o=0,e=0;e0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(s=n,n=n.nextZ,o--):(s=r,r=r.nextZ,l--),i?i.nextZ=s:t=s,s.prevZ=i,i=s;n=r}i.nextZ=null,u*=2}while(a>1)}(s)}(t,r,s,i);let o,l,u=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,i?yc(t,r,s,i):gc(t))e.push(o.i/n),e.push(t.i/n),e.push(l.i/n),Fc(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?mc(t=xc(fc(t),e,n),e,n,r,s,i,2):2===a&&bc(t,e,n,r,s,i):mc(fc(t),e,n,r,s,i,1);break}}function gc(t){const e=t.prev,n=t,r=t.next;if(Ec(e,n,r)>=0)return!1;let s=t.next.next;for(;s!==t.prev;){if(Mc(e.x,e.y,n.x,n.y,r.x,r.y,s.x,s.y)&&Ec(s.prev,s,s.next)>=0)return!1;s=s.next}return!0}function yc(t,e,n,r){const s=t.prev,i=t,a=t.next;if(Ec(s,i,a)>=0)return!1;const o=s.xi.x?s.x>a.x?s.x:a.x:i.x>a.x?i.x:a.x,c=s.y>i.y?s.y>a.y?s.y:a.y:i.y>a.y?i.y:a.y,h=Tc(o,l,e,n,r),d=Tc(u,c,e,n,r);let p=t.prevZ,f=t.nextZ;for(;p&&p.z>=h&&f&&f.z<=d;){if(p!==t.prev&&p!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,p.x,p.y)&&Ec(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==t.prev&&f!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,f.x,f.y)&&Ec(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,p.x,p.y)&&Ec(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==t.prev&&f!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,f.x,f.y)&&Ec(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function xc(t,e,n){let r=t;do{const s=r.prev,i=r.next.next;!Ic(s,i)&&Cc(s,r,r.next,i)&&Rc(s,i)&&Rc(i,s)&&(e.push(s.i/n),e.push(r.i/n),e.push(i.i/n),Fc(r),Fc(r.next),r=t=i),r=r.next}while(r!==t);return fc(r)}function bc(t,e,n,r,s,i){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&kc(a,t)){let o=Dc(a,t);return a=fc(a,a.next),o=fc(o,o.next),mc(a,e,n,r,s,i),void mc(o,e,n,r,s,i)}t=t.next}a=a.next}while(a!==t)}function vc(t,e){return t.x-e.x}function wc(t,e){if(e=function(t,e){let n=e;const r=t.x,s=t.y;let i,a=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){const t=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=r&&t>a){if(a=t,t===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x=n.x&&n.x>=l&&r!==n.x&&Mc(si.x||n.x===i.x&&Sc(i,n)))&&(i=n,h=c)),n=n.next}while(n!==o);return i}(t,e)){const n=Dc(e,t);fc(e,e.next),fc(n,n.next)}}function Sc(t,e){return Ec(t.prev,t,e.prev)<0&&Ec(e.next,t,t.next)<0}function Tc(t,e,n,r,s){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*s)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*s)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function _c(t){let e=t,n=t;do{(e.x=0&&(t-a)*(r-o)-(n-a)*(e-o)>=0&&(n-a)*(i-o)-(s-a)*(r-o)>=0}function kc(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Cc(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Rc(t,e)&&Rc(e,t)&&function(t,e){let n=t,r=!1;const s=(t.x+e.x)/2,i=(t.y+e.y)/2;do{n.y>i!=n.next.y>i&&n.next.y!==n.y&&s<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)&&(Ec(t.prev,t,e.prev)||Ec(t,e.prev,e))||Ic(t,e)&&Ec(t.prev,t,t.next)>0&&Ec(e.prev,e,e.next)>0)}function Ec(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Ic(t,e){return t.x===e.x&&t.y===e.y}function Cc(t,e,n,r){const s=Ac(Ec(t,e,n)),i=Ac(Ec(t,e,r)),a=Ac(Ec(n,r,t)),o=Ac(Ec(n,r,e));return s!==i&&a!==o||!(0!==s||!Nc(t,n,e))||!(0!==i||!Nc(t,r,e))||!(0!==a||!Nc(n,t,r))||!(0!==o||!Nc(n,e,r))}function Nc(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Ac(t){return t>0?1:t<0?-1:0}function Rc(t,e){return Ec(t.prev,t,t.next)<0?Ec(t,e,t.next)>=0&&Ec(t,t.prev,e)>=0:Ec(t,e,t.prev)<0||Ec(t,t.next,e)<0}function Dc(t,e){const n=new $c(t.i,t.x,t.y),r=new $c(e.i,e.x,e.y),s=t.next,i=e.prev;return t.next=e,e.prev=t,n.next=s,s.prev=n,r.next=n,n.prev=r,i.next=r,r.prev=i,r}function Lc(t,e,n,r){const s=new $c(t,e,n);return r?(s.next=r.next,s.prev=r,r.next.prev=s,r.next=s):(s.prev=s,s.next=s),s}function Fc(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function $c(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Oc{static area(t){const e=t.length;let n=0;for(let r=e-1,s=0;s80*n){o=u=t[0],l=c=t[1];for(let e=n;eu&&(u=h),d>c&&(c=d);p=Math.max(u-o,c-l),p=0!==p?1/p:0}return mc(i,a,n,o,l,p),a}(n,r);for(let t=0;t2&&t[e-1].equals(t[0])&&t.pop()}function zc(t,e){for(let n=0;nNumber.EPSILON){const h=Math.sqrt(c),d=Math.sqrt(l*l+u*u),p=e.x-o/h,f=e.y+a/h,m=((n.x-u/d-p)*u-(n.y+l/d-f)*l)/(a*u-o*l);r=p+a*m-t.x,s=f+o*m-t.y;const g=r*r+s*s;if(g<=2)return new Vn(r,s);i=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(u)&&(t=!0),t?(r=-o,s=a,i=Math.sqrt(c)):(r=a,s=o,i=Math.sqrt(c/2))}return new Vn(r/i,s/i)}const A=[];for(let t=0,e=k.length,n=e-1,r=t+1;t=0;t--){const e=t/p,n=c*Math.cos(e*Math.PI/2),r=h*Math.sin(e*Math.PI/2)+d;for(let t=0,e=k.length;t=0;){const r=n;let s=n-1;s<0&&(s=t.length-1);for(let t=0,n=o+2*p;t0)&&d.push(e,s,l),(t!==n-1||o0!=t>0&&this.version++,this._sheen=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}rh.prototype.isMeshPhysicalMaterial=!0;class sh extends bs{constructor(t){super(),this.type="MeshPhongMaterial",this.color=new ks(16777215),this.specular=new ks(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ks(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this}}sh.prototype.isMeshPhongMaterial=!0;class ih extends bs{constructor(t){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new ks(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ks(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}ih.prototype.isMeshToonMaterial=!0;class ah extends bs{constructor(t){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}ah.prototype.isMeshNormalMaterial=!0;class oh extends bs{constructor(t){super(),this.type="MeshLambertMaterial",this.color=new ks(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ks(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}oh.prototype.isMeshLambertMaterial=!0;class lh extends bs{constructor(t){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new ks(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this}}lh.prototype.isMeshMatcapMaterial=!0;class uh extends du{constructor(t){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}uh.prototype.isLineDashedMaterial=!0;var ch=Object.freeze({__proto__:null,ShadowMaterial:eh,SpriteMaterial:Nl,RawShaderMaterial:Gi,ShaderMaterial:xi,PointsMaterial:Tu,MeshPhysicalMaterial:rh,MeshStandardMaterial:nh,MeshPhongMaterial:sh,MeshToonMaterial:ih,MeshNormalMaterial:ah,MeshLambertMaterial:oh,MeshDepthMaterial:ul,MeshDistanceMaterial:cl,MeshBasicMaterial:Es,MeshMatcapMaterial:lh,LineDashedMaterial:uh,LineBasicMaterial:du,Material:bs});const hh={arraySlice:function(t,e,n){return hh.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort((function(e,n){return t[e]-t[n]})),n},sortedArray:function(t,e,n){const r=t.length,s=new t.constructor(r);for(let i=0,a=0;a!==r;++i){const r=n[i]*e;for(let n=0;n!==e;++n)s[a++]=t[r+n]}return s},flattenJSON:function(t,e,n,r){let s=1,i=t[0];for(;void 0!==i&&void 0===i[r];)i=t[s++];if(void 0===i)return;let a=i[r];if(void 0!==a)if(Array.isArray(a))do{a=i[r],void 0!==a&&(e.push(i.time),n.push.apply(n,a)),i=t[s++]}while(void 0!==i);else if(void 0!==a.toArray)do{a=i[r],void 0!==a&&(e.push(i.time),a.toArray(n,n.length)),i=t[s++]}while(void 0!==i);else do{a=i[r],void 0!==a&&(e.push(i.time),n.push(a)),i=t[s++]}while(void 0!==i)},subclip:function(t,e,n,r,s=30){const i=t.clone();i.name=e;const a=[];for(let t=0;t=r)){l.push(e.times[t]);for(let n=0;ni.tracks[t].times[0]&&(o=i.tracks[t].times[0]);for(let t=0;t=r.times[h]){const t=h*l+o,e=t+l-o;d=hh.arraySlice(r.values,t,e)}else{const t=r.createInterpolant(),e=o,n=l-o;t.evaluate(i),d=hh.arraySlice(t.resultBuffer,e,n)}"quaternion"===s&&(new rr).fromArray(d).normalize().conjugate().toArray(d);const p=a.times.length;for(let t=0;t=s)break t;{const a=e[1];t=s)break e}i=n,n=0}}for(;n>>1;te;)--i;if(++i,0!==s||i!==r){s>=i&&(i=Math.max(i,1),s=i-1);const t=this.getValueSize();this.times=hh.arraySlice(n,s,i),this.values=hh.arraySlice(this.values,s*t,i*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,r=this.values,s=n.length;0===s&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let i=null;for(let e=0;e!==s;e++){const r=n[e];if("number"==typeof r&&isNaN(r)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,r),t=!1;break}if(null!==i&&i>r){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,r,i),t=!1;break}i=r}if(void 0!==r&&hh.isTypedArray(r))for(let e=0,n=r.length;e!==n;++e){const n=r[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=hh.arraySlice(this.times),e=hh.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===Be,s=t.length-1;let i=1;for(let a=1;a0){t[i]=t[s];for(let t=s*n,r=i*n,a=0;a!==n;++a)e[r+a]=e[t+a];++i}return i!==t.length?(this.times=hh.arraySlice(t,0,i),this.values=hh.arraySlice(e,0,i*n)):(this.times=t,this.values=e),this}clone(){const t=hh.arraySlice(this.times,0),e=hh.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}gh.prototype.TimeBufferType=Float32Array,gh.prototype.ValueBufferType=Float32Array,gh.prototype.DefaultInterpolation=ze;class yh extends gh{}yh.prototype.ValueTypeName="bool",yh.prototype.ValueBufferType=Array,yh.prototype.DefaultInterpolation=Pe,yh.prototype.InterpolantFactoryMethodLinear=void 0,yh.prototype.InterpolantFactoryMethodSmooth=void 0;class xh extends gh{}xh.prototype.ValueTypeName="color";class bh extends gh{}bh.prototype.ValueTypeName="number";class vh extends dh{constructor(t,e,n,r){super(t,e,n,r)}interpolate_(t,e,n,r){const s=this.resultBuffer,i=this.sampleValues,a=this.valueSize,o=(n-e)/(r-e);let l=t*a;for(let t=l+a;l!==t;l+=4)rr.slerpFlat(s,0,i,l-a,i,l,o);return s}}class wh extends gh{InterpolantFactoryMethodLinear(t){return new vh(this.times,this.values,this.getValueSize(),t)}}wh.prototype.ValueTypeName="quaternion",wh.prototype.DefaultInterpolation=ze,wh.prototype.InterpolantFactoryMethodSmooth=void 0;class Sh extends gh{}Sh.prototype.ValueTypeName="string",Sh.prototype.ValueBufferType=Array,Sh.prototype.DefaultInterpolation=Pe,Sh.prototype.InterpolantFactoryMethodLinear=void 0,Sh.prototype.InterpolantFactoryMethodSmooth=void 0;class Th extends gh{}Th.prototype.ValueTypeName="vector";class _h{constructor(t,e=-1,n,r=He){this.name=t,this.tracks=n,this.duration=e,this.blendMode=r,this.uuid=Ln(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,r=1/(t.fps||1);for(let t=0,s=n.length;t!==s;++t)e.push(Mh(n[t]).scale(r));const s=new this(t.name,t.duration,e,t.blendMode);return s.uuid=t.uuid,s}static toJSON(t){const e=[],n=t.tracks,r={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,r=n.length;t!==r;++t)e.push(gh.toJSON(n[t]));return r}static CreateFromMorphTargetSequence(t,e,n,r){const s=e.length,i=[];for(let t=0;t1){const t=i[1];let e=r[t];e||(r[t]=e=[]),e.push(n)}}const i=[];for(const t in r)i.push(this.CreateFromMorphTargetSequence(t,r[t],e,n));return i}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,r,s){if(0!==n.length){const i=[],a=[];hh.flattenJSON(n,i,a,r),0!==i.length&&s.push(new t(e,i,a))}},r=[],s=t.name||"default",i=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t{e&&e(s),this.manager.itemEnd(t)}),0),s;if(void 0!==Nh[t])return void Nh[t].push({onLoad:e,onProgress:n,onError:r});Nh[t]=[],Nh[t].push({onLoad:e,onProgress:n,onError:r});const i=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(i).then((e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body.getReader)return e;const n=Nh[t],r=e.body.getReader(),s=e.headers.get("Content-Length"),i=s?parseInt(s):0,a=0!==i;let o=0;const l=new ReadableStream({start(t){!function e(){r.read().then((({done:r,value:s})=>{if(r)t.close();else{o+=s.byteLength;const r=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:i});for(let t=0,e=n.length;t{switch(this.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then((t=>(new DOMParser).parseFromString(t,this.mimeType)));case"json":return t.json();default:return t.text()}})).then((e=>{kh.add(t,e);const n=Nh[t];delete Nh[t];for(let t=0,r=n.length;t{const n=Nh[t];if(void 0===n)throw this.manager.itemError(t),e;delete Nh[t];for(let t=0,r=n.length;t{this.manager.itemEnd(t)})),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class Rh extends Ch{constructor(t){super(t)}load(t,e,n,r){const s=this,i=new Ah(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(t,(function(n){try{e(s.parse(JSON.parse(n)))}catch(e){r?r(e):console.error(e),s.manager.itemError(t)}}),n,r)}parse(t){const e=[];for(let n=0;n0:r.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const s=t.uniforms[e];switch(r.uniforms[e]={},s.type){case"t":r.uniforms[e].value=n(s.value);break;case"c":r.uniforms[e].value=(new ks).setHex(s.value);break;case"v2":r.uniforms[e].value=(new Vn).fromArray(s.value);break;case"v3":r.uniforms[e].value=(new sr).fromArray(s.value);break;case"v4":r.uniforms[e].value=(new Qn).fromArray(s.value);break;case"m3":r.uniforms[e].value=(new Wn).fromArray(s.value);break;case"m4":r.uniforms[e].value=(new Fr).fromArray(s.value);break;default:r.uniforms[e].value=s.value}}if(void 0!==t.defines&&(r.defines=t.defines),void 0!==t.vertexShader&&(r.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(r.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)r.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(r.flatShading=1===t.shading),void 0!==t.size&&(r.size=t.size),void 0!==t.sizeAttenuation&&(r.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(r.map=n(t.map)),void 0!==t.matcap&&(r.matcap=n(t.matcap)),void 0!==t.alphaMap&&(r.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(r.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(r.bumpScale=t.bumpScale),void 0!==t.normalMap&&(r.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(r.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),r.normalScale=(new Vn).fromArray(e)}return void 0!==t.displacementMap&&(r.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(r.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(r.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(r.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(r.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(r.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(r.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(r.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(r.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularColorMap&&(r.specularColorMap=n(t.specularColorMap)),void 0!==t.envMap&&(r.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(r.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(r.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(r.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(r.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(r.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(r.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(r.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(r.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(r.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(r.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(r.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(r.clearcoatNormalScale=(new Vn).fromArray(t.clearcoatNormalScale)),void 0!==t.transmissionMap&&(r.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(r.thicknessMap=n(t.thicknessMap)),void 0!==t.sheenColorMap&&(r.sheenColorMap=n(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(r.sheenRoughnessMap=n(t.sheenRoughnessMap)),r}setTextures(t){return this.textures=t,this}}class sd{static decodeText(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);let e="";for(let n=0,r=t.length;n0){const n=new Eh(e);s=new Lh(n),s.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e0){r=new Lh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let e=0,r=t.length;e0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,r,this._addIndex*e,1,e);for(let t=e,s=e+e;t!==s;++t)if(n[t]!==n[t+e]){a.setValue(n,r);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,r=n*this._origIndex;t.getValue(e,r);for(let t=n,s=r;t!==s;++t)e[t]=e[r+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let r=0;r!==s;++r)t[e+r]=t[n+r]}_slerp(t,e,n,r){rr.slerpFlat(t,e,t,e,t,n,r)}_slerpAdditive(t,e,n,r,s){const i=this._workIndex*s;rr.multiplyQuaternionsFlat(t,i,t,e,t,n),rr.slerpFlat(t,e,t,e,t,i,r)}_lerp(t,e,n,r,s){const i=1-r;for(let a=0;a!==s;++a){const s=e+a;t[s]=t[s]*i+t[n+a]*r}}_lerpAdditive(t,e,n,r,s){for(let i=0;i!==s;++i){const s=e+i;t[s]=t[s]+t[n+i]*r}}}const $d=new RegExp("[\\[\\]\\.:\\/]","g"),Od="[^\\[\\]\\.:\\/]",Pd="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",zd=/((?:WC+[\/:])*)/.source.replace("WC",Od),Bd=/(WCOD+)?/.source.replace("WCOD",Pd),Ud=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Od),Vd=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Od),Wd=new RegExp("^"+zd+Bd+Ud+Vd+"$"),Hd=["material","materials","bones"];class Gd{constructor(t,e,n){this.path=e,this.parsedPath=n||Gd.parseTrackName(e),this.node=Gd.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new Gd.Composite(t,e,n):new Gd(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace($d,"")}static parseTrackName(t){const e=Wd.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==r&&-1!==r){const t=n.nodeName.substring(r+1);-1!==Hd.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(!e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let r=0;r=s){const i=s++,u=t[i];e[u.uuid]=l,t[l]=u,e[o]=i,t[i]=a;for(let t=0,e=r;t!==e;++t){const e=n[t],r=e[i],s=e[l];e[l]=r,e[i]=s}}}this.nCachedObjects_=s}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,r=n.length;let s=this.nCachedObjects_,i=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=r;t!==e;++t){const e=n[t];e[l]=e[s],e.pop()}}}this.nCachedObjects_=s}subscribe_(t,e){const n=this._bindingsIndicesByPath;let r=n[t];const s=this._bindings;if(void 0!==r)return s[r];const i=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,u=this.nCachedObjects_,c=new Array(l);r=s.length,n[t]=r,i.push(t),a.push(e),s.push(c);for(let n=u,r=o.length;n!==r;++n){const r=o[n];c[n]=new Gd(r,t,e)}return c}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const r=this._paths,s=this._parsedPaths,i=this._bindings,a=i.length-1,o=i[a];e[t[a]]=n,i[n]=o,i.pop(),s[n]=s[a],s.pop(),r[n]=r[a],r.pop()}}}jd.prototype.isAnimationObjectGroup=!0;class qd{constructor(t,e,n=null,r=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=r;const s=e.tracks,i=s.length,a=new Array(i),o={endingStart:Ue,endingEnd:Ue};for(let t=0;t!==i;++t){const e=s[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(i),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=$e,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,r=t._clip.duration,s=r/n,i=n/r;t.warp(1,s,e),this.warp(i,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const r=this._mixer,s=r.time,i=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=s,o[1]=s+n,l[0]=t/i,l[1]=e/i,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,r){if(!this.enabled)return void this._updateWeight(t);const s=this._startTime;if(null!==s){const r=(t-s)*n;if(r<0||0===n)return;this._startTime=null,e=n*r}e*=this._updateTimeScale(t);const i=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;switch(this.blendMode){case Ge:for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(i),e[n].accumulateAdditive(a);break;case He:default:for(let n=0,s=t.length;n!==s;++n)t[n].evaluate(i),e[n].accumulate(r,a)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const r=n.evaluate(t)[0];e*=r,t>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;null!==n&&(e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e))}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let r=this.time+t,s=this._loopCount;const i=n===Oe;if(0===t)return-1===s?r:i&&1==(1&s)?e-r:r;if(n===Fe){-1===s&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(r>=e)r=e;else{if(!(r<0)){this.time=r;break t}r=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===s&&(t>=0?(s=0,this._setEndings(!0,0===this.repetitions,i)):this._setEndings(0===this.repetitions,!0,i)),r>=e||r<0){const n=Math.floor(r/e);r-=e*n,s+=Math.abs(n);const a=this.repetitions-s;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=t>0?e:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,i)}else this._setEndings(!1,!1,i);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=r;if(i&&1==(1&s))return e-r}return r}_setEndings(t,e,n){const r=this._interpolantSettings;n?(r.endingStart=Ve,r.endingEnd=Ve):(r.endingStart=t?this.zeroSlopeAtStart?Ve:Ue:We,r.endingEnd=e?this.zeroSlopeAtEnd?Ve:Ue:We)}_scheduleFading(t,e,n){const r=this._mixer,s=r.time;let i=this._weightInterpolant;null===i&&(i=r._lendControlInterpolant(),this._weightInterpolant=i);const a=i.parameterPositions,o=i.sampleValues;return a[0]=s,o[0]=e,a[1]=s+t,o[1]=n,this}}class Xd extends Cn{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,r=t._clip.tracks,s=r.length,i=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let u=l[o];void 0===u&&(u={},l[o]=u);for(let t=0;t!==s;++t){const s=r[t],l=s.name;let c=u[l];if(void 0!==c)i[t]=c;else{if(c=i[t],void 0!==c){null===c._cacheIndex&&(++c.referenceCount,this._addInactiveBinding(c,o,l));continue}const r=e&&e._propertyBindings[t].binding.parsedPath;c=new Fd(Gd.create(n,l,r),s.ValueTypeName,s.getValueSize()),++c.referenceCount,this._addInactiveBinding(c,o,l),i[t]=c}a[t].resultBuffer=c.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,r=this._actionsByClip[n];this._bindAction(t,r&&r.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,r=this.time+=t,s=Math.sign(t),i=this._accuIndex^=1;for(let a=0;a!==n;++a)e[a]._update(r,t,s,i);const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(i);return this}setTime(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return rp.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}sp.prototype.isBox2=!0;const ip=new sr,ap=new sr;class op{constructor(t=new sr,e=new sr){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){ip.subVectors(t,this.start),ap.subVectors(this.end,this.start);const n=ap.dot(ap);let r=ap.dot(ip)/n;return e&&(r=Fn(r,0,1)),r}closestPointToPoint(t,e,n){const r=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const lp=new sr;class up extends as{constructor(t,e){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;const n=new Xs,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Lp.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Lp,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}}class Pp extends wu{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new Xs;n.setAttribute("position",new zs(e,3)),n.setAttribute("color",new zs([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(n,new du({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(t,e,n){const r=new ks,s=this.geometry.attributes.color.array;return r.set(t),r.toArray(s,0),r.toArray(s,3),r.set(e),r.toArray(s,6),r.toArray(s,9),r.set(n),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class zp{constructor(){this.type="ShapePath",this.color=new ks,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new hc,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,n,r){return this.currentPath.quadraticCurveTo(t,e,n,r),this}bezierCurveTo(t,e,n,r,s,i){return this.currentPath.bezierCurveTo(t,e,n,r,s,i),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t,e){function n(t){const e=[];for(let n=0,r=t.length;nNumber.EPSILON){if(l<0&&(n=e[i],o=-o,a=e[s],l=-l),t.ya.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;r=!r}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return r}const s=Oc.isClockWise,i=this.subPaths;if(0===i.length)return[];if(!0===e)return n(i);let a,o,l;const u=[];if(1===i.length)return o=i[0],l=new dc,l.curves=o.curves,u.push(l),u;let c=!s(i[0].getPoints());c=t?!c:c;const h=[],d=[];let p,f,m=[],g=0;d[g]=void 0,m[g]=[];for(let e=0,n=i.length;e1){let t=!1;const e=[];for(let t=0,e=d.length;t0&&(t||(m=h))}for(let t=0,e=d.length;t65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),t=65504),Bp[0]=t;const e=Up[0];let n=e>>16&32768,r=e>>12&2047;const s=e>>23&255;return s<103?n:s>142?(n|=31744,n|=(255==s?0:1)&&8388607&e,n):s<113?(r|=2048,n|=(r>>114-s)+(r>>113-s&1),n):(n|=s-112<<10|r>>1,n+=1&r,n)}}const Wp=0,Hp=1,Gp=0,jp=1,qp=2;function Xp(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function Kp(t=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function Yp(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Iu(t,e)}function Jp(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Hl(t)}function Zp(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Iu(t,e)}function Qp(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Tu(t)}function tf(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Tu(t)}function ef(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Tu(t)}function nf(t,e,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new sr(t,e,n)}function rf(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new Ns(t,e).setUsage(bn)}function sf(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new As(t,e)}function af(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new Rs(t,e)}function of(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Ds(t,e)}function lf(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Ls(t,e)}function uf(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Fs(t,e)}function cf(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new $s(t,e)}function hf(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Os(t,e)}function df(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new zs(t,e)}function pf(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Bs(t,e)}function ff(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Pp(t)}function mf(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Ap(t,e)}function gf(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new wu(new Wu(t.geometry),new du({color:void 0!==e?e:16777215}))}function yf(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new wu(new Zc(t.geometry),new du({color:void 0!==e?e:16777215}))}function xf(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Ah(t)}function bf(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new $h(t)}function vf(t,e,n){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new _i(t,n)}function wf(){console.error("THREE.CanvasRenderer has been removed")}function Sf(){console.error("THREE.JSONLoader has been removed.")}Hu.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Hu.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},hc.prototype.fromPoints=function(t){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)},vp.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},pp.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Ch.prototype.extractUrlBase=function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),sd.extractUrlBase(t)},Ch.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},sp.prototype.center=function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},sp.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},sp.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},sp.prototype.size=function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)},or.prototype.center=function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},or.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},or.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},or.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},or.prototype.size=function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)},kr.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Ai.prototype.setFromMatrix=function(t){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(t)},op.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Wn.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},Wn.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},Wn.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},Wn.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},Wn.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},Wn.prototype.getInverse=function(t){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Fr.prototype.extractPosition=function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},Fr.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},Fr.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new sr).setFromMatrixColumn(this,3)},Fr.prototype.setRotationFromQuaternion=function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},Fr.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},Fr.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.multiplyVector4=function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},Fr.prototype.rotateAxis=function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},Fr.prototype.crossVector=function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},Fr.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},Fr.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},Fr.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},Fr.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},Fr.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},Fr.prototype.makeFrustum=function(t,e,n,r,s,i){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,r,n,s,i)},Fr.prototype.getInverse=function(t){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Ii.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},rr.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},rr.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},Lr.prototype.isIntersectionBox=function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Lr.prototype.isIntersectionPlane=function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},Lr.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},ys.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},ys.prototype.barycoordFromPoint=function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},ys.prototype.midpoint=function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},ys.prototypenormal=function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},ys.prototype.plane=function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)},ys.barycoordFromPoint=function(t,e,n,r,s){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),ys.getBarycoord(t,e,n,r,s)},ys.normal=function(t,e,n,r){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),ys.getNormal(t,e,n,r)},dc.prototype.extractAllPoints=function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},dc.prototype.extrude=function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Bc(this,t)},dc.prototype.makeGeometry=function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new jc(this,t)},Vn.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},Vn.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},Vn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},sr.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},sr.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},sr.prototype.getPositionFromMatrix=function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},sr.prototype.getScaleFromMatrix=function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},sr.prototype.getColumnFromMatrix=function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},sr.prototype.applyProjection=function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},sr.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},sr.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},sr.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Qn.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},Qn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},as.prototype.getChildByName=function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},as.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},as.prototype.translate=function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},as.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},as.prototype.applyMatrix=function(t){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(as.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),di.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(di.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),je},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),tu.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},vi.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(Ph.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(Ns.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===bn},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(bn)}}}),Ns.prototype.setDynamic=function(t){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?bn:xn),this},Ns.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},Ns.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Xs.prototype.addIndex=function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},Xs.prototype.addAttribute=function(t,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(t,e):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(t,new Ns(arguments[1],arguments[2])))},Xs.prototype.addDrawCall=function(t,e,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},Xs.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},Xs.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},Xs.prototype.removeAttribute=function(t){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(t)},Xs.prototype.applyMatrix=function(t){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(Xs.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),El.prototype.setDynamic=function(t){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?bn:xn),this},El.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Bc.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},Bc.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},Bc.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},kl.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Kd.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(bs.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new ks}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=t===y}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(t){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=t}},vertexTangents:{get:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")},set:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")}}}),Object.defineProperties(xi.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Sl.prototype.clearTarget=function(t,e,n,r){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,n,r)},Sl.prototype.animate=function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},Sl.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},Sl.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},Sl.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},Sl.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},Sl.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},Sl.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},Sl.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},Sl.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},Sl.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},Sl.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},Sl.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},Sl.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},Sl.prototype.enableScissorTest=function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},Sl.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},Sl.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},Sl.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},Sl.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},Sl.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},Sl.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},Sl.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},Sl.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},Sl.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},Sl.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(Sl.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(t){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===t?Ye:Ke}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}},gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}}),Object.defineProperties(hl.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(tr.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Id.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const e=this;return(new fd).load(t,(function(t){e.setBuffer(t)})),this},Ld.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Si.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)},Si.prototype.clear=function(t,e,n,r){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(t,e,n,r)},Kn.crossOrigin=void 0,Kn.loadTexture=function(t,e,n,r){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const s=new Oh;s.setCrossOrigin(this.crossOrigin);const i=s.load(t,n,void 0,r);return e&&(i.mapping=e),i},Kn.loadTextureCube=function(t,e,n,r){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const s=new Fh;s.setCrossOrigin(this.crossOrigin);const i=s.load(t,n,void 0,r);return e&&(i.mapping=e),i},Kn.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},Kn.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const Tf={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function _f(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}function Mf(){return console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),new Xs}function kf(){return console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),new Xs}function Ef(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function If(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function Cf(){console.error("THREE.ImmediateRenderObject has been removed.")}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:r}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=r)},1564:(t,e,n)=>{"use strict";n.r(e),n.d(e,{CSS3DObject:()=>o,CSS3DSprite:()=>l,CSS3DRenderer:()=>h});var r=n(2212);const s=new r.Vector3,i=new r.Quaternion,a=new r.Vector3;class o extends r.Object3D{constructor(t=document.createElement("div")){super(),this.element=t,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",(function(){this.traverse((function(t){t.element instanceof Element&&null!==t.element.parentNode&&t.element.parentNode.removeChild(t.element)}))}))}copy(t,e){return super.copy(t,e),this.element=t.element.cloneNode(!0),this}}o.prototype.isCSS3DObject=!0;class l extends o{constructor(t){super(t),this.rotation2D=0}copy(t,e){return super.copy(t,e),this.rotation2D=t.rotation2D,this}}l.prototype.isCSS3DSprite=!0;const u=new r.Matrix4,c=new r.Matrix4;class h{constructor(t={}){const e=this;let n,r,o,l;const h={camera:{fov:0,style:""},objects:new WeakMap},d=void 0!==t.element?t.element:document.createElement("div");d.style.overflow="hidden",this.domElement=d;const p=document.createElement("div");function f(t){return Math.abs(t)<1e-10?0:t}function m(t){const e=t.elements;return"matrix3d("+f(e[0])+","+f(-e[1])+","+f(e[2])+","+f(e[3])+","+f(e[4])+","+f(-e[5])+","+f(e[6])+","+f(e[7])+","+f(e[8])+","+f(-e[9])+","+f(e[10])+","+f(e[11])+","+f(e[12])+","+f(-e[13])+","+f(e[14])+","+f(e[15])+")"}function g(t){const e=t.elements;return"translate(-50%,-50%)matrix3d("+f(e[0])+","+f(e[1])+","+f(e[2])+","+f(e[3])+","+f(-e[4])+","+f(-e[5])+","+f(-e[6])+","+f(-e[7])+","+f(e[8])+","+f(e[9])+","+f(e[10])+","+f(e[11])+","+f(e[12])+","+f(e[13])+","+f(e[14])+","+f(e[15])+")"}function y(t,n,r,o){if(t.isCSS3DObject){let o;t.onBeforeRender(e,n,r),t.isCSS3DSprite?(u.copy(r.matrixWorldInverse),u.transpose(),0!==t.rotation2D&&u.multiply(c.makeRotationZ(t.rotation2D)),t.matrixWorld.decompose(s,i,a),u.setPosition(s),u.scale(a),u.elements[3]=0,u.elements[7]=0,u.elements[11]=0,u.elements[15]=1,o=g(u)):o=g(t.matrixWorld);const l=t.element,d=h.objects.get(t);if(void 0===d||d.style!==o){l.style.transform=o;const e={style:o};h.objects.set(t,e)}l.style.display=t.visible?"":"none",l.parentNode!==p&&p.appendChild(l),t.onAfterRender(e,n,r)}for(let e=0,s=t.children.length;e{t.exports=function(){return n(9855)('(()=>{var t={508:(t,e,r)=>{const{resize:a}=r(140);t.exports={buildImageList:t=>{const e=[];let r=100/Math.min(t.width,t.height);for(;;)if(e.push(r),r*=Math.pow(2,1/3),r>=.95){r=1;break}e.push(r),e.reverse();const i=[];for(let r=0;r{const e=Math.min(t.width,t.height),r=[],i=[];r.push(256/e),r.push(128/e);for(let e=0;e{const{Cumsum:a}=r(535),i=({image:t,cx:e,cy:r,sdThresh:a,imageDataCumsum:i,imageDataSqrCumsum:s})=>{if(e-6<0||e+6>=t.width)return null;if(r-6<0||r+6>=t.height)return null;let h=i.query(e-6,r-6,e+6,r+6);h/=169;let o=s.query(e-6,r-6,e+6,r+6);return o-=2*h*i.query(e-6,r-6,e+6,r+6),o+=169*h*h,o/169{const{image:e,cx:r,cy:a,vlen:i,tx:s,ty:h,imageDataCumsum:o,imageDataSqrCumsum:l}=t,{data:u,width:n,height:m}=e;if(r-6<0||r+6>=n)return null;if(a-6<0||a+6>=m)return null;let c=o.query(r-6,a-6,r+6,a+6),f=l.query(r-6,a-6,r+6,a+6),g=0,d=(a-6)*n+(r-6),p=(h-6)*n+(s-6),w=n-13;for(let t=0;t<13;t++){for(let t=0;t<13;t++)g+=u[d]*u[p],d+=1,p+=1;d+=w,p+=w}let M=o.query(s-6,h-6,s+6,h+6);M/=169,g-=M*c;let y=f-c*c/169;return 0==y?null:(y=Math.sqrt(y),1*g/(i*y))};t.exports={extract:t=>{const{data:e,width:r,height:h,scale:o}=t,l=[r*h];for(let t=0;t999&&(t=999),t<0&&(t=0),n[t]+=1,c+=1,l[a]=!0}}const f=.02*r*h;let g=999,d=0;for(;g>=0&&(d+=n[g],!(d>f));)g--;for(let t=0;tu&&(u=h,u>.95))break}if(u>.95)break}y[h]=u}return(t=>{let{image:e,featureMap:r,templateSize:a,searchSize:h,occSize:o,maxSimThresh:l,minSimThresh:u,sdThresh:n,imageDataCumsum:m,imageDataSqrCumsum:c}=t;const{data:f,width:g,height:d,scale:p}=e;o=Math.floor(Math.min(e.width,e.height)/10);const w=3*(2*a+1),M=Math.floor(g/w),y=Math.floor(d/w);let x=Math.floor(g/o)*Math.floor(d/o)+M*y;const q=[],C=new Float32Array(f.length);for(let t=0;th*h)continue;if(0===i&&0===a)continue;const o=s({image:e,vlen:p,cx:r+i,cy:f+a,tx:r,ty:f,imageDataCumsum:m,imageDataSqrCumsum:c});if(null!==o){if(oM&&(M=o,M>.99))break}}if(w.99)break}if(w.99)C[f*g+r]=1;else{q.push({x:r,y:f}),S+=1;for(let t=-o;t<=o;t++)for(let e=-o;e<=o;e++)f+t<0||f+t>=d||r+e<0||r+e>=g||(C[(f+t)*g+(r+e)]=1)}}return q})({image:t,featureMap:y,templateSize:6,searchSize:2,occSize:16,maxSimThresh:.9,minSimThresh:.2,sdThresh:8,imageDataCumsum:w,imageDataSqrCumsum:M})}}},535:t=>{t.exports={Cumsum:class{constructor(t,e,r){this.cumsum=[];for(let t=0;t0&&(i-=this.cumsum[e-1][r]),t>0&&(i-=this.cumsum[a][t-1]),t>0&&e>0&&(i+=this.cumsum[e-1][t-1]),i}}}},140:t=>{t.exports={downsampleBilinear:({image:t})=>{const{data:e,width:r,height:a}=t,i=Math.floor(r/2),s=Math.floor(a/2),h=new Float32Array(i*s),o=[0,1,r,r+1];for(let t=0;t{const{width:a,height:i,data:s}=t,h=2*t.width+(e?1:0),o=2*t.height+(r?1:0),l=new Float32Array(h*o);for(let t=0;t=a&&(u=a-1);for(let n=0;n=i&&(c=i-1);const f=(u-e)*(c-o)*s[m*a+r]+(u-e)*(o-m)*s[c*a+r]+(e-r)*(c-o)*s[m*a+u]+(e-r)*(o-m)*s[c*a+u];l[n*h+t]=f}}return{data:l,width:h,height:o}},resize:({image:t,ratio:e})=>{const r=Math.round(t.width*e),a=Math.round(t.height*e),i=new Uint8Array(r*a);for(let s=0;s=t.width&&(o=t.width-1);for(let l=0;l=t.height&&(u=t.height-1);let n=0,m=0;for(let e=h;e<=o;e++)for(let r=a;r<=u;r++)n+=1*t.data[r*t.width+e],m+=1;i[l*r+s]=Math.floor(n/m)}}return{data:i,width:r,height:a}}}}},e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={exports:{}};return t[a](i,i.exports,r),i.exports}(()=>{const{extract:t}=r(589),{buildTrackingImageList:e}=r(508);onmessage=t=>{const{data:r}=t;if("compile"===r.type){const{targetImages:t}=r,i=50/t.length;let s=0;const h=[];for(let r=0;r{s+=u,postMessage({type:"progress",percent:s})}));h.push(n)}postMessage({type:"compileDone",list:h})}};const a=(e,r)=>{const a=[];for(let i=0;i{t.exports=function(){return n(9855)('(()=>{var t={331:(t,e,r)=>{"use strict";r.r(e),r.d(e,{AbstractMatrix:()=>v,CHO:()=>tt,CholeskyDecomposition:()=>tt,EVD:()=>K,EigenvalueDecomposition:()=>K,LU:()=>H,LuDecomposition:()=>H,Matrix:()=>k,MatrixColumnSelectionView:()=>T,MatrixColumnView:()=>I,MatrixFlipColumnView:()=>A,MatrixFlipRowView:()=>q,MatrixRowSelectionView:()=>P,MatrixRowView:()=>C,MatrixSelectionView:()=>V,MatrixSubView:()=>N,MatrixTransposeView:()=>j,NIPALS:()=>et,Nipals:()=>et,QR:()=>$,QrDecomposition:()=>$,SVD:()=>L,SingularValueDecomposition:()=>L,WrapperMatrix1D:()=>z,WrapperMatrix2D:()=>F,correlation:()=>J,covariance:()=>B,default:()=>k,determinant:()=>X,inverse:()=>O,linearDependencies:()=>Q,pseudoInverse:()=>W,solve:()=>U,wrap:()=>D});const s=Object.prototype.toString;function o(t){return s.call(t).endsWith("Array]")}const n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;lh&&(h=t[l]);return h},i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;l1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");if(void 0!==r.output){if(!o(r.output))throw new TypeError("output option must be an array if specified");e=r.output}else e=new Array(t.length);var s=i(t),h=n(t);if(s===h)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var l=r.min,u=void 0===l?r.autoMinMax?s:0:l,a=r.max,c=void 0===a?r.autoMinMax?h:1:a;if(u>=c)throw new RangeError("min option must be smaller than max option");for(var f=(c-u)/(h-s),m=0;ms)throw new RangeError("Row index out of range")}function m(t,e,r){let s=r?t.columns:t.columns-1;if(e<0||e>s)throw new RangeError("Column index out of range")}function g(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function w(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function p(t,e,r){return{row:d(t,e),column:y(t,r)}}function d(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for row indices");if(e.some((e=>e<0||e>=t.rows)))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function y(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for column indices");if(e.some((e=>e<0||e>=t.columns)))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function M(t,e,r,s,o){if(5!==arguments.length)throw new RangeError("expected 4 arguments");if(x("startRow",e),x("endRow",r),x("startColumn",s),x("endColumn",o),e>r||s>o||e<0||e>=t.rows||r<0||r>=t.rows||s<0||s>=t.columns||o<0||o>=t.columns)throw new RangeError("Submatrix indices are out of range")}function b(t,e=0){let r=[];for(let s=0;s=o)throw new RangeError("min must be smaller than max");let i=o-s,h=new k(t,e);for(let r=0;rr?(o=!0,r=e):(s=!1,o=!0);t++}return s}isReducedEchelonForm(){let t=0,e=0,r=-1,s=!0,o=!1;for(;tr?(o=!0,r=e):(s=!1,o=!0);for(let r=e+1;rt.get(s,r)&&(s=o);if(0===t.get(s,r))r++;else{t.swapRows(e,s);let o=t.get(e,r);for(let s=r;s=0;)if(0===t.maxRow(s))s--;else{let o=0,n=!1;for(;ot&&(t=this.get(e,r));return t}maxIndex(){E(this);let t=this.get(0,0),e=[0,0];for(let r=0;rt&&(t=this.get(r,s),e[0]=r,e[1]=s);return e}min(){if(this.isEmpty())return NaN;let t=this.get(0,0);for(let e=0;ee&&(e=this.get(t,r));return e}maxRowIndex(t){f(this,t),E(this);let e=this.get(t,0),r=[t,0];for(let s=1;se&&(e=this.get(t,s),r[1]=s);return r}minRow(t){if(f(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;re&&(e=this.get(r,t));return e}maxColumnIndex(t){m(this,t),E(this);let e=this.get(0,t),r=[0,t];for(let s=1;se&&(e=this.get(s,t),r[0]=s);return r}minColumn(t){if(m(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;t0&&h(o,{min:e,max:r,output:o}),s.setRow(t,o)}return s}scaleColumns(t={}){if("object"!=typeof t)throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;tr||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let s=new k(t.length,r-e+1);for(let o=0;o=this.rows)throw new RangeError(`Row index out of range: ${t[o]}`);s.set(o,n-e,this.get(t[o],n))}return s}subMatrixColumn(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let s=new k(r-e+1,t.length);for(let o=0;o=this.columns)throw new RangeError(`Column index out of range: ${t[o]}`);s.set(n-e,o,this.get(n,t[o]))}return s}setSubMatrix(t,e,r){if((t=k.checkMatrix(t)).isEmpty())return this;M(this,e,e+t.rows-1,r,r+t.columns-1);for(let s=0;s=0){if(this.data=[],!(Number.isInteger(e)&&e>=0))throw new TypeError("nColumns must be a positive integer");for(let r=0;r>t);return this},t.prototype.signPropagatingRightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>t.get(e,r));return this},t.signPropagatingRightShift=function(t,r){return new e(t).signPropagatingRightShift(r)},t.prototype.rightShift=function(t){return"number"==typeof t?this.rightShiftS(t):this.rightShiftM(t)},t.prototype.rightShiftS=function(t){for(let e=0;e>>t);return this},t.prototype.rightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>>t.get(e,r));return this},t.rightShift=function(t,r){return new e(t).rightShift(r)},t.prototype.zeroFillRightShift=t.prototype.rightShift,t.prototype.zeroFillRightShiftS=t.prototype.rightShiftS,t.prototype.zeroFillRightShiftM=t.prototype.rightShiftM,t.zeroFillRightShift=t.rightShift,t.prototype.not=function(){for(let t=0;tMath.abs(l[o])&&(o=e);if(o!==r){for(s=0;s=0;o--){for(s=0;se?s.set(o,e,t.get(o,e)):o===e?s.set(o,e,1):s.set(o,e,0);return s}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,s=new k(e,r);for(let o=0;oMath.abs(e)?(r=e/t,Math.abs(t)*Math.sqrt(1+r*r)):0!==e?(r=t/e,Math.abs(e)*Math.sqrt(1+r*r)):0}class ${constructor(t){let e,r,s,o,n=(t=F.checkMatrix(t)).clone(),i=t.rows,h=t.columns,l=new Float64Array(h);for(s=0;s=0;n--){for(o=0;o=0;r--){for(t=0;t=0;t--)if(0!==m[t]){for(let e=t+1;e=0;t--){if(t0;){let t,e;for(t=E-2;t>=-1&&-1!==t;t--){const e=Number.MIN_VALUE+R*Math.abs(m[t]+Math.abs(m[t+1]));if(Math.abs(p[t])<=e||Number.isNaN(p[t])){p[t]=0;break}}if(t===E-2)e=4;else{let r;for(r=E-1;r>=t&&r!==t;r--){let e=(r!==E?Math.abs(p[r]):0)+(r!==t+1?Math.abs(p[r-1]):0);if(Math.abs(m[r])<=R*e){m[r]=0;break}}r===t?e=3:r===E-1?e=1:(e=2,t=r)}switch(t++,e){case 1:{let e=p[E-2];p[E-2]=0;for(let r=E-2;r>=t;r--){let o=_(m[r],e),n=m[r]/o,i=e/o;if(m[r]=o,r!==t&&(e=-i*p[r-1],p[r-1]=n*p[r-1]),u)for(let t=0;t=m[t+1]);){let e=m[t];if(m[t]=m[t+1],m[t+1]=e,u&&te&&o.set(n,r,t.get(n,r)/this.s[r]);let n=this.U,i=n.rows,h=n.columns,l=new k(r,i);for(let t=0;tt&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return k.diag(this.s)}}function O(t,e=!1){return t=F.checkMatrix(t),e?new L(t).inverse():U(t,k.eye(t.rows))}function U(t,e,r=!1){return t=F.checkMatrix(t),e=F.checkMatrix(e),r?new L(t).solve(e):t.isSquare()?new H(t).solve(e):new $(t).solve(e)}function X(t){if((t=k.checkMatrix(t)).isSquare()){if(0===t.columns)return 1;let e,r,s,o;if(2===t.columns)return e=t.get(0,0),r=t.get(0,1),s=t.get(1,0),o=t.get(1,1),e*o-r*s;if(3===t.columns){let o,n,i;return o=new V(t,[1,2],[1,2]),n=new V(t,[1,2],[0,2]),i=new V(t,[1,2],[0,1]),e=t.get(0,0),r=t.get(0,1),s=t.get(0,2),e*X(o)-r*X(n)+s*X(i)}return new H(t).determinant}throw Error("determinant can only be calculated for a square matrix")}function Y(t,e){let r=[];for(let s=0;so)return new Array(e.rows+1).fill(0);{let t=e.addRow(r,[0]);for(let e=0;ee?n[t]=1/n[t]:n[t]=0;return o.mmul(k.diag(n).mmul(s.transpose()))}function B(t,e=t,r={}){t=new k(t);let s=!1;if("object"!=typeof e||k.isMatrix(e)||Array.isArray(e)?e=new k(e):(r=e,e=t,s=!0),t.rows!==e.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:o=!0}=r;o&&(t=t.center("column"),s||(e=e.center("column")));const n=t.transpose().mmul(e);for(let e=0;e0;h--){for(c=0,i=0,u=0;u0&&(n=-n),e[h]=c*n,i-=o*n,r[h-1]=o-n,l=0;lu){b=0;do{for(b+=1,o=r[u],c=(r[u+1]-o)/(2*e[u]),f=_(c,1),c<0&&(f=-f),r[u]=e[u]/(c+f),r[u+1]=e[u]*(c+f),m=r[u+1],n=o-r[u],i=u+2;i=u;i--)for(p=w,w=g,M=y,o=g*e[i],n=g*c,f=_(c,e[i]),e[i+1]=y*f,y=e[i]/f,g=c/f,c=g*r[i]-y*o,r[i+1]=n+y*(g*o+y*r[i]),l=0;lv*E)}r[u]=r[u]+x,e[u]=0}for(i=0;i=u;h--)r[h]=e.get(h,u-1)/a,i+=r[h]*r[h];for(n=Math.sqrt(i),r[u]>0&&(n=-n),i-=r[u]*n,r[u]=r[u]-n,l=u;l=u;h--)o+=r[h]*e.get(h,l);for(o/=i,h=u;h<=c;h++)e.set(h,l,e.get(h,l)-o*r[h])}for(h=0;h<=c;h++){for(o=0,l=c;l>=u;l--)o+=r[l]*e.get(h,l);for(o/=i,l=u;l<=c;l++)e.set(h,l,e.get(h,l)-o*r[l])}r[u]=a*r[u],e.set(u,u-1,a*n)}}for(h=0;h=1;u--)if(0!==e.get(u,u-1)){for(h=u+1;h<=c;h++)r[h]=e.get(h,u-1);for(l=u;l<=c;l++){for(n=0,h=u;h<=c;h++)n+=r[h]*s.get(h,l);for(n=n/r[u]/e.get(u,u-1),h=u;h<=c;h++)s.set(h,l,s.get(h,l)+n*r[h])}}}(n,t,e,i),function(t,e,r,s,o){let n,i,h,l,u,a,c,f,m,g,w,p,d,y,M,b=t-1,x=t-1,E=Number.EPSILON,v=0,S=0,k=0,R=0,I=0,T=0,A=0,q=0;for(n=0;nx)&&(r[n]=o.get(n,n),e[n]=0),i=Math.max(n-1,0);i=0;){for(l=b;l>0&&(T=Math.abs(o.get(l-1,l-1))+Math.abs(o.get(l,l)),0===T&&(T=S),!(Math.abs(o.get(l,l-1))=0){for(A=k>=0?k+A:k-A,r[b-1]=f+A,r[b]=r[b-1],0!==A&&(r[b]=f-c/A),e[b-1]=0,e[b]=0,f=o.get(b,b-1),T=Math.abs(f)+Math.abs(A),k=f/T,R=A/T,I=Math.sqrt(k*k+R*R),k/=I,R/=I,i=b-1;i0)){for(T=Math.sqrt(T),m=l&&(A=o.get(u,u),I=f-A,T=m-A,k=(I*T-c)/o.get(u+1,u)+o.get(u,u+1),R=o.get(u+1,u+1)-A-I-T,I=o.get(u+2,u+1),T=Math.abs(k)+Math.abs(R)+Math.abs(I),k/=T,R/=T,I/=T,u!==l)&&!(Math.abs(o.get(u,u-1))*(Math.abs(R)+Math.abs(I))u+2&&o.set(n,n-3,0);for(h=u;h<=b-1&&(y=h!==b-1,h!==u&&(k=o.get(h,h-1),R=o.get(h+1,h-1),I=y?o.get(h+2,h-1):0,f=Math.abs(k)+Math.abs(R)+Math.abs(I),0!==f&&(k/=f,R/=f,I/=f)),0!==f);h++)if(T=Math.sqrt(k*k+R*R+I*I),k<0&&(T=-T),0!==T){for(h!==u?o.set(h,h-1,-T*f):l!==u&&o.set(h,h-1,-o.get(h,h-1)),k+=T,f=k/T,m=R/T,A=I/T,R/=k,I/=k,i=h;i=0;b--)if(k=r[b],R=e[b],0===R)for(l=b,o.set(b,b,1),n=b-1;n>=0;n--){for(c=o.get(n,n)-k,I=0,i=l;i<=b;i++)I+=o.get(n,i)*o.get(i,b);if(e[n]<0)A=c,T=I;else if(l=n,0===e[n]?o.set(n,b,0!==c?-I/c:-I/(E*S)):(f=o.get(n,n+1),m=o.get(n+1,n),R=(r[n]-k)*(r[n]-k)+e[n]*e[n],a=(f*T-A*I)/R,o.set(n,b,a),o.set(n+1,b,Math.abs(f)>Math.abs(A)?(-I-c*a)/f:(-T-m*a)/A)),a=Math.abs(o.get(n,b)),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b,o.get(i,b)/a)}else if(R<0)for(l=b-1,Math.abs(o.get(b,b-1))>Math.abs(o.get(b-1,b))?(o.set(b-1,b-1,R/o.get(b,b-1)),o.set(b-1,b,-(o.get(b,b)-k)/o.get(b,b-1))):(M=Z(0,-o.get(b-1,b),o.get(b-1,b-1)-k,R),o.set(b-1,b-1,M[0]),o.set(b-1,b,M[1])),o.set(b,b-1,0),o.set(b,b,1),n=b-2;n>=0;n--){for(g=0,w=0,i=l;i<=b;i++)g+=o.get(n,i)*o.get(i,b-1),w+=o.get(n,i)*o.get(i,b);if(c=o.get(n,n)-k,e[n]<0)A=c,I=g,T=w;else if(l=n,0===e[n]?(M=Z(-g,-w,c,R),o.set(n,b-1,M[0]),o.set(n,b,M[1])):(f=o.get(n,n+1),m=o.get(n+1,n),p=(r[n]-k)*(r[n]-k)+e[n]*e[n]-R*R,d=2*(r[n]-k)*R,0===p&&0===d&&(p=E*S*(Math.abs(c)+Math.abs(R)+Math.abs(f)+Math.abs(m)+Math.abs(A))),M=Z(f*I-A*g+R*w,f*T-A*w-R*g,p,d),o.set(n,b-1,M[0]),o.set(n,b,M[1]),Math.abs(f)>Math.abs(A)+Math.abs(R)?(o.set(n+1,b-1,(-g-c*o.get(n,b-1)+R*o.get(n,b))/f),o.set(n+1,b,(-w-c*o.get(n,b)-R*o.get(n,b-1))/f)):(M=Z(-I-m*o.get(n,b-1),-T-m*o.get(n,b),A,R),o.set(n+1,b-1,M[0]),o.set(n+1,b,M[1]))),a=Math.max(Math.abs(o.get(n,b-1)),Math.abs(o.get(n,b))),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b-1,o.get(i,b-1)/a),o.set(i,b,o.get(i,b)/a)}for(n=0;nx)for(i=n;i=0;i--)for(n=0;n<=x;n++){for(A=0,h=0;h<=Math.min(i,x);h++)A+=s.get(n,h)*o.get(h,i);s.set(n,i,A)}}}(n,l,h,i,t)}this.n=n,this.e=l,this.d=h,this.V=i}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t,e,r=this.n,s=this.e,o=this.d,n=new k(r,r);for(t=0;t0?n.set(t,t+1,s[t]):s[t]<0&&n.set(t,t-1,s[t])}return n}}function Z(t,e,r,s){let o,n;return Math.abs(r)>Math.abs(s)?(o=s/r,n=r+o*s,[(t+o*e)/n,(e-o*t)/n]):(o=r/s,n=s+o*r,[(o*t+e)/n,(o*e-t)/n])}class tt{constructor(t){if(!(t=F.checkMatrix(t)).isSymmetric())throw new Error("Matrix is not symmetric");let e,r,s,o=t,n=o.rows,i=new k(n,n),h=!0;for(r=0;r0,i.set(r,r,Math.sqrt(Math.max(t,0))),s=r+1;s=0;n--)for(o=0;on;e++)u=t.transpose().mmul(i).div(i.transpose().mmul(i).get(0,0)),u=u.div(u.norm()),h=t.mmul(u).div(u.transpose().mmul(u).get(0,0)),e>0&&(c=h.clone().sub(a).pow(2).sum()),a=h.clone(),r?(l=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),l=l.div(l.norm()),i=r.mmul(l).div(l.transpose().mmul(l).get(0,0))):i=h;if(r){let e=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));e=e.div(e.norm());let s=t.clone().sub(h.clone().mmul(e.transpose())),o=i.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),n=r.clone().sub(h.clone().mulS(o.get(0,0)).mmul(l.transpose()));this.t=h,this.p=e.transpose(),this.w=u.transpose(),this.q=l,this.u=i,this.s=h.transpose().mmul(h),this.xResidual=s,this.yResidual=n,this.betas=o}else this.w=u.transpose(),this.s=h.transpose().mmul(h).sqrt(),this.t=s?h.clone().div(this.s.get(0,0)):h,this.xResidual=t.sub(h.mmul(u.transpose()))}}},842:(t,e,r)=>{"use strict";r.d(e,{Z:()=>s});class s{constructor(t=[],e=o){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,s=e[t];for(;t>0;){const o=t-1>>1,n=e[o];if(r(s,n)>=0)break;e[t]=n,t=o}e[t]=s}_down(t){const{data:e,compare:r}=this,s=this.length>>1,o=e[t];for(;t=0)break;e[t]=n,t=s}e[t]=o}}function o(t,e){return te?1:0}},902:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{solveHomography:n}=r(450);t.exports={estimate:({screenCoords:t,worldCoords:e,projectionTransform:r})=>{const i=n(e.map((t=>[t.x,t.y])),t.map((t=>[t.x,t.y]))),h=new s([[i[0],i[1],i[2]],[i[3],i[4],i[5]],[i[6],i[7],i[8]]]),l=new s(r),u=o(l).mmul(h).to1DArray(),a=Math.sqrt(u[0]*u[0]+u[3]*u[3]+u[6]*u[6]),c=Math.sqrt(u[1]*u[1]+u[4]*u[4]+u[7]*u[7]),f=(a+c)/2,m=[];m[0]=u[0]/a,m[3]=u[3]/a,m[6]=u[6]/a,m[1]=u[1]/c,m[4]=u[4]/c,m[7]=u[7]/c,m[2]=m[3]*m[7]-m[6]*m[4],m[5]=m[6]*m[1]-m[0]*m[7],m[8]=m[0]*m[4]-m[1]*m[3];const g=Math.sqrt(m[2]*m[2]+m[5]*m[5]+m[8]*m[8]);m[2]/=g,m[5]/=g,m[8]/=g;const w=[];return w[0]=u[2]/f,w[1]=u[5]/f,w[2]=u[8]/f,[[m[0],m[1],m[2],w[0]],[m[3],m[4],m[5],w[1]],[m[6],m[7],m[8],w[2]]]}}},421:(t,e,r)=>{const{estimate:s}=r(902),{refineEstimate:o}=r(269);t.exports={Estimator:class{constructor(t){this.projectionTransform=t}estimate({screenCoords:t,worldCoords:e}){return s({screenCoords:t,worldCoords:e,projectionTransform:this.projectionTransform})}refineEstimate({initialModelViewTransform:t,worldCoords:e,screenCoords:r}){return o({initialModelViewTransform:t,worldCoords:e,screenCoords:r,projectionTransform:this.projectionTransform})}}}},269:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{normalizePoints:n,applyModelViewProjectionTransform:i,buildModelViewProjectionTransform:h,computeScreenCoordiate:l}=r(420);let u=[[],[],[]],a=[[],[]],c=[[],[],[]];const f=({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s,inlierProb:o})=>{const n=o<1;let i=t,u=0,a=0,c=new Array(r.length),f=new Array(r.length),p=new Array(r.length),d=new Array(r.length);for(let t=0;t<=10;t++){const y=h(e,i);for(let t=0;tt-e)),M=Math.max(4*f[t],16);for(let t=0;tM?a+=M/6:a+=M/6*(1-(1-f[t]/M)*(1-f[t]/M)*(1-f[t]/M))}else for(let t=0;t0&&a/u>.99)break;if(10===t)break;u=a;const b=[],x=[];for(let t=0;tM)continue;const s=w({modelViewProjectionTransform:y,modelViewTransform:i,projectionTransform:e,worldCoord:r[t]});if(n){const e=(1-c[t]/M)*(1-c[t]/M);for(let t=0;t<2;t++)for(let r=0;r<6;r++)s[t][r]*=e;b.push([p[t]*e]),b.push([d[t]*e])}else b.push([p[t]]),b.push([d[t]]);for(let t=0;t{let r,s,o,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];n<1e-6?(r=1,s=0,o=0,n=0):(n=Math.sqrt(n),r=e[0]/n,s=e[1]/n,o=e[2]/n);const i=Math.cos(n),h=Math.sin(n),l=1-i;u[0][0]=r*r*l+i,u[0][1]=r*s*l-o*h,u[0][2]=r*o*l+s*h,u[0][3]=e[3],u[1][0]=s*r*l+o*h,u[1][1]=s*s*l+i,u[1][2]=s*o*l-r*h,u[1][3]=e[4],u[2][0]=o*r*l-s*h,u[2][1]=o*s*l+r*h,u[2][2]=o*o*l+i,u[2][3]=e[5];const a=[[],[],[]];for(let e=0;e<3;e++){for(let r=0;r<4;r++)a[e][r]=t[e][0]*u[0][r]+t[e][1]*u[1][r]+t[e][2]*u[2][r];a[e][3]+=t[e][3]}return a},g=({dU:t,J_U_S:e})=>{const r=new s(e),n=new s(t),i=r.transpose(),h=i.mmul(r),l=i.mmul(n);let u;try{u=o(h)}catch(t){return null}return u.mmul(l).to1DArray()},w=({modelViewProjectionTransform:t,modelViewTransform:e,projectionTransform:r,worldCoord:s})=>{const o=e,{x:n,y:h,z:l}=s,u=i(t,n,h,l),f=u.z*u.z;a[0][0]=r[0][0]*u.z/f,a[0][1]=r[0][1]*u.z/f,a[0][2]=(r[0][2]*u.z-r[2][2]*u.x)/f,a[1][0]=r[1][0]*u.z/f,a[1][1]=r[1][1]*u.z/f,a[1][2]=(r[1][2]*u.z-r[2][2]*u.y)/f,c[0][0]=o[0][2]*h,c[0][1]=-o[0][2]*n,c[0][2]=o[0][1]*n-o[0][0]*h,c[0][3]=o[0][0],c[0][4]=o[0][1],c[0][5]=o[0][2],c[1][0]=o[1][2]*h,c[1][1]=-o[1][2]*n,c[1][2]=o[1][1]*n-o[1][0]*h,c[1][3]=o[1][0],c[1][4]=o[1][1],c[1][5]=o[1][2],c[2][0]=o[2][2]*h,c[2][1]=-o[2][2]*n,c[2][2]=o[2][1]*n-o[2][0]*h,c[2][3]=o[2][0],c[2][4]=o[2][1],c[2][5]=o[2][2];const m=[[],[]];for(let t=0;t<2;t++)for(let e=0;e<6;e++){m[t][e]=0;for(let r=0;r<3;r++)m[t][e]+=a[t][r]*c[r][e]}return m};t.exports={refineEstimate:({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s})=>{let o=0,n=0;for(let t=0;t{const e=(t,e,r,s)=>({x:t[0][0]*e+t[0][1]*r+t[0][3],y:t[1][0]*e+t[1][1]*r+t[1][3],z:t[2][0]*e+t[2][1]*r+t[2][3]});t.exports={buildModelViewProjectionTransform:(t,e)=>[[t[0][0]*e[0][0]+t[0][2]*e[2][0],t[0][0]*e[0][1]+t[0][2]*e[2][1],t[0][0]*e[0][2]+t[0][2]*e[2][2],t[0][0]*e[0][3]+t[0][2]*e[2][3]],[t[1][1]*e[1][0]+t[1][2]*e[2][0],t[1][1]*e[1][1]+t[1][2]*e[2][1],t[1][1]*e[1][2]+t[1][2]*e[2][2],t[1][1]*e[1][3]+t[1][2]*e[2][3]],[e[2][0],e[2][1],e[2][2],e[2][3]]],applyModelViewProjectionTransform:e,computeScreenCoordiate:(t,r,s,o)=>{const{x:n,y:i,z:h}=e(t,r,s);return{x:n/h,y:i/h}}}},233:t=>{t.exports={compute:t=>{const{v1:e,v2:r}=t;let s=0;for(let t=0;t>>0;s+=(n=void 0,((n=((n=((n=((n=(o=i)-(o>>1&1431655765))>>2&858993459)+(858993459&n))>>4)+n&252645135)>>8)+n&16711935)>>16)+n&65535)}var o,n;return s}}},934:t=>{const e=({querypoint:t,keypoint:e,keycenterX:r,keycenterY:s,scaleOneOverLogK:o})=>{let n=t.angle-e.angle;n<=-Math.PI?n+=2*Math.PI:n>Math.PI&&(n-=2*Math.PI);const i=t.scale/e.scale,h=i*Math.cos(n),l=i*Math.sin(n),u=[h,-l,l,h],a=[u[0]*e.x+u[1]*e.y,u[2]*e.x+u[3]*e.y],c=t.x-a[0],f=t.y-a[1];return{x:u[0]*r+u[1]*s+c,y:u[2]*r+u[3]*s+f,angle:n,scale:Math.log(i)*o}};t.exports={computeHoughMatches:t=>{const{keywidth:r,keyheight:s,querywidth:o,queryheight:n,matches:i}=t,h=1.2*o,l=-h,u=1.2*n,a=-u,c=12,f=1/Math.log(10),m=Math.max(r,s),g=Math.floor(r/2),w=Math.floor(s/2),p=[];for(let t=0;tt-e));const d=.25*p[Math.floor(p.length/2)-(p.length%2==0?1:0)-1],y=Math.max(5,Math.ceil((h-l)/d)),M=Math.max(5,Math.ceil((u-a)/d)),b=y*M,x=b*c,E=[],v=[],S={};for(let t=0;t=h||n=u||p<=-Math.PI||p>Math.PI||m<-1||m>=1){E[t]=!1;continue}let d=y*(o-l)/(h-l),k=M*(n-a)/(u-a),R=c*(p+Math.PI)/(2*Math.PI),I=10*(m- -1)/2;v[t]={binX:d,binY:k,binAngle:R,binScale:I};let T=Math.floor(d-.5),A=Math.floor(k-.5),q=Math.floor(I-.5),C=(Math.floor(R-.5)+c)%c;if(T<0||T+1>=y||A<0||A+1>=M||q<0||q+1>=10)E[t]=!1;else{for(let t=0;t<2;t++){let e=T+t;for(let t=0;t<2;t++){let r=A+t;for(let t=0;t<2;t++){let s=(C+t)%c;for(let t=0;t<2;t++){const o=e+r*y+s*b+(q+t)*x;void 0===S[o]&&(S[o]=0),S[o]+=1}}}}E[t]=!0}}let k=0,R=-1;if(Object.keys(S).forEach((t=>{S[t]>k&&(k=S[t],R=t)})),k<3)return[];const I=Math.floor(R%x%b%y),T=Math.floor((R-I)%x%b/y),A=Math.floor((R-I-T*y)%x/b),q=Math.floor((R-I-T*y-A*b)/x),C=[];for(let t=0;t=1)continue;if(Math.abs(e.binY-(T+.5))>=1)continue;if(Math.abs(e.binScale-(q+.5))>=1)continue;const r=Math.abs(e.binAngle-(A+.5));Math.min(r,c-r)>=1||C.push(i[t])}return C}}},582:(t,e,r)=>{const{match:s}=r(492);t.exports={Matcher:class{constructor(t,e,r=!1){this.queryWidth=t,this.queryHeight=e,this.debugMode=r}matchDetection(t,e){let r={frames:[]},o=null;for(let n=0;n{const s=r(842).Z,{compute:o}=r(233),{computeHoughMatches:n}=r(934),{computeHomography:i}=r(838),{multiplyPointHomographyInhomogenous:h,matrixInverse33:l}=r(289),u=({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i})=>{if(t.leaf){for(let e=0;e0){const{node:t,d:o}=s.pop();u({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i+=1})}},a=t=>{const{H:e,matches:r,threshold:s}=t,o=s*s,n=[];for(let t=0;t{let m={};const g=[];for(let r=0;rt.d-e.d));u({node:h,keypoints:i,querypoint:n,queue:a,keypointIndexes:l,numPop:0});let c=-1,f=Number.MAX_SAFE_INTEGER,m=Number.MAX_SAFE_INTEGER;for(let t=0;t[t.keypoint.x,t.keypoint.y])),dstPoints:w.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===p)return{debugExtra:m};const d=a({H:p,matches:w,threshold:3});if(f&&(m.inlierMatches=d),d.length<6)return{debugExtra:m};const y=l(p,1e-5),M=[];for(let r=0;r100)continue;const r=o({v1:e.descriptors,v2:s.descriptors});r[t.keypoint.x,t.keypoint.y])),dstPoints:b.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===x)return{debugExtra:m};const E=a({H:x,matches:b,threshold:3});return f&&(m.inlierMatches2=E),{H:x,matches:E,debugExtra:m}}}},838:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{createRandomizer:n}=r(48),{quadrilateralConvex:i,matrixInverse33:h,smallestTriangleArea:l,multiplyPointHomographyInhomogenous:u,checkThreePointsConsistent:a,checkFourPointsConsistent:c,determinant:f}=r(289),{solveHomography:m}=r(450),g=({H:t,testPoints:e,keyframe:r})=>{const s=h(t,1e-5);if(null===s)return!1;const o=[];for(let t=0;t{const e=1/t[8],r=[];for(let s=0;s<8;s++)r[s]=t[s]*e;return r[8]=1,r},p=({H:t,srcPoint:e,dstPoint:r,oneOverScale2:s})=>{const o=u(e,t),n=[o[0]-r[0],o[1]-r[1]];return Math.log(1+(n[0]*n[0]+n[1]*n[1])*s)},d=({H:t,testPoints:e})=>{const r=[];for(let s=0;s{const{srcPoints:e,dstPoints:r,keyframe:s,quickMode:o}=t,i=[[0,0],[s.width,0],[s.width,s.height],[0,s.height]];if(e.length<4)return null;const h=Math.min(10,e.length),l=n(),u=[];for(let t=0;t2;t+=x){x=Math.min(h,e.length-t);let s=t+x;for(let o=0;ot.cost-e.cost)),b.splice(-Math.floor((b.length+1)/2))}let E=null;for(let t=0;t{const e=(t,e,r)=>(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0]),r=t=>{const e=t[4]*t[8]-t[5]*t[7],r=t[3]*t[8]-t[5]*t[6],s=t[3]*t[7]-t[4]*t[6];return t[0]*e-t[1]*r+t[2]*s},s=(t,e)=>[t[0]-e[0],t[1]-e[1]],o=(t,e)=>{const r=t[0]*e[1]-t[1]*e[0];return.5*Math.abs(r)};t.exports={matrixInverse33:(t,e)=>{const s=r(t);if(Math.abs(s)<=e)return null;const o=1/s;return[(t[4]*t[8]-t[5]*t[7])*o,(t[2]*t[7]-t[1]*t[8])*o,(t[1]*t[5]-t[2]*t[4])*o,(t[5]*t[6]-t[3]*t[8])*o,(t[0]*t[8]-t[2]*t[6])*o,(t[2]*t[3]-t[0]*t[5])*o,(t[3]*t[7]-t[4]*t[6])*o,(t[1]*t[6]-t[0]*t[7])*o,(t[0]*t[4]-t[1]*t[3])*o]},matrixMul33:(t,e)=>{const r=[];return r[0]=t[0]*e[0]+t[1]*e[3]+t[2]*e[6],r[1]=t[0]*e[1]+t[1]*e[4]+t[2]*e[7],r[2]=t[0]*e[2]+t[1]*e[5]+t[2]*e[8],r[3]=t[3]*e[0]+t[4]*e[3]+t[5]*e[6],r[4]=t[3]*e[1]+t[4]*e[4]+t[5]*e[7],r[5]=t[3]*e[2]+t[4]*e[5]+t[5]*e[8],r[6]=t[6]*e[0]+t[7]*e[3]+t[8]*e[6],r[7]=t[6]*e[1]+t[7]*e[4]+t[8]*e[7],r[8]=t[6]*e[2]+t[7]*e[5]+t[8]*e[8],r},quadrilateralConvex:(t,r,s,o)=>{const n=e(t,r,s)<=0;return e(r,s,o)<=0===n&&e(s,o,t)<=0===n&&e(o,t,r)<=0===n},smallestTriangleArea:(t,e,r,n)=>{const i=s(e,t),h=s(r,t),l=s(n,t),u=s(e,r),a=s(n,r),c=o(i,h),f=o(h,l),m=o(i,l),g=o(u,a);return Math.min(Math.min(Math.min(c,f),m),g)},multiplyPointHomographyInhomogenous:(t,e)=>{const r=e[6]*t[0]+e[7]*t[1]+e[8],s=[];return s[0]=(e[0]*t[0]+e[1]*t[1]+e[2])/r,s[1]=(e[3]*t[0]+e[4]*t[1]+e[5])/r,s},checkThreePointsConsistent:(t,r,s,o,n,i)=>e(t,r,s)>0==e(o,n,i)>0,checkFourPointsConsistent:(t,r,s,o,n,i,h,l)=>e(t,r,s)>0==e(n,i,h)>0&&e(r,s,o)>0==e(i,h,l)>0&&e(s,o,t)>0==e(h,l,n)>0&&e(o,t,r)>0==e(l,n,i)>0,determinant:r}},450:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),n=t=>{let e=0,r=0;for(let s=0;s{const{normPoints:r,param:i}=n(t),{normPoints:h,param:l}=n(e),u=h.length,a=[],c=[];for(let t=0;t{const s=r.s*r.meanX,o=r.s*r.meanY,n=[t[0]+s*t[6],t[1]+s*t[7],(t[0]+s*t[6])*-e.meanX+(t[1]+s*t[7])*-e.meanY+(t[2]+s)/e.s,t[3]+o*t[6],t[4]+o*t[7],(t[3]+o*t[6])*-e.meanX+(t[4]+o*t[7])*-e.meanY+(t[5]+o)/e.s,r.s*t[6],r.s*t[7],r.s*t[6]*-e.meanX+r.s*t[7]*-e.meanY+r.s/e.s];for(let t=0;t<9;t++)n[t]=n[t]/n[8];return n})(o(n).mmul(h).to1DArray(),i,l)}catch(t){return null}}}},48:t=>{t.exports={createRandomizer:()=>({seed:1234,arrayShuffle(t){const{arr:e,sampleSize:r}=t;for(let t=0;t>16&32767;r%=e.length;let s=e[t];e[t]=e[r],e[r]=s}},nextInt(t){this.seed=(214013*this.seed+2531011)%(1<<31);let e=this.seed>>16&32767;return e%=t,e}})}}},e={};function r(s){if(e[s])return e[s].exports;var o=e[s]={exports:{}};return t[s](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var s in e)r.o(e,s)&&!r.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{const{Matcher:t}=r(582),{Estimator:e}=r(421);let s=null,o=null,n=!1,i=null,h=null;onmessage=r=>{const{data:l}=r;if("setup"===l.type)s=l.projectionTransform,o=l.matchingDataList,n=l.debugMode,i=new t(l.inputWidth,l.inputHeight,n),h=new e(l.projectionTransform);else if("match"===l.type){const t=l.targetIndexes;let e=-1,r=null,s=null;for(let n=0;n{"use strict";var e=window.URL||window.webkitURL;t.exports=function(t,n){try{try{var r;try{(r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(t),r=r.getBlob()}catch(e){r=new Blob([t])}return new Worker(e.createObjectURL(r))}catch(e){return new Worker("data:application/javascript,"+encodeURIComponent(t))}}catch(t){if(!n)throw Error("Inline worker is not supported");return new Worker(n)}}},5217:(t,e,n)=>{const r=n(383),{Detector:s}=n(6416),{buildImageList:i,buildTrackingImageList:a}=n(7508),{build:o}=n(723),l=n(1113),u=n(4563),c=async(t,e)=>{const n=[];for(let r=0;r{const t=u.tensor(i.data,[i.data.length],"float32").reshape([i.height,i.width]),{featurePoints:s}=a.detect(t),l=s.filter((t=>t.maxima)),c=s.filter((t=>!t.maxima)),h=o({points:l}),d=o({points:c});n.push({maximaPoints:l,minimaPoints:c,maximaPointsCluster:h,minimaPointsCluster:d,width:i.width,height:i.height,scale:i.scale}),e(r)}))}return n};t.exports={Compiler:class{constructor(){this.data=null}compileImageTargets(t,e){return new Promise((async(n,s)=>{const o=[];for(let e=0;e{u+=s,e(u)}));this.data.push({targetImage:n,imageList:r,matchingData:a})}for(let t=0;t{const s=new r;s.onmessage=n=>{"progress"===n.data.type?e(50+n.data.percent):"compileDone"===n.data.type&&t(n.data.list)},s.postMessage({type:"compile",targetImages:o})}));for(let t=0;t{const r=n(4563),s=n(1077),{Tracker:i}=n(6417),{CropDetector:a}=n(7051),{Compiler:o}=n(5217),{InputLoader:l}=n(7325),{OneEuroFilter:u}=n(344);t.exports={Controller:class{constructor({inputWidth:t,inputHeight:e,onUpdate:n=null,debugMode:r=!1,maxTrack:i=1,warmupTolerance:o=null,missTolerance:u=null,filterMinCF:c=null,filterBeta:h=null}){this.inputWidth=t,this.inputHeight=e,this.maxTrack=i,this.filterMinCF=null===c?.001:c,this.filterBeta=null===h?1e3:h,this.warmupTolerance=null===o?5:o,this.missTolerance=null===u?5:u,this.cropDetector=new a(this.inputWidth,this.inputHeight,r),this.inputLoader=new l(this.inputWidth,this.inputHeight),this.markerDimensions=null,this.onUpdate=n,this.debugMode=r,this.processingVideo=!1,this.interestedTargetIndex=-1,this.trackingStates=[];const d=45*Math.PI/180,p=this.inputHeight/2/Math.tan(d/2);this.projectionTransform=[[p,0,this.inputWidth/2],[0,p,this.inputHeight/2],[0,0,1]],this.projectionMatrix=this._glProjectionMatrix({projectionTransform:this.projectionTransform,width:this.inputWidth,height:this.inputHeight,near:10,far:1e5}),this.worker=new s,this.workerMatchDone=null,this.workerTrackDone=null,this.worker.onmessage=t=>{"matchDone"===t.data.type&&null!==this.workerMatchDone&&this.workerMatchDone(t.data),"trackUpdateDone"===t.data.type&&null!==this.workerTrackDone&&this.workerTrackDone(t.data)}}showTFStats(){console.log(r.memory().numTensors),console.table(r.memory())}addImageTargets(t){return new Promise((async(e,n)=>{const r=await fetch(t),s=await r.arrayBuffer();e(this.addImageTargetsFromBuffer(s))}))}addImageTargetsFromBuffer(t){const e=(new o).importData(t),n=[],r=[],s=[];for(let t=0;t{for(;this.processingVideo;){const e=this.inputLoader.loadInput(t);if(this.trackingStates.reduce(((t,e)=>t+(e.isTracking?1:0)),0)this.warmupTolerance&&(n.showing=!0,n.trackingMatrix=null,n.filter.reset())),n.showing&&(n.isTracking?n.trackMiss=0:(n.trackCount=0,n.trackMiss+=1,n.trackMiss>this.missTolerance&&(n.showing=!1,n.trackingMatrix=null,this.onUpdate&&this.onUpdate({type:"updateMatrix",targetIndex:t,worldMatrix:null})))),n.showing){const e=this._glModelViewMatrix(n.currentModelViewTransform,t);n.trackingMatrix=n.filter.filter(Date.now(),e);const r=[];for(let t=0;t{this.workerMatchDone=t=>{n({targetIndex:t.targetIndex,modelViewTransform:t.modelViewTransform,debugExtra:t.debugExtra})},this.worker.postMessage({type:"match",featurePoints:t,targetIndexes:e})}))}_workerTrackUpdate(t,e){return new Promise((async(n,r)=>{this.workerTrackDone=t=>{n(t.modelViewTransform)};const{worldCoords:s,screenCoords:i}=e;this.worker.postMessage({type:"trackUpdate",modelViewTransform:t,worldCoords:s,screenCoords:i})}))}_glModelViewMatrix(t,e){const n=this.markerDimensions[e][1];return[t[0][0],-t[1][0],-t[2][0],0,-t[0][1],t[1][1],t[2][1],0,-t[0][2],t[1][2],t[2][2],0,t[0][1]*n+t[0][3],-(t[1][1]*n+t[1][3]),-(t[2][1]*n+t[2][3]),1]}_glProjectionMatrix({projectionTransform:t,width:e,height:n,near:r,far:s}){const i=[[2*t[0][0]/e,0,-(2*t[0][2]/e-1),0],[0,2*t[1][1]/n,-(2*t[1][2]/n-1),0],[0,0,-(s+r)/(s-r),-2*s*r/(s-r)],[0,0,-1,0]],a=[];for(let t=0;t<4;t++)for(let e=0;e<4;e++)a.push(i[e][t]);return a}}}},7051:(t,e,n)=>{n(4563);const{Detector:r}=n(6416),{buildModelViewProjectionTransform:s,computeScreenCoordiate:i}=n(7420);t.exports={CropDetector:class{constructor(t,e,n=!1){this.debugMode=n,this.width=t,this.height=e;let s=Math.min(t,e)/2,i=Math.pow(2,Math.round(Math.log(s)/Math.log(2)));this.cropSize=i,this.detector=new r(i,i,n),this.kernelCaches={},this.lastRandomIndex=4}detect(t){const e=Math.floor(this.height/2-this.cropSize/2),n=Math.floor(this.width/2-this.cropSize/2),r=this._detect(t,n,e);return this.debugMode&&(r.debugExtra.crop={startX:n,startY:e,cropSize:this.cropSize}),r}detectMoving(t){const e=this.lastRandomIndex%3,n=Math.floor(this.lastRandomIndex/3);let r=Math.floor(this.height/2-this.cropSize+n*this.cropSize/2),s=Math.floor(this.width/2-this.cropSize+e*this.cropSize/2);return s<0&&(s=0),r<0&&(r=0),s>=this.width-this.cropSize&&(s=this.width-this.cropSize-1),r>=this.height-this.cropSize&&(r=this.height-this.cropSize-1),this.lastRandomIndex=(this.lastRandomIndex+1)%9,this._detect(t,s,r)}_detect(t,e,n){const r=t.slice([n,e],[this.cropSize,this.cropSize]),{featurePoints:s,debugExtra:i}=this.detector.detect(r);return s.forEach((t=>{t.x+=e,t.y+=n})),this.debugMode&&(i.projectedImage=r.arraySync()),r.dispose(),{featurePoints:s,debugExtra:i}}}}},6416:(t,e,n)=>{const r=n(4563),{FREAKPOINTS:s}=n(2793),i=(s.length-1)*s.length/2;t.exports={Detector:class{constructor(t,e,n=!1){this.debugMode=n,this.width=t,this.height=e;let r=0;for(;t>=8&&e>=8&&(t/=2,e/=2,r++,5!==r););this.numOctaves=r,this.tensorCaches={},this.kernelCaches={}}detectImageData(t){const e=new Uint8ClampedArray(4*t.length);for(let n=0;nt.map((t=>t.arraySync())))),dogPyramidImages:r.map((t=>t?t.arraySync():null)),extremasResults:s.map((t=>t.arraySync())),extremaAngles:u.arraySync(),prunedExtremas:i,localizedExtremas:a.arraySync()}),n.forEach((t=>t.forEach((t=>t.dispose())))),r.forEach((t=>t&&t.dispose())),s.forEach((t=>t.dispose())),a.dispose(),o.dispose(),l.dispose(),u.dispose(),c.dispose(),h.dispose();const m=[];for(let t=0;t0,x:s,y:i,scale:a,angle:p[t],descriptors:e})}return{featurePoints:m,debugExtra:e}}_computeFreakDescriptors(t){if(!this.tensorCaches.computeFreakDescriptors){const e=[],n=[];for(let r=0;r= ${i}) {\n\t\tcontinue;\n\t }\n\n\t int p1 = int(getP(descIndex + i, 0));\n\t int p2 = int(getP(descIndex + i, 1));\n\n\t float v1 = getFreak(featureIndex, p1);\n\t float v2 = getFreak(featureIndex, p2);\n\n\t if (v1 < v2 + 0.01) {\n\t sum += int(pow(2.0, float(7 - i)));\n\t }\n\t }\n\t setOutput(float(sum));\n\t }\n\t`};this.kernelCaches.computeFreakDescriptors=[e]}return r.tidy((()=>{const[n]=this.kernelCaches.computeFreakDescriptors;return this._runWebGLProgram(n,[t,e],"int32")}))}_computeExtremaFreak(t,e,n){this.tensorCaches._computeExtremaFreak||r.tidy((()=>{const t=r.tensor(s);this.tensorCaches._computeExtremaFreak={freakPointsT:r.keep(t)}}));const{freakPointsT:i}=this.tensorCaches._computeExtremaFreak,a=[];for(let e=1;e{const[t]=this.kernelCaches._computeExtremaFreak;return this._compileAndRun(t,[...a,e,n,i])}))}_computeExtremaAngles(t){if(!this.kernelCaches.computeExtremaAngles){const e={variableNames:["histogram"],outputShape:[t.shape[0]],userCode:`\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\n\t int maxIndex = 0;\n\t for (int i = 1; i < 36; i++) {\n\t if (getHistogram(featureIndex, i) > getHistogram(featureIndex, maxIndex)) {\n\t\tmaxIndex = i;\n\t }\n\t }\n\n\t int prev = imod(maxIndex - 1 + 36, 36);\n\t int next = imod(maxIndex + 1, 36);\n\n\t /**\n\t * Fit a quatratic to 3 points. The system of equations is:\n\t *\n\t * y0 = A*x0^2 + B*x0 + C\n\t * y1 = A*x1^2 + B*x1 + C\n\t * y2 = A*x2^2 + B*x2 + C\n\t *\n\t * This system of equations is solved for A,B,C.\n\t */\n\t float p10 = float(maxIndex - 1);\n\t float p11 = getHistogram(featureIndex, prev); \n\t float p20 = float(maxIndex);\n\t float p21 = getHistogram(featureIndex, maxIndex); \n\t float p30 = float(maxIndex + 1);\n\t float p31 = getHistogram(featureIndex, next); \n\n\t float d1 = (p30-p20)*(p30-p10);\n\t float d2 = (p10-p20)*(p30-p10);\n\t float d3 = p10-p20;\n\n\t // If any of the denominators are zero then, just use maxIndex.\n float fbin = float(maxIndex);\n\t if ( abs(d1) > 0.00001 && abs(d2) > 0.00001 && abs(d3) > 0.00001) {\n\t float a = p10*p10;\n\t float b = p20*p20;\n\n\t // Solve for the coefficients A,B,C\n\t float A = ((p31-p21)/d1)-((p11-p21)/d2);\n\t float B = ((p11-p21)+(A*(b-a)))/d3;\n\t float C = p11-(A*a)-(B*p10);\n\t fbin = -B / (2. * A);\n\t }\n\n\t float an = 2.0 *${Math.PI} * (fbin + 0.5) / 36. - ${Math.PI};\n\t setOutput(an);\n\t }\n\t`};this.kernelCaches.computeExtremaAngles=e}return r.tidy((()=>{const e=this.kernelCaches.computeExtremaAngles;return this._compileAndRun(e,[t])}))}_computeOrientationHistograms(t,e){const n=[];for(let t=1;t{const t=Math.ceil(4.5),e=[];for(let n=-t;n<=t;n++)for(let r=-t;r<=t;r++){const t=r*r+n*n;if(t<=20.25){const s=-.05555555555555555*t;let i=.0013888888*(720+s*(720+s*(360+s*(120+s*(30+s*(6+s))))));e.push([n,r,i])}}this.tensorCaches.orientationHistograms={radialPropertiesT:r.keep(r.tensor(e,[e.length,3]))}}));const{radialPropertiesT:s}=this.tensorCaches.orientationHistograms;if(!this.kernelCaches.computeOrientationHistograms){const n=[];for(let t=1;t{const[e,r]=this.kernelCaches.computeOrientationHistograms,i=this._compileAndRun(e,[...n,t,s]);return this._compileAndRun(r,[i])}))}_smoothHistograms(t){if(!this.kernelCaches.smoothHistograms){const e={variableNames:["histogram"],outputShape:[t.shape[0],36],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int featureIndex = coords[0];\n\t int binIndex = coords[1];\n\n\t int prevBin = imod(binIndex - 1 + 36, 36);\n\t int nextBin = imod(binIndex + 1, 36);\n\n float result = 0.274068619061197 * getHistogram(featureIndex, prevBin) + 0.451862761877606 * getHistogram(featureIndex, binIndex) + 0.274068619061197 * getHistogram(featureIndex, nextBin);\n\n\t setOutput(result);\n\t }\n\t"};this.kernelCaches.smoothHistograms=e}return r.tidy((()=>{const e=this.kernelCaches.smoothHistograms;for(let n=0;n<5;n++)t=this._compileAndRun(e,[t]);return t}))}_computeLocalization(t,e){if(!this.kernelCaches.computeLocalization){const n=[];let r="float getPixel(int octave, int y, int x) {";for(let t=1;t{const n=this.kernelCaches.computeLocalization[0],s=r.tensor(t,[t.length,t[0].length],"int32"),i=this._compileAndRun(n,[...e.slice(1),s]).arraySync(),a=[];for(let t=0;t{const{reductionKernels:r}=this.kernelCaches.applyPrune;for(let s=0;s=1&&m>e[f][g-1];)g-=1;if(g<5){for(let t=4;t>=g+1;t--)e[f][t]=e[f][t-1],n[f][t][0]=n[f][t-1][0],n[f][t][1]=n[f][t-1][1],n[f][t][2]=n[f][t-1][2],n[f][t][3]=n[f][t-1][3];e[f][g]=m,n[f][g][0]=i,n[f][g][1]=o,n[f][g][2]=c,n[f][g][3]=u}}}}));const s=[];for(let t=0;t<100;t++)for(let e=0;e<5;e++)s.push(n[t][e]);return s}_buildExtremas(t,e,n){const s=e.shape[0],i=e.shape[1],a="w"+i;if(this.kernelCaches.buildExtremas||(this.kernelCaches.buildExtremas={}),!this.kernelCaches.buildExtremas[a]){const t={variableNames:["image0","image1","image2"],outputShape:[s,i],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int y = coords[0];\n\t int x = coords[1];\n\n\t float value = getImage1(y, x);\n\n\t // Step 1: find local maxima/minima\n\t if (value * value < 9.) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (y < 7 || y > ${s-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (x < 7 || x > ${i-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t bool isMax = true;\n\t bool isMin = true;\n\t for (int dy = -1; dy <= 1; dy++) {\n\t for (int dx = -1; dx <= 1; dx++) {\n\t float value0 = getImage0(y+dy, x+dx);\n\t float value1 = getImage1(y+dy, x+dx);\n\t float value2 = getImage2(y+dy, x+dx);\n\n\t\tif (value < value0 || value < value1 || value < value2) {\n\t\t isMax = false;\n\t\t}\n\t\tif (value > value0 || value > value1 || value > value2) {\n\t\t isMin = false;\n\t\t}\n\t }\n\t }\n\n\t if (!isMax && !isMin) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t // compute edge score and reject based on threshold\n\t float dxx = getImage1(y, x+1) + getImage1(y, x-1) - 2. * getImage1(y, x);\n\t float dyy = getImage1(y+1, x) + getImage1(y-1, x) - 2. * getImage1(y, x);\n\t float dxy = 0.25 * (getImage1(y-1,x-1) + getImage1(y+1,x+1) - getImage1(y-1,x+1) - getImage1(y+1,x-1));\n\n\t float det = (dxx * dyy) - (dxy * dxy);\n\n\t if (abs(det) < 0.0001) { // determinant undefined. no solution\n\t setOutput(0.);\n\t return;\n\t }\n\n\t float edgeScore = (dxx + dyy) * (dxx + dyy) / det;\n\n\t if (abs(edgeScore) >= 6.25 ) {\n\t setOutput(0.);\n\t return;\n\t }\n\t setOutput(getImage1(y,x));\n\t }\n\t`};this.kernelCaches.buildExtremas[a]=t}return r.tidy((()=>{const r=this.kernelCaches.buildExtremas[a];return t=this._downsampleBilinear(t),n=this._upsampleBilinear(n,e),this._compileAndRun(r,[t,e,n])}))}_differenceImageBinomial(t,e){return r.tidy((()=>t.sub(e)))}_applyFilter(t){const e=t.shape[0],n=t.shape[1],s="w"+n;if(this.kernelCaches.applyFilter||(this.kernelCaches.applyFilter={}),!this.kernelCaches.applyFilter[s]){const t={variableNames:["p"],outputShape:[e,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0], coords[1]-2);\n\t sum += getP(coords[0], coords[1]-1) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0], coords[1]+1) * 4.;\n\t sum += getP(coords[0], coords[1]+2);\n\t setOutput(sum);\n\t }\n\t"},r={variableNames:["p"],outputShape:[e,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0]-2, coords[1]);\n\t sum += getP(coords[0]-1, coords[1]) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0]+1, coords[1]) * 4.;\n\t sum += getP(coords[0]+2, coords[1]);\n\t sum /= 256.;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.applyFilter[s]=[t,r]}return r.tidy((()=>{const[e,n]=this.kernelCaches.applyFilter[s],r=this._compileAndRun(e,[t]);return this._compileAndRun(n,[r])}))}_upsampleBilinear(t,e){t.shape[0];const n="w"+t.shape[1];if(this.kernelCaches.upsampleBilinear||(this.kernelCaches.upsampleBilinear={}),!this.kernelCaches.upsampleBilinear[n]){const t={variableNames:["p"],outputShape:[e.shape[0],e.shape[1]],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int j = coords[0];\n\t int i = coords[1];\n\n\t float sj = 0.5 * float(j) - 0.25; \n\t float si = 0.5 * float(i) - 0.25;\n\n\t float sj0 = floor(sj);\n\t float sj1 = ceil(sj);\n\t float si0 = floor(si);\n\t float si1 = ceil(si);\n\n\t int sj0I = int(sj0);\n\t int sj1I = int(sj1);\n\t int si0I = int(si0);\n\t int si1I = int(si1);\n\n\t float sum = 0.0;\n\t sum += getP(sj0I, si0I) * (si1 - si) * (sj1 - sj);\n\t sum += getP(sj1I, si0I) * (si1 - si) * (sj - sj0);\n\t sum += getP(sj0I, si1I) * (si - si0) * (sj1 - sj);\n\t sum += getP(sj1I, si1I) * (si - si0) * (sj - sj0);\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.upsampleBilinear[n]=t}return r.tidy((()=>{const e=this.kernelCaches.upsampleBilinear[n];return this._compileAndRun(e,[t])}))}_downsampleBilinear(t){const e=t.shape[0],n=t.shape[1],s="w"+n;if(this.kernelCaches.downsampleBilinear||(this.kernelCaches.downsampleBilinear={}),!this.kernelCaches.downsampleBilinear[s]){const t={variableNames:["p"],outputShape:[Math.floor(e/2),Math.floor(n/2)],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int y = coords[0] * 2;\n\t int x = coords[1] * 2;\n\n\t float sum = getP(y, x) * 0.25;\n\t sum += getP(y+1,x) * 0.25; \n\t sum += getP(y, x+1) * 0.25; \n\t sum += getP(y+1,x+1) * 0.25;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.downsampleBilinear[s]=t}return r.tidy((()=>{const e=this.kernelCaches.downsampleBilinear[s];return this._compileAndRun(e,[t])}))}_compileAndRun(t,e){const n=r.backend().compileAndRun(t,e);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(t,e,n){const s=r.backend().runWebGLProgram(t,e,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2793:t=>{const e=[{sigma:.55,points:[[-1,0],[-.5,-.866025],[.5,-.866025],[1,-0],[.5,.866025],[-.5,.866025]]},{sigma:.475,points:[[0,.930969],[-.806243,.465485],[-.806243,-.465485],[-0,-.930969],[.806243,-.465485],[.806243,.465485]]},{sigma:.4,points:[[.847306,-0],[.423653,.733789],[-.423653,.733789],[-.847306,0],[-.423653,-.733789],[.423653,-.733789]]},{sigma:.325,points:[[-0,-.741094],[.641806,-.370547],[.641806,.370547],[0,.741094],[-.641806,.370547],[-.641806,-.370547]]},{sigma:.25,points:[[-.595502,0],[-.297751,-.51572],[.297751,-.51572],[.595502,-0],[.297751,.51572],[-.297751,.51572]]},{sigma:.175,points:[[0,.362783],[-.314179,.181391],[-.314179,-.181391],[-0,-.362783],[.314179,-.181391],[.314179,.181391]]},{sigma:.1,points:[[0,0]]}],n=[];for(let t=0;t{const e=(t,e,n,r)=>({x:t[0][0]*e+t[0][1]*n+t[0][3],y:t[1][0]*e+t[1][1]*n+t[1][3],z:t[2][0]*e+t[2][1]*n+t[2][3]});t.exports={buildModelViewProjectionTransform:(t,e)=>[[t[0][0]*e[0][0]+t[0][2]*e[2][0],t[0][0]*e[0][1]+t[0][2]*e[2][1],t[0][0]*e[0][2]+t[0][2]*e[2][2],t[0][0]*e[0][3]+t[0][2]*e[2][3]],[t[1][1]*e[1][0]+t[1][2]*e[2][0],t[1][1]*e[1][1]+t[1][2]*e[2][1],t[1][1]*e[1][2]+t[1][2]*e[2][2],t[1][1]*e[1][3]+t[1][2]*e[2][3]],[e[2][0],e[2][1],e[2][2],e[2][3]]],applyModelViewProjectionTransform:e,computeScreenCoordiate:(t,n,r,s)=>{const{x:i,y:a,z:o}=e(t,n,r);return{x:i/o,y:a/o}}}},7508:(t,e,n)=>{const{resize:r}=n(9140);t.exports={buildImageList:t=>{const e=[];let n=100/Math.min(t.width,t.height);for(;;)if(e.push(n),n*=Math.pow(2,1/3),n>=.95){n=1;break}e.push(n),e.reverse();const s=[];for(let n=0;n{const e=Math.min(t.width,t.height),n=[],s=[];n.push(256/e),n.push(128/e);for(let e=0;e{const r=n(4563);t.exports={InputLoader:class{constructor(t,e){this.width=t,this.height=e,this.texShape=[e,t];const n=document.createElement("canvas").getContext("2d");n.canvas.width=t,n.canvas.height=e,this.context=n,this.program=this.buildProgram(t,e);const s=r.backend();this.tempPixelHandle=s.makeTensorInfo(this.texShape,"float32"),s.texData.get(this.tempPixelHandle.dataId).usage=2}_loadInput(t){return r.tidy((()=>{let e=r.browser.fromPixels(t);return e=e.mean(2),e}))}loadInput(t){this.context.drawImage(t,0,0,this.width,this.height);const e=r.backend();return e.gpgpu.uploadPixelDataToTexture(e.getTexture(this.tempPixelHandle.dataId),this.context.canvas),this._compileAndRun(this.program,[this.tempPixelHandle])}buildProgram(t,e){const n=2===r.env().getNumber("WEBGL_VERSION")?"texture":"texture2D";return{variableNames:["A"],outputShape:this.texShape,userCode:`\n\tvoid main() {\n\t ivec2 coords = getOutputCoords();\n\t int texR = coords[0];\n\t int texC = coords[1];\n\t vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${t}.0, ${e}.0);\n\n\t vec4 values = ${n}(A, uv);\n\t setOutput((0.299 * values.r + 0.587 * values.g + 0.114 * values.b) * 255.0);\n\t}\n `}}_compileAndRun(t,e){const n=r.backend().compileAndRun(t,e);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(t,e,n){const s=r.backend().runWebGLProgram(t,e,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2233:t=>{t.exports={compute:t=>{const{v1:e,v2:n}=t;let r=0;for(let t=0;t>>0;r+=(i=void 0,((i=((i=((i=((i=(s=a)-(s>>1&1431655765))>>2&858993459)+(858993459&i))>>4)+i&252645135)>>8)+i&16711935)>>16)+i&65535)}var s,i;return r}}},723:(t,e,n)=>{const{compute:r}=n(2233),{createRandomizer:s}=n(6048),i=t=>{const{points:e,pointIndexes:n,centerPointIndex:s,randomizer:a}=t;let o=!1;(n.length<=8||n.length<=16)&&(o=!0);const l={};if(!o){const t=(t=>{const{points:e,pointIndexes:n,randomizer:s}=t,i=[];for(let t=0;t{u.children.push(i({points:e,pointIndexes:l[t],centerPointIndex:t,randomizer:a}))})),u};t.exports={build:({points:t})=>{const e=[];for(let n=0;n{const r=n(4563),{buildModelViewProjectionTransform:s,computeScreenCoordiate:i}=n(7420);t.exports={Tracker:class{constructor(t,e,n,r,s,i=!1){this.markerDimensions=t,this.trackingDataList=e,this.projectionTransform=n,this.debugMode=i,this.trackingKeyframeList=[];for(let t=0;t.8&&t= (${a} - 6) || sy < 6 || sy >= (${i} - 6)) {\n\t setOutput(-2.);\n\t } \n\t else {\n\t float sumPoint = 0.;\n\t float sumPointSquare = 0.;\n\t float sumTemplate = 0.;\n\t float sumTemplateSquare = 0.;\n\t float sumPointTemplate = 0.;\n\n\t for (int templateOffsetY = 0; templateOffsetY < 13; templateOffsetY++) {\n\t\tfor (int templateOffsetX = 0; templateOffsetX < 13; templateOffsetX++) {\n\t\t int fx2 = sCenterX + templateOffsetX - 6;\n\t\t int fy2 = sCenterY + templateOffsetY - 6;\n\n\t\t int sx2 = sx + templateOffsetX - 6;\n\t\t int sy2 = sy + templateOffsetY - 6;\n\n\t\t int markerPixelIndex = fy2 * markerWidth + fx2;\n\t\t float markerPixel = getMarkerPixels(markerPixelIndex);\n\t\t float targetPixel = getTargetPixels(sy2, sx2);\n\n\t\t sumTemplate += markerPixel;\n\t\t sumTemplateSquare += markerPixel * markerPixel;\n\t\t sumPoint += targetPixel;\n\t\t sumPointSquare += targetPixel * targetPixel;\n\t\t sumPointTemplate += targetPixel * markerPixel;\n\t\t}\n\t }\n\n\t // Normalized cross-correlation\n\t // !important divide first avoid overflow (e.g. sumPoint / count * sumPoint)\n\t float count = float(13 * 13);\n\t float pointVariance = sqrt(sumPointSquare - sumPoint / count * sumPoint);\n\t float templateVariance = sqrt(sumTemplateSquare - sumTemplate / count * sumTemplate);\n\n\t if (pointVariance < 0.0000001) {\n\t\tsetOutput(-3.);\n\t } else if (templateVariance < 0.0000001) {\n\t\t//setOutput(sumTemplate);\n\t\tsetOutput(-4.);\n\t } else {\n\t\tsumPointTemplate -= sumPoint / count * sumTemplate;\n\t\tfloat sim = sumPointTemplate / pointVariance / templateVariance; \n\t\tsetOutput(sim);\n\t }\n\t }\n\t }\n\t`},e={variableNames:["featurePoints","markerProperties","maxIndex"],outputShape:[o,2],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float markerScale = getMarkerProperties(2);\n\n\t int featureIndex = coords[0];\n\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t int searchLocationIndex = maxIndex / 441;\n\t int searchOffsetIndex = imod(maxIndex, 441);\n\n\t if (coords[1] == 0) {\n\t int searchOffsetX = imod(searchOffsetIndex, 21) * 1;\n\t setOutput(getFeaturePoints(featureIndex, 0) + float(searchOffsetX - 10) / markerScale);\n\t }\n\t else if (coords[1] == 1) {\n\t int searchOffsetY = searchOffsetIndex / 21 * 1;\n\t setOutput(getFeaturePoints(featureIndex, 1) + float(searchOffsetY - 10) / markerScale);\n\t }\n\t }\n\t"},n={variableNames:["sims","maxIndex"],outputShape:[o],userCode:"\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t setOutput(getSims(featureIndex, maxIndex));\n\t }\n\t"};this.kernelCaches.computeMatching=[t,e,n]}return r.tidy((()=>{const r=this.kernelCaches.computeMatching,i=this._compileAndRun(r[0],[t,e,n,s]),a=i.argMax(1);return{matchingPointsT:this._compileAndRun(r[1],[t,n,a]),simT:this._compileAndRun(r[2],[i,a])}}))}_computeProjection(t,e,n){const s=this.trackingKeyframeList[n].width,i=this.trackingKeyframeList[n].height,a=this.trackingKeyframeList[n].scale,o=s+"-"+i+"-"+a;if(this.kernelCaches.computeProjection||(this.kernelCaches.computeProjection={}),!this.kernelCaches.computeProjection[o]){const t={variableNames:["M","pixel"],outputShape:[i,s],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float m00 = getM(0, 0) * 1000.;\n\t float m01 = getM(0, 1) * 1000.;\n\t float m03 = getM(0, 3) * 1000.;\n\t float m10 = getM(1, 0) * 1000.;\n\t float m11 = getM(1, 1) * 1000.;\n\t float m13 = getM(1, 3) * 1000.;\n\t float m20 = getM(2, 0) * 1000.;\n\t float m21 = getM(2, 1) * 1000.;\n\t float m23 = getM(2, 3) * 1000.;\n\n\t float y = float(coords[0]) / float(${a});\n\t float x = float(coords[1]) / float(${a});\n\t float uz = (x * m20) + (y * m21) + m23;\n\t float oneOverUz = 1. / uz;\n\n\t float ux = (x * m00) + (y * m01) + m03;\n\t float uy = (x * m10) + (y * m11) + m13;\n\n\t ux = floor(ux * oneOverUz + 0.5);\n\t uy = floor(uy * oneOverUz + 0.5);\n\t setOutput(getPixel(int(uy), int(ux)));\n\t }\n\t`};this.kernelCaches.computeProjection[o]=t}return r.tidy((()=>{const n=this.kernelCaches.computeProjection[o];return this._compileAndRun(n,[t,e])}))}_buildAdjustedModelViewTransform(t){return r.tidy((()=>{let e=[];for(let n=0;n{const n=t.scale,s=[];for(let r=0;r{t.exports={downsampleBilinear:({image:t})=>{const{data:e,width:n,height:r}=t,s=Math.floor(n/2),i=Math.floor(r/2),a=new Float32Array(s*i),o=[0,1,n,n+1];for(let t=0;t{const{width:r,height:s,data:i}=t,a=2*t.width+(e?1:0),o=2*t.height+(n?1:0),l=new Float32Array(a*o);for(let t=0;t=r&&(u=r-1);for(let c=0;c=s&&(d=s-1);const p=(u-e)*(d-o)*i[h*r+n]+(u-e)*(o-h)*i[d*r+n]+(e-n)*(d-o)*i[h*r+u]+(e-n)*(o-h)*i[d*r+u];l[c*a+t]=p}}return{data:l,width:a,height:o}},resize:({image:t,ratio:e})=>{const n=Math.round(t.width*e),r=Math.round(t.height*e),s=new Uint8Array(n*r);for(let i=0;i=t.width&&(o=t.width-1);for(let l=0;l=t.height&&(u=t.height-1);let c=0,h=0;for(let e=a;e<=o;e++)for(let n=r;n<=u;n++)c+=1*t.data[n*t.width+e],h+=1;s[l*n+i]=Math.floor(c/h)}}return{data:s,width:n,height:r}}}},6048:t=>{t.exports={createRandomizer:()=>({seed:1234,arrayShuffle(t){const{arr:e,sampleSize:n}=t;for(let t=0;t>16&32767;n%=e.length;let r=e[t];e[t]=e[n],e[n]=r}},nextInt(t){this.seed=(214013*this.seed+2531011)%(1<<31);let e=this.seed>>16&32767;return e%=t,e}})}},344:t=>{const e=(t,e)=>{const n=2*Math.PI*e*t;return n/(n+1)},n=(t,e,n)=>t*e+(1-t)*n;t.exports={OneEuroFilter:class{constructor({minCutOff:t,beta:e}){this.minCutOff=t,this.beta=e,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(t,r){if(!this.initialized)return this.initialized=!0,this.xPrev=r,this.dxPrev=r.map((()=>0)),this.tPrev=t,r;const{xPrev:s,tPrev:i,dxPrev:a}=this,o=t-i,l=e(o,this.dCutOff),u=[],c=[],h=[];for(let t=0;t{n(4412);const r=n(9894).Z,s=n(7676).Z,i=n(2810).Z;t.exports={UI:class{constructor({uiLoading:t,uiScanning:e,uiError:n}){"yes"===t?this.loadingModal=this._loadHTML(r):"no"!==t&&(this.loadingModal=document.querySelector(t)),"yes"===n?this.compatibilityModal=this._loadHTML(s):"no"!==n&&(this.compatibilityModal=document.querySelector(n)),"yes"===e?this.scanningMask=this._loadHTML(i):"no"!==e&&(this.scanningMask=document.querySelector(e)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(t){const e=document.createElement("template");e.innerHTML=t.trim();const n=e.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(n),n}}}},3906:()=>{},2993:()=>{},8352:()=>{},4589:()=>{},1758:()=>{}},e={};function n(r){if(e[r])return e[r].exports;var s=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.amdD=function(){throw new Error("define cannot be used indirect")},n.amdO={},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),n.p="",(()=>{const t=n(2212),e=n(4563),{CSS3DRenderer:r}=n(1564),{Controller:s}=n(7957),{UI:i}=n(2749),a=new t.Matrix4;a.compose(new t.Vector3,new t.Quaternion,new t.Vector3(.001,.001,.001)),window.MINDAR||(window.MINDAR={}),window.MINDAR.IMAGE||(window.MINDAR.IMAGE={}),window.MINDAR.IMAGE.MindARThree=class{constructor({container:e,imageTargetSrc:n,maxTrack:s,uiLoading:a="yes",uiScanning:o="yes",uiError:l="yes",filterMinCF:u=null,filterBeta:c=null,warmupTolerance:h=null,missTolerance:d=null}){this.container=e,this.imageTargetSrc=n,this.maxTrack=s,this.filterMinCF=u,this.filterBeta=c,this.warmupTolerance=h,this.missTolerance=d,this.ui=new i({uiLoading:a,uiScanning:o,uiError:l}),this.scene=new t.Scene,this.cssScene=new t.Scene,this.renderer=new t.WebGLRenderer({antialias:!0,alpha:!0}),this.cssRenderer=new r({antialias:!0}),this.renderer.outputEncoding=t.sRGBEncoding,this.renderer.setPixelRatio(window.devicePixelRatio),this.camera=new t.PerspectiveCamera,this.anchors=[],this.renderer.domElement.style.position="absolute",this.cssRenderer.domElement.style.position="absolute",this.container.appendChild(this.renderer.domElement),this.container.appendChild(this.cssRenderer.domElement),window.addEventListener("resize",this.resize.bind(this))}async start(){this.ui.showLoading(),await this._startVideo(),await this._startAR()}stop(){this.controller.stopProcessVideo(),this.video.srcObject.getTracks().forEach((function(t){t.stop()})),this.video.remove()}addAnchor(e){const n=new t.Group;n.visible=!1,n.matrixAutoUpdate=!1;const r={group:n,targetIndex:e,onTargetFound:null,onTargetLost:null,css:!1,visible:!1};return this.anchors.push(r),this.scene.add(n),r}addCSSAnchor(e){const n=new t.Group;n.visible=!1,n.matrixAutoUpdate=!1;const r={group:n,targetIndex:e,onTargetFound:null,onTargetLost:null,css:!0,visible:!1};return this.anchors.push(r),this.cssScene.add(n),r}_startVideo(){return new Promise(((t,e)=>{if(this.video=document.createElement("video"),this.video.setAttribute("autoplay",""),this.video.setAttribute("muted",""),this.video.setAttribute("playsinline",""),this.video.style.position="absolute",this.video.style.top="0px",this.video.style.left="0px",this.video.style.zIndex="-2",this.container.appendChild(this.video),!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)return this.ui.showCompatibility(),void e();navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:"environment"}}).then((e=>{this.video.addEventListener("loadedmetadata",(()=>{this.video.setAttribute("width",this.video.videoWidth),this.video.setAttribute("height",this.video.videoHeight),t()})),this.video.srcObject=e})).catch((t=>{console.log("getUserMedia error",t),e()}))}))}_startAR(){return new Promise((async(e,n)=>{const r=this.video;this.container,this.controller=new s({inputWidth:r.videoWidth,inputHeight:r.videoHeight,filterMinCF:this.filterMinCF,filterBeta:this.filterBeta,warmupTolerance:this.warmupTolerance,missTolerance:this.missTolerance,maxTrack:this.maxTrack,onUpdate:e=>{if("updateMatrix"===e.type){const{targetIndex:n,worldMatrix:r}=e;for(let e=0;e{t.element.style.visibility=null===r?"hidden":"visible"})):this.anchors[e].group.visible=null!==r,null!==r){let s=new t.Matrix4;s.elements=[...r],s.multiply(this.postMatrixs[n]),this.anchors[e].css&&s.multiply(a),this.anchors[e].group.matrix=s}this.anchors[e].visible&&null===r&&(this.anchors[e].visible=!1,this.anchors[e].onTargetLost&&this.anchors[e].onTargetLost()),this.anchors[e].visible||null===r||(this.anchors[e].visible=!0,this.anchors[e].onTargetFound&&this.anchors[e].onTargetFound()),null!==r&&this.ui.hideScanning()}}}}),this.resize();const{dimensions:i}=await this.controller.addImageTargets(this.imageTargetSrc);this.postMatrixs=[];for(let e=0;er.clientWidth/r.clientHeight?(a=r.clientHeight,i=a*o):(i=r.clientWidth,a=i/o);const l=this.controller.getProjectionMatrix(),u=2*Math.atan(1/l[5]/a*r.clientHeight)*180/Math.PI,c=l[14]/(l[10]-1),h=l[14]/(l[10]+1);l[5],l[0],n.fov=u,n.near=c,n.far=h,n.aspect=r.clientWidth/r.clientHeight,n.updateProjectionMatrix(),s.style.top=-(a-r.clientHeight)/2+"px",s.style.left=-(i-r.clientWidth)/2+"px",s.style.width=i+"px",s.style.height=a+"px";const d=t.domElement,p=e.domElement;d.style.position="absolute",d.style.left=0,d.style.top=0,d.style.width=r.clientWidth+"px",d.style.height=r.clientHeight+"px",p.style.position="absolute",p.style.left=0,p.style.top=0,p.style.width=r.clientWidth+"px",p.style.height=r.clientHeight+"px",t.setSize(r.clientWidth,r.clientHeight),e.setSize(r.clientWidth,r.clientHeight)}},window.MINDAR.IMAGE.THREE=t,window.MINDAR.IMAGE.tf=e})()})(); \ No newline at end of file +(()=>{var t={1113:function(t){t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var s=e[r]={i:r,l:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(r,s,function(e){return t[e]}.bind(null,s));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e),n.d(e,"encode",(function(){return I})),n.d(e,"decode",(function(){return V})),n.d(e,"decodeAsync",(function(){return X})),n.d(e,"decodeArrayStream",(function(){return K})),n.d(e,"decodeStream",(function(){return Y})),n.d(e,"Decoder",(function(){return B})),n.d(e,"Encoder",(function(){return k})),n.d(e,"ExtensionCodec",(function(){return T})),n.d(e,"ExtData",(function(){return p})),n.d(e,"EXT_TIMESTAMP",(function(){return g})),n.d(e,"encodeDateToTimeSpec",(function(){return x})),n.d(e,"encodeTimeSpecToTimestamp",(function(){return y})),n.d(e,"decodeTimestampToTimeSpec",(function(){return v})),n.d(e,"encodeTimestampExtension",(function(){return b})),n.d(e,"decodeTimestampExtension",(function(){return w}));var r=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,s,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(t){s={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}return a},s=function(){for(var t=[],e=0;e=55296&&s<=56319&&r65535&&(h-=65536,a.push(h>>>10&1023|55296),h=56320|1023&h),a.push(h)}else a.push(l);a.length>=4096&&(o+=String.fromCharCode.apply(String,s(a)),a.length=0)}return a.length>0&&(o+=String.fromCharCode.apply(String,s(a))),o}var h=i?new TextDecoder:null,d="undefined"!=typeof process?200:0,p=function(t,e){this.type=t,this.data=e};function f(t,e,n){var r=Math.floor(n/4294967296),s=n;t.setUint32(e,r),t.setUint32(e+4,s)}function m(t,e){return 4294967296*t.getInt32(e)+t.getUint32(e+4)}var g=-1;function y(t){var e,n=t.sec,r=t.nsec;if(n>=0&&r>=0&&n<=17179869183){if(0===r&&n<=4294967295){var s=new Uint8Array(4);return(e=new DataView(s.buffer)).setUint32(0,n),s}var i=n/4294967296,a=4294967295&n;return s=new Uint8Array(8),(e=new DataView(s.buffer)).setUint32(0,r<<2|3&i),e.setUint32(4,a),s}return s=new Uint8Array(12),(e=new DataView(s.buffer)).setUint32(0,r),f(e,4,n),s}function x(t){var e=t.getTime(),n=Math.floor(e/1e3),r=1e6*(e-1e3*n),s=Math.floor(r/1e9);return{sec:n+s,nsec:r-1e9*s}}function b(t){return t instanceof Date?y(x(t)):null}function v(t){var e=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t.byteLength){case 4:return{sec:e.getUint32(0),nsec:0};case 8:var n=e.getUint32(0);return{sec:4294967296*(3&n)+e.getUint32(4),nsec:n>>>2};case 12:return{sec:m(e,4),nsec:e.getUint32(0)};default:throw new Error("Unrecognized data size for timestamp: "+t.length)}}function w(t){var e=v(t);return new Date(1e3*e.sec+e.nsec/1e6)}var S={type:g,encode:b,decode:w},T=function(){function t(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(S)}return t.prototype.register=function(t){var e=t.type,n=t.encode,r=t.decode;if(e>=0)this.encoders[e]=n,this.decoders[e]=r;else{var s=1+e;this.builtInEncoders[s]=n,this.builtInDecoders[s]=r}},t.prototype.tryToEncode=function(t,e){for(var n=0;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},k=function(){function t(t,e,n,r,s,i,a){void 0===t&&(t=T.defaultCodec),void 0===n&&(n=100),void 0===r&&(r=2048),void 0===s&&(s=!1),void 0===i&&(i=!1),void 0===a&&(a=!1),this.extensionCodec=t,this.context=e,this.maxDepth=n,this.initialBufferSize=r,this.sortKeys=s,this.forceFloat32=i,this.ignoreUndefined=a,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}return t.prototype.encode=function(t,e){if(e>this.maxDepth)throw new Error("Too deep objects in depth "+e);null==t?this.encodeNil():"boolean"==typeof t?this.encodeBoolean(t):"number"==typeof t?this.encodeNumber(t):"string"==typeof t?this.encodeString(t):this.encodeObject(t,e)},t.prototype.getUint8Array=function(){return this.bytes.subarray(0,this.pos)},t.prototype.ensureBufferSizeToWrite=function(t){var e=this.pos+t;this.view.byteLength=0?t<128?this.writeU8(t):t<256?(this.writeU8(204),this.writeU8(t)):t<65536?(this.writeU8(205),this.writeU16(t)):t<4294967296?(this.writeU8(206),this.writeU32(t)):(this.writeU8(207),this.writeU64(t)):t>=-32?this.writeU8(224|t+32):t>=-128?(this.writeU8(208),this.writeI8(t)):t>=-32768?(this.writeU8(209),this.writeI16(t)):t>=-2147483648?(this.writeU8(210),this.writeI32(t)):(this.writeU8(211),this.writeI64(t)):this.forceFloat32?(this.writeU8(202),this.writeF32(t)):(this.writeU8(203),this.writeF64(t))},t.prototype.writeStringHeader=function(t){if(t<32)this.writeU8(160+t);else if(t<256)this.writeU8(217),this.writeU8(t);else if(t<65536)this.writeU8(218),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too long string: "+t+" bytes in UTF-8");this.writeU8(219),this.writeU32(t)}},t.prototype.encodeString=function(t){var e=t.length;if(i&&e>l){var n=a(t);this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),u(t,this.bytes,this.pos),this.pos+=n}else n=a(t),this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),function(t,e,n){for(var r=t.length,s=n,i=0;i>6&31|192;else{if(a>=55296&&a<=56319&&i>12&15|224,e[s++]=a>>6&63|128):(e[s++]=a>>18&7|240,e[s++]=a>>12&63|128,e[s++]=a>>6&63|128)}e[s++]=63&a|128}else e[s++]=a}}(t,this.bytes,this.pos),this.pos+=n},t.prototype.encodeObject=function(t,e){var n=this.extensionCodec.tryToEncode(t,this.context);if(null!=n)this.encodeExtension(n);else if(Array.isArray(t))this.encodeArray(t,e);else if(ArrayBuffer.isView(t))this.encodeBinary(t);else{if("object"!=typeof t)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(t));this.encodeMap(t,e)}},t.prototype.encodeBinary=function(t){var e=t.byteLength;if(e<256)this.writeU8(196),this.writeU8(e);else if(e<65536)this.writeU8(197),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large binary: "+e);this.writeU8(198),this.writeU32(e)}var n=_(t);this.writeU8a(n)},t.prototype.encodeArray=function(t,e){var n,r,s=t.length;if(s<16)this.writeU8(144+s);else if(s<65536)this.writeU8(220),this.writeU16(s);else{if(!(s<4294967296))throw new Error("Too large array: "+s);this.writeU8(221),this.writeU32(s)}try{for(var i=M(t),a=i.next();!a.done;a=i.next()){var o=a.value;this.encode(o,e+1)}}catch(t){n={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},t.prototype.countWithoutUndefined=function(t,e){var n,r,s=0;try{for(var i=M(e),a=i.next();!a.done;a=i.next())void 0!==t[a.value]&&s++}catch(t){n={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return s},t.prototype.encodeMap=function(t,e){var n,r,s=Object.keys(t);this.sortKeys&&s.sort();var i=this.ignoreUndefined?this.countWithoutUndefined(t,s):s.length;if(i<16)this.writeU8(128+i);else if(i<65536)this.writeU8(222),this.writeU16(i);else{if(!(i<4294967296))throw new Error("Too large map object: "+i);this.writeU8(223),this.writeU32(i)}try{for(var a=M(s),o=a.next();!o.done;o=a.next()){var l=o.value,u=t[l];this.ignoreUndefined&&void 0===u||(this.encodeString(l),this.encode(u,e+1))}}catch(t){n={error:t}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}},t.prototype.encodeExtension=function(t){var e=t.data.length;if(1===e)this.writeU8(212);else if(2===e)this.writeU8(213);else if(4===e)this.writeU8(214);else if(8===e)this.writeU8(215);else if(16===e)this.writeU8(216);else if(e<256)this.writeU8(199),this.writeU8(e);else if(e<65536)this.writeU8(200),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large extension object: "+e);this.writeU8(201),this.writeU32(e)}this.writeI8(t.type),this.writeU8a(t.data)},t.prototype.writeU8=function(t){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,t),this.pos++},t.prototype.writeU8a=function(t){var e=t.length;this.ensureBufferSizeToWrite(e),this.bytes.set(t,this.pos),this.pos+=e},t.prototype.writeI8=function(t){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,t),this.pos++},t.prototype.writeU16=function(t){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,t),this.pos+=2},t.prototype.writeI16=function(t){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,t),this.pos+=2},t.prototype.writeU32=function(t){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,t),this.pos+=4},t.prototype.writeI32=function(t){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,t),this.pos+=4},t.prototype.writeF32=function(t){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,t),this.pos+=4},t.prototype.writeF64=function(t){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,t),this.pos+=8},t.prototype.writeU64=function(t){this.ensureBufferSizeToWrite(8),function(t,e,n){var r=n/4294967296,s=n;t.setUint32(e,r),t.setUint32(e+4,s)}(this.view,this.pos,t),this.pos+=8},t.prototype.writeI64=function(t){this.ensureBufferSizeToWrite(8),f(this.view,this.pos,t),this.pos+=8},t}(),E={};function I(t,e){void 0===e&&(e=E);var n=new k(e.extensionCodec,e.context,e.maxDepth,e.initialBufferSize,e.sortKeys,e.forceFloat32,e.ignoreUndefined);return n.encode(t,1),n.getUint8Array()}function C(t){return(t<0?"-":"")+"0x"+Math.abs(t).toString(16).padStart(2,"0")}var N=function(){function t(t,e){void 0===t&&(t=16),void 0===e&&(e=16),this.maxKeyLength=t,this.maxLengthPerKey=e,this.caches=[];for(var n=0;n0&&t<=this.maxKeyLength},t.prototype.get=function(t,e,n){var r=this.caches[n-1],s=r.length;t:for(var i=0;i=this.maxLengthPerKey?n[Math.random()*n.length|0]=r:n.push(r)},t.prototype.decode=function(t,e,n){var r=this.get(t,e,n);if(null!=r)return r;var s=c(t,e,n),i=Uint8Array.prototype.slice.call(t,e,e+n);return this.store(i,s),s},t}(),A=function(t,e){var n,r,s,i,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((s=(s=a.trys).length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]1||o(t,e)}))})}function o(t,e){try{(n=s[t](e)).value instanceof D?Promise.resolve(n.value.v).then(l,u):c(i[0][2],n)}catch(t){c(i[0][3],t)}var n}function l(t){o("next",t)}function u(t){o("throw",t)}function c(t,e){t(e),i.shift(),i.length&&o(i[0][0],i[0][1])}},F=new DataView(new ArrayBuffer(0)),$=new Uint8Array(F.buffer),O=function(){try{F.getInt8(0)}catch(t){return t.constructor}throw new Error("never reached")}(),P=new O("Insufficient data"),z=new N,B=function(){function t(t,e,n,r,s,i,a,o){void 0===t&&(t=T.defaultCodec),void 0===n&&(n=4294967295),void 0===r&&(r=4294967295),void 0===s&&(s=4294967295),void 0===i&&(i=4294967295),void 0===a&&(a=4294967295),void 0===o&&(o=z),this.extensionCodec=t,this.context=e,this.maxStrLength=n,this.maxBinLength=r,this.maxArrayLength=s,this.maxMapLength=i,this.maxExtLength=a,this.cachedKeyDecoder=o,this.totalPos=0,this.pos=0,this.view=F,this.bytes=$,this.headByte=-1,this.stack=[]}return t.prototype.setBuffer=function(t){this.bytes=_(t),this.view=function(t){if(t instanceof ArrayBuffer)return new DataView(t);var e=_(t);return new DataView(e.buffer,e.byteOffset,e.byteLength)}(this.bytes),this.pos=0},t.prototype.appendBuffer=function(t){if(-1!==this.headByte||this.hasRemaining()){var e=this.bytes.subarray(this.pos),n=_(t),r=new Uint8Array(e.length+n.length);r.set(e),r.set(n,e.length),this.setBuffer(r)}else this.setBuffer(t)},t.prototype.hasRemaining=function(t){return void 0===t&&(t=1),this.view.byteLength-this.pos>=t},t.prototype.createNoExtraBytesError=function(t){var e=this.view,n=this.pos;return new RangeError("Extra "+(e.byteLength-n)+" byte(s) found at buffer["+t+"]")},t.prototype.decodeSingleSync=function(){var t=this.decodeSync();if(this.hasRemaining())throw this.createNoExtraBytesError(this.pos);return t},t.prototype.decodeSingleAsync=function(t){var e,n,r,s;return function(t,e,n,r){return new(n||(n=Promise))((function(s,i){function a(t){try{l(r.next(t))}catch(t){i(t)}}function o(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,o)}l((r=r.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var i,a,o,l,u,c,h,d;return A(this,(function(p){switch(p.label){case 0:i=!1,p.label=1;case 1:p.trys.push([1,6,7,12]),e=R(t),p.label=2;case 2:return[4,e.next()];case 3:if((n=p.sent()).done)return[3,5];if(o=n.value,i)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(o);try{a=this.decodeSync(),i=!0}catch(t){if(!(t instanceof O))throw t}this.totalPos+=this.pos,p.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return l=p.sent(),r={error:l},[3,12];case 7:return p.trys.push([7,,10,11]),n&&!n.done&&(s=e.return)?[4,s.call(e)]:[3,9];case 8:p.sent(),p.label=9;case 9:return[3,11];case 10:if(r)throw r.error;return[7];case 11:return[7];case 12:if(i){if(this.hasRemaining())throw this.createNoExtraBytesError(this.totalPos);return[2,a]}throw c=(u=this).headByte,h=u.pos,d=u.totalPos,new RangeError("Insufficient data in parcing "+C(c)+" at "+d+" ("+h+" in the current buffer)")}}))}))},t.prototype.decodeArrayStream=function(t){return this.decodeMultiAsync(t,!0)},t.prototype.decodeStream=function(t){return this.decodeMultiAsync(t,!1)},t.prototype.decodeMultiAsync=function(t,e){return L(this,arguments,(function(){var n,r,s,i,a,o,l,u,c;return A(this,(function(h){switch(h.label){case 0:n=e,r=-1,h.label=1;case 1:h.trys.push([1,13,14,19]),s=R(t),h.label=2;case 2:return[4,D(s.next())];case 3:if((i=h.sent()).done)return[3,12];if(a=i.value,e&&0===r)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(a),n&&(r=this.readArraySize(),n=!1,this.complete()),h.label=4;case 4:h.trys.push([4,9,,10]),h.label=5;case 5:return[4,D(this.decodeSync())];case 6:return[4,h.sent()];case 7:return h.sent(),0==--r?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((o=h.sent())instanceof O))throw o;return[3,10];case 10:this.totalPos+=this.pos,h.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return l=h.sent(),u={error:l},[3,19];case 14:return h.trys.push([14,,17,18]),i&&!i.done&&(c=s.return)?[4,D(c.call(s))]:[3,16];case 15:h.sent(),h.label=16;case 16:return[3,18];case 17:if(u)throw u.error;return[7];case 18:return[7];case 19:return[2]}}))}))},t.prototype.decodeSync=function(){t:for(;;){var t=this.readHeadByte(),e=void 0;if(t>=224)e=t-256;else if(t<192)if(t<128)e=t;else if(t<144){if(0!=(r=t-128)){this.pushMapState(r),this.complete();continue t}e={}}else if(t<160){if(0!=(r=t-144)){this.pushArrayState(r),this.complete();continue t}e=[]}else{var n=t-160;e=this.decodeUtf8String(n,0)}else if(192===t)e=null;else if(194===t)e=!1;else if(195===t)e=!0;else if(202===t)e=this.readF32();else if(203===t)e=this.readF64();else if(204===t)e=this.readU8();else if(205===t)e=this.readU16();else if(206===t)e=this.readU32();else if(207===t)e=this.readU64();else if(208===t)e=this.readI8();else if(209===t)e=this.readI16();else if(210===t)e=this.readI32();else if(211===t)e=this.readI64();else if(217===t)n=this.lookU8(),e=this.decodeUtf8String(n,1);else if(218===t)n=this.lookU16(),e=this.decodeUtf8String(n,2);else if(219===t)n=this.lookU32(),e=this.decodeUtf8String(n,4);else if(220===t){if(0!==(r=this.readU16())){this.pushArrayState(r),this.complete();continue t}e=[]}else if(221===t){if(0!==(r=this.readU32())){this.pushArrayState(r),this.complete();continue t}e=[]}else if(222===t){if(0!==(r=this.readU16())){this.pushMapState(r),this.complete();continue t}e={}}else if(223===t){if(0!==(r=this.readU32())){this.pushMapState(r),this.complete();continue t}e={}}else if(196===t){var r=this.lookU8();e=this.decodeBinary(r,1)}else if(197===t)r=this.lookU16(),e=this.decodeBinary(r,2);else if(198===t)r=this.lookU32(),e=this.decodeBinary(r,4);else if(212===t)e=this.decodeExtension(1,0);else if(213===t)e=this.decodeExtension(2,0);else if(214===t)e=this.decodeExtension(4,0);else if(215===t)e=this.decodeExtension(8,0);else if(216===t)e=this.decodeExtension(16,0);else if(199===t)r=this.lookU8(),e=this.decodeExtension(r,1);else if(200===t)r=this.lookU16(),e=this.decodeExtension(r,2);else{if(201!==t)throw new Error("Unrecognized type byte: "+C(t));r=this.lookU32(),e=this.decodeExtension(r,4)}this.complete();for(var s=this.stack;s.length>0;){var i=s[s.length-1];if(0===i.type){if(i.array[i.position]=e,i.position++,i.position!==i.size)continue t;s.pop(),e=i.array}else{if(1===i.type){if(void 0,"string"!=(a=typeof e)&&"number"!==a)throw new Error("The type of key must be string or number but "+typeof e);i.key=e,i.type=2;continue t}if(i.map[i.key]=e,i.readCount++,i.readCount!==i.size){i.key=null,i.type=1;continue t}s.pop(),e=i.map}}return e}var a},t.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=-1},t.prototype.readArraySize=function(){var t=this.readHeadByte();switch(t){case 220:return this.readU16();case 221:return this.readU32();default:if(t<160)return t-144;throw new Error("Unrecognized array type byte: "+C(t))}},t.prototype.pushMapState=function(t){if(t>this.maxMapLength)throw new Error("Max length exceeded: map length ("+t+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:t,key:null,readCount:0,map:{}})},t.prototype.pushArrayState=function(t){if(t>this.maxArrayLength)throw new Error("Max length exceeded: array length ("+t+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:t,array:new Array(t),position:0})},t.prototype.decodeUtf8String=function(t,e){var n;if(t>this.maxStrLength)throw new Error("Max length exceeded: UTF-8 byte length ("+t+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthd?function(t,e,n){var r=t.subarray(e,e+n);return h.decode(r)}(this.bytes,s,t):c(this.bytes,s,t),this.pos+=e+t,r},t.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},t.prototype.decodeBinary=function(t,e){if(t>this.maxBinLength)throw new Error("Max length exceeded: bin length ("+t+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(t+e))throw P;var n=this.pos+e,r=this.bytes.subarray(n,n+t);return this.pos+=e+t,r},t.prototype.decodeExtension=function(t,e){if(t>this.maxExtLength)throw new Error("Max length exceeded: ext length ("+t+") > maxExtLength ("+this.maxExtLength+")");var n=this.view.getInt8(this.pos+e),r=this.decodeBinary(t,e+1);return this.extensionCodec.decode(r,n,this.context)},t.prototype.lookU8=function(){return this.view.getUint8(this.pos)},t.prototype.lookU16=function(){return this.view.getUint16(this.pos)},t.prototype.lookU32=function(){return this.view.getUint32(this.pos)},t.prototype.readU8=function(){var t=this.view.getUint8(this.pos);return this.pos++,t},t.prototype.readI8=function(){var t=this.view.getInt8(this.pos);return this.pos++,t},t.prototype.readU16=function(){var t=this.view.getUint16(this.pos);return this.pos+=2,t},t.prototype.readI16=function(){var t=this.view.getInt16(this.pos);return this.pos+=2,t},t.prototype.readU32=function(){var t=this.view.getUint32(this.pos);return this.pos+=4,t},t.prototype.readI32=function(){var t=this.view.getInt32(this.pos);return this.pos+=4,t},t.prototype.readU64=function(){var t,e,n=(t=this.view,e=this.pos,4294967296*t.getUint32(e)+t.getUint32(e+4));return this.pos+=8,n},t.prototype.readI64=function(){var t=m(this.view,this.pos);return this.pos+=8,t},t.prototype.readF32=function(){var t=this.view.getFloat32(this.pos);return this.pos+=4,t},t.prototype.readF64=function(){var t=this.view.getFloat64(this.pos);return this.pos+=8,t},t}(),U={};function V(t,e){void 0===e&&(e=U);var n=new B(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength);return n.setBuffer(t),n.decodeSingleSync()}var W=function(t,e){var n,r,s,i,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((s=(s=a.trys).length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]1||o(t,e)}))})}function o(t,e){try{(n=s[t](e)).value instanceof H?Promise.resolve(n.value.v).then(l,u):c(i[0][2],n)}catch(t){c(i[0][3],t)}var n}function l(t){o("next",t)}function u(t){o("throw",t)}function c(t,e){t(e),i.shift(),i.length&&o(i[0][0],i[0][1])}};function j(t){if(null==t)throw new Error("Assertion Failure: value must not be null nor undefined")}function q(t){return null!=t[Symbol.asyncIterator]?t:function(t){return G(this,arguments,(function(){var e,n,r,s;return W(this,(function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,H(e.read())];case 3:return n=i.sent(),r=n.done,s=n.value,r?[4,H(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return j(s),[4,H(s)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}(t)}function X(t,e){return void 0===e&&(e=U),function(t,e,n,r){return new(n||(n=Promise))((function(s,i){function a(t){try{l(r.next(t))}catch(t){i(t)}}function o(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?s(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,o)}l((r=r.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var n;return function(t,e){var n,r,s,i,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(s=2&i[0]?r.return:i[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;switch(r=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((s=(s=a.trys).length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]{"use strict";n.r(e),n.d(e,{Abs:()=>Yt,Acos:()=>Jt,Acosh:()=>Zt,AdadeltaOptimizer:()=>_l,AdagradOptimizer:()=>kl,AdamOptimizer:()=>Cl,AdamaxOptimizer:()=>Rl,Add:()=>Qt,AddN:()=>te,All:()=>ee,Any:()=>ne,ArgMax:()=>re,ArgMin:()=>se,Asin:()=>ie,Asinh:()=>ae,Atan:()=>oe,Atan2:()=>ue,Atanh:()=>le,AvgPool:()=>ce,AvgPool3D:()=>de,AvgPool3DGrad:()=>pe,AvgPoolGrad:()=>he,BatchMatMul:()=>fe,BatchToSpaceND:()=>me,Bincount:()=>ge,BroadcastArgs:()=>xe,BroadcastTo:()=>ye,Callback:()=>ST,CallbackList:()=>Sx,Cast:()=>be,Ceil:()=>ve,ClipByValue:()=>we,Complex:()=>Se,ComplexAbs:()=>Te,Concat:()=>_e,Conv2D:()=>Me,Conv2DBackpropFilter:()=>ke,Conv2DBackpropInput:()=>Ee,Conv3D:()=>Ie,Conv3DBackpropFilterV2:()=>Ce,Conv3DBackpropInputV2:()=>Ne,Cos:()=>Ae,Cosh:()=>Re,CropAndResize:()=>Le,Cumsum:()=>De,CustomCallback:()=>Mx,DataStorage:()=>j,DenseBincount:()=>Fe,DepthToSpace:()=>$e,DepthwiseConv2dNative:()=>Oe,DepthwiseConv2dNativeBackpropFilter:()=>Pe,DepthwiseConv2dNativeBackpropInput:()=>ze,Diag:()=>Be,Dilation2D:()=>Ue,Dilation2DBackpropFilter:()=>We,Dilation2DBackpropInput:()=>Ve,ENV:()=>qt,EarlyStopping:()=>MT,Einsum:()=>Ge,Elu:()=>je,EluGrad:()=>qe,Environment:()=>Wt,Equal:()=>Ke,Erf:()=>Xe,Exp:()=>Ye,ExpandDims:()=>Je,Expm1:()=>Ze,FFT:()=>Qe,Fill:()=>tn,FlipLeftRight:()=>en,Floor:()=>nn,FloorDiv:()=>rn,FromPixels:()=>Jr,FusedBatchNorm:()=>sn,FusedConv2D:()=>ts,FusedDepthwiseConv2D:()=>es,GatherNd:()=>on,GatherV2:()=>an,GraphModel:()=>U_,Greater:()=>ln,GreaterEqual:()=>un,History:()=>_x,IFFT:()=>hn,Identity:()=>cn,Imag:()=>dn,InputSpec:()=>ux,IsFinite:()=>pn,IsInf:()=>fn,IsNan:()=>mn,KernelBackend:()=>q,LRN:()=>kn,LRNGrad:()=>En,LayerVariable:()=>ax,LayersModel:()=>Nb,LeakyRelu:()=>gn,Less:()=>yn,LessEqual:()=>xn,LinSpace:()=>bn,Log:()=>vn,Log1p:()=>wn,LogSoftmax:()=>Mn,LogicalAnd:()=>Sn,LogicalNot:()=>Tn,LogicalOr:()=>_n,Max:()=>In,MaxPool:()=>Nn,MaxPool3D:()=>Rn,MaxPool3DGrad:()=>Dn,MaxPoolGrad:()=>An,MaxPoolWithArgmax:()=>Ln,Maximum:()=>Cn,Mean:()=>Fn,Min:()=>$n,Minimum:()=>On,MirrorPad:()=>Pn,Mod:()=>zn,MomentumOptimizer:()=>Ll,Multinomial:()=>Bn,Multiply:()=>Un,Neg:()=>Vn,NonMaxSuppressionV3:()=>Hn,NonMaxSuppressionV4:()=>Gn,NonMaxSuppressionV5:()=>jn,NotEqual:()=>Wn,OP_SCOPE_SUFFIX:()=>Mi,OneHot:()=>Xn,OnesLike:()=>qn,Optimizer:()=>Tl,OptimizerConstructors:()=>$l,Pack:()=>Kn,PadV2:()=>Yn,Pool:()=>Jn,Pow:()=>Zn,Prelu:()=>Qn,Prod:()=>tr,RMSPropOptimizer:()=>Fl,RNN:()=>$v,Range:()=>er,Rank:()=>Ys,Real:()=>nr,RealDiv:()=>He,Reciprocal:()=>rr,Reduction:()=>op,Relu:()=>sr,Relu6:()=>cr,Reshape:()=>ir,ResizeBilinear:()=>lr,ResizeBilinearGrad:()=>ur,ResizeNearestNeighbor:()=>ar,ResizeNearestNeighborGrad:()=>or,Reverse:()=>hr,RotateWithOffset:()=>Zr,Round:()=>dr,Rsqrt:()=>pr,SGDOptimizer:()=>Dl,ScatterNd:()=>fr,Select:()=>mr,Selu:()=>gr,Sequential:()=>Db,Sigmoid:()=>wr,Sign:()=>vr,Sin:()=>xr,Sinh:()=>br,Slice:()=>yr,Softmax:()=>Er,Softplus:()=>Sr,SpaceToBatchND:()=>Mr,SparseFillEmptyRows:()=>Ir,SparseReshape:()=>Cr,SparseSegmentMean:()=>Nr,SparseSegmentSum:()=>Ar,SparseToDense:()=>Rr,SplitV:()=>kr,Sqrt:()=>Tr,Square:()=>Lr,SquaredDifference:()=>Dr,Step:()=>Yr,StridedSlice:()=>Fr,StringNGrams:()=>$r,StringSplit:()=>Or,StringToHashBucketFast:()=>Pr,Sub:()=>zr,Sum:()=>_r,SymbolicTensor:()=>cx,Tan:()=>Br,Tanh:()=>Ur,Tensor:()=>qs,TensorBuffer:()=>Ws,Tile:()=>Vr,TopK:()=>Wr,Transform:()=>Hr,Transpose:()=>Gr,Unique:()=>jr,Unpack:()=>qr,UnsortedSegmentSum:()=>Xr,Variable:()=>Ks,ZerosLike:()=>Kr,_FusedMatMul:()=>Qr,abs:()=>Nl,acos:()=>Ol,acosh:()=>Pl,add:()=>ll,addN:()=>zl,all:()=>Bl,any:()=>Ul,argMax:()=>Vl,argMin:()=>Wl,asin:()=>Hl,asinh:()=>Gl,atan:()=>jl,atan2:()=>ql,atanh:()=>Xl,avgPool:()=>cu,avgPool3d:()=>hu,backend:()=>al,backend_util:()=>y,basicLSTMCell:()=>gu,batchNorm:()=>xu,batchNorm2d:()=>bu,batchNorm3d:()=>vu,batchNorm4d:()=>wu,batchToSpaceND:()=>yu,bincount:()=>Su,booleanMaskAsync:()=>hd,broadcastArgs:()=>Tu,broadcastTo:()=>_u,broadcast_util:()=>l,browser:()=>u,buffer:()=>_a,callbacks:()=>kT,cast:()=>Ma,ceil:()=>Mu,clipByValue:()=>ku,clone:()=>ka,complex:()=>Ei,concat:()=>du,concat1d:()=>Eu,concat2d:()=>Iu,concat3d:()=>Cu,concat4d:()=>Nu,constraints:()=>b,conv1d:()=>Ru,conv2d:()=>Au,conv2dTranspose:()=>Lu,conv3d:()=>Fu,conv3dTranspose:()=>Ou,copyRegisteredKernels:()=>ps,cos:()=>Pu,cosh:()=>zu,cosineWindow:()=>vd,cumsum:()=>Bu,customGrad:()=>vl,data:()=>H,denseBincount:()=>Uu,deprecationWarn:()=>Ho,depthToSpace:()=>Vu,depthwiseConv2d:()=>Wu,deregisterOp:()=>RT,device_util:()=>i,diag:()=>Hu,dilation2d:()=>Gu,disableDeprecationWarnings:()=>Wo,dispose:()=>Yo,disposeVariables:()=>Go,div:()=>cl,divNoNan:()=>Xu,dot:()=>Ku,dropout:()=>xd,einsum:()=>Yu,elu:()=>Ju,enableDebugMode:()=>Vo,enableProdMode:()=>Uo,enclosingPowerOfTwo:()=>bd,engine:()=>jo,env:()=>Gt,equal:()=>ju,erf:()=>Zu,exp:()=>Qu,expandDims:()=>tc,expm1:()=>ec,eye:()=>rc,fft:()=>Uh,fill:()=>Ml,findBackend:()=>rl,findBackendFactory:()=>sl,floor:()=>sc,floorDiv:()=>ul,fused:()=>m,gather:()=>ic,gatherND:()=>yd,gather_util:()=>c,getBackend:()=>el,getGradient:()=>os,getKernel:()=>as,getKernelsForBackend:()=>ls,grad:()=>ml,grads:()=>gl,greater:()=>ac,greaterEqual:()=>oc,ifft:()=>Vh,imag:()=>lc,image:()=>kp,inTopKAsync:()=>wd,initializers:()=>v,input:()=>Ob,io:()=>a,irfft:()=>Wh,isFinite:()=>uc,isInf:()=>cc,isNaN:()=>hc,keep:()=>Jo,kernel_impls:()=>x,layers:()=>w,leakyRelu:()=>dc,less:()=>pc,lessEqual:()=>fc,linalg:()=>Ep,linspace:()=>mc,loadGraphModel:()=>V_,loadLayersModel:()=>$b,localResponseNormalization:()=>gc,log:()=>yc,log1p:()=>xc,logSigmoid:()=>wc,logSoftmax:()=>_c,logSumExp:()=>Dc,logicalAnd:()=>Lc,logicalNot:()=>Fc,logicalOr:()=>$c,logicalXor:()=>Oc,losses:()=>Ip,matMul:()=>Ga,math:()=>o,max:()=>Sc,maxPool:()=>Pc,maxPool3d:()=>zc,maxPoolWithArgmax:()=>Bc,maximum:()=>Al,mean:()=>Uc,memory:()=>qo,meshgrid:()=>Hc,metrics:()=>S,min:()=>Gc,minimum:()=>jc,mirrorPad:()=>qc,mod:()=>Xc,model:()=>Lb,models:()=>T,moments:()=>Kc,movingAverage:()=>fd,mul:()=>hl,multiRNNCell:()=>Yc,multinomial:()=>Jc,neg:()=>bc,nextFrame:()=>Dp,norm:()=>pd,notEqual:()=>Zc,oneHot:()=>ja,ones:()=>Wc,onesLike:()=>Qc,op:()=>ki,outerProduct:()=>th,pad:()=>eh,pad1d:()=>nh,pad2d:()=>rh,pad3d:()=>sh,pad4d:()=>ih,pool:()=>oh,pow:()=>El,prelu:()=>lh,print:()=>Ea,prod:()=>uh,profile:()=>Xo,rand:()=>ch,randomGamma:()=>mh,randomNormal:()=>gh,randomUniform:()=>yh,range:()=>xh,ready:()=>tl,real:()=>bh,reciprocal:()=>vh,registerBackend:()=>il,registerCallbackConstructor:()=>Pb,registerGradient:()=>cs,registerKernel:()=>us,registerOp:()=>NT,regularizers:()=>_,relu:()=>wh,relu6:()=>Sh,removeBackend:()=>nl,reshape:()=>uu,reverse:()=>Th,reverse1d:()=>_h,reverse2d:()=>Mh,reverse3d:()=>kh,reverse4d:()=>Eh,rfft:()=>Gh,round:()=>Ih,rsqrt:()=>Ch,scalar:()=>Sl,scatterND:()=>md,scatter_util:()=>h,selu:()=>Nh,separableConv2d:()=>Ah,sequential:()=>Fb,serialization:()=>p,setBackend:()=>Qo,setPlatform:()=>ol,setdiff1dAsync:()=>Rh,sigmoid:()=>pu,sign:()=>Dh,signal:()=>Mp,sin:()=>Lh,sinh:()=>Fh,slice:()=>fu,slice1d:()=>$h,slice2d:()=>Oh,slice3d:()=>Ph,slice4d:()=>zh,slice_util:()=>d,softmax:()=>Bh,softplus:()=>vc,spaceToBatchND:()=>ah,sparse:()=>Cp,sparseToDense:()=>gd,spectral:()=>_p,split:()=>Hh,sqrt:()=>dl,square:()=>pl,squaredDifference:()=>jh,squeeze:()=>qh,stack:()=>Xh,step:()=>Kh,stridedSlice:()=>Yh,string:()=>Np,sub:()=>Il,sum:()=>Tc,sumOutType:()=>ri,tan:()=>Jh,tanh:()=>mu,tensor:()=>Ci,tensor1d:()=>Zh,tensor2d:()=>Qh,tensor3d:()=>Za,tensor4d:()=>td,tensor5d:()=>ed,tensor6d:()=>nd,tensor_util:()=>s,test_util:()=>f,tidy:()=>Ko,tile:()=>nc,time:()=>Zo,topk:()=>rd,train:()=>Ap,transpose:()=>qa,truncatedNormal:()=>sd,unique:()=>id,unregisterGradient:()=>ds,unregisterKernel:()=>hs,unsortedSegmentSum:()=>ad,unstack:()=>od,upcastType:()=>ni,util:()=>r,valueAndGrad:()=>yl,valueAndGrads:()=>xl,variable:()=>ld,variableGrads:()=>bl,version:()=>jB,version_converter:()=>W_,version_core:()=>Bo,version_layers:()=>ib,where:()=>qu,whereAsync:()=>cd,zeros:()=>Vc,zerosLike:()=>fl});var r={};n.r(r),n.d(r,{arraysEqual:()=>ut,assert:()=>rt,assertNonNegativeIntegerDimensions:()=>zt,assertNonNull:()=>it,assertShapesMatch:()=>st,bytesFromStringArray:()=>kt,bytesPerElement:()=>Mt,checkConversionForErrors:()=>wt,clamp:()=>J,computeStrides:()=>Dt,createScalarValue:()=>Cs,createShuffledIndices:()=>pt,decodeString:()=>Ls,distSquared:()=>nt,encodeString:()=>Ds,fetch:()=>Rs,fingerPrint64:()=>Is,flatten:()=>at,getArrayFromDType:()=>vt,getTypedArrayFromDType:()=>bt,hasEncodingLoss:()=>Tt,hexToLong:()=>ys,indexToLoc:()=>Ut,inferDtype:()=>Nt,inferFromImplicitShape:()=>gt,isBoolean:()=>It,isFunction:()=>At,isInt:()=>ct,isNumber:()=>Ct,isPromise:()=>Vt,isScalarShape:()=>lt,isString:()=>Et,isTypedArray:()=>_t,isValidDtype:()=>St,locToIndex:()=>Bt,makeOnesTypedArray:()=>$t,makeZerosNestedTypedArray:()=>Pt,makeZerosTypedArray:()=>Ot,nearestDivisor:()=>Rt,nearestLargerEven:()=>Z,now:()=>As,parseAxisParam:()=>yt,randUniform:()=>et,repeatedTry:()=>mt,rightPad:()=>ft,shuffle:()=>K,shuffleCombo:()=>Y,sizeFromShape:()=>ot,sizeToSquarishShape:()=>dt,squeezeShape:()=>xt,sum:()=>tt,swap:()=>Q,tanh:()=>ht,toNestedArray:()=>Ft,toTypedArray:()=>Ns});var s={};n.r(s),n.d(s,{assertTypesMatch:()=>ii,getTensorsInContainer:()=>oi,isTensorInList:()=>ai,makeTypesMatch:()=>si});var i={};n.r(i),n.d(i,{isBrowser:()=>xi,isMobile:()=>yi,mockIsMobile:()=>gi});var a={};n.r(a),n.d(a,{browserFiles:()=>Aa,browserHTTPRequest:()=>Ba,concatenateArrayBuffers:()=>$i,copyModel:()=>va,decodeWeights:()=>Ri,encodeWeights:()=>Ai,fromMemory:()=>Wa,getLoadHandlers:()=>ji,getModelArtifactsForJSON:()=>zi,getModelArtifactsInfoForJSON:()=>Bi,getSaveHandlers:()=>Gi,http:()=>za,isHTTPScheme:()=>Oa,listModels:()=>xa,loadWeights:()=>La,moveModel:()=>wa,registerLoadRouter:()=>Hi,registerSaveRouter:()=>Wi,removeModel:()=>ba,weightsLoaderFactory:()=>Fa,withSaveHandler:()=>Ha});var o={};n.r(o),n.d(o,{confusionMatrix:()=>Xa});var l={};n.r(l),n.d(l,{assertAndGetBroadcastShape:()=>Ja,getBroadcastDims:()=>Ka,getReductionAxes:()=>Ya});var u={};n.r(u),n.d(u,{fromPixels:()=>ro,fromPixelsAsync:()=>eo,toPixels:()=>no});var c={};n.r(c),n.d(c,{prepareAndValidate:()=>so});var h={};n.r(h),n.d(h,{calculateShapes:()=>oo,validateInput:()=>ao,validateUpdateShape:()=>io});var d={};n.r(d),n.d(d,{assertParamsValid:()=>lo,computeFlatOffset:()=>So,computeOutShape:()=>co,getNormalizedAxes:()=>mo,isSliceContinous:()=>wo,maskToAxes:()=>uo,parseSliceParams:()=>To,sliceInfo:()=>_o,startForAxis:()=>bo,startIndicesWithElidedDims:()=>go,stopForAxis:()=>vo,stopIndicesWithElidedDims:()=>yo,stridesForAxis:()=>xo,stridesWithElidedDims:()=>ho});var p={};n.r(p),n.d(p,{Serializable:()=>ko,SerializationMap:()=>Eo,registerClass:()=>Io});var f={};n.r(f),n.d(f,{TEST_EPSILON_FLOAT16:()=>Co,encodeStrings:()=>zo,expectArrayBuffersEqual:()=>Po,expectArraysClose:()=>No,expectArraysEqual:()=>Lo,expectNumbersClose:()=>Fo,expectPromiseToFail:()=>Do,expectValuesInRange:()=>Oo,testEpsilon:()=>Ao});var m={};n.r(m),n.d(m,{conv2d:()=>Ed,depthwiseConv2d:()=>Nd,matMul:()=>Ad});var g={};n.r(g),n.d(g,{collectGatherOpShapeInfo:()=>Cf,computeOutShape:()=>If,segOpComputeOptimalWindowSize:()=>Ef});var y={};n.r(y),n.d(y,{ERF_A1:()=>qp,ERF_A2:()=>Xp,ERF_A3:()=>Kp,ERF_A4:()=>Yp,ERF_A5:()=>Jp,ERF_P:()=>jp,PARALLELIZE_THRESHOLD:()=>$p,SELU_SCALE:()=>Gp,SELU_SCALEALPHA:()=>Hp,applyActivation:()=>Md,assertAndGetBroadcastShape:()=>Ja,assertAxesAreInnerMostDims:()=>Cc,assertParamsConsistent:()=>Lp,assignToTypedArray:()=>rf,axesAreInnerMostDims:()=>Mc,calculateShapes:()=>oo,checkEinsumDimSizes:()=>cf,checkPadOnDimRoundingMode:()=>lu,combineLocations:()=>kc,complexWithEvenIndex:()=>tf,complexWithOddIndex:()=>ef,computeConv2DInfo:()=>Zl,computeConv3DInfo:()=>Ql,computeDefaultPad:()=>tu,computeDilation2DInfo:()=>Kl,computeOptimalWindowSize:()=>Op,computeOutAndReduceShapes:()=>Ec,computeOutShape:()=>Fp,computePool2DInfo:()=>Yl,computePool3DInfo:()=>Jl,convertConv2DDataFormat:()=>ou,decodeEinsumEquation:()=>lf,eitherStridesOrDilationsAreOne:()=>au,expandShapeToKeepDim:()=>Ic,exponent:()=>af,exponents:()=>sf,fromStringArrayToUint8:()=>Af,fromUint8ToStringArray:()=>Nf,getAxesPermutation:()=>Nc,getBroadcastDims:()=>Ka,getComplexWithIndex:()=>nf,getEinsumComputePath:()=>hf,getEinsumPermutation:()=>uf,getFusedBiasGradient:()=>_d,getFusedDyActivation:()=>Td,getImageCenter:()=>Pp,getInnerMostAxes:()=>Rc,getPermuted:()=>Bp,getReductionAxes:()=>Ya,getReshaped:()=>zp,getReshapedPermuted:()=>Up,getSliceBeginCoords:()=>Vp,getSliceSize:()=>Wp,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>mf,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>gf,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>yf,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>vf,getSparseReshapeInputOutputMismatchErrorMessage:()=>Sf,getSparseReshapeInputOutputMultipleErrorMessage:()=>wf,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>xf,getSparseReshapeNegativeOutputDimErrorMessage:()=>bf,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>kf,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>Tf,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>_f,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>Mf,getUndoAxesPermutation:()=>Ac,isIdentityPermutation:()=>df,log:()=>rs,mergeRealAndImagArrays:()=>Zp,prepareAndValidate:()=>so,prepareSplitSize:()=>ff,segment_util:()=>g,shouldFuse:()=>kd,slice_util:()=>d,splitRealAndImagArrays:()=>Qp,tupleValuesAreOne:()=>iu,upcastType:()=>ni,validateInput:()=>ao,validateUpdateShape:()=>io,warn:()=>ns});var x={};n.r(x),n.d(x,{nonMaxSuppressionV3Impl:()=>Hd,nonMaxSuppressionV4Impl:()=>Gd,nonMaxSuppressionV5Impl:()=>jd,whereImpl:()=>ud});var b={};n.r(b),n.d(b,{maxNorm:()=>Cg,minMaxNorm:()=>Rg,nonNeg:()=>Ag,unitNorm:()=>Ng});var v={};n.r(v),n.d(v,{constant:()=>Py,glorotNormal:()=>Gy,glorotUniform:()=>Hy,heNormal:()=>jy,heUniform:()=>qy,identity:()=>Vy,leCunNormal:()=>Xy,leCunUniform:()=>Ky,ones:()=>Oy,orthogonal:()=>Yy,randomNormal:()=>By,randomUniform:()=>zy,truncatedNormal:()=>Uy,varianceScaling:()=>Wy,zeros:()=>$y});var w={};n.r(w),n.d(w,{Layer:()=>fx,RNN:()=>$v,RNNCell:()=>Ov,activation:()=>rS,add:()=>dS,alphaDropout:()=>nT,average:()=>pS,averagePooling1d:()=>SS,averagePooling2d:()=>MS,averagePooling3d:()=>IS,avgPool1d:()=>TS,avgPool2d:()=>kS,avgPool3d:()=>CS,avgPooling1d:()=>_S,avgPooling2d:()=>ES,avgPooling3d:()=>NS,batchNormalization:()=>bS,bidirectional:()=>XS,concatenate:()=>fS,conv1d:()=>Xw,conv2d:()=>Kw,conv2dTranspose:()=>Yw,conv3d:()=>Jw,conv3dTranspose:()=>Zw,convLstm2d:()=>HS,convLstm2dCell:()=>GS,cropping2D:()=>tS,dense:()=>sS,depthwiseConv2d:()=>nS,dot:()=>xS,dropout:()=>iS,elu:()=>Vw,embedding:()=>hS,flatten:()=>oS,gaussianDropout:()=>eT,gaussianNoise:()=>tT,globalAveragePooling1d:()=>AS,globalAveragePooling2d:()=>RS,globalMaxPool1d:()=>YS,globalMaxPool2d:()=>JS,globalMaxPooling1d:()=>DS,globalMaxPooling2d:()=>LS,gru:()=>PS,gruCell:()=>zS,input:()=>Ob,inputLayer:()=>Uw,layerNormalization:()=>vS,leakyReLU:()=>Hw,lstm:()=>BS,lstmCell:()=>US,masking:()=>rT,maxPool1d:()=>ZS,maxPool2d:()=>QS,maxPooling1d:()=>FS,maxPooling2d:()=>$S,maxPooling3d:()=>OS,maximum:()=>mS,minimum:()=>gS,multiply:()=>yS,permute:()=>cS,prelu:()=>Gw,reLU:()=>Ww,repeatVector:()=>lS,reshape:()=>uS,rnn:()=>jS,separableConv2d:()=>Qw,simpleRNN:()=>VS,simpleRNNCell:()=>WS,softmax:()=>jw,spatialDropout1d:()=>aS,stackedRNNCells:()=>qS,thresholdedReLU:()=>qw,timeDistributed:()=>KS,upSampling2d:()=>eS,zeroPadding2d:()=>wS});var S={};n.r(S),n.d(S,{MAPE:()=>fT,MSE:()=>yT,binaryAccuracy:()=>sT,binaryCrossentropy:()=>iT,categoricalAccuracy:()=>oT,categoricalCrossentropy:()=>lT,cosineProximity:()=>hT,mape:()=>mT,meanAbsoluteError:()=>dT,meanAbsolutePercentageError:()=>pT,meanSquaredError:()=>gT,mse:()=>xT,precision:()=>uT,recall:()=>cT,sparseCategoricalAccuracy:()=>aT});var T={};n.r(T),n.d(T,{modelFromJSON:()=>Rb});var _={};n.r(_),n.d(_,{l1:()=>vT,l1l2:()=>bT,l2:()=>wT});var M={};n.r(M),n.d(M,{json:()=>BT});var k={};n.r(k),n.d(k,{json:()=>UT});var E={};n.r(E),n.d(E,{json:()=>VT});var I={};n.r(I),n.d(I,{json:()=>WT});var C={};n.r(C),n.d(C,{json:()=>HT});var N={};n.r(N),n.d(N,{json:()=>GT});var A={};n.r(A),n.d(A,{json:()=>jT});var R={};n.r(R),n.d(R,{json:()=>qT});var D={};n.r(D),n.d(D,{json:()=>XT});var L={};n.r(L),n.d(L,{json:()=>KT});var F={};n.r(F),n.d(F,{json:()=>YT});var $={};n.r($),n.d($,{json:()=>JT});var O={};n.r(O),n.d(O,{json:()=>ZT});var P={};n.r(P),n.d(P,{json:()=>QT});var z={};n.r(z),n.d(z,{json:()=>t_});var B={};n.r(B),n.d(B,{json:()=>e_});var U={};n.r(U),n.d(U,{json:()=>n_});var V={};n.r(V),n.d(V,{json:()=>r_});var W={};n.r(W),n.d(W,{json:()=>s_});var H={};n.r(H),n.d(H,{CSVDataset:()=>AM,Dataset:()=>bM,FileDataSource:()=>WM,TextLineDataset:()=>_M,URLDataSource:()=>HM,array:()=>wM,csv:()=>GM,func:()=>jM,generator:()=>qM,microphone:()=>KM,version_data:()=>YM,webcam:()=>XM,zip:()=>SM});var G={};n.r(G),n.d(G,{addImpl:()=>Nk,bincountImpl:()=>SE,bincountReduceImpl:()=>TE,ceilImpl:()=>kE,concatImpl:()=>RE,equalImpl:()=>fI,expImpl:()=>MI,expm1Impl:()=>NI,floorImpl:()=>qI,gatherNdImpl:()=>eC,gatherV2Impl:()=>rC,greaterEqualImpl:()=>lC,greaterImpl:()=>iC,lessEqualImpl:()=>wC,lessImpl:()=>xC,linSpaceImpl:()=>_C,logImpl:()=>kC,maxImpl:()=>UC,maximumImpl:()=>HC,minimumImpl:()=>tN,multiplyImpl:()=>aI,negImpl:()=>cN,notEqualImpl:()=>xN,prodImpl:()=>AN,rangeImpl:()=>DN,rsqrtImpl:()=>GN,sigmoidImpl:()=>yk,simpleAbsImpl:()=>zk,sliceImpl:()=>xE,sparseFillEmptyRowsImpl:()=>hA,sparseReshapeImpl:()=>pA,sparseSegmentReductionImpl:()=>mA,sqrtImpl:()=>vA,squaredDifferenceImpl:()=>_A,stridedSliceImpl:()=>CA,stringNGramsImpl:()=>RA,stringSplitImpl:()=>FA,stringToHashBucketFastImpl:()=>OA,subImpl:()=>$I,tileImpl:()=>VA,topKImpl:()=>jA,transposeImpl:()=>jk,uniqueImpl:()=>QA});class j{constructor(t,e){this.backend=t,this.dataMover=e,this.data=new WeakMap,this.dataIdsCount=0}get(t){return this.data.has(t)||this.dataMover.moveData(this.backend,t),this.data.get(t)}set(t,e){this.dataIdsCount++,this.data.set(t,e)}has(t){return this.data.has(t)}delete(t){return this.dataIdsCount--,this.data.delete(t)}numDataIds(){return this.dataIdsCount}}class q{refCount(t){return X("refCount")}incRef(t){return X("incRef")}timerAvailable(){return!0}time(t){return X("time")}read(t){return X("read")}readSync(t){return X("readSync")}readToGPU(t,e){return X("readToGPU")}numDataIds(){return X("numDataIds")}disposeData(t,e){return X("disposeData")}write(t,e,n){return X("write")}move(t,e,n,r,s){return X("move")}memory(){return X("memory")}floatPrecision(){return X("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return X("dispose")}}function X(t){throw new Error(`'${t}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function K(t){let e=t.length,n=0;for(;e>0;)n=Math.random()*e|0,e--,Q(t,e,n)}function Y(t,e){if(t.length!==e.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${t.length}Second array length was ${e.length}`);let n=t.length,r=0;for(;n>0;)r=Math.random()*n|0,n--,Q(t,n,r),Q(e,n,r)}function J(t,e,n){return Math.max(t,Math.min(e,n))}function Z(t){return t%2==0?t:t+1}function Q(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function tt(t){let e=0;for(let n=0;nn+` Shapes ${t} and ${e} must match`))}function it(t){rt(null!=t,(()=>"The input to the tensor constructor must be a non-null value."))}function at(t,e=[],n=!1){if(null==e&&(e=[]),Array.isArray(t)||_t(t)&&!n)for(let r=0;r0),n){return new Promise(((r,s)=>{let i=0;const a=()=>{if(t())return void r();i++;const o=e(i);null!=n&&i>=n?s():setTimeout(a,o)};a()}))}function gt(t,e){let n=1,r=-1;for(let e=0;e=0)n*=t[e];else if(-1===t[e]){if(-1!==r)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${e}`);r=e}else if(t[e]<0)throw Error(`Shapes can not be < 0. Found ${t[e]} at dim ${e}`);if(-1===r){if(e>0&&e!==n)throw Error(`Size(${e}) must match the product of shape ${t}`);return t}if(0===n)throw Error(`Cannot infer the missing size in [${t}] when there are 0 elements`);if(e%n!=0)throw Error(`The implicit shape can't be a fractional number. Got ${e} / ${n}`);const s=t.slice();return s[r]=e/n,s}function yt(t,e){const n=e.length;return rt((t=null==t?e.map(((t,e)=>e)):[].concat(t)).every((t=>t>=-n&&t`All values in axis param must be in range [-${n}, ${n}) but got axis ${t}`)),rt(t.every((t=>ct(t))),(()=>`All values in axis param must be integers but got axis ${t}`)),t.map((t=>t<0?n+t:t))}function xt(t,e){const n=[],r=[],s=null!=e&&Array.isArray(e)&&0===e.length,i=null==e||s?null:yt(e,t).sort();let a=0;for(let e=0;ee)&&1===t[e]&&(n.push(t[e]),r.push(e)),i[a]<=e&&a++}1!==t[e]&&(n.push(t[e]),r.push(e))}return{newShape:n,keptDims:r}}function bt(t,e){let n=null;if(null==t||"float32"===t)n=new Float32Array(e);else if("int32"===t)n=new Int32Array(e);else{if("bool"!==t)throw new Error(`Unknown data type ${t}`);n=new Uint8Array(e)}return n}function vt(t,e){let n=null;if(null==t||"float32"===t)n=new Float32Array(e);else if("int32"===t)n=new Int32Array(e);else if("bool"===t)n=new Uint8Array(e);else{if("string"!==t)throw new Error(`Unknown data type ${t}`);n=new Array(e)}return n}function wt(t,e){for(let n=0;ne+=t.length)),e}function Et(t){return"string"==typeof t||t instanceof String}function It(t){return"boolean"==typeof t}function Ct(t){return"number"==typeof t}function Nt(t){return Array.isArray(t)?Nt(t[0]):t instanceof Float32Array?"float32":t instanceof Int32Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray?"int32":Ct(t)?"float32":Et(t)?"string":It(t)?"bool":"float32"}function At(t){return!!(t&&t.constructor&&t.call&&t.apply)}function Rt(t,e){for(let n=e;n=0;--r)n[r]=n[r+1]*t[r+1];return n}function Lt(t,e,n,r=!1){const s=new Array;if(1===e.length){const i=e[0]*(r?2:1);for(let e=0;et*e))*(r?2:1);for(let e=0;et*e))*(n?2:1);if(0===r)return[];if(r!==e.length)throw new Error(`[${t}] does not match the input size ${e.length}${n?" for a complex tensor":""}.`);return Lt(0,t,e,n)}function $t(t,e){const n=Ot(t,e);for(let t=0;tt*e),1);if(null==e||"float32"===e)return Ft(t,new Float32Array(n));if("int32"===e)return Ft(t,new Int32Array(n));if("bool"===e)return Ft(t,new Uint8Array(n));throw new Error(`Unknown data type ${e}`)}function zt(t){t.forEach((e=>{rt(Number.isInteger(e)&&e>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${t}].`))}))}function Bt(t,e,n){if(0===e)return 0;if(1===e)return t[0];let r=t[t.length-1];for(let e=0;e{const[e,n]=t.split(":");this.urlFlags[e]=function(t,e){if("true"===(e=e.toLowerCase())||"false"===e)return"true"===e;if(""+ +e===e)return+e;throw new Error(`Could not parse value flag value ${e} for flag ${t}.`)}(e,n)}))}}function Ht(t){const e={};return t.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((t,...n)=>(function(t,e,n){t[decodeURIComponent(e)]=decodeURIComponent(n||"")}(e,n[0],n[1]),n.join("=")))),e}function Gt(){return qt}let jt,qt=null;function Xt(){if(null==jt){let t;if("undefined"!=typeof window)t=window;else if(void 0!==n.g)t=n.g;else if("undefined"!=typeof process)t=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");t=self}jt=t}return jt}function Kt(t,e){const n=function(){const t=Xt();return null==t._tfGlobals&&(t._tfGlobals=new Map),t._tfGlobals}();if(n.has(t))return n.get(t);{const r=e();return n.set(t,r),n.get(t)}}const Yt="Abs",Jt="Acos",Zt="Acosh",Qt="Add",te="AddN",ee="All",ne="Any",re="ArgMax",se="ArgMin",ie="Asin",ae="Asinh",oe="Atan",le="Atanh",ue="Atan2",ce="AvgPool",he="AvgPoolGrad",de="AvgPool3D",pe="AvgPool3DGrad",fe="BatchMatMul",me="BatchToSpaceND",ge="Bincount",ye="BroadcastTo",xe="BroadcastArgs",be="Cast",ve="Ceil",we="ClipByValue",Se="Complex",Te="ComplexAbs",_e="Concat",Me="Conv2D",ke="Conv2DBackpropFilter",Ee="Conv2DBackpropInput",Ie="Conv3D",Ce="Conv3DBackpropFilterV2",Ne="Conv3DBackpropInputV2",Ae="Cos",Re="Cosh",De="Cumsum",Le="CropAndResize",Fe="DenseBincount",$e="DepthToSpace",Oe="DepthwiseConv2dNative",Pe="DepthwiseConv2dNativeBackpropFilter",ze="DepthwiseConv2dNativeBackpropInput",Be="Diag",Ue="Dilation2D",Ve="Dilation2DBackpropInput",We="Dilation2DBackpropFilter",He="RealDiv",Ge="Einsum",je="Elu",qe="EluGrad",Xe="Erf",Ke="Equal",Ye="Exp",Je="ExpandDims",Ze="Expm1",Qe="FFT",tn="Fill",en="FlipLeftRight",nn="Floor",rn="FloorDiv",sn="FusedBatchNorm",an="GatherV2",on="GatherNd",ln="Greater",un="GreaterEqual",cn="Identity",hn="IFFT",dn="Imag",pn="IsFinite",fn="IsInf",mn="IsNan",gn="LeakyRelu",yn="Less",xn="LessEqual",bn="LinSpace",vn="Log",wn="Log1p",Sn="LogicalAnd",Tn="LogicalNot",_n="LogicalOr",Mn="LogSoftmax",kn="LRN",En="LRNGrad",In="Max",Cn="Maximum",Nn="MaxPool",An="MaxPoolGrad",Rn="MaxPool3D",Dn="MaxPool3DGrad",Ln="MaxPoolWithArgmax",Fn="Mean",$n="Min",On="Minimum",Pn="MirrorPad",zn="Mod",Bn="Multinomial",Un="Multiply",Vn="Neg",Wn="NotEqual",Hn="NonMaxSuppressionV3",Gn="NonMaxSuppressionV4",jn="NonMaxSuppressionV5",qn="OnesLike",Xn="OneHot",Kn="Pack",Yn="PadV2",Jn="Pool",Zn="Pow",Qn="Prelu",tr="Prod",er="Range",nr="Real",rr="Reciprocal",sr="Relu",ir="Reshape",ar="ResizeNearestNeighbor",or="ResizeNearestNeighborGrad",lr="ResizeBilinear",ur="ResizeBilinearGrad",cr="Relu6",hr="Reverse",dr="Round",pr="Rsqrt",fr="ScatterNd",mr="Select",gr="Selu",yr="Slice",xr="Sin",br="Sinh",vr="Sign",wr="Sigmoid",Sr="Softplus",Tr="Sqrt",_r="Sum",Mr="SpaceToBatchND",kr="SplitV",Er="Softmax",Ir="SparseFillEmptyRows",Cr="SparseReshape",Nr="SparseSegmentMean",Ar="SparseSegmentSum",Rr="SparseToDense",Dr="SquaredDifference",Lr="Square",Fr="StridedSlice",$r="StringNGrams",Or="StringSplit",Pr="StringToHashBucketFast",zr="Sub",Br="Tan",Ur="Tanh",Vr="Tile",Wr="TopK",Hr="Transform",Gr="Transpose",jr="Unique",qr="Unpack",Xr="UnsortedSegmentSum",Kr="ZerosLike",Yr="Step",Jr="FromPixels",Zr="RotateWithOffset",Qr="_FusedMatMul",ts="FusedConv2D",es="FusedDepthwiseConv2D";function ns(...t){Gt().getBool("IS_TEST")||Gt().getBool("PROD")||console.warn(...t)}function rs(...t){Gt().getBool("IS_TEST")||Gt().getBool("PROD")||console.log(...t)}const ss=Kt("kernelRegistry",(()=>new Map)),is=Kt("gradRegistry",(()=>new Map));function as(t,e){const n=fs(t,e);return ss.get(n)}function os(t){return is.get(t)}function ls(t){const e=ss.entries(),n=[];for(;;){const{done:r,value:s}=e.next();if(r)break;const[i,a]=s,[o]=i.split("_");o===t&&n.push(a)}return n}function us(t){const{kernelName:e,backendName:n}=t,r=fs(e,n);ss.has(r)&&ns(`The kernel '${e}' for backend '${n}' is already registered`),ss.set(r,t)}function cs(t){const{kernelName:e}=t;is.has(e)&&Gt().getBool("DEBUG")&&ns(`Overriding the gradient for '${e}'`),is.set(e,t)}function hs(t,e){const n=fs(t,e);if(!ss.has(n))throw new Error(`The kernel '${t}' for backend '${e}' is not registered`);ss.delete(n)}function ds(t){if(!is.has(t))throw new Error(`The gradient '${t}' for backend is not registered`);is.delete(t)}function ps(t,e){ls(t).forEach((t=>{us(Object.assign({},t,{backendName:e}))}))}function fs(t,e){return`${e}_${t}`}var ms=n(3720);const gs=n.n(ms)()||ms;function ys(t){return gs.fromString(t,!0,16)}const xs=ys("c3a5c85c97cb3127"),bs=ys("b492b66fbe98f273"),vs=ys("9ae16a3b2f90404f");function ws(t){return t.xor(t.shru(47))}function Ss(t,e,n){const r=t.slice(e,e+n);return gs.fromBytes(Array.from(r),!0,!0)}function Ts(t,e){return Ss(t,e,8)}function _s(t,e){return Ss(t,e,4)}function Ms(t,e){return 0===e?t:t.shru(e).or(t.shl(64-e))}function ks(t,e,n=ys("9ddfea08eb382d69")){let r=t.xor(e).mul(n);r=r.xor(r.shru(47));let s=e.xor(r).mul(n);return s=s.xor(s.shru(47)),s=s.mul(n),s}function Es(t,e,n,r){return function(t,e,n,r,s,i){s=s.add(t),i=Ms(i.add(s).add(r),21);const a=s;return s=(s=s.add(e)).add(n),i=i.add(Ms(s,44)),[s.add(r),i.add(a)]}(Ts(t,e),Ts(t,e+8),Ts(t,e+16),Ts(t,e+24),n,r)}function Is(t,e=t.length){const n=gs.fromNumber(81,!0);if(e<=32)return e<=16?function(t,e=t.length){if(e>=8){const n=vs.add(2*e),r=Ts(t,0).add(vs),s=Ts(t,e-8);return ks(Ms(s,37).mul(n).add(r),Ms(r,25).add(s).mul(n),n)}if(e>=4){const n=vs.add(2*e);return ks(_s(t,0).shl(3).add(e),_s(t,e-4),n)}if(e>0){const n=t[0]+(t[e>>1]<<8),r=e+(t[e-1]<<2);return ws(vs.mul(n).xor(xs.mul(r))).mul(vs)}return vs}(t,e):function(t,e=t.length){const n=vs.add(2*e),r=Ts(t,0).mul(bs),s=Ts(t,8),i=Ts(t,e-8).mul(n),a=Ts(t,e-16).mul(vs);return ks(Ms(r.add(s),43).add(Ms(i,30)).add(a),r.add(Ms(s.add(vs),18)).add(i),n)}(t,e);if(e<=64)return function(t,e=t.length){const n=vs.add(2*e),r=Ts(t,0).mul(vs),s=Ts(t,8),i=Ts(t,e-8).mul(n),a=Ts(t,e-16).mul(vs),o=Ms(r.add(s),43).add(Ms(i,30)).add(a),l=ks(o,r.add(Ms(s.add(vs),18)).add(i),n),u=Ts(t,16).mul(n),c=Ts(t,24),h=o.add(Ts(t,e-32)).mul(n),d=l.add(Ts(t,e-24)).mul(n);return ks(Ms(u.add(c),43).add(Ms(h,30)).add(d),u.add(Ms(c.add(r),18)).add(h),n)}(t,e);let r=n,s=n.mul(bs).add(113),i=ws(s.mul(vs).add(113)).mul(vs),a=[gs.UZERO,gs.UZERO],o=[gs.UZERO,gs.UZERO];r=r.mul(vs).add(Ts(t,0));let l=0;const u=64*(e-1>>6),c=u+(e-1&63)-63;do{r=Ms(r.add(s).add(a[0]).add(Ts(t,l+8)),37).mul(bs),s=Ms(s.add(a[1]).add(Ts(t,l+48)),42).mul(bs),r=r.xor(o[1]),s=s.add(a[0]).add(Ts(t,l+40)),i=Ms(i.add(o[0]),33).mul(bs),a=Es(t,l,a[1].mul(bs),r.add(o[0])),o=Es(t,l+32,i.add(o[1]),s.add(Ts(t,l+16))),[i,r]=[r,i],l+=64}while(l!==u);const h=bs.add(i.and(255).shl(1));return l=c,o[0]=o[0].add(e-1&63),a[0]=a[0].add(o[0]),o[0]=o[0].add(a[0]),r=Ms(r.add(s).add(a[0]).add(Ts(t,l+8)),37).mul(h),s=Ms(s.add(a[1]).add(Ts(t,l+48)),42).mul(h),r=r.xor(o[1].mul(9)),s=s.add(a[0].mul(9).add(Ts(t,l+40))),i=Ms(i.add(o[0]),33).mul(h),a=Es(t,l,a[1].mul(h),r.add(o[0])),o=Es(t,l+32,i.add(o[1]),s.add(Ts(t,l+16))),[i,r]=[r,i],ks(ks(a[0],o[0],h).add(ws(s).mul(xs)).add(i),ks(a[1],o[1],h).add(r),h)}function Cs(t,e){return"string"===e?Ds(t):Ns([t],e)}function Ns(t,e){if("string"===e)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(t)&&(t=at(t)),Gt().getBool("DEBUG")&&wt(t,e),function(t,e){return t instanceof Float32Array&&"float32"===e||t instanceof Int32Array&&"int32"===e||t instanceof Uint8Array&&"bool"===e}(t,e))return t;if(null==e||"float32"===e||"complex64"===e)return new Float32Array(t);if("int32"===e)return new Int32Array(t);if("bool"===e){const e=new Uint8Array(t.length);for(let n=0;n{r=n()};let i;const a=As();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(s);else{s();for(const t of r)t.dataSync();i=Promise.resolve({kernelMs:As()-a})}if(Gt().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let e=0;e{$s(e,n.dtype,t)}))}return{kernelName:t,outputs:r,inputs:e,timeMs:i.then((t=>t.kernelMs)),extraInfo:i.then((t=>null!=t.getExtraProfileInfo?t.getExtraProfileInfo():""))}}logKernelProfile(t){const{kernelName:e,outputs:n,timeMs:r,inputs:s,extraInfo:i}=t;n.forEach((t=>{Promise.all([t.data(),r,i]).then((n=>{this.logger.logKernelProfile(e,t,n[0],n[1],s,n[2])}))}))}}function $s(t,e,n){if("float32"!==e)return!1;for(let e=0;e0?r:""} `}}console.log(`%c${o}\t%c${a}\t%c${l}D ${c}\t%c${u}\t%c${h}\t%c${i}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function Ps(t,e,n,r){const s=Dt(e),i=function(t,e,n,r){const s=ot(e),i=r[r.length-1],a=new Array(i).fill(0),o=e.length,l="complex64"===n?Vs(t):t;if(o>1)for(let t=0;t" "+t)).join("\n")),l.join("\n")}function zs(t,e,n){let r;return r=Array.isArray(t)?`${parseFloat(t[0].toFixed(7))} + ${parseFloat(t[1].toFixed(7))}j`:Et(t)?`'${t}'`:"bool"===n?Bs(t):parseFloat(t.toFixed(7)).toString(),ft(r,e)}function Bs(t){return 0===t?"false":"true"}function Us(t,e,n,r,s,i=!0){const a="complex64"===n?2:1,o=e[0],l=e.length;if(0===l)return"complex64"===n?[zs(Vs(t)[0],0,n)]:"bool"===n?[Bs(t[0])]:[t[0].toString()];if(1===l){if(o>20){const e=3*a;let r=Array.from(t.slice(0,e)),i=Array.from(t.slice((o-3)*a,o*a));return"complex64"===n&&(r=Vs(r),i=Vs(i)),["["+r.map(((t,e)=>zs(t,s[e],n))).join(", ")+", ..., "+i.map(((t,e)=>zs(t,s[o-3+e],n))).join(", ")+"]"]}return["["+("complex64"===n?Vs(t):Array.from(t)).map(((t,e)=>zs(t,s[e],n))).join(", ")+"]"]}const u=e.slice(1),c=r.slice(1),h=r[0]*a,d=[];if(o>20){for(let e=0;e<3;e++){const r=e*h,i=r+h;d.push(...Us(t.slice(r,i),u,n,c,s,!1))}d.push("...");for(let e=o-3;e`Length of values '${t}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===e)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||vt(e,this.size),this.strides=Dt(t)}set(t,...e){0===e.length&&(e=[0]),rt(e.length===this.rank,(()=>`The number of provided coordinates (${e.length}) must match the rank (${this.rank})`));const n=this.locToIndex(e);this.values[n]=t}get(...t){0===t.length&&(t=[0]);let e=0;for(const n of t){if(n<0||n>=this.shape[e]){const e=`Requested out of range element at ${t}. Buffer shape=${this.shape}`;throw new Error(e)}e++}let n=t[t.length-1];for(let e=0;eLs(t)))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return t}dataToGPU(t){return this.throwIfDisposed(),Hs().readToGPU(this.dataId,t)}dataSync(){this.throwIfDisposed();const t=Hs().readSync(this.dataId);if("string"===this.dtype)try{return t.map((t=>Ls(t)))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return t}async bytes(){this.throwIfDisposed();const t=await Hs().read(this.dataId);return"string"===this.dtype?t:new Uint8Array(t.buffer)}dispose(){this.isDisposed||(Hs().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(t=!1){return Gs.print(this,t)}clone(){return this.throwIfDisposed(),Gs.clone(this)}toString(t=!1){return Ps(this.dataSync(),this.shape,this.dtype,t)}cast(t){return this.throwIfDisposed(),Gs.cast(this,t)}variable(t=!0,e,n){return this.throwIfDisposed(),Hs().makeVariable(this,t,e,n)}}function Xs(){return Kt("Tensor",(()=>qs))}Object.defineProperty(qs,Symbol.hasInstance,{value:t=>!!t&&null!=t.data&&null!=t.dataSync&&null!=t.throwIfDisposed}),Xs();class Ks extends qs{constructor(t,e,n,r){super(t.shape,t.dtype,t.dataId,r),this.trainable=e,this.name=n}assign(t){if(t.dtype!==this.dtype)throw new Error(`dtype of the new value (${t.dtype}) and previous value (${this.dtype}) must match`);if(!ut(t.shape,this.shape))throw new Error(`shape of the new value (${t.shape}) and previous value (${this.shape}) must match`);Hs().disposeTensor(this),this.dataId=t.dataId,Hs().incRef(this,null)}dispose(){Hs().disposeVariable(this),this.isDisposedInternal=!0}}var Ys,Js,Zs,Qs,ti;Object.defineProperty(Ks,Symbol.hasInstance,{value:t=>t instanceof qs&&null!=t.assign&&t.assign instanceof Function}),function(t){t.R0="R0",t.R1="R1",t.R2="R2",t.R3="R3",t.R4="R4",t.R5="R5",t.R6="R6"}(Ys||(Ys={})),function(t){t.float32="float32",t.int32="int32",t.bool="int32",t.complex64="complex64"}(Js||(Js={})),function(t){t.float32="float32",t.int32="int32",t.bool="bool",t.complex64="complex64"}(Zs||(Zs={})),function(t){t.float32="float32",t.int32="float32",t.bool="float32",t.complex64="complex64"}(Qs||(Qs={})),function(t){t.float32="complex64",t.int32="complex64",t.bool="complex64",t.complex64="complex64"}(ti||(ti={}));const ei={float32:Qs,int32:Js,bool:Zs,complex64:ti};function ni(t,e){if("string"===t||"string"===e){if("string"===t&&"string"===e)return"string";throw new Error(`Can not upcast ${t} with ${e}`)}return ei[t][e]}function ri(t){return ni(t,"int32")}function si(t,e){if(t.dtype===e.dtype)return[t,e];const n=ni(t.dtype,e.dtype);return[t.cast(n),e.cast(n)]}function ii(t,e){rt(t.dtype===e.dtype,(()=>`The dtypes of the first(${t.dtype}) and second(${e.dtype}) input must match`))}function ai(t,e){return e.some((e=>e.id===t.id))}function oi(t){const e=[];return li(t,e,new Set),e}function li(t,e,n){if(null==t)return;if(t instanceof qs)return void e.push(t);if(r=t,!Array.isArray(r)&&"object"!=typeof r)return;var r;const s=t;for(const t in s){const r=s[t];n.has(r)||(n.add(r),li(r,e,n))}}function ui(t){return null!=t.kernelName}class ci{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((t=>t.name))))}}}dispose(){for(const t in this.registeredVariables)this.registeredVariables[t].dispose()}}class hi{constructor(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new ci}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const t=this.getSortedBackends();for(let e=0;e{null!=t.setupFunc&&t.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(t){ls(t).forEach((e=>{null!=e.disposeFunc&&e.disposeFunc(this.registry[t])}))}initializeBackend(t){const e=this.registryFactory[t];if(null==e)throw new Error(`Cannot initialize backend ${t}, no registration found.`);try{const n=e.factory();if(!n||n instanceof q||"function"!=typeof n.then)return this.registry[t]=n,{success:!0,asyncInit:!1};{const e=++this.pendingBackendInitId,r=n.then((n=>!(e(ethis.registryFactory[e].priority-this.registryFactory[t].priority))}initializeBackendsAndReturnBest(){const t=this.getSortedBackends();for(let e=0;ethis.startScope(r)),(()=>this.endScope(n)),(()=>(n=e(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(t,e,n){t();try{const t=n();return e(),t}catch(t){throw e(),t}}nextTensorId(){return hi.nextTensorId++}nextVariableId(){return hi.nextVariableId++}clone(t){const e=pi.runKernel(cn,{x:t}),n={x:t};return this.addTapeNode(this.state.activeScope.name,n,[e],(t=>({x:()=>{const e={x:t};return pi.runKernel(be,e,{dtype:"float32"})}})),[],{}),e}runKernel(t,e,n){if(null==this.backendName&&this.backend,null==as(t,this.backendName))throw new Error(`Kernel '${t}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:t,inputs:e,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(t,e,n){const r=this.backend.numDataIds();let s=0;n.forEach((t=>{s+="complex64"===t.dtype?3:1}));const i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=r-e-s-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${t}'`)}runKernelFunc(t){let e,n=[];const r=this.isTapeOn(),s=this.state.numBytes,i=this.state.numTensors;let a,o;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0),null==this.backendName&&this.backend;const l=ui(t)?t.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(ui(t)){const{kernelName:e,inputs:s,attrs:i}=t;null==this.backendName&&this.backend;const l=as(e,this.backendName);rt(null!=l,(()=>`Cannot find registered kernel '${e}' for backend '${this.backendName}'`)),a=()=>{const t=this.backend.numDataIds();o=l.kernelFunc({inputs:s,attrs:i,backend:this.backend});const a=Array.isArray(o)?o:[o];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(e,t,a);const u=a.map((t=>{if(null!=t.rank)return t;const{dataId:e,shape:n,dtype:r}=t;return this.makeTensorFromDataId(e,n,r)}));if(r){const t=this.getTensorsForGradient(e,s,u);n=this.saveTensorsForBackwardMode(t)}return u}}else{const{forwardFunc:e}=t,s=t=>{r&&(n=t.map((t=>this.keep(this.clone(t)))))};a=()=>{const t=this.backend.numDataIds();o=this.tidy((()=>e(this.backend,s)));const n=Array.isArray(o)?o:[o];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,t,n),n}}const{inputs:u,attrs:c}=t,h=ui(t)?null:t.backwardsFunc;let d;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(d=this.profiler.profileKernel(l,u,(()=>a())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(d),e=d.outputs):e=a()})),r&&this.addTapeNode(l,u,e,h,n,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(u).map((t=>null!=u[t]?u[t].shape:null)),outputShapes:e.map((t=>t.shape)),kernelTimeMs:d.timeMs,extraInfo:d.extraInfo}),Array.isArray(o)?e:e[0]}saveTensorsForBackwardMode(t){const e=t.map((t=>this.keep(this.clone(t))));return e}getTensorsForGradient(t,e,n){const r=os(t);if(null!=r){const t=r.inputsToSave||[],s=r.outputsToSave||[];let i;r.saveAllInputs?(rt(Array.isArray(e),(()=>"saveAllInputs is true, expected inputs to be an array.")),i=Object.keys(e).map((t=>e[t]))):i=t.map((t=>e[t]));const a=n.filter(((t,e)=>s[e]));return i.concat(a)}return[]}makeTensor(t,e,n,r){if(null==t)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let s=t;"string"===n&&Et(t[0])&&(s=t.map((t=>Ds(t))));const i=r.write(s,e,n),a=new qs(e,n,i,this.nextTensorId());if(this.trackTensor(a,r),"string"===n){const t=this.state.tensorInfo.get(i),e=kt(s);this.state.numBytes+=e-t.bytes,t.bytes=e}return a}makeTensorFromDataId(t,e,n,r){const s=new qs(e,n=n||"float32",t,this.nextTensorId());return this.trackTensor(s,r),s}makeVariable(t,e=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==t.dtype&&(t=t.cast(r));const s=new Ks(t,e,n,this.nextTensorId());if(null!=this.state.registeredVariables[s.name])throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(t,e){this.state.numTensors++,"string"===t.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==t.dtype&&"string"!==t.dtype&&(n=t.size*Mt(t.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(t.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(t.dataId,{backend:e||this.backend,dtype:t.dtype,shape:t.shape,bytes:n})),t instanceof Ks||this.track(t)}incRef(t,e){this.trackTensor(t,e),this.backend.incRef(t.dataId)}removeDataId(t,e){this.state.tensorInfo.has(t)&&this.state.tensorInfo.get(t).backend===e&&(this.state.tensorInfo.delete(t),this.state.numDataBuffers--)}disposeTensor(t){if(!this.state.tensorInfo.has(t.dataId))return;const e=this.state.tensorInfo.get(t.dataId);if(this.state.numTensors--,"string"===t.dtype&&(this.state.numStringTensors--,this.state.numBytes-=e.bytes),"complex64"!==t.dtype&&"string"!==t.dtype){const e=t.size*Mt(t.dtype);this.state.numBytes-=e}e.backend.disposeData(t.dataId)&&this.removeDataId(t.dataId,e.backend)}disposeVariables(){for(const t in this.state.registeredVariables){const e=this.state.registeredVariables[t];this.disposeVariable(e)}}disposeVariable(t){this.disposeTensor(t),null!=this.state.registeredVariables[t.name]&&delete this.state.registeredVariables[t.name]}memory(){const t=this.backend.memory();return t.numTensors=this.state.numTensors,t.numDataBuffers=this.state.numDataBuffers,t.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(t.unreliable=!0,null==t.reasons&&(t.reasons=[]),t.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),t}async profile(t){this.state.profiling=!0;const e=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await t(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((t=>t.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-e,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const t of this.state.activeProfile.kernels)t.kernelTimeMs=await t.kernelTimeMs,t.extraInfo=await t.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(t,e,n,r,s,i){const a={id:this.state.nextTapeNodeId++,kernelName:t,inputs:e,outputs:n,saved:s},o=os(t);null!=o&&(r=o.gradFunc),null!=r&&(a.gradient=t=>(t=t.map(((t,e)=>{if(null==t){const t=n[e],r=Ot(t.size,t.dtype);return this.makeTensor(r,t.shape,t.dtype)}return t})),r(t.length>1?t:t[0],s,i))),this.state.activeTape.push(a)}keep(t){return t.kept=!0,t}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(t){const e={track:[],name:"unnamed scope",id:this.state.nextScopeId++};t&&(e.name=t),this.state.scopeStack.push(e),this.state.activeScope=e}endScope(t){const e=oi(t),n=new Set(e.map((t=>t.id)));for(let t=0;t{t.kept||t.scopeId!==r.id||this.track(t)}))}gradients(t,e,n,r=!1){if(rt(e.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const s=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",t)));rt(s instanceof qs,(()=>"The result y returned by f() must be a tensor."));const i=function(t,e,n){const r={},s={};for(let t=0;tr[t.id]=!0)),o=!0,s[i.id]=!0;break}if(o)break}}const i={};i[n.id]=!0;const a={};for(let e=t.length-1;e>=0;e--){const n=t[e],r=n.inputs;for(let t=0;t0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const t={};t[s.id]=null==n?function(t){const e=$t(ot(t),"float32");return pi.makeTensor(e,t,"float32")}(s.shape):n,function(t,e,n,r){for(let s=e.length-1;s>=0;s--){const i=e[s],a=[];if(i.outputs.forEach((e=>{const n=t[e.id];null!=n?a.push(n):a.push(null)})),null==i.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${i.kernelName}.`);const o=i.gradient(a);for(const e in i.inputs){if(!(e in o))throw new Error(`Cannot backprop through input ${e}. Available gradients found: ${Object.keys(o)}.`);const s=n((()=>o[e]()));if("float32"!==s.dtype)throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input ${e} must have 'float32' dtype, but has '${s.dtype}'`);const a=i.inputs[e];if(!ut(s.shape,a.shape))throw new Error(`Error in gradient for op ${i.kernelName}. The gradient of input '${e}' has shape '${s.shape}', which does not match the shape of the input '${a.shape}'`);if(null==t[a.id])t[a.id]=s;else{const e=t[a.id];t[a.id]=r(e,s),e.dispose()}}}}(t,i,(t=>this.tidy(t)),fi);const r=e.map((e=>t[e.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((t=>{for(const e of t.saved)e.dispose()})),this.state.activeTape=null),{value:s,grads:r}}))}customGrad(t){return rt(At(t),(()=>"The f passed in customGrad(f) must be a function.")),(...e)=>{let n;rt(e.every((t=>t instanceof qs)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};return e.forEach(((t,e)=>{r[e]=t})),this.runKernelFunc({forwardFunc:(r,s)=>(n=t(...e,s),rt(n.value instanceof qs,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),rt(At(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(t,r)=>{const s=n.gradFunc(t,r),i=Array.isArray(s)?s:[s];rt(i.length===e.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),rt(i.every((t=>t instanceof qs)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const a={};return i.forEach(((t,e)=>{a[e]=()=>t})),a},inputs:r})}}readSync(t){return this.state.tensorInfo.get(t).backend.readSync(t)}read(t){return this.state.tensorInfo.get(t).backend.read(t)}readToGPU(t,e){return this.state.tensorInfo.get(t).backend.readToGPU(t,e)}async time(t){const e=As(),n=await this.backend.time(t);return n.wallMs=As()-e,n}track(t){return null!=this.state.activeScope&&(t.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(t)),t}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new ci;for(const t in this.registry)this.disposeRegisteredKernels(t),this.registry[t].dispose(),delete this.registry[t];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function di(){const t=Xt();if(null==t._tfengine){const e=new Wt(t);t._tfengine=new hi(e)}var e;return e=t._tfengine.ENV,qt=e,Hs=()=>t._tfengine,t._tfengine}hi.nextTensorId=0,hi.nextVariableId=0;const pi=di();function fi(t,e){const n={a:t,b:e};return pi.runKernel(Qt,n)}let mi;function gi(t){mi=t}function yi(t){if(void 0!==mi)return mi;if(t||"undefined"!=typeof navigator&&null!=navigator){if(t||(t=navigator),"ReactNative"===t.product)return!0;const e=t.userAgent||t.vendor||("undefined"!=typeof window?window.opera:"");if(!e){const e=t;return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}return!1}function xi(){return"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope}const bi=Gt();function vi(t,e){let n=t;if(_t(t))return"string"===e?[]:[t.length];if(!Array.isArray(t))return[];const r=[];for(;Array.isArray(n)||_t(n)&&"string"!==e;)r.push(n.length),n=n[0];return Array.isArray(t)&&Gt().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&wi(t,r,[]),r}function wi(t,e,n){if(n=n||[],!Array.isArray(t)&&!_t(t))return void rt(0===e.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${e[0]} elements`));rt(e.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${t.length} elements`)),rt(t.length===e[0],(()=>`Element arr[${n.join("][")}] should have ${e[0]} elements, but has ${t.length} elements`));const r=e.slice(1);for(let e=0;e=0&&(s=r),Si(r,s,e,n),null==t||!_t(t)&&!Array.isArray(t)&&"number"!=typeof t&&"boolean"!=typeof t&&"string"!=typeof t){const r=null==t?"null":t.constructor.name;throw new Error(`Argument '${e}' passed to '${n}' must be a Tensor or TensorLike, but got '${r}'`)}const i=vi(t,s);_t(t)||Array.isArray(t)||(t=[t]);const a="string"!==s?Ns(t,s):at(t,[],!0);return pi.makeTensor(a,i,s)}function _i(t,e,n,r="numeric"){if(!Array.isArray(t))throw new Error(`Argument ${e} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);return t.map(((t,s)=>Ti(t,`${e}[${s}]`,n,r)))}bi.registerFlag("DEBUG",(()=>!1),(t=>{t&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),bi.registerFlag("IS_BROWSER",(()=>xi())),bi.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),bi.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),bi.registerFlag("PROD",(()=>!1)),bi.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>bi.getBool("DEBUG"))),bi.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),bi.registerFlag("IS_TEST",(()=>!1)),bi.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>!0)),bi.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1));const Mi="__op";function ki(t){const e=Object.keys(t);if(1!==e.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${e.length} keys.`);let n=e[0];const r=t[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+=Mi;const s=(...t)=>{pi.startScope(n);try{const e=r(...t);return Vt(e)&&console.error("Cannot return a Promise inside of tidy."),pi.endScope(e),e}catch(t){throw pi.endScope(null),t}};return Object.defineProperty(s,"name",{value:n,configurable:!0}),s}const Ei=ki({complex_:function(t,e){const n=Ti(t,"real","complex"),r=Ti(e,"imag","complex");st(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const s={real:n,imag:r};return pi.runKernel(Se,s)}});function Ii(t,e,n,r){if(null==r&&(r=Nt(t)),"complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(!_t(t)&&!Array.isArray(t)&&"number"!=typeof t&&"boolean"!=typeof t&&"string"!=typeof t)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=e){zt(e);const t=ot(e),r=ot(n);rt(t===r,(()=>`Based on the provided shape, [${e}], the tensor should have ${t} values but has ${r}`));for(let t=0;t`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${e}). `))}}return _t(t)||Array.isArray(t)||(t=[t]),e=e||n,t="string"!==r?Ns(t,r):at(t,[],!0),pi.makeTensor(t,e,r)}function Ci(t,e,n){return Ii(t,e,vi(t,n),n)}const Ni={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};async function Ai(t,e){const n=[],r=[],s=Array.isArray(t)?t.map((t=>t.name)):Object.keys(t);for(let i=0;i{const e=await o.bytes(),n=e.reduce(((t,e)=>t+e.length),0)+4*e.length,r=new Uint8Array(n);let s=0;for(let t=0;t{if(e+=t.byteLength,n.push(t.byteLength===t.buffer.byteLength?t:new t.constructor(t)),!(t instanceof Float32Array||t instanceof Int32Array||t instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${t.constructor.name}`)}));const r=new Uint8Array(e);let s=0;return n.forEach((t=>{r.set(new Uint8Array(t.buffer),s),s+=t.byteLength})),r.buffer}const Li="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function Fi(t){return Li?Buffer.byteLength(t):new Blob([t]).size}function $i(t){if(1===t.length)return t[0];let e=0;t.forEach((t=>{e+=t.byteLength}));const n=new Uint8Array(e);let r=0;return t.forEach((t=>{n.set(new Uint8Array(t),r),r+=t.byteLength})),n.buffer}function Oi(t){for(t=t.trim();t.endsWith("/");)t=t.slice(0,t.length-1);const e=t.split("/");return e[e.length-1]}function Pi(t,e){const n={modelTopology:t.modelTopology,format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy,weightsManifest:e};return null!=t.signature&&(n.signature=t.signature),null!=t.userDefinedMetadata&&(n.userDefinedMetadata=t.userDefinedMetadata),null!=t.modelInitializer&&(n.modelInitializer=t.modelInitializer),null!=t.trainingConfig&&(n.trainingConfig=t.trainingConfig),n}async function zi(t,e){const n={modelTopology:t.modelTopology,format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy};if(null!=t.trainingConfig&&(n.trainingConfig=t.trainingConfig),null!=t.weightsManifest){const[r,s]=await e(t.weightsManifest);n.weightSpecs=r,n.weightData=s}return null!=t.signature&&(n.signature=t.signature),null!=t.userDefinedMetadata&&(n.userDefinedMetadata=t.userDefinedMetadata),null!=t.modelInitializer&&(n.modelInitializer=t.modelInitializer),n}function Bi(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==t.modelTopology?0:Fi(JSON.stringify(t.modelTopology)),weightSpecsBytes:null==t.weightSpecs?0:Fi(JSON.stringify(t.weightSpecs)),weightDataBytes:null==t.weightData?0:t.weightData.byteLength}}function Ui(){const t=function(){const t=t=>{let e=t<<13,n=0;for(;0==(8388608&e);)n-=8388608,e<<=1;return e&=-8388609,n+=947912704,e|n},e=new Uint32Array(2048);e[0]=0;for(let n=1;n<1024;n++)e[n]=t(n);for(let t=1024;t<2048;t++)e[t]=939524096+(t-1024<<13);return e}(),e=function(){const t=new Uint32Array(64);t[0]=0,t[31]=1199570944,t[32]=2147483648,t[63]=3347054592;for(let e=1;e<31;e++)t[e]=e<<23;for(let e=33;e<63;e++)t[e]=2147483648+(e-32<<23);return t}(),n=function(){const t=new Uint32Array(64);for(let e=0;e<64;e++)t[e]=1024;return t[0]=t[32]=0,t}();return r=>{const s=new ArrayBuffer(4*r.length),i=new Uint32Array(s);for(let s=0;s>10]+(1023&a)]+e[a>>10];i[s]=o}return new Float32Array(s)}}class Vi{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Vi.instance&&(Vi.instance=new Vi),Vi.instance}static registerSaveRouter(t){Vi.getInstance().saveRouters.push(t)}static registerLoadRouter(t){Vi.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return Vi.getHandlers(t,"save")}static getLoadHandlers(t,e){return Vi.getHandlers(t,"load",e)}static getHandlers(t,e,n){const r=[];return("load"===e?Vi.getInstance().loadRouters:Vi.getInstance().saveRouters).forEach((e=>{const s=e(t,n);null!==s&&r.push(s)})),r}}const Wi=t=>Vi.registerSaveRouter(t),Hi=t=>Vi.registerLoadRouter(t),Gi=t=>Vi.getSaveHandlers(t),ji=(t,e)=>Vi.getLoadHandlers(t,e),qi="tensorflowjs",Xi="models_store",Ki="model_info_store";function Yi(){if(!Gt().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const t="undefined"==typeof window?self:window,e=t.indexedDB||t.mozIndexedDB||t.webkitIndexedDB||t.msIndexedDB||t.shimIndexedDB;if(null==e)throw new Error("The current browser does not appear to support IndexedDB.");return e}function Ji(t){const e=t.result;e.createObjectStore(Xi,{keyPath:"modelPath"}),e.createObjectStore(Ki,{keyPath:"modelPath"})}class Zi{constructor(t){if(this.indexedDB=Yi(),null==t||!t)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=t}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,t)}async load(){return this.databaseAction(this.modelPath)}databaseAction(t,e){return new Promise(((t,n)=>{const r=this.indexedDB.open(qi,1);r.onupgradeneeded=()=>Ji(r),r.onsuccess=()=>{const s=r.result;if(null==e){const e=s.transaction(Xi,"readonly"),r=e.objectStore(Xi).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return s.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));t(r.result.modelArtifacts)},r.onerror=t=>(s.close(),n(r.error)),e.oncomplete=()=>s.close()}else{const r=Bi(e),i=s.transaction(Ki,"readwrite");let a=i.objectStore(Ki);const o=a.put({modelPath:this.modelPath,modelArtifactsInfo:r});let l;o.onsuccess=()=>{l=s.transaction(Xi,"readwrite");const o=l.objectStore(Xi).put({modelPath:this.modelPath,modelArtifacts:e,modelArtifactsInfo:r});o.onsuccess=()=>t({modelArtifactsInfo:r}),o.onerror=t=>{a=i.objectStore(Ki);const e=a.delete(this.modelPath);e.onsuccess=()=>(s.close(),n(o.error)),e.onerror=t=>(s.close(),n(o.error))}},o.onerror=t=>(s.close(),n(o.error)),i.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}}},r.onerror=t=>n(r.error)}))}}Zi.URL_SCHEME="indexeddb://";const Qi=t=>{return Gt().getBool("IS_BROWSER")&&!Array.isArray(t)&&t.startsWith(Zi.URL_SCHEME)?(e=t.slice(Zi.URL_SCHEME.length),new Zi(e)):null;var e};Vi.registerSaveRouter(Qi),Vi.registerLoadRouter(Qi);class ta{constructor(){this.indexedDB=Yi()}async listModels(){return new Promise(((t,e)=>{const n=this.indexedDB.open(qi,1);n.onupgradeneeded=()=>Ji(n),n.onsuccess=()=>{const r=n.result,s=r.transaction(Ki,"readonly"),i=s.objectStore(Ki).getAll();i.onsuccess=()=>{const e={};for(const t of i.result)e[t.modelPath]=t.modelArtifactsInfo;t(e)},i.onerror=t=>(r.close(),e(i.error)),s.oncomplete=()=>r.close()},n.onerror=t=>e(n.error)}))}async removeModel(t){var e;return t=(e=t).startsWith(Zi.URL_SCHEME)?e.slice(Zi.URL_SCHEME.length):e,new Promise(((e,n)=>{const r=this.indexedDB.open(qi,1);r.onupgradeneeded=()=>Ji(r),r.onsuccess=()=>{const s=r.result,i=s.transaction(Ki,"readwrite"),a=i.objectStore(Ki),o=a.get(t);let l;o.onsuccess=()=>{if(null==o.result)return s.close(),n(new Error(`Cannot find model with path '${t}' in IndexedDB.`));{const r=a.delete(t),i=()=>{l=s.transaction(Xi,"readwrite");const r=l.objectStore(Xi).delete(t);r.onsuccess=()=>e(o.result.modelArtifactsInfo),r.onerror=t=>n(o.error)};r.onsuccess=i,r.onerror=t=>(i(),s.close(),n(o.error))}},o.onerror=t=>(s.close(),n(o.error)),i.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}},r.onerror=t=>n(r.error)}))}}const ea="/",na="tensorflowjs_models",ra="info",sa="model_topology",ia="weight_specs",aa="weight_data",oa="model_metadata";function la(t){return{info:[na,t,ra].join(ea),topology:[na,t,sa].join(ea),weightSpecs:[na,t,ia].join(ea),weightData:[na,t,aa].join(ea),modelMetadata:[na,t,oa].join(ea)}}function ua(t){for(const e of Object.values(t))window.localStorage.removeItem(e)}function ca(t){const e=t.split(ea);if(e.length<3)throw new Error(`Invalid key format: ${t}`);return e.slice(1,e.length-1).join(ea)}class ha{constructor(t){if(!Gt().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==t||!t)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=t,this.keys=la(this.modelPath)}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const e=JSON.stringify(t.modelTopology),n=JSON.stringify(t.weightSpecs),r=Bi(t);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,e),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(t){if(Li)return Buffer.from(t).toString("base64");const e=new Uint8Array(t);let n="";for(let t=0,r=e.length;t{return Gt().getBool("IS_BROWSER")&&!Array.isArray(t)&&t.startsWith(ha.URL_SCHEME)?(e=t.slice(ha.URL_SCHEME.length),new ha(e)):null;var e};Vi.registerSaveRouter(da),Vi.registerLoadRouter(da);class pa{constructor(){rt(Gt().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),rt("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const t={},e=na+ea,n=ea+ra;for(let r=0;r"scheme must not be undefined or null.")),t.endsWith(fa)&&(t=t.slice(0,t.indexOf(fa))),rt(t.length>0,(()=>"scheme must not be an empty string."));const n=ma.getInstance();rt(null==n.managers[t],(()=>`A model store manager is already registered for scheme '${t}'.`)),n.managers[t]=e}static getManager(t){const e=this.getInstance().managers[t];if(null==e)throw new Error(`Cannot find model manager for scheme '${t}'`);return e}static getSchemes(){return Object.keys(this.getInstance().managers)}}function ga(t){if(-1===t.indexOf(fa))throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ma.getSchemes().join(",")}`);return{scheme:t.split(fa)[0],path:t.split(fa)[1]}}async function ya(t,e,n=!1){rt(t!==e,(()=>`Old path and new path are the same: '${t}'`));const r=Vi.getLoadHandlers(t);rt(r.length>0,(()=>`Copying failed because no load handler is found for source URL ${t}.`)),rt(r.length<2,(()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${t}.`));const s=r[0],i=Vi.getSaveHandlers(e);rt(i.length>0,(()=>`Copying failed because no save handler is found for destination URL ${e}.`)),rt(i.length<2,(()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${e}.`));const a=i[0],o=ga(t).scheme,l=ga(t).path,u=o===ga(t).scheme,c=await s.load();n&&u&&await ma.getManager(o).removeModel(l);const h=await a.save(c);return n&&!u&&await ma.getManager(o).removeModel(l),h.modelArtifactsInfo}async function xa(){const t=ma.getSchemes(),e={};for(const n of t){const t=await ma.getManager(n).listModels();for(const r in t)e[n+fa+r]=t[r]}return e}async function ba(t){const e=ga(t);return ma.getManager(e.scheme).removeModel(e.path)}async function va(t,e){return ya(t,e,!1)}async function wa(t,e){return ya(t,e,!0)}class Sa{fetch(t,e){return fetch(t,e)}now(){return performance.now()}encode(t,e){if("utf-8"!==e&&"utf8"!==e)throw new Error(`Browser's encoder only supports utf-8, but got ${e}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(t)}decode(t,e){return new TextDecoder(e).decode(t)}}if(Gt().get("IS_BROWSER")){Gt().setPlatform("browser",new Sa);try{ma.registerManager(ha.URL_SCHEME,new pa)}catch(t){}try{ma.registerManager(Zi.URL_SCHEME,new ta)}catch(t){}}let Ta;function _a(t,e="float32",n){return e=e||"float32",zt(t),new Ws(t,e,n)}Gt().get("IS_NODE")&&Gt().setPlatform("node",new class{constructor(){this.util=n(1758),this.textEncoder=new this.util.TextEncoder}fetch(t,e){return null!=Gt().global.fetch?Gt().global.fetch(t,e):(null==Ta&&(Ta=n(8352)),Ta(t,e))}now(){const t=process.hrtime();return 1e3*t[0]+t[1]/1e6}encode(t,e){if("utf-8"!==e&&"utf8"!==e)throw new Error(`Node built-in encoder only supports utf-8, but got ${e}`);return this.textEncoder.encode(t)}decode(t,e){return 0===t.length?"":new this.util.TextDecoder(e).decode(t)}});const Ma=ki({cast_:function(t,e){const n=Ti(t,"x","cast");if(!St(e))throw new Error(`Failed to cast to unknown dtype ${e}`);if("string"===e&&"string"!==n.dtype||"string"!==e&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");const r={x:n},s={dtype:e};return pi.runKernel(be,r,s)}}),ka=ki({clone_:function(t){const e={x:Ti(t,"x","clone","string_or_numeric")};return pi.runKernel(cn,e)}});function Ea(t,e=!1){console.log(t.toString(e))}function Ia(t){return new Promise((t=>setTimeout(t))).then(t)}di(),Gs={buffer:_a,cast:Ma,clone:ka,print:Ea};class Ca{constructor(t){if(!Gt().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");t.startsWith(Ca.URL_SCHEME)&&(t=t.slice(Ca.URL_SCHEME.length)),null!=t&&0!==t.length||(t="model"),this.modelJsonFileName=t+".json",this.weightDataFileName=t+".weights.bin"}async save(t){if("undefined"==typeof document)throw new Error("Browser downloads are not supported in this environment since `document` is not present");const e=window.URL.createObjectURL(new Blob([t.weightData],{type:"application/octet-stream"}));if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=Pi(t,[{paths:["./"+this.weightDataFileName],weights:t.weightSpecs}]),r=window.URL.createObjectURL(new Blob([JSON.stringify(n)],{type:"application/json"})),s=null==this.modelJsonAnchor?document.createElement("a"):this.modelJsonAnchor;if(s.download=this.modelJsonFileName,s.href=r,await Ia((()=>s.dispatchEvent(new MouseEvent("click")))),null!=t.weightData){const t=null==this.weightDataAnchor?document.createElement("a"):this.weightDataAnchor;t.download=this.weightDataFileName,t.href=e,await Ia((()=>t.dispatchEvent(new MouseEvent("click"))))}return{modelArtifactsInfo:Bi(t)}}}}Ca.URL_SCHEME="downloads://";class Na{constructor(t){if(null==t||t.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${t}`);this.jsonFile=t[0],this.weightsFiles=t.slice(1)}async load(){return new Promise(((t,e)=>{const n=new FileReader;n.onload=n=>{const r=JSON.parse(n.target.result),s=r.modelTopology;if(null==s)return void e(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));if(null==r.weightsManifest)return void e(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));if(0===this.weightsFiles.length)return void t({modelTopology:s});const i=zi(r,(t=>this.loadWeights(t)));t(i)},n.onerror=t=>e(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)}))}loadWeights(t){const e=[],n=[];for(const r of t)e.push(...r.weights),n.push(...r.paths);const r=this.checkManifestAndWeightFiles(t),s=n.map((t=>this.loadWeightsFile(t,r[t])));return Promise.all(s).then((t=>[e,$i(t)]))}loadWeightsFile(t,e){return new Promise(((n,r)=>{const s=new FileReader;s.onload=t=>{const e=t.target.result;n(e)},s.onerror=e=>r(`Failed to weights data from file of path '${t}'.`),s.readAsArrayBuffer(e)}))}checkManifestAndWeightFiles(t){const e=[],n=this.weightsFiles.map((t=>Oi(t.name))),r={};for(const s of t)s.paths.forEach((t=>{const s=Oi(t);if(-1!==e.indexOf(s))throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(e.push(s),-1===n.indexOf(s))throw new Error(`Weight file with basename '${s}' is not provided.`);r[t]=this.weightsFiles[n.indexOf(s)]}));if(e.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${e.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return r}}function Aa(t){return new Na(t)}function Ra(t,e,n,r){!function(t){rt(null!=t&&Array.isArray(t)&&t.length>0,(()=>"promises must be a none empty array"))}(t),function(t,e){rt(t>=0&&t<=1,(()=>`Progress fraction must be in range [0, 1], but got startFraction ${t}`)),rt(e>=0&&e<=1,(()=>`Progress fraction must be in range [0, 1], but got endFraction ${e}`)),rt(e>=t,(()=>`startFraction must be no more than endFraction, but got startFraction ${t} and endFraction ${e}`))}(n=null==n?0:n,r=null==r?1:r);let s=0;return Promise.all(t.map((i=>(i.then((i=>{const a=n+ ++s/t.length*(r-n);return e(a),i})),i))))}async function Da(t,e){null==e&&(e={});const n=null==e.fetchFunc?Gt().platform.fetch:e.fetchFunc,r=t.map((t=>n(t,e.requestInit,{isBinary:!0}))),s=(null==e.onProgress?await Promise.all(r):await Ra(r,e.onProgress,0,.5)).map((t=>t.arrayBuffer()));return null==e.onProgress?await Promise.all(s):await Ra(s,e.onProgress,.5,1)}async function La(t,e="",n,r){return Fa((t=>Da(t,{requestInit:r})))(t,e,n)}function Fa(t){return async(e,n="",r)=>{const s=e.map((()=>!1)),i={},a=null!=r?r.map((()=>!1)):[],o=[];if(e.forEach(((t,e)=>{let n=0;t.weights.forEach((t=>{const l="quantization"in t?t.quantization.dtype:t.dtype,u=Ni[l]*ot(t.shape),c=()=>{s[e]=!0,null==i[e]&&(i[e]=[]),i[e].push({manifestEntry:t,groupOffset:n,sizeBytes:u})};null!=r?r.forEach(((e,n)=>{e===t.name&&(c(),a[n]=!0)})):c(),o.push(t.name),n+=u}))})),!a.every((t=>t))){const t=r.filter(((t,e)=>!a[e]));throw new Error(`Could not find weights in manifest with names: ${t.join(", ")}. \nManifest JSON has weights with names: ${o.join(", ")}.`)}const l=s.reduce(((t,e,n)=>(e&&t.push(n),t)),[]),u=[];l.forEach((t=>{e[t].paths.forEach((t=>{const e=n+(n.endsWith("/")?"":"/")+t;u.push(e)}))}));const c=await t(u),h={};let d=0;return l.forEach((t=>{const n=e[t].paths.length;let r=0;for(let t=0;t{const e=Ri(s.slice(t.groupOffset,t.groupOffset+t.sizeBytes),[t.manifestEntry]);for(const t in e)h[t]=e[t]})),d+=n})),h}}Vi.registerSaveRouter((t=>Gt().getBool("IS_BROWSER")&&!Array.isArray(t)&&t.startsWith(Ca.URL_SCHEME)?function(t="model"){return new Ca(t)}(t.slice(Ca.URL_SCHEME.length)):null));class $a{constructor(t,e){if(this.DEFAULT_METHOD="POST",null==e&&(e={}),this.weightPathPrefix=e.weightPathPrefix,this.onProgress=e.onProgress,this.weightUrlConverter=e.weightUrlConverter,null!=e.fetchFunc?(rt("function"==typeof e.fetchFunc,(()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)")),this.fetch=e.fetchFunc):this.fetch=Gt().platform.fetch,rt(null!=t&&t.length>0,(()=>"URL path for http must not be null, undefined or empty.")),Array.isArray(t)&&rt(2===t.length,(()=>`URL paths for http must have a length of 2, (actual length is ${t.length}).`)),this.path=t,null!=e.requestInit&&null!=e.requestInit.body)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=e.requestInit||{}}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const e=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);e.body=new FormData;const n=Pi(t,[{paths:["./model.weights.bin"],weights:t.weightSpecs}]);e.body.append("model.json",new Blob([JSON.stringify(n)],{type:"application/json"}),"model.json"),null!=t.weightData&&e.body.append("model.weights.bin",new Blob([t.weightData],{type:"application/octet-stream"}),"model.weights.bin");const r=await this.fetch(this.path,e);if(r.ok)return{modelArtifactsInfo:Bi(t),responses:[r]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${r.status}.`)}async load(){const t=await this.fetch(this.path,this.requestInit);if(!t.ok)throw new Error(`Request to ${this.path} failed with status code ${t.status}. Please verify this URL points to the model JSON of the model to load.`);let e;try{e=await t.json()}catch(t){let e=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?e+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":e+=" Please make sure the server is serving valid JSON for this request.",new Error(e)}const n=e.modelTopology,r=e.weightsManifest;if(null==n&&null==r)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return zi(e,(t=>this.loadWeights(t)))}async loadWeights(t){const e=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=function(t){const e=t.lastIndexOf("/"),n=t.lastIndexOf("?");return[t.substring(0,e)+"/",n>e?t.substring(n):""]}(e),s=this.weightPathPrefix||n,i=[];for(const e of t)i.push(...e.weights);const a=[],o=[];for(const e of t)for(const t of e.paths)null!=this.weightUrlConverter?o.push(this.weightUrlConverter(t)):a.push(s+t+r);return this.weightUrlConverter&&a.push(...await Promise.all(o)),[i,$i(await Da(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress}))]}}function Oa(t){return null!=t.match($a.URL_SCHEME_REGEX)}$a.URL_SCHEME_REGEX=/^https?:\/\//;const Pa=(t,e)=>{if("undefined"==typeof fetch&&(null==e||null==e.fetchFunc))return null;{let n=!0;if(n=Array.isArray(t)?t.every((t=>Oa(t))):Oa(t),n)return za(t,e)}return null};function za(t,e){return new $a(t,e)}function Ba(t,e){return za(t,e)}Vi.registerSaveRouter(Pa),Vi.registerLoadRouter(Pa);class Ua{constructor(t){this.modelArtifacts=t}async load(){return this.modelArtifacts}}class Va{constructor(t){this.saveHandler=t}async save(t){return this.saveHandler(t)}}function Wa(t,e,n,r){return 1===arguments.length?null!=t.modelTopology||null!=t.weightSpecs?new Ua(t):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Ua({modelTopology:t})):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Ua({modelTopology:t,weightSpecs:e,weightData:n,trainingConfig:r}))}function Ha(t){return new Va(t)}const Ga=ki({matMul_:function(t,e,n=!1,r=!1){let s=Ti(t,"a","matMul"),i=Ti(e,"b","matMul");[s,i]=si(s,i);const a={a:s,b:i},o={transposeA:n,transposeB:r};return pi.runKernel(fe,a,o)}}),ja=ki({oneHot_:function(t,e,n=1,r=0){if(e<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${e}`);const s={indices:Ti(t,"indices","oneHot","int32")},i={depth:e,onValue:n,offValue:r};return pi.runKernel(Xn,s,i)}}),qa=ki({transpose_:function(t,e){const n=Ti(t,"x","transpose");if(null==e&&(e=n.shape.map(((t,e)=>e)).reverse()),rt(n.rank===e.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${e}.`)),e.forEach((t=>{rt(t>=0&&t"All entries in 'perm' must be between 0 and "+(n.rank-1)+` but got ${e}`))})),n.rank<=1)return n.clone();const r={x:n},s={perm:e};return pi.runKernel(Gr,r,s)}}),Xa=ki({confusionMatrix_:function(t,e,n){const r=Ti(t,"labels","confusionMatrix"),s=Ti(e,"predictions","confusionMatrix");rt(null==n||n>0&&Number.isInteger(n),(()=>`If provided, numClasses must be a positive integer, but got ${n}`)),rt(1===r.rank,(()=>`Expected the rank of labels to be 1, but got ${r.rank}`)),rt(1===s.rank,(()=>`Expected the rank of predictions to be 1, but got ${s.rank}`)),rt(r.shape[0]===s.shape[0],(()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${s.shape[0]}. Labels and predictions should have the same number of elements.`)),rt(n>0&&Number.isInteger(n),(()=>`numClasses is required to be a positive integer, but got ${n}`));const i=ja(Ma(r,"int32"),n),a=ja(Ma(s,"int32"),n),o=qa(i),l=Ga(o,a);return Ma(l,"int32")}});function Ka(t,e){const n=t.length,r=[];for(let s=0;s1&&1===a&&r.unshift(i)}return r}function Ya(t,e){const n=[];for(let r=0;r1)&&n.unshift(i)}return n}function Ja(t,e){const n=[],r=Math.max(t.length,e.length);for(let s=0;s4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(null==t)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,s=!1,i=!1,a=!1,o=!1;if(t.data instanceof Uint8Array)n=!0;else if("undefined"!=typeof ImageData&&t instanceof ImageData)r=!0;else if("undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement)s=!0;else if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement)i=!0;else if(null!=t.getContext)a=!0;else{if(!("undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap))throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${t.constructor.name}`);o=!0}if(s){const e=2;if(s&&t.readyState element.")}if(null!=as(Jr,pi.backendName)){const n={pixels:t},r={numChannels:e};return pi.runKernel(Jr,n,r)}const[l,u]=s?[t.videoWidth,t.videoHeight]:[t.width,t.height];let c,h;if(a)c=t.getContext("2d").getImageData(0,0,l,u).data;else if(r||n)c=t.data;else if(i||s||o){if(null==Qa)if("undefined"==typeof document){if("undefined"==typeof OffscreenCanvas||"undefined"==typeof OffscreenCanvasRenderingContext2D)throw new Error("Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.");Qa=new OffscreenCanvas(1,1).getContext("2d")}else Qa=document.createElement("canvas").getContext("2d");Qa.canvas.width=l,Qa.canvas.height=u,Qa.drawImage(t,0,0,l,u),c=Qa.getImageData(0,0,l,u).data}if(4===e)h=new Int32Array(c);else{const t=l*u;h=new Int32Array(t*e);for(let n=0;n4||2===i)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${i}`);if("float32"!==n.dtype&&"int32"!==n.dtype)throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const a=await n.data(),o="float32"===n.dtype?255:1,l=new Uint8ClampedArray(s*r*4);for(let t=0;t1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${s}.`)}else if("int32"===n.dtype&&(s<0||s>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${s}.`);1===i?(e[0]=s*o,e[1]=s*o,e[2]=s*o):e[r]=s*o}const r=4*t;l[r+0]=Math.round(e[0]),l[r+1]=Math.round(e[1]),l[r+2]=Math.round(e[2]),l[r+3]=Math.round(e[3])}if(null!=e){e.width=s,e.height=r;const t=e.getContext("2d"),n=new ImageData(l,s,r);t.putImageData(n,0,0)}return n!==t&&n.dispose(),l}const ro=ki({fromPixels_:to});function so(t,e){const n=t.shape.length,r=e.shape.length;if(n<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);if(r<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${r}.`);if("int32"!==e.dtype)throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.shape[r-1]>n)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${e.shape[r-1]} vs. ${n}`);if(0===ot(t.shape))throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${t.shape}.`);const s=e.shape,i=s[s.length-1];let a=1;for(let t=0;tt/u)),1].slice(0,i);return[l,a,u,c]}function io(t,e,n){const r=e.rank>1?e.shape[e.rank-1]:1,s=e.rank>1?e.rank-1:1,i=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${e.shape}, shape: ${t}, sliceDim: ${r}, and batchDim: ${s}.`;if(n.rank1?e.shape[r-1]:1,i=n.length;let a=1;for(let t=s;t`Error in slice${r}D: Length of begin ${e} must match the rank of the array (${r}).`)),rt(r===n.length,(()=>`Error in slice${r}D: Length of size ${n} must match the rank of the array (${r}).`));for(let s=0;s`Error in slice${r}D: begin[${s}] + size[${s}] (${e[s]+n[s]}) would overflow input.shape[${s}] (${t.shape[s]})`))}function uo(t){const e=[];let n=0;for(;t>0;)1&t&&e.push(n),t/=2,n++;return e}function co(t,e,n){const r=[];for(let s=0;s0){const l=e[0],u=n+1;c=go(a,l,u,r,t),h=yo(o,l,u,s,t),d=ho(i,l,u,t)}else for(let e=0;e-1)i[s]=0;else{const a=po(e,n,s);let o=r[a];t&1<-1)i[s]=Number.MAX_SAFE_INTEGER;else{const a=po(e,n,s);let o=r[a];t&1<0?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER);const l=r[s];return a<0&&(a+=l),a=J(0,a,l-1),a}function vo(t,e,n,r,s,i){let a=e[s];const o=n[s]||1;(t&1<0?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER);const l=r[s];return a<0&&(a+=l),a=o>0?J(0,a,l):J(-1,a,l-1),a}function wo(t,e,n){let r=n.length;for(let t=0;t1){r=t;break}for(let s=r+1;s0||n[s]!==t[s])return!1;return!0}function So(t,e){let n=t.length>0?t[t.length-1]:1;for(let r=0;r{rt(-1!==t,(()=>"slice() does not support negative begin indexing."))})),i=null==n?new Array(s).fill(-1):"number"==typeof n?[n,...new Array(s-1).fill(-1)]:n.lengthe>=0?e:(rt(-1===e,(()=>`Negative size values should be exactly -1 but got ${e} for the slice() size at index ${n}.`)),t.shape[n]-r[n]))),[r,i]}function _o(t,e,n,r,s,i,a,o,l){let u;if(null==r?(u=new Array(e.length),u.fill(1)):u=r,null!=a&&0!=(a&a-1))throw new Error("Multiple ellipses in slice is not allowed.");let c=!1;const h={dims:u.length,numAddAxisAfterEllipsis:0,begin:e.slice(),end:n.slice(),strides:u.slice(),beginMask:s,endMask:i,ellipsisMask:a,newAxisMask:o,shrinkAxisMask:l};for(let t=0;t0?0:-1,d.strides[e]>0?r:r-1];if(n&&d.strides[e]<=0)throw Error("only stride 1 allowed on non-range indexing.");m=m&&1===d.strides[e];const a=!!(d.beginMask&1<=r)throw Error(`slice index ${d.begin[e]} of dimension ${e} out of bounds.`)}else d.begin[e]=Mo(d.begin[e],0,d.strides[e],r,s,i),d.end[e]=Mo(d.end[e],1,d.strides[e],r,s,i);const t=1===d.strides[e]&&0===d.begin[e]&&d.end[e]===r;p=p&&t,f=f&&(0===e&&1===d.strides[e]||t)}else p=p&&1===d.strides[e]&&a,f=f&&(0===e&&1===d.strides[e]||a);let o,l=!1;if(d.beginValid&&d.endValid?(o=d.end[e]-d.begin[e],l=!0):n?(o=1,l=!0):a&&r>=0&&(o=d.strides[e]<0?-r:r,l=!0),l){let t;t=0===o||o<0!=d.strides[e]<0?0:Math.trunc(o/d.strides[e])+(o%d.strides[e]!=0?1:0),g.push(t)}else g.push(-1)}for(let t=0;t=0?y.push(g[e]):-2===e&&y.push(1)}return{finalShapeSparse:y.filter(((t,e)=>-2!==d.finalShapeGatherIndices[e])),finalShape:y,isIdentity:p,sliceDim0:f,isSimpleSlice:m,begin:d.begin,end:d.end,strides:d.strides}}function Mo(t,e,n,r,s,i){if(s[e])return n>0?i[e]:i[e+1&1];{const e=t<0?r+t:t;return ei[1]?i[1]:e}}class ko{getClassName(){return this.constructor.className}static fromConfig(t,e){return new t(e)}}class Eo{constructor(){this.classNameMap={}}static getMap(){return null==Eo.instance&&(Eo.instance=new Eo),Eo.instance}static register(t){Eo.getMap().classNameMap[t.className]=[t,t.fromConfig]}}function Io(t){rt(null!=t.className,(()=>"Class being registered does not have the static className property defined.")),rt("string"==typeof t.className,(()=>"className is required to be a string, but got type "+typeof t.className)),rt(t.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),Eo.register(t)}const Co=.1;function No(t,e,n){return null==n&&(n=Ao()),Ro(t,e,((t,e)=>$o(t,e,n)))}function Ao(){return 32===pi.backend.floatPrecision()?.001:Co}function Ro(t,e,n){let r=!0;if((_t(t)||_t(e))&&(r=!1),_t(t)&&_t(e)&&(r=!0),r){const n=t.constructor.name,r=e.constructor.name;if(n!==r)throw new Error(`Arrays are of different type. Actual: ${n}. Expected: ${r}`)}if(Array.isArray(t)&&Array.isArray(e)){const n=vi(t),r=vi(e);if(!ut(n,r))throw new Error(`Arrays have different shapes. Actual: [${n}]. Expected: [${r}]`)}const s=_t(t)?t:at(t),i=_t(e)?e:at(e);if(s.length!==i.length)throw new Error(`Arrays have different lengths actual: ${s.length} vs expected: ${i.length}.\nActual: ${s}.\nExpected: ${i}.`);for(let t=0;te.fail()),(()=>e()))}function Lo(t,e){const n="string"==typeof e||"number"==typeof e||"boolean"==typeof e?[e]:e;return Et(t)||Et(t[0])||Et(e)||Et(e[0])?Ro(t,n,((t,e)=>t==e)):Ro(t,e,((t,e)=>$o(t,e,0)))}function Fo(t,e,n){if(null==n&&(n=Ao()),!$o(t,e,n))throw new Error(`Numbers differ: actual === ${t}, expected === ${e}`)}function $o(t,e,n){return!isFinite(t)&&!isFinite(e)||!(isNaN(t)||isNaN(e)||Math.abs(t-e)>n)}function Oo(t,e,n){for(let r=0;rn)throw new Error(`Value out of range:${t[r]} low: ${e}, high: ${n}`)}function Po(t,e){const n=new Float32Array(t),r=new Float32Array(e);if(n.length!==r.length)throw new Error(`Expected ArrayBuffer to be of length ${r.length}, but it was ${n.length}`);for(let t=0;tt.dispose()))}function Jo(t){return pi.keep(t)}function Zo(t){return pi.time(t)}function Qo(t){return pi.setBackend(t)}function tl(){return pi.ready()}function el(){return pi.backendName}function nl(t){pi.removeBackend(t)}function rl(t){return pi.findBackend(t)}function sl(t){return pi.findBackendFactory(t)}function il(t,e,n=1){return pi.registerBackend(t,e,n)}function al(){return pi.backend}function ol(t,e){Gt().setPlatform(t,e)}js=Ho;const ll=ki({add_:function(t,e){let n=Ti(t,"a","add"),r=Ti(e,"b","add");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(Qt,s)}}),ul=ki({floorDiv_:function(t,e){let n=Ti(t,"a","floorDiv"),r=Ti(e,"b","floorDiv");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(rn,s)}}),cl=ki({div_:function(t,e){let n=Ti(t,"a","div"),r=Ti(e,"b","div");if([n,r]=si(n,r),"int32"===n.dtype&&"int32"===r.dtype)return ul(n,r);const s={a:n,b:r};return pi.runKernel(He,s,{})}}),hl=ki({mul_:function(t,e){let n=Ti(t,"a","mul"),r=Ti(e,"b","mul");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(Un,s)}}),dl=ki({sqrt_:function(t){const e={x:Ti(t,"x","sqrt","float32")};return pi.runKernel(Tr,e)}}),pl=ki({square_:function(t){const e=Ti(t,"x","square");return pi.runKernel("Square",{x:e},{})}}),fl=ki({zerosLike_:function(t){const e={x:Ti(t,"x","zerosLike")};return pi.runKernel(Kr,e)}});function ml(t){return rt(At(t),(()=>"The f passed in grad(f) must be a function")),(e,n)=>{const r=Ti(e,"x","tf.grad","string_or_numeric"),s=null!=n?Ti(n,"dy","tf.grad"):null;return pi.tidy((()=>{const{value:e,grads:n}=pi.gradients((()=>t(r)),[r],s);return null!=s&&st(e.shape,s.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),wl(n),n[0]}))}}function gl(t){return rt(At(t),(()=>"The f passed in grads(f) must be a function")),(e,n)=>{rt(Array.isArray(e),(()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s"));const r=_i(e,"args","tf.grads","string_or_numeric"),s=null!=n?Ti(n,"dy","tf.grads"):null;return pi.tidy((()=>{const{value:e,grads:n}=pi.gradients((()=>t(...r)),r,s);return null!=s&&st(e.shape,s.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),wl(n),n}))}}function yl(t){return rt(At(t),(()=>"The f passed in valueAndGrad(f) must be a function")),(e,n)=>{rt(e instanceof qs,(()=>"The x passed in valueAndGrad(f)(x) must be a tensor")),rt(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor"));const{grads:r,value:s}=pi.gradients((()=>t(e)),[e],n);return wl(r),{grad:r[0],value:s}}}function xl(t){return rt(At(t),(()=>"The f passed in valueAndGrads(f) must be a function")),(e,n)=>{rt(Array.isArray(e)&&e.every((t=>t instanceof qs)),(()=>"The args passed in valueAndGrads(f)(args) must be array of tensors")),rt(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor"));const r=pi.gradients((()=>t(...e)),e,n);return null!=n&&st(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),wl(r.grads),r}}function bl(t,e){rt(At(t),(()=>"The f passed in variableGrads(f) must be a function")),rt(null==e||Array.isArray(e)&&e.every((t=>t instanceof Ks)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=e;if(!n){e=[];for(const t in pi.registeredVariables)e.push(pi.registeredVariables[t])}const r=n?e.filter((t=>!t.trainable)):null,s=e.length;e=e.filter((t=>t.trainable)),rt(e.length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${s} variables is trainable.`));const{value:i,grads:a}=pi.gradients(t,e,null,!0);rt(a.some((t=>null!=t)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),rt(0===i.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`));const o={};return e.forEach(((t,e)=>{null!=a[e]&&(o[t.name]=a[e])})),null!=r&&r.forEach((t=>o[t.name]=null)),{value:i,grads:o}}function vl(t){return pi.customGrad(t)}function wl(t){if(t.filter((t=>null==t)).length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.")}function Sl(t,e){if((_t(t)&&"string"!==e||Array.isArray(t))&&"complex64"!==e)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===e&&_t(t)&&!(t instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return Ii(t,[],[],e)}class Tl extends ko{minimize(t,e=!1,n){const{value:r,grads:s}=this.computeGradients(t,n);if(null!=n){const t=n.map((t=>({name:t.name,tensor:s[t.name]})));this.applyGradients(t)}else this.applyGradients(s);return Yo(s),e?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(t,e){return bl(t,e)}dispose(){null!=this.iterations_&&Yo(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:Sl(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(t){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(t){return this.iterations_=(await t[0].tensor.data())[0],t.slice(1)}}Object.defineProperty(Tl,Symbol.hasInstance,{value:t=>null!=t.minimize&&null!=t.computeGradients&&null!=t.applyGradients});class _l extends Tl{constructor(t,e,n=null){super(),this.learningRate=t,this.rho=e,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=pi.backend.epsilon())}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${e}/accum_grad`,variable:Ko((()=>fl(r).variable(!1)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${e}/accum_var`,variable:Ko((()=>fl(r).variable(!1)))});const s=Array.isArray(t)?t[n].tensor:t[e];if(null==s)return;const i=this.accumulatedGrads[n].variable,a=this.accumulatedUpdates[n].variable;Ko((()=>{const t=ll(hl(i,this.rho),hl(pl(s),1-this.rho)),e=hl(cl(dl(ll(a,this.epsilon)),dl(ll(i,this.epsilon))),s),n=ll(hl(a,this.rho),hl(pl(e),1-this.rho));i.assign(t),a.assign(n);const o=ll(hl(e,-this.learningRate),r);r.assign(o)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Yo(this.accumulatedGrads.map((t=>t.variable))),Yo(this.accumulatedUpdates.map((t=>t.variable))))}async getWeights(){const t=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(t.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){const e=(t=await this.extractIterations(t)).length/2;this.accumulatedGrads=t.slice(0,e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)}))),this.accumulatedUpdates=t.slice(e,2*e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.rho,e.epsilon)}}function Ml(t,e,n){const r={shape:t,value:e,dtype:n};return pi.runKernel(tn,{},r)}_l.className="Adadelta",Io(_l);class kl extends Tl{constructor(t,e=.1){super(),this.learningRate=t,this.initialAccumulatorValue=e,this.accumulatedGrads=[]}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e];if(null==this.accumulatedGrads[n]){const t=!1;this.accumulatedGrads[n]={originalName:`${e}/accumulator`,variable:Ko((()=>Ml(r.shape,this.initialAccumulatorValue).variable(t)))}}const s=Array.isArray(t)?t[n].tensor:t[e];if(null==s)return;const i=this.accumulatedGrads[n].variable;Ko((()=>{const t=ll(i,pl(s));i.assign(t);const e=ll(hl(cl(s,dl(ll(t,pi.backend.epsilon()))),-this.learningRate),r);r.assign(e)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Yo(this.accumulatedGrads.map((t=>t.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t),this.accumulatedGrads=t.map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(t,e){return new t(e.learningRate,e.initialAccumulatorValue)}}kl.className="Adagrad",Io(kl);const El=ki({pow_:function(t,e){let n=Ti(t,"base","pow"),r=Ti(e,"exp","pow");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(Zn,s)}}),Il=ki({sub_:function(t,e){let n=Ti(t,"a","sub"),r=Ti(e,"b","sub");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(zr,s)}});class Cl extends Tl{constructor(t,e,n,r=null){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],Ko((()=>{this.accBeta1=Sl(e).variable(),this.accBeta2=Sl(n).variable()})),null==r&&(this.epsilon=pi.backend.epsilon())}applyGradients(t){const e=Array.isArray(t)?t.map((t=>t.name)):Object.keys(t);Ko((()=>{const n=Il(1,this.accBeta1),r=Il(1,this.accBeta2);e.forEach(((e,s)=>{const i=pi.registeredVariables[e];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${e}/m`,variable:Ko((()=>fl(i).variable(!1)))}),null==this.accumulatedSecondMoment[s]&&(this.accumulatedSecondMoment[s]={originalName:`${e}/v`,variable:Ko((()=>fl(i).variable(!1)))});const a=Array.isArray(t)?t[s].tensor:t[e];if(null==a)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedSecondMoment[s].variable,u=ll(hl(o,this.beta1),hl(a,1-this.beta1)),c=ll(hl(l,this.beta2),hl(pl(a),1-this.beta2)),h=cl(u,n),d=cl(c,r);o.assign(u),l.assign(c);const p=ll(hl(cl(h,ll(dl(d),this.epsilon)),-this.learningRate),i);i.assign(p)})),this.accBeta1.assign(hl(this.accBeta1,this.beta1)),this.accBeta2.assign(hl(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((t=>t.variable))),null!=this.accumulatedSecondMoment&&Yo(this.accumulatedSecondMoment.map((t=>t.variable)))}async getWeights(){const t=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(t.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t),Ko((()=>{this.accBeta1.assign(El(this.beta1,this.iterations_+1)),this.accBeta2.assign(El(this.beta2,this.iterations_+1))}));const e=t.length/2;this.accumulatedFirstMoment=t.slice(0,e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)}))),this.accumulatedSecondMoment=t.slice(e,2*e).map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon)}}Cl.className="Adam",Io(Cl);const Nl=ki({abs_:function(t){const e=Ti(t,"x","abs");if("complex64"===e.dtype){const t={x:e};return pi.runKernel(Te,t)}{const t={x:e};return pi.runKernel(Yt,t)}}}),Al=ki({maximum_:function(t,e){let n=Ti(t,"a","maximum"),r=Ti(e,"b","maximum");[n,r]=si(n,r),"bool"===n.dtype&&(n=Ma(n,"int32"),r=Ma(r,"int32")),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Cn,s)}});class Rl extends Tl{constructor(t,e,n,r=null,s=0){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=r,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Ko((()=>{this.iteration=Sl(0).variable(),this.accBeta1=Sl(e).variable()})),null==r&&(this.epsilon=pi.backend.epsilon())}applyGradients(t){const e=Array.isArray(t)?t.map((t=>t.name)):Object.keys(t);Ko((()=>{const n=Il(1,this.accBeta1),r=cl(-this.learningRate,ll(hl(this.iteration,this.decay),1));e.forEach(((e,s)=>{const i=pi.registeredVariables[e];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${e}/m`,variable:fl(i).variable(!1)}),null==this.accumulatedWeightedInfNorm[s]&&(this.accumulatedWeightedInfNorm[s]={originalName:`${e}/v`,variable:fl(i).variable(!1)});const a=Array.isArray(t)?t[s].tensor:t[e];if(null==a)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedWeightedInfNorm[s].variable,u=ll(hl(o,this.beta1),hl(a,1-this.beta1)),c=hl(l,this.beta2),h=Nl(a),d=Al(c,h);o.assign(u),l.assign(d);const p=ll(hl(cl(r,n),cl(u,ll(d,this.epsilon))),i);i.assign(p)})),this.iteration.assign(ll(this.iteration,1)),this.accBeta1.assign(hl(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((t=>t.variable))),null!=this.accumulatedWeightedInfNorm&&Yo(this.accumulatedWeightedInfNorm.map((t=>t.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(t){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon,e.decay)}}Rl.className="Adamax",Io(Rl);class Dl extends Tl{constructor(t){super(),this.learningRate=t,this.setLearningRate(t)}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=Array.isArray(t)?t[n].tensor:t[e];if(null==r)return;const s=pi.registeredVariables[e];Ko((()=>{const t=ll(hl(this.c,r),s);s.assign(t)}))})),this.incrementIterations()}setLearningRate(t){this.learningRate=t,null!=this.c&&this.c.dispose(),this.c=Jo(Sl(-t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(t){if(0!==(t=await this.extractIterations(t)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(t,e){return new t(e.learningRate)}}Dl.className="SGD",Io(Dl);class Ll extends Dl{constructor(t,e,n=!1){super(t),this.learningRate=t,this.momentum=e,this.useNesterov=n,this.accumulations=[],this.m=Sl(this.momentum)}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e];if(null==this.accumulations[n]){const t=!1;this.accumulations[n]={originalName:`${e}/momentum`,variable:Ko((()=>fl(r).variable(t)))}}const s=this.accumulations[n].variable,i=Array.isArray(t)?t[n].tensor:t[e];null!=i&&Ko((()=>{let t;const e=ll(hl(this.m,s),i);t=this.useNesterov?ll(hl(this.c,ll(i,hl(e,this.m))),r):ll(hl(this.c,e),r),s.assign(e),r.assign(t)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Yo(this.accumulations.map((t=>t.variable)))}setMomentum(t){this.momentum=t}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t),this.accumulations=t.map((t=>({originalName:t.name,variable:t.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(t,e){return new t(e.learningRate,e.momentum,e.useNesterov)}}Ll.className="Momentum",Io(Ll);class Fl extends Tl{constructor(t,e=.9,n=0,r=null,s=!1){if(super(),this.learningRate=t,this.decay=e,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,null==r&&(this.epsilon=pi.backend.epsilon()),null==t)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(t){(Array.isArray(t)?t.map((t=>t.name)):Object.keys(t)).forEach(((e,n)=>{const r=pi.registeredVariables[e],s=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${e}/rms`,variable:Ko((()=>fl(r).variable(s)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${e}/momentum`,variable:Ko((()=>fl(r).variable(s)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${e}/mg`,variable:Ko((()=>fl(r).variable(s)))});const i=Array.isArray(t)?t[n].tensor:t[e];if(null==i)return;const a=this.accumulatedMeanSquares[n].variable,o=this.accumulatedMoments[n].variable;Ko((()=>{const t=ll(hl(a,this.decay),hl(pl(i),1-this.decay));if(this.centered){const e=this.accumulatedMeanGrads[n].variable,s=ll(hl(e,this.decay),hl(i,1-this.decay)),l=cl(hl(i,this.learningRate),dl(Il(t,ll(pl(s),this.epsilon)))),u=ll(hl(o,this.momentum),l);a.assign(t),e.assign(s),o.assign(u);const c=Il(r,u);r.assign(c)}else{const t=ll(hl(a,this.decay),hl(pl(i),1-this.decay)),e=ll(hl(o,this.momentum),cl(hl(i,this.learningRate),dl(ll(t,this.epsilon))));a.assign(t),o.assign(e);const n=Il(r,e);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Yo(this.accumulatedMeanSquares.map((t=>t.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Yo(this.accumulatedMeanGrads.map((t=>t.variable))),null!=this.accumulatedMoments&&Yo(this.accumulatedMoments.map((t=>t.variable)))}async getWeights(){const t=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&t.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(t.map((t=>({name:t.originalName,tensor:t.variable}))))}async setWeights(t){t=await this.extractIterations(t);const e=this.centered?t.length/3:t.length/2,n=!1;this.accumulatedMeanSquares=t.slice(0,e).map((t=>({originalName:t.name,variable:t.tensor.variable(n)}))),this.accumulatedMoments=t.slice(e,2*e).map((t=>({originalName:t.name,variable:t.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=t.slice(2*e,3*e).map((t=>({originalName:t.name,variable:t.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(t,e){return new t(e.learningRate,e.decay,e.momentum,e.epsilon,e.centered)}}Fl.className="RMSProp",Io(Fl);class $l{static sgd(t){return new Dl(t)}static momentum(t,e,n=!1){return new Ll(t,e,n)}static rmsprop(t,e=.9,n=0,r=null,s=!1){return new Fl(t,e,n,r,s)}static adam(t=.001,e=.9,n=.999,r=null){return new Cl(t,e,n,r)}static adadelta(t=.001,e=.95,n=null){return new _l(t,e,n)}static adamax(t=.002,e=.9,n=.999,r=null,s=0){return new Rl(t,e,n,r,s)}static adagrad(t,e=.1){return new kl(t,e)}}const Ol=ki({acos_:function(t){const e={x:Ti(t,"x","acos")};return pi.runKernel(Jt,e)}}),Pl=ki({acosh_:function(t){const e={x:Ti(t,"x","acosh")};return pi.runKernel(Zt,e)}}),zl=ki({addN_:function(t){rt(Array.isArray(t),(()=>"The argument passed to tf.addN() must be a list of tensors")),rt(t.length>=1,(()=>`Must pass at least one tensor to tf.addN(), but got ${t.length}`));const e=t.map(((t,e)=>Ti(t,`tensors${e}`,"addN"))),n=e[0];e.forEach((t=>{if(t.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")})),e.forEach((t=>{if(!ut(t.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")}));const r=e;return pi.runKernel(te,r)}}),Bl=ki({all_:function(t,e=null,n=!1){const r={x:Ti(t,"x","all","bool")},s={axis:e,keepDims:n};return pi.runKernel(ee,r,s)}}),Ul=ki({any_:function(t,e=null,n=!1){const r={x:Ti(t,"x","any","bool")},s={axis:e,keepDims:n};return pi.runKernel(ne,r,s)}}),Vl=ki({argMax_:function(t,e=0){const n={x:Ti(t,"x","argMax")},r={axis:e};return pi.runKernel(re,n,r)}}),Wl=ki({argMin_:function(t,e=0){const n={x:Ti(t,"x","argMin")},r={axis:e};return pi.runKernel(se,n,r)}}),Hl=ki({asin_:function(t){const e={x:Ti(t,"x","asin")};return pi.runKernel(ie,e)}}),Gl=ki({asinh_:function(t){const e={x:Ti(t,"x","asinh")};return pi.runKernel(ae,e)}}),jl=ki({atan_:function(t){const e={x:Ti(t,"x","atan")};return pi.runKernel(oe,e)}}),ql=ki({atan2_:function(t,e){let n=Ti(t,"a","atan2"),r=Ti(e,"b","atan2");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(ue,s)}}),Xl=ki({atanh_:function(t){const e={x:Ti(t,"x","atanh")};return pi.runKernel(le,e)}});function Kl(t,e,n,r,s="NHWC",i){return Zl(t,[...e,t[3]],n,i,r,null,null,ou(s))}function Yl(t,e,n,r,s,i,a="channelsLast"){const[o,l]=eu(e);let u;if("channelsLast"===a)u=[o,l,t[3],t[3]];else{if("channelsFirst"!==a)throw new Error(`Unknown dataFormat ${a}`);u=[o,l,t[1],t[1]]}return Zl(t,u,n,r,s,i,!1,a)}function Jl(t,e,n,r,s,i,a="NDHWC"){const[o,l,u]=nu(e);let c,h;if("NDHWC"===a)h="channelsLast",c=[o,l,u,t[4],t[4]];else{if("NCDHW"!==a)throw new Error(`Unknown dataFormat ${a}`);h="channelsFirst",c=[o,l,u,t[1],t[1]]}return Ql(t,c,n,r,s,!1,h,i)}function Zl(t,e,n,r,s,i,a=!1,o="channelsLast"){let[l,u,c,h]=[-1,-1,-1,-1];if("channelsLast"===o)[l,u,c,h]=t;else{if("channelsFirst"!==o)throw new Error(`Unknown dataFormat ${o}`);[l,h,u,c]=t}const[d,p,,f]=e,[m,g]=eu(n),[y,x]=eu(r),b=ru(d,y),v=ru(p,x),{padInfo:w,outHeight:S,outWidth:T}=function(t,e,n,r,s,i,a,o,l){let u,c,h;if("number"==typeof t){u={top:t,bottom:t,left:t,right:t,type:0===t?"VALID":"NUMBER"};const s=function(t,e,n,r,s){null==r&&(r=tu(t,e,n));const i=t[1];return[su((t[0]-e+2*r)/n+1,s),su((i-e+2*r)/n+1,s)]}([e,n],i,r,t,o);c=s[0],h=s[1]}else if("same"===t){c=Math.ceil(e/r),h=Math.ceil(n/s);const t=Math.max(0,(c-1)*r+i-e),o=Math.max(0,(h-1)*s+a-n),l=Math.floor(t/2),d=t-l,p=Math.floor(o/2);u={top:l,bottom:d,left:p,right:o-p,type:"SAME"}}else if("valid"===t)u={top:0,bottom:0,left:0,right:0,type:"VALID"},c=Math.ceil((e-i+1)/r),h=Math.ceil((n-a+1)/s);else{if("object"!=typeof t)throw Error(`Unknown padding parameter: ${t}`);{const d="channelsLast"===l?t[1][0]:t[2][0],p="channelsLast"===l?t[1][1]:t[2][1],f="channelsLast"===l?t[2][0]:t[3][0],m="channelsLast"===l?t[2][1]:t[3][1];u={top:d,bottom:p,left:f,right:m,type:0===d&&0===p&&0===f&&0===m?"VALID":"EXPLICIT"},c=su((e-i+d+p)/r+1,o),h=su((n-a+f+m)/s+1,o)}}return{padInfo:u,outHeight:c,outWidth:h}}(s,u,c,m,g,b,v,i,o),_=a?f*h:f;let M;return"channelsFirst"===o?M=[l,_,S,T]:"channelsLast"===o&&(M=[l,S,T,_]),{batchSize:l,dataFormat:o,inHeight:u,inWidth:c,inChannels:h,outHeight:S,outWidth:T,outChannels:_,padInfo:w,strideHeight:m,strideWidth:g,filterHeight:d,filterWidth:p,effectiveFilterHeight:b,effectiveFilterWidth:v,dilationHeight:y,dilationWidth:x,inShape:t,outShape:M,filterShape:e}}function Ql(t,e,n,r,s,i=!1,a="channelsLast",o){let[l,u,c,h,d]=[-1,-1,-1,-1,-1];if("channelsLast"===a)[l,u,c,h,d]=t;else{if("channelsFirst"!==a)throw new Error(`Unknown dataFormat ${a}`);[l,d,u,c,h]=t}const[p,f,m,,g]=e,[y,x,b]=nu(n),[v,w,S]=nu(r),T=ru(p,v),_=ru(f,w),M=ru(m,S),{padInfo:k,outDepth:E,outHeight:I,outWidth:C}=function(t,e,n,r,s,i,a,o,l,u,c){let h,d,p,f;if("number"==typeof t){h={top:t,bottom:t,left:t,right:t,front:t,back:t,type:0===t?"VALID":"NUMBER"};const i=function(t,e,n,r,s,i){null==s&&(s=tu(t,e,r));const a=t[1],o=t[2];return[su((t[0]-e+2*s)/r+1,i),su((a-e+2*s)/r+1,i),su((o-e+2*s)/r+1,i),1]}([e,n,r,1],o,0,s,t,c);d=i[0],p=i[1],f=i[2]}else if("same"===t){d=Math.ceil(e/s),p=Math.ceil(n/i),f=Math.ceil(r/a);const t=(d-1)*s+o-e,c=(p-1)*i+l-n,m=(f-1)*a+u-r,g=Math.floor(t/2),y=t-g,x=Math.floor(c/2),b=c-x,v=Math.floor(m/2);h={top:x,bottom:b,left:v,right:m-v,front:g,back:y,type:"SAME"}}else{if("valid"!==t)throw Error(`Unknown padding parameter: ${t}`);h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},d=Math.ceil((e-o+1)/s),p=Math.ceil((n-l+1)/i),f=Math.ceil((r-u+1)/a)}return{padInfo:h,outDepth:d,outHeight:p,outWidth:f}}(s,u,c,h,y,x,b,T,_,M,o),N=i?g*d:g;let A;return"channelsFirst"===a?A=[l,N,E,I,C]:"channelsLast"===a&&(A=[l,E,I,C,N]),{batchSize:l,dataFormat:a,inDepth:u,inHeight:c,inWidth:h,inChannels:d,outDepth:E,outHeight:I,outWidth:C,outChannels:N,padInfo:k,strideDepth:y,strideHeight:x,strideWidth:b,filterDepth:p,filterHeight:f,filterWidth:m,effectiveFilterDepth:T,effectiveFilterHeight:_,effectiveFilterWidth:M,dilationDepth:v,dilationHeight:w,dilationWidth:S,inShape:t,outShape:A,filterShape:e}}function tu(t,e,n,r=1){const s=ru(e,r);return Math.floor((t[0]*(n-1)-n+s)/2)}function eu(t){return"number"==typeof t?[t,t,t]:2===t.length?[t[0],t[1],1]:t}function nu(t){return"number"==typeof t?[t,t,t]:t}function ru(t,e){return e<=1?t:t+(t-1)*(e-1)}function su(t,e){if(!e)return Math.trunc(t);switch(e){case"round":return Math.round(t);case"ceil":return Math.ceil(t);case"floor":return Math.floor(t);default:throw new Error(`Unknown roundingMode ${e}`)}}function iu(t){const[e,n,r]=eu(t);return 1===e&&1===n&&1===r}function au(t,e){return iu(t)||iu(e)}function ou(t){if("NHWC"===t)return"channelsLast";if("NCHW"===t)return"channelsFirst";throw new Error(`Unknown dataFormat ${t}`)}function lu(t,e,n){if(null!=n){if("string"==typeof e)throw Error(`Error in ${t}: pad must be an integer when using dimRoundingMode ${n} but got pad ${e}.`);if("number"==typeof e)rt(ct(e),(()=>`Error in ${t}: pad must be an integer when using dimRoundingMode ${n} but got pad ${e}.`));else{if("object"!=typeof e)throw Error(`Error in ${t}: Unknown padding parameter: ${e}`);e.forEach((e=>{e.forEach((e=>{rt(ct(e),(()=>`Error in ${t}: pad must be an integer when using dimRoundingMode ${n} but got pad ${e}.`))}))}))}}}const uu=ki({reshape_:function(t,e){const n={x:Ti(t,"x","reshape","string_or_numeric")},r={shape:e};return pi.runKernel(ir,n,r)}}),cu=ki({avgPool_:function(t,e,n,r,s){const i=Ti(t,"x","avgPool","float32");rt(au(n,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`));let a=i,o=!1;3===i.rank&&(o=!0,a=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]])),rt(4===a.rank,(()=>`Error in avgPool: x must be rank 4 but got rank ${a.rank}.`)),lu("avgPool",r,s);const l={x:a},u={filterSize:e,strides:n,pad:r,dimRoundingMode:s};let c=pi.runKernel(ce,l,u);return c=Ma(c,i.dtype),o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),hu=ki({avgPool3d_:function(t,e,n,r,s,i="NDHWC"){const a=Ti(t,"x","avgPool3d","float32");let o=a,l=!1;4===a.rank&&(l=!0,o=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),rt(5===o.rank,(()=>`Error in avgPool3d: x must be rank 5 but got rank ${o.rank}.`)),rt("NDHWC"===i,(()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`)),lu("avgPool3d",r,s);const u={x:o},c={filterSize:e,strides:n,pad:r,dimRoundingMode:s,dataFormat:i};let h=pi.runKernel(de,u,c);return h=Ma(h,o.dtype),l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),du=ki({concat_:function(t,e=0){rt(t.length>=1,(()=>"Pass at least one tensor to concat"));const n=_i(t,"tensors","concat","string_or_numeric");if("complex64"===n[0].dtype&&n.forEach((t=>{if("complex64"!==t.dtype)throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${t.dtype}. `)})),1===n.length)return ka(n[0]);const r=n,s={axis:e};return pi.runKernel(_e,r,s)}}),pu=ki({sigmoid_:function(t){const e={x:Ti(t,"x","sigmoid","float32")};return pi.runKernel(wr,e)}}),fu=ki({slice_:function(t,e,n){const r=Ti(t,"x","slice","string_or_numeric");if(0===r.rank)throw new Error("Slicing scalar is not possible");const s={x:r},i={begin:e,size:n};return pi.runKernel(yr,s,i)}}),mu=ki({tanh_:function(t){const e={x:Ti(t,"x","tanh","float32")};return pi.runKernel(Ur,e)}}),gu=ki({basicLSTMCell_:function(t,e,n,r,s,i){const a=Ti(t,"forgetBias","basicLSTMCell"),o=Ti(e,"lstmKernel","basicLSTMCell"),l=Ti(n,"lstmBias","basicLSTMCell"),u=Ti(r,"data","basicLSTMCell"),c=Ti(s,"c","basicLSTMCell"),h=Ti(i,"h","basicLSTMCell"),d=du([u,h],1),p=Ga(d,o),f=ll(p,l),m=f.shape[0],g=f.shape[1]/4,y=[m,g],x=fu(f,[0,0],y),b=fu(f,[0,g],y),v=fu(f,[0,2*g],y),w=fu(f,[0,3*g],y),S=ll(hl(pu(x),mu(b)),hl(c,pu(ll(a,v))));return[S,hl(mu(S),pu(w))]}}),yu=ki({batchToSpaceND_:function(t,e,n){const r=Ti(t,"x","batchToSpaceND"),s=e.reduce(((t,e)=>t*e));rt(r.rank>=1+e.length,(()=>`input rank is ${r.rank} but should be > than blockShape.length ${e.length}`)),rt(n.length===e.length,(()=>`crops.length is ${n.length} but should be equal to blockShape.length ${e.length}`)),rt(r.shape[0]%s==0,(()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${e.join(" * ")} === ${s}`));const i={x:r},a={blockShape:e,crops:n};return pi.runKernel(me,i,a)}}),xu=ki({batchNorm_:function(t,e,n,r,s,i){null==i&&(i=.001);const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(o.rank===l.rank,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),rt(null==c||o.rank===c.rank,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),rt(null==u||o.rank===u.rank,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));const h=function(t){let e;return e=0===t.rank||1===t.rank?uu(t,[1,1,1,t.size]):2===t.rank?uu(t,[1,1,t.shape[0],t.shape[1]]):3===t.rank?uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]):t,e}(a),d={x:h,scale:u,offset:c,mean:o,variance:l},p={varianceEpsilon:i},f=pi.runKernel(sn,d,p);return uu(f,a.shape)}}),bu=ki({batchNorm2d_:function(t,e,n,r,s,i){const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(2===a.rank,(()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`)),rt(2===o.rank||1===o.rank,(()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${o.rank}.`)),rt(2===l.rank||1===l.rank,(()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${l.rank}.`)),null!=u&&rt(2===u.rank||1===u.rank,(()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`)),null!=c&&rt(2===c.rank||1===c.rank,(()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`)),xu(a,o,l,c,u,i)}}),vu=ki({batchNorm3d_:function(t,e,n,r,s,i){const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(3===a.rank,(()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`)),rt(3===o.rank||1===o.rank,(()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${o.rank}.`)),rt(3===l.rank||1===l.rank,(()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${l.rank}.`)),null!=u&&rt(3===u.rank||1===u.rank,(()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`)),null!=c&&rt(3===c.rank||1===c.rank,(()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`)),xu(a,o,l,c,u,i)}}),wu=ki({batchNorm4d_:function(t,e,n,r,s,i){const a=Ti(t,"x","batchNorm"),o=Ti(e,"mean","batchNorm"),l=Ti(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ti(s,"scale","batchNorm")),null!=r&&(c=Ti(r,"offset","batchNorm")),rt(4===a.rank,(()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`)),rt(4===o.rank||1===o.rank,(()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${o.rank}.`)),rt(4===l.rank||1===l.rank,(()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${l.rank}.`)),null!=u&&rt(4===u.rank||1===u.rank,(()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`)),null!=c&&rt(4===c.rank||1===c.rank,(()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`)),xu(a,o,l,c,u,i)}}),Su=ki({bincount_:function(t,e,n){const r=Ti(t,"x","bincount"),s=Ti(e,"weights","bincount");rt("int32"===r.dtype,(()=>`Error in bincount: input dtype must be int32, but got ${r.dtype}`)),rt(n>=0,(()=>`size must be non-negative, but got ${n}.`)),rt(s.size===r.size||0===s.size,(()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${r.shape}, weights shape: ${s.shape}.`));const i={x:r,weights:s},a={size:n};return pi.runKernel(ge,i,a)}}),Tu=ki({broadcastArgs_:function(t,e){const n=Ti(t,"s0","broadcastArgs","int32"),r=Ti(e,"s1","broadcastArgs","int32");if(1!==n.rank)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${n.rank}`);if(1!==r.rank)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${r.rank}`);const s={s0:n,s1:r};return pi.runKernel(xe,s)}}),_u=ki({broadcastTo_:function(t,e){let n=Ti(t,"broadcastTo","x");const r=n.shape;if(e.some((t=>!(t>0)||t%1!=0)))throw new Error(`broadcastTo(): Invalid broadcast shape [${e}].`);if(e.lengthn.rank){const t=n.shape.slice();for(;t.length=0;t--)if(s[t]===e[t])i[t]=1;else if(1!==n.shape[t])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${e}].`);if(0===i.map(((t,e)=>t>1?e:-1)).filter((t=>t>=0)).length)return ka(n);const a={x:n},o={reps:i};return pi.runKernel(Vr,a,o)}}),Mu=ki({ceil_:function(t){const e={x:Ti(t,"x","ceil","float32")};return pi.runKernel(ve,e)}}),ku=ki({clipByValue_:function(t,e,n){const r=Ti(t,"x","clipByValue");rt(e<=n,(()=>`Error in clip: min (${e}) must be less than or equal to max (${n}).`));const s={x:r},i={clipValueMin:e,clipValueMax:n};return pi.runKernel(we,s,i)}}),Eu=ki({concat1d_:function(t){return du(t,0)}}),Iu=ki({concat2d_:function(t,e){return du(t,e)}}),Cu=ki({concat3d_:function(t,e){return du(t,e)}}),Nu=ki({concat4d_:function(t,e){return du(t,e)}}),Au=ki({conv2d_:function(t,e,n,r,s="NHWC",i=[1,1],a){const o=Ti(t,"x","conv2d","float32"),l=Ti(e,"filter","conv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),rt(4===u.rank,(()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`)),rt(4===l.rank,(()=>`Error in conv2d: filter must be rank 4, but got rank ${l.rank}.`)),lu("conv2d",r,a);const h="NHWC"===s?u.shape[3]:u.shape[1];rt(h===l.shape[2],(()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${l.shape[2]}.`)),rt(au(n,i),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`));const d={x:u,filter:l},p={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a},f=pi.runKernel(Me,d,p);return c?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Ru=ki({conv1d_:function(t,e,n,r,s="NWC",i=1,a){const o=Ti(t,"x","conv1d"),l=Ti(e,"filter","conv1d");let u=o,c=!1;2===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1]])),rt(3===u.rank,(()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`)),rt(3===l.rank,(()=>`Error in conv1d: filter must be rank 3, but got rank ${l.rank}.`)),lu("conv1d",r,a),rt(u.shape[2]===l.shape[1],(()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${l.shape[1]}.`)),rt(au(n,i),(()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${i}'`)),rt("NWC"===s,(()=>`Error in conv1d: got dataFormat of ${s} but only NWC is currently supported.`));const h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2]]),d=uu(u,[u.shape[0],1,u.shape[1],u.shape[2]]),p=Au(d,h,[1,n],r,"NHWC",[1,i],a);return uu(p,c?[p.shape[2],p.shape[3]]:[p.shape[0],p.shape[2],p.shape[3]])}}),Du=ki({conv2DBackpropInput_:function(t,e,n,r,s,i="NHWC",a){rt(t.length===e.rank,(()=>`Length of inShape (${t.length}) and rank of dy (${e.rank}) must match`));let o=t,l=e,u=!1;3===e.rank&&(u=!0,l=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]),o=[1,t[0],t[1],t[2]]),rt(4===o.length,(()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${o.length}.`)),rt(4===l.rank,(()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${l.rank}`)),rt(4===n.rank,(()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`));const c="NHWC"===i?o[3]:o[1],h="NHWC"===i?l.shape[3]:l.shape[1];rt(c===n.shape[2],(()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[2]}.`)),rt(h===n.shape[3],(()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`)),lu("conv2dDerInput",s,a);const d={dy:l,filter:n},p={strides:r,pad:s,dataFormat:i,dimRoundingMode:a,inputShape:o},f=pi.runKernel(Ee,d,p);return u?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Lu=ki({conv2dTranspose_:function(t,e,n,r,s,i){const a=Ti(t,"x","conv2dTranspose"),o=Ti(e,"filter","conv2dTranspose");return Du(n,a,o,r,s,"NHWC",i)}}),Fu=ki({conv3d_:function(t,e,n,r,s="NDHWC",i=[1,1,1]){const a=Ti(t,"x","conv3d"),o=Ti(e,"filter","conv3d");let l=a,u=!1;4===a.rank&&(u=!0,l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),rt(5===l.rank,(()=>`Error in conv3d: input must be rank 5, but got rank ${l.rank}.`)),rt(5===o.rank,(()=>`Error in conv3d: filter must be rank 5, but got rank ${o.rank}.`)),rt(l.shape[4]===o.shape[3],(()=>`Error in conv3d: depth of input (${l.shape[4]}) must match input depth for filter ${o.shape[3]}.`)),rt(au(n,i),(()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`)),rt("NDHWC"===s,(()=>`Error in conv3d: got dataFormat of ${s} but only NDHWC is currently supported.`));const c={x:l,filter:o},h={strides:n,pad:r,dataFormat:s,dilations:i},d=pi.runKernel(Ie,c,h);return u?uu(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}}),$u=ki({conv3DBackpropInput_:function(t,e,n,r,s){rt(t.length===e.rank,(()=>`Length of inShape (${t.length}) and rank of dy (${e.rank}) must match`));let i=t,a=e,o=!1;4===e.rank&&(o=!0,a=uu(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]),i=[1,t[0],t[1],t[2],t[3]]);const l=i[4],u=a.shape[4];rt(5===i.length,(()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${i.length}.`)),rt(5===a.rank,(()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`)),rt(5===n.rank,(()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`)),rt(l===n.shape[3],(()=>`Error in conv3dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[3]}.`)),rt(u===n.shape[4],(()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${n.shape[4]}.`));const c={dy:a,filter:n},h={pad:s,strides:r,inputShape:i},d=pi.runKernel(Ne,c,h);return o?uu(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}}),Ou=ki({conv3dTranspose_:function(t,e,n,r,s){const i=Ti(t,"x","conv3dTranspose"),a=Ti(e,"filter","conv3dTranspose");return $u(n,i,a,r,s)}}),Pu=ki({cos_:function(t){const e={x:Ti(t,"x","cos","float32")};return pi.runKernel(Ae,e)}}),zu=ki({cosh_:function(t){const e={x:Ti(t,"x","cosh","float32")};return pi.runKernel(Re,e)}}),Bu=ki({cumsum_:function(t,e=0,n=!1,r=!1){const s={x:Ti(t,"x","cumsum")},i={axis:e,exclusive:n,reverse:r};return pi.runKernel(De,s,i)}}),Uu=ki({denseBincount_:function(t,e,n,r=!1){const s=Ti(t,"x","denseBincount"),i=Ti(e,"weights","denseBincount");rt("int32"===s.dtype,(()=>`Error in denseBincount: input dtype must be int32, but got ${s.dtype}`)),rt(s.rank<=2,(()=>`Error in denseBincount: input must be at most rank 2, but got rank ${s.rank}.`)),rt(n>=0,(()=>`size must be non-negative, but got ${n}.`)),rt(i.size===s.size||0===i.size,(()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${s.shape}, weights shape: ${i.shape}.`));const a={x:s,weights:i},o={size:n,binaryOutput:r};return pi.runKernel(Fe,a,o)}}),Vu=ki({depthToSpace_:function(t,e,n="NHWC"){const r=Ti(t,"x","depthToSpace","float32"),s="NHWC"===n?r.shape[1]:r.shape[2],i="NHWC"===n?r.shape[2]:r.shape[3],a="NHWC"===n?r.shape[3]:r.shape[1];rt(e>1,(()=>`blockSize should be > 1 for depthToSpace, but was: ${e}`)),rt(s*e>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${e} for depthToSpace with input shape\n ${r.shape}`)),rt(i*e>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${i} and ${e} for depthToSpace with input shape\n ${r.shape}`)),rt(a%(e*e)==0,(()=>`Dimension size must be evenly divisible by ${e*e} but is ${a} for depthToSpace with input shape ${r.shape}`));const o={x:r},l={blockSize:e,dataFormat:n};return pi.runKernel($e,o,l)}}),Wu=ki({depthwiseConv2d_:function(t,e,n,r,s="NHWC",i=[1,1],a){const o=Ti(t,"x","depthwiseConv2d","float32"),l=Ti(e,"filter","depthwiseConv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),rt(4===u.rank,(()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`)),rt(4===l.rank,(()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${l.rank}.`)),rt(u.shape[3]===l.shape[2],(()=>`Error in depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`)),lu("depthwiseConv2d",r,a);const h={x:u,filter:l},d={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a},p=pi.runKernel(Oe,h,d);return c?uu(p,[p.shape[1],p.shape[2],p.shape[3]]):p}}),Hu=ki({diag_:function(t){const e={x:Ti(t,"x","diag")};return pi.runKernel(Be,e)}}),Gu=ki({dilation2d_:function(t,e,n,r,s=[1,1],i="NHWC"){const a=Ti(t,"x","dilation2d"),o=Ti(e,"filter","dilation2d");rt(3===a.rank||4===a.rank,(()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`)),rt(3===o.rank,(()=>`Error in dilation2d: filter must be rank 3, but got rank ${o.rank}.`)),rt("NHWC"===i,(()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${i}`));let l=a,u=!1;3===a.rank&&(l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]]),u=!0);const c={x:l,filter:o},h={strides:n,pad:r,dilations:s},d=pi.runKernel(Ue,c,h);return u?uu(d,[d.shape[1],d.shape[2],d.shape[3]]):d}}),ju=ki({equal_:function(t,e){let n=Ti(t,"a","equal","string_or_numeric"),r=Ti(e,"b","equal","string_or_numeric");[n,r]=si(n,r),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Ke,s)}}),qu=ki({where_:function(t,e,n){const r=Ti(e,"a","where"),s=Ti(n,"b","where"),i=Ti(t,"condition","where","bool"),a=Ja(Ja(i.shape,r.shape),s.shape),o={condition:_u(i,a),t:_u(r,a),e:_u(s,a)};return pi.runKernel(mr,o)}}),Xu=ki({divNoNan_:function(t,e){let n=Ti(t,"a","div"),r=Ti(e,"b","div");[n,r]=si(n,r);const s=cl(n,r),i=fl(s),a=ju(r,i);return qu(a,i,s)}}),Ku=ki({dot_:function(t,e){const n=Ti(t,"t1","dot"),r=Ti(e,"t2","dot");rt(!(1!==n.rank&&2!==n.rank||1!==r.rank&&2!==r.rank),(()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`));const s=1===n.rank?n.size:n.shape[1],i=1===r.rank?r.size:r.shape[0];if(rt(s===i,(()=>`Error in dot: inner dimensions of inputs must match, but got ${s} and ${i}.`)),1===n.rank&&1===r.rank){const t=uu(n,[1,-1]),e=uu(r,[-1,1]),s=Ga(t,e);return uu(s,[])}if(1===n.rank&&2===r.rank){const t=uu(n,[1,-1]),e=uu(r,[r.shape[0],r.shape[1]]),s=Ga(t,e);return uu(s,[s.size])}if(2===n.rank&&1===r.rank){const t=uu(r,[-1,1]),e=Ga(n,t);return uu(e,[e.size])}{const t=uu(r,[r.shape[0],r.shape[1]]);return Ga(n,t)}}}),Yu=ki({einsum_:function(t,...e){const n=e.map(((t,e)=>Ti(t,`tensors${e}`,"einsum"))),r={equation:t};return pi.runKernel(Ge,n,r)}}),Ju=ki({elu_:function(t){const e={x:Ti(t,"x","elu","float32")};return pi.runKernel(je,e)}}),Zu=ki({erf_:function(t){let e=Ti(t,"x","erf");rt("int32"===e.dtype||"float32"===e.dtype,(()=>"Input dtype must be `int32` or `float32`.")),"int32"===e.dtype&&(e=Ma(e,"float32"));const n={x:e};return pi.runKernel(Xe,n)}}),Qu=ki({exp_:function(t){const e={x:Ti(t,"x","exp")};return pi.runKernel(Ye,e)}}),tc=ki({expandDims_:function(t,e=0){const n=Ti(t,"x","expandDims","string_or_numeric");rt(e<=n.rank,(()=>"Axis must be <= rank of the tensor"));const r={input:n},s={dim:e};return pi.runKernel(Je,r,s)}}),ec=ki({expm1_:function(t){const e={x:Ti(t,"x","expm1")};return pi.runKernel(Ze,e)}}),nc=ki({tile_:function(t,e){const n=Ti(t,"x","tile","string_or_numeric");rt(n.rank===e.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of reps ${e}.`));const r={x:n},s={reps:e};return pi.runKernel(Vr,r,s)}}),rc=ki({eye_:function(t,e,n,r="float32"){null==e&&(e=t);const s=_a([t,e],r),i=t<=e?t:e;for(let t=0;t`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${i.rank}.`)),rt(ct(e),(()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${e}.`));let a=i,o=!1;3===i.rank&&(o=!0,a=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]]));const l={x:a},u={depthRadius:e,bias:n,alpha:r,beta:s},c=pi.runKernel(kn,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),yc=ki({log_:function(t){const e={x:Ti(t,"x","log","float32")};return pi.runKernel(vn,e)}}),xc=ki({log1p_:function(t){const e={x:Ti(t,"x","log1p")};return pi.runKernel(wn,e)}}),bc=ki({neg_:function(t){const e={x:Ti(t,"x","neg")};return pi.runKernel(Vn,e)}}),vc=ki({softplus_:function(t){const e={x:Ti(t,"x","softplus")};return pi.runKernel(Sr,e)}}),wc=ki({logSigmoid_:function(t){const e=Ti(t,"x","logSigmoid"),n=vl((t=>({value:bc(vc(bc(t))),gradFunc:e=>hl(e,pu(bc(t)))})));return n(e)}}),Sc=ki({max_:function(t,e=null,n=!1){const r={x:Ti(t,"x","max")},s={reductionIndices:e,keepDims:n};return pi.runKernel(In,r,s)}}),Tc=ki({sum_:function(t,e=null,n=!1){let r=Ti(t,"x","sum");"bool"===r.dtype&&(r=Ma(r,"int32"));const s={x:r},i={axis:e,keepDims:n};return pi.runKernel(_r,s,i)}}),_c=ki({logSoftmax_:function(t,e=-1){const n=Ti(t,"logits","logSoftmax");if(-1===e&&(e=n.rank-1),e!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${e}`);const r=vl(((t,n)=>{const r=Sc(t,e,!0),s=Il(t,r),i=Il(Ma(s,"float32"),yc(Tc(Qu(s),e,!0)));return n([i]),{value:i,gradFunc:(t,n)=>{const[r]=n,s=Qu(r);return Il(t,hl(Tc(t,e,!0),s))}}}));return r(n)}});function Mc(t,e){for(let n=0;nt[e]))]}function Ic(t,e){return kc(t,e.map((t=>1)),e)}function Cc(t,e,n){rt(Mc(e,n),(()=>`${t} supports only inner-most axes for now. Got axes ${e} and rank-${n} input.`))}function Nc(t,e){if(Mc(t,e))return null;const n=[];for(let r=0;rn.push(t))),n}function Ac(t){return t.map(((t,e)=>[e,t])).sort(((t,e)=>t[1]-e[1])).map((t=>t[0]))}function Rc(t,e){const n=[];for(let r=e-t;r`Error in maxPool: input must be rank 4 but got rank ${a.rank}.`)),rt(au(n,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`)),lu("maxPool",r,s);const l={x:a},u={filterSize:e,strides:n,pad:r,dimRoundingMode:s},c=pi.runKernel(Nn,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),zc=ki({maxPool3d_:function(t,e=[1,1,1],n,r,s,i="NDHWC"){const a=Ti(t,"x","maxPool3d");let o=a,l=!1;4===a.rank&&(l=!0,o=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),rt(5===o.rank,(()=>`Error in maxPool3d: x must be rank 5 but got rank ${o.rank}.`)),rt("NDHWC"===i,(()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${i}`)),lu("maxPool3d",r,s);const u={x:o},c={filterSize:e,strides:n,pad:r,dimRoundingMode:s,dataFormat:i},h=pi.runKernel(Rn,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),Bc=ki({maxPoolWithArgmax_:function(t,e,n,r,s=!1){const i={x:Ti(t,"x","maxPoolWithArgmax")},a={filterSize:e,strides:n,pad:r,includeBatchInIndex:s},o=pi.runKernel(Ln,i,a);return{result:o[0],indexes:o[1]}}}),Uc=ki({mean_:function(t,e=null,n=!1){const r={x:Ti(t,"x","mean")},s={axis:e,keepDims:n};return pi.runKernel(Fn,r,s)}});function Vc(t,e="float32"){if("complex64"===e){const e=Vc(t,"float32"),n=Vc(t,"float32");return Ei(e,n)}const n=Ot(ot(t),e);return pi.makeTensor(n,t,e)}function Wc(t,e="float32"){if("complex64"===e){const e=Wc(t,"float32"),n=Vc(t,"float32");return Ei(e,n)}const n=$t(ot(t),e);return pi.makeTensor(n,t,e)}function Hc(t,e,{indexing:n="xy"}={}){if("xy"!==n&&"ij"!==n)throw new TypeError(`${n} is not a valid third argument to meshgrid`);if(void 0===t)return[];let r=Ti(t,"x","meshgrid",t instanceof qs?t.dtype:"float32");if(void 0===e)return[r];let s=Ti(e,"y","meshgrid",e instanceof qs?e.dtype:"float32");const i=ot(r.shape),a=ot(s.shape);return"xy"===n?(r=uu(r,[1,-1]),s=uu(s,[-1,1]),[Ga(Wc([a,1],r.dtype),r),Ga(s,Wc([1,i],s.dtype))]):(r=uu(r,[-1,1]),s=uu(s,[1,-1]),[Ga(r,Wc([1,a],r.dtype)),Ga(Wc([i,1],s.dtype),s)])}const Gc=ki({min_:function(t,e=null,n=!1){const r={x:Ti(t,"x","min")},s={axis:e,keepDims:n};return pi.runKernel($n,r,s)}}),jc=ki({minimum_:function(t,e){let n=Ti(t,"a","minimum"),r=Ti(e,"b","minimum");[n,r]=si(n,r),"bool"===n.dtype&&(n=Ma(n,"int32"),r=Ma(r,"int32")),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(On,s)}}),qc=ki({mirrorPad_:function(t,e,n){rt("reflect"===n||"symmetric"===n,(()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${n}.`));const r=Ti(t,"x","mirrorPad");if(0===r.rank)throw new Error("mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad");rt(e.length===r.rank,(()=>`Padding doesn't match input. Must be ${r.rank}. Got ${e.length}.`));const s="reflect"===n?1:0;for(let t=0;t"Invalid number of paddings. Must be length of 2 each.")),rt(e[t][0]>=0&&e[t][0]<=r.shape[t]-s&&e[t][1]>=0&&e[t][1]<=r.shape[t]-s,(()=>`Padding in dimension ${t} cannot be greater than or equal to ${r.shape[t]-s} or less than 0 for input of shape ${r.shape}`));const i={paddings:e,mode:n},a={x:r};return pi.runKernel(Pn,a,i)}}),Xc=ki({mod_:function(t,e){let n=Ti(t,"a","mod"),r=Ti(e,"b","mod");[n,r]=si(n,r);const s={a:n,b:r};return pi.runKernel(zn,s)}}),Kc=ki({moments_:function(t,e=null,n=!1){const r=yt(e,(t=Ti(t,"x","moments")).shape),s=Uc(t,r,n);let i=s.shape;n||(i=Ic(s.shape,r));const a=pl(Il(Ma(t,"float32"),uu(s,i)));return{mean:s,variance:Uc(a,r,n)}}}),Yc=ki({multiRNNCell_:function(t,e,n,r){const s=Ti(e,"data","multiRNNCell"),i=_i(n,"c","multiRNNCell"),a=_i(r,"h","multiRNNCell");let o=s;const l=[];for(let e=0;e2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);n=n||Math.random();const o={logits:1===a?uu(s,[1,-1]):s},l={numSamples:e,seed:n,normalized:r},u=pi.runKernel(Bn,o,l);return 1===a?uu(u,[u.size]):u}}),Zc=ki({notEqual_:function(t,e){let n=Ti(t,"a","notEqual","string_or_numeric"),r=Ti(e,"b","notEqual","string_or_numeric");[n,r]=si(n,r),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Wn,s)}}),Qc=ki({onesLike_:function(t){const e={x:Ti(t,"x","onesLike")};return pi.runKernel(qn,e)}}),th=ki({outerProduct_:function(t,e){const n=Ti(t,"v1","outerProduct"),r=Ti(e,"v2","outerProduct");rt(1===n.rank&&1===r.rank,(()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`));const s=uu(n,[-1,1]),i=uu(r,[1,-1]);return Ga(s,i)}}),eh=ki({pad_:function(t,e,n=0){const r=Ti(t,"x","pad");if(0===r.rank)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const s={paddings:e,constantValue:n},i={x:r};return pi.runKernel(Yn,i,s)}}),nh=ki({pad1d_:function(t,e,n=0){return rt(2===e.length,(()=>"Invalid number of paddings. Must be length of 2.")),eh(t,[e],n)}}),rh=ki({pad2d_:function(t,e,n=0){return rt(2===e.length&&2===e[0].length&&2===e[1].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),eh(t,e,n)}}),sh=ki({pad3d_:function(t,e,n=0){return rt(3===e.length&&2===e[0].length&&2===e[1].length&&2===e[2].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),eh(t,e,n)}}),ih=ki({pad4d_:function(t,e,n=0){return rt(4===e.length&&2===e[0].length&&2===e[1].length&&2===e[2].length&&2===e[3].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),eh(t,e,n)}}),ah=ki({spaceToBatchND_:function(t,e,n){const r=Ti(t,"x","spaceToBatchND");rt(r.rank>=1+e.length,(()=>`input rank ${r.rank} should be > than [blockShape] ${e.length}`)),rt(n.length===e.length,(()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${e.length}`)),rt(r.shape.reduce(((t,r,s)=>s>0&&s<=e.length?t&&(r+n[s-1][0]+n[s-1][1])%e[s-1]==0:t),!0),(()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${e.toString()}`));const s={x:r},i={blockShape:e,paddings:n};return pi.runKernel(Mr,s,i)}}),oh=ki({pool_:function(t,e,n,r,s,i,a){null==s&&(s=[1,1]),null==i&&(i=1),0===r&&(r="valid");const o=Ti(t,"x","maxPool");let l=o,u=!1;3===o.rank&&(u=!0,l=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),rt(au(i,s),(()=>`Error in pool: Either strides or dilations must be 1. Got strides ${i} and dilations '${s}'`));const c=Yl(l.shape,e,i,s,r),h=[c.dilationHeight,c.dilationWidth];let d;d="same"===r?function(t,e){const n=t.map(((t,n)=>t+(t-1)*(e[n]-1))).map((t=>t-1)),r=n.map((t=>Math.floor(t/2))),s=n.map(((t,e)=>t-r[e]));return n.map(((t,e)=>[r[e],s[e]]))}([c.filterHeight,c.filterWidth],h):[[0,0],[0,0]];const p=1===h[0]&&1===h[1],[f,m]=function(t,e,n){const r=n.map((t=>t[0])),s=n.map((t=>t[1])),i=t.concat(r,s),a=e.map(((t,e)=>(t-i[e]%t)%t)),o=s.map(((t,e)=>t+a[e]));return[e.map(((t,e)=>[r[e],o[e]])),e.map(((t,e)=>[0,a[e]]))]}([c.inHeight,c.inWidth],h,d),g=p?r:"valid",y=p?l:ah(l,h,f),x=("avg"===n?()=>cu(y,e,i,g,a):()=>Pc(y,e,i,g,a))(),b=p?x:yu(x,h,m);return u?uu(b,[b.shape[1],b.shape[2],b.shape[3]]):b}}),lh=ki({prelu_:function(t,e){const n={x:Ti(t,"x","prelu"),alpha:Ti(e,"alpha","prelu")};return pi.runKernel(Qn,n)}}),uh=ki({prod_:function(t,e=null,n=!1){let r=Ti(t,"x","prod");"bool"===r.dtype&&(r=Ma(r,"int32"));const s={x:r},i={axis:e,keepDims:n};return pi.runKernel(tr,s,i)}}),ch=ki({rand_:function(t,e,n){const r=ot(t);let s=null;if(null==n||"float32"===n)s=new Float32Array(r);else if("int32"===n)s=new Int32Array(r);else{if("bool"!==n)throw new Error(`Unknown data type ${n}`);s=new Uint8Array(r)}for(let t=0;t=1||0===i);const a=Math.sqrt(-2*Math.log(i)/i);t=this.mean+this.stdDev*r*a,e=this.mean+this.stdDev*s*a,this.truncated&&!this.isValidTruncated(t)||(n=!0)}return this.truncated&&!this.isValidTruncated(e)||(this.nextVal=this.convertValue(e)),this.convertValue(t)}convertValue(t){return null==this.dtype||"float32"===this.dtype?t:Math.round(t)}isValidTruncated(t){return t<=this.upper&&t>=this.lower}}class ph{constructor(t,e,n,r){this.alpha=t,this.beta=1/e,this.dtype=n;const s=r||Math.random();this.randu=hh.alea(s.toString()),this.randn=new dh(0,1,n,!1,this.randu()),this.d=t<1?t+2/3:t-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let t,e,n,r,s,i;for(;;){do{r=this.randn.nextValue(),i=1+this.c*r}while(i<=0);if(i*=i*i,t=r*r,e=1-.331*t*t,n=.5*t+this.d*(1-i+Math.log(i)),s=this.randu(),snull==this.dtype||"float32"===this.dtype,this.min=t,this.range=e-t,this.dtype=n,null==r&&(r=Math.random()),"number"==typeof r&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${t} - ${e} <= 1 and dtype is not float`);this.random=hh.alea(r)}convertValue(t){return this.canReturnFloat()?t:Math.round(t)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}const mh=ki({randomGamma_:function(t,e,n=1,r="float32",s){if(null==n&&(n=1),null==r&&(r="float32"),"float32"!==r&&"int32"!==r)throw new Error(`Unsupported data type ${r}`);const i=new ph(e,n,r,s),a=_a(t,r);for(let t=0;t`Error in reverse1D: x must be rank 1 but got rank ${e.rank}.`)),Th(e,0)}}),Mh=ki({reverse2d_:function(t,e){const n=Ti(t,"x","reverse");return rt(2===n.rank,(()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`)),Th(n,e)}}),kh=ki({reverse3d_:function(t,e){const n=Ti(t,"x","reverse");return rt(3===n.rank,(()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`)),Th(n,e)}}),Eh=ki({reverse4d_:function(t,e){const n=Ti(t,"x","reverse");return rt(4===n.rank,(()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`)),Th(n,e)}}),Ih=ki({round_:function(t){const e={x:Ti(t,"x","round")};return pi.runKernel(dr,e)}}),Ch=ki({rsqrt_:function(t){const e={x:Ti(t,"x","rsqrt","float32")};return pi.runKernel(pr,e)}}),Nh=ki({selu_:function(t){const e={x:Ti(t,"x","selu")};return pi.runKernel(gr,e)}}),Ah=ki({separableConv2d_:function(t,e,n,r,s,i=[1,1],a="NHWC"){const o=Ti(t,"x","separableConv2d"),l=Ti(e,"depthwiseFilter","separableConv2d"),u=Ti(n,"pointwiseFilter","separableConv2d");let c=o,h=!1;if(3===o.rank&&(h=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),"NCHW"===a)throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");rt(4===c.rank,(()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`)),rt(4===l.rank,(()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${l.rank}.`)),rt(4===u.rank,(()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${l.rank}.`)),rt(1===u.shape[0],(()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`)),rt(1===u.shape[1],(()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`));const d=l.shape[2],p=l.shape[3];rt(u.shape[2]===d*p,(()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${d*p}, but got ${u.shape[2]}.`));const f=Wu(c,l,r,s,a,i),m=Au(f,u,1,"valid",a);return h?uu(m,[m.shape[1],m.shape[2],m.shape[3]]):m}}),Rh=async function(t,e){const n=Ti(t,"x","setdiff1d"),r=Ti(e,"y","setdiff1d");rt(n.dtype===r.dtype,(()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`)),rt(1===n.rank,(()=>`x should be 1D tensor, but got x (${n.shape}).`)),rt(1===r.rank,(()=>`y should be 1D tensor, but got y (${r.shape}).`));const s=await n.data(),i=await r.data(),a=new Set(i);let o=0;for(let t=0;t`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`)),fu(r,[e],[n])}}),Oh=ki({slice2d_:function(t,e,n){const r=Ti(t,"x","slice2d");return rt(2===r.rank,(()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`)),fu(r,e,n)}}),Ph=ki({slice3d_:function(t,e,n){const r=Ti(t,"x","slice3d");return rt(3===r.rank,(()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`)),fu(r,e,n)}}),zh=ki({slice4d_:function(t,e,n){const r=Ti(t,"x","slice4d");return rt(4===r.rank,(()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`)),fu(r,e,n)}}),Bh=ki({softmax_:function(t,e=-1){const n=Ti(t,"logits","softmax","float32");if(-1===e&&(e=n.rank-1),e!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${e}`);const r={logits:n},s={dim:e};return pi.runKernel(Er,r,s)}}),Uh=ki({fft_:function(t){rt("complex64"===t.dtype,(()=>`The dtype for tf.spectral.fft() must be complex64 but got ${t.dtype}.`));const e={input:t};return pi.runKernel(Qe,e)}}),Vh=ki({ifft_:function(t){rt("complex64"===t.dtype,(()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${t.dtype}.`));const e={input:t};return pi.runKernel(hn,e)}}),Wh=ki({irfft_:function(t){const e=t.shape[t.shape.length-1],n=t.size/e;let r;if(e<=2){const s=uu(t,[n,e]);r=Vh(s)}else{const s=[n,2*(e-1)],i=uu(bh(t),[n,e]),a=uu(lc(t),[n,e]),o=Th(fu(i,[0,1],[n,e-2]),1),l=hl(Th(fu(a,[0,1],[n,e-2]),1),Sl(-1)),u=du([i,o],1),c=du([a,l],1),h=uu(Ei(u,c),[s[0],s[1]]);r=Vh(h)}if(r=bh(r),3===t.rank&&0!==t.shape[0]){const e=r,n=t.shape[0];r=uu(r,[n,r.shape[0]/n,r.shape[1]]),e.dispose()}return r}}),Hh=ki({split_:function(t,e,n=0){const r={x:Ti(t,"x","split")},s={numOrSizeSplits:e,axis:n};return pi.runKernel(kr,r,s)}}),Gh=ki({rfft_:function(t,e){rt("float32"===t.dtype,(()=>`The dtype for rfft() must be real value but got ${t.dtype}`));let n=t.shape[t.shape.length-1];const r=t.size/n;let s;if(null!=e&&e0)),i=t.shape.map((t=>t));i[t.shape.length-1]=e,s=fu(t,r,i),n=e}else if(null!=e&&e>n){const r=t.shape.map((t=>t));r[t.shape.length-1]=e-n,s=du([t,Vc(r)],t.shape.length-1),n=e}else s=t;const i=fl(s),a=uu(Ei(s,i),[r,n]),o=Uh(a),l=Math.floor(n/2)+1,u=bh(o),c=lc(o),h=Hh(u,[l,n-l],u.shape.length-1),d=Hh(c,[l,n-l],c.shape.length-1),p=s.shape.slice();return p[s.shape.length-1]=l,uu(Ei(h[0],d[0]),p)}}),jh=ki({squaredDifference_:function(t,e){let n=Ti(t,"a","squaredDifference"),r=Ti(e,"b","squaredDifference");[n,r]=si(n,r),Ja(n.shape,r.shape);const s={a:n,b:r};return pi.runKernel(Dr,s,{})}}),qh=ki({squeeze_:function(t,e){const n=Ti(t,"x","squeeze");return uu(n,xt(n.shape,e).newShape)}}),Xh=ki({stack_:function(t,e=0){const n=_i(t,"tensors","stack","string_or_numeric");rt(n.length>=1,(()=>"Pass at least one tensor to tf.stack")),n.length>0&&rt(e<=n[0].rank,(()=>"Axis must be <= rank of the tensor"));const r=n,s={axis:e};return pi.runKernel(Kn,r,s)}}),Kh=ki({step_:function(t,e=0){const n={x:Ti(t,"x","step")},r={alpha:e};return pi.runKernel(Yr,n,r)}}),Yh=ki({stridedSlice_:function(t,e,n,r,s=0,i=0,a=0,o=0,l=0){const u={x:Ti(t,"x","stridedSlice","string_or_numeric")},c={begin:e,end:n,strides:r,beginMask:s,endMask:i,ellipsisMask:a,newAxisMask:o,shrinkAxisMask:l};return pi.runKernel(Fr,u,c)}}),Jh=ki({tan_:function(t){const e={x:Ti(t,"x","tan","float32")};return pi.runKernel(Br,e)}});function Zh(t,e){it(t);const n=vi(t,e);if(1!==n.length)throw new Error("tensor1d() requires values to be a flat/TypedArray");return Ii(t,null,n,e)}function Qh(t,e,n){if(it(t),null!=e&&2!==e.length)throw new Error("tensor2d() requires shape to have two numbers");const r=vi(t,n);if(2!==r.length&&1!==r.length)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return Ii(t,e,r,n)}function td(t,e,n){if(it(t),null!=e&&4!==e.length)throw new Error("tensor4d() requires shape to have four numbers");const r=vi(t,n);if(4!==r.length&&1!==r.length)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return Ii(t,e,r,n)}function ed(t,e,n){if(it(t),null!=e&&5!==e.length)throw new Error("tensor5d() requires shape to have five numbers");const r=vi(t,n);if(5!==r.length&&1!==r.length)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return Ii(t,e,r,n)}function nd(t,e,n){if(it(t),null!=e&&6!==e.length)throw new Error("tensor6d() requires shape to have six numbers");const r=vi(t,n);if(6!==r.length&&1!==r.length)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(1===r.length&&null==e)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return Ii(t,e=e||r,r,n)}const rd=ki({topk_:function(t,e=1,n=!0){const r=Ti(t,"x","topk");if(0===r.rank)throw new Error("topk() expects the input to be of rank 1 or higher");const s=r.shape[r.shape.length-1];if(e<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${e}`);if(e>s)throw new Error(`'k' passed to topk() must be <= the last dimension (${s}) but got ${e}`);const i={x:r},a={k:e,sorted:n},[o,l]=pi.runKernel(Wr,i,a);return{values:o,indices:l}}}),sd=ki({truncatedNormal_:function(t,e=0,n=1,r,s){if(null!=r&&"bool"===r)throw new Error("Unsupported data type $ { dtype }");const i=new dh(e,n,r,!0,s),a=_a(t,r);for(let t=0;t0,(()=>"The input tensor must be at least 1D"));const r={x:n},s={axis:e},[i,a]=pi.runKernel(jr,r,s);return{values:i,indices:a}}}),ad=ki({unsortedSegmentSum_:function(t,e,n){const r=Ti(t,"x","unsortedSegmentSum"),s=Ti(e,"segmentIds","unsortedSegmentSum","int32");rt(ct(n),(()=>"numSegments must be of dtype int"));const i={x:r,segmentIds:s},a={numSegments:n};return pi.runKernel(Xr,i,a)}}),od=ki({unstack_:function(t,e=0){const n=Ti(t,"x","unstack","string_or_numeric");rt(e>=-n.shape.length&&e`Axis = ${e} is not in [-${n.shape.length}, ${n.shape.length})`));const r={value:n},s={axis:e};return pi.runKernel(qr,r,s)}});function ld(t,e=!0,n,r){return pi.makeVariable(t,e,n,r)}function ud(t,e){const n=[];for(let t=0;t0,(()=>"mask cannot be scalar")),st(o.slice(i,i+a),s.shape,"mask's shape must match the first K dimensions of tensor's shape,");let l=1;for(let t=i;t"Shape mismatch in v and x"));const l=Sl(1),u=Il(l,o);let c=hl(Il(a,i),u);if(s){rt(null!=r,(()=>"When using zeroDebias: true, step is required."));const t=Ti(r,"step","movingAverage");c=cl(c,Il(l,El(o,t)))}return ll(i,c)}}),md=ki({scatterND_:function(t,e,n){const r=Ti(t,"indices","scatterND","int32"),s=Ti(e,"updates","scatterND");ao(s,r,n);const i={indices:r,updates:s},a={shape:n};return pi.runKernel(fr,i,a)}}),gd=ki({sparseToDense_:function(t,e,n,r=0){const s=Ti(t,"sparseIndices","sparseToDense","int32"),i=Ti(e,"sparseValues","sparseToDense"),a=Ti(r,"defaultValue","sparseToDense",i.dtype);!function(t,e,n,r){if("int32"!==t.dtype)throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${t.shape}.`);const s=t.rank>0?t.shape[0]:1,i=t.rank>1?t.shape[1]:1;if(n.length!==i)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${i}.`);const a=e.size;if(0!==e.rank&&(1!==e.rank||a!==s))throw new Error(`sparseValues has incorrect shape ${e.shape}, should be [] or [${s}]`);if(e.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}(s,i,n,a);const o={sparseIndices:s,sparseValues:i,defaultValue:a},l={outputShape:n};return pi.runKernel(Rr,o,l)}}),yd=ki({gatherND_:function(t,e){const n=Ti(e,"indices","gatherND","int32"),r={params:Ti(t,"x","gatherND","string_or_numeric"),indices:n};return pi.runKernel(on,r)}}),xd=ki({dropout_:function(t,e,n,r){const s=Ti(t,"x","dropout");if(rt("float32"===s.dtype,(()=>`x has to be a floating point tensor since it's going to be scaled, but got a ${s.dtype} tensor instead.`)),rt(e>=0&&e<1,(()=>`rate must be a float in the range [0, 1), but got ${e}.`)),0===e)return t instanceof qs?s.clone():s;const i=function(t,e){if(null==e)return t.shape.slice();if(ut(t.shape,e))return e;if(t.shape.length===e.length){const n=[];for(let r=0;r1,(()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`)),rt(r.rank-1===s.rank,(()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${s.rank}`)),st(r.shape.slice(0,r.shape.length-1),s.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const i=r.shape[r.shape.length-1];rt(n>0&&n<=i,(()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${i}), but got ${n}`));const a=await r.data(),o=await s.data(),[l,u]=[a.length/i,i],c=bt("bool",l);for(let t=0;te.value-t.value)),c[t]=0;for(let e=0;e`Error in conv2dDerFilter: input must be rank 4, but got shape ${o.shape}.`)),rt(4===l.rank,(()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${l.shape}.`)),rt(4===n.length,(()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`));const u="NHWC"===i?o.shape[3]:o.shape[1],c="NHWC"===i?l.shape[3]:l.shape[1];rt(u===n[2],(()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${n[2]}.`)),rt(c===n[3],(()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${n[3]}).`)),lu("conv2dDerFilter",s,a);const h={x:o,dy:l},d={strides:r,pad:s,dataFormat:i,dimRoundingMode:a,filterShape:n};return pi.runKernel(ke,h,d)}});function Td(t,e,n){if(null==n||"linear"===n)return t;if("relu"===n)return hl(t,Kh(e));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function _d(t,e){let n=e;const r=Ya(t.shape,e.shape);return r.length>0&&(n=Tc(n,r)),uu(n,t.shape)}function Md(t,e,n,r){if("linear"===e)return t;if("relu"===e)return wh(t);if("elu"===e)return Ju(t);if("relu6"===e)return Sh(t);if("prelu"===e)return lh(t,n);if("leakyrelu"===e)return dc(t,r);if("sigmoid"===e)return pu(t);throw new Error(`Unknown fused activation ${e}.`)}const kd=(t,e)=>!(t>0)||"linear"===e,Ed=ki({fusedConv2d_:function({x:t,filter:e,strides:n,pad:r,dataFormat:s="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(l=l||"linear",!1===kd(pi.state.gradientDepth,l)){let h=Au(t,e,n,r,s,i,a);return null!=o&&(h=ll(h,o)),Md(h,l,u,c)}const h=Ti(t,"x","conv2d","float32"),d=Ti(e,"filter","conv2d","float32");let p=h,f=!1;3===h.rank&&(f=!0,p=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),rt(4===p.rank,(()=>`Error in fused conv2d: input must be rank 4, but got rank ${p.rank}.`)),rt(4===d.rank,(()=>`Error in fused conv2d: filter must be rank 4, but got rank ${d.rank}.`)),lu("fused conv2d",r,a),rt(p.shape[3]===d.shape[2],(()=>`Error in conv2d: depth of input (${p.shape[3]}) must match input depth for filter ${d.shape[2]}.`)),rt(au(n,i),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`)),rt("NHWC"===s,(()=>`Error in conv2d: got dataFormat of ${s} but only NHWC is currently supported.`));const m=Zl(p.shape,d.shape,n,i,r,a);let g,y;null!=o&&(g=Ti(o,"bias","fused conv2d"),[g]=si(g,h),Ja(m.outShape,g.shape)),null!=u&&(y=Ti(u,"prelu weights","fused conv2d"));const x=(t,e)=>{const[s,a,o,u]=e,c=Td(t,o,l);rt(iu(i),(()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`));const h=[Du(a.shape,c,s,n,r),Sd(a,c,s.shape,n,r)];if(null!=u){const t=_d(u,c);h.push(t)}return h},b={x:p,filter:d,bias:g,preluActivationWeights:y},v={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a,activation:l,leakyreluAlpha:c};if(null==o){const t=vl(((t,e,n)=>{let r=pi.runKernel(ts,b,v);return n([e,t,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:x}}));return t(p,d)}{const t=vl(((t,e,n,r)=>{let s=pi.runKernel(ts,b,v);return r([e,t,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:x}}));return t(p,d,g)}}}),Id=ki({depthwiseConv2dNativeBackpropFilter_:function(t,e,n,r,s,i=[1,1],a){let o=t;3===t.rank&&(o=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l=e;3===l.rank&&(l=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]));const u={x:o,dy:l},c={strides:r,pad:s,dimRoundingMode:a,dilations:i,filterShape:n};return pi.runKernel(Pe,u,c)}}),Cd=ki({depthwiseConv2dNativeBackpropInput_:function(t,e,n,r,s,i=[1,1],a){let o=e,l=!1;3===e.rank&&(l=!0,o=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]));const u={dy:o,filter:n},c={strides:r,pad:s,dimRoundingMode:a,dilations:i,inputShape:t},h=pi.runKernel(ze,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),Nd=ki({fusedDepthwiseConv2d_:function({x:t,filter:e,strides:n,pad:r,dataFormat:s="NHWC",dilations:i=[1,1],dimRoundingMode:a,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(!1===kd(pi.state.gradientDepth,l)){let h=Wu(t,e,n,r,s,i,a);return null!=o&&(h=ll(h,o)),Md(h,l,u,c)}const h=Ti(t,"x","depthwiseConv2d","float32"),d=Ti(e,"filter","depthwiseConv2d","float32");let p=h,f=!1;3===h.rank&&(f=!0,p=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),rt(4===p.rank,(()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${p.rank}.`)),rt(4===d.rank,(()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${d.rank}.`)),rt(p.shape[3]===d.shape[2],(()=>`Error in fused depthwiseConv2d: number of input channels (${p.shape[3]}) must match the inChannels dimension in filter ${d.shape[2]}.`)),null==i&&(i=[1,1]),rt(au(n,i),(()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${i}'`)),lu("fused depthwiseConv2d",r,a);const m=Zl(p.shape,d.shape,n,i,r,a,!0);let g,y;null!=o&&(g=Ti(o,"bias","fused conv2d"),[g]=si(g,h),Ja(m.outShape,g.shape)),null!=u&&(y=Ti(u,"prelu weights","fused depthwiseConv2d"));const x=(t,e)=>{rt(iu(i),(()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${i}'`));const[s,o,u,c]=e,h=Td(t,u,l),d=Cd(o.shape,h,s,n,r,i,a),p=Id(o,h,s.shape,n,r,i,a);return null!=c?[d,p,_d(g,h)]:[d,p]},b={x:p,filter:d,bias:g,preluActivationWeights:y},v={strides:n,pad:r,dataFormat:s,dilations:i,dimRoundingMode:a,activation:l,leakyreluAlpha:c};if(null==o){const t=vl(((t,e,n)=>{let r=pi.runKernel(es,b,v);return n([e,t,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:x}}));return t(p,d)}{const t=vl(((t,e,n,r)=>{let s=pi.runKernel(es,b,v);return r([e,t,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:x}}));return t(p,d,g)}}}),Ad=ki({fusedMatMul_:function({a:t,b:e,transposeA:n=!1,transposeB:r=!1,bias:s,activation:i="linear",preluActivationWeights:a,leakyreluAlpha:o}){if(!1===kd(pi.state.gradientDepth,i)){let l=Ga(t,e,n,r);return null!=s&&(l=ll(l,s)),Md(l,i,a,o)}let l=Ti(t,"a","fused matMul"),u=Ti(e,"b","fused matMul");[l,u]=si(l,u);const c=n?l.shape[l.rank-2]:l.shape[l.rank-1],h=r?u.shape[u.rank-1]:u.shape[u.rank-2],d=n?l.shape[l.rank-1]:l.shape[l.rank-2],p=r?u.shape[u.rank-2]:u.shape[u.rank-1],f=l.shape.slice(0,-2),m=u.shape.slice(0,-2),g=ot(f),y=ot(m);rt(c===h,(()=>`Error in fused matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${l.shape} and ${u.shape} and transposeA=${n} and transposeB=${r} must match.`));const x=Ja(l.shape.slice(0,-2),u.shape.slice(0,-2)).concat([d,p]),b=uu(l,n?[g,c,d]:[g,d,c]),v=uu(u,r?[y,p,h]:[y,h,p]);let w,S;null!=s&&(w=Ti(s,"bias","fused matMul"),[w]=si(w,l),Ja(x,w.shape)),null!=a&&(S=Ti(a,"prelu weights","fused matMul"));const T=(t,e)=>{const[a,o,l,u]=e,c=Td(uu(t,l.shape),l,i);let h,d;return n||r?!n&&r?(h=Ga(c,o,!1,!1),d=Ga(c,a,!0,!1)):n&&!r?(h=Ga(o,c,!1,!0),d=Ga(a,c,!1,!1)):(h=Ga(o,c,!0,!0),d=Ga(c,a,!0,!0)):(h=Ga(c,o,!1,!0),d=Ga(a,c,!0,!1)),null!=s?[h,d,_d(u,c)]:[h,d]},_={a:b,b:v,bias:w,preluActivationWeights:S},M={transposeA:n,transposeB:r,activation:i,leakyreluAlpha:o};if(null==s){const t=vl(((t,e,n)=>{const r=pi.runKernel(Qr,_,M);return n([t,e,r]),{value:uu(r,x),gradFunc:T}}));return t(b,v)}{const t=vl(((t,e,n,r)=>{const s=pi.runKernel(Qr,_,M);return r([t,e,s,n]),{value:uu(s,x),gradFunc:T}}));return t(b,v,w)}}}),Rd=ki({hammingWindow_:function(t){return vd(t,.54,.46)}}),Dd=ki({hannWindow_:function(t){return vd(t,.5,.5)}}),Ld=ki({frame_:function(t,e,n,r=!1,s=0){let i=0;const a=[];for(;i+e<=t.size;)a.push(fu(t,i,e)),i+=n;if(r)for(;i`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`)),rt(2===o.rank&&4===o.shape[1],(()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${o.shape}.`)),rt(1===l.rank&&l.shape[0]===u,(()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${o.shape}.`)),rt(2===r.length,(()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`)),rt(r[0]>=1&&r[1]>=1,(()=>`cropSize must be atleast [1,1], but was ${r}`)),rt("bilinear"===s||"nearest"===s,(()=>`method must be bilinear or nearest, but was ${s}`));const c={image:a,boxes:o,boxInd:l},h={method:s,extrapolationValue:i,cropSize:r};return pi.runKernel(Le,c,h)}}),Od=ki({flipLeftRight_:function(t){const e=Ti(t,"image","flipLeftRight","float32");rt(4===e.rank,(()=>`Error in flipLeftRight: image must be rank 4,but got rank ${e.rank}.`));const n={image:e};return pi.runKernel(en,n,{})}}),Pd=ki({grayscaleToRGB_:function(t){const e=Ti(t,"image","grayscaleToRGB"),n=e.rank-1,r=e.shape[n];rt(e.rank>=2,(()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${e.rank}.`)),rt(1===r,(()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${r}.`));const s=new Array(e.rank);return s.fill(1,0,n),s[n]=3,nc(e,s)}}),zd=ki({rotateWithOffset_:function(t,e,n=0,r=.5){const s=Ti(t,"image","rotateWithOffset","float32");rt(4===s.rank,(()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${s.rank}.`));const i={image:s},a={radians:e,fillValue:n,center:r};return pi.runKernel(Zr,i,a)}});function Bd(t,e,n,r,s,i){null==r&&(r=.5),null==s&&(s=Number.NEGATIVE_INFINITY),null==i&&(i=0);const a=t.shape[0];return n=Math.min(n,a),rt(0<=r&&r<=1,(()=>`iouThreshold must be in [0, 1], but was '${r}'`)),rt(2===t.rank,(()=>`boxes must be a 2D tensor, but was of rank '${t.rank}'`)),rt(4===t.shape[1],(()=>`boxes must have 4 columns, but 2nd dimension was ${t.shape[1]}`)),rt(1===e.rank,(()=>"scores must be a 1D tensor")),rt(e.shape[0]===a,(()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${e.shape[0]}`)),rt(0<=i&&i<=1,(()=>`softNmsSigma must be in [0, 1], but was '${i}'`)),{maxOutputSize:n,iouThreshold:r,scoreThreshold:s,softNmsSigma:i}}const Ud=ki({nonMaxSuppression_:function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY){const i=Ti(t,"boxes","nonMaxSuppression","float32"),a=Ti(e,"scores","nonMaxSuppression","float32"),o=Bd(i,a,n,r,s),l={maxOutputSize:n=o.maxOutputSize,iouThreshold:r=o.iouThreshold,scoreThreshold:s=o.scoreThreshold};return pi.runKernel(Hn,{boxes:i,scores:a},l)}});function Vd(t,e,n){const r=function(t,e,n){return function(t,e,n){let r=0,s=t.length,i=0,a=!1;for(;r>>1);const o=n(e,t[i]);o>0?r=i+1:(s=i,a=!o)}return a?r:-r-1}(t,e,n||Wd)}(t,e,n),s=r<0?-(r+1):r;t.splice(s,0,e)}function Wd(t,e){return t>e?1:ts&&u.push({score:e[t],boxIndex:t,suppressBeginIndex:0});u.sort(Yd);const c=i>0?-.5/i:0,h=[],d=[];for(;h.length0;){const e=u.pop(),{score:n,boxIndex:i,suppressBeginIndex:a}=e;if(n=a;--n){const a=Xd(t,i,h[n]);if(a>=r){o=!0;break}if(e.score=e.score*Kd(r,c,a),e.score<=s)break}e.suppressBeginIndex=h.length,o||(e.score===n?(h.push(i),d.push(e.score)):e.score>s&&Vd(u,e,Yd))}const p=h.length,f=n-p;o&&f>0&&(h.push(...new Array(f).fill(0)),d.push(...new Array(f).fill(0)));const m={selectedIndices:h};return a&&(m.selectedScores=d),l&&(m.validOutputs=p),m}function Xd(t,e,n){const r=t.subarray(4*e,4*e+4),s=t.subarray(4*n,4*n+4),i=Math.min(r[0],r[2]),a=Math.min(r[1],r[3]),o=Math.max(r[0],r[2]),l=Math.max(r[1],r[3]),u=Math.min(s[0],s[2]),c=Math.min(s[1],s[3]),h=Math.max(s[0],s[2]),d=Math.max(s[1],s[3]),p=(o-i)*(l-a),f=(h-u)*(d-c);if(p<=0||f<=0)return 0;const m=Math.max(i,u),g=Math.max(a,c),y=Math.min(o,h),x=Math.min(l,d),b=Math.max(y-m,0)*Math.max(x-g,0);return b/(p+f-b)}function Kd(t,e,n){const r=Math.exp(e*n*n);return n<=t?r:0}function Yd(t,e){return t.score-e.score||t.score===e.score&&e.boxIndex-t.boxIndex}const Jd=ki({nonMaxSuppressionWithScore_:function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=0){const a=Ti(t,"boxes","nonMaxSuppression"),o=Ti(e,"scores","nonMaxSuppression"),l=Bd(a,o,n,r,s,i),u={boxes:a,scores:o},c={maxOutputSize:n=l.maxOutputSize,iouThreshold:r=l.iouThreshold,scoreThreshold:s=l.scoreThreshold,softNmsSigma:i=l.softNmsSigma},h=pi.runKernel(jn,u,c);return{selectedIndices:h[0],selectedScores:h[1]}}}),Zd=ki({nonMaxSuppressionPadded_:function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=!1){const a=Ti(t,"boxes","nonMaxSuppression"),o=Ti(e,"scores","nonMaxSuppression"),l=Bd(a,o,n,r,s,null),u={boxes:a,scores:o},c={maxOutputSize:l.maxOutputSize,iouThreshold:l.iouThreshold,scoreThreshold:l.scoreThreshold,padToMaxOutputSize:i},h=pi.runKernel(Gn,u,c);return{selectedIndices:h[0],validOutputs:h[1]}}}),Qd=ki({resizeBilinear_:function(t,e,n=!1,r=!1){const s=Ti(t,"images","resizeBilinear");rt(3===s.rank||4===s.rank,(()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${s.rank}.`)),rt(2===e.length,(()=>`Error in resizeBilinear: new shape must 2D, but got shape ${e}.`)),rt(!1===r||!1===n,(()=>"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false."));let i=s,a=!1;3===s.rank&&(a=!0,i=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=e,o={images:i},l={alignCorners:n,halfPixelCenters:r,size:e},u=pi.runKernel(lr,o,l);return a?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),tp=ki({resizeNearestNeighbor_:function(t,e,n=!1,r=!1){const s=Ti(t,"images","resizeNearestNeighbor");rt(3===s.rank||4===s.rank,(()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${s.rank}.`)),rt(2===e.length,(()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${e}.`)),rt("float32"===s.dtype||"int32"===s.dtype,(()=>"`images` must have `int32` or `float32` as dtype")),rt(!1===r||!1===n,(()=>"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false."));let i=s,a=!1;3===s.rank&&(a=!0,i=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=e,o={images:i},l={alignCorners:n,halfPixelCenters:r,size:e},u=pi.runKernel(ar,o,l);return a?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),ep=ki({threshold_:function(t,e="binary",n=!1,r=.5){const s=Ti(t,"image","threshold"),i=s.shape[0]*s.shape[1];let a,o,l,u,c=hl(Zh([r]),255);if(rt(3===s.rank,(()=>`Error in threshold: image must be rank 3,but got rank ${s.rank}.`)),rt(3===s.shape[2]||1===s.shape[2],(()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${s.shape[2]}.`)),rt("int32"===s.dtype||"float32"===s.dtype,(()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${s.dtype}.`)),rt("otsu"===e||"binary"===e,(()=>`Method must be binary or otsu, but was ${e}`)),3===s.shape[2]){[a,o,l]=Hh(s,[1,1,1],-1);const t=hl(a,.2989),e=hl(o,.587),n=hl(l,.114);u=ll(ll(t,e),n)}else u=t;"otsu"===e&&(c=function(t,e){let n,r,s,i,a,o,l=Zh([-1]),u=Zh([0]),c=Zh([0]);for(let h=0;h`Error in transform: image must be rank 4,but got rank ${a.rank}.`)),rt(2===o.rank&&(o.shape[0]===a.shape[0]||1===o.shape[0])&&8===o.shape[1],(()=>"Error in transform: Input transform should be batch x 8 or 1 x 8")),rt(null==i||2===i.length,(()=>`Error in transform: outputShape must be [height, width] or null, but got ${i}.`));const l={image:a,transforms:o},u={interpolation:n,fillMode:r,fillValue:s,outputShape:i};return pi.runKernel(Hr,l,u)}}),rp=ki({bandPart_:function(t,e,n){rt(e%1==0,(()=>`bandPart(): numLower must be an integer, got ${e}.`)),rt(n%1==0,(()=>`bandPart(): numUpper must be an integer, got ${n}.`));const r=Ti(t,"a","bandPart");rt(r.rank>=2,(()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`));const s=r.shape,[i,a]=r.shape.slice(-2);if(!(e<=i))throw new Error(`bandPart(): numLower (${e}) must not be greater than the number of rows (${i}).`);if(!(n<=a))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${a}).`);e<0&&(e=i),n<0&&(n=a);const o=uu(xh(0,i,1,"int32"),[-1,1]),l=xh(0,a,1,"int32"),u=Il(o,l),c=Lc(fc(u,Sl(+e,"int32")),oc(u,Sl(-n,"int32"))),h=Vc([i,a],r.dtype);return uu(Xh(od(uu(r,[-1,i,a])).map((t=>qu(c,t,h)))),s)}}),sp=ki({gramSchmidt_:function(t){let e;if(Array.isArray(t)){e=!1,rt(null!=t&&t.length>0,(()=>"Gram-Schmidt process: input must not be null, undefined, or empty"));const n=t[0].shape[0];for(let e=1;e`Gram-Schmidt: Non-unique lengths found in the input vectors: (${t[e].shape[0]} vs. ${n})`))}else e=!0,t=Hh(t,t.shape[0],0).map((t=>qh(t,[0])));rt(t.length<=t[0].shape[0],(()=>`Gram-Schmidt: Number of vectors (${t.length}) exceeds number of dimensions (${t[0].shape[0]}).`));const n=[],r=t;for(let e=0;e{let t=r[e];if(e>0)for(let r=0;r{rt(2===t.shape.length,(()=>`qr2d() requires a 2D Tensor, but got a ${t.shape.length}D Tensor.`));const n=t.shape[0],r=t.shape[1];let s=rc(n),i=ka(t);const a=Qh([[1]],[1,1]);let o=ka(a);const l=n>=r?r:n;for(let t=0;t{const e=fu(i,[t,t],[n-t,1]),l=pd(e),u=fu(i,[t,t],[1,1]),c=qu(ac(u,0),Qh([[-1]]),Qh([[1]])),h=Il(u,hl(c,l)),d=cl(e,h);o=1===d.shape[0]?ka(a):du([a,fu(d,[1,0],[d.shape[0]-1,d.shape[1]])],0);const p=bc(cl(Ga(c,h),l)),f=fu(i,[t,0],[n-t,r]),m=hl(p,o),g=qa(o);if(0===t)i=Il(f,Ga(m,Ga(g,f)));else{const e=Il(f,Ga(m,Ga(g,f)));i=du([fu(i,[0,0],[t,r]),e],0)}const y=qa(m),x=fu(s,[0,t],[n,s.shape[1]-t]);if(0===t)s=Il(x,Ga(Ga(x,o),y));else{const e=Il(x,Ga(Ga(x,o),y));s=du([fu(s,[0,0],[n,t]),e],1)}return[o,i,s]})),Yo([e,l,u])}return!e&&n>r&&(s=fu(s,[0,0],[n,r]),i=fu(i,[0,0],[r,r])),[s,i]}))}const ap=ki({qr_:function(t,e=!1){if(rt(t.rank>=2,(()=>`qr() requires input tensor to have a rank >= 2, but got rank ${t.rank}`)),2===t.rank)return ip(t,e);{const n=t.shape.slice(0,t.shape.length-2).reduce(((t,e)=>t*e)),r=od(uu(t,[n,t.shape[t.shape.length-2],t.shape[t.shape.length-1]]),0),s=[],i=[];return r.forEach((t=>{const[n,r]=ip(t,e);s.push(n),i.push(r)})),[uu(Xh(s,0),t.shape),uu(Xh(i,0),t.shape)]}}});var op;!function(t){t[t.NONE=0]="NONE",t[t.MEAN=1]="MEAN",t[t.SUM=2]="SUM",t[t.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"}(op||(op={}));const lp=ki({computeWeightedLoss_:function(t,e,n=op.SUM_BY_NONZERO_WEIGHTS){const r=Ti(t,"losses","computeWeightedLoss");let s=null;null!=e&&(s=Ti(e,"weights","computeWeightedLoss"));const i=null==s?r:hl(r,s);if(n===op.NONE)return i;if(n===op.SUM)return Tc(i);if(n===op.MEAN){if(null==s)return Uc(i);{const t=r.size/s.size,e=cl(Tc(i),Tc(s));return t>1?cl(e,Sl(t)):e}}if(n===op.SUM_BY_NONZERO_WEIGHTS){if(null==s)return cl(Tc(i),Sl(r.size));{const t=hl(s,Wc(r.shape)),e=Ma(Tc(Zc(t,Sl(0))),"float32");return cl(Tc(i),e)}}throw Error(`Unknown reduction: ${n}`)}}),up=ki({absoluteDifference_:function(t,e,n,r=op.SUM_BY_NONZERO_WEIGHTS){const s=Ti(t,"labels","absoluteDifference"),i=Ti(e,"predictions","absoluteDifference");let a=null;null!=n&&(a=Ti(n,"weights","absoluteDifference")),st(s.shape,i.shape,"Error in absoluteDifference: ");const o=Nl(Il(s,i));return lp(o,a,r)}}),cp=ki({cosineDistance_:function(t,e,n,r,s=op.SUM_BY_NONZERO_WEIGHTS){const i=Ti(t,"labels","cosineDistance"),a=Ti(e,"predictions","cosineDistance");let o=null;null!=r&&(o=Ti(r,"weights","cosineDistance")),st(i.shape,a.shape,"Error in cosineDistance: ");const l=Sl(1),u=Il(l,Tc(hl(i,a),n,!0));return lp(u,o,s)}}),hp=ki({hingeLoss_:function(t,e,n,r=op.SUM_BY_NONZERO_WEIGHTS){let s=Ti(t,"labels","hingeLoss");const i=Ti(e,"predictions","hingeLoss");let a=null;null!=n&&(a=Ti(n,"weights","hingeLoss")),st(s.shape,i.shape,"Error in hingeLoss: ");const o=Sl(1);s=Il(hl(Sl(2),s),o);const l=wh(Il(o,hl(s,i)));return lp(l,a,r)}}),dp=ki({huberLoss_:function(t,e,n,r=1,s=op.SUM_BY_NONZERO_WEIGHTS){const i=Ti(t,"labels","huberLoss"),a=Ti(e,"predictions","huberLoss");let o=null;null!=n&&(o=Ti(n,"weights","huberLoss")),st(i.shape,a.shape,"Error in huberLoss: ");const l=Sl(r),u=Nl(Il(a,i)),c=jc(u,l),h=Il(u,c),d=ll(hl(Sl(.5),pl(c)),hl(l,h));return lp(d,o,s)}}),pp=ki({logLoss_:function(t,e,n,r=1e-7,s=op.SUM_BY_NONZERO_WEIGHTS){const i=Ti(t,"labels","logLoss"),a=Ti(e,"predictions","logLoss");let o=null;null!=n&&(o=Ti(n,"weights","logLoss")),st(i.shape,a.shape,"Error in logLoss: ");const l=Sl(1),u=Sl(r),c=bc(hl(i,yc(ll(a,u)))),h=hl(Il(l,i),yc(ll(Il(l,a),u))),d=Il(c,h);return lp(d,o,s)}}),fp=ki({meanSquaredError_:function(t,e,n,r=op.SUM_BY_NONZERO_WEIGHTS){const s=Ti(t,"labels","meanSquaredError"),i=Ti(e,"predictions","meanSquaredError");let a=null;null!=n&&(a=Ti(n,"weights","meanSquaredError")),st(s.shape,i.shape,"Error in meanSquaredError: ");const o=jh(s,i);return lp(o,a,r)}}),mp=ki({sigmoidCrossEntropy_:function(t,e,n,r=0,s=op.SUM_BY_NONZERO_WEIGHTS){let i=Ti(t,"multiClassLabels","sigmoidCrossEntropy");const a=Ti(e,"logits","sigmoidCrossEntropy");let o=null;if(null!=n&&(o=Ti(n,"weights","sigmoidCrossEntropy")),st(i.shape,a.shape,"Error in sigmoidCrossEntropy: "),r>0){const t=Sl(r),e=Sl(1),n=Sl(.5);i=ll(hl(i,Il(e,t)),hl(n,t))}const l=function(t,e){const n=Ti(t,"labels","sigmoidCrossEntropyWithLogits"),r=Ti(e,"logits","sigmoidCrossEntropyWithLogits");st(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const s=wh(r),i=hl(r,n),a=xc(Qu(bc(Nl(r))));return ll(Il(s,i),a)}(i,a);return lp(l,o,s)}}),gp=ki({softmaxCrossEntropy_:function(t,e,n,r=0,s=op.SUM_BY_NONZERO_WEIGHTS){let i=Ti(t,"onehotLabels","softmaxCrossEntropy");const a=Ti(e,"logits","softmaxCrossEntropy");let o=null;if(null!=n&&(o=Ti(n,"weights","softmaxCrossEntropy")),st(i.shape,a.shape,"Error in softmaxCrossEntropy: "),r>0){const t=Sl(r),e=Sl(1),n=Sl(i.shape[1]);i=ll(hl(i,Il(e,t)),cl(t,n))}const l=function(t,e,n=-1){if(-1===n&&(n=e.rank-1),n!==e.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${e.rank} and dim was ${n}`);const r=vl(((t,e,r)=>{const s=Dc(e,[n],!0),i=Il(Ma(e,"float32"),s);r([t,i]);const a=bc(hl(i,t));return{value:Tc(a,[n]),gradFunc:(t,e)=>{const[r,s]=e,i=Ic(t.shape,[n]);return[hl(uu(t,i),Il(Ma(r,"float32"),Qu(s))),hl(uu(t,i),Il(Qu(s),Ma(r,"float32")))]}}}));return r(t,e)}(i,a);return lp(l,o,s)}}),yp=ki({sparseFillEmptyRows_:function(t,e,n,r){const s=Ti(t,"indices","sparseFillEmptyRows","int32"),i=Ti(e,"values","sparseFillEmptyRows"),a=Ti(n,"denseShape","sparseFillEmptyRows","int32"),o=Ti(r,"defaultValue","sparseFillEmptyRows",i.dtype);if(2!==s.rank)throw new Error(`Indices should be Tensor2D but received shape\n ${s.shape}`);if(1!==i.rank)throw new Error(`Values should be Tensor1D but received shape ${i.shape}`);if(1!==a.rank)throw new Error(`Dense shape should be Tensor1D but received shape ${a.shape}`);if(0!==o.rank)throw new Error(`Default value should be a scalar but received shape ${o.shape}`);const l={indices:s,values:i,denseShape:a,defaultValue:o},u=pi.runKernel(Ir,l);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}}),xp=ki({sparseReshape_:function(t,e,n){const r=Ti(t,"inputIndices","sparseReshape","int32"),s=Ti(e,"inputShape","sparseReshape","int32"),i=Ti(n,"newShape","sparseReshape","int32");if(2!==r.rank)throw new Error(`Input indices should be Tensor2D but received shape\n ${r.shape}`);if(1!==s.rank)throw new Error(`Input shape should be Tensor1D but received shape ${s.shape}`);if(1!==i.rank)throw new Error(`New shape should be Tensor1D but received shape ${i.shape}`);const a={inputIndices:r,inputShape:s,newShape:i},o=pi.runKernel(Cr,a);return{outputIndices:o[0],outputShape:o[1]}}}),bp=ki({sparseSegmentMean_:function(t,e,n){const r=Ti(t,"data","sparseSegmentMean"),s=Ti(e,"indices","sparseSegmentMean","int32"),i=Ti(n,"segmentIds","sparseSegmentMean","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==i.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${i.shape}`);const a={data:r,indices:s,segmentIds:i};return pi.runKernel(Nr,a)}}),vp=ki({sparseSegmentSum_:function(t,e,n){const r=Ti(t,"data","sparseSegmentSum"),s=Ti(e,"indices","sparseSegmentSum","int32"),i=Ti(n,"segmentIds","sparseSegmentSum","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==i.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${i.shape}`);const a={data:r,indices:s,segmentIds:i};return pi.runKernel(Ar,a)}}),wp=ki({stringNGrams_:function(t,e,n,r,s,i,a,o){const l=Ti(t,"data","stringNGrams","string");if("string"!==l.dtype)throw new Error("Data must be of datatype string");if(1!==l.shape.length)throw new Error(`Data must be a vector, saw: ${l.shape}`);const u=Ti(e,"dataSplits","stringNGrams");if("int32"!==u.dtype)throw new Error("Data splits must be of datatype int32");const c={separator:n,nGramWidths:r,leftPad:s,rightPad:i,padWidth:a,preserveShortSequences:o},h={data:l,dataSplits:u},d=pi.runKernel($r,h,c);return{nGrams:d[0],nGramsSplits:d[1]}}}),Sp=ki({stringSplit_:function(t,e,n=!0){const r=Ti(t,"input","stringSplit","string"),s=Ti(e,"delimiter","stringSplit","string");if(1!==r.rank)throw new Error(`Input should be Tensor1D but received shape ${r.shape}`);if(0!==s.rank)throw new Error(`Delimiter should be a scalar but received shape ${s.shape}`);const i={skipEmpty:n},a={input:r,delimiter:s},o=pi.runKernel(Or,a,i);return{indices:o[0],values:o[1],shape:o[2]}}}),Tp=ki({stringToHashBucketFast_:function(t,e){const n=Ti(t,"input","stringToHashBucketFast","string"),r={numBuckets:e};if(e<=0)throw new Error("Number of buckets must be at least 1");const s={input:n};return pi.runKernel(Pr,s,r)}}),_p={fft:Uh,ifft:Vh,rfft:Gh,irfft:Wh},Mp={hammingWindow:Rd,hannWindow:Dd,frame:Ld,stft:Fd},kp={flipLeftRight:Od,grayscaleToRGB:Pd,resizeNearestNeighbor:tp,resizeBilinear:Qd,rotateWithOffset:zd,cropAndResize:$d,nonMaxSuppression:Ud,nonMaxSuppressionAsync:async function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY){const i=Ti(t,"boxes","nonMaxSuppressionAsync"),a=Ti(e,"scores","nonMaxSuppressionAsync"),o=Bd(i,a,n,r,s);n=o.maxOutputSize,r=o.iouThreshold,s=o.scoreThreshold;const l=await Promise.all([i.data(),a.data()]),u=l[0],c=l[1],{selectedIndices:h}=Hd(u,c,n,r,s);return i!==t&&i.dispose(),a!==e&&a.dispose(),Zh(h,"int32")},nonMaxSuppressionWithScore:Jd,nonMaxSuppressionWithScoreAsync:async function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=0){const a=Ti(t,"boxes","nonMaxSuppressionAsync"),o=Ti(e,"scores","nonMaxSuppressionAsync"),l=Bd(a,o,n,r,s,i);n=l.maxOutputSize,r=l.iouThreshold,s=l.scoreThreshold,i=l.softNmsSigma;const u=await Promise.all([a.data(),o.data()]),c=u[0],h=u[1],{selectedIndices:d,selectedScores:p}=jd(c,h,n,r,s,i);return a!==t&&a.dispose(),o!==e&&o.dispose(),{selectedIndices:Zh(d,"int32"),selectedScores:Zh(p)}},nonMaxSuppressionPadded:Zd,nonMaxSuppressionPaddedAsync:async function(t,e,n,r=.5,s=Number.NEGATIVE_INFINITY,i=!1){const a=Ti(t,"boxes","nonMaxSuppressionAsync"),o=Ti(e,"scores","nonMaxSuppressionAsync"),l=Bd(a,o,n,r,s,null),u=l.maxOutputSize,c=l.iouThreshold,h=l.scoreThreshold,[d,p]=await Promise.all([a.data(),o.data()]),{selectedIndices:f,validOutputs:m}=Gd(d,p,u,c,h,i);return a!==t&&a.dispose(),o!==e&&o.dispose(),{selectedIndices:Zh(f,"int32"),validOutputs:Sl(m,"int32")}},threshold:ep,transform:np},Ep={bandPart:rp,gramSchmidt:sp,qr:ap},Ip={absoluteDifference:up,computeWeightedLoss:lp,cosineDistance:cp,hingeLoss:hp,huberLoss:dp,logLoss:pp,meanSquaredError:fp,sigmoidCrossEntropy:mp,softmaxCrossEntropy:gp},Cp={sparseFillEmptyRows:yp,sparseReshape:xp,sparseSegmentMean:bp,sparseSegmentSum:vp},Np={stringNGrams:wp,stringSplit:Sp,stringToHashBucketFast:Tp},Ap={sgd:$l.sgd,momentum:$l.momentum,adadelta:$l.adadelta,adagrad:$l.adagrad,rmsprop:$l.rmsprop,adamax:$l.adamax,adam:$l.adam},Rp="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:"undefined"!=typeof setImmediate?setImmediate:t=>t();function Dp(){return new Promise((t=>Rp((()=>t()))))}function Lp(t,e){const n=t[0].length;t.forEach(((t,e)=>{rt(t.length===n,(()=>`Error in concat${n}D: rank of tensors[${e}] must be the same as the rank of the rest (${n})`))})),rt(e>=0&&e`Error in concat${n}D: axis must be between 0 and ${n-1}.`));const r=t[0];t.forEach(((t,s)=>{for(let i=0;i`Error in concat${n}D: Shape of tensors[${s}] (${t}) does not match the shape of the rest (${r}) along the non-concatenated axis ${s}.`))}))}function Fp(t,e){const n=t[0].slice();for(let r=1;r=2*e+1||r%2==1?s.push(r):n.push(r);r.push(...n),r.push(0),r.push(...s)}return r}function Up(t,e,n,r=!0){const s=[];r?s.push(t[0]/n):s.push(t[0]*n);for(let n=1;n/g;function lf(t,e){const n=((t=t.replace(/\s/g,"")).length-t.replace(of,"").length)/"->".length;if(n<1)throw new Error("Equations without an arrow are not supported.");if(n>1)throw new Error('Equation must contain exactly one arrow ("->").');const[r,s]=t.split("->");rt(-1===r.indexOf("..."),(()=>'The ellipsis notation ("...") is not supported yet.'));const i=r.split(","),a=i.length;if(e!==a)throw new Error(`Expected ${a} input tensors, received ${e}`);if(a>2)throw new Error("Support for more than 2 input tensors is not implemented yet.");const o=[];for(let t=0;t-1!==t.indexOf(e))))throw new Error(`Output subscripts contain the label ${e} not present in the input subscripts.`);-1===o.indexOf(e)&&o.push(e)}for(let t=0;t-1!==t)),{permutationIndices:n,expandDims:r}}function cf(t,e,n){const r=new Array(t);for(let t=0;t`Expected dimension ${r[e[t][n]]} at axis ${n} of input shaped ${JSON.stringify(s)}, but got dimension ${s[n]}`))}}function hf(t,e){const n=t,r=[];let s=0;0===t.length&&n.push(-1),s=t.length+1;for(let t=0;tt===e))}function pf(t,e){const n=[];for(let r=0;r"Number of splits must evenly divide the axis.")),r=new Array(e).fill(t.shape[n]/e);else{const s=e.reduce(((t,e)=>(-1===e&&(t+=1),t)),0);rt(s<=1,(()=>"There should be only one negative value in split array."));const i=e.indexOf(-1);if(-1!==i){const r=e.reduce(((t,e)=>e>0?t+e:t));e[i]=t.shape[n]-r}rt(t.shape[n]===e.reduce(((t,e)=>t+e)),(()=>"The sum of sizes must match the size of the axis dimension.")),r=e}return r}function mf(t){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${t}`}function gf(t,e){return`indices(${t}, 0) is invalid: ${e} < 0`}function yf(t,e,n){return`indices(${t}, 0) is invalid: ${e} >= ${n}`}function xf(t,e){return`only one output dimension may be -1, not both ${t} and ${e}`}function bf(t,e){return`size ${t} must be non-negative, not ${e}`}function vf(){return"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero"}function wf(t,e){return`Input to reshape is a SparseTensor with ${ot(t)}\n dense values, but the requested shape requires a multiple of ${ot(e)}. inputShape=${t} outputShape= ${e}`}function Sf(t,e){return`Input to reshape is a tensor with ${ot(t)} dense values, but the requested shape has ${ot(e)}. inputShape=${t} outputShape=${e}`}function Tf(){return"segment ids must be >= 0"}function _f(){return"segment ids are not increasing"}function Mf(t,e){return`Segment id ${t} out of range [0, ${e}), possibly because segmentIds input is not sorted.`}function kf(t,e,n){return`Bad: indices[${t}] == ${e} out of range [0, ${n})`}function Ef(t,e){let n,r=!1;for(t<=$p?(n=t,r=!0):n=Rt(t,Math.floor(Math.sqrt(t)));!r;)n>e||n===t?r=!0:n=Rt(t,n+1);return n}function If(t,e,n){const r=[],s=t.length;for(let i=0;is))throw new Error(`Expect batchDims in the range of [-${s}, ${s}], but got ${r}`);if(r<0&&(r+=s),r>i)throw new Error(`batchDims (${r}) must be less than rank(x) (\n ${i}).`);if(nLs(t)))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function Af(t){return t.map((t=>Ds(t)))}const Rf={kernelName:Yt,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,Kh(Ma(n,"float32"),-1))}}},Df={kernelName:Jt,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=pl(Ma(n,"float32")),r=dl(Il(Sl(1),e));return bc(cl(t,r))}}}},Lf={kernelName:Zt,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=dl(Il(pl(Ma(n,"float32")),1));return cl(t,e)}}}},Ff={kernelName:Qt,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{let e=t;const r=Ya(n.shape,s);return r.length>0&&(e=Tc(e,r)),uu(e,n.shape)},b:()=>{let e=t;const n=Ya(r.shape,s);return n.length>0&&(e=Tc(e,n)),uu(e,r.shape)}}}},$f={kernelName:te,saveAllInputs:!0,gradFunc:(t,e)=>{const n={};return e.forEach(((e,r)=>{n[r]=()=>t.clone()})),n}},Of={kernelName:re,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>fl(n)}}},Pf={kernelName:se,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>fl(n)}}},zf={kernelName:ie,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,dl(Il(Sl(1),pl(Ma(n,"float32")))))}}},Bf={kernelName:ae,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=dl(ll(Sl(1),pl(Ma(n,"float32"))));return cl(t,e)}}}},Uf={kernelName:ue,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=ll(pl(n),pl(r));let i=hl(t,cl(r,e));const a=Ya(n.shape,s);return a.length>0&&(i=Tc(i,a)),uu(i,n.shape)},b:()=>{const e=ll(pl(n),pl(r));let i=bc(hl(t,cl(n,e)));const a=Ya(r.shape,s);return a.length>0&&(i=Tc(i,a)),uu(i,r.shape)}}}},Vf={kernelName:oe,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,ll(pl(Ma(n,"float32")),1))}}},Wf={kernelName:le,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,Il(Sl(1),pl(Ma(n,"float32"))))}}},Hf=ki({avgPool3dGrad_:function(t,e,n,r,s,i){const a=Ti(t,"dy","avgPool3dGrad"),o=Ti(e,"input","avgPool3dGrad");let l=a,u=o,c=!1;4===o.rank&&(c=!0,l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),rt(5===l.rank,(()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`)),rt(5===u.rank,(()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`)),lu("avgPool3dGrad",s,i);const h={dy:l,input:u},d={filterSize:n,strides:r,pad:s,dimRoundingMode:i},p=pi.runKernel(pe,h,d);return c?uu(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),Gf={kernelName:de,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{filterSize:s,strides:i,pad:a,dimRoundingMode:o}=n;return{x:()=>Hf(t,r,s,i,a,o)}}},jf=ki({avgPoolGrad_:function(t,e,n,r,s){const i=Ti(t,"dy","avgPoolGrad"),a=Ti(e,"input","avgPoolGrad");rt(a.rank===i.rank,(()=>`Rank of input (${a.rank}) does not match rank of dy (${i.rank})`));let o=a,l=i,u=!1;3===a.rank&&(u=!0,o=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]]),l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]])),rt(4===l.rank,(()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`)),rt(4===o.rank,(()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${o.rank}.`));const c={dy:l,input:o},h={filterSize:n,strides:r,pad:s},d=pi.runKernel(he,c,h);return u?uu(d,[d.shape[1],d.shape[2],d.shape[3]]):d}}),qf={kernelName:ce,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{filterSize:s,strides:i,pad:a}=n;return{x:()=>jf(t,r,s,i,a)}}},Xf={kernelName:fe,inputsToSave:["a","b"],gradFunc:(t,e,n)=>{const[r,s]=e,{transposeA:i,transposeB:a}=n;return i||a?!i&&a?{a:()=>Ga(t,s,!1,!1),b:()=>Ga(t,r,!0,!1)}:i&&!a?{a:()=>Ga(s,t,!1,!0),b:()=>Ga(r,t,!1,!1)}:{a:()=>Ga(s,t,!0,!0),b:()=>Ga(t,r,!0,!0)}:{a:()=>Ga(t,s,!1,!0),b:()=>Ga(r,t,!0,!1)}}},Kf={kernelName:me,gradFunc:(t,e,n)=>{const{blockShape:r,crops:s}=n;return{x:()=>ah(t,r,s)}}},Yf={kernelName:ye,gradFunc:(t,e,n)=>{const r=n,s=r.inputShape,i=r.shape,a=Array.from(i);for(let t=s.length-1;t>=0;t--)if(s[t]===i[t])a[t]=1;else if(1!==s[t])throw new Error(`broadcastTo(): [${s}] cannot be broadcast to [${i}].`);const o=[];for(let t=0;t1&&o.push(t);return{x:()=>Tc(t,o,!0)}}},Jf={kernelName:be,gradFunc:t=>({x:()=>t.clone()})},Zf={kernelName:ve,gradFunc:t=>({x:()=>fl(t)})},Qf={kernelName:we,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{clipValueMin:s,clipValueMax:i}=n;return{x:()=>qu(Lc(oc(r,s),fc(r,i)),t,fl(t))}}},tm={kernelName:Te,inputsToSave:["x"],gradFunc:Rf.gradFunc},em={kernelName:_e,saveAllInputs:!0,gradFunc:(t,e,n)=>{const r=e.map((t=>t.shape)),{axis:s}=n,i=yt(s,e[0].shape)[0],a=r.map((t=>t[i]));return Hh(t,a,i).map((t=>()=>t))}},nm={kernelName:Me,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const[r,s]=e,{dilations:i,strides:a,pad:o,dataFormat:l}=n;return rt(iu(i),(()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`)),{x:()=>Du(r.shape,t,s,a,o,l),filter:()=>Sd(r,t,s.shape,a,o,l)}}},rm={kernelName:Ee,inputsToSave:["dy","filter"],gradFunc:(t,e,n)=>{const[r,s]=e,{strides:i,pad:a,dataFormat:o,dimRoundingMode:l}=n;return{dy:()=>Au(t,s,i,a,o,1,l),filter:()=>Sd(t,r,s.shape,i,a,o,l)}}},sm=ki({conv3DBackpropFilter_:function(t,e,n,r,s){let i=t;4===t.rank&&(i=uu(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]));let a=e;4===a.rank&&(a=uu(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]])),rt(5===i.rank,(()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${i.shape}.`)),rt(5===a.rank,(()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`)),rt(5===n.length,(()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`)),rt(i.shape[4]===n[3],(()=>`Error in conv3dDerFilter: depth of input ${i.shape[4]}) must match input depth in filter (${n[3]}.`)),rt(a.shape[4]===n[4],(()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${n[4]}).`));const o={x:i,dy:a},l={strides:r,pad:s,filterShape:n};return pi.runKernel(Ce,o,l)}}),im={kernelName:Ie,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const{dilations:r,strides:s,pad:i}=n;rt(iu(r),(()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`));const[a,o]=e;return{x:()=>$u(a.shape,t,o,s,i),filter:()=>sm(a,t,o.shape,s,i)}}},am={kernelName:Ae,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(bc(Lh(Ma(n,"float32"))),t)}}},om={kernelName:Re,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(Fh(Ma(n,"float32")),t)}}},lm={kernelName:De,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{axis:s,exclusive:i,reverse:a}=n;return{x:()=>{const e=Nc([s],r.rank);let n=Bu(t,s,i,!a);return null!=e&&(n=qa(n,e)),n}}}},um={kernelName:Oe,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const{dilations:r,strides:s,pad:i,dimRoundingMode:a}=n,o=null==r?[1,1]:r;rt(iu(o),(()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${o}'`));const[l,u]=e;return rt(4===l.rank,(()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`)),rt(4===u.rank,(()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`)),rt(l.shape[3]===u.shape[2],(()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`)),rt(au(s,o),(()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'.`)),lu("depthwiseConv2d",i,a),{x:()=>Cd(l.shape,t,u,s,i,o,a),filter:()=>Id(l,t,u.shape,s,i,o,a)}}},cm={kernelName:Ue,inputsToSave:["x","filter"],gradFunc:(t,e,n)=>{const[r,s]=e,i={x:r,filter:s,dy:t},a={x:r,filter:s,dy:t};return{x:()=>pi.runKernel(Ve,i,n),filter:()=>pi.runKernel(We,a,n)}}},hm={kernelName:je,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e,r={dy:t,y:n};return{x:()=>pi.runKernel(qe,r)}}},dm={kernelName:Xe,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e,r=hl(Qu(bc(pl(n))),2/Math.sqrt(Math.PI));return{x:()=>hl(t,r)}}},pm={kernelName:Ye,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,n)}}},fm={kernelName:Je,inputsToSave:["input"],gradFunc:(t,e)=>{const[n]=e;return{input:()=>uu(t,n.shape)}}},mm={kernelName:Ze,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,Qu(n))}}},gm={kernelName:nn,gradFunc:t=>({x:()=>fl(t)})},ym={kernelName:rn,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=cl(t,Ma(r,"float32")),i=Ya(n.shape,s);return i.length>0?uu(Tc(e,i),n.shape):e},b:()=>{let e=hl(t,Ma(n,"float32"));const i=Ya(r.shape,s);i.length>0&&(e=uu(Tc(e,i),r.shape));const a=pl(r);return bc(cl(e,Ma(a,"float32")))}}}},xm={kernelName:sn,inputsToSave:["x","mean","variance","scale"],gradFunc:(t,e,n)=>{const{varianceEpsilon:r}=n,[s,i,a,o]=e,l=null==o?Sl(1):o,u=Ya(i.shape,s.shape),c=[];if(1===i.rank){for(let t=0;t1===i.rank?uu(hl(hl(t,nc(uu(p,[1,1,1,i.shape[0]]),c)),l),s.shape):uu(hl(hl(t,p),l),s.shape),mean:()=>{let t=hl(hl(p,Sl(-1)),d);return 1===i.rank&&(t=Tc(t,u)),uu(t,i.shape)},variance:()=>{let t=hl(hl(f,h),d);return 1===i.rank&&(t=Tc(t,u)),uu(t,i.shape)},scale:()=>{const e=hl(h,p);let n=hl(t,e);return 1===i.rank&&(n=Tc(n,u)),uu(n,i.shape)},offset:()=>{let e=t;return 1===i.rank&&(e=Tc(e,u)),uu(e,i.shape)}}}},bm={kernelName:an,inputsToSave:["x","indices"],gradFunc:(t,e,n)=>{const[r,s]=e,{axis:i}=n,a=yt(i,r.shape)[0];return{x:()=>{const e=r.shape,n=s.size,o=e.slice(0,a),l=o.length,u=e.slice(i,e.length).slice(1),c=u.length,h=vm(0,l),d=vm(l+1,l+1+c),p=wm([o,[n],u]),f=uu(t,p),m=uu(s,[n]),g=wm([[l],h,d]),y=qa(f,g);let x=ad(y,m,r.shape[a]);const b=Ac(g);return x=qa(x,b),x},indices:()=>s}}};function vm(t,e){const n=[];for(let r=t;r{const[n,r]=e;return{a:()=>fl(n),b:()=>fl(r)}}},Tm={kernelName:cn,gradFunc:t=>({x:()=>Ma(t,"float32")})},_m={kernelName:pn,gradFunc:t=>({x:()=>fl(t)})},Mm={kernelName:fn,gradFunc:t=>({x:()=>fl(t)})},km={kernelName:mn,gradFunc:t=>({x:()=>fl(t)})},Em={kernelName:gn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{alpha:s}=n,i=ac(r,0);return{x:()=>qu(i,t,hl(t,s))}}},Im={kernelName:wn,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,ll(n,1))}}},Cm={kernelName:vn,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,Ma(n,"float32"))}}},Nm={kernelName:Mn,inputsToSave:[],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r]=e,{axis:s}=n;return{logits:()=>{const e=Qu(r);return Il(t,hl(Tc(t,s,!0),e))}}}},Am=ki({localResponseNormalizationBackprop_:function(t,e,n,r=5,s=1,i=1,a=.5){const o={x:t,y:e,dy:n},l={depthRadius:r,bias:s,alpha:i,beta:a};return pi.runKernel(En,o,l)}}),Rm={kernelName:kn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r,s]=e,{depthRadius:i,bias:a,alpha:o,beta:l}=n;return{x:()=>Am(r,s,t,i,a,o,l)}}};function Dm(t,e,n,r){return e.rankhl(t,Ma(ju(n,e),t.dtype))}}const Lm={kernelName:In,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const r=n,{reductionIndices:s}=r,i=e[0],a=Dm(t,e[1],i,yt(s,i.shape));return{x:()=>a.x()}}},Fm={kernelName:Cn,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e;return{a:()=>hl(t,Ma(oc(n,r),"float32")),b:()=>hl(t,Ma(pc(n,r),"float32"))}}},$m=ki({maxPool3dGrad_:function(t,e,n,r,s,i,a){const o=Ti(t,"dy","maxPool3dGrad"),l=Ti(e,"input","maxPool3dGrad"),u=Ti(n,"output","maxPool3dGrad");let c=o,h=l,d=u,p=!1;4===l.rank&&(p=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),d=uu(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),rt(5===c.rank,(()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`)),rt(5===h.rank,(()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${h.rank}.`)),rt(5===d.rank,(()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${d.rank}.`)),lu("maxPool3dGrad",i,a);const f={dy:c,input:h,output:d},m={filterSize:r,strides:s,pad:i,dimRoundingMode:a},g=pi.runKernel(Dn,f,m);return p?uu(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),Om={kernelName:Rn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r,s]=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=n;return{x:()=>$m(t,r,s,i,a,o,l)}}},Pm=ki({maxPoolGrad_:function(t,e,n,r,s,i,a){const o=Ti(t,"dy","maxPoolGrad"),l=Ti(e,"input","maxPoolGrad"),u=Ti(n,"output","maxPoolGrad");rt(l.rank===o.rank,(()=>`Rank of input (${l.rank}) does not match rank of dy (${o.rank})`)),rt(4===o.rank,(()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${o.rank}.`)),rt(4===l.rank,(()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`)),lu("maxPoolGrad",i,a);const c={dy:o,input:l,output:u},h={filterSize:r,strides:s,pad:i,dimRoundingMode:a};return pi.runKernel(An,c,h)}}),zm={kernelName:Nn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r,s]=e,{filterSize:i,strides:a,pad:o}=n;return{x:()=>Pm(t,r,s,i,a,o)}}},Bm={kernelName:Pn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const r=e[0],{paddings:s}=n,i=s.map((t=>t[0]));return{x:()=>fu(t,i,r.shape)}}},Um={kernelName:Yn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const r=e[0],{paddings:s}=n,i=s.map((t=>t[0]));return{x:()=>fu(t,i,r.shape)}}},Vm={kernelName:Zn,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(t,e)=>{const[n,r,s]=e,i=n,a=r,o=Ja(i.shape,a.shape);return{a:()=>{const e=Ma(a,"float32");let n=hl(t,hl(e,El(i,Il(e,Sl(1)))));const r=Ya(i.shape,o);return r.length>0&&(n=Tc(n,r)),uu(n,i.shape)},b:()=>{const e=ac(i,0),n=qu(e,yc(i),fl(i));let r=hl(t,hl(s,n));const l=Ya(a.shape,o);return l.length>0&&(r=Tc(r,l)),uu(r,a.shape)}}}},Wm={kernelName:gr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>{const e=ac(n,Sl(0)),r=Sl(Hp),s=Sl(Gp),i=hl(t,s),a=hl(hl(t,r),Qu(Ma(n,"float32")));return qu(e,i,a)}}}},Hm={kernelName:Mr,gradFunc:(t,e,n)=>{const{blockShape:r,paddings:s}=n;return{x:()=>yu(t,r,s)}}},Gm={kernelName:kr,gradFunc:(t,e,n)=>{const{axis:r}=n;return{x:()=>du(t,r)}}},jm=[Rf,Df,Lf,Ff,$f,Of,Pf,zf,Bf,Uf,Vf,Wf,Gf,qf,Xf,Kf,Yf,Jf,Zf,Qf,tm,em,rm,nm,im,am,om,lm,um,cm,{kernelName:He,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=cl(t,Ma(r,"float32")),i=Ya(n.shape,s);return i.length>0?uu(Tc(e,i),n.shape):e},b:()=>{let e=hl(t,Ma(n,"float32"));const i=Ya(r.shape,s);i.length>0&&(e=uu(Tc(e,i),r.shape));const a=pl(r);return bc(cl(e,Ma(a,"float32")))}}}},hm,dm,pm,fm,mm,ym,gm,xm,bm,Sm,Tm,_m,Mm,km,Em,Im,Cm,Nm,Rm,Lm,Lm,Fm,Om,zm,{kernelName:Fn,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{axis:s}=n,i=yt(s,r.shape),a=ot(Ec(r.shape,i)[1]);return{x:()=>{const e=r.shape.slice();i.forEach((t=>{e[t]=1}));const n=uu(t,e);return cl(hl(n,Wc(r.shape,"float32")),a)}}}},{kernelName:$n,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(t,e,n)=>{const r=n,{axis:s}=r,[i,a]=e,o=Dm(t,a,i,yt(s,i.shape));return{x:()=>o.x()}}},{kernelName:On,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e;return{a:()=>hl(t,Ma(fc(n,r),"float32")),b:()=>hl(t,Ma(ac(n,r),"float32"))}}},Bm,{kernelName:zn,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=Ya(n.shape,s);return e.length>0?uu(Tc(t,e),n.shape):t},b:()=>{const e=hl(t,bc(sc(cl(n,r)))),i=Ya(r.shape,s);return i.length>0?uu(Tc(e,i),r.shape):e}}}},{kernelName:Un,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{const e=hl(t,Ma(r,"float32")),i=Ya(n.shape,s);return i.length>0?uu(Tc(e,i),n.shape):e},b:()=>{const e=hl(t,Ma(n,"float32")),i=Ya(r.shape,s);return i.length>0?uu(Tc(e,i),r.shape):e}}}},{kernelName:Vn,gradFunc:t=>({x:()=>bc(t)})},{kernelName:Xn,inputsToSave:["indices"],gradFunc:(t,e)=>{const n=e[0];return{indices:()=>Vc(n.shape,"float32")}}},{kernelName:qn,gradFunc:t=>({x:()=>fl(t)})},{kernelName:Kn,saveAllInputs:!0,gradFunc:(t,e,n)=>{const{axis:r}=n;return od(t,r).map((t=>()=>t))}},Um,Um,Vm,{kernelName:Qn,inputsToSave:["x","alpha"],gradFunc:(t,e)=>{const[n,r]=e,s=ac(n,0);return{x:()=>qu(s,t,hl(t,r)),alpha:()=>{let e=qu(s,fl(t),hl(t,n));const i=Ya(r.shape,t.shape);return i.length>0&&(e=Tc(e,i)),uu(e,r.shape)}}}},{kernelName:rr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,bc(pl(n)))}}},{kernelName:cr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e,r=hl(fc(n,6),Kh(n));return{x:()=>hl(t,Ma(r,"float32"))}}},{kernelName:sr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,Ma(Kh(n),"float32"))}}},{kernelName:ir,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>uu(t,n.shape)}}},{kernelName:lr,inputsToSave:["images"],gradFunc:(t,e,n)=>{const[r]=e,s={dy:t,images:r};return{images:()=>pi.runKernel(ur,s,n)}}},{kernelName:ar,inputsToSave:["images"],gradFunc:(t,e,n)=>{const[r]=e,s={dy:t,images:r};return{images:()=>pi.runKernel(or,s,n)}}},{kernelName:hr,gradFunc:(t,e,n)=>{const{dims:r}=n,s=yt(r,t.shape);return{x:()=>Th(t,s)}}},{kernelName:dr,gradFunc:t=>({x:()=>fl(t)})},{kernelName:pr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>bc(cl(t,hl(El(n,1.5),2)))}}},{kernelName:mr,inputsToSave:["condition"],gradFunc:(t,e)=>{const[n]=e;return{condition:()=>Ma(fl(n),"float32"),t:()=>hl(t,Ma(n,t.dtype)),e:()=>hl(t,Ma(Fc(n),t.dtype))}}},Wm,{kernelName:wr,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,hl(n,Il(Sl(1),n)))}}},{kernelName:vr,gradFunc:t=>({x:()=>fl(t)})},{kernelName:xr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(Pu(Ma(n,"float32")),t)}}},{kernelName:br,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(zu(Ma(n,"float32")),t)}}},{kernelName:yr,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{begin:s,size:i}=n,a=r.shape,[o,l]=To(r,s,i),u=[];for(let e=0;eeh(t,u)}}},{kernelName:Er,outputsToSave:[!0],gradFunc:(t,e,n)=>{const[r]=e,{dim:s}=n,i=hl(t,r);return{logits:()=>Il(i,hl(Tc(i,[s],!0),r))}}},{kernelName:Sr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,pu(n))}}},Hm,Hm,Gm,Gm,{kernelName:Tr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,hl(dl(Ma(n,"float32")),2))}}},{kernelName:Dr,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Sl(2);return{a:()=>hl(t,hl(s,Il(n,r))),b:()=>hl(t,hl(s,Il(r,n)))}}},{kernelName:Lr,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(t,hl(Ma(n,"float32"),2))}}},{kernelName:Yr,gradFunc:t=>({x:()=>fl(t)})},{kernelName:zr,inputsToSave:["a","b"],gradFunc:(t,e)=>{const[n,r]=e,s=Ja(n.shape,r.shape);return{a:()=>{let e=t;const r=Ya(n.shape,s);return r.length>0&&(e=Tc(e,r)),uu(e,n.shape)},b:()=>{let e=t;const n=Ya(r.shape,s);return n.length>0&&(e=Tc(e,n)),uu(bc(e),r.shape)}}}},{kernelName:_r,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,s=r.shape.slice(),{axis:i}=n;yt(i,r.shape).forEach((t=>{s[t]=1}));const a=uu(t,s),o=hl(a,Wc(r.shape,"float32"));return{x:()=>o}}},{kernelName:Br,inputsToSave:["x"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>cl(t,pl(Pu(n)))}}},{kernelName:Ur,outputsToSave:[!0],gradFunc:(t,e)=>{const[n]=e;return{x:()=>hl(Il(Sl(1),pl(n)),t)}}},{kernelName:Vr,inputsToSave:["x"],gradFunc:(t,e,n)=>{const[r]=e,{reps:s}=n;return{x:()=>{let e=fl(r);if(1===r.rank)for(let n=0;n{const r=n,{perm:s}=r,i=Ac(s);return{x:()=>qa(t,i)}}},{kernelName:qr,gradFunc:(t,e,n)=>{const r=n,{axis:s}=r;return{value:()=>Xh(t,s)}}},{kernelName:Xr,inputsToSave:["segmentIds"],gradFunc:(t,e)=>{const[n]=e;return{x:()=>function(t,e){const n=Al(e,fl(e)),r=ic(t,n);let s=oc(e,Sl(0,"int32"));const i=r.rank-s.rank;for(let t=0;t({x:()=>fl(t)})}];for(const t of jm)cs(t);let qm;function Xm(){return null==qm&&(qm=al().epsilon()),qm}Xs().prototype.abs=function(){return this.throwIfDisposed(),Nl(this)},Xs().prototype.acos=function(){return this.throwIfDisposed(),Ol(this)},Xs().prototype.acosh=function(){return this.throwIfDisposed(),Pl(this)},Xs().prototype.add=function(t){return this.throwIfDisposed(),ll(this,t)},Xs().prototype.all=function(t,e){return this.throwIfDisposed(),Bl(this,t,e)},Xs().prototype.any=function(t,e){return this.throwIfDisposed(),Ul(this,t,e)},Xs().prototype.argMax=function(t){return this.throwIfDisposed(),Vl(this,t)},Xs().prototype.argMin=function(t){return this.throwIfDisposed(),Wl(this,t)},Xs().prototype.asScalar=function(){return this.throwIfDisposed(),rt(1===this.size,(()=>"The array must have only 1 element.")),uu(this,[])},Xs().prototype.asType=function(t){return this.throwIfDisposed(),Ma(this,t)},Xs().prototype.as1D=function(){return this.throwIfDisposed(),uu(this,[this.size])},Xs().prototype.as2D=function(t,e){return this.throwIfDisposed(),uu(this,[t,e])},Xs().prototype.as3D=function(t,e,n){return this.throwIfDisposed(),uu(this,[t,e,n])},Xs().prototype.as4D=function(t,e,n,r){return this.throwIfDisposed(),uu(this,[t,e,n,r])},Xs().prototype.as5D=function(t,e,n,r,s){return this.throwIfDisposed(),uu(this,[t,e,n,r,s])},Xs().prototype.asin=function(){return this.throwIfDisposed(),Hl(this)},Xs().prototype.asinh=function(){return this.throwIfDisposed(),Gl(this)},Xs().prototype.atan=function(){return this.throwIfDisposed(),jl(this)},Xs().prototype.atan2=function(t){return this.throwIfDisposed(),ql(this,t)},Xs().prototype.atanh=function(){return this.throwIfDisposed(),Xl(this)},Xs().prototype.avgPool=function(t,e,n,r){return this.throwIfDisposed(),cu(this,t,e,n,r)},Xs().prototype.batchToSpaceND=function(t,e){return this.throwIfDisposed(),yu(this,t,e)},Xs().prototype.batchNorm=function(t,e,n,r,s){return this.throwIfDisposed(),xu(this,t,e,n,r,s)},Xs().prototype.broadcastTo=function(t){return this.throwIfDisposed(),_u(this,t)},Xs().prototype.cast=function(t){return this.throwIfDisposed(),Ma(this,t)},Xs().prototype.ceil=function(){return this.throwIfDisposed(),Mu(this)},Xs().prototype.clipByValue=function(t,e){return this.throwIfDisposed(),ku(this,t,e)},Xs().prototype.concat=function(t,e){return this.throwIfDisposed(),t instanceof qs&&(t=[t]),du([this,...t],e)},Xs().prototype.conv1d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Ru(this,t,e,n,r,s,i)},Xs().prototype.conv2dTranspose=function(t,e,n,r,s){return this.throwIfDisposed(),Lu(this,t,e,n,r,s)},Xs().prototype.conv2d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Au(this,t,e,n,r,s,i)},Xs().prototype.cos=function(){return this.throwIfDisposed(),Pu(this)},Xs().prototype.cosh=function(){return this.throwIfDisposed(),zu(this)},Xs().prototype.cumsum=function(t,e,n){return this.throwIfDisposed(),Bu(this,t,e,n)},Xs().prototype.depthToSpace=function(t,e){return this.throwIfDisposed(),Vu(this,t,e)},Xs().prototype.depthwiseConv2d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Wu(this,t,e,n,r,s,i)},Xs().prototype.dilation2d=function(t,e,n,r,s){return this.throwIfDisposed(),Gu(this,t,e,n,r,s)},Xs().prototype.divNoNan=function(t){return this.throwIfDisposed(),Xu(this,t)},Xs().prototype.div=function(t){return this.throwIfDisposed(),cl(this,t)},Xs().prototype.dot=function(t){return this.throwIfDisposed(),Ku(this,t)},Xs().prototype.elu=function(){return this.throwIfDisposed(),Ju(this)},Xs().prototype.equal=function(t){return this.throwIfDisposed(),ju(this,t)},Xs().prototype.erf=function(){return this.throwIfDisposed(),Zu(this)},Xs().prototype.exp=function(){return this.throwIfDisposed(),Qu(this)},Xs().prototype.expandDims=function(t){return this.throwIfDisposed(),tc(this,t)},Xs().prototype.expm1=function(){return this.throwIfDisposed(),ec(this)},Xs().prototype.fft=function(){return this.throwIfDisposed(),Uh(this)},Xs().prototype.flatten=function(){return this.throwIfDisposed(),uu(this,[this.size])},Xs().prototype.floor=function(){return this.throwIfDisposed(),sc(this)},Xs().prototype.floorDiv=function(t){return this.throwIfDisposed(),ul(this,t)},Xs().prototype.gather=function(t,e){return this.throwIfDisposed(),ic(this,t,e)},Xs().prototype.greaterEqual=function(t){return this.throwIfDisposed(),oc(this,t)},Xs().prototype.greater=function(t){return this.throwIfDisposed(),ac(this,t)},Xs().prototype.ifft=function(){return this.throwIfDisposed(),Vh(this)},Xs().prototype.irfft=function(){return this.throwIfDisposed(),Wh(this)},Xs().prototype.isFinite=function(){return this.throwIfDisposed(),uc(this)},Xs().prototype.isInf=function(){return this.throwIfDisposed(),cc(this)},Xs().prototype.isNaN=function(){return this.throwIfDisposed(),hc(this)},Xs().prototype.leakyRelu=function(t){return this.throwIfDisposed(),dc(this,t)},Xs().prototype.lessEqual=function(t){return this.throwIfDisposed(),fc(this,t)},Xs().prototype.less=function(t){return this.throwIfDisposed(),pc(this,t)},Xs().prototype.localResponseNormalization=function(t,e,n,r){return this.throwIfDisposed(),gc(this,t,e,n,r)},Xs().prototype.logSigmoid=function(){return this.throwIfDisposed(),wc(this)},Xs().prototype.logSoftmax=function(t){return this.throwIfDisposed(),_c(this,t)},Xs().prototype.logSumExp=function(t,e){return this.throwIfDisposed(),Dc(this,t,e)},Xs().prototype.log=function(){return this.throwIfDisposed(),yc(this)},Xs().prototype.log1p=function(){return this.throwIfDisposed(),xc(this)},Xs().prototype.logicalAnd=function(t){return this.throwIfDisposed(),Lc(this,t)},Xs().prototype.logicalNot=function(){return this.throwIfDisposed(),Fc(this)},Xs().prototype.logicalOr=function(t){return this.throwIfDisposed(),$c(this,t)},Xs().prototype.logicalXor=function(t){return this.throwIfDisposed(),Oc(this,t)},Xs().prototype.matMul=function(t,e,n){return this.throwIfDisposed(),Ga(this,t,e,n)},Xs().prototype.maxPool=function(t,e,n,r){return this.throwIfDisposed(),Pc(this,t,e,n,r)},Xs().prototype.max=function(t,e){return this.throwIfDisposed(),Sc(this,t,e)},Xs().prototype.maximum=function(t){return this.throwIfDisposed(),Al(this,t)},Xs().prototype.mean=function(t,e){return this.throwIfDisposed(),Uc(this,t,e)},Xs().prototype.min=function(t,e){return this.throwIfDisposed(),Gc(this,t,e)},Xs().prototype.minimum=function(t){return this.throwIfDisposed(),jc(this,t)},Xs().prototype.mirrorPad=function(t,e){return this.throwIfDisposed(),qc(this,t,e)},Xs().prototype.mod=function(t){return this.throwIfDisposed(),Xc(this,t)},Xs().prototype.mul=function(t){return this.throwIfDisposed(),hl(this,t)},Xs().prototype.neg=function(){return this.throwIfDisposed(),bc(this)},Xs().prototype.norm=function(t,e,n){return this.throwIfDisposed(),pd(this,t,e,n)},Xs().prototype.notEqual=function(t){return this.throwIfDisposed(),Zc(this,t)},Xs().prototype.oneHot=function(t,e=1,n=0){return this.throwIfDisposed(),ja(this,t,e,n)},Xs().prototype.onesLike=function(){return this.throwIfDisposed(),Qc(this)},Xs().prototype.pad=function(t,e){return this.throwIfDisposed(),eh(this,t,e)},Xs().prototype.pool=function(t,e,n,r,s,i){return this.throwIfDisposed(),oh(this,t,e,n,r,s,i)},Xs().prototype.pow=function(t){return this.throwIfDisposed(),El(this,t)},Xs().prototype.prelu=function(t){return this.throwIfDisposed(),lh(this,t)},Xs().prototype.prod=function(t,e){return this.throwIfDisposed(),uh(this,t,e)},Xs().prototype.reciprocal=function(){return this.throwIfDisposed(),vh(this)},Xs().prototype.relu=function(){return this.throwIfDisposed(),wh(this)},Xs().prototype.relu6=function(){return this.throwIfDisposed(),Sh(this)},Xs().prototype.reshapeAs=function(t){return this.throwIfDisposed(),uu(this,t.shape)},Xs().prototype.reshape=function(t){return this.throwIfDisposed(),uu(this,t)},Xs().prototype.resizeBilinear=function(t,e,n){return this.throwIfDisposed(),Qd(this,t,e,n)},Xs().prototype.resizeNearestNeighbor=function(t,e,n){return this.throwIfDisposed(),tp(this,t,e,n)},Xs().prototype.reverse=function(t){return this.throwIfDisposed(),Th(this,t)},Xs().prototype.rfft=function(){return this.throwIfDisposed(),Gh(this)},Xs().prototype.round=function(){return this.throwIfDisposed(),Ih(this)},Xs().prototype.rsqrt=function(){return this.throwIfDisposed(),Ch(this)},Xs().prototype.selu=function(){return this.throwIfDisposed(),Nh(this)},Xs().prototype.separableConv2d=function(t,e,n,r,s,i){return this.throwIfDisposed(),Ah(this,t,e,n,r,s,i)},Xs().prototype.sigmoid=function(){return this.throwIfDisposed(),pu(this)},Xs().prototype.sign=function(){return this.throwIfDisposed(),Dh(this)},Xs().prototype.sin=function(){return this.throwIfDisposed(),Lh(this)},Xs().prototype.sinh=function(){return this.throwIfDisposed(),Fh(this)},Xs().prototype.slice=function(t,e){return this.throwIfDisposed(),fu(this,t,e)},Xs().prototype.softmax=function(t){return this.throwIfDisposed(),Bh(this,t)},Xs().prototype.softplus=function(){return this.throwIfDisposed(),vc(this)},Xs().prototype.spaceToBatchND=function(t,e){return this.throwIfDisposed(),ah(this,t,e)},Xs().prototype.split=function(t,e){return this.throwIfDisposed(),Hh(this,t,e)},Xs().prototype.sqrt=function(){return this.throwIfDisposed(),dl(this)},Xs().prototype.square=function(){return this.throwIfDisposed(),pl(this)},Xs().prototype.squaredDifference=function(t){return this.throwIfDisposed(),jh(this,t)},Xs().prototype.squeeze=function(t){return this.throwIfDisposed(),qh(this,t)},Xs().prototype.stack=function(t,e){this.throwIfDisposed();const n=t instanceof qs?[this,t]:[this,...t];return Xh(n,e)},Xs().prototype.step=function(t){return this.throwIfDisposed(),Kh(this,t)},Xs().prototype.stridedSlice=function(t,e,n,r,s,i,a,o){return this.throwIfDisposed(),Yh(this,t,e,n,r,s,i,a,o)},Xs().prototype.sub=function(t){return this.throwIfDisposed(),Il(this,t)},Xs().prototype.sum=function(t,e){return this.throwIfDisposed(),Tc(this,t,e)},Xs().prototype.tan=function(){return this.throwIfDisposed(),Jh(this)},Xs().prototype.tanh=function(){return this.throwIfDisposed(),mu(this)},Xs().prototype.tile=function(t){return this.throwIfDisposed(),nc(this,t)},Xs().prototype.toBool=function(){return this.throwIfDisposed(),Ma(this,"bool")},Xs().prototype.toFloat=function(){return this.throwIfDisposed(),Ma(this,"float32")},Xs().prototype.toInt=function(){return this.throwIfDisposed(),Ma(this,"int32")},Xs().prototype.topk=function(t,e){return this.throwIfDisposed(),rd(this,t,e)},Xs().prototype.transpose=function(t){return this.throwIfDisposed(),qa(this,t)},Xs().prototype.unique=function(t){return this.throwIfDisposed(),id(this,t)},Xs().prototype.unsortedSegmentSum=function(t,e){return this.throwIfDisposed(),ad(this,t,e)},Xs().prototype.unstack=function(t){return this.throwIfDisposed(),od(this,t)},Xs().prototype.where=function(t,e){return this.throwIfDisposed(),qu(t,this,e)},Xs().prototype.zerosLike=function(){return this.throwIfDisposed(),fl(this)};class Km extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Km.prototype)}}class Ym extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Ym.prototype)}}class Jm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Jm.prototype)}}class Zm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Zm.prototype)}}class Qm extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Qm.prototype)}}function tg(t,e){if(Array.isArray(t)){let n=[];for(let r=0;re.toUpperCase()))}Error;let og={};function lg(t){if(null==t)return null;const e={};return e.className=t.getClassName(),e.config=t.getConfig(),e}function ug(t){if(null!=t&&"object"==typeof t)if(Array.isArray(t))t.forEach((t=>ug(t)));else{const e=Object.keys(t);for(const n of e){const e=t[n];null!=e&&"object"==typeof e&&(Array.isArray(e)||"ndarray"!==e.type||"number"!=typeof e.value?ug(e):t[n]=e.value)}}}function cg(t,e={},n={},r="object",s=!1){if("string"==typeof t){const s=t;let i;if(s in n)i=n[s];else if(s in og)i=og[s];else if(i=e[s],null==i)throw new Jm(`Unknown ${r}: ${t}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return i}{const i=t;if(null==i.className||null==i.config)throw new Jm(`${r}: Improper config format: ${JSON.stringify(i)}.\n'className' and 'config' must set.`);const a=i.className;let o,l;if(a in n?[o,l]=n[a]:a in og?[o,l]=og.className:a in e&&([o,l]=e[a]),null==o)throw new Jm(`Unknown ${r}: ${a}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const t={};for(const e of Object.keys(og))t[e]=og[e];for(const e of Object.keys(n))t[e]=n[e];i.config.customObjects=t;const e=Object.assign({},og);for(const t of Object.keys(n))og[t]=n[t];ug(i.config);const r=l(o,i.config,n,s);return og=Object.assign({},e),r}{const t=Object.assign({},og);for(const t of Object.keys(n))og[t]=n[t];const e=new o(i.config);return og=Object.assign({},t),e}}}function hg(t,e){return-1*function(t,e){return te?1:0}(t,e)}function dg(t){if(null==t)return t;const e=[];for(const n of t)-1===e.indexOf(n)&&e.push(n);return e}function pg(t){if(null==t)throw new Jm(`Invalid value in obj: ${JSON.stringify(t)}`);for(const e in t)if(t.hasOwnProperty(e))return!1;return!0}function fg(t,e,n){if(null!=n&&t.indexOf(n)<0)throw new Jm(`${n} is not a valid ${e}. Valid values are ${t} or null/undefined.`)}function mg(t,e,n=0,r=1/0){return eg(n>=0),eg(r>=n),Array.isArray(t)&&t.length>=n&&t.length<=r&&t.every((t=>typeof t===e))}function gg(t,e){Array.isArray(t)?(rt(t.length>0,(()=>`${e} is unexpectedly an empty array.`)),t.forEach(((t,n)=>gg(t,`element ${n+1} of ${e}`)))):rt(Number.isInteger(t)&&t>0,(()=>`Expected ${e} to be a positive integer, but got ${yg(t)}.`))}function yg(t){return null===t?"null":Array.isArray(t)?"["+t.map((t=>yg(t))).join(",")+"]":"string"==typeof t?`"${t}"`:`${t}`}function xg(t){return"relu"===t?"relu":"linear"===t?"linear":"elu"===t?"elu":null}function bg(t,e){return Ko((()=>dl(Tc(hl(t,t),e,!0))))}class vg extends ko{getConfig(){return{}}}class wg extends vg{constructor(t){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=t.maxValue?t.maxValue:this.defaultMaxValue,this.axis=null!=t.axis?t.axis:this.defaultAxis}apply(t){return Ko((()=>{const e=bg(t,this.axis),n=ku(e,0,this.maxValue);return hl(t,cl(n,ll(Xm(),e)))}))}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}wg.className="MaxNorm",Io(wg);class Sg extends vg{constructor(t){super(),this.defaultAxis=0,this.axis=null!=t.axis?t.axis:this.defaultAxis}apply(t){return Ko((()=>cl(t,ll(Xm(),bg(t,this.axis)))))}getConfig(){return{axis:this.axis}}}Sg.className="UnitNorm",Io(Sg);class Tg extends vg{apply(t){return wh(t)}}Tg.className="NonNeg",Io(Tg);class _g extends vg{constructor(t){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=t.minValue?t.minValue:this.defaultMinValue,this.maxValue=null!=t.maxValue?t.maxValue:this.defaultMaxValue,this.rate=null!=t.rate?t.rate:this.defaultRate,this.axis=null!=t.axis?t.axis:this.defaultAxis}apply(t){return Ko((()=>{const e=bg(t,this.axis),n=ll(hl(this.rate,ku(e,this.minValue,this.maxValue)),hl(1-this.rate,e));return hl(t,cl(n,ll(Xm(),e)))}))}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}_g.className="MinMaxNorm",Io(_g);const Mg={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function kg(t){return lg(t)}function Eg(t,e={}){return cg(t,Eo.getMap().classNameMap,e,"constraint")}function Ig(t){return null==t?null:"string"==typeof t?Eg({className:t in Mg?Mg[t]:t,config:{}}):t instanceof vg?t:Eg(t)}function Cg(t){return new wg(t)}function Ng(t){return new Sg(t)}function Ag(){return new Tg}function Rg(t){return new _g(t)}const Dg=["channelsFirst","channelsLast"],Lg=["nearest","bilinear"],Fg=["valid","same","causal"],$g=["max","avg"],Og=["sum","mul","concat","ave"],Pg=new Map;function zg(t){fg(Dg,"DataFormat",t)}function Bg(t){fg(Fg,"PaddingMode",t)}function Ug(t){fg($g,"PoolMode",t)}const Vg=[];function Wg(t,e){Vg.push(t);try{const t=e();return Vg.pop(),t}catch(t){throw Vg.pop(),t}}function Hg(t){if(!qg(t))throw new Error("Not a valid tensor name: '"+t+"'");return(0===Vg.length?"":Vg.join("/")+"/")+t}function Gg(t){if(!qg(t))throw new Error("Not a valid tensor name: '"+t+"'");Pg.has(t)||Pg.set(t,0);const e=Pg.get(t);if(Pg.set(t,Pg.get(t)+1),e>0){const n=`${t}_${e}`;return Pg.set(n,1),n}return t}const jg=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function qg(t){return!!t.match(jg)}function Xg(t,e,n){null==e&&(e=0),null==n&&(n=t.length);let r=1;for(let s=e;se&&(e=r)}return e}function Jg(t,e){if(e{switch(t.rank){case 1:return $h(t,e,n);case 2:return Oh(t,[e,0],[n,t.shape[1]]);case 3:return Ph(t,[e,0,0],[n,t.shape[1],t.shape[2]]);case 4:return zh(t,[e,0,0,0],[n,t.shape[1],t.shape[2],t.shape[3]]);case 5:return fu(t,[e,0,0,0,0],[n,t.shape[1],t.shape[2],t.shape[3],t.shape[4]]);case 6:return fu(t,[e,0,0,0,0,0],[n,t.shape[1],t.shape[2],t.shape[3],t.shape[4],t.shape[5]]);default:throw new Jm(`sliceAlongFirstAxis() received an unsupported tensor rank: ${t.rank}`)}}))}function ey(t,e,n){return Ko((()=>{switch(t.rank){case 1:return $h(t,e,n);case 2:return Oh(t,[0,e],[t.shape[0],n]);case 3:return Ph(t,[0,0,e],[t.shape[0],t.shape[1],n]);case 4:return zh(t,[0,0,0,e],[t.shape[0],t.shape[1],t.shape[2],n]);default:throw new Jm(`sliceAlongLastAxis() received an unsupported tensor rank: ${t.rank}`)}}))}function ny(t,e,n,r){return Ko((()=>{switch(t.rank){case 1:return $h(t,e,n);case 2:switch(r){case 1:return ty(t,e,n);case 2:return ey(t,e,n);default:throw new Jm(`The axis is not within the rank of the tensor ${r}`)}case 3:switch(r){case 1:return ty(t,e,n);case 2:return Ph(t,[0,e,0],[t.shape[0],n,t.shape[2]]);case 3:return ey(t,e,n);default:throw new Jm(`The axis is not within the rank of the tensor ${r}`)}case 4:switch(r){case 1:return ty(t,e,n);case 2:return zh(t,[0,e,0,0],[t.shape[0],n,t.shape[2],t.shape[3]]);case 3:return zh(t,[0,0,e,0],[t.shape[0],t.shape[1],n,t.shape[3]]);case 4:return ey(t,e,n);default:throw new Jm(`The axis is not within the rank of the tensor ${r}`)}default:throw new Jm(`sliceAlongLastAxis() received an unsupported tensor rank: ${t.rank}`)}}))}function ry(t,e=-1){let n;return e<0&&(n=t[0].rank,e=0!==n?n:0),e===t[0].rank&&(e=-1),du(t,e)}function sy(t,e){switch(t.rank){case 1:return Eu([t,e]);case 2:return Iu([t,e],0);case 3:return Cu([t,e],0);case 4:return Nu([t,e],0);default:throw new Jm(`concatAlongFirstAxis() received an unsupported tensor rank: ${t.rank}`)}}function iy(t,e){if(Array.isArray(e)||(e=[e]),t.rank!==e.length)throw new Jm(`The length of input n (${e.length}) does not match the number of dimensions in input x (${t.rank})`);return nc(t,e)}function ay(t,e=0,n=1,r,s){return gh(t,e,n,r,s)}function oy(t,e,n,r){if(t.rank<2||e.rank<2)throw new Zm(`dot requires both inputs to be rank >= 2 but got x shape = ${t.shape} and y shape = ${e.shape}`);if(e.rank>=3&&t.shape.slice(-1)[0]!==e.shape.slice(-2)[0])throw new Zm(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${t.shape} and y shape = ${e.shape}`);if(2===t.rank&&2===e.rank)return Ad({a:t,b:e,transposeA:!1,transposeB:!1,bias:r?cy(t.rank,r,"channelsLast"):null,activation:n});{const s=t.shape.slice(),i=s.pop();t=uu(t,[-1,i]);const a=e.shape.slice(),o=a.pop(),l=a.pop(),u=[...a,o],c=Array.from({length:e.rank},((t,n)=>0===n?e.rank-2:n<=e.rank-2?n-1:n));e=uu(qa(e,c),[l,-1]);const h=[...s,...u];return uu(Ad({a:t,b:e,transposeA:!1,transposeB:!1,bias:r?cy(t.rank,r,"channelsLast"):null,activation:n}),h)}}function ly(t,e,n){return Ko((()=>(e=Array.isArray(e)?Zh(e,"int32"):Ma(e,"int32"),ic(t,e,n))))}function uy(t){return hl(t,t)}function cy(t,e,n){const r=e.shape;if(1!==e.rank&&e.rank!==t)throw new Jm(`Unexpected bias dimensions: ${e.rank}; expected it to be 1 or ${t}`);if(5===t){if("channelsFirst"===n)return 1===r.length?uu(e,[1,r[0],1,1,1]):uu(e,[1,r[3],r[0],r[1],r[2]]);if("channelsLast"===n)return 1===r.length?uu(e,[1,1,1,1,r[0]]):uu(e,[1].concat(r))}else if(4===t){if("channelsFirst"===n)return 1===r.length?uu(e,[1,r[0],1,1]):uu(e,[1,r[2],r[0],r[1]]);if("channelsLast"===n)return 1===r.length?uu(e,[1,1,1,r[0]]):uu(e,[1].concat(r))}else if(3===t){if("channelsFirst"===n)return 1===r.length?uu(e,[1,r[0],1]):uu(e,[1,r[1],r[0]]);if("channelsLast"===n)return 1===r.length?uu(e,[1,1,r[0]]):uu(e,[1].concat(r))}else if(t<3)return e;throw new Jm(`Unsupported input rank by biasAdd: ${e.rank}`)}function hy(t,e,n){return Ko((()=>(null==n&&(n="channelsLast"),zg(n),ll(t,cy(t.rank,e,n)))))}function dy(t,e,n,r){return Ko((()=>xd(t,e,n,r)))}function py(t,e,n=!1){return n?t():e()}const fy=["fanIn","fanOut","fanAvg"],my=["normal","uniform","truncatedNormal"];class gy extends ko{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class yy extends gy{apply(t,e){return Vc(t,e)}}yy.className="Zeros",Io(yy);class xy extends gy{apply(t,e){return Wc(t,e)}}xy.className="Ones",Io(xy);class by extends gy{constructor(t){if(super(),"object"!=typeof t)throw new Jm(`Expected argument of type ConstantConfig but got ${t}`);if(void 0===t.value)throw new Jm(`config must have value set but got ${t}`);this.value=t.value}apply(t,e){return Ko((()=>hl(Sl(this.value),Wc(t,e))))}getConfig(){return{value:this.value}}}by.className="Constant",Io(by);class vy extends gy{constructor(t){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=t.minval||this.DEFAULT_MINVAL,this.maxval=t.maxval||this.DEFAULT_MAXVAL,this.seed=t.seed}apply(t,e){return yh(t,this.minval,this.maxval,e)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}vy.className="RandomUniform",Io(vy);class wy extends gy{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if("float32"!==(e=e||"float32")&&"int32"!==e)throw new Zm(`randomNormal does not support dType ${e}.`);return ay(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}wy.className="RandomNormal",Io(wy);class Sy extends gy{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if("float32"!==(e=e||"float32")&&"int32"!==e)throw new Zm(`truncatedNormal does not support dType ${e}.`);return sd(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}Sy.className="TruncatedNormal",Io(Sy);class Ty extends gy{constructor(t){super(),this.gain=null!=t.gain?t.gain:1}apply(t,e){return Ko((()=>{if(2!==t.length||t[0]!==t[1])throw new Jm("Identity matrix initializer can only be used for 2D square matrices.");return hl(this.gain,rc(t[0]))}))}getConfig(){return{gain:this.gain}}}Ty.className="Identity",Io(Ty);class _y extends gy{constructor(t){if(super(),t.scale<0)throw new Jm(`scale must be a positive float. Got: ${t.scale}`);var e;this.scale=null==t.scale?1:t.scale,this.mode=null==t.mode?"fanIn":t.mode,e=this.mode,fg(fy,"FanMode",e),this.distribution=null==t.distribution?"normal":t.distribution,function(t){fg(my,"Distribution",t)}(this.distribution),this.seed=t.seed}apply(t,e){const n=function(t,e="channelsLast"){let n,r;if(zg(e),2===t.length)n=t[0],r=t[1];else if(-1!==[3,4,5].indexOf(t.length)){if("channelsFirst"===e){const e=Xg(t,2);n=t[1]*e,r=t[0]*e}else if("channelsLast"===e){const e=Xg(t,0,t.length-2);n=t[t.length-2]*e,r=t[t.length-1]*e}}else{const e=Xg(t);n=Math.sqrt(e),r=Math.sqrt(e)}return[n,r]}(t),r=n[0],s=n[1];let i=this.scale;if("fanIn"===this.mode?i/=Math.max(1,r):"fanOut"===this.mode?i/=Math.max(1,s):i/=Math.max(1,(r+s)/2),"normal"===this.distribution){const n=Math.sqrt(i);if("float32"!==(e=e||"float32")&&"int32"!==e)throw new Zm(`${this.getClassName()} does not support dType ${e}.`);return sd(t,0,n,e,this.seed)}{const n=Math.sqrt(3*i);return yh(t,-n,n,e)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}}_y.className="VarianceScaling",Io(_y);class My extends _y{constructor(t){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:null==t?null:t.seed})}getClassName(){return _y.className}}My.className="GlorotUniform",Io(My);class ky extends _y{constructor(t){super({scale:1,mode:"fanAvg",distribution:"normal",seed:null==t?null:t.seed})}getClassName(){return _y.className}}ky.className="GlorotNormal",Io(ky);class Ey extends _y{constructor(t){super({scale:2,mode:"fanIn",distribution:"normal",seed:null==t?null:t.seed})}getClassName(){return _y.className}}Ey.className="HeNormal",Io(Ey);class Iy extends _y{constructor(t){super({scale:2,mode:"fanIn",distribution:"uniform",seed:null==t?null:t.seed})}getClassName(){return _y.className}}Iy.className="HeUniform",Io(Iy);class Cy extends _y{constructor(t){super({scale:1,mode:"fanIn",distribution:"normal",seed:null==t?null:t.seed})}getClassName(){return _y.className}}Cy.className="LeCunNormal",Io(Cy);class Ny extends _y{constructor(t){super({scale:1,mode:"fanIn",distribution:"uniform",seed:null==t?null:t.seed})}getClassName(){return _y.className}}Ny.className="LeCunNormal",Io(Ny);class Ay extends gy{constructor(t){if(super(),this.DEFAULT_GAIN=1,this.gain=null==t.gain?this.DEFAULT_GAIN:t.gain,this.seed=t.seed,null!=this.seed)throw new Zm("Random seed is not implemented for Orthogonal Initializer yet.")}apply(t,e){return Ko((()=>{if(t.length<2)throw new Zm("Shape must be at least 2D.");t[0]*t[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${t[0]*t[1]}) elements: Slowness may result.`);const e=ay(t[0]>t[1]?[t[1],t[0]]:t,0,1,"float32");let n=Ep.gramSchmidt(e);return t[0]>t[1]&&(n=qa(n)),hl(this.gain,n)}))}getConfig(){return{gain:this.gain,seed:this.seed}}}Ay.className="Orthogonal",Io(Ay);const Ry={constant:"Constant",glorotNormal:"GlorotNormal",glorotUniform:"GlorotUniform",heNormal:"HeNormal",heUniform:"HeUniform",identity:"Identity",leCunNormal:"LeCunNormal",leCunUniform:"LeCunUniform",ones:"Ones",orthogonal:"Orthogonal",randomNormal:"RandomNormal",randomUniform:"RandomUniform",truncatedNormal:"TruncatedNormal",varianceScaling:"VarianceScaling",zeros:"Zeros"};function Dy(t,e={}){return cg(t,Eo.getMap().classNameMap,e,"initializer")}function Ly(t){return lg(t)}function Fy(t){if("string"==typeof t){const e=t in Ry?Ry[t]:t;if("GlorotNormal"===e)return new ky;if("GlorotUniform"===e)return new My;if("HeNormal"===e)return new Ey;if("HeUniform"===e)return new Iy;if("LeCunNormal"===e)return new Cy;if("LeCunUniform"===e)return new Ny;{const t={};return t.className=e,t.config={},Dy(t)}}return t instanceof gy?t:Dy(t)}function $y(){return new yy}function Oy(){return new xy}function Py(t){return new by(t)}function zy(t){return new vy(t)}function By(t){return new wy(t)}function Uy(t){return new Sy(t)}function Vy(t){return new Ty(t)}function Wy(t){return new _y(t)}function Hy(t){return new My(t)}function Gy(t){return new ky(t)}function jy(t){return new Ey(t)}function qy(t){return new Iy(t)}function Xy(t){return new Cy(t)}function Ky(t){return new Ny(t)}function Yy(t){return new Ay(t)}let Jy=0;function Zy(){return Jy++}const Qy={};function tx(t=""){return t in Qy||(Qy[t]=0),Qy[t]+=1,t+Qy[t].toString()}function ex(t){return Array.isArray(t)&&Array.isArray(t[0])}function nx(t){return 0===t.length?[]:Array.isArray(t[0])?t:[t]}function rx(t){let e;if(Array.isArray(t)){if(1!==t.length)throw new Jm(`Expected Tensor length to be 1; got ${t.length}`);e=t[0]}else e=t;return e}function sx(t){if(Array.isArray(t)&&Array.isArray(t[0])){if(1===t.length)return t[0];throw new Jm(`Expected exactly 1 Shape; got ${t.length}`)}return t}function ix(t){let e=0;for(const n of t)0===n.shape.length?e+=1:e+=n.shape.reduce(((t,e)=>t*e));return e}class ax{constructor(t,e="float32",n="Variable",r=!0,s=null){this.dtype=null==e?"float32":e,this.shape=t.shape,this.id=Zy(),n=null==n?"Variable":n,this.originalName=Hg(n),this.name=Gg(this.originalName),this.trainable_=r,this.constraint=s,this.val=ld(t,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(t){return this.assertNotDisposed(),function(t,e){if(t.shape.toString()!==e.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(t.shape)+" vs. "+JSON.stringify(e.shape))}(this.val,t),this.val.id!==t.id&&(this.val.assign(t),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(t){this.trainable_=t,this.val.trainable=t}}function ox(t){return t.map((t=>t.read()))}function lx(t){t.forEach((t=>{t[0].write(t[1])}))}class ux{constructor(t){this.dtype=t.dtype,this.shape=t.shape,null!=t.shape?this.ndim=t.shape.length:this.ndim=t.ndim,this.maxNDim=t.maxNDim,this.minNDim=t.minNDim,this.axes=t.axes||{}}}class cx{constructor(t,e,n,r,s,i,a){this.dtype=t,this.shape=e,this.sourceLayer=n,this.inputs=r,this.callArgs=s,this.outputTensorIndex=a,this.id=Zy(),null!=i&&(this.originalName=Hg(i),this.name=Gg(this.originalName)),this.rank=e.length}}let hx=0;class dx{constructor(t,e){this.callArgs=e,this.id=hx++,this.outboundLayer=t.outboundLayer,this.inboundLayers=t.inboundLayers,this.nodeIndices=t.nodeIndices,this.tensorIndices=t.tensorIndices,this.inputTensors=t.inputTensors,this.outputTensors=t.outputTensors,this.inputMasks=t.inputMasks,this.outputMasks=t.outputMasks,this.inputShapes=t.inputShapes,this.outputShapes=t.outputShapes;for(const e of t.inboundLayers)null!=e&&e.outboundNodes.push(this);t.outboundLayer.inboundNodes.push(this)}getConfig(){const t=[];for(const e of this.inboundLayers)null!=e?t.push(e.name):t.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:t,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}}let px=0;class fx extends ko{constructor(t={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=px++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let e=t.name;if(!e){const t=this.getClassName();e=ig(t)+"_"+tx(t)}if(this.name=e,this.trainable_=null==t.trainable||t.trainable,null!=t.inputShape||null!=t.batchInputShape){let e;if(null!=t.batchInputShape)e=t.batchInputShape;else if(null!=t.inputShape){let n=null;null!=t.batchSize&&(n=t.batchSize),e=[n].concat(t.inputShape)}this.batchInputShape=e;let n=t.dtype;null==n&&(n=t.inputDType),null==n&&(n="float32"),this.dtype=n}null!=t.weights?this.initialWeights=t.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(t,e){return t.name+"_ib-"+e.toString()}getNodeAtIndex(t,e){if(0===this.inboundNodes.length)throw new Ym(`The layer has never been called and thus has no defined ${e}.`);if(this.inboundNodes.length<=t)throw new Jm(`Asked to get ${e} at node ${t}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[t]}getInputAt(t){return rg(this.getNodeAtIndex(t,"input").inputTensors)}getOutputAt(t){return rg(this.getNodeAtIndex(t,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Km(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new Km(`Layer ${this.name} is not connected, no input to return.`);return rg(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new Km(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Km(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return rg(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map((t=>t()))}get updates(){return this._updates}get built(){return this._built}set built(t){this._built=t}get trainable(){return this.trainable_}set trainable(t){this._trainableWeights.forEach((e=>e.trainable=t)),this.trainable_=t}get trainableWeights(){return this.trainable_?this._trainableWeights.filter((t=>t.trainable)):[]}set trainableWeights(t){this._trainableWeights=t}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter((t=>!t.trainable)).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(t){this._nonTrainableWeights=t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(t){if(t=sg(t),null==this.inputSpec||0===this.inputSpec.length)return;const e=sg(this.inputSpec);if(t.length!==e.length)throw new Jm(`Layer ${this.name} expects ${e.length} inputs, but it received ${t.length} input tensors. Input received: ${t}`);for(let n=0;ns.maxNDim)throw new Jm(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${i}`);if(null!=s.minNDim&&i=0?t[r]:t[t.length+r];if(null!=i&&-1===[i,null].indexOf(a))throw new Jm(`Input ${n} is incompatible with layer ${this.name}: expected axis ${r} of input shape to have value ${i} but got shape ${t}.`)}}if(null!=s.shape)for(let t=0;t{if(!this.built){this.assertInputCompatibility(t);const e=[];for(const n of sg(t))e.push(n.shape);this.build(rg(e)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&s&&(this._refCount=1)}if(this.assertInputCompatibility(t),s){let r=this.call(t,e);const s=sg(r),i=[];for(let t of s)-1!==n.indexOf(t)&&(t=t.clone()),i.push(t);if(r=rg(i),null!=this.activityRegularizer)throw new Zm("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}{const n=function(t){t=sg(t);const e=[];for(const n of t)e.push(n.shape);return rg(e)}(t),r=this.computeOutputShape(n);let s;const i="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(t)?n[0]:n),s=null!=r&&r.length>0&&Array.isArray(r[0])?r.map(((n,r)=>new cx(i,n,this,sg(t),e,this.name,r))):new cx(i,r,this,sg(t),e,this.name),this.addInboundNode(t,s,null,null,n,r,e),this._refCount++,null!=this.activityRegularizer)throw new Zm("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return s}}))}warnOnIncompatibleInputShape(t){if(null!=this.batchInputShape)if(t.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(t)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let e=!1;this.batchInputShape.forEach(((n,r)=>{null!=n&&null!=t[r]&&t[r]!==n&&(e=!0)})),e&&console.warn(`The shape of the input tensor (${JSON.stringify(t)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new Km(`The layer ${this.name} has never been called and thus has no defined output shape.`);const t=[];for(const e of this.inboundNodes){const n=JSON.stringify(e.outputShapes);-1===t.indexOf(n)&&t.push(n)}if(1===t.length){const t=this.inboundNodes[0].outputShapes;return Array.isArray(t)&&Array.isArray(t[0])&&1===t.length?t[0]:t}throw new Km(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new Ym(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return ix(this.weights)}build(t){this.built=!0}getWeights(t=!1){return ox(t?this.trainableWeights:this.weights)}setWeights(t){Ko((()=>{const e=this.weights;if(e.length!==t.length)throw new Jm(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${t.length}, but the layer was expecting ${e.length} weights. Provided weights: ${t}...`);if(0===e.length)return;const n=[],r=ox(e);for(let s=0;ss.apply(u.read()))),null==i&&(i=!0),i?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(t){this.fastWeightInitDuringBuild=t}addLoss(t){null==t||Array.isArray(t)&&0===t.length||(t=sg(t),void 0!==this._losses&&null!==this._losses&&this.losses.push(...t))}computeOutputShape(t){return t}computeMask(t,e){if(!this.supportsMasking){if(null!=e){if(!Array.isArray(e))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);e.forEach((t=>{if(null!=t)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)}))}return null}return e}addInboundNode(t,e,n,r,s,i,a=null){const o=sg(t);e=sg(e),n=sg(n),r=sg(r),s=nx(s),i=nx(i);const l=[],u=[],c=[];for(const t of o)l.push(t.sourceLayer),u.push(t.nodeIndex),c.push(t.tensorIndex);new dx({outboundLayer:this,inboundLayers:l,nodeIndices:u,tensorIndices:c,inputTensors:o,outputTensors:e,inputMasks:n,outputMasks:r,inputShapes:s,outputShapes:i},a);for(let t=0;tt.dispose())),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let t=0;return 0==--this._refCount&&(t=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:t}}}function mx(t,e,n){if((null==e||null!=n&&n>0)&&(e=t.sourceLayer,n=t.nodeIndex),0===e.inboundNodes.length)return[t];{const t=e.inboundNodes[n];if(0===t.inboundLayers.length)return t.inputTensors;{const e=[];for(let n=0;n0){const s=await Promise.all(e);for(let e=0;ell(this.totals[t],hl(r,n))));this.totals[t]=s,null!=e&&e.dispose()}}}async onEpochEnd(t,e){if(null!=e)for(const t of this.params.metrics)null!=this.totals[t]&&("number"==typeof this.totals[t]?e[t]=this.totals[t]/this.seen:Ko((()=>{const n=hl(cl(1,this.seen),this.totals[t]);e[t]=n,this.totals[t].dispose(),Jo(e[t])})))}}class _x extends wx{async onTrainBegin(t){this.epoch=[],this.history={}}async onEpochEnd(t,e){null==e&&(e={}),this.epoch.push(t);for(const t in e)null==this.history[t]&&(this.history[t]=[]),this.history[t].push(e[t])}async syncData(){const t=[],e=[],n=[];for(const r in this.history){const s=this.history[r];for(let i=0;i{const a=null!=n?n():As();return a-snew Mx(t,e)))}class Ex{constructor(){}static registerCallbackConstructor(t,e){rt(t>=0&&Number.isInteger(t),(()=>`Verbosity level is expected to be an integer >= 0, but got ${t}`)),Ex.checkForDuplicate(e),null==Ex.constructors[t]&&(Ex.constructors[t]=[]),Ex.constructors[t].push(e)}static checkForDuplicate(t){for(const e in Ex.constructors)Ex.constructors[+e].forEach((e=>{if(e===t)throw new Jm("Duplicate callback constructor.")}))}static clear(){Ex.constructors={}}static createCallbacks(t){const e=[];for(const n in Ex.constructors){const r=+n;t>=r&&e.push(...Ex.constructors[r])}return e.map((t=>new t))}}function Ix(t,e,n,r,s,i,a,o,l){const u=new _x,c=[new Tx,...Ex.createCallbacks(e)];null!=t&&c.push(...t),c.push(u);const h=new Sx(c);return h.setParams({epochs:n,initialEpoch:r,samples:s,steps:i,batchSize:a,verbose:e,doValidation:o,metrics:l}),{callbackList:h,history:u}}function Cx(t,e={},n=!1){return cg(t,Eo.getMap().classNameMap,e,"layer",n)}function Nx(t,e){return Ko((()=>{"float32"!==t.dtype&&(t=Ma(t,"float32"));const n=Tc(uy(t),e,!0),r=Ml(n.shape,Xm()),s=dl(Al(n,r));return cl(t,s)}))}function Ax(t,e){return Ko((()=>Uc(uy(Il(e,t)),-1)))}function Rx(t,e){return Ko((()=>Uc(Nl(Il(e,t)),-1)))}function Dx(t,e){return Ko((()=>{const n=Il(t,e),r=ku(Nl(t),Xm(),Number.MAX_VALUE),s=Nl(cl(n,r));return hl(100,Uc(s,-1))}))}function Lx(t,e,n=!1){return Ko((()=>{if(n)e=Bh(e);else{const t=Tc(e,e.shape.length-1,!0);e=cl(e,t)}return e=ku(e,Xm(),1-Xm()),bc(Tc(hl(Ma(t,"float32"),yc(e)),e.shape.length-1))}))}function Fx(t,e,n=!1){return Ko((()=>{const r=Ma(sc(function(t){const e=[Xg(t.shape)];return uu(t,e)}(t)),"int32"),s=(e=ku(e,Xm(),1-Xm())).shape;return Lx(uu(ja(r,s[s.length-1]),s),e,n)}))}function $x(t,e){return Ko((()=>{let n;return n=ku(e,Xm(),1-Xm()),n=yc(cl(n,Il(1,n))),Uc(function(t,e){if(!ut(t.shape,e.shape))throw new Jm(`logits and labels must have the same shape, but got shapes ${JSON.stringify(t.shape)} and ${JSON.stringify(e.shape)}`);return Ko((()=>{const n=wh(e),r=bc(Nl(e));return ll(Il(n,hl(e,t)),xc(Qu(r)))}))}(t,n),-1)}))}function Ox(t,e){return Ko((()=>{const n=Nx(t,-1),r=Nx(e,-1),s=hl(n,r);return bc(Tc(s,-1))}))}Ex.constructors={};const Px={meanSquaredError:Ax,meanAbsoluteError:Rx,meanAbsolutePercentageError:Dx,meanSquaredLogarithmicError:function(t,e){return Ko((()=>{const n=ku(e,Xm(),Number.MAX_VALUE),r=yc(ll(1,n)),s=ku(t,Xm(),Number.MAX_VALUE),i=yc(ll(1,s));return Uc(uy(Il(r,i)),-1)}))},squaredHinge:function(t,e){return Ko((()=>{const n=Al(0,Il(1,hl(t,e)));return Uc(uy(n),-1)}))},hinge:function(t,e){return Ko((()=>{const n=Al(0,Il(1,hl(t,e)));return Uc(n,-1)}))},categoricalHinge:function(t,e){return Ko((()=>{const n=Tc(hl(t,e),-1),r=Sc(hl(Il(1,t),e),-1);return Al(0,ll(1,Il(r,n)))}))},logcosh:function(t,e){return Ko((()=>{const n=Math.log(2),r=Il(e,t),s=Il(ll(r,vc(hl(-2,r))),n);return Uc(s,-1)}))},categoricalCrossentropy:Lx,sparseCategoricalCrossentropy:Fx,binaryCrossentropy:$x,kullbackLeiblerDivergence:function(t,e){return Ko((()=>{const n=ku(t,Xm(),1),r=ku(e,Xm(),1);return Tc(hl(t,yc(cl(n,r))),-1)}))},poisson:function(t,e){return Ko((()=>{const n=yc(ll(Xm(),e));return Uc(Il(e,hl(t,n)),-1)}))},cosineProximity:Ox};function zx(t){if("string"==typeof t){if(t in Px)return Px[t];let e=`Unknown loss ${t}`;throw t.toLowerCase().includes("softmaxcrossentropy")&&(e=`Unknown loss ${t}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new Jm(e)}return t}function Bx(t,e){return Ko((()=>{const n=hl(.5,Qc(e)),r=Zg(ac(e,n),t.dtype);return Uc(ju(t,r),-1)}))}function Ux(t,e){return Ko((()=>Zg(ju(Vl(t,-1),Vl(e,-1)),"float32")))}function Vx(t,e){return Ko((()=>Ma(Tc(Lc(ju(t,1),ju(e,1))),"float32")))}function Wx(t,e){return Ko((()=>{const n=Vx(t,e),r=function(t,e){return Ko((()=>Ma(Tc(Lc(ju(t,0),ju(e,1))),"float32")))}(t,e),s=ll(n,r);return Ma(qu(ac(s,0),cl(n,s),0),"float32")}))}function Hx(t,e){return $x(t,e)}function Gx(t,e){return t.rank===e.rank&&(t=qh(t,[t.rank-1])),(e=Vl(e,-1)).dtype!==t.dtype&&(e=Ma(e,t.dtype)),Ma(ju(t,e),"float32")}const jx=Lx,qx=Fx,Xx={binaryAccuracy:Bx,categoricalAccuracy:Ux,precision:Wx,categoricalCrossentropy:jx,sparseCategoricalCrossentropy:qx,mse:Ax,MSE:Ax,mae:Rx,MAE:Rx,mape:Dx,MAPE:Dx,cosine:Ox};function Kx(t){if("string"==typeof t&&t in Xx)return Xx[t];if("string"!=typeof t&&null!=t)return t;throw new Jm(`Unknown metric ${t}`)}function Yx(t){if(eg(null!==t,`Unknown LossOrMetricFn ${t}`),"string"==typeof t)return t;{let e;for(const n of Object.keys(Px))if(Px[n]===t){e=n;break}if(void 0!==e)return e;for(const n of Object.keys(Xx))if(Xx[n]===t){e=n;break}return void 0!==e?e:t.name}}function Jx(t,e,n=!1){if(null==t||"object"!=typeof t||Object.getPrototypeOf(t)!==Object.prototype||!Zx(t))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(t);n.length>1048576&&console.warn(`User-defined metadata of model "${e}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function Zx(t){if(null===t)return!0;if("object"==typeof t){if(Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);for(const n of e){if("string"!=typeof n)return!1;if(!Zx(t[n]))return!1}return!0}if(Array.isArray(t)){for(const e of t)if(!Zx(e))return!1;return!0}return!1}{const e=typeof t;return"string"===e||"number"===e||"boolean"===e}}function Qx(t,e,n=console.log){let r="";for(let n=0;n0&&(r=r.slice(0,r.length-1)+" "),r+=t[n],r=r.slice(0,e[n]),r+=" ".repeat(e[n]-r.length);n(r)}function tb(t,e,n){let r;try{r=JSON.stringify(t.outputShape)}catch(t){r="multiple"}Qx([`${t.name} (${t.getClassName()})`,r,t.countParams().toString()],e,n)}function eb(t,e,n,r){let s;try{s=JSON.stringify(t.outputShape)}catch(t){s="multiple"}const i=[];for(const e of t.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(e)))for(let t=0;tt.name)),l=[],u=e.names();for(const t of o)-1!==u.indexOf(t)?l.push(e.getValue(t)):l.push(null);null!=r&&(r.maxNumTensors=-1/0,r.minNumTensors=1/0);const c=o.join(",")+"|"+e.names().join(",");let h,d;if(null==ob[c]){const t=function(t,e){rt(null!=t&&t.length>0,(()=>"Expected at least one fetch, got none"));let n=[],r={};if(1===t.length){const s=hb(t[0],e);n=s.sorted,r=s.recipientMap}else{const s=new Set;for(const i of t){const{sorted:t,recipientMap:a}=hb(i,e);for(const e of t)s.has(e.name)||(n.push(e),s.add(e.name));for(const t in a)null==r[t]&&(r[t]=new Set),a[t].forEach((e=>r[t].add(e)))}}return{sorted:n,recipientCounts:cb(r)}}(a,e);h=t.sorted,d=t.recipientCounts,ob[c]=h,lb[c]=d}h=ob[c],d={},s||Object.assign(d,lb[c]);const p=new ab(e);for(let t=0;tr.maxNumTensors&&(r.maxNumTensors=t),t0;){const t=i[i.length-1];if(n.has(t.name)){i.pop();continue}const e=a[a.length-1]===i.length-1;if(0===t.inputs.length||e)i.pop(),r.push(t),n.add(t.name),e&&a.pop();else{a.push(i.length-1);for(const e of t.inputs)null==s[e.name]&&(s[e.name]=new Set),s[e.name].add(t.name),n.has(e.name)||i.push(e)}}return{sorted:r,recipientMap:s}}function db(t){let e;if(1===t.sourceLayer.inboundNodes.length)e=t.sourceLayer.output;else{let n=null;for(let e=0;et.name))}`);dg(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map((t=>t.name))}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const t of this.outputs){const e=t.sourceLayer,n=t.nodeIndex,r=t.tensorIndex;this.outputLayers.push(e),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(r)}for(const t of this.inputs){const e=t.sourceLayer,n=t.nodeIndex,r=t.tensorIndex;eg(0===n,"input layer has >1 nodes"),eg(0===r,"input layer has >1 tensors"),this.inputLayers.push(e),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(r)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let e=0;et.shape)),this.internalOutputShapes=this.outputs.map((t=>t.shape));const e={},n={},r={},s={},i={},a=[],o=(t,e,n,r,s,l)=>{null!=r&&null!=s&&null!=l||(r=t.sourceLayer,s=t.nodeIndex,l=t.tensorIndex);const u=r.inboundNodes[s];if(-1!==n.indexOf(u))throw new Ym(`The tensor ${t.name} at layer "${r.name}" is part of a cycle.`);if(-1!==e.indexOf(u))return;this.containerNodes.add(pb.nodeKey(r,s)),r.id in i||(i[r.id]=Object.keys(i).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let t=0;t=0;)n.splice(n.indexOf(u),1);a.push(u)},l=[],u=[];for(const t of this.outputs)o(t,l,u);const c=a.slice().reverse();for(const t of c){n[t.id]=t,t.id in e||(e[t.id]=0);let i=e[t.id];const a=null==r[t.outboundLayer.id]?0:r[t.outboundLayer.id];i=Math.max(i,a),r[t.outboundLayer.id]=i,s[t.outboundLayer.id]=t.outboundLayer,e[t.id]=i;for(let r=0;rparseInt(t,10))).sort(hg);this.layers=[];for(const t of p){const e=d[t];e.sort(((t,e)=>{const n=i[t.id],r=i[e.id];return nr?1:0}));for(const t of e)t instanceof pb&&this.internalContainerRefs.push(t),this.layers.push(t)}this.layersByDepth=d,p=Object.keys(h).map((t=>parseInt(t,10))).sort(hg);const f=this.inputs.slice(),m=[];for(const t of p)for(const e of h[t]){const t=e.outboundLayer;if(null!=t){for(const n of e.inputTensors)if(-1===f.indexOf(n))throw new Ym(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${t.name}". The following previous layers were accessed without issue: ${m}`);for(const t of e.outputTensors)f.push(t);m.push(t.name)}}this.nodesByDepth=h;const g=this.layers.map((t=>t.name));for(const t of g){const e=g.filter((e=>e===t)).length;if(1!==e)throw new Ym(`The name "${t}" is used ${e} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new dx({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map((t=>null)),outputMasks:this.outputs.map((t=>null)),inputShapes:this.inputs.map((t=>t.shape)),outputShapes:this.outputs.map((t=>t.shape))}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const t={refCountAfterDispose:null,numDisposedVariables:0};if(0==--this._refCount){for(const e of this.layers)t.numDisposedVariables+=e.dispose().numDisposedVariables;for(const e of this.internalContainerRefs)t.numDisposedVariables+=e.dispose().numDisposedVariables}return t.refCountAfterDispose=this._refCount,t}get trainable(){return this.trainable_}set trainable(t){this.layers.forEach((e=>{e._trainableWeights.forEach((e=>e.trainable=t))})),this.trainable_=t}get trainableWeights(){if(this._trainableWeights.length>0)throw new Jm("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let t=[];for(const e of this.layers)t=t.concat(e.trainableWeights);return t}get nonTrainableWeights(){const t=[];for(const e of this.layers)t.push(...e.nonTrainableWeights);if(!this.trainable){const e=[];for(const t of this.layers)e.push(...t.trainableWeights);return e.concat(t)}return t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(t,e=!0){const n={};let r=0;for(const t of this.layers)for(const e of t.weights){if(null!=n[e.originalName])throw new Jm(`Duplicate weight name: ${e.originalName}`);n[e.originalName]=e,r++}const s=[];for(const r in t){let i=r;if(null==n[r]){const t=r.split("/");i=t.slice(0,-2).concat([t[t.length-1]]).join("/")}if(null!=n[i])s.push([n[i],t[r]]);else if(e)throw new Jm(`Provided weight data has no target variable: ${r}`);delete n[i]}if(e){const t=[];for(const e in n)t.push(e);if(t.length>0)throw new Jm(`${t.length} of ${r} weights are not set: ${t}`)}lx(s)}updatedConfig(){const t=this.getConfig(),e={};return e.className=this.getClassName(),e.config=t,e.kerasVersion=`tfjs-layers ${ib}`,e.backend="TensorFlow.js",e}toJSON(t,e=!0){const n=sb(this.updatedConfig());return e?JSON.stringify(n):n}call(t,e){return Ko((()=>{t=sg(t);const n=new ab;for(let e=0;e{let n;return t=sg(t),n=null==e?tg(null,t.length):sg(e),this.runInternalGraph(t,n)[1]}))}computeOutputShape(t){const e=nx(t);if(e.length!==this.inputLayers.length)throw new Jm(`Invalid inputShape argument ${t}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let t=0;tparseInt(t,10))).sort(hg);if(r.length>1)for(const t of r){const e=this.nodesByDepth[t];for(const t of e){const e=t.outboundLayer;if(-1!==this.inputLayers.map((t=>t.id)).indexOf(e.id))continue;const r=[];for(let e=0;eparseInt(t,10))).sort(hg);for(const t of r){const e=this.nodesByDepth[t];for(const t of e){const e=t.outboundLayer,r=t.inputTensors,s=t.outputTensors,i=new Array;for(const t of r)t.id in n&&i.push(n[t.id]);if(i.length===r.length){let r,a,o,l,u={};if(null!=t.callArgs&&(u=t.callArgs),1===i.length){const[t,n]=i[0];null==u.mask&&(u.mask=n),o=sg(e.call(t,u)),l=sg(e.computeMask(t,n)),r=[t],a=[n]}else r=i.map((t=>t[0])),a=i.map((t=>t[1])),null==u.mask&&(u.mask=a),o=sg(e.call(r,u)),l=sg(e.computeMask(r,a));if(e.activityRegularizer)throw new Zm("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let t=0;t{const t=[];for(const e of this.layers)for(let n=0;n0){const t=[];for(let n=0;n0&&t.apply(rg(n),r)}function l(t){const n=t.name,i=Cx(t,null!=e.customObjects?e.customObjects:{});i.setFastWeightInitDuringBuild(r),s[n]=i,t.inboundNodes.forEach((t=>{if(!(t instanceof Array))throw new Jm(`Corrupted configuration, expected array for nodeData: ${t}`);a(i,t)}))}const u=e.name,c=e.layers;for(const t of c)l(t);for(;!pg(i);)for(const t of c){const e=s[t.name];if(e.name in i){const t=i[e.name];delete i[e.name];for(const n of t)o(e,n)}}const h=[],d=[],p=e.inputLayers;for(const t of p){const e=t[0],n=t[1],r=t[2];eg(e in s);const i=s[e].inboundNodes[n].outputTensors;h.push(i[r])}const f=e.outputLayers;for(const t of f){const e=t[0],n=t[1],r=t[2];eg(e in s);const i=s[e].inboundNodes[n].outputTensors;d.push(i[r])}return new t({inputs:h,outputs:d,name:u})}get stateful(){if(this._stateful)throw new Jm("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const t of this.layers)if(t.stateful)return!0;return!1}resetStates(){Ko((()=>{this.layers.forEach((t=>{t.stateful&&t.resetStates()}))}))}}function fb(t,e){return function(t,e,n){const r=e.length;if(null==t||Array.isArray(t)&&0===t.length)return e.map((t=>null));if(1===r)return Array.isArray(t)&&1===t.length?t:"object"==typeof t&&e[0]in t?[t[e[0]]]:[t];if(Array.isArray(t)){if(t.length!==r)throw new Error(`Provided ${n} is an array of ${t.length} element(s), but the model has ${r} outputs. Make sure a set of weights is provided for each model output.`);return t}if("object"==typeof t&&Object.keys(t).length>0&&"object"==typeof t[Object.keys(t)[0]]){const n=[];return e.forEach((e=>{e in t?n.push(t[e]):n.push(null)})),n}throw new Error(`The model has multiple (${r}) outputs, so ${n} must be either an array with ${r} elements or an object with ${e} keys. Provided ${n} not understood: ${JSON.stringify(t)}`)}(t,e,"classWeight")}async function mb(t,e,n,r){if(null!=e||null!=r)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const e=Ko((()=>{if(1===t.shape.length)return ka(t);if(2===t.shape.length){if(t.shape[1]>1)return Vl(t,1);if(1===t.shape[1])return uu(t,[t.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${t.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${t.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)})),r=Array.from(await e.data());Yo(e);const s=[];return r.forEach((t=>{if(null==n[t])throw new Error(`classWeight must contain all classes in the training data. The class ${t} exists in the data but not in classWeight`);s.push(n[t])})),Zh(s,"float32")}return null}function gb(t,e){return hl(t,e)}function yb(t,e){let n,r;const s=e;n=s.xs,r=s.ys,rt(null!=n&&null!=r,(()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${e}`));const i=xb("input",t.inputNames,n),a=xb("output",t.outputNames,r),o=i[0].shape[0];rt(i.length===t.inputs.length,(()=>`LayersModel has ${t.inputs.length} inputs, but the dataset provides ${i.length} inputs. (Expected input keys: ${JSON.stringify(t.inputNames)})`)),rt(a.length===t.outputs.length,(()=>`LayersModel has ${t.outputs.length} outputs, but the dataset provides ${a.length} outputs. (Expected output keys: ${JSON.stringify(t.outputNames)})`));for(let e=0;e`Batch size mismatch: input ${t.inputNames[e]} has ${i[e].shape[0]}; expected ${o} based on input ${t.inputNames[0]}.`));for(let e=0;e`Batch size mismatch: output ${t.outputNames[e]} has ${a[e].shape[0]}; expected ${o} based on input ${t.inputNames[0]}.`));return{xs:i,ys:a}}function xb(t,e,n){if(n instanceof qs)return[n];if(Array.isArray(n))return rt(n.length===e.length,(()=>`Received an array of ${n.length} Tensors, but expected ${e.length} to match the ${t} keys ${e}.`)),n;{const r=[];for(const s of e){if(null==n[s])throw new Jm(`The feature data generated by the dataset lacks the required ${t} key '${s}'.`);r.push(n[s])}return r}}function bb(t){return"function"==typeof t.iterator}function vb(t){rt(t>0&&Number.isInteger(t),(()=>`batchSize is required to be a positive integer, but got ${t}`))}function wb(t,e,n){return null==t?[null]:Array.isArray(t)?t.map((t=>ty(t,e,n-e))):ty(t,e,n-e)}function Sb(t,e){return Ko((()=>null==t?null:Array.isArray(t)?t.map((t=>Sb(t,e))):ly(t,"int32"===e.dtype?e:Ma(e,"int32"))))}function Tb(t,e){const n=[];let r=0,s=null;for(;r=t&&(s=t),n.push([r,s]),r=s;return n}function _b(t){const e=[];t instanceof qs&&(t=[t]);for(let n=0;nn.push(t.id)));else if(null!=e)for(const t in e){const r=e[t];n.push(r.id)}const r=[];if(t instanceof qs)-1===n.indexOf(t.id)&&r.push(t);else if(Array.isArray(t))t.forEach((t=>{-1===n.indexOf(t.id)&&r.push(t)}));else if(null!=t)for(const e in t){const s=t[e];-1===n.indexOf(s.id)&&r.push(s)}r.forEach((t=>{t.isDisposed||t.dispose()}))}function kb(t){return Array.isArray(t)}function Eb(t){return!function(t){return t instanceof qs}(t)&&!kb(t)}function Ib(t,e,n,r=!0,s=""){if(null==e||0===e.length){if(null!=t){let e=!1;if(kb(t)&&t.length>0)e=!0;else if(Eb(t)){for(const n in t)if(t.hasOwnProperty(n)){e=!0;break}}else e=!0;if(e)throw new Jm(`Error when checking model ${s} expected no data, but got ${t}`)}return[]}if(null==t)return e.map((t=>null));let i;if(Eb(t)){i=[];for(const n of e){if(null==t[n])throw new Jm(`No data provided for "${n}". Need data for each key in: ${e}`);i.push(t[n])}}else if(kb(t)){if(t.length!==e.length)throw new Jm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${e.length} Tensor(s), but instead got the following list of Tensor(s): ${t}`);i=t}else{if(e.length>1)throw new Jm(`The model ${s} expects ${e.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${t.shape}`);i=[t]}if(i=_b(i),null!=n)for(let t=0;t=0&&i!==o)throw new Jm(`${s} expected a batch of elements where each example has shape [${n[t].slice(1,n[t].length)}] (i.e.,tensor shape [*,${n[t].slice(1,n[t].length)}]) but the ${s} received an input with ${a.shape[0]} examples, each with shape [${a.shape.slice(1,a.shape.length)}] (tensor shape [${a.shape}])`)}}return i}function Cb(t,e,n,r=!0,s=""){let i;if(Array.isArray(t)){if(t.length!==e.length)throw new Jm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${e.length} Tensor(s), but instead got ${t.length} Tensors(s).`);i=t}else{if(e.length>1)throw new Jm(`The model expects ${e.length} ${s} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(t.shape)}.`);i=[t]}if(null!=n)for(let t=0;t1||1===t.length&&t[0].inboundLayers.length>1){e=!1;break}r.push(...t)}if(e)for(const n of t.layers){let t=!1;for(const s of n.inboundNodes)if(-1!==r.indexOf(s)){if(t){e=!1;break}t=!0}if(!e)break}return e}(t),i=["Layer (type)","Output shape","Param #"];let a;if(s?(e=e||65,n=n||[.45,.85,1]):(e=e||98,n=n||[.33,.55,.67,1]),n[n.length-1]<=1&&(n=n.map((t=>Math.floor(e*t)))),!s){i.push("Receives inputs"),a=[];for(const e in t.nodesByDepth)a.push(...t.nodesByDepth[e])}r("_".repeat(e)),Qx(i,n,r),r("=".repeat(e));const o=t.layers;for(let t=0;tAp.adagrad(.01),Adadelta:()=>Ap.adadelta(1,.95,Xm()),Adam:()=>Ap.adam(.001,.9,.999,Xm()),Adamax:()=>Ap.adamax(.002,.9,.999,Xm(),0),RMSProp:()=>Ap.rmsprop(.001,.9,0,Xm()),SGD:()=>Ap.sgd(.01)};if(e.adagrad=e.Adagrad,e.adadelta=e.Adadelta,e.adam=e.Adam,e.adamax=e.Adamax,e.rmsprop=e.RMSProp,e.sgd=e.SGD,t in e)return e[t]();throw new Jm(`Unknown Optimizer ${t}`)}(t.optimizer),this.isOptimizerOwned=!0;else{if(!(t.optimizer instanceof Tl))throw new Jm("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=t.optimizer,this.isOptimizerOwned=!1}let e=[];if(Array.isArray(t.loss)||"string"==typeof t.loss||"function"==typeof t.loss)if(Array.isArray(t.loss)){if(t.loss.length!==this.outputs.length)throw new Jm(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${t.loss}.`);const n=t.loss;e=n.map((t=>zx(t)))}else{const n=zx(t.loss);this.outputs.forEach((t=>{e.push(n)}))}else{t.loss=t.loss;for(const e in t.loss)if(-1===this.outputNames.indexOf(e))throw new Jm(`Unknown entry in loss dictionary: "${e}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==t.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),e.push(zx(t.loss[n]))}this.lossFunctions=e,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let t=0;t{for(let t=0;t1&&(this.metricsTensors.push([e,t]),this.metricsNames.push(this.outputNames[t]+"_loss"))}}));const r=function(t,e){if(null==t||Array.isArray(t)&&0===t.length)return e.map((t=>[]));let n;if("string"==typeof t||"function"==typeof t)n=[t];else{if(!Array.isArray(t)&&"object"!=typeof t)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${t}`);n=t}if(Array.isArray(n))return e.map((t=>n));{const t=[];for(const r of e){let e=n.hasOwnProperty(r)?n[r]:[];Array.isArray(e)||(e=[e]),t.push(e)}return t}}(t.metrics,this.outputNames),s=(t,e,n)=>{this.outputNames.length>1&&(e=this.outputNames[t]+"_"+e),this.metricsNames.push(e),this.metricsTensors.push([n,t])};Wg("metric",(()=>{for(let t=0;t{let n,r,i;for(const a of e){if("string"==typeof a&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(a)){const e=this.internalOutputShapes[t];let s;1===e[e.length-1]||this.lossFunctions[t]===$x?-1!==["accuracy","acc"].indexOf(a)?r=Bx:-1!==["crossentropy","ce"].indexOf(a)&&(r=Hx):this.lossFunctions[t]===Fx?-1!==["accuracy","acc"].indexOf(a)?r=Gx:-1!==["crossentropy","ce"].indexOf(a)&&(r=qx):-1!==["accuracy","acc"].indexOf(a)?r=Ux:-1!==["crossentropy","ce"].indexOf(a)&&(r=jx),-1!==["accuracy","acc"].indexOf(a)?s="acc":-1!==["crossentropy","ce"].indexOf(a)&&(s="ce"),i=r,n=""+s}else{const t=Kx(a);i=t,n=""+Yx(a)}let e;Wg(n,(()=>{e=i})),s(t,n,e)}})(r[t])})),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(t,e,n={}){const r=null==n.batchSize?32:n.batchSize;vb(r);const s=this.standardizeUserDataXY(t,e,!0,r);try{const i=s[0].concat(s[1]);this.makeTestFunction();const a=this.testFunction;return rg(this.testLoop(a,i,r,n.verbose,n.steps))}finally{Mb(s[0],t),Mb(s[1],e)}}async evaluateDataset(t,e){return this.makeTestFunction(),async function(t,e,n){const r=null!=(n=n||{}).batches,s=t.testFunction;let i=[];if(n.verbose>0)throw new Zm("Verbose mode is not implemented yet.");rt(!r||n.batches>0&&Number.isInteger(n.batches),(()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`));const a="function"==typeof e.next?e:await e.iterator();let o=0,l=0;for(;!r||l{if(e.value){const{xs:n,ys:r}=yb(t,e.value),a=n.concat(r),u=Ko((()=>s(a)));if(Yo(a),0===l)for(let t=0;tll(i[t],hl(c,e)))),l>0&&Yo(n)}Yo(u),o+=c,++l}return i})),e.done){r&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let t=0;tt.name));for(let r=0;r0){const n=[];throw e.forEach(((e,r)=>{null==e&&n.push(t[r])})),new Jm(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return e}predictLoop(t,e=32,n=!1){return Ko((()=>{const r=this.checkNumSamples(t);if(n)throw new Zm("Verbose predictLoop() is not implemented yet.");const s=Tb(r,e),i=this.outputs.map((t=>[]));for(let e=0;e{const n=s[e][0],r=s[e][1],i=wb(t,n,r),a=[];if(Array.isArray(i))for(let t=0;ti[e].push(t)));return rg(i.map((t=>du(t,0))))}))}predict(t,e={}){const n=_b(t);Cb(n,this.inputNames,this.feedInputShapes,!1);try{const r=null==e.batchSize?32:e.batchSize;return vb(r),this.predictLoop(n,r)}finally{Mb(n,t)}}predictOnBatch(t){Cb(t,this.inputNames,this.feedInputShapes,!0);const e=(Array.isArray(t)?t[0]:t).shape[0];return this.predictLoop(t,e)}standardizeUserDataXY(t,e,n=!0,r){if(null==this.optimizer_)throw new Ym("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const s=[];for(let t=0;tt.shape[0])));r.sort();const s=dg(e.map((t=>t.shape[0])));if(s.sort(),r.length>1)throw new Jm(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map((t=>t.shape)))}`);if(s.length>1)throw new Jm(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map((t=>t.shape)))}`);if(r.length>0&&s.length>0&&!ut(r,s))throw new Jm(`Input Tensors should have the same number of samples as target Tensors. Found ${r[0]} input sample(s) and ${s[0]} target sample(s).`)}(t=Ib(t,this.feedInputNames,this.feedInputShapes,!1,"input"),e=Ib(e,this.feedOutputNames,s,!1,"target")),function(t,e,n){const r=[Ax,$x,Lx];for(let s=0;s0&&t[0].shape[0]%r!=0)throw new Jm(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${r}. Found: ${t[0].shape[0]} sample(s).`);return[t,e]}async standardizeUserData(t,e,n,r,s=!0,i){const[a,o]=this.standardizeUserDataXY(t,e,s,i);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=r){const t=fb(r,this.outputNames);l=[];for(let e=0;e{const i=this.checkNumSamples(e,n,s,"steps"),a=[];if(r>0)throw new Zm("Verbose mode is not implemented yet.");if(null!=s)throw new Zm("steps mode in testLoop() is not implemented yet");{const r=Tb(i,n),s=Zh(Jg(0,i));for(let n=0;n1&&(s+=`_${ng(t.slice(0,n),r)}`),e.push(s)}return e}makeTrainFunction(){return t=>{const e=[],n=t.slice(0,this.inputs.length),r=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=t.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),i=[],a=this.collectedTrainableWeights.map((t=>t.read()));return[this.optimizer_.minimize((()=>{const t=[];for(let e=0;e1&&t{l=ll(l,t)})),l}),!0,a)].concat(i)}}makeTestFunction(){this.testFunction=t=>Ko((()=>{const e=[];let n;const r=t.slice(0,this.inputs.length),s=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),i=[];for(let t=0;t0){if(y=!0,2!==r.validationData.length)throw 3===r.validationData.length?new Zm("validationData including sample weights is not supported yet."):new Jm(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${r.validationData} is invalid.`);l=r.validationData[0],u=r.validationData[1];const e=!0,n=await t.standardizeUserData(l,u,null,null,e,p);c=n[0],h=n[1],g=c.concat(h)}else if(null!=r.validationSplit&&r.validationSplit>0&&r.validationSplit<1){y=!0;const t=Math.floor(s[0].shape[0]*(1-r.validationSplit)),e=s[0].shape[0];c=wb(s,t,e),a=s,s=wb(s,0,t),h=wb(i,t,e),o=i,i=wb(i,0,t),g=c.concat(h)}else null!=r.validationSteps&&(y=!0);const x=s.concat(i).concat(d);t.checkTrainableWeightsConsistency();const b=t.makeTrainFunction(),v=t.getDedupedMetricsNames();let w,S;y?(t.makeTestFunction(),w=t.testFunction,S=v.slice().concat(v.map((t=>"val_"+t)))):(w=null,g=[],S=v.slice());const T=kx(r.callbacks,r.yieldEvery),_=await async function(t,e,n,r,s,i,a,o,l,u,c,h,d,p,f){null==s&&(s=32),null==i&&(i=1),null==c&&(c=!0),null==d&&(d=0);let m=!1;null!=l&&null!=u&&(m=!0);const g=t.checkNumSamples(n,s,p,"steps_per_epoch");let y;null!=g&&(y=Jg(0,g)),null==a&&(a=1);const{callbackList:x,history:b}=Ix(o,a,i,d,g,p,s,m,h);x.setModel(t),t.history=b,await x.onTrainBegin(),t.stopTraining_=!1;for(let a=d;a{const d=o[c][0],p=o[c][1],f=ty(a,d,p-d);h.batch=c,h.size=p-d;const g=Sb(n,f),y=e(g);for(let t=0;t"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).")),rt(null!=n,(()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.")),rt(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),(()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`)),rt(!r||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),(()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`)),rt(null==n.validationSplit,(()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead.")),t.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");t.isTraining=!0;try{const s=null!=n.validationData;let i,a;if(s)if(bb(n.validationData))rt(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),(()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`));else{const t=function(t){if(3===t.length)throw new Zm("Validation with sample weights is not implemented yet.");return{xs:t[0],ys:t[1]}}(n.validationData);i=t.xs,a=t.ys}const o=t.makeTrainFunction(),l=t.getDedupedMetricsNames();let u;u=s?l.slice().concat(l.map((t=>"val_"+t))):l.slice();const c=kx(n.callbacks,n.yieldEvery),h=null==n.verbose?1:n.verbose,{callbackList:d,history:p}=Ix(c,h,n.epochs,null,null,function(t,e){let n=null;return null!=e.batchesPerEpoch?n=e.batchesPerEpoch:Number.isFinite(t.size)&&(n=t.size),n}(e,n),null,s,u);d.setModel(t),t.history=p,await d.onTrainBegin(),t.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await e.iterator();for(;f=n.batchesPerEpoch:e.done){if(s){let e;e=bb(n.validationData)?sg(await t.evaluateDataset(n.validationData,{batches:n.validationBatches})):sg(t.evaluate(i,a,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;nig(t)))}else{const e=Object.keys(this.loss);t={};const n=this.loss;for(const r of e){if("string"!=typeof n[r])throw new Error("Serialization of non-string loss is not supported.");t[r]=ig(n[r])}}return t}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[ig(Yx(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map((t=>ig(Yx(t))));{const t={};for(const e in this.metrics)t[e]=ig(Yx(this.metrics[e]));return t}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(t){if(null!=t.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=t.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=t.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const e=Cx(rb(t.optimizer_config));let n,r;if("string"==typeof t.loss)n=ag(t.loss);else if(Array.isArray(t.loss))n=t.loss.map((t=>ag(t)));else if(null!=t.loss){n={};for(const e in t.loss)n[e]=ag(t.loss[e])}if(Array.isArray(t.metrics))r=t.metrics.map((t=>ag(t)));else if(null!=t.metrics){r={};for(const e in t.metrics)r[e]=ag(t.metrics[e])}this.compile({loss:n,metrics:r,optimizer:e})}async save(t,e){if("string"==typeof t){const e=Gi(t);if(0===e.length)throw new Jm(`Cannot find any save handlers for URL '${t}'`);if(e.length>1)throw new Jm(`Found more than one (${e.length}) save handlers for URL '${t}'`);t=e[0]}if(null==t.save)throw new Jm("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await Ai(this.getNamedWeights(e)),r={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${ib}`,convertedBy:null};if(null!=e&&e.includeOptimizer&&null!=this.optimizer){r.trainingConfig=this.getTrainingConfig();const t="optimizer",{data:e,specs:s}=await Ai(await this.optimizer.getWeights(),t);n.specs.push(...s),n.data=$i([n.data,e])}if(null!=this.userDefinedMetadata){const t=!0;Jx(this.userDefinedMetadata,this.name,t),r.userDefinedMetadata=this.userDefinedMetadata}return r.weightData=n.data,r.weightSpecs=n.specs,t.save(r)}setUserDefinedMetadata(t){Jx(t,this.name),this.userDefinedMetadata=t}getUserDefinedMetadata(){return this.userDefinedMetadata}}Nb.className="Model",Io(Nb);class Ab extends Nb{}async function Rb(t,e){"modelTopology"in t||(t={modelTopology:t});let n=t.modelTopology;null!=n.model_config&&(n=n.model_config);const r=Cx(rb(n),e);if(null!=t.weightsManifest){const e=await La(t.weightsManifest,t.pathPrefix,r.weights.map((t=>t.originalName))),n={};for(const t of r.weights)n[t.originalName]=e[t.originalName];r.loadWeights(n),Yo(e)}return r}Ab.className="Functional",Io(Ab);class Db extends Nb{constructor(t){if(super({inputs:[],outputs:[]}),t=t||{},this.trainable=!0,this.built=!1,this.name=null!=t.name?t.name:tx("sequential_"),null!=t.layers)for(const e of t.layers)this.add(e)}checkShape(t){if(t.inboundNodes[0].outputTensors[0].shape.some((t=>t<0)))throw new Jm(`Negative dimension size caused by adding layer ${t.name} with input shape [${t.inboundNodes[0].inputTensors[0].shape}]`)}add(t){const e=t instanceof Db||t instanceof Nb;let n;if(e){if(n=t,1!==n.outputs.length)throw new Jm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new Jm("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===t.inboundNodes.length){if(null==t.batchInputShape)throw new Jm("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const e=yx({batchShape:t.batchInputShape,dtype:t.dtype,name:t.name+"_input"});t.apply(e)}if(e)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==t.inboundNodes.length)throw new Jm(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${t.name} which has ${t.inboundNodes.length} pre-existing inbound connections.`);if(1!==t.inboundNodes[0].outputTensors.length)throw new Jm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(t),this.outputs=[t.inboundNodes[0].outputTensors[0]],this.inputs=mx(this.outputs[0])}this.inboundNodes=[],new dx({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:tg(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map((t=>t.shape)),outputShapes:this.outputs[0].shape})}else{const e=t.apply(this.outputs[0]);if(Array.isArray(e))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(t),this.outputs=[e],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(t),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const t=this.layers.length-1;this.layers[t].outboundNodes=[],this.outputs=[this.layers[t].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(t,e){return null==this.model&&this.build(),this.model.call(t,e)}build(t){if(sx(t),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new Nb({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(t,e,n=console.log){this.built||this.build(),super.summary(t,e,n)}setWeights(t){null==this.model&&this.build(),this.model.setWeights(t)}evaluate(t,e,n={}){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.evaluate(t,e,n)}async evaluateDataset(t,e){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.evaluateDataset(t,e)}predict(t,e={}){return null==this.model&&this.build(),this.model.predict(t,e)}predictOnBatch(t){return null==this.model&&this.build(),this.model.predictOnBatch(t)}compile(t){this.build(),this.model.compile(t),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(t){this.model.optimizer=t}async fit(t,e,n={}){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.fit(t,e,n)}async fitDataset(t,e){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.fitDataset(t,e)}async trainOnBatch(t,e){return this.model.trainOnBatch(t,e)}static fromConfig(t,e,n={},r=!1){let s,i={};if(e instanceof Array){if(null==e[0].className||"Merge"===e[0].className)throw new Jm("Legacy serialization format not supported yet.");s=e}else rt(null!=e.layers,(()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field.")),s=e.layers,delete e.layers,i=e;const a=new t(i);if(!(a instanceof Db))throw new Zm(`Sequential.fromConfig called on non-Sequential input: ${a}`);for(const t of s){const e=Cx(t,void 0,r);r&&e.setFastWeightInitDuringBuild(!0),a.add(e)}return a}set stopTraining(t){if(null==this.model)throw new Jm("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=t}get stopTraining(){if(null==this.model)throw new Jm("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const t=[];for(const e of this.layers){const n={};n.className=e.getClassName(),n.config=e.getConfig(),t.push(n)}return{name:this.name,layers:t}}}function Lb(t){return new Nb(t)}function Fb(t){return new Db(t)}function $b(t,e){return null==e&&(e={}),async function(t,e){if(null==e&&(e={}),"string"==typeof t){const n=ji(t,e);if(0===n.length)n.push(Ba(t,e));else if(n.length>1)throw new Jm(`Found more than one (${n.length}) load handlers for URL '${t}'`);t=n[0]}return async function(t,e,n){if(null==n&&(n={}),null==t.load)throw new Jm("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const r=await t.load();let s=r.modelTopology;null!=s.model_config&&(s=s.model_config);const i=null==n.strict||n.strict,a=null!=r.weightData&&null!=r.weightSpecs&&i,o=Cx(rb(s),void 0,a),l=r.trainingConfig;if(null!=l&&o.loadTrainingConfig(l),null!=r.userDefinedMetadata&&o.setUserDefinedMetadata(r.userDefinedMetadata),null!=r.weightData){if(null==r.weightSpecs)throw new Jm("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:t,optimizerWeights:e}=function(t,e){const n=Ri(t,e),r={},s=[];return e.forEach((t=>{"optimizer"===t.group?s.push({name:t.name,tensor:n[t.name]}):r[t.name]=n[t.name]})),{modelWeights:r,optimizerWeights:s}}(r.weightData,r.weightSpecs);o.loadWeights(t,i),null!=o.optimizer&&e.length>0&&await o.optimizer.setWeights(e),Yo(t),Yo(e.map((t=>t.tensor)))}return o}(t,0,e)}(t,e)}function Ob(t){return yx(t)}function Pb(t,e){Ex.registerCallbackConstructor(t,e)}Db.className="Sequential",Io(Db);class zb extends ko{getConfig(){return{}}}class Bb extends zb{apply(t,e=1){return function(t,e=1){if(1!==e)throw new Zm(`Support for alpha values other than 1 (${e}) is not implemented yet.`);return Ju(t)}(t,e)}}Bb.className="elu",Io(Bb);class Ub extends zb{apply(t){return Nh(t)}}Ub.className="selu",Io(Ub);class Vb extends zb{apply(t){return wh(t)}}Vb.className="relu",Io(Vb);class Wb extends zb{apply(t){return Ko((()=>jc(6,wh(t))))}}Wb.className="relu6",Io(Wb);class Hb extends zb{apply(t){return t}}Hb.className="linear",Io(Hb);class Gb extends zb{apply(t){return pu(t)}}Gb.className="sigmoid",Io(Gb);class jb extends zb{apply(t){return function(t){return Ko((()=>{const e=ll(.5,hl(.2,t));return ku(e,0,1)}))}(t)}}jb.className="hardSigmoid",Io(jb);class qb extends zb{apply(t){return vc(t)}}qb.className="softplus",Io(qb);class Xb extends zb{apply(t){return function(t){return Ko((()=>cl(t,ll(Nl(t),1))))}(t)}}Xb.className="softsign",Io(Xb);class Kb extends zb{apply(t){return mu(t)}}Kb.className="tanh",Io(Kb);class Yb extends zb{apply(t,e=-1){return Bh(t,e)}}Yb.className="softmax",Io(Yb);class Jb extends zb{apply(t,e=-1){return _c(t,e)}}Jb.className="logSoftmax",Io(Jb);class Zb extends zb{apply(t,e=1){return Ko((()=>hl(pu(hl(t,e)),t)))}}Zb.className="swish",Io(Zb);class Qb extends zb{apply(t){return Ko((()=>hl(t,mu(vc(t)))))}}function tv(t){return t.getClassName()}function ev(t,e={}){return cg(t,Eo.getMap().classNameMap,e,"activation")}function nv(t){if(null==t){return ev({className:"linear",config:{}})}if("string"==typeof t){const e={};return e.className=t,e.config={},ev(e)}return t instanceof zb?t:ev(t)}function rv(t){if(null!=t&&"object"!=typeof t)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${t}`)}Qb.className="mish",Io(Qb);class sv extends ko{}class iv extends sv{constructor(t){super(),rv(t),this.l1=null==t||null==t.l1?.01:t.l1,this.l2=null==t||null==t.l2?.01:t.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(t){return Ko((()=>{let e=Vc([1]);return this.hasL1&&(e=ll(e,Tc(hl(this.l1,Nl(t))))),this.hasL2&&(e=ll(e,Tc(hl(this.l2,uy(t))))),uu(e,[])}))}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(t,e){return new t({l1:e.l1,l2:e.l2})}}iv.className="L1L2",Io(iv);const av={l1l2:"L1L2"};function ov(t){return lg(t)}function lv(t,e={}){return cg(t,Eo.getMap().classNameMap,e,"regularizer")}function uv(t){return null==t?null:"string"==typeof t?lv({className:t in av?av[t]:t,config:{}}):t instanceof sv?t:lv(t)}class cv extends fx{constructor(t){super(null==t?{}:t),this.supportsMasking=!0,null!=t&&(this.maxValue=t.maxValue)}call(t,e){t=rx(t);let n=wh(t);return null!=this.maxValue&&(n=ku(n,0,this.maxValue)),n}computeOutputShape(t){return t}getConfig(){const t={maxValue:this.maxValue},e=super.getConfig();return Object.assign(t,e),t}}cv.className="ReLU",Io(cv);class hv extends fx{constructor(t){super(null==t?{}:t),this.DEFAULT_ALPHA=.3,null==t&&(t={}),this.alpha=null==t.alpha?this.DEFAULT_ALPHA:t.alpha}call(t,e){const n=rx(t);return dc(n,this.alpha)}computeOutputShape(t){return t}getConfig(){const t={alpha:this.alpha},e=super.getConfig();return Object.assign(t,e),t}}hv.className="LeakyReLU",Io(hv);class dv extends fx{constructor(t){if(super(null==t?{}:t),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==t&&(t={}),this.supportsMasking=!0,this.alphaInitializer=Fy(t.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=uv(t.alphaRegularizer),this.alphaConstraint=Ig(t.alphaConstraint),null==t.sharedAxes)this.sharedAxes=null;else if(Array.isArray(t.sharedAxes))this.sharedAxes=t.sharedAxes;else{if("number"!=typeof t.sharedAxes)throw new Jm(`Expected sharedAxes to be a number or an array of numbers, but got ${t.sharedAxes}`);this.sharedAxes=[t.sharedAxes]}}build(t){const e=(t=sx(t)).slice(1);if(null!=this.sharedAxes)for(const t of this.sharedAxes)e[t-1]=1;this.alpha=this.addWeight("alpha",e,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let e=1;e(zg(e),"channelsFirst"===e?qa(t,[0,2,3,1]):t)))}function vv(t,e){return Ko((()=>(zg(e),"channelsFirst"===e?qa(t,[0,2,3,4,1]):t)))}function wv(t,e,n,r=[1,1],s="valid",i,a,o=null){return Ko((()=>{if(null==i&&(i="channelsLast"),zg(i),3!==t.rank&&4!==t.rank)throw new Jm(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${t.rank}.`);if(3!==e.rank&&4!==e.rank)throw new Jm(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${t.rank}.`);let l=bv(t,i);if("causal"===s)throw new Zm("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=Ed({x:l,filter:e,strides:r,pad:"same"===s?"same":"valid",dilations:a,dataFormat:"NHWC",bias:n,activation:o}),"channelsFirst"===i&&(l=qa(l,[0,3,1,2])),l}))}mv.className="Softmax",Io(mv);class Sv extends fx{constructor(t,e){if(super(e),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",Sv.verifyArgs(e),this.rank=t,gg(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new Zm(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=gv(e.kernelSize,t,"kernelSize"),this.strides=gv(null==e.strides?1:e.strides,t,"strides"),this.padding=null==e.padding?"valid":e.padding,Bg(this.padding),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,zg(this.dataFormat),this.activation=nv(e.activation),this.useBias=null==e.useBias||e.useBias,this.biasInitializer=Fy(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=Ig(e.biasConstraint),this.biasRegularizer=uv(e.biasRegularizer),this.activityRegularizer=uv(e.activityRegularizer),this.dilationRate=gv(null==e.dilationRate?1:e.dilationRate,t,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new Jm(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new Jm(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new Jm(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(t){if(eg("kernelSize"in t,"required key 'kernelSize' not in config"),"number"!=typeof t.kernelSize&&!mg(t.kernelSize,"number",1,3))throw new Jm(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(t.kernelSize)}.`)}getConfig(){const t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:tv(this.activation),useBias:this.useBias,biasInitializer:Ly(this.biasInitializer),biasRegularizer:ov(this.biasRegularizer),activityRegularizer:ov(this.activityRegularizer),biasConstraint:kg(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}}class Tv extends Sv{constructor(t,e){super(t,e),this.kernel=null,Tv.verifyArgs(e),this.filters=e.filters,gg(this.filters,"filters"),this.kernelInitializer=Fy(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=Ig(e.kernelConstraint),this.kernelRegularizer=uv(e.kernelRegularizer)}build(t){t=sx(t);const e="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[e])throw new Jm(`The channel dimension of the input should be defined. Found ${t[e]}`);const n=t[e],r=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[e]:n}}],this.built=!0}call(t,e){return Ko((()=>{let e;t=rx(t);const n=null==this.bias?null:this.bias.read(),r=xg(this.activation.getClassName());if(null!=r&&2===this.rank)e=wv(t,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,r);else{if(1===this.rank)e=function(t,e,n,r=1,s="valid",i,a=1){return Ko((()=>{if(null==i&&(i="channelsLast"),zg(i),3!==t.shape.length)throw new Jm(`The input of a conv1dWithBias operation should be 3, but is ${t.shape.length} instead.`);if(3!==e.shape.length)throw new Jm(`The kernel for a conv1dWithBias operation should be 3, but is ${e.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new Jm(`The bias for a conv1dWithBias operation should be 1, but is ${e.shape.length} instead`);if("channelsFirst"===i&&(t=qa(t,[0,2,1])),"causal"===s)throw new Zm("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let o=Ru(t,e,r,"same"===s?"same":"valid","NWC",a);return null!=n&&(o=hy(o,n)),o}))}(t,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)e=wv(t,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new Zm("convolutions greater than 3D are not implemented yet.");e=function(t,e,n,r=[1,1,1],s="valid",i,a){return Ko((()=>{if(null==i&&(i="channelsLast"),zg(i),4!==t.rank&&5!==t.rank)throw new Jm(`conv3dWithBias expects input to be of rank 4 or 5, but received ${t.rank}.`);if(4!==e.rank&&5!==e.rank)throw new Jm(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${t.rank}.`);let o=vv(t,i);if("causal"===s)throw new Zm("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return o=Fu(o,e,r,"same"===s?"same":"valid","NDHWC",a),null!=n&&(o=hy(o,n)),"channelsFirst"===i&&(o=qa(o,[0,4,1,2,3])),o}))}(t,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(e=this.activation.apply(e))}return e}))}computeOutputShape(t){t=sx(t);const e=[],n="channelsLast"===this.dataFormat?t.slice(1,t.length-1):t.slice(2);for(let t=0;t 0 but got ${JSON.stringify(t.filters)}`)}}class _v extends Tv{constructor(t){super(2,t),_v.verifyArgs(t)}getConfig(){const t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if("number"!=typeof t.kernelSize&&!mg(t.kernelSize,"number",1,2))throw new Jm(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(t.kernelSize)}.`)}}_v.className="Conv2D",Io(_v);class Mv extends Tv{constructor(t){super(3,t),Mv.verifyArgs(t)}getConfig(){const t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if("number"!=typeof t.kernelSize&&(!Array.isArray(t.kernelSize)||1!==t.kernelSize.length&&3!==t.kernelSize.length))throw new Jm(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(t.kernelSize)}.`)}}Mv.className="Conv3D",Io(Mv);class kv extends _v{constructor(t){if(super(t),this.inputSpec=[new ux({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new Jm(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(4!==(t=sx(t)).length)throw new Jm("Input should have rank 4; Received input shape: "+JSON.stringify(t));const e="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[e])throw new Jm("The channel dimension of the inputs should be defined. Found `None`.");const n=t[e],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ux({ndim:4,axes:{[e]:n}})],this.built=!0}call(t,e){return Ko((()=>{let e=rx(t);if(4!==e.shape.length)throw new Jm(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${e.shape.length}`);const n=e.shape,r=n[0];let s,i;"channelsFirst"===this.dataFormat?(s=2,i=3):(s=1,i=2);const a=n[s],o=n[i],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],h=this.strides[1],d=[r,xv(a,c,l,this.padding),xv(o,h,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(e=qa(e,[0,2,3,1]));let p=Lu(e,this.kernel.read(),d,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(p=qa(p,[0,3,1,2])),null!=this.bias&&(p=hy(p,this.bias.read(),this.dataFormat)),null!=this.activation&&(p=this.activation.apply(p)),p}))}computeOutputShape(t){const e=(t=sx(t)).slice();let n,r,s;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3):(n=3,r=1,s=2);const i=this.kernelSize[0],a=this.kernelSize[1],o=this.strides[0],l=this.strides[1];return e[n]=this.filters,e[r]=xv(e[r],o,i,this.padding),e[s]=xv(e[s],l,a,this.padding),e}getConfig(){const t=super.getConfig();return delete t.dilationRate,t}}kv.className="Conv2DTranspose",Io(kv);class Ev extends Mv{constructor(t){if(super(t),this.inputSpec=[new ux({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new Jm(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(5!==(t=sx(t)).length)throw new Jm("Input should have rank 5; Received input shape: "+JSON.stringify(t));const e="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[e])throw new Jm("The channel dimension of the inputs should be defined. Found `None`.");const n=t[e],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ux({ndim:5,axes:{[e]:n}})],this.built=!0}call(t,e){return Ko((()=>{let e=rx(t);if(5!==e.shape.length)throw new Jm(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${e.shape.length}`);const n=e.shape,r=n[0];let s,i,a;"channelsFirst"===this.dataFormat?(a=2,s=3,i=4):(a=1,s=2,i=3);const o=n[a],l=n[s],u=n[i],c=this.kernelSize[0],h=this.kernelSize[1],d=this.kernelSize[2],p=this.strides[0],f=this.strides[1],m=this.strides[2],g=[r,xv(o,p,c,this.padding),xv(l,f,h,this.padding),xv(u,m,d,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(e=qa(e,[0,2,3,4,1]));let y=Ou(e,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(y=qa(y,[0,4,1,2,3])),null!==this.bias&&(y=hy(y,this.bias.read(),this.dataFormat)),null!==this.activation&&(y=this.activation.apply(y)),y}))}computeOutputShape(t){const e=(t=sx(t)).slice();let n,r,s,i;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3,i=4):(n=4,r=1,s=2,i=3);const a=this.kernelSize[0],o=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],h=this.strides[2];return e[n]=this.filters,e[r]=xv(e[r],u,a,this.padding),e[s]=xv(e[s],c,o,this.padding),e[i]=xv(e[i],h,l,this.padding),e}getConfig(){const t=super.getConfig();return delete t.dilationRate,t}}Ev.className="Conv3DTranspose",Io(Ev);class Iv extends Tv{constructor(t,e){if(super(t,e),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==e.filters)throw new Jm("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=e.kernelInitializer||null!=e.kernelRegularizer||null!=e.kernelConstraint)throw new Jm("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=e.padding&&"same"!==e.padding&&"valid"!==e.padding)throw new Jm(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(e.padding)}`);this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=Fy(e.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=uv(e.depthwiseRegularizer),this.depthwiseConstraint=Ig(e.depthwiseConstraint),this.pointwiseInitializer=Fy(e.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=uv(e.pointwiseRegularizer),this.pointwiseConstraint=Ig(e.pointwiseConstraint)}build(t){if((t=sx(t)).length{let e;if(t=rx(t),1===this.rank)throw new Zm("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(t=qa(t,[0,2,3,1])),e=Ah(t,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(e=hy(e,this.bias.read(),this.dataFormat)),null!=this.activation&&(e=this.activation.apply(e)),"channelsFirst"===this.dataFormat&&(e=qa(e,[0,3,1,2])),e}))}getConfig(){const t=super.getConfig();return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=Ly(this.depthwiseInitializer),t.pointwiseInitializer=Ly(this.pointwiseInitializer),t.depthwiseRegularizer=ov(this.depthwiseRegularizer),t.pointwiseRegularizer=ov(this.pointwiseRegularizer),t.depthwiseConstraint=kg(this.depthwiseConstraint),t.pointwiseConstraint=kg(this.pointwiseConstraint),t}}Iv.className="SeparableConv";class Cv extends Iv{constructor(t){super(2,t)}}Cv.className="SeparableConv2D",Io(Cv);class Nv extends Tv{constructor(t){super(1,t),Nv.verifyArgs(t),this.inputSpec=[{ndim:3}]}getConfig(){const t=super.getConfig();return delete t.rank,delete t.dataFormat,t}static verifyArgs(t){if("number"!=typeof t.kernelSize&&!mg(t.kernelSize,"number",1,1))throw new Jm(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(t.kernelSize)}.`)}}Nv.className="Conv1D",Io(Nv);class Av extends fx{constructor(t){super(t),"number"==typeof t.cropping?this.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:"number"==typeof t.cropping[0]?this.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:this.cropping=t.cropping,this.dataFormat=void 0===t.dataFormat?"channelsLast":t.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(t){return"channelsFirst"===this.dataFormat?[t[0],t[1],t[2]-this.cropping[0][0]-this.cropping[0][1],t[3]-this.cropping[1][0]-this.cropping[1][1]]:[t[0],t[1]-this.cropping[0][0]-this.cropping[0][1],t[2]-this.cropping[1][0]-this.cropping[1][1],t[3]]}call(t,e){return Ko((()=>{if(t=rx(t),"channelsLast"===this.dataFormat){const e=ny(t,this.cropping[0][0],t.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return ny(e,this.cropping[1][0],t.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const e=ny(t,this.cropping[0][0],t.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return ny(e,this.cropping[1][0],t.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}}))}getConfig(){const t={cropping:this.cropping,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}Av.className="Cropping2D",Io(Av);class Rv extends fx{constructor(t){var e;super(t),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==t.size?this.DEFAULT_SIZE:t.size,this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,zg(this.dataFormat),this.interpolation=null==t.interpolation?"nearest":t.interpolation,e=this.interpolation,fg(Lg,"InterpolationFormat",e)}computeOutputShape(t){if("channelsFirst"===this.dataFormat){const e=null==t[2]?null:this.size[0]*t[2],n=null==t[3]?null:this.size[1]*t[3];return[t[0],t[1],e,n]}{const e=null==t[1]?null:this.size[0]*t[1],n=null==t[2]?null:this.size[1]*t[2];return[t[0],e,n,t[3]]}}call(t,e){return Ko((()=>{let e=rx(t);const n=e.shape;if("channelsFirst"===this.dataFormat){e=qa(e,[0,2,3,1]);const t=this.size[0]*n[2],r=this.size[1]*n[3],s="nearest"===this.interpolation?kp.resizeNearestNeighbor(e,[t,r]):kp.resizeBilinear(e,[t,r]);return qa(s,[0,3,1,2])}{const t=this.size[0]*n[1],r=this.size[1]*n[2];return"nearest"===this.interpolation?kp.resizeNearestNeighbor(e,[t,r]):kp.resizeBilinear(e,[t,r])}}))}getConfig(){const t={size:this.size,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}Rv.className="UpSampling2D",Io(Rv);class Dv extends Sv{constructor(t){super(2,t),this.depthwiseKernel=null,this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=Fy(t.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=Ig(t.depthwiseConstraint),this.depthwiseRegularizer=uv(t.depthwiseRegularizer)}build(t){if((t=sx(t)).length<4)throw new Jm(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(t)}.`);const e="channelsFirst"===this.dataFormat?1:3;if(null==t[e]||t[e]<0)throw new Jm(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${t[e]}).`);const n=t[e],r=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",r,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return Ko((()=>{let e=function(t,e,n=[1,1],r="valid",s,i){return Ko((()=>{null==s&&(s="channelsLast"),zg(s);let a=bv(t,s);if(4!==t.rank)throw new Jm(`Input for depthwiseConv2d is required to be 4-D, but is instead ${t.rank}-D`);if(4!==e.rank)throw new Jm(`depthwiseKernel is required to be 4-D, but is instead ${e.rank}-D`);return a=Wu(a,e,n,"same"===r?"same":"valid","NHWC",i),"channelsFirst"===s&&(a=qa(a,[0,3,1,2])),a}))}(t=rx(t),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(e=hy(e,this.bias.read(),this.dataFormat)),null!=this.activation&&(e=this.activation.apply(e)),e}))}computeOutputShape(t){t=sx(t);const e="channelsFirst"===this.dataFormat?t[2]:t[1],n="channelsFirst"===this.dataFormat?t[3]:t[2],r="channelsFirst"===this.dataFormat?t[1]*this.depthMultiplier:t[3]*this.depthMultiplier,s=yv(e,this.kernelSize[0],this.padding,this.strides[0]),i=yv(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[t[0],r,s,i]:[t[0],s,i,r]}getConfig(){const t=super.getConfig();return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=Ly(this.depthwiseInitializer),t.depthwiseRegularizer=ov(this.depthwiseRegularizer),t.depthwiseConstraint=kg(this.depthwiseRegularizer),t}}function Lv(t,e,n,r){if(Array.isArray(t)){if(null!=e||null!=n)throw new Jm("When inputs is an array, neither initialState or constants should be provided");null!=r&&(n=t.slice(t.length-r,t.length),t=t.slice(0,t.length-r)),t.length>1&&(e=t.slice(1,t.length)),t=t[0]}function s(t){return null==t||Array.isArray(t)?t:[t]}return{inputs:t,initialState:e=s(e),constants:n=s(n)}}function Fv(t,e,n,r=!1,s,i,a=!1,o=!1){return Ko((()=>{const l=e.shape.length;if(l<3)throw new Jm(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(Jg(2,l));if(e=qa(e,u),null!=i)throw new Zm("The rnn() functoin of the deeplearn.js backend does not support constants yet.");a&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=s&&((s=Ma(Ma(s,"bool"),"float32")).rank===l-1&&(s=tc(s,-1)),s=qa(s,u)),r&&(e=Th(e,0),null!=s&&(s=Th(s,0)));const c=[];let h,d=n;const p=e.shape[0],f=od(e);let m,g;null!=s&&(m=od(s));for(let e=0;et(n,d)));if(null==s)h=r[0],d=r[1];else{const t=Ko((()=>{const t=m[e],n=Il(Qc(t),t);return{output:ll(hl(r[0],t),hl(d[0],n)),newStates:d.map(((e,s)=>ll(hl(r[1][s],t),hl(e,n))))}}));h=t.output,d=t.newStates}o&&c.push(h)}return o&&(g=Xh(c,1)),[h,g,d]}))}Dv.className="DepthwiseConv2D",Io(Dv);class $v extends fx{constructor(t){let e;if(super(t),null==t.cell)throw new Jm("cell property is missing for the constructor of RNN.");if(e=Array.isArray(t.cell)?new Hv({cells:t.cell}):t.cell,null==e.stateSize)throw new Jm("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=e,this.returnSequences=null!=t.returnSequences&&t.returnSequences,this.returnState=null!=t.returnState&&t.returnState,this.goBackwards=null!=t.goBackwards&&t.goBackwards,this._stateful=null!=t.stateful&&t.stateful,this.unroll=null!=t.unroll&&t.unroll,this.supportsMasking=!0,this.inputSpec=[new ux({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){return null==this.states_?Jg(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map((t=>null)):this.states_}setStates(t){this.states_=t}computeOutputShape(t){ex(t)&&(t=t[0]);let e=this.cell.stateSize;Array.isArray(e)||(e=[e]);const n=e[0];let r;if(r=this.returnSequences?[t[0],t[1],n]:[t[0],n],this.returnState){const n=[];for(const r of e)n.push([t[0],r]);return[r].concat(n)}return r}computeMask(t,e){return Ko((()=>{Array.isArray(e)&&(e=e[0]);const t=this.returnSequences?e:null;if(this.returnState){const e=this.states.map((t=>null));return[t].concat(e)}return t}))}get states(){if(null==this.states_){const t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,e=[];for(let n=0;nt.shape[t.shape.length-1])),s))throw new Jm(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=s.map((t=>new ux({shape:[null,t]})));this.stateful&&this.resetStates()}resetStates(t,e=!1){Ko((()=>{if(!this.stateful)throw new Km("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new Jm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((t=>Vc([n,t]))):this.states_=[Vc([n,this.cell.stateSize])];else if(null==t)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((t=>Vc([n,t]))):this.states_[0]=Vc([n,this.cell.stateSize]);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new Jm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);!0===e?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let e=0;eJo(t.clone())))}))}apply(t,e){let n=null==e?null:e.initialState,r=null==e?null:e.constants;null==e&&(e={});const s=Lv(t,n,r,this.numConstants);t=s.inputs,n=s.initialState,r=s.constants;let i=[],a=[];if(null!=n){e.initialState=n,i=i.concat(n),this.stateSpec=[];for(const t of n)this.stateSpec.push(new ux({shape:t.shape}));a=a.concat(this.stateSpec)}if(null!=r&&(e.constants=r,i=i.concat(r),this.numConstants=r.length),i[0]instanceof cx){const n=[t].concat(i),r=this.inputSpec.concat(a),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,e);return this.inputSpec=s,o}return super.apply(t,e)}call(t,e){return Ko((()=>{const n=null==e?null:e.mask,r=null==e?null:e.training;let s=null==e?null:e.initialState;t=rx(t),null==s&&(s=this.stateful?this.states_:this.getInitialState(t));const i=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==i)throw new Jm(`RNN Layer has ${i} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const a={training:r},o=Fv(((t,e)=>{const n=this.cell.call([t].concat(e),a);return[n[0],n.slice(1)]}),t,s,this.goBackwards,n,null,this.unroll,this.returnSequences),l=o[0],u=o[1],c=o[2];this.stateful&&this.resetStates(c,r);const h=this.returnSequences?u:l;return this.returnState?[h].concat(c):h}))}getInitialState(t){return Ko((()=>{let e=Vc(t.shape);return e=Tc(e,[1,2]),e=Qg(e),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map((t=>t>1?iy(e,[1,t]):e)):this.cell.stateSize>1?[iy(e,[1,this.cell.stateSize])]:[e]}))}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(t)}getConfig(){const t=super.getConfig(),e={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(e.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===$v.className&&(e.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,t,e)}static fromConfig(t,e,n={}){const r=Cx(e.cell,n);return new t(Object.assign(e,{cell:r}))}}$v.className="RNN",Io($v);class Ov extends fx{}class Pv extends Ov{constructor(t){super(t),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=t.units,gg(this.units,"units"),this.activation=nv(null==t.activation?this.DEFAULT_ACTIVATION:t.activation),this.useBias=null==t.useBias||t.useBias,this.kernelInitializer=Fy(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Fy(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Fy(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=uv(t.kernelRegularizer),this.recurrentRegularizer=uv(t.recurrentRegularizer),this.biasRegularizer=uv(t.biasRegularizer),this.kernelConstraint=Ig(t.kernelConstraint),this.recurrentConstraint=Ig(t.recurrentConstraint),this.biasConstraint=Ig(t.biasConstraint),this.dropout=Kg([1,Yg([0,null==t.dropout?0:t.dropout])]),this.recurrentDropout=Kg([1,Yg([0,null==t.recurrentDropout?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=sx(t),this.kernel=this.addWeight("kernel",[t[t.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return Ko((()=>{if(2!==t.length)throw new Jm(`SimpleRNNCell expects 2 input Tensors, got ${t.length}.`);let n=t[1];t=t[0];const r=null!=e.training&&e.training;let s;0Qc(t),rate:this.dropout,training:r,dropoutFunc:this.dropoutFunc})),0Qc(n),rate:this.recurrentDropout,training:r,dropoutFunc:this.dropoutFunc}));const i=this.dropoutMask,a=this.recurrentDropoutMask;s=oy(null!=i?hl(t,i):t,this.kernel.read()),null!=this.bias&&(s=hy(s,this.bias.read())),null!=a&&(n=hl(n,a));let o=ll(s,oy(n,this.recurrentKernel.read()));return null!=this.activation&&(o=this.activation.apply(o)),[o,o]}))}getConfig(){const t=super.getConfig(),e={units:this.units,activation:tv(this.activation),useBias:this.useBias,kernelInitializer:Ly(this.kernelInitializer),recurrentInitializer:Ly(this.recurrentInitializer),biasInitializer:Ly(this.biasInitializer),kernelRegularizer:ov(this.kernelRegularizer),recurrentRegularizer:ov(this.recurrentRegularizer),biasRegularizer:ov(this.biasRegularizer),activityRegularizer:ov(this.activityRegularizer),kernelConstraint:kg(this.kernelConstraint),recurrentConstraint:kg(this.recurrentConstraint),biasConstraint:kg(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},t,e)}}Pv.className="SimpleRNNCell",Io(Pv);class zv extends $v{constructor(t){t.cell=new Pv(t),super(t)}call(t,e){return Ko((()=>{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}static fromConfig(t,e){return new t(e)}}zv.className="SimpleRNN",Io(zv);class Bv extends Ov{constructor(t){if(super(t),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",t.resetAfter)throw new Jm("GRUCell does not support reset_after parameter set to true.");this.units=t.units,gg(this.units,"units"),this.activation=nv(void 0===t.activation?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=nv(void 0===t.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=null==t.useBias||t.useBias,this.kernelInitializer=Fy(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Fy(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Fy(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=uv(t.kernelRegularizer),this.recurrentRegularizer=uv(t.recurrentRegularizer),this.biasRegularizer=uv(t.biasRegularizer),this.kernelConstraint=Ig(t.kernelConstraint),this.recurrentConstraint=Ig(t.recurrentConstraint),this.biasConstraint=Ig(t.biasConstraint),this.dropout=Kg([1,Yg([0,null==t.dropout?0:t.dropout])]),this.recurrentDropout=Kg([1,Yg([0,null==t.recurrentDropout?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){const e=(t=sx(t))[t.length-1];this.kernel=this.addWeight("kernel",[e,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return Ko((()=>{if(2!==t.length)throw new Jm(`GRUCell expects 2 input Tensors (inputs, h, c), got ${t.length}.`);const n=null!=e.training&&e.training;let r=t[1];t=t[0],0Qc(t),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,i=this.recurrentDropoutMask;let a,o,l;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}static fromConfig(t,e){return 0===e.implmentation&&(e.implementation=1),new t(e)}}Uv.className="GRU",Io(Uv);class Vv extends Ov{constructor(t){super(t),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=t.units,gg(this.units,"units"),this.activation=nv(void 0===t.activation?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=nv(void 0===t.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=null==t.useBias||t.useBias,this.kernelInitializer=Fy(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Fy(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Fy(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=t.unitForgetBias,this.kernelRegularizer=uv(t.kernelRegularizer),this.recurrentRegularizer=uv(t.recurrentRegularizer),this.biasRegularizer=uv(t.biasRegularizer),this.kernelConstraint=Ig(t.kernelConstraint),this.recurrentConstraint=Ig(t.recurrentConstraint),this.biasConstraint=Ig(t.biasConstraint),this.dropout=Kg([1,Yg([0,null==t.dropout?0:t.dropout])]),this.recurrentDropout=Kg([1,Yg([0,null==t.recurrentDropout?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){var e;const n=(t=sx(t))[t.length-1];let r;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const t=this.biasInitializer,n=this.units;r=new((e=class extends gy{apply(e,r){const s=t.apply([n]),i=(new xy).apply([n]),a=t.apply([2*n]);return sy(sy(s,i),a)}}).className="CustomInit",e)}else r=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,r,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(t,e){return Ko((()=>{const n=null!=e.training&&e.training;if(3!==t.length)throw new Jm(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let r=t[1];const s=t[2];t=t[0],0Qc(t),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const i=this.dropoutMask,a=this.recurrentDropoutMask;let o,l,u,c;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}static fromConfig(t,e){return 0===e.implmentation&&(e.implementation=1),new t(e)}}Wv.className="LSTM",Io(Wv);class Hv extends Ov{constructor(t){super(t),this.cells=t.cells}get stateSize(){const t=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?t.push(...e.stateSize):t.push(e.stateSize);return t}call(t,e){return Ko((()=>{let n=t.slice(1);const r=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?r.push(n.splice(0,t.stateSize.length)):r.push(n.splice(0,1));r.reverse();const s=[];let i;for(let a=0;a{Wg(`RNNCell_${r}`,(()=>{n.build(t),e=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,t=[t[0],e]}))})),this.built=!0}getConfig(){const t=super.getConfig(),e={cells:this.cells.map((t=>({className:t.getClassName(),config:t.getConfig()})))};return Object.assign({},t,e)}static fromConfig(t,e,n={}){const r=[];for(const t of e.cells)r.push(Cx(t,n));return new t({cells:r})}get trainableWeights(){if(!this.trainable)return[];const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t}get nonTrainableWeights(){const t=[];for(const e of this.cells)t.push(...e.nonTrainableWeights);if(!this.trainable){const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e.concat(t)}return t}getWeights(){const t=[];for(const e of this.cells)t.push(...e.weights);return ox(t)}setWeights(t){const e=[];for(const n of this.cells){const r=n.weights.length,s=t.splice(r);for(let t=0;tnull!=i?i(e(),n):dy(e(),n),o=()=>py(a,e,r);return!s||s<=1?Jo(o().clone()):Array(s).fill(void 0).map(o).map((t=>Jo(t.clone())))}Hv.className="StackedRNNCells",Io(Hv);class jv extends $v{constructor(t){if(t.unroll)throw new Zm("Unrolling is not possible with convolutional RNNs.");if(Array.isArray(t.cell))throw new Zm("It is not possible at the moment to stack convolutional cells.");super(t),this.inputSpec=[new ux({ndim:5})]}call(t,e){return Ko((()=>{if(null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),e&&e.constants)throw new Jm("ConvRNN2D cell does not support constants");const n=null==e?null:e.mask,r=null==e?null:e.training,s=null==e?null:e.initialState;return super.call(t,{mask:n,training:r,initialState:s})}))}computeOutputShape(t){let e=this.computeSingleOutputShape(t);return this.returnSequences||(e=[e[0],...e.slice(2)]),this.returnState&&(e=[e,...Array(2).fill([t[0],...e.slice(-3)])]),e}getInitialState(t){return Ko((()=>{const{stateSize:e}=this.cell,n=t.shape,r=this.computeSingleOutputShape(n),s=Vc([r[0],...r.slice(2)]);return Array.isArray(e)?Array(e.length).fill(s):[s]}))}resetStates(t,e=!1){Ko((()=>{if(!this.stateful)throw new Km("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,r=this.computeSingleOutputShape(n),s=[r[0],...r.slice(2)];if(null==n[0])throw new Jm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Vc(s))):this.states_=[Vc(s)];else if(null==t)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Vc(s))):this.states_[0]=Vc(s);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new Jm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let e=0;eJo(t.clone())))}))}computeSingleOutputShape(t){const{dataFormat:e,filters:n,kernelSize:r,padding:s,strides:i,dilationRate:a}=this.cell,o="channelsFirst"===e,l=t[o?3:2],u=t[o?4:3],c=yv(l,r[0],s,i[0],a[0]),h=yv(u,r[1],s,i[1],a[1]);return[...t.slice(0,2),...o?[n,c,h]:[c,h,n]]}}jv.className="ConvRNN2D";class qv extends Vv{constructor(t){const{filters:e,kernelSize:n,strides:r,padding:s,dataFormat:i,dilationRate:a}=t;super(Object.assign({},t,{units:e})),this.filters=e,gg(this.filters,"filters"),this.kernelSize=gv(n,2,"kernelSize"),this.kernelSize.forEach((t=>gg(t,"kernelSize"))),this.strides=gv(r||1,2,"strides"),this.strides.forEach((t=>gg(t,"strides"))),this.padding=s||"valid",Bg(this.padding),this.dataFormat=i||"channelsLast",zg(this.dataFormat),this.dilationRate=gv(a||1,2,"dilationRate"),this.dilationRate.forEach((t=>gg(t,"dilationRate")))}build(t){var e;t=sx(t);const n="channelsFirst"===this.dataFormat?1:t.length-1;if(null==t[n])throw new Jm(`The channel dimension of the input should be defined. Found ${t[n]}`);const r=t[n],s=this.kernelSize.concat([r,4*this.filters]);this.kernel=this.addWeight("kernel",s,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const i=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",i,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let t;if(this.unitForgetBias){const n=this.biasInitializer,r=this.filters;t=new((e=class extends gy{apply(t,e){return ry([n.apply([r]),Wc([r]),n.apply([2*r])])}}).className="CustomInit",e)}else t=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,t,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(t,e){return Ko((()=>{if(3!==t.length)throw new Jm(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);const n=e.training||!1,r=t[0],s=t[1],i=t[2];0Qc(r),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const a=this.dropoutMask,o=(t,e,n)=>e&&e[n]?hl(e[n],t):t;let l=o(r,a,0),u=o(r,a,1),c=o(r,a,2),h=o(r,a,3);0Qc(s),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const d=this.recurrentDropoutMask;let p=o(s,d,0),f=o(s,d,1),m=o(s,d,2),g=o(s,d,3);const[y,x,b,v]=Hh(this.kernel.read(),4,3),[w,S,T,_]=this.useBias?Hh(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,y,w,this.padding),u=this.inputConv(u,x,S,this.padding),c=this.inputConv(c,b,T,this.padding),h=this.inputConv(h,v,_,this.padding);const[M,k,E,I]=Hh(this.recurrentKernel.read(),4,3);p=this.recurrentConv(p,M),f=this.recurrentConv(f,k),m=this.recurrentConv(m,E),g=this.recurrentConv(g,I);const C=this.recurrentActivation.apply(ll(l,p)),N=this.recurrentActivation.apply(ll(u,f)),A=ll(hl(N,i),hl(C,this.activation.apply(ll(c,m)))),R=hl(this.recurrentActivation.apply(ll(h,g)),this.activation.apply(A));return[R,R,A]}))}getConfig(){const t=super.getConfig(),{units:e}=t,n=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(t);s{this.invokeCallHook(t,e);const n=rx(t);if(0dy(n,this.rate,r,this.seed)),(()=>n),t)}return t}))}getConfig(){const t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},e=super.getConfig();return Object.assign(t,e),t}dispose(){return super.dispose()}}Kv.className="Dropout",Io(Kv);class Yv extends Kv{constructor(t){super(t),this.inputSpec=[{ndim:3}]}getNoiseShape(t){const e=t.shape;return[e[0],1,e[2]]}}Yv.className="SpatialDropout1D",Io(Yv);class Jv extends fx{constructor(t){if(super(t),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==t.batchInputShape&&null==t.inputShape&&null!=t.inputDim){let e=null;null!=t.batchSize&&(e=t.batchSize),this.batchInputShape=[e,t.inputDim]}this.units=t.units,gg(this.units,"units"),this.activation=nv(t.activation),null!=t.useBias&&(this.useBias=t.useBias),this.kernelInitializer=Fy(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=Fy(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=Ig(t.kernelConstraint),this.biasConstraint=Ig(t.biasConstraint),this.kernelRegularizer=uv(t.kernelRegularizer),this.biasRegularizer=uv(t.biasRegularizer),this.activityRegularizer=uv(t.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(t){const e=(t=sx(t))[t.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[e,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:e}}],this.built=!0}computeOutputShape(t){const e=(t=sx(t)).slice();return e[e.length-1]=this.units,e}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=rx(t),r=xg(this.activation.getClassName());let s;return null!=r?s=oy(n,this.kernel.read(),r,this.bias?this.bias.read():null):(s=oy(n,this.kernel.read()),null!=this.bias&&(s=hy(s,this.bias.read())),null!=this.activation&&(s=this.activation.apply(s))),s}))}getConfig(){const t={units:this.units,activation:tv(this.activation),useBias:this.useBias,kernelInitializer:Ly(this.kernelInitializer),biasInitializer:Ly(this.biasInitializer),kernelRegularizer:ov(this.kernelRegularizer),biasRegularizer:ov(this.biasRegularizer),activityRegularizer:ov(this.activityRegularizer),kernelConstraint:kg(this.kernelConstraint),biasConstraint:kg(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}}Jv.className="Dense",Io(Jv);class Zv extends fx{constructor(t){super(t=t||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=t.dataFormat}computeOutputShape(t){t=sx(t);for(const e of t.slice(1))if(null==e)throw new Jm(`The shape of the input to "Flatten" is not fully defined (got ${t.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[t[0],Xg(t,1)]}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);let n=rx(t);if("channelsFirst"===this.dataFormat&&n.rank>1){const t=[0];for(let e=2;e{this.invokeCallHook(t,e);const n=rx(t);return this.activation.apply(n)}))}getConfig(){const t={activation:tv(this.activation)},e=super.getConfig();return Object.assign(t,e),t}}Qv.className="Activation",Io(Qv);class tw extends fx{constructor(t){super(t),this.n=t.n,this.inputSpec=[{ndim:2}]}computeOutputShape(t){return[t[0],this.n,t[1]]}call(t,e){return Ko((()=>{return t=rx(t),e=t,n=this.n,Ko((()=>{if(2!==e.shape.length)throw new Jm(`repeat() expects a rank-2 tensor, but received a rank-${e.shape.length} tensor.`);return iy(Qg(e,1),[1,n,1])}));var e,n}))}getConfig(){const t={n:this.n},e=super.getConfig();return Object.assign(t,e),t}}tw.className="RepeatVector",Io(tw);class ew extends fx{constructor(t){super(t),this.targetShape=t.targetShape;for(let t=0;t{this.invokeCallHook(t,e);const n=rx(t),r=n.shape,s=r.slice(0,1).concat(this.fixUnknownDimension(r.slice(1),this.targetShape));return uu(n,s)}))}getConfig(){const t={targetShape:this.targetShape},e=super.getConfig();return Object.assign(t,e),t}}ew.className="Reshape",Io(ew);class nw extends fx{constructor(t){if(super(t),null==t.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(t.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${t.dims} instead.`);const e=Jg(1,t.dims.length+1);if(!ut(t.dims.slice().sort(),e))throw new Error("Invalid permutation `dims`: "+JSON.stringify(t.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=t.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new ux({ndim:this.dims.length+1})]}computeOutputShape(t){const e=(t=sx(t)).slice();return this.dims.forEach(((n,r)=>{e[r+1]=t[n]})),e}call(t,e){return qa(rx(t),this.dimsIncludingBatch)}getConfig(){const t={dims:this.dims},e=super.getConfig();return Object.assign(t,e),t}}nw.className="Permute",Io(nw);class rw extends fx{constructor(t){super(null==t?{}:t),this.supportsMasking=!0,this.maskValue=null!=t?null==t.maskValue?0:t.maskValue:0}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={maskValue:this.maskValue};return Object.assign(e,t),e}computeMask(t,e){const n=rx(t);return Ul(Zc(n,this.maskValue),-1)}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=rx(t),r=Ul(Zc(n,this.maskValue),-1,!0);return hl(n,Ma(r,n.dtype))}))}}rw.className="Masking",Io(rw);class sw extends fx{constructor(t){if(super(t),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==t.batchInputShape&&null==t.inputShape){let e=null;null!=t.batchSize&&(e=t.batchSize),null==t.inputLength?this.batchInputShape=[e,null]:this.batchInputShape=[e].concat(sg(t.inputLength))}this.inputDim=t.inputDim,gg(this.inputDim,"inputDim"),this.outputDim=t.outputDim,gg(this.outputDim,"outputDim"),this.embeddingsInitializer=Fy(t.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=uv(t.embeddingsRegularizer),this.activityRegularizer=uv(t.activityRegularizer),this.embeddingsConstraint=Ig(t.embeddingsConstraint),this.maskZero=t.maskZero,this.supportsMasking=t.maskZero,this.inputLength=t.inputLength}build(t){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(t){}computeMask(t,e){return Ko((()=>this.maskZero?(t=rx(t),Zc(t,fl(t))):null))}computeOutputShape(t){if(t=sx(t),null==this.inputLength)return[...t,this.outputDim];const e=sg(this.inputLength);if(e.length!==t.length-1)throw new Jm(`"inputLength" is ${this.inputLength}, but received input shape has shape ${t}`);{let n=0;for(let r=0;r{this.invokeCallHook(t,e);let n=rx(t);"int32"!==n.dtype&&(n=Zg(n,"int32"));const r=ly(this.embeddings.read(),uu(n,[n.size]));return uu(r,sx(this.computeOutputShape(n.shape)))}))}getConfig(){const t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Ly(this.embeddingsInitializer),embeddingsRegularizer:ov(this.embeddingsRegularizer),activityRegularizer:ov(this.activityRegularizer),embeddingsConstraint:kg(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},e=super.getConfig();return Object.assign(t,e),t}}sw.className="Embedding",Io(sw);class iw extends fx{constructor(t){super(t||{}),this.supportsMasking=!0}mergeFunction(t){throw new Zm}computeElementwiseOpOutputShape(t,e){if(null==t||null==e)return null;if(t.length1)throw new Jm(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(t)}.`);let n=null==t[0]?null:t[0].slice(1);for(let e=1;et.length));-1===t.indexOf(null)&&1===dg(r).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(t,e){return Ko((()=>{if(this.reshapeRequired){const e=[],n=t.map((t=>t.rank));if(-1===n.indexOf(null)){const r=Yg(n);for(let n of t){const t=n.rank;for(let e=0;e1){const s=Jg(1,t).concat([0]);e.push(qa(r,s)),n=!0}else e.push(r)}let r=this.mergeFunction(e);const s=r.rank;if(n)if(null==s){const t=r.shape,e=t[t.length-1],n=[e].concat(t.slice(0,t.length-1));r=uu(qa(uu(r,[-1,e]),[1,0]),n)}else if(s>1){const t=[s-1].concat(Jg(0,s-1));r=qa(r,t)}return r}}return this.mergeFunction(t)}))}computeOutputShape(t){let e;e=null==t[0]?null:t[0].slice(1);for(let n=1;n{if(null==e)return null;if(!Array.isArray(e))throw new Jm("`mask` should be an Array");if(!Array.isArray(t))throw new Jm("`inputs` should be an Array");if(e.length!==t.length)throw new Jm(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${t.length} vs ${e.length})`);if(e.every((t=>null==t)))return null;let n=(e=e.map((t=>null==t?t:tc(t,0))))[0];for(let t=1;t{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0];for(let n=1;n{let e=t[0];for(let n=1;n1)throw new Jm("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(t))}mergeFunction(t){return Ko((()=>ry(t,this.axis)))}computeOutputShape(t){if(!Array.isArray(t)||!Array.isArray(t[0]))throw new Jm("A `Concatenate` layer should be called on a list of inputs.");const e=t,n=e[0].slice(),r=this.axis<0?n.length+this.axis:this.axis;for(const t of e.slice(1)){if(null==n[r]||null==t[r]){n[r]=null;break}n[r]+=t[r]}return n}computeMask(t,e){if(null==e)return null;if(!Array.isArray(e))throw new Jm("`mask` should be an array for Concatenate");if(!Array.isArray(t))throw new Jm("`inputs` should be an array for Concatenate");if(e.length!==t.length)throw new Jm(`Mismatch in the length of mask (${e.length}) and the legnth of inputs (${t.length})`);return Ko((()=>{let n=!0;if(e.forEach((t=>{null==t||(n=!1)})),n)return null;const r=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs."));const e=t[0],n=t[1];if(e.length>3||n.length>3)throw new Zm("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(e,n);if(e[r[0]]!==n[r[1]])throw new Jm(`Dimension incompatibility: ${e[r[0]]} !== ${n[r[1]]}`)}mergeFunction(t){if(2!==t.length)throw new Jm(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${t.length} input(s).`);let e,n=t[0],r=t[1];return e=Array.isArray(this.axes)?this.axes.map(((e,n)=>dw(e,t[n].shape.length))):[dw(this.axes,n.shape.length),dw(this.axes,r.shape.length)],this.normalize&&(n=Nx(n,e[0]),r=Nx(r,e[1])),function(t,e,n){if(t.shape.length>3||e.shape.length>3)throw new Zm("batchDot is not implemented for tensors of 4D or higher rank yet");if(rt(t.shape.length>=2,(()=>`batchDot requires the rank of x to be >= 2, but got ${t.shape.length}`)),rt(t.shape.length>=2,(()=>`batchDot requires the rank of y to be >= 2, but got ${e.shape.length}`)),"number"==typeof n&&(n=[n,n]),"complex64"===t.dtype||"complex64"===e.dtype)throw new Zm("batchDot is not implemented for complex64-type Tensors yet.");const r=t.shape.length,s=e.shape.length;null==n&&(n=[r-1,s-2]);const i=n;return Ko((()=>{let n,a;if(r>s){n=r-s;const t=[];for(let e=0;er){n=s-r;const e=[];for(let t=0;t0){let t;t=r>s?r+s-3:r-1;const e=[];for(let r=t;r"A `Dot` layer should be called on a list of exactly 2 inputs."));const e=t[0].slice(),n=t[1].slice();if(e.length>3||n.length>3)throw new Zm("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(e,n);e.splice(r[0],1),n.splice(r[1],1),n.splice(0,1);const s=e.concat(n);return 1===s.length&&s.push(1),s}computeMask(t,e){return null}getConfig(){const t={axes:this.axes,normalize:this.normalize},e=super.getConfig();return Object.assign(t,e),t}}pw.className="Dot",Io(pw);class fw extends fx{constructor(t){super(t),this.supportsMasking=!0,this.stddev=t.stddev}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={stddev:this.stddev};return Object.assign(e,t),e}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=rx(t);return py((()=>ll(ay(n.shape,0,this.stddev),n)),(()=>n),e.training||!1)}))}}fw.className="GaussianNoise",Io(fw);class mw extends fx{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return Ko((()=>{this.invokeCallHook(t,e);const n=rx(t);return this.rate>0&&this.rate<1?py((()=>{const t=Math.sqrt(this.rate/(1-this.rate));return hl(n,ay(n.shape,1,t))}),(()=>n),e.training||!1):n}))}}mw.className="GaussianDropout",Io(mw);class gw extends fx{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate,this.noiseShape=t.noiseShape}_getNoiseShape(t){return this.noiseShape||rx(t).shape}computeOutputShape(t){return t}getConfig(){const t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return Ko((()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(t),r=()=>{const e=rx(t),r=-1.7580993408473766;let s=oc(yh(n),this.rate);s=Zg(s,"float32");const i=((1-this.rate)*(1+this.rate*r**2))**-.5,a=-i*r*this.rate,o=ll(hl(e,s),hl(ll(s,-1),r));return ll(hl(o,i),a)};return py(r,(()=>rx(t)),e.training||!1)}return t}))}}function yw(t,e,n,r,s,i=.001){let a;if(2===t.rank)a=bu(t,e,n,r,s,i);else if(3===t.rank)a=vu(t,e,n,r,s,i);else{if(4!==t.rank)throw new Zm(`batchNormalization is not implemented for array of rank ${t.rank} yet`);a=wu(t,e,n,r,s,i)}return a}gw.className="AlphaDropout",Io(gw);class xw extends fx{constructor(t){null==t&&(t={}),super(t),this.supportsMasking=!0,this.axis=null==t.axis?-1:t.axis,this.momentum=null==t.momentum?.99:t.momentum,this.epsilon=null==t.epsilon?.001:t.epsilon,this.center=null==t.center||t.center,this.scale=null==t.scale||t.scale,this.betaInitializer=Fy(t.betaInitializer||"zeros"),this.gammaInitializer=Fy(t.gammaInitializer||"ones"),this.movingMeanInitializer=Fy(t.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=Fy(t.movingVarianceInitializer||"ones"),this.betaConstraint=Ig(t.betaConstraint),this.gammaConstraint=Ig(t.gammaConstraint),this.betaRegularizer=uv(t.betaRegularizer),this.gammaRegularizer=uv(t.gammaRegularizer)}build(t){t=sx(t);const e=this.axis>=0?this.axis:this.axis+t.length,n=t[e];if(null==n)throw new Jm(`Axis ${e} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(t)}.`);this.inputSpec=[new ux({ndim:t.length,axes:{[e]:n}})];const r=[n];this.scale&&(this.gamma=this.addWeight("gamma",r,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",r,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",r,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",r,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(t,e){return Ko((()=>{const n=null!=e.training&&e.training,r=rx(t),s=r.shape,i=s.length,a=Jg(0,i),o=this.axis>=0?this.axis:this.axis+i;a.splice(o,1);const l=tg(1,i);l[o]=s[o];const u=a.slice();u.sort();const c=!ut(u,Jg(0,i).slice(0,i-1));if(!n)return(()=>{if(c){const t=uu(this.movingMean.read(),l),e=uu(this.movingVariance.read(),l),n=this.center?uu(this.beta.read(),l):null,s=this.scale?uu(this.gamma.read(),l):null;return yw(r,t,e,n,s,this.epsilon)}return yw(r,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[h,d,p]=function(t,e,n,r,s=.001){return ut(r.slice().sort(),Jg(0,t.rank-1))?function(t,e,n,r,s=.001){return Ko((()=>{const i=Kc(t,r),a=i.mean,o=i.variance;return[yw(t,a,o,n,e,s),a,o]}))}(t,e,n,r,s):function(t,e,n,r,s=.001){return Ko((()=>{const i=Kc(t,r),a=i.mean,o=i.variance,l=[];for(const e of Jg(0,t.rank))-1!==r.indexOf(e)?l.push(1):l.push(t.shape[e]);const u=uu(a,l),c=uu(o,l),h=null==e?null:uu(e,l),d=null==n?null:uu(n,l);return[yw(t,u,c,d,h,s),a,o]}))}(t,e,n,r,s)}(r,this.gamma.read(),this.beta.read(),a,this.epsilon),f=(t,e,n)=>{Ko((()=>{const r=1-n,s=t.read(),i=hl(Il(s,e),r);t.write(Il(s,i))}))};return(()=>{f(this.movingMean,d,this.momentum),f(this.movingVariance,p,this.momentum)})(),h}))}getConfig(){const t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Ly(this.betaInitializer),gammaInitializer:Ly(this.gammaInitializer),movingMeanInitializer:Ly(this.movingMeanInitializer),movingVarianceInitializer:Ly(this.movingVarianceInitializer),betaRegularizer:ov(this.betaRegularizer),gammaRegularizer:ov(this.gammaRegularizer),betaConstraint:kg(this.betaConstraint),gammaConstraint:kg(this.gammaConstraint)},e=super.getConfig();return Object.assign(t,e),t}}xw.className="BatchNormalization",Io(xw);class bw extends fx{constructor(t){if(null==t&&(t={}),super(t),this.axis=null==t.axis?-1:t.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const t of this.axis)if(!Number.isInteger(t))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==t.epsilon?.001:t.epsilon,this.center=null==t.center||t.center,this.scale=null==t.scale||t.scale,this.betaInitializer=Fy(t.betaInitializer||"zeros"),this.gammaInitializer=Fy(t.gammaInitializer||"ones"),this.betaRegularizer=uv(t.betaRegularizer),this.gammaRegularizer=uv(t.gammaRegularizer),this.supportsMasking=!0}build(t){const e=(t=sx(t)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let t=0;t=e)throw new Error(`Invalid axis: ${t}`);if(this.axis.length!==dg(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map((e=>t[e]));this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,!0):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,!0):this.beta=null,this.built=!0}call(t,e){const n=rx(t),r=n.shape,s=r.length;return Ko((()=>{let{mean:t,variance:e}=Kc(n,this.axis,!0);const i=tg(1,s);for(const t of this.axis)i[t]=r[t];const a=t=>null!=t&&t.shape.length!==s?uu(t,i):t;let o=a(this.gamma.read()),l=a(this.beta.read());const u=[],c=[];for(let t=0;t=0?t[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=t[3]&&t[3]>=0?t[3]+this.padding[1][0]+this.padding[1][1]:null,[t[0],t[1],e,n]):(e=null!=t[1]&&t[1]>=0?t[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=t[2]&&t[2]>=0?t[2]+this.padding[1][0]+this.padding[1][1]:null,[t[0],e,n,t[3]])}call(t,e){return Ko((()=>{return e=rx(t),n=this.padding,r=this.dataFormat,Ko((()=>{if(4!==e.rank)throw new Jm(`temporalPadding expects input tensor to be 4-D, but received a ${e.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new Jm("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==r&&(r="channelsLast"),"channelsLast"!==r&&"channelsFirst"!==r)throw new Jm(`Unknown data format: ${r}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let t;return t="channelsFirst"===r?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],eh(e,t)}));var e,n,r}))}getConfig(){const t={padding:this.padding,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}function ww(t,e,n,r,s,i){return Ko((()=>{let a;zg(s),Ug(i),Bg(r),null==n&&(n=[1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==i&&(i="max"),t=bv(t,s);const o="same"===r?"same":"valid";return a="max"===i?Pc(t,e,n,o):cu(t,e,n,o),"channelsFirst"===s&&(a=qa(a,[0,3,1,2])),a}))}function Sw(t,e,n,r,s,i){return Ko((()=>{let a;zg(s),Ug(i),Bg(r),null==n&&(n=[1,1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==i&&(i="max"),t=vv(t,s);const o="same"===r?"same":"valid";return a="max"===i?zc(t,e,n,o):hu(t,e,n,o),"channelsFirst"===s&&(a=qa(a,[0,4,1,2,3])),a}))}vw.className="ZeroPadding2D",Io(vw);class Tw extends fx{constructor(t){if(null==t.poolSize&&(t.poolSize=2),super(t),"number"==typeof t.poolSize)this.poolSize=[t.poolSize];else{if(!Array.isArray(t.poolSize)||1!==t.poolSize.length||"number"!=typeof t.poolSize[0])throw new Jm(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.poolSize)}`);this.poolSize=t.poolSize}if(gg(this.poolSize,"poolSize"),null==t.strides)this.strides=this.poolSize;else if("number"==typeof t.strides)this.strides=[t.strides];else{if(!Array.isArray(t.strides)||1!==t.strides.length||"number"!=typeof t.strides[0])throw new Jm(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.strides)}`);this.strides=t.strides}gg(this.strides,"strides"),this.padding=null==t.padding?"valid":t.padding,Bg(this.padding),this.inputSpec=[new ux({ndim:3})]}computeOutputShape(t){const e=yv((t=sx(t))[1],this.poolSize[0],this.padding,this.strides[0]);return[t[0],e,t[2]]}call(t,e){return Ko((()=>{this.invokeCallHook(t,e),t=Qg(rx(t),2);const n=this.poolingFunction(rx(t),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return qh(n,[2])}))}getConfig(){const t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},e=super.getConfig();return Object.assign(t,e),t}}class _w extends Tw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return zg(s),Bg(r),ww(t,e,n,r,s,"max")}}_w.className="MaxPooling1D",Io(_w);class Mw extends Tw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return zg(s),Bg(r),ww(t,e,n,r,s,"avg")}}Mw.className="AveragePooling1D",Io(Mw);class kw extends fx{constructor(t){if(null==t.poolSize&&(t.poolSize=[2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],null==t.strides)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(2!==t.strides.length)throw new Jm(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides];gg(this.poolSize,"poolSize"),gg(this.strides,"strides"),this.padding=null==t.padding?"valid":t.padding,this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,zg(this.dataFormat),Bg(this.padding),this.inputSpec=[new ux({ndim:4})]}computeOutputShape(t){t=sx(t);let e="channelsFirst"===this.dataFormat?t[2]:t[1],n="channelsFirst"===this.dataFormat?t[3]:t[2];return e=yv(e,this.poolSize[0],this.padding,this.strides[0]),n=yv(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[t[0],t[1],e,n]:[t[0],e,n,t[3]]}call(t,e){return Ko((()=>(this.invokeCallHook(t,e),this.poolingFunction(rx(t),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}class Ew extends kw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return zg(s),Bg(r),ww(t,e,n,r,s,"max")}}Ew.className="MaxPooling2D",Io(Ew);class Iw extends kw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return zg(s),Bg(r),ww(t,e,n,r,s,"avg")}}Iw.className="AveragePooling2D",Io(Iw);class Cw extends fx{constructor(t){if(null==t.poolSize&&(t.poolSize=[2,2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize,t.poolSize],null==t.strides)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(3!==t.strides.length)throw new Jm(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides,t.strides];gg(this.poolSize,"poolSize"),gg(this.strides,"strides"),this.padding=null==t.padding?"valid":t.padding,this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,zg(this.dataFormat),Bg(this.padding),this.inputSpec=[new ux({ndim:5})]}computeOutputShape(t){t=sx(t);let e="channelsFirst"===this.dataFormat?t[2]:t[1],n="channelsFirst"===this.dataFormat?t[3]:t[2],r="channelsFirst"===this.dataFormat?t[4]:t[3];return e=yv(e,this.poolSize[0],this.padding,this.strides[0]),n=yv(n,this.poolSize[1],this.padding,this.strides[1]),r=yv(r,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[t[0],t[1],e,n,r]:[t[0],e,n,r,t[4]]}call(t,e){return Ko((()=>(this.invokeCallHook(t,e),this.poolingFunction(rx(t),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}class Nw extends Cw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return zg(s),Bg(r),Sw(t,e,n,r,s,"max")}}Nw.className="MaxPooling3D",Io(Nw);class Aw extends Cw{constructor(t){super(t)}poolingFunction(t,e,n,r,s){return zg(s),Bg(r),Sw(t,e,n,r,s,"avg")}}Aw.className="AveragePooling3D",Io(Aw);class Rw extends fx{constructor(t){super(t),this.inputSpec=[new ux({ndim:3})]}computeOutputShape(t){return[t[0],t[2]]}call(t,e){throw new Zm}}class Dw extends Rw{constructor(t){super(t||{})}call(t,e){return Ko((()=>{const e=rx(t);return Uc(e,1)}))}}Dw.className="GlobalAveragePooling1D",Io(Dw);class Lw extends Rw{constructor(t){super(t||{})}call(t,e){return Ko((()=>{const e=rx(t);return Sc(e,1)}))}}Lw.className="GlobalMaxPooling1D",Io(Lw);class Fw extends fx{constructor(t){super(t),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,zg(this.dataFormat),this.inputSpec=[new ux({ndim:4})]}computeOutputShape(t){return"channelsLast"===this.dataFormat?[t[0],t[3]]:[t[0],t[1]]}call(t,e){throw new Zm}getConfig(){const t={dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}}class $w extends Fw{call(t,e){return Ko((()=>{const e=rx(t);return"channelsLast"===this.dataFormat?Uc(e,[1,2]):Uc(e,[2,3])}))}}$w.className="GlobalAveragePooling2D",Io($w);class Ow extends Fw{call(t,e){return Ko((()=>{const e=rx(t);return"channelsLast"===this.dataFormat?Sc(e,[1,2]):Sc(e,[2,3])}))}}Ow.className="GlobalMaxPooling2D",Io(Ow);class Pw extends fx{constructor(t){super(t),this.layer=t.layer}build(t){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(t){null!=this.layer&&(this.layer.trainable=t)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(t){this.layer.setWeights(t)}getConfig(){const t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},e=super.getConfig();return Object.assign(t,e),t}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(t)}static fromConfig(t,e,n={}){const r=Cx(e.layer,n);delete e.layer;const s={layer:r};return Object.assign(s,e),new t(s)}}class zw extends Pw{constructor(t){super(t),this.supportsMasking=!0}build(t){if((t=sx(t)).length<3)throw new Jm(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(t)}`);this.inputSpec=[{shape:t}];const e=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(e),this.layer.built=!0),super.build(t)}computeOutputShape(t){const e=[(t=sx(t))[0]].concat(t.slice(2)),n=this.layer.computeOutputShape(e),r=t[1];return[n[0],r].concat(n.slice(1))}call(t,e){return Ko((()=>Fv(((t,n)=>[rx(this.layer.call(t,e)),[]]),t=rx(t),[],!1,null,null,!1,!0)[1]))}}zw.className="TimeDistributed",Io(zw);class Bw extends Pw{constructor(t){super(t);const e=t.layer.getConfig(),n={};n.className=t.layer.getClassName(),n.config=e,this.forwardLayer=Cx(n),e.goBackwards=!0!==e.goBackwards;const r={};var s;if(r.className=t.layer.getClassName(),r.config=e,this.backwardLayer=Cx(r),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===t.mergeMode?"concat":t.mergeMode,s=this.mergeMode,fg(Og,"BidirectionalMergeMode",s),t.weights)throw new Zm("weights support is not implemented for Bidirectional layer yet.");this._stateful=t.layer.stateful,this.returnSequences=t.layer.returnSequences,this.returnState=t.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=t.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(t){this._trainable=t,null!=this.forwardLayer&&(this.forwardLayer.trainable=t),null!=this.backwardLayer&&(this.backwardLayer.trainable=t)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(t){const e=t.length,n=Math.floor(e/2);this.forwardLayer.setWeights(t.slice(0,n)),this.backwardLayer.setWeights(t.slice(n))}computeOutputShape(t){let e,n,r,s=this.forwardLayer.computeOutputShape(t);return Array.isArray(s)&&Array.isArray(s[0])||(s=[s]),this.returnState?(r=s.slice(1),e=s[0]):e=s[0],"concat"===this.mergeMode?(e[e.length-1]*=2,n=[e]):n=null==this.mergeMode?[e,e.slice()]:[e],this.returnState?null==this.mergeMode?n.concat(r).concat(r.slice()):[e].concat(r).concat(r.slice()):rg(n)}apply(t,e){let n=null==e?null:e.initialState,r=null==e?null:e.constants;null==e&&(e={});const s=Lv(t,n,r,this.numConstants);if(t=s.inputs,n=s.initialState,r=s.constants,Array.isArray(t)&&(n=t.slice(1),t=t[0]),(null==n||0===n.length)&&null==r)return super.apply(t,e);const i=[],a=[];if(null!=n){const t=n.length;if(t%2>0)throw new Jm("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");e.initialState=n,i.push(...n);const r=n.map((t=>new ux({shape:t.shape})));this.forwardLayer.stateSpec=r.slice(0,t/2),this.backwardLayer.stateSpec=r.slice(t/2),a.push(...r)}if(null!=r)throw new Zm("Support for constants in Bidirectional layers is not implemented yet.");const o=i[0]instanceof cx;for(const t of i)if(t instanceof cx!==o)throw new Jm("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(o){const n=[t].concat(i),r=this.inputSpec.concat(a),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,e);return this.inputSpec=s,o}return super.apply(t,e)}call(t,e){return Ko((()=>{const n=e.initialState;let r,s,i,a;if(null==n)r=this.forwardLayer.call(t,e),s=this.backwardLayer.call(t,e);else{const i=n.slice(0,n.length/2),a=n.slice(n.length/2);r=this.forwardLayer.call(t,Object.assign(e,{initialState:i})),s=this.backwardLayer.call(t,Object.assign(e,{initialState:a}))}return this.returnState&&(Array.isArray(r)&&(i=r.slice(1).concat(s.slice(1))),r=r[0],s=s[0]),this.returnSequences&&(s=Th(s,1)),"concat"===this.mergeMode?a=ry([r,s]):"sum"===this.mergeMode?a=ll(r,s):"ave"===this.mergeMode?a=hl(.5,ll(r,s)):"mul"===this.mergeMode?a=hl(r,s):null==this.mergeMode&&(a=[r,s]),this.returnState?null==this.mergeMode?a.concat(i):[a].concat(i):a}))}resetStates(t){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(t){Wg(this.forwardLayer.name,(()=>{this.forwardLayer.build(t)})),Wg(this.backwardLayer.name,(()=>{this.backwardLayer.build(t)})),this.built=!0}computeMask(t,e){let n;if(Array.isArray(e)&&(e=e[0]),n=this.returnSequences?null==this.mergeMode?[e,e]:e:null==this.mergeMode?[null,null]:null,this.returnState){const t=this.forwardLayer.states.map((t=>null));return Array.isArray(n)?n.concat(t).concat(t):[n].concat(t).concat(t)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(t),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(t)}getConfig(){const t={mergeMode:this.mergeMode},e=super.getConfig();return Object.assign(t,e),t}static fromConfig(t,e){const n=Cx(e.layer);if(delete e.layer,null!=e.numConstants)throw new Zm("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const r=e;return r.layer=n,new t(r)}}function Uw(t){return new gx(t)}function Vw(t){return new pv(t)}function Ww(t){return new cv(t)}function Hw(t){return new hv(t)}function Gw(t){return new dv(t)}function jw(t){return new mv(t)}function qw(t){return new fv(t)}function Xw(t){return new Nv(t)}function Kw(t){return new _v(t)}function Yw(t){return new kv(t)}function Jw(t){return new Mv(t)}function Zw(t){return new Ev(t)}function Qw(t){return new Cv(t)}function tS(t){return new Av(t)}function eS(t){return new Rv(t)}function nS(t){return new Dv(t)}function rS(t){return new Qv(t)}function sS(t){return new Jv(t)}function iS(t){return new Kv(t)}function aS(t){return new Yv(t)}function oS(t){return new Zv(t)}function lS(t){return new tw(t)}function uS(t){return new ew(t)}function cS(t){return new nw(t)}function hS(t){return new sw(t)}function dS(t){return new aw(t)}function pS(t){return new lw(t)}function fS(t){return new hw(t)}function mS(t){return new uw(t)}function gS(t){return new cw(t)}function yS(t){return new ow(t)}function xS(t){return new pw(t)}function bS(t){return new xw(t)}function vS(t){return new bw(t)}function wS(t){return new vw(t)}function SS(t){return new Mw(t)}function TS(t){return SS(t)}function _S(t){return SS(t)}function MS(t){return new Iw(t)}function kS(t){return MS(t)}function ES(t){return MS(t)}function IS(t){return new Aw(t)}function CS(t){return IS(t)}function NS(t){return IS(t)}function AS(t){return new Dw(t)}function RS(t){return new $w(t)}function DS(t){return new Lw(t)}function LS(t){return new Ow(t)}function FS(t){return new _w(t)}function $S(t){return new Ew(t)}function OS(t){return new Nw(t)}function PS(t){return new Uv(t)}function zS(t){return new Bv(t)}function BS(t){return new Wv(t)}function US(t){return new Vv(t)}function VS(t){return new zv(t)}function WS(t){return new Pv(t)}function HS(t){return new Xv(t)}function GS(t){return new qv(t)}function jS(t){return new $v(t)}function qS(t){return new Hv(t)}function XS(t){return new Bw(t)}function KS(t){return new zw(t)}Bw.className="Bidirectional",Io(Bw);const YS=DS,JS=LS,ZS=FS,QS=$S;function tT(t){return new fw(t)}function eT(t){return new mw(t)}function nT(t){return new gw(t)}function rT(t){return new rw(t)}function sT(t,e){return Bx(t,e)}function iT(t,e){return Hx(t,e)}function aT(t,e){return Gx(t,e)}function oT(t,e){return Ux(t,e)}function lT(t,e){return jx(t,e)}function uT(t,e){return Wx(t,e)}function cT(t,e){return function(t,e){return Ko((()=>{const n=Vx(t,e),r=function(t,e){return Ko((()=>Ma(Tc(Lc(ju(t,1),ju(e,0))),"float32")))}(t,e),s=ll(n,r);return Ma(qu(ac(s,0),cl(n,s),0),"float32")}))}(t,e)}function hT(t,e){return Ox(t,e)}function dT(t,e){return Rx(t,e)}function pT(t,e){return Dx(t,e)}function fT(t,e){return Dx(t,e)}function mT(t,e){return Dx(t,e)}function gT(t,e){return Ax(t,e)}function yT(t,e){return Ax(t,e)}function xT(t,e){return Ax(t,e)}function bT(t){return new iv(t)}function vT(t){return rv(e=t),new iv({l1:null!=e?e.l1:null,l2:0});var e}function wT(t){return rv(e=t),new iv({l2:null!=e?e.l2:null,l1:0});var e}class ST extends wx{constructor(){super(...arguments),this.model=null}setModel(t){if(!(t instanceof Nb))throw new Error("model must be a LayersModel, not some other Container");this.model=t}}function TT(t,e){return te}class MT extends ST{constructor(t){if(super(),null==t&&(t={}),t.restoreBestWeights)throw new Zm("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=t.monitor||"val_loss",this.minDelta=Math.abs(t.minDelta||0),this.patience=t.patience||0,this.verbose=t.verbose||0,this.mode=t.mode||"auto",this.baseline=t.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=TT:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=_T:this.monitorFunc=TT,this.monitorFunc===TT&&(this.minDelta*=-1)}async onTrainBegin(t){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===TT?1/0:-1/0}async onEpochEnd(t,e){await xx(e);const n=this.getMonitorValue(e);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=t,this.model.stopTraining=!0)))}async onTrainEnd(t){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(t){null==t&&(t={});const e=t[this.monitor];return null==e&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(t)}`),e}}const kT={earlyStopping:function(t){return new MT(t)}};var ET,IT;Gt().registerFlag("KEEP_INTERMEDIATE_TENSORS",(()=>!1),(t=>{t&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")})),function(t){t[t.DT_INVALID=0]="DT_INVALID",t[t.DT_FLOAT=1]="DT_FLOAT",t[t.DT_DOUBLE=2]="DT_DOUBLE",t[t.DT_INT32=3]="DT_INT32",t[t.DT_UINT8=4]="DT_UINT8",t[t.DT_INT16=5]="DT_INT16",t[t.DT_INT8=6]="DT_INT8",t[t.DT_STRING=7]="DT_STRING",t[t.DT_COMPLEX64=8]="DT_COMPLEX64",t[t.DT_INT64=9]="DT_INT64",t[t.DT_BOOL=10]="DT_BOOL",t[t.DT_QINT8=11]="DT_QINT8",t[t.DT_QUINT8=12]="DT_QUINT8",t[t.DT_QINT32=13]="DT_QINT32",t[t.DT_BFLOAT16=14]="DT_BFLOAT16",t[t.DT_QINT16=15]="DT_QINT16",t[t.DT_QUINT16=16]="DT_QUINT16",t[t.DT_UINT16=17]="DT_UINT16",t[t.DT_COMPLEX128=18]="DT_COMPLEX128",t[t.DT_HALF=19]="DT_HALF",t[t.DT_RESOURCE=20]="DT_RESOURCE",t[t.DT_VARIANT=21]="DT_VARIANT",t[t.DT_UINT32=22]="DT_UINT32",t[t.DT_UINT64=23]="DT_UINT64",t[t.DT_FLOAT_REF=101]="DT_FLOAT_REF",t[t.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",t[t.DT_INT32_REF=103]="DT_INT32_REF",t[t.DT_UINT8_REF=104]="DT_UINT8_REF",t[t.DT_INT16_REF=105]="DT_INT16_REF",t[t.DT_INT8_REF=106]="DT_INT8_REF",t[t.DT_STRING_REF=107]="DT_STRING_REF",t[t.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",t[t.DT_INT64_REF=109]="DT_INT64_REF",t[t.DT_BOOL_REF=110]="DT_BOOL_REF",t[t.DT_QINT8_REF=111]="DT_QINT8_REF",t[t.DT_QUINT8_REF=112]="DT_QUINT8_REF",t[t.DT_QINT32_REF=113]="DT_QINT32_REF",t[t.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",t[t.DT_QINT16_REF=115]="DT_QINT16_REF",t[t.DT_QUINT16_REF=116]="DT_QUINT16_REF",t[t.DT_UINT16_REF=117]="DT_UINT16_REF",t[t.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",t[t.DT_HALF_REF=119]="DT_HALF_REF",t[t.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",t[t.DT_VARIANT_REF=121]="DT_VARIANT_REF",t[t.DT_UINT32_REF=122]="DT_UINT32_REF",t[t.DT_UINT64_REF=123]="DT_UINT64_REF"}(ET||(ET={})),function(t){let e;!function(t){t[t.LEGACY=0]="LEGACY",t[t.V1=1]="V1",t[t.V2=2]="V2"}(e=t.CheckpointFormatVersion||(t.CheckpointFormatVersion={}))}(IT||(IT={}));const CT={};function NT(t,e){const n={tfOpName:t,category:"custom",inputs:[],attrs:[],customExecutor:e};CT[t]=n}function AT(t){return CT[t]}function RT(t){delete CT[t]}function DT(t,e,n,r,s){const i=e.inputParams[t];if(i&&void 0!==i.inputIndexStart){const t=i.inputIndexStart,a=0===i.inputIndexEnd?void 0:void 0===i.inputIndexEnd?t+1:i.inputIndexEnd;if("tensor"===i.type)return LT(e.inputNames[i.inputIndexStart],n,r,s);if("tensors"===i.type)return e.inputNames.slice(t,a).map((t=>LT(t,n,r,s)));const o=LT(e.inputNames.slice(t)[0],n,r,s),l=o.dataSync();return"number"===i.type?l[0]:Ft(o.shape,l)}const a=e.attrParams[t];return a&&a.value}function LT(t,e,n,r){const[s,i]=OT(t);if(null!=r){const t=r.getHashTableHandleByName(s);if(null!=t)return t}const a=n.currentContextIds.find((t=>!!e[$T(s,t)]));return void 0!==a?e[$T(s,a)][i]:void 0}function FT(t,e){const[n,r,s]=OT(t);return[$T(n,e&&e.currentContextId),r,s]}function $T(t,e){return e?`${t}-${e}`:t}function OT(t){const e=t.split(":");if(1===e.length)return[t,0,void 0];const n=e[0],r=3===e.length?e[1]:void 0;return[n,Number(e[e.length-1]),r]}function PT(t,e,n){let r=DT("pad",t,e,n);if("explicit"===r){r=DT("explicitPaddings",t,e,n);const s=[[0,0],[0,0],[0,0],[0,0]];for(let t=0;t<4;t++)s[t][0]=r[2*t],s[t][1]=r[2*t+1];return s}return r}function zT(t){return t.kept?t:ka(t)}const BT=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],UT=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Prod",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axes",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],VT=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]}],WT=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number"}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],HT=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],GT=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],jT=[{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],qT=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],XT=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]}],KT=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]}],YT=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],JT=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]}],ZT=[{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"SparseToDense",category:"normalization",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!0,notSupported:!0}]}],QT=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],t_=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]}],e_=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],n_=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],r_=[{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],s_=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}];class i_{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const t=[].concat(...[M,k,E,I,C,N,A,R,D,L,F,$,O,P,z,B,U,V,W].map((t=>t.json)));this.opMappers=t.reduce(((t,e)=>(t[e.tfOpName]=e,t)),{})}transformGraph(t,e={}){const n=t.node,r=[],s=[],i=[],a=n.reduce(((t,e)=>(t[e.name]=this.mapNode(e),e.op.startsWith("Placeholder")?r.push(t[e.name]):"Const"===e.op?s.push(t[e.name]):null!=e.input&&0!==e.input.length||i.push(t[e.name]),t)),{});let o=[];const l=[];let u={},c={};null!=e&&(u=this.mapSignatureEntries(e.inputs),c=this.mapSignatureEntries(e.outputs));const h=Object.keys(a);h.forEach((t=>{const e=a[t];e.inputNames.forEach(((t,n)=>{const[r,,s]=FT(t),i=a[r];if(null!=i.outputs){const t=i.outputs.indexOf(s);if(-1!==t){const s=`${r}:${t}`;e.inputNames[n]=s}}e.inputs.push(i),i.children.push(e)}))})),0===Object.keys(c).length?h.forEach((t=>{const e=a[t];0===e.children.length&&l.push(e)})):Object.keys(c).forEach((t=>{const[e]=FT(t),n=a[e];null!=n&&(n.signatureKey=c[t],l.push(n))})),Object.keys(u).length>0?Object.keys(u).forEach((t=>{const[e]=FT(t),n=a[e];n&&(n.signatureKey=u[t],o.push(n))})):o=r;let d={};null!=t.library&&null!=t.library.function&&(d=t.library.function.reduce(((t,e)=>(t[e.signature.name]=this.mapFunction(e),t)),{}));const p={nodes:a,inputs:o,outputs:l,weights:s,placeholders:r,signature:e,functions:d};return i.length>0&&(p.initNodes=i),p}mapSignatureEntries(t){return Object.keys(t||{}).reduce(((e,n)=>(e[t[n].name]=n,e)),{})}mapNode(t){const e=AT(t.op)||this.opMappers[t.op]||{};null==t.attr&&(t.attr={});const n={name:t.name,op:t.op,category:e.category,inputNames:(t.input||[]).map((t=>t.startsWith("^")?t.substr(1):t)),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:t.attr,outputs:e.outputs};return null!=e.inputs&&(n.inputParams=e.inputs.reduce(((t,e)=>(t[e.name]={type:e.type,inputIndexStart:e.start,inputIndexEnd:e.end},t)),{})),null!=e.attrs&&(n.attrParams=e.attrs.reduce(((e,n)=>{const r=n.type;let s;switch(n.type){case"string":s=o_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=o_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":s=y_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=y_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":s=u_(t.attr,n.tfName,n.defaultValue||0),void 0===s&&n.tfDeprecatedName&&(s=u_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":s=g_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=g_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":s=l_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=l_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":s=b_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=b_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":s=m_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=m_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":s=x_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=x_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":s=d_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=d_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":s=p_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=p_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":s=h_(t.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=h_(t.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${t.op}`)}return e[n.name]={value:s,type:r},e}),{})),n}mapFunction(t){const e=t.nodeDef,n=[];let r={};null!=e&&(r=e.reduce(((t,e)=>(t[e.name]=this.mapNode(e),"Const"===e.op&&n.push(t[e.name]),t)),{}));const s=[],i=[];t.signature.inputArg.forEach((t=>{const[e]=FT(t.name),n={name:e,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:c_(t.type),type:"dtype"}},children:[]};n.signatureKey=t.name,s.push(n),r[e]=n})),Object.keys(r).forEach((t=>{const e=r[t];e.inputNames.forEach(((t,n)=>{const[s,,i]=FT(t),a=r[s];if(null!=a.outputs){const t=a.outputs.indexOf(i);if(-1!==t){const r=`${s}:${t}`;e.inputNames[n]=r}}e.inputs.push(a),a.children.push(e)}))}));const a=t.ret;t.signature.outputArg.forEach((t=>{const[e,n]=FT(a[t.name]),s=r[e];null!=s&&(s.defaultOutput=n,i.push(s))}));const o=this.mapArgsToSignature(t);return{nodes:r,inputs:s,outputs:i,weights:n,placeholders:[],signature:o}}mapArgsToSignature(t){return{methodName:t.signature.name,inputs:t.signature.inputArg.reduce(((t,e)=>(t[e.name]=this.mapArgToTensorInfo(e),t)),{}),outputs:t.signature.outputArg.reduce(((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n,t.ret),e)),{})}}mapArgToTensorInfo(t,e){let n=t.name;return null!=e&&(n=e[n]),{name:n,dtype:t.type}}}function a_(t,e){const n=Array.isArray(t)?String.fromCharCode.apply(null,t):function(t){const e=Gt().global;if(void 0!==e.atob)return e.atob(t);if("undefined"!=typeof Buffer)return new Buffer(t,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(t);return e?n:n.toLowerCase()}function o_(t,e,n,r=!1){const s=t[e];return null!=s?a_(s.s,r):n}function l_(t,e,n){const r=t[e];return r?r.b:n}function u_(t,e,n){const r=t[e]||{},s=null!=r.i?r.i:null!=r.f?r.f:n;return"number"==typeof s?s:parseInt(s,10)}function c_(t){switch("string"==typeof t&&(t=ET[t]),t){case ET.DT_FLOAT:case ET.DT_HALF:return"float32";case ET.DT_INT32:case ET.DT_INT64:case ET.DT_INT8:case ET.DT_UINT8:return"int32";case ET.DT_BOOL:return"bool";case ET.DT_DOUBLE:return"float32";case ET.DT_STRING:return"string";default:return null}}function h_(t,e,n){const r=t[e];return r&&r.func?r.func.name:n}function d_(t,e,n){const r=t[e];return r&&r.type?c_(r.type):n}function p_(t,e,n){const r=t[e];return r&&r.list&&r.list.type?r.list.type.map((t=>c_(t))):n}function f_(t){if(!t.unknownRank)return null!=t.dim?t.dim.map((t=>"number"==typeof t.size?t.size:parseInt(t.size,10))):[]}function m_(t,e,n){const r=t[e];return r&&r.shape?f_(r.shape):n}function g_(t,e,n){const r=t[e];return r?((r.list.f&&r.list.f.length?r.list.f:r.list.i)||[]).map((t=>"number"==typeof t?t:parseInt(t,10))):n}function y_(t,e,n,r=!1){const s=t[e];return s&&s.list&&s.list.s?s.list.s.map((t=>a_(t,r))):n}function x_(t,e,n){const r=t[e];return r&&r.list&&r.list.shape?r.list.shape.map((t=>f_(t))):n}function b_(t,e,n){const r=t[e];return r&&r.list&&r.list.b?r.list.b:n}class v_{constructor(t,e,n){this.node=t,this.tensorMap=e,this.context=n,this.inputs=[],this.attrs={},this.inputs=t.inputNames.map((t=>this.getInput(t))),null!=t.rawAttrs&&(this.attrs=Object.keys(t.rawAttrs).reduce(((t,e)=>(t[e]=this.getAttr(e),t)),{}))}getInput(t){return LT(t,this.tensorMap,this.context)}getAttr(t,e){const n=this.node.rawAttrs[t];if(null!=n.tensor)return LT(t,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return u_(this.node.rawAttrs,t,e);if(null!=n.s)return o_(this.node.rawAttrs,t,e);if(null!=n.b)return l_(this.node.rawAttrs,t,e);if(null!=n.shape)return m_(this.node.rawAttrs,t,e);if(null!=n.type)return d_(this.node.rawAttrs,t,e);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return g_(this.node.rawAttrs,t,e);if(null!=n.list.s)return y_(this.node.rawAttrs,t,e);if(null!=n.list.shape)return x_(this.node.rawAttrs,t,e);if(null!=n.list.b)return b_(this.node.rawAttrs,t,e);if(null!=n.list.type)return p_(this.node.rawAttrs,t,e)}return e}}function w_(t,e,n=""){if("number"!=typeof t&&"number"!=typeof e){rt(t.length===e.length,(()=>n+` Shapes ${t} and ${e} must match`));for(let r=0;rn+` Shapes ${t} and ${e} must match`))}}}function S_(t){return"number"!=typeof t&&!t.some((t=>t<0))}function T_(t,e,n){let r=__(t,n);const s=!S_(r);if(s&&0===e.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${r}`);if(s&&e.forEach((t=>{r=__(t.shape,r)})),!S_(r))throw new Error(`Non-fully-defined elementShape: ${r}`);return r}function __(t,e){if("number"==typeof t)return e;if("number"==typeof e)return t;if(t.length!==e.length)throw new Error(`Incompatible ranks during merge: ${t} vs. ${e}`);const n=[];for(let r=0;r=0&&i>=0&&s!==i)throw new Error(`Incompatible shape during merge: ${t} vs. ${e}`);n[r]=s>=0?s:i}return n}class M_{constructor(t,e,n,r,s,i,a){this.name=t,this.dtype=e,this.maxSize=n,this.elementShape=r,this.identicalElementShapes=s,this.dynamicSize=i,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.idTensor=Sl(0),Jo(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(t){this.tensors.forEach((e=>{null!=t&&t.has(e.tensor.id)||e.tensor.dispose()})),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||t>=this.size())throw new Error(`Tried to read from index ${t}, but array size is: ${this.size()}`);const e=this.tensors[t];if(e.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${t} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(e.cleared=!0),e.read=!0,e.tensor}readMany(t){return t.map((t=>this.read(t)))}write(t,e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||!this.dynamicSize&&t>=this.maxSize)throw new Error(`Tried to write to index ${t}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[t]||{};if(e.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t},\n because the value dtype is ${e.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=e.shape),w_(this.elementShape,e.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${t}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been written.`);n.tensor=e,Jo(e),n.written=!0,this.tensors[t]=n}writeMany(t,e){if(t.length!==e.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${t.length} is not the same as tensors size: ${e.length}.`);t.forEach(((t,n)=>this.write(t,e[n])))}gather(t,e){if(e&&e!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${e}`);if(t)t=t.slice(0,this.size());else{t=[];for(let e=0;e=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(t,od(e,0))}split(t,e){if(e.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${e.dtype}`);let n=0;const r=t.map((t=>(n+=t,n)));if(n!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${e.shape}`);if(!this.dynamicSize&&t.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${t.length}), and the TensorArray is not marked as dynamically resizeable`);const s=0===n?0:e.size/n,i=[];Ko((()=>{e=uu(e,[1,n,s]);for(let n=0;n{if(n!==t.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${t.dtype}`);w_(e,t.shape,"TensorList shape mismatch: "),Jo(t)})),this.idTensor=Sl(0),this.maxNumElements=r,Jo(this.idTensor)}get id(){return this.idTensor.id}copy(){return new k_([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(t){this.tensors.forEach((e=>{null!=t&&t.has(e.id)||e.dispose()})),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(t,e,n=-1){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);w_(t,this.elementShape,"TensorList shape mismatch: ");const r=T_(this.elementShape,this.tensors,t);return Ko((()=>{const t=this.tensors.map((t=>uu(t,r)));return Xh(t,0)}))}popBack(t,e){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=T_(this.elementShape,this.tensors,t),r=this.tensors.pop();return w_(r.shape,t,"TensorList shape mismatch: "),uu(r,n)}pushBack(t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(w_(t.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");Jo(t),this.tensors.push(t)}resize(t){if(t<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${t}`);if(-1!==this.maxNumElements&&t>this.maxNumElements)throw new Error(`TensorListResize input size ${t} is greater maxNumElement ${this.maxNumElements}.`);this.tensors.length=t}getItem(t,e,n){if(n!==this.elementDtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${this.elementDtype}`);if(t<0||t>this.tensors.length)throw new Error(`Trying to access element ${t} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[t])throw new Error(`element at index ${t} is null.`);w_(this.tensors[t].shape,e,"TensorList shape mismatch: ");const r=T_(this.elementShape,this.tensors,e);return uu(this.tensors[t],r)}setItem(t,e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(t<0||-1!==this.maxNumElements&&t>=this.maxNumElements)throw new Error(`Trying to set element ${t} in a list with max ${this.maxNumElements} elements.`);w_(this.elementShape,e.shape,"TensorList shape mismatch: "),Jo(e),this.tensors[t]=e}gather(t,e,n){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);w_(this.elementShape,n,"TensorList shape mismatch: "),t=t.slice(0,this.size());const r=T_(this.elementShape,this.tensors,n);return 0===t.length?Ci([],[0].concat(r)):Ko((()=>{const e=t.map((t=>uu(this.tensors[t],r)));return Xh(e,0)}))}concat(t,e){if(t&&t!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${t}`);w_(this.elementShape,e,"TensorList shape mismatch: ");const n=T_(this.elementShape,this.tensors,e);return 0===this.size()?Ci([],[0].concat(n)):Ko((()=>{const t=this.tensors.map((t=>uu(t,n)));return du(t,0)}))}}function E_(t,e,n){const[r,s]=DT("fusedOps",t,e,n),i="biasadd"===r,a=!i,o="prelu"===s,l="fusedbatchnorm"===r,u=DT("numArgs",t,e,n);if(i){if(o&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!o&&i&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=DT("strides",t,e,n),h=PT(t,e,n),d=DT("dataFormat",t,e,n).toUpperCase(),p=DT("dilations",t,e,n);let[f,m]=DT("args",t,e,n);return a&&(m=f,f=void 0),{stride:c,pad:h,dataFormat:d,dilations:p,biasArg:f,preluArg:m,activationFunc:s,leakyreluAlpha:DT("leakyreluAlpha",t,e,n)}}function I_(t,e,n){return{boxes:DT("boxes",t,e,n),scores:DT("scores",t,e,n),maxOutputSize:DT("maxOutputSize",t,e,n),iouThreshold:DT("iouThreshold",t,e,n),scoreThreshold:DT("scoreThreshold",t,e,n),softNmsSigma:DT("softNmsSigma",t,e,n)}}class C_{constructor(t,e){this.keyDType=t,this.valueDType=e,this.handle=Sl(0),this.tensorMap=new Map,Jo(this.handle)}get id(){return this.handle.id}clearAndClose(){this.tensorMap.forEach((t=>t.dispose())),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return Sl(this.size(),"int32")}async import(t,e){this.checkKeyAndValueTensor(t,e);const n=await t.data();return this.tensorMap.forEach((t=>t.dispose())),this.tensorMap.clear(),Ko((()=>{const t=od(e),r=n.length,s=t.length;rt(r===s,(()=>`The number of elements doesn't match, keys has ${r} elements, the values has ${s} elements.`));for(let e=0;e{const t=[];for(let r=0;r{switch(t.category){case"arithmetic":return Ko((()=>((t,e,n)=>{switch(t.op){case"BiasAdd":case"AddV2":case"Add":return[ll(DT("a",t,e,n),DT("b",t,e,n))];case"AddN":return[zl(DT("tensors",t,e,n))];case"FloorMod":case"Mod":return[Xc(DT("a",t,e,n),DT("b",t,e,n))];case"Mul":return[hl(DT("a",t,e,n),DT("b",t,e,n))];case"RealDiv":case"Div":return[cl(DT("a",t,e,n),DT("b",t,e,n))];case"DivNoNan":return[Xu(DT("a",t,e,n),DT("b",t,e,n))];case"FloorDiv":return[ul(DT("a",t,e,n),DT("b",t,e,n))];case"Sub":return[Il(DT("a",t,e,n),DT("b",t,e,n))];case"Minimum":return[jc(DT("a",t,e,n),DT("b",t,e,n))];case"Maximum":return[Al(DT("a",t,e,n),DT("b",t,e,n))];case"Pow":return[El(DT("a",t,e,n),DT("b",t,e,n))];case"SquaredDifference":return[jh(DT("a",t,e,n),DT("b",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"basic_math":return Ko((()=>((t,e,n)=>{switch(t.op){case"Abs":case"ComplexAbs":return[Nl(DT("x",t,e,n))];case"Acos":return[Ol(DT("x",t,e,n))];case"Acosh":return[Pl(DT("x",t,e,n))];case"Asin":return[Hl(DT("x",t,e,n))];case"Asinh":return[Gl(DT("x",t,e,n))];case"Atan":return[jl(DT("x",t,e,n))];case"Atan2":return[ql(DT("x",t,e,n),DT("y",t,e,n))];case"Atanh":return[Xl(DT("x",t,e,n))];case"Ceil":return[Mu(DT("x",t,e,n))];case"Complex":return[Ei(DT("real",t,e,n),DT("imag",t,e,n))];case"Cos":return[Pu(DT("x",t,e,n))];case"Cosh":return[zu(DT("x",t,e,n))];case"Elu":return[Ju(DT("x",t,e,n))];case"Erf":return[Zu(DT("x",t,e,n))];case"Exp":return[Qu(DT("x",t,e,n))];case"Expm1":return[ec(DT("x",t,e,n))];case"Floor":return[sc(DT("x",t,e,n))];case"Log":return[yc(DT("x",t,e,n))];case"Log1p":return[xc(DT("x",t,e,n))];case"Imag":return[lc(DT("x",t,e,n))];case"Neg":return[bc(DT("x",t,e,n))];case"Reciprocal":return[vh(DT("x",t,e,n))];case"Real":return[bh(DT("x",t,e,n))];case"Relu":return[wh(DT("x",t,e,n))];case"Round":return[Ih(DT("x",t,e,n))];case"Selu":return[Nh(DT("x",t,e,n))];case"Sigmoid":return[pu(DT("x",t,e,n))];case"Sin":return[Lh(DT("x",t,e,n))];case"Sign":return[Dh(DT("x",t,e,n))];case"Sinh":return[Fh(DT("x",t,e,n))];case"Softplus":return[vc(DT("x",t,e,n))];case"Sqrt":return[dl(DT("x",t,e,n))];case"Square":return[pl(DT("x",t,e,n))];case"Tanh":return[mu(DT("x",t,e,n))];case"Tan":return[Jh(DT("x",t,e,n))];case"ClipByValue":return[ku(DT("x",t,e,n),DT("clipValueMin",t,e,n),DT("clipValueMax",t,e,n))];case"Relu6":return[Sh(DT("x",t,e,n))];case"Rsqrt":return[Ch(LT(t.inputNames[0],e,n))];case"Prod":return[uh(DT("x",t,e,n),DT("axes",t,e,n))];case"LeakyRelu":return[dc(DT("x",t,e,n),DT("alpha",t,e,n))];case"Prelu":return[lh(DT("x",t,e,n),DT("alpha",t,e,n))];case"IsNan":return[hc(LT(t.inputNames[0],e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"control":return(async(t,e,n)=>{switch(t.op){case"If":case"StatelessIf":{const r=DT("thenBranch",t,e,n),s=DT("elseBranch",t,e,n),i=DT("cond",t,e,n),a=DT("args",t,e,n);return(await i.data())[0]?n.functionMap[r].executeFunctionAsync(a,n.tensorArrayMap,n.tensorListMap):n.functionMap[s].executeFunctionAsync(a,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const r=DT("body",t,e,n),s=DT("cond",t,e,n),i=DT("args",t,e,n),a=await n.functionMap[s].executeFunctionAsync(i,n.tensorArrayMap,n.tensorListMap),o=i.map((t=>t.id));let l=await a[0].data();a.forEach((t=>{t.kept||-1!==o.indexOf(t.id)||t.dispose()}));let u=i;for(;l[0];){const t=u;u=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const e=u.map((t=>t.id));t.forEach((t=>{t.kept||-1!==o.indexOf(t.id)||-1!==e.indexOf(t.id)||t.dispose()}));const i=await n.functionMap[s].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await i[0].data(),i.forEach((t=>{t.kept||-1!==o.indexOf(t.id)||-1!==e.indexOf(t.id)||t.dispose()}))}return u}case"LoopCond":return[zT(DT("pred",t,e,n))];case"Switch":{const r=DT("pred",t,e,n);let s=DT("data",t,e,n);return s.kept||(s=zT(s)),(await r.data())[0]?[void 0,s]:[s,void 0]}case"Merge":{const r=t.inputNames.find((t=>void 0!==LT(t,e,n)));return r?[zT(LT(r,e,n))]:void 0}case"Enter":{const r=DT("frameName",t,e,n),s=DT("tensor",t,e,n);return n.enterFrame(r),[zT(s)]}case"Exit":{const r=DT("tensor",t,e,n);return n.exitFrame(),[zT(r)]}case"NextIteration":{const r=DT("tensor",t,e,n);return n.nextIteration(),[zT(r)]}case"TensorArrayV3":{const r=DT("size",t,e,n),s=DT("dtype",t,e,n),i=DT("elementShape",t,e,n),a=DT("dynamicSize",t,e,n),o=DT("clearAfterRead",t,e,n),l=DT("identicalElementShapes",t,e,n),u=DT("name",t,e,n),c=new M_(u,s,r,i,l,a,o);return n.addTensorArray(c),[c.idTensor,Sl(1)]}case"TensorArrayWriteV3":{const r=DT("tensorArrayId",t,e,n),s=DT("index",t,e,n),i=DT("tensor",t,e,n),a=n.getTensorArray(r.id);return a.write(s,i),[a.idTensor]}case"TensorArrayReadV3":{const r=DT("tensorArrayId",t,e,n),s=DT("index",t,e,n);return[n.getTensorArray(r.id).read(s)]}case"TensorArrayGatherV3":{const r=DT("tensorArrayId",t,e,n),s=DT("indices",t,e,n),i=DT("dtype",t,e,n);return[n.getTensorArray(r.id).gather(s,i)]}case"TensorArrayScatterV3":{const r=DT("tensorArrayId",t,e,n),s=DT("indices",t,e,n),i=DT("tensor",t,e,n),a=n.getTensorArray(r.id);return a.scatter(s,i),[a.idTensor]}case"TensorArrayConcatV3":{const r=DT("tensorArrayId",t,e,n),s=n.getTensorArray(r.id),i=DT("dtype",t,e,n);return[s.concat(i)]}case"TensorArraySplitV3":{const r=DT("tensorArrayId",t,e,n),s=DT("tensor",t,e,n),i=DT("lengths",t,e,n),a=n.getTensorArray(r.id);return a.split(i,s),[a.idTensor]}case"TensorArraySizeV3":{const r=DT("tensorArrayId",t,e,n);return[Sl(n.getTensorArray(r.id).size(),"int32")]}case"TensorArrayCloseV3":{const r=DT("tensorArrayId",t,e,n),s=n.getTensorArray(r.id);return s.clearAndClose(),[s.idTensor]}case"TensorListSetItem":{const r=DT("tensorListId",t,e,n),s=DT("index",t,e,n),i=DT("tensor",t,e,n),a=n.getTensorList(r.id);return a.setItem(s,i),[a.idTensor]}case"TensorListGetItem":{const r=DT("tensorListId",t,e,n),s=DT("index",t,e,n),i=DT("elementShape",t,e,n),a=DT("elementDType",t,e,n);return[n.getTensorList(r.id).getItem(s,i,a)]}case"TensorListScatterV2":case"TensorListScatter":{const r=DT("indices",t,e,n),s=function(t,e,n,r){if(e.length!==t.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${e.length} vs. ${t.shape[0]}`);const s=Math.max(...e);if(null!=r&&-1!==r&&s>=r)throw new Error(`Max index must be < array size (${s} vs. ${r})`);const i=new k_([],n,t.dtype,r),a=od(t,0);return e.forEach(((t,e)=>{i.setItem(t,a[e])})),i}(DT("tensor",t,e,n),r,DT("elementShape",t,e,n),DT("numElements",t,e,n));return n.addTensorList(s),[s.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const r=DT("elementShape",t,e,n),s=DT("elementDType",t,e,n);let i;i="TensorListReserve"===t.op?"numElements":"maxNumElements";const a=function(t,e,n){return new k_([],t,e,n)}(r,s,DT(i,t,e,n));return n.addTensorList(a),[a.idTensor]}case"TensorListGather":{const r=DT("tensorListId",t,e,n),s=DT("indices",t,e,n),i=DT("elementShape",t,e,n),a=DT("elementDType",t,e,n);return[n.getTensorList(r.id).gather(s,a,i)]}case"TensorListStack":{const r=DT("tensorListId",t,e,n),s=DT("elementShape",t,e,n),i=DT("elementDType",t,e,n),a=DT("numElements",t,e,n);return[n.getTensorList(r.id).stack(s,i,a)]}case"TensorListFromTensor":{const r=function(t,e,n){const r=t.dtype;if(t.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${t.shape}`);if(t.dtype!==n)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${n}`);w_(t.shape.slice(1),e,"TensorList shape mismatch: ");const s=od(t);return new k_(s,e,r)}(DT("tensor",t,e,n),DT("elementShape",t,e,n),DT("elementDType",t,e,n));return n.addTensorList(r),[r.idTensor]}case"TensorListConcat":{const r=DT("tensorListId",t,e,n),s=n.getTensorList(r.id),i=DT("dtype",t,e,n),a=DT("elementShape",t,e,n);return[s.concat(i,a)]}case"TensorListPushBack":{const r=DT("tensorListId",t,e,n),s=DT("tensor",t,e,n),i=n.getTensorList(r.id);return i.pushBack(s),[i.idTensor]}case"TensorListPopBack":{const r=DT("tensorListId",t,e,n),s=DT("elementShape",t,e,n),i=DT("elementDType",t,e,n);return[n.getTensorList(r.id).popBack(s,i)]}case"TensorListSplit":{const r=DT("tensor",t,e,n),s=DT("elementShape",t,e,n),i=function(t,e,n){let r=0;const s=e.map((t=>(r+=t,r)));if(r!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${r}, and tensor's shape is: ${t.shape}`);const i=__(t.shape.slice(1),n),a=0===r?0:t.size/r,o=Ko((()=>{const n=[];t=uu(t,[1,r,a]);for(let r=0;r((t,e,n)=>{switch(t.op){case"Conv1D":{const r=DT("stride",t,e,n),s=DT("pad",t,e,n),i=DT("dataFormat",t,e,n).toUpperCase(),a=DT("dilation",t,e,n);return[Ru(DT("x",t,e,n),DT("filter",t,e,n),r,s,i,a)]}case"Conv2D":{const r=DT("strides",t,e,n),s=PT(t,e,n),i=DT("dataFormat",t,e,n).toUpperCase(),a=DT("dilations",t,e,n);return[Au(DT("x",t,e,n),DT("filter",t,e,n),[r[1],r[2]],s,i,[a[1],a[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:i,dilations:a,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=E_(t,e,n);return[Ed({x:DT("x",t,e,n),filter:DT("filter",t,e,n),strides:[r[1],r[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:i,dilations:a,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=E_(t,e,n);return[Nd({x:DT("x",t,e,n),filter:DT("filter",t,e,n),strides:[r[1],r[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=DT("outputShape",t,e,n),s=DT("strides",t,e,n),i=PT(t,e,n);return[Lu(DT("x",t,e,n),DT("filter",t,e,n),r,[s[1],s[2]],i)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=DT("strides",t,e,n),s=PT(t,e,n),i=DT("dilations",t,e,n),a=DT("dataFormat",t,e,n).toUpperCase();return[Wu(DT("input",t,e,n),DT("filter",t,e,n),[r[1],r[2]],s,a,[i[1],i[2]])]}case"Conv3D":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("dataFormat",t,e,n).toUpperCase(),a=DT("dilations",t,e,n);return[Fu(DT("x",t,e,n),DT("filter",t,e,n),[r[1],r[2],r[3]],s,i,[a[1],a[2],a[3]])]}case"AvgPool":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("kernelSize",t,e,n);return[cu(DT("x",t,e,n),[i[1],i[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("kernelSize",t,e,n);return[Pc(DT("x",t,e,n),[i[1],i[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("kernelSize",t,e,n),a=DT("includeBatchInIndex",t,e,n),{result:o,indexes:l}=Bc(DT("x",t,e,n),[i[1],i[2]],[r[1],r[2]],s,a);return[o,l]}case"AvgPool3D":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("kernelSize",t,e,n);return[hu(DT("x",t,e,n),[i[1],i[2],i[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("kernelSize",t,e,n);return[zc(DT("x",t,e,n),[i[1],i[2],i[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=DT("strides",t,e,n),s=DT("pad",t,e,n),i=DT("dilations",t,e,n),a=r[1],o=r[2],l=i[1],u=i[2];return[Gu(DT("x",t,e,n),DT("filter",t,e,n),[a,o],s,[l,u],"NHWC")]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"creation":return Ko((()=>((t,e,n)=>{switch(t.op){case"Fill":{const r=DT("shape",t,e,n),s=DT("dtype",t,e,n);return[Ml(r,DT("value",t,e,n),s)]}case"LinSpace":return[mc(DT("start",t,e,n),DT("stop",t,e,n),DT("num",t,e,n))];case"Multinomial":{const r=DT("logits",t,e,n),s=DT("numSamples",t,e,n),i=DT("seed",t,e,n);return[Jc(r,s,i)]}case"OneHot":{const r=DT("indices",t,e,n),s=DT("depth",t,e,n),i=DT("onValue",t,e,n),a=DT("offValue",t,e,n);return[ja(r,s,i,a)]}case"Ones":return[Wc(DT("shape",t,e,n),DT("dtype",t,e,n))];case"OnesLike":return[Qc(DT("x",t,e,n))];case"RandomUniform":return[yh(DT("shape",t,e,n),DT("minval",t,e,n),DT("maxval",t,e,n),DT("dtype",t,e,n))];case"Range":return[xh(DT("start",t,e,n),DT("stop",t,e,n),DT("step",t,e,n),DT("dtype",t,e,n))];case"TruncatedNormal":{const r=DT("shape",t,e,n),s=DT("mean",t,e,n),i=DT("stdDev",t,e,n),a=DT("seed",t,e,n);return[sd(r,s,i,DT("dtype",t,e,n),a)]}case"Zeros":return[Vc(DT("shape",t,e,n),DT("dtype",t,e,n))];case"ZerosLike":return[fl(DT("x",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"dynamic":return(async(t,e,n)=>{switch(t.op){case"NonMaxSuppressionV5":{const{boxes:r,scores:s,maxOutputSize:i,iouThreshold:a,scoreThreshold:o,softNmsSigma:l}=I_(t,e,n),u=await kp.nonMaxSuppressionWithScoreAsync(r,s,i,a,o,l);return[u.selectedIndices,u.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:r,scores:s,maxOutputSize:i,iouThreshold:a,scoreThreshold:o}=I_(t,e,n),l=DT("padToMaxOutputSize",t,e,n),u=await kp.nonMaxSuppressionPaddedAsync(r,s,i,a,o,l);return[u.selectedIndices,u.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:r,scores:s,maxOutputSize:i,iouThreshold:a,scoreThreshold:o}=I_(t,e,n);return[await kp.nonMaxSuppressionAsync(r,s,i,a,o)]}case"Where":{const r=Ma(DT("condition",t,e,n),"bool"),s=[await cd(r)];return r.dispose(),s}case"ListDiff":return Rh(DT("x",t,e,n),DT("y",t,e,n));default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n);case"evaluation":return Ko((()=>((t,e,n)=>{switch(t.op){case"TopKV2":{const r=DT("x",t,e,n),s=DT("k",t,e,n),i=DT("sorted",t,e,n),a=rd(r,s,i);return[a.values,a.indices]}case"Unique":{const r=DT("x",t,e,n),s=id(r);return[s.values,s.indices]}case"UniqueV2":{const r=DT("x",t,e,n),s=DT("axis",t,e,n),i=id(r,s);return[i.values,i.indices]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"image":return Ko((()=>((t,e,n)=>{switch(t.op){case"ResizeBilinear":{const r=DT("images",t,e,n),s=DT("size",t,e,n),i=DT("alignCorners",t,e,n),a=DT("halfPixelCenters",t,e,n);return[kp.resizeBilinear(r,[s[0],s[1]],i,a)]}case"ResizeNearestNeighbor":{const r=DT("images",t,e,n),s=DT("size",t,e,n),i=DT("alignCorners",t,e,n),a=DT("halfPixelCenters",t,e,n);return[kp.resizeNearestNeighbor(r,[s[0],s[1]],i,a)]}case"CropAndResize":{const r=DT("image",t,e,n),s=DT("boxes",t,e,n),i=DT("boxInd",t,e,n),a=DT("cropSize",t,e,n),o=DT("method",t,e,n),l=DT("extrapolationValue",t,e,n);return[kp.cropAndResize(r,s,i,a,o,l)]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"graph":return Ko((()=>((t,e,n)=>{switch(t.op){case"Const":return e[t.name];case"PlaceholderWithDefault":const r=DT("default",t,e,n);return[LT(t.name,e,n)||r];case"Placeholder":return[LT(t.name,e,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":case"Snapshot":return[zT(DT("x",t,e,n))];case"IdentityN":return DT("x",t,e,n).map((t=>zT(t)));case"Shape":return[Zh(DT("x",t,e,n).shape,"int32")];case"ShapeN":return DT("x",t,e,n).map((t=>Zh(t.shape)));case"Size":return[Sl(DT("x",t,e,n).size,"int32")];case"Rank":return[Sl(DT("x",t,e,n).rank,"int32")];case"NoOp":return[Sl(1)];case"Print":const s=DT("x",t,e,n),i=DT("data",t,e,n),a=DT("message",t,e,n),o=DT("summarize",t,e,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(a);for(let t=0;t((t,e,n)=>{switch(t.op){case"Equal":return[ju(DT("a",t,e,n),DT("b",t,e,n))];case"NotEqual":return[Zc(DT("a",t,e,n),DT("b",t,e,n))];case"Greater":return[ac(DT("a",t,e,n),DT("b",t,e,n))];case"GreaterEqual":return[oc(DT("a",t,e,n),DT("b",t,e,n))];case"Less":return[pc(DT("a",t,e,n),DT("b",t,e,n))];case"LessEqual":return[fc(DT("a",t,e,n),DT("b",t,e,n))];case"LogicalAnd":return[Lc(DT("a",t,e,n),DT("b",t,e,n))];case"LogicalNot":return[Fc(DT("a",t,e,n))];case"LogicalOr":return[$c(DT("a",t,e,n),DT("b",t,e,n))];case"Select":case"SelectV2":return[qu(DT("condition",t,e,n),DT("a",t,e,n),DT("b",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"matrices":return Ko((()=>((t,e,n)=>{switch(t.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[Ga(DT("a",t,e,n),DT("b",t,e,n),DT("transposeA",t,e,n),DT("transposeB",t,e,n))];case"Einsum":return[Yu(DT("equation",t,e,n),...DT("tensors",t,e,n))];case"Transpose":return[qa(DT("x",t,e,n),DT("perm",t,e,n))];case"_FusedMatMul":const[r,s]=DT("fusedOps",t,e,n),i="biasadd"===r,a="prelu"===s,o=DT("numArgs",t,e,n),l=DT("leakyreluAlpha",t,e,n);if(i){if(a&&2!==o)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&1!==o)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[u,c]=DT("args",t,e,n);return[Ad({a:DT("a",t,e,n),b:DT("b",t,e,n),transposeA:DT("transposeA",t,e,n),transposeB:DT("transposeB",t,e,n),bias:u,activation:s,preluActivationWeights:c,leakyreluAlpha:l})];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"normalization":return Ko((()=>((t,e,n)=>{switch(t.op){case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[xu(DT("x",t,e,n),DT("mean",t,e,n),DT("variance",t,e,n),DT("offset",t,e,n),DT("scale",t,e,n),DT("epsilon",t,e,n))];case"LRN":return[gc(DT("x",t,e,n),DT("radius",t,e,n),DT("bias",t,e,n),DT("alpha",t,e,n),DT("beta",t,e,n))];case"Softmax":return[Bh(DT("x",t,e,n))];case"LogSoftmax":return[_c(DT("x",t,e,n))];case"SparseToDense":return[gd(DT("sparseIndices",t,e,n),DT("outputShape",t,e,n),DT("sparseValues",t,e,n),DT("defaultValue",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"reduction":return Ko((()=>((t,e,n)=>{switch(t.op){case"Max":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[Sc(DT("x",t,e,n),r,s)]}case"Mean":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[Uc(DT("x",t,e,n),r,s)]}case"Min":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[Gc(DT("x",t,e,n),r,s)]}case"Sum":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[Tc(DT("x",t,e,n),r,s)]}case"All":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[Bl(DT("x",t,e,n),r,s)]}case"Any":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[Ul(DT("x",t,e,n),r,s)]}case"ArgMax":{const r=DT("axis",t,e,n);return[Vl(DT("x",t,e,n),r)]}case"ArgMin":{const r=DT("axis",t,e,n);return[Wl(DT("x",t,e,n),r)]}case"Prod":{const r=DT("axis",t,e,n),s=DT("keepDims",t,e,n);return[uh(DT("x",t,e,n),r,s)]}case"Cumsum":{const r=DT("axis",t,e,n),s=DT("exclusive",t,e,n),i=DT("reverse",t,e,n);return[Bu(DT("x",t,e,n),r,s,i)]}case"Bincount":const r=DT("x",t,e,n),s=DT("weights",t,e,n),i=DT("size",t,e,n);return[Su(r,s,i)];case"DenseBincount":{const r=DT("x",t,e,n),s=DT("weights",t,e,n),i=DT("size",t,e,n),a=DT("binaryOutput",t,e,n);return[Uu(r,s,i,a)]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"slice_join":return Ko((()=>((t,e,n)=>{switch(t.op){case"ConcatV2":case"Concat":{const r=DT("n",t,e,n),s=DT("axis",t,e,n);let i=DT("tensors",t,e,n);return i=i.slice(0,r),[du(i,s)]}case"Gather":{const r=DT("x",t,e,n),s=DT("indices",t,e,n);return[ic(r,Ma(s,"int32"),0)]}case"GatherV2":{const r=DT("axis",t,e,n),s=DT("batchDims",t,e,n),i=DT("x",t,e,n),a=DT("indices",t,e,n);return[ic(i,Ma(a,"int32"),r,s)]}case"Reverse":{const r=DT("dims",t,e,n),s=[];for(let t=0;t{const r=DT("axis",t,e,n),s=DT("tensors",t,e,n),i=s[0].shape,a=qh(s[0]).shape,o=s.map((t=>{const e=ut(t.shape,i);if(!e&&!ut(qh(t).shape,a))throw new Error("the input tensors shape does not match");return e?t:uu(t,i)}));return[Xh(o,r)]}));case"Unpack":{const r=DT("axis",t,e,n),s=DT("tensor",t,e,n);return od(s,r)}case"Tile":{const r=DT("reps",t,e,n);return[nc(DT("x",t,e,n),r)]}case"Split":case"SplitV":{const r=DT("axis",t,e,n),s=DT("numOrSizeSplits",t,e,n),i=DT("x",t,e,n);return Hh(i,s,r)}case"ScatterNd":{const r=DT("indices",t,e,n),s=DT("values",t,e,n),i=DT("shape",t,e,n);return[md(r,s,i)]}case"GatherNd":{const r=DT("x",t,e,n),s=DT("indices",t,e,n);return[yd(r,s)]}case"SparseToDense":{const r=DT("sparseIndices",t,e,n),s=DT("outputShape",t,e,n),i=DT("sparseValues",t,e,n),a=DT("defaultValue",t,e,n);return[gd(r,i,s,i.dtype===a.dtype?a:Ma(a,i.dtype))]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"sparse":return Ko((()=>((t,e,n)=>{switch(t.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:i,reverseIndexMap:a}=Cp.sparseFillEmptyRows(DT("indices",t,e,n),DT("values",t,e,n),DT("denseShape",t,e,n),DT("defaultValue",t,e,n));return[r,s,i,a]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=Cp.sparseReshape(DT("inputIndices",t,e,n),DT("inputShape",t,e,n),DT("newShape",t,e,n));return[r,s]}case"SparseSegmentMean":return[Cp.sparseSegmentMean(DT("data",t,e,n),DT("indices",t,e,n),DT("segmentIds",t,e,n))];case"SparseSegmentSum":return[Cp.sparseSegmentSum(DT("data",t,e,n),DT("indices",t,e,n),DT("segmentIds",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"spectral":return Ko((()=>((t,e,n)=>{switch(t.op){case"FFT":return[Uh(DT("x",t,e,n))];case"IFFT":return[Vh(DT("x",t,e,n))];case"RFFT":return[Gh(DT("x",t,e,n))];case"IRFFT":return[Wh(DT("x",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"string":return Ko((()=>((t,e,n)=>{switch(t.op){case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=Np.stringNGrams(DT("data",t,e,n),DT("dataSplits",t,e,n),DT("separator",t,e,n),DT("nGramWidths",t,e,n),DT("leftPad",t,e,n),DT("rightPad",t,e,n),DT("padWidth",t,e,n),DT("preserveShortSequences",t,e,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:i}=Np.stringSplit(DT("input",t,e,n),DT("delimiter",t,e,n),DT("skipEmpty",t,e,n));return[r,s,i]}case"StringToHashBucketFast":return[Np.stringToHashBucketFast(DT("input",t,e,n),DT("numBuckets",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"transformation":return Ko((()=>((t,e,n)=>{switch(t.op){case"Cast":return[Ma(DT("x",t,e,n),DT("dtype",t,e,n))];case"ExpandDims":{const r=DT("axis",t,e,n);return[tc(DT("x",t,e,n),r)]}case"Squeeze":{const r=DT("axis",t,e,n);return[qh(DT("x",t,e,n),r)]}case"Reshape":return[uu(DT("x",t,e,n),DT("shape",t,e,n))];case"MirrorPad":return[qc(DT("x",t,e,n),DT("padding",t,e,n),DT("mode",t,e,n))];case"PadV2":case"Pad":return[eh(DT("x",t,e,n),DT("padding",t,e,n),DT("constantValue",t,e,n))];case"SpaceToBatchND":{const r=DT("blockShape",t,e,n),s=DT("paddings",t,e,n);return[ah(DT("x",t,e,n),r,s)]}case"BatchToSpaceND":{const r=DT("blockShape",t,e,n),s=DT("crops",t,e,n);return[yu(DT("x",t,e,n),r,s)]}case"DepthToSpace":{const r=DT("blockSize",t,e,n),s=DT("dataFormat",t,e,n).toUpperCase();return[Vu(DT("x",t,e,n),r,s)]}case"BroadcastTo":return[_u(DT("x",t,e,n),DT("shape",t,e,n))];case"BroadcastArgs":return[Tu(DT("s0",t,e,n),DT("s1",t,e,n))];default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n)));case"hash_table":return(async(t,e,n,r)=>{switch(t.op){case"HashTable":case"HashTableV2":{const s=DT("keyDType",t,e,n),i=DT("valueDType",t,e,n),a=new C_(s,i);return r.addHashTable(t.name,a),[a.handle]}case"LookupTableImport":case"LookupTableImportV2":{const s=DT("tableHandle",t,e,n,r),i=DT("keys",t,e,n),a=DT("values",t,e,n),o=r.getHashTableById(s.id);return[await o.import(i,a)]}case"LookupTableFind":case"LookupTableFindV2":{const s=DT("tableHandle",t,e,n,r),i=DT("keys",t,e,n),a=DT("defaultValue",t,e,n),o=r.getHashTableById(s.id);return[await o.find(i,a)]}case"LookupTableSize":case"LookupTableSizeV2":{const s=DT("tableHandle",t,e,n,r);return[r.getHashTableById(s.id).tensorSize()]}default:throw TypeError(`Node type ${t.op} is not implemented`)}})(t,e,n,r);case"custom":const s=AT(t.op);if(s&&s.customExecutor)return s.customExecutor(new v_(t,e,n));throw TypeError(`Custom op ${t.op} is not registered.`);default:throw TypeError(`Unknown op '${t.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(t,e,n);return Vt(s)?s.then((t=>[].concat(t))):[].concat(s)}class A_{constructor(t={},e={},n={},r={}){this.weightMap=t,this.tensorArrayMap=e,this.tensorListMap=n,this.functionMap=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(t,e){return{id:t,frameName:e,iterationId:0}}set currentContext(t){this.contexts!==t&&(this.contexts=t,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const t=[];for(let e=0;e0===t.id&&0===t.iterationId?"":`${t.frameName}-${t.iterationId}`)).join("/"):""}enterFrame(t){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,t)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const t=Object.assign({},this.contexts[this.contexts.length-1]);t.iterationId+=1,t.id=this.lastId,this.contexts.splice(-1,1,t),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(t){return this.weightMap[t]}addTensorArray(t){this.tensorArrayMap[t.id]=t}getTensorArray(t){return this.tensorArrayMap[t]}addTensorList(t){this.tensorListMap[t.id]=t}getTensorList(t){return this.tensorListMap[t]}dispose(t){for(const e in this.tensorArrayMap)this.tensorArrayMap[e].clearAndClose(t);for(const e in this.tensorListMap)this.tensorListMap[e].clearAndClose(t)}}function R_(t,e,n,r){const s=new Set,i=[];let a=null,o=null;const l=new Set,u=Object.keys(t).map((t=>OT(t)[0]));let c=[];null!=r&&(c=r.map((t=>OT(t.name)[0])));const h=[...e];for(;h.length>0;){const t=h.pop();($_(t)||O_(t)||P_(t))&&null==a&&(a=t,o=a.children.map((t=>t.name)).filter((t=>s.has(t)))),s.add(t.name),null==n[t.name]&&-1===u.indexOf(t.name)&&-1===c.indexOf(t.name)&&(0!==t.inputs.length?t.inputs.forEach((t=>{l.has(t.name)||(l.add(t.name),h.push(t))})):i.push(t.name))}return{inputs:t,outputs:e,usedNodes:s,missingInputs:i,dynamicNode:a,syncInputs:o}}const D_=["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"],L_=["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"],F_=["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"];function $_(t){return D_.indexOf(t.op)>=0}function O_(t){return L_.indexOf(t.op)>=0}function P_(t){return F_.indexOf(t.op)>=0}class z_{constructor(t,e){this.graph=t,this.parent=e,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=",",this._functions={},this._functionExecutorMap={},this.intermediateTensors={},this.keepTensorForDebug=!1,this._outputs=t.outputs,this._inputs=t.inputs,this._initNodes=t.initNodes,this._signature=t.signature,this._functions=t.functions,null!=t.functions&&Object.keys(t.functions).forEach((e=>{this._functionExecutorMap[e]=new z_(t.functions[e],this)}))}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(t){const e=Object.keys(t).map((e=>t[e].map((t=>t.id))));this._weightIds=[].concat(...e),this._weightMap=t}set resourceManager(t){this._resourceManager=t}get inputs(){return this._inputs.map((t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0})))}get outputs(){return this._outputs.map((t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0})))}get inputNodes(){return this._inputs.map((t=>t.signatureKey||t.name))}get outputNodes(){return this._outputs.map((t=>{const e=t.signatureKey||t.name;return t.defaultOutput?`${e}:${t.defaultOutput}`:e}))}get functions(){return Object.keys(this._functions).reduce(((t,e)=>(t[e]=this._functions[e].signature,t)),{})}getCompilationKey(t,e){const n=t.map((t=>t.name)).sort(),r=e.map((t=>t.name)).sort();return n.join(this.SEPERATOR)+"--"+r.join(this.SEPERATOR)}compile(t,e){const n=R_(t,e,this.weightMap,this._initNodes),{missingInputs:r,dynamicNode:s,syncInputs:i}=n;if(null!=s)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${i}]`);if(r.length>0){const n=e.map((t=>t.name)),s=Object.keys(t);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${s}]. Missing the following inputs: [${r}]`)}return function(t,e,n){const{usedNodes:r,inputs:s}=n,i=[],a=Object.keys(s).map((t=>OT(t)[0])).map((e=>t.nodes[e])),o=t.initNodes;a.forEach((t=>{r.has(t.name)&&i.push(t)})),t.weights.forEach((t=>{r.has(t.name)&&i.push(t)})),null!=o&&o.forEach((t=>{r.has(t.name)&&i.push(t)}));const l=new Set,u=[];for(;i.length>0;){const t=i.pop();l.add(t.name),e[t.name]||u.push(t),t.children.forEach((t=>{!l.has(t.name)&&r.has(t.name)&&t.inputs.every((t=>l.has(t.name)))&&i.push(t)}))}return u}(this.graph,this.weightMap,n)}execute(t,e){t=this.mapInputs(t);const n=Object.keys(t).sort();this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e);const r=n.map((t=>this.graph.nodes[OT(t)[0]])),s=e.map((t=>OT(t)[0]));let i=s.map((t=>this.graph.nodes[t]));this.resetIntermediateTensors(),0===i.length&&(i=this._outputs);const a=this.getCompilationKey(r,i);let o=this.compiledMap.get(a);null==o&&(o=this.compile(t,i),this.compiledMap.set(a,o));const l={},u={};return Ko((()=>{const n=new A_(this.weightMap,l,u,this.functionExecutorMap),r=Object.assign({},this.weightMap);Object.keys(t).forEach((e=>{const[n,s]=OT(e),i=[];i[s]=t[e],r[n]=i}));const i=this.getFrozenTensorIds(r),a={};for(let t=0;tLT(t,r,n)))}))}getFrozenTensorIds(t){const e=[].concat.apply([],Object.keys(t).map((e=>t[e])).map((t=>t.map((t=>t.id)))));return new Set(e)}checkTensorForDisposal(t,e,n,r,s,i,a){"control"!==e.category&&-1===i.indexOf(t)&&(n[t].forEach((t=>{null!=t&&(a[t.id]=(a[t.id]||0)+e.children.length)})),e.inputs.forEach((t=>{if("control"!==t.category){const i=function(t,e,n){return e[$T(t,n.currentContextId)]}(t.name,n,r);null!=i&&i.forEach((t=>{if(t&&!t.kept&&!s.has(t.id)){const n=a[t.id];if(1===n){if(this.keepTensorForDebug){const[n,s]=FT(e.name,r);this.intermediateTensors[n]||(this.intermediateTensors[n]=[]),this.intermediateTensors[n][s]=t}else t.dispose();delete a[t.id]}else null!=n&&a[t.id]--}}))}})))}async executeAsync(t,e){return this._executeAsync(t,e)}disposeIntermediateTensors(){this.intermediateTensors&&(Object.keys(this.intermediateTensors).forEach((t=>this.intermediateTensors[t].forEach((t=>t.dispose())))),this.disposeTensorsMap())}disposeTensorsMap(){this.tensorsMap&&Object.keys(this.tensorsMap).forEach((t=>{this.tensorsMap[t].forEach((t=>{!t||t.kept||t.isDisposed||this.keepIds.has(t.id)||t.dispose()}))}))}getIntermediateTensors(){return this.tensorsMap}resetIntermediateTensors(){for(const t in this.intermediateTensors)this.intermediateTensors[t].forEach((t=>t.dispose())),delete this.intermediateTensors[t]}async _executeAsync(t,e,n=!1,r={},s={}){n||(t=this.mapInputs(t),this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e));try{this.keepTensorForDebug=Gt().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(t){console.warn(t.message)}this.resetIntermediateTensors();const i=new A_(this.weightMap,r,s,this.functionExecutorMap);this.tensorsMap=await this.executeWithControlFlow(t,i,e,n);const a=e.map((t=>LT(t,this.tensorsMap,i))),o=a.map((t=>t.id)),l=Object.keys(t).map((e=>t[e].id));return this.keepIds=new Set([...o,...l,...this.weightIds]),this.keepTensorForDebug||this.disposeTensorsMap(),null==this.parent&&i.dispose(this.keepIds),a}async executeFunctionAsync(t,e,n){const r=t.reduce(((t,e,n)=>(t[this.inputs[n].name]=e,t)),{});return this._executeAsync(r,this.outputNodes,!0,e,n)}async executeWithControlFlow(t,e,n,r){const s=Object.keys(t),i=s.map((t=>this.graph.nodes[OT(t)[0]])),a=n.map((t=>OT(t)[0]));let o=a.map((t=>this.graph.nodes[t]));0===o.length&&(o=this._outputs);const{usedNodes:l,missingInputs:u,dynamicNode:c,syncInputs:h}=R_(t,o,this.weightMap,this._initNodes),d=[...i,...this.graph.weights,...this._initNodes||[]].map((t=>({node:t,contexts:e.currentContext}))),p=Object.assign({},this.weightMap);Object.keys(t).forEach((e=>{const[n,r]=OT(e),s=[];s[r]=t[e],p[n]=s}));const f={},m=this.getFrozenTensorIds(p),g={};for(;d.length>0;){const t=this.processStack(i,d,e,p,g,m,a,f,l);await Promise.all(t)}null!=c||r||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=o.filter((t=>!$_(t)&&!LT(t.name,p,e))).map((t=>t.name));if(y.length>0){let t="";throw null!=c&&(t=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${s}]. Consider providing the following inputs: [${u}]. ${t}`)}return p}processStack(t,e,n,r,s,i,a,o,l){const u=[];for(;e.length>0;){const t=e.pop();n.currentContext=t.contexts;let c="";if("Enter"===t.node.op&&DT("isConstant",t.node,r,n)&&([c]=FT(t.node.name,n)),null==r[t.node.name]){const h=N_(t.node,r,n,this._resourceManager);c||([c]=FT(t.node.name,n));const d=n.currentContext;Vt(h)?u.push(h.then((u=>(r[c]=u,n.currentContext=d,this.checkTensorForDisposal(c,t.node,r,n,i,a,o),this.processChildNodes(t.node,e,n,r,s,l),u)))):(r[c]=h,this.checkTensorForDisposal(c,t.node,r,n,i,a,o),this.processChildNodes(t.node,e,n,r,s,l))}else this.processChildNodes(t.node,e,n,r,s,l)}return u}processChildNodes(t,e,n,r,s,i){t.children.forEach((t=>{const[a]=FT(t.name,n);!s[a]&&i.has(t.name)&&("Merge"===t.op?t.inputNames.some((t=>!!LT(t,r,n)))&&(s[a]=!0,e.push({contexts:n.currentContext,node:t})):t.inputNames.every((t=>!!LT(t,r,n)))&&(s[a]=!0,e.push({contexts:n.currentContext,node:t})))}))}dispose(){Object.keys(this.weightMap).forEach((t=>this.weightMap[t].forEach((t=>t.dispose()))))}checkInputShapeAndType(t){Object.keys(t).forEach((e=>{const n=t[e],[r]=OT(e),s=this.graph.nodes[r];if(s.attrParams.shape&&s.attrParams.shape.value){const t=s.attrParams.shape.value;rt(t.length===n.shape.length&&n.shape.every(((e,n)=>-1===t[n]||t[n]===e)),(()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${t}], but was [${n.shape}]`))}s.attrParams.dtype&&s.attrParams.dtype.value&&rt(n.dtype===s.attrParams.dtype.value,(()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`))}))}mapInputs(t){const e={};for(const n in t)null!=this._signature&&null!=this._signature.inputs&&null!=this._signature.inputs[n]?e[this._signature.inputs[n].name]=t[n]:e[n]=t[n];return e}checkInputs(t){const e=Object.keys(t).filter((t=>{const[e]=OT(t);return null==this.graph.nodes[e]}));if(e.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${e}] that are not part of graph`)}mapOutputs(t){return t.map((t=>null!=this._signature&&null!=this._signature.outputs&&null!=this._signature.outputs[t]?this._signature.outputs[t].name:t),{})}checkOutputs(t){t.forEach((t=>{const[e]=OT(t);if(!this.graph.nodes[e])throw new Error(`The output '${t}' is not found in the graph`)}))}}class B_{constructor(t={},e={}){this.hashTableNameToHandle=t,this.hashTableMap=e}addHashTable(t,e){this.hashTableNameToHandle[t]=e.handle,this.hashTableMap[e.id]=e}getHashTableHandleByName(t){return this.hashTableNameToHandle[t]}getHashTableById(t){return this.hashTableMap[t]}dispose(){for(const t in this.hashTableMap)this.hashTableMap[t].clearAndClose(),delete this.hashTableMap[t];for(const t in this.hashTableNameToHandle)this.hashTableNameToHandle[t].dispose(),delete this.hashTableNameToHandle[t]}}class U_{constructor(t,e={}){this.modelUrl=t,this.loadOptions=e,this.version="n/a",null==e&&(this.loadOptions={}),this.resourceManager=new B_}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}findIOHandler(){const t=this.modelUrl;if(null!=t.load)this.handler=t;else if(null!=this.loadOptions.requestInit)this.handler=Ba(t,this.loadOptions);else{const e=ji(t,this.loadOptions);if(0===e.length)e.push(Ba(t,this.loadOptions));else if(e.length>1)throw new Error(`Found more than one (${e.length}) load handlers for URL '${[t]}'`);this.handler=e[0]}}async load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const t=await this.handler.load();return this.loadSync(t)}loadSync(t){this.artifacts=t;const e=this.artifacts.modelTopology;let n;n=null!=this.artifacts.userDefinedMetadata&&null!=this.artifacts.userDefinedMetadata.signature?this.artifacts.userDefinedMetadata.signature:this.artifacts.signature,this.signature=n,this.version=`${e.versions.producer}.${e.versions.minConsumer}`;const r=Ri(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new z_(i_.Instance.transformGraph(e,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(r),this.executor.resourceManager=this.resourceManager,null!=t.modelInitializer&&null!=t.modelInitializer.node){const e=i_.Instance.transformGraph(t.modelInitializer);this.initializer=new z_(e),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(t,e){if("string"==typeof t){const e=Gi(t);if(0===e.length)throw new Error(`Cannot find any save handlers for URL '${t}'`);if(e.length>1)throw new Error(`Found more than one (${e.length}) save handlers for URL '${t}'`);t=e[0]}if(null==t.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return t.save(this.artifacts)}predict(t,e){return this.execute(t,this.outputNodes)}normalizeInputs(t){if(!(t instanceof qs||Array.isArray(t)))return t;if((t=Array.isArray(t)?t:[t]).length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${t.length} input tensors.`);return this.inputNodes.reduce(((e,n,r)=>(e[n]=t[r],e)),{})}normalizeOutputs(t){return t=t||this.outputNodes,Array.isArray(t)?t:[t]}execute(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);const n=this.executor.execute(t,e);return n.length>1?n:n[0]}async executeAsync(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);const n=await this.executor.executeAsync(t,e);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(t){return Object.keys(t).reduce(((e,n)=>(e[n]=[t[n]],e)),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}}async function V_(t,e={}){if(null==t)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==e&&(e={}),e.fromTFHub&&null==t.load&&(t.endsWith("/")||(t+="/"),t=`${t}model.json?tfjs-format=file`);const n=new U_(t,e);return await n.load(),n}const W_="3.13.0";function H_(t,e,n=new Map,r=new Set){if(null==t)return null;if("function"==typeof Blob&&t instanceof Blob)return t.slice();if(r.has(t))throw new Error("Circular references are not supported.");if(n.has(t))return n.get(t);const s=e(t);if(s.recurse&&null!==s.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(s.recurse){if(K_(t)){const s=Array.isArray(t)?[]:{};r.add(t);for(const i in t){const a=H_(t[i],e,n,r);s[i]=a}return r.delete(t),t.__proto__&&(s.__proto__=t.__proto__),s}throw new Error(`Can't recurse into non-iterable type: ${t}`)}return n.set(t,s.value),s.value}function G_(t,e=q_){return j_(t,e)}function j_(t,e,n=new Set){const r=t[0];if(n.has(r))throw new Error("Circular references are not supported.");const s=e(t);if(s.recurse&&null!==s.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(s.recurse){if(K_(r)){const s=Array.isArray(r)?[]:{};n.add(r);for(const i in r){const r=j_(t.map((t=>t[i])),e,n);s[i]=r}return n.delete(r),s}throw new Error(`Can't recurse into non-iterable type: ${r}`)}return s.value}function q_(t){return null===t?null:K_(t[0])?{value:null,recurse:!0}:{value:t,recurse:!1}}async function X_(t,e){const n=new Map;H_(t,e,n);for(const t of Array.from(n.keys())){const e=n.get(t);if(Vt(e)){const r=await e;n.set(t,r)}}return H_(t,e,n)}function K_(t){let e=!1;if(Gt().get("IS_BROWSER"))e=t instanceof TextDecoder;else{const{StringDecoder:r}=n(4589);e=t instanceof r}return null!=t&&!ArrayBuffer.isView(t)&&(Array.isArray(t)||"object"==typeof t&&!(t instanceof qs)&&!(t instanceof Promise)&&!e)}function Y_(t){return t instanceof qs?{value:t.clone(),recurse:!1}:K_(t)?{value:null,recurse:!0}:{value:t,recurse:!1}}class J_{constructor(t){if(this.capacity=t,this.begin=0,this.end=0,null==t)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(t<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(t),this.doubledCapacity=2*t}wrap(t){for(;t<0;)t+=this.doubledCapacity;return t%this.doubledCapacity}get(t){if(t<0)throw new RangeError("Can't get item at a negative index.");return this.data[t%this.capacity]}set(t,e){if(t<0)throw new RangeError("Can't set item at a negative index.");this.data[t%this.capacity]=e}length(){let t=this.end-this.begin;return t<0&&(t=this.doubledCapacity+t),t}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(t){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,t),this.end=this.wrap(this.end+1)}pushAll(t){for(const e of t)this.push(e)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const t=this.get(this.end);return this.set(this.end,void 0),t}unshift(t){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,t)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),t}shuffleExcise(t){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.wrap(this.begin+t),n=this.get(e);return this.set(e,this.pop()),n}}class Z_ extends J_{constructor(){super(Z_.INITIAL_CAPACITY)}isFull(){return!1}push(t){super.isFull()&&this.expand(),super.push(t)}unshift(t){super.isFull()&&this.expand(),super.unshift(t)}expand(){const t=2*this.capacity,e=new Array(t),n=this.length();for(let t=0;t!0===t))}rowMajorBatch(t,e=!0){return new oM(this,t,e)}columnMajorBatch(t,e=!0,n=q_){return this.rowMajorBatch(t,e).map((t=>G_(t,n)))}concatenate(t,e){return new fM(Q_([this,t]),e)}take(t){return t<0||null==t?this:new aM(this,t)}skip(t){return t<0||null==t?this:new iM(this,t)}prefetch(t){return new yM(this,t)}shuffle(t,e){return new xM(this,t,e)}serial(){return new sM(this)}}class nM extends eM{constructor(t){super(),this.items=t,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const t=this.items[this.trav];return this.trav++,{value:(e=t,function(t,e){return H_(t,e)}(e,Y_)),done:!1};var e}}class rM extends eM{constructor(t){super(),this.nextFn=t}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(t){throw t.message=`Error thrown while iterating through a dataset: ${t.message}`,t}}}class sM extends eM{constructor(t){super(),this.upstream=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){return this.upstream.next()}}class iM extends eM{constructor(t,e){super(),this.upstream=t,this.maxCount=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class oM extends eM{constructor(t,e,n=!0){super(),this.upstream=t,this.batchSize=e,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){const t=[];for(;t.length0?{value:t,done:!1}:{value:null,done:!0};t.push(e.value)}return{value:t,done:!1}}}class lM extends eM{constructor(t,e){super(),this.upstream=t,this.predicate=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;){const t=await this.upstream.next();if(t.done||this.predicate(t.value))return t;Yo(t.value)}}}class uM extends eM{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Map`}async next(){const t=await this.upstream.next();if(t.done)return{value:null,done:!0};const e=oi(t.value),n=this.transform(t.value),r=oi(n);for(const t of e)ai(t,r)||t.dispose();return{value:n,done:!1}}}class cM extends eM{constructor(t,e){super(),this.upstream=t,this.handler=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(t){if(!this.handler(t))return{value:null,done:!0}}}}class hM extends eM{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const t=await this.upstream.next();if(t.done)return{value:null,done:!0};const e=oi(t.value),n=await this.transform(t.value),r=oi(n);for(const t of e)ai(t,r)||t.dispose();return{value:n,done:!1}}}class dM extends eM{constructor(){super(),this.outputQueue=new Z_,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class pM extends dM{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const t=await this.upstream.next();if(t.done)return!1;const e=oi(t.value),n=this.transform(t.value),r=oi(n);this.outputQueue.pushAll(n);for(const t of e)ai(t,r)||t.dispose();return!0}}class fM extends eM{constructor(t,e){super(),this.baseErrorHandler=e,this.lastRead=null,this.iterator=null,this.moreIterators=t}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(t){if(await t,null==this.iterator){const t=await this.moreIterators.next();if(t.done)return{value:null,done:!0};this.iterator=t.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const e=await this.iterator.next();return e.done?(this.iterator=null,this.readFromChain(t)):e}}var mM;!function(t){t[t.FAIL=0]="FAIL",t[t.SHORTEST=1]="SHORTEST",t[t.LONGEST=2]="LONGEST"}(mM||(mM={}));class gM extends eM{constructor(t,e=mM.FAIL){super(),this.iterators=t,this.mismatchMode=e,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(t){await t;let e=0,n=0;const r=await X_(this.iterators,(function(t){return t instanceof eM?{value:t.next().then((t=>(e++,t.done&&n++,t.value))),recurse:!1}:{value:null,recurse:!0}}));if(e===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case mM.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case mM.SHORTEST:return{value:null,done:!0};case mM.LONGEST:}return this.count++,{value:r,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class yM extends eM{constructor(t,e){super(),this.upstream=t,this.bufferSize=e,this.buffer=new J_(e)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const t=this.upstream.next();this.buffer.push(t)}}next(){return this.refill(),this.buffer.shift()}}class xM extends yM{constructor(t,e,n){super(t,e),this.upstream=t,this.windowSize=e,this.upstreamExhausted=!1,this.random=hh.alea(n||As().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}randomInt(t){return Math.floor(this.random()*t)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const t=this.chooseIndex(),e=await this.buffer.shuffleExcise(t);if(!e.done)return this.refill(),e;this.upstreamExhausted=!0}return{value:null,done:!0}}}class bM{constructor(){this.size=null}batch(t,e=!0){const n=this;let r;return rt(t>0,(()=>`batchSize needs to be positive, but it is\n ${t}`)),r=this.size===1/0||null==this.size?this.size:e?Math.ceil(this.size/t):Math.floor(this.size/t),vM((async()=>(await n.iterator()).columnMajorBatch(t,e,TM)),r)}concatenate(t){const e=this;let n;return n=this.size===1/0||t.size===1/0?1/0:null!=this.size&&null!=t.size?this.size+t.size:null,vM((async()=>(await e.iterator()).concatenate(await t.iterator())),n)}filter(t){const e=this;let n;return n=this.size===1/0?1/0:null,vM((async()=>(await e.iterator()).filter((e=>Ko((()=>t(e)))))),n)}async forEachAsync(t){return(await this.iterator()).forEachAsync(t)}map(t){const e=this;return vM((async()=>(await e.iterator()).map((e=>Ko((()=>t(e)))))),this.size)}mapAsync(t){const e=this;return vM((async()=>(await e.iterator()).mapAsync(t)),this.size)}prefetch(t){if(null==t)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const e=this;return vM((async()=>(await e.iterator()).prefetch(t)),this.size)}repeat(t){const e=this;let n;return n=null!=this.size&&t>0?this.size*t:0===t?0:null!=this.size&&(void 0===t||t<0)?1/0:null,vM((async()=>{return n=tM((async()=>({value:await e.iterator(),done:!1}))).take(t),new fM(n,r);var n,r}),n)}skip(t){const e=this;let n;return n=null!=this.size&&t>=0&&this.size>=t?this.size-t:null!=this.size&&(this.size(await e.iterator()).skip(t)),n)}shuffle(t,e,n=!0){if(null==t||t<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const r=this,s=hh.alea(e||As().toString());return vM((async()=>{let e=s.int32();return n&&(e+=s.int32()),(await r.iterator()).shuffle(t,e.toString())}),this.size)}take(t){const e=this;let n;return n=null!=this.size&&this.size>t?t:null!=this.size&&this.size<=t?this.size:null,vM((async()=>(await e.iterator()).take(t)),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function vM(t,e=null){return new class extends bM{constructor(){super(...arguments),this.size=e}async iterator(){return t()}}}function wM(t){return vM((async()=>Q_(t)),t.length)}function SM(t){if(!K_(t))throw new Error("The argument to zip() must be an object or array.");let e;if(Array.isArray(t))for(let n=0;nfunction(t,e=mM.FAIL){return new gM(t,e)}(await X_(t,(t=>{if(t instanceof bM)return{value:t.iterator(),recurse:!1};if(K_(t))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")})),mM.SHORTEST)),e)}function TM(t){if(null===t)return null;return null==(e=t[0])||null===(n=e)||"object"!=typeof n&&"function"!=typeof n||Array.isArray(e)||"object"==typeof e&&e instanceof qs||_t(e)?{value:function(t){if(0===t.length)throw new Error("Can't make a batch of zero elements.");return t[0]instanceof qs?Xh(t):Ci(t)}(t),recurse:!1}:{value:null,recurse:!0};var e,n}bM.MAX_BUFFER_SIZE=1e4;class _M extends bM{constructor(t){super(),this.input=t}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map((t=>(t.endsWith("\r")&&(t=t.slice(0,-1)),t)))}}const MM='"',kM=Symbol("out"),EM=Symbol("field"),IM=Symbol("quote"),CM=Symbol("quoteafterquote"),NM=Symbol("quoteinquote");class AM extends bM{constructor(t,e){super(),this.input=t,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new _M(t),e||(e={}),this.hasHeader=!1!==e.hasHeader,this.fullColumnNames=e.columnNames,this.columnConfigs=e.columnConfigs,this.configuredColumnsOnly=e.configuredColumnsOnly,e.delimWhitespace?(rt(null==e.delimiter,(()=>"Delimiter should not be provided when delimWhitespace is true.")),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=e.delimiter?e.delimiter:","}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const t=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!t)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&t&&rt(t.length===this.fullColumnNames.length,(()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+t.length.toString()+").")),this.fullColumnNames||(this.fullColumnNames=t);const e=this.fullColumnNames.reduce(((t,e)=>(t[e]=t[e]+1||1,t)),{}),n=Object.keys(e).filter((t=>e[t]>1));if(rt(0===n.length,(()=>"Duplicate column names found: "+n.toString())),this.columnConfigs)for(const t of Object.keys(this.columnConfigs))if(-1===this.fullColumnNames.indexOf(t))throw new Error('The key "'+t+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").");this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const t=await this.base.iterator(),e=await t.next();if(e.done)throw new Error("No data was found for CSV parsing.");const n=e.value;return this.parseRow(n,!1)}return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let t=await this.base.iterator();return this.hasHeader&&(t=t.skip(1)),t.map((t=>this.makeDataElement(t)))}makeDataElement(t){const e=this.parseRow(t),n={},r={};for(let s=0;s14||!Number.isInteger(e))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=t.numFramesPerSpectrogram||43,this.sampleRateHz=t.sampleRateHz,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.audioTrackConstraints=t.audioTrackConstraints,this.smoothingTimeConstant=t.smoothingTimeConstant||0,this.includeSpectrogram=!1!==t.includeSpectrogram,this.includeWaveform=!0===t.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(t={}){if(Gt().get("IS_NODE"))throw new Error("microphone API is only supported in browser environment.");const e=new RM(t);return await e.start(),e}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(t){throw new Error(`Error thrown while initializing video stream: ${t.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const t=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new t,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,e.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let t,e;const n=await this.getAudioData();if(this.includeSpectrogram){const e=this.flattenQueue(n.freqDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const t=this.flattenQueue(n.timeDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:e},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const t=[],e=[];let n=0;return new Promise((r=>{const s=setInterval((()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&r({freqDataQueue:t,timeDataQueue:e}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),e.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),r({freqDataQueue:t,timeDataQueue:e}))}),this.fftSize/this.sampleRateHz*1e3)}))}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(t){const e=t[0].length,n=new Float32Array(t.length*e);return t.forEach(((t,r)=>n.set(t,r*e))),n}getTensorFromAudioDataArray(t,e){const n=new Float32Array(ot(e));return n.set(t,n.length-t.length),Ci(n,e)}}class DM extends eM{constructor(t,e){if(super(),this.webcamVideoElement=t,this.webcamConfig=e,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Zh([0],"int32"),this.webcamConfig.centerCrop){const t=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,e=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-t)/2,r=(1-e)/2,s=n+t,i=e+r;this.cropBox=Qh([r,n,i,s],[1,4])}else this.cropBox=Qh([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(t,e={}){if(Gt().get("IS_NODE"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!t){if(t=document.createElement("video"),!e.resizeWidth||!e.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");t.width=e.resizeWidth,t.height=e.resizeHeight}const n=new DM(t,e);return await n.start(),n}async start(){this.webcamConfig.facingMode&&rt("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,(()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`));try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(t){throw t.message=`Error thrown while initializing video stream: ${t.message}`,t}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(t){console.log(t),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise((t=>{this.webcamVideoElement.onloadedmetadata=()=>{t()}}))}async next(){if(this.isClosed)return{value:null,done:!0};let t;try{t=ro(this.webcamVideoElement)}catch(t){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(t)}`)}if(!this.resize)return{value:t,done:!1};try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(t){throw new Error(`Error thrown cropping the video: ${t.message}`)}finally{t.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(t){return Ko((()=>{const e=tc(Ma(t,"float32"),0);let n;n=kp.cropAndResize(e,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const r=n.shape;return uu(n,r.slice(1))}))}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach((t=>t.stop()));try{this.webcamVideoElement.srcObject=null}catch(t){console.log(t),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}}class LM{}class FM extends eM{split(t){return new $M(this,t)}}class $M extends FM{constructor(t,e){super(),this.upstream=t,this.impl=new OM(t,e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class OM extends dM{constructor(t,e){super(),this.upstream=t,this.separator=e,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const t=await this.upstream.next();if(t.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const e=t.value.split(this.separator);e[0]=this.carryover+e[0];for(const t of e.slice(0,-1))this.outputQueue.push(t);return this.carryover=e[e.length-1],!0}}class PM extends eM{decodeUTF8(){return new zM(this)}}class zM extends FM{constructor(t){super(),this.upstream=t,this.impl=new BM(t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class BM extends dM{constructor(t){if(super(),this.upstream=t,Gt().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:t}=n(4589);this.decoder=new t("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const t=await this.upstream.next();let e,n;return!t.done&&(e=t.value,n=Gt().get("IS_BROWSER")?this.decoder.decode(e,{stream:!0}):this.decoder.write(Buffer.from(e.buffer)),this.outputQueue.push(n),!0)}}class UM extends PM{constructor(t,e={}){super(),this.file=t,this.options=e,rt(t instanceof Uint8Array||!!Gt().get("IS_BROWSER")&&(t instanceof File||t instanceof Blob),(()=>"FileChunkIterator only supports File, Blob and Uint8Array right now.")),this.offset=e.offset||0,this.chunkSize=e.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const t=new Promise(((t,e)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)t(new Uint8Array(this.file.slice(this.offset,n)));else{const r=new FileReader;r.onload=n=>{let s=r.result;if(s instanceof ArrayBuffer&&(s=new Uint8Array(s)),!(s instanceof Uint8Array))return e(new TypeError("FileReader returned unknown type."));t(s)},r.onabort=t=>e(new Error("Aborted")),r.onerror=t=>e(new Error(t.type));const s=this.file.slice(this.offset,n);r.readAsArrayBuffer(s)}this.offset=n}));return{value:await t,done:!1}}}function VM(t){return"string"==typeof t&&"file://"===t.substr(0,7)}class WM extends LM{constructor(t,e={}){super(),this.input=t,this.options=e}async iterator(){if(VM(this.input)&&Gt().get("IS_NODE")){const t=n(2993);this.input=t.readFileSync(this.input.substr(7))}return new UM(this.input,this.options)}}class HM extends LM{constructor(t,e={}){super(),this.url=t,this.fileOptions=e}async iterator(){return VM(this.url)?new WM(this.url,this.fileOptions).iterator():async function(t,e={},n){let r,s;var i;"string"==typeof t?r=t:(r=t.url,s={method:(i=t).method,headers:i.headers,body:i.body,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,referrer:i.referrer,integrity:i.integrity});const a=await(n||Rs)(r,s);if(a.ok){const t=new Uint8Array(await a.arrayBuffer());return new UM(t,e)}throw new Error(a.statusText)}(this.url,this.fileOptions)}}function GM(t,e={}){return new AM(new HM(t),e)}function jM(t){const e=tM(t);return vM((async()=>e))}function qM(t){return vM((async()=>{const e=await t();return tM((()=>e.next()))}))}async function XM(t,e){return DM.create(t,e)}async function KM(t){return RM.create(t)}const YM="3.13.0";function JM(t,e){Array.isArray(t)||(t=[t]),t.forEach((t=>{null!=t&&rt("complex64"!==t.dtype,(()=>`${e} does not support complex64 tensors in the CPU backend.`))}))}const ZM=ud;class QM extends q{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new j(this,jo())}nextDataId(){return QM.nextDataId++}write(t,e,n){this.firstUse&&(this.firstUse=!1,Gt().get("IS_NODE")&&ns("\n============================\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\n============================"));const r={id:this.nextDataId()};return this.data.set(r,{values:t,dtype:n,refCount:1}),r}makeTensorInfo(t,e,n){let r;if("string"===e&&null!=n&&n.length>0&&Et(n[0])){const s=n.map((t=>Ds(t)));r=this.write(s,t,e)}else r=this.write(n,t,e);return{dataId:r,shape:t,dtype:e}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){this.data.get(t).refCount++}decRef(t){this.data.has(t)&&this.data.get(t).refCount--}move(t,e,n,r,s){this.data.set(t,{values:e,dtype:r,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){const{dtype:e,complexTensorInfos:n}=this.data.get(t);return"complex64"===e?Zp(this.readSync(n.real.dataId),this.readSync(n.imag.dataId)):this.data.get(t).values}bufferSync(t){const e=this.readSync(t.dataId);let n=e;if("string"===t.dtype)try{n=e.map((t=>Ls(t)))}catch(t){throw new Error("Failed to decode encoded string bytes into utf-8")}return _a(t.shape,t.dtype,n)}makeOutput(t,e,n){const r=this.write(t,e,n);return jo().makeTensorFromDataId(r,e,n,this)}disposeData(t,e=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!e&&this.data.get(t).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(t);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){const e=As();return t(),{kernelMs:As()-e}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(t){JM([t],"where");const e=this.readSync(t.dataId);return ZM(t.shape,e)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}}function tk(t,e,n){return({inputs:r,attrs:s,backend:i})=>{const{x:a}=r;if(JM(a,t),"string"===a.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=i,l=o.data.get(a.dataId).values,u=ot(a.shape),c=n||a.dtype,h=vt(c,u);for(let t=0;t{const{x:a}=r;if(JM(a,t),"string"===a.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=i,l=o.data.get(a.dataId).values,u=n||a.dtype,c=e(l,u,s);return o.makeTensorInfo(a.shape,u,c)}}QM.nextDataId=0,il("cpu",(()=>new QM),1);const nk=tk(je,(t=>t>=0?t:Math.exp(t)-1)),rk={kernelName:je,backendName:"cpu",kernelFunc:nk};function sk(t){const{inputs:e,backend:n}=t,{x:r}=e;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const ik={kernelName:cn,backendName:"cpu",kernelFunc:sk};function ak(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{alpha:i}=r;JM([s],"leakyRelu");const a=ot(s.shape),o=n.data.get(s.dataId).values,l=bt("float32",a);for(let t=0;t{const a=Ja(e,n),o=a.length,l=Dt(a),u=bt(i,ot(a)),c=e.length,h=n.length,d=Dt(e),p=Dt(n),f=Ka(e,a),m=Ka(n,a);if(f.length+m.length===0)for(let e=0;ei[t]=0));const a=Bt(i,c,d),g=n.slice(-h);m.forEach((t=>g[t]=0));const y=Bt(g,h,p);u[e]=t(r[a],s[y])}return[u,a]}}const uk=lk(((t,e)=>t<0?e*t:t));function ck(t){const{inputs:e,backend:n}=t,{x:r,alpha:s}=e;JM([r,s],"prelu");const i=n.data.get(r.dataId).values,a=n.data.get(s.dataId).values,[o,l]=uk(r.shape,s.shape,i,a,"float32");return n.makeTensorInfo(l,"float32",o)}const hk={kernelName:Qn,backendName:"cpu",kernelFunc:ck},dk=tk(sr,(t=>Math.max(0,t))),pk={kernelName:sr,backendName:"cpu",kernelFunc:dk},fk=tk(cr,(t=>Math.min(Math.max(0,t),6))),mk={kernelName:cr,backendName:"cpu",kernelFunc:fk};function gk(t){return(e,n,r)=>{const s=bt(n,e.length);for(let n=0;n1/(1+Math.exp(-t)))),xk=tk(wr,(t=>1/(1+Math.exp(-t)))),bk={kernelName:wr,backendName:"cpu",kernelFunc:xk};function vk(t,e,n,r,s){if("linear"===n)return sk({inputs:{x:e},backend:t});if("relu"===n)return dk({inputs:{x:e},backend:t});if("elu"===n)return nk({inputs:{x:e},backend:t});if("relu6"===n)return fk({inputs:{x:e},backend:t});if("prelu"===n)return ck({inputs:{x:e,alpha:r},backend:t});if("leakyrelu"===n)return ak({inputs:{x:e},backend:t,attrs:{alpha:s}});if("sigmoid"===n)return xk({inputs:{x:e},backend:t});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}function wk(t){const{inputs:e,backend:n}=t,{real:r,imag:s}=e,i=n.data.get(r.dataId).values,a=n.data.get(s.dataId).values,o=n.makeTensorInfo(r.shape,"complex64");return n.data.get(o.dataId).complexTensorInfos={real:n.makeTensorInfo(r.shape,"float32",i),imag:n.makeTensorInfo(s.shape,"float32",a)},o}const Sk={kernelName:Se,backendName:"cpu",kernelFunc:wk};function Tk(t,e,n="float32"){if("complex64"===n)return wk({inputs:{real:Tk(t,e,"float32"),imag:Tk(t,e,"float32")},backend:t});const r=Ot(ot(e),n);return t.makeTensorInfo(e,n,r)}function _k(t){const{inputs:e,backend:n}=t,{input:r}=e,s=n.data.get(r.dataId).complexTensorInfos.real,i=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,i)}const Mk={kernelName:nr,backendName:"cpu",kernelFunc:_k};function kk(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{dtype:i}=r;if("complex64"===i){if("complex64"===s.dtype)return sk({inputs:{x:s},backend:n});const t=Tk(n,s.shape,s.dtype),e=kk({inputs:{x:s},backend:n,attrs:{dtype:"float32"}}),r=wk({inputs:{real:e,imag:t},backend:n});return n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(e),r}if("complex64"===s.dtype){const t=_k({inputs:{input:s},backend:n}),e=kk({inputs:{x:t},backend:n,attrs:{dtype:i}});return n.disposeIntermediateTensorInfo(t),e}if(!Tt(s.dtype,i)){const t=sk({inputs:{x:s},backend:n});return{dataId:t.dataId,shape:t.shape,dtype:i}}if("int32"===i){const t=n.data.get(s.dataId).values,e=Int32Array.from(t);return n.makeTensorInfo(s.shape,"int32",e)}if("bool"===i){const t=n.data.get(s.dataId).values,e=Ns([0],s.dtype),[r,i]=lk(((t,e)=>t!==e?1:0))(s.shape,[],t,e,"bool");return n.makeTensorInfo(i,"bool",r)}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${i}`)}const Ek={kernelName:be,backendName:"cpu",kernelFunc:kk};function Ik(t,e,n,r){return null==n?({inputs:n,backend:s})=>{const{a:i,b:a}=n,o=s;JM([i,a],t);const l=o.data.get(i.dataId).values,u=o.data.get(a.dataId).values,c="string"===i.dtype?Nf(l):l,h="string"===i.dtype?Nf(u):u,d=r||i.dtype,[p,f]=e(i.shape,a.shape,c,h,d);return o.makeTensorInfo(f,d,p)}:({inputs:t,backend:s})=>{const{a:i,b:a}=t,o=s;if("complex64"===i.dtype||"complex64"===a.dtype){const t=kk({inputs:{x:i},backend:o,attrs:{dtype:"complex64"}}),e=o.data.get(t.dataId),r=e.complexTensorInfos.real,s=e.complexTensorInfos.imag,l=o.data.get(r.dataId).values,u=o.data.get(s.dataId).values,c=kk({inputs:{x:a},backend:o,attrs:{dtype:"complex64"}}),h=o.data.get(c.dataId),d=h.complexTensorInfos.real,p=h.complexTensorInfos.imag,f=o.data.get(d.dataId).values,m=o.data.get(p.dataId).values,[g,y,x]=n(i.shape,a.shape,l,u,f,m),b=o.makeTensorInfo(x,"float32",g),v=o.makeTensorInfo(x,"float32",y),w=wk({inputs:{real:b,imag:v},backend:o});return o.disposeIntermediateTensorInfo(t),o.disposeIntermediateTensorInfo(c),o.disposeIntermediateTensorInfo(b),o.disposeIntermediateTensorInfo(v),w}{const t=o.data.get(i.dataId).values,n=o.data.get(a.dataId).values,s=r||i.dtype,[l,u]=e(i.shape,a.shape,t,n,s);return o.makeTensorInfo(u,s,l)}}}function Ck(t){return(e,n,r,s,i,a)=>{const o=Ja(e,n),l=ot(o),u=o.length,c=Dt(o),h=bt("float32",l),d=bt("float32",l),p=Ka(e,o),f=Ka(n,o),m=Zp(r,s),g=Zp(i,a),y=e.length,x=Dt(e),b=n.length,v=Dt(n);if(p.length+f.length===0)for(let e=0;er[t]=0));const s=Bt(r,y,x),i=n.slice(-b);f.forEach((t=>i[t]=0));const a=Bt(i,b,v),o=t(m[2*s],m[2*s+1],g[2*a],g[2*a+1]);h[e]=o.real,d[e]=o.imag}return[h,d,o]}}const Nk=lk(((t,e)=>t+e)),Ak=Ck(((t,e,n,r)=>({real:t+n,imag:e+r}))),Rk=Ik(Qt,Nk,Ak),Dk={kernelName:Qt,backendName:"cpu",kernelFunc:Rk};function Lk(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{shape:i}=r,a=ot(s.shape),o=gt(i,a),l=ot(o);rt(a===l,(()=>`The new shape (${o}) has ${l} elements and the old shape (${s.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`)),n.incRef(s.dataId);const u=n.data.get(s.dataId);if(null!=u.complexTensorInfos){const t=u.complexTensorInfos.real,e=u.complexTensorInfos.imag;t.shape=o,e.shape=o}return{dataId:s.dataId,shape:o,dtype:s.dtype}}const Fk={kernelName:ir,backendName:"cpu",kernelFunc:Lk};function $k(t){const{inputs:e,backend:n,attrs:r}=t,{a:s,b:i}=e,{transposeA:a,transposeB:o}=r;JM([s,i],"matMul");const l=s.shape.length,u=i.shape.length,c=a?s.shape[l-2]:s.shape[l-1],h=o?i.shape[u-1]:i.shape[u-2],d=a?s.shape[l-1]:s.shape[l-2],p=o?i.shape[u-2]:i.shape[u-1],f=s.shape.slice(0,-2),m=i.shape.slice(0,-2),g=ot(f),y=ot(m),x=Ja(s.shape.slice(0,-2),i.shape.slice(0,-2)).concat([d,p]);rt(c===h,(()=>`Error in matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${s.shape} and ${i.shape} and transposeA=${a} and transposeB=${o} must match.`));const b=o?[y,p,h]:[y,h,p],v=Lk({inputs:{x:s},backend:n,attrs:{shape:a?[g,c,d]:[g,d,c]}}),w=Lk({inputs:{x:i},backend:n,attrs:{shape:b}}),S=a?v.shape[1]:v.shape[2],T=a?v.shape[2]:v.shape[1],_=o?w.shape[1]:w.shape[2],M=Math.max(g,y),k=n.data.get(v.dataId).values,E=n.data.get(w.dataId).values,I=Dt(v.shape),C=Dt(w.shape),[N,A,R]=a?[I[0],1,I[1]]:[I[0],I[1],1],[D,L,F]=o?[1,C[1],C[0]]:[C[1],1,C[0]],$=T*_,O=_a([M,T,_],v.dtype),P=O.values,z=n.blockSize;for(let t=0;t{const{x:e}=t.inputs,n=t.backend;JM(e,"abs");let r=new Float32Array(ot(e.shape));return r=zk(n.data.get(e.dataId).values),n.makeOutput(r,e.shape,e.dtype)}},Uk=tk(Jt,(t=>Math.acos(t))),Vk={kernelName:Jt,backendName:"cpu",kernelFunc:Uk},Wk=tk(Zt,(t=>Math.acosh(t))),Hk={kernelName:Zt,backendName:"cpu",kernelFunc:Wk},Gk={kernelName:te,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,r=e;JM(e,"addN");const s=r.map((t=>n.data.get(t.dataId).values)),i=_a(r[0].shape,r[0].dtype),a=i.values;for(let t=0;tn&&(n=s,r=t)}d[t]=r}return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(c,"int32",d)}},Zk={kernelName:se,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i}=r;JM(s,"argMin");let a=yt(i,s.shape);const o=Nc(a,s.shape.length);let l=s;const u=[];null!=o&&(l=qk({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),a=Rc(a.length,l.shape.length)),a=[a[0]],Cc("argMin",a,l.shape.length);const[c,h]=Ec(l.shape,a),d=Ot(ot(c),"int32"),p=ot(h),f=n.data.get(l.dataId).values;for(let t=0;tn.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(c,"int32",d)}},Qk=tk(ie,(t=>Math.asin(t))),tE={kernelName:ie,backendName:"cpu",kernelFunc:Qk},eE=tk(ae,(t=>Math.asinh(t))),nE={kernelName:ae,backendName:"cpu",kernelFunc:eE},rE=tk(oe,(t=>Math.atan(t))),sE={kernelName:oe,backendName:"cpu",kernelFunc:rE},iE=lk(((t,e)=>Math.atan2(t,e))),aE=Ik(ue,iE),oE={kernelName:ue,backendName:"cpu",kernelFunc:aE},lE=tk(le,(t=>Math.atanh(t))),uE={kernelName:le,backendName:"cpu",kernelFunc:lE};function cE(t,e,n,r,s,i){const a=s.strideHeight,o=s.strideWidth,l=s.dilationHeight,u=s.dilationWidth,c=s.effectiveFilterHeight,h=s.effectiveFilterWidth,d=s.padInfo.top,p=s.padInfo.left,f="max"===i?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=_a(s.outShape,n),g=m.values,y=s.outShape[1]*s.outShape[2]*s.outShape[3],x=s.outShape[2]*s.outShape[3],b=s.outShape[3];for(let e=0;ey?y=a:"avg"===i&&(x+=a,v++)}if(isNaN(y))break}g[T+n*b+e]="avg"===i?x/v:y}}}return m}function hE(t,e,n,r,s=!1,i=!1){const a=_a(r.outShape,"int32"),o=r.strideHeight,l=r.strideWidth,u=r.dilationHeight,c=r.dilationWidth,h=r.effectiveFilterHeight,d=r.effectiveFilterWidth,p=r.padInfo.top,f=r.padInfo.left,m=_a(e,n,t);for(let t=0;tv&&(v=u,w=s?i?((t*r.inHeight+n)*r.inWidth+o)*r.inChannels+e:(n*r.inWidth+o)*r.inChannels+e:a*d+l)}}a.set(w,t,n,o,e)}}return a}function dE(t,e,n,r,s,i){const a=s.strideDepth,o=s.strideHeight,l=s.strideWidth,u=s.dilationDepth,c=s.dilationHeight,h=s.dilationWidth,d=s.effectiveFilterDepth,p=s.effectiveFilterHeight,f=s.effectiveFilterWidth,m=s.padInfo.front,g=s.padInfo.top,y=s.padInfo.left,x="max"===i?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,b=_a(s.outShape,n),v=b.values,w=s.outShape[1]*s.outShape[2]*s.outShape[3]*s.outShape[4],S=s.outShape[2]*s.outShape[3]*s.outShape[4],T=s.outShape[3]*s.outShape[4],_=s.outShape[4];for(let e=0;eS?S=s:"avg"===i&&(T+=s,M++),isNaN(S))break}if(isNaN(S))break}if(isNaN(S))break}v[g+e]="avg"===i?T/M:S}}}}return b}const pE={kernelName:ce,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;JM(s,"avgPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))c=sk({inputs:{x:s},backend:n});else{const t=n.data.get(s.dataId).values,e=Dt(s.shape),r=cE(t,s.shape,s.dtype,e,u,"avg");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},fE={kernelName:de,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l,dataFormat:u}=r;JM(s,"avgPool3d");const c=Jl(s.shape,i,a,1,o,l,u),h=dE(n.data.get(s.dataId).values,s.shape,s.dtype,Dt(s.shape),c,"avg");return n.makeTensorInfo(h.shape,"float32",h.values)}},mE={kernelName:pe,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,{filterSize:a,strides:o,pad:l,dimRoundingMode:u}=r;JM([s,i],"avgPool3DGrad");const c=Jl(i.shape,a,o,1,l,u),h=c.strideDepth,d=c.strideHeight,p=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,y=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,v=c.effectiveFilterDepth,w=c.effectiveFilterHeight,S=c.effectiveFilterWidth,T=v-1-c.padInfo.front,_=S-1-c.padInfo.left,M=w-1-c.padInfo.top,k=_a(i.shape,"float32"),E=1/(f*m*g),I=n.bufferSync(s);for(let t=0;t=c.outDepth||Math.floor(r)!==r))for(let n=0;n=c.outHeight||Math.floor(s)!==s))for(let n=0;n=c.outWidth||Math.floor(i)!==i||(l+=I.get(t,r,s,i,e))}}}k.set(l*E,t,n,r,s,e)}return n.makeTensorInfo(k.shape,k.dtype,k.values)}},gE={kernelName:he,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i;JM([s,i],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(a.shape,o,l,1,u),h=c.strideHeight,d=c.strideWidth,p=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,y=c.effectiveFilterHeight,x=c.effectiveFilterWidth,b=x-1-c.padInfo.left,v=y-1-c.padInfo.top,w=_a(a.shape,"float32"),S=1/(p*f),T=n.data.get(s.dataId).values,_=_a(s.shape,"float32",T);for(let t=0;t=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s||(a+=_.get(t,r,s,e))}}w.set(a*S,t,n,r,e)}return n.makeTensorInfo(w.shape,w.dtype,w.values)}},yE={kernelName:sn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,scale:i,offset:a,mean:o,variance:l}=e;rt(o.shape.length===l.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),rt(null==a||o.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),rt(null==i||o.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks.")),JM([s,o,l,i,a],"batchNorm");let{varianceEpsilon:u}=r;null==u&&(u=.001);const c=n.data.get(s.dataId).values,h=n.data.get(o.dataId).values,d=n.data.get(l.dataId).values,p=i?n.data.get(i.dataId).values:new Float32Array([1]),f=a?n.data.get(a.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,y=p.length,x=d.length,b=h.length;let v=0,w=0,S=0,T=0;for(let t=0;t=g&&(v=0),w>=b&&(w=0),S>=y&&(S=0),T>=x&&(T=0);return n.makeTensorInfo(s.shape,s.dtype,m)}};function xE(t,e,n,r,s){const i=wo(r,e,n),a=ot(n),o=Dt(r);if(i){const n=So(e,o);return"string"===s?t.slice(n,n+a):t.subarray(n,n+a)}const l=_a(r,s,"string"===s?Nf(t):t),u=_a(n,s);for(let t=0;tt+e[n]));u.set(l.get(...r),...n)}return"string"===s?Af(u.values):u.values}function bE(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{begin:i,size:a}=r;JM(s,"slice");const[o,l]=To(s,i,a);lo(s,o,l);const u=xE(n.data.get(s.dataId).values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,u)}const vE={kernelName:yr,backendName:"cpu",kernelFunc:bE},wE={kernelName:me,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockShape:i,crops:a}=r;JM([s],"batchToSpaceND");const o=i.reduce(((t,e)=>t*e)),l=zp(s.shape,i,o),u=Bp(l.length,i.length),c=Up(s.shape,i,o),h=Vp(a,i.length),d=Wp(c,a,i.length),p=Lk({inputs:{x:s},backend:n,attrs:{shape:l}}),f=qk({inputs:{x:p},backend:n,attrs:{perm:u}}),m=Lk({inputs:{x:f},backend:n,attrs:{shape:c}}),g=bE({inputs:{x:m},backend:n,attrs:{begin:h,size:d}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};function SE(t,e,n,r,s){const i=ot(r),a=Ot(s,n);for(let n=0;n=s||(a[r]+=i>0?e[n]:1)}return a}function TE(t,e,n,r=!1){const s=t.shape[0],i=t.shape[1],a=_a([s,n],e.dtype);for(let o=0;o=n||(r?a.set(1,o,i):e.size>0?a.set(a.get(o,i)+e.get(o,s),o,i):a.set(a.get(o,i)+1,o,i))}return a}const _E={kernelName:ge,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,weights:i}=e,{size:a}=r,o=SE(n.data.get(s.dataId).values,n.data.get(i.dataId).values,i.dtype,i.shape,a);return n.makeTensorInfo([a],i.dtype,o)}},ME={kernelName:xe,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,{s0:r,s1:s}=e,i=n.data.get(r.dataId).values,a=n.data.get(s.dataId).values,o=Ja(Array.from(i),Array.from(a));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},kE=gk((t=>Math.ceil(t))),EE=ek(ve,kE),IE={kernelName:ve,backendName:"cpu",kernelFunc:EE},CE=tk(we,((t,e)=>{const n=e;return t>n.clipValueMax?n.clipValueMax:t{const{x:e}=t.inputs,n=t.backend,r=new Float32Array(ot(e.shape)),s=n.data.get(e.dataId),i=s.complexTensorInfos.real,a=s.complexTensorInfos.imag,o=n.data.get(i.dataId).values,l=n.data.get(a.dataId).values;for(let t=0;t{const n=ot(t.shape);s.set(t.vals,e),e+=n}))}else{let r=0;t.forEach((t=>{const i="string"===n?Nf(t.vals):t.vals;let a=0;for(let n=0;nt.shape)),i);if(0===ot(a))return n.makeTensorInfo(a,e[0].dtype,[]);const o=e.filter((t=>ot(t.shape)>0));if(1===o.length)return sk({inputs:{x:o[0]},backend:n});if(Lp(o.map((t=>t.shape)),i),"complex64"===o[0].dtype){const t=o.map((t=>_k({inputs:{input:t},backend:n}))),e=o.map((t=>DE({inputs:{input:t},backend:n}))),r=FE({inputs:t,backend:n,attrs:{axis:i}}),s=FE({inputs:e,backend:n,attrs:{axis:i}}),a=wk({inputs:{real:r,imag:s},backend:n});return t.forEach((t=>n.disposeIntermediateTensorInfo(t))),e.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),a}const l=o.map((t=>{const e=ot(t.shape.slice(i));return Lk({inputs:{x:t},backend:n,attrs:{shape:[-1,e]}})})),u=l.map((t=>({vals:n.data.get(t.dataId).values,shape:t.shape})));a=Fp(l.map((t=>t.shape)),1);const c=1===l[0].shape[0],h=RE(u,a,e[0].dtype,c),d=Fp(o.map((t=>t.shape)),i),p=n.makeTensorInfo(d,e[0].dtype,h);return l.forEach((t=>n.disposeIntermediateTensorInfo(t))),p}const $E={kernelName:_e,backendName:"cpu",kernelFunc:FE};function OE(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r;JM([s,i],"conv2d");const h=ou(l),d=Zl(s.shape,i.shape,a,u,o,c,!1,h),p=d.filterHeight,f=d.filterWidth,m=d.dilationHeight,g=d.dilationWidth,y=d.padInfo.left,x=d.padInfo.top,b="channelsLast"===d.dataFormat,v=new Ws(d.outShape,s.dtype),w=Dt(s.shape),S=Dt(i.shape),T=w[0],_=b?w[1]:w[2],M=b?w[2]:1,k=b?1:w[1],E=v.strides[0],I=b?v.strides[1]:v.strides[2],C=b?v.strides[2]:1,N=b?1:v.strides[1],A=n.data.get(s.dataId).values,R=n.data.get(i.dataId).values,D=v.values;for(let t=0;t=d.inHeight)continue;const i=t*S[0],a=e+n*_;for(let t=0;t=d.inWidth)continue;const s=a+r*M;let o=i+t*S[1];for(let t=0;t=u.inDepth)continue;const i=t*M[0],a=e+n*_[1];for(let t=0;t=u.inHeight)continue;const s=i+t*M[1],o=a+r*_[2];for(let t=0;t=u.inWidth)continue;const i=s+t*M[2],a=o+e*u.inChannels;let l=i;for(let t=0;tMath.cos(t))),GE={kernelName:Ae,backendName:"cpu",kernelFunc:HE},jE=tk(Re,(t=>Math.cosh(t))),qE={kernelName:Re,backendName:"cpu",kernelFunc:jE},XE={kernelName:Le,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{image:s,boxes:i,boxInd:a}=e,{cropSize:o,method:l,extrapolationValue:u}=r,[c,h,d,p]=s.shape,f=i.shape[0],[m,g]=o,y=_a([f,m,g,p],"float32"),x=n.data.get(i.dataId).values,b=n.data.get(a.dataId).values,v=n.data.get(s.dataId).values,w=Dt(s.shape),S=Dt(y.shape);for(let t=0;t=c)continue;const o=m>1?(s-n)*(h-1)/(m-1):0,f=g>1?(i-r)*(d-1)/(g-1):0;for(let e=0;e1?n*(h-1)+e*o:.5*(n+s)*(h-1);if(c<0||c>h-1)for(let n=0;n1?r*(d-1)+l*f:.5*(r+i)*(d-1);if(c<0||c>d-1){for(let n=0;n1?r*(d-1)+n*f:.5*(r+i)*(d-1);if(s<0||s>d-1){for(let r=0;rt+f-e-1:(t,e)=>t+e;for(let t=0;t`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${a}`));const o=s.shape[0],l=s.shape[1],u=s.shape[2],c=s.shape[3],h=l*i,d=u*i,p=c/(i*i),f=n.data.get(s.dataId).values,m=new Float32Array(o*h*d*p);let g=0;for(let t=0;t`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${d}'`));const p=Zl(s.shape,i.shape,a,d,o,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:y,padInfo:x}=p,b=x.left,v=x.top,w=p.outChannels/p.inChannels,S=new Ws(p.outShape,s.dtype),T=n.data.get(s.dataId).values,_=n.data.get(i.dataId).values,M=S.values;for(let t=0;t=p.inHeight)continue;const i=t*h[0],a=e+n*c[1];for(let t=0;t=p.inWidth)continue;const s=i+t*h[1],o=a+r*p.inChannels;let l=e,u=s;for(let t=0;t{const{x:r,filter:s}=t,{strides:i,pad:a,dilations:o}=n,l=e,u=l.data.get(r.dataId).values,c=r.shape.length,h=l.data.get(s.dataId).values,d=s.shape.length,{batchSize:p,inHeight:f,inWidth:m,inChannels:g,outHeight:y,outWidth:x,padInfo:b,strideHeight:v,strideWidth:w,filterHeight:S,filterWidth:T,dilationHeight:_,dilationWidth:M,outShape:k}=Kl(r.shape,s.shape,i,a,"NHWC",o),E=ot(k),I=k.length,C=vt(r.dtype,E);for(let t=0;t=0&&i=0&&pl&&(l=m)}}}C[Bt([t,e,i,o],I,Dt(k))]=l}}}return{dataId:l.write(Ns(C,r.dtype),k,r.dtype),shape:k,dtype:r.dtype}}},sI={kernelName:We,backendName:"cpu",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r,filter:s,dy:i}=t,{strides:a,pad:o,dilations:l}=n,u=e,c=Ft(r.shape,u.data.get(r.dataId).values),h=Ft(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:x,strideHeight:b,strideWidth:v,filterHeight:w,filterWidth:S,dilationHeight:T,dilationWidth:_,outShape:M}=Kl(r.shape,s.shape,a,o,"NHWC",l);rt(i.rank===M.length,(()=>`Error in ${We}, dy must have the same rank as output ${M.length}, but got ${i.rank}`));const k=Ft(M,u.data.get(i.dataId).values),E=Pt(s.shape,s.dtype);for(let t=0;t=0&&r=0&&ua&&(a=s,o=e,l=n)}}}E[o][l][i]+=k[t][e][r][i]}}}return{dataId:u.write(Ns(E,r.dtype),s.shape,s.dtype),shape:s.shape,dtype:s.dtype}}},iI={kernelName:Ve,backendName:"cpu",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r,filter:s,dy:i}=t,{strides:a,pad:o,dilations:l}=n,u=e,c=Ft(r.shape,u.data.get(r.dataId).values),h=Ft(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:x,strideHeight:b,strideWidth:v,filterHeight:w,filterWidth:S,dilationHeight:T,dilationWidth:_,outShape:M}=Kl(r.shape,s.shape,a,o,"NHWC",l);rt(i.rank===M.length,(()=>`Error in ${Ve}, dy must have the same rank as output ${M.length}, but got ${i.rank}`));const k=Ft(M,u.data.get(i.dataId).values),E=Pt(r.shape,r.dtype);for(let t=0;t=0&&r=0&&ua&&(a=s,o=r,l=u)}}}E[t][o][l][i]+=k[t][e][r][i]}}}return{dataId:u.write(Ns(E,r.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},aI=lk(((t,e)=>t*e)),oI=Ck(((t,e,n,r)=>({real:t*n-e*r,imag:t*r+e*n}))),lI=Ik(Un,aI,oI),uI={kernelName:Un,backendName:"cpu",kernelFunc:lI};function cI(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r;let o;JM(s,"sum"),o="bool"===s.dtype?kk({inputs:{x:s},backend:n,attrs:{dtype:"int32"}}):sk({inputs:{x:s},backend:n});const l=o.shape.length,u=yt(i,o.shape),c=Nc(u,l);let h=u,d=o;null!=c&&(d=qk({inputs:{x:o},backend:n,attrs:{perm:c}}),h=Rc(h.length,l)),Cc("sum",h,d.shape.length);const[p,f]=Ec(d.shape,h);let m=Tk(n,p,ni(d.dtype,"int32"));const g=ot(f),y=n.data.get(m.dataId).values,x=n.data.get(d.dataId).values;for(let t=0;t=0&&(d=cI({inputs:{x:d},backend:n,attrs:{axis:u[t]-(a.length-p),keepDims:!1}}),f.push(d)),p--)}for(const t of f)t!==d&&n.disposeIntermediateTensorInfo(t);return d}},pI={kernelName:qe,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,{dy:r,y:s}=e;JM([r,s],"eluGrad");const i=new Float32Array(ot(s.shape)),a=n.data.get(s.dataId).values,o=n.data.get(r.dataId).values;for(let t=0;t=1?o[t]:o[t]*(e+1)}return n.makeTensorInfo(s.shape,"float32",i)}},fI=lk(((t,e)=>t===e?1:0)),mI=Ik(Ke,fI,null,"bool"),gI={kernelName:Ke,backendName:"cpu",kernelFunc:mI},yI=jp,xI=qp,bI=Xp,vI=Kp,wI=Yp,SI=Jp,TI=tk(Xe,(t=>{const e=Math.sign(t),n=Math.abs(t),r=1/(1+yI*n);return e*(1-((((SI*r+wI)*r+vI)*r+bI)*r+xI)*r*Math.exp(-n*n))})),_I={kernelName:Xe,backendName:"cpu",kernelFunc:TI},MI=gk((t=>Math.exp(t))),kI=ek(Ye,MI,"float32"),EI={kernelName:Ye,backendName:"cpu",kernelFunc:kI};function II(t){const{inputs:e,backend:n,attrs:r}=t,{input:s}=e,{dim:i}=r,a=s.shape.length,o=s.shape.slice();let l=i;return i<0&&(rt(-(a+1)<=i,(()=>`Axis must be in the interval [${-(a+1)}, ${a}]`)),l=a+i+1),o.splice(l,0,1),Lk({inputs:{x:s},backend:n,attrs:{shape:o}})}const CI={kernelName:Je,backendName:"cpu",kernelFunc:II},NI=gk((t=>Math.expm1(t))),AI=ek(Ze,NI),RI={kernelName:Ze,backendName:"cpu",kernelFunc:AI},DI=lk(((t,e)=>t/e)),LI=Ik(He,DI),FI={kernelName:He,backendName:"cpu",kernelFunc:LI},$I=lk(((t,e)=>t-e)),OI=Ck(((t,e,n,r)=>({real:t-n,imag:e-r}))),PI=Ik(zr,$I,OI),zI={kernelName:zr,backendName:"cpu",kernelFunc:PI};function BI(t,e,n){const r=t.shape,s=r[0],i=r[1],a=n.data.get(t.dataId),o=a.complexTensorInfos.real,l=a.complexTensorInfos.imag,u=[s,i],c=ot(u),h=bt("float32",c),d=bt("float32",c);for(let t=0;t{const{image:r}=t,s=n,i=bt(r.dtype,ot(r.shape)),[a,o,l,u]=r.shape,c=s.data.get(r.dataId).values;for(let t=0;t=0&&aMath.floor(t))),XI=ek(nn,qI),KI={kernelName:nn,backendName:"cpu",kernelFunc:XI},YI=lk(((t,e)=>Math.floor(t/e))),JI=Ik(rn,YI,null,"int32"),ZI={kernelName:rn,backendName:"cpu",kernelFunc:JI},QI={kernelName:ts,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let m=OE({inputs:{x:s,filter:i},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(a){const t=m;m=Rk({inputs:{a:m,b:a},backend:n}),n.disposeIntermediateTensorInfo(t)}if(p){const t=m;m=vk(n,m,p,o,f),n.disposeIntermediateTensorInfo(t)}return m}},tC={kernelName:es,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let m=ZE({inputs:{x:s,filter:i},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(a){const t=m;m=Rk({inputs:{a:m,b:a},backend:n}),n.disposeIntermediateTensorInfo(t)}if(p){const t=m;m=vk(n,m,p,o,f),n.disposeIntermediateTensorInfo(t)}return m}};function eC(t,e,n,r,s,i,a,o,l){const u=_a([r,i],n);for(let n=0;n=l/i)throw new Error(`Invalid indices: ${r} does not index into ${o}`);for(let t=0;t=0,(()=>`GatherV2: the index value ${e} is not in [0, ${c-1}]`))}let h=o;null==o&&(h=0);const d=ot(i.shape),p=Cf(s,i,l,h),f=Lk({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),m=Lk({inputs:{x:i},backend:n,attrs:{shape:[p.batchSize,d/p.batchSize]}}),g=[p.batchSize,p.outerSize,d/p.batchSize,p.sliceSize],y=n.bufferSync(m),x=rC(n.bufferSync(f),y,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(p.outputShape,x.dtype,x.values)}},iC=lk(((t,e)=>t>e?1:0)),aC=Ik(ln,iC,null,"bool"),oC={kernelName:ln,backendName:"cpu",kernelFunc:aC},lC=lk(((t,e)=>t>=e?1:0)),uC=Ik(un,lC,null,"bool"),cC={kernelName:un,backendName:"cpu",kernelFunc:uC},hC={kernelName:hn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n}=t,{input:r}=e,s=ot(r.shape),i=r.shape[r.shape.length-1],a=Lk({inputs:{x:r},backend:n,attrs:{shape:[s/i,i]}}),o=BI(a,!0,n),l=Lk({inputs:{x:o},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(o),l}},dC=tk(pn,(t=>Number.isFinite(t)?1:0),"bool"),pC={kernelName:pn,backendName:"cpu",kernelFunc:dC},fC=tk(fn,(t=>Math.abs(t)===1/0?1:0),"bool"),mC={kernelName:fn,backendName:"cpu",kernelFunc:fC},gC=tk(mn,(t=>Number.isNaN(t)?1:0),"bool"),yC={kernelName:mn,backendName:"cpu",kernelFunc:gC},xC=lk(((t,e)=>tt<=e?1:0)),SC=Ik(xn,wC,null,"bool"),TC={kernelName:xn,backendName:"cpu",kernelFunc:SC};function _C(t,e,n){const r=(e-t)/(n-1),s=Ot(n,"float32");s[0]=t;for(let t=1;tMath.log(t))),EC=ek(vn,kC),IC={kernelName:vn,backendName:"cpu",kernelFunc:EC},CC=tk(wn,(t=>Math.log1p(t))),NC={kernelName:wn,backendName:"cpu",kernelFunc:CC},AC=lk(((t,e)=>t&&e)),RC=Ik(Sn,AC,null,"bool"),DC={kernelName:Sn,backendName:"cpu",kernelFunc:RC},LC=tk(Tn,(t=>t?0:1),"bool"),FC={kernelName:Tn,backendName:"cpu",kernelFunc:LC},$C=lk(((t,e)=>t||e)),OC=Ik(_n,$C,null,"bool"),PC={kernelName:_n,backendName:"cpu",kernelFunc:OC},zC={kernelName:kn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{depthRadius:i,bias:a,alpha:o,beta:l}=r;JM(s,"LRN");const u=s.shape[3],c=u-1,h=n.data.get(s.dataId).values,d=ot(s.shape),p=new Float32Array(d);function f(t){const e=t%u;let n=t-e+Math.max(0,e-i);const r=t-e+Math.min(e+i,c);let s=0;for(;n<=r;n++){const t=h[n];s+=t*t}return s}for(let t=0;ti)&&(i=e)}s[n]=i}return s}function VC(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{reductionIndices:i,keepDims:a}=r,o=n;let l=s.shape;const u=l.length,c=yt(i,l);let h=c;const d=Nc(h,u);let p=o.data.get(s.dataId).values;if(null!=d){const t=new Array(u);for(let e=0;eMath.max(t,e))),GC=Ik(Cn,HC),jC={kernelName:Cn,backendName:"cpu",kernelFunc:GC},qC={kernelName:Nn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;JM(s,"maxPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))c=sk({inputs:{x:s},backend:n});else{const t=n.data.get(s.dataId).values,e=Dt(s.shape),r=cE(t,s.shape,s.dtype,e,u,"max");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},XC={kernelName:Rn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l,dataFormat:u}=r;JM(s,"maxPool3d");const c=Jl(s.shape,i,a,1,o,l,u),h=dE(n.data.get(s.dataId).values,s.shape,s.dtype,Dt(s.shape),c,"max");return n.makeTensorInfo(h.shape,"float32",h.values)}},KC={kernelName:Dn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,{filterSize:a,strides:o,pad:l,dimRoundingMode:u}=r;JM([s,i],"maxPool3DGrad");const c=Jl(i.shape,a,o,1,l,u),h=function(t,e){const n=_a(e.outShape,"int32"),r=e.strideDepth,s=e.strideHeight,i=e.strideWidth,a=e.dilationDepth,o=e.dilationHeight,l=e.dilationWidth,u=e.effectiveFilterDepth,c=e.effectiveFilterHeight,h=e.effectiveFilterWidth,d=e.padInfo.front,p=e.padInfo.top,f=e.padInfo.left;for(let m=0;m=_&&(_=o,M=n*c*h+s*c+a)}}}n.set(M,m,y,r,s,g)}}}return n}(n.bufferSync(i),c),d=c.strideDepth,p=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,y=c.dilationWidth,x=c.effectiveFilterDepth,b=c.effectiveFilterHeight,v=c.effectiveFilterWidth,w=x-1-c.padInfo.front,S=v-1-c.padInfo.left,T=b-1-c.padInfo.top,_=_a(i.shape,"float32"),M=n.bufferSync(s);for(let t=0;t=c.outDepth||Math.floor(r)!==r))for(let s=0;s=c.outHeight||Math.floor(i)!==i))for(let a=0;a=c.outWidth||Math.floor(u)!==u)continue;const d=x*b*v-1-h.get(t,r,i,u,e)===n*b*v+s*v+a?1:0;0!==d&&(l+=M.get(t,r,i,u,e)*d)}}}_.set(l,t,n,r,s,e)}return n.makeTensorInfo(_.shape,_.dtype,_.values)}},YC={kernelName:An,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i,output:a}=e,o=i;JM([i,a],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,d=Yl(o.shape,l,u,1,c,h),p=n.data.get(o.dataId).values,f=_a(d.outShape,o.dtype,hE(p,o.shape,o.dtype,d).values),m=d.strideHeight,g=d.strideWidth,y=d.dilationHeight,x=d.dilationWidth,b=d.effectiveFilterHeight,v=d.effectiveFilterWidth,w=v-1-d.padInfo.left,S=b-1-d.padInfo.top,T=_a(o.shape,"float32"),_=n.data.get(s.dataId).values,M=_a(s.shape,"float32",_);for(let t=0;t=d.outHeight||Math.floor(r)!==r))for(let s=0;s=d.outWidth||Math.floor(o)!==o)continue;const l=b*v-1-f.get(t,r,o,e)===n*v+s?1:0;0!==l&&(a+=M.get(t,r,o,e)*l)}}T.set(a,t,n,r,e)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}},JC={kernelName:Ln,backendName:"cpu",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{x:r}=t,{filterSize:s,strides:i,pad:a,includeBatchInIndex:o}=e,l=n;JM(r,"MaxPoolWithArgmax");const u=l.data.get(r.dataId).values,c=Yl(r.shape,s,i,[1,1],a),[h,d]=function(t,e,n,r,s){const i=cE(t,0,n,Dt(e),s,"max"),a=hE(t,e,n,s,!0,r);return[i.values,a.values]}(u,r.shape,r.dtype,o,c),p=l.write(h,c.outShape,r.dtype),f=l.write(d,c.outShape,r.dtype);return[{dataId:p,shape:c.outShape,dtype:r.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}},ZC={kernelName:Fn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=yt(i,s.shape),l=ot(Ec(s.shape,o)[1]),u=[],c=n.makeTensorInfo([],"float32",new Float32Array([l]));u.push(c);const h=kk({inputs:{x:s},backend:n,attrs:{dtype:"float32"}});u.push(h);const d=LI({inputs:{a:h,b:c},backend:n});u.push(d);const p=cI({inputs:{x:d},backend:n,attrs:{axis:i,keepDims:a}});return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),p}},QC={kernelName:$n,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r;JM(s,"min");const o=yt(i,s.shape);let l=o;const u=Nc(l,s.shape.length);let c=s;null!=u&&(c=qk({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Rc(l.length,s.shape.length)),Cc("min",l,c.shape.length);const[h,d]=Ec(c.shape,l),p=ot(d),f=Ot(ot(h),c.dtype),m=n.data.get(c.dataId).values;for(let t=0;tMath.min(t,e))),eN=Ik(On,tN),nN={kernelName:On,backendName:"cpu",kernelFunc:eN},rN={kernelName:Pn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{paddings:i,mode:a}=r;JM(s,"mirrorPad");const o=i.map(((t,e)=>t[0]+s.shape[e]+t[1])),l=i.map((t=>t[0])),u=i.map(((t,e)=>t[0]+s.shape[e])),c="reflect"===a?0:1,h=n.data.get(s.dataId).values,d=s.shape.length,p=Dt(s.shape),f=ot(o),m=o.length,g=Dt(o),y=bt(s.dtype,f);for(let t=0;t=u[t]&&(e[t]=2*(u[t]-1)-e[t]+c);e=e.map(((t,e)=>t-l[e]));const n=Bt(e,d,p);y[t]=h[n]}return{dataId:n.write(y,o,s.dtype),shape:o,dtype:s.dtype}}},sN=lk(((t,e)=>{const n=t%e;return t<0&&e<0||t>=0&&e>=0?n:(n+e)%e})),iN=Ik(zn,sN),aN={kernelName:zn,backendName:"cpu",kernelFunc:iN};function oN(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{dim:i}=r,a=s.shape.length;let o=i;if(-1===o&&(o=a-1),o!==a-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${a} and dim was ${o}`);const l=yt([o],s.shape),u=VC({inputs:{x:s},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=Ic(u.shape,l),h=Lk({inputs:{x:u},backend:n,attrs:{shape:c}}),d=PI({inputs:{a:s,b:h},backend:n}),p=kI({inputs:{x:d},backend:n}),f=cI({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),m=Lk({inputs:{x:f},backend:n,attrs:{shape:c}}),g=LI({inputs:{a:p,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const lN={kernelName:Er,backendName:"cpu",kernelFunc:oN},uN={kernelName:Bn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{numSamples:i,seed:a,normalized:o}=r;JM(s,"multinomial");const l=o?s:oN({inputs:{logits:s},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],h=n.data.get(l.dataId).values,d=[u,i],p=Ot(ot(d),"int32");for(let t=0;tt!==e?1:0)),bN=Ik(Wn,xN,null,"bool"),vN={kernelName:Wn,backendName:"cpu",kernelFunc:bN},wN={kernelName:Xn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{indices:s}=e,{depth:i,onValue:a,offValue:o}=r;JM(s,"oneHot");const l=ot(s.shape),u=new Float32Array(l*i);u.fill(o);const c=n.data.get(s.dataId).values;for(let t=0;t=0&&c[t]{st(i,t.shape,"All tensors passed to stack must have matching shapes"),rt(a===t.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=FE({inputs:e.map((t=>{const e=II({inputs:{input:t},backend:n,attrs:{dim:s}});return o.push(e),e})),backend:n,attrs:{axis:s}});return o.forEach((t=>n.disposeIntermediateTensorInfo(t))),l}const kN={kernelName:Kn,backendName:"cpu",kernelFunc:MN},EN={kernelName:Yn,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{paddings:i,constantValue:a}=r;JM(s,"pad");const o=i.map(((t,e)=>t[0]+s.shape[e]+t[1])),l=i.map((t=>t[0])),u=n.data.get(s.dataId).values,c=ot(s.shape),h=s.shape.length,d=Dt(s.shape),p=ot(o),f=o.length,m=Dt(o),g=bt(s.dtype,p);0!==a&&g.fill(a);for(let t=0;tt+l[e])),f,m)]=u[t];return{dataId:n.write(g,o,s.dtype),shape:o,dtype:s.dtype}}},IN=lk(((t,e)=>Math.pow(t,e))),CN=Ik(Zn,IN),NN={kernelName:Zn,backendName:"cpu",kernelFunc:CN};function AN(t,e,n,r){const[s,i]=Ec(t,r),a=ni(e,"int32"),o=Ot(ot(s),a),l=ot(i);for(let t=0;tn.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(y,g,f)}};function DN(t,e,n,r){if(t===e||t1)return Ot(0,r);const s=Ot(Math.abs(Math.ceil((e-t)/n)),r);e1/t)),$N={kernelName:rr,backendName:"cpu",kernelFunc:FN},ON={kernelName:lr,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s}=e,{alignCorners:i,halfPixelCenters:a,size:o}=r;JM(s,"resizeBilinear");const l=Dt(s.shape),[u,c]=o,[h,d,p,f]=s.shape,m=n.data.get(s.dataId).values,g=new Float32Array(ot([h,u,c,f])),y=[i&&u>1?d-1:d,i&&c>1?p-1:p],x=[i&&u>1?u-1:u,i&&c>1?c-1:c];let b=0;const v=y[0]/x[0],w=y[1]/x[1];for(let t=0;t1?u-1:u,a&&p>1?c-1:c],g=[a&&d>1?d-1:d,a&&p>1?p-1:p],y=m[0]/g[0],x=m[1]/g[1],b=n.data.get(i.dataId).values;let v=0;for(let t=0;t1?d-1:d,i&&c>1?p-1:p],x=[i&&u>1?u-1:u,i&&c>1?c-1:c],b=y[0]/x[0],v=y[1]/x[1];let w=0;for(let t=0;t1?c-1:c,a&&f>1?h-1:h],x=[a&&p>1?p-1:p,a&&f>1?f-1:f],b=y[0]/x[0],v=y[1]/x[1],w=1/b,S=1/v,T=2*Math.ceil(w)+2,_=2*Math.ceil(S)+2;for(let t=0;t=p)continue;const d=e+u*l[1],m=u*b;if(t===Math.min(c-1,a?Math.round(m):Math.floor(m)))for(let t=0;t<_;t++){const e=t+y;if(e<0||e>=f)continue;const s=d+e*l[2],i=e*v;r===Math.min(h-1,a?Math.round(i):Math.floor(i))&&(o+=g[s+n])}}m[i+n]=o}}}}return n.makeTensorInfo(s.shape,s.dtype,m)}},UN={kernelName:hr,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{dims:i}=r;JM(s,"reverse");const a=s.shape.length,o=yt(i,s.shape);if(0===a)return sk({inputs:{x:s},backend:n});const l=new Ws(s.shape,s.dtype),u=n.bufferSync(s);for(let t=0;tn[t]=s.shape[t]-1-n[t])),l.set(u.get(...n),...e)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},VN={kernelName:Zr,backendName:"cpu",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{image:r}=t,{radians:s,fillValue:i,center:a}=e,o=n,l=bt(r.dtype,ot(r.shape)),[u,c,h,d]=r.shape,[p,f]=Pp(a,c,h),m=Math.sin(s),g=Math.cos(s),y=o.data.get(r.dataId).values;for(let t=0;t=0&&v=0&&w{const e=Math.floor(t);return t-e<.5?Math.floor(t):t-e>.5?Math.ceil(t):e%2==0?e:e+1})),HN={kernelName:dr,backendName:"cpu",kernelFunc:WN},GN=gk((t=>1/Math.sqrt(t))),jN=ek(pr,GN),qN={kernelName:pr,backendName:"cpu",kernelFunc:jN};function XN(t,e,n,r,s,i,a,o,l,u){const c=[r/s,s],h=t.values,d=e.values;if(0===r)return _a(n,e.dtype);const p=_a(c,e.dtype);p.values.fill(l);for(let t=0;t=r/s)throw new Error(`Invalid indices: ${i} does not index into ${n}`);for(let n=0;n1||1===s.shape.length?1:ot(s.shape.slice(1));for(let t=0;tt>=0?ZN*t:JN*(Math.exp(t)-1))),tA={kernelName:gr,backendName:"cpu",kernelFunc:QN},eA=tk(vr,(t=>t<0?-1:t>0?1:0)),nA={kernelName:vr,backendName:"cpu",kernelFunc:eA},rA=tk(xr,(t=>Math.sin(t))),sA={kernelName:xr,backendName:"cpu",kernelFunc:rA},iA=tk(br,(t=>Math.sinh(t))),aA={kernelName:br,backendName:"cpu",kernelFunc:iA},oA=Math.log(1.1920928955078125e-7)+2,lA=tk(Sr,(t=>{const e=t>-oA,n=t=l)throw new Error(yf(e,n,l));++f[n],d=d&&n>=p,p=n}let m=!0;for(let t=0;t0&&(f[t]+=f[t-1])}if(m&&d){const e=t,n=r;for(let t=0;tNumber(t))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}};function pA(t,e,n,r,s){const i=ot(r),a=e[0],o=s.length,l=[];let u=1,c=-1;for(let t=0;t0){d[h-1]=1;for(let t=h-2;t>=0;--t)d[t]=d[t+1]*r[t+1]}const p=[];if(o>0){p[o-1]=1;for(let t=o-2;t>=0;--t)p[t]=p[t+1]*l[t+1]}const f=vt(n,a*o);for(let e=0;e0?s[o-1]+1:0;if(c<0)throw new Error("segment ids must be >= 0");const h=e.slice();h[0]=c;const d=vt(n,h.reduce(((t,e)=>t*e),1));if(0===o)return c>0&&d.fill(a),[d,h];if(c<=0)throw new Error("segment ids must be >= 0");let p=0,f=1,m=0,g=s[p];for(;;){let e=0;if(f=e)throw new Error("segment ids are not increasing")}if(g<0||g>=c)throw new Error(Mf(g,c));g>m&&d.fill(a,m*u,g*u);for(let e=p;e=l[0])throw new Error(kf(e,r[e],l[0]));for(let e=0;eo)break}return m{const e=[...c];e[o]=t;const r=bE({inputs:{x:s},backend:n,attrs:{begin:u,size:e}});return u[o]+=t,r}))}},vA=gk((t=>Math.sqrt(t))),wA=tk(Tr,(t=>Math.sqrt(t))),SA={kernelName:Tr,backendName:"cpu",kernelFunc:wA},TA={kernelName:Lr,backendName:"cpu",kernelFunc:({inputs:t,backend:e})=>{const{x:n}=t,r=e;JM(n,"square");const s=r.data.get(n.dataId).values,i=new Float32Array(s.length);for(let t=0;t{const n=t-e;return n*n})),MA=Ik(Dr,_A),kA={kernelName:Dr,backendName:"cpu",kernelFunc:MA},EA=tk(Yr,((t,e)=>{const n=e;return isNaN(t)?NaN:t>0?1:n.alpha})),IA={kernelName:Yr,backendName:"cpu",kernelFunc:EA};function CA(t,e,n,r){const s=_a(t,e.dtype);for(let t=0;t=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const t=co(x,b,v),e=bE({inputs:{x:s},backend:n,attrs:{begin:x,size:t}});w=Lk({inputs:{x:e},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(e)}else{const t=CA(p,n.bufferSync(s),v,x);w=n.makeTensorInfo(f,t.dtype,t.values)}return w}};class AA{constructor(t,e,n,r,s,i){this.separator=Ds(t),this.nGramWidths=e,this.leftPad=Ds(n),this.rightPad=Ds(r),this.padWidth=s,this.preserveShort=i}getPadWidth(t){return Math.min(this.padWidth<0?t-1:this.padWidth,t-1)}getNumNGrams(t,e){const n=this.getPadWidth(e);return Math.max(0,t+2*n-e+1)}createNGrams(t,e,n,r,s,i){for(let a=0;a0?0:a-o);let d=0;d+=l*this.leftPad.length;for(let e=0;et.forEach((t=>p[f++]=t));for(let t=0;t0){m(t[h+c-1]);for(let t=0;t0){let t=e[0];if(0!==t)throw new Error(`First split value must be 0, got ${t}`);for(let s=1;s=t;if(r=r&&e[s]<=n,!r)throw new Error(`Invalid split value ${e[s]}, must be in [${t}, ${n}]`);t=e[s]}if(t!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${t}`)}const s=r-1,i=vt("int32",r);if(0===n||0===r){const t=new Array(n);for(let t=0;t<=s;++t)i[t]=0;return[t,i]}i[0]=0;for(let t=1;t<=s;++t){const n=e[t]-e[t-1];let r=0;this.nGramWidths.forEach((t=>{r+=this.getNumNGrams(n,t)})),this.preserveShort&&n>0&&0===r&&(r=1),i[t]=i[t-1]+r}const a=new Array(i[s]);for(let n=0;n{const o=e[n+1]-e[n],l=this.getNumNGrams(o,i);this.createNGrams(t,r,a,s,l,i),s+=l})),this.preserveShort&&s===i[n]){const i=e[n+1]-e[n];if(0===i)continue;const o=i+2*this.padWidth,l=1;this.createNGrams(t,r,a,s,l,o)}}return[a,i]}}function RA(t,e,n,r,s,i,a,o){return new AA(n,r,s,i,a,o).compute(t,e)}const DA={kernelName:$r,backendName:"cpu",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{separator:s,nGramWidths:i,leftPad:a,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=e,d=n.data.get(c.dataId).values,p=n.data.get(h.dataId).values,[f,m]=RA(d,p,s,i,a,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}};function LA(t,e,n,r){if(!t.length)return;if(0===e.length){for(let e=0;eMath.tan(t))),BA={kernelName:Br,backendName:"cpu",kernelFunc:zA},UA=tk(Ur,(t=>Math.tanh(t)));function VA(t,e){const n=new Array(t.rank);for(let r=0;r{const n=e.value-t.value;return 0===n?t.index-e.index:n};function GA(t,e,n=0,r=t.length-1){for(;r>n;){if(r-n>600){const s=r-n+1,i=e-n+1,a=Math.log(s),o=.5*Math.exp(2*a/3),l=.5*Math.sqrt(a*o*(s-o)/s)*Math.sign(i-s/2);GA(t,e,Math.max(n,Math.floor(e-i*o/s+l)),Math.min(r,Math.floor(e+(s-i)*o/s+l)))}const s=t[e];let i=n,a=r;for(Q(t,n,e),HA(t[r],s)>0&&Q(t,n,r);i0;)a-=1}0===HA(t[n],s)?Q(t,n,a):(a+=1,Q(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}}function jA(t,e,n,r,s){const i=e[e.length-1],[a,o]=[t.length/i,i],l=bt(n,a*r),u=bt("int32",a*r);for(let e=0;ea[e]={value:t,index:e})),re-1)if(e<=1)n=0;else{const t=2*e;n-=t*Math.trunc(n/t),n>=e&&(n=t-n-1)}return J(0,n,e-1)}(t,e);case"wrap":return function(t,e){let n=t;if(n<0)if(e<=1)n=0;else{const t=e-1;n+=e*(Math.trunc(-n/t)+1)}else if(n>e-1)if(e<=1)n=0;else{const t=e-1;n-=e*Math.trunc(n/t)}return J(0,n,e-1)}(t,e);case"nearest":return function(t,e){return J(0,t,e-1)}(t,e);default:return function(t,e){return t}(t)}}function YA(t,e,n,r,s,i,a,o,l,u,c){return 0<=o&&o{for(let n=0;nn.disposeIntermediateTensorInfo(t))),h}},rR=[Pk,Bk,Vk,Hk,Dk,Gk,Kk,Yk,Jk,Zk,tE,nE,sE,oE,uE,pE,fE,mE,gE,Ok,yE,wE,_E,ME,Ek,IE,NE,Sk,AE,$E,PE,zE,BE,UE,VE,WE,GE,qE,XE,KE,YE,JE,QE,tI,eI,nI,rI,sI,iI,dI,rk,pI,gI,_I,EI,CI,RI,WI,GI,jI,KI,ZI,QI,tC,nC,sC,oC,cC,ik,hC,LE,pC,mC,yC,ok,vC,TC,MC,IC,NC,DC,FC,PC,zC,BC,WC,jC,qC,XC,KC,YC,JC,ZC,QC,nN,rN,aN,uN,uI,hN,pN,mN,yN,vN,wN,_N,kN,EN,NN,hk,RN,LN,Mk,FI,$N,pk,mk,Fk,ON,PN,zN,BN,UN,VN,HN,qN,KN,YN,tA,bk,nA,sA,aA,vE,lN,uA,cA,dA,fA,gA,yA,xA,bA,SA,TA,kA,IA,NA,DA,$A,PA,zI,hI,BA,{kernelName:Ur,backendName:"cpu",kernelFunc:UA},WA,qA,XA,Xk,tR,eR,nR,TN];for(const t of rR)us(t);const sR={},iR={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function aR(t,e){if(!(t in sR)){const n=function(t,e){if(1!==t&&2!==t)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==e?function(t){if("undefined"!=typeof OffscreenCanvas&&2===t)return new OffscreenCanvas(300,150);if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}(t):e;return n.addEventListener("webglcontextlost",(e=>{e.preventDefault(),delete sR[t]}),!1),1===t?n.getContext("webgl",iR)||n.getContext("experimental-webgl",iR):n.getContext("webgl2",iR)}(t,e);if(null===n)return console.log("Could not get context for WebGL version",t),null;sR[t]=n}const n=sR[t];return null==n||n.isContextLost()?(delete sR[t],aR(t)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),sR[t])}var oR,lR,uR;function cR(t,e){return[e,t]}function hR(t){const e=ot(t);return dt(Math.ceil(e/4))}function dR(t,e){return[Math.max(1,Math.ceil(e/2)),Math.max(1,Math.ceil(t/2))]}function pR(t,e){const n=t;let r,s,i,a,o,l,u,c,h,d;return 2===Gt().getNumber("WEBGL_VERSION")?(r=n.R32F,s=n.R16F,i=n.RGBA16F,a=n.RGBA32F,o=n.RED,u=4,c=1,h=n.HALF_FLOAT,d=n.FLOAT,l=n.RGBA8):(r=t.RGBA,s=t.RGBA,i=t.RGBA,a=n.RGBA,o=t.RGBA,u=4,c=4,h=null!=e?e.HALF_FLOAT_OES:null,d=t.FLOAT,l=t.RGBA),{internalFormatFloat:r,internalFormatHalfFloat:s,internalFormatPackedHalfFloat:i,internalFormatPackedFloat:a,textureFormatFloat:o,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:h,textureTypeFloat:d}}function fR(t,e){const n=e();return Gt().getBool("DEBUG")&&function(t){const e=t.getError();if(e!==t.NO_ERROR)throw new Error("WebGL Error: "+function(t,e){switch(e){case t.NO_ERROR:return"NO_ERROR";case t.INVALID_ENUM:return"INVALID_ENUM";case t.INVALID_VALUE:return"INVALID_VALUE";case t.INVALID_OPERATION:return"INVALID_OPERATION";case t.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case t.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case t.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return`Unknown error code ${e}`}}(t,e))}(t),n}function mR(t){return!!(Gt().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===t||5.96e-8t.getExtension(e)),'Extension "'+e+'" not supported on this browser.')}!function(t){t[t.DENSE=0]="DENSE",t[t.SHARED_BATCH=1]="SHARED_BATCH"}(oR||(oR={})),function(t){t[t.RENDER=0]="RENDER",t[t.UPLOAD=1]="UPLOAD",t[t.PIXELS=2]="PIXELS",t[t.DOWNLOAD=3]="DOWNLOAD"}(lR||(lR={})),function(t){t[t.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",t[t.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",t[t.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",t[t.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",t[t.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(uR||(uR={}));const yR=/ERROR: [0-9]+:([0-9]+):/g;function xR(t,e){if(fR(t,(()=>t.validateProgram(e))),!1===t.getProgramParameter(e,t.VALIDATE_STATUS))throw console.log(t.getProgramInfoLog(e)),new Error("Shader program validation failed.")}function bR(t,e,n,r,s,i,a){const o=t.getAttribLocation(e,n);return-1!==o&&(fR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,r))),fR(t,(()=>t.vertexAttribPointer(o,s,t.FLOAT,!1,i,a))),fR(t,(()=>t.enableVertexAttribArray(o))),!0)}function vR(t,e,n,r){fR(t,(()=>function(t,e,n){(function(t,e){const n=t.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,r=e+t.TEXTURE0;if(rn)throw new Error(`textureUnit must be in [gl.TEXTURE0, gl.TEXTURE${n}].`)})(t,n),fR(t,(()=>t.activeTexture(t.TEXTURE0+n))),fR(t,(()=>t.bindTexture(t.TEXTURE_2D,e)))}(t,e,r))),fR(t,(()=>t.uniform1i(n,r)))}function wR(t,e,n){fR(t,(()=>t.bindFramebuffer(t.FRAMEBUFFER,n))),fR(t,(()=>t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0)))}function SR(t,e){fR(t,(()=>t.bindFramebuffer(t.FRAMEBUFFER,e))),fR(t,(()=>t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,null,0)))}function TR(t){const e=t.checkFramebufferStatus(t.FRAMEBUFFER);if(e!==t.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+function(t,e){switch(e){case t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case t.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${e}`}}(t,e))}function _R(t,e,n){const r=fR(t,(()=>e()));if(null==r)throw new Error(n);return r}function MR(t,e=2){return ot(t.slice(0,t.length-e))}function kR(t){if(0===t.length)throw Error("Cannot get rows and columns of an empty shape array.");return[t.length>1?t[t.length-2]:1,t[t.length-1]]}function ER(t){let e=[1,1,1];return 0===t.length||1===t.length&&1===t[0]||(e=[MR(t),...kR(t)]),e}function IR(t){return t%2==0}function CR(t,e){if(ut(t=t.slice(-2),e=e.slice(-2)))return!0;if(!t.length||!e.length)return!0;if(0===t[0]||0===t[1]||0===e[0]||0===e[1])return!0;if(t.length!==e.length){const n=t.slice(-1)[0],r=e.slice(-1)[0];if(n===r)return!0;if(IR(n)&&IR(r)&&(1===t[0]||1===e[0]))return!0}return t[1]===e[1]&&IR(t[0])&&IR(e[0])}let NR,AR;function RR(t,e){return null!=t.getExtension(e)}function DR(t){try{if(null!=aR(t))return!0}catch(t){return console.log("Error when getting WebGL context: ",t),!1}return!1}function LR(t){const e=pR(t),n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,e.internalFormatFloat,1,1,0,e.textureFormatFloat,e.textureTypeFloat,null);const r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0);const s=t.checkFramebufferStatus(t.FRAMEBUFFER)===t.FRAMEBUFFER_COMPLETE;return t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteTexture(n),t.deleteFramebuffer(r),s}function FR(t,e){Array.isArray(t)||(t=[t]),t.forEach((t=>{null!=t&&rt("complex64"!==t.dtype,(()=>`${e} does not support complex64 tensors in the WebGL backend.`))}))}const $R=Gt();function OR(){let t,e,n,r,s,i,a,o,l,u;return 2===Gt().getNumber("WEBGL_VERSION")?(t="#version 300 es",e="in",n="out",r="in",s="texture",i="outputColor",a="out vec4 outputColor;",o="\n bool isnan_custom(float val) {\n return (val > 0.0 || val < 0.0) ? false : val != 0.0;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(t="",e="attribute",n="varying",r="varying",s="texture2D",i="gl_FragColor",a="",o="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:t,attribute:e,varyingVs:n,varyingFs:r,texture2D:s,output:i,defineOutput:a,defineSpecialNaN:o,defineSpecialInf:l,defineRound:u}}function PR(t,e,n="index"){const r=Dt(e);return r.map(((e,s)=>`int ${t[s]} = ${n} / ${e}; ${s===r.length-1?`int ${t[s+1]} = ${n} - ${t[s]} * ${e}`:`index -= ${t[s]} * ${e}`};`)).join("")}function zR(t,e,n="index"){const r=Dt(e);return r.map(((e,s)=>`int ${t[s]} = ${n} / outShapeStrides[${s}]; ${s===r.length-1?`int ${t[s+1]} = ${n} - ${t[s]} * outShapeStrides[${s}]`:`index -= ${t[s]} * outShapeStrides[${s}]`};`)).join("")}function BR(t){const e=Dt(t).map((t=>t.toString()));return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${e[0]} + coords.y * ${e[1]} + coords.z;\n }\n`}$R.registerFlag("HAS_WEBGL",(()=>$R.getNumber("WEBGL_VERSION")>0)),$R.registerFlag("WEBGL_VERSION",(()=>DR(2)?2:DR(1)?1:0)),$R.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",(()=>!1)),$R.registerFlag("WEBGL_BUFFER_SUPPORTED",(()=>2===$R.get("WEBGL_VERSION"))),$R.registerFlag("WEBGL_CPU_FORWARD",(()=>!0)),$R.registerFlag("WEBGL_FORCE_F16_TEXTURES",(()=>!1)),$R.registerFlag("WEBGL_PACK",(()=>$R.getBool("HAS_WEBGL"))),$R.registerFlag("WEBGL_PACK_NORMALIZATION",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_CLIP",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_DEPTHWISECONV",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_PACK_REDUCE",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_LAZILY_UNPACK",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_CONV_IM2COL",(()=>$R.getBool("WEBGL_PACK"))),$R.registerFlag("WEBGL_MAX_TEXTURE_SIZE",(()=>function(t){if(null==NR){const e=aR(t);NR=e.getParameter(e.MAX_TEXTURE_SIZE)}return NR}($R.getNumber("WEBGL_VERSION")))),$R.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",(()=>function(t){if(null==AR){const e=aR(t);AR=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,AR)}($R.getNumber("WEBGL_VERSION")))),$R.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",(()=>{const t=$R.getNumber("WEBGL_VERSION");return 0===t?0:function(t){if(0===t)return 0;let e;const n=aR(t);return e=RR(n,"EXT_disjoint_timer_query_webgl2")&&2===t?2:RR(n,"EXT_disjoint_timer_query")?1:0,e}(t)})),$R.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",(()=>$R.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!yi())),$R.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",(()=>function(t){if(0===t)return!1;const e=aR(t);if(1===t){if(!RR(e,"OES_texture_float"))return!1}else if(!RR(e,"EXT_color_buffer_float"))return!1;return LR(e)}($R.getNumber("WEBGL_VERSION")))),$R.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",(()=>!$R.getBool("WEBGL_FORCE_F16_TEXTURES")&&$R.getBool("WEBGL_RENDER_FLOAT32_CAPABLE"))),$R.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",(()=>function(t){if(0===t)return!1;const e=aR(t);if(1!==t){if(RR(e,"EXT_color_buffer_float"))return LR(e);const t="EXT_color_buffer_half_float";if(RR(e,t)){const n=e.getExtension(t);return function(t,e){const n=pR(t,e),r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,n.internalFormatHalfFloat,1,1,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const s=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,s),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0);const i=t.checkFramebufferStatus(t.FRAMEBUFFER)===t.FRAMEBUFFER_COMPLETE;return t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteTexture(r),t.deleteFramebuffer(s),i}(e,n)}return!1}return!!RR(e,"OES_texture_float")&&!!RR(e,"WEBGL_color_buffer_float")&&LR(e)}($R.getNumber("WEBGL_VERSION")))),$R.registerFlag("WEBGL_FENCE_API_ENABLED",(()=>{return 2===(t=$R.getNumber("WEBGL_VERSION"))&&null!=aR(t).fenceSync;var t})),$R.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",(()=>$R.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0)),$R.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",(()=>-1),(t=>{if(t<0&&-1!==t)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${t}.`)})),$R.registerFlag("WEBGL_FLUSH_THRESHOLD",(()=>yi()?1:-1),(t=>{if(t<0&&-1!==t)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${t}.`)})),$R.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",(()=>128)),$R.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",(()=>!1)),$R.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",(()=>1e5)),$R.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",(()=>128));const UR="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:VR}=y;function WR(t,e,n){const r=[];if(t.forEach((t=>{const e=ot(t.shapeInfo.logicalShape);if(t.shapeInfo.isUniform?r.push(`uniform float ${t.name}${e>1?`[${e}]`:""};`):(r.push(`uniform sampler2D ${t.name};`),r.push(`uniform int offset${t.name};`)),n.enableShapeUniforms){const{uniformShape:e}=QR(n.packedInputs,t.shapeInfo.logicalShape,t.shapeInfo.texShape);switch(e.length){case 1:r.push(`uniform int ${t.name}Shape;`);break;case 2:r.push(`uniform ivec2 ${t.name}Shape;`);break;case 3:r.push(`uniform ivec3 ${t.name}Shape;`);break;case 4:r.push(`uniform ivec4 ${t.name}Shape;`)}r.push(`uniform ivec2 ${t.name}TexShape;`)}})),n.enableShapeUniforms){switch(e.logicalShape.length){case 1:r.push("uniform int outShape;");break;case 2:r.push("uniform ivec2 outShape;"),r.push("uniform int outShapeStrides;");break;case 3:r.push("uniform ivec3 outShape;"),r.push("uniform ivec2 outShapeStrides;");break;case 4:r.push("uniform ivec4 outShape;"),r.push("uniform ivec3 outShapeStrides;")}r.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach((t=>{r.push(`uniform ${t.type} ${t.name}${t.arrayIndex?`[${t.arrayIndex}]`:""};`)}));const s=r.join("\n"),i=t.map((t=>function(t,e,n=!1,r){let s="";s+=n?GR(t,r):HR(t,r);const i=t.shapeInfo.logicalShape,a=e.logicalShape;return i.length<=a.length&&(s+=n?function(t,e){const n=t.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",i=t.shapeInfo.logicalShape.length,a=e.logicalShape.length,o=VR(t.shapeInfo.logicalShape,e.logicalShape),l=ZR(a),u=a-i;let c;const h=["x","y","z","w","u","v"];c=0===i?"":a<2&&o.length>=1?"coords = 0;":o.map((t=>`coords.${h[t+u]} = 0;`)).join("\n");let d="";d=a<2&&i>0?"coords":t.shapeInfo.logicalShape.map(((t,e)=>`coords.${h[e+u]}`)).join(", ");let p="return outputValue;";const f=1===ot(t.shapeInfo.logicalShape),m=1===ot(e.logicalShape);if(1!==i||f||m){if(f&&!m)p=1===a?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(o.length){const t=i-2,e=i-1;o.indexOf(t)>-1&&o.indexOf(e)>-1?p="return vec4(outputValue.x);":o.indexOf(t)>-1?p="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":o.indexOf(e)>-1&&(p="return vec4(outputValue.xx, outputValue.zz);")}}else p="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${s}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${r}(${d});\n ${p}\n }\n `}(t,e):function(t,e){const n=t.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",i=e.texShape,a=t.shapeInfo.texShape,o=t.shapeInfo.logicalShape.length,l=e.logicalShape.length;if(!t.shapeInfo.isUniform&&o===l&&null==t.shapeInfo.flatOffset&&ut(a,i))return`\n float ${s}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=ZR(l),c=VR(t.shapeInfo.logicalShape,e.logicalShape),h=l-o;let d;const p=["x","y","z","w","u","v"];d=0===o?"":l<2&&c.length>=1?"coords = 0;":c.map((t=>`coords.${p[t+h]} = 0;`)).join("\n");let f="";return f=l<2&&o>0?"coords":t.shapeInfo.logicalShape.map(((t,e)=>`coords.${p[e+h]}`)).join(", "),`\n float ${s}() {\n ${u} coords = getOutputCoords();\n ${d}\n return get${r}(${f});\n }\n `}(t,e)),s}(t,e,n.packedInputs,n.enableShapeUniforms))).join("\n"),a=e.texShape,o=OR(),l=function(t){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${t.texture2D}(textureSampler, uv).r;\n }\n `}(o);let u,c,h=function(t){return`${t.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${t.varyingFs} vec2 resultUV;\n ${t.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${t.defineSpecialNaN}\n ${t.defineSpecialInf}\n ${t.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${jR}\n ${qR}\n ${XR}\n `}(o);return e.isPacked?(u=function(t,e,n){switch(t.length){case 0:return"\n int getOutputCoords() {\n return 0;\n }\n ";case 1:return function(t,e,n){const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];return 1===r[0]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${r[1]}.0);\n }\n `:1===r[1]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${r[0]}.0);\n }\n `:n?"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ":`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n return 2 * (resTexRC.x * ${r[1]} + resTexRC.y);\n }\n `}(0,e,n);case 2:return function(t,e,n){const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];if(ut(t,e))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${r[0]}, ${r[1]}));\n }\n `;const s=Math.ceil(t[1]/2);return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ":`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec2(r, c);\n }\n `}(t,e,n);case 3:return function(t,e,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],s=Math.ceil(t[2]/2),i=s*Math.ceil(t[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n\n int b = index / ${i};\n index -= b * ${i};\n\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(t,e,n);default:return function(t,e,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const r=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],s=Math.ceil(t[t.length-1]/2),i=s*Math.ceil(t[t.length-2]/2);let a=i,o="",l="b, r, c";for(let e=2;e1&&!ut(e,n)&&r.lengtht[e])).join(", ")}function nD(t,e){if(t.length!==e.length)throw Error(`Binary was compiled with ${t.length} inputs, but was executed with ${e.length} inputs`);t.forEach(((t,n)=>{const r=t.logicalShape,s=e[n],i=s.shape;if(!ut(r,i))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${r} and ${i} must match`);if(t.isUniform&&s.isUniform)return;const a=t.texShape,o=s.isUniform?null:s.texData.texShape;if(!ut(a,o))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${a} and ${o} must match`)}))}function rD(t){return Gt().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&t<=4}class sD{constructor(t){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=oR.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const e=OR();this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?zR(["r","c","d"],t):PR(["r","c","d"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${e.output} = result;\n }\n `}}class iD{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=oR.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const e=OR();this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?zR(["r","c","d"],t):PR(["r","c","d"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${e.output} = result;\n }\n `}}class aD{constructor(t){this.variableNames=["A"],this.outTexUsage=lR.DOWNLOAD;const e=OR();this.outputShape=t,this.userCode=`\n ${UR}\n\n void main() {\n float x = getAAtOutCoords();\n ${e.output} = encode_float(x);\n }\n `}}class oD{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=lR.DOWNLOAD;const e=OR();this.outputShape=t,this.userCode=`\n ${UR}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${e.output} = encode_float(x);\n }\n `}}class lD{constructor(t,e=!1){this.variableNames=["A"],this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=OR();this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length);let r="result";e&&(r="floor(result * 255. + 0.5)"),this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":BR(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n vec4 values = ${n.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${n.output} = vec4(${r}, 0., 0., 0.);\n }\n `}}class uD{constructor(t,e=!1){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=OR();this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length);let r="",s="result";e&&(s="floor(result * 255. + 0.5)");for(let e=0;e<=1;e++)for(let s=0;s<=1;s++){const i=2*e+s;r+=`\n localCoords = coords;\n if(localCoords[2] + ${s} < ${this.enableShapeUniforms?"outShape[2]":`${t[2]}`}) {\n localCoords[2] += ${s};\n if (localCoords[1] + ${e} < ${this.enableShapeUniforms?"outShape[1]":`${t[1]}`}) {\n localCoords[1] += ${e};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n values = ${n.texture2D}(A, uv);\n\n if (offset == 0) {\n result[${i}] = values[0];\n } else if (offset == 1) {\n result[${i}] = values[1];\n } else if (offset == 2) {\n result[${i}] = values[2];\n } else {\n result[${i}] = values[3];\n }\n }\n }\n `}this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":BR(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${r}\n\n ${n.output} = ${s};\n }\n `}}function cD(t,e,n,r,s,i){!function(t,e){const n=Gt().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(t<=0||e<=0)throw new Error(`Requested texture size [${t}x${e}] is invalid.`);if(t>n||e>n)throw new Error(`Requested texture size [${t}x${e}] greater than WebGL maximum on this browser / GPU [${n}x${n}].`)}(e,n);const a=function(t){return _R(t,(()=>t.createTexture()),"Unable to create WebGLTexture.")}(t),o=t.TEXTURE_2D;return fR(t,(()=>t.bindTexture(o,a))),fR(t,(()=>t.texParameteri(o,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE))),fR(t,(()=>t.texParameteri(o,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE))),fR(t,(()=>t.texParameteri(o,t.TEXTURE_MIN_FILTER,t.NEAREST))),fR(t,(()=>t.texParameteri(o,t.TEXTURE_MAG_FILTER,t.NEAREST))),1===Gt().getNumber("WEBGL_VERSION")?fR(t,(()=>t.texImage2D(o,0,r,e,n,0,s,i,null))):fR(t,(()=>t.texStorage2D(o,1,r,e,n))),fR(t,(()=>t.bindTexture(t.TEXTURE_2D,null))),{texture:a,texShape:[n,e]}}function hD(t){return t.internalFormatFloat}function dD(t){return t.internalFormatHalfFloat}function pD(t){return t.downloadTextureFormat}function fD(t){return t.internalFormatPackedFloat}function mD(t){return t.internalFormatPackedHalfFloat}class gD{constructor(t){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];const e=Gt().getNumber("WEBGL_VERSION");null!=t?(this.gl=t,function(t,e){sR[t]=e}(e,t)):this.gl=aR(e);let n="WEBGL_color_buffer_float";const r="EXT_color_buffer_half_float";if(1===Gt().getNumber("WEBGL_VERSION")){const t="OES_texture_float",e="OES_texture_half_float";if(this.textureFloatExtension=gR(this.gl,t),RR(this.gl,e))this.textureHalfFloatExtension=gR(this.gl,e);else if(Gt().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),RR(this.gl,r))this.colorBufferHalfFloatExtension=gR(this.gl,r);else if(Gt().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",RR(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!RR(this.gl,r))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(r)}this.vertexBuffer=function(t){return function(t,e){const n=_R(t,(()=>t.createBuffer()),"Unable to create WebGLBuffer");return fR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,n))),fR(t,(()=>t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW))),n}(t,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}(this.gl),this.indexBuffer=function(t){return function(t,e){const n=_R(t,(()=>t.createBuffer()),"Unable to create WebGLBuffer");return fR(t,(()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n))),fR(t,(()=>t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW))),n}(t,new Uint16Array([0,1,2,2,1,3]))}(this.gl),this.framebuffer=function(t){return _R(t,(()=>t.createFramebuffer()),"Unable to create WebGLFramebuffer.")}(this.gl),this.textureConfig=pR(this.gl,this.textureHalfFloatExtension)}get debug(){return Gt().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const t=this.gl;fR(t,(()=>t.finish())),fR(t,(()=>t.bindFramebuffer(t.FRAMEBUFFER,null))),fR(t,(()=>t.deleteFramebuffer(this.framebuffer))),fR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,null))),fR(t,(()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null))),fR(t,(()=>t.deleteBuffer(this.indexBuffer))),this.disposed=!0}createFloat32MatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=cR(e,n);return cD(t,s,i,hD(r),r.textureFormatFloat,t.FLOAT)}(this.gl,t,e,this.textureConfig)}createFloat16MatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=cR(e,n);return cD(t,s,i,dD(r),r.textureFormatFloat,r.textureTypeHalfFloat)}(this.gl,t,e,this.textureConfig)}createUnsignedBytesMatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=cR(e,n);return cD(t,s,i,pD(r),t.RGBA,t.UNSIGNED_BYTE)}(this.gl,t,e,this.textureConfig)}uploadPixelDataToTexture(t,e){this.throwIfDisposed(),function(t,e,n){fR(t,(()=>t.bindTexture(t.TEXTURE_2D,e))),n.data instanceof Uint8Array?2===Gt().getNumber("WEBGL_VERSION")?fR(t,(()=>t.texSubImage2D(t.TEXTURE_2D,0,0,0,n.width,n.height,t.RGBA,t.UNSIGNED_BYTE,n.data))):fR(t,(()=>t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n.width,n.height,0,t.RGBA,t.UNSIGNED_BYTE,n.data))):2===Gt().getNumber("WEBGL_VERSION")?fR(t,(()=>t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,n))):fR(t,(()=>t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n))),fR(t,(()=>t.bindTexture(t.TEXTURE_2D,null)))}(this.gl,t,e)}uploadDenseMatrixToTexture(t,e,n,r){this.throwIfDisposed(),function(t,e,n,r,s,i){let a,o,l;fR(t,(()=>t.bindTexture(t.TEXTURE_2D,e))),s instanceof Uint8Array?(a=new Uint8Array(n*r*4),o=t.UNSIGNED_BYTE,l=t.RGBA):(a=new Float32Array(n*r*4),o=t.FLOAT,l=i.internalFormatPackedFloat),a.set(s),2===Gt().getNumber("WEBGL_VERSION")?fR(t,(()=>t.texSubImage2D(t.TEXTURE_2D,0,0,0,n,r,t.RGBA,o,a))):fR(t,(()=>t.texImage2D(t.TEXTURE_2D,0,l,n,r,0,t.RGBA,o,a))),fR(t,(()=>t.bindTexture(t.TEXTURE_2D,null)))}(this.gl,t,e,n,r,this.textureConfig)}createFloat16PackedMatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=dR(e,n);return cD(t,s,i,mD(r),t.RGBA,r.textureTypeHalfFloat)}(this.gl,t,e,this.textureConfig)}createPackedMatrixTexture(t,e){return this.throwIfDisposed(),function(t,e,n,r){const[s,i]=dR(e,n);return cD(t,s,i,fD(r),t.RGBA,t.FLOAT)}(this.gl,t,e,this.textureConfig)}deleteMatrixTexture(t){this.throwIfDisposed(),this.outputTexture===t&&(SR(this.gl,this.framebuffer),this.outputTexture=null),fR(this.gl,(()=>this.gl.deleteTexture(t)))}downloadByteEncodedFloatMatrixFromOutputTexture(t,e,n){return this.downloadMatrixDriver(t,(()=>function(t,e,n,r){const[s,i]=cR(e,n),a=new Uint8Array(e*n*4);return fR(t,(()=>t.readPixels(0,0,s,i,r.downloadTextureFormat,t.UNSIGNED_BYTE,a))),new Float32Array(a.buffer)}(this.gl,e,n,this.textureConfig)))}downloadPackedMatrixFromBuffer(t,e,n,r,s,i){return function(t,e,n,r,s,i,a,o){const l=t,u=new Float32Array(function(t,e){const[n,r]=dR(t,e);return n*r*4}(i,a));return l.bindBuffer(l.PIXEL_PACK_BUFFER,e),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}(this.gl,t,0,0,0,s,i,this.textureConfig)}downloadFloat32MatrixFromBuffer(t,e){return function(t,e,n){const r=t,s=new Float32Array(n);return r.bindBuffer(r.PIXEL_PACK_BUFFER,e),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,s),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),s}(this.gl,t,e)}createBufferFromTexture(t,e,n){this.bindTextureToFrameBuffer(t);const r=function(t,e,n,r){const s=t.createBuffer();fR(t,(()=>t.bindBuffer(t.PIXEL_PACK_BUFFER,s)));const i=16*e*n;return fR(t,(()=>t.bufferData(t.PIXEL_PACK_BUFFER,i,t.STREAM_READ))),fR(t,(()=>t.readPixels(0,0,n,e,t.RGBA,t.FLOAT,0))),fR(t,(()=>t.bindBuffer(t.PIXEL_PACK_BUFFER,null))),s}(this.gl,e,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),r}createAndWaitForFence(){const t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e,n;if(Gt().getBool("WEBGL_FENCE_API_ENABLED")){const r=t,s=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0);t.flush(),n=()=>{const t=r.clientWaitSync(s,0,0);return t===r.ALREADY_SIGNALED||t===r.CONDITION_SATISFIED},e=s}else Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(e=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(e,Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:e,isFencePassed:n}}downloadMatrixFromPackedTexture(t,e,n){return this.downloadMatrixDriver(t,(()=>function(t,e,n){const r=new Float32Array(e*n*4);return fR(t,(()=>t.readPixels(0,0,n,e,t.RGBA,t.FLOAT,r))),r}(this.gl,e,n)))}createProgram(t){this.throwIfDisposed();const e=this.gl;null==this.vertexShader&&(this.vertexShader=function(t){const e=OR();return function(t,e){const n=_R(t,(()=>t.createShader(t.VERTEX_SHADER)),"Unable to create vertex WebGLShader.");if(fR(t,(()=>t.shaderSource(n,e))),fR(t,(()=>t.compileShader(n))),!1===t.getShaderParameter(n,t.COMPILE_STATUS))throw console.log(t.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}(t,`${e.version}\n precision highp float;\n ${e.attribute} vec3 clipSpacePos;\n ${e.attribute} vec2 uv;\n ${e.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`)}(e));const n=function(t){return _R(t,(()=>t.createProgram()),"Unable to create WebGLProgram.")}(e);return fR(e,(()=>e.attachShader(n,this.vertexShader))),fR(e,(()=>e.attachShader(n,t))),function(t,e){if(fR(t,(()=>t.linkProgram(e))),!1===t.getProgramParameter(e,t.LINK_STATUS))throw console.log(t.getProgramInfoLog(e)),new Error("Failed to link vertex and fragment shaders.")}(e,n),this.debug&&xR(e,n),this.vertexAttrsAreBound||(this.setProgram(n),this.vertexAttrsAreBound=function(t,e,n){return fR(t,(()=>t.bindBuffer(t.ARRAY_BUFFER,n))),bR(t,e,"clipSpacePos",n,3,20,0)&&bR(t,e,"uv",n,2,20,12)}(e,this.program,this.vertexBuffer)),n}deleteProgram(t){this.throwIfDisposed(),t===this.program&&(this.program=null),null!=t&&fR(this.gl,(()=>this.gl.deleteProgram(t)))}setProgram(t){this.throwIfDisposed(),this.program=t,null!=this.program&&this.debug&&xR(this.gl,this.program),fR(this.gl,(()=>this.gl.useProgram(t)))}getUniformLocation(t,e,n=!0){return this.throwIfDisposed(),n?function(t,e,n){return _R(t,(()=>t.getUniformLocation(e,n)),'uniform "'+n+'" not present in program.')}(this.gl,t,e):function(t,e,n){return t.getUniformLocation(e,n)}(this.gl,t,e)}getAttributeLocation(t,e){return this.throwIfDisposed(),fR(this.gl,(()=>this.gl.getAttribLocation(t,e)))}getUniformLocationNoThrow(t,e){return this.throwIfDisposed(),this.gl.getUniformLocation(t,e)}setInputMatrixTexture(t,e,n){this.throwIfDisposed(),this.throwIfNoProgram(),vR(this.gl,t,e,n)}setOutputMatrixTexture(t,e,n){this.setOutputMatrixTextureDriver(t,n,e)}setOutputPackedMatrixTexture(t,e,n){this.throwIfDisposed();const[r,s]=dR(e,n);this.setOutputMatrixTextureDriver(t,r,s)}setOutputMatrixWriteRegion(t,e,n,r){this.setOutputMatrixWriteRegionDriver(n,t,r,e)}setOutputPackedMatrixWriteRegion(t,e,n,r){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&xR(this.gl,this.program),TR(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const t=this.gl;this.debug&&this.debugValidate(),fR(t,(()=>t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0)))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),fR(this.gl,(()=>this.gl.finish()))}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=gR(this.gl,2===Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const t=this.gl,e=this.getQueryTimerExtensionWebGL2(),n=t.createQuery();return t.beginQuery(e.TIME_ELAPSED_EXT,n),n}const t=this.getQueryTimerExtensionWebGL1(),e=t.createQueryEXT();return t.beginQueryEXT(t.TIME_ELAPSED_EXT,e),e}endQuery(){if(2===Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const t=this.gl,e=this.getQueryTimerExtensionWebGL2();return void t.endQuery(e.TIME_ELAPSED_EXT)}const t=this.getQueryTimerExtensionWebGL1();t.endQueryEXT(t.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(t){return await mt((()=>this.disposed||this.isQueryAvailable(t,Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")))),this.getQueryTime(t,Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(t,e){if(0===e)return null;if(2===e){const e=this.gl;return e.getQueryParameter(t,e.QUERY_RESULT)/1e6}{const e=this.getQueryTimerExtensionWebGL1();return e.getQueryObjectEXT(t,e.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(t,e){if(0===e)return!0;if(2===e){const e=this.gl,n=this.getQueryTimerExtensionWebGL2(),r=e.getQueryParameter(t,e.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),r&&!this.disjoint}{const e=this.getQueryTimerExtensionWebGL1(),n=e.getQueryObjectEXT(t,e.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(e.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(t){return new Promise((e=>{this.addItemToPoll((()=>t.isFencePassed()),(()=>e()))}))}pollItems(){const t=function(t){let e=0;for(;et.isDoneFn)));for(let e=0;e<=t;++e){const{resolveFn:t}=this.itemsToPoll[e];t()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}addItemToPoll(t,e){this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),this.itemsToPoll.length>1||mt((()=>(this.pollItems(),0===this.itemsToPoll.length)))}bindTextureToFrameBuffer(t){this.throwIfDisposed(),wR(this.gl,t,this.framebuffer),this.debug&&TR(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(wR(this.gl,this.outputTexture,this.framebuffer),this.debug&&TR(this.gl)):SR(this.gl,this.framebuffer)}downloadMatrixDriver(t,e){this.bindTextureToFrameBuffer(t);const n=e();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(t,e,n){this.throwIfDisposed();const r=this.gl;wR(r,t,this.framebuffer),this.debug&&TR(r),this.outputTexture=t,fR(r,(()=>r.viewport(0,0,e,n))),fR(r,(()=>r.scissor(0,0,e,n)))}setOutputMatrixWriteRegionDriver(t,e,n,r){this.throwIfDisposed(),fR(this.gl,(()=>this.gl.scissor(t,e,n,r)))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}}const{addImpl:yD,bincountImpl:xD,bincountReduceImpl:bD,ceilImpl:vD,concatImpl:wD,equalImpl:SD,expImpl:TD,expm1Impl:_D,floorImpl:MD,gatherNdImpl:kD,gatherV2Impl:ED,greaterImpl:ID,greaterEqualImpl:CD,lessImpl:ND,lessEqualImpl:AD,linSpaceImpl:RD,logImpl:DD,maxImpl:LD,maximumImpl:FD,minimumImpl:$D,multiplyImpl:OD,negImpl:PD,notEqualImpl:zD,prodImpl:BD,rangeImpl:UD,rsqrtImpl:VD,sigmoidImpl:WD,simpleAbsImpl:HD,sliceImpl:GD,sparseFillEmptyRowsImpl:jD,sparseReshapeImpl:qD,sparseSegmentReductionImpl:XD,sqrtImpl:KD,stridedSliceImpl:YD,stringNGramsImpl:JD,stringSplitImpl:ZD,stringToHashBucketFastImpl:QD,subImpl:tL,tileImpl:eL,topKImpl:nL,transposeImpl:rL,uniqueImpl:sL}=G;function iL(t,e){return["x","y","z","w","u","v"].slice(0,e).map((e=>`${t}.${e}`))}function aL(t,e){return 1===e?[t]:iL(t,e)}class oL{constructor(t){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.enableShapeUniforms=rD(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const t=aL("rc",this.rank),e=ZR(this.rank),n=this.getOutOfBoundsCondition(t),r=this.getSetup(t),s=this.getOutput(t);this.userCode=`\n void main() {\n ${e} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${r}\n\n setOutput(vec4(${s}));\n }\n }\n `}}getSourceCoordsArr(t){const e=[];for(let n=0;n<=1;n++)for(let r=0;r<=1;r++){let s=`${0===n?"r":"rp1"}, ${0===r?"c":"cp1"}`;for(let e=2;e ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let e="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${r};\n `}getOutput(t){const e=this.getSourceCoordsArr(t);return 1===this.rank?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${e[0]}),\n cEdge ? 0. : getA(${e[1]}),\n rEdge ? 0. : getA(${e[2]}),\n rEdge || cEdge ? 0. : getA(${e[3]})`}}class lL{constructor(t,e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length);let n="";for(let t=0;t<4;t++){let e="thisRC = rc;";t%2==1&&(e+="thisRC.z += 1;"),t>1&&(e+="thisRC.y += 1;"),n+=`\n ${e}\n ${t>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${t}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${t>0?"}":""}\n `}var r,s;this.userCode=`\n ${r=e,s=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${s?function(t,e,n="index"){const r=function(t,e){const n=t.length,r=t.map((t=>`${e}[${t}]`)),s=new Array(n-1);s[n-2]=r[n-1];for(let t=n-3;t>=0;--t)s[t]=`(${s[t+1]} * ${r[t+1]})`;return s}(t.map(((t,e)=>e)),e);return r.map(((e,s)=>`int ${t[s]} = ${n} / ${r[s]}; ${s===r.length-1?`int ${t[s+1]} = ${n} - ${t[s]} * ${r[s]}`:`index -= ${t[s]} * ${r[s]}`};`)).join("")}(["r","c","d"],"inputShape"):PR(["r","c","d"],r)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":BR(t)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":t[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":t[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}}class uL{constructor(t){this.gpgpu=t,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(t,e,n){const r=hL(e,n),s=dL(t,r,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);const i=cL(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=i,this.log();const t=this.freeTextures[s].shift();return this.usedTextures[s].push(t),t}let a;return r===uR.PACKED_2X2_FLOAT32?a=this.gpgpu.createPackedMatrixTexture(t[0],t[1]):r===uR.PACKED_2X2_FLOAT16?a=this.gpgpu.createFloat16PackedMatrixTexture(t[0],t[1]):r===uR.UNPACKED_FLOAT32?a=this.gpgpu.createFloat32MatrixTexture(t[0],t[1]):r===uR.UNPACKED_FLOAT16?a=this.gpgpu.createFloat16MatrixTexture(t[0],t[1]):r===uR.PACKED_4X1_UNSIGNED_BYTE&&(a=this.gpgpu.createUnsignedBytesMatrixTexture(t[0],t[1])),this.usedTextures[s].push(a),this.numUsedTextures++,this._numBytesAllocated+=i,this.log(),a}releaseTexture(t,e,n,r){if(null==this.freeTextures)return;const s=hL(n,r),i=dL(e,s,r);i in this.freeTextures||(this.freeTextures[i]=[]);const a=cL(e,s,this.gpgpu.gl,this.gpgpu.textureConfig,r),o=Gt().get("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==o&&this._numBytesAllocated>o?(this.gpgpu.deleteMatrixTexture(t.texture),this._numBytesAllocated-=a):(this.freeTextures[i].push(t),this.numFreeTextures++,this._numBytesFree+=a),this.numUsedTextures--;const l=this.usedTextures[i],u=l.indexOf(t);if(u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l.splice(u,1),this.log()}log(){if(!this.logEnabled)return;const t=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${t})`);const e=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*e)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const t in this.freeTextures)this.freeTextures[t].forEach((t=>{this.gpgpu.deleteMatrixTexture(t.texture)}));for(const t in this.usedTextures)this.usedTextures[t].forEach((t=>{this.gpgpu.deleteMatrixTexture(t.texture)}));this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function cL(t,e,n,r,s){const i=function(t,e){switch(t){case uR.PACKED_2X2_FLOAT32:return fD(e);case uR.PACKED_2X2_FLOAT16:return mD(e);case uR.UNPACKED_FLOAT32:return hD(e);case uR.UNPACKED_FLOAT16:return dD(e);case uR.PACKED_4X1_UNSIGNED_BYTE:return pD(e);default:throw new Error(`Unknown physical texture type ${t}`)}}(e,r);let a;if(s){const[e,n]=dR(t[0],t[1]);a=e*n}else{const[e,n]=cR(t[0],t[1]);a=e*n}const o=function(t,e){const n=t;if(e===n.R32F)return 4;if(e===n.R16F)return 2;if(e===n.RGBA32F)return 16;if(e===t.RGBA)return 16;if(e===n.RGBA16F)return 8;if(e===n.RGBA8)return 4;throw new Error(`Unknown internal format ${e}`)}(n,i);return a*o}function hL(t,e){if(t===lR.UPLOAD)return uR.PACKED_2X2_FLOAT32;if(t===lR.RENDER||null==t)return function(t){return Gt().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?t?uR.PACKED_2X2_FLOAT32:uR.UNPACKED_FLOAT32:t?uR.PACKED_2X2_FLOAT16:uR.UNPACKED_FLOAT16}(e);if(t===lR.DOWNLOAD||t===lR.PIXELS)return uR.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${t}`)}function dL(t,e,n){return`${t[0]}_${t[1]}_${e}_${n}`}class pL{constructor(t,e){this.variableNames=["A"],this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${e}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const fL="return abs(x);",mL="return x;";class gL{constructor(t,e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${e}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}class yL{constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length);const e=t.length,n=aL("rc",e),r=ZR(e),s=function(t,e){if(1===t)return"rc";let n="";for(let r=0;re.push(t)))}const e=this.texData.get(t),{values:n,shape:r,slice:s,dtype:i,complexTensorInfos:a,isPacked:o}=e;if(null!=s){let e;e=o?new gL(r,mL):new pL(r,mL);const n=this.runWebGLProgram(e,[{dataId:t,shape:r,dtype:i}],i),s=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),s}if(null!=n)return this.convertAndCacheOnCPU(t);if(Gt().getBool("DEBUG")&&!Gt().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===Gt().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==i&&Gt().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(t);const e=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(e.texture.texture,...hR(r))}if(this.pendingRead.set(t,[]),"complex64"!==i&&await this.gpgpu.createAndWaitForFence(),"complex64"===i){const t=await Promise.all([this.read(a.real.dataId),this.read(a.imag.dataId)]);u=Zp(t[0],t[1])}else if(null==c)u=this.getValuesFromTexture(t);else{const t=ot(r);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,t)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const t=this.gpgpu.gl;fR(t,(()=>t.deleteBuffer(c)))}const h=this.convertAndCacheOnCPU(t,u),d=this.pendingRead.get(t);return this.pendingRead.delete(t),d.forEach((t=>t(h))),this.pendingDisposal.has(t)&&(this.pendingDisposal.delete(t),this.disposeData(t)&&jo().removeDataId(t,this),this.pendingDeletes--),h}readToGPU(t,e={}){const n=this.texData.get(t),{values:r,shape:s,slice:i,dtype:a,isPacked:o,texture:l}=n;if("complex64"===a)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=i){let n;n=o?new gL(s,mL):new pL(s,mL);const r=this.runWebGLProgram(n,[{dataId:t,shape:s,dtype:a}],a),i=this.readToGPU(r,e);return this.disposeIntermediateTensorInfo(r),i}if(null==l)throw null!=r?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(t,e.customTexShape),c=jo().makeTensorFromDataId(u.dataId,u.shape,u.dtype),h=this.texData.get(u.dataId);return Object.assign({tensorRef:c},h.texture)}bufferSync(t){const e=this.readSync(t.dataId);let n=e;if("string"===t.dtype)try{n=e.map((t=>Ls(t)))}catch(t){throw new Error("Failed to decode encoded string bytes into utf-8")}return _a(t.shape,t.dtype,n)}checkNumericalProblems(t){if(null!=t)for(let e=0;e0}time(t){const e=this.activeTimers,n=[];let r=!1;null==this.programTimersStack?(this.programTimersStack=n,r=!0):this.activeTimers.push(n),this.activeTimers=n,t();const s=at(this.activeTimers.map((t=>t.query))).filter((t=>null!=t)),i=at(this.activeTimers.map((t=>t.name))).filter((t=>null!=t));this.activeTimers=e,r&&(this.programTimersStack=null);const a={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const t=await Promise.all(s);a.kernelMs=tt(t),a.getExtraProfileInfo=()=>t.map(((t,e)=>({name:i[e],ms:t}))).map((t=>`${t.name}: ${t.ms}`)).join(", ")}else a.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,a})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:As(),endMs:null}}endTimer(t){return Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),t):(t.endMs=As(),t)}async getQueryTime(t){if(Gt().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(t);const e=t;return e.endMs-e.startMs}disposeData(t,e=!1){if(this.pendingDisposal.has(t))return!1;if(!this.texData.has(t))return!0;if(e?this.texData.get(t).refCount=0:this.texData.get(t).refCount--,!e&&this.texData.get(t).refCount>0)return!1;if(this.pendingRead.has(t))return this.pendingDisposal.add(t),this.pendingDeletes++,!1;this.releaseGPUData(t);const{complexTensorInfos:n}=this.texData.get(t);return null!=n&&(this.disposeData(n.real.dataId,e),this.disposeData(n.imag.dataId,e)),this.texData.delete(t),!0}releaseGPUData(t){const{texture:e,dtype:n,texShape:r,usage:s,isPacked:i,slice:a}=this.texData.get(t),o=a&&a.origDataId||t,l=this.dataRefCount.get(o);l>1?this.dataRefCount.set(o,l-1):(this.dataRefCount.delete(o),null!=e&&(this.numBytesInGPU-=this.computeBytes(r,n),this.textureManager.releaseTexture(e,r,s,i)));const u=this.texData.get(t);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(t){return this.uploadToGPU(t),this.texData.get(t).texture.texture}getDataInfo(t){return this.texData.get(t)}shouldExecuteOnCPU(t,e=vL){return Gt().getBool("WEBGL_CPU_FORWARD")&&t.every((t=>null==this.texData.get(t.dataId).texture&&ot(t.shape)0&&Et(n[0])){const s=n.map((t=>Ds(t)));r=this.write(s,t,e)}else r=this.write(n,t,e);return this.texData.get(r).usage=null,{dataId:r,shape:t,dtype:e}}makeOutput(t,e,n){const{dataId:r}=this.makeTensorInfo(t,e,n);return jo().makeTensorFromDataId(r,t,e,this)}unpackTensor(t){const e=new yL(t.shape);return this.runWebGLProgram(e,[t],t.dtype)}packTensor(t){const e=new oL(t.shape);return this.runWebGLProgram(e,[t],t.dtype,null,!0)}packedReshape(t,e){const n=[MR(t.shape),...kR(t.shape)],r={dtype:t.dtype,shape:n,dataId:t.dataId},s=[MR(e),...kR(e)],i=new lL(s,n),a=[n],o=this.runWebGLProgram(i,[r],t.dtype,a,!0);return{dataId:o.dataId,shape:e,dtype:o.dtype}}decode(t,e){const n=this.texData.get(t),{isPacked:r,shape:s,dtype:i}=n;null!=e&&rt(ot(s)<=e[0]*e[1]*4,(()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data."));const a=ER(s);let o;o=r?new iD(a):new sD(a);const l=[null!=e?e:hR(a)];return{dtype:i,shape:s,dataId:this.runWebGLProgram(o,[{shape:a,dtype:i,dataId:t}],i,l,!0,e).dataId}}runWebGLProgram(t,e,n,r,s=!1,i){const a=this.makeTensorInfo(t.outputShape,n),o=this.texData.get(a.dataId);if(t.packedOutput&&(o.isPacked=!0),t.outPackingScheme===oR.DENSE){const e=null!=i?i:hR(t.outputShape);o.texShape=e.map((t=>2*t))}if(null!=t.outTexUsage&&(o.usage=t.outTexUsage),0===ot(a.shape))return o.values=bt(a.dtype,0),a;const l=[],u=e.map((e=>{if("complex64"===e.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(e.dataId);if(null==n.texture){if(!t.packedInputs&&ot(e.shape)<=Gt().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:e.shape,texData:null,isUniform:!0,uniformValues:n.values};t.packedInputs&&(n.isPacked=!0,n.shape=e.shape)}if(this.uploadToGPU(e.dataId),!!n.isPacked!=!!t.packedInputs)e=n.isPacked?this.unpackTensor(e):this.packTensor(e),l.push(e),n=this.texData.get(e.dataId);else if(n.isPacked&&!CR(n.shape,e.shape)){const t=e,r=e.shape;e.shape=n.shape,e=this.packedReshape(e,r),l.push(e),n=this.texData.get(e.dataId),t.shape=r}return{shape:e.shape,texData:n,isUniform:!1}}));this.uploadToGPU(a.dataId);const c={shape:a.shape,texData:o,isUniform:!1},h=function(t,e,n){let r="";e.concat(n).forEach((e=>{const s=null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0;if(t.enableShapeUniforms&&!e.isUniform){const i=e.texData.texShape,{useSqueezeShape:a,uniformShape:o,keptDims:l}=QR(t.packedInputs,e.shape,i);let u="",c="",h="";if(1===o.length&&t.packedInputs){const t=[Math.ceil(i[0]/2),Math.ceil(i[1]/2)];u=`${t[0]>1}_${t[1]>1}`}else if(2!==o.length||t.packedInputs){if(o.length>2&&!t.packedInputs){const t=Dt(o);h=`${t[0]===i[1]}_${t[t.length-1]===i[1]}`}}else c=`${o[0]>1}_${o[1]>1}`;const d=e.shape.length,p=2===o.length&&ut(e.shape,i),f=1===ot(e.shape),m=Ka(e.shape,n.shape),g=!t.packedInputs&&d===n.shape.length&&ut(i,n.texData.texShape),y=t.packedInputs||o.length>2?"":`${i[0]>1}_${i[1]>1}`;r+=`${d}_${g}_${a?l:""}_${o.length}_${f}_${m}_${p}_${u}_${c}_${h}_${y}_${s}`}else{const t=e.isUniform?"uniform":e.texData.texShape;r+=`${e.shape}_${t}_${s}`}}));const s=t.userCode;let i=t.constructor.name;return i+="_"+r+"_"+s+`${Gt().getNumber("WEBGL_VERSION")}`,i}(t,u,c),d=this.getAndSaveBinary(h,(()=>function(t,e,n,r){const s=n.map(((t,n)=>{const r={logicalShape:t.shape,texShape:t.isUniform?null:t.texData.texShape,isUniform:t.isUniform,isPacked:!t.isUniform&&t.texData.isPacked,flatOffset:null};return null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0&&(r.flatOffset=t.texData.slice.flatOffset),{name:e.variableNames[n],shapeInfo:r}})),i=s.map((t=>t.shapeInfo)),a={logicalShape:r.shape,texShape:r.texData.texShape,isUniform:!1,isPacked:r.texData.isPacked,flatOffset:null},o=WR(s,a,e),l=function(t,e){const n=_R(t,(()=>t.createShader(t.FRAGMENT_SHADER)),"Unable to create fragment WebGLShader.");if(fR(t,(()=>t.shaderSource(n,e))),fR(t,(()=>t.compileShader(n))),!1===t.getShaderParameter(n,t.COMPILE_STATUS))throw function(t,e){const n=yR.exec(e);if(null==n)return console.log(`Couldn't parse line number in error: ${e}`),void console.log(t);const r=+n[1],s=t.split("\n"),i=s.length.toString().length+2,a=s.map(((t,e)=>ft((e+1).toString(),i)+t));let o=0;for(let t=0;t{b[n]=t.getUniformLocation(u,e.name,d)})),{program:e,fragmentShader:l,source:o,webGLProgram:u,uniformLocations:p,customUniformLocations:b,inShapeInfos:i,outShapeInfo:a,infLoc:c,nanLoc:h,inShapesLocations:f,inTexShapesLocations:m,outShapeLocation:g,outShapeStridesLocation:x,outTexShapeLocation:y}}(this.gpgpu,t,u,c))),p=null!=this.activeTimers;let f;p&&(f=this.startTimer()),function(t,e,n,r,s){e.program.enableShapeUniforms||(nD(e.inShapeInfos,n),nD([e.outShapeInfo],[r]));const i=r.texData.texture,a=r.texData.texShape;r.texData.isPacked?t.setOutputPackedMatrixTexture(i.texture,a[0],a[1]):t.setOutputMatrixTexture(i.texture,a[0],a[1]),t.setProgram(e.webGLProgram),1===Gt().getNumber("WEBGL_VERSION")&&null!==e.infLoc&&t.gl.uniform1f(e.infLoc,1/0),null!==e.nanLoc&&t.gl.uniform1f(e.nanLoc,NaN),n.forEach(((n,r)=>{const s=e.program.variableNames[r],i=e.uniformLocations[s],a=e.uniformLocations[`offset${s}`],o=e.inShapesLocations[`${s}Shape`],l=e.inTexShapesLocations[`${s}TexShape`];if(o){const{uniformShape:r}=QR(e.program.packedInputs,n.shape,n.texData.texShape);switch(r.length){case 1:t.gl.uniform1iv(o,new Int32Array(r));break;case 2:t.gl.uniform2iv(o,new Int32Array(r));break;case 3:t.gl.uniform3iv(o,new Int32Array(r));break;case 4:t.gl.uniform4iv(o,new Int32Array(r))}}if(l&&t.gl.uniform2i(l,n.texData.texShape[0],n.texData.texShape[1]),null!=i)if(n.isUniform)if(ot(n.shape)<2)t.gl.uniform1f(i,n.uniformValues[0]);else{let e=n.uniformValues;e instanceof Float32Array||(e=new Float32Array(e)),t.gl.uniform1fv(i,e)}else null!=n.texData.slice&&null!=a&&t.gl.uniform1i(a,n.texData.slice.flatOffset),t.setInputMatrixTexture(n.texData.texture.texture,i,r)}));const o=e.outShapeLocation;if(o)switch(r.shape.length){case 1:t.gl.uniform1iv(o,new Int32Array(r.shape));break;case 2:t.gl.uniform2iv(o,new Int32Array(r.shape));break;case 3:t.gl.uniform3iv(o,new Int32Array(r.shape));break;case 4:t.gl.uniform4iv(o,new Int32Array(r.shape))}if(e.outShapeStridesLocation){const n=Dt(r.shape);switch(r.shape.length){case 2:t.gl.uniform1iv(e.outShapeStridesLocation,new Int32Array(n));break;case 3:t.gl.uniform2iv(e.outShapeStridesLocation,new Int32Array(n));break;case 4:t.gl.uniform3iv(e.outShapeStridesLocation,new Int32Array(n))}}e.outTexShapeLocation&&t.gl.uniform2i(e.outTexShapeLocation,r.texData.texShape[0],r.texData.texShape[1]),e.program.customUniforms&&s&&e.program.customUniforms.forEach(((n,r)=>{const i=e.customUniformLocations[r],a=s[r];if("float"===n.type)t.gl.uniform1fv(i,a);else if("vec2"===n.type)t.gl.uniform2fv(i,a);else if("vec3"===n.type)t.gl.uniform3fv(i,a);else if("vec4"===n.type)t.gl.uniform4fv(i,a);else if("int"===n.type)t.gl.uniform1iv(i,a);else if("ivec2"===n.type)t.gl.uniform2iv(i,a);else if("ivec3"===n.type)t.gl.uniform3iv(i,a);else{if("ivec4"!==n.type)throw Error(`uniform type ${n.type} is not supported yet.`);t.gl.uniform4iv(i,a)}})),t.executeProgram()}(this.gpgpu,d,u,c,r),l.forEach((t=>this.disposeIntermediateTensorInfo(t))),p&&(f=this.endTimer(f),this.activeTimers.push({name:t.constructor.name,query:this.getQueryTime(f)}));const m=Gt().get("WEBGL_FLUSH_THRESHOLD");if(m>0){const t=As();t-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=t)}if(!Gt().getBool("WEBGL_LAZILY_UNPACK")&&o.isPacked&&!1===s){const t=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),t}return a}compileAndRun(t,e,n,r,s=!1){return n=n||e[0].dtype,this.runWebGLProgram(t,e,n,r,s)}getAndSaveBinary(t,e){return t in this.binaryCache||(this.binaryCache[t]=e()),this.binaryCache[t]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(Gt().getBool("IS_TEST")||Object.keys(this.binaryCache).forEach((t=>{this.gpgpu.deleteProgram(this.binaryCache[t].webGLProgram),delete this.binaryCache[t]})),this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=Ko((()=>{if(!Gt().get("WEBGL_RENDER_FLOAT32_ENABLED")){const t=Gt().getBool("DEBUG");Gt().set("DEBUG",!1);const e=this.abs(Sl(1e-8)).dataSync()[0];if(Gt().set("DEBUG",t),e>0)return 32}return 16}))),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(t){const e=this.texData.get(t),{shape:n,dtype:r,values:s,texture:i,usage:a,isPacked:o}=e;if(null!=i)return;const l=null!=this.activeTimers;let u;l&&(u=As());let c=e.texShape;if(null==c&&(c=function(t,e=!1){let n=Gt().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e&&(n*=2,1===(t=t.map(((e,n)=>n>=t.length-2?Z(t[n]):t[n]))).length&&(t=[2,t[0]])),2!==t.length){const e=xt(t);t=e.newShape}let r=ot(t);if(t.length<=1&&r<=n)return[1,r];if(2===t.length&&t[0]<=n&&t[1]<=n)return t;if(3===t.length&&t[0]*t[1]<=n&&t[2]<=n)return[t[0]*t[1],t[2]];if(3===t.length&&t[0]<=n&&t[1]*t[2]<=n)return[t[0],t[1]*t[2]];if(4===t.length&&t[0]*t[1]*t[2]<=n&&t[3]<=n)return[t[0]*t[1]*t[2],t[3]];if(4===t.length&&t[0]<=n&&t[1]*t[2]*t[3]<=n)return[t[0],t[1]*t[2]*t[3]];if(e){const e=MR(t);let n=2,s=2;return t.length&&([n,s]=kR(t)),r=e*(n/2)*(s/2),dt(r).map((t=>2*t))}return dt(r)}(n,o),e.texShape=c),null!=s){const t=ER(n);let i,a=c[1],h=c[0];const d=s instanceof Uint8Array||s instanceof Uint8ClampedArray;!o&&d||([a,h]=dR(c[0],c[1])),i=o?new uD(t,d):new lD(t,d);const p=d?[h,a]:c,f=this.makeTensorInfo(p,r),m=this.texData.get(f.dataId);m.usage=d?lR.PIXELS:lR.UPLOAD,m.texShape=p,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),a,h,s);const g=[[h,a]],y=!0,x=this.runWebGLProgram(i,[f],r,g,y),b=this.texData.get(x.dataId);e.texture=b.texture,e.texShape=b.texShape,e.isPacked=b.isPacked,e.usage=b.usage,this.disposeIntermediateTensorInfo(f),this.texData.delete(x.dataId),e.values=null,l&&(this.uploadWaitMs+=As()-u)}else{const t=this.acquireTexture(c,a,r,o);e.texture=t}}convertAndCacheOnCPU(t,e){const n=this.texData.get(t),{dtype:r}=n;return this.releaseGPUData(t),null!=e&&(n.values=function(t,e){if("float32"===e||"complex64"===e)return t;if("int32"===e||"bool"===e){const n="int32"===e?new Int32Array(t.length):new Uint8Array(t.length);for(let e=0;e1024*this.numMBBeforeWarning*1024){const t=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${t} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(t,e,r)}computeBytes(t,e){return t[0]*t[1]*Mt(e)}}wL.nextDataId=0,xi()&&il("webgl",(()=>new wL),2);class SL{constructor(t,e,n){this.variableNames=["A","B"],this.outputShape=Ja(e,n),this.enableShapeUniforms=rD(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${t}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}}class TL{constructor(t,e,n,r=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=Ja(e,n);const s=this.outputShape.length;this.enableShapeUniforms=rD(s);let i="";if(r)if(0===s||1===ot(this.outputShape))i="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else if(i=`\n ${ZR(s)} coords = getOutputCoords();\n `,1===s)this.enableShapeUniforms?i+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":i+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const t=aL("coords",s);this.enableShapeUniforms?i+=`\n bool nextRowOutOfBounds =\n (${t[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${t[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:i+=`\n bool nextRowOutOfBounds =\n (${t[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${t[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${t}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${i}\n\n setOutput(result);\n }\n `}}function _L(t){const{inputs:e,backend:n}=t,{x:r}=e;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const ML={kernelName:cn,backendName:"webgl",kernelFunc:_L};function kL(t){const{inputs:e,backend:n}=t,{real:r,imag:s}=e,i=n.makeTensorInfo(r.shape,"complex64"),a=n.texData.get(i.dataId),o=_L({inputs:{x:r},backend:n}),l=_L({inputs:{x:s},backend:n});return a.complexTensorInfos={real:o,imag:l},i}const EL={kernelName:Se,backendName:"webgl",kernelFunc:kL},IL="return (a < 0.) ? b * a : a;",CL="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",NL={kernelName:gn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{alpha:i}=r,a=n.makeTensorInfo([],"float32",Cs(i,"float32")),o=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new TL(CL,s.shape,a.shape):new SL(IL,s.shape,a.shape),l=n.runWebGLProgram(o,[s,a],"float32");return n.disposeIntermediateTensorInfo(a),l}},AL="return (a < 0.) ? b * a : a;",RL="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",DL={kernelName:Qn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r,alpha:s}=e,i=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new TL(RL,r.shape,s.shape):new SL(AL,r.shape,s.shape);return n.runWebGLProgram(i,[r,s],"float32")}};function LL({opSnippet:t,packedOpSnippet:e,cpuKernelImpl:n,dtype:r}){return({inputs:s,backend:i})=>{const{x:a}=s,o=i,l=r||a.dtype;if(o.shouldExecuteOnCPU([a])&&null!=n){const t=o.texData.get(a.dataId),e=n(t.values,l);return o.makeTensorInfo(a.shape,l,e)}let u;return u=Gt().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=e?new gL(a.shape,e):new pL(a.shape,t),o.runWebGLProgram(u,[a],l)}}function FL({opSnippet:t,packedOpSnippet:e,checkOutOfBounds:n=!1,supportsComplex:r=!1,cpuKernelImpl:s,dtype:i}){return({inputs:a,backend:o})=>{const{a:l,b:u}=a,c=o;if(r&&"complex64"===l.dtype){const e=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[r,s]=[[e.complexTensorInfos.real,n.complexTensorInfos.real],[e.complexTensorInfos.imag,n.complexTensorInfos.imag]].map((e=>{const[n,r]=e,s={dataId:n.dataId,dtype:n.dtype,shape:l.shape},i={dataId:r.dataId,dtype:r.dtype,shape:u.shape},a=new SL(t,l.shape,u.shape);return c.runWebGLProgram(a,[s,i],ni(n.dtype,r.dtype))})),i=kL({inputs:{real:r,imag:s},backend:c});return c.disposeIntermediateTensorInfo(r),c.disposeIntermediateTensorInfo(s),i}const h=i||ni(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=s){const t=c.texData.get(l.dataId).values,e=c.texData.get(u.dataId).values,n="string"===l.dtype?Nf(t):t,r="string"===l.dtype?Nf(e):e,[i,a]=s(l.shape,u.shape,n,r,h),o=c.makeTensorInfo(a,h);return c.texData.get(o.dataId).values=i,o}let d;return d=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=e?new TL(e,l.shape,u.shape,n):new SL(t,l.shape,u.shape),c.runWebGLProgram(d,[l,u],h)}}function $L(t,e=!1){if("linear"===t)return"return x;";if("relu"===t)return e?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n";if("elu"===t)return e?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===t)return e?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n";if("prelu"===t)return e?RL:AL;if("leakyrelu"===t)return e?CL:IL;if("sigmoid"===t)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${t} has not been implemented for the WebGL backend.`)}class OL{constructor(t,e,n,r=!1,s=!1,i=!1,a=null,o=!1,l=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=rD(this.outputShape.length);const u=r?t[1]:t[2],c=Math.ceil(u/2),h=r?"i * 2, rc.y":"rc.y, i * 2",d=s?"rc.z, i * 2":"i * 2, rc.z",p=r?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],f=s?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"];let m="",g="";a&&(m=o?`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${a}\n }`:l?`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${a}\n }`:`vec4 activation(vec4 x) {\n ${a}\n }`,g="result = activation(result);");const y=i?"result += getBiasAtOutCoords();":"";i&&this.variableNames.push("bias"),o&&this.variableNames.push("preluActivationWeights"),l&&this.variableNames.push("leakyreluAlpha");let x="rc.x",b="rc.x";t[0]`The new shape (${l}) has ${u} elements and the old shape (${s.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`));const c=a.texData.get(s.dataId);return!c.isPacked||CR(s.shape,l)||null!==c.texture&&CR(c.shape,l)?(a.incRef(s.dataId),{dataId:s.dataId,shape:l,dtype:s.dtype}):function(t,e,n){const r=[MR(t.shape),...kR(t.shape)],s={dtype:t.dtype,shape:r,dataId:t.dataId},i=[MR(e),...kR(e)],a=new lL(i,r),o=[r],l=n.runWebGLProgram(a,[s],t.dtype,o,!0);return{dataId:l.dataId,shape:e,dtype:l.dtype}}(s,l,a)}const WL={kernelName:ir,backendName:"webgl",kernelFunc:VL};class HL{constructor(t,e){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:i}=t;this.outputShape=[r,i];const a=4*Math.floor(n/4),o=n%4;let l="sumValue += dot(values, ones);";if(null!=e){const t=1/e;l=`sumValue += dot(values * ${ct(t)?t.toPrecision(2):t}, ones);`}let u="";s%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${a};\n if (${1===o}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}}class GL{constructor(t,e){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:i}=t;this.outputShape=[r,i];let a="0.0",o="";"prod"===e?a="1.0":"min"===e?(a="1.0 / 1e-20",o="min"):"max"===e&&(a="-1.0 / 1e-20",o="max");let l=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===e?l="sumValue":"prod"===e?l="prodValue":"all"===e?l="allValue":"any"===e&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let h=`\n if (${"sum"===e}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===e}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${o}(values, minMaxValue);\n if (${"min"===e} || ${"max"===e}) {\n minMaxValue = ${o}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,d="vec4";"all"===e?(a="1.0",h="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",d="bvec4"):"any"===e&&(a="0.0",h="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",d="bvec4");let p="";s%n>0&&(p=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${a};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${p}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${a});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${h}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${2===c}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${3===c}) {\n ${d} values = ${d}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${h}\n }\n setOutput(${l});\n }\n `}}function jL(t,e,n,r){const s=function(t){const e=[];for(;0===e.length||1!==e[e.length-1].outSize;){const n=e.length?e[e.length-1].outSize:t[1],r=Op(n);e.push({inSize:n,windowSize:r,outSize:Math.ceil(n/r)})}return e}(t.shape);let i=t;for(let a=0;a6)throw Error(`Transpose for rank ${e} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],r=new Array(e);for(let e=0;e6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const r=ZR(this.rank),s=iL("rc",this.rank),i=new Array(this.rank);for(let t=0;t`Error in matMul: inner shapes (${h}) and (${d}) of Tensors with shapes ${t.shape} and ${e.shape} and transposeA=${n} and transposeB=${r} must match.`));const v=n?[y,h,p]:[y,p,h],w=r?[x,f,d]:[x,d,f],S=VL({inputs:{x:t},backend:s,attrs:{shape:v}}),T=VL({inputs:{x:e},backend:s,attrs:{shape:w}}),_=[S,T],M=Math.max(y,x),k=n?S.shape[1]:S.shape[2],E=null!=i,I=null!=a,C="leakyrelu"===l,N=null!=l?$L(l,!0):null;let A;if((1===p||1===f)&&k>1e3&&!1===(E||I||C||null!=N)){let t=S,e=T;n&&(t=ZL({inputs:{x:S},backend:s,attrs:{perm:[0,2,1]}}),_.push(t)),r&&(e=ZL({inputs:{x:T},backend:s,attrs:{perm:[0,2,1]}}),_.push(e));const i=1===f;let a=t;1!==f&&(a=VL({inputs:{x:t},backend:s,attrs:{shape:[M,k,1]}}),_.push(a));const o=1===f?2:1;let l=e;i&&(l=VL({inputs:{x:e},backend:s,attrs:{shape:[M,1,k]}}),_.push(l));const u=BL({inputs:{a,b:l},backend:s});A=YL({inputs:{x:u},backend:s,attrs:{axis:o,keepDims:!0}}),_.push(u)}else{const l=ni(t.dtype,e.dtype),u=new OL(v,w,[M,p,f],n,r,E,N,I,C),c=[S,T];if(null!=i&&c.push(i),I&&c.push(a),C){const t=s.makeTensorInfo([],"float32",Cs(o,"float32"));c.push(t),_.push(t)}A=s.runWebGLProgram(u,c,l)}const R=VL({inputs:{x:A},backend:s,attrs:{shape:b}});_.push(A);for(const t of _)s.disposeIntermediateTensorInfo(t);return R}const eF={kernelName:Qr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{a:s,b:i,bias:a,preluActivationWeights:o}=e,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:h}=r;return tF({a:s,b:i,transposeA:l,transposeB:u,backend:n,bias:a,preluActivationWeights:o,leakyreluAlpha:h,activation:c})}},nF="return abs(x);",rF={kernelName:Yt,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e;if(n.shouldExecuteOnCPU([r])&&"complex64"!==r.dtype){const t=n.texData.get(r.dataId),e=HD(t.values);return n.makeTensorInfo(r.shape,r.dtype,e)}let s;return s=Gt().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new gL(r.shape,nF):new pL(r.shape,nF),n.runWebGLProgram(s,[r],r.dtype)}},sF=LL({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),iF={kernelName:Jt,backendName:"webgl",kernelFunc:sF},aF=LL({opSnippet:"if (isnan(x)) return x;\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),oF={kernelName:Zt,backendName:"webgl",kernelFunc:aF},lF="return a + b;",uF=FL({opSnippet:lF,packedOpSnippet:lF,supportsComplex:!0,cpuKernelImpl:yD}),cF={kernelName:Qt,backendName:"webgl",kernelFunc:uF};class hF{constructor(t,e){this.outputShape=[],this.outputShape=t,this.variableNames=e.map(((t,e)=>`T${e}`));const n=[];this.variableNames.forEach((t=>{n.push(`float v${t} = get${t}AtOutCoords();`)}));const r=this.variableNames.map((t=>`v${t}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${r};\n setOutput(result);\n }\n `}}class dF{constructor(t,e){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.variableNames=e.map(((t,e)=>`T${e}`));const n=[];this.variableNames.forEach((t=>{n.push(`vec4 v${t} = get${t}AtOutCoords();`)}));const r=this.variableNames.map((t=>`v${t}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${r};\n setOutput(result);\n }\n `}}const pF={kernelName:te,backendName:"webgl",kernelFunc:function t(e){const{inputs:n,backend:r}=e,s=n;if(1===s.length)return _L({inputs:{x:s[0]},backend:r});if(s.length>Gt().get("WEBGL_MAX_TEXTURES_IN_SHADER")){const e=Math.floor(s.length/2),n=t({inputs:s.slice(0,e),backend:r}),i=t({inputs:s.slice(e),backend:r});return t({inputs:[n,i],backend:r})}const i=s.map((t=>t.dtype)).reduce(((t,e)=>ni(t,e))),a=s.map((t=>t.shape)),o=Gt().getBool("WEBGL_PACK")?new dF(s[0].shape,a):new hF(s[0].shape,a);return r.runWebGLProgram(o,s,i)}},fF={kernelName:ee,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=s.shape.length,l=yt(i,s.shape);let u=l;const c=Nc(u,o);let h=s;null!=c&&(h=ZL({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Rc(u.length,o)),Cc("all",u,o);const[d,p]=Ec(h.shape,u),f=VL({inputs:{x:h},backend:n,attrs:{shape:[-1,ot(p)]}}),m=jL(f,f.dtype,"all",n);let g;return g=VL(a?{inputs:{x:m},backend:n,attrs:{shape:Ic(d,l)}}:{inputs:{x:m},backend:n,attrs:{shape:d}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}},mF={kernelName:ne,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=s.shape.length,l=yt(i,s.shape);let u=l;const c=Nc(u,o);let h=s;null!=c&&(h=ZL({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Rc(u.length,o)),Cc("any",u,o);const[d,p]=Ec(h.shape,u),f=VL({inputs:{x:h},backend:n,attrs:{shape:[-1,ot(p)]}}),m=jL(f,f.dtype,"any",n);let g;return g=VL(a?{inputs:{x:m},backend:n,attrs:{shape:Ic(d,l)}}:{inputs:{x:m},backend:n,attrs:{shape:d}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}};class gF{constructor(t,e,n){this.variableNames=["A"];const{windowSize:r,batchSize:s,outSize:i}=t;n||this.variableNames.push("bestIndicesA"),this.outputShape=[s,i];const a="max"===e?">":"<",o=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${r};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${r}; i++) {\n int inIdx = ${o};\n float candidate = getA(batch, inIdx);\n if (candidate ${a} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}}class yF{constructor(t,e,n,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,rt(t.length>2,(()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`));const s=t[t.length-1],i=Math.ceil(s/e);this.outputShape=t.slice(0,-1),i>1&&this.outputShape.push(i),r||this.variableNames.push("bestIndicesA");const a=this.outputShape,o=a.length,l=ZR(o),u=aL("coords",o);let c,h;if(1===i){h=o+1;const t=ZR(h);c=`\n ${t} sourceLocR = ${t}(${u.join()}, 0);\n ++${u[o-1]};\n ${t} sourceLocG = ${t}(${u.join()}, 0);\n ++${u[o-2]};\n ${t} sourceLocA = ${t}(${u.join()}, 0);\n --${u[o-1]};\n ${t} sourceLocB = ${t}(${u.join()}, 0);\n --${u[o-2]};`}else h=o,c=`\n ${l} sourceLocR = coords;\n ++${u[o-1]};\n ${l} sourceLocG = coords;\n ++${u[o-2]};\n ${l} sourceLocA = coords;\n --${u[o-1]};\n ${l} sourceLocB = coords;\n --${u[o-2]};`;const d=["x","y","z","w","u","v"].slice(0,h),p="."+d[h-1],f=d.map((t=>"int "+t)),m=aL("sourceLocR",h-1).concat("inIdx.r"),g=aL("sourceLocG",h-1).concat("inIdx.g"),y=aL("sourceLocB",h-1).concat("inIdx.b"),x=aL("sourceLocA",h-1).concat("inIdx.a"),b="max"===n?"greaterThan":"lessThan",v=r?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${y.join()}),\n getBestIndicesAChannel(${x.join()})));`,w=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${y.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${x.join()}) : 0.)`,S=r?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${d.join()}),\n vec2(${d.slice(-2).join()}));\n }\n ${S}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[o-1]} < ${a[o-1]-1};\n bool hasNextRow = ${u[o-2]} < ${a[o-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${p}, sourceLocG${p},\n sourceLocB${p}, sourceLocA${p}) * ${e};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${w};\n\n for (int i = 0; i < ${e}; i++) {\n inIdx = srcIdx;\n ${v}\n vec4 candidate = ${w};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${b}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}}function xF(t,e,n,r=null){let s=e.shape[0],i=e.shape[1];null!=r&&(s=r.shape[0],i=r.shape[1]);const a=Op(i),o={windowSize:a,inSize:i,batchSize:s,outSize:Math.ceil(i/a)},l=new gF(o,n,null==r),u=[e];null!=r&&u.push(r);const c=t.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const h=xF(t,e,n,c);return t.disposeIntermediateTensorInfo(c),h}function bF(t,e,n,r=null){const s=null!=r?r.shape:e.shape,i=Op(s[s.length-1]),a=new yF(s,i,n,null==r),o=null==r?[e]:[e,r],l=t.runWebGLProgram(a,o,"int32");if(l.shape.length===e.shape.length){const r=bF(t,e,n,l);return t.disposeIntermediateTensorInfo(l),r}return l}function vF(t,e,n,r){const s=[n];if(Cc("arg"+r.charAt(0).toUpperCase()+r.slice(1),s,e.shape.length),!Gt().getBool("WEBGL_PACK_REDUCE")||e.shape.length<=2){const n=[],i=t.texData.get(e.dataId);let a=e;null!==i&&i.isPacked&&(a=t.unpackTensor(e),n.push(a));const[o,l]=Ec(a.shape,s),u=ot(l),c=VL({inputs:{x:a},backend:t,attrs:{shape:[-1,u]}});n.push(c);const h=xF(t,c,r);n.push(h);const d=VL({inputs:{x:h},backend:t,attrs:{shape:o}});return n.forEach((e=>t.disposeIntermediateTensorInfo(e))),d}return bF(t,e,r)}const wF={kernelName:re,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i}=r;let a=yt(i,s.shape);const o=Nc(a,s.shape.length);let l=s;const u=[];null!=o&&(l=ZL({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),a=Rc(a.length,l.shape.length)),Cc("argMax",[a[0]],l.shape.length);const c=vF(n,l,a[0],"max");return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),c}},SF={kernelName:se,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i}=r;let a=yt(i,s.shape);const o=Nc(a,s.shape.length);let l=s;const u=[];null!=o&&(l=ZL({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),a=Rc(a.length,l.shape.length)),Cc("argMin",[a[0]],l.shape.length);const c=vF(n,l,a[0],"min");return u.forEach((t=>n.disposeIntermediateTensorInfo(t))),c}},TF=LL({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),_F={kernelName:ie,backendName:"webgl",kernelFunc:TF},MF=LL({opSnippet:"if (isnan(x)) return x;return log(x + sqrt(x * x + 1.0));"}),kF={kernelName:ae,backendName:"webgl",kernelFunc:MF},EF=LL({opSnippet:"if (isnan(x)) return x;\n return atan(x);\n"}),IF={kernelName:oe,backendName:"webgl",kernelFunc:EF},CF=FL({opSnippet:"\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),NF={kernelName:ue,backendName:"webgl",kernelFunc:CF},AF=LL({opSnippet:"if (isnan(x)) return x;\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),RF={kernelName:le,backendName:"webgl",kernelFunc:AF};class DF{constructor(t,e,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===e&&n)throw new Error("Cannot compute positions for average pool.");const i=t.filterWidth,a=t.strideHeight,o=t.strideWidth,l=t.dilationHeight,u=t.dilationWidth,c=t.effectiveFilterHeight,h=t.effectiveFilterWidth,d=t.padInfo.top,p=t.padInfo.left;this.outputShape=t.outShape;const f="avg"===e,m=`((batch * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + d`,g=`(xR * ${t.inWidth} + xC) * ${t.inChannels} + d`;let y="0.0";if(f||(y="-1.0 / 1e-20"),n){const e=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${a}, ${o});\n const ivec2 pads = ivec2(${d}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${e} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?m:g:`wR * ${h} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let x=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===e&&(x="avgValue / count");const b=4*Math.floor(i/4),v=i%4,w=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${a}, ${o});\n const ivec2 pads = ivec2(${d}, ${p});\n const float initializationValue = ${y};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${y});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${b}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${w}\n }\n\n int xC = xCCorner + ${b};\n if (${1===v}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${w}\n } else if (${2===v}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${w}\n } else if (${3===v}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${w}\n }\n }\n setOutput(${x});\n }\n `}}class LF{constructor(t,e,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===e&&n)throw new Error("Cannot compute positions for average pool.");const i=t.filterWidth,a=t.strideDepth,o=t.strideHeight,l=t.strideWidth,u=t.dilationDepth,c=t.dilationHeight,h=t.dilationWidth,d=t.effectiveFilterDepth,p=t.effectiveFilterHeight,f=t.effectiveFilterWidth,m=t.padInfo.front,g=t.padInfo.top,y=t.padInfo.left;this.outputShape=t.outShape;const x="avg"===e;let b="0.0";if(x||(b="-1.0 / 1e-20"),n){const e=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${d};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${h}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${e} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?`(((batch * ${t.inDepth} + xD) * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`((xD * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`wD * ${p} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let v=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===e&&(v="avgValue / count");const w=4*Math.floor(i/4),S=i%4,T=`\n if (${x}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${d};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${w}; wC += 4) {\n int xC = xCCorner + wC * ${h};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n getValue(batch, xD, xR, xC + 3 * ${h}, ch)\n );\n\n ${T}\n }\n\n int xC = xCCorner + ${w};\n if (${1===S}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${2===S}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${3===S}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n initializationValue\n );\n\n ${T}\n }\n }\n setOutput(${v});\n }\n }\n `}}const FF={kernelName:ce,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;FR(s,"avgPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))return _L({inputs:{x:s},backend:n});const c=new DF(u,"avg",!1);return n.runWebGLProgram(c,[s],"float32")}},$F={kernelName:de,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dimRoundingMode:l,dataFormat:u}=r,c=Jl(s.shape,i,a,[1,1,1],o,l,u),h=new LF(c,"avg",!1);return n.runWebGLProgram(h,[s],"float32")}};class OF{constructor(t){this.variableNames=["dy"],this.outputShape=t.inShape;const e=t.filterHeight,n=t.filterWidth,r=t.strideHeight,s=t.strideWidth,i=t.dilationHeight,a=t.dilationWidth,o=t.effectiveFilterHeight,l=t.effectiveFilterWidth,u=o-1-t.padInfo.top,c=l-1-t.padInfo.left,h=1/(e*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${h});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${o};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${a}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class PF{constructor(t){this.variableNames=["dy"],this.outputShape=t.inShape;const e=t.filterDepth,n=t.filterHeight,r=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,o=t.dilationDepth,l=t.dilationHeight,u=t.dilationWidth,c=t.effectiveFilterDepth,h=t.effectiveFilterHeight,d=t.effectiveFilterWidth,p=c-1-t.padInfo.front,f=h-1-t.padInfo.top,m=d-1-t.padInfo.left,g=1/(e*n*r);this.userCode=`\n const ivec3 pads = ivec3(${p}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${o}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${h};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${d};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const zF={kernelName:pe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Jl(a.shape,o,l,[1,1,1],u,c),d=new PF(h);return n.runWebGLProgram(d,[s],a.dtype)}},BF={kernelName:he,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i;FR([s,i],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(a.shape,o,l,1,u),h=new OF(c);return n.runWebGLProgram(h,[s],a.dtype)}},UF={kernelName:fe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{a:s,b:i}=e,{transposeA:a,transposeB:o}=r;return tF({a:s,b:i,transposeA:a,transposeB:o,backend:n})}};class VF{constructor(t,e,n,r,s,i){this.outputShape=[],this.variableNames=["x","mean","variance"],Ja(t,e),Ja(t,n);let a="0.0";null!=r&&(Ja(t,r),this.variableNames.push("offset"),a="getOffsetAtOutCoords()");let o="1.0";null!=s&&(Ja(t,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=t,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${a};\n float scale = ${o};\n float inv = scale * inversesqrt(variance + float(${i}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}}class WF{constructor(t,e,n,r,s,i){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],Ja(t,e),Ja(t,n);let a="vec4(0.0)";null!=r&&(Ja(t,r),this.variableNames.push("offset"),a="getOffsetAtOutCoords()");let o="vec4(1.0)";null!=s&&(Ja(t,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=t,this.userCode=`\n void main() {\n vec4 offset = ${a};\n vec4 scale = ${o};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${i}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}}const HF={kernelName:sn,backendName:"webgl",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r,mean:s,variance:i,offset:a,scale:o}=t;rt(s.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),rt(null==a||s.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),rt(null==o||s.shape.length===o.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[r,s,i];let c=null;null!=a&&(c=a.shape,u.push(a));let h=null;null!=o&&(h=o.shape,u.push(o));const d=Gt().getBool("WEBGL_PACK_NORMALIZATION")?new WF(r.shape,s.shape,i.shape,c,h,l):new VF(r.shape,s.shape,i.shape,c,h,l);return e.runWebGLProgram(d,u,u[0].dtype)}};class GF{constructor(t){this.variableNames=["source"],this.outputShape=t,this.rank=t.length;const e=ZR(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(t){if(1===t)return"sourceLoc";if(t<=6)return jF.slice(0,t).map((t=>"sourceLoc."+t)).join(",");throw Error(`Slicing for rank ${t} is not yet supported`)}(this.rank);let r;r=`\n ${e} sourceLoc;\n ${e} coords = getOutputCoords();\n ${t.map(((t,e)=>`sourceLoc.${jF[e]} = start[${e}] + coords.${jF[e]};`)).join("\n")}\n `,this.userCode=`\n void main() {\n ${r}\n setOutput(getSource(${n}));\n }\n `}}const jF=["x","y","z","w","u","v"];class qF{constructor(t){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const e=ZR(this.rank),n=aL("coords",this.rank),r=aL("sourceLoc",this.rank),s=1===this.rank?"sourceLoc":`vec2(${r.slice(-2).join()})`,i=`getChannel(getSource(${r.join()}), ${s})`,a=`\n result.x = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.y = ${i};\n --${r[this.rank-1]};\n }\n `,o=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${t[this.rank-2]}) {\n ++${r[this.rank-2]};\n result.z = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.w = ${i};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${e}(${t.map(((t,e)=>`start[${e}]`)).join()});`:t.map(((t,e)=>`${r[e]} = ${n[e]} + start[${e}];`)).join("\n");this.userCode=`\n void main() {\n ${e} coords = getOutputCoords();\n ${e} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${a}\n ${o}\n setOutput(result);\n }\n `}}function XF(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{begin:i,size:a}=r,[o,l]=To(s,i,a);if(lo(s,o,l),0===ot(l))return n.makeTensorInfo(l,s.dtype,[]);if(n.shouldExecuteOnCPU([s])||"string"===s.dtype){const t=n.texData.get(s.dataId),e=GD(t.values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,e)}const{isPacked:u}=n.texData.get(s.dataId),c=wo(s.shape,o,l);if(u||!c){const t=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new qF(l):new GF(l),e=[o];return n.runWebGLProgram(t,[s],s.dtype,e)}return n.uploadToGPU(s.dataId),function(t,e,n,r){const s=r.texData.get(t.dataId),i=r.makeTensorInfo(n,t.dtype),a=r.texData.get(i.dataId);Object.assign(a,s),a.refCount=1,a.shape=n,a.dtype=t.dtype;let o=So(e,Dt(t.shape));s.slice&&(o+=s.slice.flatOffset),a.slice={flatOffset:o,origDataId:s.slice&&s.slice.origDataId||t.dataId};const l=r.dataRefCount.get(a.slice.origDataId)||1;return r.dataRefCount.set(a.slice.origDataId,l+1),i}(s,o,l,n)}const KF={kernelName:yr,backendName:"webgl",kernelFunc:XF},YF={kernelName:me,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockShape:i,crops:a}=r;rt(s.shape.length<=4,(()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet"));const o=i.reduce(((t,e)=>t*e)),l=zp(s.shape,i,o),u=Bp(l.length,i.length),c=Up(s.shape,i,o),h=Vp(a,i.length),d=Wp(c,a,i.length),p=[],f=VL({inputs:{x:s},backend:n,attrs:{shape:l}}),m=ZL({inputs:{x:f},backend:n,attrs:{perm:u}}),g=VL({inputs:{x:m},backend:n,attrs:{shape:c}}),y=XF({inputs:{x:g},backend:n,attrs:{begin:h,size:d}});return p.push(f),p.push(m),p.push(g),p.forEach((t=>n.disposeIntermediateTensorInfo(t))),y}},JF={kernelName:ge,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,weights:i}=e,{size:a}=r,o=n.readSync(s.dataId),l=n.readSync(i.dataId),u=xD(o,l,i.dtype,i.shape,a);return n.makeTensorInfo([a],i.dtype,u)}},ZF={kernelName:xe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{s0:r,s1:s}=e,i=n.readSync(r.dataId),a=n.readSync(s.dataId),o=Ja(Array.from(i),Array.from(a));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},QF=FL({opSnippet:"return float(a != b);",cpuKernelImpl:zD,dtype:"bool"}),t$={kernelName:Wn,backendName:"webgl",kernelFunc:QF};function e$(t){const{inputs:e,backend:n}=t,{input:r}=e;return _L({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.real},backend:n})}const n$={kernelName:nr,backendName:"webgl",kernelFunc:e$},r$={kernelName:be,backendName:"webgl",kernelFunc:function t(e){const{inputs:n,backend:r,attrs:s}=e,{x:i}=n,{dtype:a}=s;if("complex64"===a){if("complex64"===i.dtype)return _L({inputs:{x:i},backend:r});const e=Vc(i.shape),n=t({inputs:{x:i},backend:r,attrs:{dtype:"float32"}}),s=kL({inputs:{real:n,imag:e},backend:r});return e.dispose(),r.disposeIntermediateTensorInfo(n),s}if("complex64"===i.dtype){const e=e$({inputs:{input:i},backend:r}),n=t({inputs:{x:e},backend:r,attrs:{dtype:a}});return r.disposeIntermediateTensorInfo(e),n}if(!Tt(i.dtype,a)){const t=_L({inputs:{x:i},backend:r});return{dataId:t.dataId,shape:t.shape,dtype:a}}if("int32"===a)return function(t,e){const n=new pL(t.shape,"return float(int(x));"),r=e.runWebGLProgram(n,[t],"int32");return{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}(i,r);if("bool"===a){const t=r.makeTensorInfo([],"bool",bt("bool",1)),e=QF({inputs:{a:i,b:t},backend:r});return r.disposeIntermediateTensorInfo(t),e}throw new Error(`Error in Cast: failed to cast ${i.dtype} to ${a}`)}},s$="return ceil(x);",i$=LL({opSnippet:s$,packedOpSnippet:s$,cpuKernelImpl:vD}),a$={kernelName:ve,backendName:"webgl",kernelFunc:i$};class o${constructor(t){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=t,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}}class l${constructor(t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=t,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const u$={kernelName:we,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{clipValueMin:i,clipValueMax:a}=r;let o;o=Gt().getBool("WEBGL_PACK_CLIP")?new l$(s.shape):new o$(s.shape);const l=[[i],[a]];return n.runWebGLProgram(o,[s],s.dtype,l)}};class c${constructor(t){this.variableNames=["real","imag"],this.outputShape=t,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}}function h$(t,e){return{dataId:e.dataId,dtype:e.dtype,shape:t.shape}}const d$={kernelName:Te,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e,s=n.texData.get(r.dataId),i=new c$(r.shape),a=[h$(r,s.complexTensorInfos.real),h$(r,s.complexTensorInfos.imag)];return n.runWebGLProgram(i,a,a[0].dtype)}};class p${constructor(t){this.outputShape=[],this.outputShape=Fp(t,1),this.variableNames=t.map(((t,e)=>`T${e}`));const e=new Array(t.length-1);e[0]=t[0][1];for(let n=1;n`T${e}`));const o=new Array(t.length-1);o[0]=t[0][e];for(let n=1;n= ${o[t-1]}) {\n return getChannel(\n getT${t}(${m$(a,l,e)}),\n vec2(${m$(u,l,e)}));\n }`}const d=o.length,p=o[o.length-1];h+=`\n return getChannel(\n getT${d}(${m$(a,l,p)}),\n vec2(${m$(u,l,p)}));`,this.userCode=`\n float getValue(${a.map((t=>"int "+t))}) {\n ${h}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${i}), 0., 0., 0.);\n\n ${i[r-1]} = ${i[r-1]} + 1;\n if (${i[r-1]} < ${n[r-1]}) {\n result.g = getValue(${i});\n }\n\n ${i[r-2]} = ${i[r-2]} + 1;\n if (${i[r-2]} < ${n[r-2]}) {\n result.a = getValue(${i});\n }\n\n ${i[r-1]} = ${i[r-1]} - 1;\n if (${i[r-2]} < ${n[r-2]} &&\n ${i[r-1]} < ${n[r-1]}) {\n result.b = getValue(${i});\n }\n setOutput(result);\n }\n `}}function m$(t,e,n){const r=t.indexOf(e);return t.map(((t,e)=>e===r?`${t} - ${n}`:t)).join()}function g$(t){const{inputs:e,backend:n}=t,{input:r}=e;return _L({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.imag},backend:n})}const y$={kernelName:dn,backendName:"webgl",kernelFunc:g$};function x$(t,e,n){const r=t[0].dtype;if("complex64"===r){const r=t.map((t=>e$({inputs:{input:t},backend:n}))),s=t.map((t=>g$({inputs:{input:t},backend:n}))),i=x$(r,e,n),a=x$(s,e,n),o=kL({inputs:{real:i,imag:a},backend:n});return r.forEach((t=>n.disposeIntermediateTensorInfo(t))),s.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(a),o}let s=n.shouldExecuteOnCPU(t);if("string"===r&&(s=!0),s){const s=t.map((t=>{const r=ot(t.shape.slice(e));return VL({inputs:{x:t},backend:n,attrs:{shape:[-1,r]}})})),i=s.map((t=>({vals:n.readSync(t.dataId),shape:t.shape}))),a=Fp(s.map((t=>t.shape)),1),o=1===s[0].shape[0],l=wD(i,a,r,o),u=Fp(t.map((t=>t.shape)),e),c=n.makeTensorInfo(u,r,l);return s.forEach((t=>n.disposeIntermediateTensorInfo(t))),c}if(t.length>Gt().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const r=Math.floor(t.length/2),s=x$(t.slice(0,r),e,n),i=x$(t.slice(r),e,n),a=x$([s,i],e,n);return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(i),a}if(Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&t[0].shape.length>1){const s=new f$(t.map((t=>t.shape)),e);return n.runWebGLProgram(s,t,r)}const{tensors2D:i,outShape:a}=function(t,e,n){const r=Fp(t.map((t=>t.shape)),e);return{tensors2D:t.map((t=>VL({inputs:{x:t},attrs:{shape:[-1,ot(t.shape.slice(e))]},backend:n}))),outShape:r}}(t,e,n),o=new p$(i.map((t=>t.shape))),l=n.runWebGLProgram(o,i,r);i.forEach((t=>n.disposeIntermediateTensorInfo(t)));const u=VL({inputs:{x:l},attrs:{shape:a},backend:n});return n.disposeIntermediateTensorInfo(l),u}function b$(t){const{inputs:e,backend:n,attrs:r}=t,{axis:s}=r,i=yt(s,e[0].shape)[0],a=Fp(e.map((t=>t.shape)),i);if(0===ot(a))return n.makeTensorInfo(a,e[0].dtype,[]);const o=e.filter((t=>ot(t.shape)>0));return 1===o.length?_L({inputs:{x:o[0]},backend:n}):(Lp(o.map((t=>t.shape)),i),x$(o,i,n))}const v$={kernelName:_e,backendName:"webgl",kernelFunc:b$};class w${constructor(t,e=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.outputShape=t.outShape;const i=t.padInfo.top,a=t.padInfo.left,o=t.strideHeight,l=t.strideWidth,u=t.dilationHeight,c=t.dilationWidth,h=t.filterHeight,d=t.filterWidth,p=4*Math.floor(t.inChannels/4),f=t.inChannels%4,m="channelsLast"===t.dataFormat,g=m?1:2,y=m?2:3,x=m?3:1;let b="",v="";n&&(b=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,v="result = activation(result);");const w=e?"result += getBiasAtOutCoords();":"";e&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${b}\n\n const ivec2 strides = ivec2(${o}, ${l});\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${x}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${y}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${p}) *\n getW(wR, wC, ${p}, d2);\n } else {\n dotProd +=\n getX(batch, ${p}, xR, xC) *\n getW(wR, wC, ${p}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2),\n getW(wR, wC, ${p} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1),\n getX(batch, xR, xC, ${p} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC),\n getX(batch, ${p} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${w}\n ${v}\n setOutput(result);\n }\n `}}class S${constructor(t){this.variableNames=["x","W"],this.outputShape=t.outShape;const e=t.padInfo.front,n=t.padInfo.top,r=t.padInfo.left,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,o=t.dilationDepth,l=t.dilationHeight,u=t.dilationWidth,c=t.filterDepth,h=t.filterHeight,d=t.filterWidth,p=4*Math.floor(t.inChannels/4),f=t.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${i}, ${a});\n const ivec3 pads = ivec3(${e}, ${n}, ${r});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${o};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${p}) *\n getW(wF, wR, wC, ${p}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1),\n getX(batch, xF, xR, xC, ${p} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2),\n getW(wF, wR, wC, ${p} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class T${constructor(t,e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"},{name:"pad",type:"ivec2"},{name:"stride",type:"ivec2"},{name:"dilation",type:"ivec2"},{name:"inChannels",type:"int"},{name:"itemsPerBlockRow",type:"int"},{name:"outWidth",type:"int"}],this.outputShape=t,this.enableShapeUniforms=rD(this.outputShape.length);const{dataFormat:n}=e,r=OR(),s="channelsLast"===n,i=s?0:1,a=s?1:2,o=this.enableShapeUniforms?"if(blockIndex < outShape[1] && pos < outShape[0]) {":`if(blockIndex < ${t[1]} && pos < ${t[0]}) {`;let l="";for(let t=0;t<=1;t++)for(let e=0;e<=1;e++)l+=`\n blockIndex = rc.y + ${e};\n pos = rc.x + ${t};\n\n ${o}\n offsetY = int(blockIndex / outWidth) * stride[0] - pad[0];\n d0 = offsetY + dilation[0] * (pos / itemsPerBlockRow);\n\n if(d0 < inputShape[${i}] && d0 >= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${a}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${2*t+e}] = getChannel(\n getA(d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*t+e}] = getChannel(\n getA(ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec2 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${r.output} = result;\n }\n `}}function _$({x:t,filter:e,convInfo:n,backend:r,bias:s=null,preluActivationWeights:i=null,leakyreluAlpha:a=0,activation:o=null}){const l=t.shape,u=r.texData.get(t.dataId),c=n.inChannels,h=l[0]*l[1]*l[2],d=n.outChannels,p="channelsLast"===n.dataFormat;let f;const m=[];if((1!==h&&1!==d||!(c>1e3))&&u.isPacked&&p&&null!=u.texture&&l[2]%2!=0&&ut(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),h={dataId:t.dataId,shape:[1,c,n.inChannels],dtype:t.dtype},d=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,rt(CR(u.shape,h.shape),(()=>`packed reshape ${u.shape} to ${h.shape} isn't free`));const p=VL({inputs:{x:e},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}});m.push(p);const g=tF({a:h,b:p,backend:r,transposeA:!1,transposeB:!1,bias:s,activation:o,preluActivationWeights:i,leakyreluAlpha:a}),y=r.texData.get(g.dataId);rt(y.isPacked,(()=>"batchMatMul result is expected to be packed")),u.shape=d,y.shape=n.outShape,f=_L({inputs:{x:g},backend:r}),f.shape=n.outShape,m.push(g)}else{const u=VL({inputs:{x:t},backend:r,attrs:{shape:[1,p?l[0]*l[1]*l[2]:l[0]*l[2]*l[3],n.inChannels]}}),c=VL({inputs:{x:e},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}}),h=tF({a:u,b:c,transposeA:!1,transposeB:!1,backend:r,bias:s,activation:o,preluActivationWeights:i,leakyreluAlpha:a});f=VL({inputs:{x:h},backend:r,attrs:{shape:n.outShape}}),m.push(u),m.push(c),m.push(h)}for(const t of m)r.disposeIntermediateTensorInfo(t);return f}function M$({x:t,filter:e,convInfo:n,backend:r,bias:s=null,preluActivationWeights:i=null,leakyreluAlpha:a=0,activation:o=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:h,outHeight:d,dataFormat:p}=n,f="channelsLast"===p,m=l*u*c,g=d*h,y=[m,g],x=[],b=VL({inputs:{x:t},backend:r,attrs:{shape:t.shape.slice(1)}}),v=VL({inputs:{x:e},backend:r,attrs:{shape:[1,m,ot(e.shape)/m]}});x.push(b),x.push(v);const w=new T$(y,n),S=[b.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],T=r.runWebGLProgram(w,[b],"float32",S),_=VL({inputs:{x:T},backend:r,attrs:{shape:[1,y[0],y[1]]}});x.push(T),x.push(_);const M=null!=s,k=null!=i,E="leakyrelu"===o,I=o?$L(o,!0):null,C=new OL(_.shape,v.shape,[1,g,n.outChannels],!0,!1,M,I,k,E),N=[_,v];if(s&&N.push(s),k&&N.push(i),E){const t=r.makeTensorInfo([],"float32",Cs(a,"float32"));N.push(t),x.push(t)}const A=r.runWebGLProgram(C,N,"float32"),R=VL({inputs:{x:A},backend:r,attrs:{shape:f?[1,d,h,n.outChannels]:[1,n.outChannels,d,h]}});x.push(A);for(const t of x)r.disposeIntermediateTensorInfo(t);return R}const k$={kernelName:Me,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r,h=ou(l),d=Zl(s.shape,i.shape,a,u,o,c,!1,h);let p;if(1!==d.filterHeight||1!==d.filterWidth||1!==d.dilationHeight||1!==d.dilationWidth||1!==d.strideHeight||1!==d.strideWidth||"SAME"!==d.padInfo.type&&"VALID"!==d.padInfo.type)if(Gt().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])p=M$({x:s,filter:i,convInfo:d,backend:n});else{const t=new w$(d);p=n.runWebGLProgram(t,[s,i],"float32")}else p=_$({x:s,filter:i,convInfo:d,backend:n});const f=VL({inputs:{x:p},backend:n,attrs:{shape:d.outShape}});return n.disposeIntermediateTensorInfo(p),f}};class E${constructor(t){this.variableNames=["x","dy"],this.outputShape=t.filterShape;const e=t.strideHeight,n=t.strideWidth,r=t.padInfo.top,s=t.padInfo.left,i="channelsLast"===t.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${r};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n if (${i}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class I${constructor(t){this.variableNames=["dy","W"],this.outputShape=t.inShape;const e=t.filterHeight,n=t.filterWidth,r=t.strideHeight,s=t.strideWidth,i="channelsLast"===t.dataFormat,a=e-1-t.padInfo.top,o=n-1-t.padInfo.left,l=i?1:2,u=i?2:3,c=i?3:1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n\n if (${i}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class C${constructor(t){this.variableNames=["x","dy"],this.outputShape=t.filterShape;const e=t.strideDepth,n=t.strideHeight,r=t.strideWidth,s=t.padInfo.front,i=t.padInfo.top,a=t.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yF = 0; yF < ${t.outDepth}; yF++) {\n int xF = wF + yF * ${e} - ${s};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${i};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${r} - ${a};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class N${constructor(t){this.variableNames=["dy","W"],this.outputShape=t.inShape;const e=t.filterDepth,n=t.filterHeight,r=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,o=e-1-t.padInfo.front,l=n-1-t.padInfo.top,u=r-1-t.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${o}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${e}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${t.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${e} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${r}; wC++) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${r} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const A$={kernelName:ke,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,dy:i}=e,{strides:a,pad:o,dataFormat:l,dimRoundingMode:u,filterShape:c}=r,h=ou(l),d=Zl(s.shape,c,a,1,o,u,!1,h),p=new E$(d);return n.runWebGLProgram(p,[s,i],"float32")}},R$={kernelName:Ee,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,filter:i}=e,{inputShape:a,strides:o,pad:l,dataFormat:u,dimRoundingMode:c}=r,h=ou(u),d=Zl(a,i.shape,o,1,l,c,!1,h),p=new I$(d);return n.runWebGLProgram(p,[s,i],"float32")}},D$={kernelName:Ie,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dilations:l}=r,u=Ql(s.shape,i.shape,a,l,o),c=new S$(u);return n.runWebGLProgram(c,[s,i],"float32")}},L$={kernelName:Ce,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,dy:i}=e,{strides:a,pad:o,filterShape:l}=r,u=Ql(s.shape,l,a,1,o),c=new C$(u);return n.runWebGLProgram(c,[s,i],"float32")}},F$={kernelName:Ne,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,filter:i}=e,{pad:a,strides:o,inputShape:l}=r,u=Ql(l,i.shape,o,1,a),c=new N$(u);return n.runWebGLProgram(c,[s,i],"float32")}},$$=LL({opSnippet:"if (isnan(x)) return x;\n return cos(x);\n"}),O$={kernelName:Ae,backendName:"webgl",kernelFunc:$$},P$=LL({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),z$={kernelName:Re,backendName:"webgl",kernelFunc:P$};class B${constructor(t,e,n,r,s){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[i,a,o,l]=t,[u]=e,[c,h]=n;this.outputShape=[u,c,h,l];const d="bilinear"===r?1:0,[p,f]=[a-1+".0",o-1+".0"],[m,g,y]=c>1?[""+(a-1)/(c-1),"(y2-y1) * height_ratio",`y1*${p} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${p}`],[x,b,v]=h>1?[""+(o-1)/(h-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${x});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${i}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${b};\n\n float in_y = ${y};\n if( in_y < 0.0 || in_y > ${p} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${v};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${d} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}}const U$={kernelName:Le,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{image:s,boxes:i,boxInd:a}=e,{cropSize:o,method:l,extrapolationValue:u}=r,c=new B$(s.shape,i.shape,o,l,u);return n.runWebGLProgram(c,[s,i,a],"float32")}};class V${constructor(t,e,n){this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}],this.outputShape=t;const r=t.length,s=e?"0.0":`getX(${W$(r,"coords")})`,i=t[t.length-1];let a="",o="";e?(a=n?"end != "+(i-1):"end != 0",o=n?"end + 1":"end - 1"):(a=n?`end + pow2 < ${i}`:"end >= pow2",o=n?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${ZR(r)} coords = getOutputCoords();\n int end = ${H$(r,"coords")};\n float val = ${s};\n int pow2 = int(pow(2.0, index));\n if (${a}) {\n int idx = ${o};\n ${H$(r,"coords")} = idx;\n val += getX(${W$(r,"coords")});\n }\n setOutput(val);\n }\n `}}function W$(t,e){if(1===t)return`${e}`;if(2===t)return`${e}.x, ${e}.y`;if(3===t)return`${e}.x, ${e}.y, ${e}.z`;if(4===t)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw Error(`Cumulative sum for rank ${t} is not yet supported`)}function H$(t,e){if(1===t)return`${e}`;if(2===t)return`${e}.y`;if(3===t)return`${e}.z`;if(4===t)return`${e}.w`;throw Error(`Cumulative sum for rank ${t} is not yet supported`)}const G$={kernelName:De,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,exclusive:a,reverse:o}=r,l=s.shape.length,u=Nc([i],l);let c=s;null!=u&&(c=ZL({inputs:{x:s},backend:n,attrs:{perm:u}}));const h=Rc(1,l)[0];if(h!==l-1)throw new Error(`WebGL cumsum shader expects an inner-most axis=${s.shape.length-1} but got axis=${i}`);const d=c.shape[h];let p=_L({inputs:{x:c},backend:n});for(let t=0;t<=Math.ceil(Math.log2(d))-1;t++){const e=new V$(c.shape,!1,o),r=[[t]],s=p;p=n.runWebGLProgram(e,[p],p.dtype,r),n.disposeIntermediateTensorInfo(s)}if(a){const t=new V$(c.shape,a,o),e=p;p=n.runWebGLProgram(t,[p],p.dtype),n.disposeIntermediateTensorInfo(e)}if(null!=u){const t=ZL({inputs:{x:p},backend:n,attrs:{perm:Ac(u)}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(c),t}return p}},j$={kernelName:Fe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,weights:i}=e,{size:a,binaryOutput:o}=r;if(1===s.shape.length){const t=n.readSync(s.dataId),e=n.readSync(i.dataId),r=xD(t,e,i.dtype,i.shape,a);return n.makeTensorInfo([a],i.dtype,r)}if(2===s.shape.length){const t=n.bufferSync(s),e=n.bufferSync(i),r=bD(t,e,a,o);return n.makeTensorInfo(r.shape,i.dtype,r.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${s.shape.length}.`)}};class q${constructor(t,e,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=t,this.blockSize=e,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${e};\n int offset_h = imod(h, ${e});\n int in_w = w / ${e};\n int offset_w = imod(w, ${e});\n int offset_d = (offset_h * ${e} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const X$={kernelName:$e,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockSize:i,dataFormat:a}=r,o=s.shape[0],l=("NHWC"===a?s.shape[1]:s.shape[2])*i,u=("NHWC"===a?s.shape[2]:s.shape[3])*i,c=("NHWC"===a?s.shape[3]:s.shape[1])/(i*i),h=new q$("NHWC"===a?[o,l,u,c]:[o,c,l,u],i,a);return n.runWebGLProgram(h,[s],s.dtype)}};class K${constructor(t,e=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=t.outShape,this.enableShapeUniforms=rD(this.outputShape.length);const i=t.filterHeight,a=t.filterWidth,o=t.outChannels/t.inChannels;let l="",u="";n&&(l=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=e?"result += getBiasAtOutCoords();":"";e&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${o};\n int q = d2 - d1 * ${o};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${i}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${a}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}}class Y${constructor(t,e=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=t.outShape,this.enableShapeUniforms=rD(this.outputShape.length);const i=t.outChannels/t.inChannels,a=t.padInfo.left,o=t.strideWidth,l=t.dilationWidth,u=t.filterHeight,c=t.filterWidth,h=c;let d="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let t=0;t=0 && xR < inDims[0]) {\n ";for(let t=0;t<(h+1)/2;t++){const e=2*t;if(d+=`\n xC = xCCorner + ${e*l};\n `,1===o){if(e= 0 && xCOffset < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n `,d+=1===l&&e>0?`\n xC${e} = vec4(xTexelC${e-2}.zw, xTexelC${e}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${e} = vec4(previous.zw, xTexelC${e}.xy);\n } else {\n xC${e} = vec4(0.0, 0.0, xTexelC${e}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n\n xC${e} = xTexelC${e};\n `,e+1= 0 && xCOffset < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.0);\n }\n xTexelC${e+1}Ready = 1;\n }\n `,l>1&&(d+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xCOffset, d1);\n xTexelC${e}Ready = 1;\n }\n `),d+=`\n xC${e+1} = vec4(xTexelC${e}.zw, xTexelC${e+1}.xy);\n `):d+=1===t?`\n xC${e+1} = xTexelC${e};\n `:`\n xCOffset = xC + ${t};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.0);\n }\n xTexelC${e+1}Ready = 1;\n }\n\n xC${e+1} = xTexelC${e+1};\n `}}else e= 0 && xCOffset < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.0);\n }\n xTexelC${e+1}Ready = 1;\n }\n\n xC${e} = vec4(xTexelC${e}.zw, xTexelC${e+1}.zw);\n `,e+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${e+1} = vec4(xTexelC${e+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${e}Ready == 0) {\n xTexelC${e} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${e}.zw = vec2(0.0);\n }\n xTexelC${e}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${e+1}Ready == 0) {\n xTexelC${e+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${e+1}.zw = vec2(0.);\n }\n xTexelC${e+1}Ready = 1;\n }\n\n xC${e} = vec4(\n xTexelC${e}.xy, xTexelC${e+1}.xy);\n `,e+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${c}'`));const h=Zl(s.shape,i.shape,a,c,o,u,!0);let d;d=Gt().getBool("WEBGL_PACK_DEPTHWISECONV")&&h.strideWidth<=2&&h.outChannels/h.inChannels==1?new Y$(h):new K$(h);const p=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];return n.runWebGLProgram(d,[s,i],"float32",p)}};class Z${constructor(t){this.variableNames=["x","dy"],this.outputShape=t.filterShape;const e=t.strideHeight,n=t.strideWidth,r=t.padInfo.top,s=t.padInfo.left,i=t.outChannels/t.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${i} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${r};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Q${constructor(t){this.variableNames=["dy","W"],this.outputShape=t.inShape;const e=t.filterHeight,n=t.filterWidth,r=t.strideHeight,s=t.strideWidth,i=e-1-t.padInfo.top,a=n-1-t.padInfo.left,o=t.outChannels/t.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${o}; dm++) {\n int d2 = d1 * ${o} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const tO={kernelName:Pe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,dy:i}=e,{strides:a,dilations:o,pad:l,dimRoundingMode:u,filterShape:c}=r,h=Zl(s.shape,c,a,o,l,u,!0),d=new Z$(h);return n.runWebGLProgram(d,[s,i],"float32")}},eO={kernelName:ze,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,filter:i}=e,{strides:a,dilations:o,pad:l,dimRoundingMode:u,inputShape:c}=r,h=Zl(c,i.shape,a,o,l,u,!0),d=new Q$(h);return n.runWebGLProgram(d,[s,i],"float32")}};class nO{constructor(t){this.variableNames=["X"],this.outputShape=[t,t],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const rO={kernelName:Be,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e,s=[...r.shape,...r.shape],i=ot(r.shape),a=VL({inputs:{x:r},backend:n,attrs:{shape:[i]}}),o=new nO(i),l=n.runWebGLProgram(o,[a],a.dtype),u=VL({inputs:{x:l},backend:n,attrs:{shape:s}});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(l),u}};class sO{constructor(t){this.variableNames=["x","W"],this.outputShape=t.outShape;const{inHeight:e,inWidth:n,padInfo:r,strideHeight:s,strideWidth:i,filterHeight:a,filterWidth:o,dilationHeight:l,dilationWidth:u}=t,{top:c,left:h}=r;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${i});\n const ivec2 pads = ivec2(${c}, ${h});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${a}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${e}) {\n for (int w = 0; w < ${o}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const iO={kernelName:Ue,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i}=e,{strides:a,pad:o,dilations:l}=r,u=Kl(s.shape,i.shape,a,o,"NHWC",l);let c;const h=new sO(u);c=n.runWebGLProgram(h,[s,i],"float32");const d=VL({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),d}},aO={kernelName:Ge,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{equation:s}=r,i=e,{allDims:a,summedDims:o,idDims:l}=lf(s,i.length);cf(a.length,l,i);const{path:u,steps:c}=hf(o,l),h=c.length;let d=null,p=a.length;const f=[];for(let t=0;t=0&&(d=YL({inputs:{x:d},backend:n,attrs:{axis:u[t]-(a.length-p),keepDims:!1}}),f.push(d)),p--)}for(const t of f)t!==d&&n.disposeIntermediateTensorInfo(t);return d}},oO=LL({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),lO={kernelName:je,backendName:"webgl",kernelFunc:oO},uO={kernelName:qe,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n}=t,{dy:r,y:s}=e,i=Gt().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new TL("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",r.shape,s.shape):new SL("return (b >= 1.0) ? a : a * (b + 1.0);",r.shape,s.shape);return n.runWebGLProgram(i,[r,s],r.dtype)}},cO=FL({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:SD}),hO={kernelName:Ke,backendName:"webgl",kernelFunc:cO},dO=LL({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${jp};\n float a1 = ${qp};\n float a2 = ${Xp};\n float a3 = ${Kp};\n float a4 = ${Yp};\n float a5 = ${Jp};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),pO={kernelName:Xe,backendName:"webgl",kernelFunc:dO},fO=LL({opSnippet:"if (isnan(x)) return x;\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:TD,dtype:"float32"}),mO={kernelName:Ye,backendName:"webgl",kernelFunc:fO};function gO(t){const{inputs:e,attrs:n,backend:r}=t,{dim:s}=n,{input:i}=e,a=i.shape.length,o=i.shape.slice();let l=s;return s<0&&(rt(-(a+1)<=s,(()=>`Axis must be in the interval [${-(a+1)}, ${a}]`)),l=a+s+1),o.splice(l,0,1),VL({inputs:{x:i},backend:r,attrs:{shape:o}})}const yO={kernelName:Je,backendName:"webgl",kernelFunc:gO},xO="return exp(x) - 1.0;",bO=LL({opSnippet:xO,packedOpSnippet:xO,cpuKernelImpl:_D}),vO={kernelName:Ze,backendName:"webgl",kernelFunc:bO};class wO{constructor(t,e,n){this.variableNames=["real","imag"];const r=e[1];this.outputShape=e;const s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,i=n?`${r}.0`:"1.0";let a;if("real"===t)a="return real * expR - imag * expI;";else{if("imag"!==t)throw new Error(`FFT component must be either "real" or "imag", got ${t}.`);a="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${a}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${r});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${r}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${i};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}}function SO(t,e,n){const r=n.texData.get(t.dataId),s=ot(t.shape),i=t.shape[t.shape.length-1],a=VL({inputs:{x:t},backend:n,attrs:{shape:[s/i,i]}}),o=a.shape,l=new wO("real",o,e),u=new wO("imag",o,e),c=[{dataId:r.complexTensorInfos.real.dataId,dtype:r.complexTensorInfos.real.dtype,shape:o},{dataId:r.complexTensorInfos.imag.dataId,dtype:r.complexTensorInfos.imag.dtype,shape:o}],h=n.runWebGLProgram(l,c,"float32"),d=n.runWebGLProgram(u,c,"float32"),p=kL({inputs:{real:h,imag:d},backend:n});n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d);const f=VL({inputs:{x:p},backend:n,attrs:{shape:t.shape}});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(p),f}const TO={kernelName:Qe,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{input:r}=e;return SO(r,!1,n)}};class _O{constructor(t,e){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=t,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}}function MO(t){const{backend:e,attrs:n}=t,{shape:r,value:s}=n;let{dtype:i}=n;if(i=i||Nt(s),"string"===i){const t=vt(i,ot(r));return t.fill(s),e.makeTensorInfo(r,i,t)}{const t=new _O(r,s),n=[[s]];return e.runWebGLProgram(t,[],i,n)}}const kO={kernelName:tn,backendName:"webgl",kernelFunc:MO};class EO{constructor(t){this.variableNames=["Image"],this.outputShape=[];const e=t[2];this.outputShape=t,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${e} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${e}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const IO={kernelName:en,backendName:"webgl",kernelFunc:({inputs:t,backend:e})=>{const{image:n}=t,r=e,s=new EO(n.shape);return r.runWebGLProgram(s,[n],n.dtype)}},CO="return floor(x);",NO=LL({opSnippet:CO,packedOpSnippet:CO,cpuKernelImpl:MD}),AO={kernelName:nn,backendName:"webgl",kernelFunc:NO},RO=FL({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),DO={kernelName:rn,backendName:"webgl",kernelFunc:RO};class LO{constructor(t){this.variableNames=["A"];const e=OR(),[n,r]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${r}.0, ${n}.0);\n\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}}class FO{constructor(t){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const e=OR(),[n,r]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${r}.0, ${n}.0);\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${e.output} = result;\n }\n `}}const $O={kernelName:Jr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t;let{pixels:s}=e;const{numChannels:i}=r,a="undefined"!=typeof HTMLVideoElement&&s instanceof HTMLVideoElement,o="undefined"!=typeof HTMLImageElement&&s instanceof HTMLImageElement,[l,u]=a?[s.videoWidth,s.videoHeight]:[s.width,s.height],c=[u,l],h=[u,l,i];(o||a)&&(null==OO&&(OO=document.createElement("canvas").getContext("2d")),OO.canvas.width=l,OO.canvas.height=u,OO.drawImage(s,0,0,l,u),s=OO.canvas);const d=n.makeTensorInfo(c,"int32");n.texData.get(d.dataId).usage=lR.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(d.dataId),s);const p=Gt().getBool("WEBGL_PACK")?new FO(h):new LO(h),f=n.runWebGLProgram(p,[d],"int32");return n.disposeData(d.dataId),f}};let OO;const PO={kernelName:ts,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r,m=ou(c),g=Zl(s.shape,i.shape,l,h,u,d,!1,m);let y;const x=[];if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(Gt().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])y=M$({x:s,filter:i,convInfo:g,backend:n,bias:a,activation:p,preluActivationWeights:o,leakyreluAlpha:f});else{const t=null!=a,e=null!=o,r="leakyrelu"===p,l=p?$L(p,!1):null,u=new w$(g,t,l,e,r),c=[s,i];if(a&&c.push(a),o&&c.push(o),r){const t=n.makeTensorInfo([],"float32",Cs(f,"float32"));c.push(t),x.push(t)}y=n.runWebGLProgram(u,c,"float32")}else y=_$({x:s,filter:i,convInfo:g,backend:n,bias:a,activation:p,preluActivationWeights:o,leakyreluAlpha:f});const b=VL({inputs:{x:y},backend:n,attrs:{shape:g.outShape}});return x.push(y),x.forEach((t=>n.disposeIntermediateTensorInfo(t))),b}},zO={kernelName:es,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,filter:i,bias:a,preluActivationWeights:o}=e,{strides:l,pad:u,dilations:c,dimRoundingMode:h,activation:d,leakyreluAlpha:p}=r,f=[];let m=c;null==m&&(m=[1,1]),rt(au(l,m),(()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`));const g=Zl(s.shape,i.shape,l,m,u,h,!0),y=Gt().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels==1,x=d?$L(d,y):null,b=[s,i],v=null!=a,w=null!=o,S="leakyrelu"===d;if(v&&b.push(a),w&&b.push(o),S){const t=n.makeTensorInfo([],"float32",Cs(p,"float32"));b.push(t),f.push(t)}let T;T=y?new Y$(g,v,x,w,S):new K$(g,v,x,w,S);const _=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],M=n.runWebGLProgram(T,b,"float32",_);return f.forEach((t=>n.disposeIntermediateTensorInfo(t))),M}};class BO{constructor(t,e,n){this.sliceDim=t,this.strides=e,this.variableNames=["x","indices"],this.outputShape=n;const r=ZR(e.length),s=ZR(n.length),i=this.sliceDim>1?"strides[j]":"strides";this.userCode=`\n ${r} strides = ${r}(${this.strides});\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n flattenIndex += index * ${i};\n }\n setOutput(getX(flattenIndex, coords[1]));\n }\n `}}const UO={kernelName:on,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{params:r,indices:s}=e,i=s.shape,a=i[i.length-1],o=ot(r.shape),[l,u,c,h]=so(r,s),d=VL({inputs:{x:s},backend:n,attrs:{shape:[u,a]}}),p=VL({inputs:{x:r},backend:n,attrs:{shape:[ot(r.shape)/c,c]}});if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const t=n.readSync(s.dataId),e=n.bufferSync(r),i=kD(t,e,r.dtype,u,a,c,h,r.shape,o);return n.makeTensorInfo(l,r.dtype,i.values)}const f=new BO(a,h,[u,c]),m=n.runWebGLProgram(f,[p,d],p.dtype),g=VL({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(m),g}};class VO{constructor(t,e){this.variableNames=["A","indices"],this.outputShape=e,this.rank=e.length;const n=ZR(this.rank),r=function(t,e){const n=["resRC.x","resRC.y","resRC.z","resRC.w"],r=[];for(let e=0;e= 0) && (index < ${t[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${r}));\n }\n `}}function WO(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,indices:i}=e,{axis:a,batchDims:o}=r,l=yt(a,s.shape)[0];if(Gt().get("DEBUG")){const t=n.readSync(i.dataId),e=s.shape[l];for(let n=0;n=0,(()=>`GatherV2: the index value ${r} is not in [0, ${e-1}]`))}}const u=Cf(s,i,l,o),c=ot(i.shape),h=[],d=VL({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),p=VL({inputs:{x:i},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});h.push(d),h.push(p);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([s,i])||"string"===s.dtype){const t=n.bufferSync(p),e=n.bufferSync(d),r=ED(e,t,f);return h.forEach((t=>n.disposeIntermediateTensorInfo(t))),n.makeTensorInfo(u.outputShape,r.dtype,r.values)}const m=new VO(d.shape,f),g=n.runWebGLProgram(m,[d,p],d.dtype);h.push(g);const y=VL({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return h.forEach((t=>n.disposeIntermediateTensorInfo(t))),y}const HO={kernelName:an,backendName:"webgl",kernelFunc:WO},GO=FL({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:ID,dtype:"bool"}),jO={kernelName:ln,backendName:"webgl",kernelFunc:GO},qO=FL({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:CD}),XO={kernelName:un,backendName:"webgl",kernelFunc:qO},KO={kernelName:hn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{input:r}=e;return SO(r,!0,n)}},YO=LL({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),JO={kernelName:pn,backendName:"webgl",kernelFunc:YO},ZO=LL({opSnippet:"return float(isinf(x));",dtype:"bool"}),QO={kernelName:fn,backendName:"webgl",kernelFunc:ZO},tP=LL({opSnippet:"return float(isnan(x));",dtype:"bool"}),eP={kernelName:mn,backendName:"webgl",kernelFunc:tP},nP=FL({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:ND,dtype:"bool"}),rP={kernelName:yn,backendName:"webgl",kernelFunc:nP},sP=FL({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:AD,dtype:"bool"}),iP={kernelName:xn,backendName:"webgl",kernelFunc:sP},aP={kernelName:bn,backendName:"webgl",kernelFunc:function(t){const{backend:e,attrs:n}=t,{start:r,stop:s,num:i}=n,a=RD(r,s,i);return e.makeTensorInfo([a.length],"float32",a)}},oP=LL({opSnippet:"if (isnan(x)) return x;\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:DD}),lP={kernelName:vn,backendName:"webgl",kernelFunc:oP},uP=LL({opSnippet:"if (isnan(x)) return x;\n return log(1.0 + x);\n"}),cP={kernelName:wn,backendName:"webgl",kernelFunc:uP},hP=FL({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),dP={kernelName:Sn,backendName:"webgl",kernelFunc:hP},pP=LL({opSnippet:"return float(!(x >= 1.0));"}),fP={kernelName:Tn,backendName:"webgl",kernelFunc:pP},mP=FL({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),gP={kernelName:_n,backendName:"webgl",kernelFunc:mP};class yP{constructor(t,e,n,r,s){this.variableNames=["x"],this.outputShape=[];const i=e,a=t[3]-1;let o;this.outputShape=t;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${i}; j <= ${i}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${a}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${o};\n setOutput(val);\n }\n `}}class xP{constructor(t,e,n,r,s){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const i=e,a=t[3]-1;let o;this.outputShape=t;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${i};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${i}; j <= ${i}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${a}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${o};\n setOutput(result);\n }\n `}}const bP={kernelName:kn,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{depthRadius:i,bias:a,alpha:o,beta:l}=r,u=Gt().getBool("WEBGL_PACK_NORMALIZATION")?new xP(s.shape,i,a,o,l):new yP(s.shape,i,a,o,l);return n.runWebGLProgram(u,[s],s.dtype)}};class vP{constructor(t,e,n,r,s){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=t,this.depth=t[3],this.depthRadius=e,this.bias=n,this.alpha=r,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${e})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${e} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${r}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${r})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}}const wP={kernelName:En,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s,y:i,dy:a}=e,{depthRadius:o,bias:l,alpha:u,beta:c}=r,h=new vP(s.shape,o,l,u,c);return n.runWebGLProgram(h,[s,i,a],s.dtype)}};function SP(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{reductionIndices:i,keepDims:a}=r,o=s.shape.length,l=yt(i,s.shape);let u=l;const c=Nc(u,o),h=null!=c,d=n.shouldExecuteOnCPU([s]);let p=s;if(h){if(d){const t=n.texData.get(p.dataId).values,e=new Array(o);for(let t=0;t 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:FD}),MP={kernelName:Cn,backendName:"webgl",kernelFunc:_P},kP={kernelName:Nn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e;FR(s,"maxPool");const{filterSize:i,strides:a,pad:o,dimRoundingMode:l}=r;rt(au(a,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '1'`));const u=Yl(s.shape,i,a,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ut(u.inShape,u.outShape))return _L({inputs:{x:s},backend:n});const c=new DF(u,"max",!1);return n.runWebGLProgram(c,[s],s.dtype)}},EP={kernelName:Rn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{filterSize:i,strides:a,pad:o,dataFormat:l,dimRoundingMode:u}=r,c=Jl(s.shape,i,a,[1,1,1],o,u,l),h=new LF(c,"max",!1);return n.runWebGLProgram(h,[s],s.dtype)}};class IP{constructor(t){this.variableNames=["dy","maxPos"],this.outputShape=t.inShape;const e=t.strideHeight,n=t.strideWidth,r=t.dilationHeight,s=t.effectiveFilterHeight,i=t.effectiveFilterWidth,a=s-1-t.padInfo.top,o=i-1-t.padInfo.left,l=s*i-1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${r}) {\n float dyR = float(dyRCorner + wR) / ${e}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${i} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class CP{constructor(t){this.variableNames=["dy","maxPos"],this.outputShape=t.inShape;const e=t.strideDepth,n=t.strideHeight,r=t.strideWidth,s=t.dilationDepth,i=t.dilationHeight,a=t.dilationWidth,o=t.effectiveFilterDepth,l=t.effectiveFilterHeight,u=t.effectiveFilterWidth,c=o-1-t.padInfo.front,h=l-1-t.padInfo.top,d=u-1-t.padInfo.left,p=o*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${h}, ${d});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${o};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${e}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${a}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${p} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const NP={kernelName:Dn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i}=e,a=i,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Jl(a.shape,o,l,[1,1,1],u,c),d=new LF(h,"max",!0),p=n.runWebGLProgram(d,[a],a.dtype),f=new CP(h),m=n.runWebGLProgram(f,[s,p],a.dtype);return n.disposeIntermediateTensorInfo(p),m}},AP={kernelName:An,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{dy:s,input:i,output:a}=e,o=i;FR([i,a],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,d=Yl(o.shape,l,u,1,c,h),p=new DF(d,"max",!0),f=n.runWebGLProgram(p,[o],o.dtype),m=new IP(d),g=n.runWebGLProgram(m,[s,f],o.dtype);return n.disposeIntermediateTensorInfo(f),g}},RP={kernelName:Ln,backendName:"webgl",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{x:r}=t,{filterSize:s,strides:i,pad:a,includeBatchInIndex:o}=e,l=n;rt(4===r.shape.length,(()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`));const u=[1,1];rt(au(i,u),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`));const c=Yl(r.shape,s,i,u,a),[h,d]=function(t,e,n,r){let s=new DF(n,"max",!1);const i=r.runWebGLProgram(s,[t],"float32");return s=new DF(n,"max",!0,!0,e),[i,r.runWebGLProgram(s,[t],"float32")]}(r,o,c,l);return[h,d]}},DP={kernelName:Fn,backendName:"webgl",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{x:r}=t,{keepDims:s,axis:i}=e,a=n,o=r.shape.length,l=yt(i,r.shape);let u=l;const c=Nc(u,o),h=null!=c,d=a.shouldExecuteOnCPU([r]),p=[];let f=r;if(h){if(d){const t=a.texData.get(f.dataId).values,e=new Array(o);for(let t=0;t 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:$D}),$P={kernelName:On,backendName:"webgl",kernelFunc:FP};class OP{constructor(t,e,n){this.variableNames=["x"],this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=ZR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r),l="reflect"===n?0:1;this.userCode=1!==r?`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${r}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n `:`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}}class PP{constructor(t,e,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=ZR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=aL("rc",r),l=aL("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h="reflect"===n?0:1;let d="";if(1===r){const t=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${h};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${h};\n }\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${t}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${t}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const t=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${h}) +\n gte * ((end - 1) * 2 - source + ${h});\n source -= start;\n `;d=`\n ${s} rc = outputLoc;\n ${t}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${t}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {\n ${t}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${t}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${i});\n const ${s} end = ${s}(${a});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${d}\n setOutput(result);\n }\n `}}const zP={kernelName:Pn,backendName:"webgl",kernelFunc:({inputs:t,backend:e,attrs:n})=>{const{x:r}=t,{paddings:s,mode:i}=n,a=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new PP(r.shape,s,i):new OP(r.shape,s,i);return e.runWebGLProgram(a,[r],r.dtype)}},BP=FL({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n vec4 isNaN = vec4(equal(b, vec4(0.0)));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),UP={kernelName:zn,backendName:"webgl",kernelFunc:BP};class VP{constructor(t,e,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[t,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${e-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${e-1}));\n }\n `}}const WP=FL({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),HP={kernelName:He,backendName:"webgl",kernelFunc:WP},GP="return a - b;",jP=FL({opSnippet:GP,packedOpSnippet:GP,supportsComplex:!0,cpuKernelImpl:tL}),qP={kernelName:zr,backendName:"webgl",kernelFunc:jP};function XP(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{dim:i}=r,a=yt([i],s.shape),o=SP({inputs:{x:s},backend:n,attrs:{reductionIndices:a,keepDims:!1}}),l=Ic(o.shape,a),u=VL({inputs:{x:o},backend:n,attrs:{shape:l}}),c=jP({inputs:{a:s,b:u},backend:n}),h=fO({inputs:{x:c},backend:n}),d=YL({inputs:{x:h},backend:n,attrs:{axis:a,keepDims:!1}}),p=VL({inputs:{x:d},backend:n,attrs:{shape:l}}),f=WP({inputs:{a:h,b:p},backend:n});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),f}const KP={kernelName:Er,backendName:"webgl",kernelFunc:XP},YP={kernelName:Bn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{logits:s}=e,{numSamples:i,seed:a,normalized:o}=r,l=o?s:XP({inputs:{logits:s},backend:n,attrs:{dim:s.shape.length-1}}),u=l.shape[0],c=l.shape[1],h=new VP(u,c,i),d=[[a]],p=n.runWebGLProgram(h,[l],"int32",d);return o||n.disposeIntermediateTensorInfo(l),p}},JP={kernelName:Vn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{x:r}=e;if(n.shouldExecuteOnCPU([r])){const t=n.texData.get(r.dataId),[e,s]=PD(t.values,r.shape,r.dtype);return n.makeTensorInfo(s,r.dtype,e)}let s;return s=Gt().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new gL(r.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new pL(r.shape,"if (isnan(x)) return x;\n return -x;\n"),n.runWebGLProgram(s,[r],r.dtype)}},ZP=Hd,QP={kernelName:Hn,backendName:"webgl",kernelFunc:function(t){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:e,backend:n,attrs:r}=t,{boxes:s,scores:i}=e,{maxOutputSize:a,iouThreshold:o,scoreThreshold:l}=r,u=n.readSync(s.dataId),c=n.readSync(i.dataId),{selectedIndices:h}=ZP(u,c,a,o,l);return n.makeTensorInfo([h.length],"int32",new Int32Array(h))}},tz=Gd,ez={kernelName:Gn,backendName:"webgl",kernelFunc:function(t){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:e,backend:n,attrs:r}=t,{boxes:s,scores:i}=e,{maxOutputSize:a,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=r,c=n.readSync(s.dataId),h=n.readSync(i.dataId),{selectedIndices:d,validOutputs:p}=tz(c,h,a,o,l,u);return[n.makeTensorInfo([d.length],"int32",new Int32Array(d)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}},nz=jd,rz={kernelName:jn,backendName:"webgl",kernelFunc:function(t){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:e,backend:n,attrs:r}=t,{boxes:s,scores:i}=e,{maxOutputSize:a,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=r,c=n.readSync(s.dataId),h=n.readSync(i.dataId),d=a,p=o,f=l,m=u,{selectedIndices:g,selectedScores:y}=nz(c,h,d,p,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([y.length],"float32",new Float32Array(y))]}};class sz{constructor(t,e,n,r){this.variableNames=["indices"],this.outputShape=[t,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${r}), float(${n}),\n float(index == coords.y)));\n }\n `}}const iz={kernelName:Xn,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{indices:s}=e,{depth:i,onValue:a,offValue:o}=r,l=ot(s.shape),u=new sz(l,i,a,o),c=VL({inputs:{x:s},backend:n,attrs:{shape:[l]}}),h=n.runWebGLProgram(u,[c],s.dtype);n.disposeIntermediateTensorInfo(c);const d=VL({inputs:{x:h},backend:n,attrs:{shape:[...s.shape,i]}});return n.disposeIntermediateTensorInfo(h),d}};function az(t){const{inputs:e,backend:n}=t,{x:r}=e;if("complex64"===r.dtype){const t=e$({inputs:{input:r},backend:n}),e=az({inputs:{x:t},backend:n}),s=g$({inputs:{input:r},backend:n}),i=az({inputs:{x:s},backend:n}),a=kL({inputs:{real:e,imag:i},backend:n});return n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(i),a}return MO({attrs:{shape:r.shape,dtype:r.dtype,value:"string"===r.dtype?"":0},backend:n})}const oz={kernelName:Kr,backendName:"webgl",kernelFunc:az},lz={kernelName:qn,backendName:"webgl",kernelFunc:function t(e){const{inputs:n,backend:r}=e,{x:s}=n;if("string"===s.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===s.dtype){const e=e$({inputs:{input:s},backend:r}),n=t({inputs:{x:e},backend:r}),i=g$({inputs:{input:s},backend:r}),a=az({inputs:{x:i},backend:r}),o=kL({inputs:{real:n,imag:a},backend:r});return r.disposeIntermediateTensorInfo(e),r.disposeIntermediateTensorInfo(n),r.disposeIntermediateTensorInfo(i),r.disposeIntermediateTensorInfo(a),o}return MO({attrs:{shape:s.shape,dtype:s.dtype,value:1},backend:r})}},uz={kernelName:Kn,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{axis:s}=r;if(1===e.length)return gO({inputs:{input:e[0]},backend:n,attrs:{dim:s}});const i=e[0].shape,a=e[0].dtype;e.forEach((t=>{st(i,t.shape,"All tensors passed to stack must have matching shapes"),rt(a===t.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=b$({inputs:e.map((t=>{const e=gO({inputs:{input:t},backend:n,attrs:{dim:s}});return o.push(e),e})),backend:n,attrs:{axis:s}});return o.forEach((t=>n.disposeIntermediateTensorInfo(t))),l}};class cz{constructor(t,e,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=ZR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r);this.userCode=1!==r?`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n }\n `:`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}}class hz{constructor(t,e,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"value",type:"float"}],this.outputShape=e.map(((e,n)=>e[0]+t[n]+e[1]));const r=t.length,s=ZR(r),i=e.map((t=>t[0])).join(","),a=e.map(((e,n)=>e[0]+t[n])).join(","),o=aL("rc",r),l=aL("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h=[`${s} rc = outputLoc;`,`${o[r-1]} += 1;\n if(${u}) {\n `,1===r?"":`}\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {`,1===r?"":` ${o[r-1]} += 1;\n if(${u}) {`],d=1===r?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let p="";for(let t=0,e=1===r?2:4;t{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{paddings:i,constantValue:a}=r;if(0===ot(s.shape)){const t=i.map(((t,e)=>t[0]+s.shape[e]+t[1]));return MO({backend:n,attrs:{shape:t,value:a,dtype:s.dtype}})}const o=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new hz(s.shape,i,a):new cz(s.shape,i,a),l=[[a]];return n.runWebGLProgram(o,[s],s.dtype,l)},pz={kernelName:Yn,backendName:"webgl",kernelFunc:dz},fz=FL({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),mz={kernelName:Zn,backendName:"webgl",kernelFunc:fz},gz={kernelName:tr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{axis:i,keepDims:a}=r,o=s.shape.length,l=[],u=yt(i,s.shape);let c=u;const h=Nc(c,o);let d,p=s;if(null!=h&&(p=ZL({inputs:{x:s},backend:n,attrs:{perm:h}}),c=Rc(c.length,o),l.push(p)),Cc("prod",c,o),n.shouldExecuteOnCPU([p])){const t=n.texData.get(p.dataId).values,{outVals:e,outShape:r,outDtype:s}=BD(p.shape,p.dtype,t,c);d=n.makeTensorInfo(r,s,e)}else{const[t,e]=Ec(p.shape,c),r=ot(e),i=VL({inputs:{x:p},backend:n,attrs:{shape:[-1,r]}}),a=jL(i,ri(s.dtype),"prod",n);d=VL({inputs:{x:a},backend:n,attrs:{shape:t}}),l.push(i),l.push(a)}if(a){l.push(d);const t=Ic(d.shape,u);d=VL({inputs:{x:d},backend:n,attrs:{shape:t}})}return l.forEach((t=>n.disposeIntermediateTensorInfo(t))),d}},yz=t=>{const{backend:e,attrs:n}=t,{start:r,stop:s,step:i,dtype:a}=n,o=UD(r,s,i,a);return e.makeTensorInfo([o.length],a,o)},xz={kernelName:er,backendName:"webgl",kernelFunc:yz},bz=LL({opSnippet:"return 1.0 / x;"}),vz={kernelName:rr,backendName:"webgl",kernelFunc:bz},wz=LL({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),Sz={kernelName:sr,backendName:"webgl",kernelFunc:wz},Tz=LL({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),_z={kernelName:cr,backendName:"webgl",kernelFunc:Tz};class Mz{constructor(t,e,n,r,s){this.variableNames=["A"],this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n];let h;h=s?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}}class kz{constructor(t,e,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n];let h;h=s?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const Ez={kernelName:lr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s}=e,{alignCorners:i,halfPixelCenters:a,size:o}=r,[l,u]=o,c=Gt().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new kz(s.shape,l,u,i,a):new Mz(s.shape,l,u,i,a);return n.runWebGLProgram(c,[s],"float32")}};class Iz{constructor(t,e,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=e;const[,r,s]=e,[,i,a]=t,o=[n&&i>1?r-1:r,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],u=o[0]/l[0],c=o[1]/l[1],h=1/u,d=1/c,p=2*Math.ceil(h)+2,f=2*Math.ceil(d)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${r-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const Cz={kernelName:ur,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s,dy:i}=e,{alignCorners:a}=r,o=new Iz(i.shape,s.shape,a);return n.runWebGLProgram(o,[i],i.dtype)}};class Nz{constructor(t,e,n,r,s){this.variableNames=["A"],this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n],h=r?"0.5":"0.0";let d;d=s?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}}class Az{constructor(t,e,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[i,a,o,l]=t;this.outputShape=[i,e,n,l];const u=[r&&e>1?a-1:a,r&&n>1?o-1:o],c=[r&&e>1?e-1:e,r&&n>1?n-1:n],h=r?"0.5":"0.0";let d;d=s?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const Rz={kernelName:ar,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s}=e,{alignCorners:i,halfPixelCenters:a,size:o}=r,[l,u]=o,c=Gt().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new Az(s.shape,l,u,i,a):new Nz(s.shape,l,u,i,a);return n.runWebGLProgram(c,[s],s.dtype)}};class Dz{constructor(t,e,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=e;const[,r,s]=e,[,i,a]=t,o=[n&&i>1?r-1:r,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],u=o[0]/l[0],c=o[1]/l[1],h=1/u,d=1/c,p=2*Math.ceil(h)+2,f=2*Math.ceil(d)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${d});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float sourceFracRow =\n float(${o[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${o[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const Lz={kernelName:or,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{images:s,dy:i}=e,{alignCorners:a}=r,o=new Dz(i.shape,s.shape,a);return n.runWebGLProgram(o,[i],i.dtype)}};class Fz{constructor(t,e){this.variableNames=["x"];const n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=t,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${t[0]} - coord - 1));\n }\n `);const r=t.map(((n,r)=>(n=>-1!==e.indexOf(n)&&1!==t[n]?`${t[n]} - coords[${n}] - 1`:`coords[${n}]`)(r))).join(","),s=ZR(n);this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${r}));\n }\n `}}class $z{constructor(t,e){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=t;const r=aL("rc",n),s=`${r[n-1]} + 1 < ${this.outputShape[n-1]}`,i=`${r[n-2]} + 1 < ${this.outputShape[n-2]}`,a=ZR(n);function o(n){const r=t.map(((r,s)=>function(n,r){return-1!==e.indexOf(n)&&1!==t[n]?`${t[n]} - ${r[n]} - 1`:`${r[n]}`}(s,n)));return`getChannel(getX(${r.join(",")}), vec2(${r.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${t[0]} - rc - 1),\n ${t[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${t[0]} - (rc + 1) - 1),\n ${t[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${a} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(t){return o(t)}(r.slice())};\n if(${s}){\n result.g = ${function(t){return t[n-1]="("+t[n-1]+" + 1)",o(t)}(r.slice())};\n }\n if(${i}) {\n result.b = ${function(t){return t[n-2]="("+t[n-2]+" + 1)",o(t)}(r.slice())};\n if(${s}) {\n result.a = ${function(t){return t[n-1]="("+t[n-1]+" + 1)",t[n-2]="("+t[n-2]+" + 1)",o(t)}(r.slice())};\n }\n }\n setOutput(result);\n }\n `}}const Oz={kernelName:hr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{dims:i}=r,a=s.shape.length,o=yt(i,s.shape);if(0===a)return _L({inputs:{x:s},backend:n});const l=Gt().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new $z(s.shape,o):new Fz(s.shape,o);return n.runWebGLProgram(l,[s],s.dtype)}};class Pz{constructor(t,e){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=t[1],r=t[2];this.outputShape=t;let s="";s="number"==typeof e?`float outputValue = ${e.toFixed(2)};`:`\n vec3 fill = vec3(${e.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${r} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const zz={kernelName:Zr,backendName:"webgl",kernelFunc:({inputs:t,attrs:e,backend:n})=>{const{image:r}=t,{radians:s,fillValue:i,center:a}=e,o=n,l=new Pz(r.shape,i),[u,c]=Pp(a,r.shape[1],r.shape[2]),h=[[u,c,Math.sin(s),Math.cos(s)]];return o.runWebGLProgram(l,[r],r.dtype,h)}},Bz=LL({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),Uz={kernelName:dr,backendName:"webgl",kernelFunc:Bz},Vz=LL({opSnippet:"return inversesqrt(x);",cpuKernelImpl:VD}),Wz={kernelName:pr,backendName:"webgl",kernelFunc:Vz};class Hz{constructor(t,e,n,r,s,i,a=!0){this.variableNames=["updates","indices","defaultValue"],this.outputShape=i;const o=ZR(s.length),l=ZR(i.length);let u="";1===n?u="i":2===n&&(u="i, j");const c=`getIndices(${u})`;let h="";1===r?h="i":2===r&&(h="i, coords[1]");const d=`getUpdates(${h})`,p=e>1?"strides[j]":"strides";this.userCode=`\n ${o} strides = ${o}(${s});\n\n void main() {\n ${l} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${t}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${e}; j++) {\n int index = round(${c});\n flattenedIndex += index * ${p};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${d};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}}const Gz={kernelName:fr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{indices:s,updates:i}=e,{shape:a}=r,{sliceRank:o,numUpdates:l,sliceSize:u,strides:c,outputSize:h}=oo(0,s,a),d=[h/u,u];if(0===h)return n.makeTensorInfo(a,s.dtype);const p=VL({inputs:{x:s},backend:n,attrs:{shape:[l,o]}}),f=VL({inputs:{x:i},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0])),g=new Hz(l,o,p.shape.length,f.shape.length,c,d),y=n.runWebGLProgram(g,[f,p,m],f.dtype),x=VL({inputs:{x:y},backend:n,attrs:{shape:a}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(m),x}};class jz{constructor(t,e,n){let r,s;if(this.variableNames=["c","a","b"],this.outputShape=e,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)s="resRC",r="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],i=[],a=[];for(let r=0;r= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}}const qz={kernelName:mr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{condition:r,t:s,e:i}=e,a=new jz(r.shape.length,s.shape,s.shape.length);return n.runWebGLProgram(a,[r,s,i],ni(s.dtype,i.dtype))}},Xz=LL({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${Hp};\n float scale = ${Gp};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),Kz={kernelName:gr,backendName:"webgl",kernelFunc:Xz},Yz=LL({opSnippet:"if (isnan(x)) return x;\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:WD}),Jz={kernelName:wr,backendName:"webgl",kernelFunc:Yz},Zz=LL({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),Qz={kernelName:vr,backendName:"webgl",kernelFunc:Zz},tB=LL({opSnippet:"if (isnan(x)) return x;\n return sin(x);\n"}),eB={kernelName:xr,backendName:"webgl",kernelFunc:tB},nB=LL({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),rB={kernelName:br,backendName:"webgl",kernelFunc:nB},sB=LL({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),iB={kernelName:Sr,backendName:"webgl",kernelFunc:sB},aB={kernelName:Mr,backendName:"webgl",kernelFunc:t=>{const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{blockShape:i,paddings:a}=r;rt(s.shape.length<=4,(()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet"));const o=i.reduce(((t,e)=>t*e)),l=[[0,0]];l.push(...a);for(let t=1+i.length;tn.disposeIntermediateTensorInfo(t))),g}},oB={kernelName:Ir,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{indices:r,values:s,denseShape:i,defaultValue:a}=e;if(1!==i.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${i.shape}`);if(2!==r.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Values must be a vector, saw:\n ${s.shape}`);if(0!==a.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${a.shape}`);const o=n.readSync(r.dataId),l=n.readSync(s.dataId),u=n.readSync(i.dataId),c=n.readSync(a.dataId)[0],[h,d,p,f,m]=jD(o,r.shape,r.dtype,l,s.dtype,u,c);return[n.makeTensorInfo(d,r.dtype,h),n.makeTensorInfo([d[0]],s.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map((t=>Number(t))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}},lB={kernelName:Cr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{inputIndices:r,inputShape:s,newShape:i}=e;if(2!==r.shape.length)throw new Error(`Input indices should be a matrix but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Input shape should be a vector but received shape ${s.shape}`);if(1!==i.shape.length)throw new Error(`Target shape should be a vector but received shape ${i.shape}`);const a=Array.from(n.readSync(s.dataId)),o=n.readSync(r.dataId),l=Array.from(n.readSync(i.dataId)),[u,c,h]=qD(o,r.shape,r.dtype,a,l);return[n.makeTensorInfo(c,r.dtype,u),n.makeTensorInfo([h.length],i.dtype,new Int32Array(h))]}},uB={kernelName:Nr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{data:r,indices:s,segmentIds:i}=e;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==i.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${i.shape}`);const a=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(i.dataId),[u,c]=XD(a,r.shape,r.dtype,o,l,!0);return n.makeTensorInfo(c,r.dtype,u)}},cB={kernelName:Ar,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n}=t,{data:r,indices:s,segmentIds:i}=e;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==i.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${i.shape}`);const a=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(i.dataId),[u,c]=XD(a,r.shape,r.dtype,o,l);return n.makeTensorInfo(c,r.dtype,u)}},hB={kernelName:Rr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{sparseIndices:s,sparseValues:i,defaultValue:a}=e,{outputShape:o}=r,{sliceRank:l,numUpdates:u,strides:c,outputSize:h}=oo(0,s,o),d=new Hz(u,l,s.shape.length,i.shape.length,c,[h,1],!1),p=n.runWebGLProgram(d,[i,s,a],i.dtype),f=VL({inputs:{x:p},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(p),f}},dB={kernelName:kr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{numOrSizeSplits:i,axis:a}=r,o=yt(a,s.shape)[0],l=ff(s,i,o),u=s.shape.length,c=new Array(u).fill(0),h=s.shape.slice();return l.map((t=>{const e=[...h];e[o]=t;const r=XF({inputs:{x:s},backend:n,attrs:{begin:c,size:e}});return c[o]+=t,r}))}},pB="return sqrt(x);",fB=LL({opSnippet:pB,packedOpSnippet:pB,cpuKernelImpl:KD}),mB={kernelName:Tr,backendName:"webgl",kernelFunc:fB},gB=LL({opSnippet:"return x * x;"}),yB={kernelName:Lr,backendName:"webgl",kernelFunc:gB},xB="return (a - b) * (a - b);",bB=FL({opSnippet:xB,packedOpSnippet:xB}),vB={kernelName:Dr,backendName:"webgl",kernelFunc:bB},wB={kernelName:Yr,backendName:"webgl",kernelFunc:function({inputs:t,attrs:e,backend:n}){const{x:r}=t,s=`if (isnan(x)) return x;\n return x > 0.0 ? 1.0 : float(${e.alpha});\n `,i=new pL(r.shape,s);return n.runWebGLProgram(i,[r],r.dtype)}};class SB{constructor(t,e,n){this.variableNames=["x"],this.outputShape=n;const r=n.length,s=ZR(n.length),i=ZR(n.length);let a="";if(1===r)a="coords * strides + begin";else{let t=0;a=n.map(((e,r)=>(t++,1===n.length?`coords * strides[${r}] + begin[${r}]`:`coords[${t-1}] * strides[${r}] + begin[${r}]`))).join(",")}this.userCode=`\n ${s} begin = ${s}(${t});\n ${s} strides = ${s}(${e});\n\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${a}));\n }\n `}}const TB={kernelName:Fr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s}=e,{begin:i,end:a,strides:o,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:h,shrinkAxisMask:d}=r,{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:y,begin:x,end:b,strides:v}=_o(s.shape,i,a,o,l,u,c,h,d);let w;if(m)w=VL({inputs:{x:s},backend:n,attrs:{shape:f}});else if(g||y){rt(s.shape.length>=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const t=co(x,b,v),e=XF({inputs:{x:s},backend:n,attrs:{begin:x,size:t}});w=VL({inputs:{x:e},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(e)}else if(n.shouldExecuteOnCPU([s])){const t=n.readSync(s.dataId),e=_a(s.shape,s.dtype,t),r=YD(p,e,v,x);w=n.makeTensorInfo(f,s.dtype,r.values)}else{const t=new SB(x,v,p);w=n.runWebGLProgram(t,[s],s.dtype)}const S=VL({inputs:{x:w},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(w),S}},_B={kernelName:$r,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{separator:s,nGramWidths:i,leftPad:a,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=e,d=n.readSync(c.dataId),p=n.readSync(h.dataId),[f,m]=JD(d,p,s,i,a,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}},MB={kernelName:Or,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{skipEmpty:s}=r,{input:i,delimiter:a}=e;if("string"!==i.dtype)throw new Error("Input must be of datatype string");if(1!==i.shape.length)throw new Error(`Input must be a vector, got shape: ${i.shape}`);if(0!==a.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${a.shape}`);const o=n.readSync(i.dataId),l=n.readSync(a.dataId)[0],[u,c,h]=ZD(o,l,s),d=c.length;return[n.makeTensorInfo([d,2],"int32",u),n.makeTensorInfo([d],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(h))]}},kB={kernelName:Pr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{numBuckets:s}=r,{input:i}=e;if("string"!==i.dtype)throw new Error("Input must be of datatype string");if(s<=0)throw new Error("Number of buckets must be at least 1");const a=n.readSync(i.dataId),o=QD(a,s);return n.makeTensorInfo(i.shape,"int32",o)}},EB=LL({opSnippet:"return tan(x);"}),IB={kernelName:Br,backendName:"webgl",kernelFunc:EB},CB=LL({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),NB={kernelName:Ur,backendName:"webgl",kernelFunc:CB};class AB{constructor(t,e){this.variableNames=["A"];const n=new Array(t.length);for(let r=0;r5)throw Error(`Tile for rank ${e} is not yet supported`);if(1===e)return`imod(resRC, ${t[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],r=[];for(let e=0;e5){const t=n.readSync(s.dataId),e="string"===s.dtype?t.map((t=>Ls(t))):t,r=_a(s.shape,s.dtype,e),a=eL(r,i);return n.makeTensorInfo(a.shape,a.dtype,a.values)}const a=new AB(s.shape,i);return n.runWebGLProgram(a,[s],s.dtype)}const DB={kernelName:Vr,backendName:"webgl",kernelFunc:RB};class LB{constructor(t){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=t,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class FB{constructor(t){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=t,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}}function $B(t,e){null!==e&&t.disposeIntermediateTensorInfo(e)}function OB(t){let e=1;for(;el){const t=n.readSync(s.dataId),[e,r]=nL(t,u,s.dtype,i,a);return[n.makeTensorInfo(e.shape,e.dtype,e.values),n.makeTensorInfo(r.shape,r.dtype,r.values)]}if(0===i)return u[u.length-1]=0,[n.makeTensorInfo(u,s.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[s,MO({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const h=n.texData.get(s.dataId),d=null!==h&&h.isPacked,p=d?n.unpackTensor(s):s,f=ot(u)/c,m=VL({inputs:{x:p},attrs:{shape:[f,c]},backend:n});d&&$B(n,p);const g=OB(i),y=OB(c);let x=null;const b=()=>null===x?[m,m]:[m,x],v=(t,e,r)=>{const s=b(),i=new LB(r),a=[[c],[null===x?1:0],[Number.NEGATIVE_INFINITY],[t],[e]],o=x;x=n.runWebGLProgram(i,s,"int32",a),$B(n,o)};for(let t=1;t=1;n/=2)v(e,n,[f,y])}for(let t=y;t>g;t/=2){const e=b(),r=new FB([f,t/2]),s=[[c],[null===x?1:0],[g]],i=x;x=n.runWebGLProgram(r,e,"int32",s),$B(n,i);const a=g/2,o=2*a;for(let t=a;t>=1;t/=2)v(o,t,x.shape)}let w=x;x=XF({inputs:{x},backend:n,attrs:{begin:0,size:[f,i]}}),$B(n,w);let S=WO({inputs:{x:m,indices:x},backend:n,attrs:{axis:1,batchDims:1}});$B(n,m);const T=u.slice(0,-1);T.push(i),w=x,x=VL({inputs:{x},attrs:{shape:T},backend:n}),$B(n,w);const _=S;return S=VL({inputs:{x:S},attrs:{shape:T},backend:n}),$B(n,_),[S,x]}};class zB{constructor(t,e,n,r,s,i){this.variableNames=["Image","Transforms"],this.outputShape=i;const a="nearest"===n?1:2;let o;switch(r){case"constant":default:o=1;break;case"reflect":o=2;break;case"wrap":o=3;break;case"nearest":o=4}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${o} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${t} && 0 <= coordX && coordX < ${e}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${e}));\n float mapY = mapCoord(inY, float(${t}));\n\n if (${a} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const BB={kernelName:Hr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{image:s,transforms:i}=e,{interpolation:a,fillMode:o,fillValue:l,outputShape:u}=r,[c,h,d,p]=s.shape,[f,m]=null!=u?u:[h,d],g=new zB(h,d,a,o,l,[c,f,m,p]);return n.runWebGLProgram(g,[s,i],"float32")}},UB={kernelName:jr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,attrs:n,backend:r}=t,{axis:s}=n,{x:i}=e;FR(i,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const a=r.readSync(i.dataId),{outputValues:o,outputShape:l,indices:u}=sL(a,s,i.shape,i.dtype);return[r.makeTensorInfo(l,i.dtype,o),r.makeTensorInfo([u.length],"int32",u)]}},VB={kernelName:qr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{value:s}=e;let{axis:i}=r;i<0&&(i+=s.shape.length);const a=s,o=a.shape.length,l=s.shape[i],u=new Array(o-1);let c=0;for(let t=0;tn.disposeIntermediateTensorInfo(t))),f}};class WB{constructor(t,e){this.variableNames=["x","segmentIds"];const n=t.windowSize,r=t.batchSize,s=t.inSize,i=t.numSegments,a=i*Math.ceil(s/n);this.outputShape=[r,a];const o=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let h="";s%n>0&&(h=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${h}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${i})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${i})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const HB={kernelName:Xr,backendName:"webgl",kernelFunc:function(t){const{inputs:e,backend:n,attrs:r}=t,{x:s,segmentIds:i}=e,{numSegments:a}=r,o=s.shape.length,l=[];let u=0;const c=Nc([u],o);let h=s;null!=c&&(h=ZL({inputs:{x:s},backend:n,attrs:{perm:c}}),l.push(h),u=Rc(1,o)[0]);const d=If(h.shape,u,a),p=ot([h.shape[u]]),f=VL({inputs:{x:h},backend:n,attrs:{shape:[-1,p]}});l.push(f);const m=ri(s.dtype),g=(t,e,r,s,i)=>{const a=t.shape[0],o=t.shape[1],u=Ef(o,i),c=new WB({windowSize:u,inSize:o,batchSize:a,numSegments:i},e),h=n.compileAndRun(c,[t,r],s);if(l.push(h),h.shape[1]===i)return h;const d=yz({backend:n,attrs:{start:0,stop:i,step:1,dtype:"float32"}}),p=RB({inputs:{x:d},backend:n,attrs:{reps:[o/u]}});return l.push(d),l.push(p),g(h,e,p,s,i)},y=VL({inputs:{x:g(f,"unsortedSegmentSum",i,m,a)},backend:n,attrs:{shape:d}});let x=y;if(null!=c){l.push(y);const t=Ac(c);x=ZL({inputs:{x},backend:n,attrs:{perm:t}})}return l.forEach((t=>n.disposeIntermediateTensorInfo(t))),x}},GB=[eF,rF,iF,oF,cF,pF,fF,mF,wF,SF,_F,kF,IF,NF,RF,FF,$F,zF,BF,UF,HF,YF,JF,ZF,r$,a$,u$,EL,d$,v$,k$,A$,R$,D$,L$,F$,O$,z$,U$,G$,j$,X$,J$,tO,eO,rO,iO,aO,lO,uO,hO,pO,mO,yO,vO,TO,kO,IO,AO,DO,$O,PO,zO,UO,HO,jO,XO,ML,KO,y$,JO,QO,eP,NL,rP,iP,aP,lP,cP,dP,fP,gP,bP,wP,TP,MP,kP,EP,NP,AP,RP,DP,LP,$P,zP,UP,YP,UL,JP,QP,ez,rz,t$,iz,lz,uz,pz,mz,DL,gz,xz,n$,HP,vz,Sz,_z,WL,Ez,Cz,Rz,Lz,Oz,zz,Uz,Wz,Gz,qz,Kz,Jz,Qz,eB,rB,KF,KP,iB,aB,oB,lB,uB,cB,hB,dB,mB,yB,vB,wB,TB,_B,MB,kB,qP,JL,IB,NB,DB,PB,BB,QL,UB,VB,HB,oz];for(const t of GB)us(t);const jB={"tfjs-core":Bo,"tfjs-backend-cpu":"3.13.0","tfjs-backend-webgl":"3.13.0","tfjs-data":YM,"tfjs-layers":ib,"tfjs-converter":W_,tfjs:"3.13.0"}},8485:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});var r=n(3645),s=n.n(r)()((function(t){return t[1]}));s.push([t.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const i=s},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var s={};if(r)for(var i=0;i{"use strict";n.d(e,{Z:()=>r});const r='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r='
'},2810:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});const r='
'},3720:t=>{t.exports=n;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(t){}function n(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function r(t){return!0===(t&&t.__isLong__)}n.prototype.__isLong__,Object.defineProperty(n.prototype,"__isLong__",{value:!0}),n.isLong=r;var s={},i={};function a(t,e){var n,r,a;return e?(a=0<=(t>>>=0)&&t<256)&&(r=i[t])?r:(n=l(t,(0|t)<0?-1:0,!0),a&&(i[t]=n),n):(a=-128<=(t|=0)&&t<128)&&(r=s[t])?r:(n=l(t,t<0?-1:0,!1),a&&(s[t]=n),n)}function o(t,e){if(isNaN(t))return e?y:g;if(e){if(t<0)return y;if(t>=p)return S}else{if(t<=-f)return T;if(t+1>=f)return w}return t<0?o(-t,e).neg():l(t%d|0,t/d|0,e)}function l(t,e,r){return new n(t,e,r)}n.fromInt=a,n.fromNumber=o,n.fromBits=l;var u=Math.pow;function c(t,e,n){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return g;if("number"==typeof e?(n=e,e=!1):e=!!e,(n=n||10)<2||360)throw Error("interior hyphen");if(0===r)return c(t.substring(1),e,n).neg();for(var s=o(u(n,8)),i=g,a=0;a>>0:this.low},_.toNumber=function(){return this.unsigned?(this.high>>>0)*d+(this.low>>>0):this.high*d+(this.low>>>0)},_.toString=function(t){if((t=t||10)<2||36>>0).toString(t);if((i=l).isZero())return c+a;for(;c.length<6;)c="0"+c;a=""+c+a}},_.getHighBits=function(){return this.high},_.getHighBitsUnsigned=function(){return this.high>>>0},_.getLowBits=function(){return this.low},_.getLowBitsUnsigned=function(){return this.low>>>0},_.getNumBitsAbs=function(){if(this.isNegative())return this.eq(T)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<=0},_.isOdd=function(){return 1==(1&this.low)},_.isEven=function(){return 0==(1&this.low)},_.equals=function(t){return r(t)||(t=h(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},_.eq=_.equals,_.notEquals=function(t){return!this.eq(t)},_.neq=_.notEquals,_.ne=_.notEquals,_.lessThan=function(t){return this.comp(t)<0},_.lt=_.lessThan,_.lessThanOrEqual=function(t){return this.comp(t)<=0},_.lte=_.lessThanOrEqual,_.le=_.lessThanOrEqual,_.greaterThan=function(t){return this.comp(t)>0},_.gt=_.greaterThan,_.greaterThanOrEqual=function(t){return this.comp(t)>=0},_.gte=_.greaterThanOrEqual,_.ge=_.greaterThanOrEqual,_.compare=function(t){if(r(t)||(t=h(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},_.comp=_.compare,_.negate=function(){return!this.unsigned&&this.eq(T)?T:this.not().add(x)},_.neg=_.negate,_.add=function(t){r(t)||(t=h(t));var e=this.high>>>16,n=65535&this.high,s=this.low>>>16,i=65535&this.low,a=t.high>>>16,o=65535&t.high,u=t.low>>>16,c=0,d=0,p=0,f=0;return p+=(f+=i+(65535&t.low))>>>16,d+=(p+=s+u)>>>16,c+=(d+=n+o)>>>16,c+=e+a,l((p&=65535)<<16|(f&=65535),(c&=65535)<<16|(d&=65535),this.unsigned)},_.subtract=function(t){return r(t)||(t=h(t)),this.add(t.neg())},_.sub=_.subtract,_.multiply=function(t){if(this.isZero())return g;if(r(t)||(t=h(t)),e)return l(e.mul(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned);if(t.isZero())return g;if(this.eq(T))return t.isOdd()?T:g;if(t.eq(T))return this.isOdd()?T:g;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(m)&&t.lt(m))return o(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,s=65535&this.high,i=this.low>>>16,a=65535&this.low,u=t.high>>>16,c=65535&t.high,d=t.low>>>16,p=65535&t.low,f=0,y=0,x=0,b=0;return x+=(b+=a*p)>>>16,y+=(x+=i*p)>>>16,x&=65535,y+=(x+=a*d)>>>16,f+=(y+=s*p)>>>16,y&=65535,f+=(y+=i*d)>>>16,y&=65535,f+=(y+=a*c)>>>16,f+=n*p+s*d+i*c+a*u,l((x&=65535)<<16|(b&=65535),(f&=65535)<<16|(y&=65535),this.unsigned)},_.mul=_.multiply,_.divide=function(t){if(r(t)||(t=h(t)),t.isZero())throw Error("division by zero");var n,s,i;if(e)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?l((this.unsigned?e.div_u:e.div_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?y:g;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return y;if(t.gt(this.shru(1)))return b;i=y}else{if(this.eq(T))return t.eq(x)||t.eq(v)?T:t.eq(T)?x:(n=this.shr(1).div(t).shl(1)).eq(g)?t.isNegative()?x:v:(s=this.sub(t.mul(n)),i=n.add(s.div(t)));if(t.eq(T))return this.unsigned?y:g;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();i=g}for(s=this;s.gte(t);){n=Math.max(1,Math.floor(s.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),c=a<=48?1:u(2,a-48),d=o(n),p=d.mul(t);p.isNegative()||p.gt(s);)p=(d=o(n-=c,this.unsigned)).mul(t);d.isZero()&&(d=x),i=i.add(d),s=s.sub(p)}return i},_.div=_.divide,_.modulo=function(t){return r(t)||(t=h(t)),e?l((this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},_.mod=_.modulo,_.rem=_.modulo,_.not=function(){return l(~this.low,~this.high,this.unsigned)},_.and=function(t){return r(t)||(t=h(t)),l(this.low&t.low,this.high&t.high,this.unsigned)},_.or=function(t){return r(t)||(t=h(t)),l(this.low|t.low,this.high|t.high,this.unsigned)},_.xor=function(t){return r(t)||(t=h(t)),l(this.low^t.low,this.high^t.high,this.unsigned)},_.shiftLeft=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?l(this.low<>>32-t,this.unsigned):l(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):l(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},_.shr=_.shiftRight,_.shiftRightUnsigned=function(t){if(r(t)&&(t=t.toInt()),0==(t&=63))return this;var e=this.high;return t<32?l(this.low>>>t|e<<32-t,e>>>t,this.unsigned):l(32===t?e:e>>>t-32,0,this.unsigned)},_.shru=_.shiftRightUnsigned,_.shr_u=_.shiftRightUnsigned,_.toSigned=function(){return this.unsigned?l(this.low,this.high,!1):this},_.toUnsigned=function(){return this.unsigned?this:l(this.low,this.high,!0)},_.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},_.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},_.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},n.fromBytes=function(t,e,r){return r?n.fromBytesLE(t,e):n.fromBytesBE(t,e)},n.fromBytesLE=function(t,e){return new n(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},n.fromBytesBE=function(t,e){return new n(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}},6377:(t,e,n)=>{var r=n(4832),s=n(8652),i=n(801),a=n(2030),o=n(3618),l=n(9049),u=n(1971);u.alea=r,u.xor128=s,u.xorwow=i,u.xorshift7=a,u.xor4096=o,u.tychei=l,t.exports=u},4832:function(t,e,n){var r;!function(t,s,i){function a(t){var e,n=this,r=(e=4022871197,function(t){t=t.toString();for(var n=0;n>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)});n.next=function(){var t=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=t-(n.c=0|t)},n.c=1,n.s0=r(" "),n.s1=r(" "),n.s2=r(" "),n.s0-=r(t),n.s0<0&&(n.s0+=1),n.s1-=r(t),n.s1<0&&(n.s1+=1),n.s2-=r(t),n.s2<0&&(n.s2+=1),r=null}function o(t,e){return e.c=t.c,e.s0=t.s0,e.s1=t.s1,e.s2=t.s2,e}function l(t,e){var n=new a(t),r=e&&e.state,s=n.next;return s.int32=function(){return 4294967296*n.next()|0},s.double=function(){return s()+11102230246251565e-32*(2097152*s()|0)},s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.alea=l}(0,t=n.nmd(t),n.amdD)},9049:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this,n="";e.next=function(){var t=e.b,n=e.c,r=e.d,s=e.a;return t=t<<25^t>>>7^n,n=n-r|0,r=r<<24^r>>>8^s,s=s-t|0,e.b=t=t<<20^t>>>12^n,e.c=n=n-r|0,e.d=r<<16^n>>>16^s,e.a=s-t|0},e.a=0,e.b=0,e.c=-1640531527,e.d=1367130551,t===Math.floor(t)?(e.a=t/4294967296|0,e.b=0|t):n+=t;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.tychei=l}(0,t=n.nmd(t),n.amdD)},8652:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this,n="";e.x=0,e.y=0,e.z=0,e.w=0,e.next=function(){var t=e.x^e.x<<11;return e.x=e.y,e.y=e.z,e.z=e.w,e.w^=e.w>>>19^t^t>>>8},t===(0|t)?e.x=t:n+=t;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xor128=l}(0,t=n.nmd(t),n.amdD)},3618:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this;e.next=function(){var t,n,r=e.w,s=e.X,i=e.i;return e.w=r=r+1640531527|0,n=s[i+34&127],t=s[i=i+1&127],n^=n<<13,t^=t<<17,n^=n>>>15,t^=t>>>12,n=s[i]=n^t,e.i=i,n+(r^r>>>16)|0},function(t,e){var n,r,s,i,a,o=[],l=128;for(e===(0|e)?(r=e,e=null):(e+="\0",r=0,l=Math.max(l,e.length)),s=0,i=-32;i>>15,r^=r<<4,r^=r>>>13,i>=0&&(a=a+1640531527|0,s=0==(n=o[127&i]^=r+a)?s+1:0);for(s>=128&&(o[127&(e&&e.length||0)]=-1),s=127,i=512;i>0;--i)r=o[s+34&127],n=o[s=s+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,o[s]=r^n;t.w=a,t.X=o,t.i=s}(e,t)}function o(t,e){return e.i=t.i,e.w=t.w,e.X=t.X.slice(),e}function l(t,e){null==t&&(t=+new Date);var n=new a(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&(r.X&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xor4096=l}(0,t=n.nmd(t),n.amdD)},2030:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this;e.next=function(){var t,n,r=e.x,s=e.i;return t=r[s],n=(t^=t>>>7)^t<<24,n^=(t=r[s+1&7])^t>>>10,n^=(t=r[s+3&7])^t>>>3,n^=(t=r[s+4&7])^t<<7,t=r[s+7&7],n^=(t^=t<<13)^t<<9,r[s]=n,e.i=s+1&7,n},function(t,e){var n,r=[];if(e===(0|e))r[0]=e;else for(e=""+e,n=0;n0;--n)t.next()}(e,t)}function o(t,e){return e.x=t.x.slice(),e.i=t.i,e}function l(t,e){null==t&&(t=+new Date);var n=new a(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&(r.x&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xorshift7=l}(0,t=n.nmd(t),n.amdD)},801:function(t,e,n){var r;!function(t,s,i){function a(t){var e=this,n="";e.next=function(){var t=e.x^e.x>>>2;return e.x=e.y,e.y=e.z,e.z=e.w,e.w=e.v,(e.d=e.d+362437|0)+(e.v=e.v^e.v<<4^t^t<<1)|0},e.x=0,e.y=0,e.z=0,e.w=0,e.v=0,t===(0|t)?e.x=t:n+=t;for(var r=0;r>>4),e.next()}function o(t,e){return e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e.v=t.v,e.d=t.d,e}function l(t,e){var n=new a(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(e,n,e,s))||(s.exports=r):this.xorwow=l}(0,t=n.nmd(t),n.amdD)},1971:(t,e,n)=>{var r;!function(s,i){var a,o=this,l=256,u=i.pow(l,6),c=i.pow(2,52),h=2*c,d=255;function p(t,e,n){var r=[],d=y(g((e=1==e?{entropy:!0}:e||{}).entropy?[t,x(s)]:null==t?function(){try{var t;return a&&(t=a.randomBytes)?t=t(l):(t=new Uint8Array(l),(o.crypto||o.msCrypto).getRandomValues(t)),x(t)}catch(t){var e=o.navigator,n=e&&e.plugins;return[+new Date,o,n,o.screen,x(s)]}}():t,3),r),p=new f(r),b=function(){for(var t=p.g(6),e=u,n=0;t=h;)t/=2,e/=2,n>>>=1;return(t+n)/e};return b.int32=function(){return 0|p.g(4)},b.quick=function(){return p.g(4)/4294967296},b.double=b,y(x(p.S),s),(e.pass||n||function(t,e,n,r){return r&&(r.S&&m(r,p),t.state=function(){return m(p,{})}),n?(i.random=t,e):t})(b,d,"global"in e?e.global:this==i,e.state)}function f(t){var e,n=t.length,r=this,s=0,i=r.i=r.j=0,a=r.S=[];for(n||(t=[n++]);s{"use strict";n.r(e),n.d(e,{default:()=>a});var r=n(3379),s=n.n(r),i=n(8485);s()(i.Z,{insert:"head",singleton:!1});const a=i.Z.locals||{}},3379:(t,e,n)=>{"use strict";var r,s=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),i=[];function a(t){for(var e=-1,n=0;n{"use strict";n.r(e),n.d(e,{ACESFilmicToneMapping:()=>nt,AddEquation:()=>M,AddOperation:()=>J,AdditiveAnimationBlendMode:()=>Ge,AdditiveBlending:()=>w,AlphaFormat:()=>$t,AlwaysDepth:()=>V,AlwaysStencilFunc:()=>yn,AmbientLight:()=>Qh,AmbientLightProbe:()=>gd,AnimationClip:()=>_h,AnimationLoader:()=>Rh,AnimationMixer:()=>Xd,AnimationObjectGroup:()=>jd,AnimationUtils:()=>hh,ArcCurve:()=>ju,ArrayCamera:()=>ml,ArrowHelper:()=>Op,Audio:()=>Id,AudioAnalyser:()=>Ld,AudioContext:()=>pd,AudioListener:()=>Ed,AudioLoader:()=>fd,AxesHelper:()=>Pp,AxisHelper:()=>ff,BackSide:()=>m,BasicDepthPacking:()=>Je,BasicShadowMap:()=>c,BinaryTextureLoader:()=>bf,Bone:()=>eu,BooleanKeyframeTrack:()=>yh,BoundingBoxHelper:()=>mf,Box2:()=>sp,Box3:()=>or,Box3Helper:()=>Rp,BoxBufferGeometry:()=>fi,BoxGeometry:()=>fi,BoxHelper:()=>Ap,BufferAttribute:()=>Ns,BufferGeometry:()=>Xs,BufferGeometryLoader:()=>ad,ByteType:()=>Mt,Cache:()=>kh,Camera:()=>bi,CameraHelper:()=>Ip,CanvasRenderer:()=>wf,CanvasTexture:()=>Du,CatmullRomCurve3:()=>Zu,CineonToneMapping:()=>et,CircleBufferGeometry:()=>Lu,CircleGeometry:()=>Lu,ClampToEdgeWrapping:()=>dt,Clock:()=>wd,Color:()=>ks,ColorKeyframeTrack:()=>xh,CompressedTexture:()=>Ru,CompressedTextureLoader:()=>Dh,ConeBufferGeometry:()=>$u,ConeGeometry:()=>$u,CubeCamera:()=>Si,CubeReflectionMapping:()=>it,CubeRefractionMapping:()=>at,CubeTexture:()=>Ti,CubeTextureLoader:()=>Fh,CubeUVReflectionMapping:()=>ut,CubeUVRefractionMapping:()=>ct,CubicBezierCurve:()=>nc,CubicBezierCurve3:()=>rc,CubicInterpolant:()=>ph,CullFaceBack:()=>o,CullFaceFront:()=>l,CullFaceFrontBack:()=>u,CullFaceNone:()=>a,Curve:()=>Hu,CurvePath:()=>cc,CustomBlending:()=>_,CustomToneMapping:()=>rt,CylinderBufferGeometry:()=>Fu,CylinderGeometry:()=>Fu,Cylindrical:()=>np,DataTexture:()=>nu,DataTexture2DArray:()=>ga,DataTexture3D:()=>Sa,DataTextureLoader:()=>$h,DataUtils:()=>Vp,DecrementStencilOp:()=>an,DecrementWrapStencilOp:()=>ln,DefaultLoadingManager:()=>Ih,DepthFormat:()=>Ut,DepthStencilFormat:()=>Vt,DepthTexture:()=>bl,DirectionalLight:()=>Zh,DirectionalLightHelper:()=>Mp,DiscreteInterpolant:()=>mh,DodecahedronBufferGeometry:()=>Pu,DodecahedronGeometry:()=>Pu,DoubleSide:()=>g,DstAlphaFactor:()=>$,DstColorFactor:()=>P,DynamicBufferAttribute:()=>rf,DynamicCopyUsage:()=>Mn,DynamicDrawUsage:()=>bn,DynamicReadUsage:()=>Sn,EdgesGeometry:()=>Wu,EdgesHelper:()=>gf,EllipseCurve:()=>Gu,EqualDepth:()=>G,EqualStencilFunc:()=>dn,EquirectangularReflectionMapping:()=>ot,EquirectangularRefractionMapping:()=>lt,Euler:()=>Gr,EventDispatcher:()=>Cn,ExtrudeBufferGeometry:()=>Bc,ExtrudeGeometry:()=>Bc,FaceColors:()=>jp,FileLoader:()=>Ah,FlatShading:()=>y,Float16BufferAttribute:()=>Ps,Float32Attribute:()=>df,Float32BufferAttribute:()=>zs,Float64Attribute:()=>pf,Float64BufferAttribute:()=>Bs,FloatType:()=>Nt,Fog:()=>Ml,FogExp2:()=>_l,Font:()=>If,FontLoader:()=>Ef,FramebufferTexture:()=>Au,FrontSide:()=>f,Frustum:()=>Ai,GLBufferAttribute:()=>Jd,GLSL1:()=>En,GLSL3:()=>In,GreaterDepth:()=>q,GreaterEqualDepth:()=>j,GreaterEqualStencilFunc:()=>gn,GreaterStencilFunc:()=>fn,GridHelper:()=>vp,Group:()=>gl,HalfFloatType:()=>At,HemisphereLight:()=>zh,HemisphereLightHelper:()=>bp,HemisphereLightProbe:()=>md,IcosahedronBufferGeometry:()=>Vc,IcosahedronGeometry:()=>Vc,ImageBitmapLoader:()=>hd,ImageLoader:()=>Lh,ImageUtils:()=>Kn,ImmediateRenderObject:()=>Cf,IncrementStencilOp:()=>sn,IncrementWrapStencilOp:()=>on,InstancedBufferAttribute:()=>au,InstancedBufferGeometry:()=>id,InstancedInterleavedBuffer:()=>Yd,InstancedMesh:()=>hu,Int16Attribute:()=>lf,Int16BufferAttribute:()=>Ls,Int32Attribute:()=>cf,Int32BufferAttribute:()=>$s,Int8Attribute:()=>sf,Int8BufferAttribute:()=>As,IntType:()=>It,InterleavedBuffer:()=>El,InterleavedBufferAttribute:()=>Cl,Interpolant:()=>dh,InterpolateDiscrete:()=>Pe,InterpolateLinear:()=>ze,InterpolateSmooth:()=>Be,InvertStencilOp:()=>un,JSONLoader:()=>Sf,KeepStencilOp:()=>nn,KeyframeTrack:()=>gh,LOD:()=>Xl,LatheBufferGeometry:()=>Wc,LatheGeometry:()=>Wc,Layers:()=>jr,LensFlare:()=>_f,LessDepth:()=>W,LessEqualDepth:()=>H,LessEqualStencilFunc:()=>pn,LessStencilFunc:()=>hn,Light:()=>Ph,LightProbe:()=>nd,Line:()=>xu,Line3:()=>op,LineBasicMaterial:()=>du,LineCurve:()=>sc,LineCurve3:()=>ic,LineDashedMaterial:()=>uh,LineLoop:()=>Su,LinePieces:()=>Hp,LineSegments:()=>wu,LineStrip:()=>Wp,LinearEncoding:()=>Ke,LinearFilter:()=>bt,LinearInterpolant:()=>fh,LinearMipMapLinearFilter:()=>Tt,LinearMipMapNearestFilter:()=>wt,LinearMipmapLinearFilter:()=>St,LinearMipmapNearestFilter:()=>vt,LinearToneMapping:()=>Q,Loader:()=>Ch,LoaderUtils:()=>sd,LoadingManager:()=>Eh,LoopOnce:()=>Fe,LoopPingPong:()=>Oe,LoopRepeat:()=>$e,LuminanceAlphaFormat:()=>Bt,LuminanceFormat:()=>zt,MOUSE:()=>s,Material:()=>bs,MaterialLoader:()=>rd,Math:()=>Un,MathUtils:()=>Un,Matrix3:()=>Wn,Matrix4:()=>Fr,MaxEquation:()=>C,Mesh:()=>di,MeshBasicMaterial:()=>Es,MeshDepthMaterial:()=>ul,MeshDistanceMaterial:()=>cl,MeshFaceMaterial:()=>Xp,MeshLambertMaterial:()=>oh,MeshMatcapMaterial:()=>lh,MeshNormalMaterial:()=>ah,MeshPhongMaterial:()=>sh,MeshPhysicalMaterial:()=>rh,MeshStandardMaterial:()=>nh,MeshToonMaterial:()=>ih,MinEquation:()=>I,MirroredRepeatWrapping:()=>pt,MixOperation:()=>Y,MultiMaterial:()=>Kp,MultiplyBlending:()=>T,MultiplyOperation:()=>K,NearestFilter:()=>ft,NearestMipMapLinearFilter:()=>xt,NearestMipMapNearestFilter:()=>gt,NearestMipmapLinearFilter:()=>yt,NearestMipmapNearestFilter:()=>mt,NeverDepth:()=>U,NeverStencilFunc:()=>cn,NoBlending:()=>b,NoColors:()=>Gp,NoToneMapping:()=>Z,NormalAnimationBlendMode:()=>He,NormalBlending:()=>v,NotEqualDepth:()=>X,NotEqualStencilFunc:()=>mn,NumberKeyframeTrack:()=>bh,Object3D:()=>as,ObjectLoader:()=>od,ObjectSpaceNormalMap:()=>tn,OctahedronBufferGeometry:()=>Hc,OctahedronGeometry:()=>Hc,OneFactor:()=>A,OneMinusDstAlphaFactor:()=>O,OneMinusDstColorFactor:()=>z,OneMinusSrcAlphaFactor:()=>F,OneMinusSrcColorFactor:()=>D,OrthographicCamera:()=>Hi,PCFShadowMap:()=>h,PCFSoftShadowMap:()=>d,PMREMGenerator:()=>ia,ParametricGeometry:()=>Mf,Particle:()=>Jp,ParticleBasicMaterial:()=>tf,ParticleSystem:()=>Zp,ParticleSystemMaterial:()=>ef,Path:()=>hc,PerspectiveCamera:()=>vi,Plane:()=>Ii,PlaneBufferGeometry:()=>Li,PlaneGeometry:()=>Li,PlaneHelper:()=>Dp,PointCloud:()=>Yp,PointCloudMaterial:()=>Qp,PointLight:()=>Yh,PointLightHelper:()=>mp,Points:()=>Iu,PointsMaterial:()=>Tu,PolarGridHelper:()=>wp,PolyhedronBufferGeometry:()=>Ou,PolyhedronGeometry:()=>Ou,PositionalAudio:()=>Dd,PropertyBinding:()=>Gd,PropertyMixer:()=>Fd,QuadraticBezierCurve:()=>ac,QuadraticBezierCurve3:()=>oc,Quaternion:()=>rr,QuaternionKeyframeTrack:()=>wh,QuaternionLinearInterpolant:()=>vh,REVISION:()=>r,RGBADepthPacking:()=>Ze,RGBAFormat:()=>Pt,RGBAIntegerFormat:()=>Xt,RGBA_ASTC_10x10_Format:()=>ye,RGBA_ASTC_10x5_Format:()=>fe,RGBA_ASTC_10x6_Format:()=>me,RGBA_ASTC_10x8_Format:()=>ge,RGBA_ASTC_12x10_Format:()=>xe,RGBA_ASTC_12x12_Format:()=>be,RGBA_ASTC_4x4_Format:()=>ae,RGBA_ASTC_5x4_Format:()=>oe,RGBA_ASTC_5x5_Format:()=>le,RGBA_ASTC_6x5_Format:()=>ue,RGBA_ASTC_6x6_Format:()=>ce,RGBA_ASTC_8x5_Format:()=>he,RGBA_ASTC_8x6_Format:()=>de,RGBA_ASTC_8x8_Format:()=>pe,RGBA_BPTC_Format:()=>ve,RGBA_ETC2_EAC_Format:()=>ie,RGBA_PVRTC_2BPPV1_Format:()=>ne,RGBA_PVRTC_4BPPV1_Format:()=>ee,RGBA_S3TC_DXT1_Format:()=>Yt,RGBA_S3TC_DXT3_Format:()=>Jt,RGBA_S3TC_DXT5_Format:()=>Zt,RGBFormat:()=>Ot,RGBIntegerFormat:()=>qt,RGB_ETC1_Format:()=>re,RGB_ETC2_Format:()=>se,RGB_PVRTC_2BPPV1_Format:()=>te,RGB_PVRTC_4BPPV1_Format:()=>Qt,RGB_S3TC_DXT1_Format:()=>Kt,RGFormat:()=>Gt,RGIntegerFormat:()=>jt,RawShaderMaterial:()=>Gi,Ray:()=>Lr,Raycaster:()=>Zd,RectAreaLight:()=>td,RedFormat:()=>Wt,RedIntegerFormat:()=>Ht,ReinhardToneMapping:()=>tt,RepeatWrapping:()=>ht,ReplaceStencilOp:()=>rn,ReverseSubtractEquation:()=>E,RingBufferGeometry:()=>Gc,RingGeometry:()=>Gc,SRGB8_ALPHA8_ASTC_10x10_Format:()=>Re,SRGB8_ALPHA8_ASTC_10x5_Format:()=>Ce,SRGB8_ALPHA8_ASTC_10x6_Format:()=>Ne,SRGB8_ALPHA8_ASTC_10x8_Format:()=>Ae,SRGB8_ALPHA8_ASTC_12x10_Format:()=>De,SRGB8_ALPHA8_ASTC_12x12_Format:()=>Le,SRGB8_ALPHA8_ASTC_4x4_Format:()=>we,SRGB8_ALPHA8_ASTC_5x4_Format:()=>Se,SRGB8_ALPHA8_ASTC_5x5_Format:()=>Te,SRGB8_ALPHA8_ASTC_6x5_Format:()=>_e,SRGB8_ALPHA8_ASTC_6x6_Format:()=>Me,SRGB8_ALPHA8_ASTC_8x5_Format:()=>ke,SRGB8_ALPHA8_ASTC_8x6_Format:()=>Ee,SRGB8_ALPHA8_ASTC_8x8_Format:()=>Ie,Scene:()=>kl,SceneUtils:()=>Tf,ShaderChunk:()=>Fi,ShaderLib:()=>Oi,ShaderMaterial:()=>xi,ShadowMaterial:()=>eh,Shape:()=>dc,ShapeBufferGeometry:()=>jc,ShapeGeometry:()=>jc,ShapePath:()=>zp,ShapeUtils:()=>Oc,ShortType:()=>kt,Skeleton:()=>iu,SkeletonHelper:()=>pp,SkinnedMesh:()=>tu,SmoothShading:()=>x,Sphere:()=>kr,SphereBufferGeometry:()=>qc,SphereGeometry:()=>qc,Spherical:()=>ep,SphericalHarmonics3:()=>ed,SplineCurve:()=>lc,SpotLight:()=>Gh,SpotLightHelper:()=>up,Sprite:()=>Hl,SpriteMaterial:()=>Nl,SrcAlphaFactor:()=>L,SrcAlphaSaturateFactor:()=>B,SrcColorFactor:()=>R,StaticCopyUsage:()=>_n,StaticDrawUsage:()=>xn,StaticReadUsage:()=>wn,StereoCamera:()=>vd,StreamCopyUsage:()=>kn,StreamDrawUsage:()=>vn,StreamReadUsage:()=>Tn,StringKeyframeTrack:()=>Sh,SubtractEquation:()=>k,SubtractiveBlending:()=>S,TOUCH:()=>i,TangentSpaceNormalMap:()=>Qe,TetrahedronBufferGeometry:()=>Xc,TetrahedronGeometry:()=>Xc,TextGeometry:()=>kf,Texture:()=>Jn,TextureLoader:()=>Oh,TorusBufferGeometry:()=>Kc,TorusGeometry:()=>Kc,TorusKnotBufferGeometry:()=>Yc,TorusKnotGeometry:()=>Yc,Triangle:()=>ys,TriangleFanDrawMode:()=>Xe,TriangleStripDrawMode:()=>qe,TrianglesDrawMode:()=>je,TubeBufferGeometry:()=>Jc,TubeGeometry:()=>Jc,UVMapping:()=>st,Uint16Attribute:()=>uf,Uint16BufferAttribute:()=>Fs,Uint32Attribute:()=>hf,Uint32BufferAttribute:()=>Os,Uint8Attribute:()=>af,Uint8BufferAttribute:()=>Rs,Uint8ClampedAttribute:()=>of,Uint8ClampedBufferAttribute:()=>Ds,Uniform:()=>Kd,UniformsLib:()=>$i,UniformsUtils:()=>yi,UnsignedByteType:()=>_t,UnsignedInt248Type:()=>Ft,UnsignedIntType:()=>Ct,UnsignedShort4444Type:()=>Rt,UnsignedShort5551Type:()=>Dt,UnsignedShort565Type:()=>Lt,UnsignedShortType:()=>Et,VSMShadowMap:()=>p,Vector2:()=>Vn,Vector3:()=>sr,Vector4:()=>Qn,VectorKeyframeTrack:()=>Th,Vertex:()=>nf,VertexColors:()=>qp,VideoTexture:()=>Nu,WebGL1Renderer:()=>Tl,WebGLCubeRenderTarget:()=>_i,WebGLMultipleRenderTargets:()=>er,WebGLMultisampleRenderTarget:()=>nr,WebGLRenderTarget:()=>tr,WebGLRenderTargetCube:()=>vf,WebGLRenderer:()=>Sl,WebGLUtils:()=>fl,WireframeGeometry:()=>Zc,WireframeHelper:()=>yf,WrapAroundEnding:()=>We,XHRLoader:()=>xf,ZeroCurvatureEnding:()=>Ue,ZeroFactor:()=>N,ZeroSlopeEnding:()=>Ve,ZeroStencilOp:()=>en,sRGBEncoding:()=>Ye});const r="136",s={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},a=0,o=1,l=2,u=3,c=0,h=1,d=2,p=3,f=0,m=1,g=2,y=1,x=2,b=0,v=1,w=2,S=3,T=4,_=5,M=100,k=101,E=102,I=103,C=104,N=200,A=201,R=202,D=203,L=204,F=205,$=206,O=207,P=208,z=209,B=210,U=0,V=1,W=2,H=3,G=4,j=5,q=6,X=7,K=0,Y=1,J=2,Z=0,Q=1,tt=2,et=3,nt=4,rt=5,st=300,it=301,at=302,ot=303,lt=304,ut=306,ct=307,ht=1e3,dt=1001,pt=1002,ft=1003,mt=1004,gt=1004,yt=1005,xt=1005,bt=1006,vt=1007,wt=1007,St=1008,Tt=1008,_t=1009,Mt=1010,kt=1011,Et=1012,It=1013,Ct=1014,Nt=1015,At=1016,Rt=1017,Dt=1018,Lt=1019,Ft=1020,$t=1021,Ot=1022,Pt=1023,zt=1024,Bt=1025,Ut=1026,Vt=1027,Wt=1028,Ht=1029,Gt=1030,jt=1031,qt=1032,Xt=1033,Kt=33776,Yt=33777,Jt=33778,Zt=33779,Qt=35840,te=35841,ee=35842,ne=35843,re=36196,se=37492,ie=37496,ae=37808,oe=37809,le=37810,ue=37811,ce=37812,he=37813,de=37814,pe=37815,fe=37816,me=37817,ge=37818,ye=37819,xe=37820,be=37821,ve=36492,we=37840,Se=37841,Te=37842,_e=37843,Me=37844,ke=37845,Ee=37846,Ie=37847,Ce=37848,Ne=37849,Ae=37850,Re=37851,De=37852,Le=37853,Fe=2200,$e=2201,Oe=2202,Pe=2300,ze=2301,Be=2302,Ue=2400,Ve=2401,We=2402,He=2500,Ge=2501,je=0,qe=1,Xe=2,Ke=3e3,Ye=3001,Je=3200,Ze=3201,Qe=0,tn=1,en=0,nn=7680,rn=7681,sn=7682,an=7683,on=34055,ln=34056,un=5386,cn=512,hn=513,dn=514,pn=515,fn=516,mn=517,gn=518,yn=519,xn=35044,bn=35048,vn=35040,wn=35045,Sn=35049,Tn=35041,_n=35046,Mn=35050,kn=35042,En="100",In="300 es";class Cn{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,r=n.length;e>8&255]+Nn[t>>16&255]+Nn[t>>24&255]+"-"+Nn[255&e]+Nn[e>>8&255]+"-"+Nn[e>>16&15|64]+Nn[e>>24&255]+"-"+Nn[63&n|128]+Nn[n>>8&255]+"-"+Nn[n>>16&255]+Nn[n>>24&255]+Nn[255&r]+Nn[r>>8&255]+Nn[r>>16&255]+Nn[r>>24&255]).toUpperCase()}function Fn(t,e,n){return Math.max(e,Math.min(n,t))}function $n(t,e){return(t%e+e)%e}function On(t,e,n){return(1-n)*t+n*e}function Pn(t){return 0==(t&t-1)&&0!==t}function zn(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function Bn(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var Un=Object.freeze({__proto__:null,DEG2RAD:Rn,RAD2DEG:Dn,generateUUID:Ln,clamp:Fn,euclideanModulo:$n,mapLinear:function(t,e,n,r,s){return r+(t-e)*(s-r)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:On,damp:function(t,e,n,r){return On(t,e,1-Math.exp(-n*r))},pingpong:function(t,e=1){return e-Math.abs($n(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(An=t%2147483647),An=16807*An%2147483647,(An-1)/2147483646},degToRad:function(t){return t*Rn},radToDeg:function(t){return t*Dn},isPowerOfTwo:Pn,ceilPowerOfTwo:zn,floorPowerOfTwo:Bn,setQuaternionFromProperEuler:function(t,e,n,r,s){const i=Math.cos,a=Math.sin,o=i(n/2),l=a(n/2),u=i((e+r)/2),c=a((e+r)/2),h=i((e-r)/2),d=a((e-r)/2),p=i((r-e)/2),f=a((r-e)/2);switch(s){case"XYX":t.set(o*c,l*h,l*d,o*u);break;case"YZY":t.set(l*d,o*c,l*h,o*u);break;case"ZXZ":t.set(l*h,l*d,o*c,o*u);break;case"XZX":t.set(o*c,l*f,l*p,o*u);break;case"YXY":t.set(l*p,o*c,l*f,o*u);break;case"ZYZ":t.set(l*f,l*p,o*c,o*u);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+s)}}});class Vn{constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6],this.y=r[1]*e+r[4]*n+r[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),r=Math.sin(e),s=this.x-t.x,i=this.y-t.y;return this.x=s*n-i*r+t.x,this.y=s*r+i*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}Vn.prototype.isVector2=!0;class Wn{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,r,s,i,a,o,l){const u=this.elements;return u[0]=t,u[1]=r,u[2]=a,u[3]=e,u[4]=s,u[5]=o,u[6]=n,u[7]=i,u[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,r=e.elements,s=this.elements,i=n[0],a=n[3],o=n[6],l=n[1],u=n[4],c=n[7],h=n[2],d=n[5],p=n[8],f=r[0],m=r[3],g=r[6],y=r[1],x=r[4],b=r[7],v=r[2],w=r[5],S=r[8];return s[0]=i*f+a*y+o*v,s[3]=i*m+a*x+o*w,s[6]=i*g+a*b+o*S,s[1]=l*f+u*y+c*v,s[4]=l*m+u*x+c*w,s[7]=l*g+u*b+c*S,s[2]=h*f+d*y+p*v,s[5]=h*m+d*x+p*w,s[8]=h*g+d*b+p*S,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],r=t[2],s=t[3],i=t[4],a=t[5],o=t[6],l=t[7],u=t[8];return e*i*u-e*a*l-n*s*u+n*a*o+r*s*l-r*i*o}invert(){const t=this.elements,e=t[0],n=t[1],r=t[2],s=t[3],i=t[4],a=t[5],o=t[6],l=t[7],u=t[8],c=u*i-a*l,h=a*o-u*s,d=l*s-i*o,p=e*c+n*h+r*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;return t[0]=c*f,t[1]=(r*l-u*n)*f,t[2]=(a*n-r*i)*f,t[3]=h*f,t[4]=(u*e-r*o)*f,t[5]=(r*s-a*e)*f,t[6]=d*f,t[7]=(n*o-l*e)*f,t[8]=(i*e-n*s)*f,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,r,s,i,a){const o=Math.cos(s),l=Math.sin(s);return this.set(n*o,n*l,-n*(o*i+l*a)+i+t,-r*l,r*o,-r*(-l*i+o*a)+a+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),r=this.elements,s=r[0],i=r[3],a=r[6],o=r[1],l=r[4],u=r[7];return r[0]=e*s+n*o,r[3]=e*i+n*l,r[6]=e*a+n*u,r[1]=-n*s+e*o,r[4]=-n*i+e*l,r[7]=-n*a+e*u,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}function Hn(t){if(0===t.length)return-1/0;let e=t[0];for(let n=1,r=t.length;ne&&(e=t[n]);return e}Wn.prototype.isMatrix3=!0;const Gn={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function jn(t,e){return new Gn[t](e)}function qn(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}let Xn;class Kn{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===Xn&&(Xn=qn("canvas")),Xn.width=t.width,Xn.height=t.height;const n=Xn.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=Xn}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}}let Yn=0;class Jn extends Cn{constructor(t=Jn.DEFAULT_IMAGE,e=Jn.DEFAULT_MAPPING,n=dt,r=dt,s=bt,i=St,a=Pt,o=_t,l=1,u=Ke){super(),Object.defineProperty(this,"id",{value:Yn++}),this.uuid=Ln(),this.name="",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=r,this.magFilter=s,this.minFilter=i,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new Vn(0,0),this.repeat=new Vn(1,1),this.center=new Vn(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Wn,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=u,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this.userData=JSON.parse(JSON.stringify(t.userData)),this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const r=this.image;if(void 0===r.uuid&&(r.uuid=Ln()),!e&&void 0===t.images[r.uuid]){let e;if(Array.isArray(r)){e=[];for(let t=0,n=r.length;t1)switch(this.wrapS){case ht:t.x=t.x-Math.floor(t.x);break;case dt:t.x=t.x<0?0:1;break;case pt:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case ht:t.y=t.y-Math.floor(t.y);break;case dt:t.y=t.y<0?0:1;break;case pt:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&this.version++}}function Zn(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?Kn.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}Jn.DEFAULT_IMAGE=void 0,Jn.DEFAULT_MAPPING=st,Jn.prototype.isTexture=!0;class Qn{constructor(t=0,e=0,n=0,r=1){this.x=t,this.y=e,this.z=n,this.w=r}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,r){return this.x=t,this.y=e,this.z=n,this.w=r,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,r=this.z,s=this.w,i=t.elements;return this.x=i[0]*e+i[4]*n+i[8]*r+i[12]*s,this.y=i[1]*e+i[5]*n+i[9]*r+i[13]*s,this.z=i[2]*e+i[6]*n+i[10]*r+i[14]*s,this.w=i[3]*e+i[7]*n+i[11]*r+i[15]*s,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,r,s;const i=.01,a=.1,o=t.elements,l=o[0],u=o[4],c=o[8],h=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(u-h)o&&t>y?ty?o=0?1:-1,r=1-e*e;if(r>Number.EPSILON){const s=Math.sqrt(r),i=Math.atan2(s,e*n);t=Math.sin(t*i)/s,a=Math.sin(a*i)/s}const s=a*n;if(o=o*t+h*s,l=l*t+d*s,u=u*t+p*s,c=c*t+f*s,t===1-a){const t=1/Math.sqrt(o*o+l*l+u*u+c*c);o*=t,l*=t,u*=t,c*=t}}t[e]=o,t[e+1]=l,t[e+2]=u,t[e+3]=c}static multiplyQuaternionsFlat(t,e,n,r,s,i){const a=n[r],o=n[r+1],l=n[r+2],u=n[r+3],c=s[i],h=s[i+1],d=s[i+2],p=s[i+3];return t[e]=a*p+u*c+o*d-l*h,t[e+1]=o*p+u*h+l*c-a*d,t[e+2]=l*p+u*d+a*h-o*c,t[e+3]=u*p-a*c-o*h-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,r){return this._x=t,this._y=e,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=t._x,r=t._y,s=t._z,i=t._order,a=Math.cos,o=Math.sin,l=a(n/2),u=a(r/2),c=a(s/2),h=o(n/2),d=o(r/2),p=o(s/2);switch(i){case"XYZ":this._x=h*u*c+l*d*p,this._y=l*d*c-h*u*p,this._z=l*u*p+h*d*c,this._w=l*u*c-h*d*p;break;case"YXZ":this._x=h*u*c+l*d*p,this._y=l*d*c-h*u*p,this._z=l*u*p-h*d*c,this._w=l*u*c+h*d*p;break;case"ZXY":this._x=h*u*c-l*d*p,this._y=l*d*c+h*u*p,this._z=l*u*p+h*d*c,this._w=l*u*c-h*d*p;break;case"ZYX":this._x=h*u*c-l*d*p,this._y=l*d*c+h*u*p,this._z=l*u*p-h*d*c,this._w=l*u*c+h*d*p;break;case"YZX":this._x=h*u*c+l*d*p,this._y=l*d*c+h*u*p,this._z=l*u*p-h*d*c,this._w=l*u*c-h*d*p;break;case"XZY":this._x=h*u*c-l*d*p,this._y=l*d*c-h*u*p,this._z=l*u*p+h*d*c,this._w=l*u*c+h*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+i)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,r=Math.sin(n);return this._x=t.x*r,this._y=t.y*r,this._z=t.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],r=e[4],s=e[8],i=e[1],a=e[5],o=e[9],l=e[2],u=e[6],c=e[10],h=n+a+c;if(h>0){const t=.5/Math.sqrt(h+1);this._w=.25/t,this._x=(u-o)*t,this._y=(s-l)*t,this._z=(i-r)*t}else if(n>a&&n>c){const t=2*Math.sqrt(1+n-a-c);this._w=(u-o)/t,this._x=.25*t,this._y=(r+i)/t,this._z=(s+l)/t}else if(a>c){const t=2*Math.sqrt(1+a-n-c);this._w=(s-l)/t,this._x=(r+i)/t,this._y=.25*t,this._z=(o+u)/t}else{const t=2*Math.sqrt(1+c-n-a);this._w=(i-r)/t,this._x=(s+l)/t,this._y=(o+u)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Fn(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const r=Math.min(1,e/n);return this.slerp(t,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,r=t._y,s=t._z,i=t._w,a=e._x,o=e._y,l=e._z,u=e._w;return this._x=n*u+i*a+r*l-s*o,this._y=r*u+i*o+s*a-n*l,this._z=s*u+i*l+n*o-r*a,this._w=i*u-n*a-r*o-s*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,r=this._y,s=this._z,i=this._w;let a=i*t._w+n*t._x+r*t._y+s*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=i,this._x=n,this._y=r,this._z=s,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*i+e*this._w,this._x=t*n+e*this._x,this._y=t*r+e*this._y,this._z=t*s+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),u=Math.atan2(l,a),c=Math.sin((1-e)*u)/l,h=Math.sin(e*u)/l;return this._w=i*c+this._w*h,this._x=n*c+this._x*h,this._y=r*c+this._y*h,this._z=s*c+this._z*h,this._onChangeCallback(),this}slerpQuaternions(t,e,n){this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(e*Math.cos(r),n*Math.sin(s),n*Math.cos(s),e*Math.sin(r))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}rr.prototype.isQuaternion=!0;class sr{constructor(t=0,e=0,n=0){this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(ar.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ar.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,r=this.z,s=t.elements;return this.x=s[0]*e+s[3]*n+s[6]*r,this.y=s[1]*e+s[4]*n+s[7]*r,this.z=s[2]*e+s[5]*n+s[8]*r,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,r=this.z,s=t.elements,i=1/(s[3]*e+s[7]*n+s[11]*r+s[15]);return this.x=(s[0]*e+s[4]*n+s[8]*r+s[12])*i,this.y=(s[1]*e+s[5]*n+s[9]*r+s[13])*i,this.z=(s[2]*e+s[6]*n+s[10]*r+s[14])*i,this}applyQuaternion(t){const e=this.x,n=this.y,r=this.z,s=t.x,i=t.y,a=t.z,o=t.w,l=o*e+i*r-a*n,u=o*n+a*e-s*r,c=o*r+s*n-i*e,h=-s*e-i*n-a*r;return this.x=l*o+h*-s+u*-a-c*-i,this.y=u*o+h*-i+c*-s-l*-a,this.z=c*o+h*-a+l*-i-u*-s,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,r=this.z,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*r,this.y=s[1]*e+s[5]*n+s[9]*r,this.z=s[2]*e+s[6]*n+s[10]*r,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,r=t.y,s=t.z,i=e.x,a=e.y,o=e.z;return this.x=r*o-s*a,this.y=s*i-n*o,this.z=n*a-r*i,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return ir.copy(this).projectOnVector(t),this.sub(ir)}reflect(t){return this.sub(ir.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Fn(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,r=this.z-t.z;return e*e+n*n+r*r}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const r=Math.sin(e)*t;return this.x=r*Math.sin(n),this.y=Math.cos(e)*t,this.z=r*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),r=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=r,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}sr.prototype.isVector3=!0;const ir=new sr,ar=new rr;class or{constructor(t=new sr(1/0,1/0,1/0),e=new sr(-1/0,-1/0,-1/0)){this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,r=1/0,s=-1/0,i=-1/0,a=-1/0;for(let o=0,l=t.length;os&&(s=l),u>i&&(i=u),c>a&&(a=c)}return this.min.set(e,n,r),this.max.set(s,i,a),this}setFromBufferAttribute(t){let e=1/0,n=1/0,r=1/0,s=-1/0,i=-1/0,a=-1/0;for(let o=0,l=t.count;os&&(s=l),u>i&&(i=u),c>a&&(a=c)}return this.min.set(e,n,r),this.max.set(s,i,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,ur),ur.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(yr),xr.subVectors(this.max,yr),hr.subVectors(t.a,yr),dr.subVectors(t.b,yr),pr.subVectors(t.c,yr),fr.subVectors(dr,hr),mr.subVectors(pr,dr),gr.subVectors(hr,pr);let e=[0,-fr.z,fr.y,0,-mr.z,mr.y,0,-gr.z,gr.y,fr.z,0,-fr.x,mr.z,0,-mr.x,gr.z,0,-gr.x,-fr.y,fr.x,0,-mr.y,mr.x,0,-gr.y,gr.x,0];return!!wr(e,hr,dr,pr,xr)&&(e=[1,0,0,0,1,0,0,0,1],!!wr(e,hr,dr,pr,xr)&&(br.crossVectors(fr,mr),e=[br.x,br.y,br.z],wr(e,hr,dr,pr,xr)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return ur.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(ur).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(lr[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),lr[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),lr[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),lr[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),lr[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),lr[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),lr[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),lr[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(lr)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}or.prototype.isBox3=!0;const lr=[new sr,new sr,new sr,new sr,new sr,new sr,new sr,new sr],ur=new sr,cr=new or,hr=new sr,dr=new sr,pr=new sr,fr=new sr,mr=new sr,gr=new sr,yr=new sr,xr=new sr,br=new sr,vr=new sr;function wr(t,e,n,r,s){for(let i=0,a=t.length-3;i<=a;i+=3){vr.fromArray(t,i);const a=s.x*Math.abs(vr.x)+s.y*Math.abs(vr.y)+s.z*Math.abs(vr.z),o=e.dot(vr),l=n.dot(vr),u=r.dot(vr);if(Math.max(-Math.max(o,l,u),Math.min(o,l,u))>a)return!1}return!0}const Sr=new or,Tr=new sr,_r=new sr,Mr=new sr;class kr{constructor(t=new sr,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Sr.setFromPoints(t).getCenter(n);let r=0;for(let e=0,s=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){Mr.subVectors(t,this.center);const e=Mr.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.add(Mr.multiplyScalar(n/t)),this.radius+=n}return this}union(t){return!0===this.center.equals(t.center)?_r.set(0,0,1).multiplyScalar(t.radius):_r.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(Tr.copy(t.center).add(_r)),this.expandByPoint(Tr.copy(t.center).sub(_r)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Er=new sr,Ir=new sr,Cr=new sr,Nr=new sr,Ar=new sr,Rr=new sr,Dr=new sr;class Lr{constructor(t=new sr,e=new sr(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Er)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Er.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Er.copy(this.direction).multiplyScalar(e).add(this.origin),Er.distanceToSquared(t))}distanceSqToSegment(t,e,n,r){Ir.copy(t).add(e).multiplyScalar(.5),Cr.copy(e).sub(t).normalize(),Nr.copy(this.origin).sub(Ir);const s=.5*t.distanceTo(e),i=-this.direction.dot(Cr),a=Nr.dot(this.direction),o=-Nr.dot(Cr),l=Nr.lengthSq(),u=Math.abs(1-i*i);let c,h,d,p;if(u>0)if(c=i*o-a,h=i*a-o,p=s*u,c>=0)if(h>=-p)if(h<=p){const t=1/u;c*=t,h*=t,d=c*(c+i*h+2*a)+h*(i*c+h+2*o)+l}else h=s,c=Math.max(0,-(i*h+a)),d=-c*c+h*(h+2*o)+l;else h=-s,c=Math.max(0,-(i*h+a)),d=-c*c+h*(h+2*o)+l;else h<=-p?(c=Math.max(0,-(-i*s+a)),h=c>0?-s:Math.min(Math.max(-s,-o),s),d=-c*c+h*(h+2*o)+l):h<=p?(c=0,h=Math.min(Math.max(-s,-o),s),d=h*(h+2*o)+l):(c=Math.max(0,-(i*s+a)),h=c>0?s:Math.min(Math.max(-s,-o),s),d=-c*c+h*(h+2*o)+l);else h=i>0?-s:s,c=Math.max(0,-(i*h+a)),d=-c*c+h*(h+2*o)+l;return n&&n.copy(this.direction).multiplyScalar(c).add(this.origin),r&&r.copy(Cr).multiplyScalar(h).add(Ir),d}intersectSphere(t,e){Er.subVectors(t.center,this.origin);const n=Er.dot(this.direction),r=Er.dot(Er)-n*n,s=t.radius*t.radius;if(r>s)return null;const i=Math.sqrt(s-r),a=n-i,o=n+i;return a<0&&o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,r,s,i,a,o;const l=1/this.direction.x,u=1/this.direction.y,c=1/this.direction.z,h=this.origin;return l>=0?(n=(t.min.x-h.x)*l,r=(t.max.x-h.x)*l):(n=(t.max.x-h.x)*l,r=(t.min.x-h.x)*l),u>=0?(s=(t.min.y-h.y)*u,i=(t.max.y-h.y)*u):(s=(t.max.y-h.y)*u,i=(t.min.y-h.y)*u),n>i||s>r?null:((s>n||n!=n)&&(n=s),(i=0?(a=(t.min.z-h.z)*c,o=(t.max.z-h.z)*c):(a=(t.max.z-h.z)*c,o=(t.min.z-h.z)*c),n>o||a>r?null:((a>n||n!=n)&&(n=a),(o=0?n:r,e)))}intersectsBox(t){return null!==this.intersectBox(t,Er)}intersectTriangle(t,e,n,r,s){Ar.subVectors(e,t),Rr.subVectors(n,t),Dr.crossVectors(Ar,Rr);let i,a=this.direction.dot(Dr);if(a>0){if(r)return null;i=1}else{if(!(a<0))return null;i=-1,a=-a}Nr.subVectors(this.origin,t);const o=i*this.direction.dot(Rr.crossVectors(Nr,Rr));if(o<0)return null;const l=i*this.direction.dot(Ar.cross(Nr));if(l<0)return null;if(o+l>a)return null;const u=-i*Nr.dot(Dr);return u<0?null:this.at(u/a,s)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Fr{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,r,s,i,a,o,l,u,c,h,d,p,f,m){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=r,g[1]=s,g[5]=i,g[9]=a,g[13]=o,g[2]=l,g[6]=u,g[10]=c,g[14]=h,g[3]=d,g[7]=p,g[11]=f,g[15]=m,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new Fr).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,r=1/$r.setFromMatrixColumn(t,0).length(),s=1/$r.setFromMatrixColumn(t,1).length(),i=1/$r.setFromMatrixColumn(t,2).length();return e[0]=n[0]*r,e[1]=n[1]*r,e[2]=n[2]*r,e[3]=0,e[4]=n[4]*s,e[5]=n[5]*s,e[6]=n[6]*s,e[7]=0,e[8]=n[8]*i,e[9]=n[9]*i,e[10]=n[10]*i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,n=t.x,r=t.y,s=t.z,i=Math.cos(n),a=Math.sin(n),o=Math.cos(r),l=Math.sin(r),u=Math.cos(s),c=Math.sin(s);if("XYZ"===t.order){const t=i*u,n=i*c,r=a*u,s=a*c;e[0]=o*u,e[4]=-o*c,e[8]=l,e[1]=n+r*l,e[5]=t-s*l,e[9]=-a*o,e[2]=s-t*l,e[6]=r+n*l,e[10]=i*o}else if("YXZ"===t.order){const t=o*u,n=o*c,r=l*u,s=l*c;e[0]=t+s*a,e[4]=r*a-n,e[8]=i*l,e[1]=i*c,e[5]=i*u,e[9]=-a,e[2]=n*a-r,e[6]=s+t*a,e[10]=i*o}else if("ZXY"===t.order){const t=o*u,n=o*c,r=l*u,s=l*c;e[0]=t-s*a,e[4]=-i*c,e[8]=r+n*a,e[1]=n+r*a,e[5]=i*u,e[9]=s-t*a,e[2]=-i*l,e[6]=a,e[10]=i*o}else if("ZYX"===t.order){const t=i*u,n=i*c,r=a*u,s=a*c;e[0]=o*u,e[4]=r*l-n,e[8]=t*l+s,e[1]=o*c,e[5]=s*l+t,e[9]=n*l-r,e[2]=-l,e[6]=a*o,e[10]=i*o}else if("YZX"===t.order){const t=i*o,n=i*l,r=a*o,s=a*l;e[0]=o*u,e[4]=s-t*c,e[8]=r*c+n,e[1]=c,e[5]=i*u,e[9]=-a*u,e[2]=-l*u,e[6]=n*c+r,e[10]=t-s*c}else if("XZY"===t.order){const t=i*o,n=i*l,r=a*o,s=a*l;e[0]=o*u,e[4]=-c,e[8]=l*u,e[1]=t*c+s,e[5]=i*u,e[9]=n*c-r,e[2]=r*c-n,e[6]=a*u,e[10]=s*c+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Pr,t,zr)}lookAt(t,e,n){const r=this.elements;return Vr.subVectors(t,e),0===Vr.lengthSq()&&(Vr.z=1),Vr.normalize(),Br.crossVectors(n,Vr),0===Br.lengthSq()&&(1===Math.abs(n.z)?Vr.x+=1e-4:Vr.z+=1e-4,Vr.normalize(),Br.crossVectors(n,Vr)),Br.normalize(),Ur.crossVectors(Vr,Br),r[0]=Br.x,r[4]=Ur.x,r[8]=Vr.x,r[1]=Br.y,r[5]=Ur.y,r[9]=Vr.y,r[2]=Br.z,r[6]=Ur.z,r[10]=Vr.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,r=e.elements,s=this.elements,i=n[0],a=n[4],o=n[8],l=n[12],u=n[1],c=n[5],h=n[9],d=n[13],p=n[2],f=n[6],m=n[10],g=n[14],y=n[3],x=n[7],b=n[11],v=n[15],w=r[0],S=r[4],T=r[8],_=r[12],M=r[1],k=r[5],E=r[9],I=r[13],C=r[2],N=r[6],A=r[10],R=r[14],D=r[3],L=r[7],F=r[11],$=r[15];return s[0]=i*w+a*M+o*C+l*D,s[4]=i*S+a*k+o*N+l*L,s[8]=i*T+a*E+o*A+l*F,s[12]=i*_+a*I+o*R+l*$,s[1]=u*w+c*M+h*C+d*D,s[5]=u*S+c*k+h*N+d*L,s[9]=u*T+c*E+h*A+d*F,s[13]=u*_+c*I+h*R+d*$,s[2]=p*w+f*M+m*C+g*D,s[6]=p*S+f*k+m*N+g*L,s[10]=p*T+f*E+m*A+g*F,s[14]=p*_+f*I+m*R+g*$,s[3]=y*w+x*M+b*C+v*D,s[7]=y*S+x*k+b*N+v*L,s[11]=y*T+x*E+b*A+v*F,s[15]=y*_+x*I+b*R+v*$,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],r=t[8],s=t[12],i=t[1],a=t[5],o=t[9],l=t[13],u=t[2],c=t[6],h=t[10],d=t[14];return t[3]*(+s*o*c-r*l*c-s*a*h+n*l*h+r*a*d-n*o*d)+t[7]*(+e*o*d-e*l*h+s*i*h-r*i*d+r*l*u-s*o*u)+t[11]*(+e*l*c-e*a*d-s*i*c+n*i*d+s*a*u-n*l*u)+t[15]*(-r*a*u-e*o*c+e*a*h+r*i*c-n*i*h+n*o*u)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const r=this.elements;return t.isVector3?(r[12]=t.x,r[13]=t.y,r[14]=t.z):(r[12]=t,r[13]=e,r[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],r=t[2],s=t[3],i=t[4],a=t[5],o=t[6],l=t[7],u=t[8],c=t[9],h=t[10],d=t[11],p=t[12],f=t[13],m=t[14],g=t[15],y=c*m*l-f*h*l+f*o*d-a*m*d-c*o*g+a*h*g,x=p*h*l-u*m*l-p*o*d+i*m*d+u*o*g-i*h*g,b=u*f*l-p*c*l+p*a*d-i*f*d-u*a*g+i*c*g,v=p*c*o-u*f*o-p*a*h+i*f*h+u*a*m-i*c*m,w=e*y+n*x+r*b+s*v;if(0===w)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/w;return t[0]=y*S,t[1]=(f*h*s-c*m*s-f*r*d+n*m*d+c*r*g-n*h*g)*S,t[2]=(a*m*s-f*o*s+f*r*l-n*m*l-a*r*g+n*o*g)*S,t[3]=(c*o*s-a*h*s-c*r*l+n*h*l+a*r*d-n*o*d)*S,t[4]=x*S,t[5]=(u*m*s-p*h*s+p*r*d-e*m*d-u*r*g+e*h*g)*S,t[6]=(p*o*s-i*m*s-p*r*l+e*m*l+i*r*g-e*o*g)*S,t[7]=(i*h*s-u*o*s+u*r*l-e*h*l-i*r*d+e*o*d)*S,t[8]=b*S,t[9]=(p*c*s-u*f*s-p*n*d+e*f*d+u*n*g-e*c*g)*S,t[10]=(i*f*s-p*a*s+p*n*l-e*f*l-i*n*g+e*a*g)*S,t[11]=(u*a*s-i*c*s-u*n*l+e*c*l+i*n*d-e*a*d)*S,t[12]=v*S,t[13]=(u*f*r-p*c*r+p*n*h-e*f*h-u*n*m+e*c*m)*S,t[14]=(p*a*r-i*f*r-p*n*o+e*f*o+i*n*m-e*a*m)*S,t[15]=(i*c*r-u*a*r+u*n*o-e*c*o-i*n*h+e*a*h)*S,this}scale(t){const e=this.elements,n=t.x,r=t.y,s=t.z;return e[0]*=n,e[4]*=r,e[8]*=s,e[1]*=n,e[5]*=r,e[9]*=s,e[2]*=n,e[6]*=r,e[10]*=s,e[3]*=n,e[7]*=r,e[11]*=s,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],r=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,r))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),r=Math.sin(e),s=1-n,i=t.x,a=t.y,o=t.z,l=s*i,u=s*a;return this.set(l*i+n,l*a-r*o,l*o+r*a,0,l*a+r*o,u*a+n,u*o-r*i,0,l*o-r*a,u*o+r*i,s*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,r,s,i){return this.set(1,n,s,0,t,1,i,0,e,r,1,0,0,0,0,1),this}compose(t,e,n){const r=this.elements,s=e._x,i=e._y,a=e._z,o=e._w,l=s+s,u=i+i,c=a+a,h=s*l,d=s*u,p=s*c,f=i*u,m=i*c,g=a*c,y=o*l,x=o*u,b=o*c,v=n.x,w=n.y,S=n.z;return r[0]=(1-(f+g))*v,r[1]=(d+b)*v,r[2]=(p-x)*v,r[3]=0,r[4]=(d-b)*w,r[5]=(1-(h+g))*w,r[6]=(m+y)*w,r[7]=0,r[8]=(p+x)*S,r[9]=(m-y)*S,r[10]=(1-(h+f))*S,r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,this}decompose(t,e,n){const r=this.elements;let s=$r.set(r[0],r[1],r[2]).length();const i=$r.set(r[4],r[5],r[6]).length(),a=$r.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),t.x=r[12],t.y=r[13],t.z=r[14],Or.copy(this);const o=1/s,l=1/i,u=1/a;return Or.elements[0]*=o,Or.elements[1]*=o,Or.elements[2]*=o,Or.elements[4]*=l,Or.elements[5]*=l,Or.elements[6]*=l,Or.elements[8]*=u,Or.elements[9]*=u,Or.elements[10]*=u,e.setFromRotationMatrix(Or),n.x=s,n.y=i,n.z=a,this}makePerspective(t,e,n,r,s,i){void 0===i&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,o=2*s/(e-t),l=2*s/(n-r),u=(e+t)/(e-t),c=(n+r)/(n-r),h=-(i+s)/(i-s),d=-2*i*s/(i-s);return a[0]=o,a[4]=0,a[8]=u,a[12]=0,a[1]=0,a[5]=l,a[9]=c,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,r,s,i){const a=this.elements,o=1/(e-t),l=1/(n-r),u=1/(i-s),c=(e+t)*o,h=(n+r)*l,d=(i+s)*u;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-c,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-h,a[2]=0,a[6]=0,a[10]=-2*u,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}Fr.prototype.isMatrix4=!0;const $r=new sr,Or=new Fr,Pr=new sr(0,0,0),zr=new sr(1,1,1),Br=new sr,Ur=new sr,Vr=new sr,Wr=new Fr,Hr=new rr;class Gr{constructor(t=0,e=0,n=0,r=Gr.DefaultOrder){this._x=t,this._y=e,this._z=n,this._order=r}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,r=this._order){return this._x=t,this._y=e,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const r=t.elements,s=r[0],i=r[4],a=r[8],o=r[1],l=r[5],u=r[9],c=r[2],h=r[6],d=r[10];switch(e){case"XYZ":this._y=Math.asin(Fn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,d),this._z=Math.atan2(-i,s)):(this._x=Math.atan2(h,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Fn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-c,s),this._z=0);break;case"ZXY":this._x=Math.asin(Fn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-c,d),this._z=Math.atan2(-i,l)):(this._y=0,this._z=Math.atan2(o,s));break;case"ZYX":this._y=Math.asin(-Fn(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(h,d),this._z=Math.atan2(o,s)):(this._x=0,this._z=Math.atan2(-i,l));break;case"YZX":this._z=Math.asin(Fn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,l),this._y=Math.atan2(-c,s)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-Fn(i,-1,1)),Math.abs(i)<.9999999?(this._x=Math.atan2(h,l),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return Wr.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Wr,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Hr.setFromEuler(this),this.setFromQuaternion(Hr,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new sr(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Gr.prototype.isEuler=!0,Gr.DefaultOrder="XYZ",Gr.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class jr{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0){r.children=[];for(let e=0;e0){r.animations=[];for(let e=0;e0&&(n.geometries=e),r.length>0&&(n.materials=r),s.length>0&&(n.textures=s),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),u.length>0&&(n.animations=u)}return n.object=r,n;function i(t){const e=[];for(const n in t){const r=t[n];delete r.metadata,e.push(r)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(t,e,n,r,s){os.subVectors(r,e),ls.subVectors(n,e),us.subVectors(t,e);const i=os.dot(os),a=os.dot(ls),o=os.dot(us),l=ls.dot(ls),u=ls.dot(us),c=i*l-a*a;if(0===c)return s.set(-2,-1,-1);const h=1/c,d=(l*o-a*u)*h,p=(i*u-a*o)*h;return s.set(1-d-p,p,d)}static containsPoint(t,e,n,r){return this.getBarycoord(t,e,n,r,cs),cs.x>=0&&cs.y>=0&&cs.x+cs.y<=1}static getUV(t,e,n,r,s,i,a,o){return this.getBarycoord(t,e,n,r,cs),o.set(0,0),o.addScaledVector(s,cs.x),o.addScaledVector(i,cs.y),o.addScaledVector(a,cs.z),o}static isFrontFacing(t,e,n,r){return os.subVectors(n,e),ls.subVectors(t,e),os.cross(ls).dot(r)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,r){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[r]),this}setFromAttributeAndIndices(t,e,n,r){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,r),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return os.subVectors(this.c,this.b),ls.subVectors(this.a,this.b),.5*os.cross(ls).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return ys.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return ys.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,r,s){return ys.getUV(t,this.a,this.b,this.c,e,n,r,s)}containsPoint(t){return ys.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return ys.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,r=this.b,s=this.c;let i,a;hs.subVectors(r,n),ds.subVectors(s,n),fs.subVectors(t,n);const o=hs.dot(fs),l=ds.dot(fs);if(o<=0&&l<=0)return e.copy(n);ms.subVectors(t,r);const u=hs.dot(ms),c=ds.dot(ms);if(u>=0&&c<=u)return e.copy(r);const h=o*c-u*l;if(h<=0&&o>=0&&u<=0)return i=o/(o-u),e.copy(n).addScaledVector(hs,i);gs.subVectors(t,s);const d=hs.dot(gs),p=ds.dot(gs);if(p>=0&&d<=p)return e.copy(s);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(ds,a);const m=u*p-d*c;if(m<=0&&c-u>=0&&d-p>=0)return ps.subVectors(s,r),a=(c-u)/(c-u+(d-p)),e.copy(r).addScaledVector(ps,a);const g=1/(m+f+h);return i=f*g,a=h*g,e.copy(n).addScaledVector(hs,i).addScaledVector(ds,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let xs=0;class bs extends Cn{constructor(){super(),Object.defineProperty(this,"id",{value:xs++}),this.uuid=Ln(),this.name="",this.type="Material",this.fog=!0,this.blending=v,this.side=f,this.vertexColors=!1,this.opacity=1,this.format=Pt,this.transparent=!1,this.blendSrc=L,this.blendDst=F,this.blendEquation=M,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=H,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=yn,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=nn,this.stencilZFail=nn,this.stencilZPass=nn,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn("THREE.Material: '"+e+"' parameter is undefined.");continue}if("shading"===e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===y;continue}const r=this[e];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function r(t){const e=[];for(const n in t){const r=t[n];delete r.metadata,e.push(r)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==v&&(n.blending=this.blending),this.side!==f&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.format!==Pt&&(n.format=this.format),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=r(t.textures),s=r(t.images);e.length>0&&(n.textures=e),s.length>0&&(n.images=s)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.format=t.format,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let r=0;r!==t;++r)n[r]=e[r].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}bs.prototype.isMaterial=!0;const vs={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ws={h:0,s:0,l:0},Ss={h:0,s:0,l:0};function Ts(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function _s(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Ms(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class ks{constructor(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=$n(t,1),e=Fn(e,0,1),n=Fn(n,0,1),0===e)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+e):n+e-n*e,s=2*n-r;this.r=Ts(s,r,t+1/3),this.g=Ts(s,r,t),this.b=Ts(s,r,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let t;const r=n[1],s=n[2];switch(r){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case"hsl":case"hsla":if(t=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s)){const n=parseFloat(t[1])/360,r=parseInt(t[2],10)/100,s=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,r,s)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=vs[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=_s(t.r),this.g=_s(t.g),this.b=_s(t.b),this}copyLinearToSRGB(t){return this.r=Ms(t.r),this.g=Ms(t.g),this.b=Ms(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){const e=this.r,n=this.g,r=this.b,s=Math.max(e,n,r),i=Math.min(e,n,r);let a,o;const l=(i+s)/2;if(i===s)a=0,o=0;else{const t=s-i;switch(o=l<=.5?t/(s+i):t/(2-s-i),s){case e:a=(n-r)/t+(n65535?Os:Fs)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new Wn).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const r=this.attributes.tangent;return void 0!==r&&(r.transformDirection(t),r.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return Vs.makeRotationFromQuaternion(t),this.applyMatrix4(Vs),this}rotateX(t){return Vs.makeRotationX(t),this.applyMatrix4(Vs),this}rotateY(t){return Vs.makeRotationY(t),this.applyMatrix4(Vs),this}rotateZ(t){return Vs.makeRotationZ(t),this.applyMatrix4(Vs),this}translate(t,e,n){return Vs.makeTranslation(t,e,n),this.applyMatrix4(Vs),this}scale(t,e,n){return Vs.makeScale(t,e,n),this.applyMatrix4(Vs),this}lookAt(t){return Ws.lookAt(t),Ws.updateMatrix(),this.applyMatrix4(Ws.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Hs).negate(),this.translate(Hs.x,Hs.y,Hs.z),this}setFromPoints(t){const e=[];for(let n=0,r=t.length;n0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const r=n[e];t.data.attributes[e]=r.toJSON(t.data)}const r={};let s=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],i=[];for(let e=0,r=n.length;e0&&(r[e]=i,s=!0)}s&&(t.data.morphAttributes=r,t.data.morphTargetsRelative=this.morphTargetsRelative);const i=this.groups;i.length>0&&(t.data.groups=JSON.parse(JSON.stringify(i)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const r=t.attributes;for(const t in r){const n=r[t];this.setAttribute(t,n.clone(e))}const s=t.morphAttributes;for(const t in s){const n=[],r=s[t];for(let t=0,s=r.length;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(t,e){const n=this.geometry,r=this.material,s=this.matrixWorld;if(void 0===r)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),Js.copy(n.boundingSphere),Js.applyMatrix4(s),!1===t.ray.intersectsSphere(Js))return;if(Ks.copy(s).invert(),Ys.copy(t.ray).applyMatrix4(Ks),null!==n.boundingBox&&!1===Ys.intersectsBox(n.boundingBox))return;let i;if(n.isBufferGeometry){const s=n.index,a=n.attributes.position,o=n.morphAttributes.position,l=n.morphTargetsRelative,u=n.attributes.uv,c=n.attributes.uv2,h=n.groups,d=n.drawRange;if(null!==s)if(Array.isArray(r))for(let n=0,p=h.length;nn.far?null:{distance:u,point:hi.clone(),object:t}}(t,e,n,r,Zs,Qs,ti,ci);if(p){o&&(oi.fromBufferAttribute(o,u),li.fromBufferAttribute(o,c),ui.fromBufferAttribute(o,h),p.uv=ys.getUV(ci,Zs,Qs,ti,oi,li,ui,new Vn)),l&&(oi.fromBufferAttribute(l,u),li.fromBufferAttribute(l,c),ui.fromBufferAttribute(l,h),p.uv2=ys.getUV(ci,Zs,Qs,ti,oi,li,ui,new Vn));const t={a:u,b:c,c:h,normal:new sr,materialIndex:0};ys.getNormal(Zs,Qs,ti,t.normal),p.face=t}return p}di.prototype.isMesh=!0;class fi extends Xs{constructor(t=1,e=1,n=1,r=1,s=1,i=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:r,heightSegments:s,depthSegments:i};const a=this;r=Math.floor(r),s=Math.floor(s),i=Math.floor(i);const o=[],l=[],u=[],c=[];let h=0,d=0;function p(t,e,n,r,s,i,p,f,m,g,y){const x=i/m,b=p/g,v=i/2,w=p/2,S=f/2,T=m+1,_=g+1;let M=0,k=0;const E=new sr;for(let i=0;i<_;i++){const a=i*b-w;for(let o=0;o0?1:-1,u.push(E.x,E.y,E.z),c.push(o/m),c.push(1-i/g),M+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}xi.prototype.isShaderMaterial=!0;class bi extends as{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new Fr,this.projectionMatrix=new Fr,this.projectionMatrixInverse=new Fr}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}bi.prototype.isCamera=!0;class vi extends bi{constructor(t=50,e=1,n=.1,r=2e3){super(),this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*Dn*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*Rn*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*Dn*Math.atan(Math.tan(.5*Rn*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,r,s,i){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=r,this.view.width=s,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*Rn*this.fov)/this.zoom,n=2*e,r=this.aspect*n,s=-.5*r;const i=this.view;if(null!==this.view&&this.view.enabled){const t=i.fullWidth,a=i.fullHeight;s+=i.offsetX*r/t,e-=i.offsetY*n/a,r*=i.width/t,n*=i.height/a}const a=this.filmOffset;0!==a&&(s+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}vi.prototype.isPerspectiveCamera=!0;const wi=90;class Si extends as{constructor(t,e,n){if(super(),this.type="CubeCamera",!0!==n.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=n;const r=new vi(wi,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new sr(1,0,0)),this.add(r);const s=new vi(wi,1,t,e);s.layers=this.layers,s.up.set(0,-1,0),s.lookAt(new sr(-1,0,0)),this.add(s);const i=new vi(wi,1,t,e);i.layers=this.layers,i.up.set(0,0,1),i.lookAt(new sr(0,1,0)),this.add(i);const a=new vi(wi,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new sr(0,-1,0)),this.add(a);const o=new vi(wi,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new sr(0,0,1)),this.add(o);const l=new vi(wi,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new sr(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[r,s,i,a,o,l]=this.children,u=t.xr.enabled,c=t.getRenderTarget();t.xr.enabled=!1;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,r),t.setRenderTarget(n,1),t.render(e,s),t.setRenderTarget(n,2),t.render(e,i),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=h,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(c),t.xr.enabled=u}}class Ti extends Jn{constructor(t,e,n,r,s,i,a,o,l,u){super(t=void 0!==t?t:[],e=void 0!==e?e:it,n,r,s,i,a,o,l,u),this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}Ti.prototype.isCubeTexture=!0;class _i extends tr{constructor(t,e,n){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=n),super(t,t,e),e=e||{},this.texture=new Ti(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:bt,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.format=Pt,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={tEquirect:{value:null}},r="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",s="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",i=new fi(5,5,5),a=new xi({name:"CubemapFromEquirect",uniforms:mi(n),vertexShader:r,fragmentShader:s,side:m,blending:b});a.uniforms.tEquirect.value=e;const o=new di(i,a),l=e.minFilter;return e.minFilter===St&&(e.minFilter=bt),new Si(1,10,this).update(t,o),e.minFilter=l,o.geometry.dispose(),o.material.dispose(),this}clear(t,e,n,r){const s=t.getRenderTarget();for(let s=0;s<6;s++)t.setRenderTarget(this,s),t.clear(e,n,r);t.setRenderTarget(s)}}_i.prototype.isWebGLCubeRenderTarget=!0;const Mi=new sr,ki=new sr,Ei=new Wn;class Ii{constructor(t=new sr(1,0,0),e=0){this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,r){return this.normal.set(t,e,n),this.constant=r,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const r=Mi.subVectors(n,e).cross(ki.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(r,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)}intersectLine(t,e){const n=t.delta(Mi),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const s=-(t.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:e.copy(n).multiplyScalar(s).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||Ei.getNormalMatrix(t),r=this.coplanarPoint(Mi).applyMatrix4(t),s=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(s),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Ii.prototype.isPlane=!0;const Ci=new kr,Ni=new sr;class Ai{constructor(t=new Ii,e=new Ii,n=new Ii,r=new Ii,s=new Ii,i=new Ii){this.planes=[t,e,n,r,s,i]}set(t,e,n,r,s,i){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(r),a[4].copy(s),a[5].copy(i),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,r=n[0],s=n[1],i=n[2],a=n[3],o=n[4],l=n[5],u=n[6],c=n[7],h=n[8],d=n[9],p=n[10],f=n[11],m=n[12],g=n[13],y=n[14],x=n[15];return e[0].setComponents(a-r,c-o,f-h,x-m).normalize(),e[1].setComponents(a+r,c+o,f+h,x+m).normalize(),e[2].setComponents(a+s,c+l,f+d,x+g).normalize(),e[3].setComponents(a-s,c-l,f-d,x-g).normalize(),e[4].setComponents(a-i,c-u,f-p,x-y).normalize(),e[5].setComponents(a+i,c+u,f+p,x+y).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Ci.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(Ci)}intersectsSprite(t){return Ci.center.set(0,0,0),Ci.radius=.7071067811865476,Ci.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ci)}intersectsSphere(t){const e=this.planes,n=t.center,r=-t.radius;for(let t=0;t<6;t++)if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,Ni.y=r.normal.y>0?t.max.y:t.min.y,Ni.z=r.normal.z>0?t.max.z:t.min.z,r.distanceToPoint(Ni)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function Ri(){let t=null,e=!1,n=null,r=null;function s(e,i){n(e,i),r=t.requestAnimationFrame(s)}return{start:function(){!0!==e&&null!==n&&(r=t.requestAnimationFrame(s),e=!0)},stop:function(){t.cancelAnimationFrame(r),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Di(t,e){const n=e.isWebGL2,r=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),r.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=r.get(e);n&&(t.deleteBuffer(n.buffer),r.delete(e))},update:function(e,s){if(e.isGLBufferAttribute){const t=r.get(e);return void((!t||t.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\treturn texture2D( envMap, uv ).rgb;\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform vec2 morphTargetsTextureSize;\n\t\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\n\t\t\tfloat texelIndex = float( vertexIndex * stride + offset );\n\t\t\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\n\t\t\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\n\t\t\treturn texture( morphTargetsTexture, morphUV ).xyz;\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\t#ifndef USE_MORPHNORMALS\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\n\t\t\t#else\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\n\t\t\t#endif\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},$i={common:{diffuse:{value:new ks(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Wn},uv2Transform:{value:new Wn},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Vn(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ks(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new ks(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Wn}},sprite:{diffuse:{value:new ks(16777215)},opacity:{value:1},center:{value:new Vn(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Wn}}},Oi={basic:{uniforms:gi([$i.common,$i.specularmap,$i.envmap,$i.aomap,$i.lightmap,$i.fog]),vertexShader:Fi.meshbasic_vert,fragmentShader:Fi.meshbasic_frag},lambert:{uniforms:gi([$i.common,$i.specularmap,$i.envmap,$i.aomap,$i.lightmap,$i.emissivemap,$i.fog,$i.lights,{emissive:{value:new ks(0)}}]),vertexShader:Fi.meshlambert_vert,fragmentShader:Fi.meshlambert_frag},phong:{uniforms:gi([$i.common,$i.specularmap,$i.envmap,$i.aomap,$i.lightmap,$i.emissivemap,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.fog,$i.lights,{emissive:{value:new ks(0)},specular:{value:new ks(1118481)},shininess:{value:30}}]),vertexShader:Fi.meshphong_vert,fragmentShader:Fi.meshphong_frag},standard:{uniforms:gi([$i.common,$i.envmap,$i.aomap,$i.lightmap,$i.emissivemap,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.roughnessmap,$i.metalnessmap,$i.fog,$i.lights,{emissive:{value:new ks(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Fi.meshphysical_vert,fragmentShader:Fi.meshphysical_frag},toon:{uniforms:gi([$i.common,$i.aomap,$i.lightmap,$i.emissivemap,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.gradientmap,$i.fog,$i.lights,{emissive:{value:new ks(0)}}]),vertexShader:Fi.meshtoon_vert,fragmentShader:Fi.meshtoon_frag},matcap:{uniforms:gi([$i.common,$i.bumpmap,$i.normalmap,$i.displacementmap,$i.fog,{matcap:{value:null}}]),vertexShader:Fi.meshmatcap_vert,fragmentShader:Fi.meshmatcap_frag},points:{uniforms:gi([$i.points,$i.fog]),vertexShader:Fi.points_vert,fragmentShader:Fi.points_frag},dashed:{uniforms:gi([$i.common,$i.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Fi.linedashed_vert,fragmentShader:Fi.linedashed_frag},depth:{uniforms:gi([$i.common,$i.displacementmap]),vertexShader:Fi.depth_vert,fragmentShader:Fi.depth_frag},normal:{uniforms:gi([$i.common,$i.bumpmap,$i.normalmap,$i.displacementmap,{opacity:{value:1}}]),vertexShader:Fi.meshnormal_vert,fragmentShader:Fi.meshnormal_frag},sprite:{uniforms:gi([$i.sprite,$i.fog]),vertexShader:Fi.sprite_vert,fragmentShader:Fi.sprite_frag},background:{uniforms:{uvTransform:{value:new Wn},t2D:{value:null}},vertexShader:Fi.background_vert,fragmentShader:Fi.background_frag},cube:{uniforms:gi([$i.envmap,{opacity:{value:1}}]),vertexShader:Fi.cube_vert,fragmentShader:Fi.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Fi.equirect_vert,fragmentShader:Fi.equirect_frag},distanceRGBA:{uniforms:gi([$i.common,$i.displacementmap,{referencePosition:{value:new sr},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Fi.distanceRGBA_vert,fragmentShader:Fi.distanceRGBA_frag},shadow:{uniforms:gi([$i.lights,$i.fog,{color:{value:new ks(0)},opacity:{value:1}}]),vertexShader:Fi.shadow_vert,fragmentShader:Fi.shadow_frag}};function Pi(t,e,n,r,s){const i=new ks(0);let a,o,l=0,u=null,c=0,h=null;function d(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,s)}return{getClearColor:function(){return i},setClearColor:function(t,e=1){i.set(t),l=e,d(i,l)},getClearAlpha:function(){return l},setClearAlpha:function(t){l=t,d(i,l)},render:function(n,s){let p=!1,g=!0===s.isScene?s.background:null;g&&g.isTexture&&(g=e.get(g));const y=t.xr,x=y.getSession&&y.getSession();x&&"additive"===x.environmentBlendMode&&(g=null),null===g?d(i,l):g&&g.isColor&&(d(g,1),p=!0),(t.autoClear||p)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),g&&(g.isCubeTexture||g.mapping===ut)?(void 0===o&&(o=new di(new fi(1,1,1),new xi({name:"BackgroundCubeMaterial",uniforms:mi(Oi.cube.uniforms),vertexShader:Oi.cube.vertexShader,fragmentShader:Oi.cube.fragmentShader,side:m,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),o.geometry.deleteAttribute("uv"),o.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(o.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(o)),o.material.uniforms.envMap.value=g,o.material.uniforms.flipEnvMap.value=g.isCubeTexture&&!1===g.isRenderTargetTexture?-1:1,u===g&&c===g.version&&h===t.toneMapping||(o.material.needsUpdate=!0,u=g,c=g.version,h=t.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null)):g&&g.isTexture&&(void 0===a&&(a=new di(new Li(2,2),new xi({name:"BackgroundMaterial",uniforms:mi(Oi.background.uniforms),vertexShader:Oi.background.vertexShader,fragmentShader:Oi.background.fragmentShader,side:f,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(a)),a.material.uniforms.t2D.value=g,!0===g.matrixAutoUpdate&&g.updateMatrix(),a.material.uniforms.uvTransform.value.copy(g.matrix),u===g&&c===g.version&&h===t.toneMapping||(a.material.needsUpdate=!0,u=g,c=g.version,h=t.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null))}}}function zi(t,e,n,r){const s=t.getParameter(34921),i=r.isWebGL2?null:e.get("OES_vertex_array_object"),a=r.isWebGL2||null!==i,o={},l=d(null);let u=l;function c(e){return r.isWebGL2?t.bindVertexArray(e):i.bindVertexArrayOES(e)}function h(e){return r.isWebGL2?t.deleteVertexArray(e):i.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],r=[];for(let t=0;t=0){let i=l[e];if(void 0===i&&("instanceMatrix"===e&&s.instanceMatrix&&(i=s.instanceMatrix),"instanceColor"===e&&s.instanceColor&&(i=s.instanceColor)),void 0!==i){const e=i.normalized,a=i.itemSize,l=n.get(i);if(void 0===l)continue;const u=l.buffer,c=l.type,h=l.bytesPerElement;if(i.isInterleavedBufferAttribute){const n=i.data,l=n.stride,d=i.offset;if(n&&n.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const i="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==n.precision?n.precision:"highp";const o=s(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=i||e.has("WEBGL_draw_buffers"),u=!0===n.logarithmicDepthBuffer,c=t.getParameter(34930),h=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),f=t.getParameter(34921),m=t.getParameter(36347),g=t.getParameter(36348),y=t.getParameter(36349),x=h>0,b=i||e.has("OES_texture_float");return{isWebGL2:i,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==r)return r;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");r=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r},getMaxPrecision:s,precision:a,logarithmicDepthBuffer:u,maxTextures:c,maxVertexTextures:h,maxTextureSize:d,maxCubemapSize:p,maxAttributes:f,maxVertexUniforms:m,maxVaryings:g,maxFragmentUniforms:y,vertexTextures:x,floatFragmentTextures:b,floatVertexTextures:x&&b,maxSamples:i?t.getParameter(36183):0}}function Vi(t){const e=this;let n=null,r=0,s=!1,i=!1;const a=new Ii,o=new Wn,l={value:null,needsUpdate:!1};function u(){l.value!==n&&(l.value=n,l.needsUpdate=r>0),e.numPlanes=r,e.numIntersection=0}function c(t,n,r,s){const i=null!==t?t.length:0;let u=null;if(0!==i){if(u=l.value,!0!==s||null===u){const e=r+4*i,s=n.matrixWorldInverse;o.getNormalMatrix(s),(null===u||u.length0){const a=t.getRenderTarget(),o=new _i(i.height/2);return o.fromEquirectangularTexture(t,s),e.set(s,o),t.setRenderTarget(a),s.addEventListener("dispose",r),n(o.texture,s.mapping)}return null}}}return s},dispose:function(){e=new WeakMap}}}Oi.physical={uniforms:gi([Oi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Vn(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new ks(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Vn},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new ks(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new ks(1,1,1)},specularColorMap:{value:null}}]),vertexShader:Fi.meshphysical_vert,fragmentShader:Fi.meshphysical_frag};class Hi extends bi{constructor(t=-1,e=1,n=1,r=-1,s=.1,i=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=r,this.near=s,this.far=i,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,r,s,i){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=r,this.view.width=s,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=n-t,i=n+t,a=r+e,o=r-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=t*this.view.offsetX,i=s+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(s,i,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}Hi.prototype.isOrthographicCamera=!0;class Gi extends xi{constructor(t){super(t),this.type="RawShaderMaterial"}}Gi.prototype.isRawShaderMaterial=!0;const ji=Math.pow(2,8),qi=[.125,.215,.35,.446,.526,.582],Xi=5+qi.length,Ki={[Ke]:0,[Ye]:1},Yi=new Hi,{_lodPlanes:Ji,_sizeLods:Zi,_sigmas:Qi}=aa(),ta=new ks;let ea=null;const na=(1+Math.sqrt(5))/2,ra=1/na,sa=[new sr(1,1,1),new sr(-1,1,1),new sr(1,1,-1),new sr(-1,1,-1),new sr(0,na,ra),new sr(0,na,-ra),new sr(ra,0,na),new sr(-ra,0,na),new sr(na,ra,0),new sr(-na,ra,0)];class ia{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._blurMaterial=function(t){const e=new Float32Array(20),n=new sr(0,1,0);return new Gi({name:"SphericalGaussianBlur",defines:{n:20},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}(),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,r=100){ea=this._renderer.getRenderTarget();const s=this._allocateTargets();return this._sceneToCubeUV(t,n,r,s),e>0&&this._blur(s,0,0,e),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(t){return this._fromTexture(t)}fromCubemap(t){return this._fromTexture(t)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=ca(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=ua(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let t=0;t2?ji:0,ji,ji),o.setRenderTarget(r),d&&o.render(h,s),o.render(t,s)}h.geometry.dispose(),h.material.dispose(),o.toneMapping=u,o.autoClear=l,t.background=p}_setEncoding(t,e){!0===this._renderer.capabilities.isWebGL2&&e.format===Pt&&e.type===_t&&e.encoding===Ye?t.value=Ki[Ke]:t.value=Ki[e.encoding]}_textureToCubeUV(t,e){const n=this._renderer,r=t.mapping===it||t.mapping===at;r?null==this._cubemapShader&&(this._cubemapShader=ca()):null==this._equirectShader&&(this._equirectShader=ua());const s=r?this._cubemapShader:this._equirectShader,i=new di(Ji[0],s),a=s.uniforms;a.envMap.value=t,r||a.texelSize.value.set(1/t.image.width,1/t.image.height),this._setEncoding(a.inputEncoding,t),la(e,0,0,3*ji,2*ji),n.setRenderTarget(e),n.render(i,Yi)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;e20&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${f} samples when the maximum is set to 20`);const m=[];let g=0;for(let t=0;t<20;++t){const e=t/p,n=Math.exp(-e*e/2);m.push(n),0==t?g+=n:t4?r-8+4:0),3*y,2*y),o.setRenderTarget(e),o.render(u,Yi)}}function aa(){const t=[],e=[],n=[];let r=8;for(let s=0;s4?a=qi[s-8+4-1]:0==s&&(a=0),n.push(a);const o=1/(i-1),l=-o/2,u=1+o/2,c=[l,l,u,l,u,u,l,l,u,u,l,u],h=6,d=6,p=3,f=2,m=1,g=new Float32Array(p*d*h),y=new Float32Array(f*d*h),x=new Float32Array(m*d*h);for(let t=0;t2?0:-1,r=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(r,p*d*t),y.set(c,f*d*t);const s=[t,t,t,t,t,t];x.set(s,m*d*t)}const b=new Xs;b.setAttribute("position",new Ns(g,p)),b.setAttribute("uv",new Ns(y,f)),b.setAttribute("faceIndex",new Ns(x,m)),t.push(b),r>4&&r--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}function oa(t){const e=new tr(3*ji,3*ji,t);return e.texture.mapping=ut,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function la(t,e,n,r,s){t.viewport.set(e,n,r,s),t.scissor.set(e,n,r,s)}function ua(){const t=new Vn(1,1);return new Gi({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:t},inputEncoding:{value:Ki[Ke]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}function ca(){return new Gi({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Ki[Ke]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\n\n\t\t\t}\n\t\t",blending:b,depthTest:!1,depthWrite:!1})}function ha(t){let e=new WeakMap,n=null;function r(t){const n=t.target;n.removeEventListener("dispose",r);const s=e.get(n);void 0!==s&&(e.delete(n),s.dispose())}return{get:function(s){if(s&&s.isTexture&&!1===s.isRenderTargetTexture){const i=s.mapping,a=i===ot||i===lt,o=i===it||i===at;if(a||o){if(e.has(s))return e.get(s).texture;{const i=s.image;if(a&&i&&i.height>0||o&&i&&function(t){let e=0;for(let n=0;n<6;n++)void 0!==t[n]&&e++;return 6===e}(i)){const i=t.getRenderTarget();null===n&&(n=new ia(t));const o=a?n.fromEquirectangular(s):n.fromCubemap(s);return e.set(s,o),t.setRenderTarget(i),s.addEventListener("dispose",r),o.texture}return null}}}return s},dispose:function(){e=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function da(t){const e={};function n(n){if(void 0!==e[n])return e[n];let r;switch(n){case"WEBGL_depth_texture":r=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=t.getExtension(n)}return e[n]=r,r}return{has:function(t){return null!==n(t)},init:function(t){t.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(t){const e=n(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function pa(t,e,n,r){const s={},i=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener("dispose",a),delete s[o.id];const l=i.get(o);l&&(e.remove(l),i.delete(o)),r.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],r=t.index,s=t.attributes.position;let a=0;if(null!==r){const t=r.array;a=r.version;for(let e=0,r=t.length;e65535?Os:Fs)(n,1);o.version=a;const l=i.get(t);l&&e.remove(l),i.set(t,o)}return{get:function(t,e){return!0===s[e.id]||(e.addEventListener("dispose",a),s[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const r=t.morphAttributes;for(const t in r){const n=r[t];for(let t=0,r=n.length;te.maxTextureSize&&(h=Math.ceil(c/e.maxTextureSize),c=e.maxTextureSize);const d=new Float32Array(c*h*4*r),p=new ga(d,c,h,r);p.format=Pt,p.type=Nt,p.needsUpdate=!0;const f=4*l;for(let e=0;e0)return t;const s=e*n;let i=Ea[s];if(void 0===i&&(i=new Float32Array(s),Ea[s]=i),0!==e){r.toArray(i,0);for(let r=1,s=0;r!==e;++r)s+=n,t[r].toArray(i,s)}return i}function Da(t,e){if(t.length!==e.length)return!1;for(let n=0,r=t.length;n/gm;function zo(t){return t.replace(Po,Bo)}function Bo(t,e){const n=Fi[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return zo(n)}const Uo=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,Vo=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Wo(t){return t.replace(Vo,Go).replace(Uo,Ho)}function Ho(t,e,n,r){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Go(0,e,n,r)}function Go(t,e,n,r){let s="";for(let t=parseInt(e);t0&&(x+="\n"),b=[m,g].filter(Fo).join("\n"),b.length>0&&(b+="\n")):(x=[jo(n),"#define SHADER_NAME "+n.shaderName,g,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphTargets&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargets&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Fo).join("\n"),b=[m,jo(n),"#define SHADER_NAME "+n.shaderName,g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+u:"",n.envMap?"#define "+c:"",n.envMap?"#define "+f:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==Z?"#define TONE_MAPPING":"",n.toneMapping!==Z?Fi.tonemapping_pars_fragment:"",n.toneMapping!==Z?Lo("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.format===Ot?"#define OPAQUE":"",Fi.encodings_pars_fragment,n.map?Ro("mapTexelToLinear",n.mapEncoding):"",n.matcap?Ro("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?Ro("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?Ro("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.specularColorMap?Ro("specularColorMapTexelToLinear",n.specularColorMapEncoding):"",n.sheenColorMap?Ro("sheenColorMapTexelToLinear",n.sheenColorMapEncoding):"",n.lightMap?Ro("lightMapTexelToLinear",n.lightMapEncoding):"",Do("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Fo).join("\n")),a=zo(a),a=$o(a,n),a=Oo(a,n),o=zo(o),o=$o(o,n),o=Oo(o,n),a=Wo(a),o=Wo(o),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(v="#version 300 es\n",x=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+x,b=["#define varying in",n.glslVersion===In?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===In?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+b);const w=v+b+o,S=Io(s,35633,v+x+a),T=Io(s,35632,w);if(s.attachShader(y,S),s.attachShader(y,T),void 0!==n.index0AttributeName?s.bindAttribLocation(y,0,n.index0AttributeName):!0===n.morphTargets&&s.bindAttribLocation(y,0,"position"),s.linkProgram(y),t.debug.checkShaderErrors){const t=s.getProgramInfoLog(y).trim(),e=s.getShaderInfoLog(S).trim(),n=s.getShaderInfoLog(T).trim();let r=!0,i=!0;if(!1===s.getProgramParameter(y,35714)){r=!1;const e=Ao(s,S,"vertex"),n=Ao(s,T,"fragment");console.error("THREE.WebGLProgram: Shader Error "+s.getError()+" - VALIDATE_STATUS "+s.getProgramParameter(y,35715)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+n)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==e&&""!==n||(i=!1);i&&(this.diagnostics={runnable:r,programLog:t,vertexShader:{log:e,prefix:x},fragmentShader:{log:n,prefix:b}})}let _,M;return s.deleteShader(S),s.deleteShader(T),this.getUniforms=function(){return void 0===_&&(_=new Eo(s,y)),_},this.getAttributes=function(){return void 0===M&&(M=function(t,e){const n={},r=t.getProgramParameter(e,35721);for(let s=0;s0,D=i.clearcoat>0;return{isWebGL2:c,shaderID:M,shaderName:i.type,vertexShader:E,fragmentShader:I,defines:i.defines,customVertexShaderID:C,customFragmentShaderID:N,isRawShaderMaterial:!0===i.isRawShaderMaterial,glslVersion:i.glslVersion,precision:y,instancing:!0===w.isInstancedMesh,instancingColor:!0===w.isInstancedMesh&&null!==w.instanceColor,supportsVertexTextures:f,outputEncoding:null!==A?b(A.texture):t.outputEncoding,map:!!i.map,mapEncoding:b(i.map),matcap:!!i.matcap,matcapEncoding:b(i.matcap),envMap:!!_,envMapMode:_&&_.mapping,envMapEncoding:b(_),envMapCubeUV:!!_&&(_.mapping===ut||_.mapping===ct),lightMap:!!i.lightMap,lightMapEncoding:b(i.lightMap),aoMap:!!i.aoMap,emissiveMap:!!i.emissiveMap,emissiveMapEncoding:b(i.emissiveMap),bumpMap:!!i.bumpMap,normalMap:!!i.normalMap,objectSpaceNormalMap:i.normalMapType===tn,tangentSpaceNormalMap:i.normalMapType===Qe,clearcoat:D,clearcoatMap:D&&!!i.clearcoatMap,clearcoatRoughnessMap:D&&!!i.clearcoatRoughnessMap,clearcoatNormalMap:D&&!!i.clearcoatNormalMap,displacementMap:!!i.displacementMap,roughnessMap:!!i.roughnessMap,metalnessMap:!!i.metalnessMap,specularMap:!!i.specularMap,specularIntensityMap:!!i.specularIntensityMap,specularColorMap:!!i.specularColorMap,specularColorMapEncoding:b(i.specularColorMap),alphaMap:!!i.alphaMap,alphaTest:R,gradientMap:!!i.gradientMap,sheen:i.sheen>0,sheenColorMap:!!i.sheenColorMap,sheenColorMapEncoding:b(i.sheenColorMap),sheenRoughnessMap:!!i.sheenRoughnessMap,transmission:i.transmission>0,transmissionMap:!!i.transmissionMap,thicknessMap:!!i.thicknessMap,combine:i.combine,vertexTangents:!!i.normalMap&&!!w.geometry&&!!w.geometry.attributes.tangent,vertexColors:i.vertexColors,vertexAlphas:!0===i.vertexColors&&!!w.geometry&&!!w.geometry.attributes.color&&4===w.geometry.attributes.color.itemSize,vertexUvs:!!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatMap||i.clearcoatRoughnessMap||i.clearcoatNormalMap||i.displacementMap||i.transmissionMap||i.thicknessMap||i.specularIntensityMap||i.specularColorMap||i.sheenColorMap||i.sheenRoughnessMap),uvsVertexOnly:!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatNormalMap||i.transmission>0||i.transmissionMap||i.thicknessMap||i.specularIntensityMap||i.specularColorMap||i.sheen>0||i.sheenColorMap||i.sheenRoughnessMap||!i.displacementMap),fog:!!S,useFog:i.fog,fogExp2:S&&S.isFogExp2,flatShading:!!i.flatShading,sizeAttenuation:i.sizeAttenuation,logarithmicDepthBuffer:h,skinning:!0===w.isSkinnedMesh&&k>0,maxBones:k,useVertexTexture:d,morphTargets:!!w.geometry&&!!w.geometry.morphAttributes.position,morphNormals:!!w.geometry&&!!w.geometry.morphAttributes.normal,morphTargetsCount:w.geometry&&w.geometry.morphAttributes.position?w.geometry.morphAttributes.position.length:0,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:i.format,dithering:i.dithering,shadowMapEnabled:t.shadowMap.enabled&&u.length>0,shadowMapType:t.shadowMap.type,toneMapping:i.toneMapped?t.toneMapping:Z,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:i.premultipliedAlpha,doubleSided:i.side===g,flipSided:i.side===m,depthPacking:void 0!==i.depthPacking&&i.depthPacking,index0AttributeName:i.index0AttributeName,extensionDerivatives:i.extensions&&i.extensions.derivatives,extensionFragDepth:i.extensions&&i.extensions.fragDepth,extensionDrawBuffers:i.extensions&&i.extensions.drawBuffers,extensionShaderTextureLOD:i.extensions&&i.extensions.shaderTextureLOD,rendererExtensionFragDepth:c||r.has("EXT_frag_depth"),rendererExtensionDrawBuffers:c||r.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:c||r.has("EXT_shader_texture_lod"),customProgramCacheKey:i.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(function(t,e){t.push(e.precision),t.push(e.outputEncoding),t.push(e.mapEncoding),t.push(e.matcapEncoding),t.push(e.envMapMode),t.push(e.envMapEncoding),t.push(e.lightMapEncoding),t.push(e.emissiveMapEncoding),t.push(e.combine),t.push(e.vertexUvs),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.maxBones),t.push(e.morphTargetsCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.format),t.push(e.specularColorMapEncoding),t.push(e.sheenColorMapEncoding)}(n,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0),e.supportsVertexTextures&&o.enable(1),e.instancing&&o.enable(2),e.instancingColor&&o.enable(3),e.map&&o.enable(4),e.matcap&&o.enable(5),e.envMap&&o.enable(6),e.envMapCubeUV&&o.enable(7),e.lightMap&&o.enable(8),e.aoMap&&o.enable(9),e.emissiveMap&&o.enable(10),e.bumpMap&&o.enable(11),e.normalMap&&o.enable(12),e.objectSpaceNormalMap&&o.enable(13),e.tangentSpaceNormalMap&&o.enable(14),e.clearcoat&&o.enable(15),e.clearcoatMap&&o.enable(16),e.clearcoatRoughnessMap&&o.enable(17),e.clearcoatNormalMap&&o.enable(18),e.displacementMap&&o.enable(19),e.specularMap&&o.enable(20),e.roughnessMap&&o.enable(21),e.metalnessMap&&o.enable(22),e.gradientMap&&o.enable(23),e.alphaMap&&o.enable(24),e.alphaTest&&o.enable(25),e.vertexColors&&o.enable(26),e.vertexAlphas&&o.enable(27),e.vertexUvs&&o.enable(28),e.vertexTangents&&o.enable(29),e.uvsVertexOnly&&o.enable(30),e.fog&&o.enable(31),t.push(o.mask),o.disableAll(),e.useFog&&o.enable(0),e.flatShading&&o.enable(1),e.logarithmicDepthBuffer&&o.enable(2),e.skinning&&o.enable(3),e.useVertexTexture&&o.enable(4),e.morphTargets&&o.enable(5),e.morphNormals&&o.enable(6),e.premultipliedAlpha&&o.enable(7),e.shadowMapEnabled&&o.enable(8),e.physicallyCorrectLights&&o.enable(9),e.doubleSided&&o.enable(10),e.flipSided&&o.enable(11),e.depthPacking&&o.enable(12),e.dithering&&o.enable(13),e.specularIntensityMap&&o.enable(14),e.specularColorMap&&o.enable(15),e.transmission&&o.enable(16),e.transmissionMap&&o.enable(17),e.thicknessMap&&o.enable(18),e.sheen&&o.enable(19),e.sheenColorMap&&o.enable(20),e.sheenRoughnessMap&&o.enable(21),t.push(o.mask)}(n,e),n.push(t.outputEncoding)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=x[t.type];let n;if(e){const t=Oi[e];n=yi.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let r;for(let t=0,e=u.length;t0?r.push(c):!0===a.transparent?s.push(c):n.push(c)},unshift:function(t,e,a,o,l,u){const c=i(t,e,a,o,l,u);a.transmission>0?r.unshift(c):!0===a.transparent?s.unshift(c):n.unshift(c)},finish:function(){for(let n=e,r=t.length;n1&&n.sort(t||Qo),r.length>1&&r.sort(e||tl),s.length>1&&s.sort(e||tl)}}}function nl(){let t=new WeakMap;return{get:function(e,n){let r;return!1===t.has(e)?(r=new el,t.set(e,[r])):n>=t.get(e).length?(r=new el,t.get(e).push(r)):r=t.get(e)[n],r},dispose:function(){t=new WeakMap}}}function rl(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new sr,color:new ks};break;case"SpotLight":n={position:new sr,direction:new sr,color:new ks,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new sr,color:new ks,distance:0,decay:0};break;case"HemisphereLight":n={direction:new sr,skyColor:new ks,groundColor:new ks};break;case"RectAreaLight":n={color:new ks,position:new sr,halfWidth:new sr,halfHeight:new sr}}return t[e.id]=n,n}}}let sl=0;function il(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function al(t,e){const n=new rl,r=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vn};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vn,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),s={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)s.probe.push(new sr);const i=new sr,a=new Fr,o=new Fr;return{setup:function(i,a){let o=0,l=0,u=0;for(let t=0;t<9;t++)s.probe[t].set(0,0,0);let c=0,h=0,d=0,p=0,f=0,m=0,g=0,y=0;i.sort(il);const x=!0!==a?Math.PI:1;for(let t=0,e=i.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(s.rectAreaLTC1=$i.LTC_FLOAT_1,s.rectAreaLTC2=$i.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(s.rectAreaLTC1=$i.LTC_HALF_1,s.rectAreaLTC2=$i.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),s.ambient[0]=o,s.ambient[1]=l,s.ambient[2]=u;const b=s.hash;b.directionalLength===c&&b.pointLength===h&&b.spotLength===d&&b.rectAreaLength===p&&b.hemiLength===f&&b.numDirectionalShadows===m&&b.numPointShadows===g&&b.numSpotShadows===y||(s.directional.length=c,s.spot.length=d,s.rectArea.length=p,s.point.length=h,s.hemi.length=f,s.directionalShadow.length=m,s.directionalShadowMap.length=m,s.pointShadow.length=g,s.pointShadowMap.length=g,s.spotShadow.length=y,s.spotShadowMap.length=y,s.directionalShadowMatrix.length=m,s.pointShadowMatrix.length=g,s.spotShadowMatrix.length=y,b.directionalLength=c,b.pointLength=h,b.spotLength=d,b.rectAreaLength=p,b.hemiLength=f,b.numDirectionalShadows=m,b.numPointShadows=g,b.numSpotShadows=y,s.version=sl++)},setupView:function(t,e){let n=0,r=0,l=0,u=0,c=0;const h=e.matrixWorldInverse;for(let e=0,d=t.length;e=n.get(r).length?(i=new ol(t,e),n.get(r).push(i)):i=n.get(r)[s],i},dispose:function(){n=new WeakMap}}}class ul extends bs{constructor(t){super(),this.type="MeshDepthMaterial",this.depthPacking=Je,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}ul.prototype.isMeshDepthMaterial=!0;class cl extends bs{constructor(t){super(),this.type="MeshDistanceMaterial",this.referencePosition=new sr,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}function hl(t,e,n){let r=new Ai;const s=new Vn,i=new Vn,a=new Qn,o=new ul({depthPacking:Ze}),l=new cl,u={},c=n.maxTextureSize,d={0:m,1:f,2:g},y=new xi({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vn},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),x=y.clone();x.defines.HORIZONTAL_PASS=1;const v=new Xs;v.setAttribute("position",new Ns(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const w=new di(v,y),S=this;function T(n,r){const s=e.update(w);y.defines.VSM_SAMPLES!==n.blurSamples&&(y.defines.VSM_SAMPLES=n.blurSamples,x.defines.VSM_SAMPLES=n.blurSamples,y.needsUpdate=!0,x.needsUpdate=!0),y.uniforms.shadow_pass.value=n.map.texture,y.uniforms.resolution.value=n.mapSize,y.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(r,null,s,y,w,null),x.uniforms.shadow_pass.value=n.mapPass.texture,x.uniforms.resolution.value=n.mapSize,x.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(r,null,s,x,w,null)}function _(e,n,r,s,i,a,c){let h=null;const f=!0===s.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(h=void 0!==f?f:!0===s.isPointLight?l:o,t.localClippingEnabled&&!0===r.clipShadows&&0!==r.clippingPlanes.length||r.displacementMap&&0!==r.displacementScale||r.alphaMap&&r.alphaTest>0){const t=h.uuid,e=r.uuid;let n=u[t];void 0===n&&(n={},u[t]=n);let s=n[e];void 0===s&&(s=h.clone(),n[e]=s),h=s}return h.visible=r.visible,h.wireframe=r.wireframe,h.side=c===p?null!==r.shadowSide?r.shadowSide:r.side:null!==r.shadowSide?r.shadowSide:d[r.side],h.alphaMap=r.alphaMap,h.alphaTest=r.alphaTest,h.clipShadows=r.clipShadows,h.clippingPlanes=r.clippingPlanes,h.clipIntersection=r.clipIntersection,h.displacementMap=r.displacementMap,h.displacementScale=r.displacementScale,h.displacementBias=r.displacementBias,h.wireframeLinewidth=r.wireframeLinewidth,h.linewidth=r.linewidth,!0===s.isPointLight&&!0===h.isMeshDistanceMaterial&&(h.referencePosition.setFromMatrixPosition(s.matrixWorld),h.nearDistance=i,h.farDistance=a),h}function M(n,s,i,a,o){if(!1===n.visible)return;if(n.layers.test(s.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===p)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,n.matrixWorld);const r=e.update(n),s=n.material;if(Array.isArray(s)){const e=r.groups;for(let l=0,u=e.length;lc||s.y>c)&&(s.x>c&&(i.x=Math.floor(c/f.x),s.x=i.x*f.x,h.mapSize.x=i.x),s.y>c&&(i.y=Math.floor(c/f.y),s.y=i.y*f.y,h.mapSize.y=i.y)),null===h.map&&!h.isPointLightShadow&&this.type===p){const t={minFilter:bt,magFilter:bt,format:Pt};h.map=new tr(s.x,s.y,t),h.map.texture.name=u.name+".shadowMap",h.mapPass=new tr(s.x,s.y,t),h.camera.updateProjectionMatrix()}if(null===h.map){const t={minFilter:ft,magFilter:ft,format:Pt};h.map=new tr(s.x,s.y,t),h.map.texture.name=u.name+".shadowMap",h.camera.updateProjectionMatrix()}t.setRenderTarget(h.map),t.clear();const m=h.getViewportCount();for(let t=0;t=1):-1!==lt.indexOf("OpenGL ES")&&(ot=parseFloat(/^OpenGL ES (\d)/.exec(lt)[1]),at=ot>=2);let ut=null,ct={};const ht=t.getParameter(3088),dt=t.getParameter(2978),pt=(new Qn).fromArray(ht),ft=(new Qn).fromArray(dt);function mt(e,n,r){const s=new Uint8Array(4),i=t.createTexture();t.bindTexture(e,i),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;er||t.height>r)&&(s=r/Math.max(t.width,t.height)),s<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const r=e?Bn:Math.floor,i=r(s*t.width),a=r(s*t.height);void 0===f&&(f=g(i,a));const o=n?g(i,a):f;return o.width=i,o.height=a,o.getContext("2d").drawImage(t,0,0,i,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+i+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function x(t){return Pn(t.width)&&Pn(t.height)}function b(t,e){return t.generateMipmaps&&e&&t.minFilter!==ft&&t.minFilter!==bt}function v(e){t.generateMipmap(e)}function w(n,r,s,i){if(!1===o)return r;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let a=r;return 6403===r&&(5126===s&&(a=33326),5131===s&&(a=33325),5121===s&&(a=33321)),6407===r&&(5126===s&&(a=34837),5131===s&&(a=34843),5121===s&&(a=32849)),6408===r&&(5126===s&&(a=34836),5131===s&&(a=34842),5121===s&&(a=i===Ye?35907:32856)),33325!==a&&33326!==a&&34842!==a&&34836!==a||e.get("EXT_color_buffer_float"),a}function S(t,e,n){return!0===b(t,n)||t.isFramebufferTexture&&t.minFilter!==ft&&t.minFilter!==bt?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function T(t){return t===ft||t===mt||t===yt?9728:9729}function _(e){const n=e.target;n.removeEventListener("dispose",_),function(e){const n=r.get(e);void 0!==n.__webglInit&&(t.deleteTexture(n.__webglTexture),r.remove(e))}(n),n.isVideoTexture&&p.delete(n),a.memory.textures--}function M(e){const n=e.target;n.removeEventListener("dispose",M),function(e){const n=e.texture,s=r.get(e),i=r.get(n);if(e){if(void 0!==i.__webglTexture&&(t.deleteTexture(i.__webglTexture),a.memory.textures--),e.depthTexture&&e.depthTexture.dispose(),e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(s.__webglFramebuffer[e]),s.__webglDepthbuffer&&t.deleteRenderbuffer(s.__webglDepthbuffer[e]);else t.deleteFramebuffer(s.__webglFramebuffer),s.__webglDepthbuffer&&t.deleteRenderbuffer(s.__webglDepthbuffer),s.__webglMultisampledFramebuffer&&t.deleteFramebuffer(s.__webglMultisampledFramebuffer),s.__webglColorRenderbuffer&&t.deleteRenderbuffer(s.__webglColorRenderbuffer),s.__webglDepthRenderbuffer&&t.deleteRenderbuffer(s.__webglDepthRenderbuffer);if(e.isWebGLMultipleRenderTargets)for(let e=0,s=n.length;e0&&s.__version!==t.version){const n=t.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void D(s,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,s.__webglTexture)}function I(e,s){const a=r.get(e);e.version>0&&a.__version!==e.version?function(e,r,s){if(6!==r.image.length)return;R(e,r),n.activeTexture(33984+s),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const a=r&&(r.isCompressedTexture||r.image[0].isCompressedTexture),l=r.image[0]&&r.image[0].isDataTexture,c=[];for(let t=0;t<6;t++)c[t]=a||l?l?r.image[t].image:r.image[t]:y(r.image[t],!1,!0,u);const h=c[0],d=x(h)||o,p=i.convert(r.format),f=i.convert(r.type),m=w(r.internalFormat,p,f,r.encoding),g=o&&!0!==r.isVideoTexture,T=void 0===e.__version;let _,M=S(r,h,d);if(A(34067,r,d),a){g&&T&&n.texStorage2D(34067,M,m,h.width,h.height);for(let t=0;t<6;t++){_=c[t].mipmaps;for(let e=0;e<_.length;e++){const s=_[e];r.format!==Pt&&r.format!==Ot?null!==p?g?n.compressedTexSubImage2D(34069+t,e,0,0,s.width,s.height,p,s.data):n.compressedTexImage2D(34069+t,e,m,s.width,s.height,0,s.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):g?n.texSubImage2D(34069+t,e,0,0,s.width,s.height,p,f,s.data):n.texImage2D(34069+t,e,m,s.width,s.height,0,p,f,s.data)}}}else{_=r.mipmaps,g&&T&&(_.length>0&&M++,n.texStorage2D(34067,M,m,c[0].width,c[0].height));for(let t=0;t<6;t++)if(l){g?n.texSubImage2D(34069+t,0,0,0,c[t].width,c[t].height,p,f,c[t].data):n.texImage2D(34069+t,0,m,c[t].width,c[t].height,0,p,f,c[t].data);for(let e=0;e<_.length;e++){const r=_[e].image[t].image;g?n.texSubImage2D(34069+t,e+1,0,0,r.width,r.height,p,f,r.data):n.texImage2D(34069+t,e+1,m,r.width,r.height,0,p,f,r.data)}}else{g?n.texSubImage2D(34069+t,0,0,0,p,f,c[t]):n.texImage2D(34069+t,0,m,p,f,c[t]);for(let e=0;e<_.length;e++){const r=_[e];g?n.texSubImage2D(34069+t,e+1,0,0,p,f,r.image[t]):n.texImage2D(34069+t,e+1,m,p,f,r.image[t])}}}b(r,d)&&v(34067),e.__version=r.version,r.onUpdate&&r.onUpdate(r)}(a,e,s):(n.activeTexture(33984+s),n.bindTexture(34067,a.__webglTexture))}const C={[ht]:10497,[dt]:33071,[pt]:33648},N={[ft]:9728,[mt]:9984,[yt]:9986,[bt]:9729,[vt]:9985,[St]:9987};function A(n,i,a){if(a?(t.texParameteri(n,10242,C[i.wrapS]),t.texParameteri(n,10243,C[i.wrapT]),32879!==n&&35866!==n||t.texParameteri(n,32882,C[i.wrapR]),t.texParameteri(n,10240,N[i.magFilter]),t.texParameteri(n,10241,N[i.minFilter])):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),32879!==n&&35866!==n||t.texParameteri(n,32882,33071),i.wrapS===dt&&i.wrapT===dt||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,10240,T(i.magFilter)),t.texParameteri(n,10241,T(i.minFilter)),i.minFilter!==ft&&i.minFilter!==bt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(i.type===Nt&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&i.type===At&&!1===e.has("OES_texture_half_float_linear"))return;(i.anisotropy>1||r.get(i).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(i.anisotropy,s.getMaxAnisotropy())),r.get(i).__currentAnisotropy=i.anisotropy)}}function R(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",_),e.__webglTexture=t.createTexture(),a.memory.textures++)}function D(e,r,s){let a=3553;r.isDataTexture2DArray&&(a=35866),r.isDataTexture3D&&(a=32879),R(e,r),n.activeTexture(33984+s),n.bindTexture(a,e.__webglTexture),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const l=function(t){return!o&&(t.wrapS!==dt||t.wrapT!==dt||t.minFilter!==ft&&t.minFilter!==bt)}(r)&&!1===x(r.image),u=y(r.image,l,!1,c),h=x(u)||o,d=i.convert(r.format);let p,f=i.convert(r.type),m=w(r.internalFormat,d,f,r.encoding);A(a,r,h);const g=r.mipmaps,T=o&&!0!==r.isVideoTexture,_=void 0===e.__version,M=S(r,u,h);if(r.isDepthTexture)m=6402,o?m=r.type===Nt?36012:r.type===Ct?33190:r.type===Ft?35056:33189:r.type===Nt&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),r.format===Ut&&6402===m&&r.type!==Et&&r.type!==Ct&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),r.type=Et,f=i.convert(r.type)),r.format===Vt&&6402===m&&(m=34041,r.type!==Ft&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),r.type=Ft,f=i.convert(r.type))),T&&_?n.texStorage2D(3553,1,m,u.width,u.height):n.texImage2D(3553,0,m,u.width,u.height,0,d,f,null);else if(r.isDataTexture)if(g.length>0&&h){T&&_&&n.texStorage2D(3553,M,m,g[0].width,g[0].height);for(let t=0,e=g.length;t0&&h){T&&_&&n.texStorage2D(3553,M,m,g[0].width,g[0].height);for(let t=0,e=g.length;t=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),k+=1,t},this.resetTextureUnits=function(){k=0},this.setTexture2D=E,this.setTexture2DArray=function(t,e){const s=r.get(t);t.version>0&&s.__version!==t.version?D(s,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,s.__webglTexture))},this.setTexture3D=function(t,e){const s=r.get(t);t.version>0&&s.__version!==t.version?D(s,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,s.__webglTexture))},this.setTextureCube=I,this.rebindTextures=function(t,e,n){const s=r.get(t);void 0!==e&&L(s.__webglFramebuffer,t,t.texture,36064,3553),void 0!==n&&$(t)},this.setupRenderTarget=function(e){const l=e.texture,u=r.get(e),c=r.get(l);e.addEventListener("dispose",M),!0!==e.isWebGLMultipleRenderTargets&&(void 0===c.__webglTexture&&(c.__webglTexture=t.createTexture()),c.__version=l.version,a.memory.textures++);const h=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=l.isDataTexture3D||l.isDataTexture2DArray,f=x(e)||o;if(!o||l.format!==Ot||l.type!==Nt&&l.type!==At||(l.format=Pt,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),h){u.__webglFramebuffer=[];for(let e=0;e<6;e++)u.__webglFramebuffer[e]=t.createFramebuffer()}else if(u.__webglFramebuffer=t.createFramebuffer(),d)if(s.drawBuffers){const n=e.texture;for(let e=0,s=n.length;eo+u?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-u&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(s=e.getPose(t.gripSpace,n),null!==s&&(o.matrix.fromArray(s.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),s.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(s.linearVelocity)):o.hasLinearVelocity=!1,s.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(s.angularVelocity)):o.hasAngularVelocity=!1));return null!==a&&(a.visible=null!==r),null!==o&&(o.visible=null!==s),null!==l&&(l.visible=null!==i),this}}class bl extends Jn{constructor(t,e,n,r,s,i,a,o,l,u){if((u=void 0!==u?u:Ut)!==Ut&&u!==Vt)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&u===Ut&&(n=Et),void 0===n&&u===Vt&&(n=Ft),super(null,r,s,i,a,o,u,n,l),this.image={width:t,height:e},this.magFilter=void 0!==a?a:ft,this.minFilter=void 0!==o?o:ft,this.flipY=!1,this.generateMipmaps=!1}}bl.prototype.isDepthTexture=!0;class vl extends Cn{constructor(t,e){super();const n=this;let r=null,s=1,i=null,a="local-floor";const o=t.extensions.has("WEBGL_multisampled_render_to_texture");let l=null,u=null,c=null,h=null,d=!1,p=null;const f=e.getContextAttributes();let m=null,g=null;const y=[],x=new Map,b=new vi;b.layers.enable(1),b.viewport=new Qn;const v=new vi;v.layers.enable(2),v.viewport=new Qn;const w=[b,v],S=new ml;S.layers.enable(1),S.layers.enable(2);let T=null,_=null;function M(t){const e=x.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function k(){x.forEach((function(t,e){t.disconnect(e)})),x.clear(),T=null,_=null,t.setRenderTarget(m),h=null,c=null,u=null,r=null,g=null,R.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function E(t){const e=r.inputSources;for(let t=0;t0&&(e.alphaTest.value=n.alphaTest);const r=t.get(n).envMap;let s,i;r&&(e.envMap.value=r,e.flipEnvMap.value=r.isCubeTexture&&!1===r.isRenderTargetTexture?-1:1,e.reflectivity.value=n.reflectivity,e.ior.value=n.ior,e.refractionRatio.value=n.refractionRatio),n.lightMap&&(e.lightMap.value=n.lightMap,e.lightMapIntensity.value=n.lightMapIntensity),n.aoMap&&(e.aoMap.value=n.aoMap,e.aoMapIntensity.value=n.aoMapIntensity),n.map?s=n.map:n.specularMap?s=n.specularMap:n.displacementMap?s=n.displacementMap:n.normalMap?s=n.normalMap:n.bumpMap?s=n.bumpMap:n.roughnessMap?s=n.roughnessMap:n.metalnessMap?s=n.metalnessMap:n.alphaMap?s=n.alphaMap:n.emissiveMap?s=n.emissiveMap:n.clearcoatMap?s=n.clearcoatMap:n.clearcoatNormalMap?s=n.clearcoatNormalMap:n.clearcoatRoughnessMap?s=n.clearcoatRoughnessMap:n.specularIntensityMap?s=n.specularIntensityMap:n.specularColorMap?s=n.specularColorMap:n.transmissionMap?s=n.transmissionMap:n.thicknessMap?s=n.thicknessMap:n.sheenColorMap?s=n.sheenColorMap:n.sheenRoughnessMap&&(s=n.sheenRoughnessMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),e.uvTransform.value.copy(s.matrix)),n.aoMap?i=n.aoMap:n.lightMap&&(i=n.lightMap),void 0!==i&&(i.isWebGLRenderTarget&&(i=i.texture),!0===i.matrixAutoUpdate&&i.updateMatrix(),e.uv2Transform.value.copy(i.matrix))}function n(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap),n.emissiveMap&&(e.emissiveMap.value=n.emissiveMap),n.bumpMap&&(e.bumpMap.value=n.bumpMap,e.bumpScale.value=n.bumpScale,n.side===m&&(e.bumpScale.value*=-1)),n.normalMap&&(e.normalMap.value=n.normalMap,e.normalScale.value.copy(n.normalScale),n.side===m&&e.normalScale.value.negate()),n.displacementMap&&(e.displacementMap.value=n.displacementMap,e.displacementScale.value=n.displacementScale,e.displacementBias.value=n.displacementBias),t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}return{refreshFogUniforms:function(t,e){t.fogColor.value.copy(e.color),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(t,r,s,i,a){r.isMeshBasicMaterial?e(t,r):r.isMeshLambertMaterial?(e(t,r),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(t,r)):r.isMeshToonMaterial?(e(t,r),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshPhongMaterial?(e(t,r),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshStandardMaterial?(e(t,r),r.isMeshPhysicalMaterial?function(t,e,r){n(t,e),t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap)),e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),t.clearcoatNormalMap.value=e.clearcoatNormalMap,e.side===m&&t.clearcoatNormalScale.value.negate())),e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=r.texture,t.transmissionSamplerSize.value.set(r.width,r.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor)),t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap)}(t,r,a):n(t,r)):r.isMeshMatcapMaterial?(e(t,r),function(t,e){e.matcap&&(t.matcap.value=e.matcap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshDepthMaterial?(e(t,r),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isMeshDistanceMaterial?(e(t,r),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,r)):r.isMeshNormalMaterial?(e(t,r),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===m&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===m&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,r)):r.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,r),r.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,r)):r.isPointsMaterial?function(t,e,n,r){let s;t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*n,t.scale.value=.5*r,e.map&&(t.map.value=e.map),e.alphaMap&&(t.alphaMap.value=e.alphaMap),e.alphaTest>0&&(t.alphaTest.value=e.alphaTest),e.map?s=e.map:e.alphaMap&&(s=e.alphaMap),void 0!==s&&(!0===s.matrixAutoUpdate&&s.updateMatrix(),t.uvTransform.value.copy(s.matrix))}(t,r,s,i):r.isSpriteMaterial?function(t,e){let n;t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map),e.alphaMap&&(t.alphaMap.value=e.alphaMap),e.alphaTest>0&&(t.alphaTest.value=e.alphaTest),e.map?n=e.map:e.alphaMap&&(n=e.alphaMap),void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),t.uvTransform.value.copy(n.matrix))}(t,r):r.isShadowMaterial?(t.color.value.copy(r.color),t.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function Sl(t={}){const e=void 0!==t.canvas?t.canvas:function(){const t=qn("canvas");return t.style.display="block",t}(),n=void 0!==t.context?t.context:null,s=void 0!==t.alpha&&t.alpha,i=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,l=void 0===t.premultipliedAlpha||t.premultipliedAlpha,u=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,c=void 0!==t.powerPreference?t.powerPreference:"default",h=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let d=null,p=null;const y=[],x=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=Ke,this.physicallyCorrectLights=!1,this.toneMapping=Z,this.toneMappingExposure=1;const b=this;let v=!1,w=0,S=0,T=null,_=-1,M=null;const k=new Qn,E=new Qn;let I=null,C=e.width,N=e.height,A=1,R=null,D=null;const L=new Qn(0,0,C,N),F=new Qn(0,0,C,N);let $=!1;const O=[],P=new Ai;let z=!1,B=!1,U=null;const V=new Fr,W=new sr,H={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function G(){return null===T?A:1}let j,q,X,K,Y,J,Q,tt,et,nt,rt,st,it,at,ot,lt,ut,ct,ht,pt,mt,gt,yt,xt=n;function bt(t,n){for(let r=0;r0&&function(t,e,n){if(null===U){const t=!0===o&&!0===q.isWebGL2;U=new(t?nr:tr)(1024,1024,{generateMipmaps:!0,type:null!==gt.convert(At)?At:_t,minFilter:St,magFilter:ft,wrapS:dt,wrapT:dt,useRenderToTexture:j.has("WEBGL_multisampled_render_to_texture")})}const r=b.getRenderTarget();b.setRenderTarget(U),b.clear();const s=b.toneMapping;b.toneMapping=Z,Ft(t,e,n),b.toneMapping=s,J.updateMultisampleRenderTarget(U),J.updateRenderTargetMipmap(U),b.setRenderTarget(r)}(s,e,n),r&&X.viewport(k.copy(r)),s.length>0&&Ft(s,e,n),i.length>0&&Ft(i,e,n),a.length>0&&Ft(a,e,n)}function Ft(t,e,n){const r=!0===e.isScene?e.overrideMaterial:null;for(let s=0,i=t.length;s0?x[x.length-1]:null,y.pop(),d=y.length>0?y[y.length-1]:null},this.getActiveCubeFace=function(){return w},this.getActiveMipmapLevel=function(){return S},this.getRenderTarget=function(){return T},this.setRenderTargetTextures=function(t,e,n){Y.get(t.texture).__webglTexture=e,Y.get(t.depthTexture).__webglTexture=n;const r=Y.get(t);r.__hasExternalTextures=!0,r.__hasExternalTextures&&(r.__autoAllocateDepthBuffer=void 0===n,r.__autoAllocateDepthBuffer||t.useRenderToTexture&&(console.warn("render-to-texture extension was disabled because an external texture was provided"),t.useRenderToTexture=!1,t.useRenderbuffer=!0))},this.setRenderTargetFramebuffer=function(t,e){const n=Y.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){T=t,w=e,S=n;let r=!0;if(t){const e=Y.get(t);void 0!==e.__useDefaultFramebuffer?(X.bindFramebuffer(36160,null),r=!1):void 0===e.__webglFramebuffer?J.setupRenderTarget(t):e.__hasExternalTextures&&J.rebindTextures(t,Y.get(t.texture).__webglTexture,Y.get(t.depthTexture).__webglTexture)}let s=null,i=!1,a=!1;if(t){const n=t.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(a=!0);const r=Y.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(s=r[e],i=!0):s=t.useRenderbuffer?Y.get(t).__webglMultisampledFramebuffer:r,k.copy(t.viewport),E.copy(t.scissor),I=t.scissorTest}else k.copy(L).multiplyScalar(A).floor(),E.copy(F).multiplyScalar(A).floor(),I=$;if(X.bindFramebuffer(36160,s)&&q.drawBuffers&&r){let e=!1;if(t)if(t.isWebGLMultipleRenderTargets){const n=t.texture;if(O.length!==n.length||36064!==O[0]){for(let t=0,e=n.length;t=0&&e<=t.width-r&&n>=0&&n<=t.height-s&&xt.readPixels(e,n,r,s,gt.convert(o),gt.convert(l),i):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const t=null!==T?Y.get(T).__webglFramebuffer:null;X.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){if(!0!==e.isFramebufferTexture)return void console.error("THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.");const r=Math.pow(2,-n),s=Math.floor(e.image.width*r),i=Math.floor(e.image.height*r);J.setTexture2D(e,0),xt.copyTexSubImage2D(3553,n,0,0,t.x,t.y,s,i),X.unbindTexture()},this.copyTextureToTexture=function(t,e,n,r=0){const s=e.image.width,i=e.image.height,a=gt.convert(n.format),o=gt.convert(n.type);J.setTexture2D(n,0),xt.pixelStorei(37440,n.flipY),xt.pixelStorei(37441,n.premultiplyAlpha),xt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?xt.texSubImage2D(3553,r,t.x,t.y,s,i,a,o,e.image.data):e.isCompressedTexture?xt.compressedTexSubImage2D(3553,r,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):xt.texSubImage2D(3553,r,t.x,t.y,a,o,e.image),0===r&&n.generateMipmaps&&xt.generateMipmap(3553),X.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,r,s=0){if(b.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const i=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=gt.convert(r.format),u=gt.convert(r.type);let c;if(r.isDataTexture3D)J.setTexture3D(r,0),c=32879;else{if(!r.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");J.setTexture2DArray(r,0),c=35866}xt.pixelStorei(37440,r.flipY),xt.pixelStorei(37441,r.premultiplyAlpha),xt.pixelStorei(3317,r.unpackAlignment);const h=xt.getParameter(3314),d=xt.getParameter(32878),p=xt.getParameter(3316),f=xt.getParameter(3315),m=xt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;xt.pixelStorei(3314,g.width),xt.pixelStorei(32878,g.height),xt.pixelStorei(3316,t.min.x),xt.pixelStorei(3315,t.min.y),xt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isDataTexture3D?xt.texSubImage3D(c,s,e.x,e.y,e.z,i,a,o,l,u,g.data):n.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),xt.compressedTexSubImage3D(c,s,e.x,e.y,e.z,i,a,o,l,g.data)):xt.texSubImage3D(c,s,e.x,e.y,e.z,i,a,o,l,u,g),xt.pixelStorei(3314,h),xt.pixelStorei(32878,d),xt.pixelStorei(3316,p),xt.pixelStorei(3315,f),xt.pixelStorei(32877,m),0===s&&r.generateMipmaps&&xt.generateMipmap(c),X.unbindTexture()},this.initTexture=function(t){J.setTexture2D(t,0),X.unbindTexture()},this.resetState=function(){w=0,S=0,T=null,X.reset(),yt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}Sl.prototype.isWebGLRenderer=!0;class Tl extends Sl{}Tl.prototype.isWebGL1Renderer=!0;class _l{constructor(t,e=25e-5){this.name="",this.color=new ks(t),this.density=e}clone(){return new _l(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}_l.prototype.isFogExp2=!0;class Ml{constructor(t,e=1,n=1e3){this.name="",this.color=new ks(t),this.near=e,this.far=n}clone(){return new Ml(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Ml.prototype.isFog=!0;class kl extends as{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}kl.prototype.isScene=!0;class El{constructor(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=xn,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ln()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let r=0,s=this.stride;rt.far||e.push({distance:o,point:Rl.clone(),uv:ys.getUV(Rl,Pl,zl,Bl,Ul,Vl,Wl,new Vn),face:null,object:this})}copy(t){return super.copy(t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function Gl(t,e,n,r,s,i){Fl.subVectors(t,n).addScalar(.5).multiply(r),void 0!==s?($l.x=i*Fl.x-s*Fl.y,$l.y=s*Fl.x+i*Fl.y):$l.copy(Fl),t.copy(e),t.x+=$l.x,t.y+=$l.y,t.applyMatrix4(Ol)}Hl.prototype.isSprite=!0;const jl=new sr,ql=new sr;class Xl extends as{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,r;for(n=1,r=e.length;n0){jl.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(jl);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){jl.setFromMatrixPosition(t.matrixWorld),ql.setFromMatrixPosition(this.matrixWorld);const n=jl.distanceTo(ql)/t.zoom;let r,s;for(e[0].object.visible=!0,r=1,s=e.length;r=e[r].distance;r++)e[r-1].object.visible=!1,e[r].object.visible=!0;for(this._currentLevel=r-1;ro)continue;h.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(h);dt.far||e.push({distance:d,point:c.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}else for(let n=Math.max(0,i.start),r=Math.min(s.count,i.start+i.count)-1;no)continue;h.applyMatrix4(this.matrixWorld);const r=t.ray.origin.distanceTo(h);rt.far||e.push({distance:r,point:c.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}xu.prototype.isLine=!0;const bu=new sr,vu=new sr;class wu extends xu{constructor(t,e){super(t,e),this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,r=e.count;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function Cu(t,e,n,r,s,i,a){const o=Mu.distanceSqToPoint(t);if(os.far)return;i.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}Iu.prototype.isPoints=!0;class Nu extends Jn{constructor(t,e,n,r,s,i,a,o,l){super(t,e,n,r,s,i,a,o,l),this.format=void 0!==a?a:Ot,this.minFilter=void 0!==i?i:bt,this.magFilter=void 0!==s?s:bt,this.generateMipmaps=!1;const u=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback((function e(){u.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1=="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}Nu.prototype.isVideoTexture=!0;class Au extends Jn{constructor(t,e,n){super({width:t,height:e}),this.format=n,this.magFilter=ft,this.minFilter=ft,this.generateMipmaps=!1,this.needsUpdate=!0}}Au.prototype.isFramebufferTexture=!0;class Ru extends Jn{constructor(t,e,n,r,s,i,a,o,l,u,c,h){super(null,i,a,o,l,u,r,s,c,h),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}Ru.prototype.isCompressedTexture=!0;class Du extends Jn{constructor(t,e,n,r,s,i,a,o,l){super(t,e,n,r,s,i,a,o,l),this.needsUpdate=!0}}Du.prototype.isCanvasTexture=!0;class Lu extends Xs{constructor(t=1,e=8,n=0,r=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:r},e=Math.max(3,e);const s=[],i=[],a=[],o=[],l=new sr,u=new Vn;i.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let s=0,c=3;s<=e;s++,c+=3){const h=n+s/e*r;l.x=t*Math.cos(h),l.y=t*Math.sin(h),i.push(l.x,l.y,l.z),a.push(0,0,1),u.x=(i[c]/t+1)/2,u.y=(i[c+1]/t+1)/2,o.push(u.x,u.y)}for(let t=1;t<=e;t++)s.push(t,t+1,0);this.setIndex(s),this.setAttribute("position",new zs(i,3)),this.setAttribute("normal",new zs(a,3)),this.setAttribute("uv",new zs(o,2))}static fromJSON(t){return new Lu(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class Fu extends Xs{constructor(t=1,e=1,n=1,r=8,s=1,i=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:r,heightSegments:s,openEnded:i,thetaStart:a,thetaLength:o};const l=this;r=Math.floor(r),s=Math.floor(s);const u=[],c=[],h=[],d=[];let p=0;const f=[],m=n/2;let g=0;function y(n){const s=p,i=new Vn,f=new sr;let y=0;const x=!0===n?t:e,b=!0===n?1:-1;for(let t=1;t<=r;t++)c.push(0,m*b,0),h.push(0,b,0),d.push(.5,.5),p++;const v=p;for(let t=0;t<=r;t++){const e=t/r*o+a,n=Math.cos(e),s=Math.sin(e);f.x=x*s,f.y=m*b,f.z=x*n,c.push(f.x,f.y,f.z),h.push(0,b,0),i.x=.5*n+.5,i.y=.5*s*b+.5,d.push(i.x,i.y),p++}for(let t=0;t0&&y(!0),e>0&&y(!1)),this.setIndex(u),this.setAttribute("position",new zs(c,3)),this.setAttribute("normal",new zs(h,3)),this.setAttribute("uv",new zs(d,2))}static fromJSON(t){return new Fu(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class $u extends Fu{constructor(t=1,e=1,n=8,r=1,s=!1,i=0,a=2*Math.PI){super(0,t,e,n,r,s,i,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:r,openEnded:s,thetaStart:i,thetaLength:a}}static fromJSON(t){return new $u(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Ou extends Xs{constructor(t=[],e=[],n=1,r=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:r};const s=[],i=[];function a(t,e,n,r){const s=r+1,i=[];for(let r=0;r<=s;r++){i[r]=[];const a=t.clone().lerp(n,r/s),o=e.clone().lerp(n,r/s),l=s-r;for(let t=0;t<=l;t++)i[r][t]=0===t&&r===s?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(i[t+0]+=1),n<.2&&(i[t+2]+=1),r<.2&&(i[t+4]+=1))}}()}(),this.setAttribute("position",new zs(s,3)),this.setAttribute("normal",new zs(s.slice(),3)),this.setAttribute("uv",new zs(i,2)),0===r?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(t){return new Ou(t.vertices,t.indices,t.radius,t.details)}}class Pu extends Ou{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,r=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Pu(t.radius,t.detail)}}const zu=new sr,Bu=new sr,Uu=new sr,Vu=new ys;class Wu extends Xs{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const n=4,r=Math.pow(10,n),s=Math.cos(Rn*e),i=t.getIndex(),a=t.getAttribute("position"),o=i?i.count:a.count,l=[0,0,0],u=["a","b","c"],c=new Array(3),h={},d=[];for(let t=0;t0)){l=r;break}l=r-1}if(r=l,n[r]===i)return r/(s-1);const u=n[r];return(r+(i-u)/(n[r+1]-u))/(s-1)}getTangent(t,e){const n=1e-4;let r=t-n,s=t+n;r<0&&(r=0),s>1&&(s=1);const i=this.getPoint(r),a=this.getPoint(s),o=e||(i.isVector2?new Vn:new sr);return o.copy(a).sub(i).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new sr,r=[],s=[],i=[],a=new sr,o=new Fr;for(let e=0;e<=t;e++){const n=e/t;r[e]=this.getTangentAt(n,new sr)}s[0]=new sr,i[0]=new sr;let l=Number.MAX_VALUE;const u=Math.abs(r[0].x),c=Math.abs(r[0].y),h=Math.abs(r[0].z);u<=l&&(l=u,n.set(1,0,0)),c<=l&&(l=c,n.set(0,1,0)),h<=l&&n.set(0,0,1),a.crossVectors(r[0],n).normalize(),s[0].crossVectors(r[0],a),i[0].crossVectors(r[0],s[0]);for(let e=1;e<=t;e++){if(s[e]=s[e-1].clone(),i[e]=i[e-1].clone(),a.crossVectors(r[e-1],r[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(Fn(r[e-1].dot(r[e]),-1,1));s[e].applyMatrix4(o.makeRotationAxis(a,t))}i[e].crossVectors(r[e],s[e])}if(!0===e){let e=Math.acos(Fn(s[0].dot(s[t]),-1,1));e/=t,r[0].dot(a.crossVectors(s[0],s[t]))>0&&(e=-e);for(let n=1;n<=t;n++)s[n].applyMatrix4(o.makeRotationAxis(r[n],e*n)),i[n].crossVectors(r[n],s[n])}return{tangents:r,normals:s,binormals:i}}clone(){return(new this.constructor).copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Gu extends Hu{constructor(t=0,e=0,n=1,r=1,s=0,i=2*Math.PI,a=!1,o=0){super(),this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=i,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new Vn,r=2*Math.PI;let s=this.aEndAngle-this.aStartAngle;const i=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(l)/s)+1)*s:0===u&&l===s-1&&(l=s-2,u=1),this.closed||l>0?a=r[(l-1)%s]:(Xu.subVectors(r[0],r[1]).add(r[0]),a=Xu);const c=r[l%s],h=r[(l+1)%s];if(this.closed||l+2r.length-2?r.length-1:i+1],c=r[i>r.length-3?r.length-1:i+2];return n.set(Qu(a,o.x,l.x,u.x,c.x),Qu(a,o.y,l.y,u.y,c.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e=n){const t=r[s]-n,i=this.curves[s],a=i.getLength(),o=0===a?0:1-t/a;return i.getPointAt(o,e)}s++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,r=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const u=l.getPoint(1);return this.currentPoint.copy(u),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class dc extends hc{constructor(t){super(t),this.uuid=Ln(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,r=this.holes.length;n0)for(i=e;i=e;i-=r)a=Lc(i,t[i],t[i+1],a);return a&&Ic(a,a.next)&&(Fc(a),a=a.next),a}function fc(t,e){if(!t)return t;e||(e=t);let n,r=t;do{if(n=!1,r.steiner||!Ic(r,r.next)&&0!==Ec(r.prev,r,r.next))r=r.next;else{if(Fc(r),r=e=r.prev,r===r.next)break;n=!0}}while(n||r!==e);return e}function mc(t,e,n,r,s,i,a){if(!t)return;!a&&i&&function(t,e,n,r){let s=t;do{null===s.z&&(s.z=Tc(s.x,s.y,e,n,r)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next}while(s!==t);s.prevZ.nextZ=null,s.prevZ=null,function(t){let e,n,r,s,i,a,o,l,u=1;do{for(n=t,t=null,i=null,a=0;n;){for(a++,r=n,o=0,e=0;e0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(s=n,n=n.nextZ,o--):(s=r,r=r.nextZ,l--),i?i.nextZ=s:t=s,s.prevZ=i,i=s;n=r}i.nextZ=null,u*=2}while(a>1)}(s)}(t,r,s,i);let o,l,u=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,i?yc(t,r,s,i):gc(t))e.push(o.i/n),e.push(t.i/n),e.push(l.i/n),Fc(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?mc(t=xc(fc(t),e,n),e,n,r,s,i,2):2===a&&bc(t,e,n,r,s,i):mc(fc(t),e,n,r,s,i,1);break}}function gc(t){const e=t.prev,n=t,r=t.next;if(Ec(e,n,r)>=0)return!1;let s=t.next.next;for(;s!==t.prev;){if(Mc(e.x,e.y,n.x,n.y,r.x,r.y,s.x,s.y)&&Ec(s.prev,s,s.next)>=0)return!1;s=s.next}return!0}function yc(t,e,n,r){const s=t.prev,i=t,a=t.next;if(Ec(s,i,a)>=0)return!1;const o=s.xi.x?s.x>a.x?s.x:a.x:i.x>a.x?i.x:a.x,c=s.y>i.y?s.y>a.y?s.y:a.y:i.y>a.y?i.y:a.y,h=Tc(o,l,e,n,r),d=Tc(u,c,e,n,r);let p=t.prevZ,f=t.nextZ;for(;p&&p.z>=h&&f&&f.z<=d;){if(p!==t.prev&&p!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,p.x,p.y)&&Ec(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==t.prev&&f!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,f.x,f.y)&&Ec(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,p.x,p.y)&&Ec(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==t.prev&&f!==t.next&&Mc(s.x,s.y,i.x,i.y,a.x,a.y,f.x,f.y)&&Ec(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function xc(t,e,n){let r=t;do{const s=r.prev,i=r.next.next;!Ic(s,i)&&Cc(s,r,r.next,i)&&Rc(s,i)&&Rc(i,s)&&(e.push(s.i/n),e.push(r.i/n),e.push(i.i/n),Fc(r),Fc(r.next),r=t=i),r=r.next}while(r!==t);return fc(r)}function bc(t,e,n,r,s,i){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&kc(a,t)){let o=Dc(a,t);return a=fc(a,a.next),o=fc(o,o.next),mc(a,e,n,r,s,i),void mc(o,e,n,r,s,i)}t=t.next}a=a.next}while(a!==t)}function vc(t,e){return t.x-e.x}function wc(t,e){if(e=function(t,e){let n=e;const r=t.x,s=t.y;let i,a=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){const t=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=r&&t>a){if(a=t,t===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x=n.x&&n.x>=l&&r!==n.x&&Mc(si.x||n.x===i.x&&Sc(i,n)))&&(i=n,h=c)),n=n.next}while(n!==o);return i}(t,e),e){const n=Dc(e,t);fc(e,e.next),fc(n,n.next)}}function Sc(t,e){return Ec(t.prev,t,e.prev)<0&&Ec(e.next,t,t.next)<0}function Tc(t,e,n,r,s){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*s)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*s)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function _c(t){let e=t,n=t;do{(e.x=0&&(t-a)*(r-o)-(n-a)*(e-o)>=0&&(n-a)*(i-o)-(s-a)*(r-o)>=0}function kc(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Cc(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Rc(t,e)&&Rc(e,t)&&function(t,e){let n=t,r=!1;const s=(t.x+e.x)/2,i=(t.y+e.y)/2;do{n.y>i!=n.next.y>i&&n.next.y!==n.y&&s<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)&&(Ec(t.prev,t,e.prev)||Ec(t,e.prev,e))||Ic(t,e)&&Ec(t.prev,t,t.next)>0&&Ec(e.prev,e,e.next)>0)}function Ec(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Ic(t,e){return t.x===e.x&&t.y===e.y}function Cc(t,e,n,r){const s=Ac(Ec(t,e,n)),i=Ac(Ec(t,e,r)),a=Ac(Ec(n,r,t)),o=Ac(Ec(n,r,e));return s!==i&&a!==o||!(0!==s||!Nc(t,n,e))||!(0!==i||!Nc(t,r,e))||!(0!==a||!Nc(n,t,r))||!(0!==o||!Nc(n,e,r))}function Nc(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Ac(t){return t>0?1:t<0?-1:0}function Rc(t,e){return Ec(t.prev,t,t.next)<0?Ec(t,e,t.next)>=0&&Ec(t,t.prev,e)>=0:Ec(t,e,t.prev)<0||Ec(t,t.next,e)<0}function Dc(t,e){const n=new $c(t.i,t.x,t.y),r=new $c(e.i,e.x,e.y),s=t.next,i=e.prev;return t.next=e,e.prev=t,n.next=s,s.prev=n,r.next=n,n.prev=r,i.next=r,r.prev=i,r}function Lc(t,e,n,r){const s=new $c(t,e,n);return r?(s.next=r.next,s.prev=r,r.next.prev=s,r.next=s):(s.prev=s,s.next=s),s}function Fc(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function $c(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Oc{static area(t){const e=t.length;let n=0;for(let r=e-1,s=0;s80*n){o=u=t[0],l=c=t[1];for(let e=n;eu&&(u=h),d>c&&(c=d);p=Math.max(u-o,c-l),p=0!==p?1/p:0}return mc(i,a,n,o,l,p),a}(n,r);for(let t=0;t2&&t[e-1].equals(t[0])&&t.pop()}function zc(t,e){for(let n=0;nNumber.EPSILON){const h=Math.sqrt(c),d=Math.sqrt(l*l+u*u),p=e.x-o/h,f=e.y+a/h,m=((n.x-u/d-p)*u-(n.y+l/d-f)*l)/(a*u-o*l);r=p+a*m-t.x,s=f+o*m-t.y;const g=r*r+s*s;if(g<=2)return new Vn(r,s);i=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(u)&&(t=!0),t?(r=-o,s=a,i=Math.sqrt(c)):(r=a,s=o,i=Math.sqrt(c/2))}return new Vn(r/i,s/i)}const A=[];for(let t=0,e=k.length,n=e-1,r=t+1;t=0;t--){const e=t/p,n=c*Math.cos(e*Math.PI/2),r=h*Math.sin(e*Math.PI/2)+d;for(let t=0,e=k.length;t=0;){const r=n;let s=n-1;s<0&&(s=t.length-1);for(let t=0,n=o+2*p;t0)&&d.push(e,s,l),(t!==n-1||o0!=t>0&&this.version++,this._sheen=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}rh.prototype.isMeshPhysicalMaterial=!0;class sh extends bs{constructor(t){super(),this.type="MeshPhongMaterial",this.color=new ks(16777215),this.specular=new ks(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ks(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this}}sh.prototype.isMeshPhongMaterial=!0;class ih extends bs{constructor(t){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new ks(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ks(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}ih.prototype.isMeshToonMaterial=!0;class ah extends bs{constructor(t){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}ah.prototype.isMeshNormalMaterial=!0;class oh extends bs{constructor(t){super(),this.type="MeshLambertMaterial",this.color=new ks(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ks(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}oh.prototype.isMeshLambertMaterial=!0;class lh extends bs{constructor(t){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new ks(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Qe,this.normalScale=new Vn(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this}}lh.prototype.isMeshMatcapMaterial=!0;class uh extends du{constructor(t){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}uh.prototype.isLineDashedMaterial=!0;var ch=Object.freeze({__proto__:null,ShadowMaterial:eh,SpriteMaterial:Nl,RawShaderMaterial:Gi,ShaderMaterial:xi,PointsMaterial:Tu,MeshPhysicalMaterial:rh,MeshStandardMaterial:nh,MeshPhongMaterial:sh,MeshToonMaterial:ih,MeshNormalMaterial:ah,MeshLambertMaterial:oh,MeshDepthMaterial:ul,MeshDistanceMaterial:cl,MeshBasicMaterial:Es,MeshMatcapMaterial:lh,LineDashedMaterial:uh,LineBasicMaterial:du,Material:bs});const hh={arraySlice:function(t,e,n){return hh.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort((function(e,n){return t[e]-t[n]})),n},sortedArray:function(t,e,n){const r=t.length,s=new t.constructor(r);for(let i=0,a=0;a!==r;++i){const r=n[i]*e;for(let n=0;n!==e;++n)s[a++]=t[r+n]}return s},flattenJSON:function(t,e,n,r){let s=1,i=t[0];for(;void 0!==i&&void 0===i[r];)i=t[s++];if(void 0===i)return;let a=i[r];if(void 0!==a)if(Array.isArray(a))do{a=i[r],void 0!==a&&(e.push(i.time),n.push.apply(n,a)),i=t[s++]}while(void 0!==i);else if(void 0!==a.toArray)do{a=i[r],void 0!==a&&(e.push(i.time),a.toArray(n,n.length)),i=t[s++]}while(void 0!==i);else do{a=i[r],void 0!==a&&(e.push(i.time),n.push(a)),i=t[s++]}while(void 0!==i)},subclip:function(t,e,n,r,s=30){const i=t.clone();i.name=e;const a=[];for(let t=0;t=r)){l.push(e.times[t]);for(let n=0;ni.tracks[t].times[0]&&(o=i.tracks[t].times[0]);for(let t=0;t=r.times[h]){const t=h*l+o,e=t+l-o;d=hh.arraySlice(r.values,t,e)}else{const t=r.createInterpolant(),e=o,n=l-o;t.evaluate(i),d=hh.arraySlice(t.resultBuffer,e,n)}"quaternion"===s&&(new rr).fromArray(d).normalize().conjugate().toArray(d);const p=a.times.length;for(let t=0;t=s)break t;{const a=e[1];t=s)break e}i=n,n=0}}for(;n>>1;te;)--i;if(++i,0!==s||i!==r){s>=i&&(i=Math.max(i,1),s=i-1);const t=this.getValueSize();this.times=hh.arraySlice(n,s,i),this.values=hh.arraySlice(this.values,s*t,i*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,r=this.values,s=n.length;0===s&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let i=null;for(let e=0;e!==s;e++){const r=n[e];if("number"==typeof r&&isNaN(r)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,r),t=!1;break}if(null!==i&&i>r){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,r,i),t=!1;break}i=r}if(void 0!==r&&hh.isTypedArray(r))for(let e=0,n=r.length;e!==n;++e){const n=r[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=hh.arraySlice(this.times),e=hh.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===Be,s=t.length-1;let i=1;for(let a=1;a0){t[i]=t[s];for(let t=s*n,r=i*n,a=0;a!==n;++a)e[r+a]=e[t+a];++i}return i!==t.length?(this.times=hh.arraySlice(t,0,i),this.values=hh.arraySlice(e,0,i*n)):(this.times=t,this.values=e),this}clone(){const t=hh.arraySlice(this.times,0),e=hh.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}gh.prototype.TimeBufferType=Float32Array,gh.prototype.ValueBufferType=Float32Array,gh.prototype.DefaultInterpolation=ze;class yh extends gh{}yh.prototype.ValueTypeName="bool",yh.prototype.ValueBufferType=Array,yh.prototype.DefaultInterpolation=Pe,yh.prototype.InterpolantFactoryMethodLinear=void 0,yh.prototype.InterpolantFactoryMethodSmooth=void 0;class xh extends gh{}xh.prototype.ValueTypeName="color";class bh extends gh{}bh.prototype.ValueTypeName="number";class vh extends dh{constructor(t,e,n,r){super(t,e,n,r)}interpolate_(t,e,n,r){const s=this.resultBuffer,i=this.sampleValues,a=this.valueSize,o=(n-e)/(r-e);let l=t*a;for(let t=l+a;l!==t;l+=4)rr.slerpFlat(s,0,i,l-a,i,l,o);return s}}class wh extends gh{InterpolantFactoryMethodLinear(t){return new vh(this.times,this.values,this.getValueSize(),t)}}wh.prototype.ValueTypeName="quaternion",wh.prototype.DefaultInterpolation=ze,wh.prototype.InterpolantFactoryMethodSmooth=void 0;class Sh extends gh{}Sh.prototype.ValueTypeName="string",Sh.prototype.ValueBufferType=Array,Sh.prototype.DefaultInterpolation=Pe,Sh.prototype.InterpolantFactoryMethodLinear=void 0,Sh.prototype.InterpolantFactoryMethodSmooth=void 0;class Th extends gh{}Th.prototype.ValueTypeName="vector";class _h{constructor(t,e=-1,n,r=He){this.name=t,this.tracks=n,this.duration=e,this.blendMode=r,this.uuid=Ln(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,r=1/(t.fps||1);for(let t=0,s=n.length;t!==s;++t)e.push(Mh(n[t]).scale(r));const s=new this(t.name,t.duration,e,t.blendMode);return s.uuid=t.uuid,s}static toJSON(t){const e=[],n=t.tracks,r={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,r=n.length;t!==r;++t)e.push(gh.toJSON(n[t]));return r}static CreateFromMorphTargetSequence(t,e,n,r){const s=e.length,i=[];for(let t=0;t1){const t=i[1];let e=r[t];e||(r[t]=e=[]),e.push(n)}}const i=[];for(const t in r)i.push(this.CreateFromMorphTargetSequence(t,r[t],e,n));return i}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,r,s){if(0!==n.length){const i=[],a=[];hh.flattenJSON(n,i,a,r),0!==i.length&&s.push(new t(e,i,a))}},r=[],s=t.name||"default",i=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t{e&&e(s),this.manager.itemEnd(t)}),0),s;if(void 0!==Nh[t])return void Nh[t].push({onLoad:e,onProgress:n,onError:r});Nh[t]=[],Nh[t].push({onLoad:e,onProgress:n,onError:r});const i=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(i).then((e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body.getReader)return e;const n=Nh[t],r=e.body.getReader(),s=e.headers.get("Content-Length"),i=s?parseInt(s):0,a=0!==i;let o=0;const l=new ReadableStream({start(t){!function e(){r.read().then((({done:r,value:s})=>{if(r)t.close();else{o+=s.byteLength;const r=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:i});for(let t=0,e=n.length;t{switch(this.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then((t=>(new DOMParser).parseFromString(t,this.mimeType)));case"json":return t.json();default:return t.text()}})).then((e=>{kh.add(t,e);const n=Nh[t];delete Nh[t];for(let t=0,r=n.length;t{const n=Nh[t];if(void 0===n)throw this.manager.itemError(t),e;delete Nh[t];for(let t=0,r=n.length;t{this.manager.itemEnd(t)})),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class Rh extends Ch{constructor(t){super(t)}load(t,e,n,r){const s=this,i=new Ah(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(t,(function(n){try{e(s.parse(JSON.parse(n)))}catch(e){r?r(e):console.error(e),s.manager.itemError(t)}}),n,r)}parse(t){const e=[];for(let n=0;n0:r.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const s=t.uniforms[e];switch(r.uniforms[e]={},s.type){case"t":r.uniforms[e].value=n(s.value);break;case"c":r.uniforms[e].value=(new ks).setHex(s.value);break;case"v2":r.uniforms[e].value=(new Vn).fromArray(s.value);break;case"v3":r.uniforms[e].value=(new sr).fromArray(s.value);break;case"v4":r.uniforms[e].value=(new Qn).fromArray(s.value);break;case"m3":r.uniforms[e].value=(new Wn).fromArray(s.value);break;case"m4":r.uniforms[e].value=(new Fr).fromArray(s.value);break;default:r.uniforms[e].value=s.value}}if(void 0!==t.defines&&(r.defines=t.defines),void 0!==t.vertexShader&&(r.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(r.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)r.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(r.flatShading=1===t.shading),void 0!==t.size&&(r.size=t.size),void 0!==t.sizeAttenuation&&(r.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(r.map=n(t.map)),void 0!==t.matcap&&(r.matcap=n(t.matcap)),void 0!==t.alphaMap&&(r.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(r.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(r.bumpScale=t.bumpScale),void 0!==t.normalMap&&(r.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(r.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),r.normalScale=(new Vn).fromArray(e)}return void 0!==t.displacementMap&&(r.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(r.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(r.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(r.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(r.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(r.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(r.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(r.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(r.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularColorMap&&(r.specularColorMap=n(t.specularColorMap)),void 0!==t.envMap&&(r.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(r.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(r.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(r.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(r.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(r.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(r.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(r.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(r.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(r.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(r.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(r.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(r.clearcoatNormalScale=(new Vn).fromArray(t.clearcoatNormalScale)),void 0!==t.transmissionMap&&(r.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(r.thicknessMap=n(t.thicknessMap)),void 0!==t.sheenColorMap&&(r.sheenColorMap=n(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(r.sheenRoughnessMap=n(t.sheenRoughnessMap)),r}setTextures(t){return this.textures=t,this}}class sd{static decodeText(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);let e="";for(let n=0,r=t.length;n0){const n=new Eh(e);s=new Lh(n),s.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e0){r=new Lh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let e=0,r=t.length;e0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,r,this._addIndex*e,1,e);for(let t=e,s=e+e;t!==s;++t)if(n[t]!==n[t+e]){a.setValue(n,r);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,r=n*this._origIndex;t.getValue(e,r);for(let t=n,s=r;t!==s;++t)e[t]=e[r+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let r=0;r!==s;++r)t[e+r]=t[n+r]}_slerp(t,e,n,r){rr.slerpFlat(t,e,t,e,t,n,r)}_slerpAdditive(t,e,n,r,s){const i=this._workIndex*s;rr.multiplyQuaternionsFlat(t,i,t,e,t,n),rr.slerpFlat(t,e,t,e,t,i,r)}_lerp(t,e,n,r,s){const i=1-r;for(let a=0;a!==s;++a){const s=e+a;t[s]=t[s]*i+t[n+a]*r}}_lerpAdditive(t,e,n,r,s){for(let i=0;i!==s;++i){const s=e+i;t[s]=t[s]+t[n+i]*r}}}const $d=new RegExp("[\\[\\]\\.:\\/]","g"),Od="[^\\[\\]\\.:\\/]",Pd="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",zd=/((?:WC+[\/:])*)/.source.replace("WC",Od),Bd=/(WCOD+)?/.source.replace("WCOD",Pd),Ud=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Od),Vd=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Od),Wd=new RegExp("^"+zd+Bd+Ud+Vd+"$"),Hd=["material","materials","bones"];class Gd{constructor(t,e,n){this.path=e,this.parsedPath=n||Gd.parseTrackName(e),this.node=Gd.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new Gd.Composite(t,e,n):new Gd(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace($d,"")}static parseTrackName(t){const e=Wd.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==r&&-1!==r){const t=n.nodeName.substring(r+1);-1!==Hd.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(!e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let r=0;r=s){const i=s++,u=t[i];e[u.uuid]=l,t[l]=u,e[o]=i,t[i]=a;for(let t=0,e=r;t!==e;++t){const e=n[t],r=e[i],s=e[l];e[l]=r,e[i]=s}}}this.nCachedObjects_=s}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,r=n.length;let s=this.nCachedObjects_,i=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=r;t!==e;++t){const e=n[t];e[l]=e[s],e.pop()}}}this.nCachedObjects_=s}subscribe_(t,e){const n=this._bindingsIndicesByPath;let r=n[t];const s=this._bindings;if(void 0!==r)return s[r];const i=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,u=this.nCachedObjects_,c=new Array(l);r=s.length,n[t]=r,i.push(t),a.push(e),s.push(c);for(let n=u,r=o.length;n!==r;++n){const r=o[n];c[n]=new Gd(r,t,e)}return c}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const r=this._paths,s=this._parsedPaths,i=this._bindings,a=i.length-1,o=i[a];e[t[a]]=n,i[n]=o,i.pop(),s[n]=s[a],s.pop(),r[n]=r[a],r.pop()}}}jd.prototype.isAnimationObjectGroup=!0;class qd{constructor(t,e,n=null,r=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=r;const s=e.tracks,i=s.length,a=new Array(i),o={endingStart:Ue,endingEnd:Ue};for(let t=0;t!==i;++t){const e=s[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(i),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=$e,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,r=t._clip.duration,s=r/n,i=n/r;t.warp(1,s,e),this.warp(i,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const r=this._mixer,s=r.time,i=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=s,o[1]=s+n,l[0]=t/i,l[1]=e/i,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,r){if(!this.enabled)return void this._updateWeight(t);const s=this._startTime;if(null!==s){const r=(t-s)*n;if(r<0||0===n)return;this._startTime=null,e=n*r}e*=this._updateTimeScale(t);const i=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===Ge)for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(i),e[n].accumulateAdditive(a);else for(let n=0,s=t.length;n!==s;++n)t[n].evaluate(i),e[n].accumulate(r,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const r=n.evaluate(t)[0];e*=r,t>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;null!==n&&(e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e))}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let r=this.time+t,s=this._loopCount;const i=n===Oe;if(0===t)return-1===s?r:i&&1==(1&s)?e-r:r;if(n===Fe){-1===s&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(r>=e)r=e;else{if(!(r<0)){this.time=r;break t}r=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===s&&(t>=0?(s=0,this._setEndings(!0,0===this.repetitions,i)):this._setEndings(0===this.repetitions,!0,i)),r>=e||r<0){const n=Math.floor(r/e);r-=e*n,s+=Math.abs(n);const a=this.repetitions-s;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=t>0?e:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,i)}else this._setEndings(!1,!1,i);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=r;if(i&&1==(1&s))return e-r}return r}_setEndings(t,e,n){const r=this._interpolantSettings;n?(r.endingStart=Ve,r.endingEnd=Ve):(r.endingStart=t?this.zeroSlopeAtStart?Ve:Ue:We,r.endingEnd=e?this.zeroSlopeAtEnd?Ve:Ue:We)}_scheduleFading(t,e,n){const r=this._mixer,s=r.time;let i=this._weightInterpolant;null===i&&(i=r._lendControlInterpolant(),this._weightInterpolant=i);const a=i.parameterPositions,o=i.sampleValues;return a[0]=s,o[0]=e,a[1]=s+t,o[1]=n,this}}class Xd extends Cn{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,r=t._clip.tracks,s=r.length,i=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let u=l[o];void 0===u&&(u={},l[o]=u);for(let t=0;t!==s;++t){const s=r[t],l=s.name;let c=u[l];if(void 0!==c)i[t]=c;else{if(c=i[t],void 0!==c){null===c._cacheIndex&&(++c.referenceCount,this._addInactiveBinding(c,o,l));continue}const r=e&&e._propertyBindings[t].binding.parsedPath;c=new Fd(Gd.create(n,l,r),s.ValueTypeName,s.getValueSize()),++c.referenceCount,this._addInactiveBinding(c,o,l),i[t]=c}a[t].resultBuffer=c.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,r=this._actionsByClip[n];this._bindAction(t,r&&r.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,r=this.time+=t,s=Math.sign(t),i=this._accuIndex^=1;for(let a=0;a!==n;++a)e[a]._update(r,t,s,i);const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(i);return this}setTime(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return rp.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}sp.prototype.isBox2=!0;const ip=new sr,ap=new sr;class op{constructor(t=new sr,e=new sr){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){ip.subVectors(t,this.start),ap.subVectors(this.end,this.start);const n=ap.dot(ap);let r=ap.dot(ip)/n;return e&&(r=Fn(r,0,1)),r}closestPointToPoint(t,e,n){const r=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const lp=new sr;class up extends as{constructor(t,e){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;const n=new Xs,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Lp.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Lp,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}}class Pp extends wu{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new Xs;n.setAttribute("position",new zs(e,3)),n.setAttribute("color",new zs([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(n,new du({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(t,e,n){const r=new ks,s=this.geometry.attributes.color.array;return r.set(t),r.toArray(s,0),r.toArray(s,3),r.set(e),r.toArray(s,6),r.toArray(s,9),r.set(n),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class zp{constructor(){this.type="ShapePath",this.color=new ks,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new hc,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,n,r){return this.currentPath.quadraticCurveTo(t,e,n,r),this}bezierCurveTo(t,e,n,r,s,i){return this.currentPath.bezierCurveTo(t,e,n,r,s,i),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t,e){function n(t){const e=[];for(let n=0,r=t.length;nNumber.EPSILON){if(l<0&&(n=e[i],o=-o,a=e[s],l=-l),t.ya.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;r=!r}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return r}const s=Oc.isClockWise,i=this.subPaths;if(0===i.length)return[];if(!0===e)return n(i);let a,o,l;const u=[];if(1===i.length)return o=i[0],l=new dc,l.curves=o.curves,u.push(l),u;let c=!s(i[0].getPoints());c=t?!c:c;const h=[],d=[];let p,f,m=[],g=0;d[g]=void 0,m[g]=[];for(let e=0,n=i.length;e1){let t=!1;const e=[];for(let t=0,e=d.length;t0&&(t||(m=h))}for(let t=0,e=d.length;t65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),t=65504),Bp[0]=t;const e=Up[0];let n=e>>16&32768,r=e>>12&2047;const s=e>>23&255;return s<103?n:s>142?(n|=31744,n|=(255==s?0:1)&&8388607&e,n):s<113?(r|=2048,n|=(r>>114-s)+(r>>113-s&1),n):(n|=s-112<<10|r>>1,n+=1&r,n)}}const Wp=0,Hp=1,Gp=0,jp=1,qp=2;function Xp(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function Kp(t=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function Yp(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Iu(t,e)}function Jp(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Hl(t)}function Zp(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Iu(t,e)}function Qp(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Tu(t)}function tf(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Tu(t)}function ef(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Tu(t)}function nf(t,e,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new sr(t,e,n)}function rf(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new Ns(t,e).setUsage(bn)}function sf(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new As(t,e)}function af(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new Rs(t,e)}function of(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Ds(t,e)}function lf(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Ls(t,e)}function uf(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Fs(t,e)}function cf(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new $s(t,e)}function hf(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Os(t,e)}function df(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new zs(t,e)}function pf(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Bs(t,e)}function ff(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Pp(t)}function mf(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Ap(t,e)}function gf(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new wu(new Wu(t.geometry),new du({color:void 0!==e?e:16777215}))}function yf(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new wu(new Zc(t.geometry),new du({color:void 0!==e?e:16777215}))}function xf(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Ah(t)}function bf(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new $h(t)}function vf(t,e,n){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new _i(t,n)}function wf(){console.error("THREE.CanvasRenderer has been removed")}function Sf(){console.error("THREE.JSONLoader has been removed.")}Hu.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Hu.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},hc.prototype.fromPoints=function(t){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)},vp.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},pp.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Ch.prototype.extractUrlBase=function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),sd.extractUrlBase(t)},Ch.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},sp.prototype.center=function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},sp.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},sp.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},sp.prototype.size=function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)},or.prototype.center=function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},or.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},or.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},or.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},or.prototype.size=function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)},kr.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Ai.prototype.setFromMatrix=function(t){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(t)},op.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Wn.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},Wn.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},Wn.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},Wn.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},Wn.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},Wn.prototype.getInverse=function(t){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Fr.prototype.extractPosition=function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},Fr.prototype.flattenToArrayOffset=function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},Fr.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new sr).setFromMatrixColumn(this,3)},Fr.prototype.setRotationFromQuaternion=function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},Fr.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},Fr.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.multiplyVector4=function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},Fr.prototype.rotateAxis=function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},Fr.prototype.crossVector=function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},Fr.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},Fr.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},Fr.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},Fr.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},Fr.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Fr.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},Fr.prototype.makeFrustum=function(t,e,n,r,s,i){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,r,n,s,i)},Fr.prototype.getInverse=function(t){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Ii.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},rr.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},rr.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},Lr.prototype.isIntersectionBox=function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Lr.prototype.isIntersectionPlane=function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},Lr.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},ys.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},ys.prototype.barycoordFromPoint=function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},ys.prototype.midpoint=function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},ys.prototypenormal=function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},ys.prototype.plane=function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)},ys.barycoordFromPoint=function(t,e,n,r,s){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),ys.getBarycoord(t,e,n,r,s)},ys.normal=function(t,e,n,r){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),ys.getNormal(t,e,n,r)},dc.prototype.extractAllPoints=function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},dc.prototype.extrude=function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Bc(this,t)},dc.prototype.makeGeometry=function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new jc(this,t)},Vn.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},Vn.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},Vn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},sr.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},sr.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},sr.prototype.getPositionFromMatrix=function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},sr.prototype.getScaleFromMatrix=function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},sr.prototype.getColumnFromMatrix=function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},sr.prototype.applyProjection=function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},sr.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},sr.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},sr.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Qn.prototype.fromAttribute=function(t,e,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},Qn.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},as.prototype.getChildByName=function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},as.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},as.prototype.translate=function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},as.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},as.prototype.applyMatrix=function(t){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(as.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),di.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(di.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),je},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),tu.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},vi.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(Ph.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(Ns.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===bn},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(bn)}}}),Ns.prototype.setDynamic=function(t){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?bn:xn),this},Ns.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},Ns.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Xs.prototype.addIndex=function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},Xs.prototype.addAttribute=function(t,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(t,e):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(t,new Ns(arguments[1],arguments[2])))},Xs.prototype.addDrawCall=function(t,e,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},Xs.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},Xs.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},Xs.prototype.removeAttribute=function(t){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(t)},Xs.prototype.applyMatrix=function(t){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(Xs.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),El.prototype.setDynamic=function(t){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?bn:xn),this},El.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Bc.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},Bc.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},Bc.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},kl.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Kd.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(bs.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new ks}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=t===y}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(t){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=t}},vertexTangents:{get:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")},set:function(){console.warn("THREE."+this.type+": .vertexTangents has been removed.")}}}),Object.defineProperties(xi.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Sl.prototype.clearTarget=function(t,e,n,r){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,n,r)},Sl.prototype.animate=function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},Sl.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},Sl.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},Sl.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},Sl.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},Sl.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},Sl.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},Sl.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},Sl.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},Sl.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},Sl.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},Sl.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},Sl.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},Sl.prototype.enableScissorTest=function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},Sl.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},Sl.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},Sl.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},Sl.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},Sl.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},Sl.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},Sl.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},Sl.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},Sl.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},Sl.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(Sl.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(t){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===t?Ye:Ke}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}},gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}}),Object.defineProperties(hl.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(tr.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Id.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const e=this;return(new fd).load(t,(function(t){e.setBuffer(t)})),this},Ld.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Si.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)},Si.prototype.clear=function(t,e,n,r){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(t,e,n,r)},Kn.crossOrigin=void 0,Kn.loadTexture=function(t,e,n,r){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const s=new Oh;s.setCrossOrigin(this.crossOrigin);const i=s.load(t,n,void 0,r);return e&&(i.mapping=e),i},Kn.loadTextureCube=function(t,e,n,r){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const s=new Fh;s.setCrossOrigin(this.crossOrigin);const i=s.load(t,n,void 0,r);return e&&(i.mapping=e),i},Kn.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},Kn.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const Tf={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function _f(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}function Mf(){return console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),new Xs}function kf(){return console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),new Xs}function Ef(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")}function If(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")}function Cf(){console.error("THREE.ImmediateRenderObject has been removed.")}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:r}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=r)},1564:(t,e,n)=>{"use strict";n.r(e),n.d(e,{CSS3DObject:()=>o,CSS3DSprite:()=>l,CSS3DRenderer:()=>h});var r=n(2212);const s=new r.Vector3,i=new r.Quaternion,a=new r.Vector3;class o extends r.Object3D{constructor(t=document.createElement("div")){super(),this.element=t,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",(function(){this.traverse((function(t){t.element instanceof Element&&null!==t.element.parentNode&&t.element.parentNode.removeChild(t.element)}))}))}copy(t,e){return super.copy(t,e),this.element=t.element.cloneNode(!0),this}}o.prototype.isCSS3DObject=!0;class l extends o{constructor(t){super(t),this.rotation2D=0}copy(t,e){return super.copy(t,e),this.rotation2D=t.rotation2D,this}}l.prototype.isCSS3DSprite=!0;const u=new r.Matrix4,c=new r.Matrix4;class h{constructor(t={}){const e=this;let n,r,o,l;const h={camera:{fov:0,style:""},objects:new WeakMap},d=void 0!==t.element?t.element:document.createElement("div");d.style.overflow="hidden",this.domElement=d;const p=document.createElement("div");function f(t){return Math.abs(t)<1e-10?0:t}function m(t){const e=t.elements;return"matrix3d("+f(e[0])+","+f(-e[1])+","+f(e[2])+","+f(e[3])+","+f(e[4])+","+f(-e[5])+","+f(e[6])+","+f(e[7])+","+f(e[8])+","+f(-e[9])+","+f(e[10])+","+f(e[11])+","+f(e[12])+","+f(-e[13])+","+f(e[14])+","+f(e[15])+")"}function g(t){const e=t.elements;return"translate(-50%,-50%)matrix3d("+f(e[0])+","+f(e[1])+","+f(e[2])+","+f(e[3])+","+f(-e[4])+","+f(-e[5])+","+f(-e[6])+","+f(-e[7])+","+f(e[8])+","+f(e[9])+","+f(e[10])+","+f(e[11])+","+f(e[12])+","+f(e[13])+","+f(e[14])+","+f(e[15])+")"}function y(t,n,r,o){if(t.isCSS3DObject){let o;t.onBeforeRender(e,n,r),t.isCSS3DSprite?(u.copy(r.matrixWorldInverse),u.transpose(),0!==t.rotation2D&&u.multiply(c.makeRotationZ(t.rotation2D)),t.matrixWorld.decompose(s,i,a),u.setPosition(s),u.scale(a),u.elements[3]=0,u.elements[7]=0,u.elements[11]=0,u.elements[15]=1,o=g(u)):o=g(t.matrixWorld);const l=t.element,d=h.objects.get(t);if(void 0===d||d.style!==o){l.style.transform=o;const e={style:o};h.objects.set(t,e)}l.style.display=t.visible?"":"none",l.parentNode!==p&&p.appendChild(l),t.onAfterRender(e,n,r)}for(let e=0,s=t.children.length;e{t.exports=function(){return n(9855)('(()=>{var t={508:(t,e,r)=>{const{resize:a}=r(140);t.exports={buildImageList:t=>{const e=[];let r=100/Math.min(t.width,t.height);for(;;)if(e.push(r),r*=Math.pow(2,1/3),r>=.95){r=1;break}e.push(r),e.reverse();const i=[];for(let r=0;r{const e=Math.min(t.width,t.height),r=[],i=[];r.push(256/e),r.push(128/e);for(let e=0;e{const{Cumsum:a}=r(535),i=({image:t,cx:e,cy:r,sdThresh:a,imageDataCumsum:i,imageDataSqrCumsum:s})=>{if(e-6<0||e+6>=t.width)return null;if(r-6<0||r+6>=t.height)return null;let h=i.query(e-6,r-6,e+6,r+6);h/=169;let o=s.query(e-6,r-6,e+6,r+6);return o-=2*h*i.query(e-6,r-6,e+6,r+6),o+=169*h*h,o/169{const{image:e,cx:r,cy:a,vlen:i,tx:s,ty:h,imageDataCumsum:o,imageDataSqrCumsum:l}=t,{data:u,width:n,height:m}=e;if(r-6<0||r+6>=n)return null;if(a-6<0||a+6>=m)return null;let c=o.query(r-6,a-6,r+6,a+6),f=l.query(r-6,a-6,r+6,a+6),g=0,d=(a-6)*n+(r-6),p=(h-6)*n+(s-6),w=n-13;for(let t=0;t<13;t++){for(let t=0;t<13;t++)g+=u[d]*u[p],d+=1,p+=1;d+=w,p+=w}let M=o.query(s-6,h-6,s+6,h+6);M/=169,g-=M*c;let y=f-c*c/169;return 0==y?null:(y=Math.sqrt(y),1*g/(i*y))};t.exports={extract:t=>{const{data:e,width:r,height:h,scale:o}=t,l=[r*h];for(let t=0;t999&&(t=999),t<0&&(t=0),n[t]+=1,c+=1,l[a]=!0}}const f=.02*r*h;let g=999,d=0;for(;g>=0&&(d+=n[g],!(d>f));)g--;for(let t=0;tu&&(u=h,u>.95))break}if(u>.95)break}y[h]=u}return(t=>{let{image:e,featureMap:r,templateSize:a,searchSize:h,occSize:o,maxSimThresh:l,minSimThresh:u,sdThresh:n,imageDataCumsum:m,imageDataSqrCumsum:c}=t;const{data:f,width:g,height:d,scale:p}=e;o=Math.floor(Math.min(e.width,e.height)/10);const w=3*(2*a+1),M=Math.floor(g/w),y=Math.floor(d/w);let x=Math.floor(g/o)*Math.floor(d/o)+M*y;const q=[],C=new Float32Array(f.length);for(let t=0;th*h)continue;if(0===i&&0===a)continue;const o=s({image:e,vlen:p,cx:r+i,cy:f+a,tx:r,ty:f,imageDataCumsum:m,imageDataSqrCumsum:c});if(null!==o){if(oM&&(M=o,M>.99))break}}if(w.99)break}if(w.99)C[f*g+r]=1;else{q.push({x:r,y:f}),S+=1;for(let t=-o;t<=o;t++)for(let e=-o;e<=o;e++)f+t<0||f+t>=d||r+e<0||r+e>=g||(C[(f+t)*g+(r+e)]=1)}}return q})({image:t,featureMap:y,templateSize:6,searchSize:2,occSize:16,maxSimThresh:.9,minSimThresh:.2,sdThresh:8,imageDataCumsum:w,imageDataSqrCumsum:M})}}},535:t=>{t.exports={Cumsum:class{constructor(t,e,r){this.cumsum=[];for(let t=0;t0&&(i-=this.cumsum[e-1][r]),t>0&&(i-=this.cumsum[a][t-1]),t>0&&e>0&&(i+=this.cumsum[e-1][t-1]),i}}}},140:t=>{t.exports={downsampleBilinear:({image:t})=>{const{data:e,width:r,height:a}=t,i=Math.floor(r/2),s=Math.floor(a/2),h=new Float32Array(i*s),o=[0,1,r,r+1];for(let t=0;t{const{width:a,height:i,data:s}=t,h=2*t.width+(e?1:0),o=2*t.height+(r?1:0),l=new Float32Array(h*o);for(let t=0;t=a&&(u=a-1);for(let n=0;n=i&&(c=i-1);const f=(u-e)*(c-o)*s[m*a+r]+(u-e)*(o-m)*s[c*a+r]+(e-r)*(c-o)*s[m*a+u]+(e-r)*(o-m)*s[c*a+u];l[n*h+t]=f}}return{data:l,width:h,height:o}},resize:({image:t,ratio:e})=>{const r=Math.round(t.width*e),a=Math.round(t.height*e),i=new Uint8Array(r*a);for(let s=0;s=t.width&&(o=t.width-1);for(let l=0;l=t.height&&(u=t.height-1);let n=0,m=0;for(let e=h;e<=o;e++)for(let r=a;r<=u;r++)n+=1*t.data[r*t.width+e],m+=1;i[l*r+s]=Math.floor(n/m)}}return{data:i,width:r,height:a}}}}},e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={exports:{}};return t[a](i,i.exports,r),i.exports}(()=>{const{extract:t}=r(589),{buildTrackingImageList:e}=r(508);onmessage=t=>{const{data:r}=t;if("compile"===r.type){const{targetImages:t}=r,i=50/t.length;let s=0;const h=[];for(let r=0;r{s+=u,postMessage({type:"progress",percent:s})}));h.push(n)}postMessage({type:"compileDone",list:h})}};const a=(e,r)=>{const a=[];for(let i=0;i{t.exports=function(){return n(9855)('(()=>{var t={331:(t,e,r)=>{"use strict";r.r(e),r.d(e,{AbstractMatrix:()=>v,CHO:()=>tt,CholeskyDecomposition:()=>tt,EVD:()=>K,EigenvalueDecomposition:()=>K,LU:()=>H,LuDecomposition:()=>H,Matrix:()=>k,MatrixColumnSelectionView:()=>T,MatrixColumnView:()=>I,MatrixFlipColumnView:()=>A,MatrixFlipRowView:()=>q,MatrixRowSelectionView:()=>P,MatrixRowView:()=>C,MatrixSelectionView:()=>V,MatrixSubView:()=>N,MatrixTransposeView:()=>j,NIPALS:()=>et,Nipals:()=>et,QR:()=>$,QrDecomposition:()=>$,SVD:()=>L,SingularValueDecomposition:()=>L,WrapperMatrix1D:()=>z,WrapperMatrix2D:()=>F,correlation:()=>J,covariance:()=>B,default:()=>k,determinant:()=>X,inverse:()=>O,linearDependencies:()=>Q,pseudoInverse:()=>W,solve:()=>U,wrap:()=>D});const s=Object.prototype.toString;function o(t){return s.call(t).endsWith("Array]")}const n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;lh&&(h=t[l]);return h},i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;l1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");if(void 0!==r.output){if(!o(r.output))throw new TypeError("output option must be an array if specified");e=r.output}else e=new Array(t.length);var s=i(t),h=n(t);if(s===h)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var l=r.min,u=void 0===l?r.autoMinMax?s:0:l,a=r.max,c=void 0===a?r.autoMinMax?h:1:a;if(u>=c)throw new RangeError("min option must be smaller than max option");for(var f=(c-u)/(h-s),m=0;ms)throw new RangeError("Row index out of range")}function m(t,e,r){let s=r?t.columns:t.columns-1;if(e<0||e>s)throw new RangeError("Column index out of range")}function g(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function w(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function p(t,e,r){return{row:d(t,e),column:y(t,r)}}function d(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for row indices");if(e.some((e=>e<0||e>=t.rows)))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function y(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for column indices");if(e.some((e=>e<0||e>=t.columns)))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function M(t,e,r,s,o){if(5!==arguments.length)throw new RangeError("expected 4 arguments");if(x("startRow",e),x("endRow",r),x("startColumn",s),x("endColumn",o),e>r||s>o||e<0||e>=t.rows||r<0||r>=t.rows||s<0||s>=t.columns||o<0||o>=t.columns)throw new RangeError("Submatrix indices are out of range")}function b(t,e=0){let r=[];for(let s=0;s=o)throw new RangeError("min must be smaller than max");let i=o-s,h=new k(t,e);for(let r=0;rr?(o=!0,r=e):(s=!1,o=!0);t++}return s}isReducedEchelonForm(){let t=0,e=0,r=-1,s=!0,o=!1;for(;tr?(o=!0,r=e):(s=!1,o=!0);for(let r=e+1;rt.get(s,r)&&(s=o);if(0===t.get(s,r))r++;else{t.swapRows(e,s);let o=t.get(e,r);for(let s=r;s=0;)if(0===t.maxRow(s))s--;else{let o=0,n=!1;for(;ot&&(t=this.get(e,r));return t}maxIndex(){E(this);let t=this.get(0,0),e=[0,0];for(let r=0;rt&&(t=this.get(r,s),e[0]=r,e[1]=s);return e}min(){if(this.isEmpty())return NaN;let t=this.get(0,0);for(let e=0;ee&&(e=this.get(t,r));return e}maxRowIndex(t){f(this,t),E(this);let e=this.get(t,0),r=[t,0];for(let s=1;se&&(e=this.get(t,s),r[1]=s);return r}minRow(t){if(f(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;re&&(e=this.get(r,t));return e}maxColumnIndex(t){m(this,t),E(this);let e=this.get(0,t),r=[0,t];for(let s=1;se&&(e=this.get(s,t),r[0]=s);return r}minColumn(t){if(m(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;t0&&h(o,{min:e,max:r,output:o}),s.setRow(t,o)}return s}scaleColumns(t={}){if("object"!=typeof t)throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;tr||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let s=new k(t.length,r-e+1);for(let o=0;o=this.rows)throw new RangeError(`Row index out of range: ${t[o]}`);s.set(o,n-e,this.get(t[o],n))}return s}subMatrixColumn(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let s=new k(r-e+1,t.length);for(let o=0;o=this.columns)throw new RangeError(`Column index out of range: ${t[o]}`);s.set(n-e,o,this.get(n,t[o]))}return s}setSubMatrix(t,e,r){if((t=k.checkMatrix(t)).isEmpty())return this;M(this,e,e+t.rows-1,r,r+t.columns-1);for(let s=0;s=0){if(this.data=[],!(Number.isInteger(e)&&e>=0))throw new TypeError("nColumns must be a positive integer");for(let r=0;r>t);return this},t.prototype.signPropagatingRightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>t.get(e,r));return this},t.signPropagatingRightShift=function(t,r){return new e(t).signPropagatingRightShift(r)},t.prototype.rightShift=function(t){return"number"==typeof t?this.rightShiftS(t):this.rightShiftM(t)},t.prototype.rightShiftS=function(t){for(let e=0;e>>t);return this},t.prototype.rightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>>t.get(e,r));return this},t.rightShift=function(t,r){return new e(t).rightShift(r)},t.prototype.zeroFillRightShift=t.prototype.rightShift,t.prototype.zeroFillRightShiftS=t.prototype.rightShiftS,t.prototype.zeroFillRightShiftM=t.prototype.rightShiftM,t.zeroFillRightShift=t.rightShift,t.prototype.not=function(){for(let t=0;tMath.abs(l[o])&&(o=e);if(o!==r){for(s=0;s=0;o--){for(s=0;se?s.set(o,e,t.get(o,e)):o===e?s.set(o,e,1):s.set(o,e,0);return s}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,s=new k(e,r);for(let o=0;oMath.abs(e)?(r=e/t,Math.abs(t)*Math.sqrt(1+r*r)):0!==e?(r=t/e,Math.abs(e)*Math.sqrt(1+r*r)):0}class ${constructor(t){let e,r,s,o,n=(t=F.checkMatrix(t)).clone(),i=t.rows,h=t.columns,l=new Float64Array(h);for(s=0;s=0;n--){for(o=0;o=0;r--){for(t=0;t=0;t--)if(0!==m[t]){for(let e=t+1;e=0;t--){if(t0;){let t,e;for(t=E-2;t>=-1&&-1!==t;t--){const e=Number.MIN_VALUE+R*Math.abs(m[t]+Math.abs(m[t+1]));if(Math.abs(p[t])<=e||Number.isNaN(p[t])){p[t]=0;break}}if(t===E-2)e=4;else{let r;for(r=E-1;r>=t&&r!==t;r--){let e=(r!==E?Math.abs(p[r]):0)+(r!==t+1?Math.abs(p[r-1]):0);if(Math.abs(m[r])<=R*e){m[r]=0;break}}r===t?e=3:r===E-1?e=1:(e=2,t=r)}switch(t++,e){case 1:{let e=p[E-2];p[E-2]=0;for(let r=E-2;r>=t;r--){let o=_(m[r],e),n=m[r]/o,i=e/o;if(m[r]=o,r!==t&&(e=-i*p[r-1],p[r-1]=n*p[r-1]),u)for(let t=0;t=m[t+1]);){let e=m[t];if(m[t]=m[t+1],m[t+1]=e,u&&te&&o.set(n,r,t.get(n,r)/this.s[r]);let n=this.U,i=n.rows,h=n.columns,l=new k(r,i);for(let t=0;tt&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return k.diag(this.s)}}function O(t,e=!1){return t=F.checkMatrix(t),e?new L(t).inverse():U(t,k.eye(t.rows))}function U(t,e,r=!1){return t=F.checkMatrix(t),e=F.checkMatrix(e),r?new L(t).solve(e):t.isSquare()?new H(t).solve(e):new $(t).solve(e)}function X(t){if((t=k.checkMatrix(t)).isSquare()){if(0===t.columns)return 1;let e,r,s,o;if(2===t.columns)return e=t.get(0,0),r=t.get(0,1),s=t.get(1,0),o=t.get(1,1),e*o-r*s;if(3===t.columns){let o,n,i;return o=new V(t,[1,2],[1,2]),n=new V(t,[1,2],[0,2]),i=new V(t,[1,2],[0,1]),e=t.get(0,0),r=t.get(0,1),s=t.get(0,2),e*X(o)-r*X(n)+s*X(i)}return new H(t).determinant}throw Error("determinant can only be calculated for a square matrix")}function Y(t,e){let r=[];for(let s=0;so)return new Array(e.rows+1).fill(0);{let t=e.addRow(r,[0]);for(let e=0;ee?n[t]=1/n[t]:n[t]=0;return o.mmul(k.diag(n).mmul(s.transpose()))}function B(t,e=t,r={}){t=new k(t);let s=!1;if("object"!=typeof e||k.isMatrix(e)||Array.isArray(e)?e=new k(e):(r=e,e=t,s=!0),t.rows!==e.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:o=!0}=r;o&&(t=t.center("column"),s||(e=e.center("column")));const n=t.transpose().mmul(e);for(let e=0;e0;h--){for(c=0,i=0,u=0;u0&&(n=-n),e[h]=c*n,i-=o*n,r[h-1]=o-n,l=0;lu){b=0;do{for(b+=1,o=r[u],c=(r[u+1]-o)/(2*e[u]),f=_(c,1),c<0&&(f=-f),r[u]=e[u]/(c+f),r[u+1]=e[u]*(c+f),m=r[u+1],n=o-r[u],i=u+2;i=u;i--)for(p=w,w=g,M=y,o=g*e[i],n=g*c,f=_(c,e[i]),e[i+1]=y*f,y=e[i]/f,g=c/f,c=g*r[i]-y*o,r[i+1]=n+y*(g*o+y*r[i]),l=0;lv*E)}r[u]=r[u]+x,e[u]=0}for(i=0;i=u;h--)r[h]=e.get(h,u-1)/a,i+=r[h]*r[h];for(n=Math.sqrt(i),r[u]>0&&(n=-n),i-=r[u]*n,r[u]=r[u]-n,l=u;l=u;h--)o+=r[h]*e.get(h,l);for(o/=i,h=u;h<=c;h++)e.set(h,l,e.get(h,l)-o*r[h])}for(h=0;h<=c;h++){for(o=0,l=c;l>=u;l--)o+=r[l]*e.get(h,l);for(o/=i,l=u;l<=c;l++)e.set(h,l,e.get(h,l)-o*r[l])}r[u]=a*r[u],e.set(u,u-1,a*n)}}for(h=0;h=1;u--)if(0!==e.get(u,u-1)){for(h=u+1;h<=c;h++)r[h]=e.get(h,u-1);for(l=u;l<=c;l++){for(n=0,h=u;h<=c;h++)n+=r[h]*s.get(h,l);for(n=n/r[u]/e.get(u,u-1),h=u;h<=c;h++)s.set(h,l,s.get(h,l)+n*r[h])}}}(n,t,e,i),function(t,e,r,s,o){let n,i,h,l,u,a,c,f,m,g,w,p,d,y,M,b=t-1,x=t-1,E=Number.EPSILON,v=0,S=0,k=0,R=0,I=0,T=0,A=0,q=0;for(n=0;nx)&&(r[n]=o.get(n,n),e[n]=0),i=Math.max(n-1,0);i=0;){for(l=b;l>0&&(T=Math.abs(o.get(l-1,l-1))+Math.abs(o.get(l,l)),0===T&&(T=S),!(Math.abs(o.get(l,l-1))=0){for(A=k>=0?k+A:k-A,r[b-1]=f+A,r[b]=r[b-1],0!==A&&(r[b]=f-c/A),e[b-1]=0,e[b]=0,f=o.get(b,b-1),T=Math.abs(f)+Math.abs(A),k=f/T,R=A/T,I=Math.sqrt(k*k+R*R),k/=I,R/=I,i=b-1;i0)){for(T=Math.sqrt(T),m=l&&(A=o.get(u,u),I=f-A,T=m-A,k=(I*T-c)/o.get(u+1,u)+o.get(u,u+1),R=o.get(u+1,u+1)-A-I-T,I=o.get(u+2,u+1),T=Math.abs(k)+Math.abs(R)+Math.abs(I),k/=T,R/=T,I/=T,u!==l)&&!(Math.abs(o.get(u,u-1))*(Math.abs(R)+Math.abs(I))u+2&&o.set(n,n-3,0);for(h=u;h<=b-1&&(y=h!==b-1,h!==u&&(k=o.get(h,h-1),R=o.get(h+1,h-1),I=y?o.get(h+2,h-1):0,f=Math.abs(k)+Math.abs(R)+Math.abs(I),0!==f&&(k/=f,R/=f,I/=f)),0!==f);h++)if(T=Math.sqrt(k*k+R*R+I*I),k<0&&(T=-T),0!==T){for(h!==u?o.set(h,h-1,-T*f):l!==u&&o.set(h,h-1,-o.get(h,h-1)),k+=T,f=k/T,m=R/T,A=I/T,R/=k,I/=k,i=h;i=0;b--)if(k=r[b],R=e[b],0===R)for(l=b,o.set(b,b,1),n=b-1;n>=0;n--){for(c=o.get(n,n)-k,I=0,i=l;i<=b;i++)I+=o.get(n,i)*o.get(i,b);if(e[n]<0)A=c,T=I;else if(l=n,0===e[n]?o.set(n,b,0!==c?-I/c:-I/(E*S)):(f=o.get(n,n+1),m=o.get(n+1,n),R=(r[n]-k)*(r[n]-k)+e[n]*e[n],a=(f*T-A*I)/R,o.set(n,b,a),o.set(n+1,b,Math.abs(f)>Math.abs(A)?(-I-c*a)/f:(-T-m*a)/A)),a=Math.abs(o.get(n,b)),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b,o.get(i,b)/a)}else if(R<0)for(l=b-1,Math.abs(o.get(b,b-1))>Math.abs(o.get(b-1,b))?(o.set(b-1,b-1,R/o.get(b,b-1)),o.set(b-1,b,-(o.get(b,b)-k)/o.get(b,b-1))):(M=Z(0,-o.get(b-1,b),o.get(b-1,b-1)-k,R),o.set(b-1,b-1,M[0]),o.set(b-1,b,M[1])),o.set(b,b-1,0),o.set(b,b,1),n=b-2;n>=0;n--){for(g=0,w=0,i=l;i<=b;i++)g+=o.get(n,i)*o.get(i,b-1),w+=o.get(n,i)*o.get(i,b);if(c=o.get(n,n)-k,e[n]<0)A=c,I=g,T=w;else if(l=n,0===e[n]?(M=Z(-g,-w,c,R),o.set(n,b-1,M[0]),o.set(n,b,M[1])):(f=o.get(n,n+1),m=o.get(n+1,n),p=(r[n]-k)*(r[n]-k)+e[n]*e[n]-R*R,d=2*(r[n]-k)*R,0===p&&0===d&&(p=E*S*(Math.abs(c)+Math.abs(R)+Math.abs(f)+Math.abs(m)+Math.abs(A))),M=Z(f*I-A*g+R*w,f*T-A*w-R*g,p,d),o.set(n,b-1,M[0]),o.set(n,b,M[1]),Math.abs(f)>Math.abs(A)+Math.abs(R)?(o.set(n+1,b-1,(-g-c*o.get(n,b-1)+R*o.get(n,b))/f),o.set(n+1,b,(-w-c*o.get(n,b)-R*o.get(n,b-1))/f)):(M=Z(-I-m*o.get(n,b-1),-T-m*o.get(n,b),A,R),o.set(n+1,b-1,M[0]),o.set(n+1,b,M[1]))),a=Math.max(Math.abs(o.get(n,b-1)),Math.abs(o.get(n,b))),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b-1,o.get(i,b-1)/a),o.set(i,b,o.get(i,b)/a)}for(n=0;nx)for(i=n;i=0;i--)for(n=0;n<=x;n++){for(A=0,h=0;h<=Math.min(i,x);h++)A+=s.get(n,h)*o.get(h,i);s.set(n,i,A)}}}(n,l,h,i,t)}this.n=n,this.e=l,this.d=h,this.V=i}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t,e,r=this.n,s=this.e,o=this.d,n=new k(r,r);for(t=0;t0?n.set(t,t+1,s[t]):s[t]<0&&n.set(t,t-1,s[t])}return n}}function Z(t,e,r,s){let o,n;return Math.abs(r)>Math.abs(s)?(o=s/r,n=r+o*s,[(t+o*e)/n,(e-o*t)/n]):(o=r/s,n=s+o*r,[(o*t+e)/n,(o*e-t)/n])}class tt{constructor(t){if(!(t=F.checkMatrix(t)).isSymmetric())throw new Error("Matrix is not symmetric");let e,r,s,o=t,n=o.rows,i=new k(n,n),h=!0;for(r=0;r0,i.set(r,r,Math.sqrt(Math.max(t,0))),s=r+1;s=0;n--)for(o=0;on;e++)u=t.transpose().mmul(i).div(i.transpose().mmul(i).get(0,0)),u=u.div(u.norm()),h=t.mmul(u).div(u.transpose().mmul(u).get(0,0)),e>0&&(c=h.clone().sub(a).pow(2).sum()),a=h.clone(),r?(l=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),l=l.div(l.norm()),i=r.mmul(l).div(l.transpose().mmul(l).get(0,0))):i=h;if(r){let e=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));e=e.div(e.norm());let s=t.clone().sub(h.clone().mmul(e.transpose())),o=i.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),n=r.clone().sub(h.clone().mulS(o.get(0,0)).mmul(l.transpose()));this.t=h,this.p=e.transpose(),this.w=u.transpose(),this.q=l,this.u=i,this.s=h.transpose().mmul(h),this.xResidual=s,this.yResidual=n,this.betas=o}else this.w=u.transpose(),this.s=h.transpose().mmul(h).sqrt(),this.t=s?h.clone().div(this.s.get(0,0)):h,this.xResidual=t.sub(h.mmul(u.transpose()))}}},842:(t,e,r)=>{"use strict";r.d(e,{Z:()=>s});class s{constructor(t=[],e=o){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,s=e[t];for(;t>0;){const o=t-1>>1,n=e[o];if(r(s,n)>=0)break;e[t]=n,t=o}e[t]=s}_down(t){const{data:e,compare:r}=this,s=this.length>>1,o=e[t];for(;t=0)break;e[t]=n,t=s}e[t]=o}}function o(t,e){return te?1:0}},902:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{solveHomography:n}=r(450);t.exports={estimate:({screenCoords:t,worldCoords:e,projectionTransform:r})=>{const i=n(e.map((t=>[t.x,t.y])),t.map((t=>[t.x,t.y]))),h=new s([[i[0],i[1],i[2]],[i[3],i[4],i[5]],[i[6],i[7],i[8]]]),l=new s(r),u=o(l).mmul(h).to1DArray(),a=Math.sqrt(u[0]*u[0]+u[3]*u[3]+u[6]*u[6]),c=Math.sqrt(u[1]*u[1]+u[4]*u[4]+u[7]*u[7]),f=(a+c)/2,m=[];m[0]=u[0]/a,m[3]=u[3]/a,m[6]=u[6]/a,m[1]=u[1]/c,m[4]=u[4]/c,m[7]=u[7]/c,m[2]=m[3]*m[7]-m[6]*m[4],m[5]=m[6]*m[1]-m[0]*m[7],m[8]=m[0]*m[4]-m[1]*m[3];const g=Math.sqrt(m[2]*m[2]+m[5]*m[5]+m[8]*m[8]);m[2]/=g,m[5]/=g,m[8]/=g;const w=[];return w[0]=u[2]/f,w[1]=u[5]/f,w[2]=u[8]/f,[[m[0],m[1],m[2],w[0]],[m[3],m[4],m[5],w[1]],[m[6],m[7],m[8],w[2]]]}}},421:(t,e,r)=>{const{estimate:s}=r(902),{refineEstimate:o}=r(269);t.exports={Estimator:class{constructor(t){this.projectionTransform=t}estimate({screenCoords:t,worldCoords:e}){return s({screenCoords:t,worldCoords:e,projectionTransform:this.projectionTransform})}refineEstimate({initialModelViewTransform:t,worldCoords:e,screenCoords:r}){return o({initialModelViewTransform:t,worldCoords:e,screenCoords:r,projectionTransform:this.projectionTransform})}}}},269:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{normalizePoints:n,applyModelViewProjectionTransform:i,buildModelViewProjectionTransform:h,computeScreenCoordiate:l}=r(420);let u=[[],[],[]],a=[[],[]],c=[[],[],[]];const f=({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s,inlierProb:o})=>{const n=o<1;let i=t,u=0,a=0,c=new Array(r.length),f=new Array(r.length),p=new Array(r.length),d=new Array(r.length);for(let t=0;t<=10;t++){const y=h(e,i);for(let t=0;tt-e)),M=Math.max(4*f[t],16);for(let t=0;tM?a+=M/6:a+=M/6*(1-(1-f[t]/M)*(1-f[t]/M)*(1-f[t]/M))}else for(let t=0;t0&&a/u>.99)break;if(10===t)break;u=a;const b=[],x=[];for(let t=0;tM)continue;const s=w({modelViewProjectionTransform:y,modelViewTransform:i,projectionTransform:e,worldCoord:r[t]});if(n){const e=(1-c[t]/M)*(1-c[t]/M);for(let t=0;t<2;t++)for(let r=0;r<6;r++)s[t][r]*=e;b.push([p[t]*e]),b.push([d[t]*e])}else b.push([p[t]]),b.push([d[t]]);for(let t=0;t{let r,s,o,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];n<1e-6?(r=1,s=0,o=0,n=0):(n=Math.sqrt(n),r=e[0]/n,s=e[1]/n,o=e[2]/n);const i=Math.cos(n),h=Math.sin(n),l=1-i;u[0][0]=r*r*l+i,u[0][1]=r*s*l-o*h,u[0][2]=r*o*l+s*h,u[0][3]=e[3],u[1][0]=s*r*l+o*h,u[1][1]=s*s*l+i,u[1][2]=s*o*l-r*h,u[1][3]=e[4],u[2][0]=o*r*l-s*h,u[2][1]=o*s*l+r*h,u[2][2]=o*o*l+i,u[2][3]=e[5];const a=[[],[],[]];for(let e=0;e<3;e++){for(let r=0;r<4;r++)a[e][r]=t[e][0]*u[0][r]+t[e][1]*u[1][r]+t[e][2]*u[2][r];a[e][3]+=t[e][3]}return a},g=({dU:t,J_U_S:e})=>{const r=new s(e),n=new s(t),i=r.transpose(),h=i.mmul(r),l=i.mmul(n);let u;try{u=o(h)}catch(t){return null}return u.mmul(l).to1DArray()},w=({modelViewProjectionTransform:t,modelViewTransform:e,projectionTransform:r,worldCoord:s})=>{const o=e,{x:n,y:h,z:l}=s,u=i(t,n,h,l),f=u.z*u.z;a[0][0]=r[0][0]*u.z/f,a[0][1]=r[0][1]*u.z/f,a[0][2]=(r[0][2]*u.z-r[2][2]*u.x)/f,a[1][0]=r[1][0]*u.z/f,a[1][1]=r[1][1]*u.z/f,a[1][2]=(r[1][2]*u.z-r[2][2]*u.y)/f,c[0][0]=o[0][2]*h,c[0][1]=-o[0][2]*n,c[0][2]=o[0][1]*n-o[0][0]*h,c[0][3]=o[0][0],c[0][4]=o[0][1],c[0][5]=o[0][2],c[1][0]=o[1][2]*h,c[1][1]=-o[1][2]*n,c[1][2]=o[1][1]*n-o[1][0]*h,c[1][3]=o[1][0],c[1][4]=o[1][1],c[1][5]=o[1][2],c[2][0]=o[2][2]*h,c[2][1]=-o[2][2]*n,c[2][2]=o[2][1]*n-o[2][0]*h,c[2][3]=o[2][0],c[2][4]=o[2][1],c[2][5]=o[2][2];const m=[[],[]];for(let t=0;t<2;t++)for(let e=0;e<6;e++){m[t][e]=0;for(let r=0;r<3;r++)m[t][e]+=a[t][r]*c[r][e]}return m};t.exports={refineEstimate:({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s})=>{let o=0,n=0;for(let t=0;t{const e=(t,e,r,s)=>({x:t[0][0]*e+t[0][1]*r+t[0][3],y:t[1][0]*e+t[1][1]*r+t[1][3],z:t[2][0]*e+t[2][1]*r+t[2][3]});t.exports={buildModelViewProjectionTransform:(t,e)=>[[t[0][0]*e[0][0]+t[0][2]*e[2][0],t[0][0]*e[0][1]+t[0][2]*e[2][1],t[0][0]*e[0][2]+t[0][2]*e[2][2],t[0][0]*e[0][3]+t[0][2]*e[2][3]],[t[1][1]*e[1][0]+t[1][2]*e[2][0],t[1][1]*e[1][1]+t[1][2]*e[2][1],t[1][1]*e[1][2]+t[1][2]*e[2][2],t[1][1]*e[1][3]+t[1][2]*e[2][3]],[e[2][0],e[2][1],e[2][2],e[2][3]]],applyModelViewProjectionTransform:e,computeScreenCoordiate:(t,r,s,o)=>{const{x:n,y:i,z:h}=e(t,r,s);return{x:n/h,y:i/h}}}},233:t=>{t.exports={compute:t=>{const{v1:e,v2:r}=t;let s=0;for(let t=0;t>>0;s+=(n=void 0,((n=((n=((n=((n=(o=i)-(o>>1&1431655765))>>2&858993459)+(858993459&n))>>4)+n&252645135)>>8)+n&16711935)>>16)+n&65535)}var o,n;return s}}},934:t=>{const e=({querypoint:t,keypoint:e,keycenterX:r,keycenterY:s,scaleOneOverLogK:o})=>{let n=t.angle-e.angle;n<=-Math.PI?n+=2*Math.PI:n>Math.PI&&(n-=2*Math.PI);const i=t.scale/e.scale,h=i*Math.cos(n),l=i*Math.sin(n),u=[h,-l,l,h],a=[u[0]*e.x+u[1]*e.y,u[2]*e.x+u[3]*e.y],c=t.x-a[0],f=t.y-a[1];return{x:u[0]*r+u[1]*s+c,y:u[2]*r+u[3]*s+f,angle:n,scale:Math.log(i)*o}};t.exports={computeHoughMatches:t=>{const{keywidth:r,keyheight:s,querywidth:o,queryheight:n,matches:i}=t,h=1.2*o,l=-h,u=1.2*n,a=-u,c=12,f=1/Math.log(10),m=Math.max(r,s),g=Math.floor(r/2),w=Math.floor(s/2),p=[];for(let t=0;tt-e));const d=.25*p[Math.floor(p.length/2)-(p.length%2==0?1:0)-1],y=Math.max(5,Math.ceil((h-l)/d)),M=Math.max(5,Math.ceil((u-a)/d)),b=y*M,x=b*c,E=[],v=[],S={};for(let t=0;t=h||n=u||p<=-Math.PI||p>Math.PI||m<-1||m>=1){E[t]=!1;continue}let d=y*(o-l)/(h-l),k=M*(n-a)/(u-a),R=c*(p+Math.PI)/(2*Math.PI),I=10*(m- -1)/2;v[t]={binX:d,binY:k,binAngle:R,binScale:I};let T=Math.floor(d-.5),A=Math.floor(k-.5),q=Math.floor(I-.5),C=(Math.floor(R-.5)+c)%c;if(T<0||T+1>=y||A<0||A+1>=M||q<0||q+1>=10)E[t]=!1;else{for(let t=0;t<2;t++){let e=T+t;for(let t=0;t<2;t++){let r=A+t;for(let t=0;t<2;t++){let s=(C+t)%c;for(let t=0;t<2;t++){const o=e+r*y+s*b+(q+t)*x;void 0===S[o]&&(S[o]=0),S[o]+=1}}}}E[t]=!0}}let k=0,R=-1;if(Object.keys(S).forEach((t=>{S[t]>k&&(k=S[t],R=t)})),k<3)return[];const I=Math.floor(R%x%b%y),T=Math.floor((R-I)%x%b/y),A=Math.floor((R-I-T*y)%x/b),q=Math.floor((R-I-T*y-A*b)/x),C=[];for(let t=0;t=1)continue;if(Math.abs(e.binY-(T+.5))>=1)continue;if(Math.abs(e.binScale-(q+.5))>=1)continue;const r=Math.abs(e.binAngle-(A+.5));Math.min(r,c-r)>=1||C.push(i[t])}return C}}},582:(t,e,r)=>{const{match:s}=r(492);t.exports={Matcher:class{constructor(t,e,r=!1){this.queryWidth=t,this.queryHeight=e,this.debugMode=r}matchDetection(t,e){let r={frames:[]},o=null;for(let n=0;n{const s=r(842).Z,{compute:o}=r(233),{computeHoughMatches:n}=r(934),{computeHomography:i}=r(838),{multiplyPointHomographyInhomogenous:h,matrixInverse33:l}=r(289),u=({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i})=>{if(t.leaf){for(let e=0;e0){const{node:t,d:o}=s.pop();u({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i+=1})}},a=t=>{const{H:e,matches:r,threshold:s}=t,o=s*s,n=[];for(let t=0;t{let m={};const g=[];for(let r=0;rt.d-e.d));u({node:h,keypoints:i,querypoint:n,queue:a,keypointIndexes:l,numPop:0});let c=-1,f=Number.MAX_SAFE_INTEGER,m=Number.MAX_SAFE_INTEGER;for(let t=0;t[t.keypoint.x,t.keypoint.y])),dstPoints:w.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===p)return{debugExtra:m};const d=a({H:p,matches:w,threshold:3});if(f&&(m.inlierMatches=d),d.length<6)return{debugExtra:m};const y=l(p,1e-5),M=[];for(let r=0;r100)continue;const r=o({v1:e.descriptors,v2:s.descriptors});r[t.keypoint.x,t.keypoint.y])),dstPoints:b.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===x)return{debugExtra:m};const E=a({H:x,matches:b,threshold:3});return f&&(m.inlierMatches2=E),{H:x,matches:E,debugExtra:m}}}},838:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{createRandomizer:n}=r(48),{quadrilateralConvex:i,matrixInverse33:h,smallestTriangleArea:l,multiplyPointHomographyInhomogenous:u,checkThreePointsConsistent:a,checkFourPointsConsistent:c,determinant:f}=r(289),{solveHomography:m}=r(450),g=({H:t,testPoints:e,keyframe:r})=>{const s=h(t,1e-5);if(null===s)return!1;const o=[];for(let t=0;t{const e=1/t[8],r=[];for(let s=0;s<8;s++)r[s]=t[s]*e;return r[8]=1,r},p=({H:t,srcPoint:e,dstPoint:r,oneOverScale2:s})=>{const o=u(e,t),n=[o[0]-r[0],o[1]-r[1]];return Math.log(1+(n[0]*n[0]+n[1]*n[1])*s)},d=({H:t,testPoints:e})=>{const r=[];for(let s=0;s{const{srcPoints:e,dstPoints:r,keyframe:s,quickMode:o}=t,i=[[0,0],[s.width,0],[s.width,s.height],[0,s.height]];if(e.length<4)return null;const h=Math.min(10,e.length),l=n(),u=[];for(let t=0;t2;t+=x){x=Math.min(h,e.length-t);let s=t+x;for(let o=0;ot.cost-e.cost)),b.splice(-Math.floor((b.length+1)/2))}let E=null;for(let t=0;t{const e=(t,e,r)=>(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0]),r=t=>{const e=t[4]*t[8]-t[5]*t[7],r=t[3]*t[8]-t[5]*t[6],s=t[3]*t[7]-t[4]*t[6];return t[0]*e-t[1]*r+t[2]*s},s=(t,e)=>[t[0]-e[0],t[1]-e[1]],o=(t,e)=>{const r=t[0]*e[1]-t[1]*e[0];return.5*Math.abs(r)};t.exports={matrixInverse33:(t,e)=>{const s=r(t);if(Math.abs(s)<=e)return null;const o=1/s;return[(t[4]*t[8]-t[5]*t[7])*o,(t[2]*t[7]-t[1]*t[8])*o,(t[1]*t[5]-t[2]*t[4])*o,(t[5]*t[6]-t[3]*t[8])*o,(t[0]*t[8]-t[2]*t[6])*o,(t[2]*t[3]-t[0]*t[5])*o,(t[3]*t[7]-t[4]*t[6])*o,(t[1]*t[6]-t[0]*t[7])*o,(t[0]*t[4]-t[1]*t[3])*o]},matrixMul33:(t,e)=>{const r=[];return r[0]=t[0]*e[0]+t[1]*e[3]+t[2]*e[6],r[1]=t[0]*e[1]+t[1]*e[4]+t[2]*e[7],r[2]=t[0]*e[2]+t[1]*e[5]+t[2]*e[8],r[3]=t[3]*e[0]+t[4]*e[3]+t[5]*e[6],r[4]=t[3]*e[1]+t[4]*e[4]+t[5]*e[7],r[5]=t[3]*e[2]+t[4]*e[5]+t[5]*e[8],r[6]=t[6]*e[0]+t[7]*e[3]+t[8]*e[6],r[7]=t[6]*e[1]+t[7]*e[4]+t[8]*e[7],r[8]=t[6]*e[2]+t[7]*e[5]+t[8]*e[8],r},quadrilateralConvex:(t,r,s,o)=>{const n=e(t,r,s)<=0;return e(r,s,o)<=0===n&&e(s,o,t)<=0===n&&e(o,t,r)<=0===n},smallestTriangleArea:(t,e,r,n)=>{const i=s(e,t),h=s(r,t),l=s(n,t),u=s(e,r),a=s(n,r),c=o(i,h),f=o(h,l),m=o(i,l),g=o(u,a);return Math.min(Math.min(Math.min(c,f),m),g)},multiplyPointHomographyInhomogenous:(t,e)=>{const r=e[6]*t[0]+e[7]*t[1]+e[8],s=[];return s[0]=(e[0]*t[0]+e[1]*t[1]+e[2])/r,s[1]=(e[3]*t[0]+e[4]*t[1]+e[5])/r,s},checkThreePointsConsistent:(t,r,s,o,n,i)=>e(t,r,s)>0==e(o,n,i)>0,checkFourPointsConsistent:(t,r,s,o,n,i,h,l)=>e(t,r,s)>0==e(n,i,h)>0&&e(r,s,o)>0==e(i,h,l)>0&&e(s,o,t)>0==e(h,l,n)>0&&e(o,t,r)>0==e(l,n,i)>0,determinant:r}},450:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),n=t=>{let e=0,r=0;for(let s=0;s{const{normPoints:r,param:i}=n(t),{normPoints:h,param:l}=n(e),u=h.length,a=[],c=[];for(let t=0;t{const s=r.s*r.meanX,o=r.s*r.meanY,n=[t[0]+s*t[6],t[1]+s*t[7],(t[0]+s*t[6])*-e.meanX+(t[1]+s*t[7])*-e.meanY+(t[2]+s)/e.s,t[3]+o*t[6],t[4]+o*t[7],(t[3]+o*t[6])*-e.meanX+(t[4]+o*t[7])*-e.meanY+(t[5]+o)/e.s,r.s*t[6],r.s*t[7],r.s*t[6]*-e.meanX+r.s*t[7]*-e.meanY+r.s/e.s];for(let t=0;t<9;t++)n[t]=n[t]/n[8];return n})(o(n).mmul(h).to1DArray(),i,l)}catch(t){return null}}}},48:t=>{t.exports={createRandomizer:()=>({seed:1234,arrayShuffle(t){const{arr:e,sampleSize:r}=t;for(let t=0;t>16&32767;r%=e.length;let s=e[t];e[t]=e[r],e[r]=s}},nextInt(t){this.seed=(214013*this.seed+2531011)%(1<<31);let e=this.seed>>16&32767;return e%=t,e}})}}},e={};function r(s){if(e[s])return e[s].exports;var o=e[s]={exports:{}};return t[s](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var s in e)r.o(e,s)&&!r.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{const{Matcher:t}=r(582),{Estimator:e}=r(421);let s=null,o=null,n=!1,i=null,h=null;onmessage=r=>{const{data:l}=r;if("setup"===l.type)s=l.projectionTransform,o=l.matchingDataList,n=l.debugMode,i=new t(l.inputWidth,l.inputHeight,n),h=new e(l.projectionTransform);else if("match"===l.type){const t=l.targetIndexes;let e=-1,r=null,s=null;for(let n=0;n{"use strict";var e=window.URL||window.webkitURL;t.exports=function(t,n){try{try{var r;try{(r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(t),r=r.getBlob()}catch(e){r=new Blob([t])}return new Worker(e.createObjectURL(r))}catch(e){return new Worker("data:application/javascript,"+encodeURIComponent(t))}}catch(t){if(!n)throw Error("Inline worker is not supported");return new Worker(n)}}},5217:(t,e,n)=>{const r=n(383),{Detector:s}=n(6416),{buildImageList:i,buildTrackingImageList:a}=n(7508),{build:o}=n(723),l=n(1113),u=n(4563),c=async(t,e)=>{const n=[];for(let r=0;r{const t=u.tensor(i.data,[i.data.length],"float32").reshape([i.height,i.width]),{featurePoints:s}=a.detect(t),l=s.filter((t=>t.maxima)),c=s.filter((t=>!t.maxima)),h=o({points:l}),d=o({points:c});n.push({maximaPoints:l,minimaPoints:c,maximaPointsCluster:h,minimaPointsCluster:d,width:i.width,height:i.height,scale:i.scale}),e(r)}))}return n};t.exports={Compiler:class{constructor(){this.data=null}compileImageTargets(t,e){return new Promise((async(n,s)=>{const o=[];for(let e=0;e{u+=s,e(u)}));this.data.push({targetImage:n,imageList:r,matchingData:a})}for(let t=0;t{const s=new r;s.onmessage=n=>{"progress"===n.data.type?e(50+n.data.percent):"compileDone"===n.data.type&&t(n.data.list)},s.postMessage({type:"compile",targetImages:o})}));for(let t=0;t{const r=n(4563),s=n(1077),{Tracker:i}=n(6417),{CropDetector:a}=n(7051),{Compiler:o}=n(5217),{InputLoader:l}=n(7325),{OneEuroFilter:u}=n(344);t.exports={Controller:class{constructor({inputWidth:t,inputHeight:e,onUpdate:n=null,debugMode:r=!1,maxTrack:i=1,warmupTolerance:o=null,missTolerance:u=null,filterMinCF:c=null,filterBeta:h=null}){this.inputWidth=t,this.inputHeight=e,this.maxTrack=i,this.filterMinCF=null===c?.001:c,this.filterBeta=null===h?1e3:h,this.warmupTolerance=null===o?5:o,this.missTolerance=null===u?5:u,this.cropDetector=new a(this.inputWidth,this.inputHeight,r),this.inputLoader=new l(this.inputWidth,this.inputHeight),this.markerDimensions=null,this.onUpdate=n,this.debugMode=r,this.processingVideo=!1,this.interestedTargetIndex=-1,this.trackingStates=[];const d=45*Math.PI/180,p=this.inputHeight/2/Math.tan(d/2);this.projectionTransform=[[p,0,this.inputWidth/2],[0,p,this.inputHeight/2],[0,0,1]],this.projectionMatrix=this._glProjectionMatrix({projectionTransform:this.projectionTransform,width:this.inputWidth,height:this.inputHeight,near:10,far:1e5}),this.worker=new s,this.workerMatchDone=null,this.workerTrackDone=null,this.worker.onmessage=t=>{"matchDone"===t.data.type&&null!==this.workerMatchDone&&this.workerMatchDone(t.data),"trackUpdateDone"===t.data.type&&null!==this.workerTrackDone&&this.workerTrackDone(t.data)}}showTFStats(){console.log(r.memory().numTensors),console.table(r.memory())}addImageTargets(t){return new Promise((async(e,n)=>{const r=await fetch(t),s=await r.arrayBuffer();e(this.addImageTargetsFromBuffer(s))}))}addImageTargetsFromBuffer(t){const e=(new o).importData(t),n=[],r=[],s=[];for(let t=0;t{for(;this.processingVideo;){const e=this.inputLoader.loadInput(t);if(this.trackingStates.reduce(((t,e)=>t+(e.isTracking?1:0)),0)this.warmupTolerance&&(n.showing=!0,n.trackingMatrix=null,n.filter.reset())),n.showing&&(n.isTracking?n.trackMiss=0:(n.trackCount=0,n.trackMiss+=1,n.trackMiss>this.missTolerance&&(n.showing=!1,n.trackingMatrix=null,this.onUpdate&&this.onUpdate({type:"updateMatrix",targetIndex:t,worldMatrix:null})))),n.showing){const e=this._glModelViewMatrix(n.currentModelViewTransform,t);n.trackingMatrix=n.filter.filter(Date.now(),e);const r=[];for(let t=0;t{this.workerMatchDone=t=>{n({targetIndex:t.targetIndex,modelViewTransform:t.modelViewTransform,debugExtra:t.debugExtra})},this.worker.postMessage({type:"match",featurePoints:t,targetIndexes:e})}))}_workerTrackUpdate(t,e){return new Promise((async(n,r)=>{this.workerTrackDone=t=>{n(t.modelViewTransform)};const{worldCoords:s,screenCoords:i}=e;this.worker.postMessage({type:"trackUpdate",modelViewTransform:t,worldCoords:s,screenCoords:i})}))}_glModelViewMatrix(t,e){const n=this.markerDimensions[e][1];return[t[0][0],-t[1][0],-t[2][0],0,-t[0][1],t[1][1],t[2][1],0,-t[0][2],t[1][2],t[2][2],0,t[0][1]*n+t[0][3],-(t[1][1]*n+t[1][3]),-(t[2][1]*n+t[2][3]),1]}_glProjectionMatrix({projectionTransform:t,width:e,height:n,near:r,far:s}){const i=[[2*t[0][0]/e,0,-(2*t[0][2]/e-1),0],[0,2*t[1][1]/n,-(2*t[1][2]/n-1),0],[0,0,-(s+r)/(s-r),-2*s*r/(s-r)],[0,0,-1,0]],a=[];for(let t=0;t<4;t++)for(let e=0;e<4;e++)a.push(i[e][t]);return a}}}},7051:(t,e,n)=>{n(4563);const{Detector:r}=n(6416),{buildModelViewProjectionTransform:s,computeScreenCoordiate:i}=n(7420);t.exports={CropDetector:class{constructor(t,e,n=!1){this.debugMode=n,this.width=t,this.height=e;let s=Math.min(t,e)/2,i=Math.pow(2,Math.round(Math.log(s)/Math.log(2)));this.cropSize=i,this.detector=new r(i,i,n),this.kernelCaches={},this.lastRandomIndex=4}detect(t){const e=Math.floor(this.height/2-this.cropSize/2),n=Math.floor(this.width/2-this.cropSize/2),r=this._detect(t,n,e);return this.debugMode&&(r.debugExtra.crop={startX:n,startY:e,cropSize:this.cropSize}),r}detectMoving(t){const e=this.lastRandomIndex%3,n=Math.floor(this.lastRandomIndex/3);let r=Math.floor(this.height/2-this.cropSize+n*this.cropSize/2),s=Math.floor(this.width/2-this.cropSize+e*this.cropSize/2);return s<0&&(s=0),r<0&&(r=0),s>=this.width-this.cropSize&&(s=this.width-this.cropSize-1),r>=this.height-this.cropSize&&(r=this.height-this.cropSize-1),this.lastRandomIndex=(this.lastRandomIndex+1)%9,this._detect(t,s,r)}_detect(t,e,n){const r=t.slice([n,e],[this.cropSize,this.cropSize]),{featurePoints:s,debugExtra:i}=this.detector.detect(r);return s.forEach((t=>{t.x+=e,t.y+=n})),this.debugMode&&(i.projectedImage=r.arraySync()),r.dispose(),{featurePoints:s,debugExtra:i}}}}},6416:(t,e,n)=>{const r=n(4563),{FREAKPOINTS:s}=n(2793),i=(s.length-1)*s.length/2;t.exports={Detector:class{constructor(t,e,n=!1){this.debugMode=n,this.width=t,this.height=e;let r=0;for(;t>=8&&e>=8&&(t/=2,e/=2,r++,5!==r););this.numOctaves=r,this.tensorCaches={},this.kernelCaches={}}detectImageData(t){const e=new Uint8ClampedArray(4*t.length);for(let n=0;nt.map((t=>t.arraySync())))),dogPyramidImages:r.map((t=>t?t.arraySync():null)),extremasResults:s.map((t=>t.arraySync())),extremaAngles:u.arraySync(),prunedExtremas:i,localizedExtremas:a.arraySync()}),n.forEach((t=>t.forEach((t=>t.dispose())))),r.forEach((t=>t&&t.dispose())),s.forEach((t=>t.dispose())),a.dispose(),o.dispose(),l.dispose(),u.dispose(),c.dispose(),h.dispose();const m=[];for(let t=0;t0,x:s,y:i,scale:a,angle:p[t],descriptors:e})}return{featurePoints:m,debugExtra:e}}_computeFreakDescriptors(t){if(!this.tensorCaches.computeFreakDescriptors){const e=[],n=[];for(let r=0;r= ${i}) {\n\t\tcontinue;\n\t }\n\n\t int p1 = int(getP(descIndex + i, 0));\n\t int p2 = int(getP(descIndex + i, 1));\n\n\t float v1 = getFreak(featureIndex, p1);\n\t float v2 = getFreak(featureIndex, p2);\n\n\t if (v1 < v2 + 0.01) {\n\t sum += int(pow(2.0, float(7 - i)));\n\t }\n\t }\n\t setOutput(float(sum));\n\t }\n\t`};this.kernelCaches.computeFreakDescriptors=[e]}return r.tidy((()=>{const[n]=this.kernelCaches.computeFreakDescriptors;return this._runWebGLProgram(n,[t,e],"int32")}))}_computeExtremaFreak(t,e,n){this.tensorCaches._computeExtremaFreak||r.tidy((()=>{const t=r.tensor(s);this.tensorCaches._computeExtremaFreak={freakPointsT:r.keep(t)}}));const{freakPointsT:i}=this.tensorCaches._computeExtremaFreak,a=[];for(let e=1;e{const[t]=this.kernelCaches._computeExtremaFreak;return this._compileAndRun(t,[...a,e,n,i])}))}_computeExtremaAngles(t){if(!this.kernelCaches.computeExtremaAngles){const e={variableNames:["histogram"],outputShape:[t.shape[0]],userCode:`\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\n\t int maxIndex = 0;\n\t for (int i = 1; i < 36; i++) {\n\t if (getHistogram(featureIndex, i) > getHistogram(featureIndex, maxIndex)) {\n\t\tmaxIndex = i;\n\t }\n\t }\n\n\t int prev = imod(maxIndex - 1 + 36, 36);\n\t int next = imod(maxIndex + 1, 36);\n\n\t /**\n\t * Fit a quatratic to 3 points. The system of equations is:\n\t *\n\t * y0 = A*x0^2 + B*x0 + C\n\t * y1 = A*x1^2 + B*x1 + C\n\t * y2 = A*x2^2 + B*x2 + C\n\t *\n\t * This system of equations is solved for A,B,C.\n\t */\n\t float p10 = float(maxIndex - 1);\n\t float p11 = getHistogram(featureIndex, prev); \n\t float p20 = float(maxIndex);\n\t float p21 = getHistogram(featureIndex, maxIndex); \n\t float p30 = float(maxIndex + 1);\n\t float p31 = getHistogram(featureIndex, next); \n\n\t float d1 = (p30-p20)*(p30-p10);\n\t float d2 = (p10-p20)*(p30-p10);\n\t float d3 = p10-p20;\n\n\t // If any of the denominators are zero then, just use maxIndex.\n float fbin = float(maxIndex);\n\t if ( abs(d1) > 0.00001 && abs(d2) > 0.00001 && abs(d3) > 0.00001) {\n\t float a = p10*p10;\n\t float b = p20*p20;\n\n\t // Solve for the coefficients A,B,C\n\t float A = ((p31-p21)/d1)-((p11-p21)/d2);\n\t float B = ((p11-p21)+(A*(b-a)))/d3;\n\t float C = p11-(A*a)-(B*p10);\n\t fbin = -B / (2. * A);\n\t }\n\n\t float an = 2.0 *${Math.PI} * (fbin + 0.5) / 36. - ${Math.PI};\n\t setOutput(an);\n\t }\n\t`};this.kernelCaches.computeExtremaAngles=e}return r.tidy((()=>{const e=this.kernelCaches.computeExtremaAngles;return this._compileAndRun(e,[t])}))}_computeOrientationHistograms(t,e){const n=[];for(let t=1;t{const t=Math.ceil(4.5),e=[];for(let n=-t;n<=t;n++)for(let r=-t;r<=t;r++){const t=r*r+n*n;if(t<=20.25){const s=-.05555555555555555*t;let i=.0013888888*(720+s*(720+s*(360+s*(120+s*(30+s*(6+s))))));e.push([n,r,i])}}this.tensorCaches.orientationHistograms={radialPropertiesT:r.keep(r.tensor(e,[e.length,3]))}}));const{radialPropertiesT:s}=this.tensorCaches.orientationHistograms;if(!this.kernelCaches.computeOrientationHistograms){const n=[];for(let t=1;t{const[e,r]=this.kernelCaches.computeOrientationHistograms,i=this._compileAndRun(e,[...n,t,s]);return this._compileAndRun(r,[i])}))}_smoothHistograms(t){if(!this.kernelCaches.smoothHistograms){const e={variableNames:["histogram"],outputShape:[t.shape[0],36],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int featureIndex = coords[0];\n\t int binIndex = coords[1];\n\n\t int prevBin = imod(binIndex - 1 + 36, 36);\n\t int nextBin = imod(binIndex + 1, 36);\n\n float result = 0.274068619061197 * getHistogram(featureIndex, prevBin) + 0.451862761877606 * getHistogram(featureIndex, binIndex) + 0.274068619061197 * getHistogram(featureIndex, nextBin);\n\n\t setOutput(result);\n\t }\n\t"};this.kernelCaches.smoothHistograms=e}return r.tidy((()=>{const e=this.kernelCaches.smoothHistograms;for(let n=0;n<5;n++)t=this._compileAndRun(e,[t]);return t}))}_computeLocalization(t,e){if(!this.kernelCaches.computeLocalization){const n=[];let r="float getPixel(int octave, int y, int x) {";for(let t=1;t{const n=this.kernelCaches.computeLocalization[0],s=r.tensor(t,[t.length,t[0].length],"int32"),i=this._compileAndRun(n,[...e.slice(1),s]).arraySync(),a=[];for(let t=0;t{const{reductionKernels:r}=this.kernelCaches.applyPrune;for(let s=0;s=1&&m>e[f][g-1];)g-=1;if(g<5){for(let t=4;t>=g+1;t--)e[f][t]=e[f][t-1],n[f][t][0]=n[f][t-1][0],n[f][t][1]=n[f][t-1][1],n[f][t][2]=n[f][t-1][2],n[f][t][3]=n[f][t-1][3];e[f][g]=m,n[f][g][0]=i,n[f][g][1]=o,n[f][g][2]=c,n[f][g][3]=u}}}}));const s=[];for(let t=0;t<100;t++)for(let e=0;e<5;e++)s.push(n[t][e]);return s}_buildExtremas(t,e,n){const s=e.shape[0],i=e.shape[1],a="w"+i;if(this.kernelCaches.buildExtremas||(this.kernelCaches.buildExtremas={}),!this.kernelCaches.buildExtremas[a]){const t={variableNames:["image0","image1","image2"],outputShape:[s,i],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int y = coords[0];\n\t int x = coords[1];\n\n\t float value = getImage1(y, x);\n\n\t // Step 1: find local maxima/minima\n\t if (value * value < 9.) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (y < 7 || y > ${s-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (x < 7 || x > ${i-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t bool isMax = true;\n\t bool isMin = true;\n\t for (int dy = -1; dy <= 1; dy++) {\n\t for (int dx = -1; dx <= 1; dx++) {\n\t float value0 = getImage0(y+dy, x+dx);\n\t float value1 = getImage1(y+dy, x+dx);\n\t float value2 = getImage2(y+dy, x+dx);\n\n\t\tif (value < value0 || value < value1 || value < value2) {\n\t\t isMax = false;\n\t\t}\n\t\tif (value > value0 || value > value1 || value > value2) {\n\t\t isMin = false;\n\t\t}\n\t }\n\t }\n\n\t if (!isMax && !isMin) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t // compute edge score and reject based on threshold\n\t float dxx = getImage1(y, x+1) + getImage1(y, x-1) - 2. * getImage1(y, x);\n\t float dyy = getImage1(y+1, x) + getImage1(y-1, x) - 2. * getImage1(y, x);\n\t float dxy = 0.25 * (getImage1(y-1,x-1) + getImage1(y+1,x+1) - getImage1(y-1,x+1) - getImage1(y+1,x-1));\n\n\t float det = (dxx * dyy) - (dxy * dxy);\n\n\t if (abs(det) < 0.0001) { // determinant undefined. no solution\n\t setOutput(0.);\n\t return;\n\t }\n\n\t float edgeScore = (dxx + dyy) * (dxx + dyy) / det;\n\n\t if (abs(edgeScore) >= 6.25 ) {\n\t setOutput(0.);\n\t return;\n\t }\n\t setOutput(getImage1(y,x));\n\t }\n\t`};this.kernelCaches.buildExtremas[a]=t}return r.tidy((()=>{const r=this.kernelCaches.buildExtremas[a];return t=this._downsampleBilinear(t),n=this._upsampleBilinear(n,e),this._compileAndRun(r,[t,e,n])}))}_differenceImageBinomial(t,e){return r.tidy((()=>t.sub(e)))}_applyFilter(t){const e=t.shape[0],n=t.shape[1],s="w"+n;if(this.kernelCaches.applyFilter||(this.kernelCaches.applyFilter={}),!this.kernelCaches.applyFilter[s]){const t={variableNames:["p"],outputShape:[e,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0], coords[1]-2);\n\t sum += getP(coords[0], coords[1]-1) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0], coords[1]+1) * 4.;\n\t sum += getP(coords[0], coords[1]+2);\n\t setOutput(sum);\n\t }\n\t"},r={variableNames:["p"],outputShape:[e,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0]-2, coords[1]);\n\t sum += getP(coords[0]-1, coords[1]) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0]+1, coords[1]) * 4.;\n\t sum += getP(coords[0]+2, coords[1]);\n\t sum /= 256.;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.applyFilter[s]=[t,r]}return r.tidy((()=>{const[e,n]=this.kernelCaches.applyFilter[s],r=this._compileAndRun(e,[t]);return this._compileAndRun(n,[r])}))}_upsampleBilinear(t,e){t.shape[0];const n="w"+t.shape[1];if(this.kernelCaches.upsampleBilinear||(this.kernelCaches.upsampleBilinear={}),!this.kernelCaches.upsampleBilinear[n]){const t={variableNames:["p"],outputShape:[e.shape[0],e.shape[1]],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int j = coords[0];\n\t int i = coords[1];\n\n\t float sj = 0.5 * float(j) - 0.25; \n\t float si = 0.5 * float(i) - 0.25;\n\n\t float sj0 = floor(sj);\n\t float sj1 = ceil(sj);\n\t float si0 = floor(si);\n\t float si1 = ceil(si);\n\n\t int sj0I = int(sj0);\n\t int sj1I = int(sj1);\n\t int si0I = int(si0);\n\t int si1I = int(si1);\n\n\t float sum = 0.0;\n\t sum += getP(sj0I, si0I) * (si1 - si) * (sj1 - sj);\n\t sum += getP(sj1I, si0I) * (si1 - si) * (sj - sj0);\n\t sum += getP(sj0I, si1I) * (si - si0) * (sj1 - sj);\n\t sum += getP(sj1I, si1I) * (si - si0) * (sj - sj0);\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.upsampleBilinear[n]=t}return r.tidy((()=>{const e=this.kernelCaches.upsampleBilinear[n];return this._compileAndRun(e,[t])}))}_downsampleBilinear(t){const e=t.shape[0],n=t.shape[1],s="w"+n;if(this.kernelCaches.downsampleBilinear||(this.kernelCaches.downsampleBilinear={}),!this.kernelCaches.downsampleBilinear[s]){const t={variableNames:["p"],outputShape:[Math.floor(e/2),Math.floor(n/2)],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int y = coords[0] * 2;\n\t int x = coords[1] * 2;\n\n\t float sum = getP(y, x) * 0.25;\n\t sum += getP(y+1,x) * 0.25; \n\t sum += getP(y, x+1) * 0.25; \n\t sum += getP(y+1,x+1) * 0.25;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.downsampleBilinear[s]=t}return r.tidy((()=>{const e=this.kernelCaches.downsampleBilinear[s];return this._compileAndRun(e,[t])}))}_compileAndRun(t,e){const n=r.backend().compileAndRun(t,e);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(t,e,n){const s=r.backend().runWebGLProgram(t,e,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2793:t=>{const e=[{sigma:.55,points:[[-1,0],[-.5,-.866025],[.5,-.866025],[1,-0],[.5,.866025],[-.5,.866025]]},{sigma:.475,points:[[0,.930969],[-.806243,.465485],[-.806243,-.465485],[-0,-.930969],[.806243,-.465485],[.806243,.465485]]},{sigma:.4,points:[[.847306,-0],[.423653,.733789],[-.423653,.733789],[-.847306,0],[-.423653,-.733789],[.423653,-.733789]]},{sigma:.325,points:[[-0,-.741094],[.641806,-.370547],[.641806,.370547],[0,.741094],[-.641806,.370547],[-.641806,-.370547]]},{sigma:.25,points:[[-.595502,0],[-.297751,-.51572],[.297751,-.51572],[.595502,-0],[.297751,.51572],[-.297751,.51572]]},{sigma:.175,points:[[0,.362783],[-.314179,.181391],[-.314179,-.181391],[-0,-.362783],[.314179,-.181391],[.314179,.181391]]},{sigma:.1,points:[[0,0]]}],n=[];for(let t=0;t{const e=(t,e,n,r)=>({x:t[0][0]*e+t[0][1]*n+t[0][3],y:t[1][0]*e+t[1][1]*n+t[1][3],z:t[2][0]*e+t[2][1]*n+t[2][3]});t.exports={buildModelViewProjectionTransform:(t,e)=>[[t[0][0]*e[0][0]+t[0][2]*e[2][0],t[0][0]*e[0][1]+t[0][2]*e[2][1],t[0][0]*e[0][2]+t[0][2]*e[2][2],t[0][0]*e[0][3]+t[0][2]*e[2][3]],[t[1][1]*e[1][0]+t[1][2]*e[2][0],t[1][1]*e[1][1]+t[1][2]*e[2][1],t[1][1]*e[1][2]+t[1][2]*e[2][2],t[1][1]*e[1][3]+t[1][2]*e[2][3]],[e[2][0],e[2][1],e[2][2],e[2][3]]],applyModelViewProjectionTransform:e,computeScreenCoordiate:(t,n,r,s)=>{const{x:i,y:a,z:o}=e(t,n,r);return{x:i/o,y:a/o}}}},7508:(t,e,n)=>{const{resize:r}=n(9140);t.exports={buildImageList:t=>{const e=[];let n=100/Math.min(t.width,t.height);for(;;)if(e.push(n),n*=Math.pow(2,1/3),n>=.95){n=1;break}e.push(n),e.reverse();const s=[];for(let n=0;n{const e=Math.min(t.width,t.height),n=[],s=[];n.push(256/e),n.push(128/e);for(let e=0;e{const r=n(4563);t.exports={InputLoader:class{constructor(t,e){this.width=t,this.height=e,this.texShape=[e,t];const n=document.createElement("canvas").getContext("2d");n.canvas.width=t,n.canvas.height=e,this.context=n,this.program=this.buildProgram(t,e);const s=r.backend();this.tempPixelHandle=s.makeTensorInfo(this.texShape,"float32"),s.texData.get(this.tempPixelHandle.dataId).usage=2}_loadInput(t){return r.tidy((()=>{let e=r.browser.fromPixels(t);return e=e.mean(2),e}))}loadInput(t){this.context.drawImage(t,0,0,this.width,this.height);const e=r.backend();return e.gpgpu.uploadPixelDataToTexture(e.getTexture(this.tempPixelHandle.dataId),this.context.canvas),this._compileAndRun(this.program,[this.tempPixelHandle])}buildProgram(t,e){const n=2===r.env().getNumber("WEBGL_VERSION")?"texture":"texture2D";return{variableNames:["A"],outputShape:this.texShape,userCode:`\n\tvoid main() {\n\t ivec2 coords = getOutputCoords();\n\t int texR = coords[0];\n\t int texC = coords[1];\n\t vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${t}.0, ${e}.0);\n\n\t vec4 values = ${n}(A, uv);\n\t setOutput((0.299 * values.r + 0.587 * values.g + 0.114 * values.b) * 255.0);\n\t}\n `}}_compileAndRun(t,e){const n=r.backend().compileAndRun(t,e);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(t,e,n){const s=r.backend().runWebGLProgram(t,e,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2233:t=>{t.exports={compute:t=>{const{v1:e,v2:n}=t;let r=0;for(let t=0;t>>0;r+=(i=void 0,((i=((i=((i=((i=(s=a)-(s>>1&1431655765))>>2&858993459)+(858993459&i))>>4)+i&252645135)>>8)+i&16711935)>>16)+i&65535)}var s,i;return r}}},723:(t,e,n)=>{const{compute:r}=n(2233),{createRandomizer:s}=n(6048),i=t=>{const{points:e,pointIndexes:n,centerPointIndex:s,randomizer:a}=t;let o=!1;(n.length<=8||n.length<=16)&&(o=!0);const l={};if(!o){const t=(t=>{const{points:e,pointIndexes:n,randomizer:s}=t,i=[];for(let t=0;t{u.children.push(i({points:e,pointIndexes:l[t],centerPointIndex:t,randomizer:a}))})),u};t.exports={build:({points:t})=>{const e=[];for(let n=0;n{const r=n(4563),{buildModelViewProjectionTransform:s,computeScreenCoordiate:i}=n(7420);t.exports={Tracker:class{constructor(t,e,n,r,s,i=!1){this.markerDimensions=t,this.trackingDataList=e,this.projectionTransform=n,this.debugMode=i,this.trackingKeyframeList=[];for(let t=0;t.8&&t= (${a} - 6) || sy < 6 || sy >= (${i} - 6)) {\n\t setOutput(-2.);\n\t } \n\t else {\n\t float sumPoint = 0.;\n\t float sumPointSquare = 0.;\n\t float sumTemplate = 0.;\n\t float sumTemplateSquare = 0.;\n\t float sumPointTemplate = 0.;\n\n\t for (int templateOffsetY = 0; templateOffsetY < 13; templateOffsetY++) {\n\t\tfor (int templateOffsetX = 0; templateOffsetX < 13; templateOffsetX++) {\n\t\t int fx2 = sCenterX + templateOffsetX - 6;\n\t\t int fy2 = sCenterY + templateOffsetY - 6;\n\n\t\t int sx2 = sx + templateOffsetX - 6;\n\t\t int sy2 = sy + templateOffsetY - 6;\n\n\t\t int markerPixelIndex = fy2 * markerWidth + fx2;\n\t\t float markerPixel = getMarkerPixels(markerPixelIndex);\n\t\t float targetPixel = getTargetPixels(sy2, sx2);\n\n\t\t sumTemplate += markerPixel;\n\t\t sumTemplateSquare += markerPixel * markerPixel;\n\t\t sumPoint += targetPixel;\n\t\t sumPointSquare += targetPixel * targetPixel;\n\t\t sumPointTemplate += targetPixel * markerPixel;\n\t\t}\n\t }\n\n\t // Normalized cross-correlation\n\t // !important divide first avoid overflow (e.g. sumPoint / count * sumPoint)\n\t float count = float(13 * 13);\n\t float pointVariance = sqrt(sumPointSquare - sumPoint / count * sumPoint);\n\t float templateVariance = sqrt(sumTemplateSquare - sumTemplate / count * sumTemplate);\n\n\t if (pointVariance < 0.0000001) {\n\t\tsetOutput(-3.);\n\t } else if (templateVariance < 0.0000001) {\n\t\t//setOutput(sumTemplate);\n\t\tsetOutput(-4.);\n\t } else {\n\t\tsumPointTemplate -= sumPoint / count * sumTemplate;\n\t\tfloat sim = sumPointTemplate / pointVariance / templateVariance; \n\t\tsetOutput(sim);\n\t }\n\t }\n\t }\n\t`},e={variableNames:["featurePoints","markerProperties","maxIndex"],outputShape:[o,2],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float markerScale = getMarkerProperties(2);\n\n\t int featureIndex = coords[0];\n\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t int searchLocationIndex = maxIndex / 441;\n\t int searchOffsetIndex = imod(maxIndex, 441);\n\n\t if (coords[1] == 0) {\n\t int searchOffsetX = imod(searchOffsetIndex, 21) * 1;\n\t setOutput(getFeaturePoints(featureIndex, 0) + float(searchOffsetX - 10) / markerScale);\n\t }\n\t else if (coords[1] == 1) {\n\t int searchOffsetY = searchOffsetIndex / 21 * 1;\n\t setOutput(getFeaturePoints(featureIndex, 1) + float(searchOffsetY - 10) / markerScale);\n\t }\n\t }\n\t"},n={variableNames:["sims","maxIndex"],outputShape:[o],userCode:"\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t setOutput(getSims(featureIndex, maxIndex));\n\t }\n\t"};this.kernelCaches.computeMatching=[t,e,n]}return r.tidy((()=>{const r=this.kernelCaches.computeMatching,i=this._compileAndRun(r[0],[t,e,n,s]),a=i.argMax(1);return{matchingPointsT:this._compileAndRun(r[1],[t,n,a]),simT:this._compileAndRun(r[2],[i,a])}}))}_computeProjection(t,e,n){const s=this.trackingKeyframeList[n].width,i=this.trackingKeyframeList[n].height,a=this.trackingKeyframeList[n].scale,o=s+"-"+i+"-"+a;if(this.kernelCaches.computeProjection||(this.kernelCaches.computeProjection={}),!this.kernelCaches.computeProjection[o]){const t={variableNames:["M","pixel"],outputShape:[i,s],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float m00 = getM(0, 0) * 1000.;\n\t float m01 = getM(0, 1) * 1000.;\n\t float m03 = getM(0, 3) * 1000.;\n\t float m10 = getM(1, 0) * 1000.;\n\t float m11 = getM(1, 1) * 1000.;\n\t float m13 = getM(1, 3) * 1000.;\n\t float m20 = getM(2, 0) * 1000.;\n\t float m21 = getM(2, 1) * 1000.;\n\t float m23 = getM(2, 3) * 1000.;\n\n\t float y = float(coords[0]) / float(${a});\n\t float x = float(coords[1]) / float(${a});\n\t float uz = (x * m20) + (y * m21) + m23;\n\t float oneOverUz = 1. / uz;\n\n\t float ux = (x * m00) + (y * m01) + m03;\n\t float uy = (x * m10) + (y * m11) + m13;\n\n\t ux = floor(ux * oneOverUz + 0.5);\n\t uy = floor(uy * oneOverUz + 0.5);\n\t setOutput(getPixel(int(uy), int(ux)));\n\t }\n\t`};this.kernelCaches.computeProjection[o]=t}return r.tidy((()=>{const n=this.kernelCaches.computeProjection[o];return this._compileAndRun(n,[t,e])}))}_buildAdjustedModelViewTransform(t){return r.tidy((()=>{let e=[];for(let n=0;n{const n=t.scale,s=[];for(let r=0;r{t.exports={downsampleBilinear:({image:t})=>{const{data:e,width:n,height:r}=t,s=Math.floor(n/2),i=Math.floor(r/2),a=new Float32Array(s*i),o=[0,1,n,n+1];for(let t=0;t{const{width:r,height:s,data:i}=t,a=2*t.width+(e?1:0),o=2*t.height+(n?1:0),l=new Float32Array(a*o);for(let t=0;t=r&&(u=r-1);for(let c=0;c=s&&(d=s-1);const p=(u-e)*(d-o)*i[h*r+n]+(u-e)*(o-h)*i[d*r+n]+(e-n)*(d-o)*i[h*r+u]+(e-n)*(o-h)*i[d*r+u];l[c*a+t]=p}}return{data:l,width:a,height:o}},resize:({image:t,ratio:e})=>{const n=Math.round(t.width*e),r=Math.round(t.height*e),s=new Uint8Array(n*r);for(let i=0;i=t.width&&(o=t.width-1);for(let l=0;l=t.height&&(u=t.height-1);let c=0,h=0;for(let e=a;e<=o;e++)for(let n=r;n<=u;n++)c+=1*t.data[n*t.width+e],h+=1;s[l*n+i]=Math.floor(c/h)}}return{data:s,width:n,height:r}}}},6048:t=>{t.exports={createRandomizer:()=>({seed:1234,arrayShuffle(t){const{arr:e,sampleSize:n}=t;for(let t=0;t>16&32767;n%=e.length;let r=e[t];e[t]=e[n],e[n]=r}},nextInt(t){this.seed=(214013*this.seed+2531011)%(1<<31);let e=this.seed>>16&32767;return e%=t,e}})}},344:t=>{const e=(t,e)=>{const n=2*Math.PI*e*t;return n/(n+1)},n=(t,e,n)=>t*e+(1-t)*n;t.exports={OneEuroFilter:class{constructor({minCutOff:t,beta:e}){this.minCutOff=t,this.beta=e,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(t,r){if(!this.initialized)return this.initialized=!0,this.xPrev=r,this.dxPrev=r.map((()=>0)),this.tPrev=t,r;const{xPrev:s,tPrev:i,dxPrev:a}=this,o=t-i,l=e(o,this.dCutOff),u=[],c=[],h=[];for(let t=0;t{n(4412);const r=n(9894).Z,s=n(7676).Z,i=n(2810).Z;t.exports={UI:class{constructor({uiLoading:t,uiScanning:e,uiError:n}){"yes"===t?this.loadingModal=this._loadHTML(r):"no"!==t&&(this.loadingModal=document.querySelector(t)),"yes"===n?this.compatibilityModal=this._loadHTML(s):"no"!==n&&(this.compatibilityModal=document.querySelector(n)),"yes"===e?this.scanningMask=this._loadHTML(i):"no"!==e&&(this.scanningMask=document.querySelector(e)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(t){const e=document.createElement("template");e.innerHTML=t.trim();const n=e.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(n),n}}}},3906:()=>{},2993:()=>{},8352:()=>{},4589:()=>{},1758:()=>{}},e={};function n(r){if(e[r])return e[r].exports;var s=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.amdD=function(){throw new Error("define cannot be used indirect")},n.amdO={},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),n.p="",(()=>{const t=n(2212),e=n(4563),{CSS3DRenderer:r}=n(1564),{Controller:s}=n(7957),{UI:i}=n(2749),a=new t.Matrix4;a.compose(new t.Vector3,new t.Quaternion,new t.Vector3(.001,.001,.001)),window.MINDAR||(window.MINDAR={}),window.MINDAR.IMAGE||(window.MINDAR.IMAGE={}),window.MINDAR.IMAGE.MindARThree=class{constructor({container:e,imageTargetSrc:n,maxTrack:s,uiLoading:a="yes",uiScanning:o="yes",uiError:l="yes",filterMinCF:u=null,filterBeta:c=null,warmupTolerance:h=null,missTolerance:d=null}){this.container=e,this.imageTargetSrc=n,this.maxTrack=s,this.filterMinCF=u,this.filterBeta=c,this.warmupTolerance=h,this.missTolerance=d,this.ui=new i({uiLoading:a,uiScanning:o,uiError:l}),this.scene=new t.Scene,this.cssScene=new t.Scene,this.renderer=new t.WebGLRenderer({antialias:!0,alpha:!0}),this.cssRenderer=new r({antialias:!0}),this.renderer.outputEncoding=t.sRGBEncoding,this.renderer.setPixelRatio(window.devicePixelRatio),this.camera=new t.PerspectiveCamera,this.anchors=[],this.renderer.domElement.style.position="absolute",this.cssRenderer.domElement.style.position="absolute",this.container.appendChild(this.renderer.domElement),this.container.appendChild(this.cssRenderer.domElement),window.addEventListener("resize",this.resize.bind(this))}async start(){this.ui.showLoading(),await this._startVideo(),await this._startAR()}stop(){this.controller.stopProcessVideo(),this.video.srcObject.getTracks().forEach((function(t){t.stop()})),this.video.remove()}addAnchor(e){const n=new t.Group;n.visible=!1,n.matrixAutoUpdate=!1;const r={group:n,targetIndex:e,onTargetFound:null,onTargetLost:null,css:!1,visible:!1};return this.anchors.push(r),this.scene.add(n),r}addCSSAnchor(e){const n=new t.Group;n.visible=!1,n.matrixAutoUpdate=!1;const r={group:n,targetIndex:e,onTargetFound:null,onTargetLost:null,css:!0,visible:!1};return this.anchors.push(r),this.cssScene.add(n),r}_startVideo(){return new Promise(((t,e)=>{if(this.video=document.createElement("video"),this.video.setAttribute("autoplay",""),this.video.setAttribute("muted",""),this.video.setAttribute("playsinline",""),this.video.style.position="absolute",this.video.style.top="0px",this.video.style.left="0px",this.video.style.zIndex="-2",this.container.appendChild(this.video),!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia)return this.ui.showCompatibility(),void e();navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:"environment"}}).then((e=>{this.video.addEventListener("loadedmetadata",(()=>{this.video.setAttribute("width",this.video.videoWidth),this.video.setAttribute("height",this.video.videoHeight),t()})),this.video.srcObject=e})).catch((t=>{console.log("getUserMedia error",t),e()}))}))}_startAR(){return new Promise((async(e,n)=>{const r=this.video;this.container,this.controller=new s({inputWidth:r.videoWidth,inputHeight:r.videoHeight,filterMinCF:this.filterMinCF,filterBeta:this.filterBeta,warmupTolerance:this.warmupTolerance,missTolerance:this.missTolerance,maxTrack:this.maxTrack,onUpdate:e=>{if("updateMatrix"===e.type){const{targetIndex:n,worldMatrix:r}=e;for(let e=0;e{t.element.style.visibility=null===r?"hidden":"visible"})):this.anchors[e].group.visible=null!==r,null!==r){let s=new t.Matrix4;s.elements=[...r],s.multiply(this.postMatrixs[n]),this.anchors[e].css&&s.multiply(a),this.anchors[e].group.matrix=s}this.anchors[e].visible&&null===r&&(this.anchors[e].visible=!1,this.anchors[e].onTargetLost&&this.anchors[e].onTargetLost()),this.anchors[e].visible||null===r||(this.anchors[e].visible=!0,this.anchors[e].onTargetFound&&this.anchors[e].onTargetFound()),null!==r&&this.ui.hideScanning()}}}}),this.resize();const{dimensions:i}=await this.controller.addImageTargets(this.imageTargetSrc);this.postMatrixs=[];for(let e=0;er.clientWidth/r.clientHeight?(a=r.clientHeight,i=a*o):(i=r.clientWidth,a=i/o);const l=this.controller.getProjectionMatrix(),u=2*Math.atan(1/l[5]/a*r.clientHeight)*180/Math.PI,c=l[14]/(l[10]-1),h=l[14]/(l[10]+1);l[5],l[0],n.fov=u,n.near=c,n.far=h,n.aspect=r.clientWidth/r.clientHeight,n.updateProjectionMatrix(),s.style.top=-(a-r.clientHeight)/2+"px",s.style.left=-(i-r.clientWidth)/2+"px",s.style.width=i+"px",s.style.height=a+"px";const d=t.domElement,p=e.domElement;d.style.position="absolute",d.style.left=0,d.style.top=0,d.style.width=r.clientWidth+"px",d.style.height=r.clientHeight+"px",p.style.position="absolute",p.style.left=0,p.style.top=0,p.style.width=r.clientWidth+"px",p.style.height=r.clientHeight+"px",t.setSize(r.clientWidth,r.clientHeight),e.setSize(r.clientWidth,r.clientHeight)}},window.MINDAR.IMAGE.THREE=t,window.MINDAR.IMAGE.tf=e})()})(); \ No newline at end of file diff --git a/dist/mindar-image.prod.js b/dist/mindar-image.prod.js index 8554b692..297d7491 100644 --- a/dist/mindar-image.prod.js +++ b/dist/mindar-image.prod.js @@ -1,2 +1,2 @@ /*! For license information please see mindar-image.prod.js.LICENSE.txt */ -(()=>{var e={1113:function(e){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(r,s,function(t){return e[t]}.bind(null,s));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"encode",(function(){return E})),n.d(t,"decode",(function(){return U})),n.d(t,"decodeAsync",(function(){return K})),n.d(t,"decodeArrayStream",(function(){return X})),n.d(t,"decodeStream",(function(){return Y})),n.d(t,"Decoder",(function(){return B})),n.d(t,"Encoder",(function(){return T})),n.d(t,"ExtensionCodec",(function(){return I})),n.d(t,"ExtData",(function(){return d})),n.d(t,"EXT_TIMESTAMP",(function(){return g})),n.d(t,"encodeDateToTimeSpec",(function(){return b})),n.d(t,"encodeTimeSpecToTimestamp",(function(){return y})),n.d(t,"decodeTimestampToTimeSpec",(function(){return w})),n.d(t,"encodeTimestampExtension",(function(){return x})),n.d(t,"decodeTimestampExtension",(function(){return v}));var r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,s,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){s={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}return i},s=function(){for(var e=[],t=0;t=55296&&s<=56319&&r65535&&(h-=65536,i.push(h>>>10&1023|55296),h=56320|1023&h),i.push(h)}else i.push(l);i.length>=4096&&(o+=String.fromCharCode.apply(String,s(i)),i.length=0)}return i.length>0&&(o+=String.fromCharCode.apply(String,s(i))),o}var h=a?new TextDecoder:null,p="undefined"!=typeof process?200:0,d=function(e,t){this.type=e,this.data=t};function f(e,t,n){var r=Math.floor(n/4294967296),s=n;e.setUint32(t,r),e.setUint32(t+4,s)}function m(e,t){return 4294967296*e.getInt32(t)+e.getUint32(t+4)}var g=-1;function y(e){var t,n=e.sec,r=e.nsec;if(n>=0&&r>=0&&n<=17179869183){if(0===r&&n<=4294967295){var s=new Uint8Array(4);return(t=new DataView(s.buffer)).setUint32(0,n),s}var a=n/4294967296,i=4294967295&n;return s=new Uint8Array(8),(t=new DataView(s.buffer)).setUint32(0,r<<2|3&a),t.setUint32(4,i),s}return s=new Uint8Array(12),(t=new DataView(s.buffer)).setUint32(0,r),f(t,4,n),s}function b(e){var t=e.getTime(),n=Math.floor(t/1e3),r=1e6*(t-1e3*n),s=Math.floor(r/1e9);return{sec:n+s,nsec:r-1e9*s}}function x(e){return e instanceof Date?y(b(e)):null}function w(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:var n=t.getUint32(0);return{sec:4294967296*(3&n)+t.getUint32(4),nsec:n>>>2};case 12:return{sec:m(t,4),nsec:t.getUint32(0)};default:throw new Error("Unrecognized data size for timestamp: "+e.length)}}function v(e){var t=w(e);return new Date(1e3*t.sec+t.nsec/1e6)}var k={type:g,encode:x,decode:v},I=function(){function e(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(k)}return e.prototype.register=function(e){var t=e.type,n=e.encode,r=e.decode;if(t>=0)this.encoders[t]=n,this.decoders[t]=r;else{var s=1+t;this.builtInEncoders[s]=n,this.builtInDecoders[s]=r}},e.prototype.tryToEncode=function(e,t){for(var n=0;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},T=function(){function e(e,t,n,r,s,a,i){void 0===e&&(e=I.defaultCodec),void 0===n&&(n=100),void 0===r&&(r=2048),void 0===s&&(s=!1),void 0===a&&(a=!1),void 0===i&&(i=!1),this.extensionCodec=e,this.context=t,this.maxDepth=n,this.initialBufferSize=r,this.sortKeys=s,this.forceFloat32=a,this.ignoreUndefined=i,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}return e.prototype.encode=function(e,t){if(t>this.maxDepth)throw new Error("Too deep objects in depth "+t);null==e?this.encodeNil():"boolean"==typeof e?this.encodeBoolean(e):"number"==typeof e?this.encodeNumber(e):"string"==typeof e?this.encodeString(e):this.encodeObject(e,t)},e.prototype.getUint8Array=function(){return this.bytes.subarray(0,this.pos)},e.prototype.ensureBufferSizeToWrite=function(e){var t=this.pos+e;this.view.byteLength=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):(this.writeU8(211),this.writeI64(e)):this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))},e.prototype.writeStringHeader=function(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too long string: "+e+" bytes in UTF-8");this.writeU8(219),this.writeU32(e)}},e.prototype.encodeString=function(e){var t=e.length;if(a&&t>l){var n=i(e);this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),u(e,this.bytes,this.pos),this.pos+=n}else n=i(e),this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),function(e,t,n){for(var r=e.length,s=n,a=0;a>6&31|192;else{if(i>=55296&&i<=56319&&a>12&15|224,t[s++]=i>>6&63|128):(t[s++]=i>>18&7|240,t[s++]=i>>12&63|128,t[s++]=i>>6&63|128)}t[s++]=63&i|128}else t[s++]=i}}(e,this.bytes,this.pos),this.pos+=n},e.prototype.encodeObject=function(e,t){var n=this.extensionCodec.tryToEncode(e,this.context);if(null!=n)this.encodeExtension(n);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else{if("object"!=typeof e)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(e));this.encodeMap(e,t)}},e.prototype.encodeBinary=function(e){var t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large binary: "+t);this.writeU8(198),this.writeU32(t)}var n=N(e);this.writeU8a(n)},e.prototype.encodeArray=function(e,t){var n,r,s=e.length;if(s<16)this.writeU8(144+s);else if(s<65536)this.writeU8(220),this.writeU16(s);else{if(!(s<4294967296))throw new Error("Too large array: "+s);this.writeU8(221),this.writeU32(s)}try{for(var a=S(e),i=a.next();!i.done;i=a.next()){var o=i.value;this.encode(o,t+1)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}},e.prototype.countWithoutUndefined=function(e,t){var n,r,s=0;try{for(var a=S(t),i=a.next();!i.done;i=a.next())void 0!==e[i.value]&&s++}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return s},e.prototype.encodeMap=function(e,t){var n,r,s=Object.keys(e);this.sortKeys&&s.sort();var a=this.ignoreUndefined?this.countWithoutUndefined(e,s):s.length;if(a<16)this.writeU8(128+a);else if(a<65536)this.writeU8(222),this.writeU16(a);else{if(!(a<4294967296))throw new Error("Too large map object: "+a);this.writeU8(223),this.writeU32(a)}try{for(var i=S(s),o=i.next();!o.done;o=i.next()){var l=o.value,u=e[l];this.ignoreUndefined&&void 0===u||(this.encodeString(l),this.encode(u,t+1))}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},e.prototype.encodeExtension=function(e){var t=e.data.length;if(1===t)this.writeU8(212);else if(2===t)this.writeU8(213);else if(4===t)this.writeU8(214);else if(8===t)this.writeU8(215);else if(16===t)this.writeU8(216);else if(t<256)this.writeU8(199),this.writeU8(t);else if(t<65536)this.writeU8(200),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large extension object: "+t);this.writeU8(201),this.writeU32(t)}this.writeI8(e.type),this.writeU8a(e.data)},e.prototype.writeU8=function(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++},e.prototype.writeU8a=function(e){var t=e.length;this.ensureBufferSizeToWrite(t),this.bytes.set(e,this.pos),this.pos+=t},e.prototype.writeI8=function(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++},e.prototype.writeU16=function(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2},e.prototype.writeI16=function(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2},e.prototype.writeU32=function(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4},e.prototype.writeI32=function(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4},e.prototype.writeF32=function(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4},e.prototype.writeF64=function(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8},e.prototype.writeU64=function(e){this.ensureBufferSizeToWrite(8),function(e,t,n){var r=n/4294967296,s=n;e.setUint32(t,r),e.setUint32(t+4,s)}(this.view,this.pos,e),this.pos+=8},e.prototype.writeI64=function(e){this.ensureBufferSizeToWrite(8),f(this.view,this.pos,e),this.pos+=8},e}(),C={};function E(e,t){void 0===t&&(t=C);var n=new T(t.extensionCodec,t.context,t.maxDepth,t.initialBufferSize,t.sortKeys,t.forceFloat32,t.ignoreUndefined);return n.encode(e,1),n.getUint8Array()}function $(e){return(e<0?"-":"")+"0x"+Math.abs(e).toString(16).padStart(2,"0")}var A=function(){function e(e,t){void 0===e&&(e=16),void 0===t&&(t=16),this.maxKeyLength=e,this.maxLengthPerKey=t,this.caches=[];for(var n=0;n0&&e<=this.maxKeyLength},e.prototype.get=function(e,t,n){var r=this.caches[n-1],s=r.length;e:for(var a=0;a=this.maxLengthPerKey?n[Math.random()*n.length|0]=r:n.push(r)},e.prototype.decode=function(e,t,n){var r=this.get(e,t,n);if(null!=r)return r;var s=c(e,t,n),a=Uint8Array.prototype.slice.call(e,t,t+n);return this.store(a,s),s},e}(),R=function(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&a[0]?r.return:a[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;switch(r=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((s=(s=i.trys).length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]1||o(e,t)}))})}function o(e,t){try{(n=s[e](t)).value instanceof F?Promise.resolve(n.value.v).then(l,u):c(a[0][2],n)}catch(e){c(a[0][3],e)}var n}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}},_=new DataView(new ArrayBuffer(0)),O=new Uint8Array(_.buffer),L=function(){try{_.getInt8(0)}catch(e){return e.constructor}throw new Error("never reached")}(),z=new L("Insufficient data"),P=new A,B=function(){function e(e,t,n,r,s,a,i,o){void 0===e&&(e=I.defaultCodec),void 0===n&&(n=4294967295),void 0===r&&(r=4294967295),void 0===s&&(s=4294967295),void 0===a&&(a=4294967295),void 0===i&&(i=4294967295),void 0===o&&(o=P),this.extensionCodec=e,this.context=t,this.maxStrLength=n,this.maxBinLength=r,this.maxArrayLength=s,this.maxMapLength=a,this.maxExtLength=i,this.cachedKeyDecoder=o,this.totalPos=0,this.pos=0,this.view=_,this.bytes=O,this.headByte=-1,this.stack=[]}return e.prototype.setBuffer=function(e){this.bytes=N(e),this.view=function(e){if(e instanceof ArrayBuffer)return new DataView(e);var t=N(e);return new DataView(t.buffer,t.byteOffset,t.byteLength)}(this.bytes),this.pos=0},e.prototype.appendBuffer=function(e){if(-1!==this.headByte||this.hasRemaining()){var t=this.bytes.subarray(this.pos),n=N(e),r=new Uint8Array(t.length+n.length);r.set(t),r.set(n,t.length),this.setBuffer(r)}else this.setBuffer(e)},e.prototype.hasRemaining=function(e){return void 0===e&&(e=1),this.view.byteLength-this.pos>=e},e.prototype.createNoExtraBytesError=function(e){var t=this.view,n=this.pos;return new RangeError("Extra "+(t.byteLength-n)+" byte(s) found at buffer["+e+"]")},e.prototype.decodeSingleSync=function(){var e=this.decodeSync();if(this.hasRemaining())throw this.createNoExtraBytesError(this.pos);return e},e.prototype.decodeSingleAsync=function(e){var t,n,r,s;return function(e,t,n,r){return new(n||(n=Promise))((function(s,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,o)}l((r=r.apply(e,t||[])).next())}))}(this,void 0,void 0,(function(){var a,i,o,l,u,c,h,p;return R(this,(function(d){switch(d.label){case 0:a=!1,d.label=1;case 1:d.trys.push([1,6,7,12]),t=M(e),d.label=2;case 2:return[4,t.next()];case 3:if((n=d.sent()).done)return[3,5];if(o=n.value,a)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(o);try{i=this.decodeSync(),a=!0}catch(e){if(!(e instanceof L))throw e}this.totalPos+=this.pos,d.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return l=d.sent(),r={error:l},[3,12];case 7:return d.trys.push([7,,10,11]),n&&!n.done&&(s=t.return)?[4,s.call(t)]:[3,9];case 8:d.sent(),d.label=9;case 9:return[3,11];case 10:if(r)throw r.error;return[7];case 11:return[7];case 12:if(a){if(this.hasRemaining())throw this.createNoExtraBytesError(this.totalPos);return[2,i]}throw c=(u=this).headByte,h=u.pos,p=u.totalPos,new RangeError("Insufficient data in parcing "+$(c)+" at "+p+" ("+h+" in the current buffer)")}}))}))},e.prototype.decodeArrayStream=function(e){return this.decodeMultiAsync(e,!0)},e.prototype.decodeStream=function(e){return this.decodeMultiAsync(e,!1)},e.prototype.decodeMultiAsync=function(e,t){return D(this,arguments,(function(){var n,r,s,a,i,o,l,u,c;return R(this,(function(h){switch(h.label){case 0:n=t,r=-1,h.label=1;case 1:h.trys.push([1,13,14,19]),s=M(e),h.label=2;case 2:return[4,F(s.next())];case 3:if((a=h.sent()).done)return[3,12];if(i=a.value,t&&0===r)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(i),n&&(r=this.readArraySize(),n=!1,this.complete()),h.label=4;case 4:h.trys.push([4,9,,10]),h.label=5;case 5:return[4,F(this.decodeSync())];case 6:return[4,h.sent()];case 7:return h.sent(),0==--r?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((o=h.sent())instanceof L))throw o;return[3,10];case 10:this.totalPos+=this.pos,h.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return l=h.sent(),u={error:l},[3,19];case 14:return h.trys.push([14,,17,18]),a&&!a.done&&(c=s.return)?[4,F(c.call(s))]:[3,16];case 15:h.sent(),h.label=16;case 16:return[3,18];case 17:if(u)throw u.error;return[7];case 18:return[7];case 19:return[2]}}))}))},e.prototype.decodeSync=function(){e:for(;;){var e=this.readHeadByte(),t=void 0;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){if(0!=(r=e-128)){this.pushMapState(r),this.complete();continue e}t={}}else if(e<160){if(0!=(r=e-144)){this.pushArrayState(r),this.complete();continue e}t=[]}else{var n=e-160;t=this.decodeUtf8String(n,0)}else if(192===e)t=null;else if(194===e)t=!1;else if(195===e)t=!0;else if(202===e)t=this.readF32();else if(203===e)t=this.readF64();else if(204===e)t=this.readU8();else if(205===e)t=this.readU16();else if(206===e)t=this.readU32();else if(207===e)t=this.readU64();else if(208===e)t=this.readI8();else if(209===e)t=this.readI16();else if(210===e)t=this.readI32();else if(211===e)t=this.readI64();else if(217===e)n=this.lookU8(),t=this.decodeUtf8String(n,1);else if(218===e)n=this.lookU16(),t=this.decodeUtf8String(n,2);else if(219===e)n=this.lookU32(),t=this.decodeUtf8String(n,4);else if(220===e){if(0!==(r=this.readU16())){this.pushArrayState(r),this.complete();continue e}t=[]}else if(221===e){if(0!==(r=this.readU32())){this.pushArrayState(r),this.complete();continue e}t=[]}else if(222===e){if(0!==(r=this.readU16())){this.pushMapState(r),this.complete();continue e}t={}}else if(223===e){if(0!==(r=this.readU32())){this.pushMapState(r),this.complete();continue e}t={}}else if(196===e){var r=this.lookU8();t=this.decodeBinary(r,1)}else if(197===e)r=this.lookU16(),t=this.decodeBinary(r,2);else if(198===e)r=this.lookU32(),t=this.decodeBinary(r,4);else if(212===e)t=this.decodeExtension(1,0);else if(213===e)t=this.decodeExtension(2,0);else if(214===e)t=this.decodeExtension(4,0);else if(215===e)t=this.decodeExtension(8,0);else if(216===e)t=this.decodeExtension(16,0);else if(199===e)r=this.lookU8(),t=this.decodeExtension(r,1);else if(200===e)r=this.lookU16(),t=this.decodeExtension(r,2);else{if(201!==e)throw new Error("Unrecognized type byte: "+$(e));r=this.lookU32(),t=this.decodeExtension(r,4)}this.complete();for(var s=this.stack;s.length>0;){var a=s[s.length-1];if(0===a.type){if(a.array[a.position]=t,a.position++,a.position!==a.size)continue e;s.pop(),t=a.array}else{if(1===a.type){if(void 0,"string"!=(i=typeof t)&&"number"!==i)throw new Error("The type of key must be string or number but "+typeof t);a.key=t,a.type=2;continue e}if(a.map[a.key]=t,a.readCount++,a.readCount!==a.size){a.key=null,a.type=1;continue e}s.pop(),t=a.map}}return t}var i},e.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},e.prototype.complete=function(){this.headByte=-1},e.prototype.readArraySize=function(){var e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;throw new Error("Unrecognized array type byte: "+$(e))}},e.prototype.pushMapState=function(e){if(e>this.maxMapLength)throw new Error("Max length exceeded: map length ("+e+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:e,key:null,readCount:0,map:{}})},e.prototype.pushArrayState=function(e){if(e>this.maxArrayLength)throw new Error("Max length exceeded: array length ("+e+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:e,array:new Array(e),position:0})},e.prototype.decodeUtf8String=function(e,t){var n;if(e>this.maxStrLength)throw new Error("Max length exceeded: UTF-8 byte length ("+e+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthp?function(e,t,n){var r=e.subarray(t,t+n);return h.decode(r)}(this.bytes,s,e):c(this.bytes,s,e),this.pos+=t+e,r},e.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},e.prototype.decodeBinary=function(e,t){if(e>this.maxBinLength)throw new Error("Max length exceeded: bin length ("+e+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(e+t))throw z;var n=this.pos+t,r=this.bytes.subarray(n,n+e);return this.pos+=t+e,r},e.prototype.decodeExtension=function(e,t){if(e>this.maxExtLength)throw new Error("Max length exceeded: ext length ("+e+") > maxExtLength ("+this.maxExtLength+")");var n=this.view.getInt8(this.pos+t),r=this.decodeBinary(e,t+1);return this.extensionCodec.decode(r,n,this.context)},e.prototype.lookU8=function(){return this.view.getUint8(this.pos)},e.prototype.lookU16=function(){return this.view.getUint16(this.pos)},e.prototype.lookU32=function(){return this.view.getUint32(this.pos)},e.prototype.readU8=function(){var e=this.view.getUint8(this.pos);return this.pos++,e},e.prototype.readI8=function(){var e=this.view.getInt8(this.pos);return this.pos++,e},e.prototype.readU16=function(){var e=this.view.getUint16(this.pos);return this.pos+=2,e},e.prototype.readI16=function(){var e=this.view.getInt16(this.pos);return this.pos+=2,e},e.prototype.readU32=function(){var e=this.view.getUint32(this.pos);return this.pos+=4,e},e.prototype.readI32=function(){var e=this.view.getInt32(this.pos);return this.pos+=4,e},e.prototype.readU64=function(){var e,t,n=(e=this.view,t=this.pos,4294967296*e.getUint32(t)+e.getUint32(t+4));return this.pos+=8,n},e.prototype.readI64=function(){var e=m(this.view,this.pos);return this.pos+=8,e},e.prototype.readF32=function(){var e=this.view.getFloat32(this.pos);return this.pos+=4,e},e.prototype.readF64=function(){var e=this.view.getFloat64(this.pos);return this.pos+=8,e},e}(),V={};function U(e,t){void 0===t&&(t=V);var n=new B(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength);return n.setBuffer(e),n.decodeSingleSync()}var W=function(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&a[0]?r.return:a[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;switch(r=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((s=(s=i.trys).length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]1||o(e,t)}))})}function o(e,t){try{(n=s[e](t)).value instanceof G?Promise.resolve(n.value.v).then(l,u):c(a[0][2],n)}catch(e){c(a[0][3],e)}var n}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}};function j(e){if(null==e)throw new Error("Assertion Failure: value must not be null nor undefined")}function q(e){return null!=e[Symbol.asyncIterator]?e:function(e){return H(this,arguments,(function(){var t,n,r,s;return W(this,(function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,G(t.read())];case 3:return n=a.sent(),r=n.done,s=n.value,r?[4,G(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return j(s),[4,G(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}(e)}function K(e,t){return void 0===t&&(t=V),function(e,t,n,r){return new(n||(n=Promise))((function(s,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,o)}l((r=r.apply(e,t||[])).next())}))}(this,void 0,void 0,(function(){var n;return function(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&a[0]?r.return:a[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;switch(r=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((s=(s=i.trys).length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]{"use strict";n.r(t),n.d(t,{Abs:()=>Ye,Acos:()=>Ze,Acosh:()=>Je,AdadeltaOptimizer:()=>Nl,AdagradOptimizer:()=>Tl,AdamOptimizer:()=>$l,AdamaxOptimizer:()=>Ml,Add:()=>Qe,AddN:()=>et,All:()=>tt,Any:()=>nt,ArgMax:()=>rt,ArgMin:()=>st,Asin:()=>at,Asinh:()=>it,Atan:()=>ot,Atan2:()=>ut,Atanh:()=>lt,AvgPool:()=>ct,AvgPool3D:()=>pt,AvgPool3DGrad:()=>dt,AvgPoolGrad:()=>ht,BatchMatMul:()=>ft,BatchToSpaceND:()=>mt,Bincount:()=>gt,BroadcastArgs:()=>bt,BroadcastTo:()=>yt,Callback:()=>bI,CallbackList:()=>bb,Cast:()=>xt,Ceil:()=>wt,ClipByValue:()=>vt,Complex:()=>kt,ComplexAbs:()=>It,Concat:()=>Nt,Conv2D:()=>St,Conv2DBackpropFilter:()=>Tt,Conv2DBackpropInput:()=>Ct,Conv3D:()=>Et,Conv3DBackpropFilterV2:()=>$t,Conv3DBackpropInputV2:()=>At,Cos:()=>Rt,Cosh:()=>Mt,CropAndResize:()=>Dt,Cumsum:()=>Ft,CustomCallback:()=>vb,DataStorage:()=>j,DenseBincount:()=>_t,DepthToSpace:()=>Ot,DepthwiseConv2dNative:()=>Lt,DepthwiseConv2dNativeBackpropFilter:()=>zt,DepthwiseConv2dNativeBackpropInput:()=>Pt,Diag:()=>Bt,Dilation2D:()=>Vt,Dilation2DBackpropFilter:()=>Wt,Dilation2DBackpropInput:()=>Ut,ENV:()=>qe,EarlyStopping:()=>vI,Einsum:()=>Ht,Elu:()=>jt,EluGrad:()=>qt,Environment:()=>We,Equal:()=>Xt,Erf:()=>Kt,Exp:()=>Yt,ExpandDims:()=>Zt,Expm1:()=>Jt,FFT:()=>Qt,Fill:()=>en,FlipLeftRight:()=>tn,Floor:()=>nn,FloorDiv:()=>rn,FromPixels:()=>Zr,FusedBatchNorm:()=>sn,FusedConv2D:()=>es,FusedDepthwiseConv2D:()=>ts,GatherNd:()=>on,GatherV2:()=>an,GraphModel:()=>LN,Greater:()=>ln,GreaterEqual:()=>un,History:()=>wb,IFFT:()=>hn,Identity:()=>cn,Imag:()=>pn,InputSpec:()=>ab,IsFinite:()=>dn,IsInf:()=>fn,IsNan:()=>mn,KernelBackend:()=>q,LRN:()=>Tn,LRNGrad:()=>Cn,LayerVariable:()=>nb,LayersModel:()=>Tx,LeakyRelu:()=>gn,Less:()=>yn,LessEqual:()=>bn,LinSpace:()=>xn,Log:()=>wn,Log1p:()=>vn,LogSoftmax:()=>Sn,LogicalAnd:()=>kn,LogicalNot:()=>In,LogicalOr:()=>Nn,Max:()=>En,MaxPool:()=>An,MaxPool3D:()=>Mn,MaxPool3DGrad:()=>Fn,MaxPoolGrad:()=>Rn,MaxPoolWithArgmax:()=>Dn,Maximum:()=>$n,Mean:()=>_n,Min:()=>On,Minimum:()=>Ln,MirrorPad:()=>zn,Mod:()=>Pn,MomentumOptimizer:()=>Dl,Multinomial:()=>Bn,Multiply:()=>Vn,Neg:()=>Un,NonMaxSuppressionV3:()=>Gn,NonMaxSuppressionV4:()=>Hn,NonMaxSuppressionV5:()=>jn,NotEqual:()=>Wn,OP_SCOPE_SUFFIX:()=>Sa,OneHot:()=>Kn,OnesLike:()=>qn,Optimizer:()=>Il,OptimizerConstructors:()=>Ol,Pack:()=>Xn,PadV2:()=>Yn,Pool:()=>Zn,Pow:()=>Jn,Prelu:()=>Qn,Prod:()=>er,RMSPropOptimizer:()=>_l,RNN:()=>Mw,Range:()=>tr,Rank:()=>Ys,Real:()=>nr,RealDiv:()=>Gt,Reciprocal:()=>rr,Reduction:()=>od,Relu:()=>sr,Relu6:()=>cr,Reshape:()=>ar,ResizeBilinear:()=>lr,ResizeBilinearGrad:()=>ur,ResizeNearestNeighbor:()=>ir,ResizeNearestNeighborGrad:()=>or,Reverse:()=>hr,RotateWithOffset:()=>Jr,Round:()=>pr,Rsqrt:()=>dr,SGDOptimizer:()=>Fl,ScatterNd:()=>fr,Select:()=>mr,Selu:()=>gr,Sequential:()=>$x,Sigmoid:()=>vr,Sign:()=>wr,Sin:()=>br,Sinh:()=>xr,Slice:()=>yr,Softmax:()=>Cr,Softplus:()=>kr,SpaceToBatchND:()=>Sr,SparseFillEmptyRows:()=>Er,SparseReshape:()=>$r,SparseSegmentMean:()=>Ar,SparseSegmentSum:()=>Rr,SparseToDense:()=>Mr,SplitV:()=>Tr,Sqrt:()=>Ir,Square:()=>Dr,SquaredDifference:()=>Fr,Step:()=>Yr,StridedSlice:()=>_r,StringNGrams:()=>Or,StringSplit:()=>Lr,StringToHashBucketFast:()=>zr,Sub:()=>Pr,Sum:()=>Nr,SymbolicTensor:()=>ib,Tan:()=>Br,Tanh:()=>Vr,Tensor:()=>qs,TensorBuffer:()=>Ws,Tile:()=>Ur,TopK:()=>Wr,Transform:()=>Gr,Transpose:()=>Hr,Unique:()=>jr,Unpack:()=>qr,UnsortedSegmentSum:()=>Kr,Variable:()=>Xs,ZerosLike:()=>Xr,_FusedMatMul:()=>Qr,abs:()=>Al,acos:()=>Ll,acosh:()=>zl,add:()=>ll,addN:()=>Pl,all:()=>Bl,any:()=>Vl,argMax:()=>Ul,argMin:()=>Wl,asin:()=>Gl,asinh:()=>Hl,atan:()=>jl,atan2:()=>ql,atanh:()=>Kl,avgPool:()=>cu,avgPool3d:()=>hu,backend:()=>il,backend_util:()=>y,basicLSTMCell:()=>gu,batchNorm:()=>bu,batchNorm2d:()=>xu,batchNorm3d:()=>wu,batchNorm4d:()=>vu,batchToSpaceND:()=>yu,bincount:()=>ku,booleanMaskAsync:()=>hp,broadcastArgs:()=>Iu,broadcastTo:()=>Nu,broadcast_util:()=>l,browser:()=>u,buffer:()=>Ni,callbacks:()=>kI,cast:()=>Si,ceil:()=>Su,clipByValue:()=>Tu,clone:()=>Ti,complex:()=>Ca,concat:()=>pu,concat1d:()=>Cu,concat2d:()=>Eu,concat3d:()=>$u,concat4d:()=>Au,constraints:()=>x,conv1d:()=>Mu,conv2d:()=>Ru,conv2dTranspose:()=>Du,conv3d:()=>_u,conv3dTranspose:()=>Lu,copyRegisteredKernels:()=>ds,cos:()=>zu,cosh:()=>Pu,cosineWindow:()=>wp,cumsum:()=>Bu,customGrad:()=>wl,data:()=>G,denseBincount:()=>Vu,deprecationWarn:()=>Go,depthToSpace:()=>Uu,depthwiseConv2d:()=>Wu,deregisterOp:()=>EI,device_util:()=>a,diag:()=>Gu,dilation2d:()=>Hu,disableDeprecationWarnings:()=>Wo,dispose:()=>Yo,disposeVariables:()=>Ho,div:()=>cl,divNoNan:()=>Ku,dot:()=>Xu,dropout:()=>bp,einsum:()=>Yu,elu:()=>Zu,enableDebugMode:()=>Uo,enableProdMode:()=>Vo,enclosingPowerOfTwo:()=>xp,engine:()=>jo,env:()=>He,equal:()=>ju,erf:()=>Ju,exp:()=>Qu,expandDims:()=>ec,expm1:()=>tc,eye:()=>rc,fft:()=>Vh,fill:()=>Sl,findBackend:()=>rl,findBackendFactory:()=>sl,floor:()=>sc,floorDiv:()=>ul,fused:()=>m,gather:()=>ac,gatherND:()=>yp,gather_util:()=>c,getBackend:()=>tl,getGradient:()=>os,getKernel:()=>is,getKernelsForBackend:()=>ls,grad:()=>ml,grads:()=>gl,greater:()=>ic,greaterEqual:()=>oc,ifft:()=>Uh,imag:()=>lc,image:()=>Td,inTopKAsync:()=>vp,initializers:()=>w,input:()=>Fx,io:()=>i,irfft:()=>Wh,isFinite:()=>uc,isInf:()=>cc,isNaN:()=>hc,keep:()=>Zo,kernel_impls:()=>b,layers:()=>v,leakyRelu:()=>pc,less:()=>dc,lessEqual:()=>fc,linalg:()=>Cd,linspace:()=>mc,loadGraphModel:()=>zN,loadLayersModel:()=>Mx,localResponseNormalization:()=>gc,log:()=>yc,log1p:()=>bc,logSigmoid:()=>vc,logSoftmax:()=>Nc,logSumExp:()=>Fc,logicalAnd:()=>Dc,logicalNot:()=>_c,logicalOr:()=>Oc,logicalXor:()=>Lc,losses:()=>Ed,matMul:()=>Hi,math:()=>o,max:()=>kc,maxPool:()=>zc,maxPool3d:()=>Pc,maxPoolWithArgmax:()=>Bc,maximum:()=>Rl,mean:()=>Vc,memory:()=>qo,meshgrid:()=>Gc,metrics:()=>k,min:()=>Hc,minimum:()=>jc,mirrorPad:()=>qc,mod:()=>Kc,model:()=>Ax,models:()=>I,moments:()=>Xc,movingAverage:()=>fp,mul:()=>hl,multiRNNCell:()=>Yc,multinomial:()=>Zc,neg:()=>xc,nextFrame:()=>Fd,norm:()=>dp,notEqual:()=>Jc,oneHot:()=>ji,ones:()=>Wc,onesLike:()=>Qc,op:()=>Ta,outerProduct:()=>eh,pad:()=>th,pad1d:()=>nh,pad2d:()=>rh,pad3d:()=>sh,pad4d:()=>ah,pool:()=>oh,pow:()=>Cl,prelu:()=>lh,print:()=>Ci,prod:()=>uh,profile:()=>Ko,rand:()=>ch,randomGamma:()=>mh,randomNormal:()=>gh,randomUniform:()=>yh,range:()=>bh,ready:()=>el,real:()=>xh,reciprocal:()=>wh,registerBackend:()=>al,registerCallbackConstructor:()=>Dx,registerGradient:()=>cs,registerKernel:()=>us,registerOp:()=>TI,regularizers:()=>N,relu:()=>vh,relu6:()=>kh,removeBackend:()=>nl,reshape:()=>uu,reverse:()=>Ih,reverse1d:()=>Nh,reverse2d:()=>Sh,reverse3d:()=>Th,reverse4d:()=>Ch,rfft:()=>Hh,round:()=>Eh,rsqrt:()=>$h,scalar:()=>kl,scatterND:()=>mp,scatter_util:()=>h,selu:()=>Ah,separableConv2d:()=>Rh,sequential:()=>Rx,serialization:()=>d,setBackend:()=>Qo,setPlatform:()=>ol,setdiff1dAsync:()=>Mh,sigmoid:()=>du,sign:()=>Fh,signal:()=>Sd,sin:()=>Dh,sinh:()=>_h,slice:()=>fu,slice1d:()=>Oh,slice2d:()=>Lh,slice3d:()=>zh,slice4d:()=>Ph,slice_util:()=>p,softmax:()=>Bh,softplus:()=>wc,spaceToBatchND:()=>ih,sparse:()=>$d,sparseToDense:()=>gp,spectral:()=>Nd,split:()=>Gh,sqrt:()=>pl,square:()=>dl,squaredDifference:()=>jh,squeeze:()=>qh,stack:()=>Kh,step:()=>Xh,stridedSlice:()=>Yh,string:()=>Ad,sub:()=>El,sum:()=>Ic,sumOutType:()=>ra,tan:()=>Zh,tanh:()=>mu,tensor:()=>$a,tensor1d:()=>Jh,tensor2d:()=>Qh,tensor3d:()=>Ji,tensor4d:()=>ep,tensor5d:()=>tp,tensor6d:()=>np,tensor_util:()=>s,test_util:()=>f,tidy:()=>Xo,tile:()=>nc,time:()=>Jo,topk:()=>rp,train:()=>Rd,transpose:()=>qi,truncatedNormal:()=>sp,unique:()=>ap,unregisterGradient:()=>ps,unregisterKernel:()=>hs,unsortedSegmentSum:()=>ip,unstack:()=>op,upcastType:()=>na,util:()=>r,valueAndGrad:()=>yl,valueAndGrads:()=>bl,variable:()=>lp,variableGrads:()=>xl,version:()=>_B,version_converter:()=>PN,version_core:()=>Bo,version_layers:()=>tx,where:()=>qu,whereAsync:()=>cp,zeros:()=>Uc,zerosLike:()=>fl});var r={};n.r(r),n.d(r,{arraysEqual:()=>ue,assert:()=>re,assertNonNegativeIntegerDimensions:()=>Pe,assertNonNull:()=>ae,assertShapesMatch:()=>se,bytesFromStringArray:()=>Te,bytesPerElement:()=>Se,checkConversionForErrors:()=>ve,clamp:()=>Z,computeStrides:()=>Fe,createScalarValue:()=>$s,createShuffledIndices:()=>de,decodeString:()=>Ds,distSquared:()=>ne,encodeString:()=>Fs,fetch:()=>Ms,fingerPrint64:()=>Es,flatten:()=>ie,getArrayFromDType:()=>we,getTypedArrayFromDType:()=>xe,hasEncodingLoss:()=>Ie,hexToLong:()=>ys,indexToLoc:()=>Ve,inferDtype:()=>Ae,inferFromImplicitShape:()=>ge,isBoolean:()=>Ee,isFunction:()=>Re,isInt:()=>ce,isNumber:()=>$e,isPromise:()=>Ue,isScalarShape:()=>le,isString:()=>Ce,isTypedArray:()=>Ne,isValidDtype:()=>ke,locToIndex:()=>Be,makeOnesTypedArray:()=>Oe,makeZerosNestedTypedArray:()=>ze,makeZerosTypedArray:()=>Le,nearestDivisor:()=>Me,nearestLargerEven:()=>J,now:()=>Rs,parseAxisParam:()=>ye,randUniform:()=>te,repeatedTry:()=>me,rightPad:()=>fe,shuffle:()=>X,shuffleCombo:()=>Y,sizeFromShape:()=>oe,sizeToSquarishShape:()=>pe,squeezeShape:()=>be,sum:()=>ee,swap:()=>Q,tanh:()=>he,toNestedArray:()=>_e,toTypedArray:()=>As});var s={};n.r(s),n.d(s,{assertTypesMatch:()=>aa,getTensorsInContainer:()=>oa,isTensorInList:()=>ia,makeTypesMatch:()=>sa});var a={};n.r(a),n.d(a,{isBrowser:()=>ba,isMobile:()=>ya,mockIsMobile:()=>ga});var i={};n.r(i),n.d(i,{browserFiles:()=>Ri,browserHTTPRequest:()=>Bi,concatenateArrayBuffers:()=>Oa,copyModel:()=>wi,decodeWeights:()=>Ma,encodeWeights:()=>Ra,fromMemory:()=>Wi,getLoadHandlers:()=>ja,getModelArtifactsForJSON:()=>Pa,getModelArtifactsInfoForJSON:()=>Ba,getSaveHandlers:()=>Ha,http:()=>Pi,isHTTPScheme:()=>Li,listModels:()=>bi,loadWeights:()=>Di,moveModel:()=>vi,registerLoadRouter:()=>Ga,registerSaveRouter:()=>Wa,removeModel:()=>xi,weightsLoaderFactory:()=>_i,withSaveHandler:()=>Gi});var o={};n.r(o),n.d(o,{confusionMatrix:()=>Ki});var l={};n.r(l),n.d(l,{assertAndGetBroadcastShape:()=>Zi,getBroadcastDims:()=>Xi,getReductionAxes:()=>Yi});var u={};n.r(u),n.d(u,{fromPixels:()=>ro,fromPixelsAsync:()=>to,toPixels:()=>no});var c={};n.r(c),n.d(c,{prepareAndValidate:()=>so});var h={};n.r(h),n.d(h,{calculateShapes:()=>oo,validateInput:()=>io,validateUpdateShape:()=>ao});var p={};n.r(p),n.d(p,{assertParamsValid:()=>lo,computeFlatOffset:()=>ko,computeOutShape:()=>co,getNormalizedAxes:()=>mo,isSliceContinous:()=>vo,maskToAxes:()=>uo,parseSliceParams:()=>Io,sliceInfo:()=>No,startForAxis:()=>xo,startIndicesWithElidedDims:()=>go,stopForAxis:()=>wo,stopIndicesWithElidedDims:()=>yo,stridesForAxis:()=>bo,stridesWithElidedDims:()=>ho});var d={};n.r(d),n.d(d,{Serializable:()=>To,SerializationMap:()=>Co,registerClass:()=>Eo});var f={};n.r(f),n.d(f,{TEST_EPSILON_FLOAT16:()=>$o,encodeStrings:()=>Po,expectArrayBuffersEqual:()=>zo,expectArraysClose:()=>Ao,expectArraysEqual:()=>Do,expectNumbersClose:()=>_o,expectPromiseToFail:()=>Fo,expectValuesInRange:()=>Lo,testEpsilon:()=>Ro});var m={};n.r(m),n.d(m,{conv2d:()=>Cp,depthwiseConv2d:()=>Ap,matMul:()=>Rp});var g={};n.r(g),n.d(g,{collectGatherOpShapeInfo:()=>$f,computeOutShape:()=>Ef,segOpComputeOptimalWindowSize:()=>Cf});var y={};n.r(y),n.d(y,{ERF_A1:()=>qd,ERF_A2:()=>Kd,ERF_A3:()=>Xd,ERF_A4:()=>Yd,ERF_A5:()=>Zd,ERF_P:()=>jd,PARALLELIZE_THRESHOLD:()=>Od,SELU_SCALE:()=>Hd,SELU_SCALEALPHA:()=>Gd,applyActivation:()=>Sp,assertAndGetBroadcastShape:()=>Zi,assertAxesAreInnerMostDims:()=>$c,assertParamsConsistent:()=>Dd,assignToTypedArray:()=>rf,axesAreInnerMostDims:()=>Sc,calculateShapes:()=>oo,checkEinsumDimSizes:()=>cf,checkPadOnDimRoundingMode:()=>lu,combineLocations:()=>Tc,complexWithEvenIndex:()=>ef,complexWithOddIndex:()=>tf,computeConv2DInfo:()=>Jl,computeConv3DInfo:()=>Ql,computeDefaultPad:()=>eu,computeDilation2DInfo:()=>Xl,computeOptimalWindowSize:()=>Ld,computeOutAndReduceShapes:()=>Cc,computeOutShape:()=>_d,computePool2DInfo:()=>Yl,computePool3DInfo:()=>Zl,convertConv2DDataFormat:()=>ou,decodeEinsumEquation:()=>lf,eitherStridesOrDilationsAreOne:()=>iu,expandShapeToKeepDim:()=>Ec,exponent:()=>af,exponents:()=>sf,fromStringArrayToUint8:()=>Rf,fromUint8ToStringArray:()=>Af,getAxesPermutation:()=>Ac,getBroadcastDims:()=>Xi,getComplexWithIndex:()=>nf,getEinsumComputePath:()=>hf,getEinsumPermutation:()=>uf,getFusedBiasGradient:()=>Np,getFusedDyActivation:()=>Ip,getImageCenter:()=>zd,getInnerMostAxes:()=>Mc,getPermuted:()=>Bd,getReductionAxes:()=>Yi,getReshaped:()=>Pd,getReshapedPermuted:()=>Vd,getSliceBeginCoords:()=>Ud,getSliceSize:()=>Wd,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>mf,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>gf,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>yf,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>wf,getSparseReshapeInputOutputMismatchErrorMessage:()=>kf,getSparseReshapeInputOutputMultipleErrorMessage:()=>vf,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>bf,getSparseReshapeNegativeOutputDimErrorMessage:()=>xf,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>Tf,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>If,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>Nf,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>Sf,getUndoAxesPermutation:()=>Rc,isIdentityPermutation:()=>pf,log:()=>rs,mergeRealAndImagArrays:()=>Jd,prepareAndValidate:()=>so,prepareSplitSize:()=>ff,segment_util:()=>g,shouldFuse:()=>Tp,slice_util:()=>p,splitRealAndImagArrays:()=>Qd,tupleValuesAreOne:()=>au,upcastType:()=>na,validateInput:()=>io,validateUpdateShape:()=>ao,warn:()=>ns});var b={};n.r(b),n.d(b,{nonMaxSuppressionV3Impl:()=>Gp,nonMaxSuppressionV4Impl:()=>Hp,nonMaxSuppressionV5Impl:()=>jp,whereImpl:()=>up});var x={};n.r(x),n.d(x,{maxNorm:()=>Sg,minMaxNorm:()=>Eg,nonNeg:()=>Cg,unitNorm:()=>Tg});var w={};n.r(w),n.d(w,{constant:()=>Dy,glorotNormal:()=>Vy,glorotUniform:()=>By,heNormal:()=>Uy,heUniform:()=>Wy,identity:()=>zy,leCunNormal:()=>Gy,leCunUniform:()=>Hy,ones:()=>Fy,orthogonal:()=>jy,randomNormal:()=>Oy,randomUniform:()=>_y,truncatedNormal:()=>Ly,varianceScaling:()=>Py,zeros:()=>My});var v={};n.r(v),n.d(v,{Layer:()=>cb,RNN:()=>Mw,RNNCell:()=>Fw,activation:()=>Qv,add:()=>lk,alphaDropout:()=>Jk,average:()=>uk,averagePooling1d:()=>bk,averagePooling2d:()=>vk,averagePooling3d:()=>Nk,avgPool1d:()=>xk,avgPool2d:()=>kk,avgPool3d:()=>Sk,avgPooling1d:()=>wk,avgPooling2d:()=>Ik,avgPooling3d:()=>Tk,batchNormalization:()=>mk,bidirectional:()=>Gk,concatenate:()=>ck,conv1d:()=>Gv,conv2d:()=>Hv,conv2dTranspose:()=>jv,conv3d:()=>qv,conv3dTranspose:()=>Kv,convLstm2d:()=>Bk,convLstm2dCell:()=>Vk,cropping2D:()=>Yv,dense:()=>ek,depthwiseConv2d:()=>Jv,dot:()=>fk,dropout:()=>tk,elu:()=>zv,embedding:()=>ok,flatten:()=>rk,gaussianDropout:()=>Zk,gaussianNoise:()=>Yk,globalAveragePooling1d:()=>Ck,globalAveragePooling2d:()=>Ek,globalMaxPool1d:()=>jk,globalMaxPool2d:()=>qk,globalMaxPooling1d:()=>$k,globalMaxPooling2d:()=>Ak,gru:()=>Dk,gruCell:()=>_k,input:()=>Fx,inputLayer:()=>Lv,layerNormalization:()=>gk,leakyReLU:()=>Bv,lstm:()=>Ok,lstmCell:()=>Lk,masking:()=>Qk,maxPool1d:()=>Kk,maxPool2d:()=>Xk,maxPooling1d:()=>Rk,maxPooling2d:()=>Mk,maxPooling3d:()=>Fk,maximum:()=>hk,minimum:()=>pk,multiply:()=>dk,permute:()=>ik,prelu:()=>Vv,reLU:()=>Pv,repeatVector:()=>sk,reshape:()=>ak,rnn:()=>Uk,separableConv2d:()=>Xv,simpleRNN:()=>zk,simpleRNNCell:()=>Pk,softmax:()=>Uv,spatialDropout1d:()=>nk,stackedRNNCells:()=>Wk,thresholdedReLU:()=>Wv,timeDistributed:()=>Hk,upSampling2d:()=>Zv,zeroPadding2d:()=>yk});var k={};n.r(k),n.d(k,{MAPE:()=>cI,MSE:()=>dI,binaryAccuracy:()=>eI,binaryCrossentropy:()=>tI,categoricalAccuracy:()=>rI,categoricalCrossentropy:()=>sI,cosineProximity:()=>oI,mape:()=>hI,meanAbsoluteError:()=>lI,meanAbsolutePercentageError:()=>uI,meanSquaredError:()=>pI,mse:()=>fI,precision:()=>aI,recall:()=>iI,sparseCategoricalAccuracy:()=>nI});var I={};n.r(I),n.d(I,{modelFromJSON:()=>Ex});var N={};n.r(N),n.d(N,{l1:()=>gI,l1l2:()=>mI,l2:()=>yI});var S={};n.r(S),n.d(S,{json:()=>OI});var T={};n.r(T),n.d(T,{json:()=>LI});var C={};n.r(C),n.d(C,{json:()=>zI});var E={};n.r(E),n.d(E,{json:()=>PI});var $={};n.r($),n.d($,{json:()=>BI});var A={};n.r(A),n.d(A,{json:()=>VI});var R={};n.r(R),n.d(R,{json:()=>UI});var M={};n.r(M),n.d(M,{json:()=>WI});var F={};n.r(F),n.d(F,{json:()=>GI});var D={};n.r(D),n.d(D,{json:()=>HI});var _={};n.r(_),n.d(_,{json:()=>jI});var O={};n.r(O),n.d(O,{json:()=>qI});var L={};n.r(L),n.d(L,{json:()=>KI});var z={};n.r(z),n.d(z,{json:()=>XI});var P={};n.r(P),n.d(P,{json:()=>YI});var B={};n.r(B),n.d(B,{json:()=>ZI});var V={};n.r(V),n.d(V,{json:()=>JI});var U={};n.r(U),n.d(U,{json:()=>QI});var W={};n.r(W),n.d(W,{json:()=>eN});var G={};n.r(G),n.d(G,{CSVDataset:()=>CS,Dataset:()=>mS,FileDataSource:()=>PS,TextLineDataset:()=>wS,URLDataSource:()=>BS,array:()=>yS,csv:()=>VS,func:()=>US,generator:()=>WS,microphone:()=>HS,version_data:()=>jS,webcam:()=>GS,zip:()=>bS});var H={};n.r(H),n.d(H,{addImpl:()=>TT,bincountImpl:()=>bC,bincountReduceImpl:()=>xC,ceilImpl:()=>kC,concatImpl:()=>EC,equalImpl:()=>cE,expImpl:()=>vE,expm1Impl:()=>TE,floorImpl:()=>WE,gatherNdImpl:()=>ZE,gatherV2Impl:()=>QE,greaterEqualImpl:()=>s$,greaterImpl:()=>t$,lessEqualImpl:()=>y$,lessImpl:()=>f$,linSpaceImpl:()=>w$,logImpl:()=>k$,maxImpl:()=>L$,maximumImpl:()=>B$,minimumImpl:()=>Y$,multiplyImpl:()=>nE,negImpl:()=>iA,notEqualImpl:()=>fA,prodImpl:()=>CA,rangeImpl:()=>$A,rsqrtImpl:()=>VA,sigmoidImpl:()=>dT,simpleAbsImpl:()=>_T,sliceImpl:()=>fC,sparseFillEmptyRowsImpl:()=>oR,sparseReshapeImpl:()=>uR,sparseSegmentReductionImpl:()=>hR,sqrtImpl:()=>gR,squaredDifferenceImpl:()=>wR,stridedSliceImpl:()=>SR,stringNGramsImpl:()=>ER,stringSplitImpl:()=>RR,stringToHashBucketFastImpl:()=>FR,subImpl:()=>ME,tileImpl:()=>zR,topKImpl:()=>VR,transposeImpl:()=>UT,uniqueImpl:()=>jR});class j{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}}class q{refCount(e){return K("refCount")}incRef(e){return K("incRef")}timerAvailable(){return!0}time(e){return K("time")}read(e){return K("read")}readSync(e){return K("readSync")}readToGPU(e,t){return K("readToGPU")}numDataIds(){return K("numDataIds")}disposeData(e,t){return K("disposeData")}write(e,t,n){return K("write")}move(e,t,n,r,s){return K("move")}memory(){return K("memory")}floatPrecision(){return K("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return K("dispose")}}function K(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function X(e){let t=e.length,n=0;for(;t>0;)n=Math.random()*t|0,t--,Q(e,t,n)}function Y(e,t){if(e.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${e.length}Second array length was ${t.length}`);let n=e.length,r=0;for(;n>0;)r=Math.random()*n|0,n--,Q(e,n,r),Q(t,n,r)}function Z(e,t,n){return Math.max(e,Math.min(t,n))}function J(e){return e%2==0?e:e+1}function Q(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function ee(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`))}function ae(e){re(null!=e,(()=>"The input to the tensor constructor must be a non-null value."))}function ie(e,t=[],n=!1){if(null==t&&(t=[]),Array.isArray(e)||Ne(e)&&!n)for(let r=0;r0),n){return new Promise(((r,s)=>{let a=0;const i=()=>{if(e())return void r();a++;const o=t(a);null!=n&&a>=n?s():setTimeout(i,o)};i()}))}function ge(e,t){let n=1,r=-1;for(let t=0;t=0)n*=e[t];else if(-1===e[t]){if(-1!==r)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${t}`);r=t}else if(e[t]<0)throw Error(`Shapes can not be < 0. Found ${e[t]} at dim ${t}`);if(-1===r){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(0===n)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!=0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const s=e.slice();return s[r]=t/n,s}function ye(e,t){const n=t.length;return re((e=null==e?t.map(((e,t)=>t)):[].concat(e)).every((e=>e>=-n&&e`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`)),re(e.every((e=>ce(e))),(()=>`All values in axis param must be integers but got axis ${e}`)),e.map((e=>e<0?n+e:e))}function be(e,t){const n=[],r=[],s=null!=t&&Array.isArray(t)&&0===t.length,a=null==t||s?null:ye(t,e).sort();let i=0;for(let t=0;tt)&&1===e[t]&&(n.push(e[t]),r.push(t)),a[i]<=t&&i++}1!==e[t]&&(n.push(e[t]),r.push(t))}return{newShape:n,keptDims:r}}function xe(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else{if("bool"!==e)throw new Error(`Unknown data type ${e}`);n=new Uint8Array(t)}return n}function we(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);n=new Array(t)}return n}function ve(e,t){for(let n=0;nt+=e.length)),t}function Ce(e){return"string"==typeof e||e instanceof String}function Ee(e){return"boolean"==typeof e}function $e(e){return"number"==typeof e}function Ae(e){return Array.isArray(e)?Ae(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":$e(e)?"float32":Ce(e)?"string":Ee(e)?"bool":"float32"}function Re(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Me(e,t){for(let n=t;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function De(e,t,n,r=!1){const s=new Array;if(1===t.length){const a=t[0]*(r?2:1);for(let t=0;te*t))*(r?2:1);for(let t=0;te*t))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return De(0,e,t,n)}function Oe(e,t){const n=Le(e,t);for(let e=0;ee*t),1);if(null==t||"float32"===t)return _e(e,new Float32Array(n));if("int32"===t)return _e(e,new Int32Array(n));if("bool"===t)return _e(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function Pe(e){e.forEach((t=>{re(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function Be(e,t,n){if(0===t)return 0;if(1===t)return e[0];let r=e[e.length-1];for(let t=0;t{const[t,n]=e.split(":");this.urlFlags[t]=function(e,t){if("true"===(t=t.toLowerCase())||"false"===t)return"true"===t;if(""+ +t===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}(t,n)}))}}function Ge(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...n)=>(function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}(t,n[0],n[1]),n.join("=")))),t}function He(){return qe}let je,qe=null;function Ke(){if(null==je){let e;if("undefined"!=typeof window)e=window;else if(void 0!==n.g)e=n.g;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}je=e}return je}function Xe(e,t){const n=function(){const e=Ke();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Ye="Abs",Ze="Acos",Je="Acosh",Qe="Add",et="AddN",tt="All",nt="Any",rt="ArgMax",st="ArgMin",at="Asin",it="Asinh",ot="Atan",lt="Atanh",ut="Atan2",ct="AvgPool",ht="AvgPoolGrad",pt="AvgPool3D",dt="AvgPool3DGrad",ft="BatchMatMul",mt="BatchToSpaceND",gt="Bincount",yt="BroadcastTo",bt="BroadcastArgs",xt="Cast",wt="Ceil",vt="ClipByValue",kt="Complex",It="ComplexAbs",Nt="Concat",St="Conv2D",Tt="Conv2DBackpropFilter",Ct="Conv2DBackpropInput",Et="Conv3D",$t="Conv3DBackpropFilterV2",At="Conv3DBackpropInputV2",Rt="Cos",Mt="Cosh",Ft="Cumsum",Dt="CropAndResize",_t="DenseBincount",Ot="DepthToSpace",Lt="DepthwiseConv2dNative",zt="DepthwiseConv2dNativeBackpropFilter",Pt="DepthwiseConv2dNativeBackpropInput",Bt="Diag",Vt="Dilation2D",Ut="Dilation2DBackpropInput",Wt="Dilation2DBackpropFilter",Gt="RealDiv",Ht="Einsum",jt="Elu",qt="EluGrad",Kt="Erf",Xt="Equal",Yt="Exp",Zt="ExpandDims",Jt="Expm1",Qt="FFT",en="Fill",tn="FlipLeftRight",nn="Floor",rn="FloorDiv",sn="FusedBatchNorm",an="GatherV2",on="GatherNd",ln="Greater",un="GreaterEqual",cn="Identity",hn="IFFT",pn="Imag",dn="IsFinite",fn="IsInf",mn="IsNan",gn="LeakyRelu",yn="Less",bn="LessEqual",xn="LinSpace",wn="Log",vn="Log1p",kn="LogicalAnd",In="LogicalNot",Nn="LogicalOr",Sn="LogSoftmax",Tn="LRN",Cn="LRNGrad",En="Max",$n="Maximum",An="MaxPool",Rn="MaxPoolGrad",Mn="MaxPool3D",Fn="MaxPool3DGrad",Dn="MaxPoolWithArgmax",_n="Mean",On="Min",Ln="Minimum",zn="MirrorPad",Pn="Mod",Bn="Multinomial",Vn="Multiply",Un="Neg",Wn="NotEqual",Gn="NonMaxSuppressionV3",Hn="NonMaxSuppressionV4",jn="NonMaxSuppressionV5",qn="OnesLike",Kn="OneHot",Xn="Pack",Yn="PadV2",Zn="Pool",Jn="Pow",Qn="Prelu",er="Prod",tr="Range",nr="Real",rr="Reciprocal",sr="Relu",ar="Reshape",ir="ResizeNearestNeighbor",or="ResizeNearestNeighborGrad",lr="ResizeBilinear",ur="ResizeBilinearGrad",cr="Relu6",hr="Reverse",pr="Round",dr="Rsqrt",fr="ScatterNd",mr="Select",gr="Selu",yr="Slice",br="Sin",xr="Sinh",wr="Sign",vr="Sigmoid",kr="Softplus",Ir="Sqrt",Nr="Sum",Sr="SpaceToBatchND",Tr="SplitV",Cr="Softmax",Er="SparseFillEmptyRows",$r="SparseReshape",Ar="SparseSegmentMean",Rr="SparseSegmentSum",Mr="SparseToDense",Fr="SquaredDifference",Dr="Square",_r="StridedSlice",Or="StringNGrams",Lr="StringSplit",zr="StringToHashBucketFast",Pr="Sub",Br="Tan",Vr="Tanh",Ur="Tile",Wr="TopK",Gr="Transform",Hr="Transpose",jr="Unique",qr="Unpack",Kr="UnsortedSegmentSum",Xr="ZerosLike",Yr="Step",Zr="FromPixels",Jr="RotateWithOffset",Qr="_FusedMatMul",es="FusedConv2D",ts="FusedDepthwiseConv2D";function ns(...e){He().getBool("IS_TEST")||He().getBool("PROD")||console.warn(...e)}function rs(...e){He().getBool("IS_TEST")||He().getBool("PROD")||console.log(...e)}const ss=Xe("kernelRegistry",(()=>new Map)),as=Xe("gradRegistry",(()=>new Map));function is(e,t){const n=fs(e,t);return ss.get(n)}function os(e){return as.get(e)}function ls(e){const t=ss.entries(),n=[];for(;;){const{done:r,value:s}=t.next();if(r)break;const[a,i]=s,[o]=a.split("_");o===e&&n.push(i)}return n}function us(e){const{kernelName:t,backendName:n}=e,r=fs(t,n);ss.has(r)&&ns(`The kernel '${t}' for backend '${n}' is already registered`),ss.set(r,e)}function cs(e){const{kernelName:t}=e;as.has(t)&&He().getBool("DEBUG")&&ns(`Overriding the gradient for '${t}'`),as.set(t,e)}function hs(e,t){const n=fs(e,t);if(!ss.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);ss.delete(n)}function ps(e){if(!as.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);as.delete(e)}function ds(e,t){ls(e).forEach((e=>{us(Object.assign({},e,{backendName:t}))}))}function fs(e,t){return`${t}_${e}`}var ms=n(3720);const gs=n.n(ms)()||ms;function ys(e){return gs.fromString(e,!0,16)}const bs=ys("c3a5c85c97cb3127"),xs=ys("b492b66fbe98f273"),ws=ys("9ae16a3b2f90404f");function vs(e){return e.xor(e.shru(47))}function ks(e,t,n){const r=e.slice(t,t+n);return gs.fromBytes(Array.from(r),!0,!0)}function Is(e,t){return ks(e,t,8)}function Ns(e,t){return ks(e,t,4)}function Ss(e,t){return 0===t?e:e.shru(t).or(e.shl(64-t))}function Ts(e,t,n=ys("9ddfea08eb382d69")){let r=e.xor(t).mul(n);r=r.xor(r.shru(47));let s=t.xor(r).mul(n);return s=s.xor(s.shru(47)),s=s.mul(n),s}function Cs(e,t,n,r){return function(e,t,n,r,s,a){s=s.add(e),a=Ss(a.add(s).add(r),21);const i=s;return s=(s=s.add(t)).add(n),a=a.add(Ss(s,44)),[s.add(r),a.add(i)]}(Is(e,t),Is(e,t+8),Is(e,t+16),Is(e,t+24),n,r)}function Es(e,t=e.length){const n=gs.fromNumber(81,!0);if(t<=32)return t<=16?function(e,t=e.length){if(t>=8){const n=ws.add(2*t),r=Is(e,0).add(ws),s=Is(e,t-8);return Ts(Ss(s,37).mul(n).add(r),Ss(r,25).add(s).mul(n),n)}if(t>=4){const n=ws.add(2*t);return Ts(Ns(e,0).shl(3).add(t),Ns(e,t-4),n)}if(t>0){const n=e[0]+(e[t>>1]<<8),r=t+(e[t-1]<<2);return vs(ws.mul(n).xor(bs.mul(r))).mul(ws)}return ws}(e,t):function(e,t=e.length){const n=ws.add(2*t),r=Is(e,0).mul(xs),s=Is(e,8),a=Is(e,t-8).mul(n),i=Is(e,t-16).mul(ws);return Ts(Ss(r.add(s),43).add(Ss(a,30)).add(i),r.add(Ss(s.add(ws),18)).add(a),n)}(e,t);if(t<=64)return function(e,t=e.length){const n=ws.add(2*t),r=Is(e,0).mul(ws),s=Is(e,8),a=Is(e,t-8).mul(n),i=Is(e,t-16).mul(ws),o=Ss(r.add(s),43).add(Ss(a,30)).add(i),l=Ts(o,r.add(Ss(s.add(ws),18)).add(a),n),u=Is(e,16).mul(n),c=Is(e,24),h=o.add(Is(e,t-32)).mul(n),p=l.add(Is(e,t-24)).mul(n);return Ts(Ss(u.add(c),43).add(Ss(h,30)).add(p),u.add(Ss(c.add(r),18)).add(h),n)}(e,t);let r=n,s=n.mul(xs).add(113),a=vs(s.mul(ws).add(113)).mul(ws),i=[gs.UZERO,gs.UZERO],o=[gs.UZERO,gs.UZERO];r=r.mul(ws).add(Is(e,0));let l=0;const u=64*(t-1>>6),c=u+(t-1&63)-63;do{r=Ss(r.add(s).add(i[0]).add(Is(e,l+8)),37).mul(xs),s=Ss(s.add(i[1]).add(Is(e,l+48)),42).mul(xs),r=r.xor(o[1]),s=s.add(i[0]).add(Is(e,l+40)),a=Ss(a.add(o[0]),33).mul(xs),i=Cs(e,l,i[1].mul(xs),r.add(o[0])),o=Cs(e,l+32,a.add(o[1]),s.add(Is(e,l+16))),[a,r]=[r,a],l+=64}while(l!==u);const h=xs.add(a.and(255).shl(1));return l=c,o[0]=o[0].add(t-1&63),i[0]=i[0].add(o[0]),o[0]=o[0].add(i[0]),r=Ss(r.add(s).add(i[0]).add(Is(e,l+8)),37).mul(h),s=Ss(s.add(i[1]).add(Is(e,l+48)),42).mul(h),r=r.xor(o[1].mul(9)),s=s.add(i[0].mul(9).add(Is(e,l+40))),a=Ss(a.add(o[0]),33).mul(h),i=Cs(e,l,i[1].mul(h),r.add(o[0])),o=Cs(e,l+32,a.add(o[1]),s.add(Is(e,l+16))),[a,r]=[r,a],Ts(Ts(i[0],o[0],h).add(vs(s).mul(bs)).add(a),Ts(i[1],o[1],h).add(r),h)}function $s(e,t){return"string"===t?Fs(e):As([e],t)}function As(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=ie(e)),He().getBool("DEBUG")&&ve(e,t),function(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let n=0;n{r=n()};let a;const i=Rs();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(s);else{s();for(const e of r)e.dataSync();a=Promise.resolve({kernelMs:Rs()-i})}if(He().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t{Os(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:a.then((e=>e.kernelMs)),extraInfo:a.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:s,extraInfo:a}=e;n.forEach((e=>{Promise.all([e.data(),r,a]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],s,n[2])}))}))}}function Os(e,t,n){if("float32"!==t)return!1;for(let t=0;t0?r:""} `}}console.log(`%c${o}\t%c${i}\t%c${l}D ${c}\t%c${u}\t%c${h}\t%c${a}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function zs(e,t,n,r){const s=Fe(t),a=function(e,t,n,r){const s=oe(t),a=r[r.length-1],i=new Array(a).fill(0),o=t.length,l="complex64"===n?Us(e):e;if(o>1)for(let e=0;e" "+e)).join("\n")),l.join("\n")}function Ps(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(7))} + ${parseFloat(e[1].toFixed(7))}j`:Ce(e)?`'${e}'`:"bool"===n?Bs(e):parseFloat(e.toFixed(7)).toString(),fe(r,t)}function Bs(e){return 0===e?"false":"true"}function Vs(e,t,n,r,s,a=!0){const i="complex64"===n?2:1,o=t[0],l=t.length;if(0===l)return"complex64"===n?[Ps(Us(e)[0],0,n)]:"bool"===n?[Bs(e[0])]:[e[0].toString()];if(1===l){if(o>20){const t=3*i;let r=Array.from(e.slice(0,t)),a=Array.from(e.slice((o-3)*i,o*i));return"complex64"===n&&(r=Us(r),a=Us(a)),["["+r.map(((e,t)=>Ps(e,s[t],n))).join(", ")+", ..., "+a.map(((e,t)=>Ps(e,s[o-3+t],n))).join(", ")+"]"]}return["["+("complex64"===n?Us(e):Array.from(e)).map(((e,t)=>Ps(e,s[t],n))).join(", ")+"]"]}const u=t.slice(1),c=r.slice(1),h=r[0]*i,p=[];if(o>20){for(let t=0;t<3;t++){const r=t*h,a=r+h;p.push(...Vs(e.slice(r,a),u,n,c,s,!1))}p.push("...");for(let t=o-3;t`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||we(t,this.size),this.strides=Fe(e)}set(e,...t){0===t.length&&(t=[0]),re(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const n=this.locToIndex(t);this.values[n]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const n of e){if(n<0||n>=this.shape[t]){const t=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(t)}t++}let n=e[e.length-1];for(let t=0;tDs(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),Gs().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=Gs().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>Ds(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await Gs().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(Gs().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Hs.print(this,e)}clone(){return this.throwIfDisposed(),Hs.clone(this)}toString(e=!1){return zs(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Hs.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Gs().makeVariable(this,e,t,n)}}function Ks(){return Xe("Tensor",(()=>qs))}Object.defineProperty(qs,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),Ks();class Xs extends qs{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!ue(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);Gs().disposeTensor(this),this.dataId=e.dataId,Gs().incRef(this,null)}dispose(){Gs().disposeVariable(this),this.isDisposedInternal=!0}}var Ys,Zs,Js,Qs,ea;Object.defineProperty(Xs,Symbol.hasInstance,{value:e=>e instanceof qs&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(Ys||(Ys={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(Zs||(Zs={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(Js||(Js={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(Qs||(Qs={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(ea||(ea={}));const ta={float32:Qs,int32:Zs,bool:Js,complex64:ea};function na(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return ta[e][t]}function ra(e){return na(e,"int32")}function sa(e,t){if(e.dtype===t.dtype)return[e,t];const n=na(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function aa(e,t){re(e.dtype===t.dtype,(()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`))}function ia(e,t){return t.some((t=>t.id===e.id))}function oa(e){const t=[];return la(e,t,new Set),t}function la(e,t,n){if(null==e)return;if(e instanceof qs)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const s=e;for(const e in s){const r=s[e];n.has(r)||(n.add(r),la(r,t,n))}}function ua(e){return null!=e.kernelName}class ca{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class ha{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new ca}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){ls(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(!n||n instanceof q||"function"!=typeof n.then)return this.registry[e]=n,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,r=n.then((n=>!(t(tthis.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;tthis.startScope(r)),(()=>this.endScope(n)),(()=>(n=t(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(e,t,n){e();try{const e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return ha.nextTensorId++}nextVariableId(){return ha.nextVariableId++}clone(e){const t=da.runKernel(cn,{x:e}),n={x:e};return this.addTapeNode(this.state.activeScope.name,n,[t],(e=>({x:()=>{const t={x:e};return da.runKernel(xt,t,{dtype:"float32"})}})),[],{}),t}runKernel(e,t,n){if(null==this.backendName&&this.backend,null==is(e,this.backendName))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let s=0;n.forEach((e=>{s+="complex64"===e.dtype?3:1}));const a=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],i=r-t-s-a;if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),s=this.state.numBytes,a=this.state.numTensors;let i,o;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0),null==this.backendName&&this.backend;const l=ua(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(ua(e)){const{kernelName:t,inputs:s,attrs:a}=e;null==this.backendName&&this.backend;const l=is(t,this.backendName);re(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),i=()=>{const e=this.backend.numDataIds();o=l.kernelFunc({inputs:s,attrs:a,backend:this.backend});const i=Array.isArray(o)?o:[o];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,i);const u=i.map((e=>{if(null!=e.rank)return e;const{dataId:t,shape:n,dtype:r}=e;return this.makeTensorFromDataId(t,n,r)}));if(r){const e=this.getTensorsForGradient(t,s,u);n=this.saveTensorsForBackwardMode(e)}return u}}else{const{forwardFunc:t}=e,s=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};i=()=>{const e=this.backend.numDataIds();o=this.tidy((()=>t(this.backend,s)));const n=Array.isArray(o)?o:[o];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:u,attrs:c}=e,h=ua(e)?null:e.backwardsFunc;let p;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(p=this.profiler.profileKernel(l,u,(()=>i())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(p),t=p.outputs):t=i()})),r&&this.addTapeNode(l,u,t,h,n,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(u).map((e=>null!=u[e]?u[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:p.timeMs,extraInfo:p.extraInfo}),Array.isArray(o)?t:t[0]}saveTensorsForBackwardMode(e){return e.map((e=>this.keep(this.clone(e))))}getTensorsForGradient(e,t,n){const r=os(e);if(null!=r){const e=r.inputsToSave||[],s=r.outputsToSave||[];let a;r.saveAllInputs?(re(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),a=Object.keys(t).map((e=>t[e]))):a=e.map((e=>t[e]));const i=n.filter(((e,t)=>s[t]));return a.concat(i)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let s=e;"string"===n&&Ce(e[0])&&(s=e.map((e=>Fs(e))));const a=r.write(s,t,n),i=new qs(t,n,a,this.nextTensorId());if(this.trackTensor(i,r),"string"===n){const e=this.state.tensorInfo.get(a),t=Te(s);this.state.numBytes+=t-e.bytes,e.bytes=t}return i}makeTensorFromDataId(e,t,n,r){const s=new qs(t,n=n||"float32",e,this.nextTensorId());return this.trackTensor(s,r),s}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const s=new Xs(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[s.name])throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*Se(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof Xs||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*Se(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){const t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,n,r,s,a){const i={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:s},o=os(e);null!=o&&(r=o.gradFunc),null!=r&&(i.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=Le(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],s,a))),this.state.activeTape.push(i)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=oa(e),n=new Set(t.map((e=>e.id)));for(let e=0;e{e.kept||e.scopeId!==r.id||this.track(e)}))}gradients(e,t,n,r=!1){if(re(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const s=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));re(s instanceof qs,(()=>"The result y returned by f() must be a tensor."));const a=function(e,t,n){const r={},s={};for(let e=0;er[e.id]=!0)),o=!0,s[a.id]=!0;break}if(o)break}}const a={};a[n.id]=!0;const i={};for(let t=e.length-1;t>=0;t--){const n=e[t],r=n.inputs;for(let e=0;e0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[s.id]=null==n?function(e){const t=Oe(oe(e),"float32");return da.makeTensor(t,e,"float32")}(s.shape):n,function(e,t,n,r){for(let s=t.length-1;s>=0;s--){const a=t[s],i=[];if(a.outputs.forEach((t=>{const n=e[t.id];null!=n?i.push(n):i.push(null)})),null==a.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${a.kernelName}.`);const o=a.gradient(i);for(const t in a.inputs){if(!(t in o))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(o)}.`);const s=n((()=>o[t]()));if("float32"!==s.dtype)throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${s.dtype}'`);const i=a.inputs[t];if(!ue(s.shape,i.shape))throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input '${t}' has shape '${s.shape}', which does not match the shape of the input '${i.shape}'`);if(null==e[i.id])e[i.id]=s;else{const t=e[i.id];e[i.id]=r(t,s),t.dispose()}}}}(e,a,(e=>this.tidy(e)),fa);const r=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:s,grads:r}}))}customGrad(e){return re(Re(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;re(t.every((e=>e instanceof qs)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};return t.forEach(((e,t)=>{r[t]=e})),this.runKernelFunc({forwardFunc:(r,s)=>(n=e(...t,s),re(n.value instanceof qs,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),re(Re(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(e,r)=>{const s=n.gradFunc(e,r),a=Array.isArray(s)?s:[s];re(a.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),re(a.every((e=>e instanceof qs)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const i={};return a.forEach(((e,t)=>{i[t]=()=>e})),i},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=Rs(),n=await this.backend.time(e);return n.wallMs=Rs()-t,n}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new ca;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function pa(){const e=Ke();if(null==e._tfengine){const t=new We(e);e._tfengine=new ha(t)}var t;return t=e._tfengine.ENV,qe=t,Gs=()=>e._tfengine,e._tfengine}ha.nextTensorId=0,ha.nextVariableId=0;const da=pa();function fa(e,t){const n={a:e,b:t};return da.runKernel(Qe,n)}let ma;function ga(e){ma=e}function ya(e){if(void 0!==ma)return ma;if(e||"undefined"!=typeof navigator&&null!=navigator){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){const t=e;return t.userAgentData&&t.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}function ba(){return"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope}const xa=He();function wa(e,t){let n=e;if(Ne(e))return"string"===t?[]:[e.length];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||Ne(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&He().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&va(e,r,[]),r}function va(e,t,n){if(n=n||[],!Array.isArray(e)&&!Ne(e))return void re(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));re(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),re(e.length===t[0],(()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const r=t.slice(1);for(let t=0;t=0&&(s=r),ka(r,s,t,n),null==e||!Ne(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){const r=null==e?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${r}'`)}const a=wa(e,s);Ne(e)||Array.isArray(e)||(e=[e]);const i="string"!==s?As(e,s):ie(e,[],!0);return da.makeTensor(i,a,s)}function Na(e,t,n,r="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);return e.map(((e,s)=>Ia(e,`${t}[${s}]`,n,r)))}xa.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),xa.registerFlag("IS_BROWSER",(()=>ba())),xa.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),xa.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),xa.registerFlag("PROD",(()=>!1)),xa.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>xa.getBool("DEBUG"))),xa.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),xa.registerFlag("IS_TEST",(()=>!1)),xa.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>!0)),xa.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1));const Sa="__op";function Ta(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+=Sa;const s=(...e)=>{da.startScope(n);try{const t=r(...e);return Ue(t)&&console.error("Cannot return a Promise inside of tidy."),da.endScope(t),t}catch(e){throw da.endScope(null),e}};return Object.defineProperty(s,"name",{value:n,configurable:!0}),s}const Ca=Ta({complex_:function(e,t){const n=Ia(e,"real","complex"),r=Ia(t,"imag","complex");se(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const s={real:n,imag:r};return da.runKernel(kt,s)}});function Ea(e,t,n,r){if(null==r&&(r=Ae(e)),"complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(!Ne(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){Pe(t);const e=oe(t),r=oe(n);re(e===r,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`));for(let e=0;e`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return Ne(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?As(e,r):ie(e,[],!0),da.makeTensor(e,t,r)}function $a(e,t,n){return Ea(e,t,wa(e,n),n)}const Aa={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};async function Ra(e,t){const n=[],r=[],s=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);for(let a=0;a{const t=await o.bytes(),n=t.reduce(((e,t)=>e+t.length),0)+4*t.length,r=new Uint8Array(n);let s=0;for(let e=0;e{if(t+=e.byteLength,n.push(e.byteLength===e.buffer.byteLength?e:new e.constructor(e)),!(e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${e.constructor.name}`)}));const r=new Uint8Array(t);let s=0;return n.forEach((e=>{r.set(new Uint8Array(e.buffer),s),s+=e.byteLength})),r.buffer}const Da="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function _a(e){return Da?Buffer.byteLength(e):new Blob([e]).size}function Oa(e){if(1===e.length)return e[0];let t=0;e.forEach((e=>{t+=e.byteLength}));const n=new Uint8Array(t);let r=0;return e.forEach((e=>{n.set(new Uint8Array(e),r),r+=e.byteLength})),n.buffer}function La(e){for(e=e.trim();e.endsWith("/");)e=e.slice(0,e.length-1);const t=e.split("/");return t[t.length-1]}function za(e,t){const n={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:t};return null!=e.signature&&(n.signature=e.signature),null!=e.userDefinedMetadata&&(n.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(n.modelInitializer=e.modelInitializer),null!=e.trainingConfig&&(n.trainingConfig=e.trainingConfig),n}async function Pa(e,t){const n={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy};if(null!=e.trainingConfig&&(n.trainingConfig=e.trainingConfig),null!=e.weightsManifest){const[r,s]=await t(e.weightsManifest);n.weightSpecs=r,n.weightData=s}return null!=e.signature&&(n.signature=e.signature),null!=e.userDefinedMetadata&&(n.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(n.modelInitializer=e.modelInitializer),n}function Ba(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:_a(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:_a(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:e.weightData.byteLength}}function Va(){const e=function(){const e=e=>{let t=e<<13,n=0;for(;0==(8388608&t);)n-=8388608,t<<=1;return t&=-8388609,n+=947912704,t|n},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}(),t=function(){const e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}(),n=function(){const e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}();return r=>{const s=new ArrayBuffer(4*r.length),a=new Uint32Array(s);for(let s=0;s>10]+(1023&i)]+t[i>>10];a[s]=o}return new Float32Array(s)}}class Ua{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Ua.instance&&(Ua.instance=new Ua),Ua.instance}static registerSaveRouter(e){Ua.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Ua.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Ua.getHandlers(e,"save")}static getLoadHandlers(e,t){return Ua.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Ua.getInstance().loadRouters:Ua.getInstance().saveRouters).forEach((t=>{const s=t(e,n);null!==s&&r.push(s)})),r}}const Wa=e=>Ua.registerSaveRouter(e),Ga=e=>Ua.registerLoadRouter(e),Ha=e=>Ua.getSaveHandlers(e),ja=(e,t)=>Ua.getLoadHandlers(e,t),qa="tensorflowjs",Ka="models_store",Xa="model_info_store";function Ya(){if(!He().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function Za(e){const t=e.result;t.createObjectStore(Ka,{keyPath:"modelPath"}),t.createObjectStore(Xa,{keyPath:"modelPath"})}class Ja{constructor(e){if(this.indexedDB=Ya(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,n)=>{const r=this.indexedDB.open(qa,1);r.onupgradeneeded=()=>Za(r),r.onsuccess=()=>{const s=r.result;if(null==t){const t=s.transaction(Ka,"readonly"),r=t.objectStore(Ka).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return s.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(s.close(),n(r.error)),t.oncomplete=()=>s.close()}else{const r=Ba(t),a=s.transaction(Xa,"readwrite");let i=a.objectStore(Xa);const o=i.put({modelPath:this.modelPath,modelArtifactsInfo:r});let l;o.onsuccess=()=>{l=s.transaction(Ka,"readwrite");const o=l.objectStore(Ka).put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r});o.onsuccess=()=>e({modelArtifactsInfo:r}),o.onerror=e=>{i=a.objectStore(Xa);const t=i.delete(this.modelPath);t.onsuccess=()=>(s.close(),n(o.error)),t.onerror=e=>(s.close(),n(o.error))}},o.onerror=e=>(s.close(),n(o.error)),a.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}}},r.onerror=e=>n(r.error)}))}}Ja.URL_SCHEME="indexeddb://";const Qa=e=>{return He().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Ja.URL_SCHEME)?(t=e.slice(Ja.URL_SCHEME.length),new Ja(t)):null;var t};Ua.registerSaveRouter(Qa),Ua.registerLoadRouter(Qa);class ei{constructor(){this.indexedDB=Ya()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(qa,1);n.onupgradeneeded=()=>Za(n),n.onsuccess=()=>{const r=n.result,s=r.transaction(Xa,"readonly"),a=s.objectStore(Xa).getAll();a.onsuccess=()=>{const t={};for(const e of a.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},a.onerror=e=>(r.close(),t(a.error)),s.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(Ja.URL_SCHEME)?t.slice(Ja.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(qa,1);r.onupgradeneeded=()=>Za(r),r.onsuccess=()=>{const s=r.result,a=s.transaction(Xa,"readwrite"),i=a.objectStore(Xa),o=i.get(e);let l;o.onsuccess=()=>{if(null==o.result)return s.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=i.delete(e),a=()=>{l=s.transaction(Ka,"readwrite");const r=l.objectStore(Ka).delete(e);r.onsuccess=()=>t(o.result.modelArtifactsInfo),r.onerror=e=>n(o.error)};r.onsuccess=a,r.onerror=e=>(a(),s.close(),n(o.error))}},o.onerror=e=>(s.close(),n(o.error)),a.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}},r.onerror=e=>n(r.error)}))}}const ti="/",ni="tensorflowjs_models",ri="info",si="model_topology",ai="weight_specs",ii="weight_data",oi="model_metadata";function li(e){return{info:[ni,e,ri].join(ti),topology:[ni,e,si].join(ti),weightSpecs:[ni,e,ai].join(ti),weightData:[ni,e,ii].join(ti),modelMetadata:[ni,e,oi].join(ti)}}function ui(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function ci(e){const t=e.split(ti);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(ti)}class hi{constructor(e){if(!He().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=li(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Ba(e);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){if(Da)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let n="";for(let e=0,r=t.length;e{return He().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(hi.URL_SCHEME)?(t=e.slice(hi.URL_SCHEME.length),new hi(t)):null;var t};Ua.registerSaveRouter(pi),Ua.registerLoadRouter(pi);class di{constructor(){re(He().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),re("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=ni+ti,n=ti+ri;for(let r=0;r"scheme must not be undefined or null.")),e.endsWith(fi)&&(e=e.slice(0,e.indexOf(fi))),re(e.length>0,(()=>"scheme must not be an empty string."));const n=mi.getInstance();re(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=this.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}}function gi(e){if(-1===e.indexOf(fi))throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${mi.getSchemes().join(",")}`);return{scheme:e.split(fi)[0],path:e.split(fi)[1]}}async function yi(e,t,n=!1){re(e!==t,(()=>`Old path and new path are the same: '${e}'`));const r=Ua.getLoadHandlers(e);re(r.length>0,(()=>`Copying failed because no load handler is found for source URL ${e}.`)),re(r.length<2,(()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`));const s=r[0],a=Ua.getSaveHandlers(t);re(a.length>0,(()=>`Copying failed because no save handler is found for destination URL ${t}.`)),re(a.length<2,(()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`));const i=a[0],o=gi(e).scheme,l=gi(e).path,u=o===gi(e).scheme,c=await s.load();n&&u&&await mi.getManager(o).removeModel(l);const h=await i.save(c);return n&&!u&&await mi.getManager(o).removeModel(l),h.modelArtifactsInfo}async function bi(){const e=mi.getSchemes(),t={};for(const n of e){const e=await mi.getManager(n).listModels();for(const r in e)t[n+fi+r]=e[r]}return t}async function xi(e){const t=gi(e);return mi.getManager(t.scheme).removeModel(t.path)}async function wi(e,t){return yi(e,t,!1)}async function vi(e,t){return yi(e,t,!0)}class ki{fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}}if(He().get("IS_BROWSER")){He().setPlatform("browser",new ki);try{mi.registerManager(hi.URL_SCHEME,new di)}catch(e){}try{mi.registerManager(Ja.URL_SCHEME,new ei)}catch(e){}}let Ii;function Ni(e,t="float32",n){return t=t||"float32",Pe(e),new Ws(e,t,n)}He().get("IS_NODE")&&He().setPlatform("node",new class{constructor(){this.util=n(1758),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=He().global.fetch?He().global.fetch(e,t):(null==Ii&&(Ii=n(8352)),Ii(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}});const Si=Ta({cast_:function(e,t){const n=Ia(e,"x","cast");if(!ke(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");const r={x:n},s={dtype:t};return da.runKernel(xt,r,s)}}),Ti=Ta({clone_:function(e){const t={x:Ia(e,"x","clone","string_or_numeric")};return da.runKernel(cn,t)}});function Ci(e,t=!1){console.log(e.toString(t))}function Ei(e){return new Promise((e=>setTimeout(e))).then(e)}pa(),Hs={buffer:Ni,cast:Si,clone:Ti,print:Ci};class $i{constructor(e){if(!He().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith($i.URL_SCHEME)&&(e=e.slice($i.URL_SCHEME.length)),null!=e&&0!==e.length||(e="model"),this.modelJsonFileName=e+".json",this.weightDataFileName=e+".weights.bin"}async save(e){if("undefined"==typeof document)throw new Error("Browser downloads are not supported in this environment since `document` is not present");const t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=za(e,[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}]),r=window.URL.createObjectURL(new Blob([JSON.stringify(n)],{type:"application/json"})),s=null==this.modelJsonAnchor?document.createElement("a"):this.modelJsonAnchor;if(s.download=this.modelJsonFileName,s.href=r,await Ei((()=>s.dispatchEvent(new MouseEvent("click")))),null!=e.weightData){const e=null==this.weightDataAnchor?document.createElement("a"):this.weightDataAnchor;e.download=this.weightDataFileName,e.href=t,await Ei((()=>e.dispatchEvent(new MouseEvent("click"))))}return{modelArtifactsInfo:Ba(e)}}}}$i.URL_SCHEME="downloads://";class Ai{constructor(e){if(null==e||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.jsonFile=e[0],this.weightsFiles=e.slice(1)}async load(){return new Promise(((e,t)=>{const n=new FileReader;n.onload=n=>{const r=JSON.parse(n.target.result),s=r.modelTopology;if(null==s)return void t(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));if(null==r.weightsManifest)return void t(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));if(0===this.weightsFiles.length)return void e({modelTopology:s});const a=Pa(r,(e=>this.loadWeights(e)));e(a)},n.onerror=e=>t(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)}))}loadWeights(e){const t=[],n=[];for(const r of e)t.push(...r.weights),n.push(...r.paths);const r=this.checkManifestAndWeightFiles(e),s=n.map((e=>this.loadWeightsFile(e,r[e])));return Promise.all(s).then((e=>[t,Oa(e)]))}loadWeightsFile(e,t){return new Promise(((n,r)=>{const s=new FileReader;s.onload=e=>{const t=e.target.result;n(t)},s.onerror=t=>r(`Failed to weights data from file of path '${e}'.`),s.readAsArrayBuffer(t)}))}checkManifestAndWeightFiles(e){const t=[],n=this.weightsFiles.map((e=>La(e.name))),r={};for(const s of e)s.paths.forEach((e=>{const s=La(e);if(-1!==t.indexOf(s))throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(t.push(s),-1===n.indexOf(s))throw new Error(`Weight file with basename '${s}' is not provided.`);r[e]=this.weightsFiles[n.indexOf(s)]}));if(t.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${t.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return r}}function Ri(e){return new Ai(e)}function Mi(e,t,n,r){!function(e){re(null!=e&&Array.isArray(e)&&e.length>0,(()=>"promises must be a none empty array"))}(e),function(e,t){re(e>=0&&e<=1,(()=>`Progress fraction must be in range [0, 1], but got startFraction ${e}`)),re(t>=0&&t<=1,(()=>`Progress fraction must be in range [0, 1], but got endFraction ${t}`)),re(t>=e,(()=>`startFraction must be no more than endFraction, but got startFraction ${e} and endFraction ${t}`))}(n=null==n?0:n,r=null==r?1:r);let s=0;return Promise.all(e.map((a=>(a.then((a=>{const i=n+ ++s/e.length*(r-n);return t(i),a})),a))))}async function Fi(e,t){null==t&&(t={});const n=null==t.fetchFunc?He().platform.fetch:t.fetchFunc,r=e.map((e=>n(e,t.requestInit,{isBinary:!0}))),s=(null==t.onProgress?await Promise.all(r):await Mi(r,t.onProgress,0,.5)).map((e=>e.arrayBuffer()));return null==t.onProgress?await Promise.all(s):await Mi(s,t.onProgress,.5,1)}async function Di(e,t="",n,r){return _i((e=>Fi(e,{requestInit:r})))(e,t,n)}function _i(e){return async(t,n="",r)=>{const s=t.map((()=>!1)),a={},i=null!=r?r.map((()=>!1)):[],o=[];if(t.forEach(((e,t)=>{let n=0;e.weights.forEach((e=>{const l="quantization"in e?e.quantization.dtype:e.dtype,u=Aa[l]*oe(e.shape),c=()=>{s[t]=!0,null==a[t]&&(a[t]=[]),a[t].push({manifestEntry:e,groupOffset:n,sizeBytes:u})};null!=r?r.forEach(((t,n)=>{t===e.name&&(c(),i[n]=!0)})):c(),o.push(e.name),n+=u}))})),!i.every((e=>e))){const e=r.filter(((e,t)=>!i[t]));throw new Error(`Could not find weights in manifest with names: ${e.join(", ")}. \nManifest JSON has weights with names: ${o.join(", ")}.`)}const l=s.reduce(((e,t,n)=>(t&&e.push(n),e)),[]),u=[];l.forEach((e=>{t[e].paths.forEach((e=>{const t=n+(n.endsWith("/")?"":"/")+e;u.push(t)}))}));const c=await e(u),h={};let p=0;return l.forEach((e=>{const n=t[e].paths.length;let r=0;for(let e=0;e{const t=Ma(s.slice(e.groupOffset,e.groupOffset+e.sizeBytes),[e.manifestEntry]);for(const e in t)h[e]=t[e]})),p+=n})),h}}Ua.registerSaveRouter((e=>He().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith($i.URL_SCHEME)?function(e="model"){return new $i(e)}(e.slice($i.URL_SCHEME.length)):null));class Oi{constructor(e,t){if(this.DEFAULT_METHOD="POST",null==t&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,null!=t.fetchFunc?(re("function"==typeof t.fetchFunc,(()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)")),this.fetch=t.fetchFunc):this.fetch=He().platform.fetch,re(null!=e&&e.length>0,(()=>"URL path for http must not be null, undefined or empty.")),Array.isArray(e)&&re(2===e.length,(()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`)),this.path=e,null!=t.requestInit&&null!=t.requestInit.body)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;const n=za(e,[{paths:["./model.weights.bin"],weights:e.weightSpecs}]);t.body.append("model.json",new Blob([JSON.stringify(n)],{type:"application/json"}),"model.json"),null!=e.weightData&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:"application/octet-stream"}),"model.weights.bin");const r=await this.fetch(this.path,t);if(r.ok)return{modelArtifactsInfo:Ba(e),responses:[r]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${r.status}.`)}async load(){const e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(e){let t=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?t+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":t+=" Please make sure the server is serving valid JSON for this request.",new Error(t)}const n=t.modelTopology,r=t.weightsManifest;if(null==n&&null==r)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return Pa(t,(e=>this.loadWeights(e)))}async loadWeights(e){const t=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=function(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("?");return[e.substring(0,t)+"/",n>t?e.substring(n):""]}(t),s=this.weightPathPrefix||n,a=[];for(const t of e)a.push(...t.weights);const i=[],o=[];for(const t of e)for(const e of t.paths)null!=this.weightUrlConverter?o.push(this.weightUrlConverter(e)):i.push(s+e+r);return this.weightUrlConverter&&i.push(...await Promise.all(o)),[a,Oa(await Fi(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress}))]}}function Li(e){return null!=e.match(Oi.URL_SCHEME_REGEX)}Oi.URL_SCHEME_REGEX=/^https?:\/\//;const zi=(e,t)=>{if("undefined"==typeof fetch&&(null==t||null==t.fetchFunc))return null;{let n=!0;if(n=Array.isArray(e)?e.every((e=>Li(e))):Li(e),n)return Pi(e,t)}return null};function Pi(e,t){return new Oi(e,t)}function Bi(e,t){return Pi(e,t)}Ua.registerSaveRouter(zi),Ua.registerLoadRouter(zi);class Vi{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}}class Ui{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}}function Wi(e,t,n,r){return 1===arguments.length?null!=e.modelTopology||null!=e.weightSpecs?new Vi(e):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Vi({modelTopology:e})):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Vi({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:r}))}function Gi(e){return new Ui(e)}const Hi=Ta({matMul_:function(e,t,n=!1,r=!1){let s=Ia(e,"a","matMul"),a=Ia(t,"b","matMul");[s,a]=sa(s,a);const i={a:s,b:a},o={transposeA:n,transposeB:r};return da.runKernel(ft,i,o)}}),ji=Ta({oneHot_:function(e,t,n=1,r=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);const s={indices:Ia(e,"indices","oneHot","int32")},a={depth:t,onValue:n,offValue:r};return da.runKernel(Kn,s,a)}}),qi=Ta({transpose_:function(e,t){const n=Ia(e,"x","transpose");if(null==t&&(t=n.shape.map(((e,t)=>t)).reverse()),re(n.rank===t.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`)),t.forEach((e=>{re(e>=0&&e"All entries in 'perm' must be between 0 and "+(n.rank-1)+` but got ${t}`))})),n.rank<=1)return n.clone();const r={x:n},s={perm:t};return da.runKernel(Hr,r,s)}}),Ki=Ta({confusionMatrix_:function(e,t,n){const r=Ia(e,"labels","confusionMatrix"),s=Ia(t,"predictions","confusionMatrix");re(null==n||n>0&&Number.isInteger(n),(()=>`If provided, numClasses must be a positive integer, but got ${n}`)),re(1===r.rank,(()=>`Expected the rank of labels to be 1, but got ${r.rank}`)),re(1===s.rank,(()=>`Expected the rank of predictions to be 1, but got ${s.rank}`)),re(r.shape[0]===s.shape[0],(()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${s.shape[0]}. Labels and predictions should have the same number of elements.`)),re(n>0&&Number.isInteger(n),(()=>`numClasses is required to be a positive integer, but got ${n}`));const a=ji(Si(r,"int32"),n),i=ji(Si(s,"int32"),n),o=qi(a),l=Hi(o,i);return Si(l,"int32")}});function Xi(e,t){const n=e.length,r=[];for(let s=0;s1&&1===i&&r.unshift(a)}return r}function Yi(e,t){const n=[];for(let r=0;r1)&&n.unshift(a)}return n}function Zi(e,t){const n=[],r=Math.max(e.length,t.length);for(let s=0;s4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(null==e)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,s=!1,a=!1,i=!1,o=!1;if(e.data instanceof Uint8Array)n=!0;else if("undefined"!=typeof ImageData&&e instanceof ImageData)r=!0;else if("undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement)s=!0;else if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement)a=!0;else if(null!=e.getContext)i=!0;else{if(!("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap))throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${e.constructor.name}`);o=!0}if(s){const t=2;if(s&&e.readyState element.")}if(null!=is(Zr,da.backendName)){const n={pixels:e},r={numChannels:t};return da.runKernel(Zr,n,r)}const[l,u]=s?[e.videoWidth,e.videoHeight]:[e.width,e.height];let c,h;if(i)c=e.getContext("2d").getImageData(0,0,l,u).data;else if(r||n)c=e.data;else if(a||s||o){if(null==Qi)if("undefined"==typeof document){if("undefined"==typeof OffscreenCanvas||"undefined"==typeof OffscreenCanvasRenderingContext2D)throw new Error("Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.");Qi=new OffscreenCanvas(1,1).getContext("2d")}else Qi=document.createElement("canvas").getContext("2d");Qi.canvas.width=l,Qi.canvas.height=u,Qi.drawImage(e,0,0,l,u),c=Qi.getImageData(0,0,l,u).data}if(4===t)h=new Int32Array(c);else{const e=l*u;h=new Int32Array(e*t);for(let n=0;n4||2===a)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${a}`);if("float32"!==n.dtype&&"int32"!==n.dtype)throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const i=await n.data(),o="float32"===n.dtype?255:1,l=new Uint8ClampedArray(s*r*4);for(let e=0;e1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${s}.`)}else if("int32"===n.dtype&&(s<0||s>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${s}.`);1===a?(t[0]=s*o,t[1]=s*o,t[2]=s*o):t[r]=s*o}const r=4*e;l[r+0]=Math.round(t[0]),l[r+1]=Math.round(t[1]),l[r+2]=Math.round(t[2]),l[r+3]=Math.round(t[3])}if(null!=t){t.width=s,t.height=r;const e=t.getContext("2d"),n=new ImageData(l,s,r);e.putImageData(n,0,0)}return n!==e&&n.dispose(),l}const ro=Ta({fromPixels_:eo});function so(e,t){const n=e.shape.length,r=t.shape.length;if(n<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);if(r<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${r}.`);if("int32"!==t.dtype)throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[r-1]>n)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[r-1]} vs. ${n}`);if(0===oe(e.shape))throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);const s=t.shape,a=s[s.length-1];let i=1;for(let e=0;ee/u)),1].slice(0,a);return[l,i,u,c]}function ao(e,t,n){const r=t.rank>1?t.shape[t.rank-1]:1,s=t.rank>1?t.rank-1:1,a=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${s}.`;if(n.rank1?t.shape[r-1]:1,a=n.length;let i=1;for(let e=s;e`Error in slice${r}D: Length of begin ${t} must match the rank of the array (${r}).`)),re(r===n.length,(()=>`Error in slice${r}D: Length of size ${n} must match the rank of the array (${r}).`));for(let s=0;s`Error in slice${r}D: begin[${s}] + size[${s}] (${t[s]+n[s]}) would overflow input.shape[${s}] (${e.shape[s]})`))}function uo(e){const t=[];let n=0;for(;e>0;)1&e&&t.push(n),e/=2,n++;return t}function co(e,t,n){const r=[];for(let s=0;s0){const l=t[0],u=n+1;c=go(i,l,u,r,e),h=yo(o,l,u,s,e),p=ho(a,l,u,e)}else for(let t=0;t-1)a[s]=0;else{const i=po(t,n,s);let o=r[i];e&1<-1)a[s]=Number.MAX_SAFE_INTEGER;else{const i=po(t,n,s);let o=r[i];e&1<0?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER);const l=r[s];return i<0&&(i+=l),i=Z(0,i,l-1),i}function wo(e,t,n,r,s,a){let i=t[s];const o=n[s]||1;(e&1<0?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER);const l=r[s];return i<0&&(i+=l),i=o>0?Z(0,i,l):Z(-1,i,l-1),i}function vo(e,t,n){let r=n.length;for(let e=0;e1){r=e;break}for(let s=r+1;s0||n[s]!==e[s])return!1;return!0}function ko(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r{re(-1!==e,(()=>"slice() does not support negative begin indexing."))})),a=null==n?new Array(s).fill(-1):"number"==typeof n?[n,...new Array(s-1).fill(-1)]:n.lengtht>=0?t:(re(-1===t,(()=>`Negative size values should be exactly -1 but got ${t} for the slice() size at index ${n}.`)),e.shape[n]-r[n]))),[r,a]}function No(e,t,n,r,s,a,i,o,l){let u;if(null==r?(u=new Array(t.length),u.fill(1)):u=r,null!=i&&0!=(i&i-1))throw new Error("Multiple ellipses in slice is not allowed.");let c=!1;const h={dims:u.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:n.slice(),strides:u.slice(),beginMask:s,endMask:a,ellipsisMask:i,newAxisMask:o,shrinkAxisMask:l};for(let e=0;e0?0:-1,p.strides[t]>0?r:r-1];if(n&&p.strides[t]<=0)throw Error("only stride 1 allowed on non-range indexing.");m=m&&1===p.strides[t];const i=!!(p.beginMask&1<=r)throw Error(`slice index ${p.begin[t]} of dimension ${t} out of bounds.`)}else p.begin[t]=So(p.begin[t],0,p.strides[t],r,s,a),p.end[t]=So(p.end[t],1,p.strides[t],r,s,a);const e=1===p.strides[t]&&0===p.begin[t]&&p.end[t]===r;d=d&&e,f=f&&(0===t&&1===p.strides[t]||e)}else d=d&&1===p.strides[t]&&i,f=f&&(0===t&&1===p.strides[t]||i);let o,l=!1;if(p.beginValid&&p.endValid?(o=p.end[t]-p.begin[t],l=!0):n?(o=1,l=!0):i&&r>=0&&(o=p.strides[t]<0?-r:r,l=!0),l){let e;e=0===o||o<0!=p.strides[t]<0?0:Math.trunc(o/p.strides[t])+(o%p.strides[t]!=0?1:0),g.push(e)}else g.push(-1)}for(let e=0;e=0?y.push(g[t]):-2===t&&y.push(1)}return{finalShapeSparse:y.filter(((e,t)=>-2!==p.finalShapeGatherIndices[t])),finalShape:y,isIdentity:d,sliceDim0:f,isSimpleSlice:m,begin:p.begin,end:p.end,strides:p.strides}}function So(e,t,n,r,s,a){if(s[t])return n>0?a[t]:a[t+1&1];{const t=e<0?r+e:e;return ta[1]?a[1]:t}}class To{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class Co{constructor(){this.classNameMap={}}static getMap(){return null==Co.instance&&(Co.instance=new Co),Co.instance}static register(e){Co.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function Eo(e){re(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),re("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),re(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),Co.register(e)}const $o=.1;function Ao(e,t,n){return null==n&&(n=Ro()),Mo(e,t,((e,t)=>Oo(e,t,n)))}function Ro(){return 32===da.backend.floatPrecision()?.001:$o}function Mo(e,t,n){let r=!0;if((Ne(e)||Ne(t))&&(r=!1),Ne(e)&&Ne(t)&&(r=!0),r){const n=e.constructor.name,r=t.constructor.name;if(n!==r)throw new Error(`Arrays are of different type. Actual: ${n}. Expected: ${r}`)}if(Array.isArray(e)&&Array.isArray(t)){const n=wa(e),r=wa(t);if(!ue(n,r))throw new Error(`Arrays have different shapes. Actual: [${n}]. Expected: [${r}]`)}const s=Ne(e)?e:ie(e),a=Ne(t)?t:ie(t);if(s.length!==a.length)throw new Error(`Arrays have different lengths actual: ${s.length} vs expected: ${a.length}.\nActual: ${s}.\nExpected: ${a}.`);for(let e=0;et.fail()),(()=>t()))}function Do(e,t){const n="string"==typeof t||"number"==typeof t||"boolean"==typeof t?[t]:t;return Ce(e)||Ce(e[0])||Ce(t)||Ce(t[0])?Mo(e,n,((e,t)=>e==t)):Mo(e,t,((e,t)=>Oo(e,t,0)))}function _o(e,t,n){if(null==n&&(n=Ro()),!Oo(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function Oo(e,t,n){return!isFinite(e)&&!isFinite(t)||!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function Lo(e,t,n){for(let r=0;rn)throw new Error(`Value out of range:${e[r]} low: ${t}, high: ${n}`)}function zo(e,t){const n=new Float32Array(e),r=new Float32Array(t);if(n.length!==r.length)throw new Error(`Expected ArrayBuffer to be of length ${r.length}, but it was ${n.length}`);for(let e=0;ee.dispose()))}function Zo(e){return da.keep(e)}function Jo(e){return da.time(e)}function Qo(e){return da.setBackend(e)}function el(){return da.ready()}function tl(){return da.backendName}function nl(e){da.removeBackend(e)}function rl(e){return da.findBackend(e)}function sl(e){return da.findBackendFactory(e)}function al(e,t,n=1){return da.registerBackend(e,t,n)}function il(){return da.backend}function ol(e,t){He().setPlatform(e,t)}js=Go;const ll=Ta({add_:function(e,t){let n=Ia(e,"a","add"),r=Ia(t,"b","add");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Qe,s)}}),ul=Ta({floorDiv_:function(e,t){let n=Ia(e,"a","floorDiv"),r=Ia(t,"b","floorDiv");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(rn,s)}}),cl=Ta({div_:function(e,t){let n=Ia(e,"a","div"),r=Ia(t,"b","div");if([n,r]=sa(n,r),"int32"===n.dtype&&"int32"===r.dtype)return ul(n,r);const s={a:n,b:r};return da.runKernel(Gt,s,{})}}),hl=Ta({mul_:function(e,t){let n=Ia(e,"a","mul"),r=Ia(t,"b","mul");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Vn,s)}}),pl=Ta({sqrt_:function(e){const t={x:Ia(e,"x","sqrt","float32")};return da.runKernel(Ir,t)}}),dl=Ta({square_:function(e){const t=Ia(e,"x","square");return da.runKernel("Square",{x:t},{})}}),fl=Ta({zerosLike_:function(e){const t={x:Ia(e,"x","zerosLike")};return da.runKernel(Xr,t)}});function ml(e){return re(Re(e),(()=>"The f passed in grad(f) must be a function")),(t,n)=>{const r=Ia(t,"x","tf.grad","string_or_numeric"),s=null!=n?Ia(n,"dy","tf.grad"):null;return da.tidy((()=>{const{value:t,grads:n}=da.gradients((()=>e(r)),[r],s);return null!=s&&se(t.shape,s.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),vl(n),n[0]}))}}function gl(e){return re(Re(e),(()=>"The f passed in grads(f) must be a function")),(t,n)=>{re(Array.isArray(t),(()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s"));const r=Na(t,"args","tf.grads","string_or_numeric"),s=null!=n?Ia(n,"dy","tf.grads"):null;return da.tidy((()=>{const{value:t,grads:n}=da.gradients((()=>e(...r)),r,s);return null!=s&&se(t.shape,s.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),vl(n),n}))}}function yl(e){return re(Re(e),(()=>"The f passed in valueAndGrad(f) must be a function")),(t,n)=>{re(t instanceof qs,(()=>"The x passed in valueAndGrad(f)(x) must be a tensor")),re(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor"));const{grads:r,value:s}=da.gradients((()=>e(t)),[t],n);return vl(r),{grad:r[0],value:s}}}function bl(e){return re(Re(e),(()=>"The f passed in valueAndGrads(f) must be a function")),(t,n)=>{re(Array.isArray(t)&&t.every((e=>e instanceof qs)),(()=>"The args passed in valueAndGrads(f)(args) must be array of tensors")),re(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor"));const r=da.gradients((()=>e(...t)),t,n);return null!=n&&se(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),vl(r.grads),r}}function xl(e,t){re(Re(e),(()=>"The f passed in variableGrads(f) must be a function")),re(null==t||Array.isArray(t)&&t.every((e=>e instanceof Xs)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in da.registeredVariables)t.push(da.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,s=t.length;re((t=t.filter((e=>e.trainable))).length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${s} variables is trainable.`));const{value:a,grads:i}=da.gradients(e,t,null,!0);re(i.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),re(0===a.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`));const o={};return t.forEach(((e,t)=>{null!=i[t]&&(o[e.name]=i[t])})),null!=r&&r.forEach((e=>o[e.name]=null)),{value:a,grads:o}}function wl(e){return da.customGrad(e)}function vl(e){if(e.filter((e=>null==e)).length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.")}function kl(e,t){if((Ne(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&Ne(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return Ea(e,[],[],t)}class Il extends To{minimize(e,t=!1,n){const{value:r,grads:s}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:s[e.name]})));this.applyGradients(e)}else this.applyGradients(s);return Yo(s),t?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return xl(e,t)}dispose(){null!=this.iterations_&&Yo(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:kl(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Il,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class Nl extends Il{constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=da.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:Xo((()=>fl(r).variable(!1)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:Xo((()=>fl(r).variable(!1)))});const s=Array.isArray(e)?e[n].tensor:e[t];if(null==s)return;const a=this.accumulatedGrads[n].variable,i=this.accumulatedUpdates[n].variable;Xo((()=>{const e=ll(hl(a,this.rho),hl(dl(s),1-this.rho)),t=hl(cl(pl(ll(i,this.epsilon)),pl(ll(a,this.epsilon))),s),n=ll(hl(i,this.rho),hl(dl(t),1-this.rho));a.assign(e),i.assign(n);const o=ll(hl(t,-this.learningRate),r);r.assign(o)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Yo(this.accumulatedGrads.map((e=>e.variable))),Yo(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}function Sl(e,t,n){const r={shape:e,value:t,dtype:n};return da.runKernel(en,{},r)}Nl.className="Adadelta",Eo(Nl);class Tl extends Il{constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:Xo((()=>Sl(r.shape,this.initialAccumulatorValue).variable(e)))}}const s=Array.isArray(e)?e[n].tensor:e[t];if(null==s)return;const a=this.accumulatedGrads[n].variable;Xo((()=>{const e=ll(a,dl(s));a.assign(e);const t=ll(hl(cl(s,pl(ll(e,da.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Yo(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}Tl.className="Adagrad",Eo(Tl);const Cl=Ta({pow_:function(e,t){let n=Ia(e,"base","pow"),r=Ia(t,"exp","pow");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Jn,s)}}),El=Ta({sub_:function(e,t){let n=Ia(e,"a","sub"),r=Ia(t,"b","sub");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Pr,s)}});class $l extends Il{constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],Xo((()=>{this.accBeta1=kl(t).variable(),this.accBeta2=kl(n).variable()})),null==r&&(this.epsilon=da.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);Xo((()=>{const n=El(1,this.accBeta1),r=El(1,this.accBeta2);t.forEach(((t,s)=>{const a=da.registeredVariables[t];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${t}/m`,variable:Xo((()=>fl(a).variable(!1)))}),null==this.accumulatedSecondMoment[s]&&(this.accumulatedSecondMoment[s]={originalName:`${t}/v`,variable:Xo((()=>fl(a).variable(!1)))});const i=Array.isArray(e)?e[s].tensor:e[t];if(null==i)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedSecondMoment[s].variable,u=ll(hl(o,this.beta1),hl(i,1-this.beta1)),c=ll(hl(l,this.beta2),hl(dl(i),1-this.beta2)),h=cl(u,n),p=cl(c,r);o.assign(u),l.assign(c);const d=ll(hl(cl(h,ll(pl(p),this.epsilon)),-this.learningRate),a);a.assign(d)})),this.accBeta1.assign(hl(this.accBeta1,this.beta1)),this.accBeta2.assign(hl(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&Yo(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),Xo((()=>{this.accBeta1.assign(Cl(this.beta1,this.iterations_+1)),this.accBeta2.assign(Cl(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}$l.className="Adam",Eo($l);const Al=Ta({abs_:function(e){const t=Ia(e,"x","abs");if("complex64"===t.dtype){const e={x:t};return da.runKernel(It,e)}{const e={x:t};return da.runKernel(Ye,e)}}}),Rl=Ta({maximum_:function(e,t){let n=Ia(e,"a","maximum"),r=Ia(t,"b","maximum");[n,r]=sa(n,r),"bool"===n.dtype&&(n=Si(n,"int32"),r=Si(r,"int32")),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel($n,s)}});class Ml extends Il{constructor(e,t,n,r=null,s=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Xo((()=>{this.iteration=kl(0).variable(),this.accBeta1=kl(t).variable()})),null==r&&(this.epsilon=da.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);Xo((()=>{const n=El(1,this.accBeta1),r=cl(-this.learningRate,ll(hl(this.iteration,this.decay),1));t.forEach(((t,s)=>{const a=da.registeredVariables[t];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${t}/m`,variable:fl(a).variable(!1)}),null==this.accumulatedWeightedInfNorm[s]&&(this.accumulatedWeightedInfNorm[s]={originalName:`${t}/v`,variable:fl(a).variable(!1)});const i=Array.isArray(e)?e[s].tensor:e[t];if(null==i)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedWeightedInfNorm[s].variable,u=ll(hl(o,this.beta1),hl(i,1-this.beta1)),c=hl(l,this.beta2),h=Al(i),p=Rl(c,h);o.assign(u),l.assign(p);const d=ll(hl(cl(r,n),cl(u,ll(p,this.epsilon))),a);a.assign(d)})),this.iteration.assign(ll(this.iteration,1)),this.accBeta1.assign(hl(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&Yo(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}Ml.className="Adamax",Eo(Ml);class Fl extends Il{constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Array.isArray(e)?e[n].tensor:e[t];if(null==r)return;const s=da.registeredVariables[t];Xo((()=>{const e=ll(hl(this.c,r),s);s.assign(e)}))})),this.incrementIterations()}setLearningRate(e){this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=Zo(kl(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}Fl.className="SGD",Eo(Fl);class Dl extends Fl{constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=kl(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:Xo((()=>fl(r).variable(e)))}}const s=this.accumulations[n].variable,a=Array.isArray(e)?e[n].tensor:e[t];null!=a&&Xo((()=>{let e;const t=ll(hl(this.m,s),a);e=this.useNesterov?ll(hl(this.c,ll(a,hl(t,this.m))),r):ll(hl(this.c,t),r),s.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Yo(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}Dl.className="Momentum",Eo(Dl);class _l extends Il{constructor(e,t=.9,n=0,r=null,s=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,null==r&&(this.epsilon=da.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t],s=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:Xo((()=>fl(r).variable(s)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:Xo((()=>fl(r).variable(s)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:Xo((()=>fl(r).variable(s)))});const a=Array.isArray(e)?e[n].tensor:e[t];if(null==a)return;const i=this.accumulatedMeanSquares[n].variable,o=this.accumulatedMoments[n].variable;Xo((()=>{const e=ll(hl(i,this.decay),hl(dl(a),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,s=ll(hl(t,this.decay),hl(a,1-this.decay)),l=cl(hl(a,this.learningRate),pl(El(e,ll(dl(s),this.epsilon)))),u=ll(hl(o,this.momentum),l);i.assign(e),t.assign(s),o.assign(u);const c=El(r,u);r.assign(c)}else{const e=ll(hl(i,this.decay),hl(dl(a),1-this.decay)),t=ll(hl(o,this.momentum),cl(hl(a,this.learningRate),pl(ll(e,this.epsilon))));i.assign(e),o.assign(t);const n=El(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Yo(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Yo(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&Yo(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}_l.className="RMSProp",Eo(_l);class Ol{static sgd(e){return new Fl(e)}static momentum(e,t,n=!1){return new Dl(e,t,n)}static rmsprop(e,t=.9,n=0,r=null,s=!1){return new _l(e,t,n,r,s)}static adam(e=.001,t=.9,n=.999,r=null){return new $l(e,t,n,r)}static adadelta(e=.001,t=.95,n=null){return new Nl(e,t,n)}static adamax(e=.002,t=.9,n=.999,r=null,s=0){return new Ml(e,t,n,r,s)}static adagrad(e,t=.1){return new Tl(e,t)}}const Ll=Ta({acos_:function(e){const t={x:Ia(e,"x","acos")};return da.runKernel(Ze,t)}}),zl=Ta({acosh_:function(e){const t={x:Ia(e,"x","acosh")};return da.runKernel(Je,t)}}),Pl=Ta({addN_:function(e){re(Array.isArray(e),(()=>"The argument passed to tf.addN() must be a list of tensors")),re(e.length>=1,(()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`));const t=e.map(((e,t)=>Ia(e,`tensors${t}`,"addN"))),n=t[0];t.forEach((e=>{if(e.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")})),t.forEach((e=>{if(!ue(e.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")}));const r=t;return da.runKernel(et,r)}}),Bl=Ta({all_:function(e,t=null,n=!1){const r={x:Ia(e,"x","all","bool")},s={axis:t,keepDims:n};return da.runKernel(tt,r,s)}}),Vl=Ta({any_:function(e,t=null,n=!1){const r={x:Ia(e,"x","any","bool")},s={axis:t,keepDims:n};return da.runKernel(nt,r,s)}}),Ul=Ta({argMax_:function(e,t=0){const n={x:Ia(e,"x","argMax")},r={axis:t};return da.runKernel(rt,n,r)}}),Wl=Ta({argMin_:function(e,t=0){const n={x:Ia(e,"x","argMin")},r={axis:t};return da.runKernel(st,n,r)}}),Gl=Ta({asin_:function(e){const t={x:Ia(e,"x","asin")};return da.runKernel(at,t)}}),Hl=Ta({asinh_:function(e){const t={x:Ia(e,"x","asinh")};return da.runKernel(it,t)}}),jl=Ta({atan_:function(e){const t={x:Ia(e,"x","atan")};return da.runKernel(ot,t)}}),ql=Ta({atan2_:function(e,t){let n=Ia(e,"a","atan2"),r=Ia(t,"b","atan2");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(ut,s)}}),Kl=Ta({atanh_:function(e){const t={x:Ia(e,"x","atanh")};return da.runKernel(lt,t)}});function Xl(e,t,n,r,s="NHWC",a){return Jl(e,[...t,e[3]],n,a,r,null,null,ou(s))}function Yl(e,t,n,r,s,a,i="channelsLast"){const[o,l]=tu(t);let u;if("channelsLast"===i)u=[o,l,e[3],e[3]];else{if("channelsFirst"!==i)throw new Error(`Unknown dataFormat ${i}`);u=[o,l,e[1],e[1]]}return Jl(e,u,n,r,s,a,!1,i)}function Zl(e,t,n,r,s,a,i="NDHWC"){const[o,l,u]=nu(t);let c,h;if("NDHWC"===i)h="channelsLast",c=[o,l,u,e[4],e[4]];else{if("NCDHW"!==i)throw new Error(`Unknown dataFormat ${i}`);h="channelsFirst",c=[o,l,u,e[1],e[1]]}return Ql(e,c,n,r,s,!1,h,a)}function Jl(e,t,n,r,s,a,i=!1,o="channelsLast"){let[l,u,c,h]=[-1,-1,-1,-1];if("channelsLast"===o)[l,u,c,h]=e;else{if("channelsFirst"!==o)throw new Error(`Unknown dataFormat ${o}`);[l,h,u,c]=e}const[p,d,,f]=t,[m,g]=tu(n),[y,b]=tu(r),x=ru(p,y),w=ru(d,b),{padInfo:v,outHeight:k,outWidth:I}=function(e,t,n,r,s,a,i,o,l){let u,c,h;if("number"==typeof e){u={top:e,bottom:e,left:e,right:e,type:0===e?"VALID":"NUMBER"};const s=function(e,t,n,r,s){null==r&&(r=eu(e,t,n));const a=e[1];return[su((e[0]-t+2*r)/n+1,s),su((a-t+2*r)/n+1,s)]}([t,n],a,r,e,o);c=s[0],h=s[1]}else if("same"===e){c=Math.ceil(t/r),h=Math.ceil(n/s);const e=Math.max(0,(c-1)*r+a-t),o=Math.max(0,(h-1)*s+i-n),l=Math.floor(e/2),p=e-l,d=Math.floor(o/2);u={top:l,bottom:p,left:d,right:o-d,type:"SAME"}}else if("valid"===e)u={top:0,bottom:0,left:0,right:0,type:"VALID"},c=Math.ceil((t-a+1)/r),h=Math.ceil((n-i+1)/s);else{if("object"!=typeof e)throw Error(`Unknown padding parameter: ${e}`);{const p="channelsLast"===l?e[1][0]:e[2][0],d="channelsLast"===l?e[1][1]:e[2][1],f="channelsLast"===l?e[2][0]:e[3][0],m="channelsLast"===l?e[2][1]:e[3][1];u={top:p,bottom:d,left:f,right:m,type:0===p&&0===d&&0===f&&0===m?"VALID":"EXPLICIT"},c=su((t-a+p+d)/r+1,o),h=su((n-i+f+m)/s+1,o)}}return{padInfo:u,outHeight:c,outWidth:h}}(s,u,c,m,g,x,w,a,o),N=i?f*h:f;let S;return"channelsFirst"===o?S=[l,N,k,I]:"channelsLast"===o&&(S=[l,k,I,N]),{batchSize:l,dataFormat:o,inHeight:u,inWidth:c,inChannels:h,outHeight:k,outWidth:I,outChannels:N,padInfo:v,strideHeight:m,strideWidth:g,filterHeight:p,filterWidth:d,effectiveFilterHeight:x,effectiveFilterWidth:w,dilationHeight:y,dilationWidth:b,inShape:e,outShape:S,filterShape:t}}function Ql(e,t,n,r,s,a=!1,i="channelsLast",o){let[l,u,c,h,p]=[-1,-1,-1,-1,-1];if("channelsLast"===i)[l,u,c,h,p]=e;else{if("channelsFirst"!==i)throw new Error(`Unknown dataFormat ${i}`);[l,p,u,c,h]=e}const[d,f,m,,g]=t,[y,b,x]=nu(n),[w,v,k]=nu(r),I=ru(d,w),N=ru(f,v),S=ru(m,k),{padInfo:T,outDepth:C,outHeight:E,outWidth:$}=function(e,t,n,r,s,a,i,o,l,u,c){let h,p,d,f;if("number"==typeof e){h={top:e,bottom:e,left:e,right:e,front:e,back:e,type:0===e?"VALID":"NUMBER"};const a=function(e,t,n,r,s,a){null==s&&(s=eu(e,t,r));const i=e[1],o=e[2];return[su((e[0]-t+2*s)/r+1,a),su((i-t+2*s)/r+1,a),su((o-t+2*s)/r+1,a),1]}([t,n,r,1],o,0,s,e,c);p=a[0],d=a[1],f=a[2]}else if("same"===e){p=Math.ceil(t/s),d=Math.ceil(n/a),f=Math.ceil(r/i);const e=(p-1)*s+o-t,c=(d-1)*a+l-n,m=(f-1)*i+u-r,g=Math.floor(e/2),y=e-g,b=Math.floor(c/2),x=c-b,w=Math.floor(m/2);h={top:b,bottom:x,left:w,right:m-w,front:g,back:y,type:"SAME"}}else{if("valid"!==e)throw Error(`Unknown padding parameter: ${e}`);h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},p=Math.ceil((t-o+1)/s),d=Math.ceil((n-l+1)/a),f=Math.ceil((r-u+1)/i)}return{padInfo:h,outDepth:p,outHeight:d,outWidth:f}}(s,u,c,h,y,b,x,I,N,S,o),A=a?g*p:g;let R;return"channelsFirst"===i?R=[l,A,C,E,$]:"channelsLast"===i&&(R=[l,C,E,$,A]),{batchSize:l,dataFormat:i,inDepth:u,inHeight:c,inWidth:h,inChannels:p,outDepth:C,outHeight:E,outWidth:$,outChannels:A,padInfo:T,strideDepth:y,strideHeight:b,strideWidth:x,filterDepth:d,filterHeight:f,filterWidth:m,effectiveFilterDepth:I,effectiveFilterHeight:N,effectiveFilterWidth:S,dilationDepth:w,dilationHeight:v,dilationWidth:k,inShape:e,outShape:R,filterShape:t}}function eu(e,t,n,r=1){const s=ru(t,r);return Math.floor((e[0]*(n-1)-n+s)/2)}function tu(e){return"number"==typeof e?[e,e,e]:2===e.length?[e[0],e[1],1]:e}function nu(e){return"number"==typeof e?[e,e,e]:e}function ru(e,t){return t<=1?e:e+(e-1)*(t-1)}function su(e,t){if(!t)return Math.trunc(e);switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function au(e){const[t,n,r]=tu(e);return 1===t&&1===n&&1===r}function iu(e,t){return au(e)||au(t)}function ou(e){if("NHWC"===e)return"channelsLast";if("NCHW"===e)return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function lu(e,t,n){if(null!=n){if("string"==typeof t)throw Error(`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`);if("number"==typeof t)re(ce(t),(()=>`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`));else{if("object"!=typeof t)throw Error(`Error in ${e}: Unknown padding parameter: ${t}`);t.forEach((t=>{t.forEach((t=>{re(ce(t),(()=>`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`))}))}))}}}const uu=Ta({reshape_:function(e,t){const n={x:Ia(e,"x","reshape","string_or_numeric")},r={shape:t};return da.runKernel(ar,n,r)}}),cu=Ta({avgPool_:function(e,t,n,r,s){const a=Ia(e,"x","avgPool","float32");re(iu(n,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`));let i=a,o=!1;3===a.rank&&(o=!0,i=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]])),re(4===i.rank,(()=>`Error in avgPool: x must be rank 4 but got rank ${i.rank}.`)),lu("avgPool",r,s);const l={x:i},u={filterSize:t,strides:n,pad:r,dimRoundingMode:s};let c=da.runKernel(ct,l,u);return c=Si(c,a.dtype),o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),hu=Ta({avgPool3d_:function(e,t,n,r,s,a="NDHWC"){const i=Ia(e,"x","avgPool3d","float32");let o=i,l=!1;4===i.rank&&(l=!0,o=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),re(5===o.rank,(()=>`Error in avgPool3d: x must be rank 5 but got rank ${o.rank}.`)),re("NDHWC"===a,(()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${a}`)),lu("avgPool3d",r,s);const u={x:o},c={filterSize:t,strides:n,pad:r,dimRoundingMode:s,dataFormat:a};let h=da.runKernel(pt,u,c);return h=Si(h,o.dtype),l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),pu=Ta({concat_:function(e,t=0){re(e.length>=1,(()=>"Pass at least one tensor to concat"));const n=Na(e,"tensors","concat","string_or_numeric");if("complex64"===n[0].dtype&&n.forEach((e=>{if("complex64"!==e.dtype)throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${e.dtype}. `)})),1===n.length)return Ti(n[0]);const r=n,s={axis:t};return da.runKernel(Nt,r,s)}}),du=Ta({sigmoid_:function(e){const t={x:Ia(e,"x","sigmoid","float32")};return da.runKernel(vr,t)}}),fu=Ta({slice_:function(e,t,n){const r=Ia(e,"x","slice","string_or_numeric");if(0===r.rank)throw new Error("Slicing scalar is not possible");const s={x:r},a={begin:t,size:n};return da.runKernel(yr,s,a)}}),mu=Ta({tanh_:function(e){const t={x:Ia(e,"x","tanh","float32")};return da.runKernel(Vr,t)}}),gu=Ta({basicLSTMCell_:function(e,t,n,r,s,a){const i=Ia(e,"forgetBias","basicLSTMCell"),o=Ia(t,"lstmKernel","basicLSTMCell"),l=Ia(n,"lstmBias","basicLSTMCell"),u=Ia(r,"data","basicLSTMCell"),c=Ia(s,"c","basicLSTMCell"),h=Ia(a,"h","basicLSTMCell"),p=pu([u,h],1),d=Hi(p,o),f=ll(d,l),m=f.shape[0],g=f.shape[1]/4,y=[m,g],b=fu(f,[0,0],y),x=fu(f,[0,g],y),w=fu(f,[0,2*g],y),v=fu(f,[0,3*g],y),k=ll(hl(du(b),mu(x)),hl(c,du(ll(i,w))));return[k,hl(mu(k),du(v))]}}),yu=Ta({batchToSpaceND_:function(e,t,n){const r=Ia(e,"x","batchToSpaceND"),s=t.reduce(((e,t)=>e*t));re(r.rank>=1+t.length,(()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`)),re(n.length===t.length,(()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`)),re(r.shape[0]%s==0,(()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${s}`));const a={x:r},i={blockShape:t,crops:n};return da.runKernel(mt,a,i)}}),bu=Ta({batchNorm_:function(e,t,n,r,s,a){null==a&&(a=.001);const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(o.rank===l.rank,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),re(null==c||o.rank===c.rank,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),re(null==u||o.rank===u.rank,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));const h={x:function(e){let t;return t=0===e.rank||1===e.rank?uu(e,[1,1,1,e.size]):2===e.rank?uu(e,[1,1,e.shape[0],e.shape[1]]):3===e.rank?uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e,t}(i),scale:u,offset:c,mean:o,variance:l},p={varianceEpsilon:a},d=da.runKernel(sn,h,p);return uu(d,i.shape)}}),xu=Ta({batchNorm2d_:function(e,t,n,r,s,a){const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(2===i.rank,(()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`)),re(2===o.rank||1===o.rank,(()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${o.rank}.`)),re(2===l.rank||1===l.rank,(()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${l.rank}.`)),null!=u&&re(2===u.rank||1===u.rank,(()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`)),null!=c&&re(2===c.rank||1===c.rank,(()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`)),bu(i,o,l,c,u,a)}}),wu=Ta({batchNorm3d_:function(e,t,n,r,s,a){const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(3===i.rank,(()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`)),re(3===o.rank||1===o.rank,(()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${o.rank}.`)),re(3===l.rank||1===l.rank,(()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${l.rank}.`)),null!=u&&re(3===u.rank||1===u.rank,(()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`)),null!=c&&re(3===c.rank||1===c.rank,(()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`)),bu(i,o,l,c,u,a)}}),vu=Ta({batchNorm4d_:function(e,t,n,r,s,a){const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(4===i.rank,(()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`)),re(4===o.rank||1===o.rank,(()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${o.rank}.`)),re(4===l.rank||1===l.rank,(()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${l.rank}.`)),null!=u&&re(4===u.rank||1===u.rank,(()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`)),null!=c&&re(4===c.rank||1===c.rank,(()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`)),bu(i,o,l,c,u,a)}}),ku=Ta({bincount_:function(e,t,n){const r=Ia(e,"x","bincount"),s=Ia(t,"weights","bincount");re("int32"===r.dtype,(()=>`Error in bincount: input dtype must be int32, but got ${r.dtype}`)),re(n>=0,(()=>`size must be non-negative, but got ${n}.`)),re(s.size===r.size||0===s.size,(()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${r.shape}, weights shape: ${s.shape}.`));const a={x:r,weights:s},i={size:n};return da.runKernel(gt,a,i)}}),Iu=Ta({broadcastArgs_:function(e,t){const n=Ia(e,"s0","broadcastArgs","int32"),r=Ia(t,"s1","broadcastArgs","int32");if(1!==n.rank)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${n.rank}`);if(1!==r.rank)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${r.rank}`);const s={s0:n,s1:r};return da.runKernel(bt,s)}}),Nu=Ta({broadcastTo_:function(e,t){let n=Ia(e,"broadcastTo","x");const r=n.shape;if(t.some((e=>!(e>0)||e%1!=0)))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){const e=n.shape.slice();for(;e.length=0;e--)if(s[e]===t[e])a[e]=1;else if(1!==n.shape[e])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);if(0===a.map(((e,t)=>e>1?t:-1)).filter((e=>e>=0)).length)return Ti(n);const i={x:n},o={reps:a};return da.runKernel(Ur,i,o)}}),Su=Ta({ceil_:function(e){const t={x:Ia(e,"x","ceil","float32")};return da.runKernel(wt,t)}}),Tu=Ta({clipByValue_:function(e,t,n){const r=Ia(e,"x","clipByValue");re(t<=n,(()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`));const s={x:r},a={clipValueMin:t,clipValueMax:n};return da.runKernel(vt,s,a)}}),Cu=Ta({concat1d_:function(e){return pu(e,0)}}),Eu=Ta({concat2d_:function(e,t){return pu(e,t)}}),$u=Ta({concat3d_:function(e,t){return pu(e,t)}}),Au=Ta({concat4d_:function(e,t){return pu(e,t)}}),Ru=Ta({conv2d_:function(e,t,n,r,s="NHWC",a=[1,1],i){const o=Ia(e,"x","conv2d","float32"),l=Ia(t,"filter","conv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),re(4===u.rank,(()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`)),re(4===l.rank,(()=>`Error in conv2d: filter must be rank 4, but got rank ${l.rank}.`)),lu("conv2d",r,i);const h="NHWC"===s?u.shape[3]:u.shape[1];re(h===l.shape[2],(()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${l.shape[2]}.`)),re(iu(n,a),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`));const p={x:u,filter:l},d={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i},f=da.runKernel(St,p,d);return c?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Mu=Ta({conv1d_:function(e,t,n,r,s="NWC",a=1,i){const o=Ia(e,"x","conv1d"),l=Ia(t,"filter","conv1d");let u=o,c=!1;2===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1]])),re(3===u.rank,(()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`)),re(3===l.rank,(()=>`Error in conv1d: filter must be rank 3, but got rank ${l.rank}.`)),lu("conv1d",r,i),re(u.shape[2]===l.shape[1],(()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${l.shape[1]}.`)),re(iu(n,a),(()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${a}'`)),re("NWC"===s,(()=>`Error in conv1d: got dataFormat of ${s} but only NWC is currently supported.`));const h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2]]),p=uu(u,[u.shape[0],1,u.shape[1],u.shape[2]]),d=Ru(p,h,[1,n],r,"NHWC",[1,a],i);return uu(d,c?[d.shape[2],d.shape[3]]:[d.shape[0],d.shape[2],d.shape[3]])}}),Fu=Ta({conv2DBackpropInput_:function(e,t,n,r,s,a="NHWC",i){re(e.length===t.rank,(()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`));let o=e,l=t,u=!1;3===t.rank&&(u=!0,l=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]),o=[1,e[0],e[1],e[2]]),re(4===o.length,(()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${o.length}.`)),re(4===l.rank,(()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${l.rank}`)),re(4===n.rank,(()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`));const c="NHWC"===a?o[3]:o[1],h="NHWC"===a?l.shape[3]:l.shape[1];re(c===n.shape[2],(()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[2]}.`)),re(h===n.shape[3],(()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`)),lu("conv2dDerInput",s,i);const p={dy:l,filter:n},d={strides:r,pad:s,dataFormat:a,dimRoundingMode:i,inputShape:o},f=da.runKernel(Ct,p,d);return u?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Du=Ta({conv2dTranspose_:function(e,t,n,r,s,a){const i=Ia(e,"x","conv2dTranspose"),o=Ia(t,"filter","conv2dTranspose");return Fu(n,i,o,r,s,"NHWC",a)}}),_u=Ta({conv3d_:function(e,t,n,r,s="NDHWC",a=[1,1,1]){const i=Ia(e,"x","conv3d"),o=Ia(t,"filter","conv3d");let l=i,u=!1;4===i.rank&&(u=!0,l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),re(5===l.rank,(()=>`Error in conv3d: input must be rank 5, but got rank ${l.rank}.`)),re(5===o.rank,(()=>`Error in conv3d: filter must be rank 5, but got rank ${o.rank}.`)),re(l.shape[4]===o.shape[3],(()=>`Error in conv3d: depth of input (${l.shape[4]}) must match input depth for filter ${o.shape[3]}.`)),re(iu(n,a),(()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`)),re("NDHWC"===s,(()=>`Error in conv3d: got dataFormat of ${s} but only NDHWC is currently supported.`));const c={x:l,filter:o},h={strides:n,pad:r,dataFormat:s,dilations:a},p=da.runKernel(Et,c,h);return u?uu(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),Ou=Ta({conv3DBackpropInput_:function(e,t,n,r,s){re(e.length===t.rank,(()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`));let a=e,i=t,o=!1;4===t.rank&&(o=!0,i=uu(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),a=[1,e[0],e[1],e[2],e[3]]);const l=a[4],u=i.shape[4];re(5===a.length,(()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${a.length}.`)),re(5===i.rank,(()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`)),re(5===n.rank,(()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`)),re(l===n.shape[3],(()=>`Error in conv3dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[3]}.`)),re(u===n.shape[4],(()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${n.shape[4]}.`));const c={dy:i,filter:n},h={pad:s,strides:r,inputShape:a},p=da.runKernel(At,c,h);return o?uu(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),Lu=Ta({conv3dTranspose_:function(e,t,n,r,s){const a=Ia(e,"x","conv3dTranspose"),i=Ia(t,"filter","conv3dTranspose");return Ou(n,a,i,r,s)}}),zu=Ta({cos_:function(e){const t={x:Ia(e,"x","cos","float32")};return da.runKernel(Rt,t)}}),Pu=Ta({cosh_:function(e){const t={x:Ia(e,"x","cosh","float32")};return da.runKernel(Mt,t)}}),Bu=Ta({cumsum_:function(e,t=0,n=!1,r=!1){const s={x:Ia(e,"x","cumsum")},a={axis:t,exclusive:n,reverse:r};return da.runKernel(Ft,s,a)}}),Vu=Ta({denseBincount_:function(e,t,n,r=!1){const s=Ia(e,"x","denseBincount"),a=Ia(t,"weights","denseBincount");re("int32"===s.dtype,(()=>`Error in denseBincount: input dtype must be int32, but got ${s.dtype}`)),re(s.rank<=2,(()=>`Error in denseBincount: input must be at most rank 2, but got rank ${s.rank}.`)),re(n>=0,(()=>`size must be non-negative, but got ${n}.`)),re(a.size===s.size||0===a.size,(()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${s.shape}, weights shape: ${a.shape}.`));const i={x:s,weights:a},o={size:n,binaryOutput:r};return da.runKernel(_t,i,o)}}),Uu=Ta({depthToSpace_:function(e,t,n="NHWC"){const r=Ia(e,"x","depthToSpace","float32"),s="NHWC"===n?r.shape[1]:r.shape[2],a="NHWC"===n?r.shape[2]:r.shape[3],i="NHWC"===n?r.shape[3]:r.shape[1];re(t>1,(()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`)),re(s*t>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${t} for depthToSpace with input shape\n ${r.shape}`)),re(a*t>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${a} and ${t} for depthToSpace with input shape\n ${r.shape}`)),re(i%(t*t)==0,(()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${r.shape}`));const o={x:r},l={blockSize:t,dataFormat:n};return da.runKernel(Ot,o,l)}}),Wu=Ta({depthwiseConv2d_:function(e,t,n,r,s="NHWC",a=[1,1],i){const o=Ia(e,"x","depthwiseConv2d","float32"),l=Ia(t,"filter","depthwiseConv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),re(4===u.rank,(()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`)),re(4===l.rank,(()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${l.rank}.`)),re(u.shape[3]===l.shape[2],(()=>`Error in depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`)),lu("depthwiseConv2d",r,i);const h={x:u,filter:l},p={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i},d=da.runKernel(Lt,h,p);return c?uu(d,[d.shape[1],d.shape[2],d.shape[3]]):d}}),Gu=Ta({diag_:function(e){const t={x:Ia(e,"x","diag")};return da.runKernel(Bt,t)}}),Hu=Ta({dilation2d_:function(e,t,n,r,s=[1,1],a="NHWC"){const i=Ia(e,"x","dilation2d"),o=Ia(t,"filter","dilation2d");re(3===i.rank||4===i.rank,(()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`)),re(3===o.rank,(()=>`Error in dilation2d: filter must be rank 3, but got rank ${o.rank}.`)),re("NHWC"===a,(()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${a}`));let l=i,u=!1;3===i.rank&&(l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]]),u=!0);const c={x:l,filter:o},h={strides:n,pad:r,dilations:s},p=da.runKernel(Vt,c,h);return u?uu(p,[p.shape[1],p.shape[2],p.shape[3]]):p}}),ju=Ta({equal_:function(e,t){let n=Ia(e,"a","equal","string_or_numeric"),r=Ia(t,"b","equal","string_or_numeric");[n,r]=sa(n,r),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Xt,s)}}),qu=Ta({where_:function(e,t,n){const r=Ia(t,"a","where"),s=Ia(n,"b","where"),a=Ia(e,"condition","where","bool"),i=Zi(Zi(a.shape,r.shape),s.shape),o={condition:Nu(a,i),t:Nu(r,i),e:Nu(s,i)};return da.runKernel(mr,o)}}),Ku=Ta({divNoNan_:function(e,t){let n=Ia(e,"a","div"),r=Ia(t,"b","div");[n,r]=sa(n,r);const s=cl(n,r),a=fl(s),i=ju(r,a);return qu(i,a,s)}}),Xu=Ta({dot_:function(e,t){const n=Ia(e,"t1","dot"),r=Ia(t,"t2","dot");re(!(1!==n.rank&&2!==n.rank||1!==r.rank&&2!==r.rank),(()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`));const s=1===n.rank?n.size:n.shape[1],a=1===r.rank?r.size:r.shape[0];if(re(s===a,(()=>`Error in dot: inner dimensions of inputs must match, but got ${s} and ${a}.`)),1===n.rank&&1===r.rank){const e=uu(n,[1,-1]),t=uu(r,[-1,1]),s=Hi(e,t);return uu(s,[])}if(1===n.rank&&2===r.rank){const e=uu(n,[1,-1]),t=uu(r,[r.shape[0],r.shape[1]]),s=Hi(e,t);return uu(s,[s.size])}if(2===n.rank&&1===r.rank){const e=uu(r,[-1,1]),t=Hi(n,e);return uu(t,[t.size])}{const e=uu(r,[r.shape[0],r.shape[1]]);return Hi(n,e)}}}),Yu=Ta({einsum_:function(e,...t){const n=t.map(((e,t)=>Ia(e,`tensors${t}`,"einsum"))),r={equation:e};return da.runKernel(Ht,n,r)}}),Zu=Ta({elu_:function(e){const t={x:Ia(e,"x","elu","float32")};return da.runKernel(jt,t)}}),Ju=Ta({erf_:function(e){let t=Ia(e,"x","erf");re("int32"===t.dtype||"float32"===t.dtype,(()=>"Input dtype must be `int32` or `float32`.")),"int32"===t.dtype&&(t=Si(t,"float32"));const n={x:t};return da.runKernel(Kt,n)}}),Qu=Ta({exp_:function(e){const t={x:Ia(e,"x","exp")};return da.runKernel(Yt,t)}}),ec=Ta({expandDims_:function(e,t=0){const n=Ia(e,"x","expandDims","string_or_numeric");re(t<=n.rank,(()=>"Axis must be <= rank of the tensor"));const r={input:n},s={dim:t};return da.runKernel(Zt,r,s)}}),tc=Ta({expm1_:function(e){const t={x:Ia(e,"x","expm1")};return da.runKernel(Jt,t)}}),nc=Ta({tile_:function(e,t){const n=Ia(e,"x","tile","string_or_numeric");re(n.rank===t.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of reps ${t}.`));const r={x:n},s={reps:t};return da.runKernel(Ur,r,s)}}),rc=Ta({eye_:function(e,t,n,r="float32"){null==t&&(t=e);const s=Ni([e,t],r),a=e<=t?e:t;for(let e=0;e`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${a.rank}.`)),re(ce(t),(()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`));let i=a,o=!1;3===a.rank&&(o=!0,i=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]]));const l={x:i},u={depthRadius:t,bias:n,alpha:r,beta:s},c=da.runKernel(Tn,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),yc=Ta({log_:function(e){const t={x:Ia(e,"x","log","float32")};return da.runKernel(wn,t)}}),bc=Ta({log1p_:function(e){const t={x:Ia(e,"x","log1p")};return da.runKernel(vn,t)}}),xc=Ta({neg_:function(e){const t={x:Ia(e,"x","neg")};return da.runKernel(Un,t)}}),wc=Ta({softplus_:function(e){const t={x:Ia(e,"x","softplus")};return da.runKernel(kr,t)}}),vc=Ta({logSigmoid_:function(e){const t=Ia(e,"x","logSigmoid");return wl((e=>({value:xc(wc(xc(e))),gradFunc:t=>hl(t,du(xc(e)))})))(t)}}),kc=Ta({max_:function(e,t=null,n=!1){const r={x:Ia(e,"x","max")},s={reductionIndices:t,keepDims:n};return da.runKernel(En,r,s)}}),Ic=Ta({sum_:function(e,t=null,n=!1){let r=Ia(e,"x","sum");"bool"===r.dtype&&(r=Si(r,"int32"));const s={x:r},a={axis:t,keepDims:n};return da.runKernel(Nr,s,a)}}),Nc=Ta({logSoftmax_:function(e,t=-1){const n=Ia(e,"logits","logSoftmax");if(-1===t&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);return wl(((e,n)=>{const r=kc(e,t,!0),s=El(e,r),a=El(Si(s,"float32"),yc(Ic(Qu(s),t,!0)));return n([a]),{value:a,gradFunc:(e,n)=>{const[r]=n,s=Qu(r);return El(e,hl(Ic(e,t,!0),s))}}}))(n)}});function Sc(e,t){for(let n=0;ne[t]))]}function Ec(e,t){return Tc(e,t.map((e=>1)),t)}function $c(e,t,n){re(Sc(t,n),(()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`))}function Ac(e,t){if(Sc(e,t))return null;const n=[];for(let r=0;rn.push(e))),n}function Rc(e){return e.map(((e,t)=>[t,e])).sort(((e,t)=>e[1]-t[1])).map((e=>e[0]))}function Mc(e,t){const n=[];for(let r=t-e;r`Error in maxPool: input must be rank 4 but got rank ${i.rank}.`)),re(iu(n,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`)),lu("maxPool",r,s);const l={x:i},u={filterSize:t,strides:n,pad:r,dimRoundingMode:s},c=da.runKernel(An,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),Pc=Ta({maxPool3d_:function(e,t=[1,1,1],n,r,s,a="NDHWC"){const i=Ia(e,"x","maxPool3d");let o=i,l=!1;4===i.rank&&(l=!0,o=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),re(5===o.rank,(()=>`Error in maxPool3d: x must be rank 5 but got rank ${o.rank}.`)),re("NDHWC"===a,(()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${a}`)),lu("maxPool3d",r,s);const u={x:o},c={filterSize:t,strides:n,pad:r,dimRoundingMode:s,dataFormat:a},h=da.runKernel(Mn,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),Bc=Ta({maxPoolWithArgmax_:function(e,t,n,r,s=!1){const a={x:Ia(e,"x","maxPoolWithArgmax")},i={filterSize:t,strides:n,pad:r,includeBatchInIndex:s},o=da.runKernel(Dn,a,i);return{result:o[0],indexes:o[1]}}}),Vc=Ta({mean_:function(e,t=null,n=!1){const r={x:Ia(e,"x","mean")},s={axis:t,keepDims:n};return da.runKernel(_n,r,s)}});function Uc(e,t="float32"){if("complex64"===t){const t=Uc(e,"float32"),n=Uc(e,"float32");return Ca(t,n)}const n=Le(oe(e),t);return da.makeTensor(n,e,t)}function Wc(e,t="float32"){if("complex64"===t){const t=Wc(e,"float32"),n=Uc(e,"float32");return Ca(t,n)}const n=Oe(oe(e),t);return da.makeTensor(n,e,t)}function Gc(e,t,{indexing:n="xy"}={}){if("xy"!==n&&"ij"!==n)throw new TypeError(`${n} is not a valid third argument to meshgrid`);if(void 0===e)return[];let r=Ia(e,"x","meshgrid",e instanceof qs?e.dtype:"float32");if(void 0===t)return[r];let s=Ia(t,"y","meshgrid",t instanceof qs?t.dtype:"float32");const a=oe(r.shape),i=oe(s.shape);return"xy"===n?(r=uu(r,[1,-1]),s=uu(s,[-1,1]),[Hi(Wc([i,1],r.dtype),r),Hi(s,Wc([1,a],s.dtype))]):(r=uu(r,[-1,1]),s=uu(s,[1,-1]),[Hi(r,Wc([1,i],r.dtype)),Hi(Wc([a,1],s.dtype),s)])}const Hc=Ta({min_:function(e,t=null,n=!1){const r={x:Ia(e,"x","min")},s={axis:t,keepDims:n};return da.runKernel(On,r,s)}}),jc=Ta({minimum_:function(e,t){let n=Ia(e,"a","minimum"),r=Ia(t,"b","minimum");[n,r]=sa(n,r),"bool"===n.dtype&&(n=Si(n,"int32"),r=Si(r,"int32")),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Ln,s)}}),qc=Ta({mirrorPad_:function(e,t,n){re("reflect"===n||"symmetric"===n,(()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${n}.`));const r=Ia(e,"x","mirrorPad");if(0===r.rank)throw new Error("mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad");re(t.length===r.rank,(()=>`Padding doesn't match input. Must be ${r.rank}. Got ${t.length}.`));const s="reflect"===n?1:0;for(let e=0;e"Invalid number of paddings. Must be length of 2 each.")),re(t[e][0]>=0&&t[e][0]<=r.shape[e]-s&&t[e][1]>=0&&t[e][1]<=r.shape[e]-s,(()=>`Padding in dimension ${e} cannot be greater than or equal to ${r.shape[e]-s} or less than 0 for input of shape ${r.shape}`));const a={paddings:t,mode:n},i={x:r};return da.runKernel(zn,i,a)}}),Kc=Ta({mod_:function(e,t){let n=Ia(e,"a","mod"),r=Ia(t,"b","mod");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Pn,s)}}),Xc=Ta({moments_:function(e,t=null,n=!1){const r=ye(t,(e=Ia(e,"x","moments")).shape),s=Vc(e,r,n);let a=s.shape;n||(a=Ec(s.shape,r));const i=dl(El(Si(e,"float32"),uu(s,a)));return{mean:s,variance:Vc(i,r,n)}}}),Yc=Ta({multiRNNCell_:function(e,t,n,r){const s=Ia(t,"data","multiRNNCell"),a=Na(n,"c","multiRNNCell"),i=Na(r,"h","multiRNNCell");let o=s;const l=[];for(let t=0;t2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);n=n||Math.random();const o={logits:1===i?uu(s,[1,-1]):s},l={numSamples:t,seed:n,normalized:r},u=da.runKernel(Bn,o,l);return 1===i?uu(u,[u.size]):u}}),Jc=Ta({notEqual_:function(e,t){let n=Ia(e,"a","notEqual","string_or_numeric"),r=Ia(t,"b","notEqual","string_or_numeric");[n,r]=sa(n,r),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Wn,s)}}),Qc=Ta({onesLike_:function(e){const t={x:Ia(e,"x","onesLike")};return da.runKernel(qn,t)}}),eh=Ta({outerProduct_:function(e,t){const n=Ia(e,"v1","outerProduct"),r=Ia(t,"v2","outerProduct");re(1===n.rank&&1===r.rank,(()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`));const s=uu(n,[-1,1]),a=uu(r,[1,-1]);return Hi(s,a)}}),th=Ta({pad_:function(e,t,n=0){const r=Ia(e,"x","pad");if(0===r.rank)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const s={paddings:t,constantValue:n},a={x:r};return da.runKernel(Yn,a,s)}}),nh=Ta({pad1d_:function(e,t,n=0){return re(2===t.length,(()=>"Invalid number of paddings. Must be length of 2.")),th(e,[t],n)}}),rh=Ta({pad2d_:function(e,t,n=0){return re(2===t.length&&2===t[0].length&&2===t[1].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),th(e,t,n)}}),sh=Ta({pad3d_:function(e,t,n=0){return re(3===t.length&&2===t[0].length&&2===t[1].length&&2===t[2].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),th(e,t,n)}}),ah=Ta({pad4d_:function(e,t,n=0){return re(4===t.length&&2===t[0].length&&2===t[1].length&&2===t[2].length&&2===t[3].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),th(e,t,n)}}),ih=Ta({spaceToBatchND_:function(e,t,n){const r=Ia(e,"x","spaceToBatchND");re(r.rank>=1+t.length,(()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`)),re(n.length===t.length,(()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`)),re(r.shape.reduce(((e,r,s)=>s>0&&s<=t.length?e&&(r+n[s-1][0]+n[s-1][1])%t[s-1]==0:e),!0),(()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`));const s={x:r},a={blockShape:t,paddings:n};return da.runKernel(Sr,s,a)}}),oh=Ta({pool_:function(e,t,n,r,s,a,i){null==s&&(s=[1,1]),null==a&&(a=1),0===r&&(r="valid");const o=Ia(e,"x","maxPool");let l=o,u=!1;3===o.rank&&(u=!0,l=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),re(iu(a,s),(()=>`Error in pool: Either strides or dilations must be 1. Got strides ${a} and dilations '${s}'`));const c=Yl(l.shape,t,a,s,r),h=[c.dilationHeight,c.dilationWidth];let p;p="same"===r?function(e,t){const n=e.map(((e,n)=>e+(e-1)*(t[n]-1))).map((e=>e-1)),r=n.map((e=>Math.floor(e/2))),s=n.map(((e,t)=>e-r[t]));return n.map(((e,t)=>[r[t],s[t]]))}([c.filterHeight,c.filterWidth],h):[[0,0],[0,0]];const d=1===h[0]&&1===h[1],[f,m]=function(e,t,n){const r=n.map((e=>e[0])),s=n.map((e=>e[1])),a=e.concat(r,s),i=t.map(((e,t)=>(e-a[t]%e)%e)),o=s.map(((e,t)=>e+i[t]));return[t.map(((e,t)=>[r[t],o[t]])),t.map(((e,t)=>[0,i[t]]))]}([c.inHeight,c.inWidth],h,p),g=d?r:"valid",y=d?l:ih(l,h,f),b=("avg"===n?()=>cu(y,t,a,g,i):()=>zc(y,t,a,g,i))(),x=d?b:yu(b,h,m);return u?uu(x,[x.shape[1],x.shape[2],x.shape[3]]):x}}),lh=Ta({prelu_:function(e,t){const n={x:Ia(e,"x","prelu"),alpha:Ia(t,"alpha","prelu")};return da.runKernel(Qn,n)}}),uh=Ta({prod_:function(e,t=null,n=!1){let r=Ia(e,"x","prod");"bool"===r.dtype&&(r=Si(r,"int32"));const s={x:r},a={axis:t,keepDims:n};return da.runKernel(er,s,a)}}),ch=Ta({rand_:function(e,t,n){const r=oe(e);let s=null;if(null==n||"float32"===n)s=new Float32Array(r);else if("int32"===n)s=new Int32Array(r);else{if("bool"!==n)throw new Error(`Unknown data type ${n}`);s=new Uint8Array(r)}for(let e=0;e=1||0===a);const i=Math.sqrt(-2*Math.log(a)/a);e=this.mean+this.stdDev*r*i,t=this.mean+this.stdDev*s*i,this.truncated&&!this.isValidTruncated(e)||(n=!0)}return this.truncated&&!this.isValidTruncated(t)||(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return null==this.dtype||"float32"===this.dtype?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}}class dh{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;const s=r||Math.random();this.randu=hh.alea(s.toString()),this.randn=new ph(0,1,n,!1,this.randu()),this.d=e<1?e+2/3:e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,s,a;for(;;){do{r=this.randn.nextValue(),a=1+this.c*r}while(a<=0);if(a*=a*a,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-a+Math.log(a)),s=this.randu(),snull==this.dtype||"float32"===this.dtype,this.min=e,this.range=t-e,this.dtype=n,null==r&&(r=Math.random()),"number"==typeof r&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=hh.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}const mh=Ta({randomGamma_:function(e,t,n=1,r="float32",s){if(null==n&&(n=1),null==r&&(r="float32"),"float32"!==r&&"int32"!==r)throw new Error(`Unsupported data type ${r}`);const a=new dh(t,n,r,s),i=Ni(e,r);for(let e=0;e`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`)),Ih(t,0)}}),Sh=Ta({reverse2d_:function(e,t){const n=Ia(e,"x","reverse");return re(2===n.rank,(()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`)),Ih(n,t)}}),Th=Ta({reverse3d_:function(e,t){const n=Ia(e,"x","reverse");return re(3===n.rank,(()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`)),Ih(n,t)}}),Ch=Ta({reverse4d_:function(e,t){const n=Ia(e,"x","reverse");return re(4===n.rank,(()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`)),Ih(n,t)}}),Eh=Ta({round_:function(e){const t={x:Ia(e,"x","round")};return da.runKernel(pr,t)}}),$h=Ta({rsqrt_:function(e){const t={x:Ia(e,"x","rsqrt","float32")};return da.runKernel(dr,t)}}),Ah=Ta({selu_:function(e){const t={x:Ia(e,"x","selu")};return da.runKernel(gr,t)}}),Rh=Ta({separableConv2d_:function(e,t,n,r,s,a=[1,1],i="NHWC"){const o=Ia(e,"x","separableConv2d"),l=Ia(t,"depthwiseFilter","separableConv2d"),u=Ia(n,"pointwiseFilter","separableConv2d");let c=o,h=!1;if(3===o.rank&&(h=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),"NCHW"===i)throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");re(4===c.rank,(()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`)),re(4===l.rank,(()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${l.rank}.`)),re(4===u.rank,(()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${l.rank}.`)),re(1===u.shape[0],(()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`)),re(1===u.shape[1],(()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`));const p=l.shape[2],d=l.shape[3];re(u.shape[2]===p*d,(()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${p*d}, but got ${u.shape[2]}.`));const f=Wu(c,l,r,s,i,a),m=Ru(f,u,1,"valid",i);return h?uu(m,[m.shape[1],m.shape[2],m.shape[3]]):m}}),Mh=async function(e,t){const n=Ia(e,"x","setdiff1d"),r=Ia(t,"y","setdiff1d");re(n.dtype===r.dtype,(()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`)),re(1===n.rank,(()=>`x should be 1D tensor, but got x (${n.shape}).`)),re(1===r.rank,(()=>`y should be 1D tensor, but got y (${r.shape}).`));const s=await n.data(),a=await r.data(),i=new Set(a);let o=0;for(let e=0;e`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`)),fu(r,[t],[n])}}),Lh=Ta({slice2d_:function(e,t,n){const r=Ia(e,"x","slice2d");return re(2===r.rank,(()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`)),fu(r,t,n)}}),zh=Ta({slice3d_:function(e,t,n){const r=Ia(e,"x","slice3d");return re(3===r.rank,(()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`)),fu(r,t,n)}}),Ph=Ta({slice4d_:function(e,t,n){const r=Ia(e,"x","slice4d");return re(4===r.rank,(()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`)),fu(r,t,n)}}),Bh=Ta({softmax_:function(e,t=-1){const n=Ia(e,"logits","softmax","float32");if(-1===t&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);const r={logits:n},s={dim:t};return da.runKernel(Cr,r,s)}}),Vh=Ta({fft_:function(e){re("complex64"===e.dtype,(()=>`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`));const t={input:e};return da.runKernel(Qt,t)}}),Uh=Ta({ifft_:function(e){re("complex64"===e.dtype,(()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`));const t={input:e};return da.runKernel(hn,t)}}),Wh=Ta({irfft_:function(e){const t=e.shape[e.shape.length-1],n=e.size/t;let r;if(t<=2){const s=uu(e,[n,t]);r=Uh(s)}else{const s=[n,2*(t-1)],a=uu(xh(e),[n,t]),i=uu(lc(e),[n,t]),o=Ih(fu(a,[0,1],[n,t-2]),1),l=hl(Ih(fu(i,[0,1],[n,t-2]),1),kl(-1)),u=pu([a,o],1),c=pu([i,l],1),h=uu(Ca(u,c),[s[0],s[1]]);r=Uh(h)}if(r=xh(r),3===e.rank&&0!==e.shape[0]){const t=r,n=e.shape[0];r=uu(r,[n,r.shape[0]/n,r.shape[1]]),t.dispose()}return r}}),Gh=Ta({split_:function(e,t,n=0){const r={x:Ia(e,"x","split")},s={numOrSizeSplits:t,axis:n};return da.runKernel(Tr,r,s)}}),Hh=Ta({rfft_:function(e,t){re("float32"===e.dtype,(()=>`The dtype for rfft() must be real value but got ${e.dtype}`));let n=e.shape[e.shape.length-1];const r=e.size/n;let s;if(null!=t&&t0)),a=e.shape.map((e=>e));a[e.shape.length-1]=t,s=fu(e,r,a),n=t}else if(null!=t&&t>n){const r=e.shape.map((e=>e));r[e.shape.length-1]=t-n,s=pu([e,Uc(r)],e.shape.length-1),n=t}else s=e;const a=fl(s),i=uu(Ca(s,a),[r,n]),o=Vh(i),l=Math.floor(n/2)+1,u=xh(o),c=lc(o),h=Gh(u,[l,n-l],u.shape.length-1),p=Gh(c,[l,n-l],c.shape.length-1),d=s.shape.slice();return d[s.shape.length-1]=l,uu(Ca(h[0],p[0]),d)}}),jh=Ta({squaredDifference_:function(e,t){let n=Ia(e,"a","squaredDifference"),r=Ia(t,"b","squaredDifference");[n,r]=sa(n,r),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Fr,s,{})}}),qh=Ta({squeeze_:function(e,t){const n=Ia(e,"x","squeeze");return uu(n,be(n.shape,t).newShape)}}),Kh=Ta({stack_:function(e,t=0){const n=Na(e,"tensors","stack","string_or_numeric");re(n.length>=1,(()=>"Pass at least one tensor to tf.stack")),n.length>0&&re(t<=n[0].rank,(()=>"Axis must be <= rank of the tensor"));const r=n,s={axis:t};return da.runKernel(Xn,r,s)}}),Xh=Ta({step_:function(e,t=0){const n={x:Ia(e,"x","step")},r={alpha:t};return da.runKernel(Yr,n,r)}}),Yh=Ta({stridedSlice_:function(e,t,n,r,s=0,a=0,i=0,o=0,l=0){const u={x:Ia(e,"x","stridedSlice","string_or_numeric")},c={begin:t,end:n,strides:r,beginMask:s,endMask:a,ellipsisMask:i,newAxisMask:o,shrinkAxisMask:l};return da.runKernel(_r,u,c)}}),Zh=Ta({tan_:function(e){const t={x:Ia(e,"x","tan","float32")};return da.runKernel(Br,t)}});function Jh(e,t){ae(e);const n=wa(e,t);if(1!==n.length)throw new Error("tensor1d() requires values to be a flat/TypedArray");return Ea(e,null,n,t)}function Qh(e,t,n){if(ae(e),null!=t&&2!==t.length)throw new Error("tensor2d() requires shape to have two numbers");const r=wa(e,n);if(2!==r.length&&1!==r.length)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return Ea(e,t,r,n)}function ep(e,t,n){if(ae(e),null!=t&&4!==t.length)throw new Error("tensor4d() requires shape to have four numbers");const r=wa(e,n);if(4!==r.length&&1!==r.length)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return Ea(e,t,r,n)}function tp(e,t,n){if(ae(e),null!=t&&5!==t.length)throw new Error("tensor5d() requires shape to have five numbers");const r=wa(e,n);if(5!==r.length&&1!==r.length)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return Ea(e,t,r,n)}function np(e,t,n){if(ae(e),null!=t&&6!==t.length)throw new Error("tensor6d() requires shape to have six numbers");const r=wa(e,n);if(6!==r.length&&1!==r.length)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return Ea(e,t=t||r,r,n)}const rp=Ta({topk_:function(e,t=1,n=!0){const r=Ia(e,"x","topk");if(0===r.rank)throw new Error("topk() expects the input to be of rank 1 or higher");const s=r.shape[r.shape.length-1];if(t<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${t}`);if(t>s)throw new Error(`'k' passed to topk() must be <= the last dimension (${s}) but got ${t}`);const a={x:r},i={k:t,sorted:n},[o,l]=da.runKernel(Wr,a,i);return{values:o,indices:l}}}),sp=Ta({truncatedNormal_:function(e,t=0,n=1,r,s){if(null!=r&&"bool"===r)throw new Error("Unsupported data type $ { dtype }");const a=new ph(t,n,r,!0,s),i=Ni(e,r);for(let e=0;e0,(()=>"The input tensor must be at least 1D"));const r={x:n},s={axis:t},[a,i]=da.runKernel(jr,r,s);return{values:a,indices:i}}}),ip=Ta({unsortedSegmentSum_:function(e,t,n){const r=Ia(e,"x","unsortedSegmentSum"),s=Ia(t,"segmentIds","unsortedSegmentSum","int32");re(ce(n),(()=>"numSegments must be of dtype int"));const a={x:r,segmentIds:s},i={numSegments:n};return da.runKernel(Kr,a,i)}}),op=Ta({unstack_:function(e,t=0){const n=Ia(e,"x","unstack","string_or_numeric");re(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`));const r={value:n},s={axis:t};return da.runKernel(qr,r,s)}});function lp(e,t=!0,n,r){return da.makeVariable(e,t,n,r)}function up(e,t){const n=[];for(let e=0;e0,(()=>"mask cannot be scalar")),se(o.slice(a,a+i),s.shape,"mask's shape must match the first K dimensions of tensor's shape,");let l=1;for(let e=a;e"Shape mismatch in v and x"));const l=kl(1),u=El(l,o);let c=hl(El(i,a),u);if(s){re(null!=r,(()=>"When using zeroDebias: true, step is required."));const e=Ia(r,"step","movingAverage");c=cl(c,El(l,Cl(o,e)))}return ll(a,c)}}),mp=Ta({scatterND_:function(e,t,n){const r=Ia(e,"indices","scatterND","int32"),s=Ia(t,"updates","scatterND");io(s,r,n);const a={indices:r,updates:s},i={shape:n};return da.runKernel(fr,a,i)}}),gp=Ta({sparseToDense_:function(e,t,n,r=0){const s=Ia(e,"sparseIndices","sparseToDense","int32"),a=Ia(t,"sparseValues","sparseToDense"),i=Ia(r,"defaultValue","sparseToDense",a.dtype);!function(e,t,n,r){if("int32"!==e.dtype)throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);const s=e.rank>0?e.shape[0]:1,a=e.rank>1?e.shape[1]:1;if(n.length!==a)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${a}.`);const i=t.size;if(0!==t.rank&&(1!==t.rank||i!==s))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${s}]`);if(t.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}(s,a,n,i);const o={sparseIndices:s,sparseValues:a,defaultValue:i},l={outputShape:n};return da.runKernel(Mr,o,l)}}),yp=Ta({gatherND_:function(e,t){const n=Ia(t,"indices","gatherND","int32"),r={params:Ia(e,"x","gatherND","string_or_numeric"),indices:n};return da.runKernel(on,r)}}),bp=Ta({dropout_:function(e,t,n,r){const s=Ia(e,"x","dropout");if(re("float32"===s.dtype,(()=>`x has to be a floating point tensor since it's going to be scaled, but got a ${s.dtype} tensor instead.`)),re(t>=0&&t<1,(()=>`rate must be a float in the range [0, 1), but got ${t}.`)),0===t)return e instanceof qs?s.clone():s;const a=function(e,t){if(null==t)return e.shape.slice();if(ue(e.shape,t))return t;if(e.shape.length===t.length){const n=[];for(let r=0;r1,(()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`)),re(r.rank-1===s.rank,(()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${s.rank}`)),se(r.shape.slice(0,r.shape.length-1),s.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const a=r.shape[r.shape.length-1];re(n>0&&n<=a,(()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${a}), but got ${n}`));const i=await r.data(),o=await s.data(),[l,u]=[i.length/a,a],c=xe("bool",l);for(let e=0;et.value-e.value)),c[e]=0;for(let t=0;t`Error in conv2dDerFilter: input must be rank 4, but got shape ${o.shape}.`)),re(4===l.rank,(()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${l.shape}.`)),re(4===n.length,(()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`));const u="NHWC"===a?o.shape[3]:o.shape[1],c="NHWC"===a?l.shape[3]:l.shape[1];re(u===n[2],(()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${n[2]}.`)),re(c===n[3],(()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${n[3]}).`)),lu("conv2dDerFilter",s,i);const h={x:o,dy:l},p={strides:r,pad:s,dataFormat:a,dimRoundingMode:i,filterShape:n};return da.runKernel(Tt,h,p)}});function Ip(e,t,n){if(null==n||"linear"===n)return e;if("relu"===n)return hl(e,Xh(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function Np(e,t){let n=t;const r=Yi(e.shape,t.shape);return r.length>0&&(n=Ic(n,r)),uu(n,e.shape)}function Sp(e,t,n,r){if("linear"===t)return e;if("relu"===t)return vh(e);if("elu"===t)return Zu(e);if("relu6"===t)return kh(e);if("prelu"===t)return lh(e,n);if("leakyrelu"===t)return pc(e,r);if("sigmoid"===t)return du(e);throw new Error(`Unknown fused activation ${t}.`)}const Tp=(e,t)=>!(e>0)||"linear"===t,Cp=Ta({fusedConv2d_:function({x:e,filter:t,strides:n,pad:r,dataFormat:s="NHWC",dilations:a=[1,1],dimRoundingMode:i,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(l=l||"linear",!1===Tp(da.state.gradientDepth,l)){let h=Ru(e,t,n,r,s,a,i);return null!=o&&(h=ll(h,o)),Sp(h,l,u,c)}const h=Ia(e,"x","conv2d","float32"),p=Ia(t,"filter","conv2d","float32");let d=h,f=!1;3===h.rank&&(f=!0,d=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),re(4===d.rank,(()=>`Error in fused conv2d: input must be rank 4, but got rank ${d.rank}.`)),re(4===p.rank,(()=>`Error in fused conv2d: filter must be rank 4, but got rank ${p.rank}.`)),lu("fused conv2d",r,i),re(d.shape[3]===p.shape[2],(()=>`Error in conv2d: depth of input (${d.shape[3]}) must match input depth for filter ${p.shape[2]}.`)),re(iu(n,a),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`)),re("NHWC"===s,(()=>`Error in conv2d: got dataFormat of ${s} but only NHWC is currently supported.`));const m=Jl(d.shape,p.shape,n,a,r,i);let g,y;null!=o&&(g=Ia(o,"bias","fused conv2d"),[g]=sa(g,h),Zi(m.outShape,g.shape)),null!=u&&(y=Ia(u,"prelu weights","fused conv2d"));const b=(e,t)=>{const[s,i,o,u]=t,c=Ip(e,o,l);re(au(a),(()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${a}'`));const h=[Fu(i.shape,c,s,n,r),kp(i,c,s.shape,n,r)];if(null!=u){const e=Np(u,c);h.push(e)}return h},x={x:d,filter:p,bias:g,preluActivationWeights:y},w={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i,activation:l,leakyreluAlpha:c};return null==o?wl(((e,t,n)=>{let r=da.runKernel(es,x,w);return n([t,e,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:b}}))(d,p):wl(((e,t,n,r)=>{let s=da.runKernel(es,x,w);return r([t,e,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:b}}))(d,p,g)}}),Ep=Ta({depthwiseConv2dNativeBackpropFilter_:function(e,t,n,r,s,a=[1,1],i){let o=e;3===e.rank&&(o=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let l=t;3===l.rank&&(l=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const u={x:o,dy:l},c={strides:r,pad:s,dimRoundingMode:i,dilations:a,filterShape:n};return da.runKernel(zt,u,c)}}),$p=Ta({depthwiseConv2dNativeBackpropInput_:function(e,t,n,r,s,a=[1,1],i){let o=t,l=!1;3===t.rank&&(l=!0,o=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const u={dy:o,filter:n},c={strides:r,pad:s,dimRoundingMode:i,dilations:a,inputShape:e},h=da.runKernel(Pt,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),Ap=Ta({fusedDepthwiseConv2d_:function({x:e,filter:t,strides:n,pad:r,dataFormat:s="NHWC",dilations:a=[1,1],dimRoundingMode:i,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(!1===Tp(da.state.gradientDepth,l)){let h=Wu(e,t,n,r,s,a,i);return null!=o&&(h=ll(h,o)),Sp(h,l,u,c)}const h=Ia(e,"x","depthwiseConv2d","float32"),p=Ia(t,"filter","depthwiseConv2d","float32");let d=h,f=!1;3===h.rank&&(f=!0,d=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),re(4===d.rank,(()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${d.rank}.`)),re(4===p.rank,(()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${p.rank}.`)),re(d.shape[3]===p.shape[2],(()=>`Error in fused depthwiseConv2d: number of input channels (${d.shape[3]}) must match the inChannels dimension in filter ${p.shape[2]}.`)),null==a&&(a=[1,1]),re(iu(n,a),(()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`)),lu("fused depthwiseConv2d",r,i);const m=Jl(d.shape,p.shape,n,a,r,i,!0);let g,y;null!=o&&(g=Ia(o,"bias","fused conv2d"),[g]=sa(g,h),Zi(m.outShape,g.shape)),null!=u&&(y=Ia(u,"prelu weights","fused depthwiseConv2d"));const b=(e,t)=>{re(au(a),(()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`));const[s,o,u,c]=t,h=Ip(e,u,l),p=$p(o.shape,h,s,n,r,a,i),d=Ep(o,h,s.shape,n,r,a,i);return null!=c?[p,d,Np(g,h)]:[p,d]},x={x:d,filter:p,bias:g,preluActivationWeights:y},w={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i,activation:l,leakyreluAlpha:c};return null==o?wl(((e,t,n)=>{let r=da.runKernel(ts,x,w);return n([t,e,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:b}}))(d,p):wl(((e,t,n,r)=>{let s=da.runKernel(ts,x,w);return r([t,e,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:b}}))(d,p,g)}}),Rp=Ta({fusedMatMul_:function({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:s,activation:a="linear",preluActivationWeights:i,leakyreluAlpha:o}){if(!1===Tp(da.state.gradientDepth,a)){let l=Hi(e,t,n,r);return null!=s&&(l=ll(l,s)),Sp(l,a,i,o)}let l=Ia(e,"a","fused matMul"),u=Ia(t,"b","fused matMul");[l,u]=sa(l,u);const c=n?l.shape[l.rank-2]:l.shape[l.rank-1],h=r?u.shape[u.rank-1]:u.shape[u.rank-2],p=n?l.shape[l.rank-1]:l.shape[l.rank-2],d=r?u.shape[u.rank-2]:u.shape[u.rank-1],f=l.shape.slice(0,-2),m=u.shape.slice(0,-2),g=oe(f),y=oe(m);re(c===h,(()=>`Error in fused matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${l.shape} and ${u.shape} and transposeA=${n} and transposeB=${r} must match.`));const b=Zi(l.shape.slice(0,-2),u.shape.slice(0,-2)).concat([p,d]),x=uu(l,n?[g,c,p]:[g,p,c]),w=uu(u,r?[y,d,h]:[y,h,d]);let v,k;null!=s&&(v=Ia(s,"bias","fused matMul"),[v]=sa(v,l),Zi(b,v.shape)),null!=i&&(k=Ia(i,"prelu weights","fused matMul"));const I=(e,t)=>{const[i,o,l,u]=t,c=Ip(uu(e,l.shape),l,a);let h,p;return n||r?!n&&r?(h=Hi(c,o,!1,!1),p=Hi(c,i,!0,!1)):n&&!r?(h=Hi(o,c,!1,!0),p=Hi(i,c,!1,!1)):(h=Hi(o,c,!0,!0),p=Hi(c,i,!0,!0)):(h=Hi(c,o,!1,!0),p=Hi(i,c,!0,!1)),null!=s?[h,p,Np(u,c)]:[h,p]},N={a:x,b:w,bias:v,preluActivationWeights:k},S={transposeA:n,transposeB:r,activation:a,leakyreluAlpha:o};return null==s?wl(((e,t,n)=>{const r=da.runKernel(Qr,N,S);return n([e,t,r]),{value:uu(r,b),gradFunc:I}}))(x,w):wl(((e,t,n,r)=>{const s=da.runKernel(Qr,N,S);return r([e,t,s,n]),{value:uu(s,b),gradFunc:I}}))(x,w,v)}}),Mp=Ta({hammingWindow_:function(e){return wp(e,.54,.46)}}),Fp=Ta({hannWindow_:function(e){return wp(e,.5,.5)}}),Dp=Ta({frame_:function(e,t,n,r=!1,s=0){let a=0;const i=[];for(;a+t<=e.size;)i.push(fu(e,a,t)),a+=n;if(r)for(;a`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`)),re(2===o.rank&&4===o.shape[1],(()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${o.shape}.`)),re(1===l.rank&&l.shape[0]===u,(()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${o.shape}.`)),re(2===r.length,(()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`)),re(r[0]>=1&&r[1]>=1,(()=>`cropSize must be atleast [1,1], but was ${r}`)),re("bilinear"===s||"nearest"===s,(()=>`method must be bilinear or nearest, but was ${s}`));const c={image:i,boxes:o,boxInd:l},h={method:s,extrapolationValue:a,cropSize:r};return da.runKernel(Dt,c,h)}}),Lp=Ta({flipLeftRight_:function(e){const t=Ia(e,"image","flipLeftRight","float32");re(4===t.rank,(()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`));const n={image:t};return da.runKernel(tn,n,{})}}),zp=Ta({grayscaleToRGB_:function(e){const t=Ia(e,"image","grayscaleToRGB"),n=t.rank-1,r=t.shape[n];re(t.rank>=2,(()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`)),re(1===r,(()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${r}.`));const s=new Array(t.rank);return s.fill(1,0,n),s[n]=3,nc(t,s)}}),Pp=Ta({rotateWithOffset_:function(e,t,n=0,r=.5){const s=Ia(e,"image","rotateWithOffset","float32");re(4===s.rank,(()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${s.rank}.`));const a={image:s},i={radians:t,fillValue:n,center:r};return da.runKernel(Jr,a,i)}});function Bp(e,t,n,r,s,a){null==r&&(r=.5),null==s&&(s=Number.NEGATIVE_INFINITY),null==a&&(a=0);const i=e.shape[0];return n=Math.min(n,i),re(0<=r&&r<=1,(()=>`iouThreshold must be in [0, 1], but was '${r}'`)),re(2===e.rank,(()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`)),re(4===e.shape[1],(()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`)),re(1===t.rank,(()=>"scores must be a 1D tensor")),re(t.shape[0]===i,(()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`)),re(0<=a&&a<=1,(()=>`softNmsSigma must be in [0, 1], but was '${a}'`)),{maxOutputSize:n,iouThreshold:r,scoreThreshold:s,softNmsSigma:a}}const Vp=Ta({nonMaxSuppression_:function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY){const a=Ia(e,"boxes","nonMaxSuppression","float32"),i=Ia(t,"scores","nonMaxSuppression","float32"),o=Bp(a,i,n,r,s),l={maxOutputSize:n=o.maxOutputSize,iouThreshold:r=o.iouThreshold,scoreThreshold:s=o.scoreThreshold};return da.runKernel(Gn,{boxes:a,scores:i},l)}});function Up(e,t,n){const r=function(e,t,n){return function(e,t,n){let r=0,s=e.length,a=0,i=!1;for(;r>>1);const o=n(t,e[a]);o>0?r=a+1:(s=a,i=!o)}return i?r:-r-1}(e,t,n||Wp)}(e,t,n),s=r<0?-(r+1):r;e.splice(s,0,t)}function Wp(e,t){return e>t?1:es&&u.push({score:t[e],boxIndex:e,suppressBeginIndex:0});u.sort(Yp);const c=a>0?-.5/a:0,h=[],p=[];for(;h.length0;){const t=u.pop(),{score:n,boxIndex:a,suppressBeginIndex:i}=t;if(n=i;--n){const i=Kp(e,a,h[n]);if(i>=r){o=!0;break}if(t.score=t.score*Xp(r,c,i),t.score<=s)break}t.suppressBeginIndex=h.length,o||(t.score===n?(h.push(a),p.push(t.score)):t.score>s&&Up(u,t,Yp))}const d=h.length,f=n-d;o&&f>0&&(h.push(...new Array(f).fill(0)),p.push(...new Array(f).fill(0)));const m={selectedIndices:h};return i&&(m.selectedScores=p),l&&(m.validOutputs=d),m}function Kp(e,t,n){const r=e.subarray(4*t,4*t+4),s=e.subarray(4*n,4*n+4),a=Math.min(r[0],r[2]),i=Math.min(r[1],r[3]),o=Math.max(r[0],r[2]),l=Math.max(r[1],r[3]),u=Math.min(s[0],s[2]),c=Math.min(s[1],s[3]),h=Math.max(s[0],s[2]),p=Math.max(s[1],s[3]),d=(o-a)*(l-i),f=(h-u)*(p-c);if(d<=0||f<=0)return 0;const m=Math.max(a,u),g=Math.max(i,c),y=Math.min(o,h),b=Math.min(l,p),x=Math.max(y-m,0)*Math.max(b-g,0);return x/(d+f-x)}function Xp(e,t,n){const r=Math.exp(t*n*n);return n<=e?r:0}function Yp(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}const Zp=Ta({nonMaxSuppressionWithScore_:function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=0){const i=Ia(e,"boxes","nonMaxSuppression"),o=Ia(t,"scores","nonMaxSuppression"),l=Bp(i,o,n,r,s,a),u={boxes:i,scores:o},c={maxOutputSize:n=l.maxOutputSize,iouThreshold:r=l.iouThreshold,scoreThreshold:s=l.scoreThreshold,softNmsSigma:a=l.softNmsSigma},h=da.runKernel(jn,u,c);return{selectedIndices:h[0],selectedScores:h[1]}}}),Jp=Ta({nonMaxSuppressionPadded_:function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=!1){const i=Ia(e,"boxes","nonMaxSuppression"),o=Ia(t,"scores","nonMaxSuppression"),l=Bp(i,o,n,r,s,null),u={boxes:i,scores:o},c={maxOutputSize:l.maxOutputSize,iouThreshold:l.iouThreshold,scoreThreshold:l.scoreThreshold,padToMaxOutputSize:a},h=da.runKernel(Hn,u,c);return{selectedIndices:h[0],validOutputs:h[1]}}}),Qp=Ta({resizeBilinear_:function(e,t,n=!1,r=!1){const s=Ia(e,"images","resizeBilinear");re(3===s.rank||4===s.rank,(()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${s.rank}.`)),re(2===t.length,(()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`)),re(!1===r||!1===n,(()=>"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false."));let a=s,i=!1;3===s.rank&&(i=!0,a=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=t,o={images:a},l={alignCorners:n,halfPixelCenters:r,size:t},u=da.runKernel(lr,o,l);return i?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),ed=Ta({resizeNearestNeighbor_:function(e,t,n=!1,r=!1){const s=Ia(e,"images","resizeNearestNeighbor");re(3===s.rank||4===s.rank,(()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${s.rank}.`)),re(2===t.length,(()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`)),re("float32"===s.dtype||"int32"===s.dtype,(()=>"`images` must have `int32` or `float32` as dtype")),re(!1===r||!1===n,(()=>"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false."));let a=s,i=!1;3===s.rank&&(i=!0,a=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=t,o={images:a},l={alignCorners:n,halfPixelCenters:r,size:t},u=da.runKernel(ir,o,l);return i?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),td=Ta({threshold_:function(e,t="binary",n=!1,r=.5){const s=Ia(e,"image","threshold"),a=s.shape[0]*s.shape[1];let i,o,l,u,c=hl(Jh([r]),255);if(re(3===s.rank,(()=>`Error in threshold: image must be rank 3,but got rank ${s.rank}.`)),re(3===s.shape[2]||1===s.shape[2],(()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${s.shape[2]}.`)),re("int32"===s.dtype||"float32"===s.dtype,(()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${s.dtype}.`)),re("otsu"===t||"binary"===t,(()=>`Method must be binary or otsu, but was ${t}`)),3===s.shape[2]){[i,o,l]=Gh(s,[1,1,1],-1);const e=hl(i,.2989),t=hl(o,.587),n=hl(l,.114);u=ll(ll(e,t),n)}else u=e;"otsu"===t&&(c=function(e,t){let n,r,s,a,i,o,l=Jh([-1]),u=Jh([0]),c=Jh([0]);for(let h=0;h`Error in transform: image must be rank 4,but got rank ${i.rank}.`)),re(2===o.rank&&(o.shape[0]===i.shape[0]||1===o.shape[0])&&8===o.shape[1],(()=>"Error in transform: Input transform should be batch x 8 or 1 x 8")),re(null==a||2===a.length,(()=>`Error in transform: outputShape must be [height, width] or null, but got ${a}.`));const l={image:i,transforms:o},u={interpolation:n,fillMode:r,fillValue:s,outputShape:a};return da.runKernel(Gr,l,u)}}),rd=Ta({bandPart_:function(e,t,n){re(t%1==0,(()=>`bandPart(): numLower must be an integer, got ${t}.`)),re(n%1==0,(()=>`bandPart(): numUpper must be an integer, got ${n}.`));const r=Ia(e,"a","bandPart");re(r.rank>=2,(()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`));const s=r.shape,[a,i]=r.shape.slice(-2);if(!(t<=a))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${a}).`);if(!(n<=i))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${i}).`);t<0&&(t=a),n<0&&(n=i);const o=uu(bh(0,a,1,"int32"),[-1,1]),l=bh(0,i,1,"int32"),u=El(o,l),c=Dc(fc(u,kl(+t,"int32")),oc(u,kl(-n,"int32"))),h=Uc([a,i],r.dtype);return uu(Kh(op(uu(r,[-1,a,i])).map((e=>qu(c,e,h)))),s)}}),sd=Ta({gramSchmidt_:function(e){let t;if(Array.isArray(e)){t=!1,re(null!=e&&e.length>0,(()=>"Gram-Schmidt process: input must not be null, undefined, or empty"));const n=e[0].shape[0];for(let t=1;t`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[t].shape[0]} vs. ${n})`))}else t=!0,e=Gh(e,e.shape[0],0).map((e=>qh(e,[0])));re(e.length<=e[0].shape[0],(()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`));const n=[],r=e;for(let t=0;t{let e=r[t];if(t>0)for(let r=0;r{re(2===e.shape.length,(()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`));const n=e.shape[0],r=e.shape[1];let s=rc(n),a=Ti(e);const i=Qh([[1]],[1,1]);let o=Ti(i);const l=n>=r?r:n;for(let e=0;e{const t=fu(a,[e,e],[n-e,1]),l=dp(t),u=fu(a,[e,e],[1,1]),c=qu(ic(u,0),Qh([[-1]]),Qh([[1]])),h=El(u,hl(c,l)),p=cl(t,h);o=1===p.shape[0]?Ti(i):pu([i,fu(p,[1,0],[p.shape[0]-1,p.shape[1]])],0);const d=xc(cl(Hi(c,h),l)),f=fu(a,[e,0],[n-e,r]),m=hl(d,o),g=qi(o);if(0===e)a=El(f,Hi(m,Hi(g,f)));else{const t=El(f,Hi(m,Hi(g,f)));a=pu([fu(a,[0,0],[e,r]),t],0)}const y=qi(m),b=fu(s,[0,e],[n,s.shape[1]-e]);if(0===e)s=El(b,Hi(Hi(b,o),y));else{const t=El(b,Hi(Hi(b,o),y));s=pu([fu(s,[0,0],[n,e]),t],1)}return[o,a,s]})),Yo([t,l,u])}return!t&&n>r&&(s=fu(s,[0,0],[n,r]),a=fu(a,[0,0],[r,r])),[s,a]}))}const id=Ta({qr_:function(e,t=!1){if(re(e.rank>=2,(()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`)),2===e.rank)return ad(e,t);{const n=e.shape.slice(0,e.shape.length-2).reduce(((e,t)=>e*t)),r=op(uu(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),s=[],a=[];return r.forEach((e=>{const[n,r]=ad(e,t);s.push(n),a.push(r)})),[uu(Kh(s,0),e.shape),uu(Kh(a,0),e.shape)]}}});var od;!function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"}(od||(od={}));const ld=Ta({computeWeightedLoss_:function(e,t,n=od.SUM_BY_NONZERO_WEIGHTS){const r=Ia(e,"losses","computeWeightedLoss");let s=null;null!=t&&(s=Ia(t,"weights","computeWeightedLoss"));const a=null==s?r:hl(r,s);if(n===od.NONE)return a;if(n===od.SUM)return Ic(a);if(n===od.MEAN){if(null==s)return Vc(a);{const e=r.size/s.size,t=cl(Ic(a),Ic(s));return e>1?cl(t,kl(e)):t}}if(n===od.SUM_BY_NONZERO_WEIGHTS){if(null==s)return cl(Ic(a),kl(r.size));{const e=hl(s,Wc(r.shape)),t=Si(Ic(Jc(e,kl(0))),"float32");return cl(Ic(a),t)}}throw Error(`Unknown reduction: ${n}`)}}),ud=Ta({absoluteDifference_:function(e,t,n,r=od.SUM_BY_NONZERO_WEIGHTS){const s=Ia(e,"labels","absoluteDifference"),a=Ia(t,"predictions","absoluteDifference");let i=null;null!=n&&(i=Ia(n,"weights","absoluteDifference")),se(s.shape,a.shape,"Error in absoluteDifference: ");const o=Al(El(s,a));return ld(o,i,r)}}),cd=Ta({cosineDistance_:function(e,t,n,r,s=od.SUM_BY_NONZERO_WEIGHTS){const a=Ia(e,"labels","cosineDistance"),i=Ia(t,"predictions","cosineDistance");let o=null;null!=r&&(o=Ia(r,"weights","cosineDistance")),se(a.shape,i.shape,"Error in cosineDistance: ");const l=kl(1),u=El(l,Ic(hl(a,i),n,!0));return ld(u,o,s)}}),hd=Ta({hingeLoss_:function(e,t,n,r=od.SUM_BY_NONZERO_WEIGHTS){let s=Ia(e,"labels","hingeLoss");const a=Ia(t,"predictions","hingeLoss");let i=null;null!=n&&(i=Ia(n,"weights","hingeLoss")),se(s.shape,a.shape,"Error in hingeLoss: ");const o=kl(1);s=El(hl(kl(2),s),o);const l=vh(El(o,hl(s,a)));return ld(l,i,r)}}),pd=Ta({huberLoss_:function(e,t,n,r=1,s=od.SUM_BY_NONZERO_WEIGHTS){const a=Ia(e,"labels","huberLoss"),i=Ia(t,"predictions","huberLoss");let o=null;null!=n&&(o=Ia(n,"weights","huberLoss")),se(a.shape,i.shape,"Error in huberLoss: ");const l=kl(r),u=Al(El(i,a)),c=jc(u,l),h=El(u,c),p=ll(hl(kl(.5),dl(c)),hl(l,h));return ld(p,o,s)}}),dd=Ta({logLoss_:function(e,t,n,r=1e-7,s=od.SUM_BY_NONZERO_WEIGHTS){const a=Ia(e,"labels","logLoss"),i=Ia(t,"predictions","logLoss");let o=null;null!=n&&(o=Ia(n,"weights","logLoss")),se(a.shape,i.shape,"Error in logLoss: ");const l=kl(1),u=kl(r),c=xc(hl(a,yc(ll(i,u)))),h=hl(El(l,a),yc(ll(El(l,i),u))),p=El(c,h);return ld(p,o,s)}}),fd=Ta({meanSquaredError_:function(e,t,n,r=od.SUM_BY_NONZERO_WEIGHTS){const s=Ia(e,"labels","meanSquaredError"),a=Ia(t,"predictions","meanSquaredError");let i=null;null!=n&&(i=Ia(n,"weights","meanSquaredError")),se(s.shape,a.shape,"Error in meanSquaredError: ");const o=jh(s,a);return ld(o,i,r)}}),md=Ta({sigmoidCrossEntropy_:function(e,t,n,r=0,s=od.SUM_BY_NONZERO_WEIGHTS){let a=Ia(e,"multiClassLabels","sigmoidCrossEntropy");const i=Ia(t,"logits","sigmoidCrossEntropy");let o=null;if(null!=n&&(o=Ia(n,"weights","sigmoidCrossEntropy")),se(a.shape,i.shape,"Error in sigmoidCrossEntropy: "),r>0){const e=kl(r),t=kl(1),n=kl(.5);a=ll(hl(a,El(t,e)),hl(n,e))}const l=function(e,t){const n=Ia(e,"labels","sigmoidCrossEntropyWithLogits"),r=Ia(t,"logits","sigmoidCrossEntropyWithLogits");se(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const s=vh(r),a=hl(r,n),i=bc(Qu(xc(Al(r))));return ll(El(s,a),i)}(a,i);return ld(l,o,s)}}),gd=Ta({softmaxCrossEntropy_:function(e,t,n,r=0,s=od.SUM_BY_NONZERO_WEIGHTS){let a=Ia(e,"onehotLabels","softmaxCrossEntropy");const i=Ia(t,"logits","softmaxCrossEntropy");let o=null;if(null!=n&&(o=Ia(n,"weights","softmaxCrossEntropy")),se(a.shape,i.shape,"Error in softmaxCrossEntropy: "),r>0){const e=kl(r),t=kl(1),n=kl(a.shape[1]);a=ll(hl(a,El(t,e)),cl(e,n))}const l=function(e,t,n=-1){if(-1===n&&(n=t.rank-1),n!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${n}`);return wl(((e,t,r)=>{const s=Fc(t,[n],!0),a=El(Si(t,"float32"),s);r([e,a]);const i=xc(hl(a,e));return{value:Ic(i,[n]),gradFunc:(e,t)=>{const[r,s]=t,a=Ec(e.shape,[n]);return[hl(uu(e,a),El(Si(r,"float32"),Qu(s))),hl(uu(e,a),El(Qu(s),Si(r,"float32")))]}}}))(e,t)}(a,i);return ld(l,o,s)}}),yd=Ta({sparseFillEmptyRows_:function(e,t,n,r){const s=Ia(e,"indices","sparseFillEmptyRows","int32"),a=Ia(t,"values","sparseFillEmptyRows"),i=Ia(n,"denseShape","sparseFillEmptyRows","int32"),o=Ia(r,"defaultValue","sparseFillEmptyRows",a.dtype);if(2!==s.rank)throw new Error(`Indices should be Tensor2D but received shape\n ${s.shape}`);if(1!==a.rank)throw new Error(`Values should be Tensor1D but received shape ${a.shape}`);if(1!==i.rank)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(0!==o.rank)throw new Error(`Default value should be a scalar but received shape ${o.shape}`);const l={indices:s,values:a,denseShape:i,defaultValue:o},u=da.runKernel(Er,l);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}}),bd=Ta({sparseReshape_:function(e,t,n){const r=Ia(e,"inputIndices","sparseReshape","int32"),s=Ia(t,"inputShape","sparseReshape","int32"),a=Ia(n,"newShape","sparseReshape","int32");if(2!==r.rank)throw new Error(`Input indices should be Tensor2D but received shape\n ${r.shape}`);if(1!==s.rank)throw new Error(`Input shape should be Tensor1D but received shape ${s.shape}`);if(1!==a.rank)throw new Error(`New shape should be Tensor1D but received shape ${a.shape}`);const i={inputIndices:r,inputShape:s,newShape:a},o=da.runKernel($r,i);return{outputIndices:o[0],outputShape:o[1]}}}),xd=Ta({sparseSegmentMean_:function(e,t,n){const r=Ia(e,"data","sparseSegmentMean"),s=Ia(t,"indices","sparseSegmentMean","int32"),a=Ia(n,"segmentIds","sparseSegmentMean","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==a.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${a.shape}`);const i={data:r,indices:s,segmentIds:a};return da.runKernel(Ar,i)}}),wd=Ta({sparseSegmentSum_:function(e,t,n){const r=Ia(e,"data","sparseSegmentSum"),s=Ia(t,"indices","sparseSegmentSum","int32"),a=Ia(n,"segmentIds","sparseSegmentSum","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==a.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${a.shape}`);const i={data:r,indices:s,segmentIds:a};return da.runKernel(Rr,i)}}),vd=Ta({stringNGrams_:function(e,t,n,r,s,a,i,o){const l=Ia(e,"data","stringNGrams","string");if("string"!==l.dtype)throw new Error("Data must be of datatype string");if(1!==l.shape.length)throw new Error(`Data must be a vector, saw: ${l.shape}`);const u=Ia(t,"dataSplits","stringNGrams");if("int32"!==u.dtype)throw new Error("Data splits must be of datatype int32");const c={separator:n,nGramWidths:r,leftPad:s,rightPad:a,padWidth:i,preserveShortSequences:o},h={data:l,dataSplits:u},p=da.runKernel(Or,h,c);return{nGrams:p[0],nGramsSplits:p[1]}}}),kd=Ta({stringSplit_:function(e,t,n=!0){const r=Ia(e,"input","stringSplit","string"),s=Ia(t,"delimiter","stringSplit","string");if(1!==r.rank)throw new Error(`Input should be Tensor1D but received shape ${r.shape}`);if(0!==s.rank)throw new Error(`Delimiter should be a scalar but received shape ${s.shape}`);const a={skipEmpty:n},i={input:r,delimiter:s},o=da.runKernel(Lr,i,a);return{indices:o[0],values:o[1],shape:o[2]}}}),Id=Ta({stringToHashBucketFast_:function(e,t){const n=Ia(e,"input","stringToHashBucketFast","string"),r={numBuckets:t};if(t<=0)throw new Error("Number of buckets must be at least 1");const s={input:n};return da.runKernel(zr,s,r)}}),Nd={fft:Vh,ifft:Uh,rfft:Hh,irfft:Wh},Sd={hammingWindow:Mp,hannWindow:Fp,frame:Dp,stft:_p},Td={flipLeftRight:Lp,grayscaleToRGB:zp,resizeNearestNeighbor:ed,resizeBilinear:Qp,rotateWithOffset:Pp,cropAndResize:Op,nonMaxSuppression:Vp,nonMaxSuppressionAsync:async function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY){const a=Ia(e,"boxes","nonMaxSuppressionAsync"),i=Ia(t,"scores","nonMaxSuppressionAsync"),o=Bp(a,i,n,r,s);n=o.maxOutputSize,r=o.iouThreshold,s=o.scoreThreshold;const l=await Promise.all([a.data(),i.data()]),u=l[0],c=l[1],{selectedIndices:h}=Gp(u,c,n,r,s);return a!==e&&a.dispose(),i!==t&&i.dispose(),Jh(h,"int32")},nonMaxSuppressionWithScore:Zp,nonMaxSuppressionWithScoreAsync:async function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=0){const i=Ia(e,"boxes","nonMaxSuppressionAsync"),o=Ia(t,"scores","nonMaxSuppressionAsync"),l=Bp(i,o,n,r,s,a);n=l.maxOutputSize,r=l.iouThreshold,s=l.scoreThreshold,a=l.softNmsSigma;const u=await Promise.all([i.data(),o.data()]),c=u[0],h=u[1],{selectedIndices:p,selectedScores:d}=jp(c,h,n,r,s,a);return i!==e&&i.dispose(),o!==t&&o.dispose(),{selectedIndices:Jh(p,"int32"),selectedScores:Jh(d)}},nonMaxSuppressionPadded:Jp,nonMaxSuppressionPaddedAsync:async function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=!1){const i=Ia(e,"boxes","nonMaxSuppressionAsync"),o=Ia(t,"scores","nonMaxSuppressionAsync"),l=Bp(i,o,n,r,s,null),u=l.maxOutputSize,c=l.iouThreshold,h=l.scoreThreshold,[p,d]=await Promise.all([i.data(),o.data()]),{selectedIndices:f,validOutputs:m}=Hp(p,d,u,c,h,a);return i!==e&&i.dispose(),o!==t&&o.dispose(),{selectedIndices:Jh(f,"int32"),validOutputs:kl(m,"int32")}},threshold:td,transform:nd},Cd={bandPart:rd,gramSchmidt:sd,qr:id},Ed={absoluteDifference:ud,computeWeightedLoss:ld,cosineDistance:cd,hingeLoss:hd,huberLoss:pd,logLoss:dd,meanSquaredError:fd,sigmoidCrossEntropy:md,softmaxCrossEntropy:gd},$d={sparseFillEmptyRows:yd,sparseReshape:bd,sparseSegmentMean:xd,sparseSegmentSum:wd},Ad={stringNGrams:vd,stringSplit:kd,stringToHashBucketFast:Id},Rd={sgd:Ol.sgd,momentum:Ol.momentum,adadelta:Ol.adadelta,adagrad:Ol.adagrad,rmsprop:Ol.rmsprop,adamax:Ol.adamax,adam:Ol.adam},Md="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:"undefined"!=typeof setImmediate?setImmediate:e=>e();function Fd(){return new Promise((e=>Md((()=>e()))))}function Dd(e,t){const n=e[0].length;e.forEach(((e,t)=>{re(e.length===n,(()=>`Error in concat${n}D: rank of tensors[${t}] must be the same as the rank of the rest (${n})`))})),re(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`));const r=e[0];e.forEach(((e,s)=>{for(let a=0;a`Error in concat${n}D: Shape of tensors[${s}] (${e}) does not match the shape of the rest (${r}) along the non-concatenated axis ${s}.`))}))}function _d(e,t){const n=e[0].slice();for(let r=1;r=2*t+1||r%2==1?s.push(r):n.push(r);r.push(...n),r.push(0),r.push(...s)}return r}function Vd(e,t,n,r=!0){const s=[];r?s.push(e[0]/n):s.push(e[0]*n);for(let n=1;n/g;function lf(e,t){const n=((e=e.replace(/\s/g,"")).length-e.replace(of,"").length)/"->".length;if(n<1)throw new Error("Equations without an arrow are not supported.");if(n>1)throw new Error('Equation must contain exactly one arrow ("->").');const[r,s]=e.split("->");re(-1===r.indexOf("..."),(()=>'The ellipsis notation ("...") is not supported yet.'));const a=r.split(","),i=a.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error("Support for more than 2 input tensors is not implemented yet.");const o=[];for(let e=0;e-1!==e.indexOf(t))))throw new Error(`Output subscripts contain the label ${t} not present in the input subscripts.`);-1===o.indexOf(t)&&o.push(t)}for(let e=0;e-1!==e)),{permutationIndices:n,expandDims:r}}function cf(e,t,n){const r=new Array(e);for(let e=0;e`Expected dimension ${r[t[e][n]]} at axis ${n} of input shaped ${JSON.stringify(s)}, but got dimension ${s[n]}`))}}function hf(e,t){const n=e,r=[];let s=0;0===e.length&&n.push(-1),s=e.length+1;for(let e=0;ee===t))}function df(e,t){const n=[];for(let r=0;r"Number of splits must evenly divide the axis.")),r=new Array(t).fill(e.shape[n]/t);else{re(t.reduce(((e,t)=>(-1===t&&(e+=1),e)),0)<=1,(()=>"There should be only one negative value in split array."));const s=t.indexOf(-1);if(-1!==s){const r=t.reduce(((e,t)=>t>0?e+t:e));t[s]=e.shape[n]-r}re(e.shape[n]===t.reduce(((e,t)=>e+t)),(()=>"The sum of sizes must match the size of the axis dimension.")),r=t}return r}function mf(e){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${e}`}function gf(e,t){return`indices(${e}, 0) is invalid: ${t} < 0`}function yf(e,t,n){return`indices(${e}, 0) is invalid: ${t} >= ${n}`}function bf(e,t){return`only one output dimension may be -1, not both ${e} and ${t}`}function xf(e,t){return`size ${e} must be non-negative, not ${t}`}function wf(){return"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero"}function vf(e,t){return`Input to reshape is a SparseTensor with ${oe(e)}\n dense values, but the requested shape requires a multiple of ${oe(t)}. inputShape=${e} outputShape= ${t}`}function kf(e,t){return`Input to reshape is a tensor with ${oe(e)} dense values, but the requested shape has ${oe(t)}. inputShape=${e} outputShape=${t}`}function If(){return"segment ids must be >= 0"}function Nf(){return"segment ids are not increasing"}function Sf(e,t){return`Segment id ${e} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function Tf(e,t,n){return`Bad: indices[${e}] == ${t} out of range [0, ${n})`}function Cf(e,t){let n,r=!1;for(e<=Od?(n=e,r=!0):n=Me(e,Math.floor(Math.sqrt(e)));!r;)n>t||n===e?r=!0:n=Me(e,n+1);return n}function Ef(e,t,n){const r=[],s=e.length;for(let a=0;as))throw new Error(`Expect batchDims in the range of [-${s}, ${s}], but got ${r}`);if(r<0&&(r+=s),r>a)throw new Error(`batchDims (${r}) must be less than rank(x) (\n ${a}).`);if(nDs(e)))}catch(e){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`)}}function Rf(e){return e.map((e=>Fs(e)))}const Mf={kernelName:Ye,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,Xh(Si(n,"float32"),-1))}}},Ff={kernelName:Ze,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=dl(Si(n,"float32")),r=pl(El(kl(1),t));return xc(cl(e,r))}}}},Df={kernelName:Je,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=pl(El(dl(Si(n,"float32")),1));return cl(e,t)}}}},_f={kernelName:Qe,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{let t=e;const r=Yi(n.shape,s);return r.length>0&&(t=Ic(t,r)),uu(t,n.shape)},b:()=>{let t=e;const n=Yi(r.shape,s);return n.length>0&&(t=Ic(t,n)),uu(t,r.shape)}}}},Of={kernelName:et,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach(((t,r)=>{n[r]=()=>e.clone()})),n}},Lf={kernelName:rt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>fl(n)}}},zf={kernelName:st,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>fl(n)}}},Pf={kernelName:at,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,pl(El(kl(1),dl(Si(n,"float32")))))}}},Bf={kernelName:it,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=pl(ll(kl(1),dl(Si(n,"float32"))));return cl(e,t)}}}},Vf={kernelName:ut,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=ll(dl(n),dl(r));let a=hl(e,cl(r,t));const i=Yi(n.shape,s);return i.length>0&&(a=Ic(a,i)),uu(a,n.shape)},b:()=>{const t=ll(dl(n),dl(r));let a=xc(hl(e,cl(n,t)));const i=Yi(r.shape,s);return i.length>0&&(a=Ic(a,i)),uu(a,r.shape)}}}},Uf={kernelName:ot,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,ll(dl(Si(n,"float32")),1))}}},Wf={kernelName:lt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,El(kl(1),dl(Si(n,"float32"))))}}},Gf=Ta({avgPool3dGrad_:function(e,t,n,r,s,a){const i=Ia(e,"dy","avgPool3dGrad"),o=Ia(t,"input","avgPool3dGrad");let l=i,u=o,c=!1;4===o.rank&&(c=!0,l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),re(5===l.rank,(()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`)),re(5===u.rank,(()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`)),lu("avgPool3dGrad",s,a);const h={dy:l,input:u},p={filterSize:n,strides:r,pad:s,dimRoundingMode:a},d=da.runKernel(dt,h,p);return c?uu(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}}),Hf={kernelName:pt,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:s,strides:a,pad:i,dimRoundingMode:o}=n;return{x:()=>Gf(e,r,s,a,i,o)}}},jf=Ta({avgPoolGrad_:function(e,t,n,r,s){const a=Ia(e,"dy","avgPoolGrad"),i=Ia(t,"input","avgPoolGrad");re(i.rank===a.rank,(()=>`Rank of input (${i.rank}) does not match rank of dy (${a.rank})`));let o=i,l=a,u=!1;3===i.rank&&(u=!0,o=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]])),re(4===l.rank,(()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`)),re(4===o.rank,(()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${o.rank}.`));const c={dy:l,input:o},h={filterSize:n,strides:r,pad:s},p=da.runKernel(ht,c,h);return u?uu(p,[p.shape[1],p.shape[2],p.shape[3]]):p}}),qf={kernelName:ct,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:s,strides:a,pad:i}=n;return{x:()=>jf(e,r,s,a,i)}}},Kf={kernelName:ft,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[r,s]=t,{transposeA:a,transposeB:i}=n;return a||i?!a&&i?{a:()=>Hi(e,s,!1,!1),b:()=>Hi(e,r,!0,!1)}:a&&!i?{a:()=>Hi(s,e,!1,!0),b:()=>Hi(r,e,!1,!1)}:{a:()=>Hi(s,e,!0,!0),b:()=>Hi(e,r,!0,!0)}:{a:()=>Hi(e,s,!1,!0),b:()=>Hi(r,e,!0,!1)}}},Xf={kernelName:mt,gradFunc:(e,t,n)=>{const{blockShape:r,crops:s}=n;return{x:()=>ih(e,r,s)}}},Yf={kernelName:yt,gradFunc:(e,t,n)=>{const r=n,s=r.inputShape,a=r.shape,i=Array.from(a);for(let e=s.length-1;e>=0;e--)if(s[e]===a[e])i[e]=1;else if(1!==s[e])throw new Error(`broadcastTo(): [${s}] cannot be broadcast to [${a}].`);const o=[];for(let e=0;e1&&o.push(e);return{x:()=>Ic(e,o,!0)}}},Zf={kernelName:xt,gradFunc:e=>({x:()=>e.clone()})},Jf={kernelName:wt,gradFunc:e=>({x:()=>fl(e)})},Qf={kernelName:vt,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{clipValueMin:s,clipValueMax:a}=n;return{x:()=>qu(Dc(oc(r,s),fc(r,a)),e,fl(e))}}},em={kernelName:It,inputsToSave:["x"],gradFunc:Mf.gradFunc},tm={kernelName:Nt,saveAllInputs:!0,gradFunc:(e,t,n)=>{const r=t.map((e=>e.shape)),{axis:s}=n,a=ye(s,t[0].shape)[0],i=r.map((e=>e[a]));return Gh(e,i,a).map((e=>()=>e))}},nm={kernelName:St,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,s]=t,{dilations:a,strides:i,pad:o,dataFormat:l}=n;return re(au(a),(()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${a}'`)),{x:()=>Fu(r.shape,e,s,i,o,l),filter:()=>kp(r,e,s.shape,i,o,l)}}},rm={kernelName:Ct,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[r,s]=t,{strides:a,pad:i,dataFormat:o,dimRoundingMode:l}=n;return{dy:()=>Ru(e,s,a,i,o,1,l),filter:()=>kp(e,r,s.shape,a,i,o,l)}}},sm=Ta({conv3DBackpropFilter_:function(e,t,n,r,s){let a=e;4===e.rank&&(a=uu(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let i=t;4===i.rank&&(i=uu(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),re(5===a.rank,(()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${a.shape}.`)),re(5===i.rank,(()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${i.shape}.`)),re(5===n.length,(()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`)),re(a.shape[4]===n[3],(()=>`Error in conv3dDerFilter: depth of input ${a.shape[4]}) must match input depth in filter (${n[3]}.`)),re(i.shape[4]===n[4],(()=>`Error in conv3dDerFilter: depth of dy (${i.shape[4]}) must match output depth for filter (${n[4]}).`));const o={x:a,dy:i},l={strides:r,pad:s,filterShape:n};return da.runKernel($t,o,l)}}),am={kernelName:Et,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:s,pad:a}=n;re(au(r),(()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`));const[i,o]=t;return{x:()=>Ou(i.shape,e,o,s,a),filter:()=>sm(i,e,o.shape,s,a)}}},im={kernelName:Rt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(xc(Dh(Si(n,"float32"))),e)}}},om={kernelName:Mt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(_h(Si(n,"float32")),e)}}},lm={kernelName:Ft,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:s,exclusive:a,reverse:i}=n;return{x:()=>{const t=Ac([s],r.rank);let n=Bu(e,s,a,!i);return null!=t&&(n=qi(n,t)),n}}}},um={kernelName:Lt,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:s,pad:a,dimRoundingMode:i}=n,o=null==r?[1,1]:r;re(au(o),(()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${o}'`));const[l,u]=t;return re(4===l.rank,(()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`)),re(4===u.rank,(()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`)),re(l.shape[3]===u.shape[2],(()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`)),re(iu(s,o),(()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'.`)),lu("depthwiseConv2d",a,i),{x:()=>$p(l.shape,e,u,s,a,o,i),filter:()=>Ep(l,e,u.shape,s,a,o,i)}}},cm={kernelName:Vt,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,s]=t,a={x:r,filter:s,dy:e},i={x:r,filter:s,dy:e};return{x:()=>da.runKernel(Ut,a,n),filter:()=>da.runKernel(Wt,i,n)}}},hm={kernelName:jt,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,r={dy:e,y:n};return{x:()=>da.runKernel(qt,r)}}},pm={kernelName:Kt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=hl(Qu(xc(dl(n))),2/Math.sqrt(Math.PI));return{x:()=>hl(e,r)}}},dm={kernelName:Yt,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,n)}}},fm={kernelName:Zt,inputsToSave:["input"],gradFunc:(e,t)=>{const[n]=t;return{input:()=>uu(e,n.shape)}}},mm={kernelName:Jt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,Qu(n))}}},gm={kernelName:nn,gradFunc:e=>({x:()=>fl(e)})},ym={kernelName:rn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=cl(e,Si(r,"float32")),a=Yi(n.shape,s);return a.length>0?uu(Ic(t,a),n.shape):t},b:()=>{let t=hl(e,Si(n,"float32"));const a=Yi(r.shape,s);a.length>0&&(t=uu(Ic(t,a),r.shape));const i=dl(r);return xc(cl(t,Si(i,"float32")))}}}},bm={kernelName:sn,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:r}=n,[s,a,i,o]=t,l=null==o?kl(1):o,u=Yi(a.shape,s.shape),c=[];if(1===a.rank){for(let e=0;e1===a.rank?uu(hl(hl(e,nc(uu(d,[1,1,1,a.shape[0]]),c)),l),s.shape):uu(hl(hl(e,d),l),s.shape),mean:()=>{let e=hl(hl(d,kl(-1)),p);return 1===a.rank&&(e=Ic(e,u)),uu(e,a.shape)},variance:()=>{let e=hl(hl(f,h),p);return 1===a.rank&&(e=Ic(e,u)),uu(e,a.shape)},scale:()=>{const t=hl(h,d);let n=hl(e,t);return 1===a.rank&&(n=Ic(n,u)),uu(n,a.shape)},offset:()=>{let t=e;return 1===a.rank&&(t=Ic(t,u)),uu(t,a.shape)}}}},xm={kernelName:an,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[r,s]=t,{axis:a}=n,i=ye(a,r.shape)[0];return{x:()=>{const t=r.shape,n=s.size,o=t.slice(0,i),l=o.length,u=t.slice(a,t.length).slice(1),c=u.length,h=wm(0,l),p=wm(l+1,l+1+c),d=vm([o,[n],u]),f=uu(e,d),m=uu(s,[n]),g=vm([[l],h,p]),y=qi(f,g);let b=ip(y,m,r.shape[i]);const x=Rc(g);return b=qi(b,x),b},indices:()=>s}}};function wm(e,t){const n=[];for(let r=e;r{const[n,r]=t;return{a:()=>fl(n),b:()=>fl(r)}}},Im={kernelName:cn,gradFunc:e=>({x:()=>Si(e,"float32")})},Nm={kernelName:dn,gradFunc:e=>({x:()=>fl(e)})},Sm={kernelName:fn,gradFunc:e=>({x:()=>fl(e)})},Tm={kernelName:mn,gradFunc:e=>({x:()=>fl(e)})},Cm={kernelName:gn,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{alpha:s}=n,a=ic(r,0);return{x:()=>qu(a,e,hl(e,s))}}},Em={kernelName:vn,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,ll(n,1))}}},$m={kernelName:wn,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,Si(n,"float32"))}}},Am={kernelName:Sn,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{axis:s}=n;return{logits:()=>{const t=Qu(r);return El(e,hl(Ic(e,s,!0),t))}}}},Rm=Ta({localResponseNormalizationBackprop_:function(e,t,n,r=5,s=1,a=1,i=.5){const o={x:e,y:t,dy:n},l={depthRadius:r,bias:s,alpha:a,beta:i};return da.runKernel(Cn,o,l)}}),Mm={kernelName:Tn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,s]=t,{depthRadius:a,bias:i,alpha:o,beta:l}=n;return{x:()=>Rm(r,s,e,a,i,o,l)}}};function Fm(e,t,n,r){return t.rankhl(e,Si(ju(n,t),e.dtype))}}const Dm={kernelName:En,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{reductionIndices:s}=r,a=t[0],i=Fm(e,t[1],a,ye(s,a.shape));return{x:()=>i.x()}}},_m={kernelName:$n,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t;return{a:()=>hl(e,Si(oc(n,r),"float32")),b:()=>hl(e,Si(dc(n,r),"float32"))}}},Om=Ta({maxPool3dGrad_:function(e,t,n,r,s,a,i){const o=Ia(e,"dy","maxPool3dGrad"),l=Ia(t,"input","maxPool3dGrad"),u=Ia(n,"output","maxPool3dGrad");let c=o,h=l,p=u,d=!1;4===l.rank&&(d=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),p=uu(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),re(5===c.rank,(()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`)),re(5===h.rank,(()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${h.rank}.`)),re(5===p.rank,(()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${p.rank}.`)),lu("maxPool3dGrad",a,i);const f={dy:c,input:h,output:p},m={filterSize:r,strides:s,pad:a,dimRoundingMode:i},g=da.runKernel(Fn,f,m);return d?uu(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),Lm={kernelName:Mn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,s]=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=n;return{x:()=>Om(e,r,s,a,i,o,l)}}},zm=Ta({maxPoolGrad_:function(e,t,n,r,s,a,i){const o=Ia(e,"dy","maxPoolGrad"),l=Ia(t,"input","maxPoolGrad"),u=Ia(n,"output","maxPoolGrad");re(l.rank===o.rank,(()=>`Rank of input (${l.rank}) does not match rank of dy (${o.rank})`)),re(4===o.rank,(()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${o.rank}.`)),re(4===l.rank,(()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`)),lu("maxPoolGrad",a,i);const c={dy:o,input:l,output:u},h={filterSize:r,strides:s,pad:a,dimRoundingMode:i};return da.runKernel(Rn,c,h)}}),Pm={kernelName:Yn,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:s}=n,a=s.map((e=>e[0]));return{x:()=>fu(e,a,r.shape)}}},Bm={kernelName:Sr,gradFunc:(e,t,n)=>{const{blockShape:r,paddings:s}=n;return{x:()=>yu(e,r,s)}}},Vm={kernelName:Tr,gradFunc:(e,t,n)=>{const{axis:r}=n;return{x:()=>pu(e,r)}}},Um=[Mf,Ff,Df,_f,Of,Lf,zf,Pf,Bf,Vf,Uf,Wf,Hf,qf,Kf,Xf,Yf,Zf,Jf,Qf,em,tm,rm,nm,am,im,om,lm,um,cm,{kernelName:Gt,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=cl(e,Si(r,"float32")),a=Yi(n.shape,s);return a.length>0?uu(Ic(t,a),n.shape):t},b:()=>{let t=hl(e,Si(n,"float32"));const a=Yi(r.shape,s);a.length>0&&(t=uu(Ic(t,a),r.shape));const i=dl(r);return xc(cl(t,Si(i,"float32")))}}}},hm,pm,dm,fm,mm,ym,gm,bm,xm,km,Im,Nm,Sm,Tm,Cm,Em,$m,Am,Mm,Dm,Dm,_m,Lm,{kernelName:An,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,s]=t,{filterSize:a,strides:i,pad:o}=n;return{x:()=>zm(e,r,s,a,i,o)}}},{kernelName:_n,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:s}=n,a=ye(s,r.shape),i=oe(Cc(r.shape,a)[1]);return{x:()=>{const t=r.shape.slice();a.forEach((e=>{t[e]=1}));const n=uu(e,t);return cl(hl(n,Wc(r.shape,"float32")),i)}}}},{kernelName:On,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{axis:s}=r,[a,i]=t,o=Fm(e,i,a,ye(s,a.shape));return{x:()=>o.x()}}},{kernelName:Ln,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t;return{a:()=>hl(e,Si(fc(n,r),"float32")),b:()=>hl(e,Si(ic(n,r),"float32"))}}},{kernelName:zn,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:s}=n,a=s.map((e=>e[0]));return{x:()=>fu(e,a,r.shape)}}},{kernelName:Pn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=Yi(n.shape,s);return t.length>0?uu(Ic(e,t),n.shape):e},b:()=>{const t=hl(e,xc(sc(cl(n,r)))),a=Yi(r.shape,s);return a.length>0?uu(Ic(t,a),r.shape):t}}}},{kernelName:Vn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=hl(e,Si(r,"float32")),a=Yi(n.shape,s);return a.length>0?uu(Ic(t,a),n.shape):t},b:()=>{const t=hl(e,Si(n,"float32")),a=Yi(r.shape,s);return a.length>0?uu(Ic(t,a),r.shape):t}}}},{kernelName:Un,gradFunc:e=>({x:()=>xc(e)})},{kernelName:Kn,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>Uc(n.shape,"float32")}}},{kernelName:qn,gradFunc:e=>({x:()=>fl(e)})},{kernelName:Xn,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:r}=n;return op(e,r).map((e=>()=>e))}},Pm,Pm,{kernelName:Jn,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,r,s]=t,a=n,i=r,o=Zi(a.shape,i.shape);return{a:()=>{const t=Si(i,"float32");let n=hl(e,hl(t,Cl(a,El(t,kl(1)))));const r=Yi(a.shape,o);return r.length>0&&(n=Ic(n,r)),uu(n,a.shape)},b:()=>{const t=ic(a,0),n=qu(t,yc(a),fl(a));let r=hl(e,hl(s,n));const l=Yi(i.shape,o);return l.length>0&&(r=Ic(r,l)),uu(r,i.shape)}}}},{kernelName:Qn,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,r]=t,s=ic(n,0);return{x:()=>qu(s,e,hl(e,r)),alpha:()=>{let t=qu(s,fl(e),hl(e,n));const a=Yi(r.shape,e.shape);return a.length>0&&(t=Ic(t,a)),uu(t,r.shape)}}}},{kernelName:rr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,xc(dl(n)))}}},{kernelName:cr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=hl(fc(n,6),Xh(n));return{x:()=>hl(e,Si(r,"float32"))}}},{kernelName:sr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,Si(Xh(n),"float32"))}}},{kernelName:ar,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>uu(e,n.shape)}}},{kernelName:lr,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,s={dy:e,images:r};return{images:()=>da.runKernel(ur,s,n)}}},{kernelName:ir,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,s={dy:e,images:r};return{images:()=>da.runKernel(or,s,n)}}},{kernelName:hr,gradFunc:(e,t,n)=>{const{dims:r}=n,s=ye(r,e.shape);return{x:()=>Ih(e,s)}}},{kernelName:pr,gradFunc:e=>({x:()=>fl(e)})},{kernelName:dr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>xc(cl(e,hl(Cl(n,1.5),2)))}}},{kernelName:mr,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>Si(fl(n),"float32"),t:()=>hl(e,Si(n,e.dtype)),e:()=>hl(e,Si(_c(n),e.dtype))}}},{kernelName:gr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=ic(n,kl(0)),r=kl(Gd),s=kl(Hd),a=hl(e,s),i=hl(hl(e,r),Qu(Si(n,"float32")));return qu(t,a,i)}}}},{kernelName:vr,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,hl(n,El(kl(1),n)))}}},{kernelName:wr,gradFunc:e=>({x:()=>fl(e)})},{kernelName:br,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(zu(Si(n,"float32")),e)}}},{kernelName:xr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(Pu(Si(n,"float32")),e)}}},{kernelName:yr,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{begin:s,size:a}=n,i=r.shape,[o,l]=Io(r,s,a),u=[];for(let t=0;tth(e,u)}}},{kernelName:Cr,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{dim:s}=n,a=hl(e,r);return{logits:()=>El(a,hl(Ic(a,[s],!0),r))}}},{kernelName:kr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,du(n))}}},Bm,Bm,Vm,Vm,{kernelName:Ir,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,hl(pl(Si(n,"float32")),2))}}},{kernelName:Fr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=kl(2);return{a:()=>hl(e,hl(s,El(n,r))),b:()=>hl(e,hl(s,El(r,n)))}}},{kernelName:Dr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,hl(Si(n,"float32"),2))}}},{kernelName:Yr,gradFunc:e=>({x:()=>fl(e)})},{kernelName:Pr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{let t=e;const r=Yi(n.shape,s);return r.length>0&&(t=Ic(t,r)),uu(t,n.shape)},b:()=>{let t=e;const n=Yi(r.shape,s);return n.length>0&&(t=Ic(t,n)),uu(xc(t),r.shape)}}}},{kernelName:Nr,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,s=r.shape.slice(),{axis:a}=n;ye(a,r.shape).forEach((e=>{s[e]=1}));const i=uu(e,s),o=hl(i,Wc(r.shape,"float32"));return{x:()=>o}}},{kernelName:Br,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,dl(zu(n)))}}},{kernelName:Vr,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(El(kl(1),dl(n)),e)}}},{kernelName:Ur,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{reps:s}=n;return{x:()=>{let t=fl(r);if(1===r.rank)for(let n=0;n{const r=n,{perm:s}=r,a=Rc(s);return{x:()=>qi(e,a)}}},{kernelName:qr,gradFunc:(e,t,n)=>{const r=n,{axis:s}=r;return{value:()=>Kh(e,s)}}},{kernelName:Kr,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>function(e,t){const n=Rl(t,fl(t)),r=ac(e,n);let s=oc(t,kl(0,"int32"));const a=r.rank-s.rank;for(let e=0;e({x:()=>fl(e)})}];for(const e of Um)cs(e);let Wm;function Gm(){return null==Wm&&(Wm=il().epsilon()),Wm}Ks().prototype.abs=function(){return this.throwIfDisposed(),Al(this)},Ks().prototype.acos=function(){return this.throwIfDisposed(),Ll(this)},Ks().prototype.acosh=function(){return this.throwIfDisposed(),zl(this)},Ks().prototype.add=function(e){return this.throwIfDisposed(),ll(this,e)},Ks().prototype.all=function(e,t){return this.throwIfDisposed(),Bl(this,e,t)},Ks().prototype.any=function(e,t){return this.throwIfDisposed(),Vl(this,e,t)},Ks().prototype.argMax=function(e){return this.throwIfDisposed(),Ul(this,e)},Ks().prototype.argMin=function(e){return this.throwIfDisposed(),Wl(this,e)},Ks().prototype.asScalar=function(){return this.throwIfDisposed(),re(1===this.size,(()=>"The array must have only 1 element.")),uu(this,[])},Ks().prototype.asType=function(e){return this.throwIfDisposed(),Si(this,e)},Ks().prototype.as1D=function(){return this.throwIfDisposed(),uu(this,[this.size])},Ks().prototype.as2D=function(e,t){return this.throwIfDisposed(),uu(this,[e,t])},Ks().prototype.as3D=function(e,t,n){return this.throwIfDisposed(),uu(this,[e,t,n])},Ks().prototype.as4D=function(e,t,n,r){return this.throwIfDisposed(),uu(this,[e,t,n,r])},Ks().prototype.as5D=function(e,t,n,r,s){return this.throwIfDisposed(),uu(this,[e,t,n,r,s])},Ks().prototype.asin=function(){return this.throwIfDisposed(),Gl(this)},Ks().prototype.asinh=function(){return this.throwIfDisposed(),Hl(this)},Ks().prototype.atan=function(){return this.throwIfDisposed(),jl(this)},Ks().prototype.atan2=function(e){return this.throwIfDisposed(),ql(this,e)},Ks().prototype.atanh=function(){return this.throwIfDisposed(),Kl(this)},Ks().prototype.avgPool=function(e,t,n,r){return this.throwIfDisposed(),cu(this,e,t,n,r)},Ks().prototype.batchToSpaceND=function(e,t){return this.throwIfDisposed(),yu(this,e,t)},Ks().prototype.batchNorm=function(e,t,n,r,s){return this.throwIfDisposed(),bu(this,e,t,n,r,s)},Ks().prototype.broadcastTo=function(e){return this.throwIfDisposed(),Nu(this,e)},Ks().prototype.cast=function(e){return this.throwIfDisposed(),Si(this,e)},Ks().prototype.ceil=function(){return this.throwIfDisposed(),Su(this)},Ks().prototype.clipByValue=function(e,t){return this.throwIfDisposed(),Tu(this,e,t)},Ks().prototype.concat=function(e,t){return this.throwIfDisposed(),e instanceof qs&&(e=[e]),pu([this,...e],t)},Ks().prototype.conv1d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Mu(this,e,t,n,r,s,a)},Ks().prototype.conv2dTranspose=function(e,t,n,r,s){return this.throwIfDisposed(),Du(this,e,t,n,r,s)},Ks().prototype.conv2d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Ru(this,e,t,n,r,s,a)},Ks().prototype.cos=function(){return this.throwIfDisposed(),zu(this)},Ks().prototype.cosh=function(){return this.throwIfDisposed(),Pu(this)},Ks().prototype.cumsum=function(e,t,n){return this.throwIfDisposed(),Bu(this,e,t,n)},Ks().prototype.depthToSpace=function(e,t){return this.throwIfDisposed(),Uu(this,e,t)},Ks().prototype.depthwiseConv2d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Wu(this,e,t,n,r,s,a)},Ks().prototype.dilation2d=function(e,t,n,r,s){return this.throwIfDisposed(),Hu(this,e,t,n,r,s)},Ks().prototype.divNoNan=function(e){return this.throwIfDisposed(),Ku(this,e)},Ks().prototype.div=function(e){return this.throwIfDisposed(),cl(this,e)},Ks().prototype.dot=function(e){return this.throwIfDisposed(),Xu(this,e)},Ks().prototype.elu=function(){return this.throwIfDisposed(),Zu(this)},Ks().prototype.equal=function(e){return this.throwIfDisposed(),ju(this,e)},Ks().prototype.erf=function(){return this.throwIfDisposed(),Ju(this)},Ks().prototype.exp=function(){return this.throwIfDisposed(),Qu(this)},Ks().prototype.expandDims=function(e){return this.throwIfDisposed(),ec(this,e)},Ks().prototype.expm1=function(){return this.throwIfDisposed(),tc(this)},Ks().prototype.fft=function(){return this.throwIfDisposed(),Vh(this)},Ks().prototype.flatten=function(){return this.throwIfDisposed(),uu(this,[this.size])},Ks().prototype.floor=function(){return this.throwIfDisposed(),sc(this)},Ks().prototype.floorDiv=function(e){return this.throwIfDisposed(),ul(this,e)},Ks().prototype.gather=function(e,t){return this.throwIfDisposed(),ac(this,e,t)},Ks().prototype.greaterEqual=function(e){return this.throwIfDisposed(),oc(this,e)},Ks().prototype.greater=function(e){return this.throwIfDisposed(),ic(this,e)},Ks().prototype.ifft=function(){return this.throwIfDisposed(),Uh(this)},Ks().prototype.irfft=function(){return this.throwIfDisposed(),Wh(this)},Ks().prototype.isFinite=function(){return this.throwIfDisposed(),uc(this)},Ks().prototype.isInf=function(){return this.throwIfDisposed(),cc(this)},Ks().prototype.isNaN=function(){return this.throwIfDisposed(),hc(this)},Ks().prototype.leakyRelu=function(e){return this.throwIfDisposed(),pc(this,e)},Ks().prototype.lessEqual=function(e){return this.throwIfDisposed(),fc(this,e)},Ks().prototype.less=function(e){return this.throwIfDisposed(),dc(this,e)},Ks().prototype.localResponseNormalization=function(e,t,n,r){return this.throwIfDisposed(),gc(this,e,t,n,r)},Ks().prototype.logSigmoid=function(){return this.throwIfDisposed(),vc(this)},Ks().prototype.logSoftmax=function(e){return this.throwIfDisposed(),Nc(this,e)},Ks().prototype.logSumExp=function(e,t){return this.throwIfDisposed(),Fc(this,e,t)},Ks().prototype.log=function(){return this.throwIfDisposed(),yc(this)},Ks().prototype.log1p=function(){return this.throwIfDisposed(),bc(this)},Ks().prototype.logicalAnd=function(e){return this.throwIfDisposed(),Dc(this,e)},Ks().prototype.logicalNot=function(){return this.throwIfDisposed(),_c(this)},Ks().prototype.logicalOr=function(e){return this.throwIfDisposed(),Oc(this,e)},Ks().prototype.logicalXor=function(e){return this.throwIfDisposed(),Lc(this,e)},Ks().prototype.matMul=function(e,t,n){return this.throwIfDisposed(),Hi(this,e,t,n)},Ks().prototype.maxPool=function(e,t,n,r){return this.throwIfDisposed(),zc(this,e,t,n,r)},Ks().prototype.max=function(e,t){return this.throwIfDisposed(),kc(this,e,t)},Ks().prototype.maximum=function(e){return this.throwIfDisposed(),Rl(this,e)},Ks().prototype.mean=function(e,t){return this.throwIfDisposed(),Vc(this,e,t)},Ks().prototype.min=function(e,t){return this.throwIfDisposed(),Hc(this,e,t)},Ks().prototype.minimum=function(e){return this.throwIfDisposed(),jc(this,e)},Ks().prototype.mirrorPad=function(e,t){return this.throwIfDisposed(),qc(this,e,t)},Ks().prototype.mod=function(e){return this.throwIfDisposed(),Kc(this,e)},Ks().prototype.mul=function(e){return this.throwIfDisposed(),hl(this,e)},Ks().prototype.neg=function(){return this.throwIfDisposed(),xc(this)},Ks().prototype.norm=function(e,t,n){return this.throwIfDisposed(),dp(this,e,t,n)},Ks().prototype.notEqual=function(e){return this.throwIfDisposed(),Jc(this,e)},Ks().prototype.oneHot=function(e,t=1,n=0){return this.throwIfDisposed(),ji(this,e,t,n)},Ks().prototype.onesLike=function(){return this.throwIfDisposed(),Qc(this)},Ks().prototype.pad=function(e,t){return this.throwIfDisposed(),th(this,e,t)},Ks().prototype.pool=function(e,t,n,r,s,a){return this.throwIfDisposed(),oh(this,e,t,n,r,s,a)},Ks().prototype.pow=function(e){return this.throwIfDisposed(),Cl(this,e)},Ks().prototype.prelu=function(e){return this.throwIfDisposed(),lh(this,e)},Ks().prototype.prod=function(e,t){return this.throwIfDisposed(),uh(this,e,t)},Ks().prototype.reciprocal=function(){return this.throwIfDisposed(),wh(this)},Ks().prototype.relu=function(){return this.throwIfDisposed(),vh(this)},Ks().prototype.relu6=function(){return this.throwIfDisposed(),kh(this)},Ks().prototype.reshapeAs=function(e){return this.throwIfDisposed(),uu(this,e.shape)},Ks().prototype.reshape=function(e){return this.throwIfDisposed(),uu(this,e)},Ks().prototype.resizeBilinear=function(e,t,n){return this.throwIfDisposed(),Qp(this,e,t,n)},Ks().prototype.resizeNearestNeighbor=function(e,t,n){return this.throwIfDisposed(),ed(this,e,t,n)},Ks().prototype.reverse=function(e){return this.throwIfDisposed(),Ih(this,e)},Ks().prototype.rfft=function(){return this.throwIfDisposed(),Hh(this)},Ks().prototype.round=function(){return this.throwIfDisposed(),Eh(this)},Ks().prototype.rsqrt=function(){return this.throwIfDisposed(),$h(this)},Ks().prototype.selu=function(){return this.throwIfDisposed(),Ah(this)},Ks().prototype.separableConv2d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Rh(this,e,t,n,r,s,a)},Ks().prototype.sigmoid=function(){return this.throwIfDisposed(),du(this)},Ks().prototype.sign=function(){return this.throwIfDisposed(),Fh(this)},Ks().prototype.sin=function(){return this.throwIfDisposed(),Dh(this)},Ks().prototype.sinh=function(){return this.throwIfDisposed(),_h(this)},Ks().prototype.slice=function(e,t){return this.throwIfDisposed(),fu(this,e,t)},Ks().prototype.softmax=function(e){return this.throwIfDisposed(),Bh(this,e)},Ks().prototype.softplus=function(){return this.throwIfDisposed(),wc(this)},Ks().prototype.spaceToBatchND=function(e,t){return this.throwIfDisposed(),ih(this,e,t)},Ks().prototype.split=function(e,t){return this.throwIfDisposed(),Gh(this,e,t)},Ks().prototype.sqrt=function(){return this.throwIfDisposed(),pl(this)},Ks().prototype.square=function(){return this.throwIfDisposed(),dl(this)},Ks().prototype.squaredDifference=function(e){return this.throwIfDisposed(),jh(this,e)},Ks().prototype.squeeze=function(e){return this.throwIfDisposed(),qh(this,e)},Ks().prototype.stack=function(e,t){this.throwIfDisposed();const n=e instanceof qs?[this,e]:[this,...e];return Kh(n,t)},Ks().prototype.step=function(e){return this.throwIfDisposed(),Xh(this,e)},Ks().prototype.stridedSlice=function(e,t,n,r,s,a,i,o){return this.throwIfDisposed(),Yh(this,e,t,n,r,s,a,i,o)},Ks().prototype.sub=function(e){return this.throwIfDisposed(),El(this,e)},Ks().prototype.sum=function(e,t){return this.throwIfDisposed(),Ic(this,e,t)},Ks().prototype.tan=function(){return this.throwIfDisposed(),Zh(this)},Ks().prototype.tanh=function(){return this.throwIfDisposed(),mu(this)},Ks().prototype.tile=function(e){return this.throwIfDisposed(),nc(this,e)},Ks().prototype.toBool=function(){return this.throwIfDisposed(),Si(this,"bool")},Ks().prototype.toFloat=function(){return this.throwIfDisposed(),Si(this,"float32")},Ks().prototype.toInt=function(){return this.throwIfDisposed(),Si(this,"int32")},Ks().prototype.topk=function(e,t){return this.throwIfDisposed(),rp(this,e,t)},Ks().prototype.transpose=function(e){return this.throwIfDisposed(),qi(this,e)},Ks().prototype.unique=function(e){return this.throwIfDisposed(),ap(this,e)},Ks().prototype.unsortedSegmentSum=function(e,t){return this.throwIfDisposed(),ip(this,e,t)},Ks().prototype.unstack=function(e){return this.throwIfDisposed(),op(this,e)},Ks().prototype.where=function(e,t){return this.throwIfDisposed(),qu(e,this,t)},Ks().prototype.zerosLike=function(){return this.throwIfDisposed(),fl(this)};class Hm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Hm.prototype)}}class jm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,jm.prototype)}}class qm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,qm.prototype)}}class Km extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Km.prototype)}}class Xm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Xm.prototype)}}function Ym(e,t){if(Array.isArray(e)){let n=[];for(let r=0;rt.toUpperCase()))}Error;let rg={};function sg(e){if(null==e)return null;const t={};return t.className=e.getClassName(),t.config=e.getConfig(),t}function ag(e){if(null!=e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e=>ag(e)));else{const t=Object.keys(e);for(const n of t){const t=e[n];null!=t&&"object"==typeof t&&(Array.isArray(t)||"ndarray"!==t.type||"number"!=typeof t.value?ag(t):e[n]=t.value)}}}function ig(e,t={},n={},r="object",s=!1){if("string"==typeof e){const s=e;let a;if(s in n)a=n[s];else if(s in rg)a=rg[s];else if(a=t[s],null==a)throw new qm(`Unknown ${r}: ${e}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return a}{const a=e;if(null==a.className||null==a.config)throw new qm(`${r}: Improper config format: ${JSON.stringify(a)}.\n'className' and 'config' must set.`);const i=a.className;let o,l;if(i in n?[o,l]=n[i]:i in rg?[o,l]=rg.className:i in t&&([o,l]=t[i]),null==o)throw new qm(`Unknown ${r}: ${i}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const e={};for(const t of Object.keys(rg))e[t]=rg[t];for(const t of Object.keys(n))e[t]=n[t];a.config.customObjects=e;const t=Object.assign({},rg);for(const e of Object.keys(n))rg[e]=n[e];ag(a.config);const r=l(o,a.config,n,s);return rg=Object.assign({},t),r}{const e=Object.assign({},rg);for(const e of Object.keys(n))rg[e]=n[e];const t=new o(a.config);return rg=Object.assign({},e),t}}}function og(e,t){return-1*function(e,t){return et?1:0}(e,t)}function lg(e){if(null==e)return e;const t=[];for(const n of e)-1===t.indexOf(n)&&t.push(n);return t}function ug(e){if(null==e)throw new qm(`Invalid value in obj: ${JSON.stringify(e)}`);for(const t in e)if(e.hasOwnProperty(t))return!1;return!0}function cg(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new qm(`${n} is not a valid ${t}. Valid values are ${e} or null/undefined.`)}function hg(e,t,n=0,r=1/0){return Zm(n>=0),Zm(r>=n),Array.isArray(e)&&e.length>=n&&e.length<=r&&e.every((e=>typeof e===t))}function pg(e,t){Array.isArray(e)?(re(e.length>0,(()=>`${t} is unexpectedly an empty array.`)),e.forEach(((e,n)=>pg(e,`element ${n+1} of ${t}`)))):re(Number.isInteger(e)&&e>0,(()=>`Expected ${t} to be a positive integer, but got ${dg(e)}.`))}function dg(e){return null===e?"null":Array.isArray(e)?"["+e.map((e=>dg(e))).join(",")+"]":"string"==typeof e?`"${e}"`:`${e}`}function fg(e){return"relu"===e?"relu":"linear"===e?"linear":"elu"===e?"elu":null}function mg(e,t){return Xo((()=>pl(Ic(hl(e,e),t,!0))))}class gg extends To{getConfig(){return{}}}class yg extends gg{constructor(e){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return Xo((()=>{const t=mg(e,this.axis),n=Tu(t,0,this.maxValue);return hl(e,cl(n,ll(Gm(),t)))}))}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}yg.className="MaxNorm",Eo(yg);class bg extends gg{constructor(e){super(),this.defaultAxis=0,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return Xo((()=>cl(e,ll(Gm(),mg(e,this.axis)))))}getConfig(){return{axis:this.axis}}}bg.className="UnitNorm",Eo(bg);class xg extends gg{apply(e){return vh(e)}}xg.className="NonNeg",Eo(xg);class wg extends gg{constructor(e){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=e.minValue?e.minValue:this.defaultMinValue,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.rate=null!=e.rate?e.rate:this.defaultRate,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return Xo((()=>{const t=mg(e,this.axis),n=ll(hl(this.rate,Tu(t,this.minValue,this.maxValue)),hl(1-this.rate,t));return hl(e,cl(n,ll(Gm(),t)))}))}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}wg.className="MinMaxNorm",Eo(wg);const vg={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function kg(e){return sg(e)}function Ig(e,t={}){return ig(e,Co.getMap().classNameMap,t,"constraint")}function Ng(e){return null==e?null:"string"==typeof e?Ig({className:e in vg?vg[e]:e,config:{}}):e instanceof gg?e:Ig(e)}function Sg(e){return new yg(e)}function Tg(e){return new bg(e)}function Cg(){return new xg}function Eg(e){return new wg(e)}const $g=["channelsFirst","channelsLast"],Ag=["nearest","bilinear"],Rg=["valid","same","causal"],Mg=["max","avg"],Fg=["sum","mul","concat","ave"],Dg=new Map;function _g(e){cg($g,"DataFormat",e)}function Og(e){cg(Rg,"PaddingMode",e)}function Lg(e){cg(Mg,"PoolMode",e)}const zg=[];function Pg(e,t){zg.push(e);try{const e=t();return zg.pop(),e}catch(e){throw zg.pop(),e}}function Bg(e){if(!Wg(e))throw new Error("Not a valid tensor name: '"+e+"'");return(0===zg.length?"":zg.join("/")+"/")+e}function Vg(e){if(!Wg(e))throw new Error("Not a valid tensor name: '"+e+"'");Dg.has(e)||Dg.set(e,0);const t=Dg.get(e);if(Dg.set(e,Dg.get(e)+1),t>0){const n=`${e}_${t}`;return Dg.set(n,1),n}return e}const Ug=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function Wg(e){return!!e.match(Ug)}function Gg(e,t,n){null==t&&(t=0),null==n&&(n=e.length);let r=1;for(let s=t;st&&(t=r)}return t}function qg(e,t){if(t{switch(e.rank){case 1:return Oh(e,t,n);case 2:return Lh(e,[t,0],[n,e.shape[1]]);case 3:return zh(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return Ph(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return fu(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);case 6:return fu(e,[t,0,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4],e.shape[5]]);default:throw new qm(`sliceAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}))}function Zg(e,t,n){return Xo((()=>{switch(e.rank){case 1:return Oh(e,t,n);case 2:return Lh(e,[0,t],[e.shape[0],n]);case 3:return zh(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return Ph(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new qm(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}}))}function Jg(e,t,n,r){return Xo((()=>{switch(e.rank){case 1:return Oh(e,t,n);case 2:switch(r){case 1:return Yg(e,t,n);case 2:return Zg(e,t,n);default:throw new qm(`The axis is not within the rank of the tensor ${r}`)}case 3:switch(r){case 1:return Yg(e,t,n);case 2:return zh(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return Zg(e,t,n);default:throw new qm(`The axis is not within the rank of the tensor ${r}`)}case 4:switch(r){case 1:return Yg(e,t,n);case 2:return Ph(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return Ph(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return Zg(e,t,n);default:throw new qm(`The axis is not within the rank of the tensor ${r}`)}default:throw new qm(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}}))}function Qg(e,t=-1){let n;return t<0&&(n=e[0].rank,t=0!==n?n:0),t===e[0].rank&&(t=-1),pu(e,t)}function ey(e,t){switch(e.rank){case 1:return Cu([e,t]);case 2:return Eu([e,t],0);case 3:return $u([e,t],0);case 4:return Au([e,t],0);default:throw new qm(`concatAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}function ty(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new qm(`The length of input n (${t.length}) does not match the number of dimensions in input x (${e.rank})`);return nc(e,t)}function ny(e,t=0,n=1,r,s){return gh(e,t,n,r,s)}function ry(e,t,n,r){if(e.rank<2||t.rank<2)throw new Km(`dot requires both inputs to be rank >= 2 but got x shape = ${e.shape} and y shape = ${t.shape}`);if(t.rank>=3&&e.shape.slice(-1)[0]!==t.shape.slice(-2)[0])throw new Km(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${e.shape} and y shape = ${t.shape}`);if(2===e.rank&&2===t.rank)return Rp({a:e,b:t,transposeA:!1,transposeB:!1,bias:r?iy(e.rank,r,"channelsLast"):null,activation:n});{const s=e.shape.slice(),a=s.pop();e=uu(e,[-1,a]);const i=t.shape.slice(),o=i.pop(),l=i.pop(),u=[...i,o],c=Array.from({length:t.rank},((e,n)=>0===n?t.rank-2:n<=t.rank-2?n-1:n));t=uu(qi(t,c),[l,-1]);const h=[...s,...u];return uu(Rp({a:e,b:t,transposeA:!1,transposeB:!1,bias:r?iy(e.rank,r,"channelsLast"):null,activation:n}),h)}}function sy(e,t,n){return Xo((()=>(t=Array.isArray(t)?Jh(t,"int32"):Si(t,"int32"),ac(e,t,n))))}function ay(e){return hl(e,e)}function iy(e,t,n){const r=t.shape;if(1!==t.rank&&t.rank!==e)throw new qm(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${e}`);if(5===e){if("channelsFirst"===n)return 1===r.length?uu(t,[1,r[0],1,1,1]):uu(t,[1,r[3],r[0],r[1],r[2]]);if("channelsLast"===n)return 1===r.length?uu(t,[1,1,1,1,r[0]]):uu(t,[1].concat(r))}else if(4===e){if("channelsFirst"===n)return 1===r.length?uu(t,[1,r[0],1,1]):uu(t,[1,r[2],r[0],r[1]]);if("channelsLast"===n)return 1===r.length?uu(t,[1,1,1,r[0]]):uu(t,[1].concat(r))}else if(3===e){if("channelsFirst"===n)return 1===r.length?uu(t,[1,r[0],1]):uu(t,[1,r[1],r[0]]);if("channelsLast"===n)return 1===r.length?uu(t,[1,1,r[0]]):uu(t,[1].concat(r))}else if(e<3)return t;throw new qm(`Unsupported input rank by biasAdd: ${t.rank}`)}function oy(e,t,n){return Xo((()=>(null==n&&(n="channelsLast"),_g(n),ll(e,iy(e.rank,t,n)))))}function ly(e,t,n,r){return Xo((()=>bp(e,t,n,r)))}function uy(e,t,n=!1){return n?e():t()}const cy=["fanIn","fanOut","fanAvg"],hy=["normal","uniform","truncatedNormal"];class py extends To{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class dy extends py{apply(e,t){return Uc(e,t)}}dy.className="Zeros",Eo(dy);class fy extends py{apply(e,t){return Wc(e,t)}}fy.className="Ones",Eo(fy);class my extends py{constructor(e){if(super(),"object"!=typeof e)throw new qm(`Expected argument of type ConstantConfig but got ${e}`);if(void 0===e.value)throw new qm(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return Xo((()=>hl(kl(this.value),Wc(e,t))))}getConfig(){return{value:this.value}}}my.className="Constant",Eo(my);class gy extends py{constructor(e){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return yh(e,this.minval,this.maxval,t)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}gy.className="RandomUniform",Eo(gy);class yy extends py{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new Km(`randomNormal does not support dType ${t}.`);return ny(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}yy.className="RandomNormal",Eo(yy);class by extends py{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new Km(`truncatedNormal does not support dType ${t}.`);return sp(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}by.className="TruncatedNormal",Eo(by);class xy extends py{constructor(e){super(),this.gain=null!=e.gain?e.gain:1}apply(e,t){return Xo((()=>{if(2!==e.length||e[0]!==e[1])throw new qm("Identity matrix initializer can only be used for 2D square matrices.");return hl(this.gain,rc(e[0]))}))}getConfig(){return{gain:this.gain}}}xy.className="Identity",Eo(xy);class wy extends py{constructor(e){if(super(),e.scale<0)throw new qm(`scale must be a positive float. Got: ${e.scale}`);var t;this.scale=null==e.scale?1:e.scale,this.mode=null==e.mode?"fanIn":e.mode,t=this.mode,cg(cy,"FanMode",t),this.distribution=null==e.distribution?"normal":e.distribution,function(e){cg(hy,"Distribution",e)}(this.distribution),this.seed=e.seed}apply(e,t){const n=function(e,t="channelsLast"){let n,r;if(_g(t),2===e.length)n=e[0],r=e[1];else if(-1!==[3,4,5].indexOf(e.length)){if("channelsFirst"===t){const t=Gg(e,2);n=e[1]*t,r=e[0]*t}else if("channelsLast"===t){const t=Gg(e,0,e.length-2);n=e[e.length-2]*t,r=e[e.length-1]*t}}else{const t=Gg(e);n=Math.sqrt(t),r=Math.sqrt(t)}return[n,r]}(e),r=n[0],s=n[1];let a=this.scale;if("fanIn"===this.mode?a/=Math.max(1,r):"fanOut"===this.mode?a/=Math.max(1,s):a/=Math.max(1,(r+s)/2),"normal"===this.distribution){const n=Math.sqrt(a);if("float32"!==(t=t||"float32")&&"int32"!==t)throw new Km(`${this.getClassName()} does not support dType ${t}.`);return sp(e,0,n,t,this.seed)}{const n=Math.sqrt(3*a);return yh(e,-n,n,t)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}}wy.className="VarianceScaling",Eo(wy);class vy extends wy{constructor(e){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return wy.className}}vy.className="GlorotUniform",Eo(vy);class ky extends wy{constructor(e){super({scale:1,mode:"fanAvg",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return wy.className}}ky.className="GlorotNormal",Eo(ky);class Iy extends wy{constructor(e){super({scale:2,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return wy.className}}Iy.className="HeNormal",Eo(Iy);class Ny extends wy{constructor(e){super({scale:2,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return wy.className}}Ny.className="HeUniform",Eo(Ny);class Sy extends wy{constructor(e){super({scale:1,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return wy.className}}Sy.className="LeCunNormal",Eo(Sy);class Ty extends wy{constructor(e){super({scale:1,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return wy.className}}Ty.className="LeCunNormal",Eo(Ty);class Cy extends py{constructor(e){if(super(),this.DEFAULT_GAIN=1,this.gain=null==e.gain?this.DEFAULT_GAIN:e.gain,this.seed=e.seed,null!=this.seed)throw new Km("Random seed is not implemented for Orthogonal Initializer yet.")}apply(e,t){return Xo((()=>{if(e.length<2)throw new Km("Shape must be at least 2D.");e[0]*e[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${e[0]*e[1]}) elements: Slowness may result.`);const t=ny(e[0]>e[1]?[e[1],e[0]]:e,0,1,"float32");let n=Cd.gramSchmidt(t);return e[0]>e[1]&&(n=qi(n)),hl(this.gain,n)}))}getConfig(){return{gain:this.gain,seed:this.seed}}}Cy.className="Orthogonal",Eo(Cy);const Ey={constant:"Constant",glorotNormal:"GlorotNormal",glorotUniform:"GlorotUniform",heNormal:"HeNormal",heUniform:"HeUniform",identity:"Identity",leCunNormal:"LeCunNormal",leCunUniform:"LeCunUniform",ones:"Ones",orthogonal:"Orthogonal",randomNormal:"RandomNormal",randomUniform:"RandomUniform",truncatedNormal:"TruncatedNormal",varianceScaling:"VarianceScaling",zeros:"Zeros"};function $y(e,t={}){return ig(e,Co.getMap().classNameMap,t,"initializer")}function Ay(e){return sg(e)}function Ry(e){if("string"==typeof e){const t=e in Ey?Ey[e]:e;if("GlorotNormal"===t)return new ky;if("GlorotUniform"===t)return new vy;if("HeNormal"===t)return new Iy;if("HeUniform"===t)return new Ny;if("LeCunNormal"===t)return new Sy;if("LeCunUniform"===t)return new Ty;{const e={};return e.className=t,e.config={},$y(e)}}return e instanceof py?e:$y(e)}function My(){return new dy}function Fy(){return new fy}function Dy(e){return new my(e)}function _y(e){return new gy(e)}function Oy(e){return new yy(e)}function Ly(e){return new by(e)}function zy(e){return new xy(e)}function Py(e){return new wy(e)}function By(e){return new vy(e)}function Vy(e){return new ky(e)}function Uy(e){return new Iy(e)}function Wy(e){return new Ny(e)}function Gy(e){return new Sy(e)}function Hy(e){return new Ty(e)}function jy(e){return new Cy(e)}let qy=0;function Ky(){return qy++}const Xy={};function Yy(e=""){return e in Xy||(Xy[e]=0),Xy[e]+=1,e+Xy[e].toString()}function Zy(e){return Array.isArray(e)&&Array.isArray(e[0])}function Jy(e){return 0===e.length?[]:Array.isArray(e[0])?e:[e]}function Qy(e){let t;if(Array.isArray(e)){if(1!==e.length)throw new qm(`Expected Tensor length to be 1; got ${e.length}`);t=e[0]}else t=e;return t}function eb(e){if(Array.isArray(e)&&Array.isArray(e[0])){if(1===e.length)return(e=e)[0];throw new qm(`Expected exactly 1 Shape; got ${e.length}`)}return e}function tb(e){let t=0;for(const n of e)0===n.shape.length?t+=1:t+=n.shape.reduce(((e,t)=>e*t));return t}class nb{constructor(e,t="float32",n="Variable",r=!0,s=null){this.dtype=null==t?"float32":t,this.shape=e.shape,this.id=Ky(),n=null==n?"Variable":n,this.originalName=Bg(n),this.name=Vg(this.originalName),this.trainable_=r,this.constraint=s,this.val=lp(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(e.shape)+" vs. "+JSON.stringify(t.shape))}(this.val,e),this.val.id!==e.id&&(this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}}function rb(e){return e.map((e=>e.read()))}function sb(e){e.forEach((e=>{e[0].write(e[1])}))}class ab{constructor(e){this.dtype=e.dtype,this.shape=e.shape,null!=e.shape?this.ndim=e.shape.length:this.ndim=e.ndim,this.maxNDim=e.maxNDim,this.minNDim=e.minNDim,this.axes=e.axes||{}}}class ib{constructor(e,t,n,r,s,a,i){this.dtype=e,this.shape=t,this.sourceLayer=n,this.inputs=r,this.callArgs=s,this.outputTensorIndex=i,this.id=Ky(),null!=a&&(this.originalName=Bg(a),this.name=Vg(this.originalName)),this.rank=t.length}}let ob=0;class lb{constructor(e,t){this.callArgs=t,this.id=ob++,this.outboundLayer=e.outboundLayer,this.inboundLayers=e.inboundLayers,this.nodeIndices=e.nodeIndices,this.tensorIndices=e.tensorIndices,this.inputTensors=e.inputTensors,this.outputTensors=e.outputTensors,this.inputMasks=e.inputMasks,this.outputMasks=e.outputMasks,this.inputShapes=e.inputShapes,this.outputShapes=e.outputShapes;for(const t of e.inboundLayers)null!=t&&t.outboundNodes.push(this);e.outboundLayer.inboundNodes.push(this)}getConfig(){const e=[];for(const t of this.inboundLayers)null!=t?e.push(t.name):e.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:e,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}}let ub=0;class cb extends To{constructor(e={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=ub++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let t=e.name;if(!t){const e=this.getClassName();t=tg(e)+"_"+Yy(e)}if(this.name=t,this.trainable_=null==e.trainable||e.trainable,null!=e.inputShape||null!=e.batchInputShape){let t;if(null!=e.batchInputShape)t=e.batchInputShape;else if(null!=e.inputShape){let n=null;null!=e.batchSize&&(n=e.batchSize),t=[n].concat(e.inputShape)}this.batchInputShape=t;let n=e.dtype;null==n&&(n=e.inputDType),null==n&&(n="float32"),this.dtype=n}null!=e.weights?this.initialWeights=e.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(e,t){return e.name+"_ib-"+t.toString()}getNodeAtIndex(e,t){if(0===this.inboundNodes.length)throw new jm(`The layer has never been called and thus has no defined ${t}.`);if(this.inboundNodes.length<=e)throw new qm(`Asked to get ${t} at node ${e}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[e]}getInputAt(e){return Qm(this.getNodeAtIndex(e,"input").inputTensors)}getOutputAt(e){return Qm(this.getNodeAtIndex(e,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Hm(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new Hm(`Layer ${this.name} is not connected, no input to return.`);return Qm(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new Hm(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Hm(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return Qm(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map((e=>e()))}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach((t=>t.trainable=e)),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter((e=>e.trainable)):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter((e=>!e.trainable)).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){if(e=eg(e),null==this.inputSpec||0===this.inputSpec.length)return;const t=eg(this.inputSpec);if(e.length!==t.length)throw new qm(`Layer ${this.name} expects ${t.length} inputs, but it received ${e.length} input tensors. Input received: ${e}`);for(let n=0;ns.maxNDim)throw new qm(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${a}`);if(null!=s.minNDim&&a=0?e[r]:e[e.length+r];if(null!=a&&-1===[a,null].indexOf(i))throw new qm(`Input ${n} is incompatible with layer ${this.name}: expected axis ${r} of input shape to have value ${a} but got shape ${e}.`)}}if(null!=s.shape)for(let e=0;e{if(!this.built){this.assertInputCompatibility(e);const t=[];for(const n of eg(e))t.push(n.shape);this.build(Qm(t)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&s&&(this._refCount=1)}if(this.assertInputCompatibility(e),s){let r=this.call(e,t);const s=eg(r),a=[];for(let e of s)-1!==n.indexOf(e)&&(e=e.clone()),a.push(e);if(r=Qm(a),null!=this.activityRegularizer)throw new Km("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}{const n=function(e){e=eg(e);const t=[];for(const n of e)t.push(n.shape);return Qm(t)}(e),r=this.computeOutputShape(n);let s;const a="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(e)?n[0]:n),s=null!=r&&r.length>0&&Array.isArray(r[0])?r.map(((n,r)=>new ib(a,n,this,eg(e),t,this.name,r))):new ib(a,r,this,eg(e),t,this.name),this.addInboundNode(e,s,null,null,n,r,t),this._refCount++,null!=this.activityRegularizer)throw new Km("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return s}}))}warnOnIncompatibleInputShape(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach(((n,r)=>{null!=n&&null!=e[r]&&e[r]!==n&&(t=!0)})),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new Hm(`The layer ${this.name} has never been called and thus has no defined output shape.`);const e=[];for(const t of this.inboundNodes){const n=JSON.stringify(t.outputShapes);-1===e.indexOf(n)&&e.push(n)}if(1===e.length){const e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&1===e.length?e[0]:e}throw new Hm(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new jm(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return tb(this.weights)}build(e){this.built=!0}getWeights(e=!1){return rb(e?this.trainableWeights:this.weights)}setWeights(e){Xo((()=>{const t=this.weights;if(t.length!==e.length)throw new qm(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(0===t.length)return;const n=[],r=rb(t);for(let s=0;ss.apply(u.read()))),null==a&&(a=!0),a?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){null==e||Array.isArray(e)&&0===e.length||(e=eg(e),void 0!==this._losses&&null!==this._losses&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);t.forEach((e=>{if(null!=e)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)}))}return null}return t}addInboundNode(e,t,n,r,s,a,i=null){const o=eg(e);t=eg(t),n=eg(n),r=eg(r),s=Jy(s),a=Jy(a);const l=[],u=[],c=[];for(const e of o)l.push(e.sourceLayer),u.push(e.nodeIndex),c.push(e.tensorIndex);new lb({outboundLayer:this,inboundLayers:l,nodeIndices:u,tensorIndices:c,inputTensors:o,outputTensors:t,inputMasks:n,outputMasks:r,inputShapes:s,outputShapes:a},i);for(let e=0;ee.dispose())),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return 0==--this._refCount&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}}function hb(e,t,n){if((null==t||null!=n&&n>0)&&(t=e.sourceLayer,n=e.nodeIndex),0===t.inboundNodes.length)return[e];{const e=t.inboundNodes[n];if(0===e.inboundLayers.length)return e.inputTensors;{const t=[];for(let n=0;n0){const s=await Promise.all(t);for(let t=0;tll(this.totals[e],hl(r,n))));this.totals[e]=s,null!=t&&t.dispose()}}}async onEpochEnd(e,t){if(null!=t)for(const e of this.params.metrics)null!=this.totals[e]&&("number"==typeof this.totals[e]?t[e]=this.totals[e]/this.seen:Xo((()=>{const n=hl(cl(1,this.seen),this.totals[e]);t[e]=n,this.totals[e].dispose(),Zo(t[e])})))}}class wb extends yb{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){null==t&&(t={}),this.epoch.push(e);for(const e in t)null==this.history[e]&&(this.history[e]=[]),this.history[e].push(t[e])}async syncData(){const e=[],t=[],n=[];for(const r in this.history){const s=this.history[r];for(let a=0;a{const i=null!=n?n():Rs();return i-snew vb(e,t)))}class Ib{constructor(){}static registerCallbackConstructor(e,t){re(e>=0&&Number.isInteger(e),(()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`)),Ib.checkForDuplicate(t),null==Ib.constructors[e]&&(Ib.constructors[e]=[]),Ib.constructors[e].push(t)}static checkForDuplicate(e){for(const t in Ib.constructors)Ib.constructors[+t].forEach((t=>{if(t===e)throw new qm("Duplicate callback constructor.")}))}static clear(){Ib.constructors={}}static createCallbacks(e){const t=[];for(const n in Ib.constructors){const r=+n;e>=r&&t.push(...Ib.constructors[r])}return t.map((e=>new e))}}function Nb(e,t,n,r,s,a,i,o,l){const u=new wb,c=[new xb,...Ib.createCallbacks(t)];null!=e&&c.push(...e),c.push(u);const h=new bb(c);return h.setParams({epochs:n,initialEpoch:r,samples:s,steps:a,batchSize:i,verbose:t,doValidation:o,metrics:l}),{callbackList:h,history:u}}function Sb(e,t={},n=!1){return ig(e,Co.getMap().classNameMap,t,"layer",n)}function Tb(e,t){return Xo((()=>{"float32"!==e.dtype&&(e=Si(e,"float32"));const n=Ic(ay(e),t,!0),r=Sl(n.shape,Gm()),s=pl(Rl(n,r));return cl(e,s)}))}function Cb(e,t){return Xo((()=>Vc(ay(El(t,e)),-1)))}function Eb(e,t){return Xo((()=>Vc(Al(El(t,e)),-1)))}function $b(e,t){return Xo((()=>{const n=El(e,t),r=Tu(Al(e),Gm(),Number.MAX_VALUE),s=Al(cl(n,r));return hl(100,Vc(s,-1))}))}function Ab(e,t,n=!1){return Xo((()=>{if(n)t=Bh(t);else{const e=Ic(t,t.shape.length-1,!0);t=cl(t,e)}return t=Tu(t,Gm(),1-Gm()),xc(Ic(hl(Si(e,"float32"),yc(t)),t.shape.length-1))}))}function Rb(e,t,n=!1){return Xo((()=>{const r=Si(sc(function(e){const t=[Gg(e.shape)];return uu(e,t)}(e)),"int32"),s=(t=Tu(t,Gm(),1-Gm())).shape;return Ab(uu(ji(r,s[s.length-1]),s),t,n)}))}function Mb(e,t){return Xo((()=>{let n;return n=Tu(t,Gm(),1-Gm()),n=yc(cl(n,El(1,n))),Vc(function(e,t){if(!ue(e.shape,t.shape))throw new qm(`logits and labels must have the same shape, but got shapes ${JSON.stringify(e.shape)} and ${JSON.stringify(t.shape)}`);return Xo((()=>{const n=vh(t),r=xc(Al(t));return ll(El(n,hl(t,e)),bc(Qu(r)))}))}(e,n),-1)}))}function Fb(e,t){return Xo((()=>{const n=Tb(e,-1),r=Tb(t,-1),s=hl(n,r);return xc(Ic(s,-1))}))}Ib.constructors={};const Db={meanSquaredError:Cb,meanAbsoluteError:Eb,meanAbsolutePercentageError:$b,meanSquaredLogarithmicError:function(e,t){return Xo((()=>{const n=Tu(t,Gm(),Number.MAX_VALUE),r=yc(ll(1,n)),s=Tu(e,Gm(),Number.MAX_VALUE),a=yc(ll(1,s));return Vc(ay(El(r,a)),-1)}))},squaredHinge:function(e,t){return Xo((()=>{const n=Rl(0,El(1,hl(e,t)));return Vc(ay(n),-1)}))},hinge:function(e,t){return Xo((()=>{const n=Rl(0,El(1,hl(e,t)));return Vc(n,-1)}))},categoricalHinge:function(e,t){return Xo((()=>{const n=Ic(hl(e,t),-1),r=kc(hl(El(1,e),t),-1);return Rl(0,ll(1,El(r,n)))}))},logcosh:function(e,t){return Xo((()=>{const n=Math.log(2),r=El(t,e),s=El(ll(r,wc(hl(-2,r))),n);return Vc(s,-1)}))},categoricalCrossentropy:Ab,sparseCategoricalCrossentropy:Rb,binaryCrossentropy:Mb,kullbackLeiblerDivergence:function(e,t){return Xo((()=>{const n=Tu(e,Gm(),1),r=Tu(t,Gm(),1);return Ic(hl(e,yc(cl(n,r))),-1)}))},poisson:function(e,t){return Xo((()=>{const n=yc(ll(Gm(),t));return Vc(El(t,hl(e,n)),-1)}))},cosineProximity:Fb};function _b(e){if("string"==typeof e){if(e in Db)return Db[e];let t=`Unknown loss ${e}`;throw e.toLowerCase().includes("softmaxcrossentropy")&&(t=`Unknown loss ${e}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new qm(t)}return e}function Ob(e,t){return Xo((()=>{const n=hl(.5,Qc(t)),r=Kg(ic(t,n),e.dtype);return Vc(ju(e,r),-1)}))}function Lb(e,t){return Xo((()=>Kg(ju(Ul(e,-1),Ul(t,-1)),"float32")))}function zb(e,t){return Xo((()=>Si(Ic(Dc(ju(e,1),ju(t,1))),"float32")))}function Pb(e,t){return Xo((()=>{const n=zb(e,t),r=function(e,t){return Xo((()=>Si(Ic(Dc(ju(e,0),ju(t,1))),"float32")))}(e,t),s=ll(n,r);return Si(qu(ic(s,0),cl(n,s),0),"float32")}))}function Bb(e,t){return Mb(e,t)}function Vb(e,t){return e.rank===t.rank&&(e=qh(e,[e.rank-1])),(t=Ul(t,-1)).dtype!==e.dtype&&(t=Si(t,e.dtype)),Si(ju(e,t),"float32")}const Ub=Ab,Wb=Rb,Gb={binaryAccuracy:Ob,categoricalAccuracy:Lb,precision:Pb,categoricalCrossentropy:Ub,sparseCategoricalCrossentropy:Wb,mse:Cb,MSE:Cb,mae:Eb,MAE:Eb,mape:$b,MAPE:$b,cosine:Fb};function Hb(e){if("string"==typeof e&&e in Gb)return Gb[e];if("string"!=typeof e&&null!=e)return e;throw new qm(`Unknown metric ${e}`)}function jb(e){if(Zm(null!==e,`Unknown LossOrMetricFn ${e}`),"string"==typeof e)return e;{let t;for(const n of Object.keys(Db))if(Db[n]===e){t=n;break}if(void 0!==t)return t;for(const n of Object.keys(Gb))if(Gb[n]===e){t=n;break}return void 0!==t?t:e.name}}function qb(e,t,n=!1){if(null==e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype||!Kb(e))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(e);n.length>1048576&&console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function Kb(e){if(null===e)return!0;if("object"==typeof e){if(Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);for(const n of t){if("string"!=typeof n)return!1;if(!Kb(e[n]))return!1}return!0}if(Array.isArray(e)){for(const t of e)if(!Kb(t))return!1;return!0}return!1}{const t=typeof e;return"string"===t||"number"===t||"boolean"===t}}function Xb(e,t,n=console.log){let r="";for(let n=0;n0&&(r=r.slice(0,r.length-1)+" "),r+=e[n],r=r.slice(0,t[n]),r+=" ".repeat(t[n]-r.length);n(r)}function Yb(e,t,n){let r;try{r=JSON.stringify(e.outputShape)}catch(e){r="multiple"}Xb([`${e.name} (${e.getClassName()})`,r,e.countParams().toString()],t,n)}function Zb(e,t,n,r){let s;try{s=JSON.stringify(e.outputShape)}catch(e){s="multiple"}const a=[];for(const t of e.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(t)))for(let e=0;ee.name)),l=[],u=t.names();for(const e of o)-1!==u.indexOf(e)?l.push(t.getValue(e)):l.push(null);null!=r&&(r.maxNumTensors=-1/0,r.minNumTensors=1/0);const c=o.join(",")+"|"+t.names().join(",");let h,p;if(null==rx[c]){const e=function(e,t){re(null!=e&&e.length>0,(()=>"Expected at least one fetch, got none"));let n=[],r={};if(1===e.length){const s=ox(e[0],t);n=s.sorted,r=s.recipientMap}else{const s=new Set;for(const a of e){const{sorted:e,recipientMap:i}=ox(a,t);for(const t of e)s.has(t.name)||(n.push(t),s.add(t.name));for(const e in i)null==r[e]&&(r[e]=new Set),i[e].forEach((t=>r[e].add(t)))}}return{sorted:n,recipientCounts:ix(r)}}(i,t);h=e.sorted,p=e.recipientCounts,rx[c]=h,sx[c]=p}h=rx[c],p={},s||Object.assign(p,sx[c]);const d=new nx(t);for(let e=0;er.maxNumTensors&&(r.maxNumTensors=e),e0;){const e=a[a.length-1];if(n.has(e.name)){a.pop();continue}const t=i[i.length-1]===a.length-1;if(0===e.inputs.length||t)a.pop(),r.push(e),n.add(e.name),t&&i.pop();else{i.push(a.length-1);for(const t of e.inputs)null==s[t.name]&&(s[t.name]=new Set),s[t.name].add(e.name),n.has(t.name)||a.push(t)}}return{sorted:r,recipientMap:s}}function lx(e){let t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{let n=null;for(let t=0;te.name))}`);lg(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map((e=>e.name))}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const e of this.outputs){const t=e.sourceLayer,n=e.nodeIndex,r=e.tensorIndex;this.outputLayers.push(t),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(r)}for(const e of this.inputs){const t=e.sourceLayer,n=e.nodeIndex,r=e.tensorIndex;Zm(0===n,"input layer has >1 nodes"),Zm(0===r,"input layer has >1 tensors"),this.inputLayers.push(t),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(r)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let t=0;te.shape)),this.internalOutputShapes=this.outputs.map((e=>e.shape));const t={},n={},r={},s={},a={},i=[],o=(e,t,n,r,s,l)=>{null!=r&&null!=s&&null!=l||(r=e.sourceLayer,s=e.nodeIndex,l=e.tensorIndex);const u=r.inboundNodes[s];if(-1!==n.indexOf(u))throw new jm(`The tensor ${e.name} at layer "${r.name}" is part of a cycle.`);if(-1!==t.indexOf(u))return;this.containerNodes.add(ux.nodeKey(r,s)),r.id in a||(a[r.id]=Object.keys(a).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let e=0;e=0;)n.splice(n.indexOf(u),1);i.push(u)},l=[],u=[];for(const e of this.outputs)o(e,l,u);const c=i.slice().reverse();for(const e of c){n[e.id]=e,e.id in t||(t[e.id]=0);let a=t[e.id];const i=null==r[e.outboundLayer.id]?0:r[e.outboundLayer.id];a=Math.max(a,i),r[e.outboundLayer.id]=a,s[e.outboundLayer.id]=e.outboundLayer,t[e.id]=a;for(let r=0;rparseInt(e,10))).sort(og);this.layers=[];for(const e of d){const t=p[e];t.sort(((e,t)=>{const n=a[e.id],r=a[t.id];return nr?1:0}));for(const e of t)e instanceof ux&&this.internalContainerRefs.push(e),this.layers.push(e)}this.layersByDepth=p,d=Object.keys(h).map((e=>parseInt(e,10))).sort(og);const f=this.inputs.slice(),m=[];for(const e of d)for(const t of h[e]){const e=t.outboundLayer;if(null!=e){for(const n of t.inputTensors)if(-1===f.indexOf(n))throw new jm(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${e.name}". The following previous layers were accessed without issue: ${m}`);for(const e of t.outputTensors)f.push(e);m.push(e.name)}}this.nodesByDepth=h;const g=this.layers.map((e=>e.name));for(const e of g){const t=g.filter((t=>t===e)).length;if(1!==t)throw new jm(`The name "${e}" is used ${t} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new lb({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map((e=>null)),outputMasks:this.outputs.map((e=>null)),inputShapes:this.inputs.map((e=>e.shape)),outputShapes:this.outputs.map((e=>e.shape))}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const e={refCountAfterDispose:null,numDisposedVariables:0};if(0==--this._refCount){for(const t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(const t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach((t=>{t._trainableWeights.forEach((t=>t.trainable=e))})),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new qm("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(const t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.layers)t.push(...e.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){const n={};let r=0;for(const e of this.layers)for(const t of e.weights){if(null!=n[t.originalName])throw new qm(`Duplicate weight name: ${t.originalName}`);n[t.originalName]=t,r++}const s=[];for(const r in e){let a=r;if(null==n[r]){const e=r.split("/");a=e.slice(0,-2).concat([e[e.length-1]]).join("/")}if(null!=n[a])s.push([n[a],e[r]]);else if(t)throw new qm(`Provided weight data has no target variable: ${r}`);delete n[a]}if(t){const e=[];for(const t in n)e.push(t);if(e.length>0)throw new qm(`${e.length} of ${r} weights are not set: ${e}`)}sb(s)}updatedConfig(){const e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${tx}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){const n=ex(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return Xo((()=>{e=eg(e);const n=new nx;for(let t=0;t{let n;return e=eg(e),n=null==t?Ym(null,e.length):eg(t),this.runInternalGraph(e,n)[1]}))}computeOutputShape(e){const t=Jy(e);if(t.length!==this.inputLayers.length)throw new qm(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let e=0;eparseInt(e,10))).sort(og);if(r.length>1)for(const e of r){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer;if(-1!==this.inputLayers.map((e=>e.id)).indexOf(t.id))continue;const r=[];for(let t=0;tparseInt(e,10))).sort(og);for(const e of r){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer,r=e.inputTensors,s=e.outputTensors,a=new Array;for(const e of r)e.id in n&&a.push(n[e.id]);if(a.length===r.length){let r,i,o,l,u={};if(null!=e.callArgs&&(u=e.callArgs),1===a.length){const[e,n]=a[0];null==u.mask&&(u.mask=n),o=eg(t.call(e,u)),l=eg(t.computeMask(e,n)),r=[e],i=[n]}else r=a.map((e=>e[0])),i=a.map((e=>e[1])),null==u.mask&&(u.mask=i),o=eg(t.call(r,u)),l=eg(t.computeMask(r,i));if(t.activityRegularizer)throw new Km("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let e=0;e{const e=[];for(const t of this.layers)for(let n=0;n0){const e=[];for(let n=0;n0&&e.apply(Qm(n),r)}function l(e){const n=e.name,a=Sb(e,null!=t.customObjects?t.customObjects:{});a.setFastWeightInitDuringBuild(r),s[n]=a,e.inboundNodes.forEach((e=>{if(!(e instanceof Array))throw new qm(`Corrupted configuration, expected array for nodeData: ${e}`);i(a,e)}))}const u=t.name,c=t.layers;for(const e of c)l(e);for(;!ug(a);)for(const e of c){const t=s[e.name];if(t.name in a){const e=a[t.name];delete a[t.name];for(const n of e)o(t,n)}}const h=[],p=[],d=t.inputLayers;for(const e of d){const t=e[0],n=e[1],r=e[2];Zm(t in s);const a=s[t].inboundNodes[n].outputTensors;h.push(a[r])}const f=t.outputLayers;for(const e of f){const t=e[0],n=e[1],r=e[2];Zm(t in s);const a=s[t].inboundNodes[n].outputTensors;p.push(a[r])}return new e({inputs:h,outputs:p,name:u})}get stateful(){if(this._stateful)throw new qm("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const e of this.layers)if(e.stateful)return!0;return!1}resetStates(){Xo((()=>{this.layers.forEach((e=>{e.stateful&&e.resetStates()}))}))}}function cx(e,t){return function(e,t,n){const r=t.length;if(null==e||Array.isArray(e)&&0===e.length)return t.map((e=>null));if(1===r)return Array.isArray(e)&&1===e.length?e:"object"==typeof e&&t[0]in e?[e[t[0]]]:[e];if(Array.isArray(e)){if(e.length!==r)throw new Error(`Provided ${n} is an array of ${e.length} element(s), but the model has ${r} outputs. Make sure a set of weights is provided for each model output.`);return e}if("object"==typeof e&&Object.keys(e).length>0&&"object"==typeof e[Object.keys(e)[0]]){const n=[];return t.forEach((t=>{t in e?n.push(e[t]):n.push(null)})),n}throw new Error(`The model has multiple (${r}) outputs, so ${n} must be either an array with ${r} elements or an object with ${t} keys. Provided ${n} not understood: ${JSON.stringify(e)}`)}(e,t,"classWeight")}async function hx(e,t,n,r){if(null!=t||null!=r)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const t=Xo((()=>{if(1===e.shape.length)return Ti(e);if(2===e.shape.length){if(e.shape[1]>1)return Ul(e,1);if(1===e.shape[1])return uu(e,[e.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${e.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${e.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)})),r=Array.from(await t.data());Yo(t);const s=[];return r.forEach((e=>{if(null==n[e])throw new Error(`classWeight must contain all classes in the training data. The class ${e} exists in the data but not in classWeight`);s.push(n[e])})),Jh(s,"float32")}return null}function px(e,t){return hl(e,t)}function dx(e,t){let n,r;const s=t;n=s.xs,r=s.ys,re(null!=n&&null!=r,(()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`));const a=fx("input",e.inputNames,n),i=fx("output",e.outputNames,r),o=a[0].shape[0];re(a.length===e.inputs.length,(()=>`LayersModel has ${e.inputs.length} inputs, but the dataset provides ${a.length} inputs. (Expected input keys: ${JSON.stringify(e.inputNames)})`)),re(i.length===e.outputs.length,(()=>`LayersModel has ${e.outputs.length} outputs, but the dataset provides ${i.length} outputs. (Expected output keys: ${JSON.stringify(e.outputNames)})`));for(let t=0;t`Batch size mismatch: input ${e.inputNames[t]} has ${a[t].shape[0]}; expected ${o} based on input ${e.inputNames[0]}.`));for(let t=0;t`Batch size mismatch: output ${e.outputNames[t]} has ${i[t].shape[0]}; expected ${o} based on input ${e.inputNames[0]}.`));return{xs:a,ys:i}}function fx(e,t,n){if(n instanceof qs)return[n];if(Array.isArray(n))return re(n.length===t.length,(()=>`Received an array of ${n.length} Tensors, but expected ${t.length} to match the ${e} keys ${t}.`)),n;{const r=[];for(const s of t){if(null==n[s])throw new qm(`The feature data generated by the dataset lacks the required ${e} key '${s}'.`);r.push(n[s])}return r}}function mx(e){return"function"==typeof e.iterator}function gx(e){re(e>0&&Number.isInteger(e),(()=>`batchSize is required to be a positive integer, but got ${e}`))}function yx(e,t,n){return null==e?[null]:Array.isArray(e)?e.map((e=>Yg(e,t,n-t))):Yg(e,t,n-t)}function bx(e,t){return Xo((()=>null==e?null:Array.isArray(e)?e.map((e=>bx(e,t))):sy(e,"int32"===t.dtype?t:Si(t,"int32"))))}function xx(e,t){const n=[];let r=0,s=null;for(;r=e&&(s=e),n.push([r,s]),r=s;return n}function wx(e){const t=[];e instanceof qs&&(e=[e]);for(let n=0;nn.push(e.id)));else if(null!=t)for(const e in t){const r=t[e];n.push(r.id)}const r=[];if(e instanceof qs)-1===n.indexOf(e.id)&&r.push(e);else if(Array.isArray(e))e.forEach((e=>{-1===n.indexOf(e.id)&&r.push(e)}));else if(null!=e)for(const t in e){const s=e[t];-1===n.indexOf(s.id)&&r.push(s)}r.forEach((e=>{e.isDisposed||e.dispose()}))}function kx(e){return Array.isArray(e)}function Ix(e){return!function(e){return e instanceof qs}(e)&&!kx(e)}function Nx(e,t,n,r=!0,s=""){if(null==t||0===t.length){if(null!=e){let t=!1;if(kx(e)&&e.length>0)t=!0;else if(Ix(e)){for(const n in e)if(e.hasOwnProperty(n)){t=!0;break}}else t=!0;if(t)throw new qm(`Error when checking model ${s} expected no data, but got ${e}`)}return[]}if(null==e)return t.map((e=>null));let a;if(Ix(e)){e=e,a=[];for(const n of t){if(null==e[n])throw new qm(`No data provided for "${n}". Need data for each key in: ${t}`);a.push(e[n])}}else if(kx(e)){if((e=e).length!==t.length)throw new qm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${e}`);a=e}else{if(e=e,t.length>1)throw new qm(`The model ${s} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${e.shape}`);a=[e]}if(a=wx(a),null!=n)for(let e=0;e=0&&a!==o)throw new qm(`${s} expected a batch of elements where each example has shape [${n[e].slice(1,n[e].length)}] (i.e.,tensor shape [*,${n[e].slice(1,n[e].length)}]) but the ${s} received an input with ${i.shape[0]} examples, each with shape [${i.shape.slice(1,i.shape.length)}] (tensor shape [${i.shape}])`)}}return a}function Sx(e,t,n,r=!0,s=""){let a;if(Array.isArray(e)){if(e.length!==t.length)throw new qm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${t.length} Tensor(s), but instead got ${e.length} Tensors(s).`);a=e}else{if(t.length>1)throw new qm(`The model expects ${t.length} ${s} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(e.shape)}.`);a=[e]}if(null!=n)for(let e=0;e1||1===e.length&&e[0].inboundLayers.length>1){t=!1;break}r.push(...e)}if(t)for(const n of e.layers){let e=!1;for(const s of n.inboundNodes)if(-1!==r.indexOf(s)){if(e){t=!1;break}e=!0}if(!t)break}return t}(e),a=["Layer (type)","Output shape","Param #"];let i;if(s?(t=t||65,n=n||[.45,.85,1]):(t=t||98,n=n||[.33,.55,.67,1]),n[n.length-1]<=1&&(n=n.map((e=>Math.floor(t*e)))),!s){a.push("Receives inputs"),i=[];for(const t in e.nodesByDepth)i.push(...e.nodesByDepth[t])}r("_".repeat(t)),Xb(a,n,r),r("=".repeat(t));const o=e.layers;for(let e=0;eRd.adagrad(.01),Adadelta:()=>Rd.adadelta(1,.95,Gm()),Adam:()=>Rd.adam(.001,.9,.999,Gm()),Adamax:()=>Rd.adamax(.002,.9,.999,Gm(),0),RMSProp:()=>Rd.rmsprop(.001,.9,0,Gm()),SGD:()=>Rd.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new qm(`Unknown Optimizer ${e}`)}(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof Il))throw new qm("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(Array.isArray(e.loss)||"string"==typeof e.loss||"function"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new qm(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);const n=e.loss;t=n.map((e=>_b(e)))}else{const n=_b(e.loss);this.outputs.forEach((e=>{t.push(n)}))}else{e.loss=e.loss;for(const t in e.loss)if(-1===this.outputNames.indexOf(t))throw new qm(`Unknown entry in loss dictionary: "${t}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==e.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),t.push(_b(e.loss[n]))}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let e=0;e{for(let e=0;e1&&(this.metricsTensors.push([t,e]),this.metricsNames.push(this.outputNames[e]+"_loss"))}}));const r=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map((e=>[]));let n;if("string"==typeof e||"function"==typeof e)n=[e];else{if(!Array.isArray(e)&&"object"!=typeof e)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${e}`);n=e}if(Array.isArray(n))return t.map((e=>n));{const e=[];for(const r of t){let t=n.hasOwnProperty(r)?n[r]:[];Array.isArray(t)||(t=[t]),e.push(t)}return e}}(e.metrics,this.outputNames),s=(e,t,n)=>{this.outputNames.length>1&&(t=this.outputNames[e]+"_"+t),this.metricsNames.push(t),this.metricsTensors.push([n,e])};Pg("metric",(()=>{for(let e=0;e{let n,r,a;for(const i of t){if("string"==typeof i&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(i)){const t=this.internalOutputShapes[e];let s;1===t[t.length-1]||this.lossFunctions[e]===Mb?-1!==["accuracy","acc"].indexOf(i)?r=Ob:-1!==["crossentropy","ce"].indexOf(i)&&(r=Bb):this.lossFunctions[e]===Rb?-1!==["accuracy","acc"].indexOf(i)?r=Vb:-1!==["crossentropy","ce"].indexOf(i)&&(r=Wb):-1!==["accuracy","acc"].indexOf(i)?r=Lb:-1!==["crossentropy","ce"].indexOf(i)&&(r=Ub),-1!==["accuracy","acc"].indexOf(i)?s="acc":-1!==["crossentropy","ce"].indexOf(i)&&(s="ce"),a=r,n=""+s}else{const e=Hb(i);a=e,n=""+jb(i)}let t;Pg(n,(()=>{t=a})),s(e,n,t)}})(r[e])})),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){const r=null==n.batchSize?32:n.batchSize;gx(r);const s=this.standardizeUserDataXY(e,t,!0,r);try{const a=s[0].concat(s[1]);this.makeTestFunction();const i=this.testFunction;return Qm(this.testLoop(i,a,r,n.verbose,n.steps))}finally{vx(s[0],e),vx(s[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),async function(e,t,n){const r=null!=(n=n||{}).batches,s=e.testFunction;let a=[];if(n.verbose>0)throw new Km("Verbose mode is not implemented yet.");re(!r||n.batches>0&&Number.isInteger(n.batches),(()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`));const i="function"==typeof t.next?t:await t.iterator();let o=0,l=0;for(;!r||l{if(t.value){const{xs:n,ys:r}=dx(e,t.value),i=n.concat(r),u=Xo((()=>s(i)));if(Yo(i),0===l)for(let e=0;ell(a[e],hl(c,t)))),l>0&&Yo(n)}Yo(u),o+=c,++l}return a})),t.done){r&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let e=0;ee.name));for(let r=0;r0){const n=[];throw t.forEach(((t,r)=>{null==t&&n.push(e[r])})),new qm(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return t}predictLoop(e,t=32,n=!1){return Xo((()=>{const r=this.checkNumSamples(e);if(n)throw new Km("Verbose predictLoop() is not implemented yet.");const s=xx(r,t),a=this.outputs.map((e=>[]));for(let t=0;t{const n=s[t][0],r=s[t][1],a=yx(e,n,r),i=[];if(Array.isArray(a))for(let e=0;ea[t].push(e)));return Qm(a.map((e=>pu(e,0))))}))}predict(e,t={}){const n=wx(e);Sx(n,this.inputNames,this.feedInputShapes,!1);try{const r=null==t.batchSize?32:t.batchSize;return gx(r),this.predictLoop(n,r)}finally{vx(n,e)}}predictOnBatch(e){Sx(e,this.inputNames,this.feedInputShapes,!0);const t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,r){if(null==this.optimizer_)throw new jm("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const s=[];for(let e=0;ee.shape[0])));r.sort();const s=lg(t.map((e=>e.shape[0])));if(s.sort(),r.length>1)throw new qm(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map((e=>e.shape)))}`);if(s.length>1)throw new qm(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map((e=>e.shape)))}`);if(r.length>0&&s.length>0&&!ue(r,s))throw new qm(`Input Tensors should have the same number of samples as target Tensors. Found ${r[0]} input sample(s) and ${s[0]} target sample(s).`)}(e=Nx(e,this.feedInputNames,this.feedInputShapes,!1,"input"),t=Nx(t,this.feedOutputNames,s,!1,"target")),function(e,t,n){const r=[Cb,Mb,Ab];for(let s=0;s0&&e[0].shape[0]%r!=0)throw new qm(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${r}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,r,s=!0,a){const[i,o]=this.standardizeUserDataXY(e,t,s,a);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=r){const e=cx(r,this.outputNames);l=[];for(let t=0;t{const a=this.checkNumSamples(t,n,s,"steps"),i=[];if(r>0)throw new Km("Verbose mode is not implemented yet.");if(null!=s)throw new Km("steps mode in testLoop() is not implemented yet");{const r=xx(a,n),s=Jh(qg(0,a));for(let n=0;n1&&(s+=`_${Jm(e.slice(0,n),r)}`),t.push(s)}return t}makeTrainFunction(){return e=>{const t=[],n=e.slice(0,this.inputs.length),r=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),a=[],i=this.collectedTrainableWeights.map((e=>e.read()));return[this.optimizer_.minimize((()=>{const e=[];for(let t=0;t1&&e{l=ll(l,e)})),l}),!0,i)].concat(a)}}makeTestFunction(){this.testFunction=e=>Xo((()=>{const t=[];let n;const r=e.slice(0,this.inputs.length),s=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),a=[];for(let e=0;e0){if(y=!0,2!==r.validationData.length)throw 3===r.validationData.length?new Km("validationData including sample weights is not supported yet."):new qm(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${r.validationData} is invalid.`);l=r.validationData[0],u=r.validationData[1];const t=!0,n=await e.standardizeUserData(l,u,null,null,t,d);c=n[0],h=n[1],g=c.concat(h)}else if(null!=r.validationSplit&&r.validationSplit>0&&r.validationSplit<1){y=!0;const e=Math.floor(s[0].shape[0]*(1-r.validationSplit)),t=s[0].shape[0];c=yx(s,e,t),i=s,s=yx(s,0,e),h=yx(a,e,t),o=a,a=yx(a,0,e),g=c.concat(h)}else null!=r.validationSteps&&(y=!0);const b=s.concat(a).concat(p);e.checkTrainableWeightsConsistency();const x=e.makeTrainFunction(),w=e.getDedupedMetricsNames();let v,k;y?(e.makeTestFunction(),v=e.testFunction,k=w.slice().concat(w.map((e=>"val_"+e)))):(v=null,g=[],k=w.slice());const I=kb(r.callbacks,r.yieldEvery);return await async function(e,t,n,r,s,a,i,o,l,u,c,h,p,d,f){null==s&&(s=32),null==a&&(a=1),null==c&&(c=!0),null==p&&(p=0);let m=!1;null!=l&&null!=u&&(m=!0);const g=e.checkNumSamples(n,s,d,"steps_per_epoch");let y;null!=g&&(y=qg(0,g)),null==i&&(i=1);const{callbackList:b,history:x}=Nb(o,i,a,p,g,d,s,m,h);b.setModel(e),e.history=x,await b.onTrainBegin(),e.stopTraining_=!1;for(let i=p;i{const p=o[c][0],d=o[c][1],f=Yg(i,p,d-p);h.batch=c,h.size=d-p;const g=bx(n,f),y=t(g);for(let e=0;e"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).")),re(null!=n,(()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.")),re(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),(()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`)),re(!r||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),(()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`)),re(null==n.validationSplit,(()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead.")),e.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");e.isTraining=!0;try{const s=null!=n.validationData;let a,i;if(s)if(mx(n.validationData))re(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),(()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`));else{const e=function(e){if(3===e.length)throw new Km("Validation with sample weights is not implemented yet.");return{xs:e[0],ys:e[1]}}(n.validationData);a=e.xs,i=e.ys}const o=e.makeTrainFunction(),l=e.getDedupedMetricsNames();let u;u=s?l.slice().concat(l.map((e=>"val_"+e))):l.slice();const c=kb(n.callbacks,n.yieldEvery),h=null==n.verbose?1:n.verbose,{callbackList:p,history:d}=Nb(c,h,n.epochs,null,null,function(e,t){let n=null;return null!=t.batchesPerEpoch?n=t.batchesPerEpoch:Number.isFinite(e.size)&&(n=e.size),n}(t,n),null,s,u);p.setModel(e),e.history=d,await p.onTrainBegin(),e.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await t.iterator();for(;f=n.batchesPerEpoch:t.done){if(s){let t;t=mx(n.validationData)?eg(await e.evaluateDataset(n.validationData,{batches:n.validationBatches})):eg(e.evaluate(a,i,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;ntg(e)))}else{const t=Object.keys(this.loss);e={};const n=this.loss;for(const r of t){if("string"!=typeof n[r])throw new Error("Serialization of non-string loss is not supported.");e[r]=tg(n[r])}}return e}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[tg(jb(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map((e=>tg(jb(e))));{const e={};for(const t in this.metrics)e[t]=tg(jb(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(null!=e.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=e.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=e.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const t=Sb(Qb(e.optimizer_config));let n,r;if("string"==typeof e.loss)n=ng(e.loss);else if(Array.isArray(e.loss))n=e.loss.map((e=>ng(e)));else if(null!=e.loss){n={};for(const t in e.loss)n[t]=ng(e.loss[t])}if(Array.isArray(e.metrics))r=e.metrics.map((e=>ng(e)));else if(null!=e.metrics){r={};for(const t in e.metrics)r[t]=ng(e.metrics[t])}this.compile({loss:n,metrics:r,optimizer:t})}async save(e,t){if("string"==typeof e){const t=Ha(e);if(0===t.length)throw new qm(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new qm(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new qm("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await Ra(this.getNamedWeights(t)),r={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${tx}`,convertedBy:null};if(null!=t&&t.includeOptimizer&&null!=this.optimizer){r.trainingConfig=this.getTrainingConfig();const e="optimizer",{data:t,specs:s}=await Ra(await this.optimizer.getWeights(),e);n.specs.push(...s),n.data=Oa([n.data,t])}if(null!=this.userDefinedMetadata){const e=!0;qb(this.userDefinedMetadata,this.name,e),r.userDefinedMetadata=this.userDefinedMetadata}return r.weightData=n.data,r.weightSpecs=n.specs,e.save(r)}setUserDefinedMetadata(e){qb(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}}Tx.className="Model",Eo(Tx);class Cx extends Tx{}async function Ex(e,t){"modelTopology"in e||(e={modelTopology:e});let n=(e=e).modelTopology;null!=n.model_config&&(n=n.model_config);const r=Sb(Qb(n),t);if(null!=e.weightsManifest){const t=await Di(e.weightsManifest,e.pathPrefix,r.weights.map((e=>e.originalName))),n={};for(const e of r.weights)n[e.originalName]=t[e.originalName];r.loadWeights(n),Yo(t)}return r}Cx.className="Functional",Eo(Cx);class $x extends Tx{constructor(e){if(super({inputs:[],outputs:[]}),e=e||{},this.trainable=!0,this.built=!1,this.name=null!=e.name?e.name:Yy("sequential_"),null!=e.layers)for(const t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some((e=>e<0)))throw new qm(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){const t=e instanceof $x||e instanceof Tx;let n;if(t){if(n=e,1!==n.outputs.length)throw new qm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new qm("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new qm("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const t=db({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(t)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new qm(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(1!==e.inboundNodes[0].outputTensors.length)throw new qm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=hb(this.outputs[0])}this.inboundNodes=[],new lb({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Ym(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map((e=>e.shape)),outputShapes:this.outputs[0].shape})}else{const t=e.apply(this.outputs[0]);if(Array.isArray(t))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[t],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return null==this.model&&this.build(),this.model.call(e,t)}build(e){if(eb(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new Tx({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){null==this.model&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return null==this.model&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new jm("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},r=!1){let s,a={};if(t instanceof Array){if(null==t[0].className||"Merge"===t[0].className)throw new qm("Legacy serialization format not supported yet.");s=t}else re(null!=t.layers,(()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field.")),s=t.layers,delete t.layers,a=t;const i=new e(a);if(!(i instanceof $x))throw new Km(`Sequential.fromConfig called on non-Sequential input: ${i}`);for(const e of s){const t=Sb(e,void 0,r);r&&t.setFastWeightInitDuringBuild(!0),i.add(t)}return i}set stopTraining(e){if(null==this.model)throw new qm("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(null==this.model)throw new qm("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const e=[];for(const t of this.layers){const n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}}function Ax(e){return new Tx(e)}function Rx(e){return new $x(e)}function Mx(e,t){return null==t&&(t={}),async function(e,t){if(null==t&&(t={}),"string"==typeof e){const n=ja(e,t);if(0===n.length)n.push(Bi(e,t));else if(n.length>1)throw new qm(`Found more than one (${n.length}) load handlers for URL '${e}'`);e=n[0]}return async function(e,t,n){if(null==n&&(n={}),null==e.load)throw new qm("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const r=await e.load();let s=r.modelTopology;null!=s.model_config&&(s=s.model_config);const a=null==n.strict||n.strict,i=null!=r.weightData&&null!=r.weightSpecs&&a,o=Sb(Qb(s),void 0,i),l=r.trainingConfig;if(null!=l&&o.loadTrainingConfig(l),null!=r.userDefinedMetadata&&o.setUserDefinedMetadata(r.userDefinedMetadata),null!=r.weightData){if(null==r.weightSpecs)throw new qm("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:e,optimizerWeights:t}=function(e,t){const n=Ma(e,t),r={},s=[];return t.forEach((e=>{"optimizer"===e.group?s.push({name:e.name,tensor:n[e.name]}):r[e.name]=n[e.name]})),{modelWeights:r,optimizerWeights:s}}(r.weightData,r.weightSpecs);o.loadWeights(e,a),null!=o.optimizer&&t.length>0&&await o.optimizer.setWeights(t),Yo(e),Yo(t.map((e=>e.tensor)))}return o}(e,0,t)}(e,t)}function Fx(e){return db(e)}function Dx(e,t){Ib.registerCallbackConstructor(e,t)}$x.className="Sequential",Eo($x);class _x extends To{getConfig(){return{}}}class Ox extends _x{apply(e,t=1){return function(e,t=1){if(1!==t)throw new Km(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return Zu(e)}(e,t)}}Ox.className="elu",Eo(Ox);class Lx extends _x{apply(e){return Ah(e)}}Lx.className="selu",Eo(Lx);class zx extends _x{apply(e){return vh(e)}}zx.className="relu",Eo(zx);class Px extends _x{apply(e){return Xo((()=>jc(6,vh(e))))}}Px.className="relu6",Eo(Px);class Bx extends _x{apply(e){return e}}Bx.className="linear",Eo(Bx);class Vx extends _x{apply(e){return du(e)}}Vx.className="sigmoid",Eo(Vx);class Ux extends _x{apply(e){return function(e){return Xo((()=>{const t=ll(.5,hl(.2,e));return Tu(t,0,1)}))}(e)}}Ux.className="hardSigmoid",Eo(Ux);class Wx extends _x{apply(e){return wc(e)}}Wx.className="softplus",Eo(Wx);class Gx extends _x{apply(e){return function(e){return Xo((()=>cl(e,ll(Al(e),1))))}(e)}}Gx.className="softsign",Eo(Gx);class Hx extends _x{apply(e){return mu(e)}}Hx.className="tanh",Eo(Hx);class jx extends _x{apply(e,t=-1){return Bh(e,t)}}jx.className="softmax",Eo(jx);class qx extends _x{apply(e,t=-1){return Nc(e,t)}}qx.className="logSoftmax",Eo(qx);class Kx extends _x{apply(e,t=1){return Xo((()=>hl(du(hl(e,t)),e)))}}Kx.className="swish",Eo(Kx);class Xx extends _x{apply(e){return Xo((()=>hl(e,mu(wc(e)))))}}function Yx(e){return e.getClassName()}function Zx(e,t={}){return ig(e,Co.getMap().classNameMap,t,"activation")}function Jx(e){if(null==e){return Zx({className:"linear",config:{}})}if("string"==typeof e){const t={};return t.className=e,t.config={},Zx(t)}return e instanceof _x?e:Zx(e)}function Qx(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${e}`)}Xx.className="mish",Eo(Xx);class ew extends To{}class tw extends ew{constructor(e){super(),Qx(e),this.l1=null==e||null==e.l1?.01:e.l1,this.l2=null==e||null==e.l2?.01:e.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(e){return Xo((()=>{let t=Uc([1]);return this.hasL1&&(t=ll(t,Ic(hl(this.l1,Al(e))))),this.hasL2&&(t=ll(t,Ic(hl(this.l2,ay(e))))),uu(t,[])}))}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}}tw.className="L1L2",Eo(tw);const nw={l1l2:"L1L2"};function rw(e){return sg(e)}function sw(e,t={}){return ig(e,Co.getMap().classNameMap,t,"regularizer")}function aw(e){return null==e?null:"string"==typeof e?sw({className:e in nw?nw[e]:e,config:{}}):e instanceof ew?e:sw(e)}class iw extends cb{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,null!=e&&(this.maxValue=e.maxValue)}call(e,t){e=Qy(e);let n=vh(e);return null!=this.maxValue&&(n=Tu(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){const e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}}iw.className="ReLU",Eo(iw);class ow extends cb{constructor(e){super(null==e?{}:e),this.DEFAULT_ALPHA=.3,null==e&&(e={}),this.alpha=null==e.alpha?this.DEFAULT_ALPHA:e.alpha}call(e,t){const n=Qy(e);return pc(n,this.alpha)}computeOutputShape(e){return e}getConfig(){const e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}}ow.className="LeakyReLU",Eo(ow);class lw extends cb{constructor(e){if(super(null==e?{}:e),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==e&&(e={}),this.supportsMasking=!0,this.alphaInitializer=Ry(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=aw(e.alphaRegularizer),this.alphaConstraint=Ng(e.alphaConstraint),null==e.sharedAxes)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else{if("number"!=typeof e.sharedAxes)throw new qm(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`);this.sharedAxes=[e.sharedAxes]}}build(e){const t=(e=eb(e)).slice(1);if(null!=this.sharedAxes)for(const e of this.sharedAxes)t[e-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let t=1;t(_g(t),"channelsFirst"===t?qi(e,[0,2,3,1]):e)))}function gw(e,t){return Xo((()=>(_g(t),"channelsFirst"===t?qi(e,[0,2,3,4,1]):e)))}function yw(e,t,n,r=[1,1],s="valid",a,i,o=null){return Xo((()=>{if(null==a&&(a="channelsLast"),_g(a),3!==e.rank&&4!==e.rank)throw new qm(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${e.rank}.`);if(3!==t.rank&&4!==t.rank)throw new qm(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${e.rank}.`);let l=mw(e,a);if("causal"===s)throw new Km("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=Cp({x:l,filter:t,strides:r,pad:"same"===s?"same":"valid",dilations:i,dataFormat:"NHWC",bias:n,activation:o}),"channelsFirst"===a&&(l=qi(l,[0,3,1,2])),l}))}hw.className="Softmax",Eo(hw);class bw extends cb{constructor(e,t){if(super(t),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",bw.verifyArgs(t),this.rank=e,pg(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new Km(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=pw(t.kernelSize,e,"kernelSize"),this.strides=pw(null==t.strides?1:t.strides,e,"strides"),this.padding=null==t.padding?"valid":t.padding,Og(this.padding),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,_g(this.dataFormat),this.activation=Jx(t.activation),this.useBias=null==t.useBias||t.useBias,this.biasInitializer=Ry(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=Ng(t.biasConstraint),this.biasRegularizer=aw(t.biasRegularizer),this.activityRegularizer=aw(t.activityRegularizer),this.dilationRate=pw(null==t.dilationRate?1:t.dilationRate,e,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new qm(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new qm(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new qm(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(e){if(Zm("kernelSize"in e,"required key 'kernelSize' not in config"),"number"!=typeof e.kernelSize&&!hg(e.kernelSize,"number",1,3))throw new qm(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){const e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:Yx(this.activation),useBias:this.useBias,biasInitializer:Ay(this.biasInitializer),biasRegularizer:rw(this.biasRegularizer),activityRegularizer:rw(this.activityRegularizer),biasConstraint:kg(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}class xw extends bw{constructor(e,t){super(e,t),this.kernel=null,xw.verifyArgs(t),this.filters=t.filters,pg(this.filters,"filters"),this.kernelInitializer=Ry(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=Ng(t.kernelConstraint),this.kernelRegularizer=aw(t.kernelRegularizer)}build(e){e=eb(e);const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new qm(`The channel dimension of the input should be defined. Found ${e[t]}`);const n=e[t],r=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return Xo((()=>{let t;e=Qy(e);const n=null==this.bias?null:this.bias.read(),r=fg(this.activation.getClassName());if(null!=r&&2===this.rank)t=yw(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,r);else{if(1===this.rank)t=function(e,t,n,r=1,s="valid",a,i=1){return Xo((()=>{if(null==a&&(a="channelsLast"),_g(a),3!==e.shape.length)throw new qm(`The input of a conv1dWithBias operation should be 3, but is ${e.shape.length} instead.`);if(3!==t.shape.length)throw new qm(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new qm(`The bias for a conv1dWithBias operation should be 1, but is ${t.shape.length} instead`);if("channelsFirst"===a&&(e=qi(e,[0,2,1])),"causal"===s)throw new Km("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let o=Mu(e,t,r,"same"===s?"same":"valid","NWC",i);return null!=n&&(o=oy(o,n)),o}))}(e,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)t=yw(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new Km("convolutions greater than 3D are not implemented yet.");t=function(e,t,n,r=[1,1,1],s="valid",a,i){return Xo((()=>{if(null==a&&(a="channelsLast"),_g(a),4!==e.rank&&5!==e.rank)throw new qm(`conv3dWithBias expects input to be of rank 4 or 5, but received ${e.rank}.`);if(4!==t.rank&&5!==t.rank)throw new qm(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${e.rank}.`);let o=gw(e,a);if("causal"===s)throw new Km("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return o=_u(o,t,r,"same"===s?"same":"valid","NDHWC",i),null!=n&&(o=oy(o,n)),"channelsFirst"===a&&(o=qi(o,[0,4,1,2,3])),o}))}(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(t=this.activation.apply(t))}return t}))}computeOutputShape(e){e=eb(e);const t=[],n="channelsLast"===this.dataFormat?e.slice(1,e.length-1):e.slice(2);for(let e=0;e 0 but got ${JSON.stringify(e.filters)}`)}}class ww extends xw{constructor(e){super(2,e),ww.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!hg(e.kernelSize,"number",1,2))throw new qm(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}}ww.className="Conv2D",Eo(ww);class vw extends xw{constructor(e){super(3,e),vw.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&(!Array.isArray(e.kernelSize)||1!==e.kernelSize.length&&3!==e.kernelSize.length))throw new qm(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}}vw.className="Conv3D",Eo(vw);class kw extends ww{constructor(e){if(super(e),this.inputSpec=[new ab({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new qm(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(4!==(e=eb(e)).length)throw new qm("Input should have rank 4; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new qm("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ab({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return Xo((()=>{let t=Qy(e);if(4!==t.shape.length)throw new qm(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,r=n[0];let s,a;"channelsFirst"===this.dataFormat?(s=2,a=3):(s=1,a=2);const i=n[s],o=n[a],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],h=this.strides[1],p=[r,fw(i,c,l,this.padding),fw(o,h,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=qi(t,[0,2,3,1]));let d=Du(t,this.kernel.read(),p,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(d=qi(d,[0,3,1,2])),null!=this.bias&&(d=oy(d,this.bias.read(),this.dataFormat)),null!=this.activation&&(d=this.activation.apply(d)),d}))}computeOutputShape(e){const t=(e=eb(e)).slice();let n,r,s;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3):(n=3,r=1,s=2);const a=this.kernelSize[0],i=this.kernelSize[1],o=this.strides[0],l=this.strides[1];return t[n]=this.filters,t[r]=fw(t[r],o,a,this.padding),t[s]=fw(t[s],l,i,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}kw.className="Conv2DTranspose",Eo(kw);class Iw extends vw{constructor(e){if(super(e),this.inputSpec=[new ab({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new qm(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(5!==(e=eb(e)).length)throw new qm("Input should have rank 5; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new qm("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ab({ndim:5,axes:{[t]:n}})],this.built=!0}call(e,t){return Xo((()=>{let t=Qy(e);if(5!==t.shape.length)throw new qm(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,r=n[0];let s,a,i;"channelsFirst"===this.dataFormat?(i=2,s=3,a=4):(i=1,s=2,a=3);const o=n[i],l=n[s],u=n[a],c=this.kernelSize[0],h=this.kernelSize[1],p=this.kernelSize[2],d=this.strides[0],f=this.strides[1],m=this.strides[2],g=[r,fw(o,d,c,this.padding),fw(l,f,h,this.padding),fw(u,m,p,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=qi(t,[0,2,3,4,1]));let y=Lu(t,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(y=qi(y,[0,4,1,2,3])),null!==this.bias&&(y=oy(y,this.bias.read(),this.dataFormat)),null!==this.activation&&(y=this.activation.apply(y)),y}))}computeOutputShape(e){const t=(e=eb(e)).slice();let n,r,s,a;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3,a=4):(n=4,r=1,s=2,a=3);const i=this.kernelSize[0],o=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],h=this.strides[2];return t[n]=this.filters,t[r]=fw(t[r],u,i,this.padding),t[s]=fw(t[s],c,o,this.padding),t[a]=fw(t[a],h,l,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Iw.className="Conv3DTranspose",Eo(Iw);class Nw extends xw{constructor(e,t){if(super(e,t),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==t.filters)throw new qm("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=t.kernelInitializer||null!=t.kernelRegularizer||null!=t.kernelConstraint)throw new qm("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=t.padding&&"same"!==t.padding&&"valid"!==t.padding)throw new qm(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=Ry(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=aw(t.depthwiseRegularizer),this.depthwiseConstraint=Ng(t.depthwiseConstraint),this.pointwiseInitializer=Ry(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=aw(t.pointwiseRegularizer),this.pointwiseConstraint=Ng(t.pointwiseConstraint)}build(e){if((e=eb(e)).length{let t;if(e=Qy(e),1===this.rank)throw new Km("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(e=qi(e,[0,2,3,1])),t=Rh(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(t=oy(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),"channelsFirst"===this.dataFormat&&(t=qi(t,[0,3,1,2])),t}))}getConfig(){const e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=Ay(this.depthwiseInitializer),e.pointwiseInitializer=Ay(this.pointwiseInitializer),e.depthwiseRegularizer=rw(this.depthwiseRegularizer),e.pointwiseRegularizer=rw(this.pointwiseRegularizer),e.depthwiseConstraint=kg(this.depthwiseConstraint),e.pointwiseConstraint=kg(this.pointwiseConstraint),e}}Nw.className="SeparableConv";class Sw extends Nw{constructor(e){super(2,e)}}Sw.className="SeparableConv2D",Eo(Sw);class Tw extends xw{constructor(e){super(1,e),Tw.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){const e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!hg(e.kernelSize,"number",1,1))throw new qm(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}}Tw.className="Conv1D",Eo(Tw);class Cw extends cb{constructor(e){super(e),"number"==typeof e.cropping?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:"number"==typeof e.cropping[0]?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=void 0===e.dataFormat?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return"channelsFirst"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return Xo((()=>{if(e=Qy(e),"channelsLast"===this.dataFormat){const t=Jg(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return Jg(t,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const t=Jg(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return Jg(t,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}}))}getConfig(){const e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Cw.className="Cropping2D",Eo(Cw);class Ew extends cb{constructor(e){var t;super(e),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==e.size?this.DEFAULT_SIZE:e.size,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,_g(this.dataFormat),this.interpolation=null==e.interpolation?"nearest":e.interpolation,t=this.interpolation,cg(Ag,"InterpolationFormat",t)}computeOutputShape(e){if("channelsFirst"===this.dataFormat){const t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}{const t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return Xo((()=>{let t=Qy(e);const n=t.shape;if("channelsFirst"===this.dataFormat){t=qi(t,[0,2,3,1]);const e=this.size[0]*n[2],r=this.size[1]*n[3],s="nearest"===this.interpolation?Td.resizeNearestNeighbor(t,[e,r]):Td.resizeBilinear(t,[e,r]);return qi(s,[0,3,1,2])}{const e=this.size[0]*n[1],r=this.size[1]*n[2];return"nearest"===this.interpolation?Td.resizeNearestNeighbor(t,[e,r]):Td.resizeBilinear(t,[e,r])}}))}getConfig(){const e={size:this.size,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Ew.className="UpSampling2D",Eo(Ew);class $w extends bw{constructor(e){super(2,e),this.depthwiseKernel=null,this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=Ry(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=Ng(e.depthwiseConstraint),this.depthwiseRegularizer=aw(e.depthwiseRegularizer)}build(e){if((e=eb(e)).length<4)throw new qm(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);const t="channelsFirst"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new qm(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);const n=e[t],r=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",r,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return Xo((()=>{let t=function(e,t,n=[1,1],r="valid",s,a){return Xo((()=>{null==s&&(s="channelsLast"),_g(s);let i=mw(e,s);if(4!==e.rank)throw new qm(`Input for depthwiseConv2d is required to be 4-D, but is instead ${e.rank}-D`);if(4!==t.rank)throw new qm(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return i=Wu(i,t,n,"same"===r?"same":"valid","NHWC",a),"channelsFirst"===s&&(i=qi(i,[0,3,1,2])),i}))}(e=Qy(e),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(t=oy(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),t}))}computeOutputShape(e){e=eb(e);const t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],r="channelsFirst"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,s=dw(t,this.kernelSize[0],this.padding,this.strides[0]),a=dw(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[e[0],r,s,a]:[e[0],s,a,r]}getConfig(){const e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=Ay(this.depthwiseInitializer),e.depthwiseRegularizer=rw(this.depthwiseRegularizer),e.depthwiseConstraint=kg(this.depthwiseRegularizer),e}}function Aw(e,t,n,r){if(Array.isArray(e)){if(null!=t||null!=n)throw new qm("When inputs is an array, neither initialState or constants should be provided");null!=r&&(n=e.slice(e.length-r,e.length),e=e.slice(0,e.length-r)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function s(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=s(t),constants:n=s(n)}}function Rw(e,t,n,r=!1,s,a,i=!1,o=!1){return Xo((()=>{const l=t.shape.length;if(l<3)throw new qm(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(qg(2,l));if(t=qi(t,u),null!=a)throw new Km("The rnn() functoin of the deeplearn.js backend does not support constants yet.");i&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=s&&((s=Si(Si(s,"bool"),"float32")).rank===l-1&&(s=ec(s,-1)),s=qi(s,u)),r&&(t=Ih(t,0),null!=s&&(s=Ih(s,0)));const c=[];let h,p=n;const d=t.shape[0],f=op(t);let m,g;null!=s&&(m=op(s));for(let t=0;te(n,p)));if(null==s)h=r[0],p=r[1];else{const e=Xo((()=>{const e=m[t],n=El(Qc(e),e);return{output:ll(hl(r[0],e),hl(p[0],n)),newStates:p.map(((t,s)=>ll(hl(r[1][s],e),hl(t,n))))}}));h=e.output,p=e.newStates}o&&c.push(h)}return o&&(g=Kh(c,1)),[h,g,p]}))}$w.className="DepthwiseConv2D",Eo($w);class Mw extends cb{constructor(e){let t;if(super(e),null==e.cell)throw new qm("cell property is missing for the constructor of RNN.");if(t=Array.isArray(e.cell)?new Bw({cells:e.cell}):e.cell,null==t.stateSize)throw new qm("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=null!=e.returnSequences&&e.returnSequences,this.returnState=null!=e.returnState&&e.returnState,this.goBackwards=null!=e.goBackwards&&e.goBackwards,this._stateful=null!=e.stateful&&e.stateful,this.unroll=null!=e.unroll&&e.unroll,this.supportsMasking=!0,this.inputSpec=[new ab({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){return null==this.states_?qg(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map((e=>null)):this.states_}setStates(e){this.states_=e}computeOutputShape(e){Zy(e)&&(e=e[0]),e=e;let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);const n=t[0];let r;if(r=this.returnSequences?[e[0],e[1],n]:[e[0],n],this.returnState){const n=[];for(const r of t)n.push([e[0],r]);return[r].concat(n)}return r}computeMask(e,t){return Xo((()=>{Array.isArray(t)&&(t=t[0]);const e=this.returnSequences?t:null;if(this.returnState){const t=this.states.map((e=>null));return[e].concat(t)}return e}))}get states(){if(null==this.states_){const e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ne.shape[e.shape.length-1])),s))throw new qm(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=s.map((e=>new ab({shape:[null,e]})));this.stateful&&this.resetStates()}resetStates(e,t=!1){Xo((()=>{if(!this.stateful)throw new Hm("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new qm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((e=>Uc([n,e]))):this.states_=[Uc([n,this.cell.stateSize])];else if(null==e)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((e=>Uc([n,e]))):this.states_[0]=Uc([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new qm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);!0===t?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let t=0;tZo(e.clone())))}))}apply(e,t){let n=null==t?null:t.initialState,r=null==t?null:t.constants;null==t&&(t={});const s=Aw(e,n,r,this.numConstants);e=s.inputs,n=s.initialState,r=s.constants;let a=[],i=[];if(null!=n){t.initialState=n,a=a.concat(n),this.stateSpec=[];for(const e of n)this.stateSpec.push(new ab({shape:e.shape}));i=i.concat(this.stateSpec)}if(null!=r&&(t.constants=r,a=a.concat(r),this.numConstants=r.length),a[0]instanceof ib){const n=[e].concat(a),r=this.inputSpec.concat(i),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,t);return this.inputSpec=s,o}return super.apply(e,t)}call(e,t){return Xo((()=>{const n=null==t?null:t.mask,r=null==t?null:t.training;let s=null==t?null:t.initialState;e=Qy(e),null==s&&(s=this.stateful?this.states_:this.getInitialState(e));const a=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==a)throw new qm(`RNN Layer has ${a} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const i={training:r},o=Rw(((e,t)=>{const n=this.cell.call([e].concat(t),i);return[n[0],n.slice(1)]}),e,s,this.goBackwards,n,null,this.unroll,this.returnSequences),l=o[0],u=o[1],c=o[2];this.stateful&&this.resetStates(c,r);const h=this.returnSequences?u:l;return this.returnState?[h].concat(c):h}))}getInitialState(e){return Xo((()=>{let t=Uc(e.shape);return t=Ic(t,[1,2]),t=Xg(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map((e=>e>1?ty(t,[1,e]):t)):this.cell.stateSize>1?[ty(t,[1,this.cell.stateSize])]:[t]}))}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){const e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Mw.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,e,t)}static fromConfig(e,t,n={}){const r=Sb(t.cell,n);return new e(Object.assign(t,{cell:r}))}}Mw.className="RNN",Eo(Mw);class Fw extends cb{}class Dw extends Fw{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,pg(this.units,"units"),this.activation=Jx(null==e.activation?this.DEFAULT_ACTIVATION:e.activation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=Ry(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Ry(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Ry(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=aw(e.kernelRegularizer),this.recurrentRegularizer=aw(e.recurrentRegularizer),this.biasRegularizer=aw(e.biasRegularizer),this.kernelConstraint=Ng(e.kernelConstraint),this.recurrentConstraint=Ng(e.recurrentConstraint),this.biasConstraint=Ng(e.biasConstraint),this.dropout=Hg([1,jg([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=Hg([1,jg([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=eb(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return Xo((()=>{if(2!==(e=e).length)throw new qm(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];const r=null!=t.training&&t.training;let s;0Qc(e),rate:this.dropout,training:r,dropoutFunc:this.dropoutFunc})),0Qc(n),rate:this.recurrentDropout,training:r,dropoutFunc:this.dropoutFunc}));const a=this.dropoutMask,i=this.recurrentDropoutMask;s=ry(null!=a?hl(e,a):e,this.kernel.read()),null!=this.bias&&(s=oy(s,this.bias.read())),null!=i&&(n=hl(n,i));let o=ll(s,ry(n,this.recurrentKernel.read()));return null!=this.activation&&(o=this.activation.apply(o)),[o,o]}))}getConfig(){const e=super.getConfig(),t={units:this.units,activation:Yx(this.activation),useBias:this.useBias,kernelInitializer:Ay(this.kernelInitializer),recurrentInitializer:Ay(this.recurrentInitializer),biasInitializer:Ay(this.biasInitializer),kernelRegularizer:rw(this.kernelRegularizer),recurrentRegularizer:rw(this.recurrentRegularizer),biasRegularizer:rw(this.biasRegularizer),activityRegularizer:rw(this.activityRegularizer),kernelConstraint:kg(this.kernelConstraint),recurrentConstraint:kg(this.recurrentConstraint),biasConstraint:kg(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},e,t)}}Dw.className="SimpleRNNCell",Eo(Dw);class _w extends Mw{constructor(e){e.cell=new Dw(e),super(e)}call(e,t){return Xo((()=>{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}static fromConfig(e,t){return new e(t)}}_w.className="SimpleRNN",Eo(_w);class Ow extends Fw{constructor(e){if(super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new qm("GRUCell does not support reset_after parameter set to true.");this.units=e.units,pg(this.units,"units"),this.activation=Jx(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Jx(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=Ry(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Ry(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Ry(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=aw(e.kernelRegularizer),this.recurrentRegularizer=aw(e.recurrentRegularizer),this.biasRegularizer=aw(e.biasRegularizer),this.kernelConstraint=Ng(e.kernelConstraint),this.recurrentConstraint=Ng(e.recurrentConstraint),this.biasConstraint=Ng(e.biasConstraint),this.dropout=Hg([1,jg([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=Hg([1,jg([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){const t=(e=eb(e))[e.length-1];this.kernel=this.addWeight("kernel",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return Xo((()=>{if(2!==(e=e).length)throw new qm(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);const n=null!=t.training&&t.training;let r=e[1];e=e[0],0Qc(e),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,a=this.recurrentDropoutMask;let i,o,l;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Lw.className="GRU",Eo(Lw);class zw extends Fw{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,pg(this.units,"units"),this.activation=Jx(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Jx(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=Ry(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=Ry(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=Ry(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=aw(e.kernelRegularizer),this.recurrentRegularizer=aw(e.recurrentRegularizer),this.biasRegularizer=aw(e.biasRegularizer),this.kernelConstraint=Ng(e.kernelConstraint),this.recurrentConstraint=Ng(e.recurrentConstraint),this.biasConstraint=Ng(e.biasConstraint),this.dropout=Hg([1,jg([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=Hg([1,jg([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;const n=(e=eb(e))[e.length-1];let r;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const e=this.biasInitializer,n=this.units;r=new((t=class extends py{apply(t,r){const s=e.apply([n]),a=(new fy).apply([n]),i=e.apply([2*n]);return ey(ey(s,a),i)}}).className="CustomInit",t)}else r=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,r,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return Xo((()=>{const n=null!=t.training&&t.training;if(3!==(e=e).length)throw new qm(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let r=e[1];const s=e[2];e=e[0],0Qc(e),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const a=this.dropoutMask,i=this.recurrentDropoutMask;let o,l,u,c;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Pw.className="LSTM",Eo(Pw);class Bw extends Fw{constructor(e){super(e),this.cells=e.cells}get stateSize(){const e=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return Xo((()=>{let n=(e=e).slice(1);const r=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?r.push(n.splice(0,e.stateSize.length)):r.push(n.splice(0,1));r.reverse();const s=[];let a;for(let i=0;i{Pg(`RNNCell_${r}`,(()=>{n.build(e),t=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,e=[e[0],t]}))})),this.built=!0}getConfig(){const e=super.getConfig(),t={cells:this.cells.map((e=>({className:e.getClassName(),config:e.getConfig()})))};return Object.assign({},e,t)}static fromConfig(e,t,n={}){const r=[];for(const e of t.cells)r.push(Sb(e,n));return new e({cells:r})}get trainableWeights(){if(!this.trainable)return[];const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t.concat(e)}return e}getWeights(){const e=[];for(const t of this.cells)e.push(...t.weights);return rb(e)}setWeights(e){const t=[];for(const n of this.cells){const r=n.weights.length,s=e.splice(r);for(let e=0;enull!=a?a(t(),n):ly(t(),n),o=()=>uy(i,t,r);return!s||s<=1?Zo(o().clone()):Array(s).fill(void 0).map(o).map((e=>Zo(e.clone())))}Bw.className="StackedRNNCells",Eo(Bw);class Uw extends Mw{constructor(e){if(e.unroll)throw new Km("Unrolling is not possible with convolutional RNNs.");if(Array.isArray(e.cell))throw new Km("It is not possible at the moment to stack convolutional cells.");super(e),this.inputSpec=[new ab({ndim:5})]}call(e,t){return Xo((()=>{if(null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new qm("ConvRNN2D cell does not support constants");const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return Xo((()=>{const{stateSize:t}=this.cell,n=e.shape,r=this.computeSingleOutputShape(n),s=Uc([r[0],...r.slice(2)]);return Array.isArray(t)?Array(t.length).fill(s):[s]}))}resetStates(e,t=!1){Xo((()=>{if(!this.stateful)throw new Hm("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,r=this.computeSingleOutputShape(n),s=[r[0],...r.slice(2)];if(null==n[0])throw new qm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Uc(s))):this.states_=[Uc(s)];else if(null==e)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Uc(s))):this.states_[0]=Uc(s);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new qm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let t=0;tZo(e.clone())))}))}computeSingleOutputShape(e){const{dataFormat:t,filters:n,kernelSize:r,padding:s,strides:a,dilationRate:i}=this.cell,o="channelsFirst"===t,l=e[o?3:2],u=e[o?4:3],c=dw(l,r[0],s,a[0],i[0]),h=dw(u,r[1],s,a[1],i[1]);return[...e.slice(0,2),...o?[n,c,h]:[c,h,n]]}}Uw.className="ConvRNN2D";class Ww extends zw{constructor(e){const{filters:t,kernelSize:n,strides:r,padding:s,dataFormat:a,dilationRate:i}=e;super(Object.assign({},e,{units:t})),this.filters=t,pg(this.filters,"filters"),this.kernelSize=pw(n,2,"kernelSize"),this.kernelSize.forEach((e=>pg(e,"kernelSize"))),this.strides=pw(r||1,2,"strides"),this.strides.forEach((e=>pg(e,"strides"))),this.padding=s||"valid",Og(this.padding),this.dataFormat=a||"channelsLast",_g(this.dataFormat),this.dilationRate=pw(i||1,2,"dilationRate"),this.dilationRate.forEach((e=>pg(e,"dilationRate")))}build(e){var t;e=eb(e);const n="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[n])throw new qm(`The channel dimension of the input should be defined. Found ${e[n]}`);const r=e[n],s=this.kernelSize.concat([r,4*this.filters]);this.kernel=this.addWeight("kernel",s,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const a=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",a,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let e;if(this.unitForgetBias){const n=this.biasInitializer,r=this.filters;e=new((t=class extends py{apply(e,t){return Qg([n.apply([r]),Wc([r]),n.apply([2*r])])}}).className="CustomInit",t)}else e=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,e,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return Xo((()=>{if(3!==e.length)throw new qm(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);const n=t.training||!1,r=e[0],s=e[1],a=e[2];0Qc(r),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const i=this.dropoutMask,o=(e,t,n)=>t&&t[n]?hl(t[n],e):e;let l=o(r,i,0),u=o(r,i,1),c=o(r,i,2),h=o(r,i,3);0Qc(s),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const p=this.recurrentDropoutMask;let d=o(s,p,0),f=o(s,p,1),m=o(s,p,2),g=o(s,p,3);const[y,b,x,w]=Gh(this.kernel.read(),4,3),[v,k,I,N]=this.useBias?Gh(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,y,v,this.padding),u=this.inputConv(u,b,k,this.padding),c=this.inputConv(c,x,I,this.padding),h=this.inputConv(h,w,N,this.padding);const[S,T,C,E]=Gh(this.recurrentKernel.read(),4,3);d=this.recurrentConv(d,S),f=this.recurrentConv(f,T),m=this.recurrentConv(m,C),g=this.recurrentConv(g,E);const $=this.recurrentActivation.apply(ll(l,d)),A=this.recurrentActivation.apply(ll(u,f)),R=ll(hl(A,a),hl($,this.activation.apply(ll(c,m)))),M=hl(this.recurrentActivation.apply(ll(h,g)),this.activation.apply(R));return[M,M,R]}))}getConfig(){const e=super.getConfig(),{units:t}=e,n=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s{this.invokeCallHook(e,t);const n=Qy(e);if(0ly(n,this.rate,r,this.seed)),(()=>n),e)}return e}))}getConfig(){const e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}}Hw.className="Dropout",Eo(Hw);class jw extends Hw{constructor(e){super(e),this.inputSpec=[{ndim:3}]}getNoiseShape(e){const t=e.shape;return[t[0],1,t[2]]}}jw.className="SpatialDropout1D",Eo(jw);class qw extends cb{constructor(e){if(super(e),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==e.batchInputShape&&null==e.inputShape&&null!=e.inputDim){let t=null;null!=e.batchSize&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,pg(this.units,"units"),this.activation=Jx(e.activation),null!=e.useBias&&(this.useBias=e.useBias),this.kernelInitializer=Ry(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=Ry(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=Ng(e.kernelConstraint),this.biasConstraint=Ng(e.biasConstraint),this.kernelRegularizer=aw(e.kernelRegularizer),this.biasRegularizer=aw(e.biasRegularizer),this.activityRegularizer=aw(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){const t=(e=eb(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){const t=(e=eb(e)).slice();return t[t.length-1]=this.units,t}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=Qy(e),r=fg(this.activation.getClassName());let s;return null!=r?s=ry(n,this.kernel.read(),r,this.bias?this.bias.read():null):(s=ry(n,this.kernel.read()),null!=this.bias&&(s=oy(s,this.bias.read())),null!=this.activation&&(s=this.activation.apply(s))),s}))}getConfig(){const e={units:this.units,activation:Yx(this.activation),useBias:this.useBias,kernelInitializer:Ay(this.kernelInitializer),biasInitializer:Ay(this.biasInitializer),kernelRegularizer:rw(this.kernelRegularizer),biasRegularizer:rw(this.biasRegularizer),activityRegularizer:rw(this.activityRegularizer),kernelConstraint:kg(this.kernelConstraint),biasConstraint:kg(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}qw.className="Dense",Eo(qw);class Kw extends cb{constructor(e){super(e=e||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=eb(e);for(const t of e.slice(1))if(null==t)throw new qm(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],Gg(e,1)]}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);let n=Qy(e);if("channelsFirst"===this.dataFormat&&n.rank>1){const e=[0];for(let t=2;t{this.invokeCallHook(e,t);const n=Qy(e);return this.activation.apply(n)}))}getConfig(){const e={activation:Yx(this.activation)},t=super.getConfig();return Object.assign(e,t),e}}Xw.className="Activation",Eo(Xw);class Yw extends cb{constructor(e){super(e),this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return Xo((()=>{return e=Qy(e),t=e,n=this.n,Xo((()=>{if(2!==t.shape.length)throw new qm(`repeat() expects a rank-2 tensor, but received a rank-${t.shape.length} tensor.`);return ty(Xg(t,1),[1,n,1])}));var t,n}))}getConfig(){const e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}}Yw.className="RepeatVector",Eo(Yw);class Zw extends cb{constructor(e){super(e),this.targetShape=e.targetShape;for(let e=0;e{this.invokeCallHook(e,t);const n=Qy(e),r=n.shape,s=r.slice(0,1).concat(this.fixUnknownDimension(r.slice(1),this.targetShape));return uu(n,s)}))}getConfig(){const e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}}Zw.className="Reshape",Eo(Zw);class Jw extends cb{constructor(e){if(super(e),null==e.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);const t=qg(1,e.dims.length+1);if(!ue(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new ab({ndim:this.dims.length+1})]}computeOutputShape(e){const t=(e=eb(e)).slice();return this.dims.forEach(((n,r)=>{t[r+1]=e[n]})),t}call(e,t){return qi(Qy(e),this.dimsIncludingBatch)}getConfig(){const e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}}Jw.className="Permute",Eo(Jw);class Qw extends cb{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,this.maskValue=null!=e?null==e.maskValue?0:e.maskValue:0}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){const n=Qy(e);return Vl(Jc(n,this.maskValue),-1)}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=Qy(e),r=Vl(Jc(n,this.maskValue),-1,!0);return hl(n,Si(r,n.dtype))}))}}Qw.className="Masking",Eo(Qw);class ev extends cb{constructor(e){if(super(e),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==e.batchInputShape&&null==e.inputShape){let t=null;null!=e.batchSize&&(t=e.batchSize),null==e.inputLength?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(eg(e.inputLength))}this.inputDim=e.inputDim,pg(this.inputDim,"inputDim"),this.outputDim=e.outputDim,pg(this.outputDim,"outputDim"),this.embeddingsInitializer=Ry(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=aw(e.embeddingsRegularizer),this.activityRegularizer=aw(e.activityRegularizer),this.embeddingsConstraint=Ng(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return Xo((()=>this.maskZero?(e=Qy(e),Jc(e,fl(e))):null))}computeOutputShape(e){if(e=eb(e),null==this.inputLength)return[...e,this.outputDim];const t=eg(this.inputLength);if(t.length!==e.length-1)throw new qm(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let r=0;r{this.invokeCallHook(e,t);let n=Qy(e);"int32"!==n.dtype&&(n=Kg(n,"int32"));const r=sy(this.embeddings.read(),uu(n,[n.size]));return uu(r,eb(this.computeOutputShape(n.shape)))}))}getConfig(){const e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Ay(this.embeddingsInitializer),embeddingsRegularizer:rw(this.embeddingsRegularizer),activityRegularizer:rw(this.activityRegularizer),embeddingsConstraint:kg(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}}ev.className="Embedding",Eo(ev);class tv extends cb{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFunction(e){throw new Km}computeElementwiseOpOutputShape(e,t){if(null==e||null==t)return null;if(e.length1)throw new qm(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=null==e[0]?null:e[0].slice(1);for(let t=1;te.length));-1===e.indexOf(null)&&1===lg(r).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return Xo((()=>{if(e=e,this.reshapeRequired){const t=[],n=e.map((e=>e.rank));if(-1===n.indexOf(null)){const r=jg(n);for(let n of e){const e=n.rank;for(let t=0;t1){const s=qg(1,e).concat([0]);t.push(qi(r,s)),n=!0}else t.push(r)}let r=this.mergeFunction(t);const s=r.rank;if(n)if(null==s){const e=r.shape,t=e[e.length-1],n=[t].concat(e.slice(0,e.length-1));r=uu(qi(uu(r,[-1,t]),[1,0]),n)}else if(s>1){const e=[s-1].concat(qg(0,s-1));r=qi(r,e)}return r}}return this.mergeFunction(e)}))}computeOutputShape(e){let t;t=null==(e=e)[0]?null:e[0].slice(1);for(let n=1;n{if(null==t)return null;if(!Array.isArray(t))throw new qm("`mask` should be an Array");if(!Array.isArray(e))throw new qm("`inputs` should be an Array");if(t.length!==e.length)throw new qm(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every((e=>null==e)))return null;let n=(t=t.map((e=>null==e?e:ec(e,0))))[0];for(let e=1;e{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new qm("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return Xo((()=>Qg(e,this.axis)))}computeOutputShape(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new qm("A `Concatenate` layer should be called on a list of inputs.");const t=e,n=t[0].slice(),r=this.axis<0?n.length+this.axis:this.axis;for(const e of t.slice(1)){if(null==n[r]||null==e[r]){n[r]=null;break}n[r]+=e[r]}return n}computeMask(e,t){if(null==t)return null;if(!Array.isArray(t))throw new qm("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new qm("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new qm(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return Xo((()=>{let n=!0;if(t.forEach((e=>{null==e||(n=!1)})),n)return null;const r=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs."));const t=e[0],n=e[1];if(t.length>3||n.length>3)throw new Km("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(t,n);if(t[r[0]]!==n[r[1]])throw new qm(`Dimension incompatibility: ${t[r[0]]} !== ${n[r[1]]}`)}mergeFunction(e){if(2!==e.length)throw new qm(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t,n=e[0],r=e[1];return t=Array.isArray(this.axes)?this.axes.map(((t,n)=>lv(t,e[n].shape.length))):[lv(this.axes,n.shape.length),lv(this.axes,r.shape.length)],this.normalize&&(n=Tb(n,t[0]),r=Tb(r,t[1])),function(e,t,n){if(e.shape.length>3||t.shape.length>3)throw new Km("batchDot is not implemented for tensors of 4D or higher rank yet");if(re(e.shape.length>=2,(()=>`batchDot requires the rank of x to be >= 2, but got ${e.shape.length}`)),re(e.shape.length>=2,(()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`)),"number"==typeof n&&(n=[n,n]),"complex64"===e.dtype||"complex64"===t.dtype)throw new Km("batchDot is not implemented for complex64-type Tensors yet.");const r=e.shape.length,s=t.shape.length;null==n&&(n=[r-1,s-2]);const a=n;return Xo((()=>{let n,i;if(r>s){n=r-s;const e=[];for(let t=0;tr){n=s-r;const t=[];for(let e=0;e0){let e;e=r>s?r+s-3:r-1;const t=[];for(let r=e;r"A `Dot` layer should be called on a list of exactly 2 inputs."));const t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new Km("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(t,n);t.splice(r[0],1),n.splice(r[1],1),n.splice(0,1);const s=t.concat(n);return 1===s.length&&s.push(1),s}computeMask(e,t){return null}getConfig(){const e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}}uv.className="Dot",Eo(uv);class cv extends cb{constructor(e){super(e),this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=Qy(e);return uy((()=>ll(ny(n.shape,0,this.stddev),n)),(()=>n),t.training||!1)}))}}cv.className="GaussianNoise",Eo(cv);class hv extends cb{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=Qy(e);return this.rate>0&&this.rate<1?uy((()=>{const e=Math.sqrt(this.rate/(1-this.rate));return hl(n,ny(n.shape,1,e))}),(()=>n),t.training||!1):n}))}}hv.className="GaussianDropout",Eo(hv);class pv extends cb{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||Qy(e).shape}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return Xo((()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(e);return uy((()=>{const t=Qy(e),r=-1.7580993408473766;let s=oc(yh(n),this.rate);s=Kg(s,"float32");const a=((1-this.rate)*(1+this.rate*r**2))**-.5,i=-a*r*this.rate,o=ll(hl(t,s),hl(ll(s,-1),r));return ll(hl(o,a),i)}),(()=>Qy(e)),t.training||!1)}return e}))}}function dv(e,t,n,r,s,a=.001){let i;if(2===e.rank)i=xu(e,t,n,r,s,a);else if(3===e.rank)i=wu(e,t,n,r,s,a);else{if(4!==e.rank)throw new Km(`batchNormalization is not implemented for array of rank ${e.rank} yet`);i=vu(e,t,n,r,s,a)}return i}pv.className="AlphaDropout",Eo(pv);class fv extends cb{constructor(e){null==e&&(e={}),super(e),this.supportsMasking=!0,this.axis=null==e.axis?-1:e.axis,this.momentum=null==e.momentum?.99:e.momentum,this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=Ry(e.betaInitializer||"zeros"),this.gammaInitializer=Ry(e.gammaInitializer||"ones"),this.movingMeanInitializer=Ry(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=Ry(e.movingVarianceInitializer||"ones"),this.betaConstraint=Ng(e.betaConstraint),this.gammaConstraint=Ng(e.gammaConstraint),this.betaRegularizer=aw(e.betaRegularizer),this.gammaRegularizer=aw(e.gammaRegularizer)}build(e){e=eb(e);const t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new qm(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new ab({ndim:e.length,axes:{[t]:n}})];const r=[n];this.scale&&(this.gamma=this.addWeight("gamma",r,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",r,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",r,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",r,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return Xo((()=>{const n=null!=t.training&&t.training,r=Qy(e),s=r.shape,a=s.length,i=qg(0,a),o=this.axis>=0?this.axis:this.axis+a;i.splice(o,1);const l=Ym(1,a);l[o]=s[o];const u=i.slice();u.sort();const c=!ue(u,qg(0,a).slice(0,a-1));if(!n)return(()=>{if(c){const e=uu(this.movingMean.read(),l),t=uu(this.movingVariance.read(),l),n=this.center?uu(this.beta.read(),l):null,s=this.scale?uu(this.gamma.read(),l):null;return dv(r,e,t,n,s,this.epsilon)}return dv(r,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[h,p,d]=function(e,t,n,r,s=.001){return ue(r.slice().sort(),qg(0,e.rank-1))?function(e,t,n,r,s=.001){return Xo((()=>{const a=Xc(e,r),i=a.mean,o=a.variance;return[dv(e,i,o,n,t,s),i,o]}))}(e,t,n,r,s):function(e,t,n,r,s=.001){return Xo((()=>{const a=Xc(e,r),i=a.mean,o=a.variance,l=[];for(const t of qg(0,e.rank))-1!==r.indexOf(t)?l.push(1):l.push(e.shape[t]);const u=uu(i,l),c=uu(o,l),h=null==t?null:uu(t,l),p=null==n?null:uu(n,l);return[dv(e,u,c,p,h,s),i,o]}))}(e,t,n,r,s)}(r,this.gamma.read(),this.beta.read(),i,this.epsilon),f=(e,t,n)=>{Xo((()=>{const r=1-n,s=e.read(),a=hl(El(s,t),r);e.write(El(s,a))}))};return(()=>{f(this.movingMean,p,this.momentum),f(this.movingVariance,d,this.momentum)})(),h}))}getConfig(){const e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Ay(this.betaInitializer),gammaInitializer:Ay(this.gammaInitializer),movingMeanInitializer:Ay(this.movingMeanInitializer),movingVarianceInitializer:Ay(this.movingVarianceInitializer),betaRegularizer:rw(this.betaRegularizer),gammaRegularizer:rw(this.gammaRegularizer),betaConstraint:kg(this.betaConstraint),gammaConstraint:kg(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}}fv.className="BatchNormalization",Eo(fv);class mv extends cb{constructor(e){if(null==e&&(e={}),super(e),this.axis=null==e.axis?-1:e.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=Ry(e.betaInitializer||"zeros"),this.gammaInitializer=Ry(e.gammaInitializer||"ones"),this.betaRegularizer=aw(e.betaRegularizer),this.gammaRegularizer=aw(e.gammaRegularizer),this.supportsMasking=!0}build(e){const t=(e=eb(e)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let e=0;e=t)throw new Error(`Invalid axis: ${e}`);if(this.axis.length!==lg(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map((t=>e[t]));this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,!0):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,!0):this.beta=null,this.built=!0}call(e,t){const n=Qy(e),r=n.shape,s=r.length;return Xo((()=>{let{mean:e,variance:t}=Xc(n,this.axis,!0);const a=Ym(1,s);for(const e of this.axis)a[e]=r[e];const i=e=>null!=e&&e.shape.length!==s?uu(e,a):e;let o=i(this.gamma.read()),l=i(this.beta.read());const u=[],c=[];for(let e=0;e=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])}call(e,t){return Xo((()=>{return t=Qy(e),n=this.padding,r=this.dataFormat,Xo((()=>{if(4!==t.rank)throw new qm(`temporalPadding expects input tensor to be 4-D, but received a ${t.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new qm("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==r&&(r="channelsLast"),"channelsLast"!==r&&"channelsFirst"!==r)throw new qm(`Unknown data format: ${r}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let e;return e="channelsFirst"===r?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],th(t,e)}));var t,n,r}))}getConfig(){const e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}function yv(e,t,n,r,s,a){return Xo((()=>{let i;_g(s),Lg(a),Og(r),null==n&&(n=[1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==a&&(a="max"),e=mw(e,s);const o="same"===r?"same":"valid";return i="max"===a?zc(e,t,n,o):cu(e,t,n,o),"channelsFirst"===s&&(i=qi(i,[0,3,1,2])),i}))}function bv(e,t,n,r,s,a){return Xo((()=>{let i;_g(s),Lg(a),Og(r),null==n&&(n=[1,1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==a&&(a="max"),e=gw(e,s);const o="same"===r?"same":"valid";return i="max"===a?Pc(e,t,n,o):hu(e,t,n,o),"channelsFirst"===s&&(i=qi(i,[0,4,1,2,3])),i}))}gv.className="ZeroPadding2D",Eo(gv);class xv extends cb{constructor(e){if(null==e.poolSize&&(e.poolSize=2),super(e),"number"==typeof e.poolSize)this.poolSize=[e.poolSize];else{if(!Array.isArray(e.poolSize)||1!==e.poolSize.length||"number"!=typeof e.poolSize[0])throw new qm(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);this.poolSize=e.poolSize}if(pg(this.poolSize,"poolSize"),null==e.strides)this.strides=this.poolSize;else if("number"==typeof e.strides)this.strides=[e.strides];else{if(!Array.isArray(e.strides)||1!==e.strides.length||"number"!=typeof e.strides[0])throw new qm(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);this.strides=e.strides}pg(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,Og(this.padding),this.inputSpec=[new ab({ndim:3})]}computeOutputShape(e){const t=dw((e=eb(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return Xo((()=>{this.invokeCallHook(e,t),e=Xg(Qy(e),2);const n=this.poolingFunction(Qy(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return qh(n,[2])}))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}}class wv extends xv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return _g(s),Og(r),yv(e,t,n,r,s,"max")}}wv.className="MaxPooling1D",Eo(wv);class vv extends xv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return _g(s),Og(r),yv(e,t,n,r,s,"avg")}}vv.className="AveragePooling1D",Eo(vv);class kv extends cb{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(2!==e.strides.length)throw new qm(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];pg(this.poolSize,"poolSize"),pg(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,_g(this.dataFormat),Og(this.padding),this.inputSpec=[new ab({ndim:4})]}computeOutputShape(e){e=eb(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2];return t=dw(t,this.poolSize[0],this.padding,this.strides[0]),n=dw(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return Xo((()=>(this.invokeCallHook(e,t),this.poolingFunction(Qy(e),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Iv extends kv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return _g(s),Og(r),yv(e,t,n,r,s,"max")}}Iv.className="MaxPooling2D",Eo(Iv);class Nv extends kv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return _g(s),Og(r),yv(e,t,n,r,s,"avg")}}Nv.className="AveragePooling2D",Eo(Nv);class Sv extends cb{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(3!==e.strides.length)throw new qm(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];pg(this.poolSize,"poolSize"),pg(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,_g(this.dataFormat),Og(this.padding),this.inputSpec=[new ab({ndim:5})]}computeOutputShape(e){e=eb(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],r="channelsFirst"===this.dataFormat?e[4]:e[3];return t=dw(t,this.poolSize[0],this.padding,this.strides[0]),n=dw(n,this.poolSize[1],this.padding,this.strides[1]),r=dw(r,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n,r]:[e[0],t,n,r,e[4]]}call(e,t){return Xo((()=>(this.invokeCallHook(e,t),this.poolingFunction(Qy(e),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Tv extends Sv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return _g(s),Og(r),bv(e,t,n,r,s,"max")}}Tv.className="MaxPooling3D",Eo(Tv);class Cv extends Sv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return _g(s),Og(r),bv(e,t,n,r,s,"avg")}}Cv.className="AveragePooling3D",Eo(Cv);class Ev extends cb{constructor(e){super(e),this.inputSpec=[new ab({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new Km}}class $v extends Ev{constructor(e){super(e||{})}call(e,t){return Xo((()=>{const t=Qy(e);return Vc(t,1)}))}}$v.className="GlobalAveragePooling1D",Eo($v);class Av extends Ev{constructor(e){super(e||{})}call(e,t){return Xo((()=>{const t=Qy(e);return kc(t,1)}))}}Av.className="GlobalMaxPooling1D",Eo(Av);class Rv extends cb{constructor(e){super(e),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,_g(this.dataFormat),this.inputSpec=[new ab({ndim:4})]}computeOutputShape(e){return e=e,"channelsLast"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new Km}getConfig(){const e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Mv extends Rv{call(e,t){return Xo((()=>{const t=Qy(e);return"channelsLast"===this.dataFormat?Vc(t,[1,2]):Vc(t,[2,3])}))}}Mv.className="GlobalAveragePooling2D",Eo(Mv);class Fv extends Rv{call(e,t){return Xo((()=>{const t=Qy(e);return"channelsLast"===this.dataFormat?kc(t,[1,2]):kc(t,[2,3])}))}}Fv.className="GlobalMaxPooling2D",Eo(Fv);class Dv extends cb{constructor(e){super(e),this.layer=e.layer}build(e){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(e){null!=this.layer&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){const e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){const r=Sb(t.layer,n);delete t.layer;const s={layer:r};return Object.assign(s,t),new e(s)}}class _v extends Dv{constructor(e){super(e),this.supportsMasking=!0}build(e){if((e=eb(e)).length<3)throw new qm(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];const t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){const t=[(e=eb(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),r=e[1];return[n[0],r].concat(n.slice(1))}call(e,t){return Xo((()=>Rw(((e,n)=>[Qy(this.layer.call(e,t)),[]]),e=Qy(e),[],!1,null,null,!1,!0)[1]))}}_v.className="TimeDistributed",Eo(_v);class Ov extends Dv{constructor(e){super(e);const t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=Sb(n),t.goBackwards=!0!==t.goBackwards;const r={};var s;if(r.className=e.layer.getClassName(),r.config=t,this.backwardLayer=Sb(r),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===e.mergeMode?"concat":e.mergeMode,s=this.mergeMode,cg(Fg,"BidirectionalMergeMode",s),e.weights)throw new Km("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){const t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t,n,r,s=this.forwardLayer.computeOutputShape(e);return Array.isArray(s)&&Array.isArray(s[0])||(s=[s]),s=s,this.returnState?(r=s.slice(1),t=s[0]):t=s[0],t=t,"concat"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(r).concat(r.slice()):[t].concat(r).concat(r.slice()):Qm(n)}apply(e,t){let n=null==t?null:t.initialState,r=null==t?null:t.constants;null==t&&(t={});const s=Aw(e,n,r,this.numConstants);if(e=s.inputs,n=s.initialState,r=s.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(null==n||0===n.length)&&null==r)return super.apply(e,t);const a=[],i=[];if(null!=n){const e=n.length;if(e%2>0)throw new qm("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,a.push(...n);const r=n.map((e=>new ab({shape:e.shape})));this.forwardLayer.stateSpec=r.slice(0,e/2),this.backwardLayer.stateSpec=r.slice(e/2),i.push(...r)}if(null!=r)throw new Km("Support for constants in Bidirectional layers is not implemented yet.");const o=a[0]instanceof ib;for(const e of a)if(e instanceof ib!==o)throw new qm("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(o){const n=[e].concat(a),r=this.inputSpec.concat(i),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,t);return this.inputSpec=s,o}return super.apply(e,t)}call(e,t){return Xo((()=>{const n=t.initialState;let r,s,a,i;if(null==n)r=this.forwardLayer.call(e,t),s=this.backwardLayer.call(e,t);else{const a=n.slice(0,n.length/2),i=n.slice(n.length/2);r=this.forwardLayer.call(e,Object.assign(t,{initialState:a})),s=this.backwardLayer.call(e,Object.assign(t,{initialState:i}))}return this.returnState&&(Array.isArray(r)&&(a=r.slice(1).concat(s.slice(1))),r=r[0],s=s[0]),this.returnSequences&&(s=Ih(s,1)),"concat"===this.mergeMode?i=Qg([r,s]):"sum"===this.mergeMode?i=ll(r,s):"ave"===this.mergeMode?i=hl(.5,ll(r,s)):"mul"===this.mergeMode?i=hl(r,s):null==this.mergeMode&&(i=[r,s]),this.returnState?null==this.mergeMode?i.concat(a):[i].concat(a):i}))}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){Pg(this.forwardLayer.name,(()=>{this.forwardLayer.build(e)})),Pg(this.backwardLayer.name,(()=>{this.backwardLayer.build(e)})),this.built=!0}computeMask(e,t){let n;if(Array.isArray(t)&&(t=t[0]),n=this.returnSequences?null==this.mergeMode?[t,t]:t:null==this.mergeMode?[null,null]:null,this.returnState){const e=this.forwardLayer.states.map((e=>null));return Array.isArray(n)?n.concat(e).concat(e):[n].concat(e).concat(e)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(e),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){const e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){const n=Sb(t.layer);if(delete t.layer,null!=t.numConstants)throw new Km("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const r=t;return r.layer=n,new e(r)}}function Lv(e){return new pb(e)}function zv(e){return new uw(e)}function Pv(e){return new iw(e)}function Bv(e){return new ow(e)}function Vv(e){return new lw(e)}function Uv(e){return new hw(e)}function Wv(e){return new cw(e)}function Gv(e){return new Tw(e)}function Hv(e){return new ww(e)}function jv(e){return new kw(e)}function qv(e){return new vw(e)}function Kv(e){return new Iw(e)}function Xv(e){return new Sw(e)}function Yv(e){return new Cw(e)}function Zv(e){return new Ew(e)}function Jv(e){return new $w(e)}function Qv(e){return new Xw(e)}function ek(e){return new qw(e)}function tk(e){return new Hw(e)}function nk(e){return new jw(e)}function rk(e){return new Kw(e)}function sk(e){return new Yw(e)}function ak(e){return new Zw(e)}function ik(e){return new Jw(e)}function ok(e){return new ev(e)}function lk(e){return new nv(e)}function uk(e){return new sv(e)}function ck(e){return new ov(e)}function hk(e){return new av(e)}function pk(e){return new iv(e)}function dk(e){return new rv(e)}function fk(e){return new uv(e)}function mk(e){return new fv(e)}function gk(e){return new mv(e)}function yk(e){return new gv(e)}function bk(e){return new vv(e)}function xk(e){return bk(e)}function wk(e){return bk(e)}function vk(e){return new Nv(e)}function kk(e){return vk(e)}function Ik(e){return vk(e)}function Nk(e){return new Cv(e)}function Sk(e){return Nk(e)}function Tk(e){return Nk(e)}function Ck(e){return new $v(e)}function Ek(e){return new Mv(e)}function $k(e){return new Av(e)}function Ak(e){return new Fv(e)}function Rk(e){return new wv(e)}function Mk(e){return new Iv(e)}function Fk(e){return new Tv(e)}function Dk(e){return new Lw(e)}function _k(e){return new Ow(e)}function Ok(e){return new Pw(e)}function Lk(e){return new zw(e)}function zk(e){return new _w(e)}function Pk(e){return new Dw(e)}function Bk(e){return new Gw(e)}function Vk(e){return new Ww(e)}function Uk(e){return new Mw(e)}function Wk(e){return new Bw(e)}function Gk(e){return new Ov(e)}function Hk(e){return new _v(e)}Ov.className="Bidirectional",Eo(Ov);const jk=$k,qk=Ak,Kk=Rk,Xk=Mk;function Yk(e){return new cv(e)}function Zk(e){return new hv(e)}function Jk(e){return new pv(e)}function Qk(e){return new Qw(e)}function eI(e,t){return Ob(e,t)}function tI(e,t){return Bb(e,t)}function nI(e,t){return Vb(e,t)}function rI(e,t){return Lb(e,t)}function sI(e,t){return Ub(e,t)}function aI(e,t){return Pb(e,t)}function iI(e,t){return function(e,t){return Xo((()=>{const n=zb(e,t),r=function(e,t){return Xo((()=>Si(Ic(Dc(ju(e,1),ju(t,0))),"float32")))}(e,t),s=ll(n,r);return Si(qu(ic(s,0),cl(n,s),0),"float32")}))}(e,t)}function oI(e,t){return Fb(e,t)}function lI(e,t){return Eb(e,t)}function uI(e,t){return $b(e,t)}function cI(e,t){return $b(e,t)}function hI(e,t){return $b(e,t)}function pI(e,t){return Cb(e,t)}function dI(e,t){return Cb(e,t)}function fI(e,t){return Cb(e,t)}function mI(e){return new tw(e)}function gI(e){return Qx(t=e),new tw({l1:null!=t?t.l1:null,l2:0});var t}function yI(e){return Qx(t=e),new tw({l2:null!=t?t.l2:null,l1:0});var t}class bI extends yb{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof Tx))throw new Error("model must be a LayersModel, not some other Container");this.model=e}}function xI(e,t){return et}class vI extends bI{constructor(e){if(super(),null==e&&(e={}),e.restoreBestWeights)throw new Km("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=xI:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=wI:this.monitorFunc=xI,this.monitorFunc===xI&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===xI?1/0:-1/0}async onEpochEnd(e,t){await fb(t);const n=this.getMonitorValue(t);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){null==e&&(e={});const t=e[this.monitor];return null==t&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}}const kI={earlyStopping:function(e){return new vI(e)}};var II,NI;He().registerFlag("KEEP_INTERMEDIATE_TENSORS",(()=>!1),(e=>{e&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")})),function(e){e[e.DT_INVALID=0]="DT_INVALID",e[e.DT_FLOAT=1]="DT_FLOAT",e[e.DT_DOUBLE=2]="DT_DOUBLE",e[e.DT_INT32=3]="DT_INT32",e[e.DT_UINT8=4]="DT_UINT8",e[e.DT_INT16=5]="DT_INT16",e[e.DT_INT8=6]="DT_INT8",e[e.DT_STRING=7]="DT_STRING",e[e.DT_COMPLEX64=8]="DT_COMPLEX64",e[e.DT_INT64=9]="DT_INT64",e[e.DT_BOOL=10]="DT_BOOL",e[e.DT_QINT8=11]="DT_QINT8",e[e.DT_QUINT8=12]="DT_QUINT8",e[e.DT_QINT32=13]="DT_QINT32",e[e.DT_BFLOAT16=14]="DT_BFLOAT16",e[e.DT_QINT16=15]="DT_QINT16",e[e.DT_QUINT16=16]="DT_QUINT16",e[e.DT_UINT16=17]="DT_UINT16",e[e.DT_COMPLEX128=18]="DT_COMPLEX128",e[e.DT_HALF=19]="DT_HALF",e[e.DT_RESOURCE=20]="DT_RESOURCE",e[e.DT_VARIANT=21]="DT_VARIANT",e[e.DT_UINT32=22]="DT_UINT32",e[e.DT_UINT64=23]="DT_UINT64",e[e.DT_FLOAT_REF=101]="DT_FLOAT_REF",e[e.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",e[e.DT_INT32_REF=103]="DT_INT32_REF",e[e.DT_UINT8_REF=104]="DT_UINT8_REF",e[e.DT_INT16_REF=105]="DT_INT16_REF",e[e.DT_INT8_REF=106]="DT_INT8_REF",e[e.DT_STRING_REF=107]="DT_STRING_REF",e[e.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",e[e.DT_INT64_REF=109]="DT_INT64_REF",e[e.DT_BOOL_REF=110]="DT_BOOL_REF",e[e.DT_QINT8_REF=111]="DT_QINT8_REF",e[e.DT_QUINT8_REF=112]="DT_QUINT8_REF",e[e.DT_QINT32_REF=113]="DT_QINT32_REF",e[e.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",e[e.DT_QINT16_REF=115]="DT_QINT16_REF",e[e.DT_QUINT16_REF=116]="DT_QUINT16_REF",e[e.DT_UINT16_REF=117]="DT_UINT16_REF",e[e.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",e[e.DT_HALF_REF=119]="DT_HALF_REF",e[e.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",e[e.DT_VARIANT_REF=121]="DT_VARIANT_REF",e[e.DT_UINT32_REF=122]="DT_UINT32_REF",e[e.DT_UINT64_REF=123]="DT_UINT64_REF"}(II||(II={})),function(e){let t;!function(e){e[e.LEGACY=0]="LEGACY",e[e.V1=1]="V1",e[e.V2=2]="V2"}(t=e.CheckpointFormatVersion||(e.CheckpointFormatVersion={}))}(NI||(NI={}));const SI={};function TI(e,t){const n={tfOpName:e,category:"custom",inputs:[],attrs:[],customExecutor:t};SI[e]=n}function CI(e){return SI[e]}function EI(e){delete SI[e]}function $I(e,t,n,r,s){const a=t.inputParams[e];if(a&&void 0!==a.inputIndexStart){const e=a.inputIndexStart,i=0===a.inputIndexEnd?void 0:void 0===a.inputIndexEnd?e+1:a.inputIndexEnd;if("tensor"===a.type)return AI(t.inputNames[a.inputIndexStart],n,r,s);if("tensors"===a.type)return t.inputNames.slice(e,i).map((e=>AI(e,n,r,s)));const o=AI(t.inputNames.slice(e)[0],n,r,s),l=o.dataSync();return"number"===a.type?l[0]:_e(o.shape,l)}const i=t.attrParams[e];return i&&i.value}function AI(e,t,n,r){const[s,a]=FI(e);if(null!=r){const e=r.getHashTableHandleByName(s);if(null!=e)return e}const i=n.currentContextIds.find((e=>!!t[MI(s,e)]));return void 0!==i?t[MI(s,i)][a]:void 0}function RI(e,t){const[n,r,s]=FI(e);return[MI(n,t&&t.currentContextId),r,s]}function MI(e,t){return t?`${e}-${t}`:e}function FI(e){const t=e.split(":");if(1===t.length)return[e,0,void 0];const n=t[0],r=3===t.length?t[1]:void 0;return[n,Number(t[t.length-1]),r]}function DI(e,t,n){let r=$I("pad",e,t,n);if("explicit"===r){r=$I("explicitPaddings",e,t,n);const s=[[0,0],[0,0],[0,0],[0,0]];for(let e=0;e<4;e++)s[e][0]=r[2*e],s[e][1]=r[2*e+1];return s}return r}function _I(e){return e.kept?e:Ti(e)}const OI=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],LI=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Prod",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axes",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],zI=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]}],PI=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number"}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],BI=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],VI=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],UI=[{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],WI=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],GI=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]}],HI=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]}],jI=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],qI=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]}],KI=[{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"SparseToDense",category:"normalization",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!0,notSupported:!0}]}],XI=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],YI=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]}],ZI=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],JI=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],QI=[{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],eN=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}];class tN{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const e=[].concat(...[S,T,C,E,$,A,R,M,F,D,_,O,L,z,P,B,V,U,W].map((e=>e.json)));this.opMappers=e.reduce(((e,t)=>(e[t.tfOpName]=t,e)),{})}transformGraph(e,t={}){const n=e.node,r=[],s=[],a=[],i=n.reduce(((e,t)=>(e[t.name]=this.mapNode(t),t.op.startsWith("Placeholder")?r.push(e[t.name]):"Const"===t.op?s.push(e[t.name]):null!=t.input&&0!==t.input.length||a.push(e[t.name]),e)),{});let o=[];const l=[];let u={},c={};null!=t&&(u=this.mapSignatureEntries(t.inputs),c=this.mapSignatureEntries(t.outputs));const h=Object.keys(i);h.forEach((e=>{const t=i[e];t.inputNames.forEach(((e,n)=>{const[r,,s]=RI(e),a=i[r];if(null!=a.outputs){const e=a.outputs.indexOf(s);if(-1!==e){const s=`${r}:${e}`;t.inputNames[n]=s}}t.inputs.push(a),a.children.push(t)}))})),0===Object.keys(c).length?h.forEach((e=>{const t=i[e];0===t.children.length&&l.push(t)})):Object.keys(c).forEach((e=>{const[t]=RI(e),n=i[t];null!=n&&(n.signatureKey=c[e],l.push(n))})),Object.keys(u).length>0?Object.keys(u).forEach((e=>{const[t]=RI(e),n=i[t];n&&(n.signatureKey=u[e],o.push(n))})):o=r;let p={};null!=e.library&&null!=e.library.function&&(p=e.library.function.reduce(((e,t)=>(e[t.signature.name]=this.mapFunction(t),e)),{}));const d={nodes:i,inputs:o,outputs:l,weights:s,placeholders:r,signature:t,functions:p};return a.length>0&&(d.initNodes=a),d}mapSignatureEntries(e){return Object.keys(e||{}).reduce(((t,n)=>(t[e[n].name]=n,t)),{})}mapNode(e){const t=CI(e.op)||this.opMappers[e.op]||{};null==e.attr&&(e.attr={});const n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map((e=>e.startsWith("^")?e.substr(1):e)),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return null!=t.inputs&&(n.inputParams=t.inputs.reduce(((e,t)=>(e[t.name]={type:t.type,inputIndexStart:t.start,inputIndexEnd:t.end},e)),{})),null!=t.attrs&&(n.attrParams=t.attrs.reduce(((t,n)=>{const r=n.type;let s;switch(n.type){case"string":s=rN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=rN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":s=dN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=dN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":s=aN(e.attr,n.tfName,n.defaultValue||0),void 0===s&&n.tfDeprecatedName&&(s=aN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":s=pN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=pN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":s=sN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=sN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":s=mN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=mN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":s=hN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=hN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":s=fN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=fN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":s=lN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=lN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":s=uN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=uN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":s=oN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=oN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${e.op}`)}return t[n.name]={value:s,type:r},t}),{})),n}mapFunction(e){const t=e.nodeDef,n=[];let r={};null!=t&&(r=t.reduce(((e,t)=>(e[t.name]=this.mapNode(t),"Const"===t.op&&n.push(e[t.name]),e)),{}));const s=[],a=[];e.signature.inputArg.forEach((e=>{const[t]=RI(e.name),n={name:t,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:iN(e.type),type:"dtype"}},children:[]};n.signatureKey=e.name,s.push(n),r[t]=n})),Object.keys(r).forEach((e=>{const t=r[e];t.inputNames.forEach(((e,n)=>{const[s,,a]=RI(e),i=r[s];if(null!=i.outputs){const e=i.outputs.indexOf(a);if(-1!==e){const r=`${s}:${e}`;t.inputNames[n]=r}}t.inputs.push(i),i.children.push(t)}))}));const i=e.ret;e.signature.outputArg.forEach((e=>{const[t,n]=RI(i[e.name]),s=r[t];null!=s&&(s.defaultOutput=n,a.push(s))}));const o=this.mapArgsToSignature(e);return{nodes:r,inputs:s,outputs:a,weights:n,placeholders:[],signature:o}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce(((e,t)=>(e[t.name]=this.mapArgToTensorInfo(t),e)),{}),outputs:e.signature.outputArg.reduce(((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t)),{})}}mapArgToTensorInfo(e,t){let n=e.name;return null!=t&&(n=t[n]),{name:n,dtype:e.type}}}function nN(e,t){const n=Array.isArray(e)?String.fromCharCode.apply(null,e):function(e){const t=He().global;if(void 0!==t.atob)return t.atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(e);return t?n:n.toLowerCase()}function rN(e,t,n,r=!1){const s=e[t];return null!=s?nN(s.s,r):n}function sN(e,t,n){const r=e[t];return r?r.b:n}function aN(e,t,n){const r=e[t]||{},s=null!=r.i?r.i:null!=r.f?r.f:n;return"number"==typeof s?s:parseInt(s,10)}function iN(e){switch("string"==typeof e&&(e=II[e]),e){case II.DT_FLOAT:case II.DT_HALF:return"float32";case II.DT_INT32:case II.DT_INT64:case II.DT_INT8:case II.DT_UINT8:return"int32";case II.DT_BOOL:return"bool";case II.DT_DOUBLE:return"float32";case II.DT_STRING:return"string";default:return null}}function oN(e,t,n){const r=e[t];return r&&r.func?r.func.name:n}function lN(e,t,n){const r=e[t];return r&&r.type?iN(r.type):n}function uN(e,t,n){const r=e[t];return r&&r.list&&r.list.type?r.list.type.map((e=>iN(e))):n}function cN(e){if(!e.unknownRank)return null!=e.dim?e.dim.map((e=>"number"==typeof e.size?e.size:parseInt(e.size,10))):[]}function hN(e,t,n){const r=e[t];return r&&r.shape?cN(r.shape):n}function pN(e,t,n){const r=e[t];return r?((r.list.f&&r.list.f.length?r.list.f:r.list.i)||[]).map((e=>"number"==typeof e?e:parseInt(e,10))):n}function dN(e,t,n,r=!1){const s=e[t];return s&&s.list&&s.list.s?s.list.s.map((e=>nN(e,r))):n}function fN(e,t,n){const r=e[t];return r&&r.list&&r.list.shape?r.list.shape.map((e=>cN(e))):n}function mN(e,t,n){const r=e[t];return r&&r.list&&r.list.b?r.list.b:n}class gN{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map((e=>this.getInput(e))),null!=e.rawAttrs&&(this.attrs=Object.keys(e.rawAttrs).reduce(((e,t)=>(e[t]=this.getAttr(t),e)),{}))}getInput(e){return AI(e,this.tensorMap,this.context)}getAttr(e,t){const n=this.node.rawAttrs[e];if(null!=n.tensor)return AI(e,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return aN(this.node.rawAttrs,e,t);if(null!=n.s)return rN(this.node.rawAttrs,e,t);if(null!=n.b)return sN(this.node.rawAttrs,e,t);if(null!=n.shape)return hN(this.node.rawAttrs,e,t);if(null!=n.type)return lN(this.node.rawAttrs,e,t);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return pN(this.node.rawAttrs,e,t);if(null!=n.list.s)return dN(this.node.rawAttrs,e,t);if(null!=n.list.shape)return fN(this.node.rawAttrs,e,t);if(null!=n.list.b)return mN(this.node.rawAttrs,e,t);if(null!=n.list.type)return uN(this.node.rawAttrs,e,t)}return t}}function yN(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){re(e.length===t.length,(()=>n+` Shapes ${e} and ${t} must match`));for(let r=0;rn+` Shapes ${e} and ${t} must match`))}}}function bN(e){return"number"!=typeof e&&!e.some((e=>e<0))}function xN(e,t,n){let r=wN(e,n);const s=!bN(r);if(s&&0===t.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${r}`);if(s&&t.forEach((e=>{r=wN(e.shape,r)})),!bN(r))throw new Error(`Non-fully-defined elementShape: ${r}`);return r}function wN(e,t){if("number"==typeof e)return t;if("number"==typeof t)return e;if(e.length!==t.length)throw new Error(`Incompatible ranks during merge: ${e} vs. ${t}`);const n=[];for(let r=0;r=0&&a>=0&&s!==a)throw new Error(`Incompatible shape during merge: ${e} vs. ${t}`);n[r]=s>=0?s:a}return n}class vN{constructor(e,t,n,r,s,a,i){this.name=e,this.dtype=t,this.maxSize=n,this.elementShape=r,this.identicalElementShapes=s,this.dynamicSize=a,this.clearAfterRead=i,this.tensors=[],this.closed_=!1,this.idTensor=kl(0),Zo(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(e){this.tensors.forEach((t=>{null!=e&&e.has(t.tensor.id)||t.tensor.dispose()})),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);const t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map((e=>this.read(e)))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=t.shape),yN(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,Zo(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach(((e,n)=>this.write(e,t[n])))}gather(e,t){if(t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let t=0;t=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,op(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0;const r=e.map((e=>(n+=e,n)));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);const s=0===n?0:t.size/n,a=[];Xo((()=>{t=uu(t,[1,n,s]);for(let n=0;n{if(n!==e.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${e.dtype}`);yN(t,e.shape,"TensorList shape mismatch: "),Zo(e)})),this.idTensor=kl(0),this.maxNumElements=r,Zo(this.idTensor)}get id(){return this.idTensor.id}copy(){return new kN([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach((t=>{null!=e&&e.has(t.id)||t.dispose()})),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);yN(e,this.elementShape,"TensorList shape mismatch: ");const r=xN(this.elementShape,this.tensors,e);return Xo((()=>{const e=this.tensors.map((e=>uu(e,r)));return Kh(e,0)}))}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=xN(this.elementShape,this.tensors,e),r=this.tensors.pop();return yN(r.shape,e,"TensorList shape mismatch: "),uu(r,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(yN(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");Zo(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(-1!==this.maxNumElements&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);this.tensors.length=e}getItem(e,t,n){if(n!==this.elementDtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${this.elementDtype}`);if(e<0||e>this.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[e])throw new Error(`element at index ${e} is null.`);yN(this.tensors[e].shape,t,"TensorList shape mismatch: ");const r=xN(this.elementShape,this.tensors,t);return uu(this.tensors[e],r)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||-1!==this.maxNumElements&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);yN(this.elementShape,t.shape,"TensorList shape mismatch: "),Zo(t),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);yN(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());const r=xN(this.elementShape,this.tensors,n);return 0===e.length?$a([],[0].concat(r)):Xo((()=>{const t=e.map((e=>uu(this.tensors[e],r)));return Kh(t,0)}))}concat(e,t){if(e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);yN(this.elementShape,t,"TensorList shape mismatch: ");const n=xN(this.elementShape,this.tensors,t);return 0===this.size()?$a([],[0].concat(n)):Xo((()=>{const e=this.tensors.map((e=>uu(e,n)));return pu(e,0)}))}}function IN(e,t,n){const[r,s]=$I("fusedOps",e,t,n),a="biasadd"===r,i=!a,o="prelu"===s,l="fusedbatchnorm"===r,u=$I("numArgs",e,t,n);if(a){if(o&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!o&&a&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=$I("strides",e,t,n),h=DI(e,t,n),p=$I("dataFormat",e,t,n).toUpperCase(),d=$I("dilations",e,t,n);let[f,m]=$I("args",e,t,n);return i&&(m=f,f=void 0),{stride:c,pad:h,dataFormat:p,dilations:d,biasArg:f,preluArg:m,activationFunc:s,leakyreluAlpha:$I("leakyreluAlpha",e,t,n)}}function NN(e,t,n){return{boxes:$I("boxes",e,t,n),scores:$I("scores",e,t,n),maxOutputSize:$I("maxOutputSize",e,t,n),iouThreshold:$I("iouThreshold",e,t,n),scoreThreshold:$I("scoreThreshold",e,t,n),softNmsSigma:$I("softNmsSigma",e,t,n)}}class SN{constructor(e,t){this.keyDType=e,this.valueDType=t,this.handle=kl(0),this.tensorMap=new Map,Zo(this.handle)}get id(){return this.handle.id}clearAndClose(){this.tensorMap.forEach((e=>e.dispose())),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return kl(this.size(),"int32")}async import(e,t){this.checkKeyAndValueTensor(e,t);const n=await e.data();return this.tensorMap.forEach((e=>e.dispose())),this.tensorMap.clear(),Xo((()=>{const e=op(t),r=n.length,s=e.length;re(r===s,(()=>`The number of elements doesn't match, keys has ${r} elements, the values has ${s} elements.`));for(let t=0;t{const e=[];for(let r=0;r{switch(e.category){case"arithmetic":return Xo((()=>((e,t,n)=>{switch(e.op){case"BiasAdd":case"AddV2":case"Add":return[ll($I("a",e,t,n),$I("b",e,t,n))];case"AddN":return[Pl($I("tensors",e,t,n))];case"FloorMod":case"Mod":return[Kc($I("a",e,t,n),$I("b",e,t,n))];case"Mul":return[hl($I("a",e,t,n),$I("b",e,t,n))];case"RealDiv":case"Div":return[cl($I("a",e,t,n),$I("b",e,t,n))];case"DivNoNan":return[Ku($I("a",e,t,n),$I("b",e,t,n))];case"FloorDiv":return[ul($I("a",e,t,n),$I("b",e,t,n))];case"Sub":return[El($I("a",e,t,n),$I("b",e,t,n))];case"Minimum":return[jc($I("a",e,t,n),$I("b",e,t,n))];case"Maximum":return[Rl($I("a",e,t,n),$I("b",e,t,n))];case"Pow":return[Cl($I("a",e,t,n),$I("b",e,t,n))];case"SquaredDifference":return[jh($I("a",e,t,n),$I("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"basic_math":return Xo((()=>((e,t,n)=>{switch(e.op){case"Abs":case"ComplexAbs":return[Al($I("x",e,t,n))];case"Acos":return[Ll($I("x",e,t,n))];case"Acosh":return[zl($I("x",e,t,n))];case"Asin":return[Gl($I("x",e,t,n))];case"Asinh":return[Hl($I("x",e,t,n))];case"Atan":return[jl($I("x",e,t,n))];case"Atan2":return[ql($I("x",e,t,n),$I("y",e,t,n))];case"Atanh":return[Kl($I("x",e,t,n))];case"Ceil":return[Su($I("x",e,t,n))];case"Complex":return[Ca($I("real",e,t,n),$I("imag",e,t,n))];case"Cos":return[zu($I("x",e,t,n))];case"Cosh":return[Pu($I("x",e,t,n))];case"Elu":return[Zu($I("x",e,t,n))];case"Erf":return[Ju($I("x",e,t,n))];case"Exp":return[Qu($I("x",e,t,n))];case"Expm1":return[tc($I("x",e,t,n))];case"Floor":return[sc($I("x",e,t,n))];case"Log":return[yc($I("x",e,t,n))];case"Log1p":return[bc($I("x",e,t,n))];case"Imag":return[lc($I("x",e,t,n))];case"Neg":return[xc($I("x",e,t,n))];case"Reciprocal":return[wh($I("x",e,t,n))];case"Real":return[xh($I("x",e,t,n))];case"Relu":return[vh($I("x",e,t,n))];case"Round":return[Eh($I("x",e,t,n))];case"Selu":return[Ah($I("x",e,t,n))];case"Sigmoid":return[du($I("x",e,t,n))];case"Sin":return[Dh($I("x",e,t,n))];case"Sign":return[Fh($I("x",e,t,n))];case"Sinh":return[_h($I("x",e,t,n))];case"Softplus":return[wc($I("x",e,t,n))];case"Sqrt":return[pl($I("x",e,t,n))];case"Square":return[dl($I("x",e,t,n))];case"Tanh":return[mu($I("x",e,t,n))];case"Tan":return[Zh($I("x",e,t,n))];case"ClipByValue":return[Tu($I("x",e,t,n),$I("clipValueMin",e,t,n),$I("clipValueMax",e,t,n))];case"Relu6":return[kh($I("x",e,t,n))];case"Rsqrt":return[$h(AI(e.inputNames[0],t,n))];case"Prod":return[uh($I("x",e,t,n),$I("axes",e,t,n))];case"LeakyRelu":return[pc($I("x",e,t,n),$I("alpha",e,t,n))];case"Prelu":return[lh($I("x",e,t,n),$I("alpha",e,t,n))];case"IsNan":return[hc(AI(e.inputNames[0],t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"control":return(async(e,t,n)=>{switch(e.op){case"If":case"StatelessIf":{const r=$I("thenBranch",e,t,n),s=$I("elseBranch",e,t,n),a=$I("cond",e,t,n),i=$I("args",e,t,n);return(await a.data())[0]?n.functionMap[r].executeFunctionAsync(i,n.tensorArrayMap,n.tensorListMap):n.functionMap[s].executeFunctionAsync(i,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const r=$I("body",e,t,n),s=$I("cond",e,t,n),a=$I("args",e,t,n),i=await n.functionMap[s].executeFunctionAsync(a,n.tensorArrayMap,n.tensorListMap),o=a.map((e=>e.id));let l=await i[0].data();i.forEach((e=>{e.kept||-1!==o.indexOf(e.id)||e.dispose()}));let u=a;for(;l[0];){const e=u;u=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const t=u.map((e=>e.id));e.forEach((e=>{e.kept||-1!==o.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()}));const a=await n.functionMap[s].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await a[0].data(),a.forEach((e=>{e.kept||-1!==o.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()}))}return u}case"LoopCond":return[_I($I("pred",e,t,n))];case"Switch":{const r=$I("pred",e,t,n);let s=$I("data",e,t,n);return s.kept||(s=_I(s)),(await r.data())[0]?[void 0,s]:[s,void 0]}case"Merge":{const r=e.inputNames.find((e=>void 0!==AI(e,t,n)));return r?[_I(AI(r,t,n))]:void 0}case"Enter":{const r=$I("frameName",e,t,n),s=$I("tensor",e,t,n);return n.enterFrame(r),[_I(s)]}case"Exit":{const r=$I("tensor",e,t,n);return n.exitFrame(),[_I(r)]}case"NextIteration":{const r=$I("tensor",e,t,n);return n.nextIteration(),[_I(r)]}case"TensorArrayV3":{const r=$I("size",e,t,n),s=$I("dtype",e,t,n),a=$I("elementShape",e,t,n),i=$I("dynamicSize",e,t,n),o=$I("clearAfterRead",e,t,n),l=$I("identicalElementShapes",e,t,n),u=$I("name",e,t,n),c=new vN(u,s,r,a,l,i,o);return n.addTensorArray(c),[c.idTensor,kl(1)]}case"TensorArrayWriteV3":{const r=$I("tensorArrayId",e,t,n),s=$I("index",e,t,n),a=$I("tensor",e,t,n),i=n.getTensorArray(r.id);return i.write(s,a),[i.idTensor]}case"TensorArrayReadV3":{const r=$I("tensorArrayId",e,t,n),s=$I("index",e,t,n);return[n.getTensorArray(r.id).read(s)]}case"TensorArrayGatherV3":{const r=$I("tensorArrayId",e,t,n),s=$I("indices",e,t,n),a=$I("dtype",e,t,n);return[n.getTensorArray(r.id).gather(s,a)]}case"TensorArrayScatterV3":{const r=$I("tensorArrayId",e,t,n),s=$I("indices",e,t,n),a=$I("tensor",e,t,n),i=n.getTensorArray(r.id);return i.scatter(s,a),[i.idTensor]}case"TensorArrayConcatV3":{const r=$I("tensorArrayId",e,t,n),s=n.getTensorArray(r.id),a=$I("dtype",e,t,n);return[s.concat(a)]}case"TensorArraySplitV3":{const r=$I("tensorArrayId",e,t,n),s=$I("tensor",e,t,n),a=$I("lengths",e,t,n),i=n.getTensorArray(r.id);return i.split(a,s),[i.idTensor]}case"TensorArraySizeV3":{const r=$I("tensorArrayId",e,t,n);return[kl(n.getTensorArray(r.id).size(),"int32")]}case"TensorArrayCloseV3":{const r=$I("tensorArrayId",e,t,n),s=n.getTensorArray(r.id);return s.clearAndClose(),[s.idTensor]}case"TensorListSetItem":{const r=$I("tensorListId",e,t,n),s=$I("index",e,t,n),a=$I("tensor",e,t,n),i=n.getTensorList(r.id);return i.setItem(s,a),[i.idTensor]}case"TensorListGetItem":{const r=$I("tensorListId",e,t,n),s=$I("index",e,t,n),a=$I("elementShape",e,t,n),i=$I("elementDType",e,t,n);return[n.getTensorList(r.id).getItem(s,a,i)]}case"TensorListScatterV2":case"TensorListScatter":{const r=$I("indices",e,t,n),s=function(e,t,n,r){if(t.length!==e.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${e.shape[0]}`);const s=Math.max(...t);if(null!=r&&-1!==r&&s>=r)throw new Error(`Max index must be < array size (${s} vs. ${r})`);const a=new kN([],n,e.dtype,r),i=op(e,0);return t.forEach(((e,t)=>{a.setItem(e,i[t])})),a}($I("tensor",e,t,n),r,$I("elementShape",e,t,n),$I("numElements",e,t,n));return n.addTensorList(s),[s.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const r=$I("elementShape",e,t,n),s=$I("elementDType",e,t,n);let a;a="TensorListReserve"===e.op?"numElements":"maxNumElements";const i=function(e,t,n){return new kN([],e,t,n)}(r,s,$I(a,e,t,n));return n.addTensorList(i),[i.idTensor]}case"TensorListGather":{const r=$I("tensorListId",e,t,n),s=$I("indices",e,t,n),a=$I("elementShape",e,t,n),i=$I("elementDType",e,t,n);return[n.getTensorList(r.id).gather(s,i,a)]}case"TensorListStack":{const r=$I("tensorListId",e,t,n),s=$I("elementShape",e,t,n),a=$I("elementDType",e,t,n),i=$I("numElements",e,t,n);return[n.getTensorList(r.id).stack(s,a,i)]}case"TensorListFromTensor":{const r=function(e,t,n){const r=e.dtype;if(e.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${e.shape}`);if(e.dtype!==n)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${n}`);yN(e.shape.slice(1),t,"TensorList shape mismatch: ");const s=op(e);return new kN(s,t,r)}($I("tensor",e,t,n),$I("elementShape",e,t,n),$I("elementDType",e,t,n));return n.addTensorList(r),[r.idTensor]}case"TensorListConcat":{const r=$I("tensorListId",e,t,n),s=n.getTensorList(r.id),a=$I("dtype",e,t,n),i=$I("elementShape",e,t,n);return[s.concat(a,i)]}case"TensorListPushBack":{const r=$I("tensorListId",e,t,n),s=$I("tensor",e,t,n),a=n.getTensorList(r.id);return a.pushBack(s),[a.idTensor]}case"TensorListPopBack":{const r=$I("tensorListId",e,t,n),s=$I("elementShape",e,t,n),a=$I("elementDType",e,t,n);return[n.getTensorList(r.id).popBack(s,a)]}case"TensorListSplit":{const r=$I("tensor",e,t,n),s=$I("elementShape",e,t,n),a=function(e,t,n){let r=0;const s=t.map((e=>(r+=e,r)));if(r!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${r}, and tensor's shape is: ${e.shape}`);const a=wN(e.shape.slice(1),n),i=0===r?0:e.size/r,o=Xo((()=>{const n=[];e=uu(e,[1,r,i]);for(let r=0;r((e,t,n)=>{switch(e.op){case"Conv1D":{const r=$I("stride",e,t,n),s=$I("pad",e,t,n),a=$I("dataFormat",e,t,n).toUpperCase(),i=$I("dilation",e,t,n);return[Mu($I("x",e,t,n),$I("filter",e,t,n),r,s,a,i)]}case"Conv2D":{const r=$I("strides",e,t,n),s=DI(e,t,n),a=$I("dataFormat",e,t,n).toUpperCase(),i=$I("dilations",e,t,n);return[Ru($I("x",e,t,n),$I("filter",e,t,n),[r[1],r[2]],s,a,[i[1],i[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:a,dilations:i,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=IN(e,t,n);return[Cp({x:$I("x",e,t,n),filter:$I("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:a,dilations:i,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=IN(e,t,n);return[Ap({x:$I("x",e,t,n),filter:$I("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=$I("outputShape",e,t,n),s=$I("strides",e,t,n),a=DI(e,t,n);return[Du($I("x",e,t,n),$I("filter",e,t,n),r,[s[1],s[2]],a)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=$I("strides",e,t,n),s=DI(e,t,n),a=$I("dilations",e,t,n),i=$I("dataFormat",e,t,n).toUpperCase();return[Wu($I("input",e,t,n),$I("filter",e,t,n),[r[1],r[2]],s,i,[a[1],a[2]])]}case"Conv3D":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("dataFormat",e,t,n).toUpperCase(),i=$I("dilations",e,t,n);return[_u($I("x",e,t,n),$I("filter",e,t,n),[r[1],r[2],r[3]],s,a,[i[1],i[2],i[3]])]}case"AvgPool":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("kernelSize",e,t,n);return[cu($I("x",e,t,n),[a[1],a[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("kernelSize",e,t,n);return[zc($I("x",e,t,n),[a[1],a[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("kernelSize",e,t,n),i=$I("includeBatchInIndex",e,t,n),{result:o,indexes:l}=Bc($I("x",e,t,n),[a[1],a[2]],[r[1],r[2]],s,i);return[o,l]}case"AvgPool3D":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("kernelSize",e,t,n);return[hu($I("x",e,t,n),[a[1],a[2],a[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("kernelSize",e,t,n);return[Pc($I("x",e,t,n),[a[1],a[2],a[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=$I("strides",e,t,n),s=$I("pad",e,t,n),a=$I("dilations",e,t,n),i=r[1],o=r[2],l=a[1],u=a[2];return[Hu($I("x",e,t,n),$I("filter",e,t,n),[i,o],s,[l,u],"NHWC")]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"creation":return Xo((()=>((e,t,n)=>{switch(e.op){case"Fill":{const r=$I("shape",e,t,n),s=$I("dtype",e,t,n);return[Sl(r,$I("value",e,t,n),s)]}case"LinSpace":return[mc($I("start",e,t,n),$I("stop",e,t,n),$I("num",e,t,n))];case"Multinomial":{const r=$I("logits",e,t,n),s=$I("numSamples",e,t,n),a=$I("seed",e,t,n);return[Zc(r,s,a)]}case"OneHot":{const r=$I("indices",e,t,n),s=$I("depth",e,t,n),a=$I("onValue",e,t,n),i=$I("offValue",e,t,n);return[ji(r,s,a,i)]}case"Ones":return[Wc($I("shape",e,t,n),$I("dtype",e,t,n))];case"OnesLike":return[Qc($I("x",e,t,n))];case"RandomUniform":return[yh($I("shape",e,t,n),$I("minval",e,t,n),$I("maxval",e,t,n),$I("dtype",e,t,n))];case"Range":return[bh($I("start",e,t,n),$I("stop",e,t,n),$I("step",e,t,n),$I("dtype",e,t,n))];case"TruncatedNormal":{const r=$I("shape",e,t,n),s=$I("mean",e,t,n),a=$I("stdDev",e,t,n),i=$I("seed",e,t,n);return[sp(r,s,a,$I("dtype",e,t,n),i)]}case"Zeros":return[Uc($I("shape",e,t,n),$I("dtype",e,t,n))];case"ZerosLike":return[fl($I("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"dynamic":return(async(e,t,n)=>{switch(e.op){case"NonMaxSuppressionV5":{const{boxes:r,scores:s,maxOutputSize:a,iouThreshold:i,scoreThreshold:o,softNmsSigma:l}=NN(e,t,n),u=await Td.nonMaxSuppressionWithScoreAsync(r,s,a,i,o,l);return[u.selectedIndices,u.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:r,scores:s,maxOutputSize:a,iouThreshold:i,scoreThreshold:o}=NN(e,t,n),l=$I("padToMaxOutputSize",e,t,n),u=await Td.nonMaxSuppressionPaddedAsync(r,s,a,i,o,l);return[u.selectedIndices,u.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:r,scores:s,maxOutputSize:a,iouThreshold:i,scoreThreshold:o}=NN(e,t,n);return[await Td.nonMaxSuppressionAsync(r,s,a,i,o)]}case"Where":{const r=Si($I("condition",e,t,n),"bool"),s=[await cp(r)];return r.dispose(),s}case"ListDiff":return Mh($I("x",e,t,n),$I("y",e,t,n));default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n);case"evaluation":return Xo((()=>((e,t,n)=>{switch(e.op){case"TopKV2":{const r=$I("x",e,t,n),s=$I("k",e,t,n),a=$I("sorted",e,t,n),i=rp(r,s,a);return[i.values,i.indices]}case"Unique":{const r=$I("x",e,t,n),s=ap(r);return[s.values,s.indices]}case"UniqueV2":{const r=$I("x",e,t,n),s=$I("axis",e,t,n),a=ap(r,s);return[a.values,a.indices]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"image":return Xo((()=>((e,t,n)=>{switch(e.op){case"ResizeBilinear":{const r=$I("images",e,t,n),s=$I("size",e,t,n),a=$I("alignCorners",e,t,n),i=$I("halfPixelCenters",e,t,n);return[Td.resizeBilinear(r,[s[0],s[1]],a,i)]}case"ResizeNearestNeighbor":{const r=$I("images",e,t,n),s=$I("size",e,t,n),a=$I("alignCorners",e,t,n),i=$I("halfPixelCenters",e,t,n);return[Td.resizeNearestNeighbor(r,[s[0],s[1]],a,i)]}case"CropAndResize":{const r=$I("image",e,t,n),s=$I("boxes",e,t,n),a=$I("boxInd",e,t,n),i=$I("cropSize",e,t,n),o=$I("method",e,t,n),l=$I("extrapolationValue",e,t,n);return[Td.cropAndResize(r,s,a,i,o,l)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"graph":return Xo((()=>((e,t,n)=>{switch(e.op){case"Const":return t[e.name];case"PlaceholderWithDefault":const r=$I("default",e,t,n);return[AI(e.name,t,n)||r];case"Placeholder":return[AI(e.name,t,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":return[_I($I("x",e,t,n))];case"IdentityN":return $I("x",e,t,n).map((e=>_I(e)));case"Snapshot":return[_I($I("x",e,t,n))];case"Shape":return[Jh($I("x",e,t,n).shape,"int32")];case"ShapeN":return $I("x",e,t,n).map((e=>Jh(e.shape)));case"Size":return[kl($I("x",e,t,n).size,"int32")];case"Rank":return[kl($I("x",e,t,n).rank,"int32")];case"NoOp":return[kl(1)];case"Print":const s=$I("x",e,t,n),a=$I("data",e,t,n),i=$I("message",e,t,n),o=$I("summarize",e,t,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(i);for(let e=0;e((e,t,n)=>{switch(e.op){case"Equal":return[ju($I("a",e,t,n),$I("b",e,t,n))];case"NotEqual":return[Jc($I("a",e,t,n),$I("b",e,t,n))];case"Greater":return[ic($I("a",e,t,n),$I("b",e,t,n))];case"GreaterEqual":return[oc($I("a",e,t,n),$I("b",e,t,n))];case"Less":return[dc($I("a",e,t,n),$I("b",e,t,n))];case"LessEqual":return[fc($I("a",e,t,n),$I("b",e,t,n))];case"LogicalAnd":return[Dc($I("a",e,t,n),$I("b",e,t,n))];case"LogicalNot":return[_c($I("a",e,t,n))];case"LogicalOr":return[Oc($I("a",e,t,n),$I("b",e,t,n))];case"Select":case"SelectV2":return[qu($I("condition",e,t,n),$I("a",e,t,n),$I("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"matrices":return Xo((()=>((e,t,n)=>{switch(e.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[Hi($I("a",e,t,n),$I("b",e,t,n),$I("transposeA",e,t,n),$I("transposeB",e,t,n))];case"Einsum":return[Yu($I("equation",e,t,n),...$I("tensors",e,t,n))];case"Transpose":return[qi($I("x",e,t,n),$I("perm",e,t,n))];case"_FusedMatMul":const[r,s]=$I("fusedOps",e,t,n),a="biasadd"===r,i="prelu"===s,o=$I("numArgs",e,t,n),l=$I("leakyreluAlpha",e,t,n);if(a){if(i&&2!==o)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!i&&1!==o)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[u,c]=$I("args",e,t,n);return[Rp({a:$I("a",e,t,n),b:$I("b",e,t,n),transposeA:$I("transposeA",e,t,n),transposeB:$I("transposeB",e,t,n),bias:u,activation:s,preluActivationWeights:c,leakyreluAlpha:l})];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"normalization":return Xo((()=>((e,t,n)=>{switch(e.op){case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[bu($I("x",e,t,n),$I("mean",e,t,n),$I("variance",e,t,n),$I("offset",e,t,n),$I("scale",e,t,n),$I("epsilon",e,t,n))];case"LRN":return[gc($I("x",e,t,n),$I("radius",e,t,n),$I("bias",e,t,n),$I("alpha",e,t,n),$I("beta",e,t,n))];case"Softmax":return[Bh($I("x",e,t,n))];case"LogSoftmax":return[Nc($I("x",e,t,n))];case"SparseToDense":return[gp($I("sparseIndices",e,t,n),$I("outputShape",e,t,n),$I("sparseValues",e,t,n),$I("defaultValue",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"reduction":return Xo((()=>((e,t,n)=>{switch(e.op){case"Max":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[kc($I("x",e,t,n),r,s)]}case"Mean":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[Vc($I("x",e,t,n),r,s)]}case"Min":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[Hc($I("x",e,t,n),r,s)]}case"Sum":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[Ic($I("x",e,t,n),r,s)]}case"All":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[Bl($I("x",e,t,n),r,s)]}case"Any":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[Vl($I("x",e,t,n),r,s)]}case"ArgMax":{const r=$I("axis",e,t,n);return[Ul($I("x",e,t,n),r)]}case"ArgMin":{const r=$I("axis",e,t,n);return[Wl($I("x",e,t,n),r)]}case"Prod":{const r=$I("axis",e,t,n),s=$I("keepDims",e,t,n);return[uh($I("x",e,t,n),r,s)]}case"Cumsum":{const r=$I("axis",e,t,n),s=$I("exclusive",e,t,n),a=$I("reverse",e,t,n);return[Bu($I("x",e,t,n),r,s,a)]}case"Bincount":const r=$I("x",e,t,n),s=$I("weights",e,t,n),a=$I("size",e,t,n);return[ku(r,s,a)];case"DenseBincount":{const r=$I("x",e,t,n),s=$I("weights",e,t,n),a=$I("size",e,t,n),i=$I("binaryOutput",e,t,n);return[Vu(r,s,a,i)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"slice_join":return Xo((()=>((e,t,n)=>{switch(e.op){case"ConcatV2":case"Concat":{const r=$I("n",e,t,n),s=$I("axis",e,t,n);let a=$I("tensors",e,t,n);return a=a.slice(0,r),[pu(a,s)]}case"Gather":{const r=$I("x",e,t,n),s=$I("indices",e,t,n);return[ac(r,Si(s,"int32"),0)]}case"GatherV2":{const r=$I("axis",e,t,n),s=$I("batchDims",e,t,n),a=$I("x",e,t,n),i=$I("indices",e,t,n);return[ac(a,Si(i,"int32"),r,s)]}case"Reverse":{const r=$I("dims",e,t,n),s=[];for(let e=0;e{const r=$I("axis",e,t,n),s=$I("tensors",e,t,n),a=s[0].shape,i=qh(s[0]).shape,o=s.map((e=>{const t=ue(e.shape,a);if(!t&&!ue(qh(e).shape,i))throw new Error("the input tensors shape does not match");return t?e:uu(e,a)}));return[Kh(o,r)]}));case"Unpack":{const r=$I("axis",e,t,n),s=$I("tensor",e,t,n);return op(s,r)}case"Tile":{const r=$I("reps",e,t,n);return[nc($I("x",e,t,n),r)]}case"Split":case"SplitV":{const r=$I("axis",e,t,n),s=$I("numOrSizeSplits",e,t,n),a=$I("x",e,t,n);return Gh(a,s,r)}case"ScatterNd":{const r=$I("indices",e,t,n),s=$I("values",e,t,n),a=$I("shape",e,t,n);return[mp(r,s,a)]}case"GatherNd":{const r=$I("x",e,t,n),s=$I("indices",e,t,n);return[yp(r,s)]}case"SparseToDense":{const r=$I("sparseIndices",e,t,n),s=$I("outputShape",e,t,n),a=$I("sparseValues",e,t,n),i=$I("defaultValue",e,t,n);return[gp(r,a,s,a.dtype===i.dtype?i:Si(i,a.dtype))]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"sparse":return Xo((()=>((e,t,n)=>{switch(e.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:a,reverseIndexMap:i}=$d.sparseFillEmptyRows($I("indices",e,t,n),$I("values",e,t,n),$I("denseShape",e,t,n),$I("defaultValue",e,t,n));return[r,s,a,i]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=$d.sparseReshape($I("inputIndices",e,t,n),$I("inputShape",e,t,n),$I("newShape",e,t,n));return[r,s]}case"SparseSegmentMean":return[$d.sparseSegmentMean($I("data",e,t,n),$I("indices",e,t,n),$I("segmentIds",e,t,n))];case"SparseSegmentSum":return[$d.sparseSegmentSum($I("data",e,t,n),$I("indices",e,t,n),$I("segmentIds",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"spectral":return Xo((()=>((e,t,n)=>{switch(e.op){case"FFT":return[Vh($I("x",e,t,n))];case"IFFT":return[Uh($I("x",e,t,n))];case"RFFT":return[Hh($I("x",e,t,n))];case"IRFFT":return[Wh($I("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"string":return Xo((()=>((e,t,n)=>{switch(e.op){case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=Ad.stringNGrams($I("data",e,t,n),$I("dataSplits",e,t,n),$I("separator",e,t,n),$I("nGramWidths",e,t,n),$I("leftPad",e,t,n),$I("rightPad",e,t,n),$I("padWidth",e,t,n),$I("preserveShortSequences",e,t,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:a}=Ad.stringSplit($I("input",e,t,n),$I("delimiter",e,t,n),$I("skipEmpty",e,t,n));return[r,s,a]}case"StringToHashBucketFast":return[Ad.stringToHashBucketFast($I("input",e,t,n),$I("numBuckets",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"transformation":return Xo((()=>((e,t,n)=>{switch(e.op){case"Cast":return[Si($I("x",e,t,n),$I("dtype",e,t,n))];case"ExpandDims":{const r=$I("axis",e,t,n);return[ec($I("x",e,t,n),r)]}case"Squeeze":{const r=$I("axis",e,t,n);return[qh($I("x",e,t,n),r)]}case"Reshape":return[uu($I("x",e,t,n),$I("shape",e,t,n))];case"MirrorPad":return[qc($I("x",e,t,n),$I("padding",e,t,n),$I("mode",e,t,n))];case"PadV2":case"Pad":return[th($I("x",e,t,n),$I("padding",e,t,n),$I("constantValue",e,t,n))];case"SpaceToBatchND":{const r=$I("blockShape",e,t,n),s=$I("paddings",e,t,n);return[ih($I("x",e,t,n),r,s)]}case"BatchToSpaceND":{const r=$I("blockShape",e,t,n),s=$I("crops",e,t,n);return[yu($I("x",e,t,n),r,s)]}case"DepthToSpace":{const r=$I("blockSize",e,t,n),s=$I("dataFormat",e,t,n).toUpperCase();return[Uu($I("x",e,t,n),r,s)]}case"BroadcastTo":return[Nu($I("x",e,t,n),$I("shape",e,t,n))];case"BroadcastArgs":return[Iu($I("s0",e,t,n),$I("s1",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"hash_table":return(async(e,t,n,r)=>{switch(e.op){case"HashTable":case"HashTableV2":{const s=$I("keyDType",e,t,n),a=$I("valueDType",e,t,n),i=new SN(s,a);return r.addHashTable(e.name,i),[i.handle]}case"LookupTableImport":case"LookupTableImportV2":{const s=$I("tableHandle",e,t,n,r),a=$I("keys",e,t,n),i=$I("values",e,t,n),o=r.getHashTableById(s.id);return[await o.import(a,i)]}case"LookupTableFind":case"LookupTableFindV2":{const s=$I("tableHandle",e,t,n,r),a=$I("keys",e,t,n),i=$I("defaultValue",e,t,n),o=r.getHashTableById(s.id);return[await o.find(a,i)]}case"LookupTableSize":case"LookupTableSizeV2":{const s=$I("tableHandle",e,t,n,r);return[r.getHashTableById(s.id).tensorSize()]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n,r);case"custom":const s=CI(e.op);if(s&&s.customExecutor)return s.customExecutor(new gN(e,t,n));throw TypeError(`Custom op ${e.op} is not registered.`);default:throw TypeError(`Unknown op '${e.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(e,t,n);return Ue(s)?s.then((e=>[].concat(e))):[].concat(s)}class CN{constructor(e={},t={},n={},r={}){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const e=[];for(let t=0;t0===e.id&&0===e.iterationId?"":`${e.frameName}-${e.iterationId}`)).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(const t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(const t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}}function EN(e,t,n,r){const s=new Set,a=[];let i=null,o=null;const l=new Set,u=Object.keys(e).map((e=>FI(e)[0]));let c=[];null!=r&&(c=r.map((e=>FI(e.name)[0])));const h=[...t];for(;h.length>0;){const e=h.pop();(MN(e)||FN(e)||DN(e))&&null==i&&(i=e,o=i.children.map((e=>e.name)).filter((e=>s.has(e)))),s.add(e.name),null==n[e.name]&&-1===u.indexOf(e.name)&&-1===c.indexOf(e.name)&&(0!==e.inputs.length?e.inputs.forEach((e=>{l.has(e.name)||(l.add(e.name),h.push(e))})):a.push(e.name))}return{inputs:e,outputs:t,usedNodes:s,missingInputs:a,dynamicNode:i,syncInputs:o}}const $N=["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"],AN=["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"],RN=["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"];function MN(e){return $N.indexOf(e.op)>=0}function FN(e){return AN.indexOf(e.op)>=0}function DN(e){return RN.indexOf(e.op)>=0}class _N{constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=",",this._functions={},this._functionExecutorMap={},this.intermediateTensors={},this.keepTensorForDebug=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,null!=e.functions&&Object.keys(e.functions).forEach((t=>{this._functionExecutorMap[t]=new _N(e.functions[t],this)}))}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){const t=Object.keys(e).map((t=>e[t].map((e=>e.id))));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map((e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0})))}get outputs(){return this._outputs.map((e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0})))}get inputNodes(){return this._inputs.map((e=>e.signatureKey||e.name))}get outputNodes(){return this._outputs.map((e=>{const t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t}))}get functions(){return Object.keys(this._functions).reduce(((e,t)=>(e[t]=this._functions[t].signature,e)),{})}getCompilationKey(e,t){const n=e.map((e=>e.name)).sort(),r=t.map((e=>e.name)).sort();return n.join(this.SEPERATOR)+"--"+r.join(this.SEPERATOR)}compile(e,t){const n=EN(e,t,this.weightMap,this._initNodes),{missingInputs:r,dynamicNode:s,syncInputs:a}=n;if(null!=s)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${a}]`);if(r.length>0){const n=t.map((e=>e.name)),s=Object.keys(e);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${s}]. Missing the following inputs: [${r}]`)}return function(e,t,n){const{usedNodes:r,inputs:s}=n,a=[],i=Object.keys(s).map((e=>FI(e)[0])).map((t=>e.nodes[t])),o=e.initNodes;i.forEach((e=>{r.has(e.name)&&a.push(e)})),e.weights.forEach((e=>{r.has(e.name)&&a.push(e)})),null!=o&&o.forEach((e=>{r.has(e.name)&&a.push(e)}));const l=new Set,u=[];for(;a.length>0;){const e=a.pop();l.add(e.name),t[e.name]||u.push(e),e.children.forEach((e=>{!l.has(e.name)&&r.has(e.name)&&e.inputs.every((e=>l.has(e.name)))&&a.push(e)}))}return u}(this.graph,this.weightMap,n)}execute(e,t){e=this.mapInputs(e);const n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);const r=n.map((e=>this.graph.nodes[FI(e)[0]])),s=t.map((e=>FI(e)[0]));let a=s.map((e=>this.graph.nodes[e]));this.resetIntermediateTensors(),0===a.length&&(a=this._outputs);const i=this.getCompilationKey(r,a);let o=this.compiledMap.get(i);null==o&&(o=this.compile(e,a),this.compiledMap.set(i,o));const l={},u={};return Xo((()=>{const n=new CN(this.weightMap,l,u,this.functionExecutorMap),r=Object.assign({},this.weightMap);Object.keys(e).forEach((t=>{const[n,s]=FI(t),a=[];a[s]=e[t],r[n]=a}));const a=this.getFrozenTensorIds(r),i={};for(let e=0;eAI(e,r,n)))}))}getFrozenTensorIds(e){const t=[].concat.apply([],Object.keys(e).map((t=>e[t])).map((e=>e.map((e=>e.id)))));return new Set(t)}checkTensorForDisposal(e,t,n,r,s,a,i){"control"!==t.category&&-1===a.indexOf(e)&&(n[e].forEach((e=>{null!=e&&(i[e.id]=(i[e.id]||0)+t.children.length)})),t.inputs.forEach((e=>{if("control"!==e.category){const a=function(e,t,n){return t[MI(e,n.currentContextId)]}(e.name,n,r);null!=a&&a.forEach((e=>{if(e&&!e.kept&&!s.has(e.id)){const n=i[e.id];if(1===n){if(this.keepTensorForDebug){const[n,s]=RI(t.name,r);this.intermediateTensors[n]||(this.intermediateTensors[n]=[]),this.intermediateTensors[n][s]=e}else e.dispose();delete i[e.id]}else null!=n&&i[e.id]--}}))}})))}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){this.intermediateTensors&&(Object.keys(this.intermediateTensors).forEach((e=>this.intermediateTensors[e].forEach((e=>e.dispose())))),this.disposeTensorsMap())}disposeTensorsMap(){this.tensorsMap&&Object.keys(this.tensorsMap).forEach((e=>{this.tensorsMap[e].forEach((e=>{!e||e.kept||e.isDisposed||this.keepIds.has(e.id)||e.dispose()}))}))}getIntermediateTensors(){return this.tensorsMap}resetIntermediateTensors(){for(const e in this.intermediateTensors)this.intermediateTensors[e].forEach((e=>e.dispose())),delete this.intermediateTensors[e]}async _executeAsync(e,t,n=!1,r={},s={}){n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepTensorForDebug=He().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){console.warn(e.message)}this.resetIntermediateTensors();const a=new CN(this.weightMap,r,s,this.functionExecutorMap);this.tensorsMap=await this.executeWithControlFlow(e,a,t,n);const i=t.map((e=>AI(e,this.tensorsMap,a))),o=i.map((e=>e.id)),l=Object.keys(e).map((t=>e[t].id));return this.keepIds=new Set([...o,...l,...this.weightIds]),this.keepTensorForDebug||this.disposeTensorsMap(),null==this.parent&&a.dispose(this.keepIds),i}async executeFunctionAsync(e,t,n){const r=e.reduce(((e,t,n)=>(e[this.inputs[n].name]=t,e)),{});return this._executeAsync(r,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,r){const s=Object.keys(e),a=s.map((e=>this.graph.nodes[FI(e)[0]])),i=n.map((e=>FI(e)[0]));let o=i.map((e=>this.graph.nodes[e]));0===o.length&&(o=this._outputs);const{usedNodes:l,missingInputs:u,dynamicNode:c,syncInputs:h}=EN(e,o,this.weightMap,this._initNodes),p=[...a,...this.graph.weights,...this._initNodes||[]].map((e=>({node:e,contexts:t.currentContext}))),d=Object.assign({},this.weightMap);Object.keys(e).forEach((t=>{const[n,r]=FI(t),s=[];s[r]=e[t],d[n]=s}));const f={},m=this.getFrozenTensorIds(d),g={};for(;p.length>0;){const e=this.processStack(a,p,t,d,g,m,i,f,l);await Promise.all(e)}null!=c||r||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=o.filter((e=>!MN(e)&&!AI(e.name,d,t))).map((e=>e.name));if(y.length>0){let e="";throw null!=c&&(e=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${s}]. Consider providing the following inputs: [${u}]. ${e}`)}return d}processStack(e,t,n,r,s,a,i,o,l){const u=[];for(;t.length>0;){const e=t.pop();n.currentContext=e.contexts;let c="";if("Enter"===e.node.op&&$I("isConstant",e.node,r,n)&&([c]=RI(e.node.name,n)),null==r[e.node.name]){const h=TN(e.node,r,n,this._resourceManager);c||([c]=RI(e.node.name,n));const p=n.currentContext;Ue(h)?u.push(h.then((u=>(r[c]=u,n.currentContext=p,this.checkTensorForDisposal(c,e.node,r,n,a,i,o),this.processChildNodes(e.node,t,n,r,s,l),u)))):(r[c]=h,this.checkTensorForDisposal(c,e.node,r,n,a,i,o),this.processChildNodes(e.node,t,n,r,s,l))}else this.processChildNodes(e.node,t,n,r,s,l)}return u}processChildNodes(e,t,n,r,s,a){e.children.forEach((e=>{const[i]=RI(e.name,n);!s[i]&&a.has(e.name)&&("Merge"===e.op?e.inputNames.some((e=>!!AI(e,r,n)))&&(s[i]=!0,t.push({contexts:n.currentContext,node:e})):e.inputNames.every((e=>!!AI(e,r,n)))&&(s[i]=!0,t.push({contexts:n.currentContext,node:e})))}))}dispose(){Object.keys(this.weightMap).forEach((e=>this.weightMap[e].forEach((e=>e.dispose()))))}checkInputShapeAndType(e){Object.keys(e).forEach((t=>{const n=e[t],[r]=FI(t),s=this.graph.nodes[r];if(s.attrParams.shape&&s.attrParams.shape.value){const e=s.attrParams.shape.value;re(e.length===n.shape.length&&n.shape.every(((t,n)=>-1===e[n]||e[n]===t)),(()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${e}], but was [${n.shape}]`))}s.attrParams.dtype&&s.attrParams.dtype.value&&re(n.dtype===s.attrParams.dtype.value,(()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`))}))}mapInputs(e){const t={};for(const n in e)null!=this._signature&&null!=this._signature.inputs&&null!=this._signature.inputs[n]?t[this._signature.inputs[n].name]=e[n]:t[n]=e[n];return t}checkInputs(e){const t=Object.keys(e).filter((e=>{const[t]=FI(e);return null==this.graph.nodes[t]}));if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map((e=>null!=this._signature&&null!=this._signature.outputs&&null!=this._signature.outputs[e]?this._signature.outputs[e].name:e),{})}checkOutputs(e){e.forEach((e=>{const[t]=FI(e);if(!this.graph.nodes[t])throw new Error(`The output '${e}' is not found in the graph`)}))}}class ON{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(const e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(const e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}}class LN{constructor(e,t={}){this.modelUrl=e,this.loadOptions=t,this.version="n/a",null==t&&(this.loadOptions={}),this.resourceManager=new ON}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}findIOHandler(){const e=this.modelUrl;if(null!=e.load)this.handler=e;else if(null!=this.loadOptions.requestInit)this.handler=Bi(e,this.loadOptions);else{const t=ja(e,this.loadOptions);if(0===t.length)t.push(Bi(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}async load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const e=await this.handler.load();return this.loadSync(e)}loadSync(e){this.artifacts=e;const t=this.artifacts.modelTopology;let n;n=null!=this.artifacts.userDefinedMetadata&&null!=this.artifacts.userDefinedMetadata.signature?this.artifacts.userDefinedMetadata.signature:this.artifacts.signature,this.signature=n,this.version=`${t.versions.producer}.${t.versions.minConsumer}`;const r=Ma(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new _N(tN.Instance.transformGraph(t,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(r),this.executor.resourceManager=this.resourceManager,null!=e.modelInitializer&&null!=e.modelInitializer.node){const t=tN.Instance.transformGraph(e.modelInitializer);this.initializer=new _N(t),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(e,t){if("string"==typeof e){const t=Ha(e);if(0===t.length)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Error(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}predict(e,t){return this.execute(e,this.outputNodes)}normalizeInputs(e){if(!(e instanceof qs||Array.isArray(e)))return e;if((e=Array.isArray(e)?e:[e]).length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${e.length} input tensors.`);return this.inputNodes.reduce(((t,n,r)=>(t[n]=e[r],t)),{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}execute(e,t){e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=this.executor.execute(e,t);return n.length>1?n:n[0]}async executeAsync(e,t){e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce(((t,n)=>(t[n]=[e[n]],t)),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}}async function zN(e,t={}){if(null==e)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==t&&(t={}),t.fromTFHub&&null==e.load&&(e.endsWith("/")||(e+="/"),e=`${e}model.json?tfjs-format=file`);const n=new LN(e,t);return await n.load(),n}const PN="3.13.0";function BN(e,t,n=new Map,r=new Set){if(null==e)return null;if("function"==typeof Blob&&e instanceof Blob)return e.slice();if(r.has(e))throw new Error("Circular references are not supported.");if(n.has(e))return n.get(e);const s=t(e);if(s.recurse&&null!==s.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(s.recurse){if(HN(e)){const s=Array.isArray(e)?[]:{};r.add(e);for(const a in e){const i=BN(e[a],t,n,r);s[a]=i}return r.delete(e),e.__proto__&&(s.__proto__=e.__proto__),s}throw new Error(`Can't recurse into non-iterable type: ${e}`)}return n.set(e,s.value),s.value}function VN(e,t=WN){return UN(e,t)}function UN(e,t,n=new Set){const r=e[0];if(n.has(r))throw new Error("Circular references are not supported.");const s=t(e);if(s.recurse&&null!==s.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(s.recurse){if(HN(r)){const s=Array.isArray(r)?[]:{};n.add(r);for(const a in r){const r=UN(e.map((e=>e[a])),t,n);s[a]=r}return n.delete(r),s}throw new Error(`Can't recurse into non-iterable type: ${r}`)}return s.value}function WN(e){return null===e?null:HN(e[0])?{value:null,recurse:!0}:{value:e,recurse:!1}}async function GN(e,t){const n=new Map;BN(e,t,n);for(const e of Array.from(n.keys())){const t=n.get(e);if(Ue(t)){const r=await t;n.set(e,r)}}return BN(e,t,n)}function HN(e){let t=!1;if(He().get("IS_BROWSER"))t=e instanceof TextDecoder;else{const{StringDecoder:r}=n(4589);t=e instanceof r}return null!=e&&!ArrayBuffer.isView(e)&&(Array.isArray(e)||"object"==typeof e&&!(e instanceof qs)&&!(e instanceof Promise)&&!t)}function jN(e){return e instanceof qs?{value:e.clone(),recurse:!1}:HN(e)?{value:null,recurse:!0}:{value:e,recurse:!1}}class qN{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(const t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}}class KN extends qN{constructor(){super(KN.INITIAL_CAPACITY)}isFull(){return!1}push(e){super.isFull()&&this.expand(),super.push(e)}unshift(e){super.isFull()&&this.expand(),super.unshift(e)}expand(){const e=2*this.capacity,t=new Array(e),n=this.length();for(let e=0;e!0===e))}rowMajorBatch(e,t=!0){return new rS(this,e,t)}columnMajorBatch(e,t=!0,n=WN){return this.rowMajorBatch(e,t).map((e=>VN(e,n)))}concatenate(e,t){return new cS(XN([this,e]),t)}take(e){return e<0||null==e?this:new nS(this,e)}skip(e){return e<0||null==e?this:new tS(this,e)}prefetch(e){return new dS(this,e)}shuffle(e,t){return new fS(this,e,t)}serial(){return new eS(this)}}class JN extends ZN{constructor(e){super(),this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const e=this.items[this.trav];return this.trav++,{value:(t=e,function(e,t){return BN(e,t)}(t,jN)),done:!1};var t}}class QN extends ZN{constructor(e){super(),this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}}class eS extends ZN{constructor(e){super(),this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){return this.upstream.next()}}class tS extends ZN{constructor(e,t){super(),this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class rS extends ZN{constructor(e,t,n=!0){super(),this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){const e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}}class sS extends ZN{constructor(e,t){super(),this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;){const e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;Yo(e.value)}}}class aS extends ZN{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=oa(e.value),n=this.transform(e.value),r=oa(n);for(const e of t)ia(e,r)||e.dispose();return{value:n,done:!1}}}class iS extends ZN{constructor(e,t){super(),this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}}class oS extends ZN{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=oa(e.value),n=await this.transform(e.value),r=oa(n);for(const e of t)ia(e,r)||e.dispose();return{value:n,done:!1}}}class lS extends ZN{constructor(){super(),this.outputQueue=new KN,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class uS extends lS{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const e=await this.upstream.next();if(e.done)return!1;const t=oa(e.value),n=this.transform(e.value),r=oa(n);this.outputQueue.pushAll(n);for(const e of t)ia(e,r)||e.dispose();return!0}}class cS extends ZN{constructor(e,t){super(),this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,null==this.iterator){const e=await this.moreIterators.next();if(e.done)return{value:null,done:!0};this.iterator=e.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}}var hS;!function(e){e[e.FAIL=0]="FAIL",e[e.SHORTEST=1]="SHORTEST",e[e.LONGEST=2]="LONGEST"}(hS||(hS={}));class pS extends ZN{constructor(e,t=hS.FAIL){super(),this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;const r=await GN(this.iterators,(function(e){return e instanceof ZN?{value:e.next().then((e=>(t++,e.done&&n++,e.value))),recurse:!1}:{value:null,recurse:!0}}));if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case hS.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case hS.SHORTEST:return{value:null,done:!0};case hS.LONGEST:}return this.count++,{value:r,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class dS extends ZN{constructor(e,t){super(),this.upstream=e,this.bufferSize=t,this.buffer=new qN(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}}class fS extends dS{constructor(e,t,n){super(e,t),this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=hh.alea(n||Rs().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(!t.done)return this.refill(),t;this.upstreamExhausted=!0}return{value:null,done:!0}}}class mS{constructor(){this.size=null}batch(e,t=!0){const n=this;let r;return re(e>0,(()=>`batchSize needs to be positive, but it is\n ${e}`)),r=this.size===1/0||null==this.size?this.size:t?Math.ceil(this.size/e):Math.floor(this.size/e),gS((async()=>(await n.iterator()).columnMajorBatch(e,t,xS)),r)}concatenate(e){const t=this;let n;return n=this.size===1/0||e.size===1/0?1/0:null!=this.size&&null!=e.size?this.size+e.size:null,gS((async()=>(await t.iterator()).concatenate(await e.iterator())),n)}filter(e){const t=this;let n;return n=this.size===1/0?1/0:null,gS((async()=>(await t.iterator()).filter((t=>Xo((()=>e(t)))))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){const t=this;return gS((async()=>(await t.iterator()).map((t=>Xo((()=>e(t)))))),this.size)}mapAsync(e){const t=this;return gS((async()=>(await t.iterator()).mapAsync(e)),this.size)}prefetch(e){if(null==e)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const t=this;return gS((async()=>(await t.iterator()).prefetch(e)),this.size)}repeat(e){const t=this;let n;return n=null!=this.size&&e>0?this.size*e:0===e?0:null!=this.size&&(void 0===e||e<0)?1/0:null,gS((async()=>{return n=YN((async()=>({value:await t.iterator(),done:!1}))).take(e),new cS(n,r);var n,r}),n)}skip(e){const t=this;let n;return n=null!=this.size&&e>=0&&this.size>=e?this.size-e:null!=this.size&&(this.size(await t.iterator()).skip(e)),n)}shuffle(e,t,n=!0){if(null==e||e<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const r=this,s=hh.alea(t||Rs().toString());return gS((async()=>{let t=s.int32();return n&&(t+=s.int32()),(await r.iterator()).shuffle(e,t.toString())}),this.size)}take(e){const t=this;let n;return n=null!=this.size&&this.size>e?e:null!=this.size&&this.size<=e?this.size:null,gS((async()=>(await t.iterator()).take(e)),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function gS(e,t=null){return new class extends mS{constructor(){super(...arguments),this.size=t}async iterator(){return e()}}}function yS(e){return gS((async()=>XN(e)),e.length)}function bS(e){if(!HN(e))throw new Error("The argument to zip() must be an object or array.");let t;if(Array.isArray(e))for(let n=0;nfunction(e,t=hS.FAIL){return new pS(e,t)}(await GN(e,(e=>{if(e instanceof mS)return{value:e.iterator(),recurse:!1};if(HN(e))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")})),hS.SHORTEST)),t)}function xS(e){if(null===e)return null;return null==(t=e[0])||null===(n=t)||"object"!=typeof n&&"function"!=typeof n||Array.isArray(t)||"object"==typeof t&&t instanceof qs||Ne(t)?{value:function(e){if(0===e.length)throw new Error("Can't make a batch of zero elements.");return e[0]instanceof qs?Kh(e):$a(e)}(e),recurse:!1}:{value:null,recurse:!0};var t,n}mS.MAX_BUFFER_SIZE=1e4;class wS extends mS{constructor(e){super(),this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map((e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e)))}}const vS='"',kS=Symbol("out"),IS=Symbol("field"),NS=Symbol("quote"),SS=Symbol("quoteafterquote"),TS=Symbol("quoteinquote");class CS extends mS{constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new wS(e),t||(t={}),this.hasHeader=!1!==t.hasHeader,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(re(null==t.delimiter,(()=>"Delimiter should not be provided when delimWhitespace is true.")),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&re(e.length===this.fullColumnNames.length,(()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+").")),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce(((e,t)=>(e[t]=e[t]+1||1,e)),{}),n=Object.keys(t).filter((e=>t[e]>1));if(re(0===n.length,(()=>"Duplicate column names found: "+n.toString())),this.columnConfigs)for(const e of Object.keys(this.columnConfigs))if(-1===this.fullColumnNames.indexOf(e))throw new Error('The key "'+e+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").");this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await this.base.iterator(),t=await e.next();if(t.done)throw new Error("No data was found for CSV parsing.");const n=t.value;return this.parseRow(n,!1)}return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map((e=>this.makeDataElement(e)))}makeDataElement(e){const t=this.parseRow(e),n={},r={};for(let s=0;s14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=!1!==e.includeSpectrogram,this.includeWaveform=!0===e.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(He().get("IS_NODE"))throw new Error("microphone API is only supported in browser environment.");const t=new ES(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(e){throw new Error(`Error thrown while initializing video stream: ${e.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t;const n=await this.getAudioData();if(this.includeSpectrogram){const t=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const e=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const e=[],t=[];let n=0;return new Promise((r=>{const s=setInterval((()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&r({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),r({freqDataQueue:e,timeDataQueue:t}))}),this.fftSize/this.sampleRateHz*1e3)}))}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){const t=e[0].length,n=new Float32Array(e.length*t);return e.forEach(((e,r)=>n.set(e,r*t))),n}getTensorFromAudioDataArray(e,t){const n=new Float32Array(oe(t));return n.set(e,n.length-e.length),$a(n,t)}}class $S extends ZN{constructor(e,t){if(super(),this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Jh([0],"int32"),this.webcamConfig.centerCrop){const e=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,t=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-e)/2,r=(1-t)/2,s=n+e,a=t+r;this.cropBox=Qh([r,n,a,s],[1,4])}else this.cropBox=Qh([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(He().get("IS_NODE"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}const n=new $S(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&re("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,(()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`));try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise((e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}}))}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=ro(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(!this.resize)return{value:e,done:!1};try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{e.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(e){return Xo((()=>{const t=ec(Si(e,"float32"),0);let n;n=Td.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const r=n.shape;return uu(n,r.slice(1))}))}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach((e=>e.stop()));try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}}class AS{}class RS extends ZN{split(e){return new MS(this,e)}}class MS extends RS{constructor(e,t){super(),this.upstream=e,this.impl=new FS(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class FS extends lS{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const e of t.slice(0,-1))this.outputQueue.push(e);return this.carryover=t[t.length-1],!0}}class DS extends ZN{decodeUTF8(){return new _S(this)}}class _S extends RS{constructor(e){super(),this.upstream=e,this.impl=new OS(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class OS extends lS{constructor(e){if(super(),this.upstream=e,He().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:e}=n(4589);this.decoder=new e("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t,n;return!e.done&&(t=e.value,n=He().get("IS_BROWSER")?this.decoder.decode(t,{stream:!0}):this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0)}}class LS extends DS{constructor(e,t={}){super(),this.file=e,this.options=t,re(e instanceof Uint8Array||!!He().get("IS_BROWSER")&&(e instanceof File||e instanceof Blob),(()=>"FileChunkIterator only supports File, Blob and Uint8Array right now.")),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const e=new Promise(((e,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const r=new FileReader;r.onload=n=>{let s=r.result;if(s instanceof ArrayBuffer&&(s=new Uint8Array(s)),!(s instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(s)},r.onabort=e=>t(new Error("Aborted")),r.onerror=e=>t(new Error(e.type));const s=this.file.slice(this.offset,n);r.readAsArrayBuffer(s)}this.offset=n}));return{value:await e,done:!1}}}function zS(e){return"string"==typeof e&&"file://"===e.substr(0,7)}class PS extends AS{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(zS(this.input)&&He().get("IS_NODE")){const e=n(2993);this.input=e.readFileSync(this.input.substr(7))}return new LS(this.input,this.options)}}class BS extends AS{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return zS(this.url)?new PS(this.url,this.fileOptions).iterator():async function(e,t={},n){let r,s;var a;"string"==typeof e?r=e:(r=e.url,s={method:(a=e).method,headers:a.headers,body:a.body,mode:a.mode,credentials:a.credentials,cache:a.cache,redirect:a.redirect,referrer:a.referrer,integrity:a.integrity});const i=await(n||Ms)(r,s);if(i.ok){const e=new Uint8Array(await i.arrayBuffer());return new LS(e,t)}throw new Error(i.statusText)}(this.url,this.fileOptions)}}function VS(e,t={}){return new CS(new BS(e),t)}function US(e){const t=YN(e);return gS((async()=>t))}function WS(e){return gS((async()=>{const t=await e();return YN((()=>t.next()))}))}async function GS(e,t){return $S.create(e,t)}async function HS(e){return ES.create(e)}const jS="3.13.0";function qS(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{null!=e&&re("complex64"!==e.dtype,(()=>`${t} does not support complex64 tensors in the CPU backend.`))}))}const KS=up;class XS extends q{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new j(this,jo())}nextDataId(){return XS.nextDataId++}write(e,t,n){this.firstUse&&(this.firstUse=!1,He().get("IS_NODE")&&ns("\n============================\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\n============================"));const r={id:this.nextDataId()};return this.data.set(r,{values:e,dtype:n,refCount:1}),r}makeTensorInfo(e,t,n){let r;if("string"===t&&null!=n&&n.length>0&&Ce(n[0])){const s=n.map((e=>Fs(e)));r=this.write(s,e,t)}else r=this.write(n,e,t);return{dataId:r,shape:e,dtype:t}}refCount(e){return this.data.has(e)?this.data.get(e).refCount:0}incRef(e){this.data.get(e).refCount++}decRef(e){this.data.has(e)&&this.data.get(e).refCount--}move(e,t,n,r,s){this.data.set(e,{values:t,dtype:r,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){const{dtype:t,complexTensorInfos:n}=this.data.get(e);return"complex64"===t?Jd(this.readSync(n.real.dataId),this.readSync(n.imag.dataId)):this.data.get(e).values}bufferSync(e){const t=this.readSync(e.dataId);let n=t;if("string"===e.dtype)try{n=t.map((e=>Ds(e)))}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return Ni(e.shape,e.dtype,n)}makeOutput(e,t,n){const r=this.write(e,t,n);return jo().makeTensorFromDataId(r,t,n,this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(e);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){const t=Rs();return e(),{kernelMs:Rs()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){qS([e],"where");const t=this.readSync(e.dataId);return KS(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}}function YS(e,t,n){return({inputs:r,attrs:s,backend:a})=>{const{x:i}=r;if(qS(i,e),"string"===i.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=a,l=o.data.get(i.dataId).values,u=oe(i.shape),c=n||i.dtype,h=we(c,u);for(let e=0;e{const{x:i}=r;if(qS(i,e),"string"===i.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=a,l=o.data.get(i.dataId).values,u=n||i.dtype,c=t(l,u,s);return o.makeTensorInfo(i.shape,u,c)}}XS.nextDataId=0,al("cpu",(()=>new XS),1);const JS=YS(jt,(e=>e>=0?e:Math.exp(e)-1)),QS={kernelName:jt,backendName:"cpu",kernelFunc:JS};function eT(e){const{inputs:t,backend:n}=e,{x:r}=t;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const tT={kernelName:cn,backendName:"cpu",kernelFunc:eT};function nT(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{alpha:a}=r;qS([s],"leakyRelu");const i=oe(s.shape),o=n.data.get(s.dataId).values,l=xe("float32",i);for(let e=0;e{const i=Zi(t,n),o=i.length,l=Fe(i),u=xe(a,oe(i)),c=t.length,h=n.length,p=Fe(t),d=Fe(n),f=Xi(t,i),m=Xi(n,i);if(f.length+m.length===0)for(let t=0;ta[e]=0));const i=Be(a,c,p),g=n.slice(-h);m.forEach((e=>g[e]=0));const y=Be(g,h,d);u[t]=e(r[i],s[y])}return[u,i]}}const aT=sT(((e,t)=>e<0?t*e:e));function iT(e){const{inputs:t,backend:n}=e,{x:r,alpha:s}=t;qS([r,s],"prelu");const a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,[o,l]=aT(r.shape,s.shape,a,i,"float32");return n.makeTensorInfo(l,"float32",o)}const oT={kernelName:Qn,backendName:"cpu",kernelFunc:iT},lT=YS(sr,(e=>Math.max(0,e))),uT={kernelName:sr,backendName:"cpu",kernelFunc:lT},cT=YS(cr,(e=>Math.min(Math.max(0,e),6))),hT={kernelName:cr,backendName:"cpu",kernelFunc:cT};function pT(e){return(t,n,r)=>{const s=xe(n,t.length);for(let n=0;n1/(1+Math.exp(-e)))),fT=YS(vr,(e=>1/(1+Math.exp(-e)))),mT={kernelName:vr,backendName:"cpu",kernelFunc:fT};function gT(e,t,n,r,s){if("linear"===n)return eT({inputs:{x:t},backend:e});if("relu"===n)return lT({inputs:{x:t},backend:e});if("elu"===n)return JS({inputs:{x:t},backend:e});if("relu6"===n)return cT({inputs:{x:t},backend:e});if("prelu"===n)return iT({inputs:{x:t,alpha:r},backend:e});if("leakyrelu"===n)return nT({inputs:{x:t},backend:e,attrs:{alpha:s}});if("sigmoid"===n)return fT({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}function yT(e){const{inputs:t,backend:n}=e,{real:r,imag:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=n.makeTensorInfo(r.shape,"complex64");return n.data.get(o.dataId).complexTensorInfos={real:n.makeTensorInfo(r.shape,"float32",a),imag:n.makeTensorInfo(s.shape,"float32",i)},o}const bT={kernelName:kt,backendName:"cpu",kernelFunc:yT};function xT(e,t,n="float32"){if("complex64"===n)return yT({inputs:{real:xT(e,t,"float32"),imag:xT(e,t,"float32")},backend:e});const r=Le(oe(t),n);return e.makeTensorInfo(t,n,r)}function wT(e){const{inputs:t,backend:n}=e,{input:r}=t,s=n.data.get(r.dataId).complexTensorInfos.real,a=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,a)}const vT={kernelName:nr,backendName:"cpu",kernelFunc:wT};function kT(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dtype:a}=r;if("complex64"===a){if("complex64"===s.dtype)return eT({inputs:{x:s},backend:n});const e=xT(n,s.shape,s.dtype),t=kT({inputs:{x:s},backend:n,attrs:{dtype:"float32"}}),r=yT({inputs:{real:t,imag:e},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),r}if("complex64"===s.dtype){const e=wT({inputs:{input:s},backend:n}),t=kT({inputs:{x:e},backend:n,attrs:{dtype:a}});return n.disposeIntermediateTensorInfo(e),t}if(!Ie(s.dtype,a)){const e=eT({inputs:{x:s},backend:n});return{dataId:e.dataId,shape:e.shape,dtype:a}}if("int32"===a){const e=n.data.get(s.dataId).values,t=Int32Array.from(e);return n.makeTensorInfo(s.shape,"int32",t)}if("bool"===a){const e=n.data.get(s.dataId).values,t=As([0],s.dtype),[r,a]=sT(((e,t)=>e!==t?1:0))(s.shape,[],e,t,"bool");return n.makeTensorInfo(a,"bool",r)}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${a}`)}const IT={kernelName:xt,backendName:"cpu",kernelFunc:kT};function NT(e,t,n,r){return null==n?({inputs:n,backend:s})=>{const{a,b:i}=n,o=s;qS([a,i],e);const l=o.data.get(a.dataId).values,u=o.data.get(i.dataId).values,c="string"===a.dtype?Af(l):l,h="string"===a.dtype?Af(u):u,p=r||a.dtype,[d,f]=t(a.shape,i.shape,c,h,p);return o.makeTensorInfo(f,p,d)}:({inputs:e,backend:s})=>{const{a,b:i}=e,o=s;if("complex64"===a.dtype||"complex64"===i.dtype){const e=kT({inputs:{x:a},backend:o,attrs:{dtype:"complex64"}}),t=o.data.get(e.dataId),r=t.complexTensorInfos.real,s=t.complexTensorInfos.imag,l=o.data.get(r.dataId).values,u=o.data.get(s.dataId).values,c=kT({inputs:{x:i},backend:o,attrs:{dtype:"complex64"}}),h=o.data.get(c.dataId),p=h.complexTensorInfos.real,d=h.complexTensorInfos.imag,f=o.data.get(p.dataId).values,m=o.data.get(d.dataId).values,[g,y,b]=n(a.shape,i.shape,l,u,f,m),x=o.makeTensorInfo(b,"float32",g),w=o.makeTensorInfo(b,"float32",y),v=yT({inputs:{real:x,imag:w},backend:o});return o.disposeIntermediateTensorInfo(e),o.disposeIntermediateTensorInfo(c),o.disposeIntermediateTensorInfo(x),o.disposeIntermediateTensorInfo(w),v}{const e=o.data.get(a.dataId).values,n=o.data.get(i.dataId).values,s=r||a.dtype,[l,u]=t(a.shape,i.shape,e,n,s);return o.makeTensorInfo(u,s,l)}}}function ST(e){return(t,n,r,s,a,i)=>{const o=Zi(t,n),l=oe(o),u=o.length,c=Fe(o),h=xe("float32",l),p=xe("float32",l),d=Xi(t,o),f=Xi(n,o),m=Jd(r,s),g=Jd(a,i),y=t.length,b=Fe(t),x=n.length,w=Fe(n);if(d.length+f.length===0)for(let t=0;tr[e]=0));const s=Be(r,y,b),a=n.slice(-x);f.forEach((e=>a[e]=0));const i=Be(a,x,w),o=e(m[2*s],m[2*s+1],g[2*i],g[2*i+1]);h[t]=o.real,p[t]=o.imag}return[h,p,o]}}const TT=sT(((e,t)=>e+t)),CT=ST(((e,t,n,r)=>({real:e+n,imag:t+r}))),ET=NT(Qe,TT,CT),$T={kernelName:Qe,backendName:"cpu",kernelFunc:ET};function AT(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{shape:a}=r,i=oe(s.shape),o=ge(a,i),l=oe(o);re(i===l,(()=>`The new shape (${o}) has ${l} elements and the old shape (${s.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`)),n.incRef(s.dataId);const u=n.data.get(s.dataId);if(null!=u.complexTensorInfos){const e=u.complexTensorInfos.real,t=u.complexTensorInfos.imag;e.shape=o,t.shape=o}return{dataId:s.dataId,shape:o,dtype:s.dtype}}const RT={kernelName:ar,backendName:"cpu",kernelFunc:AT};function MT(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a}=t,{transposeA:i,transposeB:o}=r;qS([s,a],"matMul");const l=s.shape.length,u=a.shape.length,c=i?s.shape[l-2]:s.shape[l-1],h=o?a.shape[u-1]:a.shape[u-2],p=i?s.shape[l-1]:s.shape[l-2],d=o?a.shape[u-2]:a.shape[u-1],f=s.shape.slice(0,-2),m=a.shape.slice(0,-2),g=oe(f),y=oe(m),b=Zi(s.shape.slice(0,-2),a.shape.slice(0,-2)).concat([p,d]);re(c===h,(()=>`Error in matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${s.shape} and ${a.shape} and transposeA=${i} and transposeB=${o} must match.`));const x=o?[y,d,h]:[y,h,d],w=AT({inputs:{x:s},backend:n,attrs:{shape:i?[g,c,p]:[g,p,c]}}),v=AT({inputs:{x:a},backend:n,attrs:{shape:x}}),k=i?w.shape[1]:w.shape[2],I=i?w.shape[2]:w.shape[1],N=o?v.shape[1]:v.shape[2],S=Math.max(g,y),T=n.data.get(w.dataId).values,C=n.data.get(v.dataId).values,E=Fe(w.shape),$=Fe(v.shape),[A,R,M]=i?[E[0],1,E[1]]:[E[0],E[1],1],[F,D,_]=o?[1,$[1],$[0]]:[$[1],1,$[0]],O=I*N,L=Ni([S,I,N],w.dtype),z=L.values,P=n.blockSize;for(let e=0;e{const{x:t}=e.inputs,n=e.backend;qS(t,"abs");let r=new Float32Array(oe(t.shape));return r=_T(n.data.get(t.dataId).values),n.makeOutput(r,t.shape,t.dtype)}},LT=YS(Ze,(e=>Math.acos(e))),zT={kernelName:Ze,backendName:"cpu",kernelFunc:LT},PT=YS(Je,(e=>Math.acosh(e))),BT={kernelName:Je,backendName:"cpu",kernelFunc:PT},VT={kernelName:et,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,r=t;qS(t,"addN");const s=r.map((e=>n.data.get(e.dataId).values)),a=Ni(r[0].shape,r[0].dtype),i=a.values;for(let e=0;en&&(n=s,r=e)}p[e]=r}return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(c,"int32",p)}},KT={kernelName:st,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;qS(s,"argMin");let i=ye(a,s.shape);const o=Ac(i,s.shape.length);let l=s;const u=[];null!=o&&(l=WT({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Mc(i.length,l.shape.length)),i=[i[0]],$c("argMin",i,l.shape.length);const[c,h]=Cc(l.shape,i),p=Le(oe(c),"int32"),d=oe(h),f=n.data.get(l.dataId).values;for(let e=0;en.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(c,"int32",p)}},XT=YS(at,(e=>Math.asin(e))),YT={kernelName:at,backendName:"cpu",kernelFunc:XT},ZT=YS(it,(e=>Math.asinh(e))),JT={kernelName:it,backendName:"cpu",kernelFunc:ZT},QT=YS(ot,(e=>Math.atan(e))),eC={kernelName:ot,backendName:"cpu",kernelFunc:QT},tC=sT(((e,t)=>Math.atan2(e,t))),nC=NT(ut,tC),rC={kernelName:ut,backendName:"cpu",kernelFunc:nC},sC=YS(lt,(e=>Math.atanh(e))),aC={kernelName:lt,backendName:"cpu",kernelFunc:sC};function iC(e,t,n,r,s,a){const i=s.strideHeight,o=s.strideWidth,l=s.dilationHeight,u=s.dilationWidth,c=s.effectiveFilterHeight,h=s.effectiveFilterWidth,p=s.padInfo.top,d=s.padInfo.left,f="max"===a?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=Ni(s.outShape,n),g=m.values,y=s.outShape[1]*s.outShape[2]*s.outShape[3],b=s.outShape[2]*s.outShape[3],x=s.outShape[3];for(let t=0;ty?y=i:"avg"===a&&(b+=i,w++)}if(isNaN(y))break}g[I+n*x+t]="avg"===a?b/w:y}}}return m}function oC(e,t,n,r,s=!1,a=!1){const i=Ni(r.outShape,"int32"),o=r.strideHeight,l=r.strideWidth,u=r.dilationHeight,c=r.dilationWidth,h=r.effectiveFilterHeight,p=r.effectiveFilterWidth,d=r.padInfo.top,f=r.padInfo.left,m=Ni(t,n,e);for(let e=0;ew&&(w=u,v=s?a?((e*r.inHeight+n)*r.inWidth+o)*r.inChannels+t:(n*r.inWidth+o)*r.inChannels+t:i*p+l)}}i.set(v,e,n,o,t)}}return i}function lC(e,t,n,r,s,a){const i=s.strideDepth,o=s.strideHeight,l=s.strideWidth,u=s.dilationDepth,c=s.dilationHeight,h=s.dilationWidth,p=s.effectiveFilterDepth,d=s.effectiveFilterHeight,f=s.effectiveFilterWidth,m=s.padInfo.front,g=s.padInfo.top,y=s.padInfo.left,b="max"===a?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,x=Ni(s.outShape,n),w=x.values,v=s.outShape[1]*s.outShape[2]*s.outShape[3]*s.outShape[4],k=s.outShape[2]*s.outShape[3]*s.outShape[4],I=s.outShape[3]*s.outShape[4],N=s.outShape[4];for(let t=0;tk?k=s:"avg"===a&&(I+=s,S++),isNaN(k))break}if(isNaN(k))break}if(isNaN(k))break}w[g+t]="avg"===a?I/S:k}}}}return x}const uC={kernelName:ct,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;qS(s,"avgPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))c=eT({inputs:{x:s},backend:n});else{const e=n.data.get(s.dataId).values,t=Fe(s.shape),r=iC(e,s.shape,s.dtype,t,u,"avg");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},cC={kernelName:pt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;qS(s,"avgPool3d");const c=Zl(s.shape,a,i,1,o,l,u),h=lC(n.data.get(s.dataId).values,s.shape,s.dtype,Fe(s.shape),c,"avg");return n.makeTensorInfo(h.shape,"float32",h.values)}},hC={kernelName:dt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;qS([s,a],"avgPool3DGrad");const c=Zl(a.shape,i,o,1,l,u),h=c.strideDepth,p=c.strideHeight,d=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,y=c.dilationDepth,b=c.dilationHeight,x=c.dilationWidth,w=c.effectiveFilterDepth,v=c.effectiveFilterHeight,k=c.effectiveFilterWidth,I=w-1-c.padInfo.front,N=k-1-c.padInfo.left,S=v-1-c.padInfo.top,T=Ni(a.shape,"float32"),C=1/(f*m*g),E=n.bufferSync(s);for(let e=0;e=c.outDepth||Math.floor(r)!==r))for(let n=0;n=c.outHeight||Math.floor(s)!==s))for(let n=0;n=c.outWidth||Math.floor(a)!==a||(l+=E.get(e,r,s,a,t))}}}T.set(l*C,e,n,r,s,t)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}},pC={kernelName:ht,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a;qS([s,a],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(i.shape,o,l,1,u),h=c.strideHeight,p=c.strideWidth,d=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,y=c.effectiveFilterHeight,b=c.effectiveFilterWidth,x=b-1-c.padInfo.left,w=y-1-c.padInfo.top,v=Ni(i.shape,"float32"),k=1/(d*f),I=n.data.get(s.dataId).values,N=Ni(s.shape,"float32",I);for(let e=0;e=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s||(i+=N.get(e,r,s,t))}}v.set(i*k,e,n,r,t)}return n.makeTensorInfo(v.shape,v.dtype,v.values)}},dC={kernelName:sn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,scale:a,offset:i,mean:o,variance:l}=t;re(o.shape.length===l.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),re(null==i||o.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),re(null==a||o.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks.")),qS([s,o,l,a,i],"batchNorm");let{varianceEpsilon:u}=r;null==u&&(u=.001);const c=n.data.get(s.dataId).values,h=n.data.get(o.dataId).values,p=n.data.get(l.dataId).values,d=a?n.data.get(a.dataId).values:new Float32Array([1]),f=i?n.data.get(i.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,y=d.length,b=p.length,x=h.length;let w=0,v=0,k=0,I=0;for(let e=0;e=g&&(w=0),v>=x&&(v=0),k>=y&&(k=0),I>=b&&(I=0);return n.makeTensorInfo(s.shape,s.dtype,m)}};function fC(e,t,n,r,s){const a=vo(r,t,n),i=oe(n),o=Fe(r);if(a){const n=ko(t,o);return"string"===s?e.slice(n,n+i):e.subarray(n,n+i)}const l=Ni(r,s,"string"===s?Af(e):e),u=Ni(n,s);for(let e=0;ee+t[n]));u.set(l.get(...r),...n)}return"string"===s?Rf(u.values):u.values}function mC(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,size:i}=r;qS(s,"slice");const[o,l]=Io(s,a,i);lo(s,o,l);const u=fC(n.data.get(s.dataId).values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,u)}const gC={kernelName:yr,backendName:"cpu",kernelFunc:mC},yC={kernelName:mt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,crops:i}=r;qS([s],"batchToSpaceND");const o=a.reduce(((e,t)=>e*t)),l=Pd(s.shape,a,o),u=Bd(l.length,a.length),c=Vd(s.shape,a,o),h=Ud(i,a.length),p=Wd(c,i,a.length),d=AT({inputs:{x:s},backend:n,attrs:{shape:l}}),f=WT({inputs:{x:d},backend:n,attrs:{perm:u}}),m=AT({inputs:{x:f},backend:n,attrs:{shape:c}}),g=mC({inputs:{x:m},backend:n,attrs:{begin:h,size:p}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};function bC(e,t,n,r,s){const a=oe(r),i=Le(s,n);for(let n=0;n=s||(i[r]+=a>0?t[n]:1)}return i}function xC(e,t,n,r=!1){const s=e.shape[0],a=e.shape[1],i=Ni([s,n],t.dtype);for(let o=0;o=n||(r?i.set(1,o,a):t.size>0?i.set(i.get(o,a)+t.get(o,s),o,a):i.set(i.get(o,a)+1,o,a))}return i}const wC={kernelName:gt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i}=r,o=bC(n.data.get(s.dataId).values,n.data.get(a.dataId).values,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,o)}},vC={kernelName:bt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{s0:r,s1:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=Zi(Array.from(a),Array.from(i));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},kC=pT((e=>Math.ceil(e))),IC=ZS(wt,kC),NC={kernelName:wt,backendName:"cpu",kernelFunc:IC},SC=YS(vt,((e,t)=>{const n=t;return e>n.clipValueMax?n.clipValueMax:e{const{x:t}=e.inputs,n=e.backend,r=new Float32Array(oe(t.shape)),s=n.data.get(t.dataId),a=s.complexTensorInfos.real,i=s.complexTensorInfos.imag,o=n.data.get(a.dataId).values,l=n.data.get(i.dataId).values;for(let e=0;e{const n=oe(e.shape);s.set(e.vals,t),t+=n}))}else{let r=0;e.forEach((e=>{const a="string"===n?Af(e.vals):e.vals;let i=0;for(let n=0;ne.shape)),a);if(0===oe(i))return n.makeTensorInfo(i,t[0].dtype,[]);const o=t.filter((e=>oe(e.shape)>0));if(1===o.length)return eT({inputs:{x:o[0]},backend:n});if(Dd(o.map((e=>e.shape)),a),"complex64"===o[0].dtype){const e=o.map((e=>wT({inputs:{input:e},backend:n}))),t=o.map((e=>$C({inputs:{input:e},backend:n}))),r=RC({inputs:e,backend:n,attrs:{axis:a}}),s=RC({inputs:t,backend:n,attrs:{axis:a}}),i=yT({inputs:{real:r,imag:s},backend:n});return e.forEach((e=>n.disposeIntermediateTensorInfo(e))),t.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),i}const l=o.map((e=>{const t=oe(e.shape.slice(a));return AT({inputs:{x:e},backend:n,attrs:{shape:[-1,t]}})})),u=l.map((e=>({vals:n.data.get(e.dataId).values,shape:e.shape})));i=_d(l.map((e=>e.shape)),1);const c=1===l[0].shape[0],h=EC(u,i,t[0].dtype,c),p=_d(o.map((e=>e.shape)),a),d=n.makeTensorInfo(p,t[0].dtype,h);return l.forEach((e=>n.disposeIntermediateTensorInfo(e))),d}const MC={kernelName:Nt,backendName:"cpu",kernelFunc:RC};function FC(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r;qS([s,a],"conv2d");const h=ou(l),p=Jl(s.shape,a.shape,i,u,o,c,!1,h),d=p.filterHeight,f=p.filterWidth,m=p.dilationHeight,g=p.dilationWidth,y=p.padInfo.left,b=p.padInfo.top,x="channelsLast"===p.dataFormat,w=new Ws(p.outShape,s.dtype),v=Fe(s.shape),k=Fe(a.shape),I=v[0],N=x?v[1]:v[2],S=x?v[2]:1,T=x?1:v[1],C=w.strides[0],E=x?w.strides[1]:w.strides[2],$=x?w.strides[2]:1,A=x?1:w.strides[1],R=n.data.get(s.dataId).values,M=n.data.get(a.dataId).values,F=w.values;for(let e=0;e=p.inHeight)continue;const a=e*k[0],i=t+n*N;for(let e=0;e=p.inWidth)continue;const s=i+r*S;let o=a+e*k[1];for(let e=0;e=u.inDepth)continue;const a=e*S[0],i=t+n*N[1];for(let e=0;e=u.inHeight)continue;const s=a+e*S[1],o=i+r*N[2];for(let e=0;e=u.inWidth)continue;const a=s+e*S[2],i=o+t*u.inChannels;let l=a;for(let e=0;eMath.cos(e))),VC={kernelName:Rt,backendName:"cpu",kernelFunc:BC},UC=YS(Mt,(e=>Math.cosh(e))),WC={kernelName:Mt,backendName:"cpu",kernelFunc:UC},GC={kernelName:Dt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{image:s,boxes:a,boxInd:i}=t,{cropSize:o,method:l,extrapolationValue:u}=r,[c,h,p,d]=s.shape,f=a.shape[0],[m,g]=o,y=Ni([f,m,g,d],"float32"),b=n.data.get(a.dataId).values,x=n.data.get(i.dataId).values,w=n.data.get(s.dataId).values,v=Fe(s.shape),k=Fe(y.shape);for(let e=0;e=c)continue;const o=m>1?(s-n)*(h-1)/(m-1):0,f=g>1?(a-r)*(p-1)/(g-1):0;for(let t=0;t1?n*(h-1)+t*o:.5*(n+s)*(h-1);if(c<0||c>h-1)for(let n=0;n1?r*(p-1)+l*f:.5*(r+a)*(p-1);if(c<0||c>p-1){for(let n=0;n1?r*(p-1)+n*f:.5*(r+a)*(p-1);if(s<0||s>p-1){for(let r=0;re+f-t-1:(e,t)=>e+t;for(let e=0;e`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`));const o=s.shape[0],l=s.shape[1],u=s.shape[2],c=s.shape[3],h=l*a,p=u*a,d=c/(a*a),f=n.data.get(s.dataId).values,m=new Float32Array(o*h*p*d);let g=0;for(let e=0;e`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${p}'`));const d=Jl(s.shape,a.shape,i,p,o,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:y,padInfo:b}=d,x=b.left,w=b.top,v=d.outChannels/d.inChannels,k=new Ws(d.outShape,s.dtype),I=n.data.get(s.dataId).values,N=n.data.get(a.dataId).values,S=k.values;for(let e=0;e=d.inHeight)continue;const a=e*h[0],i=t+n*c[1];for(let e=0;e=d.inWidth)continue;const s=a+e*h[1],o=i+r*d.inChannels;let l=t,u=s;for(let e=0;e{const{x:r,filter:s}=e,{strides:a,pad:i,dilations:o}=n,l=t,u=l.data.get(r.dataId).values,c=r.shape.length,h=l.data.get(s.dataId).values,p=s.shape.length,{batchSize:d,inHeight:f,inWidth:m,inChannels:g,outHeight:y,outWidth:b,padInfo:x,strideHeight:w,strideWidth:v,filterHeight:k,filterWidth:I,dilationHeight:N,dilationWidth:S,outShape:T}=Xl(r.shape,s.shape,a,i,"NHWC",o),C=oe(T),E=T.length,$=we(r.dtype,C);for(let e=0;e=0&&a=0&&dl&&(l=m)}}}$[Be([e,t,a,o],E,Fe(T))]=l}}}return{dataId:l.write(As($,r.dtype),T,r.dtype),shape:T,dtype:r.dtype}}},eE={kernelName:Wt,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=_e(r.shape,u.data.get(r.dataId).values),h=_e(s.shape,u.data.get(s.dataId).values),{batchSize:p,inHeight:d,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:b,strideHeight:x,strideWidth:w,filterHeight:v,filterWidth:k,dilationHeight:I,dilationWidth:N,outShape:S}=Xl(r.shape,s.shape,i,o,"NHWC",l);re(a.rank===S.length,(()=>`Error in ${Wt}, dy must have the same rank as output ${S.length}, but got ${a.rank}`));const T=_e(S,u.data.get(a.dataId).values),C=ze(s.shape,s.dtype);for(let e=0;e=0&&r=0&&ui&&(i=s,o=t,l=n)}}}C[o][l][a]+=T[e][t][r][a]}}}return{dataId:u.write(As(C,r.dtype),s.shape,s.dtype),shape:s.shape,dtype:s.dtype}}},tE={kernelName:Ut,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=_e(r.shape,u.data.get(r.dataId).values),h=_e(s.shape,u.data.get(s.dataId).values),{batchSize:p,inHeight:d,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:b,strideHeight:x,strideWidth:w,filterHeight:v,filterWidth:k,dilationHeight:I,dilationWidth:N,outShape:S}=Xl(r.shape,s.shape,i,o,"NHWC",l);re(a.rank===S.length,(()=>`Error in ${Ut}, dy must have the same rank as output ${S.length}, but got ${a.rank}`));const T=_e(S,u.data.get(a.dataId).values),C=ze(r.shape,r.dtype);for(let e=0;e=0&&r=0&&ui&&(i=s,o=r,l=u)}}}C[e][o][l][a]+=T[e][t][r][a]}}}return{dataId:u.write(As(C,r.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},nE=sT(((e,t)=>e*t)),rE=ST(((e,t,n,r)=>({real:e*n-t*r,imag:e*r+t*n}))),sE=NT(Vn,nE,rE),aE={kernelName:Vn,backendName:"cpu",kernelFunc:sE};function iE(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;let o;qS(s,"sum"),o="bool"===s.dtype?kT({inputs:{x:s},backend:n,attrs:{dtype:"int32"}}):eT({inputs:{x:s},backend:n});const l=o.shape.length,u=ye(a,o.shape),c=Ac(u,l);let h=u,p=o;null!=c&&(p=WT({inputs:{x:o},backend:n,attrs:{perm:c}}),h=Mc(h.length,l)),$c("sum",h,p.shape.length);const[d,f]=Cc(p.shape,h);let m=xT(n,d,na(p.dtype,"int32"));const g=oe(f),y=n.data.get(m.dataId).values,b=n.data.get(p.dataId).values;for(let e=0;e=0&&(p=iE({inputs:{x:p},backend:n,attrs:{axis:u[e]-(i.length-d),keepDims:!1}}),f.push(p)),d--)}for(const e of f)e!==p&&n.disposeIntermediateTensorInfo(e);return p}},uE={kernelName:qt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{dy:r,y:s}=t;qS([r,s],"eluGrad");const a=new Float32Array(oe(s.shape)),i=n.data.get(s.dataId).values,o=n.data.get(r.dataId).values;for(let e=0;e=1?o[e]:o[e]*(t+1)}return n.makeTensorInfo(s.shape,"float32",a)}},cE=sT(((e,t)=>e===t?1:0)),hE=NT(Xt,cE,null,"bool"),pE={kernelName:Xt,backendName:"cpu",kernelFunc:hE},dE=jd,fE=qd,mE=Kd,gE=Xd,yE=Yd,bE=Zd,xE=YS(Kt,(e=>{const t=Math.sign(e),n=Math.abs(e),r=1/(1+dE*n);return t*(1-((((bE*r+yE)*r+gE)*r+mE)*r+fE)*r*Math.exp(-n*n))})),wE={kernelName:Kt,backendName:"cpu",kernelFunc:xE},vE=pT((e=>Math.exp(e))),kE=ZS(Yt,vE,"float32"),IE={kernelName:Yt,backendName:"cpu",kernelFunc:kE};function NE(e){const{inputs:t,backend:n,attrs:r}=e,{input:s}=t,{dim:a}=r,i=s.shape.length,o=s.shape.slice();let l=a;return a<0&&(re(-(i+1)<=a,(()=>`Axis must be in the interval [${-(i+1)}, ${i}]`)),l=i+a+1),o.splice(l,0,1),AT({inputs:{x:s},backend:n,attrs:{shape:o}})}const SE={kernelName:Zt,backendName:"cpu",kernelFunc:NE},TE=pT((e=>Math.expm1(e))),CE=ZS(Jt,TE),EE={kernelName:Jt,backendName:"cpu",kernelFunc:CE},$E=sT(((e,t)=>e/t)),AE=NT(Gt,$E),RE={kernelName:Gt,backendName:"cpu",kernelFunc:AE},ME=sT(((e,t)=>e-t)),FE=ST(((e,t,n,r)=>({real:e-n,imag:t-r}))),DE=NT(Pr,ME,FE),_E={kernelName:Pr,backendName:"cpu",kernelFunc:DE};function OE(e,t,n){const r=e.shape,s=r[0],a=r[1],i=n.data.get(e.dataId),o=i.complexTensorInfos.real,l=i.complexTensorInfos.imag,u=[s,a],c=oe(u),h=xe("float32",c),p=xe("float32",c);for(let e=0;e{const{image:r}=e,s=n,a=xe(r.dtype,oe(r.shape)),[i,o,l,u]=r.shape,c=s.data.get(r.dataId).values;for(let e=0;e=0&&iMath.floor(e))),GE=ZS(nn,WE),HE={kernelName:nn,backendName:"cpu",kernelFunc:GE},jE=sT(((e,t)=>Math.floor(e/t))),qE=NT(rn,jE,null,"int32"),KE={kernelName:rn,backendName:"cpu",kernelFunc:qE},XE={kernelName:es,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p,activation:d,leakyreluAlpha:f}=r;let m=FC({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p}});if(i){const e=m;m=ET({inputs:{a:m,b:i},backend:n}),n.disposeIntermediateTensorInfo(e)}if(d){const e=m;m=gT(n,m,d,o,f),n.disposeIntermediateTensorInfo(e)}return m}},YE={kernelName:ts,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p,activation:d,leakyreluAlpha:f}=r;let m=KC({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p}});if(i){const e=m;m=ET({inputs:{a:m,b:i},backend:n}),n.disposeIntermediateTensorInfo(e)}if(d){const e=m;m=gT(n,m,d,o,f),n.disposeIntermediateTensorInfo(e)}return m}};function ZE(e,t,n,r,s,a,i,o,l){const u=Ni([r,a],n);for(let n=0;n=l/a)throw new Error(`Invalid indices: ${r} does not index into ${o}`);for(let e=0;e=0,(()=>`GatherV2: the index value ${t} is not in [0, ${c-1}]`))}let h=o;null==o&&(h=0);const p=oe(a.shape),d=$f(s,a,l,h),f=AT({inputs:{x:s},backend:n,attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]}}),m=AT({inputs:{x:a},backend:n,attrs:{shape:[d.batchSize,p/d.batchSize]}}),g=[d.batchSize,d.outerSize,p/d.batchSize,d.sliceSize],y=n.bufferSync(m),b=QE(n.bufferSync(f),y,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(d.outputShape,b.dtype,b.values)}},t$=sT(((e,t)=>e>t?1:0)),n$=NT(ln,t$,null,"bool"),r$={kernelName:ln,backendName:"cpu",kernelFunc:n$},s$=sT(((e,t)=>e>=t?1:0)),a$=NT(un,s$,null,"bool"),i$={kernelName:un,backendName:"cpu",kernelFunc:a$},o$={kernelName:hn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{input:r}=t,s=oe(r.shape),a=r.shape[r.shape.length-1],i=AT({inputs:{x:r},backend:n,attrs:{shape:[s/a,a]}}),o=OE(i,!0,n),l=AT({inputs:{x:o},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}},l$=YS(dn,(e=>Number.isFinite(e)?1:0),"bool"),u$={kernelName:dn,backendName:"cpu",kernelFunc:l$},c$=YS(fn,(e=>Math.abs(e)===1/0?1:0),"bool"),h$={kernelName:fn,backendName:"cpu",kernelFunc:c$},p$=YS(mn,(e=>Number.isNaN(e)?1:0),"bool"),d$={kernelName:mn,backendName:"cpu",kernelFunc:p$},f$=sT(((e,t)=>ee<=t?1:0)),b$=NT(bn,y$,null,"bool"),x$={kernelName:bn,backendName:"cpu",kernelFunc:b$};function w$(e,t,n){const r=(t-e)/(n-1),s=Le(n,"float32");s[0]=e;for(let e=1;eMath.log(e))),I$=ZS(wn,k$),N$={kernelName:wn,backendName:"cpu",kernelFunc:I$},S$=YS(vn,(e=>Math.log1p(e))),T$={kernelName:vn,backendName:"cpu",kernelFunc:S$},C$=sT(((e,t)=>e&&t)),E$=NT(kn,C$,null,"bool"),$$={kernelName:kn,backendName:"cpu",kernelFunc:E$},A$=YS(In,(e=>e?0:1),"bool"),R$={kernelName:In,backendName:"cpu",kernelFunc:A$},M$=sT(((e,t)=>e||t)),F$=NT(Nn,M$,null,"bool"),D$={kernelName:Nn,backendName:"cpu",kernelFunc:F$},_$={kernelName:Tn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{depthRadius:a,bias:i,alpha:o,beta:l}=r;qS(s,"LRN");const u=s.shape[3],c=u-1,h=n.data.get(s.dataId).values,p=oe(s.shape),d=new Float32Array(p);function f(e){const t=e%u;let n=e-t+Math.max(0,t-a);const r=e-t+Math.min(t+a,c);let s=0;for(;n<=r;n++){const e=h[n];s+=e*e}return s}for(let e=0;ea)&&(a=t)}s[n]=a}return s}function z$(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{reductionIndices:a,keepDims:i}=r,o=n;let l=s.shape;const u=l.length,c=ye(a,l);let h=c;const p=Ac(h,u);let d=o.data.get(s.dataId).values;if(null!=p){const e=new Array(u);for(let t=0;tMath.max(e,t))),V$=NT($n,B$),U$={kernelName:$n,backendName:"cpu",kernelFunc:V$},W$={kernelName:An,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;qS(s,"maxPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))c=eT({inputs:{x:s},backend:n});else{const e=n.data.get(s.dataId).values,t=Fe(s.shape),r=iC(e,s.shape,s.dtype,t,u,"max");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},G$={kernelName:Mn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;qS(s,"maxPool3d");const c=Zl(s.shape,a,i,1,o,l,u),h=lC(n.data.get(s.dataId).values,s.shape,s.dtype,Fe(s.shape),c,"max");return n.makeTensorInfo(h.shape,"float32",h.values)}},H$={kernelName:Fn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;qS([s,a],"maxPool3DGrad");const c=Zl(a.shape,i,o,1,l,u),h=function(e,t){const n=Ni(t.outShape,"int32"),r=t.strideDepth,s=t.strideHeight,a=t.strideWidth,i=t.dilationDepth,o=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,h=t.effectiveFilterWidth,p=t.padInfo.front,d=t.padInfo.top,f=t.padInfo.left;for(let m=0;m=N&&(N=o,S=n*c*h+s*c+i)}}}n.set(S,m,y,r,s,g)}}}return n}(n.bufferSync(a),c),p=c.strideDepth,d=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,y=c.dilationWidth,b=c.effectiveFilterDepth,x=c.effectiveFilterHeight,w=c.effectiveFilterWidth,v=b-1-c.padInfo.front,k=w-1-c.padInfo.left,I=x-1-c.padInfo.top,N=Ni(a.shape,"float32"),S=n.bufferSync(s);for(let e=0;e=c.outDepth||Math.floor(r)!==r))for(let s=0;s=c.outHeight||Math.floor(a)!==a))for(let i=0;i=c.outWidth||Math.floor(u)!==u)continue;const p=b*x*w-1-h.get(e,r,a,u,t)===n*x*w+s*w+i?1:0;0!==p&&(l+=S.get(e,r,a,u,t)*p)}}}N.set(l,e,n,r,s,t)}return n.makeTensorInfo(N.shape,N.dtype,N.values)}},j$={kernelName:Rn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a,output:i}=t,o=a;qS([a,i],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,p=Yl(o.shape,l,u,1,c,h),d=n.data.get(o.dataId).values,f=Ni(p.outShape,o.dtype,oC(d,o.shape,o.dtype,p).values),m=p.strideHeight,g=p.strideWidth,y=p.dilationHeight,b=p.dilationWidth,x=p.effectiveFilterHeight,w=p.effectiveFilterWidth,v=w-1-p.padInfo.left,k=x-1-p.padInfo.top,I=Ni(o.shape,"float32"),N=n.data.get(s.dataId).values,S=Ni(s.shape,"float32",N);for(let e=0;e=p.outHeight||Math.floor(r)!==r))for(let s=0;s=p.outWidth||Math.floor(o)!==o)continue;const l=x*w-1-f.get(e,r,o,t)===n*w+s?1:0;0!==l&&(i+=S.get(e,r,o,t)*l)}}I.set(i,e,n,r,t)}return n.makeTensorInfo(I.shape,I.dtype,I.values)}},q$={kernelName:Dn,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{filterSize:s,strides:a,pad:i,includeBatchInIndex:o}=t,l=n;qS(r,"MaxPoolWithArgmax");const u=l.data.get(r.dataId).values,c=Yl(r.shape,s,a,[1,1],i),[h,p]=function(e,t,n,r,s){const a=iC(e,0,n,Fe(t),s,"max"),i=oC(e,t,n,s,!0,r);return[a.values,i.values]}(u,r.shape,r.dtype,o,c),d=l.write(h,c.outShape,r.dtype),f=l.write(p,c.outShape,r.dtype);return[{dataId:d,shape:c.outShape,dtype:r.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}},K$={kernelName:_n,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=ye(a,s.shape),l=oe(Cc(s.shape,o)[1]),u=[],c=n.makeTensorInfo([],"float32",new Float32Array([l]));u.push(c);const h=kT({inputs:{x:s},backend:n,attrs:{dtype:"float32"}});u.push(h);const p=AE({inputs:{a:h,b:c},backend:n});u.push(p);const d=iE({inputs:{x:p},backend:n,attrs:{axis:a,keepDims:i}});return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),d}},X$={kernelName:On,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;qS(s,"min");const o=ye(a,s.shape);let l=o;const u=Ac(l,s.shape.length);let c=s;null!=u&&(c=WT({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Mc(l.length,s.shape.length)),$c("min",l,c.shape.length);const[h,p]=Cc(c.shape,l),d=oe(p),f=Le(oe(h),c.dtype),m=n.data.get(c.dataId).values;for(let e=0;eMath.min(e,t))),Z$=NT(Ln,Y$),J$={kernelName:Ln,backendName:"cpu",kernelFunc:Z$},Q$={kernelName:zn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,mode:i}=r;qS(s,"mirrorPad");const o=a.map(((e,t)=>e[0]+s.shape[t]+e[1])),l=a.map((e=>e[0])),u=a.map(((e,t)=>e[0]+s.shape[t])),c="reflect"===i?0:1,h=n.data.get(s.dataId).values,p=s.shape.length,d=Fe(s.shape),f=oe(o),m=o.length,g=Fe(o),y=xe(s.dtype,f);for(let e=0;e=u[e]&&(t[e]=2*(u[e]-1)-t[e]+c);t=t.map(((e,t)=>e-l[t]));const n=Be(t,p,d);y[e]=h[n]}return{dataId:n.write(y,o,s.dtype),shape:o,dtype:s.dtype}}},eA=sT(((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t})),tA=NT(Pn,eA),nA={kernelName:Pn,backendName:"cpu",kernelFunc:tA};function rA(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{dim:a}=r,i=s.shape.length;let o=a;if(-1===o&&(o=i-1),o!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${o}`);const l=ye([o],s.shape),u=z$({inputs:{x:s},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=Ec(u.shape,l),h=AT({inputs:{x:u},backend:n,attrs:{shape:c}}),p=DE({inputs:{a:s,b:h},backend:n}),d=kE({inputs:{x:p},backend:n}),f=iE({inputs:{x:d},backend:n,attrs:{axis:l,keepDims:!1}}),m=AT({inputs:{x:f},backend:n,attrs:{shape:c}}),g=AE({inputs:{a:d,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const sA={kernelName:Cr,backendName:"cpu",kernelFunc:rA},aA={kernelName:Bn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{numSamples:a,seed:i,normalized:o}=r;qS(s,"multinomial");const l=o?s:rA({inputs:{logits:s},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],h=n.data.get(l.dataId).values,p=[u,a],d=Le(oe(p),"int32");for(let e=0;ee!==t?1:0)),mA=NT(Wn,fA,null,"bool"),gA={kernelName:Wn,backendName:"cpu",kernelFunc:mA},yA={kernelName:Kn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s}=t,{depth:a,onValue:i,offValue:o}=r;qS(s,"oneHot");const l=oe(s.shape),u=new Float32Array(l*a);u.fill(o);const c=n.data.get(s.dataId).values;for(let e=0;e=0&&c[e]{se(a,e.shape,"All tensors passed to stack must have matching shapes"),re(i===e.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=RC({inputs:t.map((e=>{const t=NE({inputs:{input:e},backend:n,attrs:{dim:s}});return o.push(t),t})),backend:n,attrs:{axis:s}});return o.forEach((e=>n.disposeIntermediateTensorInfo(e))),l}const kA={kernelName:Xn,backendName:"cpu",kernelFunc:vA},IA={kernelName:Yn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,constantValue:i}=r;qS(s,"pad");const o=a.map(((e,t)=>e[0]+s.shape[t]+e[1])),l=a.map((e=>e[0])),u=n.data.get(s.dataId).values,c=oe(s.shape),h=s.shape.length,p=Fe(s.shape),d=oe(o),f=o.length,m=Fe(o),g=xe(s.dtype,d);0!==i&&g.fill(i);for(let e=0;ee+l[t])),f,m)]=u[e];return{dataId:n.write(g,o,s.dtype),shape:o,dtype:s.dtype}}},NA=sT(((e,t)=>Math.pow(e,t))),SA=NT(Jn,NA),TA={kernelName:Jn,backendName:"cpu",kernelFunc:SA};function CA(e,t,n,r){const[s,a]=Cc(e,r),i=na(t,"int32"),o=Le(oe(s),i),l=oe(a);for(let e=0;en.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(y,g,f)}};function $A(e,t,n,r){if(e===t||e1)return Le(0,r);const s=Le(Math.abs(Math.ceil((t-e)/n)),r);t1/e)),MA={kernelName:rr,backendName:"cpu",kernelFunc:RA},FA={kernelName:lr,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r;qS(s,"resizeBilinear");const l=Fe(s.shape),[u,c]=o,[h,p,d,f]=s.shape,m=n.data.get(s.dataId).values,g=new Float32Array(oe([h,u,c,f])),y=[a&&u>1?p-1:p,a&&c>1?d-1:d],b=[a&&u>1?u-1:u,a&&c>1?c-1:c];let x=0;const w=y[0]/b[0],v=y[1]/b[1];for(let e=0;e1?u-1:u,i&&d>1?c-1:c],g=[i&&p>1?p-1:p,i&&d>1?d-1:d],y=m[0]/g[0],b=m[1]/g[1],x=n.data.get(a.dataId).values;let w=0;for(let e=0;e1?p-1:p,a&&c>1?d-1:d],b=[a&&u>1?u-1:u,a&&c>1?c-1:c],x=y[0]/b[0],w=y[1]/b[1];let v=0;for(let e=0;e1?c-1:c,i&&f>1?h-1:h],b=[i&&d>1?d-1:d,i&&f>1?f-1:f],x=y[0]/b[0],w=y[1]/b[1],v=1/x,k=1/w,I=2*Math.ceil(v)+2,N=2*Math.ceil(k)+2;for(let e=0;e=d)continue;const p=t+u*l[1],m=u*x;if(e===Math.min(c-1,i?Math.round(m):Math.floor(m)))for(let e=0;e=f)continue;const s=p+t*l[2],a=t*w;r===Math.min(h-1,i?Math.round(a):Math.floor(a))&&(o+=g[s+n])}}m[a+n]=o}}}}return n.makeTensorInfo(s.shape,s.dtype,m)}},LA={kernelName:hr,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dims:a}=r;qS(s,"reverse");const i=s.shape.length,o=ye(a,s.shape);if(0===i)return eT({inputs:{x:s},backend:n});const l=new Ws(s.shape,s.dtype),u=n.bufferSync(s);for(let e=0;en[e]=s.shape[e]-1-n[e])),l.set(u.get(...n),...t)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},zA={kernelName:Jr,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,{radians:s,fillValue:a,center:i}=t,o=n,l=xe(r.dtype,oe(r.shape)),[u,c,h,p]=r.shape,[d,f]=zd(i,c,h),m=Math.sin(s),g=Math.cos(s),y=o.data.get(r.dataId).values;for(let e=0;e=0&&w=0&&v{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1})),BA={kernelName:pr,backendName:"cpu",kernelFunc:PA},VA=pT((e=>1/Math.sqrt(e))),UA=ZS(dr,VA),WA={kernelName:dr,backendName:"cpu",kernelFunc:UA};function GA(e,t,n,r,s,a,i,o,l,u){const c=[r/s,s],h=e.values,p=t.values;if(0===r)return Ni(n,t.dtype);const d=Ni(c,t.dtype);d.values.fill(l);for(let e=0;e=r/s)throw new Error(`Invalid indices: ${a} does not index into ${n}`);for(let n=0;n1||1===s.shape.length?1:oe(s.shape.slice(1));for(let e=0;ee>=0?KA*e:qA*(Math.exp(e)-1))),YA={kernelName:gr,backendName:"cpu",kernelFunc:XA},ZA=YS(wr,(e=>e<0?-1:e>0?1:0)),JA={kernelName:wr,backendName:"cpu",kernelFunc:ZA},QA=YS(br,(e=>Math.sin(e))),eR={kernelName:br,backendName:"cpu",kernelFunc:QA},tR=YS(xr,(e=>Math.sinh(e))),nR={kernelName:xr,backendName:"cpu",kernelFunc:tR},rR=Math.log(1.1920928955078125e-7)+2,sR=YS(kr,(e=>{const t=e>-rR,n=e=l)throw new Error(yf(t,n,l));++f[n],p=p&&n>=d,d=n}let m=!0;for(let e=0;e0&&(f[e]+=f[e-1])}if(m&&p){const t=e,n=r;for(let e=0;eNumber(e))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}};function uR(e,t,n,r,s){const a=oe(r),i=t[0],o=s.length,l=[];let u=1,c=-1;for(let e=0;e0){p[h-1]=1;for(let e=h-2;e>=0;--e)p[e]=p[e+1]*r[e+1]}const d=[];if(o>0){d[o-1]=1;for(let e=o-2;e>=0;--e)d[e]=d[e+1]*l[e+1]}const f=we(n,i*o);for(let t=0;t0?s[o-1]+1:0;if(c<0)throw new Error("segment ids must be >= 0");const h=t.slice();h[0]=c;const p=we(n,h.reduce(((e,t)=>e*t),1));if(0===o)return c>0&&p.fill(i),[p,h];if(c<=0)throw new Error("segment ids must be >= 0");let d=0,f=1,m=0,g=s[d];for(;;){let t=0;if(f=t)throw new Error("segment ids are not increasing")}if(g<0||g>=c)throw new Error(Sf(g,c));g>m&&p.fill(i,m*u,g*u);for(let t=d;t=l[0])throw new Error(Tf(t,r[t],l[0]));for(let t=0;to)break}return m{const t=[...c];t[o]=e;const r=mC({inputs:{x:s},backend:n,attrs:{begin:u,size:t}});return u[o]+=e,r}))}},gR=pT((e=>Math.sqrt(e))),yR=YS(Ir,(e=>Math.sqrt(e))),bR={kernelName:Ir,backendName:"cpu",kernelFunc:yR},xR={kernelName:Dr,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{const{x:n}=e,r=t;qS(n,"square");const s=r.data.get(n.dataId).values,a=new Float32Array(s.length);for(let e=0;e{const n=e-t;return n*n})),vR=NT(Fr,wR),kR={kernelName:Fr,backendName:"cpu",kernelFunc:vR},IR=YS(Yr,((e,t)=>{const n=t;return isNaN(e)?NaN:e>0?1:n.alpha})),NR={kernelName:Yr,backendName:"cpu",kernelFunc:IR};function SR(e,t,n,r){const s=Ni(e,t.dtype);for(let e=0;e=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const e=co(b,x,w),t=mC({inputs:{x:s},backend:n,attrs:{begin:b,size:e}});v=AT({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{const e=SR(d,n.bufferSync(s),w,b);v=n.makeTensorInfo(f,e.dtype,e.values)}return v}};class CR{constructor(e,t,n,r,s,a){this.separator=Fs(e),this.nGramWidths=t,this.leftPad=Fs(n),this.rightPad=Fs(r),this.padWidth=s,this.preserveShort=a}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){const n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,r,s,a){for(let i=0;i0?0:i-o);let p=0;p+=l*this.leftPad.length;for(let t=0;te.forEach((e=>d[f++]=e));for(let e=0;e0){m(e[h+c-1]);for(let e=0;e0){let e=t[0];if(0!==e)throw new Error(`First split value must be 0, got ${e}`);for(let s=1;s=e;if(r=r&&t[s]<=n,!r)throw new Error(`Invalid split value ${t[s]}, must be in [${e}, ${n}]`);e=t[s]}if(e!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${e}`)}const s=r-1,a=we("int32",r);if(0===n||0===r){const e=new Array(n);for(let e=0;e<=s;++e)a[e]=0;return[e,a]}a[0]=0;for(let e=1;e<=s;++e){const n=t[e]-t[e-1];let r=0;this.nGramWidths.forEach((e=>{r+=this.getNumNGrams(n,e)})),this.preserveShort&&n>0&&0===r&&(r=1),a[e]=a[e-1]+r}const i=new Array(a[s]);for(let n=0;n{const o=t[n+1]-t[n],l=this.getNumNGrams(o,a);this.createNGrams(e,r,i,s,l,a),s+=l})),this.preserveShort&&s===a[n]){const a=t[n+1]-t[n];if(0===a)continue;const o=a+2*this.padWidth,l=1;this.createNGrams(e,r,i,s,l,o)}}return[i,a]}}function ER(e,t,n,r,s,a,i,o){return new CR(n,r,s,a,i,o).compute(e,t)}const $R={kernelName:Or,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{separator:s,nGramWidths:a,leftPad:i,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=t,p=n.data.get(c.dataId).values,d=n.data.get(h.dataId).values,[f,m]=ER(p,d,s,a,i,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}};function AR(e,t,n,r){if(!e.length)return;if(0===t.length){for(let t=0;tMath.tan(e))),OR={kernelName:Br,backendName:"cpu",kernelFunc:_R},LR=YS(Vr,(e=>Math.tanh(e)));function zR(e,t){const n=new Array(e.rank);for(let r=0;r{const n=t.value-e.value;return 0===n?e.index-t.index:n};function BR(e,t,n=0,r=e.length-1){for(;r>n;){if(r-n>600){const s=r-n+1,a=t-n+1,i=Math.log(s),o=.5*Math.exp(2*i/3),l=.5*Math.sqrt(i*o*(s-o)/s)*Math.sign(a-s/2);BR(e,t,Math.max(n,Math.floor(t-a*o/s+l)),Math.min(r,Math.floor(t+(s-a)*o/s+l)))}const s=e[t];let a=n,i=r;for(Q(e,n,t),PR(e[r],s)>0&&Q(e,n,r);a0;)i-=1}0===PR(e[n],s)?Q(e,n,i):(i+=1,Q(e,i,r)),i<=t&&(n=i+1),t<=i&&(r=i-1)}}function VR(e,t,n,r,s){const a=t[t.length-1],[i,o]=[e.length/a,a],l=xe(n,i*r),u=xe("int32",i*r);for(let t=0;ti[t]={value:e,index:t})),rt-1)if(t<=1)n=0;else{const e=2*t;n-=e*Math.trunc(n/e),n>=t&&(n=e-n-1)}return Z(0,n,t-1)}(e,t);case"wrap":return function(e,t){let n=e;if(n<0)if(t<=1)n=0;else{const e=t-1;n+=t*(Math.trunc(-n/e)+1)}else if(n>t-1)if(t<=1)n=0;else{const e=t-1;n-=t*Math.trunc(n/e)}return Z(0,n,t-1)}(e,t);case"nearest":return function(e,t){return Z(0,e,t-1)}(e,t);case"constant":default:return function(e,t){return e}(e)}}function WR(e,t,n,r,s,a,i,o,l,u,c){return 0<=o&&o{for(let n=0;nn.disposeIntermediateTensorInfo(e))),h}},xA];for(const e of qR)us(e);const KR={},XR={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function YR(e,t){if(!(e in KR)){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if("undefined"!=typeof OffscreenCanvas&&2===e)return new OffscreenCanvas(300,150);if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}(e):t;return n.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete KR[e]}),!1),1===e?n.getContext("webgl",XR)||n.getContext("experimental-webgl",XR):n.getContext("webgl2",XR)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;KR[e]=n}const n=KR[e];return null==n||n.isContextLost()?(delete KR[e],YR(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),KR[e])}var ZR,JR,QR;function eM(e,t){return[t,e]}function tM(e){const t=oe(e);return pe(Math.ceil(t/4))}function nM(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function rM(e,t){const n=e;let r,s,a,i,o,l,u,c,h,p;return 2===He().getNumber("WEBGL_VERSION")?(r=n.R32F,s=n.R16F,a=n.RGBA16F,i=n.RGBA32F,o=n.RED,u=4,c=1,h=n.HALF_FLOAT,p=n.FLOAT,l=n.RGBA8):(r=e.RGBA,s=e.RGBA,a=e.RGBA,i=n.RGBA,o=e.RGBA,u=4,c=4,h=null!=t?t.HALF_FLOAT_OES:null,p=e.FLOAT,l=e.RGBA),{internalFormatFloat:r,internalFormatHalfFloat:s,internalFormatPackedHalfFloat:a,internalFormatPackedFloat:i,textureFormatFloat:o,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:h,textureTypeFloat:p}}function sM(e,t){const n=t();return He().getBool("DEBUG")&&function(e){const t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+function(e,t){switch(t){case e.NO_ERROR:return"NO_ERROR";case e.INVALID_ENUM:return"INVALID_ENUM";case e.INVALID_VALUE:return"INVALID_VALUE";case e.INVALID_OPERATION:return"INVALID_OPERATION";case e.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case e.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case e.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return`Unknown error code ${t}`}}(e,t))}(e),n}function aM(e){return!!(He().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===e||5.96e-8e.getExtension(t)),'Extension "'+t+'" not supported on this browser.')}!function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"}(ZR||(ZR={})),function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"}(JR||(JR={})),function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(QR||(QR={}));const oM=/ERROR: [0-9]+:([0-9]+):/g;function lM(e,t){if(sM(e,(()=>e.validateProgram(t))),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function uM(e,t,n,r,s,a,i){const o=e.getAttribLocation(t,n);return-1!==o&&(sM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,r))),sM(e,(()=>e.vertexAttribPointer(o,s,e.FLOAT,!1,a,i))),sM(e,(()=>e.enableVertexAttribArray(o))),!0)}function cM(e,t,n,r){sM(e,(()=>function(e,t,n){(function(e,t){const n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,r=t+e.TEXTURE0;if(rn)throw new Error(`textureUnit must be in [gl.TEXTURE0, gl.TEXTURE${n}].`)})(e,n),sM(e,(()=>e.activeTexture(e.TEXTURE0+n))),sM(e,(()=>e.bindTexture(e.TEXTURE_2D,t)))}(e,t,r))),sM(e,(()=>e.uniform1i(n,r)))}function hM(e,t,n){sM(e,(()=>e.bindFramebuffer(e.FRAMEBUFFER,n))),sM(e,(()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0)))}function pM(e,t){sM(e,(()=>e.bindFramebuffer(e.FRAMEBUFFER,t))),sM(e,(()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0)))}function dM(e){const t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+function(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}(e,t))}function fM(e,t,n){const r=sM(e,(()=>t()));if(null==r)throw new Error(n);return r}function mM(e,t=2){return oe(e.slice(0,e.length-t))}function gM(e){if(0===e.length)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function yM(e){let t=[1,1,1];return 0===e.length||1===e.length&&1===e[0]||(t=[mM(e),...gM(e)]),t}function bM(e){return e%2==0}function xM(e,t){if(ue(e=e.slice(-2),t=t.slice(-2)))return!0;if(!e.length||!t.length)return!0;if(0===e[0]||0===e[1]||0===t[0]||0===t[1])return!0;if(e.length!==t.length){const n=e.slice(-1)[0],r=t.slice(-1)[0];if(n===r)return!0;if(bM(n)&&bM(r)&&(1===e[0]||1===t[0]))return!0}return e[1]===t[1]&&bM(e[0])&&bM(t[0])}let wM,vM;function kM(e,t){return null!=e.getExtension(t)}function IM(e){try{if(null!=YR(e))return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function NM(e){const t=rM(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);const r=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);const s=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(r),s}function SM(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{null!=e&&re("complex64"!==e.dtype,(()=>`${t} does not support complex64 tensors in the WebGL backend.`))}))}const TM=He();function CM(){let e,t,n,r,s,a,i,o,l,u;return 2===He().getNumber("WEBGL_VERSION")?(e="#version 300 es",t="in",n="out",r="in",s="texture",a="outputColor",i="out vec4 outputColor;",o="\n bool isnan_custom(float val) {\n return (val > 0.0 || val < 0.0) ? false : val != 0.0;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(e="",t="attribute",n="varying",r="varying",s="texture2D",a="gl_FragColor",i="",o="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:e,attribute:t,varyingVs:n,varyingFs:r,texture2D:s,output:a,defineOutput:i,defineSpecialNaN:o,defineSpecialInf:l,defineRound:u}}function EM(e,t,n="index"){const r=Fe(t);return r.map(((t,s)=>`int ${e[s]} = ${n} / ${t}; ${s===r.length-1?`int ${e[s+1]} = ${n} - ${e[s]} * ${t}`:`index -= ${e[s]} * ${t}`};`)).join("")}function $M(e,t,n="index"){const r=Fe(t);return r.map(((t,s)=>`int ${e[s]} = ${n} / outShapeStrides[${s}]; ${s===r.length-1?`int ${e[s+1]} = ${n} - ${e[s]} * outShapeStrides[${s}]`:`index -= ${e[s]} * outShapeStrides[${s}]`};`)).join("")}function AM(e){const t=Fe(e).map((e=>e.toString()));return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}TM.registerFlag("HAS_WEBGL",(()=>TM.getNumber("WEBGL_VERSION")>0)),TM.registerFlag("WEBGL_VERSION",(()=>IM(2)?2:IM(1)?1:0)),TM.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",(()=>!1)),TM.registerFlag("WEBGL_BUFFER_SUPPORTED",(()=>2===TM.get("WEBGL_VERSION"))),TM.registerFlag("WEBGL_CPU_FORWARD",(()=>!0)),TM.registerFlag("WEBGL_FORCE_F16_TEXTURES",(()=>!1)),TM.registerFlag("WEBGL_PACK",(()=>TM.getBool("HAS_WEBGL"))),TM.registerFlag("WEBGL_PACK_NORMALIZATION",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_CLIP",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_DEPTHWISECONV",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_PACK_REDUCE",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_LAZILY_UNPACK",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_CONV_IM2COL",(()=>TM.getBool("WEBGL_PACK"))),TM.registerFlag("WEBGL_MAX_TEXTURE_SIZE",(()=>function(e){if(null==wM){const t=YR(e);wM=t.getParameter(t.MAX_TEXTURE_SIZE)}return wM}(TM.getNumber("WEBGL_VERSION")))),TM.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",(()=>function(e){if(null==vM){const t=YR(e);vM=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,vM)}(TM.getNumber("WEBGL_VERSION")))),TM.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",(()=>{const e=TM.getNumber("WEBGL_VERSION");return 0===e?0:function(e){if(0===e)return 0;let t;const n=YR(e);return t=kM(n,"EXT_disjoint_timer_query_webgl2")&&2===e?2:kM(n,"EXT_disjoint_timer_query")?1:0,t}(e)})),TM.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",(()=>TM.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!ya())),TM.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",(()=>function(e){if(0===e)return!1;const t=YR(e);if(1===e){if(!kM(t,"OES_texture_float"))return!1}else if(!kM(t,"EXT_color_buffer_float"))return!1;return NM(t)}(TM.getNumber("WEBGL_VERSION")))),TM.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",(()=>!TM.getBool("WEBGL_FORCE_F16_TEXTURES")&&TM.getBool("WEBGL_RENDER_FLOAT32_CAPABLE"))),TM.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",(()=>function(e){if(0===e)return!1;const t=YR(e);if(1!==e){if(kM(t,"EXT_color_buffer_float"))return NM(t);const e="EXT_color_buffer_half_float";if(kM(t,e)){const n=t.getExtension(e);return function(e,t){const n=rM(e,t),r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,1,1,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const s=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,s),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);const a=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(r),e.deleteFramebuffer(s),a}(t,n)}return!1}return!!kM(t,"OES_texture_float")&&!!kM(t,"WEBGL_color_buffer_float")&&NM(t)}(TM.getNumber("WEBGL_VERSION")))),TM.registerFlag("WEBGL_FENCE_API_ENABLED",(()=>{return 2===(e=TM.getNumber("WEBGL_VERSION"))&&null!=YR(e).fenceSync;var e})),TM.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",(()=>TM.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0)),TM.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",(()=>-1),(e=>{if(e<0&&-1!==e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)})),TM.registerFlag("WEBGL_FLUSH_THRESHOLD",(()=>ya()?1:-1),(e=>{if(e<0&&-1!==e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)})),TM.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",(()=>128)),TM.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",(()=>!1)),TM.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",(()=>1e5)),TM.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",(()=>128));const RM="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:MM}=y;function FM(e,t,n){const r=[];if(e.forEach((e=>{const t=oe(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform?r.push(`uniform float ${e.name}${t>1?`[${t}]`:""};`):(r.push(`uniform sampler2D ${e.name};`),r.push(`uniform int offset${e.name};`)),n.enableShapeUniforms){const{uniformShape:t}=WM(n.packedInputs,e.shapeInfo.logicalShape,e.shapeInfo.texShape);switch(t.length){case 1:r.push(`uniform int ${e.name}Shape;`);break;case 2:r.push(`uniform ivec2 ${e.name}Shape;`);break;case 3:r.push(`uniform ivec3 ${e.name}Shape;`);break;case 4:r.push(`uniform ivec4 ${e.name}Shape;`)}r.push(`uniform ivec2 ${e.name}TexShape;`)}})),n.enableShapeUniforms){switch(t.logicalShape.length){case 1:r.push("uniform int outShape;");break;case 2:r.push("uniform ivec2 outShape;"),r.push("uniform int outShapeStrides;");break;case 3:r.push("uniform ivec3 outShape;"),r.push("uniform ivec2 outShapeStrides;");break;case 4:r.push("uniform ivec4 outShape;"),r.push("uniform ivec3 outShapeStrides;")}r.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach((e=>{r.push(`uniform ${e.type} ${e.name}${e.arrayIndex?`[${e.arrayIndex}]`:""};`)}));const s=r.join("\n"),a=e.map((e=>function(e,t,n=!1,r){let s="";s+=n?_M(e,r):DM(e,r);const a=e.shapeInfo.logicalShape,i=t.logicalShape;return a.length<=i.length&&(s+=n?function(e,t){const n=e.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",a=e.shapeInfo.logicalShape.length,i=t.logicalShape.length,o=MM(e.shapeInfo.logicalShape,t.logicalShape),l=UM(i),u=i-a;let c;const h=["x","y","z","w","u","v"];c=0===a?"":i<2&&o.length>=1?"coords = 0;":o.map((e=>`coords.${h[e+u]} = 0;`)).join("\n");let p="";p=i<2&&a>0?"coords":e.shapeInfo.logicalShape.map(((e,t)=>`coords.${h[t+u]}`)).join(", ");let d="return outputValue;";const f=1===oe(e.shapeInfo.logicalShape),m=1===oe(t.logicalShape);if(1!==a||f||m){if(f&&!m)d=1===i?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(o.length){const e=a-2,t=a-1;o.indexOf(e)>-1&&o.indexOf(t)>-1?d="return vec4(outputValue.x);":o.indexOf(e)>-1?d="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":o.indexOf(t)>-1&&(d="return vec4(outputValue.xx, outputValue.zz);")}}else d="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${s}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${r}(${p});\n ${d}\n }\n `}(e,t):function(e,t){const n=e.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",a=t.texShape,i=e.shapeInfo.texShape,o=e.shapeInfo.logicalShape.length,l=t.logicalShape.length;if(!e.shapeInfo.isUniform&&o===l&&null==e.shapeInfo.flatOffset&&ue(i,a))return`\n float ${s}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=UM(l),c=MM(e.shapeInfo.logicalShape,t.logicalShape),h=l-o;let p;const d=["x","y","z","w","u","v"];p=0===o?"":l<2&&c.length>=1?"coords = 0;":c.map((e=>`coords.${d[e+h]} = 0;`)).join("\n");let f="";return f=l<2&&o>0?"coords":e.shapeInfo.logicalShape.map(((e,t)=>`coords.${d[t+h]}`)).join(", "),`\n float ${s}() {\n ${u} coords = getOutputCoords();\n ${p}\n return get${r}(${f});\n }\n `}(e,t)),s}(e,t,n.packedInputs,n.enableShapeUniforms))).join("\n"),i=t.texShape,o=CM(),l=function(e){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${e.texture2D}(textureSampler, uv).r;\n }\n `}(o);let u,c,h=function(e){return`${e.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${e.varyingFs} vec2 resultUV;\n ${e.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${e.defineSpecialNaN}\n ${e.defineSpecialInf}\n ${e.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${OM}\n ${LM}\n ${zM}\n `}(o);return t.isPacked?(u=function(e,t,n){switch(e.length){case 0:return"\n int getOutputCoords() {\n return 0;\n }\n ";case 1:return function(e,t,n){const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];return 1===r[0]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${r[1]}.0);\n }\n `:1===r[1]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${r[0]}.0);\n }\n `:n?"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ":`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n return 2 * (resTexRC.x * ${r[1]} + resTexRC.y);\n }\n `}(0,t,n);case 2:return function(e,t,n){const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(ue(e,t))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${r[0]}, ${r[1]}));\n }\n `;const s=Math.ceil(e[1]/2);return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ":`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec2(r, c);\n }\n `}(e,t,n);case 3:return function(e,t,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],s=Math.ceil(e[2]/2),a=s*Math.ceil(e[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n\n int b = index / ${a};\n index -= b * ${a};\n\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(e,t,n);default:return function(e,t,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],s=Math.ceil(e[e.length-1]/2),a=s*Math.ceil(e[e.length-2]/2);let i=a,o="",l="b, r, c";for(let t=2;t1&&!ue(t,n)&&r.lengthe[t])).join(", ")}function jM(e,t){if(e.length!==t.length)throw Error(`Binary was compiled with ${e.length} inputs, but was executed with ${t.length} inputs`);e.forEach(((e,n)=>{const r=e.logicalShape,s=t[n],a=s.shape;if(!ue(r,a))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${r} and ${a} must match`);if(e.isUniform&&s.isUniform)return;const i=e.texShape,o=s.isUniform?null:s.texData.texShape;if(!ue(i,o))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${i} and ${o} must match`)}))}function qM(e){return He().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&e<=4}class KM{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=ZR.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=CM();this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?$M(["r","c","d"],e):EM(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}}class XM{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=ZR.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=CM();this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?$M(["r","c","d"],e):EM(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}}class YM{constructor(e){this.variableNames=["A"],this.outTexUsage=JR.DOWNLOAD;const t=CM();this.outputShape=e,this.userCode=`\n ${RM}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}}class ZM{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=JR.DOWNLOAD;const t=CM();this.outputShape=e,this.userCode=`\n ${RM}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}}class JM{constructor(e,t=!1){this.variableNames=["A"],this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=CM();this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length);let r="result";t&&(r="floor(result * 255. + 0.5)"),this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":AM(e)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n vec4 values = ${n.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${n.output} = vec4(${r}, 0., 0., 0.);\n }\n `}}class QM{constructor(e,t=!1){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=CM();this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length);let r="",s="result";t&&(s="floor(result * 255. + 0.5)");for(let t=0;t<=1;t++)for(let s=0;s<=1;s++){const a=2*t+s;r+=`\n localCoords = coords;\n if(localCoords[2] + ${s} < ${this.enableShapeUniforms?"outShape[2]":`${e[2]}`}) {\n localCoords[2] += ${s};\n if (localCoords[1] + ${t} < ${this.enableShapeUniforms?"outShape[1]":`${e[1]}`}) {\n localCoords[1] += ${t};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n values = ${n.texture2D}(A, uv);\n\n if (offset == 0) {\n result[${a}] = values[0];\n } else if (offset == 1) {\n result[${a}] = values[1];\n } else if (offset == 2) {\n result[${a}] = values[2];\n } else {\n result[${a}] = values[3];\n }\n }\n }\n `}this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":AM(e)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${r}\n\n ${n.output} = ${s};\n }\n `}}function eF(e,t,n,r,s,a){!function(e,t){const n=He().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0)throw new Error(`Requested texture size [${e}x${t}] is invalid.`);if(e>n||t>n)throw new Error(`Requested texture size [${e}x${t}] greater than WebGL maximum on this browser / GPU [${n}x${n}].`)}(t,n);const i=function(e){return fM(e,(()=>e.createTexture()),"Unable to create WebGLTexture.")}(e),o=e.TEXTURE_2D;return sM(e,(()=>e.bindTexture(o,i))),sM(e,(()=>e.texParameteri(o,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE))),sM(e,(()=>e.texParameteri(o,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE))),sM(e,(()=>e.texParameteri(o,e.TEXTURE_MIN_FILTER,e.NEAREST))),sM(e,(()=>e.texParameteri(o,e.TEXTURE_MAG_FILTER,e.NEAREST))),1===He().getNumber("WEBGL_VERSION")?sM(e,(()=>e.texImage2D(o,0,r,t,n,0,s,a,null))):sM(e,(()=>e.texStorage2D(o,1,r,t,n))),sM(e,(()=>e.bindTexture(e.TEXTURE_2D,null))),{texture:i,texShape:[n,t]}}function tF(e){return e.internalFormatFloat}function nF(e){return e.internalFormatHalfFloat}function rF(e){return e.downloadTextureFormat}function sF(e){return e.internalFormatPackedFloat}function aF(e){return e.internalFormatPackedHalfFloat}class iF{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];const t=He().getNumber("WEBGL_VERSION");null!=e?(this.gl=e,function(e,t){KR[e]=t}(t,e)):this.gl=YR(t);let n="WEBGL_color_buffer_float";const r="EXT_color_buffer_half_float";if(1===He().getNumber("WEBGL_VERSION")){const e="OES_texture_float",t="OES_texture_half_float";if(this.textureFloatExtension=iM(this.gl,e),kM(this.gl,t))this.textureHalfFloatExtension=iM(this.gl,t);else if(He().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),kM(this.gl,r))this.colorBufferHalfFloatExtension=iM(this.gl,r);else if(He().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",kM(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!kM(this.gl,r))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(r)}this.vertexBuffer=function(e){return function(e,t){const n=fM(e,(()=>e.createBuffer()),"Unable to create WebGLBuffer");return sM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,n))),sM(e,(()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW))),n}(e,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}(this.gl),this.indexBuffer=function(e){return function(e,t){const n=fM(e,(()=>e.createBuffer()),"Unable to create WebGLBuffer");return sM(e,(()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n))),sM(e,(()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW))),n}(e,new Uint16Array([0,1,2,2,1,3]))}(this.gl),this.framebuffer=function(e){return fM(e,(()=>e.createFramebuffer()),"Unable to create WebGLFramebuffer.")}(this.gl),this.textureConfig=rM(this.gl,this.textureHalfFloatExtension)}get debug(){return He().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const e=this.gl;sM(e,(()=>e.finish())),sM(e,(()=>e.bindFramebuffer(e.FRAMEBUFFER,null))),sM(e,(()=>e.deleteFramebuffer(this.framebuffer))),sM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,null))),sM(e,(()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null))),sM(e,(()=>e.deleteBuffer(this.indexBuffer))),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=eM(t,n);return eF(e,s,a,tF(r),r.textureFormatFloat,e.FLOAT)}(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=eM(t,n);return eF(e,s,a,nF(r),r.textureFormatFloat,r.textureTypeHalfFloat)}(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=eM(t,n);return eF(e,s,a,rF(r),e.RGBA,e.UNSIGNED_BYTE)}(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),function(e,t,n){sM(e,(()=>e.bindTexture(e.TEXTURE_2D,t))),n.data instanceof Uint8Array?2===He().getNumber("WEBGL_VERSION")?sM(e,(()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,e.RGBA,e.UNSIGNED_BYTE,n.data))):sM(e,(()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data))):2===He().getNumber("WEBGL_VERSION")?sM(e,(()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n))):sM(e,(()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n))),sM(e,(()=>e.bindTexture(e.TEXTURE_2D,null)))}(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,r){this.throwIfDisposed(),function(e,t,n,r,s,a){let i,o,l;sM(e,(()=>e.bindTexture(e.TEXTURE_2D,t))),s instanceof Uint8Array?(i=new Uint8Array(n*r*4),o=e.UNSIGNED_BYTE,l=e.RGBA):(i=new Float32Array(n*r*4),o=e.FLOAT,l=a.internalFormatPackedFloat),i.set(s),2===He().getNumber("WEBGL_VERSION")?sM(e,(()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,e.RGBA,o,i))):sM(e,(()=>e.texImage2D(e.TEXTURE_2D,0,l,n,r,0,e.RGBA,o,i))),sM(e,(()=>e.bindTexture(e.TEXTURE_2D,null)))}(this.gl,e,t,n,r,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=nM(t,n);return eF(e,s,a,aF(r),e.RGBA,r.textureTypeHalfFloat)}(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=nM(t,n);return eF(e,s,a,sF(r),e.RGBA,e.FLOAT)}(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(pM(this.gl,this.framebuffer),this.outputTexture=null),sM(this.gl,(()=>this.gl.deleteTexture(e)))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,(()=>function(e,t,n,r){const[s,a]=eM(t,n),i=new Uint8Array(t*n*4);return sM(e,(()=>e.readPixels(0,0,s,a,r.downloadTextureFormat,e.UNSIGNED_BYTE,i))),new Float32Array(i.buffer)}(this.gl,t,n,this.textureConfig)))}downloadPackedMatrixFromBuffer(e,t,n,r,s,a){return function(e,t,n,r,s,a,i,o){const l=e,u=new Float32Array(function(e,t){const[n,r]=nM(e,t);return n*r*4}(a,i));return l.bindBuffer(l.PIXEL_PACK_BUFFER,t),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}(this.gl,e,0,0,0,s,a,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return function(e,t,n){const r=e,s=new Float32Array(n);return r.bindBuffer(r.PIXEL_PACK_BUFFER,t),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,s),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),s}(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);const r=function(e,t,n,r){const s=e.createBuffer();sM(e,(()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,s)));const a=16*t*n;return sM(e,(()=>e.bufferData(e.PIXEL_PACK_BUFFER,a,e.STREAM_READ))),sM(e,(()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,0))),sM(e,(()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,null))),s}(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),r}createAndWaitForFence(){const e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if(He().getBool("WEBGL_FENCE_API_ENABLED")){const r=e,s=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{const e=r.clientWaitSync(s,0,0);return e===r.ALREADY_SIGNALED||e===r.CONDITION_SATISFIED},t=s}else He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,(()=>function(e,t,n){const r=new Float32Array(t*n*4);return sM(e,(()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,r))),r}(this.gl,t,n)))}createProgram(e){this.throwIfDisposed();const t=this.gl;null==this.vertexShader&&(this.vertexShader=function(e){const t=CM();return function(e,t){const n=fM(e,(()=>e.createShader(e.VERTEX_SHADER)),"Unable to create vertex WebGLShader.");if(sM(e,(()=>e.shaderSource(n,t))),sM(e,(()=>e.compileShader(n))),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}(e,`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`)}(t));const n=function(e){return fM(e,(()=>e.createProgram()),"Unable to create WebGLProgram.")}(t);return sM(t,(()=>t.attachShader(n,this.vertexShader))),sM(t,(()=>t.attachShader(n,e))),function(e,t){if(sM(e,(()=>e.linkProgram(t))),!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}(t,n),this.debug&&lM(t,n),this.vertexAttrsAreBound||(this.setProgram(n),this.vertexAttrsAreBound=function(e,t,n){return sM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,n))),uM(e,t,"clipSpacePos",n,3,20,0)&&uM(e,t,"uv",n,2,20,12)}(t,this.program,this.vertexBuffer)),n}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&sM(this.gl,(()=>this.gl.deleteProgram(e)))}setProgram(e){this.throwIfDisposed(),this.program=e,null!=this.program&&this.debug&&lM(this.gl,this.program),sM(this.gl,(()=>this.gl.useProgram(e)))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?function(e,t,n){return fM(e,(()=>e.getUniformLocation(t,n)),'uniform "'+n+'" not present in program.')}(this.gl,e,t):function(e,t,n){return e.getUniformLocation(t,n)}(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),sM(this.gl,(()=>this.gl.getAttribLocation(e,t)))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),cM(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();const[r,s]=nM(t,n);this.setOutputMatrixTextureDriver(e,r,s)}setOutputMatrixWriteRegion(e,t,n,r){this.setOutputMatrixWriteRegionDriver(n,e,r,t)}setOutputPackedMatrixWriteRegion(e,t,n,r){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&lM(this.gl,this.program),dM(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const e=this.gl;this.debug&&this.debugValidate(),sM(e,(()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0)))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),sM(this.gl,(()=>this.gl.finish()))}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=iM(this.gl,2===He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}const e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(2===He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2();return void e.endQuery(t.TIME_ELAPSED_EXT)}const e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await me((()=>this.disposed||this.isQueryAvailable(e,He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")))),this.getQueryTime(e,He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(0===t)return null;if(2===t){const t=this.gl;return t.getQueryParameter(e,t.QUERY_RESULT)/1e6}{const t=this.getQueryTimerExtensionWebGL1();return t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(0===t)return!0;if(2===t){const t=this.gl,n=this.getQueryTimerExtensionWebGL2(),r=t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),r&&!this.disjoint}{const t=this.getQueryTimerExtensionWebGL1(),n=t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(t.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise((t=>{this.addItemToPoll((()=>e.isFencePassed()),(()=>t()))}))}pollItems(){const e=function(e){let t=0;for(;te.isDoneFn)));for(let t=0;t<=e;++t){const{resolveFn:e}=this.itemsToPoll[t];e()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1||me((()=>(this.pollItems(),0===this.itemsToPoll.length)))}bindTextureToFrameBuffer(e){this.throwIfDisposed(),hM(this.gl,e,this.framebuffer),this.debug&&dM(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(hM(this.gl,this.outputTexture,this.framebuffer),this.debug&&dM(this.gl)):pM(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);const n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();const r=this.gl;hM(r,e,this.framebuffer),this.debug&&dM(r),this.outputTexture=e,sM(r,(()=>r.viewport(0,0,t,n))),sM(r,(()=>r.scissor(0,0,t,n)))}setOutputMatrixWriteRegionDriver(e,t,n,r){this.throwIfDisposed(),sM(this.gl,(()=>this.gl.scissor(e,t,n,r)))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}}const{addImpl:oF,bincountImpl:lF,bincountReduceImpl:uF,ceilImpl:cF,concatImpl:hF,equalImpl:pF,expImpl:dF,expm1Impl:fF,floorImpl:mF,gatherNdImpl:gF,gatherV2Impl:yF,greaterImpl:bF,greaterEqualImpl:xF,lessImpl:wF,lessEqualImpl:vF,linSpaceImpl:kF,logImpl:IF,maxImpl:NF,maximumImpl:SF,minimumImpl:TF,multiplyImpl:CF,negImpl:EF,notEqualImpl:$F,prodImpl:AF,rangeImpl:RF,rsqrtImpl:MF,sigmoidImpl:FF,simpleAbsImpl:DF,sliceImpl:_F,sparseFillEmptyRowsImpl:OF,sparseReshapeImpl:LF,sparseSegmentReductionImpl:zF,sqrtImpl:PF,stridedSliceImpl:BF,stringNGramsImpl:VF,stringSplitImpl:UF,stringToHashBucketFastImpl:WF,subImpl:GF,tileImpl:HF,topKImpl:jF,transposeImpl:qF,uniqueImpl:KF}=H;function XF(e,t){return["x","y","z","w","u","v"].slice(0,t).map((t=>`${e}.${t}`))}function YF(e,t){return 1===t?[e]:XF(e,t)}class ZF{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.enableShapeUniforms=qM(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const e=YF("rc",this.rank),t=UM(this.rank),n=this.getOutOfBoundsCondition(e),r=this.getSetup(e),s=this.getOutput(e);this.userCode=`\n void main() {\n ${t} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${r}\n\n setOutput(vec4(${s}));\n }\n }\n `}}getSourceCoordsArr(e){const t=[];for(let n=0;n<=1;n++)for(let r=0;r<=1;r++){let s=`${0===n?"r":"rp1"}, ${0===r?"c":"cp1"}`;for(let t=2;t ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let t="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${r};\n `}getOutput(e){const t=this.getSourceCoordsArr(e);return 1===this.rank?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}}class JF{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length);let n="";for(let e=0;e<4;e++){let t="thisRC = rc;";e%2==1&&(t+="thisRC.z += 1;"),e>1&&(t+="thisRC.y += 1;"),n+=`\n ${t}\n ${e>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${e}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${e>0?"}":""}\n `}var r,s;this.userCode=`\n ${r=t,s=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${s?function(e,t,n="index"){const r=function(e,t){const n=e.length,r=e.map((e=>`${t}[${e}]`)),s=new Array(n-1);s[n-2]=r[n-1];for(let e=n-3;e>=0;--e)s[e]=`(${s[e+1]} * ${r[e+1]})`;return s}(e.map(((e,t)=>t)),t);return r.map(((t,s)=>`int ${e[s]} = ${n} / ${r[s]}; ${s===r.length-1?`int ${e[s+1]} = ${n} - ${e[s]} * ${r[s]}`:`index -= ${e[s]} * ${r[s]}`};`)).join("")}(["r","c","d"],"inputShape"):EM(["r","c","d"],r)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":AM(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":e[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":e[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}}class QF{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(e,t,n){const r=tD(t,n),s=nD(e,r,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);const a=eD(e,r,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=a,this.log();const e=this.freeTextures[s].shift();return this.usedTextures[s].push(e),e}let i;return r===QR.PACKED_2X2_FLOAT32?i=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):r===QR.PACKED_2X2_FLOAT16?i=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):r===QR.UNPACKED_FLOAT32?i=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):r===QR.UNPACKED_FLOAT16?i=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):r===QR.PACKED_4X1_UNSIGNED_BYTE&&(i=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[s].push(i),this.numUsedTextures++,this._numBytesAllocated+=a,this.log(),i}releaseTexture(e,t,n,r){if(null==this.freeTextures)return;const s=tD(n,r),a=nD(t,s,r);a in this.freeTextures||(this.freeTextures[a]=[]);const i=eD(t,s,this.gpgpu.gl,this.gpgpu.textureConfig,r),o=He().get("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==o&&this._numBytesAllocated>o?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=i):(this.freeTextures[a].push(e),this.numFreeTextures++,this._numBytesFree+=i),this.numUsedTextures--;const l=this.usedTextures[a],u=l.indexOf(e);if(u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l.splice(u,1),this.log()}log(){if(!this.logEnabled)return;const e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);const t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const e in this.freeTextures)this.freeTextures[e].forEach((e=>{this.gpgpu.deleteMatrixTexture(e.texture)}));for(const e in this.usedTextures)this.usedTextures[e].forEach((e=>{this.gpgpu.deleteMatrixTexture(e.texture)}));this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function eD(e,t,n,r,s){const a=function(e,t){switch(e){case QR.PACKED_2X2_FLOAT32:return sF(t);case QR.PACKED_2X2_FLOAT16:return aF(t);case QR.UNPACKED_FLOAT32:return tF(t);case QR.UNPACKED_FLOAT16:return nF(t);case QR.PACKED_4X1_UNSIGNED_BYTE:return rF(t);default:throw new Error(`Unknown physical texture type ${e}`)}}(t,r);let i;if(s){const[t,n]=nM(e[0],e[1]);i=t*n}else{const[t,n]=eM(e[0],e[1]);i=t*n}return i*function(e,t){const n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F)return 16;if(t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}(n,a)}function tD(e,t){if(e===JR.UPLOAD)return QR.PACKED_2X2_FLOAT32;if(e===JR.RENDER||null==e)return function(e){return He().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?QR.PACKED_2X2_FLOAT32:QR.UNPACKED_FLOAT32:e?QR.PACKED_2X2_FLOAT16:QR.UNPACKED_FLOAT16}(t);if(e===JR.DOWNLOAD||e===JR.PIXELS)return QR.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${e}`)}function nD(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`}class rD{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const sD="return abs(x);",aD="return x;";class iD{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}class oD{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length);const t=e.length,n=YF("rc",t),r=UM(t),s=function(e,t){if(1===e)return"rc";let n="";for(let r=0;rt.push(e)))}const t=this.texData.get(e),{values:n,shape:r,slice:s,dtype:a,complexTensorInfos:i,isPacked:o}=t;if(null!=s){let t;t=o?new iD(r,aD):new rD(r,aD);const n=this.runWebGLProgram(t,[{dataId:e,shape:r,dtype:a}],a),s=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),s}if(null!=n)return this.convertAndCacheOnCPU(e);if(He().getBool("DEBUG")&&!He().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===He().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==a&&He().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(e);const t=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(t.texture.texture,...tM(r))}if(this.pendingRead.set(e,[]),"complex64"!==a&&await this.gpgpu.createAndWaitForFence(),"complex64"===a){const e=await Promise.all([this.read(i.real.dataId),this.read(i.imag.dataId)]);u=Jd(e[0],e[1])}else if(null==c)u=this.getValuesFromTexture(e);else{const e=oe(r);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,e)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const e=this.gpgpu.gl;sM(e,(()=>e.deleteBuffer(c)))}const h=this.convertAndCacheOnCPU(e,u),p=this.pendingRead.get(e);return this.pendingRead.delete(e),p.forEach((e=>e(h))),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&jo().removeDataId(e,this),this.pendingDeletes--),h}readToGPU(e,t={}){const n=this.texData.get(e),{values:r,shape:s,slice:a,dtype:i,isPacked:o,texture:l}=n;if("complex64"===i)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=a){let n;n=o?new iD(s,aD):new rD(s,aD);const r=this.runWebGLProgram(n,[{dataId:e,shape:s,dtype:i}],i),a=this.readToGPU(r,t);return this.disposeIntermediateTensorInfo(r),a}if(null==l)throw null!=r?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(e,t.customTexShape),c=jo().makeTensorFromDataId(u.dataId,u.shape,u.dtype),h=this.texData.get(u.dataId);return Object.assign({tensorRef:c},h.texture)}bufferSync(e){const t=this.readSync(e.dataId);let n=t;if("string"===e.dtype)try{n=t.map((e=>Ds(e)))}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return Ni(e.shape,e.dtype,n)}checkNumericalProblems(e){if(null!=e)for(let t=0;t0}time(e){const t=this.activeTimers,n=[];let r=!1;null==this.programTimersStack?(this.programTimersStack=n,r=!0):this.activeTimers.push(n),this.activeTimers=n,e();const s=ie(this.activeTimers.map((e=>e.query))).filter((e=>null!=e)),a=ie(this.activeTimers.map((e=>e.name))).filter((e=>null!=e));this.activeTimers=t,r&&(this.programTimersStack=null);const i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const e=await Promise.all(s);i.kernelMs=ee(e),i.getExtraProfileInfo=()=>e.map(((e,t)=>({name:a[t],ms:e}))).map((e=>`${e.name}: ${e.ms}`)).join(", ")}else i.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,i})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:Rs(),endMs:null}}endTimer(e){return He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=Rs(),e)}async getQueryTime(e){if(He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);const t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);const{complexTensorInfos:n}=this.texData.get(e);return null!=n&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){const{texture:t,dtype:n,texShape:r,usage:s,isPacked:a,slice:i}=this.texData.get(e),o=i&&i.origDataId||e,l=this.dataRefCount.get(o);l>1?this.dataRefCount.set(o,l-1):(this.dataRefCount.delete(o),null!=t&&(this.numBytesInGPU-=this.computeBytes(r,n),this.textureManager.releaseTexture(t,r,s,a)));const u=this.texData.get(e);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=cD){return He().getBool("WEBGL_CPU_FORWARD")&&e.every((e=>null==this.texData.get(e.dataId).texture&&oe(e.shape)0&&Ce(n[0])){const s=n.map((e=>Fs(e)));r=this.write(s,e,t)}else r=this.write(n,e,t);return this.texData.get(r).usage=null,{dataId:r,shape:e,dtype:t}}makeOutput(e,t,n){const{dataId:r}=this.makeTensorInfo(e,t,n);return jo().makeTensorFromDataId(r,e,t,this)}unpackTensor(e){const t=new oD(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){const t=new ZF(e.shape);return this.runWebGLProgram(t,[e],e.dtype,null,!0)}packedReshape(e,t){const n=[mM(e.shape),...gM(e.shape)],r={dtype:e.dtype,shape:n,dataId:e.dataId},s=[mM(t),...gM(t)],a=new JF(s,n),i=[n],o=this.runWebGLProgram(a,[r],e.dtype,i,!0);return{dataId:o.dataId,shape:t,dtype:o.dtype}}decode(e,t){const n=this.texData.get(e),{isPacked:r,shape:s,dtype:a}=n;null!=t&&re(oe(s)<=t[0]*t[1]*4,(()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data."));const i=yM(s);let o;o=r?new XM(i):new KM(i);const l=[null!=t?t:tM(i)];return{dtype:a,shape:s,dataId:this.runWebGLProgram(o,[{shape:i,dtype:a,dataId:e}],a,l,!0,t).dataId}}runWebGLProgram(e,t,n,r,s=!1,a){const i=this.makeTensorInfo(e.outputShape,n),o=this.texData.get(i.dataId);if(e.packedOutput&&(o.isPacked=!0),e.outPackingScheme===ZR.DENSE){const t=null!=a?a:tM(e.outputShape);o.texShape=t.map((e=>2*e))}if(null!=e.outTexUsage&&(o.usage=e.outTexUsage),0===oe(i.shape))return o.values=xe(i.dtype,0),i;const l=[],u=t.map((t=>{if("complex64"===t.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(t.dataId);if(null==n.texture){if(!e.packedInputs&&oe(t.shape)<=He().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:t.shape,texData:null,isUniform:!0,uniformValues:n.values};e.packedInputs&&(n.isPacked=!0,n.shape=t.shape)}if(this.uploadToGPU(t.dataId),!!n.isPacked!=!!e.packedInputs)t=n.isPacked?this.unpackTensor(t):this.packTensor(t),l.push(t),n=this.texData.get(t.dataId);else if(n.isPacked&&!xM(n.shape,t.shape)){const e=t,r=t.shape;t.shape=n.shape,t=this.packedReshape(t,r),l.push(t),n=this.texData.get(t.dataId),e.shape=r}return{shape:t.shape,texData:n,isUniform:!1}}));this.uploadToGPU(i.dataId);const c={shape:i.shape,texData:o,isUniform:!1},h=function(e,t,n){let r="";t.concat(n).forEach((t=>{const s=null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0;if(e.enableShapeUniforms&&!t.isUniform){const a=t.texData.texShape,{useSqueezeShape:i,uniformShape:o,keptDims:l}=WM(e.packedInputs,t.shape,a);let u="",c="",h="";if(1===o.length&&e.packedInputs){const e=[Math.ceil(a[0]/2),Math.ceil(a[1]/2)];u=`${e[0]>1}_${e[1]>1}`}else if(2!==o.length||e.packedInputs){if(o.length>2&&!e.packedInputs){const e=Fe(o);h=`${e[0]===a[1]}_${e[e.length-1]===a[1]}`}}else c=`${o[0]>1}_${o[1]>1}`;const p=t.shape.length,d=2===o.length&&ue(t.shape,a),f=1===oe(t.shape),m=Xi(t.shape,n.shape),g=!e.packedInputs&&p===n.shape.length&&ue(a,n.texData.texShape),y=e.packedInputs||o.length>2?"":`${a[0]>1}_${a[1]>1}`;r+=`${p}_${g}_${i?l:""}_${o.length}_${f}_${m}_${d}_${u}_${c}_${h}_${y}_${s}`}else{const e=t.isUniform?"uniform":t.texData.texShape;r+=`${t.shape}_${e}_${s}`}}));const s=e.userCode;let a=e.constructor.name;return a+="_"+r+"_"+s+`${He().getNumber("WEBGL_VERSION")}`,a}(e,u,c),p=this.getAndSaveBinary(h,(()=>function(e,t,n,r){const s=n.map(((e,n)=>{const r={logicalShape:e.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform,isPacked:!e.isUniform&&e.texData.isPacked,flatOffset:null};return null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0&&(r.flatOffset=e.texData.slice.flatOffset),{name:t.variableNames[n],shapeInfo:r}})),a=s.map((e=>e.shapeInfo)),i={logicalShape:r.shape,texShape:r.texData.texShape,isUniform:!1,isPacked:r.texData.isPacked,flatOffset:null},o=FM(s,i,t),l=function(e,t){const n=fM(e,(()=>e.createShader(e.FRAGMENT_SHADER)),"Unable to create fragment WebGLShader.");if(sM(e,(()=>e.shaderSource(n,t))),sM(e,(()=>e.compileShader(n))),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw function(e,t){const n=oM.exec(t);if(null==n)return console.log(`Couldn't parse line number in error: ${t}`),void console.log(e);const r=+n[1],s=e.split("\n"),a=s.length.toString().length+2,i=s.map(((e,t)=>fe((t+1).toString(),a)+e));let o=0;for(let e=0;e{x[n]=e.getUniformLocation(u,t.name,p)})),{program:t,fragmentShader:l,source:o,webGLProgram:u,uniformLocations:d,customUniformLocations:x,inShapeInfos:a,outShapeInfo:i,infLoc:c,nanLoc:h,inShapesLocations:f,inTexShapesLocations:m,outShapeLocation:g,outShapeStridesLocation:b,outTexShapeLocation:y}}(this.gpgpu,e,u,c))),d=null!=this.activeTimers;let f;d&&(f=this.startTimer()),function(e,t,n,r,s){t.program.enableShapeUniforms||(jM(t.inShapeInfos,n),jM([t.outShapeInfo],[r]));const a=r.texData.texture,i=r.texData.texShape;r.texData.isPacked?e.setOutputPackedMatrixTexture(a.texture,i[0],i[1]):e.setOutputMatrixTexture(a.texture,i[0],i[1]),e.setProgram(t.webGLProgram),1===He().getNumber("WEBGL_VERSION")&&null!==t.infLoc&&e.gl.uniform1f(t.infLoc,1/0),null!==t.nanLoc&&e.gl.uniform1f(t.nanLoc,NaN),n.forEach(((n,r)=>{const s=t.program.variableNames[r],a=t.uniformLocations[s],i=t.uniformLocations[`offset${s}`],o=t.inShapesLocations[`${s}Shape`],l=t.inTexShapesLocations[`${s}TexShape`];if(o){const{uniformShape:r}=WM(t.program.packedInputs,n.shape,n.texData.texShape);switch(r.length){case 1:e.gl.uniform1iv(o,new Int32Array(r));break;case 2:e.gl.uniform2iv(o,new Int32Array(r));break;case 3:e.gl.uniform3iv(o,new Int32Array(r));break;case 4:e.gl.uniform4iv(o,new Int32Array(r))}}if(l&&e.gl.uniform2i(l,n.texData.texShape[0],n.texData.texShape[1]),null!=a)if(n.isUniform)if(oe(n.shape)<2)e.gl.uniform1f(a,n.uniformValues[0]);else{let t=n.uniformValues;t instanceof Float32Array||(t=new Float32Array(t)),e.gl.uniform1fv(a,t)}else null!=n.texData.slice&&null!=i&&e.gl.uniform1i(i,n.texData.slice.flatOffset),e.setInputMatrixTexture(n.texData.texture.texture,a,r)}));const o=t.outShapeLocation;if(o)switch(r.shape.length){case 1:e.gl.uniform1iv(o,new Int32Array(r.shape));break;case 2:e.gl.uniform2iv(o,new Int32Array(r.shape));break;case 3:e.gl.uniform3iv(o,new Int32Array(r.shape));break;case 4:e.gl.uniform4iv(o,new Int32Array(r.shape))}if(t.outShapeStridesLocation){const n=Fe(r.shape);switch(r.shape.length){case 2:e.gl.uniform1iv(t.outShapeStridesLocation,new Int32Array(n));break;case 3:e.gl.uniform2iv(t.outShapeStridesLocation,new Int32Array(n));break;case 4:e.gl.uniform3iv(t.outShapeStridesLocation,new Int32Array(n))}}t.outTexShapeLocation&&e.gl.uniform2i(t.outTexShapeLocation,r.texData.texShape[0],r.texData.texShape[1]),t.program.customUniforms&&s&&t.program.customUniforms.forEach(((n,r)=>{const a=t.customUniformLocations[r],i=s[r];if("float"===n.type)e.gl.uniform1fv(a,i);else if("vec2"===n.type)e.gl.uniform2fv(a,i);else if("vec3"===n.type)e.gl.uniform3fv(a,i);else if("vec4"===n.type)e.gl.uniform4fv(a,i);else if("int"===n.type)e.gl.uniform1iv(a,i);else if("ivec2"===n.type)e.gl.uniform2iv(a,i);else if("ivec3"===n.type)e.gl.uniform3iv(a,i);else{if("ivec4"!==n.type)throw Error(`uniform type ${n.type} is not supported yet.`);e.gl.uniform4iv(a,i)}})),e.executeProgram()}(this.gpgpu,p,u,c,r),l.forEach((e=>this.disposeIntermediateTensorInfo(e))),d&&(f=this.endTimer(f),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(f)}));const m=He().get("WEBGL_FLUSH_THRESHOLD");if(m>0){const e=Rs();e-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=e)}if(!He().getBool("WEBGL_LAZILY_UNPACK")&&o.isPacked&&!1===s){const e=this.unpackTensor(i);return this.disposeIntermediateTensorInfo(i),e}return i}compileAndRun(e,t,n,r,s=!1){return n=n||t[0].dtype,this.runWebGLProgram(e,t,n,r,s)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(He().getBool("IS_TEST")||Object.keys(this.binaryCache).forEach((e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]})),this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=Xo((()=>{if(!He().get("WEBGL_RENDER_FLOAT32_ENABLED")){const e=He().getBool("DEBUG");He().set("DEBUG",!1);const t=this.abs(kl(1e-8)).dataSync()[0];if(He().set("DEBUG",e),t>0)return 32}return 16}))),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(e){const t=this.texData.get(e),{shape:n,dtype:r,values:s,texture:a,usage:i,isPacked:o}=t;if(null!=a)return;const l=null!=this.activeTimers;let u;l&&(u=Rs());let c=t.texShape;if(null==c&&(c=function(e,t=!1){let n=He().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(t&&(n*=2,1===(e=e.map(((t,n)=>n>=e.length-2?J(e[n]):e[n]))).length&&(e=[2,e[0]])),2!==e.length){const t=be(e);e=t.newShape}let r=oe(e);if(e.length<=1&&r<=n)return[1,r];if(2===e.length&&e[0]<=n&&e[1]<=n)return e;if(3===e.length&&e[0]*e[1]<=n&&e[2]<=n)return[e[0]*e[1],e[2]];if(3===e.length&&e[0]<=n&&e[1]*e[2]<=n)return[e[0],e[1]*e[2]];if(4===e.length&&e[0]*e[1]*e[2]<=n&&e[3]<=n)return[e[0]*e[1]*e[2],e[3]];if(4===e.length&&e[0]<=n&&e[1]*e[2]*e[3]<=n)return[e[0],e[1]*e[2]*e[3]];if(t){const t=mM(e);let n=2,s=2;return e.length&&([n,s]=gM(e)),r=t*(n/2)*(s/2),pe(r).map((e=>2*e))}return pe(r)}(n,o),t.texShape=c),null!=s){const e=yM(n);let a,i=c[1],h=c[0];const p=s instanceof Uint8Array||s instanceof Uint8ClampedArray;!o&&p||([i,h]=nM(c[0],c[1])),a=o?new QM(e,p):new JM(e,p);const d=p?[h,i]:c,f=this.makeTensorInfo(d,r),m=this.texData.get(f.dataId);m.usage=p?JR.PIXELS:JR.UPLOAD,m.texShape=d,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),i,h,s);const g=[[h,i]],y=!0,b=this.runWebGLProgram(a,[f],r,g,y),x=this.texData.get(b.dataId);t.texture=x.texture,t.texShape=x.texShape,t.isPacked=x.isPacked,t.usage=x.usage,this.disposeIntermediateTensorInfo(f),this.texData.delete(b.dataId),t.values=null,l&&(this.uploadWaitMs+=Rs()-u)}else{const e=this.acquireTexture(c,i,r,o);t.texture=e}}convertAndCacheOnCPU(e,t){const n=this.texData.get(e),{dtype:r}=n;return this.releaseGPUData(e),null!=t&&(n.values=function(e,t){if("float32"===t||"complex64"===t)return e;if("int32"===t||"bool"===t){const n="int32"===t?new Int32Array(e.length):new Uint8Array(e.length);for(let t=0;t1024*this.numMBBeforeWarning*1024){const e=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${e} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,r)}computeBytes(e,t){return e[0]*e[1]*Se(t)}}hD.nextDataId=0,ba()&&al("webgl",(()=>new hD),2);class pD{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=Zi(t,n),this.enableShapeUniforms=qM(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}}class dD{constructor(e,t,n,r=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=Zi(t,n);const s=this.outputShape.length;this.enableShapeUniforms=qM(s);let a="";if(r)if(0===s||1===oe(this.outputShape))a="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else if(a=`\n ${UM(s)} coords = getOutputCoords();\n `,1===s)this.enableShapeUniforms?a+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":a+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const e=YF("coords",s);this.enableShapeUniforms?a+=`\n bool nextRowOutOfBounds =\n (${e[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${e[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:a+=`\n bool nextRowOutOfBounds =\n (${e[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${e[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${a}\n\n setOutput(result);\n }\n `}}function fD(e){const{inputs:t,backend:n}=e,{x:r}=t;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const mD={kernelName:cn,backendName:"webgl",kernelFunc:fD};function gD(e){const{inputs:t,backend:n}=e,{real:r,imag:s}=t,a=n.makeTensorInfo(r.shape,"complex64"),i=n.texData.get(a.dataId),o=fD({inputs:{x:r},backend:n}),l=fD({inputs:{x:s},backend:n});return i.complexTensorInfos={real:o,imag:l},a}const yD={kernelName:kt,backendName:"webgl",kernelFunc:gD},bD="return (a < 0.) ? b * a : a;",xD="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",wD={kernelName:gn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{alpha:a}=r,i=n.makeTensorInfo([],"float32",$s(a,"float32")),o=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new dD(xD,s.shape,i.shape):new pD(bD,s.shape,i.shape),l=n.runWebGLProgram(o,[s,i],"float32");return n.disposeIntermediateTensorInfo(i),l}},vD="return (a < 0.) ? b * a : a;",kD="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",ID={kernelName:Qn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r,alpha:s}=t,a=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new dD(kD,r.shape,s.shape):new pD(vD,r.shape,s.shape);return n.runWebGLProgram(a,[r,s],"float32")}};function ND({opSnippet:e,packedOpSnippet:t,cpuKernelImpl:n,dtype:r}){return({inputs:s,backend:a})=>{const{x:i}=s,o=a,l=r||i.dtype;if(o.shouldExecuteOnCPU([i])&&null!=n){const e=o.texData.get(i.dataId),t=n(e.values,l);return o.makeTensorInfo(i.shape,l,t)}let u;return u=He().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=t?new iD(i.shape,t):new rD(i.shape,e),o.runWebGLProgram(u,[i],l)}}function SD({opSnippet:e,packedOpSnippet:t,checkOutOfBounds:n=!1,supportsComplex:r=!1,cpuKernelImpl:s,dtype:a}){return({inputs:i,backend:o})=>{const{a:l,b:u}=i,c=o;if(r&&"complex64"===l.dtype){const t=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[r,s]=[[t.complexTensorInfos.real,n.complexTensorInfos.real],[t.complexTensorInfos.imag,n.complexTensorInfos.imag]].map((t=>{const[n,r]=t,s={dataId:n.dataId,dtype:n.dtype,shape:l.shape},a={dataId:r.dataId,dtype:r.dtype,shape:u.shape},i=new pD(e,l.shape,u.shape);return c.runWebGLProgram(i,[s,a],na(n.dtype,r.dtype))})),a=gD({inputs:{real:r,imag:s},backend:c});return c.disposeIntermediateTensorInfo(r),c.disposeIntermediateTensorInfo(s),a}const h=a||na(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=s){const e=c.texData.get(l.dataId).values,t=c.texData.get(u.dataId).values,n="string"===l.dtype?Af(e):e,r="string"===l.dtype?Af(t):t,[a,i]=s(l.shape,u.shape,n,r,h),o=c.makeTensorInfo(i,h);return c.texData.get(o.dataId).values=a,o}let p;return p=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=t?new dD(t,l.shape,u.shape,n):new pD(e,l.shape,u.shape),c.runWebGLProgram(p,[l,u],h)}}function TD(e,t=!1){if("linear"===e)return"return x;";if("relu"===e)return t?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n";if("elu"===e)return t?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===e)return t?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n";if("prelu"===e)return t?kD:vD;if("leakyrelu"===e)return t?xD:bD;if("sigmoid"===e)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${e} has not been implemented for the WebGL backend.`)}class CD{constructor(e,t,n,r=!1,s=!1,a=!1,i=null,o=!1,l=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=qM(this.outputShape.length);const u=r?e[1]:e[2],c=Math.ceil(u/2),h=r?"i * 2, rc.y":"rc.y, i * 2",p=s?"rc.z, i * 2":"i * 2, rc.z",d=r?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],f=s?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"];let m="",g="";i&&(m=o?`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${i}\n }`:l?`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${i}\n }`:`vec4 activation(vec4 x) {\n ${i}\n }`,g="result = activation(result);");const y=a?"result += getBiasAtOutCoords();":"";a&&this.variableNames.push("bias"),o&&this.variableNames.push("preluActivationWeights"),l&&this.variableNames.push("leakyreluAlpha");let b="rc.x",x="rc.x";e[0]`The new shape (${l}) has ${u} elements and the old shape (${s.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`));const c=i.texData.get(s.dataId);return!c.isPacked||xM(s.shape,l)||null!==c.texture&&xM(c.shape,l)?(i.incRef(s.dataId),{dataId:s.dataId,shape:l,dtype:s.dtype}):function(e,t,n){const r=[mM(e.shape),...gM(e.shape)],s={dtype:e.dtype,shape:r,dataId:e.dataId},a=[mM(t),...gM(t)],i=new JF(a,r),o=[r],l=n.runWebGLProgram(i,[s],e.dtype,o,!0);return{dataId:l.dataId,shape:t,dtype:l.dtype}}(s,l,i)}const FD={kernelName:ar,backendName:"webgl",kernelFunc:MD};class DD{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:a}=e;this.outputShape=[r,a];const i=4*Math.floor(n/4),o=n%4;let l="sumValue += dot(values, ones);";if(null!=t){const e=1/t;l=`sumValue += dot(values * ${ce(e)?e.toPrecision(2):e}, ones);`}let u="";s%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${i}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${i};\n if (${1===o}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}}class _D{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:a}=e;this.outputShape=[r,a];let i="0.0",o="";"prod"===t?i="1.0":"min"===t?(i="1.0 / 1e-20",o="min"):"max"===t&&(i="-1.0 / 1e-20",o="max");let l=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===t?l="sumValue":"prod"===t?l="prodValue":"all"===t?l="allValue":"any"===t&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let h=`\n if (${"sum"===t}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===t}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${o}(values, minMaxValue);\n if (${"min"===t} || ${"max"===t}) {\n minMaxValue = ${o}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,p="vec4";"all"===t?(i="1.0",h="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",p="bvec4"):"any"===t&&(i="0.0",h="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",p="bvec4");let d="";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${i};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${i});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${p} values = ${p}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${h}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${p} values = ${p}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${2===c}) {\n ${p} values = ${p}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${3===c}) {\n ${p} values = ${p}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${h}\n }\n setOutput(${l});\n }\n `}}function OD(e,t,n,r){const s=function(e){const t=[];for(;0===t.length||1!==t[t.length-1].outSize;){const n=t.length?t[t.length-1].outSize:e[1],r=Ld(n);t.push({inSize:n,windowSize:r,outSize:Math.ceil(n/r)})}return t}(e.shape);let a=e;for(let i=0;i6)throw Error(`Transpose for rank ${t} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],r=new Array(t);for(let t=0;t6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const r=UM(this.rank),s=XF("rc",this.rank),a=new Array(this.rank);for(let e=0;e`Error in matMul: inner shapes (${h}) and (${p}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${n} and transposeB=${r} must match.`));const w=n?[y,h,d]:[y,d,h],v=r?[b,f,p]:[b,p,f],k=MD({inputs:{x:e},backend:s,attrs:{shape:w}}),I=MD({inputs:{x:t},backend:s,attrs:{shape:v}}),N=[k,I],S=Math.max(y,b),T=n?k.shape[1]:k.shape[2],C=null!=a,E=null!=i,$="leakyrelu"===l,A=null!=l?TD(l,!0):null;let R;if((1===d||1===f)&&T>1e3&&!1===(C||E||$||null!=A)){let e=k,t=I;n&&(e=UD({inputs:{x:k},backend:s,attrs:{perm:[0,2,1]}}),N.push(e)),r&&(t=UD({inputs:{x:I},backend:s,attrs:{perm:[0,2,1]}}),N.push(t));const a=1===f;let i=e;1!==f&&(i=MD({inputs:{x:e},backend:s,attrs:{shape:[S,T,1]}}),N.push(i));const o=1===f?2:1;let l=t;a&&(l=MD({inputs:{x:t},backend:s,attrs:{shape:[S,1,T]}}),N.push(l));const u=AD({inputs:{a:i,b:l},backend:s});R=BD({inputs:{x:u},backend:s,attrs:{axis:o,keepDims:!0}}),N.push(u)}else{const l=na(e.dtype,t.dtype),u=new CD(w,v,[S,d,f],n,r,C,A,E,$),c=[k,I];if(null!=a&&c.push(a),E&&c.push(i),$){const e=s.makeTensorInfo([],"float32",$s(o,"float32"));c.push(e),N.push(e)}R=s.runWebGLProgram(u,c,l)}const M=MD({inputs:{x:R},backend:s,attrs:{shape:x}});N.push(R);for(const e of N)s.disposeIntermediateTensorInfo(e);return M}const HD={kernelName:Qr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a,bias:i,preluActivationWeights:o}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:h}=r;return GD({a:s,b:a,transposeA:l,transposeB:u,backend:n,bias:i,preluActivationWeights:o,leakyreluAlpha:h,activation:c})}},jD="return abs(x);",qD={kernelName:Ye,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t;if(n.shouldExecuteOnCPU([r])&&"complex64"!==r.dtype){const e=n.texData.get(r.dataId),t=DF(e.values);return n.makeTensorInfo(r.shape,r.dtype,t)}let s;return s=He().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new iD(r.shape,jD):new rD(r.shape,jD),n.runWebGLProgram(s,[r],r.dtype)}},KD=ND({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),XD={kernelName:Ze,backendName:"webgl",kernelFunc:KD},YD=ND({opSnippet:"if (isnan(x)) return x;\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),ZD={kernelName:Je,backendName:"webgl",kernelFunc:YD},JD="return a + b;",QD=SD({opSnippet:JD,packedOpSnippet:JD,supportsComplex:!0,cpuKernelImpl:oF}),e_={kernelName:Qe,backendName:"webgl",kernelFunc:QD};class t_{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map(((e,t)=>`T${t}`));const n=[];this.variableNames.forEach((e=>{n.push(`float v${e} = get${e}AtOutCoords();`)}));const r=this.variableNames.map((e=>`v${e}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${r};\n setOutput(result);\n }\n `}}class n_{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map(((e,t)=>`T${t}`));const n=[];this.variableNames.forEach((e=>{n.push(`vec4 v${e} = get${e}AtOutCoords();`)}));const r=this.variableNames.map((e=>`v${e}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${r};\n setOutput(result);\n }\n `}}const r_={kernelName:et,backendName:"webgl",kernelFunc:function e(t){const{inputs:n,backend:r}=t,s=n;if(1===s.length)return fD({inputs:{x:s[0]},backend:r});if(s.length>He().get("WEBGL_MAX_TEXTURES_IN_SHADER")){const t=Math.floor(s.length/2),n=e({inputs:s.slice(0,t),backend:r}),a=e({inputs:s.slice(t),backend:r});return e({inputs:[n,a],backend:r})}const a=s.map((e=>e.dtype)).reduce(((e,t)=>na(e,t))),i=s.map((e=>e.shape)),o=He().getBool("WEBGL_PACK")?new n_(s[0].shape,i):new t_(s[0].shape,i);return r.runWebGLProgram(o,s,a)}},s_={kernelName:tt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=s.shape.length,l=ye(a,s.shape);let u=l;const c=Ac(u,o);let h=s;null!=c&&(h=UD({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Mc(u.length,o)),$c("all",u,o);const[p,d]=Cc(h.shape,u),f=MD({inputs:{x:h},backend:n,attrs:{shape:[-1,oe(d)]}}),m=OD(f,f.dtype,"all",n);let g;return g=MD(i?{inputs:{x:m},backend:n,attrs:{shape:Ec(p,l)}}:{inputs:{x:m},backend:n,attrs:{shape:p}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}},a_={kernelName:nt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=s.shape.length,l=ye(a,s.shape);let u=l;const c=Ac(u,o);let h=s;null!=c&&(h=UD({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Mc(u.length,o)),$c("any",u,o);const[p,d]=Cc(h.shape,u),f=MD({inputs:{x:h},backend:n,attrs:{shape:[-1,oe(d)]}}),m=OD(f,f.dtype,"any",n);let g;return g=MD(i?{inputs:{x:m},backend:n,attrs:{shape:Ec(p,l)}}:{inputs:{x:m},backend:n,attrs:{shape:p}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}};class i_{constructor(e,t,n){this.variableNames=["A"];const{windowSize:r,batchSize:s,outSize:a}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[s,a];const i="max"===t?">":"<",o=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${r};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${r}; i++) {\n int inIdx = ${o};\n float candidate = getA(batch, inIdx);\n if (candidate ${i} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}}class o_{constructor(e,t,n,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,re(e.length>2,(()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`));const s=e[e.length-1],a=Math.ceil(s/t);this.outputShape=e.slice(0,-1),a>1&&this.outputShape.push(a),r||this.variableNames.push("bestIndicesA");const i=this.outputShape,o=i.length,l=UM(o),u=YF("coords",o);let c,h;if(1===a){h=o+1;const e=UM(h);c=`\n ${e} sourceLocR = ${e}(${u.join()}, 0);\n ++${u[o-1]};\n ${e} sourceLocG = ${e}(${u.join()}, 0);\n ++${u[o-2]};\n ${e} sourceLocA = ${e}(${u.join()}, 0);\n --${u[o-1]};\n ${e} sourceLocB = ${e}(${u.join()}, 0);\n --${u[o-2]};`}else h=o,c=`\n ${l} sourceLocR = coords;\n ++${u[o-1]};\n ${l} sourceLocG = coords;\n ++${u[o-2]};\n ${l} sourceLocA = coords;\n --${u[o-1]};\n ${l} sourceLocB = coords;\n --${u[o-2]};`;const p=["x","y","z","w","u","v"].slice(0,h),d="."+p[h-1],f=p.map((e=>"int "+e)),m=YF("sourceLocR",h-1).concat("inIdx.r"),g=YF("sourceLocG",h-1).concat("inIdx.g"),y=YF("sourceLocB",h-1).concat("inIdx.b"),b=YF("sourceLocA",h-1).concat("inIdx.a"),x="max"===n?"greaterThan":"lessThan",w=r?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${y.join()}),\n getBestIndicesAChannel(${b.join()})));`,v=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${y.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${b.join()}) : 0.)`,k=r?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${p.join()}),\n vec2(${p.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${p.join()}),\n vec2(${p.slice(-2).join()}));\n }\n ${k}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[o-1]} < ${i[o-1]-1};\n bool hasNextRow = ${u[o-2]} < ${i[o-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d},\n sourceLocB${d}, sourceLocA${d}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${v};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${w}\n vec4 candidate = ${v};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${x}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}}function l_(e,t,n,r=null){let s=t.shape[0],a=t.shape[1];null!=r&&(s=r.shape[0],a=r.shape[1]);const i=Ld(a),o={windowSize:i,inSize:a,batchSize:s,outSize:Math.ceil(a/i)},l=new i_(o,n,null==r),u=[t];null!=r&&u.push(r);const c=e.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const h=l_(e,t,n,c);return e.disposeIntermediateTensorInfo(c),h}function u_(e,t,n,r=null){const s=null!=r?r.shape:t.shape,a=Ld(s[s.length-1]),i=new o_(s,a,n,null==r),o=null==r?[t]:[t,r],l=e.runWebGLProgram(i,o,"int32");if(l.shape.length===t.shape.length){const r=u_(e,t,n,l);return e.disposeIntermediateTensorInfo(l),r}return l}function c_(e,t,n,r){const s=[n];if($c("arg"+r.charAt(0).toUpperCase()+r.slice(1),s,t.shape.length),!He().getBool("WEBGL_PACK_REDUCE")||t.shape.length<=2){const n=[],a=e.texData.get(t.dataId);let i=t;null!==a&&a.isPacked&&(i=e.unpackTensor(t),n.push(i));const[o,l]=Cc(i.shape,s),u=oe(l),c=MD({inputs:{x:i},backend:e,attrs:{shape:[-1,u]}});n.push(c);const h=l_(e,c,r);n.push(h);const p=MD({inputs:{x:h},backend:e,attrs:{shape:o}});return n.forEach((t=>e.disposeIntermediateTensorInfo(t))),p}return u_(e,t,r)}const h_={kernelName:rt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;let i=ye(a,s.shape);const o=Ac(i,s.shape.length);let l=s;const u=[];null!=o&&(l=UD({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Mc(i.length,l.shape.length)),$c("argMax",[i[0]],l.shape.length);const c=c_(n,l,i[0],"max");return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),c}},p_={kernelName:st,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;let i=ye(a,s.shape);const o=Ac(i,s.shape.length);let l=s;const u=[];null!=o&&(l=UD({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Mc(i.length,l.shape.length)),$c("argMin",[i[0]],l.shape.length);const c=c_(n,l,i[0],"min");return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),c}},d_=ND({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),f_={kernelName:at,backendName:"webgl",kernelFunc:d_},m_=ND({opSnippet:"if (isnan(x)) return x;return log(x + sqrt(x * x + 1.0));"}),g_={kernelName:it,backendName:"webgl",kernelFunc:m_},y_=ND({opSnippet:"if (isnan(x)) return x;\n return atan(x);\n"}),b_={kernelName:ot,backendName:"webgl",kernelFunc:y_},x_=SD({opSnippet:"\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),w_={kernelName:ut,backendName:"webgl",kernelFunc:x_},v_=ND({opSnippet:"if (isnan(x)) return x;\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),k_={kernelName:lt,backendName:"webgl",kernelFunc:v_};class I_{constructor(e,t,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const a=e.filterWidth,i=e.strideHeight,o=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterHeight,h=e.effectiveFilterWidth,p=e.padInfo.top,d=e.padInfo.left;this.outputShape=e.outShape;const f="avg"===t,m=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,g=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`;let y="0.0";if(f||(y="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${i}, ${o});\n const ivec2 pads = ivec2(${p}, ${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?m:g:`wR * ${h} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let b=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(b="avgValue / count");const x=4*Math.floor(a/4),w=a%4,v=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${i}, ${o});\n const ivec2 pads = ivec2(${p}, ${d});\n const float initializationValue = ${y};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${y});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${x}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${v}\n }\n\n int xC = xCCorner + ${x};\n if (${1===w}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${v}\n } else if (${2===w}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${v}\n } else if (${3===w}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${v}\n }\n }\n setOutput(${b});\n }\n `}}class N_{constructor(e,t,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const a=e.filterWidth,i=e.strideDepth,o=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,c=e.dilationHeight,h=e.dilationWidth,p=e.effectiveFilterDepth,d=e.effectiveFilterHeight,f=e.effectiveFilterWidth,m=e.padInfo.front,g=e.padInfo.top,y=e.padInfo.left;this.outputShape=e.outShape;const b="avg"===t;let x="0.0";if(b||(x="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${h}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${d} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let w=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(w="avgValue / count");const v=4*Math.floor(a/4),k=a%4,I=`\n if (${b}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n const float initializationValue = ${x};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${x});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${v}; wC += 4) {\n int xC = xCCorner + wC * ${h};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n getValue(batch, xD, xR, xC + 3 * ${h}, ch)\n );\n\n ${I}\n }\n\n int xC = xCCorner + ${v};\n if (${1===k}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${I}\n } else if (${2===k}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n initializationValue,\n initializationValue\n );\n\n ${I}\n } else if (${3===k}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n initializationValue\n );\n\n ${I}\n }\n }\n setOutput(${w});\n }\n }\n `}}const S_={kernelName:ct,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;SM(s,"avgPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))return fD({inputs:{x:s},backend:n});const c=new I_(u,"avg",!1);return n.runWebGLProgram(c,[s],"float32")}},T_={kernelName:pt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r,c=Zl(s.shape,a,i,[1,1,1],o,l,u),h=new N_(c,"avg",!1);return n.runWebGLProgram(h,[s],"float32")}};class C_{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,s=e.strideWidth,a=e.dilationHeight,i=e.dilationWidth,o=e.effectiveFilterHeight,l=e.effectiveFilterWidth,u=o-1-e.padInfo.top,c=l-1-e.padInfo.left,h=1/(t*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${h});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${o};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${i}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class E_{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,r=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,o=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterDepth,h=e.effectiveFilterHeight,p=e.effectiveFilterWidth,d=c-1-e.padInfo.front,f=h-1-e.padInfo.top,m=p-1-e.padInfo.left,g=1/(t*n*r);this.userCode=`\n const ivec3 pads = ivec3(${d}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${o}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${h};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${p};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const $_={kernelName:dt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Zl(i.shape,o,l,[1,1,1],u,c),p=new E_(h);return n.runWebGLProgram(p,[s],i.dtype)}},A_={kernelName:ht,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a;SM([s,a],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(i.shape,o,l,1,u),h=new C_(c);return n.runWebGLProgram(h,[s],i.dtype)}},R_={kernelName:ft,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a}=t,{transposeA:i,transposeB:o}=r;return GD({a:s,b:a,transposeA:i,transposeB:o,backend:n})}};class M_{constructor(e,t,n,r,s,a){this.outputShape=[],this.variableNames=["x","mean","variance"],Zi(e,t),Zi(e,n);let i="0.0";null!=r&&(Zi(e,r),this.variableNames.push("offset"),i="getOffsetAtOutCoords()");let o="1.0";null!=s&&(Zi(e,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${i};\n float scale = ${o};\n float inv = scale * inversesqrt(variance + float(${a}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}}class F_{constructor(e,t,n,r,s,a){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],Zi(e,t),Zi(e,n);let i="vec4(0.0)";null!=r&&(Zi(e,r),this.variableNames.push("offset"),i="getOffsetAtOutCoords()");let o="vec4(1.0)";null!=s&&(Zi(e,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${i};\n vec4 scale = ${o};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${a}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}}const D_={kernelName:sn,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,mean:s,variance:a,offset:i,scale:o}=e;re(s.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),re(null==i||s.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),re(null==o||s.shape.length===o.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[r,s,a];let c=null;null!=i&&(c=i.shape,u.push(i));let h=null;null!=o&&(h=o.shape,u.push(o));const p=He().getBool("WEBGL_PACK_NORMALIZATION")?new F_(r.shape,s.shape,a.shape,c,h,l):new M_(r.shape,s.shape,a.shape,c,h,l);return t.runWebGLProgram(p,u,u[0].dtype)}};class __{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;const t=UM(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(e){if(1===e)return"sourceLoc";if(e<=6)return O_.slice(0,e).map((e=>"sourceLoc."+e)).join(",");throw Error(`Slicing for rank ${e} is not yet supported`)}(this.rank);let r;r=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${e.map(((e,t)=>`sourceLoc.${O_[t]} = start[${t}] + coords.${O_[t]};`)).join("\n")}\n `,this.userCode=`\n void main() {\n ${r}\n setOutput(getSource(${n}));\n }\n `}}const O_=["x","y","z","w","u","v"];class L_{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const t=UM(this.rank),n=YF("coords",this.rank),r=YF("sourceLoc",this.rank),s=1===this.rank?"sourceLoc":`vec2(${r.slice(-2).join()})`,a=`getChannel(getSource(${r.join()}), ${s})`,i=`\n result.x = ${a};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.y = ${a};\n --${r[this.rank-1]};\n }\n `,o=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${e[this.rank-2]}) {\n ++${r[this.rank-2]};\n result.z = ${a};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.w = ${a};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map(((e,t)=>`start[${t}]`)).join()});`:e.map(((e,t)=>`${r[t]} = ${n[t]} + start[${t}];`)).join("\n");this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${i}\n ${o}\n setOutput(result);\n }\n `}}function z_(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,size:i}=r,[o,l]=Io(s,a,i);if(lo(s,o,l),0===oe(l))return n.makeTensorInfo(l,s.dtype,[]);if(n.shouldExecuteOnCPU([s])||"string"===s.dtype){const e=n.texData.get(s.dataId),t=_F(e.values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,t)}const{isPacked:u}=n.texData.get(s.dataId),c=vo(s.shape,o,l);if(u||!c){const e=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new L_(l):new __(l),t=[o];return n.runWebGLProgram(e,[s],s.dtype,t)}return n.uploadToGPU(s.dataId),function(e,t,n,r){const s=r.texData.get(e.dataId),a=r.makeTensorInfo(n,e.dtype),i=r.texData.get(a.dataId);Object.assign(i,s),i.refCount=1,i.shape=n,i.dtype=e.dtype;let o=ko(t,Fe(e.shape));s.slice&&(o+=s.slice.flatOffset),i.slice={flatOffset:o,origDataId:s.slice&&s.slice.origDataId||e.dataId};const l=r.dataRefCount.get(i.slice.origDataId)||1;return r.dataRefCount.set(i.slice.origDataId,l+1),a}(s,o,l,n)}const P_={kernelName:yr,backendName:"webgl",kernelFunc:z_},B_={kernelName:mt,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,crops:i}=r;re(s.shape.length<=4,(()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet"));const o=a.reduce(((e,t)=>e*t)),l=Pd(s.shape,a,o),u=Bd(l.length,a.length),c=Vd(s.shape,a,o),h=Ud(i,a.length),p=Wd(c,i,a.length),d=[],f=MD({inputs:{x:s},backend:n,attrs:{shape:l}}),m=UD({inputs:{x:f},backend:n,attrs:{perm:u}}),g=MD({inputs:{x:m},backend:n,attrs:{shape:c}}),y=z_({inputs:{x:g},backend:n,attrs:{begin:h,size:p}});return d.push(f),d.push(m),d.push(g),d.forEach((e=>n.disposeIntermediateTensorInfo(e))),y}},V_={kernelName:gt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i}=r,o=n.readSync(s.dataId),l=n.readSync(a.dataId),u=lF(o,l,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,u)}},U_={kernelName:bt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{s0:r,s1:s}=t,a=n.readSync(r.dataId),i=n.readSync(s.dataId),o=Zi(Array.from(a),Array.from(i));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},W_=SD({opSnippet:"return float(a != b);",cpuKernelImpl:$F,dtype:"bool"}),G_={kernelName:Wn,backendName:"webgl",kernelFunc:W_};function H_(e){const{inputs:t,backend:n}=e,{input:r}=t;return fD({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.real},backend:n})}const j_={kernelName:nr,backendName:"webgl",kernelFunc:H_},q_={kernelName:xt,backendName:"webgl",kernelFunc:function e(t){const{inputs:n,backend:r,attrs:s}=t,{x:a}=n,{dtype:i}=s;if("complex64"===i){if("complex64"===a.dtype)return fD({inputs:{x:a},backend:r});const t=Uc(a.shape),n=e({inputs:{x:a},backend:r,attrs:{dtype:"float32"}}),s=gD({inputs:{real:n,imag:t},backend:r});return t.dispose(),r.disposeIntermediateTensorInfo(n),s}if("complex64"===a.dtype){const t=H_({inputs:{input:a},backend:r}),n=e({inputs:{x:t},backend:r,attrs:{dtype:i}});return r.disposeIntermediateTensorInfo(t),n}if(!Ie(a.dtype,i)){const e=fD({inputs:{x:a},backend:r});return{dataId:e.dataId,shape:e.shape,dtype:i}}if("int32"===i)return function(e,t){const n=new rD(e.shape,"return float(int(x));"),r=t.runWebGLProgram(n,[e],"int32");return{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}(a,r);if("bool"===i){const e=r.makeTensorInfo([],"bool",xe("bool",1)),t=W_({inputs:{a,b:e},backend:r});return r.disposeIntermediateTensorInfo(e),t}throw new Error(`Error in Cast: failed to cast ${a.dtype} to ${i}`)}},K_="return ceil(x);",X_=ND({opSnippet:K_,packedOpSnippet:K_,cpuKernelImpl:cF}),Y_={kernelName:wt,backendName:"webgl",kernelFunc:X_};class Z_{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}}class J_{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const Q_={kernelName:vt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{clipValueMin:a,clipValueMax:i}=r;let o;o=He().getBool("WEBGL_PACK_CLIP")?new J_(s.shape):new Z_(s.shape);const l=[[a],[i]];return n.runWebGLProgram(o,[s],s.dtype,l)}};class eO{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}}function tO(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const nO={kernelName:It,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t,s=n.texData.get(r.dataId),a=new eO(r.shape),i=[tO(r,s.complexTensorInfos.real),tO(r,s.complexTensorInfos.imag)];return n.runWebGLProgram(a,i,i[0].dtype)}};class rO{constructor(e){this.outputShape=[],this.outputShape=_d(e,1),this.variableNames=e.map(((e,t)=>`T${t}`));const t=new Array(e.length-1);t[0]=e[0][1];for(let n=1;n`T${t}`));const o=new Array(e.length-1);o[0]=e[0][t];for(let n=1;n= ${o[e-1]}) {\n return getChannel(\n getT${e}(${aO(i,l,t)}),\n vec2(${aO(u,l,t)}));\n }`}const p=o.length,d=o[o.length-1];h+=`\n return getChannel(\n getT${p}(${aO(i,l,d)}),\n vec2(${aO(u,l,d)}));`,this.userCode=`\n float getValue(${i.map((e=>"int "+e))}) {\n ${h}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${a}), 0., 0., 0.);\n\n ${a[r-1]} = ${a[r-1]} + 1;\n if (${a[r-1]} < ${n[r-1]}) {\n result.g = getValue(${a});\n }\n\n ${a[r-2]} = ${a[r-2]} + 1;\n if (${a[r-2]} < ${n[r-2]}) {\n result.a = getValue(${a});\n }\n\n ${a[r-1]} = ${a[r-1]} - 1;\n if (${a[r-2]} < ${n[r-2]} &&\n ${a[r-1]} < ${n[r-1]}) {\n result.b = getValue(${a});\n }\n setOutput(result);\n }\n `}}function aO(e,t,n){const r=e.indexOf(t);return e.map(((e,t)=>t===r?`${e} - ${n}`:e)).join()}function iO(e){const{inputs:t,backend:n}=e,{input:r}=t;return fD({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.imag},backend:n})}const oO={kernelName:pn,backendName:"webgl",kernelFunc:iO};function lO(e,t,n){const r=e[0].dtype;if("complex64"===r){const r=e.map((e=>H_({inputs:{input:e},backend:n}))),s=e.map((e=>iO({inputs:{input:e},backend:n}))),a=lO(r,t,n),i=lO(s,t,n),o=gD({inputs:{real:a,imag:i},backend:n});return r.forEach((e=>n.disposeIntermediateTensorInfo(e))),s.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(i),o}let s=n.shouldExecuteOnCPU(e);if("string"===r&&(s=!0),s){const s=e.map((e=>{const r=oe(e.shape.slice(t));return MD({inputs:{x:e},backend:n,attrs:{shape:[-1,r]}})})),a=s.map((e=>({vals:n.readSync(e.dataId),shape:e.shape}))),i=_d(s.map((e=>e.shape)),1),o=1===s[0].shape[0],l=hF(a,i,r,o),u=_d(e.map((e=>e.shape)),t),c=n.makeTensorInfo(u,r,l);return s.forEach((e=>n.disposeIntermediateTensorInfo(e))),c}if(e.length>He().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const r=Math.floor(e.length/2),s=lO(e.slice(0,r),t,n),a=lO(e.slice(r),t,n),i=lO([s,a],t,n);return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),i}if(He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&e[0].shape.length>1){const s=new sO(e.map((e=>e.shape)),t);return n.runWebGLProgram(s,e,r)}const{tensors2D:a,outShape:i}=function(e,t,n){const r=_d(e.map((e=>e.shape)),t);return{tensors2D:e.map((e=>MD({inputs:{x:e},attrs:{shape:[-1,oe(e.shape.slice(t))]},backend:n}))),outShape:r}}(e,t,n),o=new rO(a.map((e=>e.shape))),l=n.runWebGLProgram(o,a,r);a.forEach((e=>n.disposeIntermediateTensorInfo(e)));const u=MD({inputs:{x:l},attrs:{shape:i},backend:n});return n.disposeIntermediateTensorInfo(l),u}function uO(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r,a=ye(s,t[0].shape)[0],i=_d(t.map((e=>e.shape)),a);if(0===oe(i))return n.makeTensorInfo(i,t[0].dtype,[]);const o=t.filter((e=>oe(e.shape)>0));return 1===o.length?fD({inputs:{x:o[0]},backend:n}):(Dd(o.map((e=>e.shape)),a),lO(o,a,n))}const cO={kernelName:Nt,backendName:"webgl",kernelFunc:uO};class hO{constructor(e,t=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;const a=e.padInfo.top,i=e.padInfo.left,o=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,h=e.filterHeight,p=e.filterWidth,d=4*Math.floor(e.inChannels/4),f=e.inChannels%4,m="channelsLast"===e.dataFormat,g=m?1:2,y=m?2:3,b=m?3:1;let x="",w="";n&&(x=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,w="result = activation(result);");const v=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${x}\n\n const ivec2 strides = ivec2(${o}, ${l});\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${b}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${y}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${p}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${d}) *\n getW(wR, wC, ${d}, d2);\n } else {\n dotProd +=\n getX(batch, ${d}, xR, xC) *\n getW(wR, wC, ${d}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2),\n getW(wR, wC, ${d} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1),\n getX(batch, xR, xC, ${d} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC),\n getX(batch, ${d} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${v}\n ${w}\n setOutput(result);\n }\n `}}class pO{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const t=e.padInfo.front,n=e.padInfo.top,r=e.padInfo.left,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,o=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.filterDepth,h=e.filterHeight,p=e.filterWidth,d=4*Math.floor(e.inChannels/4),f=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${a}, ${i});\n const ivec3 pads = ivec3(${t}, ${n}, ${r});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${o};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${p}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${d}) *\n getW(wF, wR, wC, ${d}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1),\n getX(batch, xF, xR, xC, ${d} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2),\n getW(wF, wR, wC, ${d} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class dO{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"},{name:"pad",type:"ivec2"},{name:"stride",type:"ivec2"},{name:"dilation",type:"ivec2"},{name:"inChannels",type:"int"},{name:"itemsPerBlockRow",type:"int"},{name:"outWidth",type:"int"}],this.outputShape=e,this.enableShapeUniforms=qM(this.outputShape.length);const{dataFormat:n}=t,r=CM(),s="channelsLast"===n,a=s?0:1,i=s?1:2,o=this.enableShapeUniforms?"if(blockIndex < outShape[1] && pos < outShape[0]) {":`if(blockIndex < ${e[1]} && pos < ${e[0]}) {`;let l="";for(let e=0;e<=1;e++)for(let t=0;t<=1;t++)l+=`\n blockIndex = rc.y + ${t};\n pos = rc.x + ${e};\n\n ${o}\n offsetY = int(blockIndex / outWidth) * stride[0] - pad[0];\n d0 = offsetY + dilation[0] * (pos / itemsPerBlockRow);\n\n if(d0 < inputShape[${a}] && d0 >= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${i}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${2*e+t}] = getChannel(\n getA(d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*e+t}] = getChannel(\n getA(ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec2 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${r.output} = result;\n }\n `}}function fO({x:e,filter:t,convInfo:n,backend:r,bias:s=null,preluActivationWeights:a=null,leakyreluAlpha:i=0,activation:o=null}){const l=e.shape,u=r.texData.get(e.dataId),c=n.inChannels,h=l[0]*l[1]*l[2],p=n.outChannels,d="channelsLast"===n.dataFormat;let f;const m=[];if((1!==h&&1!==p||!(c>1e3))&&u.isPacked&&d&&null!=u.texture&&l[2]%2!=0&&ue(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),h={dataId:e.dataId,shape:[1,c,n.inChannels],dtype:e.dtype},p=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,re(xM(u.shape,h.shape),(()=>`packed reshape ${u.shape} to ${h.shape} isn't free`));const d=MD({inputs:{x:t},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}});m.push(d);const g=GD({a:h,b:d,backend:r,transposeA:!1,transposeB:!1,bias:s,activation:o,preluActivationWeights:a,leakyreluAlpha:i}),y=r.texData.get(g.dataId);re(y.isPacked,(()=>"batchMatMul result is expected to be packed")),u.shape=p,y.shape=n.outShape,f=fD({inputs:{x:g},backend:r}),f.shape=n.outShape,m.push(g)}else{const u=MD({inputs:{x:e},backend:r,attrs:{shape:[1,d?l[0]*l[1]*l[2]:l[0]*l[2]*l[3],n.inChannels]}}),c=MD({inputs:{x:t},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}}),h=GD({a:u,b:c,transposeA:!1,transposeB:!1,backend:r,bias:s,activation:o,preluActivationWeights:a,leakyreluAlpha:i});f=MD({inputs:{x:h},backend:r,attrs:{shape:n.outShape}}),m.push(u),m.push(c),m.push(h)}for(const e of m)r.disposeIntermediateTensorInfo(e);return f}function mO({x:e,filter:t,convInfo:n,backend:r,bias:s=null,preluActivationWeights:a=null,leakyreluAlpha:i=0,activation:o=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:h,outHeight:p,dataFormat:d}=n,f="channelsLast"===d,m=l*u*c,g=p*h,y=[m,g],b=[],x=MD({inputs:{x:e},backend:r,attrs:{shape:e.shape.slice(1)}}),w=MD({inputs:{x:t},backend:r,attrs:{shape:[1,m,oe(t.shape)/m]}});b.push(x),b.push(w);const v=new dO(y,n),k=[x.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],I=r.runWebGLProgram(v,[x],"float32",k),N=MD({inputs:{x:I},backend:r,attrs:{shape:[1,y[0],y[1]]}});b.push(I),b.push(N);const S=null!=s,T=null!=a,C="leakyrelu"===o,E=o?TD(o,!0):null,$=new CD(N.shape,w.shape,[1,g,n.outChannels],!0,!1,S,E,T,C),A=[N,w];if(s&&A.push(s),T&&A.push(a),C){const e=r.makeTensorInfo([],"float32",$s(i,"float32"));A.push(e),b.push(e)}const R=r.runWebGLProgram($,A,"float32"),M=MD({inputs:{x:R},backend:r,attrs:{shape:f?[1,p,h,n.outChannels]:[1,n.outChannels,p,h]}});b.push(R);for(const e of b)r.disposeIntermediateTensorInfo(e);return M}const gO={kernelName:St,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r,h=ou(l),p=Jl(s.shape,a.shape,i,u,o,c,!1,h);let d;if(1!==p.filterHeight||1!==p.filterWidth||1!==p.dilationHeight||1!==p.dilationWidth||1!==p.strideHeight||1!==p.strideWidth||"SAME"!==p.padInfo.type&&"VALID"!==p.padInfo.type)if(He().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])d=mO({x:s,filter:a,convInfo:p,backend:n});else{const e=new hO(p);d=n.runWebGLProgram(e,[s,a],"float32")}else d=fO({x:s,filter:a,convInfo:p,backend:n});const f=MD({inputs:{x:d},backend:n,attrs:{shape:p.outShape}});return n.disposeIntermediateTensorInfo(d),f}};class yO{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,r=e.padInfo.top,s=e.padInfo.left,a="channelsLast"===e.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${r};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n if (${a}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class bO{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,s=e.strideWidth,a="channelsLast"===e.dataFormat,i=t-1-e.padInfo.top,o=n-1-e.padInfo.left,l=a?1:2,u=a?2:3,c=a?3:1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${a}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class xO{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideDepth,n=e.strideHeight,r=e.strideWidth,s=e.padInfo.front,a=e.padInfo.top,i=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${s};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${a};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${r} - ${i};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class wO{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,r=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,o=t-1-e.padInfo.front,l=n-1-e.padInfo.top,u=r-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${o}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${r}; wC++) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${r} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const vO={kernelName:Tt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,dataFormat:l,dimRoundingMode:u,filterShape:c}=r,h=ou(l),p=Jl(s.shape,c,i,1,o,u,!1,h),d=new yO(p);return n.runWebGLProgram(d,[s,a],"float32")}},kO={kernelName:Ct,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{inputShape:i,strides:o,pad:l,dataFormat:u,dimRoundingMode:c}=r,h=ou(u),p=Jl(i,a.shape,o,1,l,c,!1,h),d=new bO(p);return n.runWebGLProgram(d,[s,a],"float32")}},IO={kernelName:Et,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l}=r,u=Ql(s.shape,a.shape,i,l,o),c=new pO(u);return n.runWebGLProgram(c,[s,a],"float32")}},NO={kernelName:$t,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,filterShape:l}=r,u=Ql(s.shape,l,i,1,o),c=new xO(u);return n.runWebGLProgram(c,[s,a],"float32")}},SO={kernelName:At,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{pad:i,strides:o,inputShape:l}=r,u=Ql(l,a.shape,o,1,i),c=new wO(u);return n.runWebGLProgram(c,[s,a],"float32")}},TO=ND({opSnippet:"if (isnan(x)) return x;\n return cos(x);\n"}),CO={kernelName:Rt,backendName:"webgl",kernelFunc:TO},EO=ND({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),$O={kernelName:Mt,backendName:"webgl",kernelFunc:EO};class AO{constructor(e,t,n,r,s){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[a,i,o,l]=e,[u]=t,[c,h]=n;this.outputShape=[u,c,h,l];const p="bilinear"===r?1:0,[d,f]=[i-1+".0",o-1+".0"],[m,g,y]=c>1?[""+(i-1)/(c-1),"(y2-y1) * height_ratio",`y1*${d} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${d}`],[b,x,w]=h>1?[""+(o-1)/(h-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${b});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${a}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${x};\n\n float in_y = ${y};\n if( in_y < 0.0 || in_y > ${d} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${w};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${p} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}}const RO={kernelName:Dt,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{image:s,boxes:a,boxInd:i}=t,{cropSize:o,method:l,extrapolationValue:u}=r,c=new AO(s.shape,a.shape,o,l,u);return n.runWebGLProgram(c,[s,a,i],"float32")}};class MO{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}],this.outputShape=e;const r=e.length,s=t?"0.0":`getX(${FO(r,"coords")})`,a=e[e.length-1];let i="",o="";t?(i=n?"end != "+(a-1):"end != 0",o=n?"end + 1":"end - 1"):(i=n?`end + pow2 < ${a}`:"end >= pow2",o=n?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${UM(r)} coords = getOutputCoords();\n int end = ${DO(r,"coords")};\n float val = ${s};\n int pow2 = int(pow(2.0, index));\n if (${i}) {\n int idx = ${o};\n ${DO(r,"coords")} = idx;\n val += getX(${FO(r,"coords")});\n }\n setOutput(val);\n }\n `}}function FO(e,t){if(1===e)return`${t}`;if(2===e)return`${t}.x, ${t}.y`;if(3===e)return`${t}.x, ${t}.y, ${t}.z`;if(4===e)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw Error(`Cumulative sum for rank ${e} is not yet supported`)}function DO(e,t){if(1===e)return`${t}`;if(2===e)return`${t}.y`;if(3===e)return`${t}.z`;if(4===e)return`${t}.w`;throw Error(`Cumulative sum for rank ${e} is not yet supported`)}const _O={kernelName:Ft,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,exclusive:i,reverse:o}=r,l=s.shape.length,u=Ac([a],l);let c=s;null!=u&&(c=UD({inputs:{x:s},backend:n,attrs:{perm:u}}));const h=Mc(1,l)[0];if(h!==l-1)throw new Error(`WebGL cumsum shader expects an inner-most axis=${s.shape.length-1} but got axis=${a}`);const p=c.shape[h];let d=fD({inputs:{x:c},backend:n});for(let e=0;e<=Math.ceil(Math.log2(p))-1;e++){const t=new MO(c.shape,!1,o),r=[[e]],s=d;d=n.runWebGLProgram(t,[d],d.dtype,r),n.disposeIntermediateTensorInfo(s)}if(i){const e=new MO(c.shape,i,o),t=d;d=n.runWebGLProgram(e,[d],d.dtype),n.disposeIntermediateTensorInfo(t)}if(null!=u){const e=UD({inputs:{x:d},backend:n,attrs:{perm:Rc(u)}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(c),e}return d}},OO={kernelName:_t,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i,binaryOutput:o}=r;if(1===s.shape.length){const e=n.readSync(s.dataId),t=n.readSync(a.dataId),r=lF(e,t,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,r)}if(2===s.shape.length){const e=n.bufferSync(s),t=n.bufferSync(a),r=uF(e,t,i,o);return n.makeTensorInfo(r.shape,a.dtype,r.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${s.shape.length}.`)}};class LO{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const zO={kernelName:Ot,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockSize:a,dataFormat:i}=r,o=s.shape[0],l=("NHWC"===i?s.shape[1]:s.shape[2])*a,u=("NHWC"===i?s.shape[2]:s.shape[3])*a,c=("NHWC"===i?s.shape[3]:s.shape[1])/(a*a),h=new LO("NHWC"===i?[o,l,u,c]:[o,c,l,u],a,i);return n.runWebGLProgram(h,[s],s.dtype)}};class PO{constructor(e,t=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=qM(this.outputShape.length);const a=e.filterHeight,i=e.filterWidth,o=e.outChannels/e.inChannels;let l="",u="";n&&(l=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${o};\n int q = d2 - d1 * ${o};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${a}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${i}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}}class BO{constructor(e,t=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=qM(this.outputShape.length);const a=e.outChannels/e.inChannels,i=e.padInfo.left,o=e.strideWidth,l=e.dilationWidth,u=e.filterHeight,c=e.filterWidth,h=c;let p="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let e=0;e=0 && xR < inDims[0]) {\n ";for(let e=0;e<(h+1)/2;e++){const t=2*e;if(p+=`\n xC = xCCorner + ${t*l};\n `,1===o){if(t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n `,p+=1===l&&t>0?`\n xC${t} = vec4(xTexelC${t-2}.zw, xTexelC${t}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${t} = vec4(previous.zw, xTexelC${t}.xy);\n } else {\n xC${t} = vec4(0.0, 0.0, xTexelC${t}.xy);\n }\n `):p+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xC${t} = xTexelC${t};\n `,t+1= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n `,l>1&&(p+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n xTexelC${t}Ready = 1;\n }\n `),p+=`\n xC${t+1} = vec4(xTexelC${t}.zw, xTexelC${t+1}.xy);\n `):p+=1===e?`\n xC${t+1} = xTexelC${t};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t+1} = xTexelC${t+1};\n `}}else t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(xTexelC${t}.zw, xTexelC${t+1}.zw);\n `,t+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${t+1} = vec4(xTexelC${t+1}.xy, final.xy);\n `)):(p+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(\n xTexelC${t}.xy, xTexelC${t+1}.xy);\n `,t+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`));const h=Jl(s.shape,a.shape,i,c,o,u,!0);let p;p=He().getBool("WEBGL_PACK_DEPTHWISECONV")&&h.strideWidth<=2&&h.outChannels/h.inChannels==1?new BO(h):new PO(h);const d=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];return n.runWebGLProgram(p,[s,a],"float32",d)}};class UO{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,r=e.padInfo.top,s=e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${a} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${r};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class WO{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,s=e.strideWidth,a=t-1-e.padInfo.top,i=n-1-e.padInfo.left,o=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${o}; dm++) {\n int d2 = d1 * ${o} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const GO={kernelName:zt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,filterShape:c}=r,h=Jl(s.shape,c,i,o,l,u,!0),p=new UO(h);return n.runWebGLProgram(p,[s,a],"float32")}},HO={kernelName:Pt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,inputShape:c}=r,h=Jl(c,a.shape,i,o,l,u,!0),p=new WO(h);return n.runWebGLProgram(p,[s,a],"float32")}};class jO{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const qO={kernelName:Bt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t,s=[...r.shape,...r.shape],a=oe(r.shape),i=MD({inputs:{x:r},backend:n,attrs:{shape:[a]}}),o=new jO(a),l=n.runWebGLProgram(o,[i],i.dtype),u=MD({inputs:{x:l},backend:n,attrs:{shape:s}});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(l),u}};class KO{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const{inHeight:t,inWidth:n,padInfo:r,strideHeight:s,strideWidth:a,filterHeight:i,filterWidth:o,dilationHeight:l,dilationWidth:u}=e,{top:c,left:h}=r;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${a});\n const ivec2 pads = ivec2(${c}, ${h});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${i}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${o}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const XO={kernelName:Vt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l}=r,u=Xl(s.shape,a.shape,i,o,"NHWC",l);let c;const h=new KO(u);c=n.runWebGLProgram(h,[s,a],"float32");const p=MD({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),p}},YO={kernelName:Ht,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{equation:s}=r,a=t,{allDims:i,summedDims:o,idDims:l}=lf(s,a.length);cf(i.length,l,a);const{path:u,steps:c}=hf(o,l),h=c.length;let p=null,d=i.length;const f=[];for(let e=0;e=0&&(p=BD({inputs:{x:p},backend:n,attrs:{axis:u[e]-(i.length-d),keepDims:!1}}),f.push(p)),d--)}for(const e of f)e!==p&&n.disposeIntermediateTensorInfo(e);return p}},ZO=ND({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),JO={kernelName:jt,backendName:"webgl",kernelFunc:ZO},QO={kernelName:qt,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n}=e,{dy:r,y:s}=t,a=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new dD("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",r.shape,s.shape):new pD("return (b >= 1.0) ? a : a * (b + 1.0);",r.shape,s.shape);return n.runWebGLProgram(a,[r,s],r.dtype)}},eL=SD({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:pF}),tL={kernelName:Xt,backendName:"webgl",kernelFunc:eL},nL=ND({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${jd};\n float a1 = ${qd};\n float a2 = ${Kd};\n float a3 = ${Xd};\n float a4 = ${Yd};\n float a5 = ${Zd};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),rL={kernelName:Kt,backendName:"webgl",kernelFunc:nL},sL=ND({opSnippet:"if (isnan(x)) return x;\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:dF,dtype:"float32"}),aL={kernelName:Yt,backendName:"webgl",kernelFunc:sL};function iL(e){const{inputs:t,attrs:n,backend:r}=e,{dim:s}=n,{input:a}=t,i=a.shape.length,o=a.shape.slice();let l=s;return s<0&&(re(-(i+1)<=s,(()=>`Axis must be in the interval [${-(i+1)}, ${i}]`)),l=i+s+1),o.splice(l,0,1),MD({inputs:{x:a},backend:r,attrs:{shape:o}})}const oL={kernelName:Zt,backendName:"webgl",kernelFunc:iL},lL="return exp(x) - 1.0;",uL=ND({opSnippet:lL,packedOpSnippet:lL,cpuKernelImpl:fF}),cL={kernelName:Jt,backendName:"webgl",kernelFunc:uL};class hL{constructor(e,t,n){this.variableNames=["real","imag"];const r=t[1];this.outputShape=t;const s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,a=n?`${r}.0`:"1.0";let i;if("real"===e)i="return real * expR - imag * expI;";else{if("imag"!==e)throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);i="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${i}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${r});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${r}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${a};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}}function pL(e,t,n){const r=n.texData.get(e.dataId),s=oe(e.shape),a=e.shape[e.shape.length-1],i=MD({inputs:{x:e},backend:n,attrs:{shape:[s/a,a]}}),o=i.shape,l=new hL("real",o,t),u=new hL("imag",o,t),c=[{dataId:r.complexTensorInfos.real.dataId,dtype:r.complexTensorInfos.real.dtype,shape:o},{dataId:r.complexTensorInfos.imag.dataId,dtype:r.complexTensorInfos.imag.dtype,shape:o}],h=n.runWebGLProgram(l,c,"float32"),p=n.runWebGLProgram(u,c,"float32"),d=gD({inputs:{real:h,imag:p},backend:n});n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p);const f=MD({inputs:{x:d},backend:n,attrs:{shape:e.shape}});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(d),f}const dL={kernelName:Qt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{input:r}=t;return pL(r,!1,n)}};class fL{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=e,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}}function mL(e){const{backend:t,attrs:n}=e,{shape:r,value:s}=n;let{dtype:a}=n;if(a=a||Ae(s),"string"===a){const e=we(a,oe(r));return e.fill(s),t.makeTensorInfo(r,a,e)}{const e=new fL(r,s),n=[[s]];return t.runWebGLProgram(e,[],a,n)}}const gL={kernelName:en,backendName:"webgl",kernelFunc:mL};class yL{constructor(e){this.variableNames=["Image"],this.outputShape=[];const t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const bL={kernelName:tn,backendName:"webgl",kernelFunc:({inputs:e,backend:t})=>{const{image:n}=e,r=t,s=new yL(n.shape);return r.runWebGLProgram(s,[n],n.dtype)}},xL="return floor(x);",wL=ND({opSnippet:xL,packedOpSnippet:xL,cpuKernelImpl:mF}),vL={kernelName:nn,backendName:"webgl",kernelFunc:wL},kL=SD({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),IL={kernelName:rn,backendName:"webgl",kernelFunc:kL};class NL{constructor(e){this.variableNames=["A"];const t=CM(),[n,r]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${r}.0, ${n}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}}class SL{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const t=CM(),[n,r]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${r}.0, ${n}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}}const TL={kernelName:Zr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e;let{pixels:s}=t;const{numChannels:a}=r,i="undefined"!=typeof HTMLVideoElement&&s instanceof HTMLVideoElement,o="undefined"!=typeof HTMLImageElement&&s instanceof HTMLImageElement,[l,u]=i?[s.videoWidth,s.videoHeight]:[s.width,s.height],c=[u,l],h=[u,l,a];(o||i)&&(null==CL&&(CL=document.createElement("canvas").getContext("2d")),CL.canvas.width=l,CL.canvas.height=u,CL.drawImage(s,0,0,l,u),s=CL.canvas);const p=n.makeTensorInfo(c,"int32");n.texData.get(p.dataId).usage=JR.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(p.dataId),s);const d=He().getBool("WEBGL_PACK")?new SL(h):new NL(h),f=n.runWebGLProgram(d,[p],"int32");return n.disposeData(p.dataId),f}};let CL;const EL={kernelName:es,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p,activation:d,leakyreluAlpha:f}=r,m=ou(c),g=Jl(s.shape,a.shape,l,h,u,p,!1,m);let y;const b=[];if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(He().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])y=mO({x:s,filter:a,convInfo:g,backend:n,bias:i,activation:d,preluActivationWeights:o,leakyreluAlpha:f});else{const e=null!=i,t=null!=o,r="leakyrelu"===d,l=d?TD(d,!1):null,u=new hO(g,e,l,t,r),c=[s,a];if(i&&c.push(i),o&&c.push(o),r){const e=n.makeTensorInfo([],"float32",$s(f,"float32"));c.push(e),b.push(e)}y=n.runWebGLProgram(u,c,"float32")}else y=fO({x:s,filter:a,convInfo:g,backend:n,bias:i,activation:d,preluActivationWeights:o,leakyreluAlpha:f});const x=MD({inputs:{x:y},backend:n,attrs:{shape:g.outShape}});return b.push(y),b.forEach((e=>n.disposeIntermediateTensorInfo(e))),x}},$L={kernelName:ts,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:c,dimRoundingMode:h,activation:p,leakyreluAlpha:d}=r,f=[];let m=c;null==m&&(m=[1,1]),re(iu(l,m),(()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`));const g=Jl(s.shape,a.shape,l,m,u,h,!0),y=He().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels==1,b=p?TD(p,y):null,x=[s,a],w=null!=i,v=null!=o,k="leakyrelu"===p;if(w&&x.push(i),v&&x.push(o),k){const e=n.makeTensorInfo([],"float32",$s(d,"float32"));x.push(e),f.push(e)}let I;I=y?new BO(g,w,b,v,k):new PO(g,w,b,v,k);const N=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],S=n.runWebGLProgram(I,x,"float32",N);return f.forEach((e=>n.disposeIntermediateTensorInfo(e))),S}};class AL{constructor(e,t,n){this.sliceDim=e,this.strides=t,this.variableNames=["x","indices"],this.outputShape=n;const r=UM(t.length),s=UM(n.length),a=this.sliceDim>1?"strides[j]":"strides";this.userCode=`\n ${r} strides = ${r}(${this.strides});\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n flattenIndex += index * ${a};\n }\n setOutput(getX(flattenIndex, coords[1]));\n }\n `}}const RL={kernelName:on,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{params:r,indices:s}=t,a=s.shape,i=a[a.length-1],o=oe(r.shape),[l,u,c,h]=so(r,s),p=MD({inputs:{x:s},backend:n,attrs:{shape:[u,i]}}),d=MD({inputs:{x:r},backend:n,attrs:{shape:[oe(r.shape)/c,c]}});if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const e=n.readSync(s.dataId),t=n.bufferSync(r),a=gF(e,t,r.dtype,u,i,c,h,r.shape,o);return n.makeTensorInfo(l,r.dtype,a.values)}const f=new AL(i,h,[u,c]),m=n.runWebGLProgram(f,[d,p],d.dtype),g=MD({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(m),g}};class ML{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;const n=UM(this.rank),r=function(e,t){const n=["resRC.x","resRC.y","resRC.z","resRC.w"],r=[];for(let t=0;t= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${r}));\n }\n `}}function FL(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,indices:a}=t,{axis:i,batchDims:o}=r,l=ye(i,s.shape)[0];if(He().get("DEBUG")){const e=n.readSync(a.dataId),t=s.shape[l];for(let n=0;n=0,(()=>`GatherV2: the index value ${r} is not in [0, ${t-1}]`))}}const u=$f(s,a,l,o),c=oe(a.shape),h=[],p=MD({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),d=MD({inputs:{x:a},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});h.push(p),h.push(d);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([s,a])||"string"===s.dtype){const e=n.bufferSync(d),t=n.bufferSync(p),r=yF(t,e,f);return h.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(u.outputShape,r.dtype,r.values)}const m=new ML(p.shape,f),g=n.runWebGLProgram(m,[p,d],p.dtype);h.push(g);const y=MD({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return h.forEach((e=>n.disposeIntermediateTensorInfo(e))),y}const DL={kernelName:an,backendName:"webgl",kernelFunc:FL},_L=SD({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:bF,dtype:"bool"}),OL={kernelName:ln,backendName:"webgl",kernelFunc:_L},LL=SD({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:xF}),zL={kernelName:un,backendName:"webgl",kernelFunc:LL},PL={kernelName:hn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{input:r}=t;return pL(r,!0,n)}},BL=ND({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),VL={kernelName:dn,backendName:"webgl",kernelFunc:BL},UL=ND({opSnippet:"return float(isinf(x));",dtype:"bool"}),WL={kernelName:fn,backendName:"webgl",kernelFunc:UL},GL=ND({opSnippet:"return float(isnan(x));",dtype:"bool"}),HL={kernelName:mn,backendName:"webgl",kernelFunc:GL},jL=SD({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:wF,dtype:"bool"}),qL={kernelName:yn,backendName:"webgl",kernelFunc:jL},KL=SD({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:vF,dtype:"bool"}),XL={kernelName:bn,backendName:"webgl",kernelFunc:KL},YL={kernelName:xn,backendName:"webgl",kernelFunc:function(e){const{backend:t,attrs:n}=e,{start:r,stop:s,num:a}=n,i=kF(r,s,a);return t.makeTensorInfo([i.length],"float32",i)}},ZL=ND({opSnippet:"if (isnan(x)) return x;\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:IF}),JL={kernelName:wn,backendName:"webgl",kernelFunc:ZL},QL=ND({opSnippet:"if (isnan(x)) return x;\n return log(1.0 + x);\n"}),ez={kernelName:vn,backendName:"webgl",kernelFunc:QL},tz=SD({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),nz={kernelName:kn,backendName:"webgl",kernelFunc:tz},rz=ND({opSnippet:"return float(!(x >= 1.0));"}),sz={kernelName:In,backendName:"webgl",kernelFunc:rz},az=SD({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),iz={kernelName:Nn,backendName:"webgl",kernelFunc:az};class oz{constructor(e,t,n,r,s){this.variableNames=["x"],this.outputShape=[];const a=t,i=e[3]-1;let o;this.outputShape=e;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${a}; j <= ${a}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${i}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${o};\n setOutput(val);\n }\n `}}class lz{constructor(e,t,n,r,s){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const a=t,i=e[3]-1;let o;this.outputShape=e;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${a};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${a}; j <= ${a}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${i}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${o};\n setOutput(result);\n }\n `}}const uz={kernelName:Tn,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{depthRadius:a,bias:i,alpha:o,beta:l}=r,u=He().getBool("WEBGL_PACK_NORMALIZATION")?new lz(s.shape,a,i,o,l):new oz(s.shape,a,i,o,l);return n.runWebGLProgram(u,[s],s.dtype)}};class cz{constructor(e,t,n,r,s){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=r,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${r}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${r})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}}const hz={kernelName:Cn,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s,y:a,dy:i}=t,{depthRadius:o,bias:l,alpha:u,beta:c}=r,h=new cz(s.shape,o,l,u,c);return n.runWebGLProgram(h,[s,a,i],s.dtype)}};function pz(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{reductionIndices:a,keepDims:i}=r,o=s.shape.length,l=ye(a,s.shape);let u=l;const c=Ac(u,o),h=null!=c,p=n.shouldExecuteOnCPU([s]);let d=s;if(h){if(p){const e=n.texData.get(d.dataId).values,t=new Array(o);for(let e=0;e 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:SF}),mz={kernelName:$n,backendName:"webgl",kernelFunc:fz},gz={kernelName:An,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;SM(s,"maxPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))return fD({inputs:{x:s},backend:n});const c=new I_(u,"max",!1);return n.runWebGLProgram(c,[s],s.dtype)}},yz={kernelName:Mn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dataFormat:l,dimRoundingMode:u}=r,c=Zl(s.shape,a,i,[1,1,1],o,u,l),h=new N_(c,"max",!1);return n.runWebGLProgram(h,[s],s.dtype)}};class bz{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideHeight,n=e.strideWidth,r=e.dilationHeight,s=e.effectiveFilterHeight,a=e.effectiveFilterWidth,i=s-1-e.padInfo.top,o=a-1-e.padInfo.left,l=s*a-1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${r}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${a}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${a} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class xz{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideDepth,n=e.strideHeight,r=e.strideWidth,s=e.dilationDepth,a=e.dilationHeight,i=e.dilationWidth,o=e.effectiveFilterDepth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=o-1-e.padInfo.front,h=l-1-e.padInfo.top,p=u-1-e.padInfo.left,d=o*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${h}, ${p});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${o};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${i}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${d} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const wz={kernelName:Fn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Zl(i.shape,o,l,[1,1,1],u,c),p=new N_(h,"max",!0),d=n.runWebGLProgram(p,[i],i.dtype),f=new xz(h),m=n.runWebGLProgram(f,[s,d],i.dtype);return n.disposeIntermediateTensorInfo(d),m}},vz={kernelName:Rn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a,output:i}=t,o=a;SM([a,i],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,p=Yl(o.shape,l,u,1,c,h),d=new I_(p,"max",!0),f=n.runWebGLProgram(d,[o],o.dtype),m=new bz(p),g=n.runWebGLProgram(m,[s,f],o.dtype);return n.disposeIntermediateTensorInfo(f),g}},kz={kernelName:Dn,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{filterSize:s,strides:a,pad:i,includeBatchInIndex:o}=t,l=n;re(4===r.shape.length,(()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`));const u=[1,1];re(iu(a,u),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`));const c=Yl(r.shape,s,a,u,i),[h,p]=function(e,t,n,r){let s=new I_(n,"max",!1);const a=r.runWebGLProgram(s,[e],"float32");return s=new I_(n,"max",!0,!0,t),[a,r.runWebGLProgram(s,[e],"float32")]}(r,o,c,l);return[h,p]}},Iz={kernelName:_n,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{keepDims:s,axis:a}=t,i=n,o=r.shape.length,l=ye(a,r.shape);let u=l;const c=Ac(u,o),h=null!=c,p=i.shouldExecuteOnCPU([r]),d=[];let f=r;if(h){if(p){const e=i.texData.get(f.dataId).values,t=new Array(o);for(let e=0;e 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:TF}),Tz={kernelName:Ln,backendName:"webgl",kernelFunc:Sz};class Cz{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=UM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r),l="reflect"===n?0:1;this.userCode=1!==r?`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${r}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n `:`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}}class Ez{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=UM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=YF("rc",r),l=YF("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h="reflect"===n?0:1;let p="";if(1===r){const e=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${h};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${h};\n }\n source -= start;\n `;p=`\n ${s} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const e=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${h}) +\n gte * ((end - 1) * 2 - source + ${h});\n source -= start;\n `;p=`\n ${s} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {\n ${e}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${e}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${a});\n const ${s} end = ${s}(${i});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${p}\n setOutput(result);\n }\n `}}const $z={kernelName:zn,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r}=e,{paddings:s,mode:a}=n,i=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new Ez(r.shape,s,a):new Cz(r.shape,s,a);return t.runWebGLProgram(i,[r],r.dtype)}},Az=SD({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n vec4 isNaN = vec4(equal(b, vec4(0.0)));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),Rz={kernelName:Pn,backendName:"webgl",kernelFunc:Az};class Mz{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[e,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}}const Fz=SD({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),Dz={kernelName:Gt,backendName:"webgl",kernelFunc:Fz},_z="return a - b;",Oz=SD({opSnippet:_z,packedOpSnippet:_z,supportsComplex:!0,cpuKernelImpl:GF}),Lz={kernelName:Pr,backendName:"webgl",kernelFunc:Oz};function zz(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{dim:a}=r,i=ye([a],s.shape),o=pz({inputs:{x:s},backend:n,attrs:{reductionIndices:i,keepDims:!1}}),l=Ec(o.shape,i),u=MD({inputs:{x:o},backend:n,attrs:{shape:l}}),c=Oz({inputs:{a:s,b:u},backend:n}),h=sL({inputs:{x:c},backend:n}),p=BD({inputs:{x:h},backend:n,attrs:{axis:i,keepDims:!1}}),d=MD({inputs:{x:p},backend:n,attrs:{shape:l}}),f=Fz({inputs:{a:h,b:d},backend:n});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(d),f}const Pz={kernelName:Cr,backendName:"webgl",kernelFunc:zz},Bz={kernelName:Bn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{numSamples:a,seed:i,normalized:o}=r,l=o?s:zz({inputs:{logits:s},backend:n,attrs:{dim:s.shape.length-1}}),u=l.shape[0],c=l.shape[1],h=new Mz(u,c,a),p=[[i]],d=n.runWebGLProgram(h,[l],"int32",p);return o||n.disposeIntermediateTensorInfo(l),d}},Vz={kernelName:Un,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t;if(n.shouldExecuteOnCPU([r])){const e=n.texData.get(r.dataId),[t,s]=EF(e.values,r.shape,r.dtype);return n.makeTensorInfo(s,r.dtype,t)}let s;return s=He().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new iD(r.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new rD(r.shape,"if (isnan(x)) return x;\n return -x;\n"),n.runWebGLProgram(s,[r],r.dtype)}},Uz=Gp,Wz={kernelName:Gn,backendName:"webgl",kernelFunc:function(e){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l}=r,u=n.readSync(s.dataId),c=n.readSync(a.dataId),{selectedIndices:h}=Uz(u,c,i,o,l);return n.makeTensorInfo([h.length],"int32",new Int32Array(h))}},Gz=Hp,Hz={kernelName:Hn,backendName:"webgl",kernelFunc:function(e){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=r,c=n.readSync(s.dataId),h=n.readSync(a.dataId),{selectedIndices:p,validOutputs:d}=Gz(c,h,i,o,l,u);return[n.makeTensorInfo([p.length],"int32",new Int32Array(p)),n.makeTensorInfo([],"int32",new Int32Array([d]))]}},jz=jp,qz={kernelName:jn,backendName:"webgl",kernelFunc:function(e){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=r,c=n.readSync(s.dataId),h=n.readSync(a.dataId),p=i,d=o,f=l,m=u,{selectedIndices:g,selectedScores:y}=jz(c,h,p,d,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([y.length],"float32",new Float32Array(y))]}};class Kz{constructor(e,t,n,r){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${r}), float(${n}),\n float(index == coords.y)));\n }\n `}}const Xz={kernelName:Kn,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{indices:s}=t,{depth:a,onValue:i,offValue:o}=r,l=oe(s.shape),u=new Kz(l,a,i,o),c=MD({inputs:{x:s},backend:n,attrs:{shape:[l]}}),h=n.runWebGLProgram(u,[c],s.dtype);n.disposeIntermediateTensorInfo(c);const p=MD({inputs:{x:h},backend:n,attrs:{shape:[...s.shape,a]}});return n.disposeIntermediateTensorInfo(h),p}};function Yz(e){const{inputs:t,backend:n}=e,{x:r}=t;if("complex64"===r.dtype){const e=H_({inputs:{input:r},backend:n}),t=Yz({inputs:{x:e},backend:n}),s=iO({inputs:{input:r},backend:n}),a=Yz({inputs:{x:s},backend:n}),i=gD({inputs:{real:t,imag:a},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),i}return mL({attrs:{shape:r.shape,dtype:r.dtype,value:"string"===r.dtype?"":0},backend:n})}const Zz={kernelName:Xr,backendName:"webgl",kernelFunc:Yz},Jz={kernelName:qn,backendName:"webgl",kernelFunc:function e(t){const{inputs:n,backend:r}=t,{x:s}=n;if("string"===s.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===s.dtype){const t=H_({inputs:{input:s},backend:r}),n=e({inputs:{x:t},backend:r}),a=iO({inputs:{input:s},backend:r}),i=Yz({inputs:{x:a},backend:r}),o=gD({inputs:{real:n,imag:i},backend:r});return r.disposeIntermediateTensorInfo(t),r.disposeIntermediateTensorInfo(n),r.disposeIntermediateTensorInfo(a),r.disposeIntermediateTensorInfo(i),o}return mL({attrs:{shape:s.shape,dtype:s.dtype,value:1},backend:r})}},Qz={kernelName:Xn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r;if(1===t.length)return iL({inputs:{input:t[0]},backend:n,attrs:{dim:s}});const a=t[0].shape,i=t[0].dtype;t.forEach((e=>{se(a,e.shape,"All tensors passed to stack must have matching shapes"),re(i===e.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=uO({inputs:t.map((e=>{const t=iL({inputs:{input:e},backend:n,attrs:{dim:s}});return o.push(t),t})),backend:n,attrs:{axis:s}});return o.forEach((e=>n.disposeIntermediateTensorInfo(e))),l}};class eP{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=UM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r);this.userCode=1!==r?`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n }\n `:`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}}class tP{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=UM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=YF("rc",r),l=YF("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h=[`${s} rc = outputLoc;`,`${o[r-1]} += 1;\n if(${u}) {\n `,1===r?"":`}\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {`,1===r?"":` ${o[r-1]} += 1;\n if(${u}) {`],p=1===r?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let d="";for(let e=0,t=1===r?2:4;e{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,constantValue:i}=r;if(0===oe(s.shape))return mL({backend:n,attrs:{shape:a.map(((e,t)=>e[0]+s.shape[t]+e[1])),value:i,dtype:s.dtype}});const o=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new tP(s.shape,a,i):new eP(s.shape,a,i),l=[[i]];return n.runWebGLProgram(o,[s],s.dtype,l)},rP={kernelName:Yn,backendName:"webgl",kernelFunc:nP},sP=SD({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),aP={kernelName:Jn,backendName:"webgl",kernelFunc:sP},iP={kernelName:er,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=s.shape.length,l=[],u=ye(a,s.shape);let c=u;const h=Ac(c,o);let p,d=s;if(null!=h&&(d=UD({inputs:{x:s},backend:n,attrs:{perm:h}}),c=Mc(c.length,o),l.push(d)),$c("prod",c,o),n.shouldExecuteOnCPU([d])){const e=n.texData.get(d.dataId).values,{outVals:t,outShape:r,outDtype:s}=AF(d.shape,d.dtype,e,c);p=n.makeTensorInfo(r,s,t)}else{const[e,t]=Cc(d.shape,c),r=oe(t),a=MD({inputs:{x:d},backend:n,attrs:{shape:[-1,r]}}),i=OD(a,ra(s.dtype),"prod",n);p=MD({inputs:{x:i},backend:n,attrs:{shape:e}}),l.push(a),l.push(i)}if(i){l.push(p);const e=Ec(p.shape,u);p=MD({inputs:{x:p},backend:n,attrs:{shape:e}})}return l.forEach((e=>n.disposeIntermediateTensorInfo(e))),p}},oP=e=>{const{backend:t,attrs:n}=e,{start:r,stop:s,step:a,dtype:i}=n,o=RF(r,s,a,i);return t.makeTensorInfo([o.length],i,o)},lP={kernelName:tr,backendName:"webgl",kernelFunc:oP},uP=ND({opSnippet:"return 1.0 / x;"}),cP={kernelName:rr,backendName:"webgl",kernelFunc:uP},hP=ND({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),pP={kernelName:sr,backendName:"webgl",kernelFunc:hP},dP=ND({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),fP={kernelName:cr,backendName:"webgl",kernelFunc:dP};class mP{constructor(e,t,n,r,s){this.variableNames=["A"],this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n];let h;h=s?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}}class gP{constructor(e,t,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n];let h;h=s?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const yP={kernelName:lr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r,[l,u]=o,c=He().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new gP(s.shape,l,u,a,i):new mP(s.shape,l,u,a,i);return n.runWebGLProgram(c,[s],"float32")}};class bP{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,r,s]=t,[,a,i]=e,o=[n&&a>1?r-1:r,n&&i>1?s-1:s],l=[n&&a>1?a-1:a,n&&i>1?i-1:i],u=o[0]/l[0],c=o[1]/l[1],h=1/u,p=1/c,d=2*Math.ceil(h)+2,f=2*Math.ceil(p)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${p});\n\n const int winHeight = int(${d});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${r-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const xP={kernelName:ur,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r,o=new bP(a.shape,s.shape,i);return n.runWebGLProgram(o,[a],a.dtype)}};class wP{constructor(e,t,n,r,s){this.variableNames=["A"],this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n],h=r?"0.5":"0.0";let p;p=s?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${p};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}}class vP{constructor(e,t,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n],h=r?"0.5":"0.0";let p;p=s?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${p};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const kP={kernelName:ir,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r,[l,u]=o,c=He().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new vP(s.shape,l,u,a,i):new wP(s.shape,l,u,a,i);return n.runWebGLProgram(c,[s],s.dtype)}};class IP{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,r,s]=t,[,a,i]=e,o=[n&&a>1?r-1:r,n&&i>1?s-1:s],l=[n&&a>1?a-1:a,n&&i>1?i-1:i],u=o[0]/l[0],c=o[1]/l[1],h=1/u,p=1/c,d=2*Math.ceil(h)+2,f=2*Math.ceil(p)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${p});\n\n const int winHeight = int(${d});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float sourceFracRow =\n float(${o[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${o[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const NP={kernelName:or,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r,o=new IP(a.shape,s.shape,i);return n.runWebGLProgram(o,[a],a.dtype)}};class SP{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `);const r=e.map(((n,r)=>(n=>-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - coords[${n}] - 1`:`coords[${n}]`)(r))).join(","),s=UM(n);this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${r}));\n }\n `}}class TP{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;const r=YF("rc",n),s=`${r[n-1]} + 1 < ${this.outputShape[n-1]}`,a=`${r[n-2]} + 1 < ${this.outputShape[n-2]}`,i=UM(n);function o(n){const r=e.map(((r,s)=>function(n,r){return-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - ${r[n]} - 1`:`${r[n]}`}(s,n)));return`getChannel(getX(${r.join(",")}), vec2(${r.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${i} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(e){return o(e)}(r.slice())};\n if(${s}){\n result.g = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",o(e)}(r.slice())};\n }\n if(${a}) {\n result.b = ${function(e){return e[n-2]="("+e[n-2]+" + 1)",o(e)}(r.slice())};\n if(${s}) {\n result.a = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",e[n-2]="("+e[n-2]+" + 1)",o(e)}(r.slice())};\n }\n }\n setOutput(result);\n }\n `}}const CP={kernelName:hr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dims:a}=r,i=s.shape.length,o=ye(a,s.shape);if(0===i)return fD({inputs:{x:s},backend:n});const l=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new TP(s.shape,o):new SP(s.shape,o);return n.runWebGLProgram(l,[s],s.dtype)}};class EP{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=e[1],r=e[2];this.outputShape=e;let s="";s="number"==typeof t?`float outputValue = ${t.toFixed(2)};`:`\n vec3 fill = vec3(${t.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${r} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const $P={kernelName:Jr,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,{radians:s,fillValue:a,center:i}=t,o=n,l=new EP(r.shape,a),[u,c]=zd(i,r.shape[1],r.shape[2]),h=[[u,c,Math.sin(s),Math.cos(s)]];return o.runWebGLProgram(l,[r],r.dtype,h)}},AP=ND({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),RP={kernelName:pr,backendName:"webgl",kernelFunc:AP},MP=ND({opSnippet:"return inversesqrt(x);",cpuKernelImpl:MF}),FP={kernelName:dr,backendName:"webgl",kernelFunc:MP};class DP{constructor(e,t,n,r,s,a,i=!0){this.variableNames=["updates","indices","defaultValue"],this.outputShape=a;const o=UM(s.length),l=UM(a.length);let u="";1===n?u="i":2===n&&(u="i, j");const c=`getIndices(${u})`;let h="";1===r?h="i":2===r&&(h="i, coords[1]");const p=`getUpdates(${h})`,d=t>1?"strides[j]":"strides";this.userCode=`\n ${o} strides = ${o}(${s});\n\n void main() {\n ${l} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${c});\n flattenedIndex += index * ${d};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${p};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}}const _P={kernelName:fr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s,updates:a}=t,{shape:i}=r,{sliceRank:o,numUpdates:l,sliceSize:u,strides:c,outputSize:h}=oo(0,s,i),p=[h/u,u];if(0===h)return n.makeTensorInfo(i,s.dtype);const d=MD({inputs:{x:s},backend:n,attrs:{shape:[l,o]}}),f=MD({inputs:{x:a},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0])),g=new DP(l,o,d.shape.length,f.shape.length,c,p),y=n.runWebGLProgram(g,[f,d,m],f.dtype),b=MD({inputs:{x:y},backend:n,attrs:{shape:i}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(m),b}};class OP{constructor(e,t,n){let r,s;if(this.variableNames=["c","a","b"],this.outputShape=t,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)s="resRC",r="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],a=[],i=[];for(let r=0;r= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}}const LP={kernelName:mr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{condition:r,t:s,e:a}=t,i=new OP(r.shape.length,s.shape,s.shape.length);return n.runWebGLProgram(i,[r,s,a],na(s.dtype,a.dtype))}},zP=ND({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${Gd};\n float scale = ${Hd};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),PP={kernelName:gr,backendName:"webgl",kernelFunc:zP},BP=ND({opSnippet:"if (isnan(x)) return x;\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:FF}),VP={kernelName:vr,backendName:"webgl",kernelFunc:BP},UP=ND({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),WP={kernelName:wr,backendName:"webgl",kernelFunc:UP},GP=ND({opSnippet:"if (isnan(x)) return x;\n return sin(x);\n"}),HP={kernelName:br,backendName:"webgl",kernelFunc:GP},jP=ND({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),qP={kernelName:xr,backendName:"webgl",kernelFunc:jP},KP=ND({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),XP={kernelName:kr,backendName:"webgl",kernelFunc:KP},YP={kernelName:Sr,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,paddings:i}=r;re(s.shape.length<=4,(()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet"));const o=a.reduce(((e,t)=>e*t)),l=[[0,0]];l.push(...i);for(let e=1+a.length;en.disposeIntermediateTensorInfo(e))),g}},ZP={kernelName:Er,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{indices:r,values:s,denseShape:a,defaultValue:i}=t;if(1!==a.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${a.shape}`);if(2!==r.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Values must be a vector, saw:\n ${s.shape}`);if(0!==i.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${i.shape}`);const o=n.readSync(r.dataId),l=n.readSync(s.dataId),u=n.readSync(a.dataId),c=n.readSync(i.dataId)[0],[h,p,d,f,m]=OF(o,r.shape,r.dtype,l,s.dtype,u,c);return[n.makeTensorInfo(p,r.dtype,h),n.makeTensorInfo([p[0]],s.dtype,d),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map((e=>Number(e))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}},JP={kernelName:$r,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{inputIndices:r,inputShape:s,newShape:a}=t;if(2!==r.shape.length)throw new Error(`Input indices should be a matrix but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Input shape should be a vector but received shape ${s.shape}`);if(1!==a.shape.length)throw new Error(`Target shape should be a vector but received shape ${a.shape}`);const i=Array.from(n.readSync(s.dataId)),o=n.readSync(r.dataId),l=Array.from(n.readSync(a.dataId)),[u,c,h]=LF(o,r.shape,r.dtype,i,l);return[n.makeTensorInfo(c,r.dtype,u),n.makeTensorInfo([h.length],a.dtype,new Int32Array(h))]}},QP={kernelName:Ar,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{data:r,indices:s,segmentIds:a}=t;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==a.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${a.shape}`);const i=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(a.dataId),[u,c]=zF(i,r.shape,r.dtype,o,l,!0);return n.makeTensorInfo(c,r.dtype,u)}},eB={kernelName:Rr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{data:r,indices:s,segmentIds:a}=t;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==a.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${a.shape}`);const i=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(a.dataId),[u,c]=zF(i,r.shape,r.dtype,o,l);return n.makeTensorInfo(c,r.dtype,u)}},tB={kernelName:Mr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{sparseIndices:s,sparseValues:a,defaultValue:i}=t,{outputShape:o}=r,{sliceRank:l,numUpdates:u,strides:c,outputSize:h}=oo(0,s,o),p=new DP(u,l,s.shape.length,a.shape.length,c,[h,1],!1),d=n.runWebGLProgram(p,[a,s,i],a.dtype),f=MD({inputs:{x:d},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(d),f}},nB={kernelName:Tr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{numOrSizeSplits:a,axis:i}=r,o=ye(i,s.shape)[0],l=ff(s,a,o),u=s.shape.length,c=new Array(u).fill(0),h=s.shape.slice();return l.map((e=>{const t=[...h];t[o]=e;const r=z_({inputs:{x:s},backend:n,attrs:{begin:c,size:t}});return c[o]+=e,r}))}},rB="return sqrt(x);",sB=ND({opSnippet:rB,packedOpSnippet:rB,cpuKernelImpl:PF}),aB={kernelName:Ir,backendName:"webgl",kernelFunc:sB},iB=ND({opSnippet:"return x * x;"}),oB={kernelName:Dr,backendName:"webgl",kernelFunc:iB},lB="return (a - b) * (a - b);",uB=SD({opSnippet:lB,packedOpSnippet:lB}),cB={kernelName:Fr,backendName:"webgl",kernelFunc:uB},hB={kernelName:Yr,backendName:"webgl",kernelFunc:function({inputs:e,attrs:t,backend:n}){const{x:r}=e,s=`if (isnan(x)) return x;\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,a=new rD(r.shape,s);return n.runWebGLProgram(a,[r],r.dtype)}};class pB{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const r=n.length,s=UM(n.length),a=UM(n.length);let i="";if(1===r)i="coords * strides + begin";else{let e=0;i=n.map(((t,r)=>(e++,1===n.length?`coords * strides[${r}] + begin[${r}]`:`coords[${e-1}] * strides[${r}] + begin[${r}]`))).join(",")}this.userCode=`\n ${s} begin = ${s}(${e});\n ${s} strides = ${s}(${t});\n\n void main() {\n ${a} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}}const dB={kernelName:_r,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:h,shrinkAxisMask:p}=r,{finalShapeSparse:d,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:y,begin:b,end:x,strides:w}=No(s.shape,a,i,o,l,u,c,h,p);let v;if(m)v=MD({inputs:{x:s},backend:n,attrs:{shape:f}});else if(g||y){re(s.shape.length>=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const e=co(b,x,w),t=z_({inputs:{x:s},backend:n,attrs:{begin:b,size:e}});v=MD({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else if(n.shouldExecuteOnCPU([s])){const e=n.readSync(s.dataId),t=Ni(s.shape,s.dtype,e),r=BF(d,t,w,b);v=n.makeTensorInfo(f,s.dtype,r.values)}else{const e=new pB(b,w,d);v=n.runWebGLProgram(e,[s],s.dtype)}const k=MD({inputs:{x:v},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(v),k}},fB={kernelName:Or,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{separator:s,nGramWidths:a,leftPad:i,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=t,p=n.readSync(c.dataId),d=n.readSync(h.dataId),[f,m]=VF(p,d,s,a,i,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}},mB={kernelName:Lr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{skipEmpty:s}=r,{input:a,delimiter:i}=t;if("string"!==a.dtype)throw new Error("Input must be of datatype string");if(1!==a.shape.length)throw new Error(`Input must be a vector, got shape: ${a.shape}`);if(0!==i.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);const o=n.readSync(a.dataId),l=n.readSync(i.dataId)[0],[u,c,h]=UF(o,l,s),p=c.length;return[n.makeTensorInfo([p,2],"int32",u),n.makeTensorInfo([p],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(h))]}},gB={kernelName:zr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{numBuckets:s}=r,{input:a}=t;if("string"!==a.dtype)throw new Error("Input must be of datatype string");if(s<=0)throw new Error("Number of buckets must be at least 1");const i=n.readSync(a.dataId),o=WF(i,s);return n.makeTensorInfo(a.shape,"int32",o)}},yB=ND({opSnippet:"return tan(x);"}),bB={kernelName:Br,backendName:"webgl",kernelFunc:yB},xB=ND({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),wB={kernelName:Vr,backendName:"webgl",kernelFunc:xB};class vB{constructor(e,t){this.variableNames=["A"];const n=new Array(e.length);for(let r=0;r5)throw Error(`Tile for rank ${t} is not yet supported`);if(1===t)return`imod(resRC, ${e[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],r=[];for(let t=0;t5){const e=n.readSync(s.dataId),t="string"===s.dtype?e.map((e=>Ds(e))):e,r=Ni(s.shape,s.dtype,t),i=HF(r,a);return n.makeTensorInfo(i.shape,i.dtype,i.values)}const i=new vB(s.shape,a);return n.runWebGLProgram(i,[s],s.dtype)}const IB={kernelName:Ur,backendName:"webgl",kernelFunc:kB};class NB{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class SB{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}}function TB(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function CB(e){let t=1;for(;tl){const e=n.readSync(s.dataId),[t,r]=jF(e,u,s.dtype,a,i);return[n.makeTensorInfo(t.shape,t.dtype,t.values),n.makeTensorInfo(r.shape,r.dtype,r.values)]}if(0===a)return u[u.length-1]=0,[n.makeTensorInfo(u,s.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[s,mL({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const h=n.texData.get(s.dataId),p=null!==h&&h.isPacked,d=p?n.unpackTensor(s):s,f=oe(u)/c,m=MD({inputs:{x:d},attrs:{shape:[f,c]},backend:n});p&&TB(n,d);const g=CB(a),y=CB(c);let b=null;const x=()=>null===b?[m,m]:[m,b],w=(e,t,r)=>{const s=x(),a=new NB(r),i=[[c],[null===b?1:0],[Number.NEGATIVE_INFINITY],[e],[t]],o=b;b=n.runWebGLProgram(a,s,"int32",i),TB(n,o)};for(let e=1;e=1;n/=2)w(t,n,[f,y])}for(let e=y;e>g;e/=2){const t=x(),r=new SB([f,e/2]),s=[[c],[null===b?1:0],[g]],a=b;b=n.runWebGLProgram(r,t,"int32",s),TB(n,a);const i=g/2,o=2*i;for(let e=i;e>=1;e/=2)w(o,e,b.shape)}let v=b;b=z_({inputs:{x:b},backend:n,attrs:{begin:0,size:[f,a]}}),TB(n,v);let k=FL({inputs:{x:m,indices:b},backend:n,attrs:{axis:1,batchDims:1}});TB(n,m);const I=u.slice(0,-1);I.push(a),v=b,b=MD({inputs:{x:b},attrs:{shape:I},backend:n}),TB(n,v);const N=k;return k=MD({inputs:{x:k},attrs:{shape:I},backend:n}),TB(n,N),[k,b]}};class $B{constructor(e,t,n,r,s,a){this.variableNames=["Image","Transforms"],this.outputShape=a;const i="nearest"===n?1:2;let o;switch(r){case"constant":o=1;break;case"reflect":o=2;break;case"wrap":o=3;break;case"nearest":o=4;break;default:o=1}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${o} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${i} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const AB={kernelName:Gr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{image:s,transforms:a}=t,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=r,[c,h,p,d]=s.shape,[f,m]=null!=u?u:[h,p],g=new $B(h,p,i,o,l,[c,f,m,d]);return n.runWebGLProgram(g,[s,a],"float32")}},RB={kernelName:jr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,attrs:n,backend:r}=e,{axis:s}=n,{x:a}=t;SM(a,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const i=r.readSync(a.dataId),{outputValues:o,outputShape:l,indices:u}=KF(i,s,a.shape,a.dtype);return[r.makeTensorInfo(l,a.dtype,o),r.makeTensorInfo([u.length],"int32",u)]}},MB={kernelName:qr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{value:s}=t;let{axis:a}=r;a<0&&(a+=s.shape.length);const i=s,o=i.shape.length,l=s.shape[a],u=new Array(o-1);let c=0;for(let e=0;en.disposeIntermediateTensorInfo(e))),f}};class FB{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windowSize,r=e.batchSize,s=e.inSize,a=e.numSegments,i=a*Math.ceil(s/n);this.outputShape=[r,i];const o=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let h="";s%n>0&&(h=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${h}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${a})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${a})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const DB=[HD,qD,XD,ZD,e_,r_,s_,a_,h_,p_,f_,g_,b_,w_,k_,S_,T_,$_,A_,R_,D_,B_,V_,U_,q_,Y_,Q_,yD,nO,cO,gO,vO,kO,IO,NO,SO,CO,$O,RO,_O,OO,zO,VO,GO,HO,qO,XO,YO,JO,QO,tL,rL,aL,oL,cL,dL,gL,bL,vL,IL,TL,EL,$L,RL,DL,OL,zL,mD,PL,oO,VL,WL,HL,wD,qL,XL,YL,JL,ez,nz,sz,iz,uz,hz,dz,mz,gz,yz,wz,vz,kz,Iz,Nz,Tz,$z,Rz,Bz,RD,Vz,Wz,Hz,qz,G_,Xz,Jz,Qz,rP,aP,ID,iP,lP,j_,Dz,cP,pP,fP,FD,yP,xP,kP,NP,CP,$P,RP,FP,_P,LP,PP,VP,WP,HP,qP,P_,Pz,XP,YP,ZP,JP,QP,eB,tB,nB,aB,oB,cB,hB,dB,fB,mB,gB,Lz,VD,bB,wB,IB,EB,AB,WD,RB,MB,{kernelName:Kr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,segmentIds:a}=t,{numSegments:i}=r,o=s.shape.length,l=[];let u=0;const c=Ac([u],o);let h=s;null!=c&&(h=UD({inputs:{x:s},backend:n,attrs:{perm:c}}),l.push(h),u=Mc(1,o)[0]);const p=Ef(h.shape,u,i),d=oe([h.shape[u]]),f=MD({inputs:{x:h},backend:n,attrs:{shape:[-1,d]}});l.push(f);const m=ra(s.dtype),g=(e,t,r,s,a)=>{const i=e.shape[0],o=e.shape[1],u=Cf(o,a),c=new FB({windowSize:u,inSize:o,batchSize:i,numSegments:a},t),h=n.compileAndRun(c,[e,r],s);if(l.push(h),h.shape[1]===a)return h;const p=oP({backend:n,attrs:{start:0,stop:a,step:1,dtype:"float32"}}),d=kB({inputs:{x:p},backend:n,attrs:{reps:[o/u]}});return l.push(p),l.push(d),g(h,t,d,s,a)},y=MD({inputs:{x:g(f,"unsortedSegmentSum",a,m,i)},backend:n,attrs:{shape:p}});let b=y;if(null!=c){l.push(y);const e=Rc(c);b=UD({inputs:{x:b},backend:n,attrs:{perm:e}})}return l.forEach((e=>n.disposeIntermediateTensorInfo(e))),b}},Zz];for(const e of DB)us(e);const _B={"tfjs-core":Bo,"tfjs-backend-cpu":"3.13.0","tfjs-backend-webgl":"3.13.0","tfjs-data":jS,"tfjs-layers":tx,"tfjs-converter":PN,tfjs:"3.13.0"}},8485:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(3645),s=n.n(r)()((function(e){return e[1]}));s.push([e.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const a=s},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var s={};if(r)for(var a=0;a{"use strict";n.d(t,{Z:()=>r});const r='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r='
'},2810:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r='
'},3720:e=>{e.exports=n;var t=null;try{t=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(e){}function n(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function r(e){return!0===(e&&e.__isLong__)}n.prototype.__isLong__,Object.defineProperty(n.prototype,"__isLong__",{value:!0}),n.isLong=r;var s={},a={};function i(e,t){var n,r,i;return t?(i=0<=(e>>>=0)&&e<256)&&(r=a[e])?r:(n=l(e,(0|e)<0?-1:0,!0),i&&(a[e]=n),n):(i=-128<=(e|=0)&&e<128)&&(r=s[e])?r:(n=l(e,e<0?-1:0,!1),i&&(s[e]=n),n)}function o(e,t){if(isNaN(e))return t?y:g;if(t){if(e<0)return y;if(e>=d)return k}else{if(e<=-f)return I;if(e+1>=f)return v}return e<0?o(-e,t).neg():l(e%p|0,e/p|0,t)}function l(e,t,r){return new n(e,t,r)}n.fromInt=i,n.fromNumber=o,n.fromBits=l;var u=Math.pow;function c(e,t,n){if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return g;if("number"==typeof t?(n=t,t=!1):t=!!t,(n=n||10)<2||360)throw Error("interior hyphen");if(0===r)return c(e.substring(1),t,n).neg();for(var s=o(u(n,8)),a=g,i=0;i>>0:this.low},N.toNumber=function(){return this.unsigned?(this.high>>>0)*p+(this.low>>>0):this.high*p+(this.low>>>0)},N.toString=function(e){if((e=e||10)<2||36>>0).toString(e);if((a=l).isZero())return c+i;for(;c.length<6;)c="0"+c;i=""+c+i}},N.getHighBits=function(){return this.high},N.getHighBitsUnsigned=function(){return this.high>>>0},N.getLowBits=function(){return this.low},N.getLowBitsUnsigned=function(){return this.low>>>0},N.getNumBitsAbs=function(){if(this.isNegative())return this.eq(I)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<=0},N.isOdd=function(){return 1==(1&this.low)},N.isEven=function(){return 0==(1&this.low)},N.equals=function(e){return r(e)||(e=h(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},N.eq=N.equals,N.notEquals=function(e){return!this.eq(e)},N.neq=N.notEquals,N.ne=N.notEquals,N.lessThan=function(e){return this.comp(e)<0},N.lt=N.lessThan,N.lessThanOrEqual=function(e){return this.comp(e)<=0},N.lte=N.lessThanOrEqual,N.le=N.lessThanOrEqual,N.greaterThan=function(e){return this.comp(e)>0},N.gt=N.greaterThan,N.greaterThanOrEqual=function(e){return this.comp(e)>=0},N.gte=N.greaterThanOrEqual,N.ge=N.greaterThanOrEqual,N.compare=function(e){if(r(e)||(e=h(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},N.comp=N.compare,N.negate=function(){return!this.unsigned&&this.eq(I)?I:this.not().add(b)},N.neg=N.negate,N.add=function(e){r(e)||(e=h(e));var t=this.high>>>16,n=65535&this.high,s=this.low>>>16,a=65535&this.low,i=e.high>>>16,o=65535&e.high,u=e.low>>>16,c=0,p=0,d=0,f=0;return d+=(f+=a+(65535&e.low))>>>16,p+=(d+=s+u)>>>16,c+=(p+=n+o)>>>16,c+=t+i,l((d&=65535)<<16|(f&=65535),(c&=65535)<<16|(p&=65535),this.unsigned)},N.subtract=function(e){return r(e)||(e=h(e)),this.add(e.neg())},N.sub=N.subtract,N.multiply=function(e){if(this.isZero())return g;if(r(e)||(e=h(e)),t)return l(t.mul(this.low,this.high,e.low,e.high),t.get_high(),this.unsigned);if(e.isZero())return g;if(this.eq(I))return e.isOdd()?I:g;if(e.eq(I))return this.isOdd()?I:g;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(m)&&e.lt(m))return o(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,s=65535&this.high,a=this.low>>>16,i=65535&this.low,u=e.high>>>16,c=65535&e.high,p=e.low>>>16,d=65535&e.low,f=0,y=0,b=0,x=0;return b+=(x+=i*d)>>>16,y+=(b+=a*d)>>>16,b&=65535,y+=(b+=i*p)>>>16,f+=(y+=s*d)>>>16,y&=65535,f+=(y+=a*p)>>>16,y&=65535,f+=(y+=i*c)>>>16,f+=n*d+s*p+a*c+i*u,l((b&=65535)<<16|(x&=65535),(f&=65535)<<16|(y&=65535),this.unsigned)},N.mul=N.multiply,N.divide=function(e){if(r(e)||(e=h(e)),e.isZero())throw Error("division by zero");var n,s,a;if(t)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?l((this.unsigned?t.div_u:t.div_s)(this.low,this.high,e.low,e.high),t.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?y:g;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return y;if(e.gt(this.shru(1)))return x;a=y}else{if(this.eq(I))return e.eq(b)||e.eq(w)?I:e.eq(I)?b:(n=this.shr(1).div(e).shl(1)).eq(g)?e.isNegative()?b:w:(s=this.sub(e.mul(n)),a=n.add(s.div(e)));if(e.eq(I))return this.unsigned?y:g;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();a=g}for(s=this;s.gte(e);){n=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));for(var i=Math.ceil(Math.log(n)/Math.LN2),c=i<=48?1:u(2,i-48),p=o(n),d=p.mul(e);d.isNegative()||d.gt(s);)d=(p=o(n-=c,this.unsigned)).mul(e);p.isZero()&&(p=b),a=a.add(p),s=s.sub(d)}return a},N.div=N.divide,N.modulo=function(e){return r(e)||(e=h(e)),t?l((this.unsigned?t.rem_u:t.rem_s)(this.low,this.high,e.low,e.high),t.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},N.mod=N.modulo,N.rem=N.modulo,N.not=function(){return l(~this.low,~this.high,this.unsigned)},N.and=function(e){return r(e)||(e=h(e)),l(this.low&e.low,this.high&e.high,this.unsigned)},N.or=function(e){return r(e)||(e=h(e)),l(this.low|e.low,this.high|e.high,this.unsigned)},N.xor=function(e){return r(e)||(e=h(e)),l(this.low^e.low,this.high^e.high,this.unsigned)},N.shiftLeft=function(e){return r(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?l(this.low<>>32-e,this.unsigned):l(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned):l(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},N.shr=N.shiftRight,N.shiftRightUnsigned=function(e){if(r(e)&&(e=e.toInt()),0==(e&=63))return this;var t=this.high;return e<32?l(this.low>>>e|t<<32-e,t>>>e,this.unsigned):l(32===e?t:t>>>e-32,0,this.unsigned)},N.shru=N.shiftRightUnsigned,N.shr_u=N.shiftRightUnsigned,N.toSigned=function(){return this.unsigned?l(this.low,this.high,!1):this},N.toUnsigned=function(){return this.unsigned?this:l(this.low,this.high,!0)},N.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},N.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},N.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},n.fromBytes=function(e,t,r){return r?n.fromBytesLE(e,t):n.fromBytesBE(e,t)},n.fromBytesLE=function(e,t){return new n(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},n.fromBytesBE=function(e,t){return new n(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}},6377:(e,t,n)=>{var r=n(4832),s=n(8652),a=n(801),i=n(2030),o=n(3618),l=n(9049),u=n(1971);u.alea=r,u.xor128=s,u.xorwow=a,u.xorshift7=i,u.xor4096=o,u.tychei=l,e.exports=u},4832:function(e,t,n){var r;!function(e,s,a){function i(e){var t,n=this,r=(t=4022871197,function(e){e=e.toString();for(var n=0;n>>0,t=(r*=t)>>>0,t+=4294967296*(r-=t)}return 2.3283064365386963e-10*(t>>>0)});n.next=function(){var e=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=e-(n.c=0|e)},n.c=1,n.s0=r(" "),n.s1=r(" "),n.s2=r(" "),n.s0-=r(e),n.s0<0&&(n.s0+=1),n.s1-=r(e),n.s1<0&&(n.s1+=1),n.s2-=r(e),n.s2<0&&(n.s2+=1),r=null}function o(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function l(e,t){var n=new i(e),r=t&&t.state,s=n.next;return s.int32=function(){return 4294967296*n.next()|0},s.double=function(){return s()+11102230246251565e-32*(2097152*s()|0)},s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.alea=l}(0,e=n.nmd(e),n.amdD)},9049:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this,n="";t.next=function(){var e=t.b,n=t.c,r=t.d,s=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^s,s=s-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^s,t.a=s-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):n+=e;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.tychei=l}(0,e=n.nmd(e),n.amdD)},8652:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this,n="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:n+=e;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xor128=l}(0,e=n.nmd(e),n.amdD)},3618:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this;t.next=function(){var e,n,r=t.w,s=t.X,a=t.i;return t.w=r=r+1640531527|0,n=s[a+34&127],e=s[a=a+1&127],n^=n<<13,e^=e<<17,n^=n>>>15,e^=e>>>12,n=s[a]=n^e,t.i=a,n+(r^r>>>16)|0},function(e,t){var n,r,s,a,i,o=[],l=128;for(t===(0|t)?(r=t,t=null):(t+="\0",r=0,l=Math.max(l,t.length)),s=0,a=-32;a>>15,r^=r<<4,r^=r>>>13,a>=0&&(i=i+1640531527|0,s=0==(n=o[127&a]^=r+i)?s+1:0);for(s>=128&&(o[127&(t&&t.length||0)]=-1),s=127,a=512;a>0;--a)r=o[s+34&127],n=o[s=s+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,o[s]=r^n;e.w=i,e.X=o,e.i=s}(t,e)}function o(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function l(e,t){null==e&&(e=+new Date);var n=new i(e),r=t&&t.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&(r.X&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xor4096=l}(0,e=n.nmd(e),n.amdD)},2030:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this;t.next=function(){var e,n,r=t.x,s=t.i;return e=r[s],n=(e^=e>>>7)^e<<24,n^=(e=r[s+1&7])^e>>>10,n^=(e=r[s+3&7])^e>>>3,n^=(e=r[s+4&7])^e<<7,e=r[s+7&7],n^=(e^=e<<13)^e<<9,r[s]=n,t.i=s+1&7,n},function(e,t){var n,r=[];if(t===(0|t))r[0]=t;else for(t=""+t,n=0;n0;--n)e.next()}(t,e)}function o(e,t){return t.x=e.x.slice(),t.i=e.i,t}function l(e,t){null==e&&(e=+new Date);var n=new i(e),r=t&&t.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&(r.x&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xorshift7=l}(0,e=n.nmd(e),n.amdD)},801:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this,n="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:n+=e;for(var r=0;r>>4),t.next()}function o(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function l(e,t){var n=new i(e),r=t&&t.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xorwow=l}(0,e=n.nmd(e),n.amdD)},1971:(e,t,n)=>{var r;!function(s,a){var i,o=this,l=256,u=a.pow(l,6),c=a.pow(2,52),h=2*c,p=255;function d(e,t,n){var r=[],p=y(g((t=1==t?{entropy:!0}:t||{}).entropy?[e,b(s)]:null==e?function(){try{var e;return i&&(e=i.randomBytes)?e=e(l):(e=new Uint8Array(l),(o.crypto||o.msCrypto).getRandomValues(e)),b(e)}catch(e){var t=o.navigator,n=t&&t.plugins;return[+new Date,o,n,o.screen,b(s)]}}():e,3),r),d=new f(r),x=function(){for(var e=d.g(6),t=u,n=0;e=h;)e/=2,t/=2,n>>>=1;return(e+n)/t};return x.int32=function(){return 0|d.g(4)},x.quick=function(){return d.g(4)/4294967296},x.double=x,y(b(d.S),s),(t.pass||n||function(e,t,n,r){return r&&(r.S&&m(r,d),e.state=function(){return m(d,{})}),n?(a.random=e,t):e})(x,p,"global"in t?t.global:this==a,t.state)}function f(e){var t,n=e.length,r=this,s=0,a=r.i=r.j=0,i=r.S=[];for(n||(e=[n++]);s{"use strict";n.r(t),n.d(t,{default:()=>i});var r=n(3379),s=n.n(r),a=n(8485);s()(a.Z,{insert:"head",singleton:!1});const i=a.Z.locals||{}},3379:(e,t,n)=>{"use strict";var r,s=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function i(e){for(var t=-1,n=0;n{e.exports=function(){return n(9855)('(()=>{var t={508:(t,e,r)=>{const{resize:a}=r(140);t.exports={buildImageList:t=>{const e=[];let r=100/Math.min(t.width,t.height);for(;;)if(e.push(r),r*=Math.pow(2,1/3),r>=.95){r=1;break}e.push(r),e.reverse();const i=[];for(let r=0;r{const e=Math.min(t.width,t.height),r=[],i=[];r.push(256/e),r.push(128/e);for(let e=0;e{const{Cumsum:a}=r(535),i=({image:t,cx:e,cy:r,sdThresh:a,imageDataCumsum:i,imageDataSqrCumsum:s})=>{if(e-6<0||e+6>=t.width)return null;if(r-6<0||r+6>=t.height)return null;let h=i.query(e-6,r-6,e+6,r+6);h/=169;let o=s.query(e-6,r-6,e+6,r+6);return o-=2*h*i.query(e-6,r-6,e+6,r+6),o+=169*h*h,o/169{const{image:e,cx:r,cy:a,vlen:i,tx:s,ty:h,imageDataCumsum:o,imageDataSqrCumsum:l}=t,{data:u,width:n,height:m}=e;if(r-6<0||r+6>=n)return null;if(a-6<0||a+6>=m)return null;let c=o.query(r-6,a-6,r+6,a+6),f=l.query(r-6,a-6,r+6,a+6),g=0,d=(a-6)*n+(r-6),p=(h-6)*n+(s-6),w=n-13;for(let t=0;t<13;t++){for(let t=0;t<13;t++)g+=u[d]*u[p],d+=1,p+=1;d+=w,p+=w}let M=o.query(s-6,h-6,s+6,h+6);M/=169,g-=M*c;let y=f-c*c/169;return 0==y?null:(y=Math.sqrt(y),1*g/(i*y))};t.exports={extract:t=>{const{data:e,width:r,height:h,scale:o}=t,l=[r*h];for(let t=0;t999&&(t=999),t<0&&(t=0),n[t]+=1,c+=1,l[a]=!0}}const f=.02*r*h;let g=999,d=0;for(;g>=0&&(d+=n[g],!(d>f));)g--;for(let t=0;tu&&(u=h,u>.95))break}if(u>.95)break}y[h]=u}return(t=>{let{image:e,featureMap:r,templateSize:a,searchSize:h,occSize:o,maxSimThresh:l,minSimThresh:u,sdThresh:n,imageDataCumsum:m,imageDataSqrCumsum:c}=t;const{data:f,width:g,height:d,scale:p}=e;o=Math.floor(Math.min(e.width,e.height)/10);const w=3*(2*a+1),M=Math.floor(g/w),y=Math.floor(d/w);let x=Math.floor(g/o)*Math.floor(d/o)+M*y;const q=[],C=new Float32Array(f.length);for(let t=0;th*h)continue;if(0===i&&0===a)continue;const o=s({image:e,vlen:p,cx:r+i,cy:f+a,tx:r,ty:f,imageDataCumsum:m,imageDataSqrCumsum:c});if(null!==o){if(oM&&(M=o,M>.99))break}}if(w.99)break}if(w.99)C[f*g+r]=1;else{q.push({x:r,y:f}),S+=1;for(let t=-o;t<=o;t++)for(let e=-o;e<=o;e++)f+t<0||f+t>=d||r+e<0||r+e>=g||(C[(f+t)*g+(r+e)]=1)}}return q})({image:t,featureMap:y,templateSize:6,searchSize:2,occSize:16,maxSimThresh:.9,minSimThresh:.2,sdThresh:8,imageDataCumsum:w,imageDataSqrCumsum:M})}}},535:t=>{t.exports={Cumsum:class{constructor(t,e,r){this.cumsum=[];for(let t=0;t0&&(i-=this.cumsum[e-1][r]),t>0&&(i-=this.cumsum[a][t-1]),t>0&&e>0&&(i+=this.cumsum[e-1][t-1]),i}}}},140:t=>{t.exports={downsampleBilinear:({image:t})=>{const{data:e,width:r,height:a}=t,i=Math.floor(r/2),s=Math.floor(a/2),h=new Float32Array(i*s),o=[0,1,r,r+1];for(let t=0;t{const{width:a,height:i,data:s}=t,h=2*t.width+(e?1:0),o=2*t.height+(r?1:0),l=new Float32Array(h*o);for(let t=0;t=a&&(u=a-1);for(let n=0;n=i&&(c=i-1);const f=(u-e)*(c-o)*s[m*a+r]+(u-e)*(o-m)*s[c*a+r]+(e-r)*(c-o)*s[m*a+u]+(e-r)*(o-m)*s[c*a+u];l[n*h+t]=f}}return{data:l,width:h,height:o}},resize:({image:t,ratio:e})=>{const r=Math.round(t.width*e),a=Math.round(t.height*e),i=new Uint8Array(r*a);for(let s=0;s=t.width&&(o=t.width-1);for(let l=0;l=t.height&&(u=t.height-1);let n=0,m=0;for(let e=h;e<=o;e++)for(let r=a;r<=u;r++)n+=1*t.data[r*t.width+e],m+=1;i[l*r+s]=Math.floor(n/m)}}return{data:i,width:r,height:a}}}}},e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={exports:{}};return t[a](i,i.exports,r),i.exports}(()=>{const{extract:t}=r(589),{buildTrackingImageList:e}=r(508);onmessage=t=>{const{data:r}=t;if("compile"===r.type){const{targetImages:t}=r,i=50/t.length;let s=0;const h=[];for(let r=0;r{s+=u,postMessage({type:"progress",percent:s})}));h.push(n)}postMessage({type:"compileDone",list:h})}};const a=(e,r)=>{const a=[];for(let i=0;i{e.exports=function(){return n(9855)('(()=>{var t={331:(t,e,r)=>{"use strict";r.r(e),r.d(e,{AbstractMatrix:()=>v,CHO:()=>tt,CholeskyDecomposition:()=>tt,EVD:()=>K,EigenvalueDecomposition:()=>K,LU:()=>H,LuDecomposition:()=>H,Matrix:()=>k,MatrixColumnSelectionView:()=>T,MatrixColumnView:()=>I,MatrixFlipColumnView:()=>A,MatrixFlipRowView:()=>q,MatrixRowSelectionView:()=>P,MatrixRowView:()=>C,MatrixSelectionView:()=>V,MatrixSubView:()=>N,MatrixTransposeView:()=>j,NIPALS:()=>et,Nipals:()=>et,QR:()=>$,QrDecomposition:()=>$,SVD:()=>L,SingularValueDecomposition:()=>L,WrapperMatrix1D:()=>z,WrapperMatrix2D:()=>F,correlation:()=>J,covariance:()=>B,default:()=>k,determinant:()=>X,inverse:()=>O,linearDependencies:()=>Q,pseudoInverse:()=>W,solve:()=>U,wrap:()=>D});const s=Object.prototype.toString;function o(t){return s.call(t).endsWith("Array]")}const n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;lh&&(h=t[l]);return h},i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;l1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");if(void 0!==r.output){if(!o(r.output))throw new TypeError("output option must be an array if specified");e=r.output}else e=new Array(t.length);var s=i(t),h=n(t);if(s===h)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var l=r.min,u=void 0===l?r.autoMinMax?s:0:l,a=r.max,c=void 0===a?r.autoMinMax?h:1:a;if(u>=c)throw new RangeError("min option must be smaller than max option");for(var f=(c-u)/(h-s),m=0;ms)throw new RangeError("Row index out of range")}function m(t,e,r){let s=r?t.columns:t.columns-1;if(e<0||e>s)throw new RangeError("Column index out of range")}function g(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function w(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function p(t,e,r){return{row:d(t,e),column:y(t,r)}}function d(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for row indices");if(e.some((e=>e<0||e>=t.rows)))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function y(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for column indices");if(e.some((e=>e<0||e>=t.columns)))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function M(t,e,r,s,o){if(5!==arguments.length)throw new RangeError("expected 4 arguments");if(x("startRow",e),x("endRow",r),x("startColumn",s),x("endColumn",o),e>r||s>o||e<0||e>=t.rows||r<0||r>=t.rows||s<0||s>=t.columns||o<0||o>=t.columns)throw new RangeError("Submatrix indices are out of range")}function b(t,e=0){let r=[];for(let s=0;s=o)throw new RangeError("min must be smaller than max");let i=o-s,h=new k(t,e);for(let r=0;rr?(o=!0,r=e):(s=!1,o=!0);t++}return s}isReducedEchelonForm(){let t=0,e=0,r=-1,s=!0,o=!1;for(;tr?(o=!0,r=e):(s=!1,o=!0);for(let r=e+1;rt.get(s,r)&&(s=o);if(0===t.get(s,r))r++;else{t.swapRows(e,s);let o=t.get(e,r);for(let s=r;s=0;)if(0===t.maxRow(s))s--;else{let o=0,n=!1;for(;ot&&(t=this.get(e,r));return t}maxIndex(){E(this);let t=this.get(0,0),e=[0,0];for(let r=0;rt&&(t=this.get(r,s),e[0]=r,e[1]=s);return e}min(){if(this.isEmpty())return NaN;let t=this.get(0,0);for(let e=0;ee&&(e=this.get(t,r));return e}maxRowIndex(t){f(this,t),E(this);let e=this.get(t,0),r=[t,0];for(let s=1;se&&(e=this.get(t,s),r[1]=s);return r}minRow(t){if(f(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;re&&(e=this.get(r,t));return e}maxColumnIndex(t){m(this,t),E(this);let e=this.get(0,t),r=[0,t];for(let s=1;se&&(e=this.get(s,t),r[0]=s);return r}minColumn(t){if(m(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;t0&&h(o,{min:e,max:r,output:o}),s.setRow(t,o)}return s}scaleColumns(t={}){if("object"!=typeof t)throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;tr||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let s=new k(t.length,r-e+1);for(let o=0;o=this.rows)throw new RangeError(`Row index out of range: ${t[o]}`);s.set(o,n-e,this.get(t[o],n))}return s}subMatrixColumn(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let s=new k(r-e+1,t.length);for(let o=0;o=this.columns)throw new RangeError(`Column index out of range: ${t[o]}`);s.set(n-e,o,this.get(n,t[o]))}return s}setSubMatrix(t,e,r){if((t=k.checkMatrix(t)).isEmpty())return this;M(this,e,e+t.rows-1,r,r+t.columns-1);for(let s=0;s=0){if(this.data=[],!(Number.isInteger(e)&&e>=0))throw new TypeError("nColumns must be a positive integer");for(let r=0;r>t);return this},t.prototype.signPropagatingRightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>t.get(e,r));return this},t.signPropagatingRightShift=function(t,r){return new e(t).signPropagatingRightShift(r)},t.prototype.rightShift=function(t){return"number"==typeof t?this.rightShiftS(t):this.rightShiftM(t)},t.prototype.rightShiftS=function(t){for(let e=0;e>>t);return this},t.prototype.rightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>>t.get(e,r));return this},t.rightShift=function(t,r){return new e(t).rightShift(r)},t.prototype.zeroFillRightShift=t.prototype.rightShift,t.prototype.zeroFillRightShiftS=t.prototype.rightShiftS,t.prototype.zeroFillRightShiftM=t.prototype.rightShiftM,t.zeroFillRightShift=t.rightShift,t.prototype.not=function(){for(let t=0;tMath.abs(l[o])&&(o=e);if(o!==r){for(s=0;s=0;o--){for(s=0;se?s.set(o,e,t.get(o,e)):o===e?s.set(o,e,1):s.set(o,e,0);return s}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,s=new k(e,r);for(let o=0;oMath.abs(e)?(r=e/t,Math.abs(t)*Math.sqrt(1+r*r)):0!==e?(r=t/e,Math.abs(e)*Math.sqrt(1+r*r)):0}class ${constructor(t){let e,r,s,o,n=(t=F.checkMatrix(t)).clone(),i=t.rows,h=t.columns,l=new Float64Array(h);for(s=0;s=0;n--){for(o=0;o=0;r--){for(t=0;t=0;t--)if(0!==m[t]){for(let e=t+1;e=0;t--){if(t0;){let t,e;for(t=E-2;t>=-1&&-1!==t;t--){const e=Number.MIN_VALUE+R*Math.abs(m[t]+Math.abs(m[t+1]));if(Math.abs(p[t])<=e||Number.isNaN(p[t])){p[t]=0;break}}if(t===E-2)e=4;else{let r;for(r=E-1;r>=t&&r!==t;r--){let e=(r!==E?Math.abs(p[r]):0)+(r!==t+1?Math.abs(p[r-1]):0);if(Math.abs(m[r])<=R*e){m[r]=0;break}}r===t?e=3:r===E-1?e=1:(e=2,t=r)}switch(t++,e){case 1:{let e=p[E-2];p[E-2]=0;for(let r=E-2;r>=t;r--){let o=_(m[r],e),n=m[r]/o,i=e/o;if(m[r]=o,r!==t&&(e=-i*p[r-1],p[r-1]=n*p[r-1]),u)for(let t=0;t=m[t+1]);){let e=m[t];if(m[t]=m[t+1],m[t+1]=e,u&&te&&o.set(n,r,t.get(n,r)/this.s[r]);let n=this.U,i=n.rows,h=n.columns,l=new k(r,i);for(let t=0;tt&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return k.diag(this.s)}}function O(t,e=!1){return t=F.checkMatrix(t),e?new L(t).inverse():U(t,k.eye(t.rows))}function U(t,e,r=!1){return t=F.checkMatrix(t),e=F.checkMatrix(e),r?new L(t).solve(e):t.isSquare()?new H(t).solve(e):new $(t).solve(e)}function X(t){if((t=k.checkMatrix(t)).isSquare()){if(0===t.columns)return 1;let e,r,s,o;if(2===t.columns)return e=t.get(0,0),r=t.get(0,1),s=t.get(1,0),o=t.get(1,1),e*o-r*s;if(3===t.columns){let o,n,i;return o=new V(t,[1,2],[1,2]),n=new V(t,[1,2],[0,2]),i=new V(t,[1,2],[0,1]),e=t.get(0,0),r=t.get(0,1),s=t.get(0,2),e*X(o)-r*X(n)+s*X(i)}return new H(t).determinant}throw Error("determinant can only be calculated for a square matrix")}function Y(t,e){let r=[];for(let s=0;so)return new Array(e.rows+1).fill(0);{let t=e.addRow(r,[0]);for(let e=0;ee?n[t]=1/n[t]:n[t]=0;return o.mmul(k.diag(n).mmul(s.transpose()))}function B(t,e=t,r={}){t=new k(t);let s=!1;if("object"!=typeof e||k.isMatrix(e)||Array.isArray(e)?e=new k(e):(r=e,e=t,s=!0),t.rows!==e.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:o=!0}=r;o&&(t=t.center("column"),s||(e=e.center("column")));const n=t.transpose().mmul(e);for(let e=0;e0;h--){for(c=0,i=0,u=0;u0&&(n=-n),e[h]=c*n,i-=o*n,r[h-1]=o-n,l=0;lu){b=0;do{for(b+=1,o=r[u],c=(r[u+1]-o)/(2*e[u]),f=_(c,1),c<0&&(f=-f),r[u]=e[u]/(c+f),r[u+1]=e[u]*(c+f),m=r[u+1],n=o-r[u],i=u+2;i=u;i--)for(p=w,w=g,M=y,o=g*e[i],n=g*c,f=_(c,e[i]),e[i+1]=y*f,y=e[i]/f,g=c/f,c=g*r[i]-y*o,r[i+1]=n+y*(g*o+y*r[i]),l=0;lv*E)}r[u]=r[u]+x,e[u]=0}for(i=0;i=u;h--)r[h]=e.get(h,u-1)/a,i+=r[h]*r[h];for(n=Math.sqrt(i),r[u]>0&&(n=-n),i-=r[u]*n,r[u]=r[u]-n,l=u;l=u;h--)o+=r[h]*e.get(h,l);for(o/=i,h=u;h<=c;h++)e.set(h,l,e.get(h,l)-o*r[h])}for(h=0;h<=c;h++){for(o=0,l=c;l>=u;l--)o+=r[l]*e.get(h,l);for(o/=i,l=u;l<=c;l++)e.set(h,l,e.get(h,l)-o*r[l])}r[u]=a*r[u],e.set(u,u-1,a*n)}}for(h=0;h=1;u--)if(0!==e.get(u,u-1)){for(h=u+1;h<=c;h++)r[h]=e.get(h,u-1);for(l=u;l<=c;l++){for(n=0,h=u;h<=c;h++)n+=r[h]*s.get(h,l);for(n=n/r[u]/e.get(u,u-1),h=u;h<=c;h++)s.set(h,l,s.get(h,l)+n*r[h])}}}(n,t,e,i),function(t,e,r,s,o){let n,i,h,l,u,a,c,f,m,g,w,p,d,y,M,b=t-1,x=t-1,E=Number.EPSILON,v=0,S=0,k=0,R=0,I=0,T=0,A=0,q=0;for(n=0;nx)&&(r[n]=o.get(n,n),e[n]=0),i=Math.max(n-1,0);i=0;){for(l=b;l>0&&(T=Math.abs(o.get(l-1,l-1))+Math.abs(o.get(l,l)),0===T&&(T=S),!(Math.abs(o.get(l,l-1))=0){for(A=k>=0?k+A:k-A,r[b-1]=f+A,r[b]=r[b-1],0!==A&&(r[b]=f-c/A),e[b-1]=0,e[b]=0,f=o.get(b,b-1),T=Math.abs(f)+Math.abs(A),k=f/T,R=A/T,I=Math.sqrt(k*k+R*R),k/=I,R/=I,i=b-1;i0)){for(T=Math.sqrt(T),m=l&&(A=o.get(u,u),I=f-A,T=m-A,k=(I*T-c)/o.get(u+1,u)+o.get(u,u+1),R=o.get(u+1,u+1)-A-I-T,I=o.get(u+2,u+1),T=Math.abs(k)+Math.abs(R)+Math.abs(I),k/=T,R/=T,I/=T,u!==l)&&!(Math.abs(o.get(u,u-1))*(Math.abs(R)+Math.abs(I))u+2&&o.set(n,n-3,0);for(h=u;h<=b-1&&(y=h!==b-1,h!==u&&(k=o.get(h,h-1),R=o.get(h+1,h-1),I=y?o.get(h+2,h-1):0,f=Math.abs(k)+Math.abs(R)+Math.abs(I),0!==f&&(k/=f,R/=f,I/=f)),0!==f);h++)if(T=Math.sqrt(k*k+R*R+I*I),k<0&&(T=-T),0!==T){for(h!==u?o.set(h,h-1,-T*f):l!==u&&o.set(h,h-1,-o.get(h,h-1)),k+=T,f=k/T,m=R/T,A=I/T,R/=k,I/=k,i=h;i=0;b--)if(k=r[b],R=e[b],0===R)for(l=b,o.set(b,b,1),n=b-1;n>=0;n--){for(c=o.get(n,n)-k,I=0,i=l;i<=b;i++)I+=o.get(n,i)*o.get(i,b);if(e[n]<0)A=c,T=I;else if(l=n,0===e[n]?o.set(n,b,0!==c?-I/c:-I/(E*S)):(f=o.get(n,n+1),m=o.get(n+1,n),R=(r[n]-k)*(r[n]-k)+e[n]*e[n],a=(f*T-A*I)/R,o.set(n,b,a),o.set(n+1,b,Math.abs(f)>Math.abs(A)?(-I-c*a)/f:(-T-m*a)/A)),a=Math.abs(o.get(n,b)),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b,o.get(i,b)/a)}else if(R<0)for(l=b-1,Math.abs(o.get(b,b-1))>Math.abs(o.get(b-1,b))?(o.set(b-1,b-1,R/o.get(b,b-1)),o.set(b-1,b,-(o.get(b,b)-k)/o.get(b,b-1))):(M=Z(0,-o.get(b-1,b),o.get(b-1,b-1)-k,R),o.set(b-1,b-1,M[0]),o.set(b-1,b,M[1])),o.set(b,b-1,0),o.set(b,b,1),n=b-2;n>=0;n--){for(g=0,w=0,i=l;i<=b;i++)g+=o.get(n,i)*o.get(i,b-1),w+=o.get(n,i)*o.get(i,b);if(c=o.get(n,n)-k,e[n]<0)A=c,I=g,T=w;else if(l=n,0===e[n]?(M=Z(-g,-w,c,R),o.set(n,b-1,M[0]),o.set(n,b,M[1])):(f=o.get(n,n+1),m=o.get(n+1,n),p=(r[n]-k)*(r[n]-k)+e[n]*e[n]-R*R,d=2*(r[n]-k)*R,0===p&&0===d&&(p=E*S*(Math.abs(c)+Math.abs(R)+Math.abs(f)+Math.abs(m)+Math.abs(A))),M=Z(f*I-A*g+R*w,f*T-A*w-R*g,p,d),o.set(n,b-1,M[0]),o.set(n,b,M[1]),Math.abs(f)>Math.abs(A)+Math.abs(R)?(o.set(n+1,b-1,(-g-c*o.get(n,b-1)+R*o.get(n,b))/f),o.set(n+1,b,(-w-c*o.get(n,b)-R*o.get(n,b-1))/f)):(M=Z(-I-m*o.get(n,b-1),-T-m*o.get(n,b),A,R),o.set(n+1,b-1,M[0]),o.set(n+1,b,M[1]))),a=Math.max(Math.abs(o.get(n,b-1)),Math.abs(o.get(n,b))),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b-1,o.get(i,b-1)/a),o.set(i,b,o.get(i,b)/a)}for(n=0;nx)for(i=n;i=0;i--)for(n=0;n<=x;n++){for(A=0,h=0;h<=Math.min(i,x);h++)A+=s.get(n,h)*o.get(h,i);s.set(n,i,A)}}}(n,l,h,i,t)}this.n=n,this.e=l,this.d=h,this.V=i}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t,e,r=this.n,s=this.e,o=this.d,n=new k(r,r);for(t=0;t0?n.set(t,t+1,s[t]):s[t]<0&&n.set(t,t-1,s[t])}return n}}function Z(t,e,r,s){let o,n;return Math.abs(r)>Math.abs(s)?(o=s/r,n=r+o*s,[(t+o*e)/n,(e-o*t)/n]):(o=r/s,n=s+o*r,[(o*t+e)/n,(o*e-t)/n])}class tt{constructor(t){if(!(t=F.checkMatrix(t)).isSymmetric())throw new Error("Matrix is not symmetric");let e,r,s,o=t,n=o.rows,i=new k(n,n),h=!0;for(r=0;r0,i.set(r,r,Math.sqrt(Math.max(t,0))),s=r+1;s=0;n--)for(o=0;on;e++)u=t.transpose().mmul(i).div(i.transpose().mmul(i).get(0,0)),u=u.div(u.norm()),h=t.mmul(u).div(u.transpose().mmul(u).get(0,0)),e>0&&(c=h.clone().sub(a).pow(2).sum()),a=h.clone(),r?(l=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),l=l.div(l.norm()),i=r.mmul(l).div(l.transpose().mmul(l).get(0,0))):i=h;if(r){let e=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));e=e.div(e.norm());let s=t.clone().sub(h.clone().mmul(e.transpose())),o=i.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),n=r.clone().sub(h.clone().mulS(o.get(0,0)).mmul(l.transpose()));this.t=h,this.p=e.transpose(),this.w=u.transpose(),this.q=l,this.u=i,this.s=h.transpose().mmul(h),this.xResidual=s,this.yResidual=n,this.betas=o}else this.w=u.transpose(),this.s=h.transpose().mmul(h).sqrt(),this.t=s?h.clone().div(this.s.get(0,0)):h,this.xResidual=t.sub(h.mmul(u.transpose()))}}},842:(t,e,r)=>{"use strict";r.d(e,{Z:()=>s});class s{constructor(t=[],e=o){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,s=e[t];for(;t>0;){const o=t-1>>1,n=e[o];if(r(s,n)>=0)break;e[t]=n,t=o}e[t]=s}_down(t){const{data:e,compare:r}=this,s=this.length>>1,o=e[t];for(;t=0)break;e[t]=n,t=s}e[t]=o}}function o(t,e){return te?1:0}},902:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{solveHomography:n}=r(450);t.exports={estimate:({screenCoords:t,worldCoords:e,projectionTransform:r})=>{const i=n(e.map((t=>[t.x,t.y])),t.map((t=>[t.x,t.y]))),h=new s([[i[0],i[1],i[2]],[i[3],i[4],i[5]],[i[6],i[7],i[8]]]),l=new s(r),u=o(l).mmul(h).to1DArray(),a=Math.sqrt(u[0]*u[0]+u[3]*u[3]+u[6]*u[6]),c=Math.sqrt(u[1]*u[1]+u[4]*u[4]+u[7]*u[7]),f=(a+c)/2,m=[];m[0]=u[0]/a,m[3]=u[3]/a,m[6]=u[6]/a,m[1]=u[1]/c,m[4]=u[4]/c,m[7]=u[7]/c,m[2]=m[3]*m[7]-m[6]*m[4],m[5]=m[6]*m[1]-m[0]*m[7],m[8]=m[0]*m[4]-m[1]*m[3];const g=Math.sqrt(m[2]*m[2]+m[5]*m[5]+m[8]*m[8]);m[2]/=g,m[5]/=g,m[8]/=g;const w=[];return w[0]=u[2]/f,w[1]=u[5]/f,w[2]=u[8]/f,[[m[0],m[1],m[2],w[0]],[m[3],m[4],m[5],w[1]],[m[6],m[7],m[8],w[2]]]}}},421:(t,e,r)=>{const{estimate:s}=r(902),{refineEstimate:o}=r(269);t.exports={Estimator:class{constructor(t){this.projectionTransform=t}estimate({screenCoords:t,worldCoords:e}){return s({screenCoords:t,worldCoords:e,projectionTransform:this.projectionTransform})}refineEstimate({initialModelViewTransform:t,worldCoords:e,screenCoords:r}){return o({initialModelViewTransform:t,worldCoords:e,screenCoords:r,projectionTransform:this.projectionTransform})}}}},269:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{normalizePoints:n,applyModelViewProjectionTransform:i,buildModelViewProjectionTransform:h,computeScreenCoordiate:l}=r(420);let u=[[],[],[]],a=[[],[]],c=[[],[],[]];const f=({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s,inlierProb:o})=>{const n=o<1;let i=t,u=0,a=0,c=new Array(r.length),f=new Array(r.length),p=new Array(r.length),d=new Array(r.length);for(let t=0;t<=10;t++){const y=h(e,i);for(let t=0;tt-e)),M=Math.max(4*f[t],16);for(let t=0;tM?a+=M/6:a+=M/6*(1-(1-f[t]/M)*(1-f[t]/M)*(1-f[t]/M))}else for(let t=0;t0&&a/u>.99)break;if(10===t)break;u=a;const b=[],x=[];for(let t=0;tM)continue;const s=w({modelViewProjectionTransform:y,modelViewTransform:i,projectionTransform:e,worldCoord:r[t]});if(n){const e=(1-c[t]/M)*(1-c[t]/M);for(let t=0;t<2;t++)for(let r=0;r<6;r++)s[t][r]*=e;b.push([p[t]*e]),b.push([d[t]*e])}else b.push([p[t]]),b.push([d[t]]);for(let t=0;t{let r,s,o,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];n<1e-6?(r=1,s=0,o=0,n=0):(n=Math.sqrt(n),r=e[0]/n,s=e[1]/n,o=e[2]/n);const i=Math.cos(n),h=Math.sin(n),l=1-i;u[0][0]=r*r*l+i,u[0][1]=r*s*l-o*h,u[0][2]=r*o*l+s*h,u[0][3]=e[3],u[1][0]=s*r*l+o*h,u[1][1]=s*s*l+i,u[1][2]=s*o*l-r*h,u[1][3]=e[4],u[2][0]=o*r*l-s*h,u[2][1]=o*s*l+r*h,u[2][2]=o*o*l+i,u[2][3]=e[5];const a=[[],[],[]];for(let e=0;e<3;e++){for(let r=0;r<4;r++)a[e][r]=t[e][0]*u[0][r]+t[e][1]*u[1][r]+t[e][2]*u[2][r];a[e][3]+=t[e][3]}return a},g=({dU:t,J_U_S:e})=>{const r=new s(e),n=new s(t),i=r.transpose(),h=i.mmul(r),l=i.mmul(n);let u;try{u=o(h)}catch(t){return null}return u.mmul(l).to1DArray()},w=({modelViewProjectionTransform:t,modelViewTransform:e,projectionTransform:r,worldCoord:s})=>{const o=e,{x:n,y:h,z:l}=s,u=i(t,n,h,l),f=u.z*u.z;a[0][0]=r[0][0]*u.z/f,a[0][1]=r[0][1]*u.z/f,a[0][2]=(r[0][2]*u.z-r[2][2]*u.x)/f,a[1][0]=r[1][0]*u.z/f,a[1][1]=r[1][1]*u.z/f,a[1][2]=(r[1][2]*u.z-r[2][2]*u.y)/f,c[0][0]=o[0][2]*h,c[0][1]=-o[0][2]*n,c[0][2]=o[0][1]*n-o[0][0]*h,c[0][3]=o[0][0],c[0][4]=o[0][1],c[0][5]=o[0][2],c[1][0]=o[1][2]*h,c[1][1]=-o[1][2]*n,c[1][2]=o[1][1]*n-o[1][0]*h,c[1][3]=o[1][0],c[1][4]=o[1][1],c[1][5]=o[1][2],c[2][0]=o[2][2]*h,c[2][1]=-o[2][2]*n,c[2][2]=o[2][1]*n-o[2][0]*h,c[2][3]=o[2][0],c[2][4]=o[2][1],c[2][5]=o[2][2];const m=[[],[]];for(let t=0;t<2;t++)for(let e=0;e<6;e++){m[t][e]=0;for(let r=0;r<3;r++)m[t][e]+=a[t][r]*c[r][e]}return m};t.exports={refineEstimate:({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s})=>{let o=0,n=0;for(let t=0;t{const e=(t,e,r,s)=>({x:t[0][0]*e+t[0][1]*r+t[0][3],y:t[1][0]*e+t[1][1]*r+t[1][3],z:t[2][0]*e+t[2][1]*r+t[2][3]});t.exports={buildModelViewProjectionTransform:(t,e)=>[[t[0][0]*e[0][0]+t[0][2]*e[2][0],t[0][0]*e[0][1]+t[0][2]*e[2][1],t[0][0]*e[0][2]+t[0][2]*e[2][2],t[0][0]*e[0][3]+t[0][2]*e[2][3]],[t[1][1]*e[1][0]+t[1][2]*e[2][0],t[1][1]*e[1][1]+t[1][2]*e[2][1],t[1][1]*e[1][2]+t[1][2]*e[2][2],t[1][1]*e[1][3]+t[1][2]*e[2][3]],[e[2][0],e[2][1],e[2][2],e[2][3]]],applyModelViewProjectionTransform:e,computeScreenCoordiate:(t,r,s,o)=>{const{x:n,y:i,z:h}=e(t,r,s);return{x:n/h,y:i/h}}}},233:t=>{t.exports={compute:t=>{const{v1:e,v2:r}=t;let s=0;for(let t=0;t>>0;s+=(n=void 0,((n=((n=((n=((n=(o=i)-(o>>1&1431655765))>>2&858993459)+(858993459&n))>>4)+n&252645135)>>8)+n&16711935)>>16)+n&65535)}var o,n;return s}}},934:t=>{const e=({querypoint:t,keypoint:e,keycenterX:r,keycenterY:s,scaleOneOverLogK:o})=>{let n=t.angle-e.angle;n<=-Math.PI?n+=2*Math.PI:n>Math.PI&&(n-=2*Math.PI);const i=t.scale/e.scale,h=i*Math.cos(n),l=i*Math.sin(n),u=[h,-l,l,h],a=[u[0]*e.x+u[1]*e.y,u[2]*e.x+u[3]*e.y],c=t.x-a[0],f=t.y-a[1];return{x:u[0]*r+u[1]*s+c,y:u[2]*r+u[3]*s+f,angle:n,scale:Math.log(i)*o}};t.exports={computeHoughMatches:t=>{const{keywidth:r,keyheight:s,querywidth:o,queryheight:n,matches:i}=t,h=1.2*o,l=-h,u=1.2*n,a=-u,c=12,f=1/Math.log(10),m=Math.max(r,s),g=Math.floor(r/2),w=Math.floor(s/2),p=[];for(let t=0;tt-e));const d=.25*p[Math.floor(p.length/2)-(p.length%2==0?1:0)-1],y=Math.max(5,Math.ceil((h-l)/d)),M=Math.max(5,Math.ceil((u-a)/d)),b=y*M,x=b*c,E=[],v=[],S={};for(let t=0;t=h||n=u||p<=-Math.PI||p>Math.PI||m<-1||m>=1){E[t]=!1;continue}let d=y*(o-l)/(h-l),k=M*(n-a)/(u-a),R=c*(p+Math.PI)/(2*Math.PI),I=10*(m- -1)/2;v[t]={binX:d,binY:k,binAngle:R,binScale:I};let T=Math.floor(d-.5),A=Math.floor(k-.5),q=Math.floor(I-.5),C=(Math.floor(R-.5)+c)%c;if(T<0||T+1>=y||A<0||A+1>=M||q<0||q+1>=10)E[t]=!1;else{for(let t=0;t<2;t++){let e=T+t;for(let t=0;t<2;t++){let r=A+t;for(let t=0;t<2;t++){let s=(C+t)%c;for(let t=0;t<2;t++){const o=e+r*y+s*b+(q+t)*x;void 0===S[o]&&(S[o]=0),S[o]+=1}}}}E[t]=!0}}let k=0,R=-1;if(Object.keys(S).forEach((t=>{S[t]>k&&(k=S[t],R=t)})),k<3)return[];const I=Math.floor(R%x%b%y),T=Math.floor((R-I)%x%b/y),A=Math.floor((R-I-T*y)%x/b),q=Math.floor((R-I-T*y-A*b)/x),C=[];for(let t=0;t=1)continue;if(Math.abs(e.binY-(T+.5))>=1)continue;if(Math.abs(e.binScale-(q+.5))>=1)continue;const r=Math.abs(e.binAngle-(A+.5));Math.min(r,c-r)>=1||C.push(i[t])}return C}}},582:(t,e,r)=>{const{match:s}=r(492);t.exports={Matcher:class{constructor(t,e,r=!1){this.queryWidth=t,this.queryHeight=e,this.debugMode=r}matchDetection(t,e){let r={frames:[]},o=null;for(let n=0;n{const s=r(842).Z,{compute:o}=r(233),{computeHoughMatches:n}=r(934),{computeHomography:i}=r(838),{multiplyPointHomographyInhomogenous:h,matrixInverse33:l}=r(289),u=({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i})=>{if(t.leaf){for(let e=0;e0){const{node:t,d:o}=s.pop();u({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i+=1})}},a=t=>{const{H:e,matches:r,threshold:s}=t,o=s*s,n=[];for(let t=0;t{let m={};const g=[];for(let r=0;rt.d-e.d));u({node:h,keypoints:i,querypoint:n,queue:a,keypointIndexes:l,numPop:0});let c=-1,f=Number.MAX_SAFE_INTEGER,m=Number.MAX_SAFE_INTEGER;for(let t=0;t[t.keypoint.x,t.keypoint.y])),dstPoints:w.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===p)return{debugExtra:m};const d=a({H:p,matches:w,threshold:3});if(f&&(m.inlierMatches=d),d.length<6)return{debugExtra:m};const y=l(p,1e-5),M=[];for(let r=0;r100)continue;const r=o({v1:e.descriptors,v2:s.descriptors});r[t.keypoint.x,t.keypoint.y])),dstPoints:b.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===x)return{debugExtra:m};const E=a({H:x,matches:b,threshold:3});return f&&(m.inlierMatches2=E),{H:x,matches:E,debugExtra:m}}}},838:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{createRandomizer:n}=r(48),{quadrilateralConvex:i,matrixInverse33:h,smallestTriangleArea:l,multiplyPointHomographyInhomogenous:u,checkThreePointsConsistent:a,checkFourPointsConsistent:c,determinant:f}=r(289),{solveHomography:m}=r(450),g=({H:t,testPoints:e,keyframe:r})=>{const s=h(t,1e-5);if(null===s)return!1;const o=[];for(let t=0;t{const e=1/t[8],r=[];for(let s=0;s<8;s++)r[s]=t[s]*e;return r[8]=1,r},p=({H:t,srcPoint:e,dstPoint:r,oneOverScale2:s})=>{const o=u(e,t),n=[o[0]-r[0],o[1]-r[1]];return Math.log(1+(n[0]*n[0]+n[1]*n[1])*s)},d=({H:t,testPoints:e})=>{const r=[];for(let s=0;s{const{srcPoints:e,dstPoints:r,keyframe:s,quickMode:o}=t,i=[[0,0],[s.width,0],[s.width,s.height],[0,s.height]];if(e.length<4)return null;const h=Math.min(10,e.length),l=n(),u=[];for(let t=0;t2;t+=x){x=Math.min(h,e.length-t);let s=t+x;for(let o=0;ot.cost-e.cost)),b.splice(-Math.floor((b.length+1)/2))}let E=null;for(let t=0;t{const e=(t,e,r)=>(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0]),r=t=>{const e=t[4]*t[8]-t[5]*t[7],r=t[3]*t[8]-t[5]*t[6],s=t[3]*t[7]-t[4]*t[6];return t[0]*e-t[1]*r+t[2]*s},s=(t,e)=>[t[0]-e[0],t[1]-e[1]],o=(t,e)=>{const r=t[0]*e[1]-t[1]*e[0];return.5*Math.abs(r)};t.exports={matrixInverse33:(t,e)=>{const s=r(t);if(Math.abs(s)<=e)return null;const o=1/s;return[(t[4]*t[8]-t[5]*t[7])*o,(t[2]*t[7]-t[1]*t[8])*o,(t[1]*t[5]-t[2]*t[4])*o,(t[5]*t[6]-t[3]*t[8])*o,(t[0]*t[8]-t[2]*t[6])*o,(t[2]*t[3]-t[0]*t[5])*o,(t[3]*t[7]-t[4]*t[6])*o,(t[1]*t[6]-t[0]*t[7])*o,(t[0]*t[4]-t[1]*t[3])*o]},matrixMul33:(t,e)=>{const r=[];return r[0]=t[0]*e[0]+t[1]*e[3]+t[2]*e[6],r[1]=t[0]*e[1]+t[1]*e[4]+t[2]*e[7],r[2]=t[0]*e[2]+t[1]*e[5]+t[2]*e[8],r[3]=t[3]*e[0]+t[4]*e[3]+t[5]*e[6],r[4]=t[3]*e[1]+t[4]*e[4]+t[5]*e[7],r[5]=t[3]*e[2]+t[4]*e[5]+t[5]*e[8],r[6]=t[6]*e[0]+t[7]*e[3]+t[8]*e[6],r[7]=t[6]*e[1]+t[7]*e[4]+t[8]*e[7],r[8]=t[6]*e[2]+t[7]*e[5]+t[8]*e[8],r},quadrilateralConvex:(t,r,s,o)=>{const n=e(t,r,s)<=0;return e(r,s,o)<=0===n&&e(s,o,t)<=0===n&&e(o,t,r)<=0===n},smallestTriangleArea:(t,e,r,n)=>{const i=s(e,t),h=s(r,t),l=s(n,t),u=s(e,r),a=s(n,r),c=o(i,h),f=o(h,l),m=o(i,l),g=o(u,a);return Math.min(Math.min(Math.min(c,f),m),g)},multiplyPointHomographyInhomogenous:(t,e)=>{const r=e[6]*t[0]+e[7]*t[1]+e[8],s=[];return s[0]=(e[0]*t[0]+e[1]*t[1]+e[2])/r,s[1]=(e[3]*t[0]+e[4]*t[1]+e[5])/r,s},checkThreePointsConsistent:(t,r,s,o,n,i)=>e(t,r,s)>0==e(o,n,i)>0,checkFourPointsConsistent:(t,r,s,o,n,i,h,l)=>e(t,r,s)>0==e(n,i,h)>0&&e(r,s,o)>0==e(i,h,l)>0&&e(s,o,t)>0==e(h,l,n)>0&&e(o,t,r)>0==e(l,n,i)>0,determinant:r}},450:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),n=t=>{let e=0,r=0;for(let s=0;s{const{normPoints:r,param:i}=n(t),{normPoints:h,param:l}=n(e),u=h.length,a=[],c=[];for(let t=0;t{const s=r.s*r.meanX,o=r.s*r.meanY,n=[t[0]+s*t[6],t[1]+s*t[7],(t[0]+s*t[6])*-e.meanX+(t[1]+s*t[7])*-e.meanY+(t[2]+s)/e.s,t[3]+o*t[6],t[4]+o*t[7],(t[3]+o*t[6])*-e.meanX+(t[4]+o*t[7])*-e.meanY+(t[5]+o)/e.s,r.s*t[6],r.s*t[7],r.s*t[6]*-e.meanX+r.s*t[7]*-e.meanY+r.s/e.s];for(let t=0;t<9;t++)n[t]=n[t]/n[8];return n})(o(n).mmul(h).to1DArray(),i,l)}catch(t){return null}}}},48:t=>{t.exports={createRandomizer:()=>({seed:1234,arrayShuffle(t){const{arr:e,sampleSize:r}=t;for(let t=0;t>16&32767;r%=e.length;let s=e[t];e[t]=e[r],e[r]=s}},nextInt(t){this.seed=(214013*this.seed+2531011)%(1<<31);let e=this.seed>>16&32767;return e%=t,e}})}}},e={};function r(s){if(e[s])return e[s].exports;var o=e[s]={exports:{}};return t[s](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var s in e)r.o(e,s)&&!r.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{const{Matcher:t}=r(582),{Estimator:e}=r(421);let s=null,o=null,n=!1,i=null,h=null;onmessage=r=>{const{data:l}=r;if("setup"===l.type)s=l.projectionTransform,o=l.matchingDataList,n=l.debugMode,i=new t(l.inputWidth,l.inputHeight,n),h=new e(l.projectionTransform);else if("match"===l.type){const t=l.targetIndexes;let e=-1,r=null,s=null;for(let n=0;n{"use strict";var t=window.URL||window.webkitURL;e.exports=function(e,n){try{try{var r;try{(r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),r=r.getBlob()}catch(t){r=new Blob([e])}return new Worker(t.createObjectURL(r))}catch(t){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!n)throw Error("Inline worker is not supported");return new Worker(n)}}},5217:(e,t,n)=>{const r=n(383),{Detector:s}=n(6416),{buildImageList:a,buildTrackingImageList:i}=n(7508),{build:o}=n(723),l=n(1113),u=n(4563),c=async(e,t)=>{const n=[];for(let r=0;r{const e=u.tensor(a.data,[a.data.length],"float32").reshape([a.height,a.width]),{featurePoints:s}=i.detect(e),l=s.filter((e=>e.maxima)),c=s.filter((e=>!e.maxima)),h=o({points:l}),p=o({points:c});n.push({maximaPoints:l,minimaPoints:c,maximaPointsCluster:h,minimaPointsCluster:p,width:a.width,height:a.height,scale:a.scale}),t(r)}))}return n};e.exports={Compiler:class{constructor(){this.data=null}compileImageTargets(e,t){return new Promise((async(n,s)=>{const o=[];for(let t=0;t{u+=s,t(u)}));this.data.push({targetImage:n,imageList:r,matchingData:i})}for(let e=0;e{const s=new r;s.onmessage=n=>{"progress"===n.data.type?t(50+n.data.percent):"compileDone"===n.data.type&&e(n.data.list)},s.postMessage({type:"compile",targetImages:o})}));for(let e=0;e{const r=n(4563),s=n(1077),{Tracker:a}=n(6417),{CropDetector:i}=n(7051),{Compiler:o}=n(5217),{InputLoader:l}=n(7325),{OneEuroFilter:u}=n(344);e.exports={Controller:class{constructor({inputWidth:e,inputHeight:t,onUpdate:n=null,debugMode:r=!1,maxTrack:a=1,warmupTolerance:o=null,missTolerance:u=null,filterMinCF:c=null,filterBeta:h=null}){this.inputWidth=e,this.inputHeight=t,this.maxTrack=a,this.filterMinCF=null===c?.001:c,this.filterBeta=null===h?1e3:h,this.warmupTolerance=null===o?5:o,this.missTolerance=null===u?5:u,this.cropDetector=new i(this.inputWidth,this.inputHeight,r),this.inputLoader=new l(this.inputWidth,this.inputHeight),this.markerDimensions=null,this.onUpdate=n,this.debugMode=r,this.processingVideo=!1,this.interestedTargetIndex=-1,this.trackingStates=[];const p=45*Math.PI/180,d=this.inputHeight/2/Math.tan(p/2);this.projectionTransform=[[d,0,this.inputWidth/2],[0,d,this.inputHeight/2],[0,0,1]],this.projectionMatrix=this._glProjectionMatrix({projectionTransform:this.projectionTransform,width:this.inputWidth,height:this.inputHeight,near:10,far:1e5}),this.worker=new s,this.workerMatchDone=null,this.workerTrackDone=null,this.worker.onmessage=e=>{"matchDone"===e.data.type&&null!==this.workerMatchDone&&this.workerMatchDone(e.data),"trackUpdateDone"===e.data.type&&null!==this.workerTrackDone&&this.workerTrackDone(e.data)}}showTFStats(){console.log(r.memory().numTensors),console.table(r.memory())}addImageTargets(e){return new Promise((async(t,n)=>{const r=await fetch(e),s=await r.arrayBuffer();t(this.addImageTargetsFromBuffer(s))}))}addImageTargetsFromBuffer(e){const t=(new o).importData(e),n=[],r=[],s=[];for(let e=0;e{for(;this.processingVideo;){const t=this.inputLoader.loadInput(e);if(this.trackingStates.reduce(((e,t)=>e+(t.isTracking?1:0)),0)this.warmupTolerance&&(n.showing=!0,n.trackingMatrix=null,n.filter.reset())),n.showing&&(n.isTracking?n.trackMiss=0:(n.trackCount=0,n.trackMiss+=1,n.trackMiss>this.missTolerance&&(n.showing=!1,n.trackingMatrix=null,this.onUpdate&&this.onUpdate({type:"updateMatrix",targetIndex:e,worldMatrix:null})))),n.showing){const t=this._glModelViewMatrix(n.currentModelViewTransform,e);n.trackingMatrix=n.filter.filter(Date.now(),t);const r=[];for(let e=0;e{this.workerMatchDone=e=>{n({targetIndex:e.targetIndex,modelViewTransform:e.modelViewTransform,debugExtra:e.debugExtra})},this.worker.postMessage({type:"match",featurePoints:e,targetIndexes:t})}))}_workerTrackUpdate(e,t){return new Promise((async(n,r)=>{this.workerTrackDone=e=>{n(e.modelViewTransform)};const{worldCoords:s,screenCoords:a}=t;this.worker.postMessage({type:"trackUpdate",modelViewTransform:e,worldCoords:s,screenCoords:a})}))}_glModelViewMatrix(e,t){const n=this.markerDimensions[t][1];return[e[0][0],-e[1][0],-e[2][0],0,-e[0][1],e[1][1],e[2][1],0,-e[0][2],e[1][2],e[2][2],0,e[0][1]*n+e[0][3],-(e[1][1]*n+e[1][3]),-(e[2][1]*n+e[2][3]),1]}_glProjectionMatrix({projectionTransform:e,width:t,height:n,near:r,far:s}){const a=[[2*e[0][0]/t,0,-(2*e[0][2]/t-1),0],[0,2*e[1][1]/n,-(2*e[1][2]/n-1),0],[0,0,-(s+r)/(s-r),-2*s*r/(s-r)],[0,0,-1,0]],i=[];for(let e=0;e<4;e++)for(let t=0;t<4;t++)i.push(a[t][e]);return i}}}},7051:(e,t,n)=>{n(4563);const{Detector:r}=n(6416),{buildModelViewProjectionTransform:s,computeScreenCoordiate:a}=n(7420);e.exports={CropDetector:class{constructor(e,t,n=!1){this.debugMode=n,this.width=e,this.height=t;let s=Math.min(e,t)/2,a=Math.pow(2,Math.round(Math.log(s)/Math.log(2)));this.cropSize=a,this.detector=new r(a,a,n),this.kernelCaches={},this.lastRandomIndex=4}detect(e){const t=Math.floor(this.height/2-this.cropSize/2),n=Math.floor(this.width/2-this.cropSize/2),r=this._detect(e,n,t);return this.debugMode&&(r.debugExtra.crop={startX:n,startY:t,cropSize:this.cropSize}),r}detectMoving(e){const t=this.lastRandomIndex%3,n=Math.floor(this.lastRandomIndex/3);let r=Math.floor(this.height/2-this.cropSize+n*this.cropSize/2),s=Math.floor(this.width/2-this.cropSize+t*this.cropSize/2);return s<0&&(s=0),r<0&&(r=0),s>=this.width-this.cropSize&&(s=this.width-this.cropSize-1),r>=this.height-this.cropSize&&(r=this.height-this.cropSize-1),this.lastRandomIndex=(this.lastRandomIndex+1)%9,this._detect(e,s,r)}_detect(e,t,n){const r=e.slice([n,t],[this.cropSize,this.cropSize]),{featurePoints:s,debugExtra:a}=this.detector.detect(r);return s.forEach((e=>{e.x+=t,e.y+=n})),this.debugMode&&(a.projectedImage=r.arraySync()),r.dispose(),{featurePoints:s,debugExtra:a}}}}},6416:(e,t,n)=>{const r=n(4563),{FREAKPOINTS:s}=n(2793),a=(s.length-1)*s.length/2;e.exports={Detector:class{constructor(e,t,n=!1){this.debugMode=n,this.width=e,this.height=t;let r=0;for(;e>=8&&t>=8&&(e/=2,t/=2,r++,5!==r););this.numOctaves=r,this.tensorCaches={},this.kernelCaches={}}detectImageData(e){const t=new Uint8ClampedArray(4*e.length);for(let n=0;ne.map((e=>e.arraySync())))),dogPyramidImages:r.map((e=>e?e.arraySync():null)),extremasResults:s.map((e=>e.arraySync())),extremaAngles:u.arraySync(),prunedExtremas:a,localizedExtremas:i.arraySync()}),n.forEach((e=>e.forEach((e=>e.dispose())))),r.forEach((e=>e&&e.dispose())),s.forEach((e=>e.dispose())),i.dispose(),o.dispose(),l.dispose(),u.dispose(),c.dispose(),h.dispose();const m=[];for(let e=0;e0,x:s,y:a,scale:i,angle:d[e],descriptors:t})}return{featurePoints:m,debugExtra:t}}_computeFreakDescriptors(e){if(!this.tensorCaches.computeFreakDescriptors){const t=[],n=[];for(let r=0;r= ${a}) {\n\t\tcontinue;\n\t }\n\n\t int p1 = int(getP(descIndex + i, 0));\n\t int p2 = int(getP(descIndex + i, 1));\n\n\t float v1 = getFreak(featureIndex, p1);\n\t float v2 = getFreak(featureIndex, p2);\n\n\t if (v1 < v2 + 0.01) {\n\t sum += int(pow(2.0, float(7 - i)));\n\t }\n\t }\n\t setOutput(float(sum));\n\t }\n\t`};this.kernelCaches.computeFreakDescriptors=[t]}return r.tidy((()=>{const[n]=this.kernelCaches.computeFreakDescriptors;return this._runWebGLProgram(n,[e,t],"int32")}))}_computeExtremaFreak(e,t,n){this.tensorCaches._computeExtremaFreak||r.tidy((()=>{const e=r.tensor(s);this.tensorCaches._computeExtremaFreak={freakPointsT:r.keep(e)}}));const{freakPointsT:a}=this.tensorCaches._computeExtremaFreak,i=[];for(let t=1;t{const[e]=this.kernelCaches._computeExtremaFreak;return this._compileAndRun(e,[...i,t,n,a])}))}_computeExtremaAngles(e){if(!this.kernelCaches.computeExtremaAngles){const t={variableNames:["histogram"],outputShape:[e.shape[0]],userCode:`\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\n\t int maxIndex = 0;\n\t for (int i = 1; i < 36; i++) {\n\t if (getHistogram(featureIndex, i) > getHistogram(featureIndex, maxIndex)) {\n\t\tmaxIndex = i;\n\t }\n\t }\n\n\t int prev = imod(maxIndex - 1 + 36, 36);\n\t int next = imod(maxIndex + 1, 36);\n\n\t /**\n\t * Fit a quatratic to 3 points. The system of equations is:\n\t *\n\t * y0 = A*x0^2 + B*x0 + C\n\t * y1 = A*x1^2 + B*x1 + C\n\t * y2 = A*x2^2 + B*x2 + C\n\t *\n\t * This system of equations is solved for A,B,C.\n\t */\n\t float p10 = float(maxIndex - 1);\n\t float p11 = getHistogram(featureIndex, prev); \n\t float p20 = float(maxIndex);\n\t float p21 = getHistogram(featureIndex, maxIndex); \n\t float p30 = float(maxIndex + 1);\n\t float p31 = getHistogram(featureIndex, next); \n\n\t float d1 = (p30-p20)*(p30-p10);\n\t float d2 = (p10-p20)*(p30-p10);\n\t float d3 = p10-p20;\n\n\t // If any of the denominators are zero then, just use maxIndex.\n float fbin = float(maxIndex);\n\t if ( abs(d1) > 0.00001 && abs(d2) > 0.00001 && abs(d3) > 0.00001) {\n\t float a = p10*p10;\n\t float b = p20*p20;\n\n\t // Solve for the coefficients A,B,C\n\t float A = ((p31-p21)/d1)-((p11-p21)/d2);\n\t float B = ((p11-p21)+(A*(b-a)))/d3;\n\t float C = p11-(A*a)-(B*p10);\n\t fbin = -B / (2. * A);\n\t }\n\n\t float an = 2.0 *${Math.PI} * (fbin + 0.5) / 36. - ${Math.PI};\n\t setOutput(an);\n\t }\n\t`};this.kernelCaches.computeExtremaAngles=t}return r.tidy((()=>{const t=this.kernelCaches.computeExtremaAngles;return this._compileAndRun(t,[e])}))}_computeOrientationHistograms(e,t){const n=[];for(let e=1;e{const e=Math.ceil(4.5),t=[];for(let n=-e;n<=e;n++)for(let r=-e;r<=e;r++){const e=r*r+n*n;if(e<=20.25){const s=-.05555555555555555*e;let a=.0013888888*(720+s*(720+s*(360+s*(120+s*(30+s*(6+s))))));t.push([n,r,a])}}this.tensorCaches.orientationHistograms={radialPropertiesT:r.keep(r.tensor(t,[t.length,3]))}}));const{radialPropertiesT:s}=this.tensorCaches.orientationHistograms;if(!this.kernelCaches.computeOrientationHistograms){const n=[];for(let e=1;e{const[t,r]=this.kernelCaches.computeOrientationHistograms,a=this._compileAndRun(t,[...n,e,s]);return this._compileAndRun(r,[a])}))}_smoothHistograms(e){if(!this.kernelCaches.smoothHistograms){const t={variableNames:["histogram"],outputShape:[e.shape[0],36],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int featureIndex = coords[0];\n\t int binIndex = coords[1];\n\n\t int prevBin = imod(binIndex - 1 + 36, 36);\n\t int nextBin = imod(binIndex + 1, 36);\n\n float result = 0.274068619061197 * getHistogram(featureIndex, prevBin) + 0.451862761877606 * getHistogram(featureIndex, binIndex) + 0.274068619061197 * getHistogram(featureIndex, nextBin);\n\n\t setOutput(result);\n\t }\n\t"};this.kernelCaches.smoothHistograms=t}return r.tidy((()=>{const t=this.kernelCaches.smoothHistograms;for(let n=0;n<5;n++)e=this._compileAndRun(t,[e]);return e}))}_computeLocalization(e,t){if(!this.kernelCaches.computeLocalization){const n=[];let r="float getPixel(int octave, int y, int x) {";for(let e=1;e{const n=this.kernelCaches.computeLocalization[0],s=r.tensor(e,[e.length,e[0].length],"int32"),a=this._compileAndRun(n,[...t.slice(1),s]).arraySync(),i=[];for(let e=0;e{const{reductionKernels:r}=this.kernelCaches.applyPrune;for(let s=0;s=1&&m>t[f][g-1];)g-=1;if(g<5){for(let e=4;e>=g+1;e--)t[f][e]=t[f][e-1],n[f][e][0]=n[f][e-1][0],n[f][e][1]=n[f][e-1][1],n[f][e][2]=n[f][e-1][2],n[f][e][3]=n[f][e-1][3];t[f][g]=m,n[f][g][0]=a,n[f][g][1]=o,n[f][g][2]=c,n[f][g][3]=u}}}}));const s=[];for(let e=0;e<100;e++)for(let t=0;t<5;t++)s.push(n[e][t]);return s}_buildExtremas(e,t,n){const s=t.shape[0],a=t.shape[1],i="w"+a;if(this.kernelCaches.buildExtremas||(this.kernelCaches.buildExtremas={}),!this.kernelCaches.buildExtremas[i]){const e={variableNames:["image0","image1","image2"],outputShape:[s,a],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int y = coords[0];\n\t int x = coords[1];\n\n\t float value = getImage1(y, x);\n\n\t // Step 1: find local maxima/minima\n\t if (value * value < 9.) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (y < 7 || y > ${s-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (x < 7 || x > ${a-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t bool isMax = true;\n\t bool isMin = true;\n\t for (int dy = -1; dy <= 1; dy++) {\n\t for (int dx = -1; dx <= 1; dx++) {\n\t float value0 = getImage0(y+dy, x+dx);\n\t float value1 = getImage1(y+dy, x+dx);\n\t float value2 = getImage2(y+dy, x+dx);\n\n\t\tif (value < value0 || value < value1 || value < value2) {\n\t\t isMax = false;\n\t\t}\n\t\tif (value > value0 || value > value1 || value > value2) {\n\t\t isMin = false;\n\t\t}\n\t }\n\t }\n\n\t if (!isMax && !isMin) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t // compute edge score and reject based on threshold\n\t float dxx = getImage1(y, x+1) + getImage1(y, x-1) - 2. * getImage1(y, x);\n\t float dyy = getImage1(y+1, x) + getImage1(y-1, x) - 2. * getImage1(y, x);\n\t float dxy = 0.25 * (getImage1(y-1,x-1) + getImage1(y+1,x+1) - getImage1(y-1,x+1) - getImage1(y+1,x-1));\n\n\t float det = (dxx * dyy) - (dxy * dxy);\n\n\t if (abs(det) < 0.0001) { // determinant undefined. no solution\n\t setOutput(0.);\n\t return;\n\t }\n\n\t float edgeScore = (dxx + dyy) * (dxx + dyy) / det;\n\n\t if (abs(edgeScore) >= 6.25 ) {\n\t setOutput(0.);\n\t return;\n\t }\n\t setOutput(getImage1(y,x));\n\t }\n\t`};this.kernelCaches.buildExtremas[i]=e}return r.tidy((()=>{const r=this.kernelCaches.buildExtremas[i];return e=this._downsampleBilinear(e),n=this._upsampleBilinear(n,t),this._compileAndRun(r,[e,t,n])}))}_differenceImageBinomial(e,t){return r.tidy((()=>e.sub(t)))}_applyFilter(e){const t=e.shape[0],n=e.shape[1],s="w"+n;if(this.kernelCaches.applyFilter||(this.kernelCaches.applyFilter={}),!this.kernelCaches.applyFilter[s]){const e={variableNames:["p"],outputShape:[t,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0], coords[1]-2);\n\t sum += getP(coords[0], coords[1]-1) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0], coords[1]+1) * 4.;\n\t sum += getP(coords[0], coords[1]+2);\n\t setOutput(sum);\n\t }\n\t"},r={variableNames:["p"],outputShape:[t,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0]-2, coords[1]);\n\t sum += getP(coords[0]-1, coords[1]) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0]+1, coords[1]) * 4.;\n\t sum += getP(coords[0]+2, coords[1]);\n\t sum /= 256.;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.applyFilter[s]=[e,r]}return r.tidy((()=>{const[t,n]=this.kernelCaches.applyFilter[s],r=this._compileAndRun(t,[e]);return this._compileAndRun(n,[r])}))}_upsampleBilinear(e,t){e.shape[0];const n="w"+e.shape[1];if(this.kernelCaches.upsampleBilinear||(this.kernelCaches.upsampleBilinear={}),!this.kernelCaches.upsampleBilinear[n]){const e={variableNames:["p"],outputShape:[t.shape[0],t.shape[1]],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int j = coords[0];\n\t int i = coords[1];\n\n\t float sj = 0.5 * float(j) - 0.25; \n\t float si = 0.5 * float(i) - 0.25;\n\n\t float sj0 = floor(sj);\n\t float sj1 = ceil(sj);\n\t float si0 = floor(si);\n\t float si1 = ceil(si);\n\n\t int sj0I = int(sj0);\n\t int sj1I = int(sj1);\n\t int si0I = int(si0);\n\t int si1I = int(si1);\n\n\t float sum = 0.0;\n\t sum += getP(sj0I, si0I) * (si1 - si) * (sj1 - sj);\n\t sum += getP(sj1I, si0I) * (si1 - si) * (sj - sj0);\n\t sum += getP(sj0I, si1I) * (si - si0) * (sj1 - sj);\n\t sum += getP(sj1I, si1I) * (si - si0) * (sj - sj0);\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.upsampleBilinear[n]=e}return r.tidy((()=>{const t=this.kernelCaches.upsampleBilinear[n];return this._compileAndRun(t,[e])}))}_downsampleBilinear(e){const t=e.shape[0],n=e.shape[1],s="w"+n;if(this.kernelCaches.downsampleBilinear||(this.kernelCaches.downsampleBilinear={}),!this.kernelCaches.downsampleBilinear[s]){const e={variableNames:["p"],outputShape:[Math.floor(t/2),Math.floor(n/2)],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int y = coords[0] * 2;\n\t int x = coords[1] * 2;\n\n\t float sum = getP(y, x) * 0.25;\n\t sum += getP(y+1,x) * 0.25; \n\t sum += getP(y, x+1) * 0.25; \n\t sum += getP(y+1,x+1) * 0.25;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.downsampleBilinear[s]=e}return r.tidy((()=>{const t=this.kernelCaches.downsampleBilinear[s];return this._compileAndRun(t,[e])}))}_compileAndRun(e,t){const n=r.backend().compileAndRun(e,t);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(e,t,n){const s=r.backend().runWebGLProgram(e,t,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2793:e=>{const t=[{sigma:.55,points:[[-1,0],[-.5,-.866025],[.5,-.866025],[1,-0],[.5,.866025],[-.5,.866025]]},{sigma:.475,points:[[0,.930969],[-.806243,.465485],[-.806243,-.465485],[-0,-.930969],[.806243,-.465485],[.806243,.465485]]},{sigma:.4,points:[[.847306,-0],[.423653,.733789],[-.423653,.733789],[-.847306,0],[-.423653,-.733789],[.423653,-.733789]]},{sigma:.325,points:[[-0,-.741094],[.641806,-.370547],[.641806,.370547],[0,.741094],[-.641806,.370547],[-.641806,-.370547]]},{sigma:.25,points:[[-.595502,0],[-.297751,-.51572],[.297751,-.51572],[.595502,-0],[.297751,.51572],[-.297751,.51572]]},{sigma:.175,points:[[0,.362783],[-.314179,.181391],[-.314179,-.181391],[-0,-.362783],[.314179,-.181391],[.314179,.181391]]},{sigma:.1,points:[[0,0]]}],n=[];for(let e=0;e{const t=(e,t,n,r)=>({x:e[0][0]*t+e[0][1]*n+e[0][3],y:e[1][0]*t+e[1][1]*n+e[1][3],z:e[2][0]*t+e[2][1]*n+e[2][3]});e.exports={buildModelViewProjectionTransform:(e,t)=>[[e[0][0]*t[0][0]+e[0][2]*t[2][0],e[0][0]*t[0][1]+e[0][2]*t[2][1],e[0][0]*t[0][2]+e[0][2]*t[2][2],e[0][0]*t[0][3]+e[0][2]*t[2][3]],[e[1][1]*t[1][0]+e[1][2]*t[2][0],e[1][1]*t[1][1]+e[1][2]*t[2][1],e[1][1]*t[1][2]+e[1][2]*t[2][2],e[1][1]*t[1][3]+e[1][2]*t[2][3]],[t[2][0],t[2][1],t[2][2],t[2][3]]],applyModelViewProjectionTransform:t,computeScreenCoordiate:(e,n,r,s)=>{const{x:a,y:i,z:o}=t(e,n,r);return{x:a/o,y:i/o}}}},7508:(e,t,n)=>{const{resize:r}=n(9140);e.exports={buildImageList:e=>{const t=[];let n=100/Math.min(e.width,e.height);for(;;)if(t.push(n),n*=Math.pow(2,1/3),n>=.95){n=1;break}t.push(n),t.reverse();const s=[];for(let n=0;n{const t=Math.min(e.width,e.height),n=[],s=[];n.push(256/t),n.push(128/t);for(let t=0;t{const{Controller:r}=n(7957),{Compiler:s}=n(5217),{UI:a}=n(2749),i={Controller:r,Compiler:s,UI:a};window.MINDAR||(window.MINDAR={}),window.MINDAR.IMAGE=i,e.exports=i},7325:(e,t,n)=>{const r=n(4563);e.exports={InputLoader:class{constructor(e,t){this.width=e,this.height=t,this.texShape=[t,e];const n=document.createElement("canvas").getContext("2d");n.canvas.width=e,n.canvas.height=t,this.context=n,this.program=this.buildProgram(e,t);const s=r.backend();this.tempPixelHandle=s.makeTensorInfo(this.texShape,"float32"),s.texData.get(this.tempPixelHandle.dataId).usage=2}_loadInput(e){return r.tidy((()=>{let t=r.browser.fromPixels(e);return t=t.mean(2),t}))}loadInput(e){this.context.drawImage(e,0,0,this.width,this.height);const t=r.backend();return t.gpgpu.uploadPixelDataToTexture(t.getTexture(this.tempPixelHandle.dataId),this.context.canvas),this._compileAndRun(this.program,[this.tempPixelHandle])}buildProgram(e,t){const n=2===r.env().getNumber("WEBGL_VERSION")?"texture":"texture2D";return{variableNames:["A"],outputShape:this.texShape,userCode:`\n\tvoid main() {\n\t ivec2 coords = getOutputCoords();\n\t int texR = coords[0];\n\t int texC = coords[1];\n\t vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${e}.0, ${t}.0);\n\n\t vec4 values = ${n}(A, uv);\n\t setOutput((0.299 * values.r + 0.587 * values.g + 0.114 * values.b) * 255.0);\n\t}\n `}}_compileAndRun(e,t){const n=r.backend().compileAndRun(e,t);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(e,t,n){const s=r.backend().runWebGLProgram(e,t,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2233:e=>{e.exports={compute:e=>{const{v1:t,v2:n}=e;let r=0;for(let e=0;e>>0;r+=(a=void 0,((a=((a=((a=((a=(s=i)-(s>>1&1431655765))>>2&858993459)+(858993459&a))>>4)+a&252645135)>>8)+a&16711935)>>16)+a&65535)}var s,a;return r}}},723:(e,t,n)=>{const{compute:r}=n(2233),{createRandomizer:s}=n(6048),a=e=>{const{points:t,pointIndexes:n,centerPointIndex:s,randomizer:i}=e;let o=!1;(n.length<=8||n.length<=16)&&(o=!0);const l={};if(!o){const e=(e=>{const{points:t,pointIndexes:n,randomizer:s}=e,a=[];for(let e=0;e{u.children.push(a({points:t,pointIndexes:l[e],centerPointIndex:e,randomizer:i}))})),u};e.exports={build:({points:e})=>{const t=[];for(let n=0;n{const r=n(4563),{buildModelViewProjectionTransform:s,computeScreenCoordiate:a}=n(7420);e.exports={Tracker:class{constructor(e,t,n,r,s,a=!1){this.markerDimensions=e,this.trackingDataList=t,this.projectionTransform=n,this.debugMode=a,this.trackingKeyframeList=[];for(let e=0;e.8&&e= (${i} - 6) || sy < 6 || sy >= (${a} - 6)) {\n\t setOutput(-2.);\n\t } \n\t else {\n\t float sumPoint = 0.;\n\t float sumPointSquare = 0.;\n\t float sumTemplate = 0.;\n\t float sumTemplateSquare = 0.;\n\t float sumPointTemplate = 0.;\n\n\t for (int templateOffsetY = 0; templateOffsetY < 13; templateOffsetY++) {\n\t\tfor (int templateOffsetX = 0; templateOffsetX < 13; templateOffsetX++) {\n\t\t int fx2 = sCenterX + templateOffsetX - 6;\n\t\t int fy2 = sCenterY + templateOffsetY - 6;\n\n\t\t int sx2 = sx + templateOffsetX - 6;\n\t\t int sy2 = sy + templateOffsetY - 6;\n\n\t\t int markerPixelIndex = fy2 * markerWidth + fx2;\n\t\t float markerPixel = getMarkerPixels(markerPixelIndex);\n\t\t float targetPixel = getTargetPixels(sy2, sx2);\n\n\t\t sumTemplate += markerPixel;\n\t\t sumTemplateSquare += markerPixel * markerPixel;\n\t\t sumPoint += targetPixel;\n\t\t sumPointSquare += targetPixel * targetPixel;\n\t\t sumPointTemplate += targetPixel * markerPixel;\n\t\t}\n\t }\n\n\t // Normalized cross-correlation\n\t // !important divide first avoid overflow (e.g. sumPoint / count * sumPoint)\n\t float count = float(13 * 13);\n\t float pointVariance = sqrt(sumPointSquare - sumPoint / count * sumPoint);\n\t float templateVariance = sqrt(sumTemplateSquare - sumTemplate / count * sumTemplate);\n\n\t if (pointVariance < 0.0000001) {\n\t\tsetOutput(-3.);\n\t } else if (templateVariance < 0.0000001) {\n\t\t//setOutput(sumTemplate);\n\t\tsetOutput(-4.);\n\t } else {\n\t\tsumPointTemplate -= sumPoint / count * sumTemplate;\n\t\tfloat sim = sumPointTemplate / pointVariance / templateVariance; \n\t\tsetOutput(sim);\n\t }\n\t }\n\t }\n\t`},t={variableNames:["featurePoints","markerProperties","maxIndex"],outputShape:[o,2],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float markerScale = getMarkerProperties(2);\n\n\t int featureIndex = coords[0];\n\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t int searchLocationIndex = maxIndex / 441;\n\t int searchOffsetIndex = imod(maxIndex, 441);\n\n\t if (coords[1] == 0) {\n\t int searchOffsetX = imod(searchOffsetIndex, 21) * 1;\n\t setOutput(getFeaturePoints(featureIndex, 0) + float(searchOffsetX - 10) / markerScale);\n\t }\n\t else if (coords[1] == 1) {\n\t int searchOffsetY = searchOffsetIndex / 21 * 1;\n\t setOutput(getFeaturePoints(featureIndex, 1) + float(searchOffsetY - 10) / markerScale);\n\t }\n\t }\n\t"},n={variableNames:["sims","maxIndex"],outputShape:[o],userCode:"\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t setOutput(getSims(featureIndex, maxIndex));\n\t }\n\t"};this.kernelCaches.computeMatching=[e,t,n]}return r.tidy((()=>{const r=this.kernelCaches.computeMatching,a=this._compileAndRun(r[0],[e,t,n,s]),i=a.argMax(1);return{matchingPointsT:this._compileAndRun(r[1],[e,n,i]),simT:this._compileAndRun(r[2],[a,i])}}))}_computeProjection(e,t,n){const s=this.trackingKeyframeList[n].width,a=this.trackingKeyframeList[n].height,i=this.trackingKeyframeList[n].scale,o=s+"-"+a+"-"+i;if(this.kernelCaches.computeProjection||(this.kernelCaches.computeProjection={}),!this.kernelCaches.computeProjection[o]){const e={variableNames:["M","pixel"],outputShape:[a,s],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float m00 = getM(0, 0) * 1000.;\n\t float m01 = getM(0, 1) * 1000.;\n\t float m03 = getM(0, 3) * 1000.;\n\t float m10 = getM(1, 0) * 1000.;\n\t float m11 = getM(1, 1) * 1000.;\n\t float m13 = getM(1, 3) * 1000.;\n\t float m20 = getM(2, 0) * 1000.;\n\t float m21 = getM(2, 1) * 1000.;\n\t float m23 = getM(2, 3) * 1000.;\n\n\t float y = float(coords[0]) / float(${i});\n\t float x = float(coords[1]) / float(${i});\n\t float uz = (x * m20) + (y * m21) + m23;\n\t float oneOverUz = 1. / uz;\n\n\t float ux = (x * m00) + (y * m01) + m03;\n\t float uy = (x * m10) + (y * m11) + m13;\n\n\t ux = floor(ux * oneOverUz + 0.5);\n\t uy = floor(uy * oneOverUz + 0.5);\n\t setOutput(getPixel(int(uy), int(ux)));\n\t }\n\t`};this.kernelCaches.computeProjection[o]=e}return r.tidy((()=>{const n=this.kernelCaches.computeProjection[o];return this._compileAndRun(n,[e,t])}))}_buildAdjustedModelViewTransform(e){return r.tidy((()=>{let t=[];for(let n=0;n{const n=e.scale,s=[];for(let r=0;r{e.exports={downsampleBilinear:({image:e})=>{const{data:t,width:n,height:r}=e,s=Math.floor(n/2),a=Math.floor(r/2),i=new Float32Array(s*a),o=[0,1,n,n+1];for(let e=0;e{const{width:r,height:s,data:a}=e,i=2*e.width+(t?1:0),o=2*e.height+(n?1:0),l=new Float32Array(i*o);for(let e=0;e=r&&(u=r-1);for(let c=0;c=s&&(p=s-1);const d=(u-t)*(p-o)*a[h*r+n]+(u-t)*(o-h)*a[p*r+n]+(t-n)*(p-o)*a[h*r+u]+(t-n)*(o-h)*a[p*r+u];l[c*i+e]=d}}return{data:l,width:i,height:o}},resize:({image:e,ratio:t})=>{const n=Math.round(e.width*t),r=Math.round(e.height*t),s=new Uint8Array(n*r);for(let a=0;a=e.width&&(o=e.width-1);for(let l=0;l=e.height&&(u=e.height-1);let c=0,h=0;for(let t=i;t<=o;t++)for(let n=r;n<=u;n++)c+=1*e.data[n*e.width+t],h+=1;s[l*n+a]=Math.floor(c/h)}}return{data:s,width:n,height:r}}}},6048:e=>{e.exports={createRandomizer:()=>({seed:1234,arrayShuffle(e){const{arr:t,sampleSize:n}=e;for(let e=0;e>16&32767;n%=t.length;let r=t[e];t[e]=t[n],t[n]=r}},nextInt(e){this.seed=(214013*this.seed+2531011)%(1<<31);let t=this.seed>>16&32767;return t%=e,t}})}},344:e=>{const t=(e,t)=>{const n=2*Math.PI*t*e;return n/(n+1)},n=(e,t,n)=>e*t+(1-e)*n;e.exports={OneEuroFilter:class{constructor({minCutOff:e,beta:t}){this.minCutOff=e,this.beta=t,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(e,r){if(!this.initialized)return this.initialized=!0,this.xPrev=r,this.dxPrev=r.map((()=>0)),this.tPrev=e,r;const{xPrev:s,tPrev:a,dxPrev:i}=this,o=e-a,l=t(o,this.dCutOff),u=[],c=[],h=[];for(let e=0;e{n(4412);const r=n(9894).Z,s=n(7676).Z,a=n(2810).Z;e.exports={UI:class{constructor({uiLoading:e,uiScanning:t,uiError:n}){"yes"===e?this.loadingModal=this._loadHTML(r):"no"!==e&&(this.loadingModal=document.querySelector(e)),"yes"===n?this.compatibilityModal=this._loadHTML(s):"no"!==n&&(this.compatibilityModal=document.querySelector(n)),"yes"===t?this.scanningMask=this._loadHTML(a):"no"!==t&&(this.scanningMask=document.querySelector(t)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(e){const t=document.createElement("template");t.innerHTML=e.trim();const n=t.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(n),n}}}},3906:()=>{},2993:()=>{},8352:()=>{},4589:()=>{},1758:()=>{}},t={};function n(r){if(t[r])return t[r].exports;var s=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.amdD=function(){throw new Error("define cannot be used indirect")},n.amdO={},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="",n(5260)})(); \ No newline at end of file +(()=>{var e={1113:function(e){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(r,s,function(t){return e[t]}.bind(null,s));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"encode",(function(){return E})),n.d(t,"decode",(function(){return U})),n.d(t,"decodeAsync",(function(){return K})),n.d(t,"decodeArrayStream",(function(){return X})),n.d(t,"decodeStream",(function(){return Y})),n.d(t,"Decoder",(function(){return B})),n.d(t,"Encoder",(function(){return T})),n.d(t,"ExtensionCodec",(function(){return I})),n.d(t,"ExtData",(function(){return d})),n.d(t,"EXT_TIMESTAMP",(function(){return g})),n.d(t,"encodeDateToTimeSpec",(function(){return b})),n.d(t,"encodeTimeSpecToTimestamp",(function(){return y})),n.d(t,"decodeTimestampToTimeSpec",(function(){return w})),n.d(t,"encodeTimestampExtension",(function(){return x})),n.d(t,"decodeTimestampExtension",(function(){return v}));var r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,s,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){s={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}return i},s=function(){for(var e=[],t=0;t=55296&&s<=56319&&r65535&&(h-=65536,i.push(h>>>10&1023|55296),h=56320|1023&h),i.push(h)}else i.push(l);i.length>=4096&&(o+=String.fromCharCode.apply(String,s(i)),i.length=0)}return i.length>0&&(o+=String.fromCharCode.apply(String,s(i))),o}var h=a?new TextDecoder:null,p="undefined"!=typeof process?200:0,d=function(e,t){this.type=e,this.data=t};function f(e,t,n){var r=Math.floor(n/4294967296),s=n;e.setUint32(t,r),e.setUint32(t+4,s)}function m(e,t){return 4294967296*e.getInt32(t)+e.getUint32(t+4)}var g=-1;function y(e){var t,n=e.sec,r=e.nsec;if(n>=0&&r>=0&&n<=17179869183){if(0===r&&n<=4294967295){var s=new Uint8Array(4);return(t=new DataView(s.buffer)).setUint32(0,n),s}var a=n/4294967296,i=4294967295&n;return s=new Uint8Array(8),(t=new DataView(s.buffer)).setUint32(0,r<<2|3&a),t.setUint32(4,i),s}return s=new Uint8Array(12),(t=new DataView(s.buffer)).setUint32(0,r),f(t,4,n),s}function b(e){var t=e.getTime(),n=Math.floor(t/1e3),r=1e6*(t-1e3*n),s=Math.floor(r/1e9);return{sec:n+s,nsec:r-1e9*s}}function x(e){return e instanceof Date?y(b(e)):null}function w(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:var n=t.getUint32(0);return{sec:4294967296*(3&n)+t.getUint32(4),nsec:n>>>2};case 12:return{sec:m(t,4),nsec:t.getUint32(0)};default:throw new Error("Unrecognized data size for timestamp: "+e.length)}}function v(e){var t=w(e);return new Date(1e3*t.sec+t.nsec/1e6)}var k={type:g,encode:x,decode:v},I=function(){function e(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(k)}return e.prototype.register=function(e){var t=e.type,n=e.encode,r=e.decode;if(t>=0)this.encoders[t]=n,this.decoders[t]=r;else{var s=1+t;this.builtInEncoders[s]=n,this.builtInDecoders[s]=r}},e.prototype.tryToEncode=function(e,t){for(var n=0;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},T=function(){function e(e,t,n,r,s,a,i){void 0===e&&(e=I.defaultCodec),void 0===n&&(n=100),void 0===r&&(r=2048),void 0===s&&(s=!1),void 0===a&&(a=!1),void 0===i&&(i=!1),this.extensionCodec=e,this.context=t,this.maxDepth=n,this.initialBufferSize=r,this.sortKeys=s,this.forceFloat32=a,this.ignoreUndefined=i,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}return e.prototype.encode=function(e,t){if(t>this.maxDepth)throw new Error("Too deep objects in depth "+t);null==e?this.encodeNil():"boolean"==typeof e?this.encodeBoolean(e):"number"==typeof e?this.encodeNumber(e):"string"==typeof e?this.encodeString(e):this.encodeObject(e,t)},e.prototype.getUint8Array=function(){return this.bytes.subarray(0,this.pos)},e.prototype.ensureBufferSizeToWrite=function(e){var t=this.pos+e;this.view.byteLength=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):(this.writeU8(211),this.writeI64(e)):this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))},e.prototype.writeStringHeader=function(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too long string: "+e+" bytes in UTF-8");this.writeU8(219),this.writeU32(e)}},e.prototype.encodeString=function(e){var t=e.length;if(a&&t>l){var n=i(e);this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),u(e,this.bytes,this.pos),this.pos+=n}else n=i(e),this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),function(e,t,n){for(var r=e.length,s=n,a=0;a>6&31|192;else{if(i>=55296&&i<=56319&&a>12&15|224,t[s++]=i>>6&63|128):(t[s++]=i>>18&7|240,t[s++]=i>>12&63|128,t[s++]=i>>6&63|128)}t[s++]=63&i|128}else t[s++]=i}}(e,this.bytes,this.pos),this.pos+=n},e.prototype.encodeObject=function(e,t){var n=this.extensionCodec.tryToEncode(e,this.context);if(null!=n)this.encodeExtension(n);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else{if("object"!=typeof e)throw new Error("Unrecognized object: "+Object.prototype.toString.apply(e));this.encodeMap(e,t)}},e.prototype.encodeBinary=function(e){var t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large binary: "+t);this.writeU8(198),this.writeU32(t)}var n=N(e);this.writeU8a(n)},e.prototype.encodeArray=function(e,t){var n,r,s=e.length;if(s<16)this.writeU8(144+s);else if(s<65536)this.writeU8(220),this.writeU16(s);else{if(!(s<4294967296))throw new Error("Too large array: "+s);this.writeU8(221),this.writeU32(s)}try{for(var a=S(e),i=a.next();!i.done;i=a.next()){var o=i.value;this.encode(o,t+1)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}},e.prototype.countWithoutUndefined=function(e,t){var n,r,s=0;try{for(var a=S(t),i=a.next();!i.done;i=a.next())void 0!==e[i.value]&&s++}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return s},e.prototype.encodeMap=function(e,t){var n,r,s=Object.keys(e);this.sortKeys&&s.sort();var a=this.ignoreUndefined?this.countWithoutUndefined(e,s):s.length;if(a<16)this.writeU8(128+a);else if(a<65536)this.writeU8(222),this.writeU16(a);else{if(!(a<4294967296))throw new Error("Too large map object: "+a);this.writeU8(223),this.writeU32(a)}try{for(var i=S(s),o=i.next();!o.done;o=i.next()){var l=o.value,u=e[l];this.ignoreUndefined&&void 0===u||(this.encodeString(l),this.encode(u,t+1))}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},e.prototype.encodeExtension=function(e){var t=e.data.length;if(1===t)this.writeU8(212);else if(2===t)this.writeU8(213);else if(4===t)this.writeU8(214);else if(8===t)this.writeU8(215);else if(16===t)this.writeU8(216);else if(t<256)this.writeU8(199),this.writeU8(t);else if(t<65536)this.writeU8(200),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large extension object: "+t);this.writeU8(201),this.writeU32(t)}this.writeI8(e.type),this.writeU8a(e.data)},e.prototype.writeU8=function(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++},e.prototype.writeU8a=function(e){var t=e.length;this.ensureBufferSizeToWrite(t),this.bytes.set(e,this.pos),this.pos+=t},e.prototype.writeI8=function(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++},e.prototype.writeU16=function(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2},e.prototype.writeI16=function(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2},e.prototype.writeU32=function(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4},e.prototype.writeI32=function(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4},e.prototype.writeF32=function(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4},e.prototype.writeF64=function(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8},e.prototype.writeU64=function(e){this.ensureBufferSizeToWrite(8),function(e,t,n){var r=n/4294967296,s=n;e.setUint32(t,r),e.setUint32(t+4,s)}(this.view,this.pos,e),this.pos+=8},e.prototype.writeI64=function(e){this.ensureBufferSizeToWrite(8),f(this.view,this.pos,e),this.pos+=8},e}(),C={};function E(e,t){void 0===t&&(t=C);var n=new T(t.extensionCodec,t.context,t.maxDepth,t.initialBufferSize,t.sortKeys,t.forceFloat32,t.ignoreUndefined);return n.encode(e,1),n.getUint8Array()}function $(e){return(e<0?"-":"")+"0x"+Math.abs(e).toString(16).padStart(2,"0")}var A=function(){function e(e,t){void 0===e&&(e=16),void 0===t&&(t=16),this.maxKeyLength=e,this.maxLengthPerKey=t,this.caches=[];for(var n=0;n0&&e<=this.maxKeyLength},e.prototype.get=function(e,t,n){var r=this.caches[n-1],s=r.length;e:for(var a=0;a=this.maxLengthPerKey?n[Math.random()*n.length|0]=r:n.push(r)},e.prototype.decode=function(e,t,n){var r=this.get(e,t,n);if(null!=r)return r;var s=c(e,t,n),a=Uint8Array.prototype.slice.call(e,t,t+n);return this.store(a,s),s},e}(),R=function(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&a[0]?r.return:a[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;switch(r=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((s=(s=i.trys).length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]1||o(e,t)}))})}function o(e,t){try{(n=s[e](t)).value instanceof F?Promise.resolve(n.value.v).then(l,u):c(a[0][2],n)}catch(e){c(a[0][3],e)}var n}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}},_=new DataView(new ArrayBuffer(0)),O=new Uint8Array(_.buffer),L=function(){try{_.getInt8(0)}catch(e){return e.constructor}throw new Error("never reached")}(),z=new L("Insufficient data"),P=new A,B=function(){function e(e,t,n,r,s,a,i,o){void 0===e&&(e=I.defaultCodec),void 0===n&&(n=4294967295),void 0===r&&(r=4294967295),void 0===s&&(s=4294967295),void 0===a&&(a=4294967295),void 0===i&&(i=4294967295),void 0===o&&(o=P),this.extensionCodec=e,this.context=t,this.maxStrLength=n,this.maxBinLength=r,this.maxArrayLength=s,this.maxMapLength=a,this.maxExtLength=i,this.cachedKeyDecoder=o,this.totalPos=0,this.pos=0,this.view=_,this.bytes=O,this.headByte=-1,this.stack=[]}return e.prototype.setBuffer=function(e){this.bytes=N(e),this.view=function(e){if(e instanceof ArrayBuffer)return new DataView(e);var t=N(e);return new DataView(t.buffer,t.byteOffset,t.byteLength)}(this.bytes),this.pos=0},e.prototype.appendBuffer=function(e){if(-1!==this.headByte||this.hasRemaining()){var t=this.bytes.subarray(this.pos),n=N(e),r=new Uint8Array(t.length+n.length);r.set(t),r.set(n,t.length),this.setBuffer(r)}else this.setBuffer(e)},e.prototype.hasRemaining=function(e){return void 0===e&&(e=1),this.view.byteLength-this.pos>=e},e.prototype.createNoExtraBytesError=function(e){var t=this.view,n=this.pos;return new RangeError("Extra "+(t.byteLength-n)+" byte(s) found at buffer["+e+"]")},e.prototype.decodeSingleSync=function(){var e=this.decodeSync();if(this.hasRemaining())throw this.createNoExtraBytesError(this.pos);return e},e.prototype.decodeSingleAsync=function(e){var t,n,r,s;return function(e,t,n,r){return new(n||(n=Promise))((function(s,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,o)}l((r=r.apply(e,t||[])).next())}))}(this,void 0,void 0,(function(){var a,i,o,l,u,c,h,p;return R(this,(function(d){switch(d.label){case 0:a=!1,d.label=1;case 1:d.trys.push([1,6,7,12]),t=M(e),d.label=2;case 2:return[4,t.next()];case 3:if((n=d.sent()).done)return[3,5];if(o=n.value,a)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(o);try{i=this.decodeSync(),a=!0}catch(e){if(!(e instanceof L))throw e}this.totalPos+=this.pos,d.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return l=d.sent(),r={error:l},[3,12];case 7:return d.trys.push([7,,10,11]),n&&!n.done&&(s=t.return)?[4,s.call(t)]:[3,9];case 8:d.sent(),d.label=9;case 9:return[3,11];case 10:if(r)throw r.error;return[7];case 11:return[7];case 12:if(a){if(this.hasRemaining())throw this.createNoExtraBytesError(this.totalPos);return[2,i]}throw c=(u=this).headByte,h=u.pos,p=u.totalPos,new RangeError("Insufficient data in parcing "+$(c)+" at "+p+" ("+h+" in the current buffer)")}}))}))},e.prototype.decodeArrayStream=function(e){return this.decodeMultiAsync(e,!0)},e.prototype.decodeStream=function(e){return this.decodeMultiAsync(e,!1)},e.prototype.decodeMultiAsync=function(e,t){return D(this,arguments,(function(){var n,r,s,a,i,o,l,u,c;return R(this,(function(h){switch(h.label){case 0:n=t,r=-1,h.label=1;case 1:h.trys.push([1,13,14,19]),s=M(e),h.label=2;case 2:return[4,F(s.next())];case 3:if((a=h.sent()).done)return[3,12];if(i=a.value,t&&0===r)throw this.createNoExtraBytesError(this.totalPos);this.appendBuffer(i),n&&(r=this.readArraySize(),n=!1,this.complete()),h.label=4;case 4:h.trys.push([4,9,,10]),h.label=5;case 5:return[4,F(this.decodeSync())];case 6:return[4,h.sent()];case 7:return h.sent(),0==--r?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((o=h.sent())instanceof L))throw o;return[3,10];case 10:this.totalPos+=this.pos,h.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return l=h.sent(),u={error:l},[3,19];case 14:return h.trys.push([14,,17,18]),a&&!a.done&&(c=s.return)?[4,F(c.call(s))]:[3,16];case 15:h.sent(),h.label=16;case 16:return[3,18];case 17:if(u)throw u.error;return[7];case 18:return[7];case 19:return[2]}}))}))},e.prototype.decodeSync=function(){e:for(;;){var e=this.readHeadByte(),t=void 0;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){if(0!=(r=e-128)){this.pushMapState(r),this.complete();continue e}t={}}else if(e<160){if(0!=(r=e-144)){this.pushArrayState(r),this.complete();continue e}t=[]}else{var n=e-160;t=this.decodeUtf8String(n,0)}else if(192===e)t=null;else if(194===e)t=!1;else if(195===e)t=!0;else if(202===e)t=this.readF32();else if(203===e)t=this.readF64();else if(204===e)t=this.readU8();else if(205===e)t=this.readU16();else if(206===e)t=this.readU32();else if(207===e)t=this.readU64();else if(208===e)t=this.readI8();else if(209===e)t=this.readI16();else if(210===e)t=this.readI32();else if(211===e)t=this.readI64();else if(217===e)n=this.lookU8(),t=this.decodeUtf8String(n,1);else if(218===e)n=this.lookU16(),t=this.decodeUtf8String(n,2);else if(219===e)n=this.lookU32(),t=this.decodeUtf8String(n,4);else if(220===e){if(0!==(r=this.readU16())){this.pushArrayState(r),this.complete();continue e}t=[]}else if(221===e){if(0!==(r=this.readU32())){this.pushArrayState(r),this.complete();continue e}t=[]}else if(222===e){if(0!==(r=this.readU16())){this.pushMapState(r),this.complete();continue e}t={}}else if(223===e){if(0!==(r=this.readU32())){this.pushMapState(r),this.complete();continue e}t={}}else if(196===e){var r=this.lookU8();t=this.decodeBinary(r,1)}else if(197===e)r=this.lookU16(),t=this.decodeBinary(r,2);else if(198===e)r=this.lookU32(),t=this.decodeBinary(r,4);else if(212===e)t=this.decodeExtension(1,0);else if(213===e)t=this.decodeExtension(2,0);else if(214===e)t=this.decodeExtension(4,0);else if(215===e)t=this.decodeExtension(8,0);else if(216===e)t=this.decodeExtension(16,0);else if(199===e)r=this.lookU8(),t=this.decodeExtension(r,1);else if(200===e)r=this.lookU16(),t=this.decodeExtension(r,2);else{if(201!==e)throw new Error("Unrecognized type byte: "+$(e));r=this.lookU32(),t=this.decodeExtension(r,4)}this.complete();for(var s=this.stack;s.length>0;){var a=s[s.length-1];if(0===a.type){if(a.array[a.position]=t,a.position++,a.position!==a.size)continue e;s.pop(),t=a.array}else{if(1===a.type){if(void 0,"string"!=(i=typeof t)&&"number"!==i)throw new Error("The type of key must be string or number but "+typeof t);a.key=t,a.type=2;continue e}if(a.map[a.key]=t,a.readCount++,a.readCount!==a.size){a.key=null,a.type=1;continue e}s.pop(),t=a.map}}return t}var i},e.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},e.prototype.complete=function(){this.headByte=-1},e.prototype.readArraySize=function(){var e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;throw new Error("Unrecognized array type byte: "+$(e))}},e.prototype.pushMapState=function(e){if(e>this.maxMapLength)throw new Error("Max length exceeded: map length ("+e+") > maxMapLengthLength ("+this.maxMapLength+")");this.stack.push({type:1,size:e,key:null,readCount:0,map:{}})},e.prototype.pushArrayState=function(e){if(e>this.maxArrayLength)throw new Error("Max length exceeded: array length ("+e+") > maxArrayLength ("+this.maxArrayLength+")");this.stack.push({type:0,size:e,array:new Array(e),position:0})},e.prototype.decodeUtf8String=function(e,t){var n;if(e>this.maxStrLength)throw new Error("Max length exceeded: UTF-8 byte length ("+e+") > maxStrLength ("+this.maxStrLength+")");if(this.bytes.byteLengthp?function(e,t,n){var r=e.subarray(t,t+n);return h.decode(r)}(this.bytes,s,e):c(this.bytes,s,e),this.pos+=t+e,r},e.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},e.prototype.decodeBinary=function(e,t){if(e>this.maxBinLength)throw new Error("Max length exceeded: bin length ("+e+") > maxBinLength ("+this.maxBinLength+")");if(!this.hasRemaining(e+t))throw z;var n=this.pos+t,r=this.bytes.subarray(n,n+e);return this.pos+=t+e,r},e.prototype.decodeExtension=function(e,t){if(e>this.maxExtLength)throw new Error("Max length exceeded: ext length ("+e+") > maxExtLength ("+this.maxExtLength+")");var n=this.view.getInt8(this.pos+t),r=this.decodeBinary(e,t+1);return this.extensionCodec.decode(r,n,this.context)},e.prototype.lookU8=function(){return this.view.getUint8(this.pos)},e.prototype.lookU16=function(){return this.view.getUint16(this.pos)},e.prototype.lookU32=function(){return this.view.getUint32(this.pos)},e.prototype.readU8=function(){var e=this.view.getUint8(this.pos);return this.pos++,e},e.prototype.readI8=function(){var e=this.view.getInt8(this.pos);return this.pos++,e},e.prototype.readU16=function(){var e=this.view.getUint16(this.pos);return this.pos+=2,e},e.prototype.readI16=function(){var e=this.view.getInt16(this.pos);return this.pos+=2,e},e.prototype.readU32=function(){var e=this.view.getUint32(this.pos);return this.pos+=4,e},e.prototype.readI32=function(){var e=this.view.getInt32(this.pos);return this.pos+=4,e},e.prototype.readU64=function(){var e,t,n=(e=this.view,t=this.pos,4294967296*e.getUint32(t)+e.getUint32(t+4));return this.pos+=8,n},e.prototype.readI64=function(){var e=m(this.view,this.pos);return this.pos+=8,e},e.prototype.readF32=function(){var e=this.view.getFloat32(this.pos);return this.pos+=4,e},e.prototype.readF64=function(){var e=this.view.getFloat64(this.pos);return this.pos+=8,e},e}(),V={};function U(e,t){void 0===t&&(t=V);var n=new B(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength);return n.setBuffer(e),n.decodeSingleSync()}var W=function(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&a[0]?r.return:a[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;switch(r=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((s=(s=i.trys).length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]1||o(e,t)}))})}function o(e,t){try{(n=s[e](t)).value instanceof G?Promise.resolve(n.value.v).then(l,u):c(a[0][2],n)}catch(e){c(a[0][3],e)}var n}function l(e){o("next",e)}function u(e){o("throw",e)}function c(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}};function j(e){if(null==e)throw new Error("Assertion Failure: value must not be null nor undefined")}function q(e){return null!=e[Symbol.asyncIterator]?e:function(e){return H(this,arguments,(function(){var t,n,r,s;return W(this,(function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,G(t.read())];case 3:return n=a.sent(),r=n.done,s=n.value,r?[4,G(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return j(s),[4,G(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}(e)}function K(e,t){return void 0===t&&(t=V),function(e,t,n,r){return new(n||(n=Promise))((function(s,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,o)}l((r=r.apply(e,t||[])).next())}))}(this,void 0,void 0,(function(){var n;return function(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&a[0]?r.return:a[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;switch(r=0,s&&(a=[2&a[0],s.value]),a[0]){case 0:case 1:s=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((s=(s=i.trys).length>0&&s[s.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!s||a[1]>s[0]&&a[1]{"use strict";n.r(t),n.d(t,{Abs:()=>Ye,Acos:()=>Ze,Acosh:()=>Je,AdadeltaOptimizer:()=>Nl,AdagradOptimizer:()=>Tl,AdamOptimizer:()=>$l,AdamaxOptimizer:()=>Ml,Add:()=>Qe,AddN:()=>et,All:()=>tt,Any:()=>nt,ArgMax:()=>rt,ArgMin:()=>st,Asin:()=>at,Asinh:()=>it,Atan:()=>ot,Atan2:()=>ut,Atanh:()=>lt,AvgPool:()=>ct,AvgPool3D:()=>pt,AvgPool3DGrad:()=>dt,AvgPoolGrad:()=>ht,BatchMatMul:()=>ft,BatchToSpaceND:()=>mt,Bincount:()=>gt,BroadcastArgs:()=>bt,BroadcastTo:()=>yt,Callback:()=>kI,CallbackList:()=>kb,Cast:()=>xt,Ceil:()=>wt,ClipByValue:()=>vt,Complex:()=>kt,ComplexAbs:()=>It,Concat:()=>Nt,Conv2D:()=>St,Conv2DBackpropFilter:()=>Tt,Conv2DBackpropInput:()=>Ct,Conv3D:()=>Et,Conv3DBackpropFilterV2:()=>$t,Conv3DBackpropInputV2:()=>At,Cos:()=>Rt,Cosh:()=>Mt,CropAndResize:()=>Dt,Cumsum:()=>Ft,CustomCallback:()=>Sb,DataStorage:()=>j,DenseBincount:()=>_t,DepthToSpace:()=>Ot,DepthwiseConv2dNative:()=>Lt,DepthwiseConv2dNativeBackpropFilter:()=>zt,DepthwiseConv2dNativeBackpropInput:()=>Pt,Diag:()=>Bt,Dilation2D:()=>Vt,Dilation2DBackpropFilter:()=>Wt,Dilation2DBackpropInput:()=>Ut,ENV:()=>qe,EarlyStopping:()=>SI,Einsum:()=>Ht,Elu:()=>jt,EluGrad:()=>qt,Environment:()=>We,Equal:()=>Xt,Erf:()=>Kt,Exp:()=>Yt,ExpandDims:()=>Zt,Expm1:()=>Jt,FFT:()=>Qt,Fill:()=>en,FlipLeftRight:()=>tn,Floor:()=>nn,FloorDiv:()=>rn,FromPixels:()=>Zr,FusedBatchNorm:()=>sn,FusedConv2D:()=>es,FusedDepthwiseConv2D:()=>ts,GatherNd:()=>on,GatherV2:()=>an,GraphModel:()=>VN,Greater:()=>ln,GreaterEqual:()=>un,History:()=>Nb,IFFT:()=>hn,Identity:()=>cn,Imag:()=>pn,InputSpec:()=>ub,IsFinite:()=>dn,IsInf:()=>fn,IsNan:()=>mn,KernelBackend:()=>q,LRN:()=>Tn,LRNGrad:()=>Cn,LayerVariable:()=>ib,LayersModel:()=>Ax,LeakyRelu:()=>gn,Less:()=>yn,LessEqual:()=>bn,LinSpace:()=>xn,Log:()=>wn,Log1p:()=>vn,LogSoftmax:()=>Sn,LogicalAnd:()=>kn,LogicalNot:()=>In,LogicalOr:()=>Nn,Max:()=>En,MaxPool:()=>An,MaxPool3D:()=>Mn,MaxPool3DGrad:()=>Fn,MaxPoolGrad:()=>Rn,MaxPoolWithArgmax:()=>Dn,Maximum:()=>$n,Mean:()=>_n,Min:()=>On,Minimum:()=>Ln,MirrorPad:()=>zn,Mod:()=>Pn,MomentumOptimizer:()=>Dl,Multinomial:()=>Bn,Multiply:()=>Vn,Neg:()=>Un,NonMaxSuppressionV3:()=>Gn,NonMaxSuppressionV4:()=>Hn,NonMaxSuppressionV5:()=>jn,NotEqual:()=>Wn,OP_SCOPE_SUFFIX:()=>Sa,OneHot:()=>Kn,OnesLike:()=>qn,Optimizer:()=>Il,OptimizerConstructors:()=>Ol,Pack:()=>Xn,PadV2:()=>Yn,Pool:()=>Zn,Pow:()=>Jn,Prelu:()=>Qn,Prod:()=>er,RMSPropOptimizer:()=>_l,RNN:()=>Ow,Range:()=>tr,Rank:()=>Ys,Real:()=>nr,RealDiv:()=>Gt,Reciprocal:()=>rr,Reduction:()=>od,Relu:()=>sr,Relu6:()=>cr,Reshape:()=>ar,ResizeBilinear:()=>lr,ResizeBilinearGrad:()=>ur,ResizeNearestNeighbor:()=>ir,ResizeNearestNeighborGrad:()=>or,Reverse:()=>hr,RotateWithOffset:()=>Jr,Round:()=>pr,Rsqrt:()=>dr,SGDOptimizer:()=>Fl,ScatterNd:()=>fr,Select:()=>mr,Selu:()=>gr,Sequential:()=>Fx,Sigmoid:()=>vr,Sign:()=>wr,Sin:()=>br,Sinh:()=>xr,Slice:()=>yr,Softmax:()=>Cr,Softplus:()=>kr,SpaceToBatchND:()=>Sr,SparseFillEmptyRows:()=>Er,SparseReshape:()=>$r,SparseSegmentMean:()=>Ar,SparseSegmentSum:()=>Rr,SparseToDense:()=>Mr,SplitV:()=>Tr,Sqrt:()=>Ir,Square:()=>Dr,SquaredDifference:()=>Fr,Step:()=>Yr,StridedSlice:()=>_r,StringNGrams:()=>Or,StringSplit:()=>Lr,StringToHashBucketFast:()=>zr,Sub:()=>Pr,Sum:()=>Nr,SymbolicTensor:()=>cb,Tan:()=>Br,Tanh:()=>Vr,Tensor:()=>qs,TensorBuffer:()=>Ws,Tile:()=>Ur,TopK:()=>Wr,Transform:()=>Gr,Transpose:()=>Hr,Unique:()=>jr,Unpack:()=>qr,UnsortedSegmentSum:()=>Kr,Variable:()=>Xs,ZerosLike:()=>Xr,_FusedMatMul:()=>Qr,abs:()=>Al,acos:()=>Ll,acosh:()=>zl,add:()=>ll,addN:()=>Pl,all:()=>Bl,any:()=>Vl,argMax:()=>Ul,argMin:()=>Wl,asin:()=>Gl,asinh:()=>Hl,atan:()=>jl,atan2:()=>ql,atanh:()=>Kl,avgPool:()=>cu,avgPool3d:()=>hu,backend:()=>il,backend_util:()=>y,basicLSTMCell:()=>gu,batchNorm:()=>bu,batchNorm2d:()=>xu,batchNorm3d:()=>wu,batchNorm4d:()=>vu,batchToSpaceND:()=>yu,bincount:()=>ku,booleanMaskAsync:()=>hp,broadcastArgs:()=>Iu,broadcastTo:()=>Nu,broadcast_util:()=>l,browser:()=>u,buffer:()=>Ni,callbacks:()=>TI,cast:()=>Si,ceil:()=>Su,clipByValue:()=>Tu,clone:()=>Ti,complex:()=>Ca,concat:()=>pu,concat1d:()=>Cu,concat2d:()=>Eu,concat3d:()=>$u,concat4d:()=>Au,constraints:()=>x,conv1d:()=>Mu,conv2d:()=>Ru,conv2dTranspose:()=>Du,conv3d:()=>_u,conv3dTranspose:()=>Lu,copyRegisteredKernels:()=>ds,cos:()=>zu,cosh:()=>Pu,cosineWindow:()=>wp,cumsum:()=>Bu,customGrad:()=>wl,data:()=>G,denseBincount:()=>Vu,deprecationWarn:()=>Go,depthToSpace:()=>Uu,depthwiseConv2d:()=>Wu,deregisterOp:()=>MI,device_util:()=>a,diag:()=>Gu,dilation2d:()=>Hu,disableDeprecationWarnings:()=>Wo,dispose:()=>Yo,disposeVariables:()=>Ho,div:()=>cl,divNoNan:()=>Ku,dot:()=>Xu,dropout:()=>bp,einsum:()=>Yu,elu:()=>Zu,enableDebugMode:()=>Uo,enableProdMode:()=>Vo,enclosingPowerOfTwo:()=>xp,engine:()=>jo,env:()=>He,equal:()=>ju,erf:()=>Ju,exp:()=>Qu,expandDims:()=>ec,expm1:()=>tc,eye:()=>rc,fft:()=>Vh,fill:()=>Sl,findBackend:()=>rl,findBackendFactory:()=>sl,floor:()=>sc,floorDiv:()=>ul,fused:()=>m,gather:()=>ac,gatherND:()=>yp,gather_util:()=>c,getBackend:()=>tl,getGradient:()=>os,getKernel:()=>is,getKernelsForBackend:()=>ls,grad:()=>ml,grads:()=>gl,greater:()=>ic,greaterEqual:()=>oc,ifft:()=>Uh,imag:()=>lc,image:()=>Td,inTopKAsync:()=>vp,initializers:()=>w,input:()=>Lx,io:()=>i,irfft:()=>Wh,isFinite:()=>uc,isInf:()=>cc,isNaN:()=>hc,keep:()=>Zo,kernel_impls:()=>b,layers:()=>v,leakyRelu:()=>pc,less:()=>dc,lessEqual:()=>fc,linalg:()=>Cd,linspace:()=>mc,loadGraphModel:()=>UN,loadLayersModel:()=>Ox,localResponseNormalization:()=>gc,log:()=>yc,log1p:()=>bc,logSigmoid:()=>vc,logSoftmax:()=>Nc,logSumExp:()=>Fc,logicalAnd:()=>Dc,logicalNot:()=>_c,logicalOr:()=>Oc,logicalXor:()=>Lc,losses:()=>Ed,matMul:()=>Hi,math:()=>o,max:()=>kc,maxPool:()=>zc,maxPool3d:()=>Pc,maxPoolWithArgmax:()=>Bc,maximum:()=>Rl,mean:()=>Vc,memory:()=>qo,meshgrid:()=>Gc,metrics:()=>k,min:()=>Hc,minimum:()=>jc,mirrorPad:()=>qc,mod:()=>Kc,model:()=>Dx,models:()=>I,moments:()=>Xc,movingAverage:()=>fp,mul:()=>hl,multiRNNCell:()=>Yc,multinomial:()=>Zc,neg:()=>xc,nextFrame:()=>Fd,norm:()=>dp,notEqual:()=>Jc,oneHot:()=>ji,ones:()=>Wc,onesLike:()=>Qc,op:()=>Ta,outerProduct:()=>eh,pad:()=>th,pad1d:()=>nh,pad2d:()=>rh,pad3d:()=>sh,pad4d:()=>ah,pool:()=>oh,pow:()=>Cl,prelu:()=>lh,print:()=>Ci,prod:()=>uh,profile:()=>Ko,rand:()=>ch,randomGamma:()=>mh,randomNormal:()=>gh,randomUniform:()=>yh,range:()=>bh,ready:()=>el,real:()=>xh,reciprocal:()=>wh,registerBackend:()=>al,registerCallbackConstructor:()=>zx,registerGradient:()=>cs,registerKernel:()=>us,registerOp:()=>AI,regularizers:()=>N,relu:()=>vh,relu6:()=>kh,removeBackend:()=>nl,reshape:()=>uu,reverse:()=>Ih,reverse1d:()=>Nh,reverse2d:()=>Sh,reverse3d:()=>Th,reverse4d:()=>Ch,rfft:()=>Hh,round:()=>Eh,rsqrt:()=>$h,scalar:()=>kl,scatterND:()=>mp,scatter_util:()=>h,selu:()=>Ah,separableConv2d:()=>Rh,sequential:()=>_x,serialization:()=>d,setBackend:()=>Qo,setPlatform:()=>ol,setdiff1dAsync:()=>Mh,sigmoid:()=>du,sign:()=>Fh,signal:()=>Sd,sin:()=>Dh,sinh:()=>_h,slice:()=>fu,slice1d:()=>Oh,slice2d:()=>Lh,slice3d:()=>zh,slice4d:()=>Ph,slice_util:()=>p,softmax:()=>Bh,softplus:()=>wc,spaceToBatchND:()=>ih,sparse:()=>$d,sparseToDense:()=>gp,spectral:()=>Nd,split:()=>Gh,sqrt:()=>pl,square:()=>dl,squaredDifference:()=>jh,squeeze:()=>qh,stack:()=>Kh,step:()=>Xh,stridedSlice:()=>Yh,string:()=>Ad,sub:()=>El,sum:()=>Ic,sumOutType:()=>ra,tan:()=>Zh,tanh:()=>mu,tensor:()=>$a,tensor1d:()=>Jh,tensor2d:()=>Qh,tensor3d:()=>Ji,tensor4d:()=>ep,tensor5d:()=>tp,tensor6d:()=>np,tensor_util:()=>s,test_util:()=>f,tidy:()=>Xo,tile:()=>nc,time:()=>Jo,topk:()=>rp,train:()=>Rd,transpose:()=>qi,truncatedNormal:()=>sp,unique:()=>ap,unregisterGradient:()=>ps,unregisterKernel:()=>hs,unsortedSegmentSum:()=>ip,unstack:()=>op,upcastType:()=>na,util:()=>r,valueAndGrad:()=>yl,valueAndGrads:()=>bl,variable:()=>lp,variableGrads:()=>xl,version:()=>jB,version_converter:()=>WN,version_core:()=>Bo,version_layers:()=>ax,where:()=>qu,whereAsync:()=>cp,zeros:()=>Uc,zerosLike:()=>fl});var r={};n.r(r),n.d(r,{arraysEqual:()=>ue,assert:()=>re,assertNonNegativeIntegerDimensions:()=>Pe,assertNonNull:()=>ae,assertShapesMatch:()=>se,bytesFromStringArray:()=>Te,bytesPerElement:()=>Se,checkConversionForErrors:()=>ve,clamp:()=>Z,computeStrides:()=>Fe,createScalarValue:()=>$s,createShuffledIndices:()=>de,decodeString:()=>Ds,distSquared:()=>ne,encodeString:()=>Fs,fetch:()=>Ms,fingerPrint64:()=>Es,flatten:()=>ie,getArrayFromDType:()=>we,getTypedArrayFromDType:()=>xe,hasEncodingLoss:()=>Ie,hexToLong:()=>ys,indexToLoc:()=>Ve,inferDtype:()=>Ae,inferFromImplicitShape:()=>ge,isBoolean:()=>Ee,isFunction:()=>Re,isInt:()=>ce,isNumber:()=>$e,isPromise:()=>Ue,isScalarShape:()=>le,isString:()=>Ce,isTypedArray:()=>Ne,isValidDtype:()=>ke,locToIndex:()=>Be,makeOnesTypedArray:()=>Oe,makeZerosNestedTypedArray:()=>ze,makeZerosTypedArray:()=>Le,nearestDivisor:()=>Me,nearestLargerEven:()=>J,now:()=>Rs,parseAxisParam:()=>ye,randUniform:()=>te,repeatedTry:()=>me,rightPad:()=>fe,shuffle:()=>X,shuffleCombo:()=>Y,sizeFromShape:()=>oe,sizeToSquarishShape:()=>pe,squeezeShape:()=>be,sum:()=>ee,swap:()=>Q,tanh:()=>he,toNestedArray:()=>_e,toTypedArray:()=>As});var s={};n.r(s),n.d(s,{assertTypesMatch:()=>aa,getTensorsInContainer:()=>oa,isTensorInList:()=>ia,makeTypesMatch:()=>sa});var a={};n.r(a),n.d(a,{isBrowser:()=>ba,isMobile:()=>ya,mockIsMobile:()=>ga});var i={};n.r(i),n.d(i,{browserFiles:()=>Ri,browserHTTPRequest:()=>Bi,concatenateArrayBuffers:()=>Oa,copyModel:()=>wi,decodeWeights:()=>Ma,encodeWeights:()=>Ra,fromMemory:()=>Wi,getLoadHandlers:()=>ja,getModelArtifactsForJSON:()=>Pa,getModelArtifactsInfoForJSON:()=>Ba,getSaveHandlers:()=>Ha,http:()=>Pi,isHTTPScheme:()=>Li,listModels:()=>bi,loadWeights:()=>Di,moveModel:()=>vi,registerLoadRouter:()=>Ga,registerSaveRouter:()=>Wa,removeModel:()=>xi,weightsLoaderFactory:()=>_i,withSaveHandler:()=>Gi});var o={};n.r(o),n.d(o,{confusionMatrix:()=>Ki});var l={};n.r(l),n.d(l,{assertAndGetBroadcastShape:()=>Zi,getBroadcastDims:()=>Xi,getReductionAxes:()=>Yi});var u={};n.r(u),n.d(u,{fromPixels:()=>ro,fromPixelsAsync:()=>to,toPixels:()=>no});var c={};n.r(c),n.d(c,{prepareAndValidate:()=>so});var h={};n.r(h),n.d(h,{calculateShapes:()=>oo,validateInput:()=>io,validateUpdateShape:()=>ao});var p={};n.r(p),n.d(p,{assertParamsValid:()=>lo,computeFlatOffset:()=>ko,computeOutShape:()=>co,getNormalizedAxes:()=>mo,isSliceContinous:()=>vo,maskToAxes:()=>uo,parseSliceParams:()=>Io,sliceInfo:()=>No,startForAxis:()=>xo,startIndicesWithElidedDims:()=>go,stopForAxis:()=>wo,stopIndicesWithElidedDims:()=>yo,stridesForAxis:()=>bo,stridesWithElidedDims:()=>ho});var d={};n.r(d),n.d(d,{Serializable:()=>To,SerializationMap:()=>Co,registerClass:()=>Eo});var f={};n.r(f),n.d(f,{TEST_EPSILON_FLOAT16:()=>$o,encodeStrings:()=>Po,expectArrayBuffersEqual:()=>zo,expectArraysClose:()=>Ao,expectArraysEqual:()=>Do,expectNumbersClose:()=>_o,expectPromiseToFail:()=>Fo,expectValuesInRange:()=>Lo,testEpsilon:()=>Ro});var m={};n.r(m),n.d(m,{conv2d:()=>Cp,depthwiseConv2d:()=>Ap,matMul:()=>Rp});var g={};n.r(g),n.d(g,{collectGatherOpShapeInfo:()=>$f,computeOutShape:()=>Ef,segOpComputeOptimalWindowSize:()=>Cf});var y={};n.r(y),n.d(y,{ERF_A1:()=>qd,ERF_A2:()=>Kd,ERF_A3:()=>Xd,ERF_A4:()=>Yd,ERF_A5:()=>Zd,ERF_P:()=>jd,PARALLELIZE_THRESHOLD:()=>Od,SELU_SCALE:()=>Hd,SELU_SCALEALPHA:()=>Gd,applyActivation:()=>Sp,assertAndGetBroadcastShape:()=>Zi,assertAxesAreInnerMostDims:()=>$c,assertParamsConsistent:()=>Dd,assignToTypedArray:()=>rf,axesAreInnerMostDims:()=>Sc,calculateShapes:()=>oo,checkEinsumDimSizes:()=>cf,checkPadOnDimRoundingMode:()=>lu,combineLocations:()=>Tc,complexWithEvenIndex:()=>ef,complexWithOddIndex:()=>tf,computeConv2DInfo:()=>Jl,computeConv3DInfo:()=>Ql,computeDefaultPad:()=>eu,computeDilation2DInfo:()=>Xl,computeOptimalWindowSize:()=>Ld,computeOutAndReduceShapes:()=>Cc,computeOutShape:()=>_d,computePool2DInfo:()=>Yl,computePool3DInfo:()=>Zl,convertConv2DDataFormat:()=>ou,decodeEinsumEquation:()=>lf,eitherStridesOrDilationsAreOne:()=>iu,expandShapeToKeepDim:()=>Ec,exponent:()=>af,exponents:()=>sf,fromStringArrayToUint8:()=>Rf,fromUint8ToStringArray:()=>Af,getAxesPermutation:()=>Ac,getBroadcastDims:()=>Xi,getComplexWithIndex:()=>nf,getEinsumComputePath:()=>hf,getEinsumPermutation:()=>uf,getFusedBiasGradient:()=>Np,getFusedDyActivation:()=>Ip,getImageCenter:()=>zd,getInnerMostAxes:()=>Mc,getPermuted:()=>Bd,getReductionAxes:()=>Yi,getReshaped:()=>Pd,getReshapedPermuted:()=>Vd,getSliceBeginCoords:()=>Ud,getSliceSize:()=>Wd,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>mf,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>gf,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>yf,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>wf,getSparseReshapeInputOutputMismatchErrorMessage:()=>kf,getSparseReshapeInputOutputMultipleErrorMessage:()=>vf,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>bf,getSparseReshapeNegativeOutputDimErrorMessage:()=>xf,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>Tf,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>If,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>Nf,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>Sf,getUndoAxesPermutation:()=>Rc,isIdentityPermutation:()=>pf,log:()=>rs,mergeRealAndImagArrays:()=>Jd,prepareAndValidate:()=>so,prepareSplitSize:()=>ff,segment_util:()=>g,shouldFuse:()=>Tp,slice_util:()=>p,splitRealAndImagArrays:()=>Qd,tupleValuesAreOne:()=>au,upcastType:()=>na,validateInput:()=>io,validateUpdateShape:()=>ao,warn:()=>ns});var b={};n.r(b),n.d(b,{nonMaxSuppressionV3Impl:()=>Gp,nonMaxSuppressionV4Impl:()=>Hp,nonMaxSuppressionV5Impl:()=>jp,whereImpl:()=>up});var x={};n.r(x),n.d(x,{maxNorm:()=>$g,minMaxNorm:()=>Mg,nonNeg:()=>Rg,unitNorm:()=>Ag});var w={};n.r(w),n.d(w,{constant:()=>zy,glorotNormal:()=>Hy,glorotUniform:()=>Gy,heNormal:()=>jy,heUniform:()=>qy,identity:()=>Uy,leCunNormal:()=>Ky,leCunUniform:()=>Xy,ones:()=>Ly,orthogonal:()=>Yy,randomNormal:()=>By,randomUniform:()=>Py,truncatedNormal:()=>Vy,varianceScaling:()=>Wy,zeros:()=>Oy});var v={};n.r(v),n.d(v,{Layer:()=>fb,RNN:()=>Ow,RNNCell:()=>Lw,activation:()=>rk,add:()=>pk,alphaDropout:()=>nI,average:()=>dk,averagePooling1d:()=>kk,averagePooling2d:()=>Sk,averagePooling3d:()=>Ek,avgPool1d:()=>Ik,avgPool2d:()=>Tk,avgPool3d:()=>$k,avgPooling1d:()=>Nk,avgPooling2d:()=>Ck,avgPooling3d:()=>Ak,batchNormalization:()=>xk,bidirectional:()=>Kk,concatenate:()=>fk,conv1d:()=>Kv,conv2d:()=>Xv,conv2dTranspose:()=>Yv,conv3d:()=>Zv,conv3dTranspose:()=>Jv,convLstm2d:()=>Gk,convLstm2dCell:()=>Hk,cropping2D:()=>ek,dense:()=>sk,depthwiseConv2d:()=>nk,dot:()=>bk,dropout:()=>ak,elu:()=>Uv,embedding:()=>hk,flatten:()=>ok,gaussianDropout:()=>tI,gaussianNoise:()=>eI,globalAveragePooling1d:()=>Rk,globalAveragePooling2d:()=>Mk,globalMaxPool1d:()=>Yk,globalMaxPool2d:()=>Zk,globalMaxPooling1d:()=>Fk,globalMaxPooling2d:()=>Dk,gru:()=>zk,gruCell:()=>Pk,input:()=>Lx,inputLayer:()=>Vv,layerNormalization:()=>wk,leakyReLU:()=>Gv,lstm:()=>Bk,lstmCell:()=>Vk,masking:()=>rI,maxPool1d:()=>Jk,maxPool2d:()=>Qk,maxPooling1d:()=>_k,maxPooling2d:()=>Ok,maxPooling3d:()=>Lk,maximum:()=>mk,minimum:()=>gk,multiply:()=>yk,permute:()=>ck,prelu:()=>Hv,reLU:()=>Wv,repeatVector:()=>lk,reshape:()=>uk,rnn:()=>jk,separableConv2d:()=>Qv,simpleRNN:()=>Uk,simpleRNNCell:()=>Wk,softmax:()=>jv,spatialDropout1d:()=>ik,stackedRNNCells:()=>qk,thresholdedReLU:()=>qv,timeDistributed:()=>Xk,upSampling2d:()=>tk,zeroPadding2d:()=>vk});var k={};n.r(k),n.d(k,{MAPE:()=>fI,MSE:()=>yI,binaryAccuracy:()=>sI,binaryCrossentropy:()=>aI,categoricalAccuracy:()=>oI,categoricalCrossentropy:()=>lI,cosineProximity:()=>hI,mape:()=>mI,meanAbsoluteError:()=>pI,meanAbsolutePercentageError:()=>dI,meanSquaredError:()=>gI,mse:()=>bI,precision:()=>uI,recall:()=>cI,sparseCategoricalAccuracy:()=>iI});var I={};n.r(I),n.d(I,{modelFromJSON:()=>Mx});var N={};n.r(N),n.d(N,{l1:()=>wI,l1l2:()=>xI,l2:()=>vI});var S={};n.r(S),n.d(S,{json:()=>BI});var T={};n.r(T),n.d(T,{json:()=>VI});var C={};n.r(C),n.d(C,{json:()=>UI});var E={};n.r(E),n.d(E,{json:()=>WI});var $={};n.r($),n.d($,{json:()=>GI});var A={};n.r(A),n.d(A,{json:()=>HI});var R={};n.r(R),n.d(R,{json:()=>jI});var M={};n.r(M),n.d(M,{json:()=>qI});var F={};n.r(F),n.d(F,{json:()=>KI});var D={};n.r(D),n.d(D,{json:()=>XI});var _={};n.r(_),n.d(_,{json:()=>YI});var O={};n.r(O),n.d(O,{json:()=>ZI});var L={};n.r(L),n.d(L,{json:()=>JI});var z={};n.r(z),n.d(z,{json:()=>QI});var P={};n.r(P),n.d(P,{json:()=>eN});var B={};n.r(B),n.d(B,{json:()=>tN});var V={};n.r(V),n.d(V,{json:()=>nN});var U={};n.r(U),n.d(U,{json:()=>rN});var W={};n.r(W),n.d(W,{json:()=>sN});var G={};n.r(G),n.d(G,{CSVDataset:()=>RS,Dataset:()=>xS,FileDataSource:()=>WS,TextLineDataset:()=>NS,URLDataSource:()=>GS,array:()=>vS,csv:()=>HS,func:()=>jS,generator:()=>qS,microphone:()=>XS,version_data:()=>YS,webcam:()=>KS,zip:()=>kS});var H={};n.r(H),n.d(H,{addImpl:()=>AT,bincountImpl:()=>kC,bincountReduceImpl:()=>IC,ceilImpl:()=>TC,concatImpl:()=>MC,equalImpl:()=>fE,expImpl:()=>SE,expm1Impl:()=>AE,floorImpl:()=>qE,gatherNdImpl:()=>t$,gatherV2Impl:()=>r$,greaterEqualImpl:()=>l$,greaterImpl:()=>a$,lessEqualImpl:()=>v$,lessImpl:()=>b$,linSpaceImpl:()=>N$,logImpl:()=>T$,maxImpl:()=>V$,maximumImpl:()=>G$,minimumImpl:()=>eA,multiplyImpl:()=>iE,negImpl:()=>cA,notEqualImpl:()=>bA,prodImpl:()=>RA,rangeImpl:()=>FA,rsqrtImpl:()=>HA,sigmoidImpl:()=>yT,simpleAbsImpl:()=>PT,sliceImpl:()=>bC,sparseFillEmptyRowsImpl:()=>hR,sparseReshapeImpl:()=>dR,sparseSegmentReductionImpl:()=>mR,sqrtImpl:()=>wR,squaredDifferenceImpl:()=>NR,stridedSliceImpl:()=>$R,stringNGramsImpl:()=>MR,stringSplitImpl:()=>_R,stringToHashBucketFastImpl:()=>LR,subImpl:()=>OE,tileImpl:()=>UR,topKImpl:()=>jR,transposeImpl:()=>jT,uniqueImpl:()=>QR});class j{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}}class q{refCount(e){return K("refCount")}incRef(e){return K("incRef")}timerAvailable(){return!0}time(e){return K("time")}read(e){return K("read")}readSync(e){return K("readSync")}readToGPU(e,t){return K("readToGPU")}numDataIds(){return K("numDataIds")}disposeData(e,t){return K("disposeData")}write(e,t,n){return K("write")}move(e,t,n,r,s){return K("move")}memory(){return K("memory")}floatPrecision(){return K("floatPrecision")}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}dispose(){return K("dispose")}}function K(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function X(e){let t=e.length,n=0;for(;t>0;)n=Math.random()*t|0,t--,Q(e,t,n)}function Y(e,t){if(e.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${e.length}Second array length was ${t.length}`);let n=e.length,r=0;for(;n>0;)r=Math.random()*n|0,n--,Q(e,n,r),Q(t,n,r)}function Z(e,t,n){return Math.max(e,Math.min(t,n))}function J(e){return e%2==0?e:e+1}function Q(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function ee(e){let t=0;for(let n=0;nn+` Shapes ${e} and ${t} must match`))}function ae(e){re(null!=e,(()=>"The input to the tensor constructor must be a non-null value."))}function ie(e,t=[],n=!1){if(null==t&&(t=[]),Array.isArray(e)||Ne(e)&&!n)for(let r=0;r0),n){return new Promise(((r,s)=>{let a=0;const i=()=>{if(e())return void r();a++;const o=t(a);null!=n&&a>=n?s():setTimeout(i,o)};i()}))}function ge(e,t){let n=1,r=-1;for(let t=0;t=0)n*=e[t];else if(-1===e[t]){if(-1!==r)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${t}`);r=t}else if(e[t]<0)throw Error(`Shapes can not be < 0. Found ${e[t]} at dim ${t}`);if(-1===r){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(0===n)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!=0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const s=e.slice();return s[r]=t/n,s}function ye(e,t){const n=t.length;return re((e=null==e?t.map(((e,t)=>t)):[].concat(e)).every((e=>e>=-n&&e`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`)),re(e.every((e=>ce(e))),(()=>`All values in axis param must be integers but got axis ${e}`)),e.map((e=>e<0?n+e:e))}function be(e,t){const n=[],r=[],s=null!=t&&Array.isArray(t)&&0===t.length,a=null==t||s?null:ye(t,e).sort();let i=0;for(let t=0;tt)&&1===e[t]&&(n.push(e[t]),r.push(t)),a[i]<=t&&i++}1!==e[t]&&(n.push(e[t]),r.push(t))}return{newShape:n,keptDims:r}}function xe(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else{if("bool"!==e)throw new Error(`Unknown data type ${e}`);n=new Uint8Array(t)}return n}function we(e,t){let n=null;if(null==e||"float32"===e)n=new Float32Array(t);else if("int32"===e)n=new Int32Array(t);else if("bool"===e)n=new Uint8Array(t);else{if("string"!==e)throw new Error(`Unknown data type ${e}`);n=new Array(t)}return n}function ve(e,t){for(let n=0;nt+=e.length)),t}function Ce(e){return"string"==typeof e||e instanceof String}function Ee(e){return"boolean"==typeof e}function $e(e){return"number"==typeof e}function Ae(e){return Array.isArray(e)?Ae(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":$e(e)?"float32":Ce(e)?"string":Ee(e)?"bool":"float32"}function Re(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Me(e,t){for(let n=t;n=0;--r)n[r]=n[r+1]*e[r+1];return n}function De(e,t,n,r=!1){const s=new Array;if(1===t.length){const a=t[0]*(r?2:1);for(let t=0;te*t))*(r?2:1);for(let t=0;te*t))*(n?2:1);if(0===r)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return De(0,e,t,n)}function Oe(e,t){const n=Le(e,t);for(let e=0;ee*t),1);if(null==t||"float32"===t)return _e(e,new Float32Array(n));if("int32"===t)return _e(e,new Int32Array(n));if("bool"===t)return _e(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function Pe(e){e.forEach((t=>{re(Number.isInteger(t)&&t>=0,(()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`))}))}function Be(e,t,n){if(0===t)return 0;if(1===t)return e[0];let r=e[e.length-1];for(let t=0;t{const[t,n]=e.split(":");this.urlFlags[t]=function(e,t){if("true"===(t=t.toLowerCase())||"false"===t)return"true"===t;if(""+ +t===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${e}.`)}(t,n)}))}}function Ge(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,((e,...n)=>(function(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}(t,n[0],n[1]),n.join("=")))),t}function He(){return qe}let je,qe=null;function Ke(){if(null==je){let e;if("undefined"!=typeof window)e=window;else if(void 0!==n.g)e=n.g;else if("undefined"!=typeof process)e=process;else{if("undefined"==typeof self)throw new Error("Could not find a global object");e=self}je=e}return je}function Xe(e,t){const n=function(){const e=Ke();return null==e._tfGlobals&&(e._tfGlobals=new Map),e._tfGlobals}();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}const Ye="Abs",Ze="Acos",Je="Acosh",Qe="Add",et="AddN",tt="All",nt="Any",rt="ArgMax",st="ArgMin",at="Asin",it="Asinh",ot="Atan",lt="Atanh",ut="Atan2",ct="AvgPool",ht="AvgPoolGrad",pt="AvgPool3D",dt="AvgPool3DGrad",ft="BatchMatMul",mt="BatchToSpaceND",gt="Bincount",yt="BroadcastTo",bt="BroadcastArgs",xt="Cast",wt="Ceil",vt="ClipByValue",kt="Complex",It="ComplexAbs",Nt="Concat",St="Conv2D",Tt="Conv2DBackpropFilter",Ct="Conv2DBackpropInput",Et="Conv3D",$t="Conv3DBackpropFilterV2",At="Conv3DBackpropInputV2",Rt="Cos",Mt="Cosh",Ft="Cumsum",Dt="CropAndResize",_t="DenseBincount",Ot="DepthToSpace",Lt="DepthwiseConv2dNative",zt="DepthwiseConv2dNativeBackpropFilter",Pt="DepthwiseConv2dNativeBackpropInput",Bt="Diag",Vt="Dilation2D",Ut="Dilation2DBackpropInput",Wt="Dilation2DBackpropFilter",Gt="RealDiv",Ht="Einsum",jt="Elu",qt="EluGrad",Kt="Erf",Xt="Equal",Yt="Exp",Zt="ExpandDims",Jt="Expm1",Qt="FFT",en="Fill",tn="FlipLeftRight",nn="Floor",rn="FloorDiv",sn="FusedBatchNorm",an="GatherV2",on="GatherNd",ln="Greater",un="GreaterEqual",cn="Identity",hn="IFFT",pn="Imag",dn="IsFinite",fn="IsInf",mn="IsNan",gn="LeakyRelu",yn="Less",bn="LessEqual",xn="LinSpace",wn="Log",vn="Log1p",kn="LogicalAnd",In="LogicalNot",Nn="LogicalOr",Sn="LogSoftmax",Tn="LRN",Cn="LRNGrad",En="Max",$n="Maximum",An="MaxPool",Rn="MaxPoolGrad",Mn="MaxPool3D",Fn="MaxPool3DGrad",Dn="MaxPoolWithArgmax",_n="Mean",On="Min",Ln="Minimum",zn="MirrorPad",Pn="Mod",Bn="Multinomial",Vn="Multiply",Un="Neg",Wn="NotEqual",Gn="NonMaxSuppressionV3",Hn="NonMaxSuppressionV4",jn="NonMaxSuppressionV5",qn="OnesLike",Kn="OneHot",Xn="Pack",Yn="PadV2",Zn="Pool",Jn="Pow",Qn="Prelu",er="Prod",tr="Range",nr="Real",rr="Reciprocal",sr="Relu",ar="Reshape",ir="ResizeNearestNeighbor",or="ResizeNearestNeighborGrad",lr="ResizeBilinear",ur="ResizeBilinearGrad",cr="Relu6",hr="Reverse",pr="Round",dr="Rsqrt",fr="ScatterNd",mr="Select",gr="Selu",yr="Slice",br="Sin",xr="Sinh",wr="Sign",vr="Sigmoid",kr="Softplus",Ir="Sqrt",Nr="Sum",Sr="SpaceToBatchND",Tr="SplitV",Cr="Softmax",Er="SparseFillEmptyRows",$r="SparseReshape",Ar="SparseSegmentMean",Rr="SparseSegmentSum",Mr="SparseToDense",Fr="SquaredDifference",Dr="Square",_r="StridedSlice",Or="StringNGrams",Lr="StringSplit",zr="StringToHashBucketFast",Pr="Sub",Br="Tan",Vr="Tanh",Ur="Tile",Wr="TopK",Gr="Transform",Hr="Transpose",jr="Unique",qr="Unpack",Kr="UnsortedSegmentSum",Xr="ZerosLike",Yr="Step",Zr="FromPixels",Jr="RotateWithOffset",Qr="_FusedMatMul",es="FusedConv2D",ts="FusedDepthwiseConv2D";function ns(...e){He().getBool("IS_TEST")||He().getBool("PROD")||console.warn(...e)}function rs(...e){He().getBool("IS_TEST")||He().getBool("PROD")||console.log(...e)}const ss=Xe("kernelRegistry",(()=>new Map)),as=Xe("gradRegistry",(()=>new Map));function is(e,t){const n=fs(e,t);return ss.get(n)}function os(e){return as.get(e)}function ls(e){const t=ss.entries(),n=[];for(;;){const{done:r,value:s}=t.next();if(r)break;const[a,i]=s,[o]=a.split("_");o===e&&n.push(i)}return n}function us(e){const{kernelName:t,backendName:n}=e,r=fs(t,n);ss.has(r)&&ns(`The kernel '${t}' for backend '${n}' is already registered`),ss.set(r,e)}function cs(e){const{kernelName:t}=e;as.has(t)&&He().getBool("DEBUG")&&ns(`Overriding the gradient for '${t}'`),as.set(t,e)}function hs(e,t){const n=fs(e,t);if(!ss.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);ss.delete(n)}function ps(e){if(!as.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);as.delete(e)}function ds(e,t){ls(e).forEach((e=>{us(Object.assign({},e,{backendName:t}))}))}function fs(e,t){return`${t}_${e}`}var ms=n(3720);const gs=n.n(ms)()||ms;function ys(e){return gs.fromString(e,!0,16)}const bs=ys("c3a5c85c97cb3127"),xs=ys("b492b66fbe98f273"),ws=ys("9ae16a3b2f90404f");function vs(e){return e.xor(e.shru(47))}function ks(e,t,n){const r=e.slice(t,t+n);return gs.fromBytes(Array.from(r),!0,!0)}function Is(e,t){return ks(e,t,8)}function Ns(e,t){return ks(e,t,4)}function Ss(e,t){return 0===t?e:e.shru(t).or(e.shl(64-t))}function Ts(e,t,n=ys("9ddfea08eb382d69")){let r=e.xor(t).mul(n);r=r.xor(r.shru(47));let s=t.xor(r).mul(n);return s=s.xor(s.shru(47)),s=s.mul(n),s}function Cs(e,t,n,r){return function(e,t,n,r,s,a){s=s.add(e),a=Ss(a.add(s).add(r),21);const i=s;return s=(s=s.add(t)).add(n),a=a.add(Ss(s,44)),[s.add(r),a.add(i)]}(Is(e,t),Is(e,t+8),Is(e,t+16),Is(e,t+24),n,r)}function Es(e,t=e.length){const n=gs.fromNumber(81,!0);if(t<=32)return t<=16?function(e,t=e.length){if(t>=8){const n=ws.add(2*t),r=Is(e,0).add(ws),s=Is(e,t-8);return Ts(Ss(s,37).mul(n).add(r),Ss(r,25).add(s).mul(n),n)}if(t>=4){const n=ws.add(2*t);return Ts(Ns(e,0).shl(3).add(t),Ns(e,t-4),n)}if(t>0){const n=e[0]+(e[t>>1]<<8),r=t+(e[t-1]<<2);return vs(ws.mul(n).xor(bs.mul(r))).mul(ws)}return ws}(e,t):function(e,t=e.length){const n=ws.add(2*t),r=Is(e,0).mul(xs),s=Is(e,8),a=Is(e,t-8).mul(n),i=Is(e,t-16).mul(ws);return Ts(Ss(r.add(s),43).add(Ss(a,30)).add(i),r.add(Ss(s.add(ws),18)).add(a),n)}(e,t);if(t<=64)return function(e,t=e.length){const n=ws.add(2*t),r=Is(e,0).mul(ws),s=Is(e,8),a=Is(e,t-8).mul(n),i=Is(e,t-16).mul(ws),o=Ss(r.add(s),43).add(Ss(a,30)).add(i),l=Ts(o,r.add(Ss(s.add(ws),18)).add(a),n),u=Is(e,16).mul(n),c=Is(e,24),h=o.add(Is(e,t-32)).mul(n),p=l.add(Is(e,t-24)).mul(n);return Ts(Ss(u.add(c),43).add(Ss(h,30)).add(p),u.add(Ss(c.add(r),18)).add(h),n)}(e,t);let r=n,s=n.mul(xs).add(113),a=vs(s.mul(ws).add(113)).mul(ws),i=[gs.UZERO,gs.UZERO],o=[gs.UZERO,gs.UZERO];r=r.mul(ws).add(Is(e,0));let l=0;const u=64*(t-1>>6),c=u+(t-1&63)-63;do{r=Ss(r.add(s).add(i[0]).add(Is(e,l+8)),37).mul(xs),s=Ss(s.add(i[1]).add(Is(e,l+48)),42).mul(xs),r=r.xor(o[1]),s=s.add(i[0]).add(Is(e,l+40)),a=Ss(a.add(o[0]),33).mul(xs),i=Cs(e,l,i[1].mul(xs),r.add(o[0])),o=Cs(e,l+32,a.add(o[1]),s.add(Is(e,l+16))),[a,r]=[r,a],l+=64}while(l!==u);const h=xs.add(a.and(255).shl(1));return l=c,o[0]=o[0].add(t-1&63),i[0]=i[0].add(o[0]),o[0]=o[0].add(i[0]),r=Ss(r.add(s).add(i[0]).add(Is(e,l+8)),37).mul(h),s=Ss(s.add(i[1]).add(Is(e,l+48)),42).mul(h),r=r.xor(o[1].mul(9)),s=s.add(i[0].mul(9).add(Is(e,l+40))),a=Ss(a.add(o[0]),33).mul(h),i=Cs(e,l,i[1].mul(h),r.add(o[0])),o=Cs(e,l+32,a.add(o[1]),s.add(Is(e,l+16))),[a,r]=[r,a],Ts(Ts(i[0],o[0],h).add(vs(s).mul(bs)).add(a),Ts(i[1],o[1],h).add(r),h)}function $s(e,t){return"string"===t?Fs(e):As([e],t)}function As(e,t){if("string"===t)throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=ie(e)),He().getBool("DEBUG")&&ve(e,t),function(e,t){return e instanceof Float32Array&&"float32"===t||e instanceof Int32Array&&"int32"===t||e instanceof Uint8Array&&"bool"===t}(e,t))return e;if(null==t||"float32"===t||"complex64"===t)return new Float32Array(e);if("int32"===t)return new Int32Array(e);if("bool"===t){const t=new Uint8Array(e.length);for(let n=0;n{r=n()};let a;const i=Rs();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(s);else{s();for(const e of r)e.dataSync();a=Promise.resolve({kernelMs:Rs()-i})}if(He().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let t=0;t{Os(t,n.dtype,e)}))}return{kernelName:e,outputs:r,inputs:t,timeMs:a.then((e=>e.kernelMs)),extraInfo:a.then((e=>null!=e.getExtraProfileInfo?e.getExtraProfileInfo():""))}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:s,extraInfo:a}=e;n.forEach((e=>{Promise.all([e.data(),r,a]).then((n=>{this.logger.logKernelProfile(t,e,n[0],n[1],s,n[2])}))}))}}function Os(e,t,n){if("float32"!==t)return!1;for(let t=0;t0?r:""} `}}console.log(`%c${o}\t%c${i}\t%c${l}D ${c}\t%c${u}\t%c${h}\t%c${a}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}function zs(e,t,n,r){const s=Fe(t),a=function(e,t,n,r){const s=oe(t),a=r[r.length-1],i=new Array(a).fill(0),o=t.length,l="complex64"===n?Us(e):e;if(o>1)for(let e=0;e" "+e)).join("\n")),l.join("\n")}function Ps(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(7))} + ${parseFloat(e[1].toFixed(7))}j`:Ce(e)?`'${e}'`:"bool"===n?Bs(e):parseFloat(e.toFixed(7)).toString(),fe(r,t)}function Bs(e){return 0===e?"false":"true"}function Vs(e,t,n,r,s,a=!0){const i="complex64"===n?2:1,o=t[0],l=t.length;if(0===l)return"complex64"===n?[Ps(Us(e)[0],0,n)]:"bool"===n?[Bs(e[0])]:[e[0].toString()];if(1===l){if(o>20){const t=3*i;let r=Array.from(e.slice(0,t)),a=Array.from(e.slice((o-3)*i,o*i));return"complex64"===n&&(r=Us(r),a=Us(a)),["["+r.map(((e,t)=>Ps(e,s[t],n))).join(", ")+", ..., "+a.map(((e,t)=>Ps(e,s[o-3+t],n))).join(", ")+"]"]}return["["+("complex64"===n?Us(e):Array.from(e)).map(((e,t)=>Ps(e,s[t],n))).join(", ")+"]"]}const u=t.slice(1),c=r.slice(1),h=r[0]*i,p=[];if(o>20){for(let t=0;t<3;t++){const r=t*h,a=r+h;p.push(...Vs(e.slice(r,a),u,n,c,s,!1))}p.push("...");for(let t=o-3;t`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`))}if("complex64"===t)throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||we(t,this.size),this.strides=Fe(e)}set(e,...t){0===t.length&&(t=[0]),re(t.length===this.rank,(()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`));const n=this.locToIndex(t);this.values[n]=e}get(...e){0===e.length&&(e=[0]);let t=0;for(const n of e){if(n<0||n>=this.shape[t]){const t=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(t)}t++}let n=e[e.length-1];for(let t=0;tDs(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),Gs().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();const e=Gs().readSync(this.dataId);if("string"===this.dtype)try{return e.map((e=>Ds(e)))}catch(e){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();const e=await Gs().read(this.dataId);return"string"===this.dtype?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(Gs().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Hs.print(this,e)}clone(){return this.throwIfDisposed(),Hs.clone(this)}toString(e=!1){return zs(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Hs.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Gs().makeVariable(this,e,t,n)}}function Ks(){return Xe("Tensor",(()=>qs))}Object.defineProperty(qs,Symbol.hasInstance,{value:e=>!!e&&null!=e.data&&null!=e.dataSync&&null!=e.throwIfDisposed}),Ks();class Xs extends qs{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!ue(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);Gs().disposeTensor(this),this.dataId=e.dataId,Gs().incRef(this,null)}dispose(){Gs().disposeVariable(this),this.isDisposedInternal=!0}}var Ys,Zs,Js,Qs,ea;Object.defineProperty(Xs,Symbol.hasInstance,{value:e=>e instanceof qs&&null!=e.assign&&e.assign instanceof Function}),function(e){e.R0="R0",e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4",e.R5="R5",e.R6="R6"}(Ys||(Ys={})),function(e){e.float32="float32",e.int32="int32",e.bool="int32",e.complex64="complex64"}(Zs||(Zs={})),function(e){e.float32="float32",e.int32="int32",e.bool="bool",e.complex64="complex64"}(Js||(Js={})),function(e){e.float32="float32",e.int32="float32",e.bool="float32",e.complex64="complex64"}(Qs||(Qs={})),function(e){e.float32="complex64",e.int32="complex64",e.bool="complex64",e.complex64="complex64"}(ea||(ea={}));const ta={float32:Qs,int32:Zs,bool:Js,complex64:ea};function na(e,t){if("string"===e||"string"===t){if("string"===e&&"string"===t)return"string";throw new Error(`Can not upcast ${e} with ${t}`)}return ta[e][t]}function ra(e){return na(e,"int32")}function sa(e,t){if(e.dtype===t.dtype)return[e,t];const n=na(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function aa(e,t){re(e.dtype===t.dtype,(()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`))}function ia(e,t){return t.some((t=>t.id===e.id))}function oa(e){const t=[];return la(e,t,new Set),t}function la(e,t,n){if(null==e)return;if(e instanceof qs)return void t.push(e);if(r=e,!Array.isArray(r)&&"object"!=typeof r)return;var r;const s=e;for(const e in s){const r=s[e];n.has(r)||(n.add(r),la(r,t,n))}}function ua(e){return null!=e.kernelName}class ca{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map((e=>e.name))))}}}dispose(){for(const e in this.registeredVariables)this.registeredVariables[e].dispose()}}class ha{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new ca}async ready(){if(null!=this.pendingBackendInit)return this.pendingBackendInit.then((()=>{}));if(null!=this.backendInstance)return;const e=this.getSortedBackends();for(let t=0;t{null!=e.setupFunc&&e.setupFunc(this.backendInstance)}))}disposeRegisteredKernels(e){ls(e).forEach((t=>{null!=t.disposeFunc&&t.disposeFunc(this.registry[e])}))}initializeBackend(e){const t=this.registryFactory[e];if(null==t)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{const n=t.factory();if(!n||n instanceof q||"function"!=typeof n.then)return this.registry[e]=n,{success:!0,asyncInit:!1};{const t=++this.pendingBackendInitId,r=n.then((n=>!(t(tthis.registryFactory[t].priority-this.registryFactory[e].priority))}initializeBackendsAndReturnBest(){const e=this.getSortedBackends();for(let t=0;tthis.startScope(r)),(()=>this.endScope(n)),(()=>(n=t(),n instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),n)))}scopedRun(e,t,n){e();try{const e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return ha.nextTensorId++}nextVariableId(){return ha.nextVariableId++}clone(e){const t=da.runKernel(cn,{x:e}),n={x:e};return this.addTapeNode(this.state.activeScope.name,n,[t],(e=>({x:()=>{const t={x:e};return da.runKernel(xt,t,{dtype:"float32"})}})),[],{}),t}runKernel(e,t,n){if(null==this.backendName&&this.backend,null==is(e,this.backendName))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){const r=this.backend.numDataIds();let s=0;n.forEach((e=>{s+="complex64"===e.dtype?3:1}));const a=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],i=r-t-s-a;if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[];const r=this.isTapeOn(),s=this.state.numBytes,a=this.state.numTensors;let i,o;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0),null==this.backendName&&this.backend;const l=ua(e)?e.kernelName:null!=this.state.activeScope?this.state.activeScope.name:"";if(ua(e)){const{kernelName:t,inputs:s,attrs:a}=e;null==this.backendName&&this.backend;const l=is(t,this.backendName);re(null!=l,(()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`)),i=()=>{const e=this.backend.numDataIds();o=l.kernelFunc({inputs:s,attrs:a,backend:this.backend});const i=Array.isArray(o)?o:[o];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,i);const u=i.map((e=>{if(null!=e.rank)return e;const{dataId:t,shape:n,dtype:r}=e;return this.makeTensorFromDataId(t,n,r)}));if(r){const e=this.getTensorsForGradient(t,s,u);n=this.saveTensorsForBackwardMode(e)}return u}}else{const{forwardFunc:t}=e,s=e=>{r&&(n=e.map((e=>this.keep(this.clone(e)))))};i=()=>{const e=this.backend.numDataIds();o=this.tidy((()=>t(this.backend,s)));const n=Array.isArray(o)?o:[o];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,e,n),n}}const{inputs:u,attrs:c}=e,h=ua(e)?null:e.backwardsFunc;let p;return this.scopedRun((()=>this.state.kernelDepth++),(()=>this.state.kernelDepth--),(()=>{this.ENV.getBool("DEBUG")||this.state.profiling?(p=this.profiler.profileKernel(l,u,(()=>i())),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(p),t=p.outputs):t=i()})),r&&this.addTapeNode(l,u,t,h,n,c),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(u).map((e=>null!=u[e]?u[e].shape:null)),outputShapes:t.map((e=>e.shape)),kernelTimeMs:p.timeMs,extraInfo:p.extraInfo}),Array.isArray(o)?t:t[0]}saveTensorsForBackwardMode(e){const t=e.map((e=>this.keep(this.clone(e))));return t}getTensorsForGradient(e,t,n){const r=os(e);if(null!=r){const e=r.inputsToSave||[],s=r.outputsToSave||[];let a;r.saveAllInputs?(re(Array.isArray(t),(()=>"saveAllInputs is true, expected inputs to be an array.")),a=Object.keys(t).map((e=>t[e]))):a=e.map((e=>t[e]));const i=n.filter(((e,t)=>s[t]));return a.concat(i)}return[]}makeTensor(e,t,n,r){if(null==e)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",r=r||this.backend;let s=e;"string"===n&&Ce(e[0])&&(s=e.map((e=>Fs(e))));const a=r.write(s,t,n),i=new qs(t,n,a,this.nextTensorId());if(this.trackTensor(i,r),"string"===n){const e=this.state.tensorInfo.get(a),t=Te(s);this.state.numBytes+=t-e.bytes,e.bytes=t}return i}makeTensorFromDataId(e,t,n,r){const s=new qs(t,n=n||"float32",e,this.nextTensorId());return this.trackTensor(s,r),s}makeVariable(e,t=!0,n,r){n=n||this.nextVariableId().toString(),null!=r&&r!==e.dtype&&(e=e.cast(r));const s=new Xs(e,t,n,this.nextTensorId());if(null!=this.state.registeredVariables[s.name])throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(e,t){this.state.numTensors++,"string"===e.dtype&&this.state.numStringTensors++;let n=0;"complex64"!==e.dtype&&"string"!==e.dtype&&(n=e.size*Se(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof Xs||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;const t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,"string"===e.dtype&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),"complex64"!==e.dtype&&"string"!==e.dtype){const t=e.size*Se(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(const e in this.state.registeredVariables){const t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),null!=this.state.registeredVariables[e.name]&&delete this.state.registeredVariables[e.name]}memory(){const e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,null==e.reasons&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;const t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map((e=>e.totalBytesSnapshot))),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(const e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&0===this.state.kernelDepth}addTapeNode(e,t,n,r,s,a){const i={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:s},o=os(e);null!=o&&(r=o.gradFunc),null!=r&&(i.gradient=e=>(e=e.map(((e,t)=>{if(null==e){const e=n[t],r=Le(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e})),r(e.length>1?e:e[0],s,a))),this.state.activeTape.push(i)}keep(e){return e.kept=!0,e}startTape(){0===this.state.gradientDepth&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){const t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){const t=oa(e),n=new Set(t.map((e=>e.id)));for(let e=0;e{e.kept||e.scopeId!==r.id||this.track(e)}))}gradients(e,t,n,r=!1){if(re(t.length>0,(()=>"gradients() received an empty list of xs.")),null!=n&&"float32"!==n.dtype)throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);const s=this.scopedRun((()=>this.startTape()),(()=>this.endTape()),(()=>this.tidy("forward",e)));re(s instanceof qs,(()=>"The result y returned by f() must be a tensor."));const a=function(e,t,n){const r={},s={};for(let e=0;er[e.id]=!0)),o=!0,s[a.id]=!0;break}if(o)break}}const a={};a[n.id]=!0;const i={};for(let t=e.length-1;t>=0;t--){const n=e[t],r=n.inputs;for(let e=0;e0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",(()=>{const e={};e[s.id]=null==n?function(e){const t=Oe(oe(e),"float32");return da.makeTensor(t,e,"float32")}(s.shape):n,function(e,t,n,r){for(let s=t.length-1;s>=0;s--){const a=t[s],i=[];if(a.outputs.forEach((t=>{const n=e[t.id];null!=n?i.push(n):i.push(null)})),null==a.gradient)throw new Error(`Cannot compute gradient: gradient function not found for ${a.kernelName}.`);const o=a.gradient(i);for(const t in a.inputs){if(!(t in o))throw new Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(o)}.`);const s=n((()=>o[t]()));if("float32"!==s.dtype)throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${s.dtype}'`);const i=a.inputs[t];if(!ue(s.shape,i.shape))throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input '${t}' has shape '${s.shape}', which does not match the shape of the input '${i.shape}'`);if(null==e[i.id])e[i.id]=s;else{const t=e[i.id];e[i.id]=r(t,s),t.dispose()}}}}(e,a,(e=>this.tidy(e)),fa);const r=t.map((t=>e[t.id]));return 0===this.state.gradientDepth&&(this.state.activeTape.forEach((e=>{for(const t of e.saved)t.dispose()})),this.state.activeTape=null),{value:s,grads:r}}))}customGrad(e){return re(Re(e),(()=>"The f passed in customGrad(f) must be a function.")),(...t)=>{let n;re(t.every((e=>e instanceof qs)),(()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors"));const r={};return t.forEach(((e,t)=>{r[t]=e})),this.runKernelFunc({forwardFunc:(r,s)=>(n=e(...t,s),re(n.value instanceof qs,(()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor")),re(Re(n.gradFunc),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.")),n.value),backwardsFunc:(e,r)=>{const s=n.gradFunc(e,r),a=Array.isArray(s)?s:[s];re(a.length===t.length,(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).")),re(a.every((e=>e instanceof qs)),(()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors."));const i={};return a.forEach(((e,t)=>{i[t]=()=>e})),i},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){const t=Rs(),n=await this.backend.time(e);return n.wallMs=Rs()-t,n}track(e){return null!=this.state.activeScope&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new ca;for(const e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}}function pa(){const e=Ke();if(null==e._tfengine){const t=new We(e);e._tfengine=new ha(t)}var t;return t=e._tfengine.ENV,qe=t,Gs=()=>e._tfengine,e._tfengine}ha.nextTensorId=0,ha.nextVariableId=0;const da=pa();function fa(e,t){const n={a:e,b:t};return da.runKernel(Qe,n)}let ma;function ga(e){ma=e}function ya(e){if(void 0!==ma)return ma;if(e||"undefined"!=typeof navigator&&null!=navigator){if(e||(e=navigator),"ReactNative"===e.product)return!0;const t=e.userAgent||e.vendor||("undefined"!=typeof window?window.opera:"");if(!t){const t=e;return t.userAgentData&&t.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}function ba(){return"undefined"!=typeof window&&null!=window.document||"undefined"!=typeof WorkerGlobalScope}const xa=He();function wa(e,t){let n=e;if(Ne(e))return"string"===t?[]:[e.length];if(!Array.isArray(e))return[];const r=[];for(;Array.isArray(n)||Ne(n)&&"string"!==t;)r.push(n.length),n=n[0];return Array.isArray(e)&&He().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&va(e,r,[]),r}function va(e,t,n){if(n=n||[],!Array.isArray(e)&&!Ne(e))return void re(0===t.length,(()=>`Element arr[${n.join("][")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`));re(t.length>0,(()=>`Element arr[${n.join("][")}] should be a primitive, but is an array of ${e.length} elements`)),re(e.length===t[0],(()=>`Element arr[${n.join("][")}] should have ${t[0]} elements, but has ${e.length} elements`));const r=t.slice(1);for(let t=0;t=0&&(s=r),ka(r,s,t,n),null==e||!Ne(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e){const r=null==e?"null":e.constructor.name;throw new Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${r}'`)}const a=wa(e,s);Ne(e)||Array.isArray(e)||(e=[e]);const i="string"!==s?As(e,s):ie(e,[],!0);return da.makeTensor(i,a,s)}function Na(e,t,n,r="numeric"){if(!Array.isArray(e))throw new Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);return e.map(((e,s)=>Ia(e,`${t}[${s}]`,n,r)))}xa.registerFlag("DEBUG",(()=>!1),(e=>{e&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")})),xa.registerFlag("IS_BROWSER",(()=>ba())),xa.registerFlag("IS_NODE",(()=>"undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node)),xa.registerFlag("IS_CHROME",(()=>"undefined"!=typeof navigator&&null!=navigator&&null!=navigator.userAgent&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor))),xa.registerFlag("PROD",(()=>!1)),xa.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",(()=>xa.getBool("DEBUG"))),xa.registerFlag("DEPRECATION_WARNINGS_ENABLED",(()=>!0)),xa.registerFlag("IS_TEST",(()=>!1)),xa.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",(()=>!0)),xa.registerFlag("WRAP_TO_IMAGEBITMAP",(()=>!1));const Sa="__op";function Ta(e){const t=Object.keys(e);if(1!==t.length)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0];const r=e[n];n.endsWith("_")&&(n=n.substring(0,n.length-1)),n+=Sa;const s=(...e)=>{da.startScope(n);try{const t=r(...e);return Ue(t)&&console.error("Cannot return a Promise inside of tidy."),da.endScope(t),t}catch(e){throw da.endScope(null),e}};return Object.defineProperty(s,"name",{value:n,configurable:!0}),s}const Ca=Ta({complex_:function(e,t){const n=Ia(e,"real","complex"),r=Ia(t,"imag","complex");se(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);const s={real:n,imag:r};return da.runKernel(kt,s)}});function Ea(e,t,n,r){if(null==r&&(r=Ae(e)),"complex64"===r)throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(!Ne(e)&&!Array.isArray(e)&&"number"!=typeof e&&"boolean"!=typeof e&&"string"!=typeof e)throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(null!=t){Pe(t);const e=oe(t),r=oe(n);re(e===r,(()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`));for(let e=0;e`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `))}}return Ne(e)||Array.isArray(e)||(e=[e]),t=t||n,e="string"!==r?As(e,r):ie(e,[],!0),da.makeTensor(e,t,r)}function $a(e,t,n){return Ea(e,t,wa(e,n),n)}const Aa={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};async function Ra(e,t){const n=[],r=[],s=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);for(let a=0;a{const t=await o.bytes(),n=t.reduce(((e,t)=>e+t.length),0)+4*t.length,r=new Uint8Array(n);let s=0;for(let e=0;e{if(t+=e.byteLength,n.push(e.byteLength===e.buffer.byteLength?e:new e.constructor(e)),!(e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${e.constructor.name}`)}));const r=new Uint8Array(t);let s=0;return n.forEach((e=>{r.set(new Uint8Array(e.buffer),s),s+=e.byteLength})),r.buffer}const Da="undefined"!=typeof Buffer&&("undefined"==typeof Blob||"undefined"==typeof atob||"undefined"==typeof btoa);function _a(e){return Da?Buffer.byteLength(e):new Blob([e]).size}function Oa(e){if(1===e.length)return e[0];let t=0;e.forEach((e=>{t+=e.byteLength}));const n=new Uint8Array(t);let r=0;return e.forEach((e=>{n.set(new Uint8Array(e),r),r+=e.byteLength})),n.buffer}function La(e){for(e=e.trim();e.endsWith("/");)e=e.slice(0,e.length-1);const t=e.split("/");return t[t.length-1]}function za(e,t){const n={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:t};return null!=e.signature&&(n.signature=e.signature),null!=e.userDefinedMetadata&&(n.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(n.modelInitializer=e.modelInitializer),null!=e.trainingConfig&&(n.trainingConfig=e.trainingConfig),n}async function Pa(e,t){const n={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy};if(null!=e.trainingConfig&&(n.trainingConfig=e.trainingConfig),null!=e.weightsManifest){const[r,s]=await t(e.weightsManifest);n.weightSpecs=r,n.weightData=s}return null!=e.signature&&(n.signature=e.signature),null!=e.userDefinedMetadata&&(n.userDefinedMetadata=e.userDefinedMetadata),null!=e.modelInitializer&&(n.modelInitializer=e.modelInitializer),n}function Ba(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:null==e.modelTopology?0:_a(JSON.stringify(e.modelTopology)),weightSpecsBytes:null==e.weightSpecs?0:_a(JSON.stringify(e.weightSpecs)),weightDataBytes:null==e.weightData?0:e.weightData.byteLength}}function Va(){const e=function(){const e=e=>{let t=e<<13,n=0;for(;0==(8388608&t);)n-=8388608,t<<=1;return t&=-8388609,n+=947912704,t|n},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}(),t=function(){const e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}(),n=function(){const e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}();return r=>{const s=new ArrayBuffer(4*r.length),a=new Uint32Array(s);for(let s=0;s>10]+(1023&i)]+t[i>>10];a[s]=o}return new Float32Array(s)}}class Ua{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return null==Ua.instance&&(Ua.instance=new Ua),Ua.instance}static registerSaveRouter(e){Ua.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Ua.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Ua.getHandlers(e,"save")}static getLoadHandlers(e,t){return Ua.getHandlers(e,"load",t)}static getHandlers(e,t,n){const r=[];return("load"===t?Ua.getInstance().loadRouters:Ua.getInstance().saveRouters).forEach((t=>{const s=t(e,n);null!==s&&r.push(s)})),r}}const Wa=e=>Ua.registerSaveRouter(e),Ga=e=>Ua.registerLoadRouter(e),Ha=e=>Ua.getSaveHandlers(e),ja=(e,t)=>Ua.getLoadHandlers(e,t),qa="tensorflowjs",Ka="models_store",Xa="model_info_store";function Ya(){if(!He().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");const e="undefined"==typeof window?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(null==t)throw new Error("The current browser does not appear to support IndexedDB.");return t}function Za(e){const t=e.result;t.createObjectStore(Ka,{keyPath:"modelPath"}),t.createObjectStore(Xa,{keyPath:"modelPath"})}class Ja{constructor(e){if(this.indexedDB=Ya(),null==e||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise(((e,n)=>{const r=this.indexedDB.open(qa,1);r.onupgradeneeded=()=>Za(r),r.onsuccess=()=>{const s=r.result;if(null==t){const t=s.transaction(Ka,"readonly"),r=t.objectStore(Ka).get(this.modelPath);r.onsuccess=()=>{if(null==r.result)return s.close(),n(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(s.close(),n(r.error)),t.oncomplete=()=>s.close()}else{const r=Ba(t),a=s.transaction(Xa,"readwrite");let i=a.objectStore(Xa);const o=i.put({modelPath:this.modelPath,modelArtifactsInfo:r});let l;o.onsuccess=()=>{l=s.transaction(Ka,"readwrite");const o=l.objectStore(Ka).put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r});o.onsuccess=()=>e({modelArtifactsInfo:r}),o.onerror=e=>{i=a.objectStore(Xa);const t=i.delete(this.modelPath);t.onsuccess=()=>(s.close(),n(o.error)),t.onerror=e=>(s.close(),n(o.error))}},o.onerror=e=>(s.close(),n(o.error)),a.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}}},r.onerror=e=>n(r.error)}))}}Ja.URL_SCHEME="indexeddb://";const Qa=e=>{return He().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(Ja.URL_SCHEME)?(t=e.slice(Ja.URL_SCHEME.length),new Ja(t)):null;var t};Ua.registerSaveRouter(Qa),Ua.registerLoadRouter(Qa);class ei{constructor(){this.indexedDB=Ya()}async listModels(){return new Promise(((e,t)=>{const n=this.indexedDB.open(qa,1);n.onupgradeneeded=()=>Za(n),n.onsuccess=()=>{const r=n.result,s=r.transaction(Xa,"readonly"),a=s.objectStore(Xa).getAll();a.onsuccess=()=>{const t={};for(const e of a.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},a.onerror=e=>(r.close(),t(a.error)),s.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)}))}async removeModel(e){var t;return e=(t=e).startsWith(Ja.URL_SCHEME)?t.slice(Ja.URL_SCHEME.length):t,new Promise(((t,n)=>{const r=this.indexedDB.open(qa,1);r.onupgradeneeded=()=>Za(r),r.onsuccess=()=>{const s=r.result,a=s.transaction(Xa,"readwrite"),i=a.objectStore(Xa),o=i.get(e);let l;o.onsuccess=()=>{if(null==o.result)return s.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{const r=i.delete(e),a=()=>{l=s.transaction(Ka,"readwrite");const r=l.objectStore(Ka).delete(e);r.onsuccess=()=>t(o.result.modelArtifactsInfo),r.onerror=e=>n(o.error)};r.onsuccess=a,r.onerror=e=>(a(),s.close(),n(o.error))}},o.onerror=e=>(s.close(),n(o.error)),a.oncomplete=()=>{null==l?s.close():l.oncomplete=()=>s.close()}},r.onerror=e=>n(r.error)}))}}const ti="/",ni="tensorflowjs_models",ri="info",si="model_topology",ai="weight_specs",ii="weight_data",oi="model_metadata";function li(e){return{info:[ni,e,ri].join(ti),topology:[ni,e,si].join(ti),weightSpecs:[ni,e,ai].join(ti),weightData:[ni,e,ii].join(ti),modelMetadata:[ni,e,oi].join(ti)}}function ui(e){for(const t of Object.values(e))window.localStorage.removeItem(t)}function ci(e){const t=e.split(ti);if(t.length<3)throw new Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(ti)}class hi{constructor(e){if(!He().getBool("IS_BROWSER")||"undefined"==typeof window||void 0===window.localStorage)throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,null==e||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=li(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{const t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=Ba(e);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,function(e){if(Da)return Buffer.from(e).toString("base64");const t=new Uint8Array(e);let n="";for(let e=0,r=t.length;e{return He().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith(hi.URL_SCHEME)?(t=e.slice(hi.URL_SCHEME.length),new hi(t)):null;var t};Ua.registerSaveRouter(pi),Ua.registerLoadRouter(pi);class di{constructor(){re(He().getBool("IS_BROWSER"),(()=>"Current environment is not a web browser")),re("undefined"==typeof window||void 0!==window.localStorage,(()=>"Current browser does not appear to support localStorage")),this.LS=window.localStorage}async listModels(){const e={},t=ni+ti,n=ti+ri;for(let r=0;r"scheme must not be undefined or null.")),e.endsWith(fi)&&(e=e.slice(0,e.indexOf(fi))),re(e.length>0,(()=>"scheme must not be an empty string."));const n=mi.getInstance();re(null==n.managers[e],(()=>`A model store manager is already registered for scheme '${e}'.`)),n.managers[e]=t}static getManager(e){const t=this.getInstance().managers[e];if(null==t)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}}function gi(e){if(-1===e.indexOf(fi))throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${mi.getSchemes().join(",")}`);return{scheme:e.split(fi)[0],path:e.split(fi)[1]}}async function yi(e,t,n=!1){re(e!==t,(()=>`Old path and new path are the same: '${e}'`));const r=Ua.getLoadHandlers(e);re(r.length>0,(()=>`Copying failed because no load handler is found for source URL ${e}.`)),re(r.length<2,(()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`));const s=r[0],a=Ua.getSaveHandlers(t);re(a.length>0,(()=>`Copying failed because no save handler is found for destination URL ${t}.`)),re(a.length<2,(()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`));const i=a[0],o=gi(e).scheme,l=gi(e).path,u=o===gi(e).scheme,c=await s.load();n&&u&&await mi.getManager(o).removeModel(l);const h=await i.save(c);return n&&!u&&await mi.getManager(o).removeModel(l),h.modelArtifactsInfo}async function bi(){const e=mi.getSchemes(),t={};for(const n of e){const e=await mi.getManager(n).listModels();for(const r in e)t[n+fi+r]=e[r]}return t}async function xi(e){const t=gi(e);return mi.getManager(t.scheme).removeModel(t.path)}async function wi(e,t){return yi(e,t,!1)}async function vi(e,t){return yi(e,t,!0)}class ki{fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return null==this.textEncoder&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}}if(He().get("IS_BROWSER")){He().setPlatform("browser",new ki);try{mi.registerManager(hi.URL_SCHEME,new di)}catch(e){}try{mi.registerManager(Ja.URL_SCHEME,new ei)}catch(e){}}let Ii;function Ni(e,t="float32",n){return t=t||"float32",Pe(e),new Ws(e,t,n)}He().get("IS_NODE")&&He().setPlatform("node",new class{constructor(){this.util=n(1758),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return null!=He().global.fetch?He().global.fetch(e,t):(null==Ii&&(Ii=n(8352)),Ii(e,t))}now(){const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}encode(e,t){if("utf-8"!==t&&"utf8"!==t)throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return 0===e.length?"":new this.util.TextDecoder(t).decode(e)}});const Si=Ta({cast_:function(e,t){const n=Ia(e,"x","cast");if(!ke(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if("string"===t&&"string"!==n.dtype||"string"!==t&&"string"===n.dtype)throw new Error("Only strings can be casted to strings");const r={x:n},s={dtype:t};return da.runKernel(xt,r,s)}}),Ti=Ta({clone_:function(e){const t={x:Ia(e,"x","clone","string_or_numeric")};return da.runKernel(cn,t)}});function Ci(e,t=!1){console.log(e.toString(t))}function Ei(e){return new Promise((e=>setTimeout(e))).then(e)}pa(),Hs={buffer:Ni,cast:Si,clone:Ti,print:Ci};class $i{constructor(e){if(!He().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith($i.URL_SCHEME)&&(e=e.slice($i.URL_SCHEME.length)),null!=e&&0!==e.length||(e="model"),this.modelJsonFileName=e+".json",this.weightDataFileName=e+".weights.bin"}async save(e){if("undefined"==typeof document)throw new Error("Browser downloads are not supported in this environment since `document` is not present");const t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{const n=za(e,[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}]),r=window.URL.createObjectURL(new Blob([JSON.stringify(n)],{type:"application/json"})),s=null==this.modelJsonAnchor?document.createElement("a"):this.modelJsonAnchor;if(s.download=this.modelJsonFileName,s.href=r,await Ei((()=>s.dispatchEvent(new MouseEvent("click")))),null!=e.weightData){const e=null==this.weightDataAnchor?document.createElement("a"):this.weightDataAnchor;e.download=this.weightDataFileName,e.href=t,await Ei((()=>e.dispatchEvent(new MouseEvent("click"))))}return{modelArtifactsInfo:Ba(e)}}}}$i.URL_SCHEME="downloads://";class Ai{constructor(e){if(null==e||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.jsonFile=e[0],this.weightsFiles=e.slice(1)}async load(){return new Promise(((e,t)=>{const n=new FileReader;n.onload=n=>{const r=JSON.parse(n.target.result),s=r.modelTopology;if(null==s)return void t(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));if(null==r.weightsManifest)return void t(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));if(0===this.weightsFiles.length)return void e({modelTopology:s});const a=Pa(r,(e=>this.loadWeights(e)));e(a)},n.onerror=e=>t(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)}))}loadWeights(e){const t=[],n=[];for(const r of e)t.push(...r.weights),n.push(...r.paths);const r=this.checkManifestAndWeightFiles(e),s=n.map((e=>this.loadWeightsFile(e,r[e])));return Promise.all(s).then((e=>[t,Oa(e)]))}loadWeightsFile(e,t){return new Promise(((n,r)=>{const s=new FileReader;s.onload=e=>{const t=e.target.result;n(t)},s.onerror=t=>r(`Failed to weights data from file of path '${e}'.`),s.readAsArrayBuffer(t)}))}checkManifestAndWeightFiles(e){const t=[],n=this.weightsFiles.map((e=>La(e.name))),r={};for(const s of e)s.paths.forEach((e=>{const s=La(e);if(-1!==t.indexOf(s))throw new Error(`Duplicate file basename found in weights manifest: '${s}'`);if(t.push(s),-1===n.indexOf(s))throw new Error(`Weight file with basename '${s}' is not provided.`);r[e]=this.weightsFiles[n.indexOf(s)]}));if(t.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${t.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return r}}function Ri(e){return new Ai(e)}function Mi(e,t,n,r){!function(e){re(null!=e&&Array.isArray(e)&&e.length>0,(()=>"promises must be a none empty array"))}(e),function(e,t){re(e>=0&&e<=1,(()=>`Progress fraction must be in range [0, 1], but got startFraction ${e}`)),re(t>=0&&t<=1,(()=>`Progress fraction must be in range [0, 1], but got endFraction ${t}`)),re(t>=e,(()=>`startFraction must be no more than endFraction, but got startFraction ${e} and endFraction ${t}`))}(n=null==n?0:n,r=null==r?1:r);let s=0;return Promise.all(e.map((a=>(a.then((a=>{const i=n+ ++s/e.length*(r-n);return t(i),a})),a))))}async function Fi(e,t){null==t&&(t={});const n=null==t.fetchFunc?He().platform.fetch:t.fetchFunc,r=e.map((e=>n(e,t.requestInit,{isBinary:!0}))),s=(null==t.onProgress?await Promise.all(r):await Mi(r,t.onProgress,0,.5)).map((e=>e.arrayBuffer()));return null==t.onProgress?await Promise.all(s):await Mi(s,t.onProgress,.5,1)}async function Di(e,t="",n,r){return _i((e=>Fi(e,{requestInit:r})))(e,t,n)}function _i(e){return async(t,n="",r)=>{const s=t.map((()=>!1)),a={},i=null!=r?r.map((()=>!1)):[],o=[];if(t.forEach(((e,t)=>{let n=0;e.weights.forEach((e=>{const l="quantization"in e?e.quantization.dtype:e.dtype,u=Aa[l]*oe(e.shape),c=()=>{s[t]=!0,null==a[t]&&(a[t]=[]),a[t].push({manifestEntry:e,groupOffset:n,sizeBytes:u})};null!=r?r.forEach(((t,n)=>{t===e.name&&(c(),i[n]=!0)})):c(),o.push(e.name),n+=u}))})),!i.every((e=>e))){const e=r.filter(((e,t)=>!i[t]));throw new Error(`Could not find weights in manifest with names: ${e.join(", ")}. \nManifest JSON has weights with names: ${o.join(", ")}.`)}const l=s.reduce(((e,t,n)=>(t&&e.push(n),e)),[]),u=[];l.forEach((e=>{t[e].paths.forEach((e=>{const t=n+(n.endsWith("/")?"":"/")+e;u.push(t)}))}));const c=await e(u),h={};let p=0;return l.forEach((e=>{const n=t[e].paths.length;let r=0;for(let e=0;e{const t=Ma(s.slice(e.groupOffset,e.groupOffset+e.sizeBytes),[e.manifestEntry]);for(const e in t)h[e]=t[e]})),p+=n})),h}}Ua.registerSaveRouter((e=>He().getBool("IS_BROWSER")&&!Array.isArray(e)&&e.startsWith($i.URL_SCHEME)?function(e="model"){return new $i(e)}(e.slice($i.URL_SCHEME.length)):null));class Oi{constructor(e,t){if(this.DEFAULT_METHOD="POST",null==t&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,null!=t.fetchFunc?(re("function"==typeof t.fetchFunc,(()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)")),this.fetch=t.fetchFunc):this.fetch=He().platform.fetch,re(null!=e&&e.length>0,(()=>"URL path for http must not be null, undefined or empty.")),Array.isArray(e)&&re(2===e.length,(()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`)),this.path=e,null!=t.requestInit&&null!=t.requestInit.body)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");const t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;const n=za(e,[{paths:["./model.weights.bin"],weights:e.weightSpecs}]);t.body.append("model.json",new Blob([JSON.stringify(n)],{type:"application/json"}),"model.json"),null!=e.weightData&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:"application/octet-stream"}),"model.weights.bin");const r=await this.fetch(this.path,t);if(r.ok)return{modelArtifactsInfo:Ba(e),responses:[r]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${r.status}.`)}async load(){const e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(e){let t=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?t+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":t+=" Please make sure the server is serving valid JSON for this request.",new Error(t)}const n=t.modelTopology,r=t.weightsManifest;if(null==n&&null==r)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return Pa(t,(e=>this.loadWeights(e)))}async loadWeights(e){const t=Array.isArray(this.path)?this.path[1]:this.path,[n,r]=function(e){const t=e.lastIndexOf("/"),n=e.lastIndexOf("?");return[e.substring(0,t)+"/",n>t?e.substring(n):""]}(t),s=this.weightPathPrefix||n,a=[];for(const t of e)a.push(...t.weights);const i=[],o=[];for(const t of e)for(const e of t.paths)null!=this.weightUrlConverter?o.push(this.weightUrlConverter(e)):i.push(s+e+r);return this.weightUrlConverter&&i.push(...await Promise.all(o)),[a,Oa(await Fi(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress}))]}}function Li(e){return null!=e.match(Oi.URL_SCHEME_REGEX)}Oi.URL_SCHEME_REGEX=/^https?:\/\//;const zi=(e,t)=>{if("undefined"==typeof fetch&&(null==t||null==t.fetchFunc))return null;{let n=!0;if(n=Array.isArray(e)?e.every((e=>Li(e))):Li(e),n)return Pi(e,t)}return null};function Pi(e,t){return new Oi(e,t)}function Bi(e,t){return Pi(e,t)}Ua.registerSaveRouter(zi),Ua.registerLoadRouter(zi);class Vi{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}}class Ui{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}}function Wi(e,t,n,r){return 1===arguments.length?null!=e.modelTopology||null!=e.weightSpecs?new Vi(e):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Vi({modelTopology:e})):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Vi({modelTopology:e,weightSpecs:t,weightData:n,trainingConfig:r}))}function Gi(e){return new Ui(e)}const Hi=Ta({matMul_:function(e,t,n=!1,r=!1){let s=Ia(e,"a","matMul"),a=Ia(t,"b","matMul");[s,a]=sa(s,a);const i={a:s,b:a},o={transposeA:n,transposeB:r};return da.runKernel(ft,i,o)}}),ji=Ta({oneHot_:function(e,t,n=1,r=0){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);const s={indices:Ia(e,"indices","oneHot","int32")},a={depth:t,onValue:n,offValue:r};return da.runKernel(Kn,s,a)}}),qi=Ta({transpose_:function(e,t){const n=Ia(e,"x","transpose");if(null==t&&(t=n.shape.map(((e,t)=>t)).reverse()),re(n.rank===t.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`)),t.forEach((e=>{re(e>=0&&e"All entries in 'perm' must be between 0 and "+(n.rank-1)+` but got ${t}`))})),n.rank<=1)return n.clone();const r={x:n},s={perm:t};return da.runKernel(Hr,r,s)}}),Ki=Ta({confusionMatrix_:function(e,t,n){const r=Ia(e,"labels","confusionMatrix"),s=Ia(t,"predictions","confusionMatrix");re(null==n||n>0&&Number.isInteger(n),(()=>`If provided, numClasses must be a positive integer, but got ${n}`)),re(1===r.rank,(()=>`Expected the rank of labels to be 1, but got ${r.rank}`)),re(1===s.rank,(()=>`Expected the rank of predictions to be 1, but got ${s.rank}`)),re(r.shape[0]===s.shape[0],(()=>`Mismatch in the number of examples: ${r.shape[0]} vs. ${s.shape[0]}. Labels and predictions should have the same number of elements.`)),re(n>0&&Number.isInteger(n),(()=>`numClasses is required to be a positive integer, but got ${n}`));const a=ji(Si(r,"int32"),n),i=ji(Si(s,"int32"),n),o=qi(a),l=Hi(o,i);return Si(l,"int32")}});function Xi(e,t){const n=e.length,r=[];for(let s=0;s1&&1===i&&r.unshift(a)}return r}function Yi(e,t){const n=[];for(let r=0;r1)&&n.unshift(a)}return n}function Zi(e,t){const n=[],r=Math.max(e.length,t.length);for(let s=0;s4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(null==e)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let n=!1,r=!1,s=!1,a=!1,i=!1,o=!1;if(e.data instanceof Uint8Array)n=!0;else if("undefined"!=typeof ImageData&&e instanceof ImageData)r=!0;else if("undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement)s=!0;else if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement)a=!0;else if(null!=e.getContext)i=!0;else{if(!("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap))throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${e.constructor.name}`);o=!0}if(s){const t=2;if(s&&e.readyState element.")}if(null!=is(Zr,da.backendName)){const n={pixels:e},r={numChannels:t};return da.runKernel(Zr,n,r)}const[l,u]=s?[e.videoWidth,e.videoHeight]:[e.width,e.height];let c,h;if(i)c=e.getContext("2d").getImageData(0,0,l,u).data;else if(r||n)c=e.data;else if(a||s||o){if(null==Qi)if("undefined"==typeof document){if("undefined"==typeof OffscreenCanvas||"undefined"==typeof OffscreenCanvasRenderingContext2D)throw new Error("Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.");Qi=new OffscreenCanvas(1,1).getContext("2d")}else Qi=document.createElement("canvas").getContext("2d");Qi.canvas.width=l,Qi.canvas.height=u,Qi.drawImage(e,0,0,l,u),c=Qi.getImageData(0,0,l,u).data}if(4===t)h=new Int32Array(c);else{const e=l*u;h=new Int32Array(e*t);for(let n=0;n4||2===a)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${a}`);if("float32"!==n.dtype&&"int32"!==n.dtype)throw new Error(`Unsupported type for toPixels: ${n.dtype}. Please use float32 or int32 tensors.`);const i=await n.data(),o="float32"===n.dtype?255:1,l=new Uint8ClampedArray(s*r*4);for(let e=0;e1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${s}.`)}else if("int32"===n.dtype&&(s<0||s>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${s}.`);1===a?(t[0]=s*o,t[1]=s*o,t[2]=s*o):t[r]=s*o}const r=4*e;l[r+0]=Math.round(t[0]),l[r+1]=Math.round(t[1]),l[r+2]=Math.round(t[2]),l[r+3]=Math.round(t[3])}if(null!=t){t.width=s,t.height=r;const e=t.getContext("2d"),n=new ImageData(l,s,r);e.putImageData(n,0,0)}return n!==e&&n.dispose(),l}const ro=Ta({fromPixels_:eo});function so(e,t){const n=e.shape.length,r=t.shape.length;if(n<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);if(r<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${r}.`);if("int32"!==t.dtype)throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[r-1]>n)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[r-1]} vs. ${n}`);if(0===oe(e.shape))throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);const s=t.shape,a=s[s.length-1];let i=1;for(let e=0;ee/u)),1].slice(0,a);return[l,i,u,c]}function ao(e,t,n){const r=t.rank>1?t.shape[t.rank-1]:1,s=t.rank>1?t.rank-1:1,a=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${s}.`;if(n.rank1?t.shape[r-1]:1,a=n.length;let i=1;for(let e=s;e`Error in slice${r}D: Length of begin ${t} must match the rank of the array (${r}).`)),re(r===n.length,(()=>`Error in slice${r}D: Length of size ${n} must match the rank of the array (${r}).`));for(let s=0;s`Error in slice${r}D: begin[${s}] + size[${s}] (${t[s]+n[s]}) would overflow input.shape[${s}] (${e.shape[s]})`))}function uo(e){const t=[];let n=0;for(;e>0;)1&e&&t.push(n),e/=2,n++;return t}function co(e,t,n){const r=[];for(let s=0;s0){const l=t[0],u=n+1;c=go(i,l,u,r,e),h=yo(o,l,u,s,e),p=ho(a,l,u,e)}else for(let t=0;t-1)a[s]=0;else{const i=po(t,n,s);let o=r[i];e&1<-1)a[s]=Number.MAX_SAFE_INTEGER;else{const i=po(t,n,s);let o=r[i];e&1<0?Number.MIN_SAFE_INTEGER:Number.MAX_SAFE_INTEGER);const l=r[s];return i<0&&(i+=l),i=Z(0,i,l-1),i}function wo(e,t,n,r,s,a){let i=t[s];const o=n[s]||1;(e&1<0?Number.MAX_SAFE_INTEGER:Number.MIN_SAFE_INTEGER);const l=r[s];return i<0&&(i+=l),i=o>0?Z(0,i,l):Z(-1,i,l-1),i}function vo(e,t,n){let r=n.length;for(let e=0;e1){r=e;break}for(let s=r+1;s0||n[s]!==e[s])return!1;return!0}function ko(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r{re(-1!==e,(()=>"slice() does not support negative begin indexing."))})),a=null==n?new Array(s).fill(-1):"number"==typeof n?[n,...new Array(s-1).fill(-1)]:n.lengtht>=0?t:(re(-1===t,(()=>`Negative size values should be exactly -1 but got ${t} for the slice() size at index ${n}.`)),e.shape[n]-r[n]))),[r,a]}function No(e,t,n,r,s,a,i,o,l){let u;if(null==r?(u=new Array(t.length),u.fill(1)):u=r,null!=i&&0!=(i&i-1))throw new Error("Multiple ellipses in slice is not allowed.");let c=!1;const h={dims:u.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:n.slice(),strides:u.slice(),beginMask:s,endMask:a,ellipsisMask:i,newAxisMask:o,shrinkAxisMask:l};for(let e=0;e0?0:-1,p.strides[t]>0?r:r-1];if(n&&p.strides[t]<=0)throw Error("only stride 1 allowed on non-range indexing.");m=m&&1===p.strides[t];const i=!!(p.beginMask&1<=r)throw Error(`slice index ${p.begin[t]} of dimension ${t} out of bounds.`)}else p.begin[t]=So(p.begin[t],0,p.strides[t],r,s,a),p.end[t]=So(p.end[t],1,p.strides[t],r,s,a);const e=1===p.strides[t]&&0===p.begin[t]&&p.end[t]===r;d=d&&e,f=f&&(0===t&&1===p.strides[t]||e)}else d=d&&1===p.strides[t]&&i,f=f&&(0===t&&1===p.strides[t]||i);let o,l=!1;if(p.beginValid&&p.endValid?(o=p.end[t]-p.begin[t],l=!0):n?(o=1,l=!0):i&&r>=0&&(o=p.strides[t]<0?-r:r,l=!0),l){let e;e=0===o||o<0!=p.strides[t]<0?0:Math.trunc(o/p.strides[t])+(o%p.strides[t]!=0?1:0),g.push(e)}else g.push(-1)}for(let e=0;e=0?y.push(g[t]):-2===t&&y.push(1)}return{finalShapeSparse:y.filter(((e,t)=>-2!==p.finalShapeGatherIndices[t])),finalShape:y,isIdentity:d,sliceDim0:f,isSimpleSlice:m,begin:p.begin,end:p.end,strides:p.strides}}function So(e,t,n,r,s,a){if(s[t])return n>0?a[t]:a[t+1&1];{const t=e<0?r+e:e;return ta[1]?a[1]:t}}class To{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}}class Co{constructor(){this.classNameMap={}}static getMap(){return null==Co.instance&&(Co.instance=new Co),Co.instance}static register(e){Co.getMap().classNameMap[e.className]=[e,e.fromConfig]}}function Eo(e){re(null!=e.className,(()=>"Class being registered does not have the static className property defined.")),re("string"==typeof e.className,(()=>"className is required to be a string, but got type "+typeof e.className)),re(e.className.length>0,(()=>"Class being registered has an empty-string as its className, which is disallowed.")),Co.register(e)}const $o=.1;function Ao(e,t,n){return null==n&&(n=Ro()),Mo(e,t,((e,t)=>Oo(e,t,n)))}function Ro(){return 32===da.backend.floatPrecision()?.001:$o}function Mo(e,t,n){let r=!0;if((Ne(e)||Ne(t))&&(r=!1),Ne(e)&&Ne(t)&&(r=!0),r){const n=e.constructor.name,r=t.constructor.name;if(n!==r)throw new Error(`Arrays are of different type. Actual: ${n}. Expected: ${r}`)}if(Array.isArray(e)&&Array.isArray(t)){const n=wa(e),r=wa(t);if(!ue(n,r))throw new Error(`Arrays have different shapes. Actual: [${n}]. Expected: [${r}]`)}const s=Ne(e)?e:ie(e),a=Ne(t)?t:ie(t);if(s.length!==a.length)throw new Error(`Arrays have different lengths actual: ${s.length} vs expected: ${a.length}.\nActual: ${s}.\nExpected: ${a}.`);for(let e=0;et.fail()),(()=>t()))}function Do(e,t){const n="string"==typeof t||"number"==typeof t||"boolean"==typeof t?[t]:t;return Ce(e)||Ce(e[0])||Ce(t)||Ce(t[0])?Mo(e,n,((e,t)=>e==t)):Mo(e,t,((e,t)=>Oo(e,t,0)))}function _o(e,t,n){if(null==n&&(n=Ro()),!Oo(e,t,n))throw new Error(`Numbers differ: actual === ${e}, expected === ${t}`)}function Oo(e,t,n){return!isFinite(e)&&!isFinite(t)||!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function Lo(e,t,n){for(let r=0;rn)throw new Error(`Value out of range:${e[r]} low: ${t}, high: ${n}`)}function zo(e,t){const n=new Float32Array(e),r=new Float32Array(t);if(n.length!==r.length)throw new Error(`Expected ArrayBuffer to be of length ${r.length}, but it was ${n.length}`);for(let e=0;ee.dispose()))}function Zo(e){return da.keep(e)}function Jo(e){return da.time(e)}function Qo(e){return da.setBackend(e)}function el(){return da.ready()}function tl(){return da.backendName}function nl(e){da.removeBackend(e)}function rl(e){return da.findBackend(e)}function sl(e){return da.findBackendFactory(e)}function al(e,t,n=1){return da.registerBackend(e,t,n)}function il(){return da.backend}function ol(e,t){He().setPlatform(e,t)}js=Go;const ll=Ta({add_:function(e,t){let n=Ia(e,"a","add"),r=Ia(t,"b","add");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Qe,s)}}),ul=Ta({floorDiv_:function(e,t){let n=Ia(e,"a","floorDiv"),r=Ia(t,"b","floorDiv");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(rn,s)}}),cl=Ta({div_:function(e,t){let n=Ia(e,"a","div"),r=Ia(t,"b","div");if([n,r]=sa(n,r),"int32"===n.dtype&&"int32"===r.dtype)return ul(n,r);const s={a:n,b:r};return da.runKernel(Gt,s,{})}}),hl=Ta({mul_:function(e,t){let n=Ia(e,"a","mul"),r=Ia(t,"b","mul");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Vn,s)}}),pl=Ta({sqrt_:function(e){const t={x:Ia(e,"x","sqrt","float32")};return da.runKernel(Ir,t)}}),dl=Ta({square_:function(e){const t=Ia(e,"x","square");return da.runKernel("Square",{x:t},{})}}),fl=Ta({zerosLike_:function(e){const t={x:Ia(e,"x","zerosLike")};return da.runKernel(Xr,t)}});function ml(e){return re(Re(e),(()=>"The f passed in grad(f) must be a function")),(t,n)=>{const r=Ia(t,"x","tf.grad","string_or_numeric"),s=null!=n?Ia(n,"dy","tf.grad"):null;return da.tidy((()=>{const{value:t,grads:n}=da.gradients((()=>e(r)),[r],s);return null!=s&&se(t.shape,s.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),vl(n),n[0]}))}}function gl(e){return re(Re(e),(()=>"The f passed in grads(f) must be a function")),(t,n)=>{re(Array.isArray(t),(()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s"));const r=Na(t,"args","tf.grads","string_or_numeric"),s=null!=n?Ia(n,"dy","tf.grads"):null;return da.tidy((()=>{const{value:t,grads:n}=da.gradients((()=>e(...r)),r,s);return null!=s&&se(t.shape,s.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),vl(n),n}))}}function yl(e){return re(Re(e),(()=>"The f passed in valueAndGrad(f) must be a function")),(t,n)=>{re(t instanceof qs,(()=>"The x passed in valueAndGrad(f)(x) must be a tensor")),re(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor"));const{grads:r,value:s}=da.gradients((()=>e(t)),[t],n);return vl(r),{grad:r[0],value:s}}}function bl(e){return re(Re(e),(()=>"The f passed in valueAndGrads(f) must be a function")),(t,n)=>{re(Array.isArray(t)&&t.every((e=>e instanceof qs)),(()=>"The args passed in valueAndGrads(f)(args) must be array of tensors")),re(null==n||n instanceof qs,(()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor"));const r=da.gradients((()=>e(...t)),t,n);return null!=n&&se(r.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),vl(r.grads),r}}function xl(e,t){re(Re(e),(()=>"The f passed in variableGrads(f) must be a function")),re(null==t||Array.isArray(t)&&t.every((e=>e instanceof Xs)),(()=>"The varList passed in variableGrads(f, varList) must be an array of variables"));const n=null!=t;if(!n){t=[];for(const e in da.registeredVariables)t.push(da.registeredVariables[e])}const r=n?t.filter((e=>!e.trainable)):null,s=t.length;t=t.filter((e=>e.trainable)),re(t.length>0,(()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${s} variables is trainable.`));const{value:a,grads:i}=da.gradients(e,t,null,!0);re(i.some((e=>null!=e)),(()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().")),re(0===a.rank,(()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`));const o={};return t.forEach(((e,t)=>{null!=i[t]&&(o[e.name]=i[t])})),null!=r&&r.forEach((e=>o[e.name]=null)),{value:a,grads:o}}function wl(e){return da.customGrad(e)}function vl(e){if(e.filter((e=>null==e)).length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.")}function kl(e,t){if((Ne(e)&&"string"!==t||Array.isArray(e))&&"complex64"!==t)throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if("string"===t&&Ne(e)&&!(e instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return Ea(e,[],[],t)}class Il extends To{minimize(e,t=!1,n){const{value:r,grads:s}=this.computeGradients(e,n);if(null!=n){const e=n.map((e=>({name:e.name,tensor:s[e.name]})));this.applyGradients(e)}else this.applyGradients(s);return Yo(s),t?r:(r.dispose(),null)}get iterations(){return null==this.iterations_&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return xl(e,t)}dispose(){null!=this.iterations_&&Yo(this.iterations_)}async saveIterations(){return null==this.iterations_&&(this.iterations_=0),{name:"iter",tensor:kl(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}}Object.defineProperty(Il,Symbol.hasInstance,{value:e=>null!=e.minimize&&null!=e.computeGradients&&null!=e.applyGradients});class Nl extends Il{constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],null==n&&(this.epsilon=da.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t];null==this.accumulatedGrads[n]&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:Xo((()=>fl(r).variable(!1)))}),null==this.accumulatedUpdates[n]&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:Xo((()=>fl(r).variable(!1)))});const s=Array.isArray(e)?e[n].tensor:e[t];if(null==s)return;const a=this.accumulatedGrads[n].variable,i=this.accumulatedUpdates[n].variable;Xo((()=>{const e=ll(hl(a,this.rho),hl(dl(s),1-this.rho)),t=hl(cl(pl(ll(i,this.epsilon)),pl(ll(a,this.epsilon))),s),n=ll(hl(i,this.rho),hl(dl(t),1-this.rho));a.assign(e),i.assign(n);const o=ll(hl(t,-this.learningRate),r);r.assign(o)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedUpdates&&(Yo(this.accumulatedGrads.map((e=>e.variable))),Yo(this.accumulatedUpdates.map((e=>e.variable))))}async getWeights(){const e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){const t=(e=await this.extractIterations(e)).length/2;this.accumulatedGrads=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)}))),this.accumulatedUpdates=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}}function Sl(e,t,n){const r={shape:e,value:t,dtype:n};return da.runKernel(en,{},r)}Nl.className="Adadelta",Eo(Nl);class Tl extends Il{constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t];if(null==this.accumulatedGrads[n]){const e=!1;this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:Xo((()=>Sl(r.shape,this.initialAccumulatorValue).variable(e)))}}const s=Array.isArray(e)?e[n].tensor:e[t];if(null==s)return;const a=this.accumulatedGrads[n].variable;Xo((()=>{const e=ll(a,dl(s));a.assign(e);const t=ll(hl(cl(s,pl(ll(e,da.backend.epsilon()))),-this.learningRate),r);r.assign(t)}))})),this.incrementIterations()}dispose(){null!=this.accumulatedGrads&&Yo(this.accumulatedGrads.map((e=>e.variable)))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),this.accumulatedGrads=e.map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}}Tl.className="Adagrad",Eo(Tl);const Cl=Ta({pow_:function(e,t){let n=Ia(e,"base","pow"),r=Ia(t,"exp","pow");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Jn,s)}}),El=Ta({sub_:function(e,t){let n=Ia(e,"a","sub"),r=Ia(t,"b","sub");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Pr,s)}});class $l extends Il{constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],Xo((()=>{this.accBeta1=kl(t).variable(),this.accBeta2=kl(n).variable()})),null==r&&(this.epsilon=da.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);Xo((()=>{const n=El(1,this.accBeta1),r=El(1,this.accBeta2);t.forEach(((t,s)=>{const a=da.registeredVariables[t];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${t}/m`,variable:Xo((()=>fl(a).variable(!1)))}),null==this.accumulatedSecondMoment[s]&&(this.accumulatedSecondMoment[s]={originalName:`${t}/v`,variable:Xo((()=>fl(a).variable(!1)))});const i=Array.isArray(e)?e[s].tensor:e[t];if(null==i)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedSecondMoment[s].variable,u=ll(hl(o,this.beta1),hl(i,1-this.beta1)),c=ll(hl(l,this.beta2),hl(dl(i),1-this.beta2)),h=cl(u,n),p=cl(c,r);o.assign(u),l.assign(c);const d=ll(hl(cl(h,ll(pl(p),this.epsilon)),-this.learningRate),a);a.assign(d)})),this.accBeta1.assign(hl(this.accBeta1,this.beta1)),this.accBeta2.assign(hl(this.accBeta2,this.beta2))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedSecondMoment&&Yo(this.accumulatedSecondMoment.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),Xo((()=>{this.accBeta1.assign(Cl(this.beta1,this.iterations_+1)),this.accBeta2.assign(Cl(this.beta2,this.iterations_+1))}));const t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)}))),this.accumulatedSecondMoment=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}}$l.className="Adam",Eo($l);const Al=Ta({abs_:function(e){const t=Ia(e,"x","abs");if("complex64"===t.dtype){const e={x:t};return da.runKernel(It,e)}{const e={x:t};return da.runKernel(Ye,e)}}}),Rl=Ta({maximum_:function(e,t){let n=Ia(e,"a","maximum"),r=Ia(t,"b","maximum");[n,r]=sa(n,r),"bool"===n.dtype&&(n=Si(n,"int32"),r=Si(r,"int32")),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel($n,s)}});class Ml extends Il{constructor(e,t,n,r=null,s=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],Xo((()=>{this.iteration=kl(0).variable(),this.accBeta1=kl(t).variable()})),null==r&&(this.epsilon=da.backend.epsilon())}applyGradients(e){const t=Array.isArray(e)?e.map((e=>e.name)):Object.keys(e);Xo((()=>{const n=El(1,this.accBeta1),r=cl(-this.learningRate,ll(hl(this.iteration,this.decay),1));t.forEach(((t,s)=>{const a=da.registeredVariables[t];null==this.accumulatedFirstMoment[s]&&(this.accumulatedFirstMoment[s]={originalName:`${t}/m`,variable:fl(a).variable(!1)}),null==this.accumulatedWeightedInfNorm[s]&&(this.accumulatedWeightedInfNorm[s]={originalName:`${t}/v`,variable:fl(a).variable(!1)});const i=Array.isArray(e)?e[s].tensor:e[t];if(null==i)return;const o=this.accumulatedFirstMoment[s].variable,l=this.accumulatedWeightedInfNorm[s].variable,u=ll(hl(o,this.beta1),hl(i,1-this.beta1)),c=hl(l,this.beta2),h=Al(i),p=Rl(c,h);o.assign(u),l.assign(p);const d=ll(hl(cl(r,n),cl(u,ll(p,this.epsilon))),a);a.assign(d)})),this.iteration.assign(ll(this.iteration,1)),this.accBeta1.assign(hl(this.accBeta1,this.beta1))})),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),null!=this.accumulatedFirstMoment&&Yo(this.accumulatedFirstMoment.map((e=>e.variable))),null!=this.accumulatedWeightedInfNorm&&Yo(this.accumulatedWeightedInfNorm.map((e=>e.variable)))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}}Ml.className="Adamax",Eo(Ml);class Fl extends Il{constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=Array.isArray(e)?e[n].tensor:e[t];if(null==r)return;const s=da.registeredVariables[t];Xo((()=>{const e=ll(hl(this.c,r),s);s.assign(e)}))})),this.incrementIterations()}setLearningRate(e){this.learningRate=e,null!=this.c&&this.c.dispose(),this.c=Zo(kl(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(0!==(e=await this.extractIterations(e)).length)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}}Fl.className="SGD",Eo(Fl);class Dl extends Fl{constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=kl(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t];if(null==this.accumulations[n]){const e=!1;this.accumulations[n]={originalName:`${t}/momentum`,variable:Xo((()=>fl(r).variable(e)))}}const s=this.accumulations[n].variable,a=Array.isArray(e)?e[n].tensor:e[t];null!=a&&Xo((()=>{let e;const t=ll(hl(this.m,s),a);e=this.useNesterov?ll(hl(this.c,ll(a,hl(t,this.m))),r):ll(hl(this.c,t),r),s.assign(t),r.assign(e)}))})),this.incrementIterations()}dispose(){this.m.dispose(),null!=this.accumulations&&Yo(this.accumulations.map((e=>e.variable)))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e),this.accumulations=e.map((e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}}Dl.className="Momentum",Eo(Dl);class _l extends Il{constructor(e,t=.9,n=0,r=null,s=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,null==r&&(this.epsilon=da.backend.epsilon()),null==e)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map((e=>e.name)):Object.keys(e)).forEach(((t,n)=>{const r=da.registeredVariables[t],s=!1;null==this.accumulatedMeanSquares[n]&&(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:Xo((()=>fl(r).variable(s)))}),null==this.accumulatedMoments[n]&&(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:Xo((()=>fl(r).variable(s)))}),null==this.accumulatedMeanGrads[n]&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:Xo((()=>fl(r).variable(s)))});const a=Array.isArray(e)?e[n].tensor:e[t];if(null==a)return;const i=this.accumulatedMeanSquares[n].variable,o=this.accumulatedMoments[n].variable;Xo((()=>{const e=ll(hl(i,this.decay),hl(dl(a),1-this.decay));if(this.centered){const t=this.accumulatedMeanGrads[n].variable,s=ll(hl(t,this.decay),hl(a,1-this.decay)),l=cl(hl(a,this.learningRate),pl(El(e,ll(dl(s),this.epsilon)))),u=ll(hl(o,this.momentum),l);i.assign(e),t.assign(s),o.assign(u);const c=El(r,u);r.assign(c)}else{const e=ll(hl(i,this.decay),hl(dl(a),1-this.decay)),t=ll(hl(o,this.momentum),cl(hl(a,this.learningRate),pl(ll(e,this.epsilon))));i.assign(e),o.assign(t);const n=El(r,t);r.assign(n)}}))})),this.incrementIterations()}dispose(){null!=this.accumulatedMeanSquares&&Yo(this.accumulatedMeanSquares.map((e=>e.variable))),null!=this.accumulatedMeanGrads&&this.centered&&Yo(this.accumulatedMeanGrads.map((e=>e.variable))),null!=this.accumulatedMoments&&Yo(this.accumulatedMoments.map((e=>e.variable)))}async getWeights(){const e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map((e=>({name:e.originalName,tensor:e.variable}))))}async setWeights(e){e=await this.extractIterations(e);const t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.accumulatedMoments=e.slice(t,2*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))),this.centered&&(this.accumulatedMeanGrads=e.slice(2*t,3*t).map((e=>({originalName:e.name,variable:e.tensor.variable(n)}))))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}}_l.className="RMSProp",Eo(_l);class Ol{static sgd(e){return new Fl(e)}static momentum(e,t,n=!1){return new Dl(e,t,n)}static rmsprop(e,t=.9,n=0,r=null,s=!1){return new _l(e,t,n,r,s)}static adam(e=.001,t=.9,n=.999,r=null){return new $l(e,t,n,r)}static adadelta(e=.001,t=.95,n=null){return new Nl(e,t,n)}static adamax(e=.002,t=.9,n=.999,r=null,s=0){return new Ml(e,t,n,r,s)}static adagrad(e,t=.1){return new Tl(e,t)}}const Ll=Ta({acos_:function(e){const t={x:Ia(e,"x","acos")};return da.runKernel(Ze,t)}}),zl=Ta({acosh_:function(e){const t={x:Ia(e,"x","acosh")};return da.runKernel(Je,t)}}),Pl=Ta({addN_:function(e){re(Array.isArray(e),(()=>"The argument passed to tf.addN() must be a list of tensors")),re(e.length>=1,(()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`));const t=e.map(((e,t)=>Ia(e,`tensors${t}`,"addN"))),n=t[0];t.forEach((e=>{if(e.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")})),t.forEach((e=>{if(!ue(e.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")}));const r=t;return da.runKernel(et,r)}}),Bl=Ta({all_:function(e,t=null,n=!1){const r={x:Ia(e,"x","all","bool")},s={axis:t,keepDims:n};return da.runKernel(tt,r,s)}}),Vl=Ta({any_:function(e,t=null,n=!1){const r={x:Ia(e,"x","any","bool")},s={axis:t,keepDims:n};return da.runKernel(nt,r,s)}}),Ul=Ta({argMax_:function(e,t=0){const n={x:Ia(e,"x","argMax")},r={axis:t};return da.runKernel(rt,n,r)}}),Wl=Ta({argMin_:function(e,t=0){const n={x:Ia(e,"x","argMin")},r={axis:t};return da.runKernel(st,n,r)}}),Gl=Ta({asin_:function(e){const t={x:Ia(e,"x","asin")};return da.runKernel(at,t)}}),Hl=Ta({asinh_:function(e){const t={x:Ia(e,"x","asinh")};return da.runKernel(it,t)}}),jl=Ta({atan_:function(e){const t={x:Ia(e,"x","atan")};return da.runKernel(ot,t)}}),ql=Ta({atan2_:function(e,t){let n=Ia(e,"a","atan2"),r=Ia(t,"b","atan2");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(ut,s)}}),Kl=Ta({atanh_:function(e){const t={x:Ia(e,"x","atanh")};return da.runKernel(lt,t)}});function Xl(e,t,n,r,s="NHWC",a){return Jl(e,[...t,e[3]],n,a,r,null,null,ou(s))}function Yl(e,t,n,r,s,a,i="channelsLast"){const[o,l]=tu(t);let u;if("channelsLast"===i)u=[o,l,e[3],e[3]];else{if("channelsFirst"!==i)throw new Error(`Unknown dataFormat ${i}`);u=[o,l,e[1],e[1]]}return Jl(e,u,n,r,s,a,!1,i)}function Zl(e,t,n,r,s,a,i="NDHWC"){const[o,l,u]=nu(t);let c,h;if("NDHWC"===i)h="channelsLast",c=[o,l,u,e[4],e[4]];else{if("NCDHW"!==i)throw new Error(`Unknown dataFormat ${i}`);h="channelsFirst",c=[o,l,u,e[1],e[1]]}return Ql(e,c,n,r,s,!1,h,a)}function Jl(e,t,n,r,s,a,i=!1,o="channelsLast"){let[l,u,c,h]=[-1,-1,-1,-1];if("channelsLast"===o)[l,u,c,h]=e;else{if("channelsFirst"!==o)throw new Error(`Unknown dataFormat ${o}`);[l,h,u,c]=e}const[p,d,,f]=t,[m,g]=tu(n),[y,b]=tu(r),x=ru(p,y),w=ru(d,b),{padInfo:v,outHeight:k,outWidth:I}=function(e,t,n,r,s,a,i,o,l){let u,c,h;if("number"==typeof e){u={top:e,bottom:e,left:e,right:e,type:0===e?"VALID":"NUMBER"};const s=function(e,t,n,r,s){null==r&&(r=eu(e,t,n));const a=e[1];return[su((e[0]-t+2*r)/n+1,s),su((a-t+2*r)/n+1,s)]}([t,n],a,r,e,o);c=s[0],h=s[1]}else if("same"===e){c=Math.ceil(t/r),h=Math.ceil(n/s);const e=Math.max(0,(c-1)*r+a-t),o=Math.max(0,(h-1)*s+i-n),l=Math.floor(e/2),p=e-l,d=Math.floor(o/2);u={top:l,bottom:p,left:d,right:o-d,type:"SAME"}}else if("valid"===e)u={top:0,bottom:0,left:0,right:0,type:"VALID"},c=Math.ceil((t-a+1)/r),h=Math.ceil((n-i+1)/s);else{if("object"!=typeof e)throw Error(`Unknown padding parameter: ${e}`);{const p="channelsLast"===l?e[1][0]:e[2][0],d="channelsLast"===l?e[1][1]:e[2][1],f="channelsLast"===l?e[2][0]:e[3][0],m="channelsLast"===l?e[2][1]:e[3][1];u={top:p,bottom:d,left:f,right:m,type:0===p&&0===d&&0===f&&0===m?"VALID":"EXPLICIT"},c=su((t-a+p+d)/r+1,o),h=su((n-i+f+m)/s+1,o)}}return{padInfo:u,outHeight:c,outWidth:h}}(s,u,c,m,g,x,w,a,o),N=i?f*h:f;let S;return"channelsFirst"===o?S=[l,N,k,I]:"channelsLast"===o&&(S=[l,k,I,N]),{batchSize:l,dataFormat:o,inHeight:u,inWidth:c,inChannels:h,outHeight:k,outWidth:I,outChannels:N,padInfo:v,strideHeight:m,strideWidth:g,filterHeight:p,filterWidth:d,effectiveFilterHeight:x,effectiveFilterWidth:w,dilationHeight:y,dilationWidth:b,inShape:e,outShape:S,filterShape:t}}function Ql(e,t,n,r,s,a=!1,i="channelsLast",o){let[l,u,c,h,p]=[-1,-1,-1,-1,-1];if("channelsLast"===i)[l,u,c,h,p]=e;else{if("channelsFirst"!==i)throw new Error(`Unknown dataFormat ${i}`);[l,p,u,c,h]=e}const[d,f,m,,g]=t,[y,b,x]=nu(n),[w,v,k]=nu(r),I=ru(d,w),N=ru(f,v),S=ru(m,k),{padInfo:T,outDepth:C,outHeight:E,outWidth:$}=function(e,t,n,r,s,a,i,o,l,u,c){let h,p,d,f;if("number"==typeof e){h={top:e,bottom:e,left:e,right:e,front:e,back:e,type:0===e?"VALID":"NUMBER"};const a=function(e,t,n,r,s,a){null==s&&(s=eu(e,t,r));const i=e[1],o=e[2];return[su((e[0]-t+2*s)/r+1,a),su((i-t+2*s)/r+1,a),su((o-t+2*s)/r+1,a),1]}([t,n,r,1],o,0,s,e,c);p=a[0],d=a[1],f=a[2]}else if("same"===e){p=Math.ceil(t/s),d=Math.ceil(n/a),f=Math.ceil(r/i);const e=(p-1)*s+o-t,c=(d-1)*a+l-n,m=(f-1)*i+u-r,g=Math.floor(e/2),y=e-g,b=Math.floor(c/2),x=c-b,w=Math.floor(m/2);h={top:b,bottom:x,left:w,right:m-w,front:g,back:y,type:"SAME"}}else{if("valid"!==e)throw Error(`Unknown padding parameter: ${e}`);h={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},p=Math.ceil((t-o+1)/s),d=Math.ceil((n-l+1)/a),f=Math.ceil((r-u+1)/i)}return{padInfo:h,outDepth:p,outHeight:d,outWidth:f}}(s,u,c,h,y,b,x,I,N,S,o),A=a?g*p:g;let R;return"channelsFirst"===i?R=[l,A,C,E,$]:"channelsLast"===i&&(R=[l,C,E,$,A]),{batchSize:l,dataFormat:i,inDepth:u,inHeight:c,inWidth:h,inChannels:p,outDepth:C,outHeight:E,outWidth:$,outChannels:A,padInfo:T,strideDepth:y,strideHeight:b,strideWidth:x,filterDepth:d,filterHeight:f,filterWidth:m,effectiveFilterDepth:I,effectiveFilterHeight:N,effectiveFilterWidth:S,dilationDepth:w,dilationHeight:v,dilationWidth:k,inShape:e,outShape:R,filterShape:t}}function eu(e,t,n,r=1){const s=ru(t,r);return Math.floor((e[0]*(n-1)-n+s)/2)}function tu(e){return"number"==typeof e?[e,e,e]:2===e.length?[e[0],e[1],1]:e}function nu(e){return"number"==typeof e?[e,e,e]:e}function ru(e,t){return t<=1?e:e+(e-1)*(t-1)}function su(e,t){if(!t)return Math.trunc(e);switch(t){case"round":return Math.round(e);case"ceil":return Math.ceil(e);case"floor":return Math.floor(e);default:throw new Error(`Unknown roundingMode ${t}`)}}function au(e){const[t,n,r]=tu(e);return 1===t&&1===n&&1===r}function iu(e,t){return au(e)||au(t)}function ou(e){if("NHWC"===e)return"channelsLast";if("NCHW"===e)return"channelsFirst";throw new Error(`Unknown dataFormat ${e}`)}function lu(e,t,n){if(null!=n){if("string"==typeof t)throw Error(`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`);if("number"==typeof t)re(ce(t),(()=>`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`));else{if("object"!=typeof t)throw Error(`Error in ${e}: Unknown padding parameter: ${t}`);t.forEach((t=>{t.forEach((t=>{re(ce(t),(()=>`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`))}))}))}}}const uu=Ta({reshape_:function(e,t){const n={x:Ia(e,"x","reshape","string_or_numeric")},r={shape:t};return da.runKernel(ar,n,r)}}),cu=Ta({avgPool_:function(e,t,n,r,s){const a=Ia(e,"x","avgPool","float32");re(iu(n,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`));let i=a,o=!1;3===a.rank&&(o=!0,i=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]])),re(4===i.rank,(()=>`Error in avgPool: x must be rank 4 but got rank ${i.rank}.`)),lu("avgPool",r,s);const l={x:i},u={filterSize:t,strides:n,pad:r,dimRoundingMode:s};let c=da.runKernel(ct,l,u);return c=Si(c,a.dtype),o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),hu=Ta({avgPool3d_:function(e,t,n,r,s,a="NDHWC"){const i=Ia(e,"x","avgPool3d","float32");let o=i,l=!1;4===i.rank&&(l=!0,o=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),re(5===o.rank,(()=>`Error in avgPool3d: x must be rank 5 but got rank ${o.rank}.`)),re("NDHWC"===a,(()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${a}`)),lu("avgPool3d",r,s);const u={x:o},c={filterSize:t,strides:n,pad:r,dimRoundingMode:s,dataFormat:a};let h=da.runKernel(pt,u,c);return h=Si(h,o.dtype),l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),pu=Ta({concat_:function(e,t=0){re(e.length>=1,(()=>"Pass at least one tensor to concat"));const n=Na(e,"tensors","concat","string_or_numeric");if("complex64"===n[0].dtype&&n.forEach((e=>{if("complex64"!==e.dtype)throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${e.dtype}. `)})),1===n.length)return Ti(n[0]);const r=n,s={axis:t};return da.runKernel(Nt,r,s)}}),du=Ta({sigmoid_:function(e){const t={x:Ia(e,"x","sigmoid","float32")};return da.runKernel(vr,t)}}),fu=Ta({slice_:function(e,t,n){const r=Ia(e,"x","slice","string_or_numeric");if(0===r.rank)throw new Error("Slicing scalar is not possible");const s={x:r},a={begin:t,size:n};return da.runKernel(yr,s,a)}}),mu=Ta({tanh_:function(e){const t={x:Ia(e,"x","tanh","float32")};return da.runKernel(Vr,t)}}),gu=Ta({basicLSTMCell_:function(e,t,n,r,s,a){const i=Ia(e,"forgetBias","basicLSTMCell"),o=Ia(t,"lstmKernel","basicLSTMCell"),l=Ia(n,"lstmBias","basicLSTMCell"),u=Ia(r,"data","basicLSTMCell"),c=Ia(s,"c","basicLSTMCell"),h=Ia(a,"h","basicLSTMCell"),p=pu([u,h],1),d=Hi(p,o),f=ll(d,l),m=f.shape[0],g=f.shape[1]/4,y=[m,g],b=fu(f,[0,0],y),x=fu(f,[0,g],y),w=fu(f,[0,2*g],y),v=fu(f,[0,3*g],y),k=ll(hl(du(b),mu(x)),hl(c,du(ll(i,w))));return[k,hl(mu(k),du(v))]}}),yu=Ta({batchToSpaceND_:function(e,t,n){const r=Ia(e,"x","batchToSpaceND"),s=t.reduce(((e,t)=>e*t));re(r.rank>=1+t.length,(()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`)),re(n.length===t.length,(()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`)),re(r.shape[0]%s==0,(()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(" * ")} === ${s}`));const a={x:r},i={blockShape:t,crops:n};return da.runKernel(mt,a,i)}}),bu=Ta({batchNorm_:function(e,t,n,r,s,a){null==a&&(a=.001);const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(o.rank===l.rank,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),re(null==c||o.rank===c.rank,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),re(null==u||o.rank===u.rank,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));const h=function(e){let t;return t=0===e.rank||1===e.rank?uu(e,[1,1,1,e.size]):2===e.rank?uu(e,[1,1,e.shape[0],e.shape[1]]):3===e.rank?uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e,t}(i),p={x:h,scale:u,offset:c,mean:o,variance:l},d={varianceEpsilon:a},f=da.runKernel(sn,p,d);return uu(f,i.shape)}}),xu=Ta({batchNorm2d_:function(e,t,n,r,s,a){const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(2===i.rank,(()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`)),re(2===o.rank||1===o.rank,(()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${o.rank}.`)),re(2===l.rank||1===l.rank,(()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${l.rank}.`)),null!=u&&re(2===u.rank||1===u.rank,(()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`)),null!=c&&re(2===c.rank||1===c.rank,(()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`)),bu(i,o,l,c,u,a)}}),wu=Ta({batchNorm3d_:function(e,t,n,r,s,a){const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(3===i.rank,(()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`)),re(3===o.rank||1===o.rank,(()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${o.rank}.`)),re(3===l.rank||1===l.rank,(()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${l.rank}.`)),null!=u&&re(3===u.rank||1===u.rank,(()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`)),null!=c&&re(3===c.rank||1===c.rank,(()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`)),bu(i,o,l,c,u,a)}}),vu=Ta({batchNorm4d_:function(e,t,n,r,s,a){const i=Ia(e,"x","batchNorm"),o=Ia(t,"mean","batchNorm"),l=Ia(n,"variance","batchNorm");let u,c;return null!=s&&(u=Ia(s,"scale","batchNorm")),null!=r&&(c=Ia(r,"offset","batchNorm")),re(4===i.rank,(()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`)),re(4===o.rank||1===o.rank,(()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${o.rank}.`)),re(4===l.rank||1===l.rank,(()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${l.rank}.`)),null!=u&&re(4===u.rank||1===u.rank,(()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`)),null!=c&&re(4===c.rank||1===c.rank,(()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`)),bu(i,o,l,c,u,a)}}),ku=Ta({bincount_:function(e,t,n){const r=Ia(e,"x","bincount"),s=Ia(t,"weights","bincount");re("int32"===r.dtype,(()=>`Error in bincount: input dtype must be int32, but got ${r.dtype}`)),re(n>=0,(()=>`size must be non-negative, but got ${n}.`)),re(s.size===r.size||0===s.size,(()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${r.shape}, weights shape: ${s.shape}.`));const a={x:r,weights:s},i={size:n};return da.runKernel(gt,a,i)}}),Iu=Ta({broadcastArgs_:function(e,t){const n=Ia(e,"s0","broadcastArgs","int32"),r=Ia(t,"s1","broadcastArgs","int32");if(1!==n.rank)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${n.rank}`);if(1!==r.rank)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${r.rank}`);const s={s0:n,s1:r};return da.runKernel(bt,s)}}),Nu=Ta({broadcastTo_:function(e,t){let n=Ia(e,"broadcastTo","x");const r=n.shape;if(t.some((e=>!(e>0)||e%1!=0)))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthn.rank){const e=n.shape.slice();for(;e.length=0;e--)if(s[e]===t[e])a[e]=1;else if(1!==n.shape[e])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);if(0===a.map(((e,t)=>e>1?t:-1)).filter((e=>e>=0)).length)return Ti(n);const i={x:n},o={reps:a};return da.runKernel(Ur,i,o)}}),Su=Ta({ceil_:function(e){const t={x:Ia(e,"x","ceil","float32")};return da.runKernel(wt,t)}}),Tu=Ta({clipByValue_:function(e,t,n){const r=Ia(e,"x","clipByValue");re(t<=n,(()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`));const s={x:r},a={clipValueMin:t,clipValueMax:n};return da.runKernel(vt,s,a)}}),Cu=Ta({concat1d_:function(e){return pu(e,0)}}),Eu=Ta({concat2d_:function(e,t){return pu(e,t)}}),$u=Ta({concat3d_:function(e,t){return pu(e,t)}}),Au=Ta({concat4d_:function(e,t){return pu(e,t)}}),Ru=Ta({conv2d_:function(e,t,n,r,s="NHWC",a=[1,1],i){const o=Ia(e,"x","conv2d","float32"),l=Ia(t,"filter","conv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),re(4===u.rank,(()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`)),re(4===l.rank,(()=>`Error in conv2d: filter must be rank 4, but got rank ${l.rank}.`)),lu("conv2d",r,i);const h="NHWC"===s?u.shape[3]:u.shape[1];re(h===l.shape[2],(()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${l.shape[2]}.`)),re(iu(n,a),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`));const p={x:u,filter:l},d={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i},f=da.runKernel(St,p,d);return c?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Mu=Ta({conv1d_:function(e,t,n,r,s="NWC",a=1,i){const o=Ia(e,"x","conv1d"),l=Ia(t,"filter","conv1d");let u=o,c=!1;2===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1]])),re(3===u.rank,(()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`)),re(3===l.rank,(()=>`Error in conv1d: filter must be rank 3, but got rank ${l.rank}.`)),lu("conv1d",r,i),re(u.shape[2]===l.shape[1],(()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${l.shape[1]}.`)),re(iu(n,a),(()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${a}'`)),re("NWC"===s,(()=>`Error in conv1d: got dataFormat of ${s} but only NWC is currently supported.`));const h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2]]),p=uu(u,[u.shape[0],1,u.shape[1],u.shape[2]]),d=Ru(p,h,[1,n],r,"NHWC",[1,a],i);return uu(d,c?[d.shape[2],d.shape[3]]:[d.shape[0],d.shape[2],d.shape[3]])}}),Fu=Ta({conv2DBackpropInput_:function(e,t,n,r,s,a="NHWC",i){re(e.length===t.rank,(()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`));let o=e,l=t,u=!1;3===t.rank&&(u=!0,l=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]),o=[1,e[0],e[1],e[2]]),re(4===o.length,(()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${o.length}.`)),re(4===l.rank,(()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${l.rank}`)),re(4===n.rank,(()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`));const c="NHWC"===a?o[3]:o[1],h="NHWC"===a?l.shape[3]:l.shape[1];re(c===n.shape[2],(()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[2]}.`)),re(h===n.shape[3],(()=>`Error in conv2dDerInput: depth of output (${h}) must match output depth for filter ${n.shape[3]}.`)),lu("conv2dDerInput",s,i);const p={dy:l,filter:n},d={strides:r,pad:s,dataFormat:a,dimRoundingMode:i,inputShape:o},f=da.runKernel(Ct,p,d);return u?uu(f,[f.shape[1],f.shape[2],f.shape[3]]):f}}),Du=Ta({conv2dTranspose_:function(e,t,n,r,s,a){const i=Ia(e,"x","conv2dTranspose"),o=Ia(t,"filter","conv2dTranspose");return Fu(n,i,o,r,s,"NHWC",a)}}),_u=Ta({conv3d_:function(e,t,n,r,s="NDHWC",a=[1,1,1]){const i=Ia(e,"x","conv3d"),o=Ia(t,"filter","conv3d");let l=i,u=!1;4===i.rank&&(u=!0,l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),re(5===l.rank,(()=>`Error in conv3d: input must be rank 5, but got rank ${l.rank}.`)),re(5===o.rank,(()=>`Error in conv3d: filter must be rank 5, but got rank ${o.rank}.`)),re(l.shape[4]===o.shape[3],(()=>`Error in conv3d: depth of input (${l.shape[4]}) must match input depth for filter ${o.shape[3]}.`)),re(iu(n,a),(()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`)),re("NDHWC"===s,(()=>`Error in conv3d: got dataFormat of ${s} but only NDHWC is currently supported.`));const c={x:l,filter:o},h={strides:n,pad:r,dataFormat:s,dilations:a},p=da.runKernel(Et,c,h);return u?uu(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),Ou=Ta({conv3DBackpropInput_:function(e,t,n,r,s){re(e.length===t.rank,(()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`));let a=e,i=t,o=!1;4===t.rank&&(o=!0,i=uu(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),a=[1,e[0],e[1],e[2],e[3]]);const l=a[4],u=i.shape[4];re(5===a.length,(()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${a.length}.`)),re(5===i.rank,(()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`)),re(5===n.rank,(()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`)),re(l===n.shape[3],(()=>`Error in conv3dDerInput: depth of input (${l}) must match input depth for filter ${n.shape[3]}.`)),re(u===n.shape[4],(()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${n.shape[4]}.`));const c={dy:i,filter:n},h={pad:s,strides:r,inputShape:a},p=da.runKernel(At,c,h);return o?uu(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),Lu=Ta({conv3dTranspose_:function(e,t,n,r,s){const a=Ia(e,"x","conv3dTranspose"),i=Ia(t,"filter","conv3dTranspose");return Ou(n,a,i,r,s)}}),zu=Ta({cos_:function(e){const t={x:Ia(e,"x","cos","float32")};return da.runKernel(Rt,t)}}),Pu=Ta({cosh_:function(e){const t={x:Ia(e,"x","cosh","float32")};return da.runKernel(Mt,t)}}),Bu=Ta({cumsum_:function(e,t=0,n=!1,r=!1){const s={x:Ia(e,"x","cumsum")},a={axis:t,exclusive:n,reverse:r};return da.runKernel(Ft,s,a)}}),Vu=Ta({denseBincount_:function(e,t,n,r=!1){const s=Ia(e,"x","denseBincount"),a=Ia(t,"weights","denseBincount");re("int32"===s.dtype,(()=>`Error in denseBincount: input dtype must be int32, but got ${s.dtype}`)),re(s.rank<=2,(()=>`Error in denseBincount: input must be at most rank 2, but got rank ${s.rank}.`)),re(n>=0,(()=>`size must be non-negative, but got ${n}.`)),re(a.size===s.size||0===a.size,(()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${s.shape}, weights shape: ${a.shape}.`));const i={x:s,weights:a},o={size:n,binaryOutput:r};return da.runKernel(_t,i,o)}}),Uu=Ta({depthToSpace_:function(e,t,n="NHWC"){const r=Ia(e,"x","depthToSpace","float32"),s="NHWC"===n?r.shape[1]:r.shape[2],a="NHWC"===n?r.shape[2]:r.shape[3],i="NHWC"===n?r.shape[3]:r.shape[1];re(t>1,(()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`)),re(s*t>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${t} for depthToSpace with input shape\n ${r.shape}`)),re(a*t>=0,(()=>`Negative dimension size caused by overflow when multiplying\n ${a} and ${t} for depthToSpace with input shape\n ${r.shape}`)),re(i%(t*t)==0,(()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${r.shape}`));const o={x:r},l={blockSize:t,dataFormat:n};return da.runKernel(Ot,o,l)}}),Wu=Ta({depthwiseConv2d_:function(e,t,n,r,s="NHWC",a=[1,1],i){const o=Ia(e,"x","depthwiseConv2d","float32"),l=Ia(t,"filter","depthwiseConv2d","float32");let u=o,c=!1;3===o.rank&&(c=!0,u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),re(4===u.rank,(()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`)),re(4===l.rank,(()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${l.rank}.`)),re(u.shape[3]===l.shape[2],(()=>`Error in depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`)),lu("depthwiseConv2d",r,i);const h={x:u,filter:l},p={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i},d=da.runKernel(Lt,h,p);return c?uu(d,[d.shape[1],d.shape[2],d.shape[3]]):d}}),Gu=Ta({diag_:function(e){const t={x:Ia(e,"x","diag")};return da.runKernel(Bt,t)}}),Hu=Ta({dilation2d_:function(e,t,n,r,s=[1,1],a="NHWC"){const i=Ia(e,"x","dilation2d"),o=Ia(t,"filter","dilation2d");re(3===i.rank||4===i.rank,(()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`)),re(3===o.rank,(()=>`Error in dilation2d: filter must be rank 3, but got rank ${o.rank}.`)),re("NHWC"===a,(()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${a}`));let l=i,u=!1;3===i.rank&&(l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]]),u=!0);const c={x:l,filter:o},h={strides:n,pad:r,dilations:s},p=da.runKernel(Vt,c,h);return u?uu(p,[p.shape[1],p.shape[2],p.shape[3]]):p}}),ju=Ta({equal_:function(e,t){let n=Ia(e,"a","equal","string_or_numeric"),r=Ia(t,"b","equal","string_or_numeric");[n,r]=sa(n,r),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Xt,s)}}),qu=Ta({where_:function(e,t,n){const r=Ia(t,"a","where"),s=Ia(n,"b","where"),a=Ia(e,"condition","where","bool"),i=Zi(Zi(a.shape,r.shape),s.shape),o={condition:Nu(a,i),t:Nu(r,i),e:Nu(s,i)};return da.runKernel(mr,o)}}),Ku=Ta({divNoNan_:function(e,t){let n=Ia(e,"a","div"),r=Ia(t,"b","div");[n,r]=sa(n,r);const s=cl(n,r),a=fl(s),i=ju(r,a);return qu(i,a,s)}}),Xu=Ta({dot_:function(e,t){const n=Ia(e,"t1","dot"),r=Ia(t,"t2","dot");re(!(1!==n.rank&&2!==n.rank||1!==r.rank&&2!==r.rank),(()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`));const s=1===n.rank?n.size:n.shape[1],a=1===r.rank?r.size:r.shape[0];if(re(s===a,(()=>`Error in dot: inner dimensions of inputs must match, but got ${s} and ${a}.`)),1===n.rank&&1===r.rank){const e=uu(n,[1,-1]),t=uu(r,[-1,1]),s=Hi(e,t);return uu(s,[])}if(1===n.rank&&2===r.rank){const e=uu(n,[1,-1]),t=uu(r,[r.shape[0],r.shape[1]]),s=Hi(e,t);return uu(s,[s.size])}if(2===n.rank&&1===r.rank){const e=uu(r,[-1,1]),t=Hi(n,e);return uu(t,[t.size])}{const e=uu(r,[r.shape[0],r.shape[1]]);return Hi(n,e)}}}),Yu=Ta({einsum_:function(e,...t){const n=t.map(((e,t)=>Ia(e,`tensors${t}`,"einsum"))),r={equation:e};return da.runKernel(Ht,n,r)}}),Zu=Ta({elu_:function(e){const t={x:Ia(e,"x","elu","float32")};return da.runKernel(jt,t)}}),Ju=Ta({erf_:function(e){let t=Ia(e,"x","erf");re("int32"===t.dtype||"float32"===t.dtype,(()=>"Input dtype must be `int32` or `float32`.")),"int32"===t.dtype&&(t=Si(t,"float32"));const n={x:t};return da.runKernel(Kt,n)}}),Qu=Ta({exp_:function(e){const t={x:Ia(e,"x","exp")};return da.runKernel(Yt,t)}}),ec=Ta({expandDims_:function(e,t=0){const n=Ia(e,"x","expandDims","string_or_numeric");re(t<=n.rank,(()=>"Axis must be <= rank of the tensor"));const r={input:n},s={dim:t};return da.runKernel(Zt,r,s)}}),tc=Ta({expm1_:function(e){const t={x:Ia(e,"x","expm1")};return da.runKernel(Jt,t)}}),nc=Ta({tile_:function(e,t){const n=Ia(e,"x","tile","string_or_numeric");re(n.rank===t.length,(()=>`Error in transpose: rank of input ${n.rank} must match length of reps ${t}.`));const r={x:n},s={reps:t};return da.runKernel(Ur,r,s)}}),rc=Ta({eye_:function(e,t,n,r="float32"){null==t&&(t=e);const s=Ni([e,t],r),a=e<=t?e:t;for(let e=0;e`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${a.rank}.`)),re(ce(t),(()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`));let i=a,o=!1;3===a.rank&&(o=!0,i=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]]));const l={x:i},u={depthRadius:t,bias:n,alpha:r,beta:s},c=da.runKernel(Tn,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),yc=Ta({log_:function(e){const t={x:Ia(e,"x","log","float32")};return da.runKernel(wn,t)}}),bc=Ta({log1p_:function(e){const t={x:Ia(e,"x","log1p")};return da.runKernel(vn,t)}}),xc=Ta({neg_:function(e){const t={x:Ia(e,"x","neg")};return da.runKernel(Un,t)}}),wc=Ta({softplus_:function(e){const t={x:Ia(e,"x","softplus")};return da.runKernel(kr,t)}}),vc=Ta({logSigmoid_:function(e){const t=Ia(e,"x","logSigmoid"),n=wl((e=>({value:xc(wc(xc(e))),gradFunc:t=>hl(t,du(xc(e)))})));return n(t)}}),kc=Ta({max_:function(e,t=null,n=!1){const r={x:Ia(e,"x","max")},s={reductionIndices:t,keepDims:n};return da.runKernel(En,r,s)}}),Ic=Ta({sum_:function(e,t=null,n=!1){let r=Ia(e,"x","sum");"bool"===r.dtype&&(r=Si(r,"int32"));const s={x:r},a={axis:t,keepDims:n};return da.runKernel(Nr,s,a)}}),Nc=Ta({logSoftmax_:function(e,t=-1){const n=Ia(e,"logits","logSoftmax");if(-1===t&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and axis was ${t}`);const r=wl(((e,n)=>{const r=kc(e,t,!0),s=El(e,r),a=El(Si(s,"float32"),yc(Ic(Qu(s),t,!0)));return n([a]),{value:a,gradFunc:(e,n)=>{const[r]=n,s=Qu(r);return El(e,hl(Ic(e,t,!0),s))}}}));return r(n)}});function Sc(e,t){for(let n=0;ne[t]))]}function Ec(e,t){return Tc(e,t.map((e=>1)),t)}function $c(e,t,n){re(Sc(t,n),(()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`))}function Ac(e,t){if(Sc(e,t))return null;const n=[];for(let r=0;rn.push(e))),n}function Rc(e){return e.map(((e,t)=>[t,e])).sort(((e,t)=>e[1]-t[1])).map((e=>e[0]))}function Mc(e,t){const n=[];for(let r=t-e;r`Error in maxPool: input must be rank 4 but got rank ${i.rank}.`)),re(iu(n,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`)),lu("maxPool",r,s);const l={x:i},u={filterSize:t,strides:n,pad:r,dimRoundingMode:s},c=da.runKernel(An,l,u);return o?uu(c,[c.shape[1],c.shape[2],c.shape[3]]):c}}),Pc=Ta({maxPool3d_:function(e,t=[1,1,1],n,r,s,a="NDHWC"){const i=Ia(e,"x","maxPool3d");let o=i,l=!1;4===i.rank&&(l=!0,o=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),re(5===o.rank,(()=>`Error in maxPool3d: x must be rank 5 but got rank ${o.rank}.`)),re("NDHWC"===a,(()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${a}`)),lu("maxPool3d",r,s);const u={x:o},c={filterSize:t,strides:n,pad:r,dimRoundingMode:s,dataFormat:a},h=da.runKernel(Mn,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3],h.shape[4]]):h}}),Bc=Ta({maxPoolWithArgmax_:function(e,t,n,r,s=!1){const a={x:Ia(e,"x","maxPoolWithArgmax")},i={filterSize:t,strides:n,pad:r,includeBatchInIndex:s},o=da.runKernel(Dn,a,i);return{result:o[0],indexes:o[1]}}}),Vc=Ta({mean_:function(e,t=null,n=!1){const r={x:Ia(e,"x","mean")},s={axis:t,keepDims:n};return da.runKernel(_n,r,s)}});function Uc(e,t="float32"){if("complex64"===t){const t=Uc(e,"float32"),n=Uc(e,"float32");return Ca(t,n)}const n=Le(oe(e),t);return da.makeTensor(n,e,t)}function Wc(e,t="float32"){if("complex64"===t){const t=Wc(e,"float32"),n=Uc(e,"float32");return Ca(t,n)}const n=Oe(oe(e),t);return da.makeTensor(n,e,t)}function Gc(e,t,{indexing:n="xy"}={}){if("xy"!==n&&"ij"!==n)throw new TypeError(`${n} is not a valid third argument to meshgrid`);if(void 0===e)return[];let r=Ia(e,"x","meshgrid",e instanceof qs?e.dtype:"float32");if(void 0===t)return[r];let s=Ia(t,"y","meshgrid",t instanceof qs?t.dtype:"float32");const a=oe(r.shape),i=oe(s.shape);return"xy"===n?(r=uu(r,[1,-1]),s=uu(s,[-1,1]),[Hi(Wc([i,1],r.dtype),r),Hi(s,Wc([1,a],s.dtype))]):(r=uu(r,[-1,1]),s=uu(s,[1,-1]),[Hi(r,Wc([1,i],r.dtype)),Hi(Wc([a,1],s.dtype),s)])}const Hc=Ta({min_:function(e,t=null,n=!1){const r={x:Ia(e,"x","min")},s={axis:t,keepDims:n};return da.runKernel(On,r,s)}}),jc=Ta({minimum_:function(e,t){let n=Ia(e,"a","minimum"),r=Ia(t,"b","minimum");[n,r]=sa(n,r),"bool"===n.dtype&&(n=Si(n,"int32"),r=Si(r,"int32")),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Ln,s)}}),qc=Ta({mirrorPad_:function(e,t,n){re("reflect"===n||"symmetric"===n,(()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${n}.`));const r=Ia(e,"x","mirrorPad");if(0===r.rank)throw new Error("mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad");re(t.length===r.rank,(()=>`Padding doesn't match input. Must be ${r.rank}. Got ${t.length}.`));const s="reflect"===n?1:0;for(let e=0;e"Invalid number of paddings. Must be length of 2 each.")),re(t[e][0]>=0&&t[e][0]<=r.shape[e]-s&&t[e][1]>=0&&t[e][1]<=r.shape[e]-s,(()=>`Padding in dimension ${e} cannot be greater than or equal to ${r.shape[e]-s} or less than 0 for input of shape ${r.shape}`));const a={paddings:t,mode:n},i={x:r};return da.runKernel(zn,i,a)}}),Kc=Ta({mod_:function(e,t){let n=Ia(e,"a","mod"),r=Ia(t,"b","mod");[n,r]=sa(n,r);const s={a:n,b:r};return da.runKernel(Pn,s)}}),Xc=Ta({moments_:function(e,t=null,n=!1){const r=ye(t,(e=Ia(e,"x","moments")).shape),s=Vc(e,r,n);let a=s.shape;n||(a=Ec(s.shape,r));const i=dl(El(Si(e,"float32"),uu(s,a)));return{mean:s,variance:Vc(i,r,n)}}}),Yc=Ta({multiRNNCell_:function(e,t,n,r){const s=Ia(t,"data","multiRNNCell"),a=Na(n,"c","multiRNNCell"),i=Na(r,"h","multiRNNCell");let o=s;const l=[];for(let t=0;t2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);n=n||Math.random();const o={logits:1===i?uu(s,[1,-1]):s},l={numSamples:t,seed:n,normalized:r},u=da.runKernel(Bn,o,l);return 1===i?uu(u,[u.size]):u}}),Jc=Ta({notEqual_:function(e,t){let n=Ia(e,"a","notEqual","string_or_numeric"),r=Ia(t,"b","notEqual","string_or_numeric");[n,r]=sa(n,r),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Wn,s)}}),Qc=Ta({onesLike_:function(e){const t={x:Ia(e,"x","onesLike")};return da.runKernel(qn,t)}}),eh=Ta({outerProduct_:function(e,t){const n=Ia(e,"v1","outerProduct"),r=Ia(t,"v2","outerProduct");re(1===n.rank&&1===r.rank,(()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`));const s=uu(n,[-1,1]),a=uu(r,[1,-1]);return Hi(s,a)}}),th=Ta({pad_:function(e,t,n=0){const r=Ia(e,"x","pad");if(0===r.rank)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");const s={paddings:t,constantValue:n},a={x:r};return da.runKernel(Yn,a,s)}}),nh=Ta({pad1d_:function(e,t,n=0){return re(2===t.length,(()=>"Invalid number of paddings. Must be length of 2.")),th(e,[t],n)}}),rh=Ta({pad2d_:function(e,t,n=0){return re(2===t.length&&2===t[0].length&&2===t[1].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),th(e,t,n)}}),sh=Ta({pad3d_:function(e,t,n=0){return re(3===t.length&&2===t[0].length&&2===t[1].length&&2===t[2].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),th(e,t,n)}}),ah=Ta({pad4d_:function(e,t,n=0){return re(4===t.length&&2===t[0].length&&2===t[1].length&&2===t[2].length&&2===t[3].length,(()=>"Invalid number of paddings. Must be length of 2 each.")),th(e,t,n)}}),ih=Ta({spaceToBatchND_:function(e,t,n){const r=Ia(e,"x","spaceToBatchND");re(r.rank>=1+t.length,(()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`)),re(n.length===t.length,(()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`)),re(r.shape.reduce(((e,r,s)=>s>0&&s<=t.length?e&&(r+n[s-1][0]+n[s-1][1])%t[s-1]==0:e),!0),(()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`));const s={x:r},a={blockShape:t,paddings:n};return da.runKernel(Sr,s,a)}}),oh=Ta({pool_:function(e,t,n,r,s,a,i){null==s&&(s=[1,1]),null==a&&(a=1),0===r&&(r="valid");const o=Ia(e,"x","maxPool");let l=o,u=!1;3===o.rank&&(u=!0,l=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),re(iu(a,s),(()=>`Error in pool: Either strides or dilations must be 1. Got strides ${a} and dilations '${s}'`));const c=Yl(l.shape,t,a,s,r),h=[c.dilationHeight,c.dilationWidth];let p;p="same"===r?function(e,t){const n=e.map(((e,n)=>e+(e-1)*(t[n]-1))).map((e=>e-1)),r=n.map((e=>Math.floor(e/2))),s=n.map(((e,t)=>e-r[t]));return n.map(((e,t)=>[r[t],s[t]]))}([c.filterHeight,c.filterWidth],h):[[0,0],[0,0]];const d=1===h[0]&&1===h[1],[f,m]=function(e,t,n){const r=n.map((e=>e[0])),s=n.map((e=>e[1])),a=e.concat(r,s),i=t.map(((e,t)=>(e-a[t]%e)%e)),o=s.map(((e,t)=>e+i[t]));return[t.map(((e,t)=>[r[t],o[t]])),t.map(((e,t)=>[0,i[t]]))]}([c.inHeight,c.inWidth],h,p),g=d?r:"valid",y=d?l:ih(l,h,f),b=("avg"===n?()=>cu(y,t,a,g,i):()=>zc(y,t,a,g,i))(),x=d?b:yu(b,h,m);return u?uu(x,[x.shape[1],x.shape[2],x.shape[3]]):x}}),lh=Ta({prelu_:function(e,t){const n={x:Ia(e,"x","prelu"),alpha:Ia(t,"alpha","prelu")};return da.runKernel(Qn,n)}}),uh=Ta({prod_:function(e,t=null,n=!1){let r=Ia(e,"x","prod");"bool"===r.dtype&&(r=Si(r,"int32"));const s={x:r},a={axis:t,keepDims:n};return da.runKernel(er,s,a)}}),ch=Ta({rand_:function(e,t,n){const r=oe(e);let s=null;if(null==n||"float32"===n)s=new Float32Array(r);else if("int32"===n)s=new Int32Array(r);else{if("bool"!==n)throw new Error(`Unknown data type ${n}`);s=new Uint8Array(r)}for(let e=0;e=1||0===a);const i=Math.sqrt(-2*Math.log(a)/a);e=this.mean+this.stdDev*r*i,t=this.mean+this.stdDev*s*i,this.truncated&&!this.isValidTruncated(e)||(n=!0)}return this.truncated&&!this.isValidTruncated(t)||(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return null==this.dtype||"float32"===this.dtype?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}}class dh{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;const s=r||Math.random();this.randu=hh.alea(s.toString()),this.randn=new ph(0,1,n,!1,this.randu()),this.d=e<1?e+2/3:e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,s,a;for(;;){do{r=this.randn.nextValue(),a=1+this.c*r}while(a<=0);if(a*=a*a,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-a+Math.log(a)),s=this.randu(),snull==this.dtype||"float32"===this.dtype,this.min=e,this.range=t-e,this.dtype=n,null==r&&(r=Math.random()),"number"==typeof r&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=hh.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}}const mh=Ta({randomGamma_:function(e,t,n=1,r="float32",s){if(null==n&&(n=1),null==r&&(r="float32"),"float32"!==r&&"int32"!==r)throw new Error(`Unsupported data type ${r}`);const a=new dh(t,n,r,s),i=Ni(e,r);for(let e=0;e`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`)),Ih(t,0)}}),Sh=Ta({reverse2d_:function(e,t){const n=Ia(e,"x","reverse");return re(2===n.rank,(()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`)),Ih(n,t)}}),Th=Ta({reverse3d_:function(e,t){const n=Ia(e,"x","reverse");return re(3===n.rank,(()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`)),Ih(n,t)}}),Ch=Ta({reverse4d_:function(e,t){const n=Ia(e,"x","reverse");return re(4===n.rank,(()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`)),Ih(n,t)}}),Eh=Ta({round_:function(e){const t={x:Ia(e,"x","round")};return da.runKernel(pr,t)}}),$h=Ta({rsqrt_:function(e){const t={x:Ia(e,"x","rsqrt","float32")};return da.runKernel(dr,t)}}),Ah=Ta({selu_:function(e){const t={x:Ia(e,"x","selu")};return da.runKernel(gr,t)}}),Rh=Ta({separableConv2d_:function(e,t,n,r,s,a=[1,1],i="NHWC"){const o=Ia(e,"x","separableConv2d"),l=Ia(t,"depthwiseFilter","separableConv2d"),u=Ia(n,"pointwiseFilter","separableConv2d");let c=o,h=!1;if(3===o.rank&&(h=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2]])),"NCHW"===i)throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");re(4===c.rank,(()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`)),re(4===l.rank,(()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${l.rank}.`)),re(4===u.rank,(()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${l.rank}.`)),re(1===u.shape[0],(()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`)),re(1===u.shape[1],(()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`));const p=l.shape[2],d=l.shape[3];re(u.shape[2]===p*d,(()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${p*d}, but got ${u.shape[2]}.`));const f=Wu(c,l,r,s,i,a),m=Ru(f,u,1,"valid",i);return h?uu(m,[m.shape[1],m.shape[2],m.shape[3]]):m}}),Mh=async function(e,t){const n=Ia(e,"x","setdiff1d"),r=Ia(t,"y","setdiff1d");re(n.dtype===r.dtype,(()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`)),re(1===n.rank,(()=>`x should be 1D tensor, but got x (${n.shape}).`)),re(1===r.rank,(()=>`y should be 1D tensor, but got y (${r.shape}).`));const s=await n.data(),a=await r.data(),i=new Set(a);let o=0;for(let e=0;e`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`)),fu(r,[t],[n])}}),Lh=Ta({slice2d_:function(e,t,n){const r=Ia(e,"x","slice2d");return re(2===r.rank,(()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`)),fu(r,t,n)}}),zh=Ta({slice3d_:function(e,t,n){const r=Ia(e,"x","slice3d");return re(3===r.rank,(()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`)),fu(r,t,n)}}),Ph=Ta({slice4d_:function(e,t,n){const r=Ia(e,"x","slice4d");return re(4===r.rank,(()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`)),fu(r,t,n)}}),Bh=Ta({softmax_:function(e,t=-1){const n=Ia(e,"logits","softmax","float32");if(-1===t&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);const r={logits:n},s={dim:t};return da.runKernel(Cr,r,s)}}),Vh=Ta({fft_:function(e){re("complex64"===e.dtype,(()=>`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`));const t={input:e};return da.runKernel(Qt,t)}}),Uh=Ta({ifft_:function(e){re("complex64"===e.dtype,(()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`));const t={input:e};return da.runKernel(hn,t)}}),Wh=Ta({irfft_:function(e){const t=e.shape[e.shape.length-1],n=e.size/t;let r;if(t<=2){const s=uu(e,[n,t]);r=Uh(s)}else{const s=[n,2*(t-1)],a=uu(xh(e),[n,t]),i=uu(lc(e),[n,t]),o=Ih(fu(a,[0,1],[n,t-2]),1),l=hl(Ih(fu(i,[0,1],[n,t-2]),1),kl(-1)),u=pu([a,o],1),c=pu([i,l],1),h=uu(Ca(u,c),[s[0],s[1]]);r=Uh(h)}if(r=xh(r),3===e.rank&&0!==e.shape[0]){const t=r,n=e.shape[0];r=uu(r,[n,r.shape[0]/n,r.shape[1]]),t.dispose()}return r}}),Gh=Ta({split_:function(e,t,n=0){const r={x:Ia(e,"x","split")},s={numOrSizeSplits:t,axis:n};return da.runKernel(Tr,r,s)}}),Hh=Ta({rfft_:function(e,t){re("float32"===e.dtype,(()=>`The dtype for rfft() must be real value but got ${e.dtype}`));let n=e.shape[e.shape.length-1];const r=e.size/n;let s;if(null!=t&&t0)),a=e.shape.map((e=>e));a[e.shape.length-1]=t,s=fu(e,r,a),n=t}else if(null!=t&&t>n){const r=e.shape.map((e=>e));r[e.shape.length-1]=t-n,s=pu([e,Uc(r)],e.shape.length-1),n=t}else s=e;const a=fl(s),i=uu(Ca(s,a),[r,n]),o=Vh(i),l=Math.floor(n/2)+1,u=xh(o),c=lc(o),h=Gh(u,[l,n-l],u.shape.length-1),p=Gh(c,[l,n-l],c.shape.length-1),d=s.shape.slice();return d[s.shape.length-1]=l,uu(Ca(h[0],p[0]),d)}}),jh=Ta({squaredDifference_:function(e,t){let n=Ia(e,"a","squaredDifference"),r=Ia(t,"b","squaredDifference");[n,r]=sa(n,r),Zi(n.shape,r.shape);const s={a:n,b:r};return da.runKernel(Fr,s,{})}}),qh=Ta({squeeze_:function(e,t){const n=Ia(e,"x","squeeze");return uu(n,be(n.shape,t).newShape)}}),Kh=Ta({stack_:function(e,t=0){const n=Na(e,"tensors","stack","string_or_numeric");re(n.length>=1,(()=>"Pass at least one tensor to tf.stack")),n.length>0&&re(t<=n[0].rank,(()=>"Axis must be <= rank of the tensor"));const r=n,s={axis:t};return da.runKernel(Xn,r,s)}}),Xh=Ta({step_:function(e,t=0){const n={x:Ia(e,"x","step")},r={alpha:t};return da.runKernel(Yr,n,r)}}),Yh=Ta({stridedSlice_:function(e,t,n,r,s=0,a=0,i=0,o=0,l=0){const u={x:Ia(e,"x","stridedSlice","string_or_numeric")},c={begin:t,end:n,strides:r,beginMask:s,endMask:a,ellipsisMask:i,newAxisMask:o,shrinkAxisMask:l};return da.runKernel(_r,u,c)}}),Zh=Ta({tan_:function(e){const t={x:Ia(e,"x","tan","float32")};return da.runKernel(Br,t)}});function Jh(e,t){ae(e);const n=wa(e,t);if(1!==n.length)throw new Error("tensor1d() requires values to be a flat/TypedArray");return Ea(e,null,n,t)}function Qh(e,t,n){if(ae(e),null!=t&&2!==t.length)throw new Error("tensor2d() requires shape to have two numbers");const r=wa(e,n);if(2!==r.length&&1!==r.length)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return Ea(e,t,r,n)}function ep(e,t,n){if(ae(e),null!=t&&4!==t.length)throw new Error("tensor4d() requires shape to have four numbers");const r=wa(e,n);if(4!==r.length&&1!==r.length)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return Ea(e,t,r,n)}function tp(e,t,n){if(ae(e),null!=t&&5!==t.length)throw new Error("tensor5d() requires shape to have five numbers");const r=wa(e,n);if(5!==r.length&&1!==r.length)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return Ea(e,t,r,n)}function np(e,t,n){if(ae(e),null!=t&&6!==t.length)throw new Error("tensor6d() requires shape to have six numbers");const r=wa(e,n);if(6!==r.length&&1!==r.length)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(1===r.length&&null==t)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return Ea(e,t=t||r,r,n)}const rp=Ta({topk_:function(e,t=1,n=!0){const r=Ia(e,"x","topk");if(0===r.rank)throw new Error("topk() expects the input to be of rank 1 or higher");const s=r.shape[r.shape.length-1];if(t<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${t}`);if(t>s)throw new Error(`'k' passed to topk() must be <= the last dimension (${s}) but got ${t}`);const a={x:r},i={k:t,sorted:n},[o,l]=da.runKernel(Wr,a,i);return{values:o,indices:l}}}),sp=Ta({truncatedNormal_:function(e,t=0,n=1,r,s){if(null!=r&&"bool"===r)throw new Error("Unsupported data type $ { dtype }");const a=new ph(t,n,r,!0,s),i=Ni(e,r);for(let e=0;e0,(()=>"The input tensor must be at least 1D"));const r={x:n},s={axis:t},[a,i]=da.runKernel(jr,r,s);return{values:a,indices:i}}}),ip=Ta({unsortedSegmentSum_:function(e,t,n){const r=Ia(e,"x","unsortedSegmentSum"),s=Ia(t,"segmentIds","unsortedSegmentSum","int32");re(ce(n),(()=>"numSegments must be of dtype int"));const a={x:r,segmentIds:s},i={numSegments:n};return da.runKernel(Kr,a,i)}}),op=Ta({unstack_:function(e,t=0){const n=Ia(e,"x","unstack","string_or_numeric");re(t>=-n.shape.length&&t`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`));const r={value:n},s={axis:t};return da.runKernel(qr,r,s)}});function lp(e,t=!0,n,r){return da.makeVariable(e,t,n,r)}function up(e,t){const n=[];for(let e=0;e0,(()=>"mask cannot be scalar")),se(o.slice(a,a+i),s.shape,"mask's shape must match the first K dimensions of tensor's shape,");let l=1;for(let e=a;e"Shape mismatch in v and x"));const l=kl(1),u=El(l,o);let c=hl(El(i,a),u);if(s){re(null!=r,(()=>"When using zeroDebias: true, step is required."));const e=Ia(r,"step","movingAverage");c=cl(c,El(l,Cl(o,e)))}return ll(a,c)}}),mp=Ta({scatterND_:function(e,t,n){const r=Ia(e,"indices","scatterND","int32"),s=Ia(t,"updates","scatterND");io(s,r,n);const a={indices:r,updates:s},i={shape:n};return da.runKernel(fr,a,i)}}),gp=Ta({sparseToDense_:function(e,t,n,r=0){const s=Ia(e,"sparseIndices","sparseToDense","int32"),a=Ia(t,"sparseValues","sparseToDense"),i=Ia(r,"defaultValue","sparseToDense",a.dtype);!function(e,t,n,r){if("int32"!==e.dtype)throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);const s=e.rank>0?e.shape[0]:1,a=e.rank>1?e.shape[1]:1;if(n.length!==a)throw new Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${a}.`);const i=t.size;if(0!==t.rank&&(1!==t.rank||i!==s))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${s}]`);if(t.dtype!==r.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}(s,a,n,i);const o={sparseIndices:s,sparseValues:a,defaultValue:i},l={outputShape:n};return da.runKernel(Mr,o,l)}}),yp=Ta({gatherND_:function(e,t){const n=Ia(t,"indices","gatherND","int32"),r={params:Ia(e,"x","gatherND","string_or_numeric"),indices:n};return da.runKernel(on,r)}}),bp=Ta({dropout_:function(e,t,n,r){const s=Ia(e,"x","dropout");if(re("float32"===s.dtype,(()=>`x has to be a floating point tensor since it's going to be scaled, but got a ${s.dtype} tensor instead.`)),re(t>=0&&t<1,(()=>`rate must be a float in the range [0, 1), but got ${t}.`)),0===t)return e instanceof qs?s.clone():s;const a=function(e,t){if(null==t)return e.shape.slice();if(ue(e.shape,t))return t;if(e.shape.length===t.length){const n=[];for(let r=0;r1,(()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`)),re(r.rank-1===s.rank,(()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${s.rank}`)),se(r.shape.slice(0,r.shape.length-1),s.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");const a=r.shape[r.shape.length-1];re(n>0&&n<=a,(()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${a}), but got ${n}`));const i=await r.data(),o=await s.data(),[l,u]=[i.length/a,a],c=xe("bool",l);for(let e=0;et.value-e.value)),c[e]=0;for(let t=0;t`Error in conv2dDerFilter: input must be rank 4, but got shape ${o.shape}.`)),re(4===l.rank,(()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${l.shape}.`)),re(4===n.length,(()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`));const u="NHWC"===a?o.shape[3]:o.shape[1],c="NHWC"===a?l.shape[3]:l.shape[1];re(u===n[2],(()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${n[2]}.`)),re(c===n[3],(()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${n[3]}).`)),lu("conv2dDerFilter",s,i);const h={x:o,dy:l},p={strides:r,pad:s,dataFormat:a,dimRoundingMode:i,filterShape:n};return da.runKernel(Tt,h,p)}});function Ip(e,t,n){if(null==n||"linear"===n)return e;if("relu"===n)return hl(e,Xh(t));throw new Error(`Cannot compute gradient for fused activation ${n}.`)}function Np(e,t){let n=t;const r=Yi(e.shape,t.shape);return r.length>0&&(n=Ic(n,r)),uu(n,e.shape)}function Sp(e,t,n,r){if("linear"===t)return e;if("relu"===t)return vh(e);if("elu"===t)return Zu(e);if("relu6"===t)return kh(e);if("prelu"===t)return lh(e,n);if("leakyrelu"===t)return pc(e,r);if("sigmoid"===t)return du(e);throw new Error(`Unknown fused activation ${t}.`)}const Tp=(e,t)=>!(e>0)||"linear"===t,Cp=Ta({fusedConv2d_:function({x:e,filter:t,strides:n,pad:r,dataFormat:s="NHWC",dilations:a=[1,1],dimRoundingMode:i,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(l=l||"linear",!1===Tp(da.state.gradientDepth,l)){let h=Ru(e,t,n,r,s,a,i);return null!=o&&(h=ll(h,o)),Sp(h,l,u,c)}const h=Ia(e,"x","conv2d","float32"),p=Ia(t,"filter","conv2d","float32");let d=h,f=!1;3===h.rank&&(f=!0,d=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),re(4===d.rank,(()=>`Error in fused conv2d: input must be rank 4, but got rank ${d.rank}.`)),re(4===p.rank,(()=>`Error in fused conv2d: filter must be rank 4, but got rank ${p.rank}.`)),lu("fused conv2d",r,i),re(d.shape[3]===p.shape[2],(()=>`Error in conv2d: depth of input (${d.shape[3]}) must match input depth for filter ${p.shape[2]}.`)),re(iu(n,a),(()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`)),re("NHWC"===s,(()=>`Error in conv2d: got dataFormat of ${s} but only NHWC is currently supported.`));const m=Jl(d.shape,p.shape,n,a,r,i);let g,y;null!=o&&(g=Ia(o,"bias","fused conv2d"),[g]=sa(g,h),Zi(m.outShape,g.shape)),null!=u&&(y=Ia(u,"prelu weights","fused conv2d"));const b=(e,t)=>{const[s,i,o,u]=t,c=Ip(e,o,l);re(au(a),(()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${a}'`));const h=[Fu(i.shape,c,s,n,r),kp(i,c,s.shape,n,r)];if(null!=u){const e=Np(u,c);h.push(e)}return h},x={x:d,filter:p,bias:g,preluActivationWeights:y},w={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i,activation:l,leakyreluAlpha:c};if(null==o){const e=wl(((e,t,n)=>{let r=da.runKernel(es,x,w);return n([t,e,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:b}}));return e(d,p)}{const e=wl(((e,t,n,r)=>{let s=da.runKernel(es,x,w);return r([t,e,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:b}}));return e(d,p,g)}}}),Ep=Ta({depthwiseConv2dNativeBackpropFilter_:function(e,t,n,r,s,a=[1,1],i){let o=e;3===e.rank&&(o=uu(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let l=t;3===l.rank&&(l=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const u={x:o,dy:l},c={strides:r,pad:s,dimRoundingMode:i,dilations:a,filterShape:n};return da.runKernel(zt,u,c)}}),$p=Ta({depthwiseConv2dNativeBackpropInput_:function(e,t,n,r,s,a=[1,1],i){let o=t,l=!1;3===t.rank&&(l=!0,o=uu(t,[1,t.shape[0],t.shape[1],t.shape[2]]));const u={dy:o,filter:n},c={strides:r,pad:s,dimRoundingMode:i,dilations:a,inputShape:e},h=da.runKernel(Pt,u,c);return l?uu(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),Ap=Ta({fusedDepthwiseConv2d_:function({x:e,filter:t,strides:n,pad:r,dataFormat:s="NHWC",dilations:a=[1,1],dimRoundingMode:i,bias:o,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(!1===Tp(da.state.gradientDepth,l)){let h=Wu(e,t,n,r,s,a,i);return null!=o&&(h=ll(h,o)),Sp(h,l,u,c)}const h=Ia(e,"x","depthwiseConv2d","float32"),p=Ia(t,"filter","depthwiseConv2d","float32");let d=h,f=!1;3===h.rank&&(f=!0,d=uu(h,[1,h.shape[0],h.shape[1],h.shape[2]])),re(4===d.rank,(()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${d.rank}.`)),re(4===p.rank,(()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${p.rank}.`)),re(d.shape[3]===p.shape[2],(()=>`Error in fused depthwiseConv2d: number of input channels (${d.shape[3]}) must match the inChannels dimension in filter ${p.shape[2]}.`)),null==a&&(a=[1,1]),re(iu(n,a),(()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`)),lu("fused depthwiseConv2d",r,i);const m=Jl(d.shape,p.shape,n,a,r,i,!0);let g,y;null!=o&&(g=Ia(o,"bias","fused conv2d"),[g]=sa(g,h),Zi(m.outShape,g.shape)),null!=u&&(y=Ia(u,"prelu weights","fused depthwiseConv2d"));const b=(e,t)=>{re(au(a),(()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`));const[s,o,u,c]=t,h=Ip(e,u,l),p=$p(o.shape,h,s,n,r,a,i),d=Ep(o,h,s.shape,n,r,a,i);return null!=c?[p,d,Np(g,h)]:[p,d]},x={x:d,filter:p,bias:g,preluActivationWeights:y},w={strides:n,pad:r,dataFormat:s,dilations:a,dimRoundingMode:i,activation:l,leakyreluAlpha:c};if(null==o){const e=wl(((e,t,n)=>{let r=da.runKernel(ts,x,w);return n([t,e,r]),f&&(r=uu(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:b}}));return e(d,p)}{const e=wl(((e,t,n,r)=>{let s=da.runKernel(ts,x,w);return r([t,e,s,n]),f&&(s=uu(s,[s.shape[1],s.shape[2],s.shape[3]])),{value:s,gradFunc:b}}));return e(d,p,g)}}}),Rp=Ta({fusedMatMul_:function({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:s,activation:a="linear",preluActivationWeights:i,leakyreluAlpha:o}){if(!1===Tp(da.state.gradientDepth,a)){let l=Hi(e,t,n,r);return null!=s&&(l=ll(l,s)),Sp(l,a,i,o)}let l=Ia(e,"a","fused matMul"),u=Ia(t,"b","fused matMul");[l,u]=sa(l,u);const c=n?l.shape[l.rank-2]:l.shape[l.rank-1],h=r?u.shape[u.rank-1]:u.shape[u.rank-2],p=n?l.shape[l.rank-1]:l.shape[l.rank-2],d=r?u.shape[u.rank-2]:u.shape[u.rank-1],f=l.shape.slice(0,-2),m=u.shape.slice(0,-2),g=oe(f),y=oe(m);re(c===h,(()=>`Error in fused matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${l.shape} and ${u.shape} and transposeA=${n} and transposeB=${r} must match.`));const b=Zi(l.shape.slice(0,-2),u.shape.slice(0,-2)).concat([p,d]),x=uu(l,n?[g,c,p]:[g,p,c]),w=uu(u,r?[y,d,h]:[y,h,d]);let v,k;null!=s&&(v=Ia(s,"bias","fused matMul"),[v]=sa(v,l),Zi(b,v.shape)),null!=i&&(k=Ia(i,"prelu weights","fused matMul"));const I=(e,t)=>{const[i,o,l,u]=t,c=Ip(uu(e,l.shape),l,a);let h,p;return n||r?!n&&r?(h=Hi(c,o,!1,!1),p=Hi(c,i,!0,!1)):n&&!r?(h=Hi(o,c,!1,!0),p=Hi(i,c,!1,!1)):(h=Hi(o,c,!0,!0),p=Hi(c,i,!0,!0)):(h=Hi(c,o,!1,!0),p=Hi(i,c,!0,!1)),null!=s?[h,p,Np(u,c)]:[h,p]},N={a:x,b:w,bias:v,preluActivationWeights:k},S={transposeA:n,transposeB:r,activation:a,leakyreluAlpha:o};if(null==s){const e=wl(((e,t,n)=>{const r=da.runKernel(Qr,N,S);return n([e,t,r]),{value:uu(r,b),gradFunc:I}}));return e(x,w)}{const e=wl(((e,t,n,r)=>{const s=da.runKernel(Qr,N,S);return r([e,t,s,n]),{value:uu(s,b),gradFunc:I}}));return e(x,w,v)}}}),Mp=Ta({hammingWindow_:function(e){return wp(e,.54,.46)}}),Fp=Ta({hannWindow_:function(e){return wp(e,.5,.5)}}),Dp=Ta({frame_:function(e,t,n,r=!1,s=0){let a=0;const i=[];for(;a+t<=e.size;)i.push(fu(e,a,t)),a+=n;if(r)for(;a`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`)),re(2===o.rank&&4===o.shape[1],(()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${o.shape}.`)),re(1===l.rank&&l.shape[0]===u,(()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${o.shape}.`)),re(2===r.length,(()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`)),re(r[0]>=1&&r[1]>=1,(()=>`cropSize must be atleast [1,1], but was ${r}`)),re("bilinear"===s||"nearest"===s,(()=>`method must be bilinear or nearest, but was ${s}`));const c={image:i,boxes:o,boxInd:l},h={method:s,extrapolationValue:a,cropSize:r};return da.runKernel(Dt,c,h)}}),Lp=Ta({flipLeftRight_:function(e){const t=Ia(e,"image","flipLeftRight","float32");re(4===t.rank,(()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`));const n={image:t};return da.runKernel(tn,n,{})}}),zp=Ta({grayscaleToRGB_:function(e){const t=Ia(e,"image","grayscaleToRGB"),n=t.rank-1,r=t.shape[n];re(t.rank>=2,(()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`)),re(1===r,(()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${r}.`));const s=new Array(t.rank);return s.fill(1,0,n),s[n]=3,nc(t,s)}}),Pp=Ta({rotateWithOffset_:function(e,t,n=0,r=.5){const s=Ia(e,"image","rotateWithOffset","float32");re(4===s.rank,(()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${s.rank}.`));const a={image:s},i={radians:t,fillValue:n,center:r};return da.runKernel(Jr,a,i)}});function Bp(e,t,n,r,s,a){null==r&&(r=.5),null==s&&(s=Number.NEGATIVE_INFINITY),null==a&&(a=0);const i=e.shape[0];return n=Math.min(n,i),re(0<=r&&r<=1,(()=>`iouThreshold must be in [0, 1], but was '${r}'`)),re(2===e.rank,(()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`)),re(4===e.shape[1],(()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`)),re(1===t.rank,(()=>"scores must be a 1D tensor")),re(t.shape[0]===i,(()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`)),re(0<=a&&a<=1,(()=>`softNmsSigma must be in [0, 1], but was '${a}'`)),{maxOutputSize:n,iouThreshold:r,scoreThreshold:s,softNmsSigma:a}}const Vp=Ta({nonMaxSuppression_:function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY){const a=Ia(e,"boxes","nonMaxSuppression","float32"),i=Ia(t,"scores","nonMaxSuppression","float32"),o=Bp(a,i,n,r,s),l={maxOutputSize:n=o.maxOutputSize,iouThreshold:r=o.iouThreshold,scoreThreshold:s=o.scoreThreshold};return da.runKernel(Gn,{boxes:a,scores:i},l)}});function Up(e,t,n){const r=function(e,t,n){return function(e,t,n){let r=0,s=e.length,a=0,i=!1;for(;r>>1);const o=n(t,e[a]);o>0?r=a+1:(s=a,i=!o)}return i?r:-r-1}(e,t,n||Wp)}(e,t,n),s=r<0?-(r+1):r;e.splice(s,0,t)}function Wp(e,t){return e>t?1:es&&u.push({score:t[e],boxIndex:e,suppressBeginIndex:0});u.sort(Yp);const c=a>0?-.5/a:0,h=[],p=[];for(;h.length0;){const t=u.pop(),{score:n,boxIndex:a,suppressBeginIndex:i}=t;if(n=i;--n){const i=Kp(e,a,h[n]);if(i>=r){o=!0;break}if(t.score=t.score*Xp(r,c,i),t.score<=s)break}t.suppressBeginIndex=h.length,o||(t.score===n?(h.push(a),p.push(t.score)):t.score>s&&Up(u,t,Yp))}const d=h.length,f=n-d;o&&f>0&&(h.push(...new Array(f).fill(0)),p.push(...new Array(f).fill(0)));const m={selectedIndices:h};return i&&(m.selectedScores=p),l&&(m.validOutputs=d),m}function Kp(e,t,n){const r=e.subarray(4*t,4*t+4),s=e.subarray(4*n,4*n+4),a=Math.min(r[0],r[2]),i=Math.min(r[1],r[3]),o=Math.max(r[0],r[2]),l=Math.max(r[1],r[3]),u=Math.min(s[0],s[2]),c=Math.min(s[1],s[3]),h=Math.max(s[0],s[2]),p=Math.max(s[1],s[3]),d=(o-a)*(l-i),f=(h-u)*(p-c);if(d<=0||f<=0)return 0;const m=Math.max(a,u),g=Math.max(i,c),y=Math.min(o,h),b=Math.min(l,p),x=Math.max(y-m,0)*Math.max(b-g,0);return x/(d+f-x)}function Xp(e,t,n){const r=Math.exp(t*n*n);return n<=e?r:0}function Yp(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}const Zp=Ta({nonMaxSuppressionWithScore_:function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=0){const i=Ia(e,"boxes","nonMaxSuppression"),o=Ia(t,"scores","nonMaxSuppression"),l=Bp(i,o,n,r,s,a),u={boxes:i,scores:o},c={maxOutputSize:n=l.maxOutputSize,iouThreshold:r=l.iouThreshold,scoreThreshold:s=l.scoreThreshold,softNmsSigma:a=l.softNmsSigma},h=da.runKernel(jn,u,c);return{selectedIndices:h[0],selectedScores:h[1]}}}),Jp=Ta({nonMaxSuppressionPadded_:function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=!1){const i=Ia(e,"boxes","nonMaxSuppression"),o=Ia(t,"scores","nonMaxSuppression"),l=Bp(i,o,n,r,s,null),u={boxes:i,scores:o},c={maxOutputSize:l.maxOutputSize,iouThreshold:l.iouThreshold,scoreThreshold:l.scoreThreshold,padToMaxOutputSize:a},h=da.runKernel(Hn,u,c);return{selectedIndices:h[0],validOutputs:h[1]}}}),Qp=Ta({resizeBilinear_:function(e,t,n=!1,r=!1){const s=Ia(e,"images","resizeBilinear");re(3===s.rank||4===s.rank,(()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${s.rank}.`)),re(2===t.length,(()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`)),re(!1===r||!1===n,(()=>"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false."));let a=s,i=!1;3===s.rank&&(i=!0,a=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=t,o={images:a},l={alignCorners:n,halfPixelCenters:r,size:t},u=da.runKernel(lr,o,l);return i?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),ed=Ta({resizeNearestNeighbor_:function(e,t,n=!1,r=!1){const s=Ia(e,"images","resizeNearestNeighbor");re(3===s.rank||4===s.rank,(()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${s.rank}.`)),re(2===t.length,(()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`)),re("float32"===s.dtype||"int32"===s.dtype,(()=>"`images` must have `int32` or `float32` as dtype")),re(!1===r||!1===n,(()=>"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false."));let a=s,i=!1;3===s.rank&&(i=!0,a=uu(s,[1,s.shape[0],s.shape[1],s.shape[2]]));const[]=t,o={images:a},l={alignCorners:n,halfPixelCenters:r,size:t},u=da.runKernel(ir,o,l);return i?uu(u,[u.shape[1],u.shape[2],u.shape[3]]):u}}),td=Ta({threshold_:function(e,t="binary",n=!1,r=.5){const s=Ia(e,"image","threshold"),a=s.shape[0]*s.shape[1];let i,o,l,u,c=hl(Jh([r]),255);if(re(3===s.rank,(()=>`Error in threshold: image must be rank 3,but got rank ${s.rank}.`)),re(3===s.shape[2]||1===s.shape[2],(()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${s.shape[2]}.`)),re("int32"===s.dtype||"float32"===s.dtype,(()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${s.dtype}.`)),re("otsu"===t||"binary"===t,(()=>`Method must be binary or otsu, but was ${t}`)),3===s.shape[2]){[i,o,l]=Gh(s,[1,1,1],-1);const e=hl(i,.2989),t=hl(o,.587),n=hl(l,.114);u=ll(ll(e,t),n)}else u=e;"otsu"===t&&(c=function(e,t){let n,r,s,a,i,o,l=Jh([-1]),u=Jh([0]),c=Jh([0]);for(let h=0;h`Error in transform: image must be rank 4,but got rank ${i.rank}.`)),re(2===o.rank&&(o.shape[0]===i.shape[0]||1===o.shape[0])&&8===o.shape[1],(()=>"Error in transform: Input transform should be batch x 8 or 1 x 8")),re(null==a||2===a.length,(()=>`Error in transform: outputShape must be [height, width] or null, but got ${a}.`));const l={image:i,transforms:o},u={interpolation:n,fillMode:r,fillValue:s,outputShape:a};return da.runKernel(Gr,l,u)}}),rd=Ta({bandPart_:function(e,t,n){re(t%1==0,(()=>`bandPart(): numLower must be an integer, got ${t}.`)),re(n%1==0,(()=>`bandPart(): numUpper must be an integer, got ${n}.`));const r=Ia(e,"a","bandPart");re(r.rank>=2,(()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`));const s=r.shape,[a,i]=r.shape.slice(-2);if(!(t<=a))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${a}).`);if(!(n<=i))throw new Error(`bandPart(): numUpper (${n}) must not be greater than the number of columns (${i}).`);t<0&&(t=a),n<0&&(n=i);const o=uu(bh(0,a,1,"int32"),[-1,1]),l=bh(0,i,1,"int32"),u=El(o,l),c=Dc(fc(u,kl(+t,"int32")),oc(u,kl(-n,"int32"))),h=Uc([a,i],r.dtype);return uu(Kh(op(uu(r,[-1,a,i])).map((e=>qu(c,e,h)))),s)}}),sd=Ta({gramSchmidt_:function(e){let t;if(Array.isArray(e)){t=!1,re(null!=e&&e.length>0,(()=>"Gram-Schmidt process: input must not be null, undefined, or empty"));const n=e[0].shape[0];for(let t=1;t`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[t].shape[0]} vs. ${n})`))}else t=!0,e=Gh(e,e.shape[0],0).map((e=>qh(e,[0])));re(e.length<=e[0].shape[0],(()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`));const n=[],r=e;for(let t=0;t{let e=r[t];if(t>0)for(let r=0;r{re(2===e.shape.length,(()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`));const n=e.shape[0],r=e.shape[1];let s=rc(n),a=Ti(e);const i=Qh([[1]],[1,1]);let o=Ti(i);const l=n>=r?r:n;for(let e=0;e{const t=fu(a,[e,e],[n-e,1]),l=dp(t),u=fu(a,[e,e],[1,1]),c=qu(ic(u,0),Qh([[-1]]),Qh([[1]])),h=El(u,hl(c,l)),p=cl(t,h);o=1===p.shape[0]?Ti(i):pu([i,fu(p,[1,0],[p.shape[0]-1,p.shape[1]])],0);const d=xc(cl(Hi(c,h),l)),f=fu(a,[e,0],[n-e,r]),m=hl(d,o),g=qi(o);if(0===e)a=El(f,Hi(m,Hi(g,f)));else{const t=El(f,Hi(m,Hi(g,f)));a=pu([fu(a,[0,0],[e,r]),t],0)}const y=qi(m),b=fu(s,[0,e],[n,s.shape[1]-e]);if(0===e)s=El(b,Hi(Hi(b,o),y));else{const t=El(b,Hi(Hi(b,o),y));s=pu([fu(s,[0,0],[n,e]),t],1)}return[o,a,s]})),Yo([t,l,u])}return!t&&n>r&&(s=fu(s,[0,0],[n,r]),a=fu(a,[0,0],[r,r])),[s,a]}))}const id=Ta({qr_:function(e,t=!1){if(re(e.rank>=2,(()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`)),2===e.rank)return ad(e,t);{const n=e.shape.slice(0,e.shape.length-2).reduce(((e,t)=>e*t)),r=op(uu(e,[n,e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),s=[],a=[];return r.forEach((e=>{const[n,r]=ad(e,t);s.push(n),a.push(r)})),[uu(Kh(s,0),e.shape),uu(Kh(a,0),e.shape)]}}});var od;!function(e){e[e.NONE=0]="NONE",e[e.MEAN=1]="MEAN",e[e.SUM=2]="SUM",e[e.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"}(od||(od={}));const ld=Ta({computeWeightedLoss_:function(e,t,n=od.SUM_BY_NONZERO_WEIGHTS){const r=Ia(e,"losses","computeWeightedLoss");let s=null;null!=t&&(s=Ia(t,"weights","computeWeightedLoss"));const a=null==s?r:hl(r,s);if(n===od.NONE)return a;if(n===od.SUM)return Ic(a);if(n===od.MEAN){if(null==s)return Vc(a);{const e=r.size/s.size,t=cl(Ic(a),Ic(s));return e>1?cl(t,kl(e)):t}}if(n===od.SUM_BY_NONZERO_WEIGHTS){if(null==s)return cl(Ic(a),kl(r.size));{const e=hl(s,Wc(r.shape)),t=Si(Ic(Jc(e,kl(0))),"float32");return cl(Ic(a),t)}}throw Error(`Unknown reduction: ${n}`)}}),ud=Ta({absoluteDifference_:function(e,t,n,r=od.SUM_BY_NONZERO_WEIGHTS){const s=Ia(e,"labels","absoluteDifference"),a=Ia(t,"predictions","absoluteDifference");let i=null;null!=n&&(i=Ia(n,"weights","absoluteDifference")),se(s.shape,a.shape,"Error in absoluteDifference: ");const o=Al(El(s,a));return ld(o,i,r)}}),cd=Ta({cosineDistance_:function(e,t,n,r,s=od.SUM_BY_NONZERO_WEIGHTS){const a=Ia(e,"labels","cosineDistance"),i=Ia(t,"predictions","cosineDistance");let o=null;null!=r&&(o=Ia(r,"weights","cosineDistance")),se(a.shape,i.shape,"Error in cosineDistance: ");const l=kl(1),u=El(l,Ic(hl(a,i),n,!0));return ld(u,o,s)}}),hd=Ta({hingeLoss_:function(e,t,n,r=od.SUM_BY_NONZERO_WEIGHTS){let s=Ia(e,"labels","hingeLoss");const a=Ia(t,"predictions","hingeLoss");let i=null;null!=n&&(i=Ia(n,"weights","hingeLoss")),se(s.shape,a.shape,"Error in hingeLoss: ");const o=kl(1);s=El(hl(kl(2),s),o);const l=vh(El(o,hl(s,a)));return ld(l,i,r)}}),pd=Ta({huberLoss_:function(e,t,n,r=1,s=od.SUM_BY_NONZERO_WEIGHTS){const a=Ia(e,"labels","huberLoss"),i=Ia(t,"predictions","huberLoss");let o=null;null!=n&&(o=Ia(n,"weights","huberLoss")),se(a.shape,i.shape,"Error in huberLoss: ");const l=kl(r),u=Al(El(i,a)),c=jc(u,l),h=El(u,c),p=ll(hl(kl(.5),dl(c)),hl(l,h));return ld(p,o,s)}}),dd=Ta({logLoss_:function(e,t,n,r=1e-7,s=od.SUM_BY_NONZERO_WEIGHTS){const a=Ia(e,"labels","logLoss"),i=Ia(t,"predictions","logLoss");let o=null;null!=n&&(o=Ia(n,"weights","logLoss")),se(a.shape,i.shape,"Error in logLoss: ");const l=kl(1),u=kl(r),c=xc(hl(a,yc(ll(i,u)))),h=hl(El(l,a),yc(ll(El(l,i),u))),p=El(c,h);return ld(p,o,s)}}),fd=Ta({meanSquaredError_:function(e,t,n,r=od.SUM_BY_NONZERO_WEIGHTS){const s=Ia(e,"labels","meanSquaredError"),a=Ia(t,"predictions","meanSquaredError");let i=null;null!=n&&(i=Ia(n,"weights","meanSquaredError")),se(s.shape,a.shape,"Error in meanSquaredError: ");const o=jh(s,a);return ld(o,i,r)}}),md=Ta({sigmoidCrossEntropy_:function(e,t,n,r=0,s=od.SUM_BY_NONZERO_WEIGHTS){let a=Ia(e,"multiClassLabels","sigmoidCrossEntropy");const i=Ia(t,"logits","sigmoidCrossEntropy");let o=null;if(null!=n&&(o=Ia(n,"weights","sigmoidCrossEntropy")),se(a.shape,i.shape,"Error in sigmoidCrossEntropy: "),r>0){const e=kl(r),t=kl(1),n=kl(.5);a=ll(hl(a,El(t,e)),hl(n,e))}const l=function(e,t){const n=Ia(e,"labels","sigmoidCrossEntropyWithLogits"),r=Ia(t,"logits","sigmoidCrossEntropyWithLogits");se(n.shape,r.shape,"Error in sigmoidCrossEntropyWithLogits: ");const s=vh(r),a=hl(r,n),i=bc(Qu(xc(Al(r))));return ll(El(s,a),i)}(a,i);return ld(l,o,s)}}),gd=Ta({softmaxCrossEntropy_:function(e,t,n,r=0,s=od.SUM_BY_NONZERO_WEIGHTS){let a=Ia(e,"onehotLabels","softmaxCrossEntropy");const i=Ia(t,"logits","softmaxCrossEntropy");let o=null;if(null!=n&&(o=Ia(n,"weights","softmaxCrossEntropy")),se(a.shape,i.shape,"Error in softmaxCrossEntropy: "),r>0){const e=kl(r),t=kl(1),n=kl(a.shape[1]);a=ll(hl(a,El(t,e)),cl(e,n))}const l=function(e,t,n=-1){if(-1===n&&(n=t.rank-1),n!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${n}`);const r=wl(((e,t,r)=>{const s=Fc(t,[n],!0),a=El(Si(t,"float32"),s);r([e,a]);const i=xc(hl(a,e));return{value:Ic(i,[n]),gradFunc:(e,t)=>{const[r,s]=t,a=Ec(e.shape,[n]);return[hl(uu(e,a),El(Si(r,"float32"),Qu(s))),hl(uu(e,a),El(Qu(s),Si(r,"float32")))]}}}));return r(e,t)}(a,i);return ld(l,o,s)}}),yd=Ta({sparseFillEmptyRows_:function(e,t,n,r){const s=Ia(e,"indices","sparseFillEmptyRows","int32"),a=Ia(t,"values","sparseFillEmptyRows"),i=Ia(n,"denseShape","sparseFillEmptyRows","int32"),o=Ia(r,"defaultValue","sparseFillEmptyRows",a.dtype);if(2!==s.rank)throw new Error(`Indices should be Tensor2D but received shape\n ${s.shape}`);if(1!==a.rank)throw new Error(`Values should be Tensor1D but received shape ${a.shape}`);if(1!==i.rank)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(0!==o.rank)throw new Error(`Default value should be a scalar but received shape ${o.shape}`);const l={indices:s,values:a,denseShape:i,defaultValue:o},u=da.runKernel(Er,l);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}}),bd=Ta({sparseReshape_:function(e,t,n){const r=Ia(e,"inputIndices","sparseReshape","int32"),s=Ia(t,"inputShape","sparseReshape","int32"),a=Ia(n,"newShape","sparseReshape","int32");if(2!==r.rank)throw new Error(`Input indices should be Tensor2D but received shape\n ${r.shape}`);if(1!==s.rank)throw new Error(`Input shape should be Tensor1D but received shape ${s.shape}`);if(1!==a.rank)throw new Error(`New shape should be Tensor1D but received shape ${a.shape}`);const i={inputIndices:r,inputShape:s,newShape:a},o=da.runKernel($r,i);return{outputIndices:o[0],outputShape:o[1]}}}),xd=Ta({sparseSegmentMean_:function(e,t,n){const r=Ia(e,"data","sparseSegmentMean"),s=Ia(t,"indices","sparseSegmentMean","int32"),a=Ia(n,"segmentIds","sparseSegmentMean","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==a.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${a.shape}`);const i={data:r,indices:s,segmentIds:a};return da.runKernel(Ar,i)}}),wd=Ta({sparseSegmentSum_:function(e,t,n){const r=Ia(e,"data","sparseSegmentSum"),s=Ia(t,"indices","sparseSegmentSum","int32"),a=Ia(n,"segmentIds","sparseSegmentSum","int32");if(r.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.rank)throw new Error(`Indices should be Tensor1D but received shape\n ${s.shape}`);if(1!==a.rank)throw new Error(`Segment ids should be Tensor1D but received shape\n ${a.shape}`);const i={data:r,indices:s,segmentIds:a};return da.runKernel(Rr,i)}}),vd=Ta({stringNGrams_:function(e,t,n,r,s,a,i,o){const l=Ia(e,"data","stringNGrams","string");if("string"!==l.dtype)throw new Error("Data must be of datatype string");if(1!==l.shape.length)throw new Error(`Data must be a vector, saw: ${l.shape}`);const u=Ia(t,"dataSplits","stringNGrams");if("int32"!==u.dtype)throw new Error("Data splits must be of datatype int32");const c={separator:n,nGramWidths:r,leftPad:s,rightPad:a,padWidth:i,preserveShortSequences:o},h={data:l,dataSplits:u},p=da.runKernel(Or,h,c);return{nGrams:p[0],nGramsSplits:p[1]}}}),kd=Ta({stringSplit_:function(e,t,n=!0){const r=Ia(e,"input","stringSplit","string"),s=Ia(t,"delimiter","stringSplit","string");if(1!==r.rank)throw new Error(`Input should be Tensor1D but received shape ${r.shape}`);if(0!==s.rank)throw new Error(`Delimiter should be a scalar but received shape ${s.shape}`);const a={skipEmpty:n},i={input:r,delimiter:s},o=da.runKernel(Lr,i,a);return{indices:o[0],values:o[1],shape:o[2]}}}),Id=Ta({stringToHashBucketFast_:function(e,t){const n=Ia(e,"input","stringToHashBucketFast","string"),r={numBuckets:t};if(t<=0)throw new Error("Number of buckets must be at least 1");const s={input:n};return da.runKernel(zr,s,r)}}),Nd={fft:Vh,ifft:Uh,rfft:Hh,irfft:Wh},Sd={hammingWindow:Mp,hannWindow:Fp,frame:Dp,stft:_p},Td={flipLeftRight:Lp,grayscaleToRGB:zp,resizeNearestNeighbor:ed,resizeBilinear:Qp,rotateWithOffset:Pp,cropAndResize:Op,nonMaxSuppression:Vp,nonMaxSuppressionAsync:async function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY){const a=Ia(e,"boxes","nonMaxSuppressionAsync"),i=Ia(t,"scores","nonMaxSuppressionAsync"),o=Bp(a,i,n,r,s);n=o.maxOutputSize,r=o.iouThreshold,s=o.scoreThreshold;const l=await Promise.all([a.data(),i.data()]),u=l[0],c=l[1],{selectedIndices:h}=Gp(u,c,n,r,s);return a!==e&&a.dispose(),i!==t&&i.dispose(),Jh(h,"int32")},nonMaxSuppressionWithScore:Zp,nonMaxSuppressionWithScoreAsync:async function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=0){const i=Ia(e,"boxes","nonMaxSuppressionAsync"),o=Ia(t,"scores","nonMaxSuppressionAsync"),l=Bp(i,o,n,r,s,a);n=l.maxOutputSize,r=l.iouThreshold,s=l.scoreThreshold,a=l.softNmsSigma;const u=await Promise.all([i.data(),o.data()]),c=u[0],h=u[1],{selectedIndices:p,selectedScores:d}=jp(c,h,n,r,s,a);return i!==e&&i.dispose(),o!==t&&o.dispose(),{selectedIndices:Jh(p,"int32"),selectedScores:Jh(d)}},nonMaxSuppressionPadded:Jp,nonMaxSuppressionPaddedAsync:async function(e,t,n,r=.5,s=Number.NEGATIVE_INFINITY,a=!1){const i=Ia(e,"boxes","nonMaxSuppressionAsync"),o=Ia(t,"scores","nonMaxSuppressionAsync"),l=Bp(i,o,n,r,s,null),u=l.maxOutputSize,c=l.iouThreshold,h=l.scoreThreshold,[p,d]=await Promise.all([i.data(),o.data()]),{selectedIndices:f,validOutputs:m}=Hp(p,d,u,c,h,a);return i!==e&&i.dispose(),o!==t&&o.dispose(),{selectedIndices:Jh(f,"int32"),validOutputs:kl(m,"int32")}},threshold:td,transform:nd},Cd={bandPart:rd,gramSchmidt:sd,qr:id},Ed={absoluteDifference:ud,computeWeightedLoss:ld,cosineDistance:cd,hingeLoss:hd,huberLoss:pd,logLoss:dd,meanSquaredError:fd,sigmoidCrossEntropy:md,softmaxCrossEntropy:gd},$d={sparseFillEmptyRows:yd,sparseReshape:bd,sparseSegmentMean:xd,sparseSegmentSum:wd},Ad={stringNGrams:vd,stringSplit:kd,stringToHashBucketFast:Id},Rd={sgd:Ol.sgd,momentum:Ol.momentum,adadelta:Ol.adadelta,adagrad:Ol.adagrad,rmsprop:Ol.rmsprop,adamax:Ol.adamax,adam:Ol.adam},Md="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:"undefined"!=typeof setImmediate?setImmediate:e=>e();function Fd(){return new Promise((e=>Md((()=>e()))))}function Dd(e,t){const n=e[0].length;e.forEach(((e,t)=>{re(e.length===n,(()=>`Error in concat${n}D: rank of tensors[${t}] must be the same as the rank of the rest (${n})`))})),re(t>=0&&t`Error in concat${n}D: axis must be between 0 and ${n-1}.`));const r=e[0];e.forEach(((e,s)=>{for(let a=0;a`Error in concat${n}D: Shape of tensors[${s}] (${e}) does not match the shape of the rest (${r}) along the non-concatenated axis ${s}.`))}))}function _d(e,t){const n=e[0].slice();for(let r=1;r=2*t+1||r%2==1?s.push(r):n.push(r);r.push(...n),r.push(0),r.push(...s)}return r}function Vd(e,t,n,r=!0){const s=[];r?s.push(e[0]/n):s.push(e[0]*n);for(let n=1;n/g;function lf(e,t){const n=((e=e.replace(/\s/g,"")).length-e.replace(of,"").length)/"->".length;if(n<1)throw new Error("Equations without an arrow are not supported.");if(n>1)throw new Error('Equation must contain exactly one arrow ("->").');const[r,s]=e.split("->");re(-1===r.indexOf("..."),(()=>'The ellipsis notation ("...") is not supported yet.'));const a=r.split(","),i=a.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error("Support for more than 2 input tensors is not implemented yet.");const o=[];for(let e=0;e-1!==e.indexOf(t))))throw new Error(`Output subscripts contain the label ${t} not present in the input subscripts.`);-1===o.indexOf(t)&&o.push(t)}for(let e=0;e-1!==e)),{permutationIndices:n,expandDims:r}}function cf(e,t,n){const r=new Array(e);for(let e=0;e`Expected dimension ${r[t[e][n]]} at axis ${n} of input shaped ${JSON.stringify(s)}, but got dimension ${s[n]}`))}}function hf(e,t){const n=e,r=[];let s=0;0===e.length&&n.push(-1),s=e.length+1;for(let e=0;ee===t))}function df(e,t){const n=[];for(let r=0;r"Number of splits must evenly divide the axis.")),r=new Array(t).fill(e.shape[n]/t);else{const s=t.reduce(((e,t)=>(-1===t&&(e+=1),e)),0);re(s<=1,(()=>"There should be only one negative value in split array."));const a=t.indexOf(-1);if(-1!==a){const r=t.reduce(((e,t)=>t>0?e+t:e));t[a]=e.shape[n]-r}re(e.shape[n]===t.reduce(((e,t)=>e+t)),(()=>"The sum of sizes must match the size of the axis dimension.")),r=t}return r}function mf(e){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${e}`}function gf(e,t){return`indices(${e}, 0) is invalid: ${t} < 0`}function yf(e,t,n){return`indices(${e}, 0) is invalid: ${t} >= ${n}`}function bf(e,t){return`only one output dimension may be -1, not both ${e} and ${t}`}function xf(e,t){return`size ${e} must be non-negative, not ${t}`}function wf(){return"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero"}function vf(e,t){return`Input to reshape is a SparseTensor with ${oe(e)}\n dense values, but the requested shape requires a multiple of ${oe(t)}. inputShape=${e} outputShape= ${t}`}function kf(e,t){return`Input to reshape is a tensor with ${oe(e)} dense values, but the requested shape has ${oe(t)}. inputShape=${e} outputShape=${t}`}function If(){return"segment ids must be >= 0"}function Nf(){return"segment ids are not increasing"}function Sf(e,t){return`Segment id ${e} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function Tf(e,t,n){return`Bad: indices[${e}] == ${t} out of range [0, ${n})`}function Cf(e,t){let n,r=!1;for(e<=Od?(n=e,r=!0):n=Me(e,Math.floor(Math.sqrt(e)));!r;)n>t||n===e?r=!0:n=Me(e,n+1);return n}function Ef(e,t,n){const r=[],s=e.length;for(let a=0;as))throw new Error(`Expect batchDims in the range of [-${s}, ${s}], but got ${r}`);if(r<0&&(r+=s),r>a)throw new Error(`batchDims (${r}) must be less than rank(x) (\n ${a}).`);if(nDs(e)))}catch(e){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`)}}function Rf(e){return e.map((e=>Fs(e)))}const Mf={kernelName:Ye,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,Xh(Si(n,"float32"),-1))}}},Ff={kernelName:Ze,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=dl(Si(n,"float32")),r=pl(El(kl(1),t));return xc(cl(e,r))}}}},Df={kernelName:Je,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=pl(El(dl(Si(n,"float32")),1));return cl(e,t)}}}},_f={kernelName:Qe,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{let t=e;const r=Yi(n.shape,s);return r.length>0&&(t=Ic(t,r)),uu(t,n.shape)},b:()=>{let t=e;const n=Yi(r.shape,s);return n.length>0&&(t=Ic(t,n)),uu(t,r.shape)}}}},Of={kernelName:et,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach(((t,r)=>{n[r]=()=>e.clone()})),n}},Lf={kernelName:rt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>fl(n)}}},zf={kernelName:st,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>fl(n)}}},Pf={kernelName:at,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,pl(El(kl(1),dl(Si(n,"float32")))))}}},Bf={kernelName:it,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=pl(ll(kl(1),dl(Si(n,"float32"))));return cl(e,t)}}}},Vf={kernelName:ut,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=ll(dl(n),dl(r));let a=hl(e,cl(r,t));const i=Yi(n.shape,s);return i.length>0&&(a=Ic(a,i)),uu(a,n.shape)},b:()=>{const t=ll(dl(n),dl(r));let a=xc(hl(e,cl(n,t)));const i=Yi(r.shape,s);return i.length>0&&(a=Ic(a,i)),uu(a,r.shape)}}}},Uf={kernelName:ot,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,ll(dl(Si(n,"float32")),1))}}},Wf={kernelName:lt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,El(kl(1),dl(Si(n,"float32"))))}}},Gf=Ta({avgPool3dGrad_:function(e,t,n,r,s,a){const i=Ia(e,"dy","avgPool3dGrad"),o=Ia(t,"input","avgPool3dGrad");let l=i,u=o,c=!1;4===o.rank&&(c=!0,l=uu(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),u=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),re(5===l.rank,(()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`)),re(5===u.rank,(()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`)),lu("avgPool3dGrad",s,a);const h={dy:l,input:u},p={filterSize:n,strides:r,pad:s,dimRoundingMode:a},d=da.runKernel(dt,h,p);return c?uu(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}}),Hf={kernelName:pt,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:s,strides:a,pad:i,dimRoundingMode:o}=n;return{x:()=>Gf(e,r,s,a,i,o)}}},jf=Ta({avgPoolGrad_:function(e,t,n,r,s){const a=Ia(e,"dy","avgPoolGrad"),i=Ia(t,"input","avgPoolGrad");re(i.rank===a.rank,(()=>`Rank of input (${i.rank}) does not match rank of dy (${a.rank})`));let o=i,l=a,u=!1;3===i.rank&&(u=!0,o=uu(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=uu(a,[1,a.shape[0],a.shape[1],a.shape[2]])),re(4===l.rank,(()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`)),re(4===o.rank,(()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${o.rank}.`));const c={dy:l,input:o},h={filterSize:n,strides:r,pad:s},p=da.runKernel(ht,c,h);return u?uu(p,[p.shape[1],p.shape[2],p.shape[3]]):p}}),qf={kernelName:ct,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{filterSize:s,strides:a,pad:i}=n;return{x:()=>jf(e,r,s,a,i)}}},Kf={kernelName:ft,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[r,s]=t,{transposeA:a,transposeB:i}=n;return a||i?!a&&i?{a:()=>Hi(e,s,!1,!1),b:()=>Hi(e,r,!0,!1)}:a&&!i?{a:()=>Hi(s,e,!1,!0),b:()=>Hi(r,e,!1,!1)}:{a:()=>Hi(s,e,!0,!0),b:()=>Hi(e,r,!0,!0)}:{a:()=>Hi(e,s,!1,!0),b:()=>Hi(r,e,!0,!1)}}},Xf={kernelName:mt,gradFunc:(e,t,n)=>{const{blockShape:r,crops:s}=n;return{x:()=>ih(e,r,s)}}},Yf={kernelName:yt,gradFunc:(e,t,n)=>{const r=n,s=r.inputShape,a=r.shape,i=Array.from(a);for(let e=s.length-1;e>=0;e--)if(s[e]===a[e])i[e]=1;else if(1!==s[e])throw new Error(`broadcastTo(): [${s}] cannot be broadcast to [${a}].`);const o=[];for(let e=0;e1&&o.push(e);return{x:()=>Ic(e,o,!0)}}},Zf={kernelName:xt,gradFunc:e=>({x:()=>e.clone()})},Jf={kernelName:wt,gradFunc:e=>({x:()=>fl(e)})},Qf={kernelName:vt,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{clipValueMin:s,clipValueMax:a}=n;return{x:()=>qu(Dc(oc(r,s),fc(r,a)),e,fl(e))}}},em={kernelName:It,inputsToSave:["x"],gradFunc:Mf.gradFunc},tm={kernelName:Nt,saveAllInputs:!0,gradFunc:(e,t,n)=>{const r=t.map((e=>e.shape)),{axis:s}=n,a=ye(s,t[0].shape)[0],i=r.map((e=>e[a]));return Gh(e,i,a).map((e=>()=>e))}},nm={kernelName:St,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,s]=t,{dilations:a,strides:i,pad:o,dataFormat:l}=n;return re(au(a),(()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${a}'`)),{x:()=>Fu(r.shape,e,s,i,o,l),filter:()=>kp(r,e,s.shape,i,o,l)}}},rm={kernelName:Ct,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[r,s]=t,{strides:a,pad:i,dataFormat:o,dimRoundingMode:l}=n;return{dy:()=>Ru(e,s,a,i,o,1,l),filter:()=>kp(e,r,s.shape,a,i,o,l)}}},sm=Ta({conv3DBackpropFilter_:function(e,t,n,r,s){let a=e;4===e.rank&&(a=uu(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let i=t;4===i.rank&&(i=uu(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),re(5===a.rank,(()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${a.shape}.`)),re(5===i.rank,(()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${i.shape}.`)),re(5===n.length,(()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`)),re(a.shape[4]===n[3],(()=>`Error in conv3dDerFilter: depth of input ${a.shape[4]}) must match input depth in filter (${n[3]}.`)),re(i.shape[4]===n[4],(()=>`Error in conv3dDerFilter: depth of dy (${i.shape[4]}) must match output depth for filter (${n[4]}).`));const o={x:a,dy:i},l={strides:r,pad:s,filterShape:n};return da.runKernel($t,o,l)}}),am={kernelName:Et,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:s,pad:a}=n;re(au(r),(()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${r}'`));const[i,o]=t;return{x:()=>Ou(i.shape,e,o,s,a),filter:()=>sm(i,e,o.shape,s,a)}}},im={kernelName:Rt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(xc(Dh(Si(n,"float32"))),e)}}},om={kernelName:Mt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(_h(Si(n,"float32")),e)}}},lm={kernelName:Ft,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:s,exclusive:a,reverse:i}=n;return{x:()=>{const t=Ac([s],r.rank);let n=Bu(e,s,a,!i);return null!=t&&(n=qi(n,t)),n}}}},um={kernelName:Lt,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:r,strides:s,pad:a,dimRoundingMode:i}=n,o=null==r?[1,1]:r;re(au(o),(()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${o}'`));const[l,u]=t;return re(4===l.rank,(()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`)),re(4===u.rank,(()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`)),re(l.shape[3]===u.shape[2],(()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`)),re(iu(s,o),(()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'.`)),lu("depthwiseConv2d",a,i),{x:()=>$p(l.shape,e,u,s,a,o,i),filter:()=>Ep(l,e,u.shape,s,a,o,i)}}},cm={kernelName:Vt,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[r,s]=t,a={x:r,filter:s,dy:e},i={x:r,filter:s,dy:e};return{x:()=>da.runKernel(Ut,a,n),filter:()=>da.runKernel(Wt,i,n)}}},hm={kernelName:jt,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,r={dy:e,y:n};return{x:()=>da.runKernel(qt,r)}}},pm={kernelName:Kt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=hl(Qu(xc(dl(n))),2/Math.sqrt(Math.PI));return{x:()=>hl(e,r)}}},dm={kernelName:Yt,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,n)}}},fm={kernelName:Zt,inputsToSave:["input"],gradFunc:(e,t)=>{const[n]=t;return{input:()=>uu(e,n.shape)}}},mm={kernelName:Jt,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,Qu(n))}}},gm={kernelName:nn,gradFunc:e=>({x:()=>fl(e)})},ym={kernelName:rn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=cl(e,Si(r,"float32")),a=Yi(n.shape,s);return a.length>0?uu(Ic(t,a),n.shape):t},b:()=>{let t=hl(e,Si(n,"float32"));const a=Yi(r.shape,s);a.length>0&&(t=uu(Ic(t,a),r.shape));const i=dl(r);return xc(cl(t,Si(i,"float32")))}}}},bm={kernelName:sn,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:r}=n,[s,a,i,o]=t,l=null==o?kl(1):o,u=Yi(a.shape,s.shape),c=[];if(1===a.rank){for(let e=0;e1===a.rank?uu(hl(hl(e,nc(uu(d,[1,1,1,a.shape[0]]),c)),l),s.shape):uu(hl(hl(e,d),l),s.shape),mean:()=>{let e=hl(hl(d,kl(-1)),p);return 1===a.rank&&(e=Ic(e,u)),uu(e,a.shape)},variance:()=>{let e=hl(hl(f,h),p);return 1===a.rank&&(e=Ic(e,u)),uu(e,a.shape)},scale:()=>{const t=hl(h,d);let n=hl(e,t);return 1===a.rank&&(n=Ic(n,u)),uu(n,a.shape)},offset:()=>{let t=e;return 1===a.rank&&(t=Ic(t,u)),uu(t,a.shape)}}}},xm={kernelName:an,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[r,s]=t,{axis:a}=n,i=ye(a,r.shape)[0];return{x:()=>{const t=r.shape,n=s.size,o=t.slice(0,i),l=o.length,u=t.slice(a,t.length).slice(1),c=u.length,h=wm(0,l),p=wm(l+1,l+1+c),d=vm([o,[n],u]),f=uu(e,d),m=uu(s,[n]),g=vm([[l],h,p]),y=qi(f,g);let b=ip(y,m,r.shape[i]);const x=Rc(g);return b=qi(b,x),b},indices:()=>s}}};function wm(e,t){const n=[];for(let r=e;r{const[n,r]=t;return{a:()=>fl(n),b:()=>fl(r)}}},Im={kernelName:cn,gradFunc:e=>({x:()=>Si(e,"float32")})},Nm={kernelName:dn,gradFunc:e=>({x:()=>fl(e)})},Sm={kernelName:fn,gradFunc:e=>({x:()=>fl(e)})},Tm={kernelName:mn,gradFunc:e=>({x:()=>fl(e)})},Cm={kernelName:gn,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{alpha:s}=n,a=ic(r,0);return{x:()=>qu(a,e,hl(e,s))}}},Em={kernelName:vn,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,ll(n,1))}}},$m={kernelName:wn,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,Si(n,"float32"))}}},Am={kernelName:Sn,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{axis:s}=n;return{logits:()=>{const t=Qu(r);return El(e,hl(Ic(e,s,!0),t))}}}},Rm=Ta({localResponseNormalizationBackprop_:function(e,t,n,r=5,s=1,a=1,i=.5){const o={x:e,y:t,dy:n},l={depthRadius:r,bias:s,alpha:a,beta:i};return da.runKernel(Cn,o,l)}}),Mm={kernelName:Tn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,s]=t,{depthRadius:a,bias:i,alpha:o,beta:l}=n;return{x:()=>Rm(r,s,e,a,i,o,l)}}};function Fm(e,t,n,r){return t.rankhl(e,Si(ju(n,t),e.dtype))}}const Dm={kernelName:En,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{reductionIndices:s}=r,a=t[0],i=Fm(e,t[1],a,ye(s,a.shape));return{x:()=>i.x()}}},_m={kernelName:$n,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t;return{a:()=>hl(e,Si(oc(n,r),"float32")),b:()=>hl(e,Si(dc(n,r),"float32"))}}},Om=Ta({maxPool3dGrad_:function(e,t,n,r,s,a,i){const o=Ia(e,"dy","maxPool3dGrad"),l=Ia(t,"input","maxPool3dGrad"),u=Ia(n,"output","maxPool3dGrad");let c=o,h=l,p=u,d=!1;4===l.rank&&(d=!0,c=uu(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),h=uu(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),p=uu(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),re(5===c.rank,(()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`)),re(5===h.rank,(()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${h.rank}.`)),re(5===p.rank,(()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${p.rank}.`)),lu("maxPool3dGrad",a,i);const f={dy:c,input:h,output:p},m={filterSize:r,strides:s,pad:a,dimRoundingMode:i},g=da.runKernel(Fn,f,m);return d?uu(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),Lm={kernelName:Mn,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,s]=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=n;return{x:()=>Om(e,r,s,a,i,o,l)}}},zm=Ta({maxPoolGrad_:function(e,t,n,r,s,a,i){const o=Ia(e,"dy","maxPoolGrad"),l=Ia(t,"input","maxPoolGrad"),u=Ia(n,"output","maxPoolGrad");re(l.rank===o.rank,(()=>`Rank of input (${l.rank}) does not match rank of dy (${o.rank})`)),re(4===o.rank,(()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${o.rank}.`)),re(4===l.rank,(()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`)),lu("maxPoolGrad",a,i);const c={dy:o,input:l,output:u},h={filterSize:r,strides:s,pad:a,dimRoundingMode:i};return da.runKernel(Rn,c,h)}}),Pm={kernelName:An,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r,s]=t,{filterSize:a,strides:i,pad:o}=n;return{x:()=>zm(e,r,s,a,i,o)}}},Bm={kernelName:zn,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:s}=n,a=s.map((e=>e[0]));return{x:()=>fu(e,a,r.shape)}}},Vm={kernelName:Yn,inputsToSave:["x"],gradFunc:(e,t,n)=>{const r=t[0],{paddings:s}=n,a=s.map((e=>e[0]));return{x:()=>fu(e,a,r.shape)}}},Um={kernelName:Jn,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,r,s]=t,a=n,i=r,o=Zi(a.shape,i.shape);return{a:()=>{const t=Si(i,"float32");let n=hl(e,hl(t,Cl(a,El(t,kl(1)))));const r=Yi(a.shape,o);return r.length>0&&(n=Ic(n,r)),uu(n,a.shape)},b:()=>{const t=ic(a,0),n=qu(t,yc(a),fl(a));let r=hl(e,hl(s,n));const l=Yi(i.shape,o);return l.length>0&&(r=Ic(r,l)),uu(r,i.shape)}}}},Wm={kernelName:gr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=ic(n,kl(0)),r=kl(Gd),s=kl(Hd),a=hl(e,s),i=hl(hl(e,r),Qu(Si(n,"float32")));return qu(t,a,i)}}}},Gm={kernelName:Sr,gradFunc:(e,t,n)=>{const{blockShape:r,paddings:s}=n;return{x:()=>yu(e,r,s)}}},Hm={kernelName:Tr,gradFunc:(e,t,n)=>{const{axis:r}=n;return{x:()=>pu(e,r)}}},jm=[Mf,Ff,Df,_f,Of,Lf,zf,Pf,Bf,Vf,Uf,Wf,Hf,qf,Kf,Xf,Yf,Zf,Jf,Qf,em,tm,rm,nm,am,im,om,lm,um,cm,{kernelName:Gt,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=cl(e,Si(r,"float32")),a=Yi(n.shape,s);return a.length>0?uu(Ic(t,a),n.shape):t},b:()=>{let t=hl(e,Si(n,"float32"));const a=Yi(r.shape,s);a.length>0&&(t=uu(Ic(t,a),r.shape));const i=dl(r);return xc(cl(t,Si(i,"float32")))}}}},hm,pm,dm,fm,mm,ym,gm,bm,xm,km,Im,Nm,Sm,Tm,Cm,Em,$m,Am,Mm,Dm,Dm,_m,Lm,Pm,{kernelName:_n,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{axis:s}=n,a=ye(s,r.shape),i=oe(Cc(r.shape,a)[1]);return{x:()=>{const t=r.shape.slice();a.forEach((e=>{t[e]=1}));const n=uu(e,t);return cl(hl(n,Wc(r.shape,"float32")),i)}}}},{kernelName:On,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const r=n,{axis:s}=r,[a,i]=t,o=Fm(e,i,a,ye(s,a.shape));return{x:()=>o.x()}}},{kernelName:Ln,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t;return{a:()=>hl(e,Si(fc(n,r),"float32")),b:()=>hl(e,Si(ic(n,r),"float32"))}}},Bm,{kernelName:Pn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=Yi(n.shape,s);return t.length>0?uu(Ic(e,t),n.shape):e},b:()=>{const t=hl(e,xc(sc(cl(n,r)))),a=Yi(r.shape,s);return a.length>0?uu(Ic(t,a),r.shape):t}}}},{kernelName:Vn,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{const t=hl(e,Si(r,"float32")),a=Yi(n.shape,s);return a.length>0?uu(Ic(t,a),n.shape):t},b:()=>{const t=hl(e,Si(n,"float32")),a=Yi(r.shape,s);return a.length>0?uu(Ic(t,a),r.shape):t}}}},{kernelName:Un,gradFunc:e=>({x:()=>xc(e)})},{kernelName:Kn,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>Uc(n.shape,"float32")}}},{kernelName:qn,gradFunc:e=>({x:()=>fl(e)})},{kernelName:Xn,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:r}=n;return op(e,r).map((e=>()=>e))}},Vm,Vm,Um,{kernelName:Qn,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,r]=t,s=ic(n,0);return{x:()=>qu(s,e,hl(e,r)),alpha:()=>{let t=qu(s,fl(e),hl(e,n));const a=Yi(r.shape,e.shape);return a.length>0&&(t=Ic(t,a)),uu(t,r.shape)}}}},{kernelName:rr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,xc(dl(n)))}}},{kernelName:cr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,r=hl(fc(n,6),Xh(n));return{x:()=>hl(e,Si(r,"float32"))}}},{kernelName:sr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,Si(Xh(n),"float32"))}}},{kernelName:ar,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>uu(e,n.shape)}}},{kernelName:lr,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,s={dy:e,images:r};return{images:()=>da.runKernel(ur,s,n)}}},{kernelName:ir,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[r]=t,s={dy:e,images:r};return{images:()=>da.runKernel(or,s,n)}}},{kernelName:hr,gradFunc:(e,t,n)=>{const{dims:r}=n,s=ye(r,e.shape);return{x:()=>Ih(e,s)}}},{kernelName:pr,gradFunc:e=>({x:()=>fl(e)})},{kernelName:dr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>xc(cl(e,hl(Cl(n,1.5),2)))}}},{kernelName:mr,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>Si(fl(n),"float32"),t:()=>hl(e,Si(n,e.dtype)),e:()=>hl(e,Si(_c(n),e.dtype))}}},Wm,{kernelName:vr,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,hl(n,El(kl(1),n)))}}},{kernelName:wr,gradFunc:e=>({x:()=>fl(e)})},{kernelName:br,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(zu(Si(n,"float32")),e)}}},{kernelName:xr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(Pu(Si(n,"float32")),e)}}},{kernelName:yr,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{begin:s,size:a}=n,i=r.shape,[o,l]=Io(r,s,a),u=[];for(let t=0;tth(e,u)}}},{kernelName:Cr,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[r]=t,{dim:s}=n,a=hl(e,r);return{logits:()=>El(a,hl(Ic(a,[s],!0),r))}}},{kernelName:kr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,du(n))}}},Gm,Gm,Hm,Hm,{kernelName:Ir,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,hl(pl(Si(n,"float32")),2))}}},{kernelName:Fr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=kl(2);return{a:()=>hl(e,hl(s,El(n,r))),b:()=>hl(e,hl(s,El(r,n)))}}},{kernelName:Dr,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(e,hl(Si(n,"float32"),2))}}},{kernelName:Yr,gradFunc:e=>({x:()=>fl(e)})},{kernelName:Pr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,r]=t,s=Zi(n.shape,r.shape);return{a:()=>{let t=e;const r=Yi(n.shape,s);return r.length>0&&(t=Ic(t,r)),uu(t,n.shape)},b:()=>{let t=e;const n=Yi(r.shape,s);return n.length>0&&(t=Ic(t,n)),uu(xc(t),r.shape)}}}},{kernelName:Nr,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,s=r.shape.slice(),{axis:a}=n;ye(a,r.shape).forEach((e=>{s[e]=1}));const i=uu(e,s),o=hl(i,Wc(r.shape,"float32"));return{x:()=>o}}},{kernelName:Br,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>cl(e,dl(zu(n)))}}},{kernelName:Vr,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>hl(El(kl(1),dl(n)),e)}}},{kernelName:Ur,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[r]=t,{reps:s}=n;return{x:()=>{let t=fl(r);if(1===r.rank)for(let n=0;n{const r=n,{perm:s}=r,a=Rc(s);return{x:()=>qi(e,a)}}},{kernelName:qr,gradFunc:(e,t,n)=>{const r=n,{axis:s}=r;return{value:()=>Kh(e,s)}}},{kernelName:Kr,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>function(e,t){const n=Rl(t,fl(t)),r=ac(e,n);let s=oc(t,kl(0,"int32"));const a=r.rank-s.rank;for(let e=0;e({x:()=>fl(e)})}];for(const e of jm)cs(e);let qm;function Km(){return null==qm&&(qm=il().epsilon()),qm}Ks().prototype.abs=function(){return this.throwIfDisposed(),Al(this)},Ks().prototype.acos=function(){return this.throwIfDisposed(),Ll(this)},Ks().prototype.acosh=function(){return this.throwIfDisposed(),zl(this)},Ks().prototype.add=function(e){return this.throwIfDisposed(),ll(this,e)},Ks().prototype.all=function(e,t){return this.throwIfDisposed(),Bl(this,e,t)},Ks().prototype.any=function(e,t){return this.throwIfDisposed(),Vl(this,e,t)},Ks().prototype.argMax=function(e){return this.throwIfDisposed(),Ul(this,e)},Ks().prototype.argMin=function(e){return this.throwIfDisposed(),Wl(this,e)},Ks().prototype.asScalar=function(){return this.throwIfDisposed(),re(1===this.size,(()=>"The array must have only 1 element.")),uu(this,[])},Ks().prototype.asType=function(e){return this.throwIfDisposed(),Si(this,e)},Ks().prototype.as1D=function(){return this.throwIfDisposed(),uu(this,[this.size])},Ks().prototype.as2D=function(e,t){return this.throwIfDisposed(),uu(this,[e,t])},Ks().prototype.as3D=function(e,t,n){return this.throwIfDisposed(),uu(this,[e,t,n])},Ks().prototype.as4D=function(e,t,n,r){return this.throwIfDisposed(),uu(this,[e,t,n,r])},Ks().prototype.as5D=function(e,t,n,r,s){return this.throwIfDisposed(),uu(this,[e,t,n,r,s])},Ks().prototype.asin=function(){return this.throwIfDisposed(),Gl(this)},Ks().prototype.asinh=function(){return this.throwIfDisposed(),Hl(this)},Ks().prototype.atan=function(){return this.throwIfDisposed(),jl(this)},Ks().prototype.atan2=function(e){return this.throwIfDisposed(),ql(this,e)},Ks().prototype.atanh=function(){return this.throwIfDisposed(),Kl(this)},Ks().prototype.avgPool=function(e,t,n,r){return this.throwIfDisposed(),cu(this,e,t,n,r)},Ks().prototype.batchToSpaceND=function(e,t){return this.throwIfDisposed(),yu(this,e,t)},Ks().prototype.batchNorm=function(e,t,n,r,s){return this.throwIfDisposed(),bu(this,e,t,n,r,s)},Ks().prototype.broadcastTo=function(e){return this.throwIfDisposed(),Nu(this,e)},Ks().prototype.cast=function(e){return this.throwIfDisposed(),Si(this,e)},Ks().prototype.ceil=function(){return this.throwIfDisposed(),Su(this)},Ks().prototype.clipByValue=function(e,t){return this.throwIfDisposed(),Tu(this,e,t)},Ks().prototype.concat=function(e,t){return this.throwIfDisposed(),e instanceof qs&&(e=[e]),pu([this,...e],t)},Ks().prototype.conv1d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Mu(this,e,t,n,r,s,a)},Ks().prototype.conv2dTranspose=function(e,t,n,r,s){return this.throwIfDisposed(),Du(this,e,t,n,r,s)},Ks().prototype.conv2d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Ru(this,e,t,n,r,s,a)},Ks().prototype.cos=function(){return this.throwIfDisposed(),zu(this)},Ks().prototype.cosh=function(){return this.throwIfDisposed(),Pu(this)},Ks().prototype.cumsum=function(e,t,n){return this.throwIfDisposed(),Bu(this,e,t,n)},Ks().prototype.depthToSpace=function(e,t){return this.throwIfDisposed(),Uu(this,e,t)},Ks().prototype.depthwiseConv2d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Wu(this,e,t,n,r,s,a)},Ks().prototype.dilation2d=function(e,t,n,r,s){return this.throwIfDisposed(),Hu(this,e,t,n,r,s)},Ks().prototype.divNoNan=function(e){return this.throwIfDisposed(),Ku(this,e)},Ks().prototype.div=function(e){return this.throwIfDisposed(),cl(this,e)},Ks().prototype.dot=function(e){return this.throwIfDisposed(),Xu(this,e)},Ks().prototype.elu=function(){return this.throwIfDisposed(),Zu(this)},Ks().prototype.equal=function(e){return this.throwIfDisposed(),ju(this,e)},Ks().prototype.erf=function(){return this.throwIfDisposed(),Ju(this)},Ks().prototype.exp=function(){return this.throwIfDisposed(),Qu(this)},Ks().prototype.expandDims=function(e){return this.throwIfDisposed(),ec(this,e)},Ks().prototype.expm1=function(){return this.throwIfDisposed(),tc(this)},Ks().prototype.fft=function(){return this.throwIfDisposed(),Vh(this)},Ks().prototype.flatten=function(){return this.throwIfDisposed(),uu(this,[this.size])},Ks().prototype.floor=function(){return this.throwIfDisposed(),sc(this)},Ks().prototype.floorDiv=function(e){return this.throwIfDisposed(),ul(this,e)},Ks().prototype.gather=function(e,t){return this.throwIfDisposed(),ac(this,e,t)},Ks().prototype.greaterEqual=function(e){return this.throwIfDisposed(),oc(this,e)},Ks().prototype.greater=function(e){return this.throwIfDisposed(),ic(this,e)},Ks().prototype.ifft=function(){return this.throwIfDisposed(),Uh(this)},Ks().prototype.irfft=function(){return this.throwIfDisposed(),Wh(this)},Ks().prototype.isFinite=function(){return this.throwIfDisposed(),uc(this)},Ks().prototype.isInf=function(){return this.throwIfDisposed(),cc(this)},Ks().prototype.isNaN=function(){return this.throwIfDisposed(),hc(this)},Ks().prototype.leakyRelu=function(e){return this.throwIfDisposed(),pc(this,e)},Ks().prototype.lessEqual=function(e){return this.throwIfDisposed(),fc(this,e)},Ks().prototype.less=function(e){return this.throwIfDisposed(),dc(this,e)},Ks().prototype.localResponseNormalization=function(e,t,n,r){return this.throwIfDisposed(),gc(this,e,t,n,r)},Ks().prototype.logSigmoid=function(){return this.throwIfDisposed(),vc(this)},Ks().prototype.logSoftmax=function(e){return this.throwIfDisposed(),Nc(this,e)},Ks().prototype.logSumExp=function(e,t){return this.throwIfDisposed(),Fc(this,e,t)},Ks().prototype.log=function(){return this.throwIfDisposed(),yc(this)},Ks().prototype.log1p=function(){return this.throwIfDisposed(),bc(this)},Ks().prototype.logicalAnd=function(e){return this.throwIfDisposed(),Dc(this,e)},Ks().prototype.logicalNot=function(){return this.throwIfDisposed(),_c(this)},Ks().prototype.logicalOr=function(e){return this.throwIfDisposed(),Oc(this,e)},Ks().prototype.logicalXor=function(e){return this.throwIfDisposed(),Lc(this,e)},Ks().prototype.matMul=function(e,t,n){return this.throwIfDisposed(),Hi(this,e,t,n)},Ks().prototype.maxPool=function(e,t,n,r){return this.throwIfDisposed(),zc(this,e,t,n,r)},Ks().prototype.max=function(e,t){return this.throwIfDisposed(),kc(this,e,t)},Ks().prototype.maximum=function(e){return this.throwIfDisposed(),Rl(this,e)},Ks().prototype.mean=function(e,t){return this.throwIfDisposed(),Vc(this,e,t)},Ks().prototype.min=function(e,t){return this.throwIfDisposed(),Hc(this,e,t)},Ks().prototype.minimum=function(e){return this.throwIfDisposed(),jc(this,e)},Ks().prototype.mirrorPad=function(e,t){return this.throwIfDisposed(),qc(this,e,t)},Ks().prototype.mod=function(e){return this.throwIfDisposed(),Kc(this,e)},Ks().prototype.mul=function(e){return this.throwIfDisposed(),hl(this,e)},Ks().prototype.neg=function(){return this.throwIfDisposed(),xc(this)},Ks().prototype.norm=function(e,t,n){return this.throwIfDisposed(),dp(this,e,t,n)},Ks().prototype.notEqual=function(e){return this.throwIfDisposed(),Jc(this,e)},Ks().prototype.oneHot=function(e,t=1,n=0){return this.throwIfDisposed(),ji(this,e,t,n)},Ks().prototype.onesLike=function(){return this.throwIfDisposed(),Qc(this)},Ks().prototype.pad=function(e,t){return this.throwIfDisposed(),th(this,e,t)},Ks().prototype.pool=function(e,t,n,r,s,a){return this.throwIfDisposed(),oh(this,e,t,n,r,s,a)},Ks().prototype.pow=function(e){return this.throwIfDisposed(),Cl(this,e)},Ks().prototype.prelu=function(e){return this.throwIfDisposed(),lh(this,e)},Ks().prototype.prod=function(e,t){return this.throwIfDisposed(),uh(this,e,t)},Ks().prototype.reciprocal=function(){return this.throwIfDisposed(),wh(this)},Ks().prototype.relu=function(){return this.throwIfDisposed(),vh(this)},Ks().prototype.relu6=function(){return this.throwIfDisposed(),kh(this)},Ks().prototype.reshapeAs=function(e){return this.throwIfDisposed(),uu(this,e.shape)},Ks().prototype.reshape=function(e){return this.throwIfDisposed(),uu(this,e)},Ks().prototype.resizeBilinear=function(e,t,n){return this.throwIfDisposed(),Qp(this,e,t,n)},Ks().prototype.resizeNearestNeighbor=function(e,t,n){return this.throwIfDisposed(),ed(this,e,t,n)},Ks().prototype.reverse=function(e){return this.throwIfDisposed(),Ih(this,e)},Ks().prototype.rfft=function(){return this.throwIfDisposed(),Hh(this)},Ks().prototype.round=function(){return this.throwIfDisposed(),Eh(this)},Ks().prototype.rsqrt=function(){return this.throwIfDisposed(),$h(this)},Ks().prototype.selu=function(){return this.throwIfDisposed(),Ah(this)},Ks().prototype.separableConv2d=function(e,t,n,r,s,a){return this.throwIfDisposed(),Rh(this,e,t,n,r,s,a)},Ks().prototype.sigmoid=function(){return this.throwIfDisposed(),du(this)},Ks().prototype.sign=function(){return this.throwIfDisposed(),Fh(this)},Ks().prototype.sin=function(){return this.throwIfDisposed(),Dh(this)},Ks().prototype.sinh=function(){return this.throwIfDisposed(),_h(this)},Ks().prototype.slice=function(e,t){return this.throwIfDisposed(),fu(this,e,t)},Ks().prototype.softmax=function(e){return this.throwIfDisposed(),Bh(this,e)},Ks().prototype.softplus=function(){return this.throwIfDisposed(),wc(this)},Ks().prototype.spaceToBatchND=function(e,t){return this.throwIfDisposed(),ih(this,e,t)},Ks().prototype.split=function(e,t){return this.throwIfDisposed(),Gh(this,e,t)},Ks().prototype.sqrt=function(){return this.throwIfDisposed(),pl(this)},Ks().prototype.square=function(){return this.throwIfDisposed(),dl(this)},Ks().prototype.squaredDifference=function(e){return this.throwIfDisposed(),jh(this,e)},Ks().prototype.squeeze=function(e){return this.throwIfDisposed(),qh(this,e)},Ks().prototype.stack=function(e,t){this.throwIfDisposed();const n=e instanceof qs?[this,e]:[this,...e];return Kh(n,t)},Ks().prototype.step=function(e){return this.throwIfDisposed(),Xh(this,e)},Ks().prototype.stridedSlice=function(e,t,n,r,s,a,i,o){return this.throwIfDisposed(),Yh(this,e,t,n,r,s,a,i,o)},Ks().prototype.sub=function(e){return this.throwIfDisposed(),El(this,e)},Ks().prototype.sum=function(e,t){return this.throwIfDisposed(),Ic(this,e,t)},Ks().prototype.tan=function(){return this.throwIfDisposed(),Zh(this)},Ks().prototype.tanh=function(){return this.throwIfDisposed(),mu(this)},Ks().prototype.tile=function(e){return this.throwIfDisposed(),nc(this,e)},Ks().prototype.toBool=function(){return this.throwIfDisposed(),Si(this,"bool")},Ks().prototype.toFloat=function(){return this.throwIfDisposed(),Si(this,"float32")},Ks().prototype.toInt=function(){return this.throwIfDisposed(),Si(this,"int32")},Ks().prototype.topk=function(e,t){return this.throwIfDisposed(),rp(this,e,t)},Ks().prototype.transpose=function(e){return this.throwIfDisposed(),qi(this,e)},Ks().prototype.unique=function(e){return this.throwIfDisposed(),ap(this,e)},Ks().prototype.unsortedSegmentSum=function(e,t){return this.throwIfDisposed(),ip(this,e,t)},Ks().prototype.unstack=function(e){return this.throwIfDisposed(),op(this,e)},Ks().prototype.where=function(e,t){return this.throwIfDisposed(),qu(e,this,t)},Ks().prototype.zerosLike=function(){return this.throwIfDisposed(),fl(this)};class Xm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Xm.prototype)}}class Ym extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Ym.prototype)}}class Zm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Zm.prototype)}}class Jm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Jm.prototype)}}class Qm extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Qm.prototype)}}function eg(e,t){if(Array.isArray(e)){let n=[];for(let r=0;rt.toUpperCase()))}Error;let og={};function lg(e){if(null==e)return null;const t={};return t.className=e.getClassName(),t.config=e.getConfig(),t}function ug(e){if(null!=e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e=>ug(e)));else{const t=Object.keys(e);for(const n of t){const t=e[n];null!=t&&"object"==typeof t&&(Array.isArray(t)||"ndarray"!==t.type||"number"!=typeof t.value?ug(t):e[n]=t.value)}}}function cg(e,t={},n={},r="object",s=!1){if("string"==typeof e){const s=e;let a;if(s in n)a=n[s];else if(s in og)a=og[s];else if(a=t[s],null==a)throw new Zm(`Unknown ${r}: ${e}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return a}{const a=e;if(null==a.className||null==a.config)throw new Zm(`${r}: Improper config format: ${JSON.stringify(a)}.\n'className' and 'config' must set.`);const i=a.className;let o,l;if(i in n?[o,l]=n[i]:i in og?[o,l]=og.className:i in t&&([o,l]=t[i]),null==o)throw new Zm(`Unknown ${r}: ${i}. This may be due to one of the following reasons:\n1. The ${r} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${r} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const e={};for(const t of Object.keys(og))e[t]=og[t];for(const t of Object.keys(n))e[t]=n[t];a.config.customObjects=e;const t=Object.assign({},og);for(const e of Object.keys(n))og[e]=n[e];ug(a.config);const r=l(o,a.config,n,s);return og=Object.assign({},t),r}{const e=Object.assign({},og);for(const e of Object.keys(n))og[e]=n[e];const t=new o(a.config);return og=Object.assign({},e),t}}}function hg(e,t){return-1*function(e,t){return et?1:0}(e,t)}function pg(e){if(null==e)return e;const t=[];for(const n of e)-1===t.indexOf(n)&&t.push(n);return t}function dg(e){if(null==e)throw new Zm(`Invalid value in obj: ${JSON.stringify(e)}`);for(const t in e)if(e.hasOwnProperty(t))return!1;return!0}function fg(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new Zm(`${n} is not a valid ${t}. Valid values are ${e} or null/undefined.`)}function mg(e,t,n=0,r=1/0){return tg(n>=0),tg(r>=n),Array.isArray(e)&&e.length>=n&&e.length<=r&&e.every((e=>typeof e===t))}function gg(e,t){Array.isArray(e)?(re(e.length>0,(()=>`${t} is unexpectedly an empty array.`)),e.forEach(((e,n)=>gg(e,`element ${n+1} of ${t}`)))):re(Number.isInteger(e)&&e>0,(()=>`Expected ${t} to be a positive integer, but got ${yg(e)}.`))}function yg(e){return null===e?"null":Array.isArray(e)?"["+e.map((e=>yg(e))).join(",")+"]":"string"==typeof e?`"${e}"`:`${e}`}function bg(e){return"relu"===e?"relu":"linear"===e?"linear":"elu"===e?"elu":null}function xg(e,t){return Xo((()=>pl(Ic(hl(e,e),t,!0))))}class wg extends To{getConfig(){return{}}}class vg extends wg{constructor(e){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return Xo((()=>{const t=xg(e,this.axis),n=Tu(t,0,this.maxValue);return hl(e,cl(n,ll(Km(),t)))}))}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}vg.className="MaxNorm",Eo(vg);class kg extends wg{constructor(e){super(),this.defaultAxis=0,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return Xo((()=>cl(e,ll(Km(),xg(e,this.axis)))))}getConfig(){return{axis:this.axis}}}kg.className="UnitNorm",Eo(kg);class Ig extends wg{apply(e){return vh(e)}}Ig.className="NonNeg",Eo(Ig);class Ng extends wg{constructor(e){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=e.minValue?e.minValue:this.defaultMinValue,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.rate=null!=e.rate?e.rate:this.defaultRate,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return Xo((()=>{const t=xg(e,this.axis),n=ll(hl(this.rate,Tu(t,this.minValue,this.maxValue)),hl(1-this.rate,t));return hl(e,cl(n,ll(Km(),t)))}))}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}Ng.className="MinMaxNorm",Eo(Ng);const Sg={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function Tg(e){return lg(e)}function Cg(e,t={}){return cg(e,Co.getMap().classNameMap,t,"constraint")}function Eg(e){return null==e?null:"string"==typeof e?Cg({className:e in Sg?Sg[e]:e,config:{}}):e instanceof wg?e:Cg(e)}function $g(e){return new vg(e)}function Ag(e){return new kg(e)}function Rg(){return new Ig}function Mg(e){return new Ng(e)}const Fg=["channelsFirst","channelsLast"],Dg=["nearest","bilinear"],_g=["valid","same","causal"],Og=["max","avg"],Lg=["sum","mul","concat","ave"],zg=new Map;function Pg(e){fg(Fg,"DataFormat",e)}function Bg(e){fg(_g,"PaddingMode",e)}function Vg(e){fg(Og,"PoolMode",e)}const Ug=[];function Wg(e,t){Ug.push(e);try{const e=t();return Ug.pop(),e}catch(e){throw Ug.pop(),e}}function Gg(e){if(!qg(e))throw new Error("Not a valid tensor name: '"+e+"'");return(0===Ug.length?"":Ug.join("/")+"/")+e}function Hg(e){if(!qg(e))throw new Error("Not a valid tensor name: '"+e+"'");zg.has(e)||zg.set(e,0);const t=zg.get(e);if(zg.set(e,zg.get(e)+1),t>0){const n=`${e}_${t}`;return zg.set(n,1),n}return e}const jg=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function qg(e){return!!e.match(jg)}function Kg(e,t,n){null==t&&(t=0),null==n&&(n=e.length);let r=1;for(let s=t;st&&(t=r)}return t}function Zg(e,t){if(t{switch(e.rank){case 1:return Oh(e,t,n);case 2:return Lh(e,[t,0],[n,e.shape[1]]);case 3:return zh(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return Ph(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return fu(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);case 6:return fu(e,[t,0,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4],e.shape[5]]);default:throw new Zm(`sliceAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}))}function ty(e,t,n){return Xo((()=>{switch(e.rank){case 1:return Oh(e,t,n);case 2:return Lh(e,[0,t],[e.shape[0],n]);case 3:return zh(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return Ph(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new Zm(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}}))}function ny(e,t,n,r){return Xo((()=>{switch(e.rank){case 1:return Oh(e,t,n);case 2:switch(r){case 1:return ey(e,t,n);case 2:return ty(e,t,n);default:throw new Zm(`The axis is not within the rank of the tensor ${r}`)}case 3:switch(r){case 1:return ey(e,t,n);case 2:return zh(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return ty(e,t,n);default:throw new Zm(`The axis is not within the rank of the tensor ${r}`)}case 4:switch(r){case 1:return ey(e,t,n);case 2:return Ph(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return Ph(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return ty(e,t,n);default:throw new Zm(`The axis is not within the rank of the tensor ${r}`)}default:throw new Zm(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}}))}function ry(e,t=-1){let n;return t<0&&(n=e[0].rank,t=0!==n?n:0),t===e[0].rank&&(t=-1),pu(e,t)}function sy(e,t){switch(e.rank){case 1:return Cu([e,t]);case 2:return Eu([e,t],0);case 3:return $u([e,t],0);case 4:return Au([e,t],0);default:throw new Zm(`concatAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}function ay(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new Zm(`The length of input n (${t.length}) does not match the number of dimensions in input x (${e.rank})`);return nc(e,t)}function iy(e,t=0,n=1,r,s){return gh(e,t,n,r,s)}function oy(e,t,n,r){if(e.rank<2||t.rank<2)throw new Jm(`dot requires both inputs to be rank >= 2 but got x shape = ${e.shape} and y shape = ${t.shape}`);if(t.rank>=3&&e.shape.slice(-1)[0]!==t.shape.slice(-2)[0])throw new Jm(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${e.shape} and y shape = ${t.shape}`);if(2===e.rank&&2===t.rank)return Rp({a:e,b:t,transposeA:!1,transposeB:!1,bias:r?cy(e.rank,r,"channelsLast"):null,activation:n});{const s=e.shape.slice(),a=s.pop();e=uu(e,[-1,a]);const i=t.shape.slice(),o=i.pop(),l=i.pop(),u=[...i,o],c=Array.from({length:t.rank},((e,n)=>0===n?t.rank-2:n<=t.rank-2?n-1:n));t=uu(qi(t,c),[l,-1]);const h=[...s,...u];return uu(Rp({a:e,b:t,transposeA:!1,transposeB:!1,bias:r?cy(e.rank,r,"channelsLast"):null,activation:n}),h)}}function ly(e,t,n){return Xo((()=>(t=Array.isArray(t)?Jh(t,"int32"):Si(t,"int32"),ac(e,t,n))))}function uy(e){return hl(e,e)}function cy(e,t,n){const r=t.shape;if(1!==t.rank&&t.rank!==e)throw new Zm(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${e}`);if(5===e){if("channelsFirst"===n)return 1===r.length?uu(t,[1,r[0],1,1,1]):uu(t,[1,r[3],r[0],r[1],r[2]]);if("channelsLast"===n)return 1===r.length?uu(t,[1,1,1,1,r[0]]):uu(t,[1].concat(r))}else if(4===e){if("channelsFirst"===n)return 1===r.length?uu(t,[1,r[0],1,1]):uu(t,[1,r[2],r[0],r[1]]);if("channelsLast"===n)return 1===r.length?uu(t,[1,1,1,r[0]]):uu(t,[1].concat(r))}else if(3===e){if("channelsFirst"===n)return 1===r.length?uu(t,[1,r[0],1]):uu(t,[1,r[1],r[0]]);if("channelsLast"===n)return 1===r.length?uu(t,[1,1,r[0]]):uu(t,[1].concat(r))}else if(e<3)return t;throw new Zm(`Unsupported input rank by biasAdd: ${t.rank}`)}function hy(e,t,n){return Xo((()=>(null==n&&(n="channelsLast"),Pg(n),ll(e,cy(e.rank,t,n)))))}function py(e,t,n,r){return Xo((()=>bp(e,t,n,r)))}function dy(e,t,n=!1){return n?e():t()}const fy=["fanIn","fanOut","fanAvg"],my=["normal","uniform","truncatedNormal"];class gy extends To{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class yy extends gy{apply(e,t){return Uc(e,t)}}yy.className="Zeros",Eo(yy);class by extends gy{apply(e,t){return Wc(e,t)}}by.className="Ones",Eo(by);class xy extends gy{constructor(e){if(super(),"object"!=typeof e)throw new Zm(`Expected argument of type ConstantConfig but got ${e}`);if(void 0===e.value)throw new Zm(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return Xo((()=>hl(kl(this.value),Wc(e,t))))}getConfig(){return{value:this.value}}}xy.className="Constant",Eo(xy);class wy extends gy{constructor(e){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return yh(e,this.minval,this.maxval,t)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}wy.className="RandomUniform",Eo(wy);class vy extends gy{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new Jm(`randomNormal does not support dType ${t}.`);return iy(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}vy.className="RandomNormal",Eo(vy);class ky extends gy{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new Jm(`truncatedNormal does not support dType ${t}.`);return sp(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}ky.className="TruncatedNormal",Eo(ky);class Iy extends gy{constructor(e){super(),this.gain=null!=e.gain?e.gain:1}apply(e,t){return Xo((()=>{if(2!==e.length||e[0]!==e[1])throw new Zm("Identity matrix initializer can only be used for 2D square matrices.");return hl(this.gain,rc(e[0]))}))}getConfig(){return{gain:this.gain}}}Iy.className="Identity",Eo(Iy);class Ny extends gy{constructor(e){if(super(),e.scale<0)throw new Zm(`scale must be a positive float. Got: ${e.scale}`);var t;this.scale=null==e.scale?1:e.scale,this.mode=null==e.mode?"fanIn":e.mode,t=this.mode,fg(fy,"FanMode",t),this.distribution=null==e.distribution?"normal":e.distribution,function(e){fg(my,"Distribution",e)}(this.distribution),this.seed=e.seed}apply(e,t){const n=function(e,t="channelsLast"){let n,r;if(Pg(t),2===e.length)n=e[0],r=e[1];else if(-1!==[3,4,5].indexOf(e.length)){if("channelsFirst"===t){const t=Kg(e,2);n=e[1]*t,r=e[0]*t}else if("channelsLast"===t){const t=Kg(e,0,e.length-2);n=e[e.length-2]*t,r=e[e.length-1]*t}}else{const t=Kg(e);n=Math.sqrt(t),r=Math.sqrt(t)}return[n,r]}(e),r=n[0],s=n[1];let a=this.scale;if("fanIn"===this.mode?a/=Math.max(1,r):"fanOut"===this.mode?a/=Math.max(1,s):a/=Math.max(1,(r+s)/2),"normal"===this.distribution){const n=Math.sqrt(a);if("float32"!==(t=t||"float32")&&"int32"!==t)throw new Jm(`${this.getClassName()} does not support dType ${t}.`);return sp(e,0,n,t,this.seed)}{const n=Math.sqrt(3*a);return yh(e,-n,n,t)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}}Ny.className="VarianceScaling",Eo(Ny);class Sy extends Ny{constructor(e){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return Ny.className}}Sy.className="GlorotUniform",Eo(Sy);class Ty extends Ny{constructor(e){super({scale:1,mode:"fanAvg",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return Ny.className}}Ty.className="GlorotNormal",Eo(Ty);class Cy extends Ny{constructor(e){super({scale:2,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return Ny.className}}Cy.className="HeNormal",Eo(Cy);class Ey extends Ny{constructor(e){super({scale:2,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return Ny.className}}Ey.className="HeUniform",Eo(Ey);class $y extends Ny{constructor(e){super({scale:1,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return Ny.className}}$y.className="LeCunNormal",Eo($y);class Ay extends Ny{constructor(e){super({scale:1,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return Ny.className}}Ay.className="LeCunNormal",Eo(Ay);class Ry extends gy{constructor(e){if(super(),this.DEFAULT_GAIN=1,this.gain=null==e.gain?this.DEFAULT_GAIN:e.gain,this.seed=e.seed,null!=this.seed)throw new Jm("Random seed is not implemented for Orthogonal Initializer yet.")}apply(e,t){return Xo((()=>{if(e.length<2)throw new Jm("Shape must be at least 2D.");e[0]*e[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${e[0]*e[1]}) elements: Slowness may result.`);const t=iy(e[0]>e[1]?[e[1],e[0]]:e,0,1,"float32");let n=Cd.gramSchmidt(t);return e[0]>e[1]&&(n=qi(n)),hl(this.gain,n)}))}getConfig(){return{gain:this.gain,seed:this.seed}}}Ry.className="Orthogonal",Eo(Ry);const My={constant:"Constant",glorotNormal:"GlorotNormal",glorotUniform:"GlorotUniform",heNormal:"HeNormal",heUniform:"HeUniform",identity:"Identity",leCunNormal:"LeCunNormal",leCunUniform:"LeCunUniform",ones:"Ones",orthogonal:"Orthogonal",randomNormal:"RandomNormal",randomUniform:"RandomUniform",truncatedNormal:"TruncatedNormal",varianceScaling:"VarianceScaling",zeros:"Zeros"};function Fy(e,t={}){return cg(e,Co.getMap().classNameMap,t,"initializer")}function Dy(e){return lg(e)}function _y(e){if("string"==typeof e){const t=e in My?My[e]:e;if("GlorotNormal"===t)return new Ty;if("GlorotUniform"===t)return new Sy;if("HeNormal"===t)return new Cy;if("HeUniform"===t)return new Ey;if("LeCunNormal"===t)return new $y;if("LeCunUniform"===t)return new Ay;{const e={};return e.className=t,e.config={},Fy(e)}}return e instanceof gy?e:Fy(e)}function Oy(){return new yy}function Ly(){return new by}function zy(e){return new xy(e)}function Py(e){return new wy(e)}function By(e){return new vy(e)}function Vy(e){return new ky(e)}function Uy(e){return new Iy(e)}function Wy(e){return new Ny(e)}function Gy(e){return new Sy(e)}function Hy(e){return new Ty(e)}function jy(e){return new Cy(e)}function qy(e){return new Ey(e)}function Ky(e){return new $y(e)}function Xy(e){return new Ay(e)}function Yy(e){return new Ry(e)}let Zy=0;function Jy(){return Zy++}const Qy={};function eb(e=""){return e in Qy||(Qy[e]=0),Qy[e]+=1,e+Qy[e].toString()}function tb(e){return Array.isArray(e)&&Array.isArray(e[0])}function nb(e){return 0===e.length?[]:Array.isArray(e[0])?e:[e]}function rb(e){let t;if(Array.isArray(e)){if(1!==e.length)throw new Zm(`Expected Tensor length to be 1; got ${e.length}`);t=e[0]}else t=e;return t}function sb(e){if(Array.isArray(e)&&Array.isArray(e[0])){if(1===e.length)return e[0];throw new Zm(`Expected exactly 1 Shape; got ${e.length}`)}return e}function ab(e){let t=0;for(const n of e)0===n.shape.length?t+=1:t+=n.shape.reduce(((e,t)=>e*t));return t}class ib{constructor(e,t="float32",n="Variable",r=!0,s=null){this.dtype=null==t?"float32":t,this.shape=e.shape,this.id=Jy(),n=null==n?"Variable":n,this.originalName=Gg(n),this.name=Hg(this.originalName),this.trainable_=r,this.constraint=s,this.val=lp(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(e.shape)+" vs. "+JSON.stringify(t.shape))}(this.val,e),this.val.id!==e.id&&(this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}}function ob(e){return e.map((e=>e.read()))}function lb(e){e.forEach((e=>{e[0].write(e[1])}))}class ub{constructor(e){this.dtype=e.dtype,this.shape=e.shape,null!=e.shape?this.ndim=e.shape.length:this.ndim=e.ndim,this.maxNDim=e.maxNDim,this.minNDim=e.minNDim,this.axes=e.axes||{}}}class cb{constructor(e,t,n,r,s,a,i){this.dtype=e,this.shape=t,this.sourceLayer=n,this.inputs=r,this.callArgs=s,this.outputTensorIndex=i,this.id=Jy(),null!=a&&(this.originalName=Gg(a),this.name=Hg(this.originalName)),this.rank=t.length}}let hb=0;class pb{constructor(e,t){this.callArgs=t,this.id=hb++,this.outboundLayer=e.outboundLayer,this.inboundLayers=e.inboundLayers,this.nodeIndices=e.nodeIndices,this.tensorIndices=e.tensorIndices,this.inputTensors=e.inputTensors,this.outputTensors=e.outputTensors,this.inputMasks=e.inputMasks,this.outputMasks=e.outputMasks,this.inputShapes=e.inputShapes,this.outputShapes=e.outputShapes;for(const t of e.inboundLayers)null!=t&&t.outboundNodes.push(this);e.outboundLayer.inboundNodes.push(this)}getConfig(){const e=[];for(const t of this.inboundLayers)null!=t?e.push(t.name):e.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:e,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}}let db=0;class fb extends To{constructor(e={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=db++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let t=e.name;if(!t){const e=this.getClassName();t=ag(e)+"_"+eb(e)}if(this.name=t,this.trainable_=null==e.trainable||e.trainable,null!=e.inputShape||null!=e.batchInputShape){let t;if(null!=e.batchInputShape)t=e.batchInputShape;else if(null!=e.inputShape){let n=null;null!=e.batchSize&&(n=e.batchSize),t=[n].concat(e.inputShape)}this.batchInputShape=t;let n=e.dtype;null==n&&(n=e.inputDType),null==n&&(n="float32"),this.dtype=n}null!=e.weights?this.initialWeights=e.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(e,t){return e.name+"_ib-"+t.toString()}getNodeAtIndex(e,t){if(0===this.inboundNodes.length)throw new Ym(`The layer has never been called and thus has no defined ${t}.`);if(this.inboundNodes.length<=e)throw new Zm(`Asked to get ${t} at node ${e}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[e]}getInputAt(e){return rg(this.getNodeAtIndex(e,"input").inputTensors)}getOutputAt(e){return rg(this.getNodeAtIndex(e,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Xm(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new Xm(`Layer ${this.name} is not connected, no input to return.`);return rg(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new Xm(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Xm(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return rg(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map((e=>e()))}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach((t=>t.trainable=e)),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter((e=>e.trainable)):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter((e=>!e.trainable)).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){if(e=sg(e),null==this.inputSpec||0===this.inputSpec.length)return;const t=sg(this.inputSpec);if(e.length!==t.length)throw new Zm(`Layer ${this.name} expects ${t.length} inputs, but it received ${e.length} input tensors. Input received: ${e}`);for(let n=0;ns.maxNDim)throw new Zm(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${a}`);if(null!=s.minNDim&&a=0?e[r]:e[e.length+r];if(null!=a&&-1===[a,null].indexOf(i))throw new Zm(`Input ${n} is incompatible with layer ${this.name}: expected axis ${r} of input shape to have value ${a} but got shape ${e}.`)}}if(null!=s.shape)for(let e=0;e{if(!this.built){this.assertInputCompatibility(e);const t=[];for(const n of sg(e))t.push(n.shape);this.build(rg(t)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&s&&(this._refCount=1)}if(this.assertInputCompatibility(e),s){let r=this.call(e,t);const s=sg(r),a=[];for(let e of s)-1!==n.indexOf(e)&&(e=e.clone()),a.push(e);if(r=rg(a),null!=this.activityRegularizer)throw new Jm("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}{const n=function(e){e=sg(e);const t=[];for(const n of e)t.push(n.shape);return rg(t)}(e),r=this.computeOutputShape(n);let s;const a="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(e)?n[0]:n),s=null!=r&&r.length>0&&Array.isArray(r[0])?r.map(((n,r)=>new cb(a,n,this,sg(e),t,this.name,r))):new cb(a,r,this,sg(e),t,this.name),this.addInboundNode(e,s,null,null,n,r,t),this._refCount++,null!=this.activityRegularizer)throw new Jm("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return s}}))}warnOnIncompatibleInputShape(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach(((n,r)=>{null!=n&&null!=e[r]&&e[r]!==n&&(t=!0)})),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new Xm(`The layer ${this.name} has never been called and thus has no defined output shape.`);const e=[];for(const t of this.inboundNodes){const n=JSON.stringify(t.outputShapes);-1===e.indexOf(n)&&e.push(n)}if(1===e.length){const e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&1===e.length?e[0]:e}throw new Xm(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new Ym(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return ab(this.weights)}build(e){this.built=!0}getWeights(e=!1){return ob(e?this.trainableWeights:this.weights)}setWeights(e){Xo((()=>{const t=this.weights;if(t.length!==e.length)throw new Zm(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(0===t.length)return;const n=[],r=ob(t);for(let s=0;ss.apply(u.read()))),null==a&&(a=!0),a?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){null==e||Array.isArray(e)&&0===e.length||(e=sg(e),void 0!==this._losses&&null!==this._losses&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);t.forEach((e=>{if(null!=e)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)}))}return null}return t}addInboundNode(e,t,n,r,s,a,i=null){const o=sg(e);t=sg(t),n=sg(n),r=sg(r),s=nb(s),a=nb(a);const l=[],u=[],c=[];for(const e of o)l.push(e.sourceLayer),u.push(e.nodeIndex),c.push(e.tensorIndex);new pb({outboundLayer:this,inboundLayers:l,nodeIndices:u,tensorIndices:c,inputTensors:o,outputTensors:t,inputMasks:n,outputMasks:r,inputShapes:s,outputShapes:a},i);for(let e=0;ee.dispose())),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return 0==--this._refCount&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}}function mb(e,t,n){if((null==t||null!=n&&n>0)&&(t=e.sourceLayer,n=e.nodeIndex),0===t.inboundNodes.length)return[e];{const e=t.inboundNodes[n];if(0===e.inboundLayers.length)return e.inputTensors;{const t=[];for(let n=0;n0){const s=await Promise.all(t);for(let t=0;tll(this.totals[e],hl(r,n))));this.totals[e]=s,null!=t&&t.dispose()}}}async onEpochEnd(e,t){if(null!=t)for(const e of this.params.metrics)null!=this.totals[e]&&("number"==typeof this.totals[e]?t[e]=this.totals[e]/this.seen:Xo((()=>{const n=hl(cl(1,this.seen),this.totals[e]);t[e]=n,this.totals[e].dispose(),Zo(t[e])})))}}class Nb extends vb{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){null==t&&(t={}),this.epoch.push(e);for(const e in t)null==this.history[e]&&(this.history[e]=[]),this.history[e].push(t[e])}async syncData(){const e=[],t=[],n=[];for(const r in this.history){const s=this.history[r];for(let a=0;a{const i=null!=n?n():Rs();return i-snew Sb(e,t)))}class Cb{constructor(){}static registerCallbackConstructor(e,t){re(e>=0&&Number.isInteger(e),(()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`)),Cb.checkForDuplicate(t),null==Cb.constructors[e]&&(Cb.constructors[e]=[]),Cb.constructors[e].push(t)}static checkForDuplicate(e){for(const t in Cb.constructors)Cb.constructors[+t].forEach((t=>{if(t===e)throw new Zm("Duplicate callback constructor.")}))}static clear(){Cb.constructors={}}static createCallbacks(e){const t=[];for(const n in Cb.constructors){const r=+n;e>=r&&t.push(...Cb.constructors[r])}return t.map((e=>new e))}}function Eb(e,t,n,r,s,a,i,o,l){const u=new Nb,c=[new Ib,...Cb.createCallbacks(t)];null!=e&&c.push(...e),c.push(u);const h=new kb(c);return h.setParams({epochs:n,initialEpoch:r,samples:s,steps:a,batchSize:i,verbose:t,doValidation:o,metrics:l}),{callbackList:h,history:u}}function $b(e,t={},n=!1){return cg(e,Co.getMap().classNameMap,t,"layer",n)}function Ab(e,t){return Xo((()=>{"float32"!==e.dtype&&(e=Si(e,"float32"));const n=Ic(uy(e),t,!0),r=Sl(n.shape,Km()),s=pl(Rl(n,r));return cl(e,s)}))}function Rb(e,t){return Xo((()=>Vc(uy(El(t,e)),-1)))}function Mb(e,t){return Xo((()=>Vc(Al(El(t,e)),-1)))}function Fb(e,t){return Xo((()=>{const n=El(e,t),r=Tu(Al(e),Km(),Number.MAX_VALUE),s=Al(cl(n,r));return hl(100,Vc(s,-1))}))}function Db(e,t,n=!1){return Xo((()=>{if(n)t=Bh(t);else{const e=Ic(t,t.shape.length-1,!0);t=cl(t,e)}return t=Tu(t,Km(),1-Km()),xc(Ic(hl(Si(e,"float32"),yc(t)),t.shape.length-1))}))}function _b(e,t,n=!1){return Xo((()=>{const r=Si(sc(function(e){const t=[Kg(e.shape)];return uu(e,t)}(e)),"int32"),s=(t=Tu(t,Km(),1-Km())).shape;return Db(uu(ji(r,s[s.length-1]),s),t,n)}))}function Ob(e,t){return Xo((()=>{let n;return n=Tu(t,Km(),1-Km()),n=yc(cl(n,El(1,n))),Vc(function(e,t){if(!ue(e.shape,t.shape))throw new Zm(`logits and labels must have the same shape, but got shapes ${JSON.stringify(e.shape)} and ${JSON.stringify(t.shape)}`);return Xo((()=>{const n=vh(t),r=xc(Al(t));return ll(El(n,hl(t,e)),bc(Qu(r)))}))}(e,n),-1)}))}function Lb(e,t){return Xo((()=>{const n=Ab(e,-1),r=Ab(t,-1),s=hl(n,r);return xc(Ic(s,-1))}))}Cb.constructors={};const zb={meanSquaredError:Rb,meanAbsoluteError:Mb,meanAbsolutePercentageError:Fb,meanSquaredLogarithmicError:function(e,t){return Xo((()=>{const n=Tu(t,Km(),Number.MAX_VALUE),r=yc(ll(1,n)),s=Tu(e,Km(),Number.MAX_VALUE),a=yc(ll(1,s));return Vc(uy(El(r,a)),-1)}))},squaredHinge:function(e,t){return Xo((()=>{const n=Rl(0,El(1,hl(e,t)));return Vc(uy(n),-1)}))},hinge:function(e,t){return Xo((()=>{const n=Rl(0,El(1,hl(e,t)));return Vc(n,-1)}))},categoricalHinge:function(e,t){return Xo((()=>{const n=Ic(hl(e,t),-1),r=kc(hl(El(1,e),t),-1);return Rl(0,ll(1,El(r,n)))}))},logcosh:function(e,t){return Xo((()=>{const n=Math.log(2),r=El(t,e),s=El(ll(r,wc(hl(-2,r))),n);return Vc(s,-1)}))},categoricalCrossentropy:Db,sparseCategoricalCrossentropy:_b,binaryCrossentropy:Ob,kullbackLeiblerDivergence:function(e,t){return Xo((()=>{const n=Tu(e,Km(),1),r=Tu(t,Km(),1);return Ic(hl(e,yc(cl(n,r))),-1)}))},poisson:function(e,t){return Xo((()=>{const n=yc(ll(Km(),t));return Vc(El(t,hl(e,n)),-1)}))},cosineProximity:Lb};function Pb(e){if("string"==typeof e){if(e in zb)return zb[e];let t=`Unknown loss ${e}`;throw e.toLowerCase().includes("softmaxcrossentropy")&&(t=`Unknown loss ${e}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new Zm(t)}return e}function Bb(e,t){return Xo((()=>{const n=hl(.5,Qc(t)),r=Jg(ic(t,n),e.dtype);return Vc(ju(e,r),-1)}))}function Vb(e,t){return Xo((()=>Jg(ju(Ul(e,-1),Ul(t,-1)),"float32")))}function Ub(e,t){return Xo((()=>Si(Ic(Dc(ju(e,1),ju(t,1))),"float32")))}function Wb(e,t){return Xo((()=>{const n=Ub(e,t),r=function(e,t){return Xo((()=>Si(Ic(Dc(ju(e,0),ju(t,1))),"float32")))}(e,t),s=ll(n,r);return Si(qu(ic(s,0),cl(n,s),0),"float32")}))}function Gb(e,t){return Ob(e,t)}function Hb(e,t){return e.rank===t.rank&&(e=qh(e,[e.rank-1])),(t=Ul(t,-1)).dtype!==e.dtype&&(t=Si(t,e.dtype)),Si(ju(e,t),"float32")}const jb=Db,qb=_b,Kb={binaryAccuracy:Bb,categoricalAccuracy:Vb,precision:Wb,categoricalCrossentropy:jb,sparseCategoricalCrossentropy:qb,mse:Rb,MSE:Rb,mae:Mb,MAE:Mb,mape:Fb,MAPE:Fb,cosine:Lb};function Xb(e){if("string"==typeof e&&e in Kb)return Kb[e];if("string"!=typeof e&&null!=e)return e;throw new Zm(`Unknown metric ${e}`)}function Yb(e){if(tg(null!==e,`Unknown LossOrMetricFn ${e}`),"string"==typeof e)return e;{let t;for(const n of Object.keys(zb))if(zb[n]===e){t=n;break}if(void 0!==t)return t;for(const n of Object.keys(Kb))if(Kb[n]===e){t=n;break}return void 0!==t?t:e.name}}function Zb(e,t,n=!1){if(null==e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype||!Jb(e))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(e);n.length>1048576&&console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function Jb(e){if(null===e)return!0;if("object"==typeof e){if(Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);for(const n of t){if("string"!=typeof n)return!1;if(!Jb(e[n]))return!1}return!0}if(Array.isArray(e)){for(const t of e)if(!Jb(t))return!1;return!0}return!1}{const t=typeof e;return"string"===t||"number"===t||"boolean"===t}}function Qb(e,t,n=console.log){let r="";for(let n=0;n0&&(r=r.slice(0,r.length-1)+" "),r+=e[n],r=r.slice(0,t[n]),r+=" ".repeat(t[n]-r.length);n(r)}function ex(e,t,n){let r;try{r=JSON.stringify(e.outputShape)}catch(e){r="multiple"}Qb([`${e.name} (${e.getClassName()})`,r,e.countParams().toString()],t,n)}function tx(e,t,n,r){let s;try{s=JSON.stringify(e.outputShape)}catch(e){s="multiple"}const a=[];for(const t of e.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(t)))for(let e=0;ee.name)),l=[],u=t.names();for(const e of o)-1!==u.indexOf(e)?l.push(t.getValue(e)):l.push(null);null!=r&&(r.maxNumTensors=-1/0,r.minNumTensors=1/0);const c=o.join(",")+"|"+t.names().join(",");let h,p;if(null==ox[c]){const e=function(e,t){re(null!=e&&e.length>0,(()=>"Expected at least one fetch, got none"));let n=[],r={};if(1===e.length){const s=hx(e[0],t);n=s.sorted,r=s.recipientMap}else{const s=new Set;for(const a of e){const{sorted:e,recipientMap:i}=hx(a,t);for(const t of e)s.has(t.name)||(n.push(t),s.add(t.name));for(const e in i)null==r[e]&&(r[e]=new Set),i[e].forEach((t=>r[e].add(t)))}}return{sorted:n,recipientCounts:cx(r)}}(i,t);h=e.sorted,p=e.recipientCounts,ox[c]=h,lx[c]=p}h=ox[c],p={},s||Object.assign(p,lx[c]);const d=new ix(t);for(let e=0;er.maxNumTensors&&(r.maxNumTensors=e),e0;){const e=a[a.length-1];if(n.has(e.name)){a.pop();continue}const t=i[i.length-1]===a.length-1;if(0===e.inputs.length||t)a.pop(),r.push(e),n.add(e.name),t&&i.pop();else{i.push(a.length-1);for(const t of e.inputs)null==s[t.name]&&(s[t.name]=new Set),s[t.name].add(e.name),n.has(t.name)||a.push(t)}}return{sorted:r,recipientMap:s}}function px(e){let t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{let n=null;for(let t=0;te.name))}`);pg(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map((e=>e.name))}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const e of this.outputs){const t=e.sourceLayer,n=e.nodeIndex,r=e.tensorIndex;this.outputLayers.push(t),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(r)}for(const e of this.inputs){const t=e.sourceLayer,n=e.nodeIndex,r=e.tensorIndex;tg(0===n,"input layer has >1 nodes"),tg(0===r,"input layer has >1 tensors"),this.inputLayers.push(t),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(r)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let t=0;te.shape)),this.internalOutputShapes=this.outputs.map((e=>e.shape));const t={},n={},r={},s={},a={},i=[],o=(e,t,n,r,s,l)=>{null!=r&&null!=s&&null!=l||(r=e.sourceLayer,s=e.nodeIndex,l=e.tensorIndex);const u=r.inboundNodes[s];if(-1!==n.indexOf(u))throw new Ym(`The tensor ${e.name} at layer "${r.name}" is part of a cycle.`);if(-1!==t.indexOf(u))return;this.containerNodes.add(dx.nodeKey(r,s)),r.id in a||(a[r.id]=Object.keys(a).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let e=0;e=0;)n.splice(n.indexOf(u),1);i.push(u)},l=[],u=[];for(const e of this.outputs)o(e,l,u);const c=i.slice().reverse();for(const e of c){n[e.id]=e,e.id in t||(t[e.id]=0);let a=t[e.id];const i=null==r[e.outboundLayer.id]?0:r[e.outboundLayer.id];a=Math.max(a,i),r[e.outboundLayer.id]=a,s[e.outboundLayer.id]=e.outboundLayer,t[e.id]=a;for(let r=0;rparseInt(e,10))).sort(hg);this.layers=[];for(const e of d){const t=p[e];t.sort(((e,t)=>{const n=a[e.id],r=a[t.id];return nr?1:0}));for(const e of t)e instanceof dx&&this.internalContainerRefs.push(e),this.layers.push(e)}this.layersByDepth=p,d=Object.keys(h).map((e=>parseInt(e,10))).sort(hg);const f=this.inputs.slice(),m=[];for(const e of d)for(const t of h[e]){const e=t.outboundLayer;if(null!=e){for(const n of t.inputTensors)if(-1===f.indexOf(n))throw new Ym(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${e.name}". The following previous layers were accessed without issue: ${m}`);for(const e of t.outputTensors)f.push(e);m.push(e.name)}}this.nodesByDepth=h;const g=this.layers.map((e=>e.name));for(const e of g){const t=g.filter((t=>t===e)).length;if(1!==t)throw new Ym(`The name "${e}" is used ${t} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new pb({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map((e=>null)),outputMasks:this.outputs.map((e=>null)),inputShapes:this.inputs.map((e=>e.shape)),outputShapes:this.outputs.map((e=>e.shape))}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const e={refCountAfterDispose:null,numDisposedVariables:0};if(0==--this._refCount){for(const t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(const t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach((t=>{t._trainableWeights.forEach((t=>t.trainable=e))})),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new Zm("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(const t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.layers)t.push(...e.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){const n={};let r=0;for(const e of this.layers)for(const t of e.weights){if(null!=n[t.originalName])throw new Zm(`Duplicate weight name: ${t.originalName}`);n[t.originalName]=t,r++}const s=[];for(const r in e){let a=r;if(null==n[r]){const e=r.split("/");a=e.slice(0,-2).concat([e[e.length-1]]).join("/")}if(null!=n[a])s.push([n[a],e[r]]);else if(t)throw new Zm(`Provided weight data has no target variable: ${r}`);delete n[a]}if(t){const e=[];for(const t in n)e.push(t);if(e.length>0)throw new Zm(`${e.length} of ${r} weights are not set: ${e}`)}lb(s)}updatedConfig(){const e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${ax}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){const n=sx(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return Xo((()=>{e=sg(e);const n=new ix;for(let t=0;t{let n;return e=sg(e),n=null==t?eg(null,e.length):sg(t),this.runInternalGraph(e,n)[1]}))}computeOutputShape(e){const t=nb(e);if(t.length!==this.inputLayers.length)throw new Zm(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let e=0;eparseInt(e,10))).sort(hg);if(r.length>1)for(const e of r){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer;if(-1!==this.inputLayers.map((e=>e.id)).indexOf(t.id))continue;const r=[];for(let t=0;tparseInt(e,10))).sort(hg);for(const e of r){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer,r=e.inputTensors,s=e.outputTensors,a=new Array;for(const e of r)e.id in n&&a.push(n[e.id]);if(a.length===r.length){let r,i,o,l,u={};if(null!=e.callArgs&&(u=e.callArgs),1===a.length){const[e,n]=a[0];null==u.mask&&(u.mask=n),o=sg(t.call(e,u)),l=sg(t.computeMask(e,n)),r=[e],i=[n]}else r=a.map((e=>e[0])),i=a.map((e=>e[1])),null==u.mask&&(u.mask=i),o=sg(t.call(r,u)),l=sg(t.computeMask(r,i));if(t.activityRegularizer)throw new Jm("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let e=0;e{const e=[];for(const t of this.layers)for(let n=0;n0){const e=[];for(let n=0;n0&&e.apply(rg(n),r)}function l(e){const n=e.name,a=$b(e,null!=t.customObjects?t.customObjects:{});a.setFastWeightInitDuringBuild(r),s[n]=a,e.inboundNodes.forEach((e=>{if(!(e instanceof Array))throw new Zm(`Corrupted configuration, expected array for nodeData: ${e}`);i(a,e)}))}const u=t.name,c=t.layers;for(const e of c)l(e);for(;!dg(a);)for(const e of c){const t=s[e.name];if(t.name in a){const e=a[t.name];delete a[t.name];for(const n of e)o(t,n)}}const h=[],p=[],d=t.inputLayers;for(const e of d){const t=e[0],n=e[1],r=e[2];tg(t in s);const a=s[t].inboundNodes[n].outputTensors;h.push(a[r])}const f=t.outputLayers;for(const e of f){const t=e[0],n=e[1],r=e[2];tg(t in s);const a=s[t].inboundNodes[n].outputTensors;p.push(a[r])}return new e({inputs:h,outputs:p,name:u})}get stateful(){if(this._stateful)throw new Zm("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const e of this.layers)if(e.stateful)return!0;return!1}resetStates(){Xo((()=>{this.layers.forEach((e=>{e.stateful&&e.resetStates()}))}))}}function fx(e,t){return function(e,t,n){const r=t.length;if(null==e||Array.isArray(e)&&0===e.length)return t.map((e=>null));if(1===r)return Array.isArray(e)&&1===e.length?e:"object"==typeof e&&t[0]in e?[e[t[0]]]:[e];if(Array.isArray(e)){if(e.length!==r)throw new Error(`Provided ${n} is an array of ${e.length} element(s), but the model has ${r} outputs. Make sure a set of weights is provided for each model output.`);return e}if("object"==typeof e&&Object.keys(e).length>0&&"object"==typeof e[Object.keys(e)[0]]){const n=[];return t.forEach((t=>{t in e?n.push(e[t]):n.push(null)})),n}throw new Error(`The model has multiple (${r}) outputs, so ${n} must be either an array with ${r} elements or an object with ${t} keys. Provided ${n} not understood: ${JSON.stringify(e)}`)}(e,t,"classWeight")}async function mx(e,t,n,r){if(null!=t||null!=r)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const t=Xo((()=>{if(1===e.shape.length)return Ti(e);if(2===e.shape.length){if(e.shape[1]>1)return Ul(e,1);if(1===e.shape[1])return uu(e,[e.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${e.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${e.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)})),r=Array.from(await t.data());Yo(t);const s=[];return r.forEach((e=>{if(null==n[e])throw new Error(`classWeight must contain all classes in the training data. The class ${e} exists in the data but not in classWeight`);s.push(n[e])})),Jh(s,"float32")}return null}function gx(e,t){return hl(e,t)}function yx(e,t){let n,r;const s=t;n=s.xs,r=s.ys,re(null!=n&&null!=r,(()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`));const a=bx("input",e.inputNames,n),i=bx("output",e.outputNames,r),o=a[0].shape[0];re(a.length===e.inputs.length,(()=>`LayersModel has ${e.inputs.length} inputs, but the dataset provides ${a.length} inputs. (Expected input keys: ${JSON.stringify(e.inputNames)})`)),re(i.length===e.outputs.length,(()=>`LayersModel has ${e.outputs.length} outputs, but the dataset provides ${i.length} outputs. (Expected output keys: ${JSON.stringify(e.outputNames)})`));for(let t=0;t`Batch size mismatch: input ${e.inputNames[t]} has ${a[t].shape[0]}; expected ${o} based on input ${e.inputNames[0]}.`));for(let t=0;t`Batch size mismatch: output ${e.outputNames[t]} has ${i[t].shape[0]}; expected ${o} based on input ${e.inputNames[0]}.`));return{xs:a,ys:i}}function bx(e,t,n){if(n instanceof qs)return[n];if(Array.isArray(n))return re(n.length===t.length,(()=>`Received an array of ${n.length} Tensors, but expected ${t.length} to match the ${e} keys ${t}.`)),n;{const r=[];for(const s of t){if(null==n[s])throw new Zm(`The feature data generated by the dataset lacks the required ${e} key '${s}'.`);r.push(n[s])}return r}}function xx(e){return"function"==typeof e.iterator}function wx(e){re(e>0&&Number.isInteger(e),(()=>`batchSize is required to be a positive integer, but got ${e}`))}function vx(e,t,n){return null==e?[null]:Array.isArray(e)?e.map((e=>ey(e,t,n-t))):ey(e,t,n-t)}function kx(e,t){return Xo((()=>null==e?null:Array.isArray(e)?e.map((e=>kx(e,t))):ly(e,"int32"===t.dtype?t:Si(t,"int32"))))}function Ix(e,t){const n=[];let r=0,s=null;for(;r=e&&(s=e),n.push([r,s]),r=s;return n}function Nx(e){const t=[];e instanceof qs&&(e=[e]);for(let n=0;nn.push(e.id)));else if(null!=t)for(const e in t){const r=t[e];n.push(r.id)}const r=[];if(e instanceof qs)-1===n.indexOf(e.id)&&r.push(e);else if(Array.isArray(e))e.forEach((e=>{-1===n.indexOf(e.id)&&r.push(e)}));else if(null!=e)for(const t in e){const s=e[t];-1===n.indexOf(s.id)&&r.push(s)}r.forEach((e=>{e.isDisposed||e.dispose()}))}function Tx(e){return Array.isArray(e)}function Cx(e){return!function(e){return e instanceof qs}(e)&&!Tx(e)}function Ex(e,t,n,r=!0,s=""){if(null==t||0===t.length){if(null!=e){let t=!1;if(Tx(e)&&e.length>0)t=!0;else if(Cx(e)){for(const n in e)if(e.hasOwnProperty(n)){t=!0;break}}else t=!0;if(t)throw new Zm(`Error when checking model ${s} expected no data, but got ${e}`)}return[]}if(null==e)return t.map((e=>null));let a;if(Cx(e)){a=[];for(const n of t){if(null==e[n])throw new Zm(`No data provided for "${n}". Need data for each key in: ${t}`);a.push(e[n])}}else if(Tx(e)){if(e.length!==t.length)throw new Zm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${e}`);a=e}else{if(t.length>1)throw new Zm(`The model ${s} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${e.shape}`);a=[e]}if(a=Nx(a),null!=n)for(let e=0;e=0&&a!==o)throw new Zm(`${s} expected a batch of elements where each example has shape [${n[e].slice(1,n[e].length)}] (i.e.,tensor shape [*,${n[e].slice(1,n[e].length)}]) but the ${s} received an input with ${i.shape[0]} examples, each with shape [${i.shape.slice(1,i.shape.length)}] (tensor shape [${i.shape}])`)}}return a}function $x(e,t,n,r=!0,s=""){let a;if(Array.isArray(e)){if(e.length!==t.length)throw new Zm(`Error when checking model ${s}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${t.length} Tensor(s), but instead got ${e.length} Tensors(s).`);a=e}else{if(t.length>1)throw new Zm(`The model expects ${t.length} ${s} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(e.shape)}.`);a=[e]}if(null!=n)for(let e=0;e1||1===e.length&&e[0].inboundLayers.length>1){t=!1;break}r.push(...e)}if(t)for(const n of e.layers){let e=!1;for(const s of n.inboundNodes)if(-1!==r.indexOf(s)){if(e){t=!1;break}e=!0}if(!t)break}return t}(e),a=["Layer (type)","Output shape","Param #"];let i;if(s?(t=t||65,n=n||[.45,.85,1]):(t=t||98,n=n||[.33,.55,.67,1]),n[n.length-1]<=1&&(n=n.map((e=>Math.floor(t*e)))),!s){a.push("Receives inputs"),i=[];for(const t in e.nodesByDepth)i.push(...e.nodesByDepth[t])}r("_".repeat(t)),Qb(a,n,r),r("=".repeat(t));const o=e.layers;for(let e=0;eRd.adagrad(.01),Adadelta:()=>Rd.adadelta(1,.95,Km()),Adam:()=>Rd.adam(.001,.9,.999,Km()),Adamax:()=>Rd.adamax(.002,.9,.999,Km(),0),RMSProp:()=>Rd.rmsprop(.001,.9,0,Km()),SGD:()=>Rd.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new Zm(`Unknown Optimizer ${e}`)}(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof Il))throw new Zm("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(Array.isArray(e.loss)||"string"==typeof e.loss||"function"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new Zm(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);const n=e.loss;t=n.map((e=>Pb(e)))}else{const n=Pb(e.loss);this.outputs.forEach((e=>{t.push(n)}))}else{e.loss=e.loss;for(const t in e.loss)if(-1===this.outputNames.indexOf(t))throw new Zm(`Unknown entry in loss dictionary: "${t}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==e.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),t.push(Pb(e.loss[n]))}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let e=0;e{for(let e=0;e1&&(this.metricsTensors.push([t,e]),this.metricsNames.push(this.outputNames[e]+"_loss"))}}));const r=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map((e=>[]));let n;if("string"==typeof e||"function"==typeof e)n=[e];else{if(!Array.isArray(e)&&"object"!=typeof e)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${e}`);n=e}if(Array.isArray(n))return t.map((e=>n));{const e=[];for(const r of t){let t=n.hasOwnProperty(r)?n[r]:[];Array.isArray(t)||(t=[t]),e.push(t)}return e}}(e.metrics,this.outputNames),s=(e,t,n)=>{this.outputNames.length>1&&(t=this.outputNames[e]+"_"+t),this.metricsNames.push(t),this.metricsTensors.push([n,e])};Wg("metric",(()=>{for(let e=0;e{let n,r,a;for(const i of t){if("string"==typeof i&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(i)){const t=this.internalOutputShapes[e];let s;1===t[t.length-1]||this.lossFunctions[e]===Ob?-1!==["accuracy","acc"].indexOf(i)?r=Bb:-1!==["crossentropy","ce"].indexOf(i)&&(r=Gb):this.lossFunctions[e]===_b?-1!==["accuracy","acc"].indexOf(i)?r=Hb:-1!==["crossentropy","ce"].indexOf(i)&&(r=qb):-1!==["accuracy","acc"].indexOf(i)?r=Vb:-1!==["crossentropy","ce"].indexOf(i)&&(r=jb),-1!==["accuracy","acc"].indexOf(i)?s="acc":-1!==["crossentropy","ce"].indexOf(i)&&(s="ce"),a=r,n=""+s}else{const e=Xb(i);a=e,n=""+Yb(i)}let t;Wg(n,(()=>{t=a})),s(e,n,t)}})(r[e])})),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){const r=null==n.batchSize?32:n.batchSize;wx(r);const s=this.standardizeUserDataXY(e,t,!0,r);try{const a=s[0].concat(s[1]);this.makeTestFunction();const i=this.testFunction;return rg(this.testLoop(i,a,r,n.verbose,n.steps))}finally{Sx(s[0],e),Sx(s[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),async function(e,t,n){const r=null!=(n=n||{}).batches,s=e.testFunction;let a=[];if(n.verbose>0)throw new Jm("Verbose mode is not implemented yet.");re(!r||n.batches>0&&Number.isInteger(n.batches),(()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`));const i="function"==typeof t.next?t:await t.iterator();let o=0,l=0;for(;!r||l{if(t.value){const{xs:n,ys:r}=yx(e,t.value),i=n.concat(r),u=Xo((()=>s(i)));if(Yo(i),0===l)for(let e=0;ell(a[e],hl(c,t)))),l>0&&Yo(n)}Yo(u),o+=c,++l}return a})),t.done){r&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let e=0;ee.name));for(let r=0;r0){const n=[];throw t.forEach(((t,r)=>{null==t&&n.push(e[r])})),new Zm(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return t}predictLoop(e,t=32,n=!1){return Xo((()=>{const r=this.checkNumSamples(e);if(n)throw new Jm("Verbose predictLoop() is not implemented yet.");const s=Ix(r,t),a=this.outputs.map((e=>[]));for(let t=0;t{const n=s[t][0],r=s[t][1],a=vx(e,n,r),i=[];if(Array.isArray(a))for(let e=0;ea[t].push(e)));return rg(a.map((e=>pu(e,0))))}))}predict(e,t={}){const n=Nx(e);$x(n,this.inputNames,this.feedInputShapes,!1);try{const r=null==t.batchSize?32:t.batchSize;return wx(r),this.predictLoop(n,r)}finally{Sx(n,e)}}predictOnBatch(e){$x(e,this.inputNames,this.feedInputShapes,!0);const t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,r){if(null==this.optimizer_)throw new Ym("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const s=[];for(let e=0;ee.shape[0])));r.sort();const s=pg(t.map((e=>e.shape[0])));if(s.sort(),r.length>1)throw new Zm(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map((e=>e.shape)))}`);if(s.length>1)throw new Zm(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map((e=>e.shape)))}`);if(r.length>0&&s.length>0&&!ue(r,s))throw new Zm(`Input Tensors should have the same number of samples as target Tensors. Found ${r[0]} input sample(s) and ${s[0]} target sample(s).`)}(e=Ex(e,this.feedInputNames,this.feedInputShapes,!1,"input"),t=Ex(t,this.feedOutputNames,s,!1,"target")),function(e,t,n){const r=[Rb,Ob,Db];for(let s=0;s0&&e[0].shape[0]%r!=0)throw new Zm(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${r}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,r,s=!0,a){const[i,o]=this.standardizeUserDataXY(e,t,s,a);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=r){const e=fx(r,this.outputNames);l=[];for(let t=0;t{const a=this.checkNumSamples(t,n,s,"steps"),i=[];if(r>0)throw new Jm("Verbose mode is not implemented yet.");if(null!=s)throw new Jm("steps mode in testLoop() is not implemented yet");{const r=Ix(a,n),s=Jh(Zg(0,a));for(let n=0;n1&&(s+=`_${ng(e.slice(0,n),r)}`),t.push(s)}return t}makeTrainFunction(){return e=>{const t=[],n=e.slice(0,this.inputs.length),r=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),a=[],i=this.collectedTrainableWeights.map((e=>e.read()));return[this.optimizer_.minimize((()=>{const e=[];for(let t=0;t1&&e{l=ll(l,e)})),l}),!0,i)].concat(a)}}makeTestFunction(){this.testFunction=e=>Xo((()=>{const t=[];let n;const r=e.slice(0,this.inputs.length),s=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),a=[];for(let e=0;e0){if(y=!0,2!==r.validationData.length)throw 3===r.validationData.length?new Jm("validationData including sample weights is not supported yet."):new Zm(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${r.validationData} is invalid.`);l=r.validationData[0],u=r.validationData[1];const t=!0,n=await e.standardizeUserData(l,u,null,null,t,d);c=n[0],h=n[1],g=c.concat(h)}else if(null!=r.validationSplit&&r.validationSplit>0&&r.validationSplit<1){y=!0;const e=Math.floor(s[0].shape[0]*(1-r.validationSplit)),t=s[0].shape[0];c=vx(s,e,t),i=s,s=vx(s,0,e),h=vx(a,e,t),o=a,a=vx(a,0,e),g=c.concat(h)}else null!=r.validationSteps&&(y=!0);const b=s.concat(a).concat(p);e.checkTrainableWeightsConsistency();const x=e.makeTrainFunction(),w=e.getDedupedMetricsNames();let v,k;y?(e.makeTestFunction(),v=e.testFunction,k=w.slice().concat(w.map((e=>"val_"+e)))):(v=null,g=[],k=w.slice());const I=Tb(r.callbacks,r.yieldEvery),N=await async function(e,t,n,r,s,a,i,o,l,u,c,h,p,d,f){null==s&&(s=32),null==a&&(a=1),null==c&&(c=!0),null==p&&(p=0);let m=!1;null!=l&&null!=u&&(m=!0);const g=e.checkNumSamples(n,s,d,"steps_per_epoch");let y;null!=g&&(y=Zg(0,g)),null==i&&(i=1);const{callbackList:b,history:x}=Eb(o,i,a,p,g,d,s,m,h);b.setModel(e),e.history=x,await b.onTrainBegin(),e.stopTraining_=!1;for(let i=p;i{const p=o[c][0],d=o[c][1],f=ey(i,p,d-p);h.batch=c,h.size=d-p;const g=kx(n,f),y=t(g);for(let e=0;e"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).")),re(null!=n,(()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.")),re(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),(()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`)),re(!r||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),(()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`)),re(null==n.validationSplit,(()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead.")),e.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");e.isTraining=!0;try{const s=null!=n.validationData;let a,i;if(s)if(xx(n.validationData))re(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),(()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`));else{const e=function(e){if(3===e.length)throw new Jm("Validation with sample weights is not implemented yet.");return{xs:e[0],ys:e[1]}}(n.validationData);a=e.xs,i=e.ys}const o=e.makeTrainFunction(),l=e.getDedupedMetricsNames();let u;u=s?l.slice().concat(l.map((e=>"val_"+e))):l.slice();const c=Tb(n.callbacks,n.yieldEvery),h=null==n.verbose?1:n.verbose,{callbackList:p,history:d}=Eb(c,h,n.epochs,null,null,function(e,t){let n=null;return null!=t.batchesPerEpoch?n=t.batchesPerEpoch:Number.isFinite(e.size)&&(n=e.size),n}(t,n),null,s,u);p.setModel(e),e.history=d,await p.onTrainBegin(),e.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await t.iterator();for(;f=n.batchesPerEpoch:t.done){if(s){let t;t=xx(n.validationData)?sg(await e.evaluateDataset(n.validationData,{batches:n.validationBatches})):sg(e.evaluate(a,i,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;nag(e)))}else{const t=Object.keys(this.loss);e={};const n=this.loss;for(const r of t){if("string"!=typeof n[r])throw new Error("Serialization of non-string loss is not supported.");e[r]=ag(n[r])}}return e}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[ag(Yb(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map((e=>ag(Yb(e))));{const e={};for(const t in this.metrics)e[t]=ag(Yb(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(null!=e.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=e.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=e.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const t=$b(rx(e.optimizer_config));let n,r;if("string"==typeof e.loss)n=ig(e.loss);else if(Array.isArray(e.loss))n=e.loss.map((e=>ig(e)));else if(null!=e.loss){n={};for(const t in e.loss)n[t]=ig(e.loss[t])}if(Array.isArray(e.metrics))r=e.metrics.map((e=>ig(e)));else if(null!=e.metrics){r={};for(const t in e.metrics)r[t]=ig(e.metrics[t])}this.compile({loss:n,metrics:r,optimizer:t})}async save(e,t){if("string"==typeof e){const t=Ha(e);if(0===t.length)throw new Zm(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Zm(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Zm("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await Ra(this.getNamedWeights(t)),r={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${ax}`,convertedBy:null};if(null!=t&&t.includeOptimizer&&null!=this.optimizer){r.trainingConfig=this.getTrainingConfig();const e="optimizer",{data:t,specs:s}=await Ra(await this.optimizer.getWeights(),e);n.specs.push(...s),n.data=Oa([n.data,t])}if(null!=this.userDefinedMetadata){const e=!0;Zb(this.userDefinedMetadata,this.name,e),r.userDefinedMetadata=this.userDefinedMetadata}return r.weightData=n.data,r.weightSpecs=n.specs,e.save(r)}setUserDefinedMetadata(e){Zb(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}}Ax.className="Model",Eo(Ax);class Rx extends Ax{}async function Mx(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.modelTopology;null!=n.model_config&&(n=n.model_config);const r=$b(rx(n),t);if(null!=e.weightsManifest){const t=await Di(e.weightsManifest,e.pathPrefix,r.weights.map((e=>e.originalName))),n={};for(const e of r.weights)n[e.originalName]=t[e.originalName];r.loadWeights(n),Yo(t)}return r}Rx.className="Functional",Eo(Rx);class Fx extends Ax{constructor(e){if(super({inputs:[],outputs:[]}),e=e||{},this.trainable=!0,this.built=!1,this.name=null!=e.name?e.name:eb("sequential_"),null!=e.layers)for(const t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some((e=>e<0)))throw new Zm(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){const t=e instanceof Fx||e instanceof Ax;let n;if(t){if(n=e,1!==n.outputs.length)throw new Zm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new Zm("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new Zm("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const t=yb({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(t)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new Zm(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(1!==e.inboundNodes[0].outputTensors.length)throw new Zm("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=mb(this.outputs[0])}this.inboundNodes=[],new pb({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:eg(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map((e=>e.shape)),outputShapes:this.outputs[0].shape})}else{const t=e.apply(this.outputs[0]);if(Array.isArray(t))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[t],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return null==this.model&&this.build(),this.model.call(e,t)}build(e){if(sb(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new Ax({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){null==this.model&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return null==this.model&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new Ym("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},r=!1){let s,a={};if(t instanceof Array){if(null==t[0].className||"Merge"===t[0].className)throw new Zm("Legacy serialization format not supported yet.");s=t}else re(null!=t.layers,(()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field.")),s=t.layers,delete t.layers,a=t;const i=new e(a);if(!(i instanceof Fx))throw new Jm(`Sequential.fromConfig called on non-Sequential input: ${i}`);for(const e of s){const t=$b(e,void 0,r);r&&t.setFastWeightInitDuringBuild(!0),i.add(t)}return i}set stopTraining(e){if(null==this.model)throw new Zm("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(null==this.model)throw new Zm("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const e=[];for(const t of this.layers){const n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}}function Dx(e){return new Ax(e)}function _x(e){return new Fx(e)}function Ox(e,t){return null==t&&(t={}),async function(e,t){if(null==t&&(t={}),"string"==typeof e){const n=ja(e,t);if(0===n.length)n.push(Bi(e,t));else if(n.length>1)throw new Zm(`Found more than one (${n.length}) load handlers for URL '${e}'`);e=n[0]}return async function(e,t,n){if(null==n&&(n={}),null==e.load)throw new Zm("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const r=await e.load();let s=r.modelTopology;null!=s.model_config&&(s=s.model_config);const a=null==n.strict||n.strict,i=null!=r.weightData&&null!=r.weightSpecs&&a,o=$b(rx(s),void 0,i),l=r.trainingConfig;if(null!=l&&o.loadTrainingConfig(l),null!=r.userDefinedMetadata&&o.setUserDefinedMetadata(r.userDefinedMetadata),null!=r.weightData){if(null==r.weightSpecs)throw new Zm("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:e,optimizerWeights:t}=function(e,t){const n=Ma(e,t),r={},s=[];return t.forEach((e=>{"optimizer"===e.group?s.push({name:e.name,tensor:n[e.name]}):r[e.name]=n[e.name]})),{modelWeights:r,optimizerWeights:s}}(r.weightData,r.weightSpecs);o.loadWeights(e,a),null!=o.optimizer&&t.length>0&&await o.optimizer.setWeights(t),Yo(e),Yo(t.map((e=>e.tensor)))}return o}(e,0,t)}(e,t)}function Lx(e){return yb(e)}function zx(e,t){Cb.registerCallbackConstructor(e,t)}Fx.className="Sequential",Eo(Fx);class Px extends To{getConfig(){return{}}}class Bx extends Px{apply(e,t=1){return function(e,t=1){if(1!==t)throw new Jm(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return Zu(e)}(e,t)}}Bx.className="elu",Eo(Bx);class Vx extends Px{apply(e){return Ah(e)}}Vx.className="selu",Eo(Vx);class Ux extends Px{apply(e){return vh(e)}}Ux.className="relu",Eo(Ux);class Wx extends Px{apply(e){return Xo((()=>jc(6,vh(e))))}}Wx.className="relu6",Eo(Wx);class Gx extends Px{apply(e){return e}}Gx.className="linear",Eo(Gx);class Hx extends Px{apply(e){return du(e)}}Hx.className="sigmoid",Eo(Hx);class jx extends Px{apply(e){return function(e){return Xo((()=>{const t=ll(.5,hl(.2,e));return Tu(t,0,1)}))}(e)}}jx.className="hardSigmoid",Eo(jx);class qx extends Px{apply(e){return wc(e)}}qx.className="softplus",Eo(qx);class Kx extends Px{apply(e){return function(e){return Xo((()=>cl(e,ll(Al(e),1))))}(e)}}Kx.className="softsign",Eo(Kx);class Xx extends Px{apply(e){return mu(e)}}Xx.className="tanh",Eo(Xx);class Yx extends Px{apply(e,t=-1){return Bh(e,t)}}Yx.className="softmax",Eo(Yx);class Zx extends Px{apply(e,t=-1){return Nc(e,t)}}Zx.className="logSoftmax",Eo(Zx);class Jx extends Px{apply(e,t=1){return Xo((()=>hl(du(hl(e,t)),e)))}}Jx.className="swish",Eo(Jx);class Qx extends Px{apply(e){return Xo((()=>hl(e,mu(wc(e)))))}}function ew(e){return e.getClassName()}function tw(e,t={}){return cg(e,Co.getMap().classNameMap,t,"activation")}function nw(e){if(null==e){return tw({className:"linear",config:{}})}if("string"==typeof e){const t={};return t.className=e,t.config={},tw(t)}return e instanceof Px?e:tw(e)}function rw(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${e}`)}Qx.className="mish",Eo(Qx);class sw extends To{}class aw extends sw{constructor(e){super(),rw(e),this.l1=null==e||null==e.l1?.01:e.l1,this.l2=null==e||null==e.l2?.01:e.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(e){return Xo((()=>{let t=Uc([1]);return this.hasL1&&(t=ll(t,Ic(hl(this.l1,Al(e))))),this.hasL2&&(t=ll(t,Ic(hl(this.l2,uy(e))))),uu(t,[])}))}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}}aw.className="L1L2",Eo(aw);const iw={l1l2:"L1L2"};function ow(e){return lg(e)}function lw(e,t={}){return cg(e,Co.getMap().classNameMap,t,"regularizer")}function uw(e){return null==e?null:"string"==typeof e?lw({className:e in iw?iw[e]:e,config:{}}):e instanceof sw?e:lw(e)}class cw extends fb{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,null!=e&&(this.maxValue=e.maxValue)}call(e,t){e=rb(e);let n=vh(e);return null!=this.maxValue&&(n=Tu(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){const e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}}cw.className="ReLU",Eo(cw);class hw extends fb{constructor(e){super(null==e?{}:e),this.DEFAULT_ALPHA=.3,null==e&&(e={}),this.alpha=null==e.alpha?this.DEFAULT_ALPHA:e.alpha}call(e,t){const n=rb(e);return pc(n,this.alpha)}computeOutputShape(e){return e}getConfig(){const e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}}hw.className="LeakyReLU",Eo(hw);class pw extends fb{constructor(e){if(super(null==e?{}:e),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==e&&(e={}),this.supportsMasking=!0,this.alphaInitializer=_y(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=uw(e.alphaRegularizer),this.alphaConstraint=Eg(e.alphaConstraint),null==e.sharedAxes)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else{if("number"!=typeof e.sharedAxes)throw new Zm(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`);this.sharedAxes=[e.sharedAxes]}}build(e){const t=(e=sb(e)).slice(1);if(null!=this.sharedAxes)for(const e of this.sharedAxes)t[e-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let t=1;t(Pg(t),"channelsFirst"===t?qi(e,[0,2,3,1]):e)))}function ww(e,t){return Xo((()=>(Pg(t),"channelsFirst"===t?qi(e,[0,2,3,4,1]):e)))}function vw(e,t,n,r=[1,1],s="valid",a,i,o=null){return Xo((()=>{if(null==a&&(a="channelsLast"),Pg(a),3!==e.rank&&4!==e.rank)throw new Zm(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${e.rank}.`);if(3!==t.rank&&4!==t.rank)throw new Zm(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${e.rank}.`);let l=xw(e,a);if("causal"===s)throw new Jm("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=Cp({x:l,filter:t,strides:r,pad:"same"===s?"same":"valid",dilations:i,dataFormat:"NHWC",bias:n,activation:o}),"channelsFirst"===a&&(l=qi(l,[0,3,1,2])),l}))}mw.className="Softmax",Eo(mw);class kw extends fb{constructor(e,t){if(super(t),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",kw.verifyArgs(t),this.rank=e,gg(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new Jm(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=gw(t.kernelSize,e,"kernelSize"),this.strides=gw(null==t.strides?1:t.strides,e,"strides"),this.padding=null==t.padding?"valid":t.padding,Bg(this.padding),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,Pg(this.dataFormat),this.activation=nw(t.activation),this.useBias=null==t.useBias||t.useBias,this.biasInitializer=_y(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=Eg(t.biasConstraint),this.biasRegularizer=uw(t.biasRegularizer),this.activityRegularizer=uw(t.activityRegularizer),this.dilationRate=gw(null==t.dilationRate?1:t.dilationRate,e,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new Zm(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new Zm(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new Zm(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(e){if(tg("kernelSize"in e,"required key 'kernelSize' not in config"),"number"!=typeof e.kernelSize&&!mg(e.kernelSize,"number",1,3))throw new Zm(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){const e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:ew(this.activation),useBias:this.useBias,biasInitializer:Dy(this.biasInitializer),biasRegularizer:ow(this.biasRegularizer),activityRegularizer:ow(this.activityRegularizer),biasConstraint:Tg(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}class Iw extends kw{constructor(e,t){super(e,t),this.kernel=null,Iw.verifyArgs(t),this.filters=t.filters,gg(this.filters,"filters"),this.kernelInitializer=_y(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=Eg(t.kernelConstraint),this.kernelRegularizer=uw(t.kernelRegularizer)}build(e){e=sb(e);const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new Zm(`The channel dimension of the input should be defined. Found ${e[t]}`);const n=e[t],r=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return Xo((()=>{let t;e=rb(e);const n=null==this.bias?null:this.bias.read(),r=bg(this.activation.getClassName());if(null!=r&&2===this.rank)t=vw(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,r);else{if(1===this.rank)t=function(e,t,n,r=1,s="valid",a,i=1){return Xo((()=>{if(null==a&&(a="channelsLast"),Pg(a),3!==e.shape.length)throw new Zm(`The input of a conv1dWithBias operation should be 3, but is ${e.shape.length} instead.`);if(3!==t.shape.length)throw new Zm(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new Zm(`The bias for a conv1dWithBias operation should be 1, but is ${t.shape.length} instead`);if("channelsFirst"===a&&(e=qi(e,[0,2,1])),"causal"===s)throw new Jm("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let o=Mu(e,t,r,"same"===s?"same":"valid","NWC",i);return null!=n&&(o=hy(o,n)),o}))}(e,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)t=vw(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new Jm("convolutions greater than 3D are not implemented yet.");t=function(e,t,n,r=[1,1,1],s="valid",a,i){return Xo((()=>{if(null==a&&(a="channelsLast"),Pg(a),4!==e.rank&&5!==e.rank)throw new Zm(`conv3dWithBias expects input to be of rank 4 or 5, but received ${e.rank}.`);if(4!==t.rank&&5!==t.rank)throw new Zm(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${e.rank}.`);let o=ww(e,a);if("causal"===s)throw new Jm("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return o=_u(o,t,r,"same"===s?"same":"valid","NDHWC",i),null!=n&&(o=hy(o,n)),"channelsFirst"===a&&(o=qi(o,[0,4,1,2,3])),o}))}(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(t=this.activation.apply(t))}return t}))}computeOutputShape(e){e=sb(e);const t=[],n="channelsLast"===this.dataFormat?e.slice(1,e.length-1):e.slice(2);for(let e=0;e 0 but got ${JSON.stringify(e.filters)}`)}}class Nw extends Iw{constructor(e){super(2,e),Nw.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!mg(e.kernelSize,"number",1,2))throw new Zm(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}}Nw.className="Conv2D",Eo(Nw);class Sw extends Iw{constructor(e){super(3,e),Sw.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&(!Array.isArray(e.kernelSize)||1!==e.kernelSize.length&&3!==e.kernelSize.length))throw new Zm(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}}Sw.className="Conv3D",Eo(Sw);class Tw extends Nw{constructor(e){if(super(e),this.inputSpec=[new ub({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new Zm(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(4!==(e=sb(e)).length)throw new Zm("Input should have rank 4; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new Zm("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ub({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return Xo((()=>{let t=rb(e);if(4!==t.shape.length)throw new Zm(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,r=n[0];let s,a;"channelsFirst"===this.dataFormat?(s=2,a=3):(s=1,a=2);const i=n[s],o=n[a],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],h=this.strides[1],p=[r,bw(i,c,l,this.padding),bw(o,h,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=qi(t,[0,2,3,1]));let d=Du(t,this.kernel.read(),p,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(d=qi(d,[0,3,1,2])),null!=this.bias&&(d=hy(d,this.bias.read(),this.dataFormat)),null!=this.activation&&(d=this.activation.apply(d)),d}))}computeOutputShape(e){const t=(e=sb(e)).slice();let n,r,s;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3):(n=3,r=1,s=2);const a=this.kernelSize[0],i=this.kernelSize[1],o=this.strides[0],l=this.strides[1];return t[n]=this.filters,t[r]=bw(t[r],o,a,this.padding),t[s]=bw(t[s],l,i,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Tw.className="Conv2DTranspose",Eo(Tw);class Cw extends Sw{constructor(e){if(super(e),this.inputSpec=[new ub({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new Zm(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(5!==(e=sb(e)).length)throw new Zm("Input should have rank 5; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new Zm("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],r=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",r,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new ub({ndim:5,axes:{[t]:n}})],this.built=!0}call(e,t){return Xo((()=>{let t=rb(e);if(5!==t.shape.length)throw new Zm(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,r=n[0];let s,a,i;"channelsFirst"===this.dataFormat?(i=2,s=3,a=4):(i=1,s=2,a=3);const o=n[i],l=n[s],u=n[a],c=this.kernelSize[0],h=this.kernelSize[1],p=this.kernelSize[2],d=this.strides[0],f=this.strides[1],m=this.strides[2],g=[r,bw(o,d,c,this.padding),bw(l,f,h,this.padding),bw(u,m,p,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=qi(t,[0,2,3,4,1]));let y=Lu(t,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(y=qi(y,[0,4,1,2,3])),null!==this.bias&&(y=hy(y,this.bias.read(),this.dataFormat)),null!==this.activation&&(y=this.activation.apply(y)),y}))}computeOutputShape(e){const t=(e=sb(e)).slice();let n,r,s,a;"channelsFirst"===this.dataFormat?(n=1,r=2,s=3,a=4):(n=4,r=1,s=2,a=3);const i=this.kernelSize[0],o=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],h=this.strides[2];return t[n]=this.filters,t[r]=bw(t[r],u,i,this.padding),t[s]=bw(t[s],c,o,this.padding),t[a]=bw(t[a],h,l,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Cw.className="Conv3DTranspose",Eo(Cw);class Ew extends Iw{constructor(e,t){if(super(e,t),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==t.filters)throw new Zm("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=t.kernelInitializer||null!=t.kernelRegularizer||null!=t.kernelConstraint)throw new Zm("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=t.padding&&"same"!==t.padding&&"valid"!==t.padding)throw new Zm(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=_y(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=uw(t.depthwiseRegularizer),this.depthwiseConstraint=Eg(t.depthwiseConstraint),this.pointwiseInitializer=_y(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=uw(t.pointwiseRegularizer),this.pointwiseConstraint=Eg(t.pointwiseConstraint)}build(e){if((e=sb(e)).length{let t;if(e=rb(e),1===this.rank)throw new Jm("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(e=qi(e,[0,2,3,1])),t=Rh(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(t=hy(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),"channelsFirst"===this.dataFormat&&(t=qi(t,[0,3,1,2])),t}))}getConfig(){const e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=Dy(this.depthwiseInitializer),e.pointwiseInitializer=Dy(this.pointwiseInitializer),e.depthwiseRegularizer=ow(this.depthwiseRegularizer),e.pointwiseRegularizer=ow(this.pointwiseRegularizer),e.depthwiseConstraint=Tg(this.depthwiseConstraint),e.pointwiseConstraint=Tg(this.pointwiseConstraint),e}}Ew.className="SeparableConv";class $w extends Ew{constructor(e){super(2,e)}}$w.className="SeparableConv2D",Eo($w);class Aw extends Iw{constructor(e){super(1,e),Aw.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){const e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!mg(e.kernelSize,"number",1,1))throw new Zm(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}}Aw.className="Conv1D",Eo(Aw);class Rw extends fb{constructor(e){super(e),"number"==typeof e.cropping?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:"number"==typeof e.cropping[0]?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=void 0===e.dataFormat?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return"channelsFirst"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return Xo((()=>{if(e=rb(e),"channelsLast"===this.dataFormat){const t=ny(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return ny(t,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const t=ny(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return ny(t,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}}))}getConfig(){const e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Rw.className="Cropping2D",Eo(Rw);class Mw extends fb{constructor(e){var t;super(e),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==e.size?this.DEFAULT_SIZE:e.size,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,Pg(this.dataFormat),this.interpolation=null==e.interpolation?"nearest":e.interpolation,t=this.interpolation,fg(Dg,"InterpolationFormat",t)}computeOutputShape(e){if("channelsFirst"===this.dataFormat){const t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}{const t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return Xo((()=>{let t=rb(e);const n=t.shape;if("channelsFirst"===this.dataFormat){t=qi(t,[0,2,3,1]);const e=this.size[0]*n[2],r=this.size[1]*n[3],s="nearest"===this.interpolation?Td.resizeNearestNeighbor(t,[e,r]):Td.resizeBilinear(t,[e,r]);return qi(s,[0,3,1,2])}{const e=this.size[0]*n[1],r=this.size[1]*n[2];return"nearest"===this.interpolation?Td.resizeNearestNeighbor(t,[e,r]):Td.resizeBilinear(t,[e,r])}}))}getConfig(){const e={size:this.size,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Mw.className="UpSampling2D",Eo(Mw);class Fw extends kw{constructor(e){super(2,e),this.depthwiseKernel=null,this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=_y(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=Eg(e.depthwiseConstraint),this.depthwiseRegularizer=uw(e.depthwiseRegularizer)}build(e){if((e=sb(e)).length<4)throw new Zm(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);const t="channelsFirst"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new Zm(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);const n=e[t],r=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",r,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return Xo((()=>{let t=function(e,t,n=[1,1],r="valid",s,a){return Xo((()=>{null==s&&(s="channelsLast"),Pg(s);let i=xw(e,s);if(4!==e.rank)throw new Zm(`Input for depthwiseConv2d is required to be 4-D, but is instead ${e.rank}-D`);if(4!==t.rank)throw new Zm(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return i=Wu(i,t,n,"same"===r?"same":"valid","NHWC",a),"channelsFirst"===s&&(i=qi(i,[0,3,1,2])),i}))}(e=rb(e),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(t=hy(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),t}))}computeOutputShape(e){e=sb(e);const t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],r="channelsFirst"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,s=yw(t,this.kernelSize[0],this.padding,this.strides[0]),a=yw(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[e[0],r,s,a]:[e[0],s,a,r]}getConfig(){const e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=Dy(this.depthwiseInitializer),e.depthwiseRegularizer=ow(this.depthwiseRegularizer),e.depthwiseConstraint=Tg(this.depthwiseRegularizer),e}}function Dw(e,t,n,r){if(Array.isArray(e)){if(null!=t||null!=n)throw new Zm("When inputs is an array, neither initialState or constants should be provided");null!=r&&(n=e.slice(e.length-r,e.length),e=e.slice(0,e.length-r)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function s(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=s(t),constants:n=s(n)}}function _w(e,t,n,r=!1,s,a,i=!1,o=!1){return Xo((()=>{const l=t.shape.length;if(l<3)throw new Zm(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(Zg(2,l));if(t=qi(t,u),null!=a)throw new Jm("The rnn() functoin of the deeplearn.js backend does not support constants yet.");i&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=s&&((s=Si(Si(s,"bool"),"float32")).rank===l-1&&(s=ec(s,-1)),s=qi(s,u)),r&&(t=Ih(t,0),null!=s&&(s=Ih(s,0)));const c=[];let h,p=n;const d=t.shape[0],f=op(t);let m,g;null!=s&&(m=op(s));for(let t=0;te(n,p)));if(null==s)h=r[0],p=r[1];else{const e=Xo((()=>{const e=m[t],n=El(Qc(e),e);return{output:ll(hl(r[0],e),hl(p[0],n)),newStates:p.map(((t,s)=>ll(hl(r[1][s],e),hl(t,n))))}}));h=e.output,p=e.newStates}o&&c.push(h)}return o&&(g=Kh(c,1)),[h,g,p]}))}Fw.className="DepthwiseConv2D",Eo(Fw);class Ow extends fb{constructor(e){let t;if(super(e),null==e.cell)throw new Zm("cell property is missing for the constructor of RNN.");if(t=Array.isArray(e.cell)?new Gw({cells:e.cell}):e.cell,null==t.stateSize)throw new Zm("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=null!=e.returnSequences&&e.returnSequences,this.returnState=null!=e.returnState&&e.returnState,this.goBackwards=null!=e.goBackwards&&e.goBackwards,this._stateful=null!=e.stateful&&e.stateful,this.unroll=null!=e.unroll&&e.unroll,this.supportsMasking=!0,this.inputSpec=[new ub({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){return null==this.states_?Zg(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map((e=>null)):this.states_}setStates(e){this.states_=e}computeOutputShape(e){tb(e)&&(e=e[0]);let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);const n=t[0];let r;if(r=this.returnSequences?[e[0],e[1],n]:[e[0],n],this.returnState){const n=[];for(const r of t)n.push([e[0],r]);return[r].concat(n)}return r}computeMask(e,t){return Xo((()=>{Array.isArray(t)&&(t=t[0]);const e=this.returnSequences?t:null;if(this.returnState){const t=this.states.map((e=>null));return[e].concat(t)}return e}))}get states(){if(null==this.states_){const e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ne.shape[e.shape.length-1])),s))throw new Zm(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=s.map((e=>new ub({shape:[null,e]})));this.stateful&&this.resetStates()}resetStates(e,t=!1){Xo((()=>{if(!this.stateful)throw new Xm("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new Zm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((e=>Uc([n,e]))):this.states_=[Uc([n,this.cell.stateSize])];else if(null==e)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((e=>Uc([n,e]))):this.states_[0]=Uc([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new Zm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);!0===t?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let t=0;tZo(e.clone())))}))}apply(e,t){let n=null==t?null:t.initialState,r=null==t?null:t.constants;null==t&&(t={});const s=Dw(e,n,r,this.numConstants);e=s.inputs,n=s.initialState,r=s.constants;let a=[],i=[];if(null!=n){t.initialState=n,a=a.concat(n),this.stateSpec=[];for(const e of n)this.stateSpec.push(new ub({shape:e.shape}));i=i.concat(this.stateSpec)}if(null!=r&&(t.constants=r,a=a.concat(r),this.numConstants=r.length),a[0]instanceof cb){const n=[e].concat(a),r=this.inputSpec.concat(i),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,t);return this.inputSpec=s,o}return super.apply(e,t)}call(e,t){return Xo((()=>{const n=null==t?null:t.mask,r=null==t?null:t.training;let s=null==t?null:t.initialState;e=rb(e),null==s&&(s=this.stateful?this.states_:this.getInitialState(e));const a=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==a)throw new Zm(`RNN Layer has ${a} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const i={training:r},o=_w(((e,t)=>{const n=this.cell.call([e].concat(t),i);return[n[0],n.slice(1)]}),e,s,this.goBackwards,n,null,this.unroll,this.returnSequences),l=o[0],u=o[1],c=o[2];this.stateful&&this.resetStates(c,r);const h=this.returnSequences?u:l;return this.returnState?[h].concat(c):h}))}getInitialState(e){return Xo((()=>{let t=Uc(e.shape);return t=Ic(t,[1,2]),t=Qg(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map((e=>e>1?ay(t,[1,e]):t)):this.cell.stateSize>1?[ay(t,[1,this.cell.stateSize])]:[t]}))}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){const e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Ow.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,e,t)}static fromConfig(e,t,n={}){const r=$b(t.cell,n);return new e(Object.assign(t,{cell:r}))}}Ow.className="RNN",Eo(Ow);class Lw extends fb{}class zw extends Lw{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,gg(this.units,"units"),this.activation=nw(null==e.activation?this.DEFAULT_ACTIVATION:e.activation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=_y(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=_y(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=_y(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=uw(e.kernelRegularizer),this.recurrentRegularizer=uw(e.recurrentRegularizer),this.biasRegularizer=uw(e.biasRegularizer),this.kernelConstraint=Eg(e.kernelConstraint),this.recurrentConstraint=Eg(e.recurrentConstraint),this.biasConstraint=Eg(e.biasConstraint),this.dropout=Xg([1,Yg([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=Xg([1,Yg([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=sb(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return Xo((()=>{if(2!==e.length)throw new Zm(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];const r=null!=t.training&&t.training;let s;0Qc(e),rate:this.dropout,training:r,dropoutFunc:this.dropoutFunc})),0Qc(n),rate:this.recurrentDropout,training:r,dropoutFunc:this.dropoutFunc}));const a=this.dropoutMask,i=this.recurrentDropoutMask;s=oy(null!=a?hl(e,a):e,this.kernel.read()),null!=this.bias&&(s=hy(s,this.bias.read())),null!=i&&(n=hl(n,i));let o=ll(s,oy(n,this.recurrentKernel.read()));return null!=this.activation&&(o=this.activation.apply(o)),[o,o]}))}getConfig(){const e=super.getConfig(),t={units:this.units,activation:ew(this.activation),useBias:this.useBias,kernelInitializer:Dy(this.kernelInitializer),recurrentInitializer:Dy(this.recurrentInitializer),biasInitializer:Dy(this.biasInitializer),kernelRegularizer:ow(this.kernelRegularizer),recurrentRegularizer:ow(this.recurrentRegularizer),biasRegularizer:ow(this.biasRegularizer),activityRegularizer:ow(this.activityRegularizer),kernelConstraint:Tg(this.kernelConstraint),recurrentConstraint:Tg(this.recurrentConstraint),biasConstraint:Tg(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},e,t)}}zw.className="SimpleRNNCell",Eo(zw);class Pw extends Ow{constructor(e){e.cell=new zw(e),super(e)}call(e,t){return Xo((()=>{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}static fromConfig(e,t){return new e(t)}}Pw.className="SimpleRNN",Eo(Pw);class Bw extends Lw{constructor(e){if(super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new Zm("GRUCell does not support reset_after parameter set to true.");this.units=e.units,gg(this.units,"units"),this.activation=nw(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=nw(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=_y(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=_y(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=_y(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=uw(e.kernelRegularizer),this.recurrentRegularizer=uw(e.recurrentRegularizer),this.biasRegularizer=uw(e.biasRegularizer),this.kernelConstraint=Eg(e.kernelConstraint),this.recurrentConstraint=Eg(e.recurrentConstraint),this.biasConstraint=Eg(e.biasConstraint),this.dropout=Xg([1,Yg([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=Xg([1,Yg([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){const t=(e=sb(e))[e.length-1];this.kernel=this.addWeight("kernel",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return Xo((()=>{if(2!==e.length)throw new Zm(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);const n=null!=t.training&&t.training;let r=e[1];e=e[0],0Qc(e),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,a=this.recurrentDropoutMask;let i,o,l;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Vw.className="GRU",Eo(Vw);class Uw extends Lw{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,gg(this.units,"units"),this.activation=nw(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=nw(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=_y(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=_y(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=_y(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=uw(e.kernelRegularizer),this.recurrentRegularizer=uw(e.recurrentRegularizer),this.biasRegularizer=uw(e.biasRegularizer),this.kernelConstraint=Eg(e.kernelConstraint),this.recurrentConstraint=Eg(e.recurrentConstraint),this.biasConstraint=Eg(e.biasConstraint),this.dropout=Xg([1,Yg([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=Xg([1,Yg([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;const n=(e=sb(e))[e.length-1];let r;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const e=this.biasInitializer,n=this.units;r=new((t=class extends gy{apply(t,r){const s=e.apply([n]),a=(new by).apply([n]),i=e.apply([2*n]);return sy(sy(s,a),i)}}).className="CustomInit",t)}else r=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,r,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return Xo((()=>{const n=null!=t.training&&t.training;if(3!==e.length)throw new Zm(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let r=e[1];const s=e[2];e=e[0],0Qc(e),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0Qc(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const a=this.dropoutMask,i=this.recurrentDropoutMask;let o,l,u,c;0{null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Ww.className="LSTM",Eo(Ww);class Gw extends Lw{constructor(e){super(e),this.cells=e.cells}get stateSize(){const e=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return Xo((()=>{let n=e.slice(1);const r=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?r.push(n.splice(0,e.stateSize.length)):r.push(n.splice(0,1));r.reverse();const s=[];let a;for(let i=0;i{Wg(`RNNCell_${r}`,(()=>{n.build(e),t=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,e=[e[0],t]}))})),this.built=!0}getConfig(){const e=super.getConfig(),t={cells:this.cells.map((e=>({className:e.getClassName(),config:e.getConfig()})))};return Object.assign({},e,t)}static fromConfig(e,t,n={}){const r=[];for(const e of t.cells)r.push($b(e,n));return new e({cells:r})}get trainableWeights(){if(!this.trainable)return[];const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t.concat(e)}return e}getWeights(){const e=[];for(const t of this.cells)e.push(...t.weights);return ob(e)}setWeights(e){const t=[];for(const n of this.cells){const r=n.weights.length,s=e.splice(r);for(let e=0;enull!=a?a(t(),n):py(t(),n),o=()=>dy(i,t,r);return!s||s<=1?Zo(o().clone()):Array(s).fill(void 0).map(o).map((e=>Zo(e.clone())))}Gw.className="StackedRNNCells",Eo(Gw);class jw extends Ow{constructor(e){if(e.unroll)throw new Jm("Unrolling is not possible with convolutional RNNs.");if(Array.isArray(e.cell))throw new Jm("It is not possible at the moment to stack convolutional cells.");super(e),this.inputSpec=[new ub({ndim:5})]}call(e,t){return Xo((()=>{if(null!=this.cell.dropoutMask&&(Yo(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(Yo(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new Zm("ConvRNN2D cell does not support constants");const n=null==t?null:t.mask,r=null==t?null:t.training,s=null==t?null:t.initialState;return super.call(e,{mask:n,training:r,initialState:s})}))}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return Xo((()=>{const{stateSize:t}=this.cell,n=e.shape,r=this.computeSingleOutputShape(n),s=Uc([r[0],...r.slice(2)]);return Array.isArray(t)?Array(t.length).fill(s):[s]}))}resetStates(e,t=!1){Xo((()=>{if(!this.stateful)throw new Xm("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,r=this.computeSingleOutputShape(n),s=[r[0],...r.slice(2)];if(null==n[0])throw new Zm("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Uc(s))):this.states_=[Uc(s)];else if(null==e)Yo(this.states_),null!=this.keptStates&&(Yo(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map((()=>Uc(s))):this.states_[0]=Uc(s);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new Zm(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):Yo(this.states_);for(let t=0;tZo(e.clone())))}))}computeSingleOutputShape(e){const{dataFormat:t,filters:n,kernelSize:r,padding:s,strides:a,dilationRate:i}=this.cell,o="channelsFirst"===t,l=e[o?3:2],u=e[o?4:3],c=yw(l,r[0],s,a[0],i[0]),h=yw(u,r[1],s,a[1],i[1]);return[...e.slice(0,2),...o?[n,c,h]:[c,h,n]]}}jw.className="ConvRNN2D";class qw extends Uw{constructor(e){const{filters:t,kernelSize:n,strides:r,padding:s,dataFormat:a,dilationRate:i}=e;super(Object.assign({},e,{units:t})),this.filters=t,gg(this.filters,"filters"),this.kernelSize=gw(n,2,"kernelSize"),this.kernelSize.forEach((e=>gg(e,"kernelSize"))),this.strides=gw(r||1,2,"strides"),this.strides.forEach((e=>gg(e,"strides"))),this.padding=s||"valid",Bg(this.padding),this.dataFormat=a||"channelsLast",Pg(this.dataFormat),this.dilationRate=gw(i||1,2,"dilationRate"),this.dilationRate.forEach((e=>gg(e,"dilationRate")))}build(e){var t;e=sb(e);const n="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[n])throw new Zm(`The channel dimension of the input should be defined. Found ${e[n]}`);const r=e[n],s=this.kernelSize.concat([r,4*this.filters]);this.kernel=this.addWeight("kernel",s,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const a=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",a,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let e;if(this.unitForgetBias){const n=this.biasInitializer,r=this.filters;e=new((t=class extends gy{apply(e,t){return ry([n.apply([r]),Wc([r]),n.apply([2*r])])}}).className="CustomInit",t)}else e=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,e,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return Xo((()=>{if(3!==e.length)throw new Zm(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);const n=t.training||!1,r=e[0],s=e[1],a=e[2];0Qc(r),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const i=this.dropoutMask,o=(e,t,n)=>t&&t[n]?hl(t[n],e):e;let l=o(r,i,0),u=o(r,i,1),c=o(r,i,2),h=o(r,i,3);0Qc(s),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const p=this.recurrentDropoutMask;let d=o(s,p,0),f=o(s,p,1),m=o(s,p,2),g=o(s,p,3);const[y,b,x,w]=Gh(this.kernel.read(),4,3),[v,k,I,N]=this.useBias?Gh(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,y,v,this.padding),u=this.inputConv(u,b,k,this.padding),c=this.inputConv(c,x,I,this.padding),h=this.inputConv(h,w,N,this.padding);const[S,T,C,E]=Gh(this.recurrentKernel.read(),4,3);d=this.recurrentConv(d,S),f=this.recurrentConv(f,T),m=this.recurrentConv(m,C),g=this.recurrentConv(g,E);const $=this.recurrentActivation.apply(ll(l,d)),A=this.recurrentActivation.apply(ll(u,f)),R=ll(hl(A,a),hl($,this.activation.apply(ll(c,m)))),M=hl(this.recurrentActivation.apply(ll(h,g)),this.activation.apply(R));return[M,M,R]}))}getConfig(){const e=super.getConfig(),{units:t}=e,n=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s{this.invokeCallHook(e,t);const n=rb(e);if(0py(n,this.rate,r,this.seed)),(()=>n),e)}return e}))}getConfig(){const e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}}Xw.className="Dropout",Eo(Xw);class Yw extends Xw{constructor(e){super(e),this.inputSpec=[{ndim:3}]}getNoiseShape(e){const t=e.shape;return[t[0],1,t[2]]}}Yw.className="SpatialDropout1D",Eo(Yw);class Zw extends fb{constructor(e){if(super(e),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==e.batchInputShape&&null==e.inputShape&&null!=e.inputDim){let t=null;null!=e.batchSize&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,gg(this.units,"units"),this.activation=nw(e.activation),null!=e.useBias&&(this.useBias=e.useBias),this.kernelInitializer=_y(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=_y(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=Eg(e.kernelConstraint),this.biasConstraint=Eg(e.biasConstraint),this.kernelRegularizer=uw(e.kernelRegularizer),this.biasRegularizer=uw(e.biasRegularizer),this.activityRegularizer=uw(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){const t=(e=sb(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){const t=(e=sb(e)).slice();return t[t.length-1]=this.units,t}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=rb(e),r=bg(this.activation.getClassName());let s;return null!=r?s=oy(n,this.kernel.read(),r,this.bias?this.bias.read():null):(s=oy(n,this.kernel.read()),null!=this.bias&&(s=hy(s,this.bias.read())),null!=this.activation&&(s=this.activation.apply(s))),s}))}getConfig(){const e={units:this.units,activation:ew(this.activation),useBias:this.useBias,kernelInitializer:Dy(this.kernelInitializer),biasInitializer:Dy(this.biasInitializer),kernelRegularizer:ow(this.kernelRegularizer),biasRegularizer:ow(this.biasRegularizer),activityRegularizer:ow(this.activityRegularizer),kernelConstraint:Tg(this.kernelConstraint),biasConstraint:Tg(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}Zw.className="Dense",Eo(Zw);class Jw extends fb{constructor(e){super(e=e||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=sb(e);for(const t of e.slice(1))if(null==t)throw new Zm(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],Kg(e,1)]}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);let n=rb(e);if("channelsFirst"===this.dataFormat&&n.rank>1){const e=[0];for(let t=2;t{this.invokeCallHook(e,t);const n=rb(e);return this.activation.apply(n)}))}getConfig(){const e={activation:ew(this.activation)},t=super.getConfig();return Object.assign(e,t),e}}Qw.className="Activation",Eo(Qw);class ev extends fb{constructor(e){super(e),this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return Xo((()=>{return e=rb(e),t=e,n=this.n,Xo((()=>{if(2!==t.shape.length)throw new Zm(`repeat() expects a rank-2 tensor, but received a rank-${t.shape.length} tensor.`);return ay(Qg(t,1),[1,n,1])}));var t,n}))}getConfig(){const e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}}ev.className="RepeatVector",Eo(ev);class tv extends fb{constructor(e){super(e),this.targetShape=e.targetShape;for(let e=0;e{this.invokeCallHook(e,t);const n=rb(e),r=n.shape,s=r.slice(0,1).concat(this.fixUnknownDimension(r.slice(1),this.targetShape));return uu(n,s)}))}getConfig(){const e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}}tv.className="Reshape",Eo(tv);class nv extends fb{constructor(e){if(super(e),null==e.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);const t=Zg(1,e.dims.length+1);if(!ue(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new ub({ndim:this.dims.length+1})]}computeOutputShape(e){const t=(e=sb(e)).slice();return this.dims.forEach(((n,r)=>{t[r+1]=e[n]})),t}call(e,t){return qi(rb(e),this.dimsIncludingBatch)}getConfig(){const e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}}nv.className="Permute",Eo(nv);class rv extends fb{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,this.maskValue=null!=e?null==e.maskValue?0:e.maskValue:0}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){const n=rb(e);return Vl(Jc(n,this.maskValue),-1)}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=rb(e),r=Vl(Jc(n,this.maskValue),-1,!0);return hl(n,Si(r,n.dtype))}))}}rv.className="Masking",Eo(rv);class sv extends fb{constructor(e){if(super(e),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==e.batchInputShape&&null==e.inputShape){let t=null;null!=e.batchSize&&(t=e.batchSize),null==e.inputLength?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(sg(e.inputLength))}this.inputDim=e.inputDim,gg(this.inputDim,"inputDim"),this.outputDim=e.outputDim,gg(this.outputDim,"outputDim"),this.embeddingsInitializer=_y(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=uw(e.embeddingsRegularizer),this.activityRegularizer=uw(e.activityRegularizer),this.embeddingsConstraint=Eg(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return Xo((()=>this.maskZero?(e=rb(e),Jc(e,fl(e))):null))}computeOutputShape(e){if(e=sb(e),null==this.inputLength)return[...e,this.outputDim];const t=sg(this.inputLength);if(t.length!==e.length-1)throw new Zm(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let r=0;r{this.invokeCallHook(e,t);let n=rb(e);"int32"!==n.dtype&&(n=Jg(n,"int32"));const r=ly(this.embeddings.read(),uu(n,[n.size]));return uu(r,sb(this.computeOutputShape(n.shape)))}))}getConfig(){const e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Dy(this.embeddingsInitializer),embeddingsRegularizer:ow(this.embeddingsRegularizer),activityRegularizer:ow(this.activityRegularizer),embeddingsConstraint:Tg(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}}sv.className="Embedding",Eo(sv);class av extends fb{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFunction(e){throw new Jm}computeElementwiseOpOutputShape(e,t){if(null==e||null==t)return null;if(e.length1)throw new Zm(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=null==e[0]?null:e[0].slice(1);for(let t=1;te.length));-1===e.indexOf(null)&&1===pg(r).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return Xo((()=>{if(this.reshapeRequired){const t=[],n=e.map((e=>e.rank));if(-1===n.indexOf(null)){const r=Yg(n);for(let n of e){const e=n.rank;for(let t=0;t1){const s=Zg(1,e).concat([0]);t.push(qi(r,s)),n=!0}else t.push(r)}let r=this.mergeFunction(t);const s=r.rank;if(n)if(null==s){const e=r.shape,t=e[e.length-1],n=[t].concat(e.slice(0,e.length-1));r=uu(qi(uu(r,[-1,t]),[1,0]),n)}else if(s>1){const e=[s-1].concat(Zg(0,s-1));r=qi(r,e)}return r}}return this.mergeFunction(e)}))}computeOutputShape(e){let t;t=null==e[0]?null:e[0].slice(1);for(let n=1;n{if(null==t)return null;if(!Array.isArray(t))throw new Zm("`mask` should be an Array");if(!Array.isArray(e))throw new Zm("`inputs` should be an Array");if(t.length!==e.length)throw new Zm(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every((e=>null==e)))return null;let n=(t=t.map((e=>null==e?e:ec(e,0))))[0];for(let e=1;e{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new Zm("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return Xo((()=>ry(e,this.axis)))}computeOutputShape(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new Zm("A `Concatenate` layer should be called on a list of inputs.");const t=e,n=t[0].slice(),r=this.axis<0?n.length+this.axis:this.axis;for(const e of t.slice(1)){if(null==n[r]||null==e[r]){n[r]=null;break}n[r]+=e[r]}return n}computeMask(e,t){if(null==t)return null;if(!Array.isArray(t))throw new Zm("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new Zm("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new Zm(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return Xo((()=>{let n=!0;if(t.forEach((e=>{null==e||(n=!1)})),n)return null;const r=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs."));const t=e[0],n=e[1];if(t.length>3||n.length>3)throw new Jm("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(t,n);if(t[r[0]]!==n[r[1]])throw new Zm(`Dimension incompatibility: ${t[r[0]]} !== ${n[r[1]]}`)}mergeFunction(e){if(2!==e.length)throw new Zm(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t,n=e[0],r=e[1];return t=Array.isArray(this.axes)?this.axes.map(((t,n)=>pv(t,e[n].shape.length))):[pv(this.axes,n.shape.length),pv(this.axes,r.shape.length)],this.normalize&&(n=Ab(n,t[0]),r=Ab(r,t[1])),function(e,t,n){if(e.shape.length>3||t.shape.length>3)throw new Jm("batchDot is not implemented for tensors of 4D or higher rank yet");if(re(e.shape.length>=2,(()=>`batchDot requires the rank of x to be >= 2, but got ${e.shape.length}`)),re(e.shape.length>=2,(()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`)),"number"==typeof n&&(n=[n,n]),"complex64"===e.dtype||"complex64"===t.dtype)throw new Jm("batchDot is not implemented for complex64-type Tensors yet.");const r=e.shape.length,s=t.shape.length;null==n&&(n=[r-1,s-2]);const a=n;return Xo((()=>{let n,i;if(r>s){n=r-s;const e=[];for(let t=0;tr){n=s-r;const t=[];for(let e=0;e0){let e;e=r>s?r+s-3:r-1;const t=[];for(let r=e;r"A `Dot` layer should be called on a list of exactly 2 inputs."));const t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new Jm("Dot layer does not support tensors of 4D or higher rank yet.");const r=this.interpretAxes(t,n);t.splice(r[0],1),n.splice(r[1],1),n.splice(0,1);const s=t.concat(n);return 1===s.length&&s.push(1),s}computeMask(e,t){return null}getConfig(){const e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}}dv.className="Dot",Eo(dv);class fv extends fb{constructor(e){super(e),this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=rb(e);return dy((()=>ll(iy(n.shape,0,this.stddev),n)),(()=>n),t.training||!1)}))}}fv.className="GaussianNoise",Eo(fv);class mv extends fb{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return Xo((()=>{this.invokeCallHook(e,t);const n=rb(e);return this.rate>0&&this.rate<1?dy((()=>{const e=Math.sqrt(this.rate/(1-this.rate));return hl(n,iy(n.shape,1,e))}),(()=>n),t.training||!1):n}))}}mv.className="GaussianDropout",Eo(mv);class gv extends fb{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||rb(e).shape}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return Xo((()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(e),r=()=>{const t=rb(e),r=-1.7580993408473766;let s=oc(yh(n),this.rate);s=Jg(s,"float32");const a=((1-this.rate)*(1+this.rate*r**2))**-.5,i=-a*r*this.rate,o=ll(hl(t,s),hl(ll(s,-1),r));return ll(hl(o,a),i)};return dy(r,(()=>rb(e)),t.training||!1)}return e}))}}function yv(e,t,n,r,s,a=.001){let i;if(2===e.rank)i=xu(e,t,n,r,s,a);else if(3===e.rank)i=wu(e,t,n,r,s,a);else{if(4!==e.rank)throw new Jm(`batchNormalization is not implemented for array of rank ${e.rank} yet`);i=vu(e,t,n,r,s,a)}return i}gv.className="AlphaDropout",Eo(gv);class bv extends fb{constructor(e){null==e&&(e={}),super(e),this.supportsMasking=!0,this.axis=null==e.axis?-1:e.axis,this.momentum=null==e.momentum?.99:e.momentum,this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=_y(e.betaInitializer||"zeros"),this.gammaInitializer=_y(e.gammaInitializer||"ones"),this.movingMeanInitializer=_y(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=_y(e.movingVarianceInitializer||"ones"),this.betaConstraint=Eg(e.betaConstraint),this.gammaConstraint=Eg(e.gammaConstraint),this.betaRegularizer=uw(e.betaRegularizer),this.gammaRegularizer=uw(e.gammaRegularizer)}build(e){e=sb(e);const t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new Zm(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new ub({ndim:e.length,axes:{[t]:n}})];const r=[n];this.scale&&(this.gamma=this.addWeight("gamma",r,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",r,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",r,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",r,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return Xo((()=>{const n=null!=t.training&&t.training,r=rb(e),s=r.shape,a=s.length,i=Zg(0,a),o=this.axis>=0?this.axis:this.axis+a;i.splice(o,1);const l=eg(1,a);l[o]=s[o];const u=i.slice();u.sort();const c=!ue(u,Zg(0,a).slice(0,a-1));if(!n)return(()=>{if(c){const e=uu(this.movingMean.read(),l),t=uu(this.movingVariance.read(),l),n=this.center?uu(this.beta.read(),l):null,s=this.scale?uu(this.gamma.read(),l):null;return yv(r,e,t,n,s,this.epsilon)}return yv(r,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[h,p,d]=function(e,t,n,r,s=.001){return ue(r.slice().sort(),Zg(0,e.rank-1))?function(e,t,n,r,s=.001){return Xo((()=>{const a=Xc(e,r),i=a.mean,o=a.variance;return[yv(e,i,o,n,t,s),i,o]}))}(e,t,n,r,s):function(e,t,n,r,s=.001){return Xo((()=>{const a=Xc(e,r),i=a.mean,o=a.variance,l=[];for(const t of Zg(0,e.rank))-1!==r.indexOf(t)?l.push(1):l.push(e.shape[t]);const u=uu(i,l),c=uu(o,l),h=null==t?null:uu(t,l),p=null==n?null:uu(n,l);return[yv(e,u,c,p,h,s),i,o]}))}(e,t,n,r,s)}(r,this.gamma.read(),this.beta.read(),i,this.epsilon),f=(e,t,n)=>{Xo((()=>{const r=1-n,s=e.read(),a=hl(El(s,t),r);e.write(El(s,a))}))};return(()=>{f(this.movingMean,p,this.momentum),f(this.movingVariance,d,this.momentum)})(),h}))}getConfig(){const e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Dy(this.betaInitializer),gammaInitializer:Dy(this.gammaInitializer),movingMeanInitializer:Dy(this.movingMeanInitializer),movingVarianceInitializer:Dy(this.movingVarianceInitializer),betaRegularizer:ow(this.betaRegularizer),gammaRegularizer:ow(this.gammaRegularizer),betaConstraint:Tg(this.betaConstraint),gammaConstraint:Tg(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}}bv.className="BatchNormalization",Eo(bv);class xv extends fb{constructor(e){if(null==e&&(e={}),super(e),this.axis=null==e.axis?-1:e.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=_y(e.betaInitializer||"zeros"),this.gammaInitializer=_y(e.gammaInitializer||"ones"),this.betaRegularizer=uw(e.betaRegularizer),this.gammaRegularizer=uw(e.gammaRegularizer),this.supportsMasking=!0}build(e){const t=(e=sb(e)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let e=0;e=t)throw new Error(`Invalid axis: ${e}`);if(this.axis.length!==pg(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map((t=>e[t]));this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,!0):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,!0):this.beta=null,this.built=!0}call(e,t){const n=rb(e),r=n.shape,s=r.length;return Xo((()=>{let{mean:e,variance:t}=Xc(n,this.axis,!0);const a=eg(1,s);for(const e of this.axis)a[e]=r[e];const i=e=>null!=e&&e.shape.length!==s?uu(e,a):e;let o=i(this.gamma.read()),l=i(this.beta.read());const u=[],c=[];for(let e=0;e=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])}call(e,t){return Xo((()=>{return t=rb(e),n=this.padding,r=this.dataFormat,Xo((()=>{if(4!==t.rank)throw new Zm(`temporalPadding expects input tensor to be 4-D, but received a ${t.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new Zm("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==r&&(r="channelsLast"),"channelsLast"!==r&&"channelsFirst"!==r)throw new Zm(`Unknown data format: ${r}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let e;return e="channelsFirst"===r?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],th(t,e)}));var t,n,r}))}getConfig(){const e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}function vv(e,t,n,r,s,a){return Xo((()=>{let i;Pg(s),Vg(a),Bg(r),null==n&&(n=[1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==a&&(a="max"),e=xw(e,s);const o="same"===r?"same":"valid";return i="max"===a?zc(e,t,n,o):cu(e,t,n,o),"channelsFirst"===s&&(i=qi(i,[0,3,1,2])),i}))}function kv(e,t,n,r,s,a){return Xo((()=>{let i;Pg(s),Vg(a),Bg(r),null==n&&(n=[1,1,1]),null==r&&(r="valid"),null==s&&(s="channelsLast"),null==a&&(a="max"),e=ww(e,s);const o="same"===r?"same":"valid";return i="max"===a?Pc(e,t,n,o):hu(e,t,n,o),"channelsFirst"===s&&(i=qi(i,[0,4,1,2,3])),i}))}wv.className="ZeroPadding2D",Eo(wv);class Iv extends fb{constructor(e){if(null==e.poolSize&&(e.poolSize=2),super(e),"number"==typeof e.poolSize)this.poolSize=[e.poolSize];else{if(!Array.isArray(e.poolSize)||1!==e.poolSize.length||"number"!=typeof e.poolSize[0])throw new Zm(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);this.poolSize=e.poolSize}if(gg(this.poolSize,"poolSize"),null==e.strides)this.strides=this.poolSize;else if("number"==typeof e.strides)this.strides=[e.strides];else{if(!Array.isArray(e.strides)||1!==e.strides.length||"number"!=typeof e.strides[0])throw new Zm(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);this.strides=e.strides}gg(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,Bg(this.padding),this.inputSpec=[new ub({ndim:3})]}computeOutputShape(e){const t=yw((e=sb(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return Xo((()=>{this.invokeCallHook(e,t),e=Qg(rb(e),2);const n=this.poolingFunction(rb(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return qh(n,[2])}))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}}class Nv extends Iv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return Pg(s),Bg(r),vv(e,t,n,r,s,"max")}}Nv.className="MaxPooling1D",Eo(Nv);class Sv extends Iv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return Pg(s),Bg(r),vv(e,t,n,r,s,"avg")}}Sv.className="AveragePooling1D",Eo(Sv);class Tv extends fb{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(2!==e.strides.length)throw new Zm(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];gg(this.poolSize,"poolSize"),gg(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,Pg(this.dataFormat),Bg(this.padding),this.inputSpec=[new ub({ndim:4})]}computeOutputShape(e){e=sb(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2];return t=yw(t,this.poolSize[0],this.padding,this.strides[0]),n=yw(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return Xo((()=>(this.invokeCallHook(e,t),this.poolingFunction(rb(e),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Cv extends Tv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return Pg(s),Bg(r),vv(e,t,n,r,s,"max")}}Cv.className="MaxPooling2D",Eo(Cv);class Ev extends Tv{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return Pg(s),Bg(r),vv(e,t,n,r,s,"avg")}}Ev.className="AveragePooling2D",Eo(Ev);class $v extends fb{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(3!==e.strides.length)throw new Zm(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];gg(this.poolSize,"poolSize"),gg(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,Pg(this.dataFormat),Bg(this.padding),this.inputSpec=[new ub({ndim:5})]}computeOutputShape(e){e=sb(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],r="channelsFirst"===this.dataFormat?e[4]:e[3];return t=yw(t,this.poolSize[0],this.padding,this.strides[0]),n=yw(n,this.poolSize[1],this.padding,this.strides[1]),r=yw(r,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n,r]:[e[0],t,n,r,e[4]]}call(e,t){return Xo((()=>(this.invokeCallHook(e,t),this.poolingFunction(rb(e),this.poolSize,this.strides,this.padding,this.dataFormat))))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Av extends $v{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return Pg(s),Bg(r),kv(e,t,n,r,s,"max")}}Av.className="MaxPooling3D",Eo(Av);class Rv extends $v{constructor(e){super(e)}poolingFunction(e,t,n,r,s){return Pg(s),Bg(r),kv(e,t,n,r,s,"avg")}}Rv.className="AveragePooling3D",Eo(Rv);class Mv extends fb{constructor(e){super(e),this.inputSpec=[new ub({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new Jm}}class Fv extends Mv{constructor(e){super(e||{})}call(e,t){return Xo((()=>{const t=rb(e);return Vc(t,1)}))}}Fv.className="GlobalAveragePooling1D",Eo(Fv);class Dv extends Mv{constructor(e){super(e||{})}call(e,t){return Xo((()=>{const t=rb(e);return kc(t,1)}))}}Dv.className="GlobalMaxPooling1D",Eo(Dv);class _v extends fb{constructor(e){super(e),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,Pg(this.dataFormat),this.inputSpec=[new ub({ndim:4})]}computeOutputShape(e){return"channelsLast"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new Jm}getConfig(){const e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Ov extends _v{call(e,t){return Xo((()=>{const t=rb(e);return"channelsLast"===this.dataFormat?Vc(t,[1,2]):Vc(t,[2,3])}))}}Ov.className="GlobalAveragePooling2D",Eo(Ov);class Lv extends _v{call(e,t){return Xo((()=>{const t=rb(e);return"channelsLast"===this.dataFormat?kc(t,[1,2]):kc(t,[2,3])}))}}Lv.className="GlobalMaxPooling2D",Eo(Lv);class zv extends fb{constructor(e){super(e),this.layer=e.layer}build(e){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(e){null!=this.layer&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){const e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){const r=$b(t.layer,n);delete t.layer;const s={layer:r};return Object.assign(s,t),new e(s)}}class Pv extends zv{constructor(e){super(e),this.supportsMasking=!0}build(e){if((e=sb(e)).length<3)throw new Zm(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];const t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){const t=[(e=sb(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),r=e[1];return[n[0],r].concat(n.slice(1))}call(e,t){return Xo((()=>_w(((e,n)=>[rb(this.layer.call(e,t)),[]]),e=rb(e),[],!1,null,null,!1,!0)[1]))}}Pv.className="TimeDistributed",Eo(Pv);class Bv extends zv{constructor(e){super(e);const t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=$b(n),t.goBackwards=!0!==t.goBackwards;const r={};var s;if(r.className=e.layer.getClassName(),r.config=t,this.backwardLayer=$b(r),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===e.mergeMode?"concat":e.mergeMode,s=this.mergeMode,fg(Lg,"BidirectionalMergeMode",s),e.weights)throw new Jm("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){const t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t,n,r,s=this.forwardLayer.computeOutputShape(e);return Array.isArray(s)&&Array.isArray(s[0])||(s=[s]),this.returnState?(r=s.slice(1),t=s[0]):t=s[0],"concat"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(r).concat(r.slice()):[t].concat(r).concat(r.slice()):rg(n)}apply(e,t){let n=null==t?null:t.initialState,r=null==t?null:t.constants;null==t&&(t={});const s=Dw(e,n,r,this.numConstants);if(e=s.inputs,n=s.initialState,r=s.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(null==n||0===n.length)&&null==r)return super.apply(e,t);const a=[],i=[];if(null!=n){const e=n.length;if(e%2>0)throw new Zm("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,a.push(...n);const r=n.map((e=>new ub({shape:e.shape})));this.forwardLayer.stateSpec=r.slice(0,e/2),this.backwardLayer.stateSpec=r.slice(e/2),i.push(...r)}if(null!=r)throw new Jm("Support for constants in Bidirectional layers is not implemented yet.");const o=a[0]instanceof cb;for(const e of a)if(e instanceof cb!==o)throw new Zm("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(o){const n=[e].concat(a),r=this.inputSpec.concat(i),s=this.inputSpec;this.inputSpec=r;const o=super.apply(n,t);return this.inputSpec=s,o}return super.apply(e,t)}call(e,t){return Xo((()=>{const n=t.initialState;let r,s,a,i;if(null==n)r=this.forwardLayer.call(e,t),s=this.backwardLayer.call(e,t);else{const a=n.slice(0,n.length/2),i=n.slice(n.length/2);r=this.forwardLayer.call(e,Object.assign(t,{initialState:a})),s=this.backwardLayer.call(e,Object.assign(t,{initialState:i}))}return this.returnState&&(Array.isArray(r)&&(a=r.slice(1).concat(s.slice(1))),r=r[0],s=s[0]),this.returnSequences&&(s=Ih(s,1)),"concat"===this.mergeMode?i=ry([r,s]):"sum"===this.mergeMode?i=ll(r,s):"ave"===this.mergeMode?i=hl(.5,ll(r,s)):"mul"===this.mergeMode?i=hl(r,s):null==this.mergeMode&&(i=[r,s]),this.returnState?null==this.mergeMode?i.concat(a):[i].concat(a):i}))}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){Wg(this.forwardLayer.name,(()=>{this.forwardLayer.build(e)})),Wg(this.backwardLayer.name,(()=>{this.backwardLayer.build(e)})),this.built=!0}computeMask(e,t){let n;if(Array.isArray(t)&&(t=t[0]),n=this.returnSequences?null==this.mergeMode?[t,t]:t:null==this.mergeMode?[null,null]:null,this.returnState){const e=this.forwardLayer.states.map((e=>null));return Array.isArray(n)?n.concat(e).concat(e):[n].concat(e).concat(e)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(e),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){const e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){const n=$b(t.layer);if(delete t.layer,null!=t.numConstants)throw new Jm("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const r=t;return r.layer=n,new e(r)}}function Vv(e){return new gb(e)}function Uv(e){return new dw(e)}function Wv(e){return new cw(e)}function Gv(e){return new hw(e)}function Hv(e){return new pw(e)}function jv(e){return new mw(e)}function qv(e){return new fw(e)}function Kv(e){return new Aw(e)}function Xv(e){return new Nw(e)}function Yv(e){return new Tw(e)}function Zv(e){return new Sw(e)}function Jv(e){return new Cw(e)}function Qv(e){return new $w(e)}function ek(e){return new Rw(e)}function tk(e){return new Mw(e)}function nk(e){return new Fw(e)}function rk(e){return new Qw(e)}function sk(e){return new Zw(e)}function ak(e){return new Xw(e)}function ik(e){return new Yw(e)}function ok(e){return new Jw(e)}function lk(e){return new ev(e)}function uk(e){return new tv(e)}function ck(e){return new nv(e)}function hk(e){return new sv(e)}function pk(e){return new iv(e)}function dk(e){return new lv(e)}function fk(e){return new hv(e)}function mk(e){return new uv(e)}function gk(e){return new cv(e)}function yk(e){return new ov(e)}function bk(e){return new dv(e)}function xk(e){return new bv(e)}function wk(e){return new xv(e)}function vk(e){return new wv(e)}function kk(e){return new Sv(e)}function Ik(e){return kk(e)}function Nk(e){return kk(e)}function Sk(e){return new Ev(e)}function Tk(e){return Sk(e)}function Ck(e){return Sk(e)}function Ek(e){return new Rv(e)}function $k(e){return Ek(e)}function Ak(e){return Ek(e)}function Rk(e){return new Fv(e)}function Mk(e){return new Ov(e)}function Fk(e){return new Dv(e)}function Dk(e){return new Lv(e)}function _k(e){return new Nv(e)}function Ok(e){return new Cv(e)}function Lk(e){return new Av(e)}function zk(e){return new Vw(e)}function Pk(e){return new Bw(e)}function Bk(e){return new Ww(e)}function Vk(e){return new Uw(e)}function Uk(e){return new Pw(e)}function Wk(e){return new zw(e)}function Gk(e){return new Kw(e)}function Hk(e){return new qw(e)}function jk(e){return new Ow(e)}function qk(e){return new Gw(e)}function Kk(e){return new Bv(e)}function Xk(e){return new Pv(e)}Bv.className="Bidirectional",Eo(Bv);const Yk=Fk,Zk=Dk,Jk=_k,Qk=Ok;function eI(e){return new fv(e)}function tI(e){return new mv(e)}function nI(e){return new gv(e)}function rI(e){return new rv(e)}function sI(e,t){return Bb(e,t)}function aI(e,t){return Gb(e,t)}function iI(e,t){return Hb(e,t)}function oI(e,t){return Vb(e,t)}function lI(e,t){return jb(e,t)}function uI(e,t){return Wb(e,t)}function cI(e,t){return function(e,t){return Xo((()=>{const n=Ub(e,t),r=function(e,t){return Xo((()=>Si(Ic(Dc(ju(e,1),ju(t,0))),"float32")))}(e,t),s=ll(n,r);return Si(qu(ic(s,0),cl(n,s),0),"float32")}))}(e,t)}function hI(e,t){return Lb(e,t)}function pI(e,t){return Mb(e,t)}function dI(e,t){return Fb(e,t)}function fI(e,t){return Fb(e,t)}function mI(e,t){return Fb(e,t)}function gI(e,t){return Rb(e,t)}function yI(e,t){return Rb(e,t)}function bI(e,t){return Rb(e,t)}function xI(e){return new aw(e)}function wI(e){return rw(t=e),new aw({l1:null!=t?t.l1:null,l2:0});var t}function vI(e){return rw(t=e),new aw({l2:null!=t?t.l2:null,l1:0});var t}class kI extends vb{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof Ax))throw new Error("model must be a LayersModel, not some other Container");this.model=e}}function II(e,t){return et}class SI extends kI{constructor(e){if(super(),null==e&&(e={}),e.restoreBestWeights)throw new Jm("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=II:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=NI:this.monitorFunc=II,this.monitorFunc===II&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===II?1/0:-1/0}async onEpochEnd(e,t){await bb(t);const n=this.getMonitorValue(t);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){null==e&&(e={});const t=e[this.monitor];return null==t&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}}const TI={earlyStopping:function(e){return new SI(e)}};var CI,EI;He().registerFlag("KEEP_INTERMEDIATE_TENSORS",(()=>!1),(e=>{e&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")})),function(e){e[e.DT_INVALID=0]="DT_INVALID",e[e.DT_FLOAT=1]="DT_FLOAT",e[e.DT_DOUBLE=2]="DT_DOUBLE",e[e.DT_INT32=3]="DT_INT32",e[e.DT_UINT8=4]="DT_UINT8",e[e.DT_INT16=5]="DT_INT16",e[e.DT_INT8=6]="DT_INT8",e[e.DT_STRING=7]="DT_STRING",e[e.DT_COMPLEX64=8]="DT_COMPLEX64",e[e.DT_INT64=9]="DT_INT64",e[e.DT_BOOL=10]="DT_BOOL",e[e.DT_QINT8=11]="DT_QINT8",e[e.DT_QUINT8=12]="DT_QUINT8",e[e.DT_QINT32=13]="DT_QINT32",e[e.DT_BFLOAT16=14]="DT_BFLOAT16",e[e.DT_QINT16=15]="DT_QINT16",e[e.DT_QUINT16=16]="DT_QUINT16",e[e.DT_UINT16=17]="DT_UINT16",e[e.DT_COMPLEX128=18]="DT_COMPLEX128",e[e.DT_HALF=19]="DT_HALF",e[e.DT_RESOURCE=20]="DT_RESOURCE",e[e.DT_VARIANT=21]="DT_VARIANT",e[e.DT_UINT32=22]="DT_UINT32",e[e.DT_UINT64=23]="DT_UINT64",e[e.DT_FLOAT_REF=101]="DT_FLOAT_REF",e[e.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",e[e.DT_INT32_REF=103]="DT_INT32_REF",e[e.DT_UINT8_REF=104]="DT_UINT8_REF",e[e.DT_INT16_REF=105]="DT_INT16_REF",e[e.DT_INT8_REF=106]="DT_INT8_REF",e[e.DT_STRING_REF=107]="DT_STRING_REF",e[e.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",e[e.DT_INT64_REF=109]="DT_INT64_REF",e[e.DT_BOOL_REF=110]="DT_BOOL_REF",e[e.DT_QINT8_REF=111]="DT_QINT8_REF",e[e.DT_QUINT8_REF=112]="DT_QUINT8_REF",e[e.DT_QINT32_REF=113]="DT_QINT32_REF",e[e.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",e[e.DT_QINT16_REF=115]="DT_QINT16_REF",e[e.DT_QUINT16_REF=116]="DT_QUINT16_REF",e[e.DT_UINT16_REF=117]="DT_UINT16_REF",e[e.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",e[e.DT_HALF_REF=119]="DT_HALF_REF",e[e.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",e[e.DT_VARIANT_REF=121]="DT_VARIANT_REF",e[e.DT_UINT32_REF=122]="DT_UINT32_REF",e[e.DT_UINT64_REF=123]="DT_UINT64_REF"}(CI||(CI={})),function(e){let t;!function(e){e[e.LEGACY=0]="LEGACY",e[e.V1=1]="V1",e[e.V2=2]="V2"}(t=e.CheckpointFormatVersion||(e.CheckpointFormatVersion={}))}(EI||(EI={}));const $I={};function AI(e,t){const n={tfOpName:e,category:"custom",inputs:[],attrs:[],customExecutor:t};$I[e]=n}function RI(e){return $I[e]}function MI(e){delete $I[e]}function FI(e,t,n,r,s){const a=t.inputParams[e];if(a&&void 0!==a.inputIndexStart){const e=a.inputIndexStart,i=0===a.inputIndexEnd?void 0:void 0===a.inputIndexEnd?e+1:a.inputIndexEnd;if("tensor"===a.type)return DI(t.inputNames[a.inputIndexStart],n,r,s);if("tensors"===a.type)return t.inputNames.slice(e,i).map((e=>DI(e,n,r,s)));const o=DI(t.inputNames.slice(e)[0],n,r,s),l=o.dataSync();return"number"===a.type?l[0]:_e(o.shape,l)}const i=t.attrParams[e];return i&&i.value}function DI(e,t,n,r){const[s,a]=LI(e);if(null!=r){const e=r.getHashTableHandleByName(s);if(null!=e)return e}const i=n.currentContextIds.find((e=>!!t[OI(s,e)]));return void 0!==i?t[OI(s,i)][a]:void 0}function _I(e,t){const[n,r,s]=LI(e);return[OI(n,t&&t.currentContextId),r,s]}function OI(e,t){return t?`${e}-${t}`:e}function LI(e){const t=e.split(":");if(1===t.length)return[e,0,void 0];const n=t[0],r=3===t.length?t[1]:void 0;return[n,Number(t[t.length-1]),r]}function zI(e,t,n){let r=FI("pad",e,t,n);if("explicit"===r){r=FI("explicitPaddings",e,t,n);const s=[[0,0],[0,0],[0,0],[0,0]];for(let e=0;e<4;e++)s[e][0]=r[2*e],s[e][1]=r[2*e+1];return s}return r}function PI(e){return e.kept?e:Ti(e)}const BI=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],VI=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Prod",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axes",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],UI=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]}],WI=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number"}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],GI=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],HI=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],jI=[{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],qI=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],KI=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]}],XI=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]}],YI=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],ZI=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]}],JI=[{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"SparseToDense",category:"normalization",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!0,notSupported:!0}]}],QI=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],eN=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]}],tN=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],nN=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],rN=[{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],sN=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}];class aN{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const e=[].concat(...[S,T,C,E,$,A,R,M,F,D,_,O,L,z,P,B,V,U,W].map((e=>e.json)));this.opMappers=e.reduce(((e,t)=>(e[t.tfOpName]=t,e)),{})}transformGraph(e,t={}){const n=e.node,r=[],s=[],a=[],i=n.reduce(((e,t)=>(e[t.name]=this.mapNode(t),t.op.startsWith("Placeholder")?r.push(e[t.name]):"Const"===t.op?s.push(e[t.name]):null!=t.input&&0!==t.input.length||a.push(e[t.name]),e)),{});let o=[];const l=[];let u={},c={};null!=t&&(u=this.mapSignatureEntries(t.inputs),c=this.mapSignatureEntries(t.outputs));const h=Object.keys(i);h.forEach((e=>{const t=i[e];t.inputNames.forEach(((e,n)=>{const[r,,s]=_I(e),a=i[r];if(null!=a.outputs){const e=a.outputs.indexOf(s);if(-1!==e){const s=`${r}:${e}`;t.inputNames[n]=s}}t.inputs.push(a),a.children.push(t)}))})),0===Object.keys(c).length?h.forEach((e=>{const t=i[e];0===t.children.length&&l.push(t)})):Object.keys(c).forEach((e=>{const[t]=_I(e),n=i[t];null!=n&&(n.signatureKey=c[e],l.push(n))})),Object.keys(u).length>0?Object.keys(u).forEach((e=>{const[t]=_I(e),n=i[t];n&&(n.signatureKey=u[e],o.push(n))})):o=r;let p={};null!=e.library&&null!=e.library.function&&(p=e.library.function.reduce(((e,t)=>(e[t.signature.name]=this.mapFunction(t),e)),{}));const d={nodes:i,inputs:o,outputs:l,weights:s,placeholders:r,signature:t,functions:p};return a.length>0&&(d.initNodes=a),d}mapSignatureEntries(e){return Object.keys(e||{}).reduce(((t,n)=>(t[e[n].name]=n,t)),{})}mapNode(e){const t=RI(e.op)||this.opMappers[e.op]||{};null==e.attr&&(e.attr={});const n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map((e=>e.startsWith("^")?e.substr(1):e)),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return null!=t.inputs&&(n.inputParams=t.inputs.reduce(((e,t)=>(e[t.name]={type:t.type,inputIndexStart:t.start,inputIndexEnd:t.end},e)),{})),null!=t.attrs&&(n.attrParams=t.attrs.reduce(((t,n)=>{const r=n.type;let s;switch(n.type){case"string":s=oN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=oN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":s=yN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=yN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":s=uN(e.attr,n.tfName,n.defaultValue||0),void 0===s&&n.tfDeprecatedName&&(s=uN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":s=gN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=gN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":s=lN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=lN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":s=xN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=xN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":s=mN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=mN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":s=bN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=bN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":s=pN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=pN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":s=dN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=dN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":s=hN(e.attr,n.tfName,n.defaultValue),void 0===s&&n.tfDeprecatedName&&(s=hN(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${e.op}`)}return t[n.name]={value:s,type:r},t}),{})),n}mapFunction(e){const t=e.nodeDef,n=[];let r={};null!=t&&(r=t.reduce(((e,t)=>(e[t.name]=this.mapNode(t),"Const"===t.op&&n.push(e[t.name]),e)),{}));const s=[],a=[];e.signature.inputArg.forEach((e=>{const[t]=_I(e.name),n={name:t,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:cN(e.type),type:"dtype"}},children:[]};n.signatureKey=e.name,s.push(n),r[t]=n})),Object.keys(r).forEach((e=>{const t=r[e];t.inputNames.forEach(((e,n)=>{const[s,,a]=_I(e),i=r[s];if(null!=i.outputs){const e=i.outputs.indexOf(a);if(-1!==e){const r=`${s}:${e}`;t.inputNames[n]=r}}t.inputs.push(i),i.children.push(t)}))}));const i=e.ret;e.signature.outputArg.forEach((e=>{const[t,n]=_I(i[e.name]),s=r[t];null!=s&&(s.defaultOutput=n,a.push(s))}));const o=this.mapArgsToSignature(e);return{nodes:r,inputs:s,outputs:a,weights:n,placeholders:[],signature:o}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce(((e,t)=>(e[t.name]=this.mapArgToTensorInfo(t),e)),{}),outputs:e.signature.outputArg.reduce(((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t)),{})}}mapArgToTensorInfo(e,t){let n=e.name;return null!=t&&(n=t[n]),{name:n,dtype:e.type}}}function iN(e,t){const n=Array.isArray(e)?String.fromCharCode.apply(null,e):function(e){const t=He().global;if(void 0!==t.atob)return t.atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(e);return t?n:n.toLowerCase()}function oN(e,t,n,r=!1){const s=e[t];return null!=s?iN(s.s,r):n}function lN(e,t,n){const r=e[t];return r?r.b:n}function uN(e,t,n){const r=e[t]||{},s=null!=r.i?r.i:null!=r.f?r.f:n;return"number"==typeof s?s:parseInt(s,10)}function cN(e){switch("string"==typeof e&&(e=CI[e]),e){case CI.DT_FLOAT:case CI.DT_HALF:return"float32";case CI.DT_INT32:case CI.DT_INT64:case CI.DT_INT8:case CI.DT_UINT8:return"int32";case CI.DT_BOOL:return"bool";case CI.DT_DOUBLE:return"float32";case CI.DT_STRING:return"string";default:return null}}function hN(e,t,n){const r=e[t];return r&&r.func?r.func.name:n}function pN(e,t,n){const r=e[t];return r&&r.type?cN(r.type):n}function dN(e,t,n){const r=e[t];return r&&r.list&&r.list.type?r.list.type.map((e=>cN(e))):n}function fN(e){if(!e.unknownRank)return null!=e.dim?e.dim.map((e=>"number"==typeof e.size?e.size:parseInt(e.size,10))):[]}function mN(e,t,n){const r=e[t];return r&&r.shape?fN(r.shape):n}function gN(e,t,n){const r=e[t];return r?((r.list.f&&r.list.f.length?r.list.f:r.list.i)||[]).map((e=>"number"==typeof e?e:parseInt(e,10))):n}function yN(e,t,n,r=!1){const s=e[t];return s&&s.list&&s.list.s?s.list.s.map((e=>iN(e,r))):n}function bN(e,t,n){const r=e[t];return r&&r.list&&r.list.shape?r.list.shape.map((e=>fN(e))):n}function xN(e,t,n){const r=e[t];return r&&r.list&&r.list.b?r.list.b:n}class wN{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map((e=>this.getInput(e))),null!=e.rawAttrs&&(this.attrs=Object.keys(e.rawAttrs).reduce(((e,t)=>(e[t]=this.getAttr(t),e)),{}))}getInput(e){return DI(e,this.tensorMap,this.context)}getAttr(e,t){const n=this.node.rawAttrs[e];if(null!=n.tensor)return DI(e,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return uN(this.node.rawAttrs,e,t);if(null!=n.s)return oN(this.node.rawAttrs,e,t);if(null!=n.b)return lN(this.node.rawAttrs,e,t);if(null!=n.shape)return mN(this.node.rawAttrs,e,t);if(null!=n.type)return pN(this.node.rawAttrs,e,t);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return gN(this.node.rawAttrs,e,t);if(null!=n.list.s)return yN(this.node.rawAttrs,e,t);if(null!=n.list.shape)return bN(this.node.rawAttrs,e,t);if(null!=n.list.b)return xN(this.node.rawAttrs,e,t);if(null!=n.list.type)return dN(this.node.rawAttrs,e,t)}return t}}function vN(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){re(e.length===t.length,(()=>n+` Shapes ${e} and ${t} must match`));for(let r=0;rn+` Shapes ${e} and ${t} must match`))}}}function kN(e){return"number"!=typeof e&&!e.some((e=>e<0))}function IN(e,t,n){let r=NN(e,n);const s=!kN(r);if(s&&0===t.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${r}`);if(s&&t.forEach((e=>{r=NN(e.shape,r)})),!kN(r))throw new Error(`Non-fully-defined elementShape: ${r}`);return r}function NN(e,t){if("number"==typeof e)return t;if("number"==typeof t)return e;if(e.length!==t.length)throw new Error(`Incompatible ranks during merge: ${e} vs. ${t}`);const n=[];for(let r=0;r=0&&a>=0&&s!==a)throw new Error(`Incompatible shape during merge: ${e} vs. ${t}`);n[r]=s>=0?s:a}return n}class SN{constructor(e,t,n,r,s,a,i){this.name=e,this.dtype=t,this.maxSize=n,this.elementShape=r,this.identicalElementShapes=s,this.dynamicSize=a,this.clearAfterRead=i,this.tensors=[],this.closed_=!1,this.idTensor=kl(0),Zo(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(e){this.tensors.forEach((t=>{null!=e&&e.has(t.tensor.id)||t.tensor.dispose()})),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);const t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map((e=>this.read(e)))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=t.shape),vN(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,Zo(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach(((e,n)=>this.write(e,t[n])))}gather(e,t){if(t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let t=0;t=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,op(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0;const r=e.map((e=>(n+=e,n)));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);const s=0===n?0:t.size/n,a=[];Xo((()=>{t=uu(t,[1,n,s]);for(let n=0;n{if(n!==e.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${e.dtype}`);vN(t,e.shape,"TensorList shape mismatch: "),Zo(e)})),this.idTensor=kl(0),this.maxNumElements=r,Zo(this.idTensor)}get id(){return this.idTensor.id}copy(){return new TN([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach((t=>{null!=e&&e.has(t.id)||t.dispose()})),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);vN(e,this.elementShape,"TensorList shape mismatch: ");const r=IN(this.elementShape,this.tensors,e);return Xo((()=>{const e=this.tensors.map((e=>uu(e,r)));return Kh(e,0)}))}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=IN(this.elementShape,this.tensors,e),r=this.tensors.pop();return vN(r.shape,e,"TensorList shape mismatch: "),uu(r,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(vN(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");Zo(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(-1!==this.maxNumElements&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);this.tensors.length=e}getItem(e,t,n){if(n!==this.elementDtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${this.elementDtype}`);if(e<0||e>this.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[e])throw new Error(`element at index ${e} is null.`);vN(this.tensors[e].shape,t,"TensorList shape mismatch: ");const r=IN(this.elementShape,this.tensors,t);return uu(this.tensors[e],r)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||-1!==this.maxNumElements&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);vN(this.elementShape,t.shape,"TensorList shape mismatch: "),Zo(t),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);vN(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());const r=IN(this.elementShape,this.tensors,n);return 0===e.length?$a([],[0].concat(r)):Xo((()=>{const t=e.map((e=>uu(this.tensors[e],r)));return Kh(t,0)}))}concat(e,t){if(e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);vN(this.elementShape,t,"TensorList shape mismatch: ");const n=IN(this.elementShape,this.tensors,t);return 0===this.size()?$a([],[0].concat(n)):Xo((()=>{const e=this.tensors.map((e=>uu(e,n)));return pu(e,0)}))}}function CN(e,t,n){const[r,s]=FI("fusedOps",e,t,n),a="biasadd"===r,i=!a,o="prelu"===s,l="fusedbatchnorm"===r,u=FI("numArgs",e,t,n);if(a){if(o&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!o&&a&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=FI("strides",e,t,n),h=zI(e,t,n),p=FI("dataFormat",e,t,n).toUpperCase(),d=FI("dilations",e,t,n);let[f,m]=FI("args",e,t,n);return i&&(m=f,f=void 0),{stride:c,pad:h,dataFormat:p,dilations:d,biasArg:f,preluArg:m,activationFunc:s,leakyreluAlpha:FI("leakyreluAlpha",e,t,n)}}function EN(e,t,n){return{boxes:FI("boxes",e,t,n),scores:FI("scores",e,t,n),maxOutputSize:FI("maxOutputSize",e,t,n),iouThreshold:FI("iouThreshold",e,t,n),scoreThreshold:FI("scoreThreshold",e,t,n),softNmsSigma:FI("softNmsSigma",e,t,n)}}class $N{constructor(e,t){this.keyDType=e,this.valueDType=t,this.handle=kl(0),this.tensorMap=new Map,Zo(this.handle)}get id(){return this.handle.id}clearAndClose(){this.tensorMap.forEach((e=>e.dispose())),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return kl(this.size(),"int32")}async import(e,t){this.checkKeyAndValueTensor(e,t);const n=await e.data();return this.tensorMap.forEach((e=>e.dispose())),this.tensorMap.clear(),Xo((()=>{const e=op(t),r=n.length,s=e.length;re(r===s,(()=>`The number of elements doesn't match, keys has ${r} elements, the values has ${s} elements.`));for(let t=0;t{const e=[];for(let r=0;r{switch(e.category){case"arithmetic":return Xo((()=>((e,t,n)=>{switch(e.op){case"BiasAdd":case"AddV2":case"Add":return[ll(FI("a",e,t,n),FI("b",e,t,n))];case"AddN":return[Pl(FI("tensors",e,t,n))];case"FloorMod":case"Mod":return[Kc(FI("a",e,t,n),FI("b",e,t,n))];case"Mul":return[hl(FI("a",e,t,n),FI("b",e,t,n))];case"RealDiv":case"Div":return[cl(FI("a",e,t,n),FI("b",e,t,n))];case"DivNoNan":return[Ku(FI("a",e,t,n),FI("b",e,t,n))];case"FloorDiv":return[ul(FI("a",e,t,n),FI("b",e,t,n))];case"Sub":return[El(FI("a",e,t,n),FI("b",e,t,n))];case"Minimum":return[jc(FI("a",e,t,n),FI("b",e,t,n))];case"Maximum":return[Rl(FI("a",e,t,n),FI("b",e,t,n))];case"Pow":return[Cl(FI("a",e,t,n),FI("b",e,t,n))];case"SquaredDifference":return[jh(FI("a",e,t,n),FI("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"basic_math":return Xo((()=>((e,t,n)=>{switch(e.op){case"Abs":case"ComplexAbs":return[Al(FI("x",e,t,n))];case"Acos":return[Ll(FI("x",e,t,n))];case"Acosh":return[zl(FI("x",e,t,n))];case"Asin":return[Gl(FI("x",e,t,n))];case"Asinh":return[Hl(FI("x",e,t,n))];case"Atan":return[jl(FI("x",e,t,n))];case"Atan2":return[ql(FI("x",e,t,n),FI("y",e,t,n))];case"Atanh":return[Kl(FI("x",e,t,n))];case"Ceil":return[Su(FI("x",e,t,n))];case"Complex":return[Ca(FI("real",e,t,n),FI("imag",e,t,n))];case"Cos":return[zu(FI("x",e,t,n))];case"Cosh":return[Pu(FI("x",e,t,n))];case"Elu":return[Zu(FI("x",e,t,n))];case"Erf":return[Ju(FI("x",e,t,n))];case"Exp":return[Qu(FI("x",e,t,n))];case"Expm1":return[tc(FI("x",e,t,n))];case"Floor":return[sc(FI("x",e,t,n))];case"Log":return[yc(FI("x",e,t,n))];case"Log1p":return[bc(FI("x",e,t,n))];case"Imag":return[lc(FI("x",e,t,n))];case"Neg":return[xc(FI("x",e,t,n))];case"Reciprocal":return[wh(FI("x",e,t,n))];case"Real":return[xh(FI("x",e,t,n))];case"Relu":return[vh(FI("x",e,t,n))];case"Round":return[Eh(FI("x",e,t,n))];case"Selu":return[Ah(FI("x",e,t,n))];case"Sigmoid":return[du(FI("x",e,t,n))];case"Sin":return[Dh(FI("x",e,t,n))];case"Sign":return[Fh(FI("x",e,t,n))];case"Sinh":return[_h(FI("x",e,t,n))];case"Softplus":return[wc(FI("x",e,t,n))];case"Sqrt":return[pl(FI("x",e,t,n))];case"Square":return[dl(FI("x",e,t,n))];case"Tanh":return[mu(FI("x",e,t,n))];case"Tan":return[Zh(FI("x",e,t,n))];case"ClipByValue":return[Tu(FI("x",e,t,n),FI("clipValueMin",e,t,n),FI("clipValueMax",e,t,n))];case"Relu6":return[kh(FI("x",e,t,n))];case"Rsqrt":return[$h(DI(e.inputNames[0],t,n))];case"Prod":return[uh(FI("x",e,t,n),FI("axes",e,t,n))];case"LeakyRelu":return[pc(FI("x",e,t,n),FI("alpha",e,t,n))];case"Prelu":return[lh(FI("x",e,t,n),FI("alpha",e,t,n))];case"IsNan":return[hc(DI(e.inputNames[0],t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"control":return(async(e,t,n)=>{switch(e.op){case"If":case"StatelessIf":{const r=FI("thenBranch",e,t,n),s=FI("elseBranch",e,t,n),a=FI("cond",e,t,n),i=FI("args",e,t,n);return(await a.data())[0]?n.functionMap[r].executeFunctionAsync(i,n.tensorArrayMap,n.tensorListMap):n.functionMap[s].executeFunctionAsync(i,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const r=FI("body",e,t,n),s=FI("cond",e,t,n),a=FI("args",e,t,n),i=await n.functionMap[s].executeFunctionAsync(a,n.tensorArrayMap,n.tensorListMap),o=a.map((e=>e.id));let l=await i[0].data();i.forEach((e=>{e.kept||-1!==o.indexOf(e.id)||e.dispose()}));let u=a;for(;l[0];){const e=u;u=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const t=u.map((e=>e.id));e.forEach((e=>{e.kept||-1!==o.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()}));const a=await n.functionMap[s].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await a[0].data(),a.forEach((e=>{e.kept||-1!==o.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()}))}return u}case"LoopCond":return[PI(FI("pred",e,t,n))];case"Switch":{const r=FI("pred",e,t,n);let s=FI("data",e,t,n);return s.kept||(s=PI(s)),(await r.data())[0]?[void 0,s]:[s,void 0]}case"Merge":{const r=e.inputNames.find((e=>void 0!==DI(e,t,n)));return r?[PI(DI(r,t,n))]:void 0}case"Enter":{const r=FI("frameName",e,t,n),s=FI("tensor",e,t,n);return n.enterFrame(r),[PI(s)]}case"Exit":{const r=FI("tensor",e,t,n);return n.exitFrame(),[PI(r)]}case"NextIteration":{const r=FI("tensor",e,t,n);return n.nextIteration(),[PI(r)]}case"TensorArrayV3":{const r=FI("size",e,t,n),s=FI("dtype",e,t,n),a=FI("elementShape",e,t,n),i=FI("dynamicSize",e,t,n),o=FI("clearAfterRead",e,t,n),l=FI("identicalElementShapes",e,t,n),u=FI("name",e,t,n),c=new SN(u,s,r,a,l,i,o);return n.addTensorArray(c),[c.idTensor,kl(1)]}case"TensorArrayWriteV3":{const r=FI("tensorArrayId",e,t,n),s=FI("index",e,t,n),a=FI("tensor",e,t,n),i=n.getTensorArray(r.id);return i.write(s,a),[i.idTensor]}case"TensorArrayReadV3":{const r=FI("tensorArrayId",e,t,n),s=FI("index",e,t,n);return[n.getTensorArray(r.id).read(s)]}case"TensorArrayGatherV3":{const r=FI("tensorArrayId",e,t,n),s=FI("indices",e,t,n),a=FI("dtype",e,t,n);return[n.getTensorArray(r.id).gather(s,a)]}case"TensorArrayScatterV3":{const r=FI("tensorArrayId",e,t,n),s=FI("indices",e,t,n),a=FI("tensor",e,t,n),i=n.getTensorArray(r.id);return i.scatter(s,a),[i.idTensor]}case"TensorArrayConcatV3":{const r=FI("tensorArrayId",e,t,n),s=n.getTensorArray(r.id),a=FI("dtype",e,t,n);return[s.concat(a)]}case"TensorArraySplitV3":{const r=FI("tensorArrayId",e,t,n),s=FI("tensor",e,t,n),a=FI("lengths",e,t,n),i=n.getTensorArray(r.id);return i.split(a,s),[i.idTensor]}case"TensorArraySizeV3":{const r=FI("tensorArrayId",e,t,n);return[kl(n.getTensorArray(r.id).size(),"int32")]}case"TensorArrayCloseV3":{const r=FI("tensorArrayId",e,t,n),s=n.getTensorArray(r.id);return s.clearAndClose(),[s.idTensor]}case"TensorListSetItem":{const r=FI("tensorListId",e,t,n),s=FI("index",e,t,n),a=FI("tensor",e,t,n),i=n.getTensorList(r.id);return i.setItem(s,a),[i.idTensor]}case"TensorListGetItem":{const r=FI("tensorListId",e,t,n),s=FI("index",e,t,n),a=FI("elementShape",e,t,n),i=FI("elementDType",e,t,n);return[n.getTensorList(r.id).getItem(s,a,i)]}case"TensorListScatterV2":case"TensorListScatter":{const r=FI("indices",e,t,n),s=function(e,t,n,r){if(t.length!==e.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${e.shape[0]}`);const s=Math.max(...t);if(null!=r&&-1!==r&&s>=r)throw new Error(`Max index must be < array size (${s} vs. ${r})`);const a=new TN([],n,e.dtype,r),i=op(e,0);return t.forEach(((e,t)=>{a.setItem(e,i[t])})),a}(FI("tensor",e,t,n),r,FI("elementShape",e,t,n),FI("numElements",e,t,n));return n.addTensorList(s),[s.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const r=FI("elementShape",e,t,n),s=FI("elementDType",e,t,n);let a;a="TensorListReserve"===e.op?"numElements":"maxNumElements";const i=function(e,t,n){return new TN([],e,t,n)}(r,s,FI(a,e,t,n));return n.addTensorList(i),[i.idTensor]}case"TensorListGather":{const r=FI("tensorListId",e,t,n),s=FI("indices",e,t,n),a=FI("elementShape",e,t,n),i=FI("elementDType",e,t,n);return[n.getTensorList(r.id).gather(s,i,a)]}case"TensorListStack":{const r=FI("tensorListId",e,t,n),s=FI("elementShape",e,t,n),a=FI("elementDType",e,t,n),i=FI("numElements",e,t,n);return[n.getTensorList(r.id).stack(s,a,i)]}case"TensorListFromTensor":{const r=function(e,t,n){const r=e.dtype;if(e.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${e.shape}`);if(e.dtype!==n)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${n}`);vN(e.shape.slice(1),t,"TensorList shape mismatch: ");const s=op(e);return new TN(s,t,r)}(FI("tensor",e,t,n),FI("elementShape",e,t,n),FI("elementDType",e,t,n));return n.addTensorList(r),[r.idTensor]}case"TensorListConcat":{const r=FI("tensorListId",e,t,n),s=n.getTensorList(r.id),a=FI("dtype",e,t,n),i=FI("elementShape",e,t,n);return[s.concat(a,i)]}case"TensorListPushBack":{const r=FI("tensorListId",e,t,n),s=FI("tensor",e,t,n),a=n.getTensorList(r.id);return a.pushBack(s),[a.idTensor]}case"TensorListPopBack":{const r=FI("tensorListId",e,t,n),s=FI("elementShape",e,t,n),a=FI("elementDType",e,t,n);return[n.getTensorList(r.id).popBack(s,a)]}case"TensorListSplit":{const r=FI("tensor",e,t,n),s=FI("elementShape",e,t,n),a=function(e,t,n){let r=0;const s=t.map((e=>(r+=e,r)));if(r!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${r}, and tensor's shape is: ${e.shape}`);const a=NN(e.shape.slice(1),n),i=0===r?0:e.size/r,o=Xo((()=>{const n=[];e=uu(e,[1,r,i]);for(let r=0;r((e,t,n)=>{switch(e.op){case"Conv1D":{const r=FI("stride",e,t,n),s=FI("pad",e,t,n),a=FI("dataFormat",e,t,n).toUpperCase(),i=FI("dilation",e,t,n);return[Mu(FI("x",e,t,n),FI("filter",e,t,n),r,s,a,i)]}case"Conv2D":{const r=FI("strides",e,t,n),s=zI(e,t,n),a=FI("dataFormat",e,t,n).toUpperCase(),i=FI("dilations",e,t,n);return[Ru(FI("x",e,t,n),FI("filter",e,t,n),[r[1],r[2]],s,a,[i[1],i[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:a,dilations:i,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=CN(e,t,n);return[Cp({x:FI("x",e,t,n),filter:FI("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:a,dilations:i,biasArg:o,preluArg:l,activationFunc:u,leakyreluAlpha:c}=CN(e,t,n);return[Ap({x:FI("x",e,t,n),filter:FI("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:a,dilations:[i[1],i[2]],bias:o,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=FI("outputShape",e,t,n),s=FI("strides",e,t,n),a=zI(e,t,n);return[Du(FI("x",e,t,n),FI("filter",e,t,n),r,[s[1],s[2]],a)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=FI("strides",e,t,n),s=zI(e,t,n),a=FI("dilations",e,t,n),i=FI("dataFormat",e,t,n).toUpperCase();return[Wu(FI("input",e,t,n),FI("filter",e,t,n),[r[1],r[2]],s,i,[a[1],a[2]])]}case"Conv3D":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("dataFormat",e,t,n).toUpperCase(),i=FI("dilations",e,t,n);return[_u(FI("x",e,t,n),FI("filter",e,t,n),[r[1],r[2],r[3]],s,a,[i[1],i[2],i[3]])]}case"AvgPool":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("kernelSize",e,t,n);return[cu(FI("x",e,t,n),[a[1],a[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("kernelSize",e,t,n);return[zc(FI("x",e,t,n),[a[1],a[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("kernelSize",e,t,n),i=FI("includeBatchInIndex",e,t,n),{result:o,indexes:l}=Bc(FI("x",e,t,n),[a[1],a[2]],[r[1],r[2]],s,i);return[o,l]}case"AvgPool3D":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("kernelSize",e,t,n);return[hu(FI("x",e,t,n),[a[1],a[2],a[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("kernelSize",e,t,n);return[Pc(FI("x",e,t,n),[a[1],a[2],a[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=FI("strides",e,t,n),s=FI("pad",e,t,n),a=FI("dilations",e,t,n),i=r[1],o=r[2],l=a[1],u=a[2];return[Hu(FI("x",e,t,n),FI("filter",e,t,n),[i,o],s,[l,u],"NHWC")]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"creation":return Xo((()=>((e,t,n)=>{switch(e.op){case"Fill":{const r=FI("shape",e,t,n),s=FI("dtype",e,t,n);return[Sl(r,FI("value",e,t,n),s)]}case"LinSpace":return[mc(FI("start",e,t,n),FI("stop",e,t,n),FI("num",e,t,n))];case"Multinomial":{const r=FI("logits",e,t,n),s=FI("numSamples",e,t,n),a=FI("seed",e,t,n);return[Zc(r,s,a)]}case"OneHot":{const r=FI("indices",e,t,n),s=FI("depth",e,t,n),a=FI("onValue",e,t,n),i=FI("offValue",e,t,n);return[ji(r,s,a,i)]}case"Ones":return[Wc(FI("shape",e,t,n),FI("dtype",e,t,n))];case"OnesLike":return[Qc(FI("x",e,t,n))];case"RandomUniform":return[yh(FI("shape",e,t,n),FI("minval",e,t,n),FI("maxval",e,t,n),FI("dtype",e,t,n))];case"Range":return[bh(FI("start",e,t,n),FI("stop",e,t,n),FI("step",e,t,n),FI("dtype",e,t,n))];case"TruncatedNormal":{const r=FI("shape",e,t,n),s=FI("mean",e,t,n),a=FI("stdDev",e,t,n),i=FI("seed",e,t,n);return[sp(r,s,a,FI("dtype",e,t,n),i)]}case"Zeros":return[Uc(FI("shape",e,t,n),FI("dtype",e,t,n))];case"ZerosLike":return[fl(FI("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"dynamic":return(async(e,t,n)=>{switch(e.op){case"NonMaxSuppressionV5":{const{boxes:r,scores:s,maxOutputSize:a,iouThreshold:i,scoreThreshold:o,softNmsSigma:l}=EN(e,t,n),u=await Td.nonMaxSuppressionWithScoreAsync(r,s,a,i,o,l);return[u.selectedIndices,u.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:r,scores:s,maxOutputSize:a,iouThreshold:i,scoreThreshold:o}=EN(e,t,n),l=FI("padToMaxOutputSize",e,t,n),u=await Td.nonMaxSuppressionPaddedAsync(r,s,a,i,o,l);return[u.selectedIndices,u.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:r,scores:s,maxOutputSize:a,iouThreshold:i,scoreThreshold:o}=EN(e,t,n);return[await Td.nonMaxSuppressionAsync(r,s,a,i,o)]}case"Where":{const r=Si(FI("condition",e,t,n),"bool"),s=[await cp(r)];return r.dispose(),s}case"ListDiff":return Mh(FI("x",e,t,n),FI("y",e,t,n));default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n);case"evaluation":return Xo((()=>((e,t,n)=>{switch(e.op){case"TopKV2":{const r=FI("x",e,t,n),s=FI("k",e,t,n),a=FI("sorted",e,t,n),i=rp(r,s,a);return[i.values,i.indices]}case"Unique":{const r=FI("x",e,t,n),s=ap(r);return[s.values,s.indices]}case"UniqueV2":{const r=FI("x",e,t,n),s=FI("axis",e,t,n),a=ap(r,s);return[a.values,a.indices]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"image":return Xo((()=>((e,t,n)=>{switch(e.op){case"ResizeBilinear":{const r=FI("images",e,t,n),s=FI("size",e,t,n),a=FI("alignCorners",e,t,n),i=FI("halfPixelCenters",e,t,n);return[Td.resizeBilinear(r,[s[0],s[1]],a,i)]}case"ResizeNearestNeighbor":{const r=FI("images",e,t,n),s=FI("size",e,t,n),a=FI("alignCorners",e,t,n),i=FI("halfPixelCenters",e,t,n);return[Td.resizeNearestNeighbor(r,[s[0],s[1]],a,i)]}case"CropAndResize":{const r=FI("image",e,t,n),s=FI("boxes",e,t,n),a=FI("boxInd",e,t,n),i=FI("cropSize",e,t,n),o=FI("method",e,t,n),l=FI("extrapolationValue",e,t,n);return[Td.cropAndResize(r,s,a,i,o,l)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"graph":return Xo((()=>((e,t,n)=>{switch(e.op){case"Const":return t[e.name];case"PlaceholderWithDefault":const r=FI("default",e,t,n);return[DI(e.name,t,n)||r];case"Placeholder":return[DI(e.name,t,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":case"Snapshot":return[PI(FI("x",e,t,n))];case"IdentityN":return FI("x",e,t,n).map((e=>PI(e)));case"Shape":return[Jh(FI("x",e,t,n).shape,"int32")];case"ShapeN":return FI("x",e,t,n).map((e=>Jh(e.shape)));case"Size":return[kl(FI("x",e,t,n).size,"int32")];case"Rank":return[kl(FI("x",e,t,n).rank,"int32")];case"NoOp":return[kl(1)];case"Print":const s=FI("x",e,t,n),a=FI("data",e,t,n),i=FI("message",e,t,n),o=FI("summarize",e,t,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(i);for(let e=0;e((e,t,n)=>{switch(e.op){case"Equal":return[ju(FI("a",e,t,n),FI("b",e,t,n))];case"NotEqual":return[Jc(FI("a",e,t,n),FI("b",e,t,n))];case"Greater":return[ic(FI("a",e,t,n),FI("b",e,t,n))];case"GreaterEqual":return[oc(FI("a",e,t,n),FI("b",e,t,n))];case"Less":return[dc(FI("a",e,t,n),FI("b",e,t,n))];case"LessEqual":return[fc(FI("a",e,t,n),FI("b",e,t,n))];case"LogicalAnd":return[Dc(FI("a",e,t,n),FI("b",e,t,n))];case"LogicalNot":return[_c(FI("a",e,t,n))];case"LogicalOr":return[Oc(FI("a",e,t,n),FI("b",e,t,n))];case"Select":case"SelectV2":return[qu(FI("condition",e,t,n),FI("a",e,t,n),FI("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"matrices":return Xo((()=>((e,t,n)=>{switch(e.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[Hi(FI("a",e,t,n),FI("b",e,t,n),FI("transposeA",e,t,n),FI("transposeB",e,t,n))];case"Einsum":return[Yu(FI("equation",e,t,n),...FI("tensors",e,t,n))];case"Transpose":return[qi(FI("x",e,t,n),FI("perm",e,t,n))];case"_FusedMatMul":const[r,s]=FI("fusedOps",e,t,n),a="biasadd"===r,i="prelu"===s,o=FI("numArgs",e,t,n),l=FI("leakyreluAlpha",e,t,n);if(a){if(i&&2!==o)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!i&&1!==o)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[u,c]=FI("args",e,t,n);return[Rp({a:FI("a",e,t,n),b:FI("b",e,t,n),transposeA:FI("transposeA",e,t,n),transposeB:FI("transposeB",e,t,n),bias:u,activation:s,preluActivationWeights:c,leakyreluAlpha:l})];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"normalization":return Xo((()=>((e,t,n)=>{switch(e.op){case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[bu(FI("x",e,t,n),FI("mean",e,t,n),FI("variance",e,t,n),FI("offset",e,t,n),FI("scale",e,t,n),FI("epsilon",e,t,n))];case"LRN":return[gc(FI("x",e,t,n),FI("radius",e,t,n),FI("bias",e,t,n),FI("alpha",e,t,n),FI("beta",e,t,n))];case"Softmax":return[Bh(FI("x",e,t,n))];case"LogSoftmax":return[Nc(FI("x",e,t,n))];case"SparseToDense":return[gp(FI("sparseIndices",e,t,n),FI("outputShape",e,t,n),FI("sparseValues",e,t,n),FI("defaultValue",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"reduction":return Xo((()=>((e,t,n)=>{switch(e.op){case"Max":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[kc(FI("x",e,t,n),r,s)]}case"Mean":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[Vc(FI("x",e,t,n),r,s)]}case"Min":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[Hc(FI("x",e,t,n),r,s)]}case"Sum":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[Ic(FI("x",e,t,n),r,s)]}case"All":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[Bl(FI("x",e,t,n),r,s)]}case"Any":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[Vl(FI("x",e,t,n),r,s)]}case"ArgMax":{const r=FI("axis",e,t,n);return[Ul(FI("x",e,t,n),r)]}case"ArgMin":{const r=FI("axis",e,t,n);return[Wl(FI("x",e,t,n),r)]}case"Prod":{const r=FI("axis",e,t,n),s=FI("keepDims",e,t,n);return[uh(FI("x",e,t,n),r,s)]}case"Cumsum":{const r=FI("axis",e,t,n),s=FI("exclusive",e,t,n),a=FI("reverse",e,t,n);return[Bu(FI("x",e,t,n),r,s,a)]}case"Bincount":const r=FI("x",e,t,n),s=FI("weights",e,t,n),a=FI("size",e,t,n);return[ku(r,s,a)];case"DenseBincount":{const r=FI("x",e,t,n),s=FI("weights",e,t,n),a=FI("size",e,t,n),i=FI("binaryOutput",e,t,n);return[Vu(r,s,a,i)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"slice_join":return Xo((()=>((e,t,n)=>{switch(e.op){case"ConcatV2":case"Concat":{const r=FI("n",e,t,n),s=FI("axis",e,t,n);let a=FI("tensors",e,t,n);return a=a.slice(0,r),[pu(a,s)]}case"Gather":{const r=FI("x",e,t,n),s=FI("indices",e,t,n);return[ac(r,Si(s,"int32"),0)]}case"GatherV2":{const r=FI("axis",e,t,n),s=FI("batchDims",e,t,n),a=FI("x",e,t,n),i=FI("indices",e,t,n);return[ac(a,Si(i,"int32"),r,s)]}case"Reverse":{const r=FI("dims",e,t,n),s=[];for(let e=0;e{const r=FI("axis",e,t,n),s=FI("tensors",e,t,n),a=s[0].shape,i=qh(s[0]).shape,o=s.map((e=>{const t=ue(e.shape,a);if(!t&&!ue(qh(e).shape,i))throw new Error("the input tensors shape does not match");return t?e:uu(e,a)}));return[Kh(o,r)]}));case"Unpack":{const r=FI("axis",e,t,n),s=FI("tensor",e,t,n);return op(s,r)}case"Tile":{const r=FI("reps",e,t,n);return[nc(FI("x",e,t,n),r)]}case"Split":case"SplitV":{const r=FI("axis",e,t,n),s=FI("numOrSizeSplits",e,t,n),a=FI("x",e,t,n);return Gh(a,s,r)}case"ScatterNd":{const r=FI("indices",e,t,n),s=FI("values",e,t,n),a=FI("shape",e,t,n);return[mp(r,s,a)]}case"GatherNd":{const r=FI("x",e,t,n),s=FI("indices",e,t,n);return[yp(r,s)]}case"SparseToDense":{const r=FI("sparseIndices",e,t,n),s=FI("outputShape",e,t,n),a=FI("sparseValues",e,t,n),i=FI("defaultValue",e,t,n);return[gp(r,a,s,a.dtype===i.dtype?i:Si(i,a.dtype))]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"sparse":return Xo((()=>((e,t,n)=>{switch(e.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:a,reverseIndexMap:i}=$d.sparseFillEmptyRows(FI("indices",e,t,n),FI("values",e,t,n),FI("denseShape",e,t,n),FI("defaultValue",e,t,n));return[r,s,a,i]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=$d.sparseReshape(FI("inputIndices",e,t,n),FI("inputShape",e,t,n),FI("newShape",e,t,n));return[r,s]}case"SparseSegmentMean":return[$d.sparseSegmentMean(FI("data",e,t,n),FI("indices",e,t,n),FI("segmentIds",e,t,n))];case"SparseSegmentSum":return[$d.sparseSegmentSum(FI("data",e,t,n),FI("indices",e,t,n),FI("segmentIds",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"spectral":return Xo((()=>((e,t,n)=>{switch(e.op){case"FFT":return[Vh(FI("x",e,t,n))];case"IFFT":return[Uh(FI("x",e,t,n))];case"RFFT":return[Hh(FI("x",e,t,n))];case"IRFFT":return[Wh(FI("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"string":return Xo((()=>((e,t,n)=>{switch(e.op){case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=Ad.stringNGrams(FI("data",e,t,n),FI("dataSplits",e,t,n),FI("separator",e,t,n),FI("nGramWidths",e,t,n),FI("leftPad",e,t,n),FI("rightPad",e,t,n),FI("padWidth",e,t,n),FI("preserveShortSequences",e,t,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:a}=Ad.stringSplit(FI("input",e,t,n),FI("delimiter",e,t,n),FI("skipEmpty",e,t,n));return[r,s,a]}case"StringToHashBucketFast":return[Ad.stringToHashBucketFast(FI("input",e,t,n),FI("numBuckets",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"transformation":return Xo((()=>((e,t,n)=>{switch(e.op){case"Cast":return[Si(FI("x",e,t,n),FI("dtype",e,t,n))];case"ExpandDims":{const r=FI("axis",e,t,n);return[ec(FI("x",e,t,n),r)]}case"Squeeze":{const r=FI("axis",e,t,n);return[qh(FI("x",e,t,n),r)]}case"Reshape":return[uu(FI("x",e,t,n),FI("shape",e,t,n))];case"MirrorPad":return[qc(FI("x",e,t,n),FI("padding",e,t,n),FI("mode",e,t,n))];case"PadV2":case"Pad":return[th(FI("x",e,t,n),FI("padding",e,t,n),FI("constantValue",e,t,n))];case"SpaceToBatchND":{const r=FI("blockShape",e,t,n),s=FI("paddings",e,t,n);return[ih(FI("x",e,t,n),r,s)]}case"BatchToSpaceND":{const r=FI("blockShape",e,t,n),s=FI("crops",e,t,n);return[yu(FI("x",e,t,n),r,s)]}case"DepthToSpace":{const r=FI("blockSize",e,t,n),s=FI("dataFormat",e,t,n).toUpperCase();return[Uu(FI("x",e,t,n),r,s)]}case"BroadcastTo":return[Nu(FI("x",e,t,n),FI("shape",e,t,n))];case"BroadcastArgs":return[Iu(FI("s0",e,t,n),FI("s1",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n)));case"hash_table":return(async(e,t,n,r)=>{switch(e.op){case"HashTable":case"HashTableV2":{const s=FI("keyDType",e,t,n),a=FI("valueDType",e,t,n),i=new $N(s,a);return r.addHashTable(e.name,i),[i.handle]}case"LookupTableImport":case"LookupTableImportV2":{const s=FI("tableHandle",e,t,n,r),a=FI("keys",e,t,n),i=FI("values",e,t,n),o=r.getHashTableById(s.id);return[await o.import(a,i)]}case"LookupTableFind":case"LookupTableFindV2":{const s=FI("tableHandle",e,t,n,r),a=FI("keys",e,t,n),i=FI("defaultValue",e,t,n),o=r.getHashTableById(s.id);return[await o.find(a,i)]}case"LookupTableSize":case"LookupTableSizeV2":{const s=FI("tableHandle",e,t,n,r);return[r.getHashTableById(s.id).tensorSize()]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n,r);case"custom":const s=RI(e.op);if(s&&s.customExecutor)return s.customExecutor(new wN(e,t,n));throw TypeError(`Custom op ${e.op} is not registered.`);default:throw TypeError(`Unknown op '${e.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(e,t,n);return Ue(s)?s.then((e=>[].concat(e))):[].concat(s)}class RN{constructor(e={},t={},n={},r={}){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const e=[];for(let t=0;t0===e.id&&0===e.iterationId?"":`${e.frameName}-${e.iterationId}`)).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(const t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(const t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}}function MN(e,t,n,r){const s=new Set,a=[];let i=null,o=null;const l=new Set,u=Object.keys(e).map((e=>LI(e)[0]));let c=[];null!=r&&(c=r.map((e=>LI(e.name)[0])));const h=[...t];for(;h.length>0;){const e=h.pop();(ON(e)||LN(e)||zN(e))&&null==i&&(i=e,o=i.children.map((e=>e.name)).filter((e=>s.has(e)))),s.add(e.name),null==n[e.name]&&-1===u.indexOf(e.name)&&-1===c.indexOf(e.name)&&(0!==e.inputs.length?e.inputs.forEach((e=>{l.has(e.name)||(l.add(e.name),h.push(e))})):a.push(e.name))}return{inputs:e,outputs:t,usedNodes:s,missingInputs:a,dynamicNode:i,syncInputs:o}}const FN=["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"],DN=["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"],_N=["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"];function ON(e){return FN.indexOf(e.op)>=0}function LN(e){return DN.indexOf(e.op)>=0}function zN(e){return _N.indexOf(e.op)>=0}class PN{constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=",",this._functions={},this._functionExecutorMap={},this.intermediateTensors={},this.keepTensorForDebug=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,null!=e.functions&&Object.keys(e.functions).forEach((t=>{this._functionExecutorMap[t]=new PN(e.functions[t],this)}))}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){const t=Object.keys(e).map((t=>e[t].map((e=>e.id))));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map((e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0})))}get outputs(){return this._outputs.map((e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0})))}get inputNodes(){return this._inputs.map((e=>e.signatureKey||e.name))}get outputNodes(){return this._outputs.map((e=>{const t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t}))}get functions(){return Object.keys(this._functions).reduce(((e,t)=>(e[t]=this._functions[t].signature,e)),{})}getCompilationKey(e,t){const n=e.map((e=>e.name)).sort(),r=t.map((e=>e.name)).sort();return n.join(this.SEPERATOR)+"--"+r.join(this.SEPERATOR)}compile(e,t){const n=MN(e,t,this.weightMap,this._initNodes),{missingInputs:r,dynamicNode:s,syncInputs:a}=n;if(null!=s)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${a}]`);if(r.length>0){const n=t.map((e=>e.name)),s=Object.keys(e);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${s}]. Missing the following inputs: [${r}]`)}return function(e,t,n){const{usedNodes:r,inputs:s}=n,a=[],i=Object.keys(s).map((e=>LI(e)[0])).map((t=>e.nodes[t])),o=e.initNodes;i.forEach((e=>{r.has(e.name)&&a.push(e)})),e.weights.forEach((e=>{r.has(e.name)&&a.push(e)})),null!=o&&o.forEach((e=>{r.has(e.name)&&a.push(e)}));const l=new Set,u=[];for(;a.length>0;){const e=a.pop();l.add(e.name),t[e.name]||u.push(e),e.children.forEach((e=>{!l.has(e.name)&&r.has(e.name)&&e.inputs.every((e=>l.has(e.name)))&&a.push(e)}))}return u}(this.graph,this.weightMap,n)}execute(e,t){e=this.mapInputs(e);const n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);const r=n.map((e=>this.graph.nodes[LI(e)[0]])),s=t.map((e=>LI(e)[0]));let a=s.map((e=>this.graph.nodes[e]));this.resetIntermediateTensors(),0===a.length&&(a=this._outputs);const i=this.getCompilationKey(r,a);let o=this.compiledMap.get(i);null==o&&(o=this.compile(e,a),this.compiledMap.set(i,o));const l={},u={};return Xo((()=>{const n=new RN(this.weightMap,l,u,this.functionExecutorMap),r=Object.assign({},this.weightMap);Object.keys(e).forEach((t=>{const[n,s]=LI(t),a=[];a[s]=e[t],r[n]=a}));const a=this.getFrozenTensorIds(r),i={};for(let e=0;eDI(e,r,n)))}))}getFrozenTensorIds(e){const t=[].concat.apply([],Object.keys(e).map((t=>e[t])).map((e=>e.map((e=>e.id)))));return new Set(t)}checkTensorForDisposal(e,t,n,r,s,a,i){"control"!==t.category&&-1===a.indexOf(e)&&(n[e].forEach((e=>{null!=e&&(i[e.id]=(i[e.id]||0)+t.children.length)})),t.inputs.forEach((e=>{if("control"!==e.category){const a=function(e,t,n){return t[OI(e,n.currentContextId)]}(e.name,n,r);null!=a&&a.forEach((e=>{if(e&&!e.kept&&!s.has(e.id)){const n=i[e.id];if(1===n){if(this.keepTensorForDebug){const[n,s]=_I(t.name,r);this.intermediateTensors[n]||(this.intermediateTensors[n]=[]),this.intermediateTensors[n][s]=e}else e.dispose();delete i[e.id]}else null!=n&&i[e.id]--}}))}})))}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){this.intermediateTensors&&(Object.keys(this.intermediateTensors).forEach((e=>this.intermediateTensors[e].forEach((e=>e.dispose())))),this.disposeTensorsMap())}disposeTensorsMap(){this.tensorsMap&&Object.keys(this.tensorsMap).forEach((e=>{this.tensorsMap[e].forEach((e=>{!e||e.kept||e.isDisposed||this.keepIds.has(e.id)||e.dispose()}))}))}getIntermediateTensors(){return this.tensorsMap}resetIntermediateTensors(){for(const e in this.intermediateTensors)this.intermediateTensors[e].forEach((e=>e.dispose())),delete this.intermediateTensors[e]}async _executeAsync(e,t,n=!1,r={},s={}){n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepTensorForDebug=He().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){console.warn(e.message)}this.resetIntermediateTensors();const a=new RN(this.weightMap,r,s,this.functionExecutorMap);this.tensorsMap=await this.executeWithControlFlow(e,a,t,n);const i=t.map((e=>DI(e,this.tensorsMap,a))),o=i.map((e=>e.id)),l=Object.keys(e).map((t=>e[t].id));return this.keepIds=new Set([...o,...l,...this.weightIds]),this.keepTensorForDebug||this.disposeTensorsMap(),null==this.parent&&a.dispose(this.keepIds),i}async executeFunctionAsync(e,t,n){const r=e.reduce(((e,t,n)=>(e[this.inputs[n].name]=t,e)),{});return this._executeAsync(r,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,r){const s=Object.keys(e),a=s.map((e=>this.graph.nodes[LI(e)[0]])),i=n.map((e=>LI(e)[0]));let o=i.map((e=>this.graph.nodes[e]));0===o.length&&(o=this._outputs);const{usedNodes:l,missingInputs:u,dynamicNode:c,syncInputs:h}=MN(e,o,this.weightMap,this._initNodes),p=[...a,...this.graph.weights,...this._initNodes||[]].map((e=>({node:e,contexts:t.currentContext}))),d=Object.assign({},this.weightMap);Object.keys(e).forEach((t=>{const[n,r]=LI(t),s=[];s[r]=e[t],d[n]=s}));const f={},m=this.getFrozenTensorIds(d),g={};for(;p.length>0;){const e=this.processStack(a,p,t,d,g,m,i,f,l);await Promise.all(e)}null!=c||r||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=o.filter((e=>!ON(e)&&!DI(e.name,d,t))).map((e=>e.name));if(y.length>0){let e="";throw null!=c&&(e=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${s}]. Consider providing the following inputs: [${u}]. ${e}`)}return d}processStack(e,t,n,r,s,a,i,o,l){const u=[];for(;t.length>0;){const e=t.pop();n.currentContext=e.contexts;let c="";if("Enter"===e.node.op&&FI("isConstant",e.node,r,n)&&([c]=_I(e.node.name,n)),null==r[e.node.name]){const h=AN(e.node,r,n,this._resourceManager);c||([c]=_I(e.node.name,n));const p=n.currentContext;Ue(h)?u.push(h.then((u=>(r[c]=u,n.currentContext=p,this.checkTensorForDisposal(c,e.node,r,n,a,i,o),this.processChildNodes(e.node,t,n,r,s,l),u)))):(r[c]=h,this.checkTensorForDisposal(c,e.node,r,n,a,i,o),this.processChildNodes(e.node,t,n,r,s,l))}else this.processChildNodes(e.node,t,n,r,s,l)}return u}processChildNodes(e,t,n,r,s,a){e.children.forEach((e=>{const[i]=_I(e.name,n);!s[i]&&a.has(e.name)&&("Merge"===e.op?e.inputNames.some((e=>!!DI(e,r,n)))&&(s[i]=!0,t.push({contexts:n.currentContext,node:e})):e.inputNames.every((e=>!!DI(e,r,n)))&&(s[i]=!0,t.push({contexts:n.currentContext,node:e})))}))}dispose(){Object.keys(this.weightMap).forEach((e=>this.weightMap[e].forEach((e=>e.dispose()))))}checkInputShapeAndType(e){Object.keys(e).forEach((t=>{const n=e[t],[r]=LI(t),s=this.graph.nodes[r];if(s.attrParams.shape&&s.attrParams.shape.value){const e=s.attrParams.shape.value;re(e.length===n.shape.length&&n.shape.every(((t,n)=>-1===e[n]||e[n]===t)),(()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${e}], but was [${n.shape}]`))}s.attrParams.dtype&&s.attrParams.dtype.value&&re(n.dtype===s.attrParams.dtype.value,(()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`))}))}mapInputs(e){const t={};for(const n in e)null!=this._signature&&null!=this._signature.inputs&&null!=this._signature.inputs[n]?t[this._signature.inputs[n].name]=e[n]:t[n]=e[n];return t}checkInputs(e){const t=Object.keys(e).filter((e=>{const[t]=LI(e);return null==this.graph.nodes[t]}));if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map((e=>null!=this._signature&&null!=this._signature.outputs&&null!=this._signature.outputs[e]?this._signature.outputs[e].name:e),{})}checkOutputs(e){e.forEach((e=>{const[t]=LI(e);if(!this.graph.nodes[t])throw new Error(`The output '${e}' is not found in the graph`)}))}}class BN{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(const e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(const e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}}class VN{constructor(e,t={}){this.modelUrl=e,this.loadOptions=t,this.version="n/a",null==t&&(this.loadOptions={}),this.resourceManager=new BN}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}findIOHandler(){const e=this.modelUrl;if(null!=e.load)this.handler=e;else if(null!=this.loadOptions.requestInit)this.handler=Bi(e,this.loadOptions);else{const t=ja(e,this.loadOptions);if(0===t.length)t.push(Bi(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}async load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const e=await this.handler.load();return this.loadSync(e)}loadSync(e){this.artifacts=e;const t=this.artifacts.modelTopology;let n;n=null!=this.artifacts.userDefinedMetadata&&null!=this.artifacts.userDefinedMetadata.signature?this.artifacts.userDefinedMetadata.signature:this.artifacts.signature,this.signature=n,this.version=`${t.versions.producer}.${t.versions.minConsumer}`;const r=Ma(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new PN(aN.Instance.transformGraph(t,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(r),this.executor.resourceManager=this.resourceManager,null!=e.modelInitializer&&null!=e.modelInitializer.node){const t=aN.Instance.transformGraph(e.modelInitializer);this.initializer=new PN(t),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(e,t){if("string"==typeof e){const t=Ha(e);if(0===t.length)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Error(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}predict(e,t){return this.execute(e,this.outputNodes)}normalizeInputs(e){if(!(e instanceof qs||Array.isArray(e)))return e;if((e=Array.isArray(e)?e:[e]).length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${e.length} input tensors.`);return this.inputNodes.reduce(((t,n,r)=>(t[n]=e[r],t)),{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}execute(e,t){e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=this.executor.execute(e,t);return n.length>1?n:n[0]}async executeAsync(e,t){e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce(((t,n)=>(t[n]=[e[n]],t)),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}}async function UN(e,t={}){if(null==e)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==t&&(t={}),t.fromTFHub&&null==e.load&&(e.endsWith("/")||(e+="/"),e=`${e}model.json?tfjs-format=file`);const n=new VN(e,t);return await n.load(),n}const WN="3.13.0";function GN(e,t,n=new Map,r=new Set){if(null==e)return null;if("function"==typeof Blob&&e instanceof Blob)return e.slice();if(r.has(e))throw new Error("Circular references are not supported.");if(n.has(e))return n.get(e);const s=t(e);if(s.recurse&&null!==s.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(s.recurse){if(XN(e)){const s=Array.isArray(e)?[]:{};r.add(e);for(const a in e){const i=GN(e[a],t,n,r);s[a]=i}return r.delete(e),e.__proto__&&(s.__proto__=e.__proto__),s}throw new Error(`Can't recurse into non-iterable type: ${e}`)}return n.set(e,s.value),s.value}function HN(e,t=qN){return jN(e,t)}function jN(e,t,n=new Set){const r=e[0];if(n.has(r))throw new Error("Circular references are not supported.");const s=t(e);if(s.recurse&&null!==s.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(s.recurse){if(XN(r)){const s=Array.isArray(r)?[]:{};n.add(r);for(const a in r){const r=jN(e.map((e=>e[a])),t,n);s[a]=r}return n.delete(r),s}throw new Error(`Can't recurse into non-iterable type: ${r}`)}return s.value}function qN(e){return null===e?null:XN(e[0])?{value:null,recurse:!0}:{value:e,recurse:!1}}async function KN(e,t){const n=new Map;GN(e,t,n);for(const e of Array.from(n.keys())){const t=n.get(e);if(Ue(t)){const r=await t;n.set(e,r)}}return GN(e,t,n)}function XN(e){let t=!1;if(He().get("IS_BROWSER"))t=e instanceof TextDecoder;else{const{StringDecoder:r}=n(4589);t=e instanceof r}return null!=e&&!ArrayBuffer.isView(e)&&(Array.isArray(e)||"object"==typeof e&&!(e instanceof qs)&&!(e instanceof Promise)&&!t)}function YN(e){return e instanceof qs?{value:e.clone(),recurse:!1}:XN(e)?{value:null,recurse:!0}:{value:e,recurse:!1}}class ZN{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(const t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}}class JN extends ZN{constructor(){super(JN.INITIAL_CAPACITY)}isFull(){return!1}push(e){super.isFull()&&this.expand(),super.push(e)}unshift(e){super.isFull()&&this.expand(),super.unshift(e)}expand(){const e=2*this.capacity,t=new Array(e),n=this.length();for(let e=0;e!0===e))}rowMajorBatch(e,t=!0){return new oS(this,e,t)}columnMajorBatch(e,t=!0,n=qN){return this.rowMajorBatch(e,t).map((e=>HN(e,n)))}concatenate(e,t){return new fS(QN([this,e]),t)}take(e){return e<0||null==e?this:new iS(this,e)}skip(e){return e<0||null==e?this:new aS(this,e)}prefetch(e){return new yS(this,e)}shuffle(e,t){return new bS(this,e,t)}serial(){return new sS(this)}}class nS extends tS{constructor(e){super(),this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const e=this.items[this.trav];return this.trav++,{value:(t=e,function(e,t){return GN(e,t)}(t,YN)),done:!1};var t}}class rS extends tS{constructor(e){super(),this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}}class sS extends tS{constructor(e){super(),this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){return this.upstream.next()}}class aS extends tS{constructor(e,t){super(),this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class oS extends tS{constructor(e,t,n=!0){super(),this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){const e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}}class lS extends tS{constructor(e,t){super(),this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;){const e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;Yo(e.value)}}}class uS extends tS{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=oa(e.value),n=this.transform(e.value),r=oa(n);for(const e of t)ia(e,r)||e.dispose();return{value:n,done:!1}}}class cS extends tS{constructor(e,t){super(),this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}}class hS extends tS{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=oa(e.value),n=await this.transform(e.value),r=oa(n);for(const e of t)ia(e,r)||e.dispose();return{value:n,done:!1}}}class pS extends tS{constructor(){super(),this.outputQueue=new JN,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class dS extends pS{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const e=await this.upstream.next();if(e.done)return!1;const t=oa(e.value),n=this.transform(e.value),r=oa(n);this.outputQueue.pushAll(n);for(const e of t)ia(e,r)||e.dispose();return!0}}class fS extends tS{constructor(e,t){super(),this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,null==this.iterator){const e=await this.moreIterators.next();if(e.done)return{value:null,done:!0};this.iterator=e.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}}var mS;!function(e){e[e.FAIL=0]="FAIL",e[e.SHORTEST=1]="SHORTEST",e[e.LONGEST=2]="LONGEST"}(mS||(mS={}));class gS extends tS{constructor(e,t=mS.FAIL){super(),this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;const r=await KN(this.iterators,(function(e){return e instanceof tS?{value:e.next().then((e=>(t++,e.done&&n++,e.value))),recurse:!1}:{value:null,recurse:!0}}));if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case mS.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case mS.SHORTEST:return{value:null,done:!0};case mS.LONGEST:}return this.count++,{value:r,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class yS extends tS{constructor(e,t){super(),this.upstream=e,this.bufferSize=t,this.buffer=new ZN(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}}class bS extends yS{constructor(e,t,n){super(e,t),this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=hh.alea(n||Rs().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then((()=>this.serialNext())),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(!t.done)return this.refill(),t;this.upstreamExhausted=!0}return{value:null,done:!0}}}class xS{constructor(){this.size=null}batch(e,t=!0){const n=this;let r;return re(e>0,(()=>`batchSize needs to be positive, but it is\n ${e}`)),r=this.size===1/0||null==this.size?this.size:t?Math.ceil(this.size/e):Math.floor(this.size/e),wS((async()=>(await n.iterator()).columnMajorBatch(e,t,IS)),r)}concatenate(e){const t=this;let n;return n=this.size===1/0||e.size===1/0?1/0:null!=this.size&&null!=e.size?this.size+e.size:null,wS((async()=>(await t.iterator()).concatenate(await e.iterator())),n)}filter(e){const t=this;let n;return n=this.size===1/0?1/0:null,wS((async()=>(await t.iterator()).filter((t=>Xo((()=>e(t)))))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){const t=this;return wS((async()=>(await t.iterator()).map((t=>Xo((()=>e(t)))))),this.size)}mapAsync(e){const t=this;return wS((async()=>(await t.iterator()).mapAsync(e)),this.size)}prefetch(e){if(null==e)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const t=this;return wS((async()=>(await t.iterator()).prefetch(e)),this.size)}repeat(e){const t=this;let n;return n=null!=this.size&&e>0?this.size*e:0===e?0:null!=this.size&&(void 0===e||e<0)?1/0:null,wS((async()=>{return n=eS((async()=>({value:await t.iterator(),done:!1}))).take(e),new fS(n,r);var n,r}),n)}skip(e){const t=this;let n;return n=null!=this.size&&e>=0&&this.size>=e?this.size-e:null!=this.size&&(this.size(await t.iterator()).skip(e)),n)}shuffle(e,t,n=!0){if(null==e||e<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const r=this,s=hh.alea(t||Rs().toString());return wS((async()=>{let t=s.int32();return n&&(t+=s.int32()),(await r.iterator()).shuffle(e,t.toString())}),this.size)}take(e){const t=this;let n;return n=null!=this.size&&this.size>e?e:null!=this.size&&this.size<=e?this.size:null,wS((async()=>(await t.iterator()).take(e)),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function wS(e,t=null){return new class extends xS{constructor(){super(...arguments),this.size=t}async iterator(){return e()}}}function vS(e){return wS((async()=>QN(e)),e.length)}function kS(e){if(!XN(e))throw new Error("The argument to zip() must be an object or array.");let t;if(Array.isArray(e))for(let n=0;nfunction(e,t=mS.FAIL){return new gS(e,t)}(await KN(e,(e=>{if(e instanceof xS)return{value:e.iterator(),recurse:!1};if(XN(e))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")})),mS.SHORTEST)),t)}function IS(e){if(null===e)return null;return null==(t=e[0])||null===(n=t)||"object"!=typeof n&&"function"!=typeof n||Array.isArray(t)||"object"==typeof t&&t instanceof qs||Ne(t)?{value:function(e){if(0===e.length)throw new Error("Can't make a batch of zero elements.");return e[0]instanceof qs?Kh(e):$a(e)}(e),recurse:!1}:{value:null,recurse:!0};var t,n}xS.MAX_BUFFER_SIZE=1e4;class NS extends xS{constructor(e){super(),this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map((e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e)))}}const SS='"',TS=Symbol("out"),CS=Symbol("field"),ES=Symbol("quote"),$S=Symbol("quoteafterquote"),AS=Symbol("quoteinquote");class RS extends xS{constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new NS(e),t||(t={}),this.hasHeader=!1!==t.hasHeader,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(re(null==t.delimiter,(()=>"Delimiter should not be provided when delimWhitespace is true.")),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&re(e.length===this.fullColumnNames.length,(()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+").")),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce(((e,t)=>(e[t]=e[t]+1||1,e)),{}),n=Object.keys(t).filter((e=>t[e]>1));if(re(0===n.length,(()=>"Duplicate column names found: "+n.toString())),this.columnConfigs)for(const e of Object.keys(this.columnConfigs))if(-1===this.fullColumnNames.indexOf(e))throw new Error('The key "'+e+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").");this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await this.base.iterator(),t=await e.next();if(t.done)throw new Error("No data was found for CSV parsing.");const n=t.value;return this.parseRow(n,!1)}return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map((e=>this.makeDataElement(e)))}makeDataElement(e){const t=this.parseRow(e),n={},r={};for(let s=0;s14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=!1!==e.includeSpectrogram,this.includeWaveform=!0===e.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(He().get("IS_NODE"))throw new Error("microphone API is only supported in browser environment.");const t=new MS(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(e){throw new Error(`Error thrown while initializing video stream: ${e.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t;const n=await this.getAudioData();if(this.includeSpectrogram){const t=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const e=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const e=[],t=[];let n=0;return new Promise((r=>{const s=setInterval((()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&r({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),r({freqDataQueue:e,timeDataQueue:t}))}),this.fftSize/this.sampleRateHz*1e3)}))}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){const t=e[0].length,n=new Float32Array(e.length*t);return e.forEach(((e,r)=>n.set(e,r*t))),n}getTensorFromAudioDataArray(e,t){const n=new Float32Array(oe(t));return n.set(e,n.length-e.length),$a(n,t)}}class FS extends tS{constructor(e,t){if(super(),this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Jh([0],"int32"),this.webcamConfig.centerCrop){const e=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,t=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-e)/2,r=(1-t)/2,s=n+e,a=t+r;this.cropBox=Qh([r,n,a,s],[1,4])}else this.cropBox=Qh([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(He().get("IS_NODE"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}const n=new FS(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&re("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,(()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`));try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise((e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}}))}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=ro(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(!this.resize)return{value:e,done:!1};try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{e.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(e){return Xo((()=>{const t=ec(Si(e,"float32"),0);let n;n=Td.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const r=n.shape;return uu(n,r.slice(1))}))}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach((e=>e.stop()));try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}}class DS{}class _S extends tS{split(e){return new OS(this,e)}}class OS extends _S{constructor(e,t){super(),this.upstream=e,this.impl=new LS(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class LS extends pS{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const e of t.slice(0,-1))this.outputQueue.push(e);return this.carryover=t[t.length-1],!0}}class zS extends tS{decodeUTF8(){return new PS(this)}}class PS extends _S{constructor(e){super(),this.upstream=e,this.impl=new BS(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class BS extends pS{constructor(e){if(super(),this.upstream=e,He().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:e}=n(4589);this.decoder=new e("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t,n;return!e.done&&(t=e.value,n=He().get("IS_BROWSER")?this.decoder.decode(t,{stream:!0}):this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0)}}class VS extends zS{constructor(e,t={}){super(),this.file=e,this.options=t,re(e instanceof Uint8Array||!!He().get("IS_BROWSER")&&(e instanceof File||e instanceof Blob),(()=>"FileChunkIterator only supports File, Blob and Uint8Array right now.")),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const e=new Promise(((e,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const r=new FileReader;r.onload=n=>{let s=r.result;if(s instanceof ArrayBuffer&&(s=new Uint8Array(s)),!(s instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(s)},r.onabort=e=>t(new Error("Aborted")),r.onerror=e=>t(new Error(e.type));const s=this.file.slice(this.offset,n);r.readAsArrayBuffer(s)}this.offset=n}));return{value:await e,done:!1}}}function US(e){return"string"==typeof e&&"file://"===e.substr(0,7)}class WS extends DS{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(US(this.input)&&He().get("IS_NODE")){const e=n(2993);this.input=e.readFileSync(this.input.substr(7))}return new VS(this.input,this.options)}}class GS extends DS{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return US(this.url)?new WS(this.url,this.fileOptions).iterator():async function(e,t={},n){let r,s;var a;"string"==typeof e?r=e:(r=e.url,s={method:(a=e).method,headers:a.headers,body:a.body,mode:a.mode,credentials:a.credentials,cache:a.cache,redirect:a.redirect,referrer:a.referrer,integrity:a.integrity});const i=await(n||Ms)(r,s);if(i.ok){const e=new Uint8Array(await i.arrayBuffer());return new VS(e,t)}throw new Error(i.statusText)}(this.url,this.fileOptions)}}function HS(e,t={}){return new RS(new GS(e),t)}function jS(e){const t=eS(e);return wS((async()=>t))}function qS(e){return wS((async()=>{const t=await e();return eS((()=>t.next()))}))}async function KS(e,t){return FS.create(e,t)}async function XS(e){return MS.create(e)}const YS="3.13.0";function ZS(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{null!=e&&re("complex64"!==e.dtype,(()=>`${t} does not support complex64 tensors in the CPU backend.`))}))}const JS=up;class QS extends q{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new j(this,jo())}nextDataId(){return QS.nextDataId++}write(e,t,n){this.firstUse&&(this.firstUse=!1,He().get("IS_NODE")&&ns("\n============================\nHi there 👋. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.\n============================"));const r={id:this.nextDataId()};return this.data.set(r,{values:e,dtype:n,refCount:1}),r}makeTensorInfo(e,t,n){let r;if("string"===t&&null!=n&&n.length>0&&Ce(n[0])){const s=n.map((e=>Fs(e)));r=this.write(s,e,t)}else r=this.write(n,e,t);return{dataId:r,shape:e,dtype:t}}refCount(e){return this.data.has(e)?this.data.get(e).refCount:0}incRef(e){this.data.get(e).refCount++}decRef(e){this.data.has(e)&&this.data.get(e).refCount--}move(e,t,n,r,s){this.data.set(e,{values:t,dtype:r,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){const{dtype:t,complexTensorInfos:n}=this.data.get(e);return"complex64"===t?Jd(this.readSync(n.real.dataId),this.readSync(n.imag.dataId)):this.data.get(e).values}bufferSync(e){const t=this.readSync(e.dataId);let n=t;if("string"===e.dtype)try{n=t.map((e=>Ds(e)))}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return Ni(e.shape,e.dtype,n)}makeOutput(e,t,n){const r=this.write(e,t,n);return jo().makeTensorFromDataId(r,t,n,this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(e);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){const t=Rs();return e(),{kernelMs:Rs()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){ZS([e],"where");const t=this.readSync(e.dataId);return JS(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}}function eT(e,t,n){return({inputs:r,attrs:s,backend:a})=>{const{x:i}=r;if(ZS(i,e),"string"===i.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=a,l=o.data.get(i.dataId).values,u=oe(i.shape),c=n||i.dtype,h=we(c,u);for(let e=0;e{const{x:i}=r;if(ZS(i,e),"string"===i.dtype||"string"===n)throw new Error("unaryKernelFunc does not support string input/output");const o=a,l=o.data.get(i.dataId).values,u=n||i.dtype,c=t(l,u,s);return o.makeTensorInfo(i.shape,u,c)}}QS.nextDataId=0,al("cpu",(()=>new QS),1);const nT=eT(jt,(e=>e>=0?e:Math.exp(e)-1)),rT={kernelName:jt,backendName:"cpu",kernelFunc:nT};function sT(e){const{inputs:t,backend:n}=e,{x:r}=t;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const aT={kernelName:cn,backendName:"cpu",kernelFunc:sT};function iT(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{alpha:a}=r;ZS([s],"leakyRelu");const i=oe(s.shape),o=n.data.get(s.dataId).values,l=xe("float32",i);for(let e=0;e{const i=Zi(t,n),o=i.length,l=Fe(i),u=xe(a,oe(i)),c=t.length,h=n.length,p=Fe(t),d=Fe(n),f=Xi(t,i),m=Xi(n,i);if(f.length+m.length===0)for(let t=0;ta[e]=0));const i=Be(a,c,p),g=n.slice(-h);m.forEach((e=>g[e]=0));const y=Be(g,h,d);u[t]=e(r[i],s[y])}return[u,i]}}const uT=lT(((e,t)=>e<0?t*e:e));function cT(e){const{inputs:t,backend:n}=e,{x:r,alpha:s}=t;ZS([r,s],"prelu");const a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,[o,l]=uT(r.shape,s.shape,a,i,"float32");return n.makeTensorInfo(l,"float32",o)}const hT={kernelName:Qn,backendName:"cpu",kernelFunc:cT},pT=eT(sr,(e=>Math.max(0,e))),dT={kernelName:sr,backendName:"cpu",kernelFunc:pT},fT=eT(cr,(e=>Math.min(Math.max(0,e),6))),mT={kernelName:cr,backendName:"cpu",kernelFunc:fT};function gT(e){return(t,n,r)=>{const s=xe(n,t.length);for(let n=0;n1/(1+Math.exp(-e)))),bT=eT(vr,(e=>1/(1+Math.exp(-e)))),xT={kernelName:vr,backendName:"cpu",kernelFunc:bT};function wT(e,t,n,r,s){if("linear"===n)return sT({inputs:{x:t},backend:e});if("relu"===n)return pT({inputs:{x:t},backend:e});if("elu"===n)return nT({inputs:{x:t},backend:e});if("relu6"===n)return fT({inputs:{x:t},backend:e});if("prelu"===n)return cT({inputs:{x:t,alpha:r},backend:e});if("leakyrelu"===n)return iT({inputs:{x:t},backend:e,attrs:{alpha:s}});if("sigmoid"===n)return bT({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}function vT(e){const{inputs:t,backend:n}=e,{real:r,imag:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=n.makeTensorInfo(r.shape,"complex64");return n.data.get(o.dataId).complexTensorInfos={real:n.makeTensorInfo(r.shape,"float32",a),imag:n.makeTensorInfo(s.shape,"float32",i)},o}const kT={kernelName:kt,backendName:"cpu",kernelFunc:vT};function IT(e,t,n="float32"){if("complex64"===n)return vT({inputs:{real:IT(e,t,"float32"),imag:IT(e,t,"float32")},backend:e});const r=Le(oe(t),n);return e.makeTensorInfo(t,n,r)}function NT(e){const{inputs:t,backend:n}=e,{input:r}=t,s=n.data.get(r.dataId).complexTensorInfos.real,a=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,a)}const ST={kernelName:nr,backendName:"cpu",kernelFunc:NT};function TT(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dtype:a}=r;if("complex64"===a){if("complex64"===s.dtype)return sT({inputs:{x:s},backend:n});const e=IT(n,s.shape,s.dtype),t=TT({inputs:{x:s},backend:n,attrs:{dtype:"float32"}}),r=vT({inputs:{real:t,imag:e},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),r}if("complex64"===s.dtype){const e=NT({inputs:{input:s},backend:n}),t=TT({inputs:{x:e},backend:n,attrs:{dtype:a}});return n.disposeIntermediateTensorInfo(e),t}if(!Ie(s.dtype,a)){const e=sT({inputs:{x:s},backend:n});return{dataId:e.dataId,shape:e.shape,dtype:a}}if("int32"===a){const e=n.data.get(s.dataId).values,t=Int32Array.from(e);return n.makeTensorInfo(s.shape,"int32",t)}if("bool"===a){const e=n.data.get(s.dataId).values,t=As([0],s.dtype),[r,a]=lT(((e,t)=>e!==t?1:0))(s.shape,[],e,t,"bool");return n.makeTensorInfo(a,"bool",r)}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${a}`)}const CT={kernelName:xt,backendName:"cpu",kernelFunc:TT};function ET(e,t,n,r){return null==n?({inputs:n,backend:s})=>{const{a,b:i}=n,o=s;ZS([a,i],e);const l=o.data.get(a.dataId).values,u=o.data.get(i.dataId).values,c="string"===a.dtype?Af(l):l,h="string"===a.dtype?Af(u):u,p=r||a.dtype,[d,f]=t(a.shape,i.shape,c,h,p);return o.makeTensorInfo(f,p,d)}:({inputs:e,backend:s})=>{const{a,b:i}=e,o=s;if("complex64"===a.dtype||"complex64"===i.dtype){const e=TT({inputs:{x:a},backend:o,attrs:{dtype:"complex64"}}),t=o.data.get(e.dataId),r=t.complexTensorInfos.real,s=t.complexTensorInfos.imag,l=o.data.get(r.dataId).values,u=o.data.get(s.dataId).values,c=TT({inputs:{x:i},backend:o,attrs:{dtype:"complex64"}}),h=o.data.get(c.dataId),p=h.complexTensorInfos.real,d=h.complexTensorInfos.imag,f=o.data.get(p.dataId).values,m=o.data.get(d.dataId).values,[g,y,b]=n(a.shape,i.shape,l,u,f,m),x=o.makeTensorInfo(b,"float32",g),w=o.makeTensorInfo(b,"float32",y),v=vT({inputs:{real:x,imag:w},backend:o});return o.disposeIntermediateTensorInfo(e),o.disposeIntermediateTensorInfo(c),o.disposeIntermediateTensorInfo(x),o.disposeIntermediateTensorInfo(w),v}{const e=o.data.get(a.dataId).values,n=o.data.get(i.dataId).values,s=r||a.dtype,[l,u]=t(a.shape,i.shape,e,n,s);return o.makeTensorInfo(u,s,l)}}}function $T(e){return(t,n,r,s,a,i)=>{const o=Zi(t,n),l=oe(o),u=o.length,c=Fe(o),h=xe("float32",l),p=xe("float32",l),d=Xi(t,o),f=Xi(n,o),m=Jd(r,s),g=Jd(a,i),y=t.length,b=Fe(t),x=n.length,w=Fe(n);if(d.length+f.length===0)for(let t=0;tr[e]=0));const s=Be(r,y,b),a=n.slice(-x);f.forEach((e=>a[e]=0));const i=Be(a,x,w),o=e(m[2*s],m[2*s+1],g[2*i],g[2*i+1]);h[t]=o.real,p[t]=o.imag}return[h,p,o]}}const AT=lT(((e,t)=>e+t)),RT=$T(((e,t,n,r)=>({real:e+n,imag:t+r}))),MT=ET(Qe,AT,RT),FT={kernelName:Qe,backendName:"cpu",kernelFunc:MT};function DT(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{shape:a}=r,i=oe(s.shape),o=ge(a,i),l=oe(o);re(i===l,(()=>`The new shape (${o}) has ${l} elements and the old shape (${s.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`)),n.incRef(s.dataId);const u=n.data.get(s.dataId);if(null!=u.complexTensorInfos){const e=u.complexTensorInfos.real,t=u.complexTensorInfos.imag;e.shape=o,t.shape=o}return{dataId:s.dataId,shape:o,dtype:s.dtype}}const _T={kernelName:ar,backendName:"cpu",kernelFunc:DT};function OT(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a}=t,{transposeA:i,transposeB:o}=r;ZS([s,a],"matMul");const l=s.shape.length,u=a.shape.length,c=i?s.shape[l-2]:s.shape[l-1],h=o?a.shape[u-1]:a.shape[u-2],p=i?s.shape[l-1]:s.shape[l-2],d=o?a.shape[u-2]:a.shape[u-1],f=s.shape.slice(0,-2),m=a.shape.slice(0,-2),g=oe(f),y=oe(m),b=Zi(s.shape.slice(0,-2),a.shape.slice(0,-2)).concat([p,d]);re(c===h,(()=>`Error in matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${s.shape} and ${a.shape} and transposeA=${i} and transposeB=${o} must match.`));const x=o?[y,d,h]:[y,h,d],w=DT({inputs:{x:s},backend:n,attrs:{shape:i?[g,c,p]:[g,p,c]}}),v=DT({inputs:{x:a},backend:n,attrs:{shape:x}}),k=i?w.shape[1]:w.shape[2],I=i?w.shape[2]:w.shape[1],N=o?v.shape[1]:v.shape[2],S=Math.max(g,y),T=n.data.get(w.dataId).values,C=n.data.get(v.dataId).values,E=Fe(w.shape),$=Fe(v.shape),[A,R,M]=i?[E[0],1,E[1]]:[E[0],E[1],1],[F,D,_]=o?[1,$[1],$[0]]:[$[1],1,$[0]],O=I*N,L=Ni([S,I,N],w.dtype),z=L.values,P=n.blockSize;for(let e=0;e{const{x:t}=e.inputs,n=e.backend;ZS(t,"abs");let r=new Float32Array(oe(t.shape));return r=PT(n.data.get(t.dataId).values),n.makeOutput(r,t.shape,t.dtype)}},VT=eT(Ze,(e=>Math.acos(e))),UT={kernelName:Ze,backendName:"cpu",kernelFunc:VT},WT=eT(Je,(e=>Math.acosh(e))),GT={kernelName:Je,backendName:"cpu",kernelFunc:WT},HT={kernelName:et,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,r=t;ZS(t,"addN");const s=r.map((e=>n.data.get(e.dataId).values)),a=Ni(r[0].shape,r[0].dtype),i=a.values;for(let e=0;en&&(n=s,r=e)}p[e]=r}return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(c,"int32",p)}},JT={kernelName:st,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;ZS(s,"argMin");let i=ye(a,s.shape);const o=Ac(i,s.shape.length);let l=s;const u=[];null!=o&&(l=qT({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Mc(i.length,l.shape.length)),i=[i[0]],$c("argMin",i,l.shape.length);const[c,h]=Cc(l.shape,i),p=Le(oe(c),"int32"),d=oe(h),f=n.data.get(l.dataId).values;for(let e=0;en.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(c,"int32",p)}},QT=eT(at,(e=>Math.asin(e))),eC={kernelName:at,backendName:"cpu",kernelFunc:QT},tC=eT(it,(e=>Math.asinh(e))),nC={kernelName:it,backendName:"cpu",kernelFunc:tC},rC=eT(ot,(e=>Math.atan(e))),sC={kernelName:ot,backendName:"cpu",kernelFunc:rC},aC=lT(((e,t)=>Math.atan2(e,t))),iC=ET(ut,aC),oC={kernelName:ut,backendName:"cpu",kernelFunc:iC},lC=eT(lt,(e=>Math.atanh(e))),uC={kernelName:lt,backendName:"cpu",kernelFunc:lC};function cC(e,t,n,r,s,a){const i=s.strideHeight,o=s.strideWidth,l=s.dilationHeight,u=s.dilationWidth,c=s.effectiveFilterHeight,h=s.effectiveFilterWidth,p=s.padInfo.top,d=s.padInfo.left,f="max"===a?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=Ni(s.outShape,n),g=m.values,y=s.outShape[1]*s.outShape[2]*s.outShape[3],b=s.outShape[2]*s.outShape[3],x=s.outShape[3];for(let t=0;ty?y=i:"avg"===a&&(b+=i,w++)}if(isNaN(y))break}g[I+n*x+t]="avg"===a?b/w:y}}}return m}function hC(e,t,n,r,s=!1,a=!1){const i=Ni(r.outShape,"int32"),o=r.strideHeight,l=r.strideWidth,u=r.dilationHeight,c=r.dilationWidth,h=r.effectiveFilterHeight,p=r.effectiveFilterWidth,d=r.padInfo.top,f=r.padInfo.left,m=Ni(t,n,e);for(let e=0;ew&&(w=u,v=s?a?((e*r.inHeight+n)*r.inWidth+o)*r.inChannels+t:(n*r.inWidth+o)*r.inChannels+t:i*p+l)}}i.set(v,e,n,o,t)}}return i}function pC(e,t,n,r,s,a){const i=s.strideDepth,o=s.strideHeight,l=s.strideWidth,u=s.dilationDepth,c=s.dilationHeight,h=s.dilationWidth,p=s.effectiveFilterDepth,d=s.effectiveFilterHeight,f=s.effectiveFilterWidth,m=s.padInfo.front,g=s.padInfo.top,y=s.padInfo.left,b="max"===a?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,x=Ni(s.outShape,n),w=x.values,v=s.outShape[1]*s.outShape[2]*s.outShape[3]*s.outShape[4],k=s.outShape[2]*s.outShape[3]*s.outShape[4],I=s.outShape[3]*s.outShape[4],N=s.outShape[4];for(let t=0;tk?k=s:"avg"===a&&(I+=s,S++),isNaN(k))break}if(isNaN(k))break}if(isNaN(k))break}w[g+t]="avg"===a?I/S:k}}}}return x}const dC={kernelName:ct,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;ZS(s,"avgPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))c=sT({inputs:{x:s},backend:n});else{const e=n.data.get(s.dataId).values,t=Fe(s.shape),r=cC(e,s.shape,s.dtype,t,u,"avg");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},fC={kernelName:pt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;ZS(s,"avgPool3d");const c=Zl(s.shape,a,i,1,o,l,u),h=pC(n.data.get(s.dataId).values,s.shape,s.dtype,Fe(s.shape),c,"avg");return n.makeTensorInfo(h.shape,"float32",h.values)}},mC={kernelName:dt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;ZS([s,a],"avgPool3DGrad");const c=Zl(a.shape,i,o,1,l,u),h=c.strideDepth,p=c.strideHeight,d=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,y=c.dilationDepth,b=c.dilationHeight,x=c.dilationWidth,w=c.effectiveFilterDepth,v=c.effectiveFilterHeight,k=c.effectiveFilterWidth,I=w-1-c.padInfo.front,N=k-1-c.padInfo.left,S=v-1-c.padInfo.top,T=Ni(a.shape,"float32"),C=1/(f*m*g),E=n.bufferSync(s);for(let e=0;e=c.outDepth||Math.floor(r)!==r))for(let n=0;n=c.outHeight||Math.floor(s)!==s))for(let n=0;n=c.outWidth||Math.floor(a)!==a||(l+=E.get(e,r,s,a,t))}}}T.set(l*C,e,n,r,s,t)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}},gC={kernelName:ht,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a;ZS([s,a],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(i.shape,o,l,1,u),h=c.strideHeight,p=c.strideWidth,d=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,y=c.effectiveFilterHeight,b=c.effectiveFilterWidth,x=b-1-c.padInfo.left,w=y-1-c.padInfo.top,v=Ni(i.shape,"float32"),k=1/(d*f),I=n.data.get(s.dataId).values,N=Ni(s.shape,"float32",I);for(let e=0;e=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s||(i+=N.get(e,r,s,t))}}v.set(i*k,e,n,r,t)}return n.makeTensorInfo(v.shape,v.dtype,v.values)}},yC={kernelName:sn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,scale:a,offset:i,mean:o,variance:l}=t;re(o.shape.length===l.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),re(null==i||o.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),re(null==a||o.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks.")),ZS([s,o,l,a,i],"batchNorm");let{varianceEpsilon:u}=r;null==u&&(u=.001);const c=n.data.get(s.dataId).values,h=n.data.get(o.dataId).values,p=n.data.get(l.dataId).values,d=a?n.data.get(a.dataId).values:new Float32Array([1]),f=i?n.data.get(i.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,y=d.length,b=p.length,x=h.length;let w=0,v=0,k=0,I=0;for(let e=0;e=g&&(w=0),v>=x&&(v=0),k>=y&&(k=0),I>=b&&(I=0);return n.makeTensorInfo(s.shape,s.dtype,m)}};function bC(e,t,n,r,s){const a=vo(r,t,n),i=oe(n),o=Fe(r);if(a){const n=ko(t,o);return"string"===s?e.slice(n,n+i):e.subarray(n,n+i)}const l=Ni(r,s,"string"===s?Af(e):e),u=Ni(n,s);for(let e=0;ee+t[n]));u.set(l.get(...r),...n)}return"string"===s?Rf(u.values):u.values}function xC(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,size:i}=r;ZS(s,"slice");const[o,l]=Io(s,a,i);lo(s,o,l);const u=bC(n.data.get(s.dataId).values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,u)}const wC={kernelName:yr,backendName:"cpu",kernelFunc:xC},vC={kernelName:mt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,crops:i}=r;ZS([s],"batchToSpaceND");const o=a.reduce(((e,t)=>e*t)),l=Pd(s.shape,a,o),u=Bd(l.length,a.length),c=Vd(s.shape,a,o),h=Ud(i,a.length),p=Wd(c,i,a.length),d=DT({inputs:{x:s},backend:n,attrs:{shape:l}}),f=qT({inputs:{x:d},backend:n,attrs:{perm:u}}),m=DT({inputs:{x:f},backend:n,attrs:{shape:c}}),g=xC({inputs:{x:m},backend:n,attrs:{begin:h,size:p}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};function kC(e,t,n,r,s){const a=oe(r),i=Le(s,n);for(let n=0;n=s||(i[r]+=a>0?t[n]:1)}return i}function IC(e,t,n,r=!1){const s=e.shape[0],a=e.shape[1],i=Ni([s,n],t.dtype);for(let o=0;o=n||(r?i.set(1,o,a):t.size>0?i.set(i.get(o,a)+t.get(o,s),o,a):i.set(i.get(o,a)+1,o,a))}return i}const NC={kernelName:gt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i}=r,o=kC(n.data.get(s.dataId).values,n.data.get(a.dataId).values,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,o)}},SC={kernelName:bt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{s0:r,s1:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=Zi(Array.from(a),Array.from(i));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},TC=gT((e=>Math.ceil(e))),CC=tT(wt,TC),EC={kernelName:wt,backendName:"cpu",kernelFunc:CC},$C=eT(vt,((e,t)=>{const n=t;return e>n.clipValueMax?n.clipValueMax:e{const{x:t}=e.inputs,n=e.backend,r=new Float32Array(oe(t.shape)),s=n.data.get(t.dataId),a=s.complexTensorInfos.real,i=s.complexTensorInfos.imag,o=n.data.get(a.dataId).values,l=n.data.get(i.dataId).values;for(let e=0;e{const n=oe(e.shape);s.set(e.vals,t),t+=n}))}else{let r=0;e.forEach((e=>{const a="string"===n?Af(e.vals):e.vals;let i=0;for(let n=0;ne.shape)),a);if(0===oe(i))return n.makeTensorInfo(i,t[0].dtype,[]);const o=t.filter((e=>oe(e.shape)>0));if(1===o.length)return sT({inputs:{x:o[0]},backend:n});if(Dd(o.map((e=>e.shape)),a),"complex64"===o[0].dtype){const e=o.map((e=>NT({inputs:{input:e},backend:n}))),t=o.map((e=>FC({inputs:{input:e},backend:n}))),r=_C({inputs:e,backend:n,attrs:{axis:a}}),s=_C({inputs:t,backend:n,attrs:{axis:a}}),i=vT({inputs:{real:r,imag:s},backend:n});return e.forEach((e=>n.disposeIntermediateTensorInfo(e))),t.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),i}const l=o.map((e=>{const t=oe(e.shape.slice(a));return DT({inputs:{x:e},backend:n,attrs:{shape:[-1,t]}})})),u=l.map((e=>({vals:n.data.get(e.dataId).values,shape:e.shape})));i=_d(l.map((e=>e.shape)),1);const c=1===l[0].shape[0],h=MC(u,i,t[0].dtype,c),p=_d(o.map((e=>e.shape)),a),d=n.makeTensorInfo(p,t[0].dtype,h);return l.forEach((e=>n.disposeIntermediateTensorInfo(e))),d}const OC={kernelName:Nt,backendName:"cpu",kernelFunc:_C};function LC(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r;ZS([s,a],"conv2d");const h=ou(l),p=Jl(s.shape,a.shape,i,u,o,c,!1,h),d=p.filterHeight,f=p.filterWidth,m=p.dilationHeight,g=p.dilationWidth,y=p.padInfo.left,b=p.padInfo.top,x="channelsLast"===p.dataFormat,w=new Ws(p.outShape,s.dtype),v=Fe(s.shape),k=Fe(a.shape),I=v[0],N=x?v[1]:v[2],S=x?v[2]:1,T=x?1:v[1],C=w.strides[0],E=x?w.strides[1]:w.strides[2],$=x?w.strides[2]:1,A=x?1:w.strides[1],R=n.data.get(s.dataId).values,M=n.data.get(a.dataId).values,F=w.values;for(let e=0;e=p.inHeight)continue;const a=e*k[0],i=t+n*N;for(let e=0;e=p.inWidth)continue;const s=i+r*S;let o=a+e*k[1];for(let e=0;e=u.inDepth)continue;const a=e*S[0],i=t+n*N[1];for(let e=0;e=u.inHeight)continue;const s=a+e*S[1],o=i+r*N[2];for(let e=0;e=u.inWidth)continue;const a=s+e*S[2],i=o+t*u.inChannels;let l=a;for(let e=0;eMath.cos(e))),HC={kernelName:Rt,backendName:"cpu",kernelFunc:GC},jC=eT(Mt,(e=>Math.cosh(e))),qC={kernelName:Mt,backendName:"cpu",kernelFunc:jC},KC={kernelName:Dt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{image:s,boxes:a,boxInd:i}=t,{cropSize:o,method:l,extrapolationValue:u}=r,[c,h,p,d]=s.shape,f=a.shape[0],[m,g]=o,y=Ni([f,m,g,d],"float32"),b=n.data.get(a.dataId).values,x=n.data.get(i.dataId).values,w=n.data.get(s.dataId).values,v=Fe(s.shape),k=Fe(y.shape);for(let e=0;e=c)continue;const o=m>1?(s-n)*(h-1)/(m-1):0,f=g>1?(a-r)*(p-1)/(g-1):0;for(let t=0;t1?n*(h-1)+t*o:.5*(n+s)*(h-1);if(c<0||c>h-1)for(let n=0;n1?r*(p-1)+l*f:.5*(r+a)*(p-1);if(c<0||c>p-1){for(let n=0;n1?r*(p-1)+n*f:.5*(r+a)*(p-1);if(s<0||s>p-1){for(let r=0;re+f-t-1:(e,t)=>e+t;for(let e=0;e`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`));const o=s.shape[0],l=s.shape[1],u=s.shape[2],c=s.shape[3],h=l*a,p=u*a,d=c/(a*a),f=n.data.get(s.dataId).values,m=new Float32Array(o*h*p*d);let g=0;for(let e=0;e`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${p}'`));const d=Jl(s.shape,a.shape,i,p,o,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:y,padInfo:b}=d,x=b.left,w=b.top,v=d.outChannels/d.inChannels,k=new Ws(d.outShape,s.dtype),I=n.data.get(s.dataId).values,N=n.data.get(a.dataId).values,S=k.values;for(let e=0;e=d.inHeight)continue;const a=e*h[0],i=t+n*c[1];for(let e=0;e=d.inWidth)continue;const s=a+e*h[1],o=i+r*d.inChannels;let l=t,u=s;for(let e=0;e{const{x:r,filter:s}=e,{strides:a,pad:i,dilations:o}=n,l=t,u=l.data.get(r.dataId).values,c=r.shape.length,h=l.data.get(s.dataId).values,p=s.shape.length,{batchSize:d,inHeight:f,inWidth:m,inChannels:g,outHeight:y,outWidth:b,padInfo:x,strideHeight:w,strideWidth:v,filterHeight:k,filterWidth:I,dilationHeight:N,dilationWidth:S,outShape:T}=Xl(r.shape,s.shape,a,i,"NHWC",o),C=oe(T),E=T.length,$=we(r.dtype,C);for(let e=0;e=0&&a=0&&dl&&(l=m)}}}$[Be([e,t,a,o],E,Fe(T))]=l}}}return{dataId:l.write(As($,r.dtype),T,r.dtype),shape:T,dtype:r.dtype}}},sE={kernelName:Wt,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=_e(r.shape,u.data.get(r.dataId).values),h=_e(s.shape,u.data.get(s.dataId).values),{batchSize:p,inHeight:d,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:b,strideHeight:x,strideWidth:w,filterHeight:v,filterWidth:k,dilationHeight:I,dilationWidth:N,outShape:S}=Xl(r.shape,s.shape,i,o,"NHWC",l);re(a.rank===S.length,(()=>`Error in ${Wt}, dy must have the same rank as output ${S.length}, but got ${a.rank}`));const T=_e(S,u.data.get(a.dataId).values),C=ze(s.shape,s.dtype);for(let e=0;e=0&&r=0&&ui&&(i=s,o=t,l=n)}}}C[o][l][a]+=T[e][t][r][a]}}}return{dataId:u.write(As(C,r.dtype),s.shape,s.dtype),shape:s.shape,dtype:s.dtype}}},aE={kernelName:Ut,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=_e(r.shape,u.data.get(r.dataId).values),h=_e(s.shape,u.data.get(s.dataId).values),{batchSize:p,inHeight:d,inWidth:f,inChannels:m,outHeight:g,outWidth:y,padInfo:b,strideHeight:x,strideWidth:w,filterHeight:v,filterWidth:k,dilationHeight:I,dilationWidth:N,outShape:S}=Xl(r.shape,s.shape,i,o,"NHWC",l);re(a.rank===S.length,(()=>`Error in ${Ut}, dy must have the same rank as output ${S.length}, but got ${a.rank}`));const T=_e(S,u.data.get(a.dataId).values),C=ze(r.shape,r.dtype);for(let e=0;e=0&&r=0&&ui&&(i=s,o=r,l=u)}}}C[e][o][l][a]+=T[e][t][r][a]}}}return{dataId:u.write(As(C,r.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},iE=lT(((e,t)=>e*t)),oE=$T(((e,t,n,r)=>({real:e*n-t*r,imag:e*r+t*n}))),lE=ET(Vn,iE,oE),uE={kernelName:Vn,backendName:"cpu",kernelFunc:lE};function cE(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;let o;ZS(s,"sum"),o="bool"===s.dtype?TT({inputs:{x:s},backend:n,attrs:{dtype:"int32"}}):sT({inputs:{x:s},backend:n});const l=o.shape.length,u=ye(a,o.shape),c=Ac(u,l);let h=u,p=o;null!=c&&(p=qT({inputs:{x:o},backend:n,attrs:{perm:c}}),h=Mc(h.length,l)),$c("sum",h,p.shape.length);const[d,f]=Cc(p.shape,h);let m=IT(n,d,na(p.dtype,"int32"));const g=oe(f),y=n.data.get(m.dataId).values,b=n.data.get(p.dataId).values;for(let e=0;e=0&&(p=cE({inputs:{x:p},backend:n,attrs:{axis:u[e]-(i.length-d),keepDims:!1}}),f.push(p)),d--)}for(const e of f)e!==p&&n.disposeIntermediateTensorInfo(e);return p}},dE={kernelName:qt,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{dy:r,y:s}=t;ZS([r,s],"eluGrad");const a=new Float32Array(oe(s.shape)),i=n.data.get(s.dataId).values,o=n.data.get(r.dataId).values;for(let e=0;e=1?o[e]:o[e]*(t+1)}return n.makeTensorInfo(s.shape,"float32",a)}},fE=lT(((e,t)=>e===t?1:0)),mE=ET(Xt,fE,null,"bool"),gE={kernelName:Xt,backendName:"cpu",kernelFunc:mE},yE=jd,bE=qd,xE=Kd,wE=Xd,vE=Yd,kE=Zd,IE=eT(Kt,(e=>{const t=Math.sign(e),n=Math.abs(e),r=1/(1+yE*n);return t*(1-((((kE*r+vE)*r+wE)*r+xE)*r+bE)*r*Math.exp(-n*n))})),NE={kernelName:Kt,backendName:"cpu",kernelFunc:IE},SE=gT((e=>Math.exp(e))),TE=tT(Yt,SE,"float32"),CE={kernelName:Yt,backendName:"cpu",kernelFunc:TE};function EE(e){const{inputs:t,backend:n,attrs:r}=e,{input:s}=t,{dim:a}=r,i=s.shape.length,o=s.shape.slice();let l=a;return a<0&&(re(-(i+1)<=a,(()=>`Axis must be in the interval [${-(i+1)}, ${i}]`)),l=i+a+1),o.splice(l,0,1),DT({inputs:{x:s},backend:n,attrs:{shape:o}})}const $E={kernelName:Zt,backendName:"cpu",kernelFunc:EE},AE=gT((e=>Math.expm1(e))),RE=tT(Jt,AE),ME={kernelName:Jt,backendName:"cpu",kernelFunc:RE},FE=lT(((e,t)=>e/t)),DE=ET(Gt,FE),_E={kernelName:Gt,backendName:"cpu",kernelFunc:DE},OE=lT(((e,t)=>e-t)),LE=$T(((e,t,n,r)=>({real:e-n,imag:t-r}))),zE=ET(Pr,OE,LE),PE={kernelName:Pr,backendName:"cpu",kernelFunc:zE};function BE(e,t,n){const r=e.shape,s=r[0],a=r[1],i=n.data.get(e.dataId),o=i.complexTensorInfos.real,l=i.complexTensorInfos.imag,u=[s,a],c=oe(u),h=xe("float32",c),p=xe("float32",c);for(let e=0;e{const{image:r}=e,s=n,a=xe(r.dtype,oe(r.shape)),[i,o,l,u]=r.shape,c=s.data.get(r.dataId).values;for(let e=0;e=0&&iMath.floor(e))),KE=tT(nn,qE),XE={kernelName:nn,backendName:"cpu",kernelFunc:KE},YE=lT(((e,t)=>Math.floor(e/t))),ZE=ET(rn,YE,null,"int32"),JE={kernelName:rn,backendName:"cpu",kernelFunc:ZE},QE={kernelName:es,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p,activation:d,leakyreluAlpha:f}=r;let m=LC({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p}});if(i){const e=m;m=MT({inputs:{a:m,b:i},backend:n}),n.disposeIntermediateTensorInfo(e)}if(d){const e=m;m=wT(n,m,d,o,f),n.disposeIntermediateTensorInfo(e)}return m}},e$={kernelName:ts,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p,activation:d,leakyreluAlpha:f}=r;let m=JC({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p}});if(i){const e=m;m=MT({inputs:{a:m,b:i},backend:n}),n.disposeIntermediateTensorInfo(e)}if(d){const e=m;m=wT(n,m,d,o,f),n.disposeIntermediateTensorInfo(e)}return m}};function t$(e,t,n,r,s,a,i,o,l){const u=Ni([r,a],n);for(let n=0;n=l/a)throw new Error(`Invalid indices: ${r} does not index into ${o}`);for(let e=0;e=0,(()=>`GatherV2: the index value ${t} is not in [0, ${c-1}]`))}let h=o;null==o&&(h=0);const p=oe(a.shape),d=$f(s,a,l,h),f=DT({inputs:{x:s},backend:n,attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]}}),m=DT({inputs:{x:a},backend:n,attrs:{shape:[d.batchSize,p/d.batchSize]}}),g=[d.batchSize,d.outerSize,p/d.batchSize,d.sliceSize],y=n.bufferSync(m),b=r$(n.bufferSync(f),y,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(d.outputShape,b.dtype,b.values)}},a$=lT(((e,t)=>e>t?1:0)),i$=ET(ln,a$,null,"bool"),o$={kernelName:ln,backendName:"cpu",kernelFunc:i$},l$=lT(((e,t)=>e>=t?1:0)),u$=ET(un,l$,null,"bool"),c$={kernelName:un,backendName:"cpu",kernelFunc:u$},h$={kernelName:hn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{input:r}=t,s=oe(r.shape),a=r.shape[r.shape.length-1],i=DT({inputs:{x:r},backend:n,attrs:{shape:[s/a,a]}}),o=BE(i,!0,n),l=DT({inputs:{x:o},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}},p$=eT(dn,(e=>Number.isFinite(e)?1:0),"bool"),d$={kernelName:dn,backendName:"cpu",kernelFunc:p$},f$=eT(fn,(e=>Math.abs(e)===1/0?1:0),"bool"),m$={kernelName:fn,backendName:"cpu",kernelFunc:f$},g$=eT(mn,(e=>Number.isNaN(e)?1:0),"bool"),y$={kernelName:mn,backendName:"cpu",kernelFunc:g$},b$=lT(((e,t)=>ee<=t?1:0)),k$=ET(bn,v$,null,"bool"),I$={kernelName:bn,backendName:"cpu",kernelFunc:k$};function N$(e,t,n){const r=(t-e)/(n-1),s=Le(n,"float32");s[0]=e;for(let e=1;eMath.log(e))),C$=tT(wn,T$),E$={kernelName:wn,backendName:"cpu",kernelFunc:C$},$$=eT(vn,(e=>Math.log1p(e))),A$={kernelName:vn,backendName:"cpu",kernelFunc:$$},R$=lT(((e,t)=>e&&t)),M$=ET(kn,R$,null,"bool"),F$={kernelName:kn,backendName:"cpu",kernelFunc:M$},D$=eT(In,(e=>e?0:1),"bool"),_$={kernelName:In,backendName:"cpu",kernelFunc:D$},O$=lT(((e,t)=>e||t)),L$=ET(Nn,O$,null,"bool"),z$={kernelName:Nn,backendName:"cpu",kernelFunc:L$},P$={kernelName:Tn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{depthRadius:a,bias:i,alpha:o,beta:l}=r;ZS(s,"LRN");const u=s.shape[3],c=u-1,h=n.data.get(s.dataId).values,p=oe(s.shape),d=new Float32Array(p);function f(e){const t=e%u;let n=e-t+Math.max(0,t-a);const r=e-t+Math.min(t+a,c);let s=0;for(;n<=r;n++){const e=h[n];s+=e*e}return s}for(let e=0;ea)&&(a=t)}s[n]=a}return s}function U$(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{reductionIndices:a,keepDims:i}=r,o=n;let l=s.shape;const u=l.length,c=ye(a,l);let h=c;const p=Ac(h,u);let d=o.data.get(s.dataId).values;if(null!=p){const e=new Array(u);for(let t=0;tMath.max(e,t))),H$=ET($n,G$),j$={kernelName:$n,backendName:"cpu",kernelFunc:H$},q$={kernelName:An,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;ZS(s,"maxPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))c=sT({inputs:{x:s},backend:n});else{const e=n.data.get(s.dataId).values,t=Fe(s.shape),r=cC(e,s.shape,s.dtype,t,u,"max");c=n.makeTensorInfo(u.outShape,s.dtype,r.values)}return c}},K$={kernelName:Mn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;ZS(s,"maxPool3d");const c=Zl(s.shape,a,i,1,o,l,u),h=pC(n.data.get(s.dataId).values,s.shape,s.dtype,Fe(s.shape),c,"max");return n.makeTensorInfo(h.shape,"float32",h.values)}},X$={kernelName:Fn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;ZS([s,a],"maxPool3DGrad");const c=Zl(a.shape,i,o,1,l,u),h=function(e,t){const n=Ni(t.outShape,"int32"),r=t.strideDepth,s=t.strideHeight,a=t.strideWidth,i=t.dilationDepth,o=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,h=t.effectiveFilterWidth,p=t.padInfo.front,d=t.padInfo.top,f=t.padInfo.left;for(let m=0;m=N&&(N=o,S=n*c*h+s*c+i)}}}n.set(S,m,y,r,s,g)}}}return n}(n.bufferSync(a),c),p=c.strideDepth,d=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,y=c.dilationWidth,b=c.effectiveFilterDepth,x=c.effectiveFilterHeight,w=c.effectiveFilterWidth,v=b-1-c.padInfo.front,k=w-1-c.padInfo.left,I=x-1-c.padInfo.top,N=Ni(a.shape,"float32"),S=n.bufferSync(s);for(let e=0;e=c.outDepth||Math.floor(r)!==r))for(let s=0;s=c.outHeight||Math.floor(a)!==a))for(let i=0;i=c.outWidth||Math.floor(u)!==u)continue;const p=b*x*w-1-h.get(e,r,a,u,t)===n*x*w+s*w+i?1:0;0!==p&&(l+=S.get(e,r,a,u,t)*p)}}}N.set(l,e,n,r,s,t)}return n.makeTensorInfo(N.shape,N.dtype,N.values)}},Y$={kernelName:Rn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a,output:i}=t,o=a;ZS([a,i],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,p=Yl(o.shape,l,u,1,c,h),d=n.data.get(o.dataId).values,f=Ni(p.outShape,o.dtype,hC(d,o.shape,o.dtype,p).values),m=p.strideHeight,g=p.strideWidth,y=p.dilationHeight,b=p.dilationWidth,x=p.effectiveFilterHeight,w=p.effectiveFilterWidth,v=w-1-p.padInfo.left,k=x-1-p.padInfo.top,I=Ni(o.shape,"float32"),N=n.data.get(s.dataId).values,S=Ni(s.shape,"float32",N);for(let e=0;e=p.outHeight||Math.floor(r)!==r))for(let s=0;s=p.outWidth||Math.floor(o)!==o)continue;const l=x*w-1-f.get(e,r,o,t)===n*w+s?1:0;0!==l&&(i+=S.get(e,r,o,t)*l)}}I.set(i,e,n,r,t)}return n.makeTensorInfo(I.shape,I.dtype,I.values)}},Z$={kernelName:Dn,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{filterSize:s,strides:a,pad:i,includeBatchInIndex:o}=t,l=n;ZS(r,"MaxPoolWithArgmax");const u=l.data.get(r.dataId).values,c=Yl(r.shape,s,a,[1,1],i),[h,p]=function(e,t,n,r,s){const a=cC(e,0,n,Fe(t),s,"max"),i=hC(e,t,n,s,!0,r);return[a.values,i.values]}(u,r.shape,r.dtype,o,c),d=l.write(h,c.outShape,r.dtype),f=l.write(p,c.outShape,r.dtype);return[{dataId:d,shape:c.outShape,dtype:r.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}},J$={kernelName:_n,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=ye(a,s.shape),l=oe(Cc(s.shape,o)[1]),u=[],c=n.makeTensorInfo([],"float32",new Float32Array([l]));u.push(c);const h=TT({inputs:{x:s},backend:n,attrs:{dtype:"float32"}});u.push(h);const p=DE({inputs:{a:h,b:c},backend:n});u.push(p);const d=cE({inputs:{x:p},backend:n,attrs:{axis:a,keepDims:i}});return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),d}},Q$={kernelName:On,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;ZS(s,"min");const o=ye(a,s.shape);let l=o;const u=Ac(l,s.shape.length);let c=s;null!=u&&(c=qT({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Mc(l.length,s.shape.length)),$c("min",l,c.shape.length);const[h,p]=Cc(c.shape,l),d=oe(p),f=Le(oe(h),c.dtype),m=n.data.get(c.dataId).values;for(let e=0;eMath.min(e,t))),tA=ET(Ln,eA),nA={kernelName:Ln,backendName:"cpu",kernelFunc:tA},rA={kernelName:zn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,mode:i}=r;ZS(s,"mirrorPad");const o=a.map(((e,t)=>e[0]+s.shape[t]+e[1])),l=a.map((e=>e[0])),u=a.map(((e,t)=>e[0]+s.shape[t])),c="reflect"===i?0:1,h=n.data.get(s.dataId).values,p=s.shape.length,d=Fe(s.shape),f=oe(o),m=o.length,g=Fe(o),y=xe(s.dtype,f);for(let e=0;e=u[e]&&(t[e]=2*(u[e]-1)-t[e]+c);t=t.map(((e,t)=>e-l[t]));const n=Be(t,p,d);y[e]=h[n]}return{dataId:n.write(y,o,s.dtype),shape:o,dtype:s.dtype}}},sA=lT(((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t})),aA=ET(Pn,sA),iA={kernelName:Pn,backendName:"cpu",kernelFunc:aA};function oA(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{dim:a}=r,i=s.shape.length;let o=a;if(-1===o&&(o=i-1),o!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${o}`);const l=ye([o],s.shape),u=U$({inputs:{x:s},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=Ec(u.shape,l),h=DT({inputs:{x:u},backend:n,attrs:{shape:c}}),p=zE({inputs:{a:s,b:h},backend:n}),d=TE({inputs:{x:p},backend:n}),f=cE({inputs:{x:d},backend:n,attrs:{axis:l,keepDims:!1}}),m=DT({inputs:{x:f},backend:n,attrs:{shape:c}}),g=DE({inputs:{a:d,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const lA={kernelName:Cr,backendName:"cpu",kernelFunc:oA},uA={kernelName:Bn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{numSamples:a,seed:i,normalized:o}=r;ZS(s,"multinomial");const l=o?s:oA({inputs:{logits:s},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],h=n.data.get(l.dataId).values,p=[u,a],d=Le(oe(p),"int32");for(let e=0;ee!==t?1:0)),xA=ET(Wn,bA,null,"bool"),wA={kernelName:Wn,backendName:"cpu",kernelFunc:xA},vA={kernelName:Kn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s}=t,{depth:a,onValue:i,offValue:o}=r;ZS(s,"oneHot");const l=oe(s.shape),u=new Float32Array(l*a);u.fill(o);const c=n.data.get(s.dataId).values;for(let e=0;e=0&&c[e]{se(a,e.shape,"All tensors passed to stack must have matching shapes"),re(i===e.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=_C({inputs:t.map((e=>{const t=EE({inputs:{input:e},backend:n,attrs:{dim:s}});return o.push(t),t})),backend:n,attrs:{axis:s}});return o.forEach((e=>n.disposeIntermediateTensorInfo(e))),l}const TA={kernelName:Xn,backendName:"cpu",kernelFunc:SA},CA={kernelName:Yn,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,constantValue:i}=r;ZS(s,"pad");const o=a.map(((e,t)=>e[0]+s.shape[t]+e[1])),l=a.map((e=>e[0])),u=n.data.get(s.dataId).values,c=oe(s.shape),h=s.shape.length,p=Fe(s.shape),d=oe(o),f=o.length,m=Fe(o),g=xe(s.dtype,d);0!==i&&g.fill(i);for(let e=0;ee+l[t])),f,m)]=u[e];return{dataId:n.write(g,o,s.dtype),shape:o,dtype:s.dtype}}},EA=lT(((e,t)=>Math.pow(e,t))),$A=ET(Jn,EA),AA={kernelName:Jn,backendName:"cpu",kernelFunc:$A};function RA(e,t,n,r){const[s,a]=Cc(e,r),i=na(t,"int32"),o=Le(oe(s),i),l=oe(a);for(let e=0;en.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(y,g,f)}};function FA(e,t,n,r){if(e===t||e1)return Le(0,r);const s=Le(Math.abs(Math.ceil((t-e)/n)),r);t1/e)),OA={kernelName:rr,backendName:"cpu",kernelFunc:_A},LA={kernelName:lr,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r;ZS(s,"resizeBilinear");const l=Fe(s.shape),[u,c]=o,[h,p,d,f]=s.shape,m=n.data.get(s.dataId).values,g=new Float32Array(oe([h,u,c,f])),y=[a&&u>1?p-1:p,a&&c>1?d-1:d],b=[a&&u>1?u-1:u,a&&c>1?c-1:c];let x=0;const w=y[0]/b[0],v=y[1]/b[1];for(let e=0;e1?u-1:u,i&&d>1?c-1:c],g=[i&&p>1?p-1:p,i&&d>1?d-1:d],y=m[0]/g[0],b=m[1]/g[1],x=n.data.get(a.dataId).values;let w=0;for(let e=0;e1?p-1:p,a&&c>1?d-1:d],b=[a&&u>1?u-1:u,a&&c>1?c-1:c],x=y[0]/b[0],w=y[1]/b[1];let v=0;for(let e=0;e1?c-1:c,i&&f>1?h-1:h],b=[i&&d>1?d-1:d,i&&f>1?f-1:f],x=y[0]/b[0],w=y[1]/b[1],v=1/x,k=1/w,I=2*Math.ceil(v)+2,N=2*Math.ceil(k)+2;for(let e=0;e=d)continue;const p=t+u*l[1],m=u*x;if(e===Math.min(c-1,i?Math.round(m):Math.floor(m)))for(let e=0;e=f)continue;const s=p+t*l[2],a=t*w;r===Math.min(h-1,i?Math.round(a):Math.floor(a))&&(o+=g[s+n])}}m[a+n]=o}}}}return n.makeTensorInfo(s.shape,s.dtype,m)}},VA={kernelName:hr,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dims:a}=r;ZS(s,"reverse");const i=s.shape.length,o=ye(a,s.shape);if(0===i)return sT({inputs:{x:s},backend:n});const l=new Ws(s.shape,s.dtype),u=n.bufferSync(s);for(let e=0;en[e]=s.shape[e]-1-n[e])),l.set(u.get(...n),...t)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},UA={kernelName:Jr,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,{radians:s,fillValue:a,center:i}=t,o=n,l=xe(r.dtype,oe(r.shape)),[u,c,h,p]=r.shape,[d,f]=zd(i,c,h),m=Math.sin(s),g=Math.cos(s),y=o.data.get(r.dataId).values;for(let e=0;e=0&&w=0&&v{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1})),GA={kernelName:pr,backendName:"cpu",kernelFunc:WA},HA=gT((e=>1/Math.sqrt(e))),jA=tT(dr,HA),qA={kernelName:dr,backendName:"cpu",kernelFunc:jA};function KA(e,t,n,r,s,a,i,o,l,u){const c=[r/s,s],h=e.values,p=t.values;if(0===r)return Ni(n,t.dtype);const d=Ni(c,t.dtype);d.values.fill(l);for(let e=0;e=r/s)throw new Error(`Invalid indices: ${a} does not index into ${n}`);for(let n=0;n1||1===s.shape.length?1:oe(s.shape.slice(1));for(let e=0;ee>=0?JA*e:ZA*(Math.exp(e)-1))),eR={kernelName:gr,backendName:"cpu",kernelFunc:QA},tR=eT(wr,(e=>e<0?-1:e>0?1:0)),nR={kernelName:wr,backendName:"cpu",kernelFunc:tR},rR=eT(br,(e=>Math.sin(e))),sR={kernelName:br,backendName:"cpu",kernelFunc:rR},aR=eT(xr,(e=>Math.sinh(e))),iR={kernelName:xr,backendName:"cpu",kernelFunc:aR},oR=Math.log(1.1920928955078125e-7)+2,lR=eT(kr,(e=>{const t=e>-oR,n=e=l)throw new Error(yf(t,n,l));++f[n],p=p&&n>=d,d=n}let m=!0;for(let e=0;e0&&(f[e]+=f[e-1])}if(m&&p){const t=e,n=r;for(let e=0;eNumber(e))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}};function dR(e,t,n,r,s){const a=oe(r),i=t[0],o=s.length,l=[];let u=1,c=-1;for(let e=0;e0){p[h-1]=1;for(let e=h-2;e>=0;--e)p[e]=p[e+1]*r[e+1]}const d=[];if(o>0){d[o-1]=1;for(let e=o-2;e>=0;--e)d[e]=d[e+1]*l[e+1]}const f=we(n,i*o);for(let t=0;t0?s[o-1]+1:0;if(c<0)throw new Error("segment ids must be >= 0");const h=t.slice();h[0]=c;const p=we(n,h.reduce(((e,t)=>e*t),1));if(0===o)return c>0&&p.fill(i),[p,h];if(c<=0)throw new Error("segment ids must be >= 0");let d=0,f=1,m=0,g=s[d];for(;;){let t=0;if(f=t)throw new Error("segment ids are not increasing")}if(g<0||g>=c)throw new Error(Sf(g,c));g>m&&p.fill(i,m*u,g*u);for(let t=d;t=l[0])throw new Error(Tf(t,r[t],l[0]));for(let t=0;to)break}return m{const t=[...c];t[o]=e;const r=xC({inputs:{x:s},backend:n,attrs:{begin:u,size:t}});return u[o]+=e,r}))}},wR=gT((e=>Math.sqrt(e))),vR=eT(Ir,(e=>Math.sqrt(e))),kR={kernelName:Ir,backendName:"cpu",kernelFunc:vR},IR={kernelName:Dr,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{const{x:n}=e,r=t;ZS(n,"square");const s=r.data.get(n.dataId).values,a=new Float32Array(s.length);for(let e=0;e{const n=e-t;return n*n})),SR=ET(Fr,NR),TR={kernelName:Fr,backendName:"cpu",kernelFunc:SR},CR=eT(Yr,((e,t)=>{const n=t;return isNaN(e)?NaN:e>0?1:n.alpha})),ER={kernelName:Yr,backendName:"cpu",kernelFunc:CR};function $R(e,t,n,r){const s=Ni(e,t.dtype);for(let e=0;e=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const e=co(b,x,w),t=xC({inputs:{x:s},backend:n,attrs:{begin:b,size:e}});v=DT({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{const e=$R(d,n.bufferSync(s),w,b);v=n.makeTensorInfo(f,e.dtype,e.values)}return v}};class RR{constructor(e,t,n,r,s,a){this.separator=Fs(e),this.nGramWidths=t,this.leftPad=Fs(n),this.rightPad=Fs(r),this.padWidth=s,this.preserveShort=a}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){const n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,r,s,a){for(let i=0;i0?0:i-o);let p=0;p+=l*this.leftPad.length;for(let t=0;te.forEach((e=>d[f++]=e));for(let e=0;e0){m(e[h+c-1]);for(let e=0;e0){let e=t[0];if(0!==e)throw new Error(`First split value must be 0, got ${e}`);for(let s=1;s=e;if(r=r&&t[s]<=n,!r)throw new Error(`Invalid split value ${t[s]}, must be in [${e}, ${n}]`);e=t[s]}if(e!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${e}`)}const s=r-1,a=we("int32",r);if(0===n||0===r){const e=new Array(n);for(let e=0;e<=s;++e)a[e]=0;return[e,a]}a[0]=0;for(let e=1;e<=s;++e){const n=t[e]-t[e-1];let r=0;this.nGramWidths.forEach((e=>{r+=this.getNumNGrams(n,e)})),this.preserveShort&&n>0&&0===r&&(r=1),a[e]=a[e-1]+r}const i=new Array(a[s]);for(let n=0;n{const o=t[n+1]-t[n],l=this.getNumNGrams(o,a);this.createNGrams(e,r,i,s,l,a),s+=l})),this.preserveShort&&s===a[n]){const a=t[n+1]-t[n];if(0===a)continue;const o=a+2*this.padWidth,l=1;this.createNGrams(e,r,i,s,l,o)}}return[i,a]}}function MR(e,t,n,r,s,a,i,o){return new RR(n,r,s,a,i,o).compute(e,t)}const FR={kernelName:Or,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{separator:s,nGramWidths:a,leftPad:i,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=t,p=n.data.get(c.dataId).values,d=n.data.get(h.dataId).values,[f,m]=MR(p,d,s,a,i,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}};function DR(e,t,n,r){if(!e.length)return;if(0===t.length){for(let t=0;tMath.tan(e))),BR={kernelName:Br,backendName:"cpu",kernelFunc:PR},VR=eT(Vr,(e=>Math.tanh(e)));function UR(e,t){const n=new Array(e.rank);for(let r=0;r{const n=t.value-e.value;return 0===n?e.index-t.index:n};function HR(e,t,n=0,r=e.length-1){for(;r>n;){if(r-n>600){const s=r-n+1,a=t-n+1,i=Math.log(s),o=.5*Math.exp(2*i/3),l=.5*Math.sqrt(i*o*(s-o)/s)*Math.sign(a-s/2);HR(e,t,Math.max(n,Math.floor(t-a*o/s+l)),Math.min(r,Math.floor(t+(s-a)*o/s+l)))}const s=e[t];let a=n,i=r;for(Q(e,n,t),GR(e[r],s)>0&&Q(e,n,r);a0;)i-=1}0===GR(e[n],s)?Q(e,n,i):(i+=1,Q(e,i,r)),i<=t&&(n=i+1),t<=i&&(r=i-1)}}function jR(e,t,n,r,s){const a=t[t.length-1],[i,o]=[e.length/a,a],l=xe(n,i*r),u=xe("int32",i*r);for(let t=0;ti[t]={value:e,index:t})),rt-1)if(t<=1)n=0;else{const e=2*t;n-=e*Math.trunc(n/e),n>=t&&(n=e-n-1)}return Z(0,n,t-1)}(e,t);case"wrap":return function(e,t){let n=e;if(n<0)if(t<=1)n=0;else{const e=t-1;n+=t*(Math.trunc(-n/e)+1)}else if(n>t-1)if(t<=1)n=0;else{const e=t-1;n-=t*Math.trunc(n/e)}return Z(0,n,t-1)}(e,t);case"nearest":return function(e,t){return Z(0,e,t-1)}(e,t);default:return function(e,t){return e}(e)}}function YR(e,t,n,r,s,a,i,o,l,u,c){return 0<=o&&o{for(let n=0;nn.disposeIntermediateTensorInfo(e))),h}},rM=[zT,BT,UT,GT,FT,HT,XT,YT,ZT,JT,eC,nC,sC,oC,uC,dC,fC,mC,gC,LT,yC,vC,NC,SC,CT,EC,AC,kT,RC,OC,zC,PC,BC,VC,UC,WC,HC,qC,KC,XC,YC,ZC,QC,eE,tE,nE,rE,sE,aE,pE,rT,dE,gE,NE,CE,$E,ME,WE,HE,jE,XE,JE,QE,e$,n$,s$,o$,c$,aT,h$,DC,d$,m$,y$,oT,w$,I$,S$,E$,A$,F$,_$,z$,P$,B$,W$,j$,q$,K$,X$,Y$,Z$,J$,Q$,nA,rA,iA,uA,uE,hA,dA,mA,yA,wA,vA,NA,TA,CA,AA,hT,MA,DA,ST,_E,OA,dT,mT,_T,LA,zA,PA,BA,VA,UA,GA,qA,XA,YA,eR,xT,nR,sR,iR,wC,lA,uR,cR,pR,fR,gR,yR,bR,xR,kR,IR,TR,ER,AR,FR,OR,zR,PE,hE,BR,{kernelName:Vr,backendName:"cpu",kernelFunc:VR},WR,qR,KR,KT,eM,tM,nM,IA];for(const e of rM)us(e);const sM={},aM={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function iM(e,t){if(!(e in sM)){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if("undefined"!=typeof OffscreenCanvas&&2===e)return new OffscreenCanvas(300,150);if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}(e):t;return n.addEventListener("webglcontextlost",(t=>{t.preventDefault(),delete sM[e]}),!1),1===e?n.getContext("webgl",aM)||n.getContext("experimental-webgl",aM):n.getContext("webgl2",aM)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;sM[e]=n}const n=sM[e];return null==n||n.isContextLost()?(delete sM[e],iM(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),sM[e])}var oM,lM,uM;function cM(e,t){return[t,e]}function hM(e){const t=oe(e);return pe(Math.ceil(t/4))}function pM(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function dM(e,t){const n=e;let r,s,a,i,o,l,u,c,h,p;return 2===He().getNumber("WEBGL_VERSION")?(r=n.R32F,s=n.R16F,a=n.RGBA16F,i=n.RGBA32F,o=n.RED,u=4,c=1,h=n.HALF_FLOAT,p=n.FLOAT,l=n.RGBA8):(r=e.RGBA,s=e.RGBA,a=e.RGBA,i=n.RGBA,o=e.RGBA,u=4,c=4,h=null!=t?t.HALF_FLOAT_OES:null,p=e.FLOAT,l=e.RGBA),{internalFormatFloat:r,internalFormatHalfFloat:s,internalFormatPackedHalfFloat:a,internalFormatPackedFloat:i,textureFormatFloat:o,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:h,textureTypeFloat:p}}function fM(e,t){const n=t();return He().getBool("DEBUG")&&function(e){const t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+function(e,t){switch(t){case e.NO_ERROR:return"NO_ERROR";case e.INVALID_ENUM:return"INVALID_ENUM";case e.INVALID_VALUE:return"INVALID_VALUE";case e.INVALID_OPERATION:return"INVALID_OPERATION";case e.INVALID_FRAMEBUFFER_OPERATION:return"INVALID_FRAMEBUFFER_OPERATION";case e.OUT_OF_MEMORY:return"OUT_OF_MEMORY";case e.CONTEXT_LOST_WEBGL:return"CONTEXT_LOST_WEBGL";default:return`Unknown error code ${t}`}}(e,t))}(e),n}function mM(e){return!!(He().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===e||5.96e-8e.getExtension(t)),'Extension "'+t+'" not supported on this browser.')}!function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"}(oM||(oM={})),function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"}(lM||(lM={})),function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(uM||(uM={}));const yM=/ERROR: [0-9]+:([0-9]+):/g;function bM(e,t){if(fM(e,(()=>e.validateProgram(t))),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function xM(e,t,n,r,s,a,i){const o=e.getAttribLocation(t,n);return-1!==o&&(fM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,r))),fM(e,(()=>e.vertexAttribPointer(o,s,e.FLOAT,!1,a,i))),fM(e,(()=>e.enableVertexAttribArray(o))),!0)}function wM(e,t,n,r){fM(e,(()=>function(e,t,n){(function(e,t){const n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,r=t+e.TEXTURE0;if(rn)throw new Error(`textureUnit must be in [gl.TEXTURE0, gl.TEXTURE${n}].`)})(e,n),fM(e,(()=>e.activeTexture(e.TEXTURE0+n))),fM(e,(()=>e.bindTexture(e.TEXTURE_2D,t)))}(e,t,r))),fM(e,(()=>e.uniform1i(n,r)))}function vM(e,t,n){fM(e,(()=>e.bindFramebuffer(e.FRAMEBUFFER,n))),fM(e,(()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0)))}function kM(e,t){fM(e,(()=>e.bindFramebuffer(e.FRAMEBUFFER,t))),fM(e,(()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0)))}function IM(e){const t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+function(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}(e,t))}function NM(e,t,n){const r=fM(e,(()=>t()));if(null==r)throw new Error(n);return r}function SM(e,t=2){return oe(e.slice(0,e.length-t))}function TM(e){if(0===e.length)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function CM(e){let t=[1,1,1];return 0===e.length||1===e.length&&1===e[0]||(t=[SM(e),...TM(e)]),t}function EM(e){return e%2==0}function $M(e,t){if(ue(e=e.slice(-2),t=t.slice(-2)))return!0;if(!e.length||!t.length)return!0;if(0===e[0]||0===e[1]||0===t[0]||0===t[1])return!0;if(e.length!==t.length){const n=e.slice(-1)[0],r=t.slice(-1)[0];if(n===r)return!0;if(EM(n)&&EM(r)&&(1===e[0]||1===t[0]))return!0}return e[1]===t[1]&&EM(e[0])&&EM(t[0])}let AM,RM;function MM(e,t){return null!=e.getExtension(t)}function FM(e){try{if(null!=iM(e))return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function DM(e){const t=dM(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);const r=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);const s=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(r),s}function _M(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{null!=e&&re("complex64"!==e.dtype,(()=>`${t} does not support complex64 tensors in the WebGL backend.`))}))}const OM=He();function LM(){let e,t,n,r,s,a,i,o,l,u;return 2===He().getNumber("WEBGL_VERSION")?(e="#version 300 es",t="in",n="out",r="in",s="texture",a="outputColor",i="out vec4 outputColor;",o="\n bool isnan_custom(float val) {\n return (val > 0.0 || val < 0.0) ? false : val != 0.0;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(e="",t="attribute",n="varying",r="varying",s="texture2D",a="gl_FragColor",i="",o="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:e,attribute:t,varyingVs:n,varyingFs:r,texture2D:s,output:a,defineOutput:i,defineSpecialNaN:o,defineSpecialInf:l,defineRound:u}}function zM(e,t,n="index"){const r=Fe(t);return r.map(((t,s)=>`int ${e[s]} = ${n} / ${t}; ${s===r.length-1?`int ${e[s+1]} = ${n} - ${e[s]} * ${t}`:`index -= ${e[s]} * ${t}`};`)).join("")}function PM(e,t,n="index"){const r=Fe(t);return r.map(((t,s)=>`int ${e[s]} = ${n} / outShapeStrides[${s}]; ${s===r.length-1?`int ${e[s+1]} = ${n} - ${e[s]} * outShapeStrides[${s}]`:`index -= ${e[s]} * outShapeStrides[${s}]`};`)).join("")}function BM(e){const t=Fe(e).map((e=>e.toString()));return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}OM.registerFlag("HAS_WEBGL",(()=>OM.getNumber("WEBGL_VERSION")>0)),OM.registerFlag("WEBGL_VERSION",(()=>FM(2)?2:FM(1)?1:0)),OM.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",(()=>!1)),OM.registerFlag("WEBGL_BUFFER_SUPPORTED",(()=>2===OM.get("WEBGL_VERSION"))),OM.registerFlag("WEBGL_CPU_FORWARD",(()=>!0)),OM.registerFlag("WEBGL_FORCE_F16_TEXTURES",(()=>!1)),OM.registerFlag("WEBGL_PACK",(()=>OM.getBool("HAS_WEBGL"))),OM.registerFlag("WEBGL_PACK_NORMALIZATION",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_CLIP",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_DEPTHWISECONV",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_PACK_REDUCE",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_LAZILY_UNPACK",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_CONV_IM2COL",(()=>OM.getBool("WEBGL_PACK"))),OM.registerFlag("WEBGL_MAX_TEXTURE_SIZE",(()=>function(e){if(null==AM){const t=iM(e);AM=t.getParameter(t.MAX_TEXTURE_SIZE)}return AM}(OM.getNumber("WEBGL_VERSION")))),OM.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",(()=>function(e){if(null==RM){const t=iM(e);RM=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,RM)}(OM.getNumber("WEBGL_VERSION")))),OM.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",(()=>{const e=OM.getNumber("WEBGL_VERSION");return 0===e?0:function(e){if(0===e)return 0;let t;const n=iM(e);return t=MM(n,"EXT_disjoint_timer_query_webgl2")&&2===e?2:MM(n,"EXT_disjoint_timer_query")?1:0,t}(e)})),OM.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",(()=>OM.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!ya())),OM.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",(()=>function(e){if(0===e)return!1;const t=iM(e);if(1===e){if(!MM(t,"OES_texture_float"))return!1}else if(!MM(t,"EXT_color_buffer_float"))return!1;return DM(t)}(OM.getNumber("WEBGL_VERSION")))),OM.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",(()=>!OM.getBool("WEBGL_FORCE_F16_TEXTURES")&&OM.getBool("WEBGL_RENDER_FLOAT32_CAPABLE"))),OM.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",(()=>function(e){if(0===e)return!1;const t=iM(e);if(1!==e){if(MM(t,"EXT_color_buffer_float"))return DM(t);const e="EXT_color_buffer_half_float";if(MM(t,e)){const n=t.getExtension(e);return function(e,t){const n=dM(e,t),r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,1,1,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const s=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,s),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);const a=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(r),e.deleteFramebuffer(s),a}(t,n)}return!1}return!!MM(t,"OES_texture_float")&&!!MM(t,"WEBGL_color_buffer_float")&&DM(t)}(OM.getNumber("WEBGL_VERSION")))),OM.registerFlag("WEBGL_FENCE_API_ENABLED",(()=>{return 2===(e=OM.getNumber("WEBGL_VERSION"))&&null!=iM(e).fenceSync;var e})),OM.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",(()=>OM.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0)),OM.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",(()=>-1),(e=>{if(e<0&&-1!==e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)})),OM.registerFlag("WEBGL_FLUSH_THRESHOLD",(()=>ya()?1:-1),(e=>{if(e<0&&-1!==e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)})),OM.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",(()=>128)),OM.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",(()=>!1)),OM.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",(()=>1e5)),OM.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",(()=>128));const VM="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:UM}=y;function WM(e,t,n){const r=[];if(e.forEach((e=>{const t=oe(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform?r.push(`uniform float ${e.name}${t>1?`[${t}]`:""};`):(r.push(`uniform sampler2D ${e.name};`),r.push(`uniform int offset${e.name};`)),n.enableShapeUniforms){const{uniformShape:t}=QM(n.packedInputs,e.shapeInfo.logicalShape,e.shapeInfo.texShape);switch(t.length){case 1:r.push(`uniform int ${e.name}Shape;`);break;case 2:r.push(`uniform ivec2 ${e.name}Shape;`);break;case 3:r.push(`uniform ivec3 ${e.name}Shape;`);break;case 4:r.push(`uniform ivec4 ${e.name}Shape;`)}r.push(`uniform ivec2 ${e.name}TexShape;`)}})),n.enableShapeUniforms){switch(t.logicalShape.length){case 1:r.push("uniform int outShape;");break;case 2:r.push("uniform ivec2 outShape;"),r.push("uniform int outShapeStrides;");break;case 3:r.push("uniform ivec3 outShape;"),r.push("uniform ivec2 outShapeStrides;");break;case 4:r.push("uniform ivec4 outShape;"),r.push("uniform ivec3 outShapeStrides;")}r.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach((e=>{r.push(`uniform ${e.type} ${e.name}${e.arrayIndex?`[${e.arrayIndex}]`:""};`)}));const s=r.join("\n"),a=e.map((e=>function(e,t,n=!1,r){let s="";s+=n?HM(e,r):GM(e,r);const a=e.shapeInfo.logicalShape,i=t.logicalShape;return a.length<=i.length&&(s+=n?function(e,t){const n=e.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",a=e.shapeInfo.logicalShape.length,i=t.logicalShape.length,o=UM(e.shapeInfo.logicalShape,t.logicalShape),l=JM(i),u=i-a;let c;const h=["x","y","z","w","u","v"];c=0===a?"":i<2&&o.length>=1?"coords = 0;":o.map((e=>`coords.${h[e+u]} = 0;`)).join("\n");let p="";p=i<2&&a>0?"coords":e.shapeInfo.logicalShape.map(((e,t)=>`coords.${h[t+u]}`)).join(", ");let d="return outputValue;";const f=1===oe(e.shapeInfo.logicalShape),m=1===oe(t.logicalShape);if(1!==a||f||m){if(f&&!m)d=1===i?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(o.length){const e=a-2,t=a-1;o.indexOf(e)>-1&&o.indexOf(t)>-1?d="return vec4(outputValue.x);":o.indexOf(e)>-1?d="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":o.indexOf(t)>-1&&(d="return vec4(outputValue.xx, outputValue.zz);")}}else d="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${s}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${r}(${p});\n ${d}\n }\n `}(e,t):function(e,t){const n=e.name,r=n.charAt(0).toUpperCase()+n.slice(1),s="get"+r+"AtOutCoords",a=t.texShape,i=e.shapeInfo.texShape,o=e.shapeInfo.logicalShape.length,l=t.logicalShape.length;if(!e.shapeInfo.isUniform&&o===l&&null==e.shapeInfo.flatOffset&&ue(i,a))return`\n float ${s}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=JM(l),c=UM(e.shapeInfo.logicalShape,t.logicalShape),h=l-o;let p;const d=["x","y","z","w","u","v"];p=0===o?"":l<2&&c.length>=1?"coords = 0;":c.map((e=>`coords.${d[e+h]} = 0;`)).join("\n");let f="";return f=l<2&&o>0?"coords":e.shapeInfo.logicalShape.map(((e,t)=>`coords.${d[t+h]}`)).join(", "),`\n float ${s}() {\n ${u} coords = getOutputCoords();\n ${p}\n return get${r}(${f});\n }\n `}(e,t)),s}(e,t,n.packedInputs,n.enableShapeUniforms))).join("\n"),i=t.texShape,o=LM(),l=function(e){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${e.texture2D}(textureSampler, uv).r;\n }\n `}(o);let u,c,h=function(e){return`${e.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${e.varyingFs} vec2 resultUV;\n ${e.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${e.defineSpecialNaN}\n ${e.defineSpecialInf}\n ${e.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${jM}\n ${qM}\n ${KM}\n `}(o);return t.isPacked?(u=function(e,t,n){switch(e.length){case 0:return"\n int getOutputCoords() {\n return 0;\n }\n ";case 1:return function(e,t,n){const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];return 1===r[0]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${r[1]}.0);\n }\n `:1===r[1]?n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${r[0]}.0);\n }\n `:n?"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ":`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n return 2 * (resTexRC.x * ${r[1]} + resTexRC.y);\n }\n `}(0,t,n);case 2:return function(e,t,n){const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(ue(e,t))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${r[0]}, ${r[1]}));\n }\n `;const s=Math.ceil(e[1]/2);return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ":`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec2(r, c);\n }\n `}(e,t,n);case 3:return function(e,t,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],s=Math.ceil(e[2]/2),a=s*Math.ceil(e[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${r[0]}, ${r[1]}));\n int index = resTexRC.x * ${r[1]} + resTexRC.y;\n\n int b = index / ${a};\n index -= b * ${a};\n\n int r = 2 * (index / ${s});\n int c = imod(index, ${s}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(e,t,n);default:return function(e,t,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const r=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],s=Math.ceil(e[e.length-1]/2),a=s*Math.ceil(e[e.length-2]/2);let i=a,o="",l="b, r, c";for(let t=2;t1&&!ue(t,n)&&r.lengthe[t])).join(", ")}function nF(e,t){if(e.length!==t.length)throw Error(`Binary was compiled with ${e.length} inputs, but was executed with ${t.length} inputs`);e.forEach(((e,n)=>{const r=e.logicalShape,s=t[n],a=s.shape;if(!ue(r,a))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${r} and ${a} must match`);if(e.isUniform&&s.isUniform)return;const i=e.texShape,o=s.isUniform?null:s.texData.texShape;if(!ue(i,o))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${i} and ${o} must match`)}))}function rF(e){return He().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&e<=4}class sF{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=oM.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=LM();this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?PM(["r","c","d"],e):zM(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}}class aF{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=oM.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=LM();this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?PM(["r","c","d"],e):zM(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}}class iF{constructor(e){this.variableNames=["A"],this.outTexUsage=lM.DOWNLOAD;const t=LM();this.outputShape=e,this.userCode=`\n ${VM}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}}class oF{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=lM.DOWNLOAD;const t=LM();this.outputShape=e,this.userCode=`\n ${VM}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}}class lF{constructor(e,t=!1){this.variableNames=["A"],this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=LM();this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length);let r="result";t&&(r="floor(result * 255. + 0.5)"),this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":BM(e)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n vec4 values = ${n.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${n.output} = vec4(${r}, 0., 0., 0.);\n }\n `}}class uF{constructor(e,t=!1){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.customUniforms=[{name:"texShape",type:"ivec2"}];const n=LM();this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length);let r="",s="result";t&&(s="floor(result * 255. + 0.5)");for(let t=0;t<=1;t++)for(let s=0;s<=1;s++){const a=2*t+s;r+=`\n localCoords = coords;\n if(localCoords[2] + ${s} < ${this.enableShapeUniforms?"outShape[2]":`${e[2]}`}) {\n localCoords[2] += ${s};\n if (localCoords[1] + ${t} < ${this.enableShapeUniforms?"outShape[1]":`${e[1]}`}) {\n localCoords[1] += ${t};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n values = ${n.texture2D}(A, uv);\n\n if (offset == 0) {\n result[${a}] = values[0];\n } else if (offset == 1) {\n result[${a}] = values[1];\n } else if (offset == 2) {\n result[${a}] = values[2];\n } else {\n result[${a}] = values[3];\n }\n }\n }\n `}this.userCode=`\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":BM(e)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${r}\n\n ${n.output} = ${s};\n }\n `}}function cF(e,t,n,r,s,a){!function(e,t){const n=He().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0)throw new Error(`Requested texture size [${e}x${t}] is invalid.`);if(e>n||t>n)throw new Error(`Requested texture size [${e}x${t}] greater than WebGL maximum on this browser / GPU [${n}x${n}].`)}(t,n);const i=function(e){return NM(e,(()=>e.createTexture()),"Unable to create WebGLTexture.")}(e),o=e.TEXTURE_2D;return fM(e,(()=>e.bindTexture(o,i))),fM(e,(()=>e.texParameteri(o,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE))),fM(e,(()=>e.texParameteri(o,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE))),fM(e,(()=>e.texParameteri(o,e.TEXTURE_MIN_FILTER,e.NEAREST))),fM(e,(()=>e.texParameteri(o,e.TEXTURE_MAG_FILTER,e.NEAREST))),1===He().getNumber("WEBGL_VERSION")?fM(e,(()=>e.texImage2D(o,0,r,t,n,0,s,a,null))):fM(e,(()=>e.texStorage2D(o,1,r,t,n))),fM(e,(()=>e.bindTexture(e.TEXTURE_2D,null))),{texture:i,texShape:[n,t]}}function hF(e){return e.internalFormatFloat}function pF(e){return e.internalFormatHalfFloat}function dF(e){return e.downloadTextureFormat}function fF(e){return e.internalFormatPackedFloat}function mF(e){return e.internalFormatPackedHalfFloat}class gF{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];const t=He().getNumber("WEBGL_VERSION");null!=e?(this.gl=e,function(e,t){sM[e]=t}(t,e)):this.gl=iM(t);let n="WEBGL_color_buffer_float";const r="EXT_color_buffer_half_float";if(1===He().getNumber("WEBGL_VERSION")){const e="OES_texture_float",t="OES_texture_half_float";if(this.textureFloatExtension=gM(this.gl,e),MM(this.gl,t))this.textureHalfFloatExtension=gM(this.gl,t);else if(He().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),MM(this.gl,r))this.colorBufferHalfFloatExtension=gM(this.gl,r);else if(He().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",MM(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!MM(this.gl,r))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(r)}this.vertexBuffer=function(e){return function(e,t){const n=NM(e,(()=>e.createBuffer()),"Unable to create WebGLBuffer");return fM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,n))),fM(e,(()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW))),n}(e,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}(this.gl),this.indexBuffer=function(e){return function(e,t){const n=NM(e,(()=>e.createBuffer()),"Unable to create WebGLBuffer");return fM(e,(()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n))),fM(e,(()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW))),n}(e,new Uint16Array([0,1,2,2,1,3]))}(this.gl),this.framebuffer=function(e){return NM(e,(()=>e.createFramebuffer()),"Unable to create WebGLFramebuffer.")}(this.gl),this.textureConfig=dM(this.gl,this.textureHalfFloatExtension)}get debug(){return He().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const e=this.gl;fM(e,(()=>e.finish())),fM(e,(()=>e.bindFramebuffer(e.FRAMEBUFFER,null))),fM(e,(()=>e.deleteFramebuffer(this.framebuffer))),fM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,null))),fM(e,(()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null))),fM(e,(()=>e.deleteBuffer(this.indexBuffer))),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=cM(t,n);return cF(e,s,a,hF(r),r.textureFormatFloat,e.FLOAT)}(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=cM(t,n);return cF(e,s,a,pF(r),r.textureFormatFloat,r.textureTypeHalfFloat)}(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=cM(t,n);return cF(e,s,a,dF(r),e.RGBA,e.UNSIGNED_BYTE)}(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),function(e,t,n){fM(e,(()=>e.bindTexture(e.TEXTURE_2D,t))),n.data instanceof Uint8Array?2===He().getNumber("WEBGL_VERSION")?fM(e,(()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,e.RGBA,e.UNSIGNED_BYTE,n.data))):fM(e,(()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data))):2===He().getNumber("WEBGL_VERSION")?fM(e,(()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n))):fM(e,(()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n))),fM(e,(()=>e.bindTexture(e.TEXTURE_2D,null)))}(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,r){this.throwIfDisposed(),function(e,t,n,r,s,a){let i,o,l;fM(e,(()=>e.bindTexture(e.TEXTURE_2D,t))),s instanceof Uint8Array?(i=new Uint8Array(n*r*4),o=e.UNSIGNED_BYTE,l=e.RGBA):(i=new Float32Array(n*r*4),o=e.FLOAT,l=a.internalFormatPackedFloat),i.set(s),2===He().getNumber("WEBGL_VERSION")?fM(e,(()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,e.RGBA,o,i))):fM(e,(()=>e.texImage2D(e.TEXTURE_2D,0,l,n,r,0,e.RGBA,o,i))),fM(e,(()=>e.bindTexture(e.TEXTURE_2D,null)))}(this.gl,e,t,n,r,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=pM(t,n);return cF(e,s,a,mF(r),e.RGBA,r.textureTypeHalfFloat)}(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),function(e,t,n,r){const[s,a]=pM(t,n);return cF(e,s,a,fF(r),e.RGBA,e.FLOAT)}(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(kM(this.gl,this.framebuffer),this.outputTexture=null),fM(this.gl,(()=>this.gl.deleteTexture(e)))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,(()=>function(e,t,n,r){const[s,a]=cM(t,n),i=new Uint8Array(t*n*4);return fM(e,(()=>e.readPixels(0,0,s,a,r.downloadTextureFormat,e.UNSIGNED_BYTE,i))),new Float32Array(i.buffer)}(this.gl,t,n,this.textureConfig)))}downloadPackedMatrixFromBuffer(e,t,n,r,s,a){return function(e,t,n,r,s,a,i,o){const l=e,u=new Float32Array(function(e,t){const[n,r]=pM(e,t);return n*r*4}(a,i));return l.bindBuffer(l.PIXEL_PACK_BUFFER,t),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}(this.gl,e,0,0,0,s,a,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return function(e,t,n){const r=e,s=new Float32Array(n);return r.bindBuffer(r.PIXEL_PACK_BUFFER,t),r.getBufferSubData(r.PIXEL_PACK_BUFFER,0,s),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),s}(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);const r=function(e,t,n,r){const s=e.createBuffer();fM(e,(()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,s)));const a=16*t*n;return fM(e,(()=>e.bufferData(e.PIXEL_PACK_BUFFER,a,e.STREAM_READ))),fM(e,(()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,0))),fM(e,(()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,null))),s}(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),r}createAndWaitForFence(){const e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if(He().getBool("WEBGL_FENCE_API_ENABLED")){const r=e,s=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{const e=r.clientWaitSync(s,0,0);return e===r.ALREADY_SIGNALED||e===r.CONDITION_SATISFIED},t=s}else He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,(()=>function(e,t,n){const r=new Float32Array(t*n*4);return fM(e,(()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,r))),r}(this.gl,t,n)))}createProgram(e){this.throwIfDisposed();const t=this.gl;null==this.vertexShader&&(this.vertexShader=function(e){const t=LM();return function(e,t){const n=NM(e,(()=>e.createShader(e.VERTEX_SHADER)),"Unable to create vertex WebGLShader.");if(fM(e,(()=>e.shaderSource(n,t))),fM(e,(()=>e.compileShader(n))),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}(e,`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`)}(t));const n=function(e){return NM(e,(()=>e.createProgram()),"Unable to create WebGLProgram.")}(t);return fM(t,(()=>t.attachShader(n,this.vertexShader))),fM(t,(()=>t.attachShader(n,e))),function(e,t){if(fM(e,(()=>e.linkProgram(t))),!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}(t,n),this.debug&&bM(t,n),this.vertexAttrsAreBound||(this.setProgram(n),this.vertexAttrsAreBound=function(e,t,n){return fM(e,(()=>e.bindBuffer(e.ARRAY_BUFFER,n))),xM(e,t,"clipSpacePos",n,3,20,0)&&xM(e,t,"uv",n,2,20,12)}(t,this.program,this.vertexBuffer)),n}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&fM(this.gl,(()=>this.gl.deleteProgram(e)))}setProgram(e){this.throwIfDisposed(),this.program=e,null!=this.program&&this.debug&&bM(this.gl,this.program),fM(this.gl,(()=>this.gl.useProgram(e)))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?function(e,t,n){return NM(e,(()=>e.getUniformLocation(t,n)),'uniform "'+n+'" not present in program.')}(this.gl,e,t):function(e,t,n){return e.getUniformLocation(t,n)}(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),fM(this.gl,(()=>this.gl.getAttribLocation(e,t)))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),wM(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();const[r,s]=pM(t,n);this.setOutputMatrixTextureDriver(e,r,s)}setOutputMatrixWriteRegion(e,t,n,r){this.setOutputMatrixWriteRegionDriver(n,e,r,t)}setOutputPackedMatrixWriteRegion(e,t,n,r){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&bM(this.gl,this.program),IM(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const e=this.gl;this.debug&&this.debugValidate(),fM(e,(()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0)))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),fM(this.gl,(()=>this.gl.finish()))}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=gM(this.gl,2===He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}const e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(2===He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2();return void e.endQuery(t.TIME_ELAPSED_EXT)}const e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await me((()=>this.disposed||this.isQueryAvailable(e,He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")))),this.getQueryTime(e,He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(0===t)return null;if(2===t){const t=this.gl;return t.getQueryParameter(e,t.QUERY_RESULT)/1e6}{const t=this.getQueryTimerExtensionWebGL1();return t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(0===t)return!0;if(2===t){const t=this.gl,n=this.getQueryTimerExtensionWebGL2(),r=t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),r&&!this.disjoint}{const t=this.getQueryTimerExtensionWebGL1(),n=t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(t.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise((t=>{this.addItemToPoll((()=>e.isFencePassed()),(()=>t()))}))}pollItems(){const e=function(e){let t=0;for(;te.isDoneFn)));for(let t=0;t<=e;++t){const{resolveFn:e}=this.itemsToPoll[t];e()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1||me((()=>(this.pollItems(),0===this.itemsToPoll.length)))}bindTextureToFrameBuffer(e){this.throwIfDisposed(),vM(this.gl,e,this.framebuffer),this.debug&&IM(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(vM(this.gl,this.outputTexture,this.framebuffer),this.debug&&IM(this.gl)):kM(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);const n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();const r=this.gl;vM(r,e,this.framebuffer),this.debug&&IM(r),this.outputTexture=e,fM(r,(()=>r.viewport(0,0,t,n))),fM(r,(()=>r.scissor(0,0,t,n)))}setOutputMatrixWriteRegionDriver(e,t,n,r){this.throwIfDisposed(),fM(this.gl,(()=>this.gl.scissor(e,t,n,r)))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}}const{addImpl:yF,bincountImpl:bF,bincountReduceImpl:xF,ceilImpl:wF,concatImpl:vF,equalImpl:kF,expImpl:IF,expm1Impl:NF,floorImpl:SF,gatherNdImpl:TF,gatherV2Impl:CF,greaterImpl:EF,greaterEqualImpl:$F,lessImpl:AF,lessEqualImpl:RF,linSpaceImpl:MF,logImpl:FF,maxImpl:DF,maximumImpl:_F,minimumImpl:OF,multiplyImpl:LF,negImpl:zF,notEqualImpl:PF,prodImpl:BF,rangeImpl:VF,rsqrtImpl:UF,sigmoidImpl:WF,simpleAbsImpl:GF,sliceImpl:HF,sparseFillEmptyRowsImpl:jF,sparseReshapeImpl:qF,sparseSegmentReductionImpl:KF,sqrtImpl:XF,stridedSliceImpl:YF,stringNGramsImpl:ZF,stringSplitImpl:JF,stringToHashBucketFastImpl:QF,subImpl:eD,tileImpl:tD,topKImpl:nD,transposeImpl:rD,uniqueImpl:sD}=H;function aD(e,t){return["x","y","z","w","u","v"].slice(0,t).map((t=>`${e}.${t}`))}function iD(e,t){return 1===t?[e]:aD(e,t)}class oD{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.enableShapeUniforms=rF(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const e=iD("rc",this.rank),t=JM(this.rank),n=this.getOutOfBoundsCondition(e),r=this.getSetup(e),s=this.getOutput(e);this.userCode=`\n void main() {\n ${t} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${r}\n\n setOutput(vec4(${s}));\n }\n }\n `}}getSourceCoordsArr(e){const t=[];for(let n=0;n<=1;n++)for(let r=0;r<=1;r++){let s=`${0===n?"r":"rp1"}, ${0===r?"c":"cp1"}`;for(let t=2;t ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let t="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${r};\n `}getOutput(e){const t=this.getSourceCoordsArr(e);return 1===this.rank?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}}class lD{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length);let n="";for(let e=0;e<4;e++){let t="thisRC = rc;";e%2==1&&(t+="thisRC.z += 1;"),e>1&&(t+="thisRC.y += 1;"),n+=`\n ${t}\n ${e>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${e}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${e>0?"}":""}\n `}var r,s;this.userCode=`\n ${r=t,s=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${s?function(e,t,n="index"){const r=function(e,t){const n=e.length,r=e.map((e=>`${t}[${e}]`)),s=new Array(n-1);s[n-2]=r[n-1];for(let e=n-3;e>=0;--e)s[e]=`(${s[e+1]} * ${r[e+1]})`;return s}(e.map(((e,t)=>t)),t);return r.map(((t,s)=>`int ${e[s]} = ${n} / ${r[s]}; ${s===r.length-1?`int ${e[s+1]} = ${n} - ${e[s]} * ${r[s]}`:`index -= ${e[s]} * ${r[s]}`};`)).join("")}(["r","c","d"],"inputShape"):zM(["r","c","d"],r)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":BM(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":e[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":e[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}}class uD{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(e,t,n){const r=hD(t,n),s=pD(e,r,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);const a=cD(e,r,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=a,this.log();const e=this.freeTextures[s].shift();return this.usedTextures[s].push(e),e}let i;return r===uM.PACKED_2X2_FLOAT32?i=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):r===uM.PACKED_2X2_FLOAT16?i=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):r===uM.UNPACKED_FLOAT32?i=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):r===uM.UNPACKED_FLOAT16?i=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):r===uM.PACKED_4X1_UNSIGNED_BYTE&&(i=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[s].push(i),this.numUsedTextures++,this._numBytesAllocated+=a,this.log(),i}releaseTexture(e,t,n,r){if(null==this.freeTextures)return;const s=hD(n,r),a=pD(t,s,r);a in this.freeTextures||(this.freeTextures[a]=[]);const i=cD(t,s,this.gpgpu.gl,this.gpgpu.textureConfig,r),o=He().get("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==o&&this._numBytesAllocated>o?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=i):(this.freeTextures[a].push(e),this.numFreeTextures++,this._numBytesFree+=i),this.numUsedTextures--;const l=this.usedTextures[a],u=l.indexOf(e);if(u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l.splice(u,1),this.log()}log(){if(!this.logEnabled)return;const e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);const t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const e in this.freeTextures)this.freeTextures[e].forEach((e=>{this.gpgpu.deleteMatrixTexture(e.texture)}));for(const e in this.usedTextures)this.usedTextures[e].forEach((e=>{this.gpgpu.deleteMatrixTexture(e.texture)}));this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function cD(e,t,n,r,s){const a=function(e,t){switch(e){case uM.PACKED_2X2_FLOAT32:return fF(t);case uM.PACKED_2X2_FLOAT16:return mF(t);case uM.UNPACKED_FLOAT32:return hF(t);case uM.UNPACKED_FLOAT16:return pF(t);case uM.PACKED_4X1_UNSIGNED_BYTE:return dF(t);default:throw new Error(`Unknown physical texture type ${e}`)}}(t,r);let i;if(s){const[t,n]=pM(e[0],e[1]);i=t*n}else{const[t,n]=cM(e[0],e[1]);i=t*n}const o=function(e,t){const n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F)return 16;if(t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}(n,a);return i*o}function hD(e,t){if(e===lM.UPLOAD)return uM.PACKED_2X2_FLOAT32;if(e===lM.RENDER||null==e)return function(e){return He().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?uM.PACKED_2X2_FLOAT32:uM.UNPACKED_FLOAT32:e?uM.PACKED_2X2_FLOAT16:uM.UNPACKED_FLOAT16}(t);if(e===lM.DOWNLOAD||e===lM.PIXELS)return uM.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${e}`)}function pD(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`}class dD{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const fD="return abs(x);",mD="return x;";class gD{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}class yD{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length);const t=e.length,n=iD("rc",t),r=JM(t),s=function(e,t){if(1===e)return"rc";let n="";for(let r=0;rt.push(e)))}const t=this.texData.get(e),{values:n,shape:r,slice:s,dtype:a,complexTensorInfos:i,isPacked:o}=t;if(null!=s){let t;t=o?new gD(r,mD):new dD(r,mD);const n=this.runWebGLProgram(t,[{dataId:e,shape:r,dtype:a}],a),s=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),s}if(null!=n)return this.convertAndCacheOnCPU(e);if(He().getBool("DEBUG")&&!He().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===He().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==a&&He().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(e);const t=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(t.texture.texture,...hM(r))}if(this.pendingRead.set(e,[]),"complex64"!==a&&await this.gpgpu.createAndWaitForFence(),"complex64"===a){const e=await Promise.all([this.read(i.real.dataId),this.read(i.imag.dataId)]);u=Jd(e[0],e[1])}else if(null==c)u=this.getValuesFromTexture(e);else{const e=oe(r);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,e)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const e=this.gpgpu.gl;fM(e,(()=>e.deleteBuffer(c)))}const h=this.convertAndCacheOnCPU(e,u),p=this.pendingRead.get(e);return this.pendingRead.delete(e),p.forEach((e=>e(h))),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&jo().removeDataId(e,this),this.pendingDeletes--),h}readToGPU(e,t={}){const n=this.texData.get(e),{values:r,shape:s,slice:a,dtype:i,isPacked:o,texture:l}=n;if("complex64"===i)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=a){let n;n=o?new gD(s,mD):new dD(s,mD);const r=this.runWebGLProgram(n,[{dataId:e,shape:s,dtype:i}],i),a=this.readToGPU(r,t);return this.disposeIntermediateTensorInfo(r),a}if(null==l)throw null!=r?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(e,t.customTexShape),c=jo().makeTensorFromDataId(u.dataId,u.shape,u.dtype),h=this.texData.get(u.dataId);return Object.assign({tensorRef:c},h.texture)}bufferSync(e){const t=this.readSync(e.dataId);let n=t;if("string"===e.dtype)try{n=t.map((e=>Ds(e)))}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return Ni(e.shape,e.dtype,n)}checkNumericalProblems(e){if(null!=e)for(let t=0;t0}time(e){const t=this.activeTimers,n=[];let r=!1;null==this.programTimersStack?(this.programTimersStack=n,r=!0):this.activeTimers.push(n),this.activeTimers=n,e();const s=ie(this.activeTimers.map((e=>e.query))).filter((e=>null!=e)),a=ie(this.activeTimers.map((e=>e.name))).filter((e=>null!=e));this.activeTimers=t,r&&(this.programTimersStack=null);const i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const e=await Promise.all(s);i.kernelMs=ee(e),i.getExtraProfileInfo=()=>e.map(((e,t)=>({name:a[t],ms:e}))).map((e=>`${e.name}: ${e.ms}`)).join(", ")}else i.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,i})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:Rs(),endMs:null}}endTimer(e){return He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=Rs(),e)}async getQueryTime(e){if(He().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);const t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);const{complexTensorInfos:n}=this.texData.get(e);return null!=n&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){const{texture:t,dtype:n,texShape:r,usage:s,isPacked:a,slice:i}=this.texData.get(e),o=i&&i.origDataId||e,l=this.dataRefCount.get(o);l>1?this.dataRefCount.set(o,l-1):(this.dataRefCount.delete(o),null!=t&&(this.numBytesInGPU-=this.computeBytes(r,n),this.textureManager.releaseTexture(t,r,s,a)));const u=this.texData.get(e);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=wD){return He().getBool("WEBGL_CPU_FORWARD")&&e.every((e=>null==this.texData.get(e.dataId).texture&&oe(e.shape)0&&Ce(n[0])){const s=n.map((e=>Fs(e)));r=this.write(s,e,t)}else r=this.write(n,e,t);return this.texData.get(r).usage=null,{dataId:r,shape:e,dtype:t}}makeOutput(e,t,n){const{dataId:r}=this.makeTensorInfo(e,t,n);return jo().makeTensorFromDataId(r,e,t,this)}unpackTensor(e){const t=new yD(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){const t=new oD(e.shape);return this.runWebGLProgram(t,[e],e.dtype,null,!0)}packedReshape(e,t){const n=[SM(e.shape),...TM(e.shape)],r={dtype:e.dtype,shape:n,dataId:e.dataId},s=[SM(t),...TM(t)],a=new lD(s,n),i=[n],o=this.runWebGLProgram(a,[r],e.dtype,i,!0);return{dataId:o.dataId,shape:t,dtype:o.dtype}}decode(e,t){const n=this.texData.get(e),{isPacked:r,shape:s,dtype:a}=n;null!=t&&re(oe(s)<=t[0]*t[1]*4,(()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data."));const i=CM(s);let o;o=r?new aF(i):new sF(i);const l=[null!=t?t:hM(i)];return{dtype:a,shape:s,dataId:this.runWebGLProgram(o,[{shape:i,dtype:a,dataId:e}],a,l,!0,t).dataId}}runWebGLProgram(e,t,n,r,s=!1,a){const i=this.makeTensorInfo(e.outputShape,n),o=this.texData.get(i.dataId);if(e.packedOutput&&(o.isPacked=!0),e.outPackingScheme===oM.DENSE){const t=null!=a?a:hM(e.outputShape);o.texShape=t.map((e=>2*e))}if(null!=e.outTexUsage&&(o.usage=e.outTexUsage),0===oe(i.shape))return o.values=xe(i.dtype,0),i;const l=[],u=t.map((t=>{if("complex64"===t.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(t.dataId);if(null==n.texture){if(!e.packedInputs&&oe(t.shape)<=He().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:t.shape,texData:null,isUniform:!0,uniformValues:n.values};e.packedInputs&&(n.isPacked=!0,n.shape=t.shape)}if(this.uploadToGPU(t.dataId),!!n.isPacked!=!!e.packedInputs)t=n.isPacked?this.unpackTensor(t):this.packTensor(t),l.push(t),n=this.texData.get(t.dataId);else if(n.isPacked&&!$M(n.shape,t.shape)){const e=t,r=t.shape;t.shape=n.shape,t=this.packedReshape(t,r),l.push(t),n=this.texData.get(t.dataId),e.shape=r}return{shape:t.shape,texData:n,isUniform:!1}}));this.uploadToGPU(i.dataId);const c={shape:i.shape,texData:o,isUniform:!1},h=function(e,t,n){let r="";t.concat(n).forEach((t=>{const s=null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0;if(e.enableShapeUniforms&&!t.isUniform){const a=t.texData.texShape,{useSqueezeShape:i,uniformShape:o,keptDims:l}=QM(e.packedInputs,t.shape,a);let u="",c="",h="";if(1===o.length&&e.packedInputs){const e=[Math.ceil(a[0]/2),Math.ceil(a[1]/2)];u=`${e[0]>1}_${e[1]>1}`}else if(2!==o.length||e.packedInputs){if(o.length>2&&!e.packedInputs){const e=Fe(o);h=`${e[0]===a[1]}_${e[e.length-1]===a[1]}`}}else c=`${o[0]>1}_${o[1]>1}`;const p=t.shape.length,d=2===o.length&&ue(t.shape,a),f=1===oe(t.shape),m=Xi(t.shape,n.shape),g=!e.packedInputs&&p===n.shape.length&&ue(a,n.texData.texShape),y=e.packedInputs||o.length>2?"":`${a[0]>1}_${a[1]>1}`;r+=`${p}_${g}_${i?l:""}_${o.length}_${f}_${m}_${d}_${u}_${c}_${h}_${y}_${s}`}else{const e=t.isUniform?"uniform":t.texData.texShape;r+=`${t.shape}_${e}_${s}`}}));const s=e.userCode;let a=e.constructor.name;return a+="_"+r+"_"+s+`${He().getNumber("WEBGL_VERSION")}`,a}(e,u,c),p=this.getAndSaveBinary(h,(()=>function(e,t,n,r){const s=n.map(((e,n)=>{const r={logicalShape:e.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform,isPacked:!e.isUniform&&e.texData.isPacked,flatOffset:null};return null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0&&(r.flatOffset=e.texData.slice.flatOffset),{name:t.variableNames[n],shapeInfo:r}})),a=s.map((e=>e.shapeInfo)),i={logicalShape:r.shape,texShape:r.texData.texShape,isUniform:!1,isPacked:r.texData.isPacked,flatOffset:null},o=WM(s,i,t),l=function(e,t){const n=NM(e,(()=>e.createShader(e.FRAGMENT_SHADER)),"Unable to create fragment WebGLShader.");if(fM(e,(()=>e.shaderSource(n,t))),fM(e,(()=>e.compileShader(n))),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw function(e,t){const n=yM.exec(t);if(null==n)return console.log(`Couldn't parse line number in error: ${t}`),void console.log(e);const r=+n[1],s=e.split("\n"),a=s.length.toString().length+2,i=s.map(((e,t)=>fe((t+1).toString(),a)+e));let o=0;for(let e=0;e{x[n]=e.getUniformLocation(u,t.name,p)})),{program:t,fragmentShader:l,source:o,webGLProgram:u,uniformLocations:d,customUniformLocations:x,inShapeInfos:a,outShapeInfo:i,infLoc:c,nanLoc:h,inShapesLocations:f,inTexShapesLocations:m,outShapeLocation:g,outShapeStridesLocation:b,outTexShapeLocation:y}}(this.gpgpu,e,u,c))),d=null!=this.activeTimers;let f;d&&(f=this.startTimer()),function(e,t,n,r,s){t.program.enableShapeUniforms||(nF(t.inShapeInfos,n),nF([t.outShapeInfo],[r]));const a=r.texData.texture,i=r.texData.texShape;r.texData.isPacked?e.setOutputPackedMatrixTexture(a.texture,i[0],i[1]):e.setOutputMatrixTexture(a.texture,i[0],i[1]),e.setProgram(t.webGLProgram),1===He().getNumber("WEBGL_VERSION")&&null!==t.infLoc&&e.gl.uniform1f(t.infLoc,1/0),null!==t.nanLoc&&e.gl.uniform1f(t.nanLoc,NaN),n.forEach(((n,r)=>{const s=t.program.variableNames[r],a=t.uniformLocations[s],i=t.uniformLocations[`offset${s}`],o=t.inShapesLocations[`${s}Shape`],l=t.inTexShapesLocations[`${s}TexShape`];if(o){const{uniformShape:r}=QM(t.program.packedInputs,n.shape,n.texData.texShape);switch(r.length){case 1:e.gl.uniform1iv(o,new Int32Array(r));break;case 2:e.gl.uniform2iv(o,new Int32Array(r));break;case 3:e.gl.uniform3iv(o,new Int32Array(r));break;case 4:e.gl.uniform4iv(o,new Int32Array(r))}}if(l&&e.gl.uniform2i(l,n.texData.texShape[0],n.texData.texShape[1]),null!=a)if(n.isUniform)if(oe(n.shape)<2)e.gl.uniform1f(a,n.uniformValues[0]);else{let t=n.uniformValues;t instanceof Float32Array||(t=new Float32Array(t)),e.gl.uniform1fv(a,t)}else null!=n.texData.slice&&null!=i&&e.gl.uniform1i(i,n.texData.slice.flatOffset),e.setInputMatrixTexture(n.texData.texture.texture,a,r)}));const o=t.outShapeLocation;if(o)switch(r.shape.length){case 1:e.gl.uniform1iv(o,new Int32Array(r.shape));break;case 2:e.gl.uniform2iv(o,new Int32Array(r.shape));break;case 3:e.gl.uniform3iv(o,new Int32Array(r.shape));break;case 4:e.gl.uniform4iv(o,new Int32Array(r.shape))}if(t.outShapeStridesLocation){const n=Fe(r.shape);switch(r.shape.length){case 2:e.gl.uniform1iv(t.outShapeStridesLocation,new Int32Array(n));break;case 3:e.gl.uniform2iv(t.outShapeStridesLocation,new Int32Array(n));break;case 4:e.gl.uniform3iv(t.outShapeStridesLocation,new Int32Array(n))}}t.outTexShapeLocation&&e.gl.uniform2i(t.outTexShapeLocation,r.texData.texShape[0],r.texData.texShape[1]),t.program.customUniforms&&s&&t.program.customUniforms.forEach(((n,r)=>{const a=t.customUniformLocations[r],i=s[r];if("float"===n.type)e.gl.uniform1fv(a,i);else if("vec2"===n.type)e.gl.uniform2fv(a,i);else if("vec3"===n.type)e.gl.uniform3fv(a,i);else if("vec4"===n.type)e.gl.uniform4fv(a,i);else if("int"===n.type)e.gl.uniform1iv(a,i);else if("ivec2"===n.type)e.gl.uniform2iv(a,i);else if("ivec3"===n.type)e.gl.uniform3iv(a,i);else{if("ivec4"!==n.type)throw Error(`uniform type ${n.type} is not supported yet.`);e.gl.uniform4iv(a,i)}})),e.executeProgram()}(this.gpgpu,p,u,c,r),l.forEach((e=>this.disposeIntermediateTensorInfo(e))),d&&(f=this.endTimer(f),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(f)}));const m=He().get("WEBGL_FLUSH_THRESHOLD");if(m>0){const e=Rs();e-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=e)}if(!He().getBool("WEBGL_LAZILY_UNPACK")&&o.isPacked&&!1===s){const e=this.unpackTensor(i);return this.disposeIntermediateTensorInfo(i),e}return i}compileAndRun(e,t,n,r,s=!1){return n=n||t[0].dtype,this.runWebGLProgram(e,t,n,r,s)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(He().getBool("IS_TEST")||Object.keys(this.binaryCache).forEach((e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]})),this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=Xo((()=>{if(!He().get("WEBGL_RENDER_FLOAT32_ENABLED")){const e=He().getBool("DEBUG");He().set("DEBUG",!1);const t=this.abs(kl(1e-8)).dataSync()[0];if(He().set("DEBUG",e),t>0)return 32}return 16}))),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(e){const t=this.texData.get(e),{shape:n,dtype:r,values:s,texture:a,usage:i,isPacked:o}=t;if(null!=a)return;const l=null!=this.activeTimers;let u;l&&(u=Rs());let c=t.texShape;if(null==c&&(c=function(e,t=!1){let n=He().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(t&&(n*=2,1===(e=e.map(((t,n)=>n>=e.length-2?J(e[n]):e[n]))).length&&(e=[2,e[0]])),2!==e.length){const t=be(e);e=t.newShape}let r=oe(e);if(e.length<=1&&r<=n)return[1,r];if(2===e.length&&e[0]<=n&&e[1]<=n)return e;if(3===e.length&&e[0]*e[1]<=n&&e[2]<=n)return[e[0]*e[1],e[2]];if(3===e.length&&e[0]<=n&&e[1]*e[2]<=n)return[e[0],e[1]*e[2]];if(4===e.length&&e[0]*e[1]*e[2]<=n&&e[3]<=n)return[e[0]*e[1]*e[2],e[3]];if(4===e.length&&e[0]<=n&&e[1]*e[2]*e[3]<=n)return[e[0],e[1]*e[2]*e[3]];if(t){const t=SM(e);let n=2,s=2;return e.length&&([n,s]=TM(e)),r=t*(n/2)*(s/2),pe(r).map((e=>2*e))}return pe(r)}(n,o),t.texShape=c),null!=s){const e=CM(n);let a,i=c[1],h=c[0];const p=s instanceof Uint8Array||s instanceof Uint8ClampedArray;!o&&p||([i,h]=pM(c[0],c[1])),a=o?new uF(e,p):new lF(e,p);const d=p?[h,i]:c,f=this.makeTensorInfo(d,r),m=this.texData.get(f.dataId);m.usage=p?lM.PIXELS:lM.UPLOAD,m.texShape=d,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),i,h,s);const g=[[h,i]],y=!0,b=this.runWebGLProgram(a,[f],r,g,y),x=this.texData.get(b.dataId);t.texture=x.texture,t.texShape=x.texShape,t.isPacked=x.isPacked,t.usage=x.usage,this.disposeIntermediateTensorInfo(f),this.texData.delete(b.dataId),t.values=null,l&&(this.uploadWaitMs+=Rs()-u)}else{const e=this.acquireTexture(c,i,r,o);t.texture=e}}convertAndCacheOnCPU(e,t){const n=this.texData.get(e),{dtype:r}=n;return this.releaseGPUData(e),null!=t&&(n.values=function(e,t){if("float32"===t||"complex64"===t)return e;if("int32"===t||"bool"===t){const n="int32"===t?new Int32Array(e.length):new Uint8Array(e.length);for(let t=0;t1024*this.numMBBeforeWarning*1024){const e=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${e} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,r)}computeBytes(e,t){return e[0]*e[1]*Se(t)}}vD.nextDataId=0,ba()&&al("webgl",(()=>new vD),2);class kD{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=Zi(t,n),this.enableShapeUniforms=rF(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}}class ID{constructor(e,t,n,r=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=Zi(t,n);const s=this.outputShape.length;this.enableShapeUniforms=rF(s);let a="";if(r)if(0===s||1===oe(this.outputShape))a="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else if(a=`\n ${JM(s)} coords = getOutputCoords();\n `,1===s)this.enableShapeUniforms?a+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":a+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const e=iD("coords",s);this.enableShapeUniforms?a+=`\n bool nextRowOutOfBounds =\n (${e[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${e[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:a+=`\n bool nextRowOutOfBounds =\n (${e[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${e[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${a}\n\n setOutput(result);\n }\n `}}function ND(e){const{inputs:t,backend:n}=e,{x:r}=t;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}const SD={kernelName:cn,backendName:"webgl",kernelFunc:ND};function TD(e){const{inputs:t,backend:n}=e,{real:r,imag:s}=t,a=n.makeTensorInfo(r.shape,"complex64"),i=n.texData.get(a.dataId),o=ND({inputs:{x:r},backend:n}),l=ND({inputs:{x:s},backend:n});return i.complexTensorInfos={real:o,imag:l},a}const CD={kernelName:kt,backendName:"webgl",kernelFunc:TD},ED="return (a < 0.) ? b * a : a;",$D="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",AD={kernelName:gn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{alpha:a}=r,i=n.makeTensorInfo([],"float32",$s(a,"float32")),o=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new ID($D,s.shape,i.shape):new kD(ED,s.shape,i.shape),l=n.runWebGLProgram(o,[s,i],"float32");return n.disposeIntermediateTensorInfo(i),l}},RD="return (a < 0.) ? b * a : a;",MD="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n",FD={kernelName:Qn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r,alpha:s}=t,a=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new ID(MD,r.shape,s.shape):new kD(RD,r.shape,s.shape);return n.runWebGLProgram(a,[r,s],"float32")}};function DD({opSnippet:e,packedOpSnippet:t,cpuKernelImpl:n,dtype:r}){return({inputs:s,backend:a})=>{const{x:i}=s,o=a,l=r||i.dtype;if(o.shouldExecuteOnCPU([i])&&null!=n){const e=o.texData.get(i.dataId),t=n(e.values,l);return o.makeTensorInfo(i.shape,l,t)}let u;return u=He().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=t?new gD(i.shape,t):new dD(i.shape,e),o.runWebGLProgram(u,[i],l)}}function _D({opSnippet:e,packedOpSnippet:t,checkOutOfBounds:n=!1,supportsComplex:r=!1,cpuKernelImpl:s,dtype:a}){return({inputs:i,backend:o})=>{const{a:l,b:u}=i,c=o;if(r&&"complex64"===l.dtype){const t=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[r,s]=[[t.complexTensorInfos.real,n.complexTensorInfos.real],[t.complexTensorInfos.imag,n.complexTensorInfos.imag]].map((t=>{const[n,r]=t,s={dataId:n.dataId,dtype:n.dtype,shape:l.shape},a={dataId:r.dataId,dtype:r.dtype,shape:u.shape},i=new kD(e,l.shape,u.shape);return c.runWebGLProgram(i,[s,a],na(n.dtype,r.dtype))})),a=TD({inputs:{real:r,imag:s},backend:c});return c.disposeIntermediateTensorInfo(r),c.disposeIntermediateTensorInfo(s),a}const h=a||na(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=s){const e=c.texData.get(l.dataId).values,t=c.texData.get(u.dataId).values,n="string"===l.dtype?Af(e):e,r="string"===l.dtype?Af(t):t,[a,i]=s(l.shape,u.shape,n,r,h),o=c.makeTensorInfo(i,h);return c.texData.get(o.dataId).values=a,o}let p;return p=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=t?new ID(t,l.shape,u.shape,n):new kD(e,l.shape,u.shape),c.runWebGLProgram(p,[l,u],h)}}function OD(e,t=!1){if("linear"===e)return"return x;";if("relu"===e)return t?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n";if("elu"===e)return t?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===e)return t?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n";if("prelu"===e)return t?MD:RD;if("leakyrelu"===e)return t?$D:ED;if("sigmoid"===e)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${e} has not been implemented for the WebGL backend.`)}class LD{constructor(e,t,n,r=!1,s=!1,a=!1,i=null,o=!1,l=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=rF(this.outputShape.length);const u=r?e[1]:e[2],c=Math.ceil(u/2),h=r?"i * 2, rc.y":"rc.y, i * 2",p=s?"rc.z, i * 2":"i * 2, rc.z",d=r?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],f=s?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"];let m="",g="";i&&(m=o?`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${i}\n }`:l?`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${i}\n }`:`vec4 activation(vec4 x) {\n ${i}\n }`,g="result = activation(result);");const y=a?"result += getBiasAtOutCoords();":"";a&&this.variableNames.push("bias"),o&&this.variableNames.push("preluActivationWeights"),l&&this.variableNames.push("leakyreluAlpha");let b="rc.x",x="rc.x";e[0]`The new shape (${l}) has ${u} elements and the old shape (${s.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`));const c=i.texData.get(s.dataId);return!c.isPacked||$M(s.shape,l)||null!==c.texture&&$M(c.shape,l)?(i.incRef(s.dataId),{dataId:s.dataId,shape:l,dtype:s.dtype}):function(e,t,n){const r=[SM(e.shape),...TM(e.shape)],s={dtype:e.dtype,shape:r,dataId:e.dataId},a=[SM(t),...TM(t)],i=new lD(a,r),o=[r],l=n.runWebGLProgram(i,[s],e.dtype,o,!0);return{dataId:l.dataId,shape:t,dtype:l.dtype}}(s,l,i)}const WD={kernelName:ar,backendName:"webgl",kernelFunc:UD};class GD{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:a}=e;this.outputShape=[r,a];const i=4*Math.floor(n/4),o=n%4;let l="sumValue += dot(values, ones);";if(null!=t){const e=1/t;l=`sumValue += dot(values * ${ce(e)?e.toPrecision(2):e}, ones);`}let u="";s%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${i}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${i};\n if (${1===o}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===o}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}}class HD{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:r,inSize:s,outSize:a}=e;this.outputShape=[r,a];let i="0.0",o="";"prod"===t?i="1.0":"min"===t?(i="1.0 / 1e-20",o="min"):"max"===t&&(i="-1.0 / 1e-20",o="max");let l=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===t?l="sumValue":"prod"===t?l="prodValue":"all"===t?l="allValue":"any"===t&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let h=`\n if (${"sum"===t}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===t}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${o}(values, minMaxValue);\n if (${"min"===t} || ${"max"===t}) {\n minMaxValue = ${o}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,p="vec4";"all"===t?(i="1.0",h="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",p="bvec4"):"any"===t&&(i="0.0",h="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",p="bvec4");let d="";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${i};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${i});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${p} values = ${p}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${h}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${p} values = ${p}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${2===c}) {\n ${p} values = ${p}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${h}\n } else if (${3===c}) {\n ${p} values = ${p}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${h}\n }\n setOutput(${l});\n }\n `}}function jD(e,t,n,r){const s=function(e){const t=[];for(;0===t.length||1!==t[t.length-1].outSize;){const n=t.length?t[t.length-1].outSize:e[1],r=Ld(n);t.push({inSize:n,windowSize:r,outSize:Math.ceil(n/r)})}return t}(e.shape);let a=e;for(let i=0;i6)throw Error(`Transpose for rank ${t} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],r=new Array(t);for(let t=0;t6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const r=JM(this.rank),s=aD("rc",this.rank),a=new Array(this.rank);for(let e=0;e`Error in matMul: inner shapes (${h}) and (${p}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${n} and transposeB=${r} must match.`));const w=n?[y,h,d]:[y,d,h],v=r?[b,f,p]:[b,p,f],k=UD({inputs:{x:e},backend:s,attrs:{shape:w}}),I=UD({inputs:{x:t},backend:s,attrs:{shape:v}}),N=[k,I],S=Math.max(y,b),T=n?k.shape[1]:k.shape[2],C=null!=a,E=null!=i,$="leakyrelu"===l,A=null!=l?OD(l,!0):null;let R;if((1===d||1===f)&&T>1e3&&!1===(C||E||$||null!=A)){let e=k,t=I;n&&(e=JD({inputs:{x:k},backend:s,attrs:{perm:[0,2,1]}}),N.push(e)),r&&(t=JD({inputs:{x:I},backend:s,attrs:{perm:[0,2,1]}}),N.push(t));const a=1===f;let i=e;1!==f&&(i=UD({inputs:{x:e},backend:s,attrs:{shape:[S,T,1]}}),N.push(i));const o=1===f?2:1;let l=t;a&&(l=UD({inputs:{x:t},backend:s,attrs:{shape:[S,1,T]}}),N.push(l));const u=BD({inputs:{a:i,b:l},backend:s});R=YD({inputs:{x:u},backend:s,attrs:{axis:o,keepDims:!0}}),N.push(u)}else{const l=na(e.dtype,t.dtype),u=new LD(w,v,[S,d,f],n,r,C,A,E,$),c=[k,I];if(null!=a&&c.push(a),E&&c.push(i),$){const e=s.makeTensorInfo([],"float32",$s(o,"float32"));c.push(e),N.push(e)}R=s.runWebGLProgram(u,c,l)}const M=UD({inputs:{x:R},backend:s,attrs:{shape:x}});N.push(R);for(const e of N)s.disposeIntermediateTensorInfo(e);return M}const t_={kernelName:Qr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a,bias:i,preluActivationWeights:o}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:h}=r;return e_({a:s,b:a,transposeA:l,transposeB:u,backend:n,bias:i,preluActivationWeights:o,leakyreluAlpha:h,activation:c})}},n_="return abs(x);",r_={kernelName:Ye,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t;if(n.shouldExecuteOnCPU([r])&&"complex64"!==r.dtype){const e=n.texData.get(r.dataId),t=GF(e.values);return n.makeTensorInfo(r.shape,r.dtype,t)}let s;return s=He().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new gD(r.shape,n_):new dD(r.shape,n_),n.runWebGLProgram(s,[r],r.dtype)}},s_=DD({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),a_={kernelName:Ze,backendName:"webgl",kernelFunc:s_},i_=DD({opSnippet:"if (isnan(x)) return x;\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),o_={kernelName:Je,backendName:"webgl",kernelFunc:i_},l_="return a + b;",u_=_D({opSnippet:l_,packedOpSnippet:l_,supportsComplex:!0,cpuKernelImpl:yF}),c_={kernelName:Qe,backendName:"webgl",kernelFunc:u_};class h_{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map(((e,t)=>`T${t}`));const n=[];this.variableNames.forEach((e=>{n.push(`float v${e} = get${e}AtOutCoords();`)}));const r=this.variableNames.map((e=>`v${e}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${r};\n setOutput(result);\n }\n `}}class p_{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map(((e,t)=>`T${t}`));const n=[];this.variableNames.forEach((e=>{n.push(`vec4 v${e} = get${e}AtOutCoords();`)}));const r=this.variableNames.map((e=>`v${e}`)).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${r};\n setOutput(result);\n }\n `}}const d_={kernelName:et,backendName:"webgl",kernelFunc:function e(t){const{inputs:n,backend:r}=t,s=n;if(1===s.length)return ND({inputs:{x:s[0]},backend:r});if(s.length>He().get("WEBGL_MAX_TEXTURES_IN_SHADER")){const t=Math.floor(s.length/2),n=e({inputs:s.slice(0,t),backend:r}),a=e({inputs:s.slice(t),backend:r});return e({inputs:[n,a],backend:r})}const a=s.map((e=>e.dtype)).reduce(((e,t)=>na(e,t))),i=s.map((e=>e.shape)),o=He().getBool("WEBGL_PACK")?new p_(s[0].shape,i):new h_(s[0].shape,i);return r.runWebGLProgram(o,s,a)}},f_={kernelName:tt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=s.shape.length,l=ye(a,s.shape);let u=l;const c=Ac(u,o);let h=s;null!=c&&(h=JD({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Mc(u.length,o)),$c("all",u,o);const[p,d]=Cc(h.shape,u),f=UD({inputs:{x:h},backend:n,attrs:{shape:[-1,oe(d)]}}),m=jD(f,f.dtype,"all",n);let g;return g=UD(i?{inputs:{x:m},backend:n,attrs:{shape:Ec(p,l)}}:{inputs:{x:m},backend:n,attrs:{shape:p}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}},m_={kernelName:nt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=s.shape.length,l=ye(a,s.shape);let u=l;const c=Ac(u,o);let h=s;null!=c&&(h=JD({inputs:{x:s},backend:n,attrs:{perm:c}}),u=Mc(u.length,o)),$c("any",u,o);const[p,d]=Cc(h.shape,u),f=UD({inputs:{x:h},backend:n,attrs:{shape:[-1,oe(d)]}}),m=jD(f,f.dtype,"any",n);let g;return g=UD(i?{inputs:{x:m},backend:n,attrs:{shape:Ec(p,l)}}:{inputs:{x:m},backend:n,attrs:{shape:p}}),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(h),g}};class g_{constructor(e,t,n){this.variableNames=["A"];const{windowSize:r,batchSize:s,outSize:a}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[s,a];const i="max"===t?">":"<",o=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${r};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${r}; i++) {\n int inIdx = ${o};\n float candidate = getA(batch, inIdx);\n if (candidate ${i} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}}class y_{constructor(e,t,n,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,re(e.length>2,(()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`));const s=e[e.length-1],a=Math.ceil(s/t);this.outputShape=e.slice(0,-1),a>1&&this.outputShape.push(a),r||this.variableNames.push("bestIndicesA");const i=this.outputShape,o=i.length,l=JM(o),u=iD("coords",o);let c,h;if(1===a){h=o+1;const e=JM(h);c=`\n ${e} sourceLocR = ${e}(${u.join()}, 0);\n ++${u[o-1]};\n ${e} sourceLocG = ${e}(${u.join()}, 0);\n ++${u[o-2]};\n ${e} sourceLocA = ${e}(${u.join()}, 0);\n --${u[o-1]};\n ${e} sourceLocB = ${e}(${u.join()}, 0);\n --${u[o-2]};`}else h=o,c=`\n ${l} sourceLocR = coords;\n ++${u[o-1]};\n ${l} sourceLocG = coords;\n ++${u[o-2]};\n ${l} sourceLocA = coords;\n --${u[o-1]};\n ${l} sourceLocB = coords;\n --${u[o-2]};`;const p=["x","y","z","w","u","v"].slice(0,h),d="."+p[h-1],f=p.map((e=>"int "+e)),m=iD("sourceLocR",h-1).concat("inIdx.r"),g=iD("sourceLocG",h-1).concat("inIdx.g"),y=iD("sourceLocB",h-1).concat("inIdx.b"),b=iD("sourceLocA",h-1).concat("inIdx.a"),x="max"===n?"greaterThan":"lessThan",w=r?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${y.join()}),\n getBestIndicesAChannel(${b.join()})));`,v=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${y.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${b.join()}) : 0.)`,k=r?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${p.join()}),\n vec2(${p.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${p.join()}),\n vec2(${p.slice(-2).join()}));\n }\n ${k}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[o-1]} < ${i[o-1]-1};\n bool hasNextRow = ${u[o-2]} < ${i[o-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d},\n sourceLocB${d}, sourceLocA${d}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${v};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${w}\n vec4 candidate = ${v};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${x}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}}function b_(e,t,n,r=null){let s=t.shape[0],a=t.shape[1];null!=r&&(s=r.shape[0],a=r.shape[1]);const i=Ld(a),o={windowSize:i,inSize:a,batchSize:s,outSize:Math.ceil(a/i)},l=new g_(o,n,null==r),u=[t];null!=r&&u.push(r);const c=e.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const h=b_(e,t,n,c);return e.disposeIntermediateTensorInfo(c),h}function x_(e,t,n,r=null){const s=null!=r?r.shape:t.shape,a=Ld(s[s.length-1]),i=new y_(s,a,n,null==r),o=null==r?[t]:[t,r],l=e.runWebGLProgram(i,o,"int32");if(l.shape.length===t.shape.length){const r=x_(e,t,n,l);return e.disposeIntermediateTensorInfo(l),r}return l}function w_(e,t,n,r){const s=[n];if($c("arg"+r.charAt(0).toUpperCase()+r.slice(1),s,t.shape.length),!He().getBool("WEBGL_PACK_REDUCE")||t.shape.length<=2){const n=[],a=e.texData.get(t.dataId);let i=t;null!==a&&a.isPacked&&(i=e.unpackTensor(t),n.push(i));const[o,l]=Cc(i.shape,s),u=oe(l),c=UD({inputs:{x:i},backend:e,attrs:{shape:[-1,u]}});n.push(c);const h=b_(e,c,r);n.push(h);const p=UD({inputs:{x:h},backend:e,attrs:{shape:o}});return n.forEach((t=>e.disposeIntermediateTensorInfo(t))),p}return x_(e,t,r)}const v_={kernelName:rt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;let i=ye(a,s.shape);const o=Ac(i,s.shape.length);let l=s;const u=[];null!=o&&(l=JD({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Mc(i.length,l.shape.length)),$c("argMax",[i[0]],l.shape.length);const c=w_(n,l,i[0],"max");return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),c}},k_={kernelName:st,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;let i=ye(a,s.shape);const o=Ac(i,s.shape.length);let l=s;const u=[];null!=o&&(l=JD({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Mc(i.length,l.shape.length)),$c("argMin",[i[0]],l.shape.length);const c=w_(n,l,i[0],"min");return u.forEach((e=>n.disposeIntermediateTensorInfo(e))),c}},I_=DD({opSnippet:"if (isnan(x)) return x;\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),N_={kernelName:at,backendName:"webgl",kernelFunc:I_},S_=DD({opSnippet:"if (isnan(x)) return x;return log(x + sqrt(x * x + 1.0));"}),T_={kernelName:it,backendName:"webgl",kernelFunc:S_},C_=DD({opSnippet:"if (isnan(x)) return x;\n return atan(x);\n"}),E_={kernelName:ot,backendName:"webgl",kernelFunc:C_},$_=_D({opSnippet:"\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),A_={kernelName:ut,backendName:"webgl",kernelFunc:$_},R_=DD({opSnippet:"if (isnan(x)) return x;\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),M_={kernelName:lt,backendName:"webgl",kernelFunc:R_};class F_{constructor(e,t,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const a=e.filterWidth,i=e.strideHeight,o=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterHeight,h=e.effectiveFilterWidth,p=e.padInfo.top,d=e.padInfo.left;this.outputShape=e.outShape;const f="avg"===t,m=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,g=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`;let y="0.0";if(f||(y="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${i}, ${o});\n const ivec2 pads = ivec2(${p}, ${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?m:g:`wR * ${h} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let b=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(b="avgValue / count");const x=4*Math.floor(a/4),w=a%4,v=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${i}, ${o});\n const ivec2 pads = ivec2(${p}, ${d});\n const float initializationValue = ${y};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${y});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${x}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${v}\n }\n\n int xC = xCCorner + ${x};\n if (${1===w}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${v}\n } else if (${2===w}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${v}\n } else if (${3===w}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${v}\n }\n }\n setOutput(${b});\n }\n `}}class D_{constructor(e,t,n,r=!1,s=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const a=e.filterWidth,i=e.strideDepth,o=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,c=e.dilationHeight,h=e.dilationWidth,p=e.effectiveFilterDepth,d=e.effectiveFilterHeight,f=e.effectiveFilterWidth,m=e.padInfo.front,g=e.padInfo.top,y=e.padInfo.left;this.outputShape=e.outShape;const b="avg"===t;let x="0.0";if(b||(x="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${h}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${r?s?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${d} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let w=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(w="avgValue / count");const v=4*Math.floor(a/4),k=a%4,I=`\n if (${b}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${i}, ${o}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${y});\n const float initializationValue = ${x};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${x});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${v}; wC += 4) {\n int xC = xCCorner + wC * ${h};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n getValue(batch, xD, xR, xC + 3 * ${h}, ch)\n );\n\n ${I}\n }\n\n int xC = xCCorner + ${v};\n if (${1===k}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${I}\n } else if (${2===k}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n initializationValue,\n initializationValue\n );\n\n ${I}\n } else if (${3===k}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${h}, ch),\n getValue(batch, xD, xR, xC + 2 * ${h}, ch),\n initializationValue\n );\n\n ${I}\n }\n }\n setOutput(${w});\n }\n }\n `}}const __={kernelName:ct,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;_M(s,"avgPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))return ND({inputs:{x:s},backend:n});const c=new F_(u,"avg",!1);return n.runWebGLProgram(c,[s],"float32")}},O_={kernelName:pt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r,c=Zl(s.shape,a,i,[1,1,1],o,l,u),h=new D_(c,"avg",!1);return n.runWebGLProgram(h,[s],"float32")}};class L_{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,s=e.strideWidth,a=e.dilationHeight,i=e.dilationWidth,o=e.effectiveFilterHeight,l=e.effectiveFilterWidth,u=o-1-e.padInfo.top,c=l-1-e.padInfo.left,h=1/(t*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${h});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${o};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${i}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class z_{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,r=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,o=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterDepth,h=e.effectiveFilterHeight,p=e.effectiveFilterWidth,d=c-1-e.padInfo.front,f=h-1-e.padInfo.top,m=p-1-e.padInfo.left,g=1/(t*n*r);this.userCode=`\n const ivec3 pads = ivec3(${d}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${o}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${h};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${p};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const P_={kernelName:dt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Zl(i.shape,o,l,[1,1,1],u,c),p=new z_(h);return n.runWebGLProgram(p,[s],i.dtype)}},B_={kernelName:ht,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a;_M([s,a],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Yl(i.shape,o,l,1,u),h=new L_(c);return n.runWebGLProgram(h,[s],i.dtype)}},V_={kernelName:ft,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a}=t,{transposeA:i,transposeB:o}=r;return e_({a:s,b:a,transposeA:i,transposeB:o,backend:n})}};class U_{constructor(e,t,n,r,s,a){this.outputShape=[],this.variableNames=["x","mean","variance"],Zi(e,t),Zi(e,n);let i="0.0";null!=r&&(Zi(e,r),this.variableNames.push("offset"),i="getOffsetAtOutCoords()");let o="1.0";null!=s&&(Zi(e,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${i};\n float scale = ${o};\n float inv = scale * inversesqrt(variance + float(${a}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}}class W_{constructor(e,t,n,r,s,a){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],Zi(e,t),Zi(e,n);let i="vec4(0.0)";null!=r&&(Zi(e,r),this.variableNames.push("offset"),i="getOffsetAtOutCoords()");let o="vec4(1.0)";null!=s&&(Zi(e,s),this.variableNames.push("scale"),o="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${i};\n vec4 scale = ${o};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${a}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}}const G_={kernelName:sn,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,mean:s,variance:a,offset:i,scale:o}=e;re(s.shape.length===a.shape.length,(()=>"Batch normalization gradient requires mean and variance to have equal ranks.")),re(null==i||s.shape.length===i.shape.length,(()=>"Batch normalization gradient requires mean and offset to have equal ranks.")),re(null==o||s.shape.length===o.shape.length,(()=>"Batch normalization gradient requires mean and scale to have equal ranks."));let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[r,s,a];let c=null;null!=i&&(c=i.shape,u.push(i));let h=null;null!=o&&(h=o.shape,u.push(o));const p=He().getBool("WEBGL_PACK_NORMALIZATION")?new W_(r.shape,s.shape,a.shape,c,h,l):new U_(r.shape,s.shape,a.shape,c,h,l);return t.runWebGLProgram(p,u,u[0].dtype)}};class H_{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;const t=JM(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(e){if(1===e)return"sourceLoc";if(e<=6)return j_.slice(0,e).map((e=>"sourceLoc."+e)).join(",");throw Error(`Slicing for rank ${e} is not yet supported`)}(this.rank);let r;r=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${e.map(((e,t)=>`sourceLoc.${j_[t]} = start[${t}] + coords.${j_[t]};`)).join("\n")}\n `,this.userCode=`\n void main() {\n ${r}\n setOutput(getSource(${n}));\n }\n `}}const j_=["x","y","z","w","u","v"];class q_{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const t=JM(this.rank),n=iD("coords",this.rank),r=iD("sourceLoc",this.rank),s=1===this.rank?"sourceLoc":`vec2(${r.slice(-2).join()})`,a=`getChannel(getSource(${r.join()}), ${s})`,i=`\n result.x = ${a};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.y = ${a};\n --${r[this.rank-1]};\n }\n `,o=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${e[this.rank-2]}) {\n ++${r[this.rank-2]};\n result.z = ${a};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${r[this.rank-1]};\n result.w = ${a};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map(((e,t)=>`start[${t}]`)).join()});`:e.map(((e,t)=>`${r[t]} = ${n[t]} + start[${t}];`)).join("\n");this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${i}\n ${o}\n setOutput(result);\n }\n `}}function K_(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,size:i}=r,[o,l]=Io(s,a,i);if(lo(s,o,l),0===oe(l))return n.makeTensorInfo(l,s.dtype,[]);if(n.shouldExecuteOnCPU([s])||"string"===s.dtype){const e=n.texData.get(s.dataId),t=HF(e.values,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,t)}const{isPacked:u}=n.texData.get(s.dataId),c=vo(s.shape,o,l);if(u||!c){const e=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new q_(l):new H_(l),t=[o];return n.runWebGLProgram(e,[s],s.dtype,t)}return n.uploadToGPU(s.dataId),function(e,t,n,r){const s=r.texData.get(e.dataId),a=r.makeTensorInfo(n,e.dtype),i=r.texData.get(a.dataId);Object.assign(i,s),i.refCount=1,i.shape=n,i.dtype=e.dtype;let o=ko(t,Fe(e.shape));s.slice&&(o+=s.slice.flatOffset),i.slice={flatOffset:o,origDataId:s.slice&&s.slice.origDataId||e.dataId};const l=r.dataRefCount.get(i.slice.origDataId)||1;return r.dataRefCount.set(i.slice.origDataId,l+1),a}(s,o,l,n)}const X_={kernelName:yr,backendName:"webgl",kernelFunc:K_},Y_={kernelName:mt,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,crops:i}=r;re(s.shape.length<=4,(()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet"));const o=a.reduce(((e,t)=>e*t)),l=Pd(s.shape,a,o),u=Bd(l.length,a.length),c=Vd(s.shape,a,o),h=Ud(i,a.length),p=Wd(c,i,a.length),d=[],f=UD({inputs:{x:s},backend:n,attrs:{shape:l}}),m=JD({inputs:{x:f},backend:n,attrs:{perm:u}}),g=UD({inputs:{x:m},backend:n,attrs:{shape:c}}),y=K_({inputs:{x:g},backend:n,attrs:{begin:h,size:p}});return d.push(f),d.push(m),d.push(g),d.forEach((e=>n.disposeIntermediateTensorInfo(e))),y}},Z_={kernelName:gt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i}=r,o=n.readSync(s.dataId),l=n.readSync(a.dataId),u=bF(o,l,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,u)}},J_={kernelName:bt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{s0:r,s1:s}=t,a=n.readSync(r.dataId),i=n.readSync(s.dataId),o=Zi(Array.from(a),Array.from(i));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}},Q_=_D({opSnippet:"return float(a != b);",cpuKernelImpl:PF,dtype:"bool"}),eO={kernelName:Wn,backendName:"webgl",kernelFunc:Q_};function tO(e){const{inputs:t,backend:n}=e,{input:r}=t;return ND({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.real},backend:n})}const nO={kernelName:nr,backendName:"webgl",kernelFunc:tO},rO={kernelName:xt,backendName:"webgl",kernelFunc:function e(t){const{inputs:n,backend:r,attrs:s}=t,{x:a}=n,{dtype:i}=s;if("complex64"===i){if("complex64"===a.dtype)return ND({inputs:{x:a},backend:r});const t=Uc(a.shape),n=e({inputs:{x:a},backend:r,attrs:{dtype:"float32"}}),s=TD({inputs:{real:n,imag:t},backend:r});return t.dispose(),r.disposeIntermediateTensorInfo(n),s}if("complex64"===a.dtype){const t=tO({inputs:{input:a},backend:r}),n=e({inputs:{x:t},backend:r,attrs:{dtype:i}});return r.disposeIntermediateTensorInfo(t),n}if(!Ie(a.dtype,i)){const e=ND({inputs:{x:a},backend:r});return{dataId:e.dataId,shape:e.shape,dtype:i}}if("int32"===i)return function(e,t){const n=new dD(e.shape,"return float(int(x));"),r=t.runWebGLProgram(n,[e],"int32");return{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}(a,r);if("bool"===i){const e=r.makeTensorInfo([],"bool",xe("bool",1)),t=Q_({inputs:{a,b:e},backend:r});return r.disposeIntermediateTensorInfo(e),t}throw new Error(`Error in Cast: failed to cast ${a.dtype} to ${i}`)}},sO="return ceil(x);",aO=DD({opSnippet:sO,packedOpSnippet:sO,cpuKernelImpl:wF}),iO={kernelName:wt,backendName:"webgl",kernelFunc:aO};class oO{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}}class lO{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const uO={kernelName:vt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{clipValueMin:a,clipValueMax:i}=r;let o;o=He().getBool("WEBGL_PACK_CLIP")?new lO(s.shape):new oO(s.shape);const l=[[a],[i]];return n.runWebGLProgram(o,[s],s.dtype,l)}};class cO{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}}function hO(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const pO={kernelName:It,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t,s=n.texData.get(r.dataId),a=new cO(r.shape),i=[hO(r,s.complexTensorInfos.real),hO(r,s.complexTensorInfos.imag)];return n.runWebGLProgram(a,i,i[0].dtype)}};class dO{constructor(e){this.outputShape=[],this.outputShape=_d(e,1),this.variableNames=e.map(((e,t)=>`T${t}`));const t=new Array(e.length-1);t[0]=e[0][1];for(let n=1;n`T${t}`));const o=new Array(e.length-1);o[0]=e[0][t];for(let n=1;n= ${o[e-1]}) {\n return getChannel(\n getT${e}(${mO(i,l,t)}),\n vec2(${mO(u,l,t)}));\n }`}const p=o.length,d=o[o.length-1];h+=`\n return getChannel(\n getT${p}(${mO(i,l,d)}),\n vec2(${mO(u,l,d)}));`,this.userCode=`\n float getValue(${i.map((e=>"int "+e))}) {\n ${h}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${a}), 0., 0., 0.);\n\n ${a[r-1]} = ${a[r-1]} + 1;\n if (${a[r-1]} < ${n[r-1]}) {\n result.g = getValue(${a});\n }\n\n ${a[r-2]} = ${a[r-2]} + 1;\n if (${a[r-2]} < ${n[r-2]}) {\n result.a = getValue(${a});\n }\n\n ${a[r-1]} = ${a[r-1]} - 1;\n if (${a[r-2]} < ${n[r-2]} &&\n ${a[r-1]} < ${n[r-1]}) {\n result.b = getValue(${a});\n }\n setOutput(result);\n }\n `}}function mO(e,t,n){const r=e.indexOf(t);return e.map(((e,t)=>t===r?`${e} - ${n}`:e)).join()}function gO(e){const{inputs:t,backend:n}=e,{input:r}=t;return ND({inputs:{x:n.texData.get(r.dataId).complexTensorInfos.imag},backend:n})}const yO={kernelName:pn,backendName:"webgl",kernelFunc:gO};function bO(e,t,n){const r=e[0].dtype;if("complex64"===r){const r=e.map((e=>tO({inputs:{input:e},backend:n}))),s=e.map((e=>gO({inputs:{input:e},backend:n}))),a=bO(r,t,n),i=bO(s,t,n),o=TD({inputs:{real:a,imag:i},backend:n});return r.forEach((e=>n.disposeIntermediateTensorInfo(e))),s.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(i),o}let s=n.shouldExecuteOnCPU(e);if("string"===r&&(s=!0),s){const s=e.map((e=>{const r=oe(e.shape.slice(t));return UD({inputs:{x:e},backend:n,attrs:{shape:[-1,r]}})})),a=s.map((e=>({vals:n.readSync(e.dataId),shape:e.shape}))),i=_d(s.map((e=>e.shape)),1),o=1===s[0].shape[0],l=vF(a,i,r,o),u=_d(e.map((e=>e.shape)),t),c=n.makeTensorInfo(u,r,l);return s.forEach((e=>n.disposeIntermediateTensorInfo(e))),c}if(e.length>He().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const r=Math.floor(e.length/2),s=bO(e.slice(0,r),t,n),a=bO(e.slice(r),t,n),i=bO([s,a],t,n);return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),i}if(He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&e[0].shape.length>1){const s=new fO(e.map((e=>e.shape)),t);return n.runWebGLProgram(s,e,r)}const{tensors2D:a,outShape:i}=function(e,t,n){const r=_d(e.map((e=>e.shape)),t);return{tensors2D:e.map((e=>UD({inputs:{x:e},attrs:{shape:[-1,oe(e.shape.slice(t))]},backend:n}))),outShape:r}}(e,t,n),o=new dO(a.map((e=>e.shape))),l=n.runWebGLProgram(o,a,r);a.forEach((e=>n.disposeIntermediateTensorInfo(e)));const u=UD({inputs:{x:l},attrs:{shape:i},backend:n});return n.disposeIntermediateTensorInfo(l),u}function xO(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r,a=ye(s,t[0].shape)[0],i=_d(t.map((e=>e.shape)),a);if(0===oe(i))return n.makeTensorInfo(i,t[0].dtype,[]);const o=t.filter((e=>oe(e.shape)>0));return 1===o.length?ND({inputs:{x:o[0]},backend:n}):(Dd(o.map((e=>e.shape)),a),bO(o,a,n))}const wO={kernelName:Nt,backendName:"webgl",kernelFunc:xO};class vO{constructor(e,t=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;const a=e.padInfo.top,i=e.padInfo.left,o=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,h=e.filterHeight,p=e.filterWidth,d=4*Math.floor(e.inChannels/4),f=e.inChannels%4,m="channelsLast"===e.dataFormat,g=m?1:2,y=m?2:3,b=m?3:1;let x="",w="";n&&(x=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,w="result = activation(result);");const v=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${x}\n\n const ivec2 strides = ivec2(${o}, ${l});\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${b}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${y}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${p}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${d}) *\n getW(wR, wC, ${d}, d2);\n } else {\n dotProd +=\n getX(batch, ${d}, xR, xC) *\n getW(wR, wC, ${d}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2),\n getW(wR, wC, ${d} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1),\n getX(batch, xR, xC, ${d} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC),\n getX(batch, ${d} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${v}\n ${w}\n setOutput(result);\n }\n `}}class kO{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const t=e.padInfo.front,n=e.padInfo.top,r=e.padInfo.left,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,o=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.filterDepth,h=e.filterHeight,p=e.filterWidth,d=4*Math.floor(e.inChannels/4),f=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${a}, ${i});\n const ivec3 pads = ivec3(${t}, ${n}, ${r});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${o};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${h}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${p}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${d}) *\n getW(wF, wR, wC, ${d}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1),\n getX(batch, xF, xR, xC, ${d} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2),\n getW(wF, wR, wC, ${d} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class IO{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"},{name:"pad",type:"ivec2"},{name:"stride",type:"ivec2"},{name:"dilation",type:"ivec2"},{name:"inChannels",type:"int"},{name:"itemsPerBlockRow",type:"int"},{name:"outWidth",type:"int"}],this.outputShape=e,this.enableShapeUniforms=rF(this.outputShape.length);const{dataFormat:n}=t,r=LM(),s="channelsLast"===n,a=s?0:1,i=s?1:2,o=this.enableShapeUniforms?"if(blockIndex < outShape[1] && pos < outShape[0]) {":`if(blockIndex < ${e[1]} && pos < ${e[0]}) {`;let l="";for(let e=0;e<=1;e++)for(let t=0;t<=1;t++)l+=`\n blockIndex = rc.y + ${t};\n pos = rc.x + ${e};\n\n ${o}\n offsetY = int(blockIndex / outWidth) * stride[0] - pad[0];\n d0 = offsetY + dilation[0] * (pos / itemsPerBlockRow);\n\n if(d0 < inputShape[${a}] && d0 >= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${i}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${2*e+t}] = getChannel(\n getA(d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*e+t}] = getChannel(\n getA(ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec2 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${r.output} = result;\n }\n `}}function NO({x:e,filter:t,convInfo:n,backend:r,bias:s=null,preluActivationWeights:a=null,leakyreluAlpha:i=0,activation:o=null}){const l=e.shape,u=r.texData.get(e.dataId),c=n.inChannels,h=l[0]*l[1]*l[2],p=n.outChannels,d="channelsLast"===n.dataFormat;let f;const m=[];if((1!==h&&1!==p||!(c>1e3))&&u.isPacked&&d&&null!=u.texture&&l[2]%2!=0&&ue(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),h={dataId:e.dataId,shape:[1,c,n.inChannels],dtype:e.dtype},p=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,re($M(u.shape,h.shape),(()=>`packed reshape ${u.shape} to ${h.shape} isn't free`));const d=UD({inputs:{x:t},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}});m.push(d);const g=e_({a:h,b:d,backend:r,transposeA:!1,transposeB:!1,bias:s,activation:o,preluActivationWeights:a,leakyreluAlpha:i}),y=r.texData.get(g.dataId);re(y.isPacked,(()=>"batchMatMul result is expected to be packed")),u.shape=p,y.shape=n.outShape,f=ND({inputs:{x:g},backend:r}),f.shape=n.outShape,m.push(g)}else{const u=UD({inputs:{x:e},backend:r,attrs:{shape:[1,d?l[0]*l[1]*l[2]:l[0]*l[2]*l[3],n.inChannels]}}),c=UD({inputs:{x:t},backend:r,attrs:{shape:[1,n.inChannels,n.outChannels]}}),h=e_({a:u,b:c,transposeA:!1,transposeB:!1,backend:r,bias:s,activation:o,preluActivationWeights:a,leakyreluAlpha:i});f=UD({inputs:{x:h},backend:r,attrs:{shape:n.outShape}}),m.push(u),m.push(c),m.push(h)}for(const e of m)r.disposeIntermediateTensorInfo(e);return f}function SO({x:e,filter:t,convInfo:n,backend:r,bias:s=null,preluActivationWeights:a=null,leakyreluAlpha:i=0,activation:o=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:h,outHeight:p,dataFormat:d}=n,f="channelsLast"===d,m=l*u*c,g=p*h,y=[m,g],b=[],x=UD({inputs:{x:e},backend:r,attrs:{shape:e.shape.slice(1)}}),w=UD({inputs:{x:t},backend:r,attrs:{shape:[1,m,oe(t.shape)/m]}});b.push(x),b.push(w);const v=new IO(y,n),k=[x.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],I=r.runWebGLProgram(v,[x],"float32",k),N=UD({inputs:{x:I},backend:r,attrs:{shape:[1,y[0],y[1]]}});b.push(I),b.push(N);const S=null!=s,T=null!=a,C="leakyrelu"===o,E=o?OD(o,!0):null,$=new LD(N.shape,w.shape,[1,g,n.outChannels],!0,!1,S,E,T,C),A=[N,w];if(s&&A.push(s),T&&A.push(a),C){const e=r.makeTensorInfo([],"float32",$s(i,"float32"));A.push(e),b.push(e)}const R=r.runWebGLProgram($,A,"float32"),M=UD({inputs:{x:R},backend:r,attrs:{shape:f?[1,p,h,n.outChannels]:[1,n.outChannels,p,h]}});b.push(R);for(const e of b)r.disposeIntermediateTensorInfo(e);return M}const TO={kernelName:St,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r,h=ou(l),p=Jl(s.shape,a.shape,i,u,o,c,!1,h);let d;if(1!==p.filterHeight||1!==p.filterWidth||1!==p.dilationHeight||1!==p.dilationWidth||1!==p.strideHeight||1!==p.strideWidth||"SAME"!==p.padInfo.type&&"VALID"!==p.padInfo.type)if(He().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])d=SO({x:s,filter:a,convInfo:p,backend:n});else{const e=new vO(p);d=n.runWebGLProgram(e,[s,a],"float32")}else d=NO({x:s,filter:a,convInfo:p,backend:n});const f=UD({inputs:{x:d},backend:n,attrs:{shape:p.outShape}});return n.disposeIntermediateTensorInfo(d),f}};class CO{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,r=e.padInfo.top,s=e.padInfo.left,a="channelsLast"===e.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${r};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n if (${a}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class EO{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,s=e.strideWidth,a="channelsLast"===e.dataFormat,i=t-1-e.padInfo.top,o=n-1-e.padInfo.left,l=a?1:2,u=a?2:3,c=a?3:1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${a}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class $O{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideDepth,n=e.strideHeight,r=e.strideWidth,s=e.padInfo.front,a=e.padInfo.top,i=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${s};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${a};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${r} - ${i};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class AO{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,r=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,o=t-1-e.padInfo.front,l=n-1-e.padInfo.top,u=r-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${o}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${a}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${r}; wC++) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${r} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const RO={kernelName:Tt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,dataFormat:l,dimRoundingMode:u,filterShape:c}=r,h=ou(l),p=Jl(s.shape,c,i,1,o,u,!1,h),d=new CO(p);return n.runWebGLProgram(d,[s,a],"float32")}},MO={kernelName:Ct,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{inputShape:i,strides:o,pad:l,dataFormat:u,dimRoundingMode:c}=r,h=ou(u),p=Jl(i,a.shape,o,1,l,c,!1,h),d=new EO(p);return n.runWebGLProgram(d,[s,a],"float32")}},FO={kernelName:Et,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l}=r,u=Ql(s.shape,a.shape,i,l,o),c=new kO(u);return n.runWebGLProgram(c,[s,a],"float32")}},DO={kernelName:$t,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,filterShape:l}=r,u=Ql(s.shape,l,i,1,o),c=new $O(u);return n.runWebGLProgram(c,[s,a],"float32")}},_O={kernelName:At,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{pad:i,strides:o,inputShape:l}=r,u=Ql(l,a.shape,o,1,i),c=new AO(u);return n.runWebGLProgram(c,[s,a],"float32")}},OO=DD({opSnippet:"if (isnan(x)) return x;\n return cos(x);\n"}),LO={kernelName:Rt,backendName:"webgl",kernelFunc:OO},zO=DD({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),PO={kernelName:Mt,backendName:"webgl",kernelFunc:zO};class BO{constructor(e,t,n,r,s){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[a,i,o,l]=e,[u]=t,[c,h]=n;this.outputShape=[u,c,h,l];const p="bilinear"===r?1:0,[d,f]=[i-1+".0",o-1+".0"],[m,g,y]=c>1?[""+(i-1)/(c-1),"(y2-y1) * height_ratio",`y1*${d} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${d}`],[b,x,w]=h>1?[""+(o-1)/(h-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${b});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${a}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${x};\n\n float in_y = ${y};\n if( in_y < 0.0 || in_y > ${d} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${w};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${p} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}}const VO={kernelName:Dt,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{image:s,boxes:a,boxInd:i}=t,{cropSize:o,method:l,extrapolationValue:u}=r,c=new BO(s.shape,a.shape,o,l,u);return n.runWebGLProgram(c,[s,a,i],"float32")}};class UO{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}],this.outputShape=e;const r=e.length,s=t?"0.0":`getX(${WO(r,"coords")})`,a=e[e.length-1];let i="",o="";t?(i=n?"end != "+(a-1):"end != 0",o=n?"end + 1":"end - 1"):(i=n?`end + pow2 < ${a}`:"end >= pow2",o=n?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${JM(r)} coords = getOutputCoords();\n int end = ${GO(r,"coords")};\n float val = ${s};\n int pow2 = int(pow(2.0, index));\n if (${i}) {\n int idx = ${o};\n ${GO(r,"coords")} = idx;\n val += getX(${WO(r,"coords")});\n }\n setOutput(val);\n }\n `}}function WO(e,t){if(1===e)return`${t}`;if(2===e)return`${t}.x, ${t}.y`;if(3===e)return`${t}.x, ${t}.y, ${t}.z`;if(4===e)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw Error(`Cumulative sum for rank ${e} is not yet supported`)}function GO(e,t){if(1===e)return`${t}`;if(2===e)return`${t}.y`;if(3===e)return`${t}.z`;if(4===e)return`${t}.w`;throw Error(`Cumulative sum for rank ${e} is not yet supported`)}const HO={kernelName:Ft,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,exclusive:i,reverse:o}=r,l=s.shape.length,u=Ac([a],l);let c=s;null!=u&&(c=JD({inputs:{x:s},backend:n,attrs:{perm:u}}));const h=Mc(1,l)[0];if(h!==l-1)throw new Error(`WebGL cumsum shader expects an inner-most axis=${s.shape.length-1} but got axis=${a}`);const p=c.shape[h];let d=ND({inputs:{x:c},backend:n});for(let e=0;e<=Math.ceil(Math.log2(p))-1;e++){const t=new UO(c.shape,!1,o),r=[[e]],s=d;d=n.runWebGLProgram(t,[d],d.dtype,r),n.disposeIntermediateTensorInfo(s)}if(i){const e=new UO(c.shape,i,o),t=d;d=n.runWebGLProgram(e,[d],d.dtype),n.disposeIntermediateTensorInfo(t)}if(null!=u){const e=JD({inputs:{x:d},backend:n,attrs:{perm:Rc(u)}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(c),e}return d}},jO={kernelName:_t,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i,binaryOutput:o}=r;if(1===s.shape.length){const e=n.readSync(s.dataId),t=n.readSync(a.dataId),r=bF(e,t,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,r)}if(2===s.shape.length){const e=n.bufferSync(s),t=n.bufferSync(a),r=xF(e,t,i,o);return n.makeTensorInfo(r.shape,a.dtype,r.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${s.shape.length}.`)}};class qO{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const KO={kernelName:Ot,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockSize:a,dataFormat:i}=r,o=s.shape[0],l=("NHWC"===i?s.shape[1]:s.shape[2])*a,u=("NHWC"===i?s.shape[2]:s.shape[3])*a,c=("NHWC"===i?s.shape[3]:s.shape[1])/(a*a),h=new qO("NHWC"===i?[o,l,u,c]:[o,c,l,u],a,i);return n.runWebGLProgram(h,[s],s.dtype)}};class XO{constructor(e,t=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=rF(this.outputShape.length);const a=e.filterHeight,i=e.filterWidth,o=e.outChannels/e.inChannels;let l="",u="";n&&(l=r?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),r&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${o};\n int q = d2 - d1 * ${o};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${a}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${i}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}}class YO{constructor(e,t=!1,n=null,r=!1,s=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=rF(this.outputShape.length);const a=e.outChannels/e.inChannels,i=e.padInfo.left,o=e.strideWidth,l=e.dilationWidth,u=e.filterHeight,c=e.filterWidth,h=c;let p="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let e=0;e=0 && xR < inDims[0]) {\n ";for(let e=0;e<(h+1)/2;e++){const t=2*e;if(p+=`\n xC = xCCorner + ${t*l};\n `,1===o){if(t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n `,p+=1===l&&t>0?`\n xC${t} = vec4(xTexelC${t-2}.zw, xTexelC${t}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${t} = vec4(previous.zw, xTexelC${t}.xy);\n } else {\n xC${t} = vec4(0.0, 0.0, xTexelC${t}.xy);\n }\n `):p+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xC${t} = xTexelC${t};\n `,t+1= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n `,l>1&&(p+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n xTexelC${t}Ready = 1;\n }\n `),p+=`\n xC${t+1} = vec4(xTexelC${t}.zw, xTexelC${t+1}.xy);\n `):p+=1===e?`\n xC${t+1} = xTexelC${t};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t+1} = xTexelC${t+1};\n `}}else t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(xTexelC${t}.zw, xTexelC${t+1}.zw);\n `,t+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${t+1} = vec4(xTexelC${t+1}.xy, final.xy);\n `)):(p+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(\n xTexelC${t}.xy, xTexelC${t+1}.xy);\n `,t+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`));const h=Jl(s.shape,a.shape,i,c,o,u,!0);let p;p=He().getBool("WEBGL_PACK_DEPTHWISECONV")&&h.strideWidth<=2&&h.outChannels/h.inChannels==1?new YO(h):new XO(h);const d=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];return n.runWebGLProgram(p,[s,a],"float32",d)}};class JO{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,r=e.padInfo.top,s=e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${a} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${r};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class QO{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,r=e.strideHeight,s=e.strideWidth,a=t-1-e.padInfo.top,i=n-1-e.padInfo.left,o=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${i});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${r}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${o}; dm++) {\n int d2 = d1 * ${o} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const eL={kernelName:zt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,filterShape:c}=r,h=Jl(s.shape,c,i,o,l,u,!0),p=new JO(h);return n.runWebGLProgram(p,[s,a],"float32")}},tL={kernelName:Pt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,inputShape:c}=r,h=Jl(c,a.shape,i,o,l,u,!0),p=new QO(h);return n.runWebGLProgram(p,[s,a],"float32")}};class nL{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const rL={kernelName:Bt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t,s=[...r.shape,...r.shape],a=oe(r.shape),i=UD({inputs:{x:r},backend:n,attrs:{shape:[a]}}),o=new nL(a),l=n.runWebGLProgram(o,[i],i.dtype),u=UD({inputs:{x:l},backend:n,attrs:{shape:s}});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(l),u}};class sL{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const{inHeight:t,inWidth:n,padInfo:r,strideHeight:s,strideWidth:a,filterHeight:i,filterWidth:o,dilationHeight:l,dilationWidth:u}=e,{top:c,left:h}=r;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${a});\n const ivec2 pads = ivec2(${c}, ${h});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${i}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${o}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const aL={kernelName:Vt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l}=r,u=Xl(s.shape,a.shape,i,o,"NHWC",l);let c;const h=new sL(u);c=n.runWebGLProgram(h,[s,a],"float32");const p=UD({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),p}},iL={kernelName:Ht,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{equation:s}=r,a=t,{allDims:i,summedDims:o,idDims:l}=lf(s,a.length);cf(i.length,l,a);const{path:u,steps:c}=hf(o,l),h=c.length;let p=null,d=i.length;const f=[];for(let e=0;e=0&&(p=YD({inputs:{x:p},backend:n,attrs:{axis:u[e]-(i.length-d),keepDims:!1}}),f.push(p)),d--)}for(const e of f)e!==p&&n.disposeIntermediateTensorInfo(e);return p}},oL=DD({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),lL={kernelName:jt,backendName:"webgl",kernelFunc:oL},uL={kernelName:qt,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n}=e,{dy:r,y:s}=t,a=He().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new ID("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",r.shape,s.shape):new kD("return (b >= 1.0) ? a : a * (b + 1.0);",r.shape,s.shape);return n.runWebGLProgram(a,[r,s],r.dtype)}},cL=_D({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:kF}),hL={kernelName:Xt,backendName:"webgl",kernelFunc:cL},pL=DD({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${jd};\n float a1 = ${qd};\n float a2 = ${Kd};\n float a3 = ${Xd};\n float a4 = ${Yd};\n float a5 = ${Zd};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),dL={kernelName:Kt,backendName:"webgl",kernelFunc:pL},fL=DD({opSnippet:"if (isnan(x)) return x;\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:IF,dtype:"float32"}),mL={kernelName:Yt,backendName:"webgl",kernelFunc:fL};function gL(e){const{inputs:t,attrs:n,backend:r}=e,{dim:s}=n,{input:a}=t,i=a.shape.length,o=a.shape.slice();let l=s;return s<0&&(re(-(i+1)<=s,(()=>`Axis must be in the interval [${-(i+1)}, ${i}]`)),l=i+s+1),o.splice(l,0,1),UD({inputs:{x:a},backend:r,attrs:{shape:o}})}const yL={kernelName:Zt,backendName:"webgl",kernelFunc:gL},bL="return exp(x) - 1.0;",xL=DD({opSnippet:bL,packedOpSnippet:bL,cpuKernelImpl:NF}),wL={kernelName:Jt,backendName:"webgl",kernelFunc:xL};class vL{constructor(e,t,n){this.variableNames=["real","imag"];const r=t[1];this.outputShape=t;const s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,a=n?`${r}.0`:"1.0";let i;if("real"===e)i="return real * expR - imag * expI;";else{if("imag"!==e)throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);i="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${i}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${r});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${r}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${a};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}}function kL(e,t,n){const r=n.texData.get(e.dataId),s=oe(e.shape),a=e.shape[e.shape.length-1],i=UD({inputs:{x:e},backend:n,attrs:{shape:[s/a,a]}}),o=i.shape,l=new vL("real",o,t),u=new vL("imag",o,t),c=[{dataId:r.complexTensorInfos.real.dataId,dtype:r.complexTensorInfos.real.dtype,shape:o},{dataId:r.complexTensorInfos.imag.dataId,dtype:r.complexTensorInfos.imag.dtype,shape:o}],h=n.runWebGLProgram(l,c,"float32"),p=n.runWebGLProgram(u,c,"float32"),d=TD({inputs:{real:h,imag:p},backend:n});n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p);const f=UD({inputs:{x:d},backend:n,attrs:{shape:e.shape}});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(d),f}const IL={kernelName:Qt,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{input:r}=t;return kL(r,!1,n)}};class NL{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=e,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}}function SL(e){const{backend:t,attrs:n}=e,{shape:r,value:s}=n;let{dtype:a}=n;if(a=a||Ae(s),"string"===a){const e=we(a,oe(r));return e.fill(s),t.makeTensorInfo(r,a,e)}{const e=new NL(r,s),n=[[s]];return t.runWebGLProgram(e,[],a,n)}}const TL={kernelName:en,backendName:"webgl",kernelFunc:SL};class CL{constructor(e){this.variableNames=["Image"],this.outputShape=[];const t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const EL={kernelName:tn,backendName:"webgl",kernelFunc:({inputs:e,backend:t})=>{const{image:n}=e,r=t,s=new CL(n.shape);return r.runWebGLProgram(s,[n],n.dtype)}},$L="return floor(x);",AL=DD({opSnippet:$L,packedOpSnippet:$L,cpuKernelImpl:SF}),RL={kernelName:nn,backendName:"webgl",kernelFunc:AL},ML=_D({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),FL={kernelName:rn,backendName:"webgl",kernelFunc:ML};class DL{constructor(e){this.variableNames=["A"];const t=LM(),[n,r]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${r}.0, ${n}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}}class _L{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const t=LM(),[n,r]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${r}.0, ${n}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}}const OL={kernelName:Zr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e;let{pixels:s}=t;const{numChannels:a}=r,i="undefined"!=typeof HTMLVideoElement&&s instanceof HTMLVideoElement,o="undefined"!=typeof HTMLImageElement&&s instanceof HTMLImageElement,[l,u]=i?[s.videoWidth,s.videoHeight]:[s.width,s.height],c=[u,l],h=[u,l,a];(o||i)&&(null==LL&&(LL=document.createElement("canvas").getContext("2d")),LL.canvas.width=l,LL.canvas.height=u,LL.drawImage(s,0,0,l,u),s=LL.canvas);const p=n.makeTensorInfo(c,"int32");n.texData.get(p.dataId).usage=lM.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(p.dataId),s);const d=He().getBool("WEBGL_PACK")?new _L(h):new DL(h),f=n.runWebGLProgram(d,[p],"int32");return n.disposeData(p.dataId),f}};let LL;const zL={kernelName:es,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:p,activation:d,leakyreluAlpha:f}=r,m=ou(c),g=Jl(s.shape,a.shape,l,h,u,p,!1,m);let y;const b=[];if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(He().getBool("WEBGL_CONV_IM2COL")&&1===s.shape[0])y=SO({x:s,filter:a,convInfo:g,backend:n,bias:i,activation:d,preluActivationWeights:o,leakyreluAlpha:f});else{const e=null!=i,t=null!=o,r="leakyrelu"===d,l=d?OD(d,!1):null,u=new vO(g,e,l,t,r),c=[s,a];if(i&&c.push(i),o&&c.push(o),r){const e=n.makeTensorInfo([],"float32",$s(f,"float32"));c.push(e),b.push(e)}y=n.runWebGLProgram(u,c,"float32")}else y=NO({x:s,filter:a,convInfo:g,backend:n,bias:i,activation:d,preluActivationWeights:o,leakyreluAlpha:f});const x=UD({inputs:{x:y},backend:n,attrs:{shape:g.outShape}});return b.push(y),b.forEach((e=>n.disposeIntermediateTensorInfo(e))),x}},PL={kernelName:ts,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:c,dimRoundingMode:h,activation:p,leakyreluAlpha:d}=r,f=[];let m=c;null==m&&(m=[1,1]),re(iu(l,m),(()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`));const g=Jl(s.shape,a.shape,l,m,u,h,!0),y=He().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels==1,b=p?OD(p,y):null,x=[s,a],w=null!=i,v=null!=o,k="leakyrelu"===p;if(w&&x.push(i),v&&x.push(o),k){const e=n.makeTensorInfo([],"float32",$s(d,"float32"));x.push(e),f.push(e)}let I;I=y?new YO(g,w,b,v,k):new XO(g,w,b,v,k);const N=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],S=n.runWebGLProgram(I,x,"float32",N);return f.forEach((e=>n.disposeIntermediateTensorInfo(e))),S}};class BL{constructor(e,t,n){this.sliceDim=e,this.strides=t,this.variableNames=["x","indices"],this.outputShape=n;const r=JM(t.length),s=JM(n.length),a=this.sliceDim>1?"strides[j]":"strides";this.userCode=`\n ${r} strides = ${r}(${this.strides});\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n flattenIndex += index * ${a};\n }\n setOutput(getX(flattenIndex, coords[1]));\n }\n `}}const VL={kernelName:on,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{params:r,indices:s}=t,a=s.shape,i=a[a.length-1],o=oe(r.shape),[l,u,c,h]=so(r,s),p=UD({inputs:{x:s},backend:n,attrs:{shape:[u,i]}}),d=UD({inputs:{x:r},backend:n,attrs:{shape:[oe(r.shape)/c,c]}});if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const e=n.readSync(s.dataId),t=n.bufferSync(r),a=TF(e,t,r.dtype,u,i,c,h,r.shape,o);return n.makeTensorInfo(l,r.dtype,a.values)}const f=new BL(i,h,[u,c]),m=n.runWebGLProgram(f,[d,p],d.dtype),g=UD({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(m),g}};class UL{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;const n=JM(this.rank),r=function(e,t){const n=["resRC.x","resRC.y","resRC.z","resRC.w"],r=[];for(let t=0;t= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${r}));\n }\n `}}function WL(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,indices:a}=t,{axis:i,batchDims:o}=r,l=ye(i,s.shape)[0];if(He().get("DEBUG")){const e=n.readSync(a.dataId),t=s.shape[l];for(let n=0;n=0,(()=>`GatherV2: the index value ${r} is not in [0, ${t-1}]`))}}const u=$f(s,a,l,o),c=oe(a.shape),h=[],p=UD({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),d=UD({inputs:{x:a},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});h.push(p),h.push(d);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([s,a])||"string"===s.dtype){const e=n.bufferSync(d),t=n.bufferSync(p),r=CF(t,e,f);return h.forEach((e=>n.disposeIntermediateTensorInfo(e))),n.makeTensorInfo(u.outputShape,r.dtype,r.values)}const m=new UL(p.shape,f),g=n.runWebGLProgram(m,[p,d],p.dtype);h.push(g);const y=UD({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return h.forEach((e=>n.disposeIntermediateTensorInfo(e))),y}const GL={kernelName:an,backendName:"webgl",kernelFunc:WL},HL=_D({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:EF,dtype:"bool"}),jL={kernelName:ln,backendName:"webgl",kernelFunc:HL},qL=_D({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:$F}),KL={kernelName:un,backendName:"webgl",kernelFunc:qL},XL={kernelName:hn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{input:r}=t;return kL(r,!0,n)}},YL=DD({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),ZL={kernelName:dn,backendName:"webgl",kernelFunc:YL},JL=DD({opSnippet:"return float(isinf(x));",dtype:"bool"}),QL={kernelName:fn,backendName:"webgl",kernelFunc:JL},ez=DD({opSnippet:"return float(isnan(x));",dtype:"bool"}),tz={kernelName:mn,backendName:"webgl",kernelFunc:ez},nz=_D({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:AF,dtype:"bool"}),rz={kernelName:yn,backendName:"webgl",kernelFunc:nz},sz=_D({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:RF,dtype:"bool"}),az={kernelName:bn,backendName:"webgl",kernelFunc:sz},iz={kernelName:xn,backendName:"webgl",kernelFunc:function(e){const{backend:t,attrs:n}=e,{start:r,stop:s,num:a}=n,i=MF(r,s,a);return t.makeTensorInfo([i.length],"float32",i)}},oz=DD({opSnippet:"if (isnan(x)) return x;\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:FF}),lz={kernelName:wn,backendName:"webgl",kernelFunc:oz},uz=DD({opSnippet:"if (isnan(x)) return x;\n return log(1.0 + x);\n"}),cz={kernelName:vn,backendName:"webgl",kernelFunc:uz},hz=_D({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),pz={kernelName:kn,backendName:"webgl",kernelFunc:hz},dz=DD({opSnippet:"return float(!(x >= 1.0));"}),fz={kernelName:In,backendName:"webgl",kernelFunc:dz},mz=_D({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),gz={kernelName:Nn,backendName:"webgl",kernelFunc:mz};class yz{constructor(e,t,n,r,s){this.variableNames=["x"],this.outputShape=[];const a=t,i=e[3]-1;let o;this.outputShape=e;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${a}; j <= ${a}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${i}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${o};\n setOutput(val);\n }\n `}}class bz{constructor(e,t,n,r,s){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const a=t,i=e[3]-1;let o;this.outputShape=e;const l=`float(${n}) + float(${r}) * sum`;o=.5===s?`inversesqrt(${l})`:1===s?`1.0/(${l})`:`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${a};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${a}; j <= ${a}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${i}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${o};\n setOutput(result);\n }\n `}}const xz={kernelName:Tn,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{depthRadius:a,bias:i,alpha:o,beta:l}=r,u=He().getBool("WEBGL_PACK_NORMALIZATION")?new bz(s.shape,a,i,o,l):new yz(s.shape,a,i,o,l);return n.runWebGLProgram(u,[s],s.dtype)}};class wz{constructor(e,t,n,r,s){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=r,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${r}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${r})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}}const vz={kernelName:Cn,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s,y:a,dy:i}=t,{depthRadius:o,bias:l,alpha:u,beta:c}=r,h=new wz(s.shape,o,l,u,c);return n.runWebGLProgram(h,[s,a,i],s.dtype)}};function kz(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{reductionIndices:a,keepDims:i}=r,o=s.shape.length,l=ye(a,s.shape);let u=l;const c=Ac(u,o),h=null!=c,p=n.shouldExecuteOnCPU([s]);let d=s;if(h){if(p){const e=n.texData.get(d.dataId).values,t=new Array(o);for(let e=0;e 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:_F}),Sz={kernelName:$n,backendName:"webgl",kernelFunc:Nz},Tz={kernelName:An,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;_M(s,"maxPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r;re(iu(i,1),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '1'`));const u=Yl(s.shape,a,i,1,o,l);if(1===u.filterWidth&&1===u.filterHeight&&ue(u.inShape,u.outShape))return ND({inputs:{x:s},backend:n});const c=new F_(u,"max",!1);return n.runWebGLProgram(c,[s],s.dtype)}},Cz={kernelName:Mn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dataFormat:l,dimRoundingMode:u}=r,c=Zl(s.shape,a,i,[1,1,1],o,u,l),h=new D_(c,"max",!1);return n.runWebGLProgram(h,[s],s.dtype)}};class Ez{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideHeight,n=e.strideWidth,r=e.dilationHeight,s=e.effectiveFilterHeight,a=e.effectiveFilterWidth,i=s-1-e.padInfo.top,o=a-1-e.padInfo.left,l=s*a-1;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${r}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${a}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${a} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class $z{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideDepth,n=e.strideHeight,r=e.strideWidth,s=e.dilationDepth,a=e.dilationHeight,i=e.dilationWidth,o=e.effectiveFilterDepth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=o-1-e.padInfo.front,h=l-1-e.padInfo.top,p=u-1-e.padInfo.left,d=o*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${h}, ${p});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${o};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${a}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${i}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${d} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const Az={kernelName:Fn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a,{filterSize:o,strides:l,pad:u,dimRoundingMode:c}=r,h=Zl(i.shape,o,l,[1,1,1],u,c),p=new D_(h,"max",!0),d=n.runWebGLProgram(p,[i],i.dtype),f=new $z(h),m=n.runWebGLProgram(f,[s,d],i.dtype);return n.disposeIntermediateTensorInfo(d),m}},Rz={kernelName:Rn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a,output:i}=t,o=a;_M([a,i],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,p=Yl(o.shape,l,u,1,c,h),d=new F_(p,"max",!0),f=n.runWebGLProgram(d,[o],o.dtype),m=new Ez(p),g=n.runWebGLProgram(m,[s,f],o.dtype);return n.disposeIntermediateTensorInfo(f),g}},Mz={kernelName:Dn,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{filterSize:s,strides:a,pad:i,includeBatchInIndex:o}=t,l=n;re(4===r.shape.length,(()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`));const u=[1,1];re(iu(a,u),(()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`));const c=Yl(r.shape,s,a,u,i),[h,p]=function(e,t,n,r){let s=new F_(n,"max",!1);const a=r.runWebGLProgram(s,[e],"float32");return s=new F_(n,"max",!0,!0,t),[a,r.runWebGLProgram(s,[e],"float32")]}(r,o,c,l);return[h,p]}},Fz={kernelName:_n,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{keepDims:s,axis:a}=t,i=n,o=r.shape.length,l=ye(a,r.shape);let u=l;const c=Ac(u,o),h=null!=c,p=i.shouldExecuteOnCPU([r]),d=[];let f=r;if(h){if(p){const e=i.texData.get(f.dataId).values,t=new Array(o);for(let e=0;e 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n",cpuKernelImpl:OF}),Oz={kernelName:Ln,backendName:"webgl",kernelFunc:_z};class Lz{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=JM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r),l="reflect"===n?0:1;this.userCode=1!==r?`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${r}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n `:`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}}class zz{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=JM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=iD("rc",r),l=iD("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h="reflect"===n?0:1;let p="";if(1===r){const e=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${h};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${h};\n }\n source -= start;\n `;p=`\n ${s} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const e=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${h}) +\n gte * ((end - 1) * 2 - source + ${h});\n source -= start;\n `;p=`\n ${s} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {\n ${e}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${o[r-1]} += 1;\n if(${u}) {\n ${e}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${a});\n const ${s} end = ${s}(${i});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${p}\n setOutput(result);\n }\n `}}const Pz={kernelName:zn,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r}=e,{paddings:s,mode:a}=n,i=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new zz(r.shape,s,a):new Lz(r.shape,s,a);return t.runWebGLProgram(i,[r],r.dtype)}},Bz=_D({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n vec4 isNaN = vec4(equal(b, vec4(0.0)));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),Vz={kernelName:Pn,backendName:"webgl",kernelFunc:Bz};class Uz{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[e,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}}const Wz=_D({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),Gz={kernelName:Gt,backendName:"webgl",kernelFunc:Wz},Hz="return a - b;",jz=_D({opSnippet:Hz,packedOpSnippet:Hz,supportsComplex:!0,cpuKernelImpl:eD}),qz={kernelName:Pr,backendName:"webgl",kernelFunc:jz};function Kz(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{dim:a}=r,i=ye([a],s.shape),o=kz({inputs:{x:s},backend:n,attrs:{reductionIndices:i,keepDims:!1}}),l=Ec(o.shape,i),u=UD({inputs:{x:o},backend:n,attrs:{shape:l}}),c=jz({inputs:{a:s,b:u},backend:n}),h=fL({inputs:{x:c},backend:n}),p=YD({inputs:{x:h},backend:n,attrs:{axis:i,keepDims:!1}}),d=UD({inputs:{x:p},backend:n,attrs:{shape:l}}),f=Wz({inputs:{a:h,b:d},backend:n});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(d),f}const Xz={kernelName:Cr,backendName:"webgl",kernelFunc:Kz},Yz={kernelName:Bn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{numSamples:a,seed:i,normalized:o}=r,l=o?s:Kz({inputs:{logits:s},backend:n,attrs:{dim:s.shape.length-1}}),u=l.shape[0],c=l.shape[1],h=new Uz(u,c,a),p=[[i]],d=n.runWebGLProgram(h,[l],"int32",p);return o||n.disposeIntermediateTensorInfo(l),d}},Zz={kernelName:Un,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:r}=t;if(n.shouldExecuteOnCPU([r])){const e=n.texData.get(r.dataId),[t,s]=zF(e.values,r.shape,r.dtype);return n.makeTensorInfo(s,r.dtype,t)}let s;return s=He().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new gD(r.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new dD(r.shape,"if (isnan(x)) return x;\n return -x;\n"),n.runWebGLProgram(s,[r],r.dtype)}},Jz=Gp,Qz={kernelName:Gn,backendName:"webgl",kernelFunc:function(e){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l}=r,u=n.readSync(s.dataId),c=n.readSync(a.dataId),{selectedIndices:h}=Jz(u,c,i,o,l);return n.makeTensorInfo([h.length],"int32",new Int32Array(h))}},eP=Hp,tP={kernelName:Hn,backendName:"webgl",kernelFunc:function(e){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=r,c=n.readSync(s.dataId),h=n.readSync(a.dataId),{selectedIndices:p,validOutputs:d}=eP(c,h,i,o,l,u);return[n.makeTensorInfo([p.length],"int32",new Int32Array(p)),n.makeTensorInfo([],"int32",new Int32Array([d]))]}},nP=jp,rP={kernelName:jn,backendName:"webgl",kernelFunc:function(e){ns("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=r,c=n.readSync(s.dataId),h=n.readSync(a.dataId),p=i,d=o,f=l,m=u,{selectedIndices:g,selectedScores:y}=nP(c,h,p,d,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([y.length],"float32",new Float32Array(y))]}};class sP{constructor(e,t,n,r){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${r}), float(${n}),\n float(index == coords.y)));\n }\n `}}const aP={kernelName:Kn,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{indices:s}=t,{depth:a,onValue:i,offValue:o}=r,l=oe(s.shape),u=new sP(l,a,i,o),c=UD({inputs:{x:s},backend:n,attrs:{shape:[l]}}),h=n.runWebGLProgram(u,[c],s.dtype);n.disposeIntermediateTensorInfo(c);const p=UD({inputs:{x:h},backend:n,attrs:{shape:[...s.shape,a]}});return n.disposeIntermediateTensorInfo(h),p}};function iP(e){const{inputs:t,backend:n}=e,{x:r}=t;if("complex64"===r.dtype){const e=tO({inputs:{input:r},backend:n}),t=iP({inputs:{x:e},backend:n}),s=gO({inputs:{input:r},backend:n}),a=iP({inputs:{x:s},backend:n}),i=TD({inputs:{real:t,imag:a},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),i}return SL({attrs:{shape:r.shape,dtype:r.dtype,value:"string"===r.dtype?"":0},backend:n})}const oP={kernelName:Xr,backendName:"webgl",kernelFunc:iP},lP={kernelName:qn,backendName:"webgl",kernelFunc:function e(t){const{inputs:n,backend:r}=t,{x:s}=n;if("string"===s.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===s.dtype){const t=tO({inputs:{input:s},backend:r}),n=e({inputs:{x:t},backend:r}),a=gO({inputs:{input:s},backend:r}),i=iP({inputs:{x:a},backend:r}),o=TD({inputs:{real:n,imag:i},backend:r});return r.disposeIntermediateTensorInfo(t),r.disposeIntermediateTensorInfo(n),r.disposeIntermediateTensorInfo(a),r.disposeIntermediateTensorInfo(i),o}return SL({attrs:{shape:s.shape,dtype:s.dtype,value:1},backend:r})}},uP={kernelName:Xn,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r;if(1===t.length)return gL({inputs:{input:t[0]},backend:n,attrs:{dim:s}});const a=t[0].shape,i=t[0].dtype;t.forEach((e=>{se(a,e.shape,"All tensors passed to stack must have matching shapes"),re(i===e.dtype,(()=>"All tensors passed to stack must have matching dtypes"))}));const o=[],l=xO({inputs:t.map((e=>{const t=gL({inputs:{input:e},backend:n,attrs:{dim:s}});return o.push(t),t})),backend:n,attrs:{axis:s}});return o.forEach((e=>n.disposeIntermediateTensorInfo(e))),l}};class cP{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=JM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,r);this.userCode=1!==r?`\n ${s} start = ${s}(${a});\n ${s} end = ${s}(${i});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${o}));\n }\n }\n `:`\n int start = ${a};\n int end = ${i};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}}class hP{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map(((t,n)=>t[0]+e[n]+t[1]));const r=e.length,s=JM(r),a=t.map((e=>e[0])).join(","),i=t.map(((t,n)=>t[0]+e[n])).join(","),o=iD("rc",r),l=iD("source",r),u=`${o[r-1]} < ${this.outputShape[r-1]}`,c=1===r?"source":`vec2(${l.slice(-2).join()})`,h=[`${s} rc = outputLoc;`,`${o[r-1]} += 1;\n if(${u}) {\n `,1===r?"":`}\n rc = outputLoc;\n ${o[r-2]} += 1;\n if(${o[r-2]} < ${this.outputShape[r-2]}) {`,1===r?"":` ${o[r-1]} += 1;\n if(${u}) {`],p=1===r?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let d="";for(let e=0,t=1===r?2:4;e{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,constantValue:i}=r;if(0===oe(s.shape)){const e=a.map(((e,t)=>e[0]+s.shape[t]+e[1]));return SL({backend:n,attrs:{shape:e,value:i,dtype:s.dtype}})}const o=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new hP(s.shape,a,i):new cP(s.shape,a,i),l=[[i]];return n.runWebGLProgram(o,[s],s.dtype,l)},dP={kernelName:Yn,backendName:"webgl",kernelFunc:pP},fP=_D({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b));\n \n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n\n return result;\n"}),mP={kernelName:Jn,backendName:"webgl",kernelFunc:fP},gP={kernelName:er,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=s.shape.length,l=[],u=ye(a,s.shape);let c=u;const h=Ac(c,o);let p,d=s;if(null!=h&&(d=JD({inputs:{x:s},backend:n,attrs:{perm:h}}),c=Mc(c.length,o),l.push(d)),$c("prod",c,o),n.shouldExecuteOnCPU([d])){const e=n.texData.get(d.dataId).values,{outVals:t,outShape:r,outDtype:s}=BF(d.shape,d.dtype,e,c);p=n.makeTensorInfo(r,s,t)}else{const[e,t]=Cc(d.shape,c),r=oe(t),a=UD({inputs:{x:d},backend:n,attrs:{shape:[-1,r]}}),i=jD(a,ra(s.dtype),"prod",n);p=UD({inputs:{x:i},backend:n,attrs:{shape:e}}),l.push(a),l.push(i)}if(i){l.push(p);const e=Ec(p.shape,u);p=UD({inputs:{x:p},backend:n,attrs:{shape:e}})}return l.forEach((e=>n.disposeIntermediateTensorInfo(e))),p}},yP=e=>{const{backend:t,attrs:n}=e,{start:r,stop:s,step:a,dtype:i}=n,o=VF(r,s,a,i);return t.makeTensorInfo([o.length],i,o)},bP={kernelName:tr,backendName:"webgl",kernelFunc:yP},xP=DD({opSnippet:"return 1.0 / x;"}),wP={kernelName:rr,backendName:"webgl",kernelFunc:xP},vP=DD({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),kP={kernelName:sr,backendName:"webgl",kernelFunc:vP},IP=DD({opSnippet:"if (isnan(x)) return x;\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),NP={kernelName:cr,backendName:"webgl",kernelFunc:IP};class SP{constructor(e,t,n,r,s){this.variableNames=["A"],this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n];let h;h=s?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}}class TP{constructor(e,t,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n];let h;h=s?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const CP={kernelName:lr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r,[l,u]=o,c=He().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new TP(s.shape,l,u,a,i):new SP(s.shape,l,u,a,i);return n.runWebGLProgram(c,[s],"float32")}};class EP{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,r,s]=t,[,a,i]=e,o=[n&&a>1?r-1:r,n&&i>1?s-1:s],l=[n&&a>1?a-1:a,n&&i>1?i-1:i],u=o[0]/l[0],c=o[1]/l[1],h=1/u,p=1/c,d=2*Math.ceil(h)+2,f=2*Math.ceil(p)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${p});\n\n const int winHeight = int(${d});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${r-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const $P={kernelName:ur,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r,o=new EP(a.shape,s.shape,i);return n.runWebGLProgram(o,[a],a.dtype)}};class AP{constructor(e,t,n,r,s){this.variableNames=["A"],this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n],h=r?"0.5":"0.0";let p;p=s?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${i}.0, ${o}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${p};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}}class RP{constructor(e,t,n,r,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[a,i,o,l]=e;this.outputShape=[a,t,n,l];const u=[r&&t>1?i-1:i,r&&n>1?o-1:o],c=[r&&t>1?t-1:t,r&&n>1?n-1:n],h=r?"0.5":"0.0";let p;p=s?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${i}.0, ${o}.0,\n ${o}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${p};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${h})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const MP={kernelName:ir,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r,[l,u]=o,c=He().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new RP(s.shape,l,u,a,i):new AP(s.shape,l,u,a,i);return n.runWebGLProgram(c,[s],s.dtype)}};class FP{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,r,s]=t,[,a,i]=e,o=[n&&a>1?r-1:r,n&&i>1?s-1:s],l=[n&&a>1?a-1:a,n&&i>1?i-1:i],u=o[0]/l[0],c=o[1]/l[1],h=1/u,p=1/c,d=2*Math.ceil(h)+2,f=2*Math.ceil(p)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${h});\n const float invWidthScale = float(${p});\n\n const int winHeight = int(${d});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${a}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${i}) {\n continue;\n }\n\n float sourceFracRow =\n float(${o[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${o[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const DP={kernelName:or,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r,o=new FP(a.shape,s.shape,i);return n.runWebGLProgram(o,[a],a.dtype)}};class _P{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `);const r=e.map(((n,r)=>(n=>-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - coords[${n}] - 1`:`coords[${n}]`)(r))).join(","),s=JM(n);this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${r}));\n }\n `}}class OP{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;const r=iD("rc",n),s=`${r[n-1]} + 1 < ${this.outputShape[n-1]}`,a=`${r[n-2]} + 1 < ${this.outputShape[n-2]}`,i=JM(n);function o(n){const r=e.map(((r,s)=>function(n,r){return-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - ${r[n]} - 1`:`${r[n]}`}(s,n)));return`getChannel(getX(${r.join(",")}), vec2(${r.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${i} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(e){return o(e)}(r.slice())};\n if(${s}){\n result.g = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",o(e)}(r.slice())};\n }\n if(${a}) {\n result.b = ${function(e){return e[n-2]="("+e[n-2]+" + 1)",o(e)}(r.slice())};\n if(${s}) {\n result.a = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",e[n-2]="("+e[n-2]+" + 1)",o(e)}(r.slice())};\n }\n }\n setOutput(result);\n }\n `}}const LP={kernelName:hr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dims:a}=r,i=s.shape.length,o=ye(a,s.shape);if(0===i)return ND({inputs:{x:s},backend:n});const l=He().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new OP(s.shape,o):new _P(s.shape,o);return n.runWebGLProgram(l,[s],s.dtype)}};class zP{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=e[1],r=e[2];this.outputShape=e;let s="";s="number"==typeof t?`float outputValue = ${t.toFixed(2)};`:`\n vec3 fill = vec3(${t.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${r} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}}const PP={kernelName:Jr,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,{radians:s,fillValue:a,center:i}=t,o=n,l=new zP(r.shape,a),[u,c]=zd(i,r.shape[1],r.shape[2]),h=[[u,c,Math.sin(s),Math.cos(s)]];return o.runWebGLProgram(l,[r],r.dtype,h)}},BP=DD({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),VP={kernelName:pr,backendName:"webgl",kernelFunc:BP},UP=DD({opSnippet:"return inversesqrt(x);",cpuKernelImpl:UF}),WP={kernelName:dr,backendName:"webgl",kernelFunc:UP};class GP{constructor(e,t,n,r,s,a,i=!0){this.variableNames=["updates","indices","defaultValue"],this.outputShape=a;const o=JM(s.length),l=JM(a.length);let u="";1===n?u="i":2===n&&(u="i, j");const c=`getIndices(${u})`;let h="";1===r?h="i":2===r&&(h="i, coords[1]");const p=`getUpdates(${h})`,d=t>1?"strides[j]":"strides";this.userCode=`\n ${o} strides = ${o}(${s});\n\n void main() {\n ${l} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${c});\n flattenedIndex += index * ${d};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${p};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}}const HP={kernelName:fr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s,updates:a}=t,{shape:i}=r,{sliceRank:o,numUpdates:l,sliceSize:u,strides:c,outputSize:h}=oo(0,s,i),p=[h/u,u];if(0===h)return n.makeTensorInfo(i,s.dtype);const d=UD({inputs:{x:s},backend:n,attrs:{shape:[l,o]}}),f=UD({inputs:{x:a},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0])),g=new GP(l,o,d.shape.length,f.shape.length,c,p),y=n.runWebGLProgram(g,[f,d,m],f.dtype),b=UD({inputs:{x:y},backend:n,attrs:{shape:i}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(m),b}};class jP{constructor(e,t,n){let r,s;if(this.variableNames=["c","a","b"],this.outputShape=t,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)s="resRC",r="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],a=[],i=[];for(let r=0;r= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}}const qP={kernelName:mr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{condition:r,t:s,e:a}=t,i=new jP(r.shape.length,s.shape,s.shape.length);return n.runWebGLProgram(i,[r,s,a],na(s.dtype,a.dtype))}},KP=DD({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${Gd};\n float scale = ${Hd};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),XP={kernelName:gr,backendName:"webgl",kernelFunc:KP},YP=DD({opSnippet:"if (isnan(x)) return x;\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:WF}),ZP={kernelName:vr,backendName:"webgl",kernelFunc:YP},JP=DD({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),QP={kernelName:wr,backendName:"webgl",kernelFunc:JP},eB=DD({opSnippet:"if (isnan(x)) return x;\n return sin(x);\n"}),tB={kernelName:br,backendName:"webgl",kernelFunc:eB},nB=DD({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),rB={kernelName:xr,backendName:"webgl",kernelFunc:nB},sB=DD({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),aB={kernelName:kr,backendName:"webgl",kernelFunc:sB},iB={kernelName:Sr,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,paddings:i}=r;re(s.shape.length<=4,(()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet"));const o=a.reduce(((e,t)=>e*t)),l=[[0,0]];l.push(...i);for(let e=1+a.length;en.disposeIntermediateTensorInfo(e))),g}},oB={kernelName:Er,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{indices:r,values:s,denseShape:a,defaultValue:i}=t;if(1!==a.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${a.shape}`);if(2!==r.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Values must be a vector, saw:\n ${s.shape}`);if(0!==i.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${i.shape}`);const o=n.readSync(r.dataId),l=n.readSync(s.dataId),u=n.readSync(a.dataId),c=n.readSync(i.dataId)[0],[h,p,d,f,m]=jF(o,r.shape,r.dtype,l,s.dtype,u,c);return[n.makeTensorInfo(p,r.dtype,h),n.makeTensorInfo([p[0]],s.dtype,d),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map((e=>Number(e))))),n.makeTensorInfo([m.length],r.dtype,new Int32Array(m))]}},lB={kernelName:$r,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{inputIndices:r,inputShape:s,newShape:a}=t;if(2!==r.shape.length)throw new Error(`Input indices should be a matrix but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Input shape should be a vector but received shape ${s.shape}`);if(1!==a.shape.length)throw new Error(`Target shape should be a vector but received shape ${a.shape}`);const i=Array.from(n.readSync(s.dataId)),o=n.readSync(r.dataId),l=Array.from(n.readSync(a.dataId)),[u,c,h]=qF(o,r.shape,r.dtype,i,l);return[n.makeTensorInfo(c,r.dtype,u),n.makeTensorInfo([h.length],a.dtype,new Int32Array(h))]}},uB={kernelName:Ar,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{data:r,indices:s,segmentIds:a}=t;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==a.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${a.shape}`);const i=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(a.dataId),[u,c]=KF(i,r.shape,r.dtype,o,l,!0);return n.makeTensorInfo(c,r.dtype,u)}},cB={kernelName:Rr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{data:r,indices:s,segmentIds:a}=t;if(r.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==s.shape.length)throw new Error(`Indices should be a vector but received shape\n ${s.shape}`);if(1!==a.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${a.shape}`);const i=n.readSync(r.dataId),o=n.readSync(s.dataId),l=n.readSync(a.dataId),[u,c]=KF(i,r.shape,r.dtype,o,l);return n.makeTensorInfo(c,r.dtype,u)}},hB={kernelName:Mr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{sparseIndices:s,sparseValues:a,defaultValue:i}=t,{outputShape:o}=r,{sliceRank:l,numUpdates:u,strides:c,outputSize:h}=oo(0,s,o),p=new GP(u,l,s.shape.length,a.shape.length,c,[h,1],!1),d=n.runWebGLProgram(p,[a,s,i],a.dtype),f=UD({inputs:{x:d},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(d),f}},pB={kernelName:Tr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{numOrSizeSplits:a,axis:i}=r,o=ye(i,s.shape)[0],l=ff(s,a,o),u=s.shape.length,c=new Array(u).fill(0),h=s.shape.slice();return l.map((e=>{const t=[...h];t[o]=e;const r=K_({inputs:{x:s},backend:n,attrs:{begin:c,size:t}});return c[o]+=e,r}))}},dB="return sqrt(x);",fB=DD({opSnippet:dB,packedOpSnippet:dB,cpuKernelImpl:XF}),mB={kernelName:Ir,backendName:"webgl",kernelFunc:fB},gB=DD({opSnippet:"return x * x;"}),yB={kernelName:Dr,backendName:"webgl",kernelFunc:gB},bB="return (a - b) * (a - b);",xB=_D({opSnippet:bB,packedOpSnippet:bB}),wB={kernelName:Fr,backendName:"webgl",kernelFunc:xB},vB={kernelName:Yr,backendName:"webgl",kernelFunc:function({inputs:e,attrs:t,backend:n}){const{x:r}=e,s=`if (isnan(x)) return x;\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,a=new dD(r.shape,s);return n.runWebGLProgram(a,[r],r.dtype)}};class kB{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const r=n.length,s=JM(n.length),a=JM(n.length);let i="";if(1===r)i="coords * strides + begin";else{let e=0;i=n.map(((t,r)=>(e++,1===n.length?`coords * strides[${r}] + begin[${r}]`:`coords[${e-1}] * strides[${r}] + begin[${r}]`))).join(",")}this.userCode=`\n ${s} begin = ${s}(${e});\n ${s} strides = ${s}(${t});\n\n void main() {\n ${a} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}}const IB={kernelName:_r,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:h,shrinkAxisMask:p}=r,{finalShapeSparse:d,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:y,begin:b,end:x,strides:w}=No(s.shape,a,i,o,l,u,c,h,p);let v;if(m)v=UD({inputs:{x:s},backend:n,attrs:{shape:f}});else if(g||y){re(s.shape.length>=1,(()=>`Input must have rank at least 1, got: ${s.shape.length}`));const e=co(b,x,w),t=K_({inputs:{x:s},backend:n,attrs:{begin:b,size:e}});v=UD({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else if(n.shouldExecuteOnCPU([s])){const e=n.readSync(s.dataId),t=Ni(s.shape,s.dtype,e),r=YF(d,t,w,b);v=n.makeTensorInfo(f,s.dtype,r.values)}else{const e=new kB(b,w,d);v=n.runWebGLProgram(e,[s],s.dtype)}const k=UD({inputs:{x:v},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(v),k}},NB={kernelName:Or,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{separator:s,nGramWidths:a,leftPad:i,rightPad:o,padWidth:l,preserveShortSequences:u}=r,{data:c,dataSplits:h}=t,p=n.readSync(c.dataId),d=n.readSync(h.dataId),[f,m]=ZF(p,d,s,a,i,o,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(h.shape,"int32",m)]}},SB={kernelName:Lr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{skipEmpty:s}=r,{input:a,delimiter:i}=t;if("string"!==a.dtype)throw new Error("Input must be of datatype string");if(1!==a.shape.length)throw new Error(`Input must be a vector, got shape: ${a.shape}`);if(0!==i.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);const o=n.readSync(a.dataId),l=n.readSync(i.dataId)[0],[u,c,h]=JF(o,l,s),p=c.length;return[n.makeTensorInfo([p,2],"int32",u),n.makeTensorInfo([p],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(h))]}},TB={kernelName:zr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{numBuckets:s}=r,{input:a}=t;if("string"!==a.dtype)throw new Error("Input must be of datatype string");if(s<=0)throw new Error("Number of buckets must be at least 1");const i=n.readSync(a.dataId),o=QF(i,s);return n.makeTensorInfo(a.shape,"int32",o)}},CB=DD({opSnippet:"return tan(x);"}),EB={kernelName:Br,backendName:"webgl",kernelFunc:CB},$B=DD({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),AB={kernelName:Vr,backendName:"webgl",kernelFunc:$B};class RB{constructor(e,t){this.variableNames=["A"];const n=new Array(e.length);for(let r=0;r5)throw Error(`Tile for rank ${t} is not yet supported`);if(1===t)return`imod(resRC, ${e[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],r=[];for(let t=0;t5){const e=n.readSync(s.dataId),t="string"===s.dtype?e.map((e=>Ds(e))):e,r=Ni(s.shape,s.dtype,t),i=tD(r,a);return n.makeTensorInfo(i.shape,i.dtype,i.values)}const i=new RB(s.shape,a);return n.runWebGLProgram(i,[s],s.dtype)}const FB={kernelName:Ur,backendName:"webgl",kernelFunc:MB};class DB{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class _B{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}}function OB(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function LB(e){let t=1;for(;tl){const e=n.readSync(s.dataId),[t,r]=nD(e,u,s.dtype,a,i);return[n.makeTensorInfo(t.shape,t.dtype,t.values),n.makeTensorInfo(r.shape,r.dtype,r.values)]}if(0===a)return u[u.length-1]=0,[n.makeTensorInfo(u,s.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[s,SL({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const h=n.texData.get(s.dataId),p=null!==h&&h.isPacked,d=p?n.unpackTensor(s):s,f=oe(u)/c,m=UD({inputs:{x:d},attrs:{shape:[f,c]},backend:n});p&&OB(n,d);const g=LB(a),y=LB(c);let b=null;const x=()=>null===b?[m,m]:[m,b],w=(e,t,r)=>{const s=x(),a=new DB(r),i=[[c],[null===b?1:0],[Number.NEGATIVE_INFINITY],[e],[t]],o=b;b=n.runWebGLProgram(a,s,"int32",i),OB(n,o)};for(let e=1;e=1;n/=2)w(t,n,[f,y])}for(let e=y;e>g;e/=2){const t=x(),r=new _B([f,e/2]),s=[[c],[null===b?1:0],[g]],a=b;b=n.runWebGLProgram(r,t,"int32",s),OB(n,a);const i=g/2,o=2*i;for(let e=i;e>=1;e/=2)w(o,e,b.shape)}let v=b;b=K_({inputs:{x:b},backend:n,attrs:{begin:0,size:[f,a]}}),OB(n,v);let k=WL({inputs:{x:m,indices:b},backend:n,attrs:{axis:1,batchDims:1}});OB(n,m);const I=u.slice(0,-1);I.push(a),v=b,b=UD({inputs:{x:b},attrs:{shape:I},backend:n}),OB(n,v);const N=k;return k=UD({inputs:{x:k},attrs:{shape:I},backend:n}),OB(n,N),[k,b]}};class PB{constructor(e,t,n,r,s,a){this.variableNames=["Image","Transforms"],this.outputShape=a;const i="nearest"===n?1:2;let o;switch(r){case"constant":default:o=1;break;case"reflect":o=2;break;case"wrap":o=3;break;case"nearest":o=4}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${o} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${o} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${i} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const BB={kernelName:Gr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{image:s,transforms:a}=t,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=r,[c,h,p,d]=s.shape,[f,m]=null!=u?u:[h,p],g=new PB(h,p,i,o,l,[c,f,m,d]);return n.runWebGLProgram(g,[s,a],"float32")}},VB={kernelName:jr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,attrs:n,backend:r}=e,{axis:s}=n,{x:a}=t;_M(a,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const i=r.readSync(a.dataId),{outputValues:o,outputShape:l,indices:u}=sD(i,s,a.shape,a.dtype);return[r.makeTensorInfo(l,a.dtype,o),r.makeTensorInfo([u.length],"int32",u)]}},UB={kernelName:qr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{value:s}=t;let{axis:a}=r;a<0&&(a+=s.shape.length);const i=s,o=i.shape.length,l=s.shape[a],u=new Array(o-1);let c=0;for(let e=0;en.disposeIntermediateTensorInfo(e))),f}};class WB{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windowSize,r=e.batchSize,s=e.inSize,a=e.numSegments,i=a*Math.ceil(s/n);this.outputShape=[r,i];const o=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let h="";s%n>0&&(h=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${h}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${a})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${a})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const GB={kernelName:Kr,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,segmentIds:a}=t,{numSegments:i}=r,o=s.shape.length,l=[];let u=0;const c=Ac([u],o);let h=s;null!=c&&(h=JD({inputs:{x:s},backend:n,attrs:{perm:c}}),l.push(h),u=Mc(1,o)[0]);const p=Ef(h.shape,u,i),d=oe([h.shape[u]]),f=UD({inputs:{x:h},backend:n,attrs:{shape:[-1,d]}});l.push(f);const m=ra(s.dtype),g=(e,t,r,s,a)=>{const i=e.shape[0],o=e.shape[1],u=Cf(o,a),c=new WB({windowSize:u,inSize:o,batchSize:i,numSegments:a},t),h=n.compileAndRun(c,[e,r],s);if(l.push(h),h.shape[1]===a)return h;const p=yP({backend:n,attrs:{start:0,stop:a,step:1,dtype:"float32"}}),d=MB({inputs:{x:p},backend:n,attrs:{reps:[o/u]}});return l.push(p),l.push(d),g(h,t,d,s,a)},y=UD({inputs:{x:g(f,"unsortedSegmentSum",a,m,i)},backend:n,attrs:{shape:p}});let b=y;if(null!=c){l.push(y);const e=Rc(c);b=JD({inputs:{x:b},backend:n,attrs:{perm:e}})}return l.forEach((e=>n.disposeIntermediateTensorInfo(e))),b}},HB=[t_,r_,a_,o_,c_,d_,f_,m_,v_,k_,N_,T_,E_,A_,M_,__,O_,P_,B_,V_,G_,Y_,Z_,J_,rO,iO,uO,CD,pO,wO,TO,RO,MO,FO,DO,_O,LO,PO,VO,HO,jO,KO,ZO,eL,tL,rL,aL,iL,lL,uL,hL,dL,mL,yL,wL,IL,TL,EL,RL,FL,OL,zL,PL,VL,GL,jL,KL,SD,XL,yO,ZL,QL,tz,AD,rz,az,iz,lz,cz,pz,fz,gz,xz,vz,Iz,Sz,Tz,Cz,Az,Rz,Mz,Fz,Dz,Oz,Pz,Vz,Yz,VD,Zz,Qz,tP,rP,eO,aP,lP,uP,dP,mP,FD,gP,bP,nO,Gz,wP,kP,NP,WD,CP,$P,MP,DP,LP,PP,VP,WP,HP,qP,XP,ZP,QP,tB,rB,X_,Xz,aB,iB,oB,lB,uB,cB,hB,pB,mB,yB,wB,vB,IB,NB,SB,TB,qz,ZD,EB,AB,FB,zB,BB,QD,VB,UB,GB,oP];for(const e of HB)us(e);const jB={"tfjs-core":Bo,"tfjs-backend-cpu":"3.13.0","tfjs-backend-webgl":"3.13.0","tfjs-data":YS,"tfjs-layers":ax,"tfjs-converter":WN,tfjs:"3.13.0"}},8485:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(3645),s=n.n(r)()((function(e){return e[1]}));s.push([e.id,".mindar-ui-overlay{display:flex;align-items:center;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,0,0,0);z-index:2}.mindar-ui-overlay.hidden{display:none}.mindar-ui-loading .loader{border:16px solid #222;border-top:16px solid #fff;opacity:.8;border-radius:50%;width:120px;height:120px;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mindar-ui-compatibility .content{background:#000;color:#fff;opacity:.8;text-align:center;margin:20px;padding:20px;min-height:50vh}@media(min-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:50vh;height:50vh}}@media(max-aspect-ratio: 1/1){.mindar-ui-scanning .scanning{width:80vw;height:80vw}}.mindar-ui-scanning .scanning .inner{position:relative;width:100%;height:100%;opacity:.8;background:linear-gradient(to right, white 10px, transparent 10px) 0 0,linear-gradient(to right, white 10px, transparent 10px) 0 100%,linear-gradient(to left, white 10px, transparent 10px) 100% 0,linear-gradient(to left, white 10px, transparent 10px) 100% 100%,linear-gradient(to bottom, white 10px, transparent 10px) 0 0,linear-gradient(to bottom, white 10px, transparent 10px) 100% 0,linear-gradient(to top, white 10px, transparent 10px) 0 100%,linear-gradient(to top, white 10px, transparent 10px) 100% 100%;background-repeat:no-repeat;background-size:40px 40px}.mindar-ui-scanning .scanning .inner .scanline{position:absolute;width:100%;height:10px;background:#fff;animation:move 2s linear infinite}@keyframes move{0%,100%{top:0%}50%{top:calc(100% - 10px)}}",""]);const a=s},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var s={};if(r)for(var a=0;a{"use strict";n.d(t,{Z:()=>r});const r='

Failed to launch :(

Looks like your device/browser is not compatible.



Please try the following recommended browsers:

For Android device - Chrome

For iOS device - Safari

'},9894:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r='
'},2810:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r='
'},3720:e=>{e.exports=n;var t=null;try{t=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(e){}function n(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function r(e){return!0===(e&&e.__isLong__)}n.prototype.__isLong__,Object.defineProperty(n.prototype,"__isLong__",{value:!0}),n.isLong=r;var s={},a={};function i(e,t){var n,r,i;return t?(i=0<=(e>>>=0)&&e<256)&&(r=a[e])?r:(n=l(e,(0|e)<0?-1:0,!0),i&&(a[e]=n),n):(i=-128<=(e|=0)&&e<128)&&(r=s[e])?r:(n=l(e,e<0?-1:0,!1),i&&(s[e]=n),n)}function o(e,t){if(isNaN(e))return t?y:g;if(t){if(e<0)return y;if(e>=d)return k}else{if(e<=-f)return I;if(e+1>=f)return v}return e<0?o(-e,t).neg():l(e%p|0,e/p|0,t)}function l(e,t,r){return new n(e,t,r)}n.fromInt=i,n.fromNumber=o,n.fromBits=l;var u=Math.pow;function c(e,t,n){if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return g;if("number"==typeof t?(n=t,t=!1):t=!!t,(n=n||10)<2||360)throw Error("interior hyphen");if(0===r)return c(e.substring(1),t,n).neg();for(var s=o(u(n,8)),a=g,i=0;i>>0:this.low},N.toNumber=function(){return this.unsigned?(this.high>>>0)*p+(this.low>>>0):this.high*p+(this.low>>>0)},N.toString=function(e){if((e=e||10)<2||36>>0).toString(e);if((a=l).isZero())return c+i;for(;c.length<6;)c="0"+c;i=""+c+i}},N.getHighBits=function(){return this.high},N.getHighBitsUnsigned=function(){return this.high>>>0},N.getLowBits=function(){return this.low},N.getLowBitsUnsigned=function(){return this.low>>>0},N.getNumBitsAbs=function(){if(this.isNegative())return this.eq(I)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<=0},N.isOdd=function(){return 1==(1&this.low)},N.isEven=function(){return 0==(1&this.low)},N.equals=function(e){return r(e)||(e=h(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},N.eq=N.equals,N.notEquals=function(e){return!this.eq(e)},N.neq=N.notEquals,N.ne=N.notEquals,N.lessThan=function(e){return this.comp(e)<0},N.lt=N.lessThan,N.lessThanOrEqual=function(e){return this.comp(e)<=0},N.lte=N.lessThanOrEqual,N.le=N.lessThanOrEqual,N.greaterThan=function(e){return this.comp(e)>0},N.gt=N.greaterThan,N.greaterThanOrEqual=function(e){return this.comp(e)>=0},N.gte=N.greaterThanOrEqual,N.ge=N.greaterThanOrEqual,N.compare=function(e){if(r(e)||(e=h(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},N.comp=N.compare,N.negate=function(){return!this.unsigned&&this.eq(I)?I:this.not().add(b)},N.neg=N.negate,N.add=function(e){r(e)||(e=h(e));var t=this.high>>>16,n=65535&this.high,s=this.low>>>16,a=65535&this.low,i=e.high>>>16,o=65535&e.high,u=e.low>>>16,c=0,p=0,d=0,f=0;return d+=(f+=a+(65535&e.low))>>>16,p+=(d+=s+u)>>>16,c+=(p+=n+o)>>>16,c+=t+i,l((d&=65535)<<16|(f&=65535),(c&=65535)<<16|(p&=65535),this.unsigned)},N.subtract=function(e){return r(e)||(e=h(e)),this.add(e.neg())},N.sub=N.subtract,N.multiply=function(e){if(this.isZero())return g;if(r(e)||(e=h(e)),t)return l(t.mul(this.low,this.high,e.low,e.high),t.get_high(),this.unsigned);if(e.isZero())return g;if(this.eq(I))return e.isOdd()?I:g;if(e.eq(I))return this.isOdd()?I:g;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(m)&&e.lt(m))return o(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,s=65535&this.high,a=this.low>>>16,i=65535&this.low,u=e.high>>>16,c=65535&e.high,p=e.low>>>16,d=65535&e.low,f=0,y=0,b=0,x=0;return b+=(x+=i*d)>>>16,y+=(b+=a*d)>>>16,b&=65535,y+=(b+=i*p)>>>16,f+=(y+=s*d)>>>16,y&=65535,f+=(y+=a*p)>>>16,y&=65535,f+=(y+=i*c)>>>16,f+=n*d+s*p+a*c+i*u,l((b&=65535)<<16|(x&=65535),(f&=65535)<<16|(y&=65535),this.unsigned)},N.mul=N.multiply,N.divide=function(e){if(r(e)||(e=h(e)),e.isZero())throw Error("division by zero");var n,s,a;if(t)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?l((this.unsigned?t.div_u:t.div_s)(this.low,this.high,e.low,e.high),t.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?y:g;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return y;if(e.gt(this.shru(1)))return x;a=y}else{if(this.eq(I))return e.eq(b)||e.eq(w)?I:e.eq(I)?b:(n=this.shr(1).div(e).shl(1)).eq(g)?e.isNegative()?b:w:(s=this.sub(e.mul(n)),a=n.add(s.div(e)));if(e.eq(I))return this.unsigned?y:g;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();a=g}for(s=this;s.gte(e);){n=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));for(var i=Math.ceil(Math.log(n)/Math.LN2),c=i<=48?1:u(2,i-48),p=o(n),d=p.mul(e);d.isNegative()||d.gt(s);)d=(p=o(n-=c,this.unsigned)).mul(e);p.isZero()&&(p=b),a=a.add(p),s=s.sub(d)}return a},N.div=N.divide,N.modulo=function(e){return r(e)||(e=h(e)),t?l((this.unsigned?t.rem_u:t.rem_s)(this.low,this.high,e.low,e.high),t.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},N.mod=N.modulo,N.rem=N.modulo,N.not=function(){return l(~this.low,~this.high,this.unsigned)},N.and=function(e){return r(e)||(e=h(e)),l(this.low&e.low,this.high&e.high,this.unsigned)},N.or=function(e){return r(e)||(e=h(e)),l(this.low|e.low,this.high|e.high,this.unsigned)},N.xor=function(e){return r(e)||(e=h(e)),l(this.low^e.low,this.high^e.high,this.unsigned)},N.shiftLeft=function(e){return r(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?l(this.low<>>32-e,this.unsigned):l(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned):l(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},N.shr=N.shiftRight,N.shiftRightUnsigned=function(e){if(r(e)&&(e=e.toInt()),0==(e&=63))return this;var t=this.high;return e<32?l(this.low>>>e|t<<32-e,t>>>e,this.unsigned):l(32===e?t:t>>>e-32,0,this.unsigned)},N.shru=N.shiftRightUnsigned,N.shr_u=N.shiftRightUnsigned,N.toSigned=function(){return this.unsigned?l(this.low,this.high,!1):this},N.toUnsigned=function(){return this.unsigned?this:l(this.low,this.high,!0)},N.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},N.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},N.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},n.fromBytes=function(e,t,r){return r?n.fromBytesLE(e,t):n.fromBytesBE(e,t)},n.fromBytesLE=function(e,t){return new n(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},n.fromBytesBE=function(e,t){return new n(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}},6377:(e,t,n)=>{var r=n(4832),s=n(8652),a=n(801),i=n(2030),o=n(3618),l=n(9049),u=n(1971);u.alea=r,u.xor128=s,u.xorwow=a,u.xorshift7=i,u.xor4096=o,u.tychei=l,e.exports=u},4832:function(e,t,n){var r;!function(e,s,a){function i(e){var t,n=this,r=(t=4022871197,function(e){e=e.toString();for(var n=0;n>>0,t=(r*=t)>>>0,t+=4294967296*(r-=t)}return 2.3283064365386963e-10*(t>>>0)});n.next=function(){var e=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=e-(n.c=0|e)},n.c=1,n.s0=r(" "),n.s1=r(" "),n.s2=r(" "),n.s0-=r(e),n.s0<0&&(n.s0+=1),n.s1-=r(e),n.s1<0&&(n.s1+=1),n.s2-=r(e),n.s2<0&&(n.s2+=1),r=null}function o(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function l(e,t){var n=new i(e),r=t&&t.state,s=n.next;return s.int32=function(){return 4294967296*n.next()|0},s.double=function(){return s()+11102230246251565e-32*(2097152*s()|0)},s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.alea=l}(0,e=n.nmd(e),n.amdD)},9049:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this,n="";t.next=function(){var e=t.b,n=t.c,r=t.d,s=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^s,s=s-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^s,t.a=s-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):n+=e;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.tychei=l}(0,e=n.nmd(e),n.amdD)},8652:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this,n="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:n+=e;for(var r=0;r>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xor128=l}(0,e=n.nmd(e),n.amdD)},3618:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this;t.next=function(){var e,n,r=t.w,s=t.X,a=t.i;return t.w=r=r+1640531527|0,n=s[a+34&127],e=s[a=a+1&127],n^=n<<13,e^=e<<17,n^=n>>>15,e^=e>>>12,n=s[a]=n^e,t.i=a,n+(r^r>>>16)|0},function(e,t){var n,r,s,a,i,o=[],l=128;for(t===(0|t)?(r=t,t=null):(t+="\0",r=0,l=Math.max(l,t.length)),s=0,a=-32;a>>15,r^=r<<4,r^=r>>>13,a>=0&&(i=i+1640531527|0,s=0==(n=o[127&a]^=r+i)?s+1:0);for(s>=128&&(o[127&(t&&t.length||0)]=-1),s=127,a=512;a>0;--a)r=o[s+34&127],n=o[s=s+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,o[s]=r^n;e.w=i,e.X=o,e.i=s}(t,e)}function o(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function l(e,t){null==e&&(e=+new Date);var n=new i(e),r=t&&t.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&(r.X&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xor4096=l}(0,e=n.nmd(e),n.amdD)},2030:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this;t.next=function(){var e,n,r=t.x,s=t.i;return e=r[s],n=(e^=e>>>7)^e<<24,n^=(e=r[s+1&7])^e>>>10,n^=(e=r[s+3&7])^e>>>3,n^=(e=r[s+4&7])^e<<7,e=r[s+7&7],n^=(e^=e<<13)^e<<9,r[s]=n,t.i=s+1&7,n},function(e,t){var n,r=[];if(t===(0|t))r[0]=t;else for(t=""+t,n=0;n0;--n)e.next()}(t,e)}function o(e,t){return t.x=e.x.slice(),t.i=e.i,t}function l(e,t){null==e&&(e=+new Date);var n=new i(e),r=t&&t.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&(r.x&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xorshift7=l}(0,e=n.nmd(e),n.amdD)},801:function(e,t,n){var r;!function(e,s,a){function i(e){var t=this,n="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:n+=e;for(var r=0;r>>4),t.next()}function o(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function l(e,t){var n=new i(e),r=t&&t.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&o(r,n),s.state=function(){return o(n,{})}),s}s&&s.exports?s.exports=l:n.amdD&&n.amdO?void 0===(r=function(){return l}.call(t,n,t,s))||(s.exports=r):this.xorwow=l}(0,e=n.nmd(e),n.amdD)},1971:(e,t,n)=>{var r;!function(s,a){var i,o=this,l=256,u=a.pow(l,6),c=a.pow(2,52),h=2*c,p=255;function d(e,t,n){var r=[],p=y(g((t=1==t?{entropy:!0}:t||{}).entropy?[e,b(s)]:null==e?function(){try{var e;return i&&(e=i.randomBytes)?e=e(l):(e=new Uint8Array(l),(o.crypto||o.msCrypto).getRandomValues(e)),b(e)}catch(e){var t=o.navigator,n=t&&t.plugins;return[+new Date,o,n,o.screen,b(s)]}}():e,3),r),d=new f(r),x=function(){for(var e=d.g(6),t=u,n=0;e=h;)e/=2,t/=2,n>>>=1;return(e+n)/t};return x.int32=function(){return 0|d.g(4)},x.quick=function(){return d.g(4)/4294967296},x.double=x,y(b(d.S),s),(t.pass||n||function(e,t,n,r){return r&&(r.S&&m(r,d),e.state=function(){return m(d,{})}),n?(a.random=e,t):e})(x,p,"global"in t?t.global:this==a,t.state)}function f(e){var t,n=e.length,r=this,s=0,a=r.i=r.j=0,i=r.S=[];for(n||(e=[n++]);s{"use strict";n.r(t),n.d(t,{default:()=>i});var r=n(3379),s=n.n(r),a=n(8485);s()(a.Z,{insert:"head",singleton:!1});const i=a.Z.locals||{}},3379:(e,t,n)=>{"use strict";var r,s=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function i(e){for(var t=-1,n=0;n{e.exports=function(){return n(9855)('(()=>{var t={508:(t,e,r)=>{const{resize:a}=r(140);t.exports={buildImageList:t=>{const e=[];let r=100/Math.min(t.width,t.height);for(;;)if(e.push(r),r*=Math.pow(2,1/3),r>=.95){r=1;break}e.push(r),e.reverse();const i=[];for(let r=0;r{const e=Math.min(t.width,t.height),r=[],i=[];r.push(256/e),r.push(128/e);for(let e=0;e{const{Cumsum:a}=r(535),i=({image:t,cx:e,cy:r,sdThresh:a,imageDataCumsum:i,imageDataSqrCumsum:s})=>{if(e-6<0||e+6>=t.width)return null;if(r-6<0||r+6>=t.height)return null;let h=i.query(e-6,r-6,e+6,r+6);h/=169;let o=s.query(e-6,r-6,e+6,r+6);return o-=2*h*i.query(e-6,r-6,e+6,r+6),o+=169*h*h,o/169{const{image:e,cx:r,cy:a,vlen:i,tx:s,ty:h,imageDataCumsum:o,imageDataSqrCumsum:l}=t,{data:u,width:n,height:m}=e;if(r-6<0||r+6>=n)return null;if(a-6<0||a+6>=m)return null;let c=o.query(r-6,a-6,r+6,a+6),f=l.query(r-6,a-6,r+6,a+6),g=0,d=(a-6)*n+(r-6),p=(h-6)*n+(s-6),w=n-13;for(let t=0;t<13;t++){for(let t=0;t<13;t++)g+=u[d]*u[p],d+=1,p+=1;d+=w,p+=w}let M=o.query(s-6,h-6,s+6,h+6);M/=169,g-=M*c;let y=f-c*c/169;return 0==y?null:(y=Math.sqrt(y),1*g/(i*y))};t.exports={extract:t=>{const{data:e,width:r,height:h,scale:o}=t,l=[r*h];for(let t=0;t999&&(t=999),t<0&&(t=0),n[t]+=1,c+=1,l[a]=!0}}const f=.02*r*h;let g=999,d=0;for(;g>=0&&(d+=n[g],!(d>f));)g--;for(let t=0;tu&&(u=h,u>.95))break}if(u>.95)break}y[h]=u}return(t=>{let{image:e,featureMap:r,templateSize:a,searchSize:h,occSize:o,maxSimThresh:l,minSimThresh:u,sdThresh:n,imageDataCumsum:m,imageDataSqrCumsum:c}=t;const{data:f,width:g,height:d,scale:p}=e;o=Math.floor(Math.min(e.width,e.height)/10);const w=3*(2*a+1),M=Math.floor(g/w),y=Math.floor(d/w);let x=Math.floor(g/o)*Math.floor(d/o)+M*y;const q=[],C=new Float32Array(f.length);for(let t=0;th*h)continue;if(0===i&&0===a)continue;const o=s({image:e,vlen:p,cx:r+i,cy:f+a,tx:r,ty:f,imageDataCumsum:m,imageDataSqrCumsum:c});if(null!==o){if(oM&&(M=o,M>.99))break}}if(w.99)break}if(w.99)C[f*g+r]=1;else{q.push({x:r,y:f}),S+=1;for(let t=-o;t<=o;t++)for(let e=-o;e<=o;e++)f+t<0||f+t>=d||r+e<0||r+e>=g||(C[(f+t)*g+(r+e)]=1)}}return q})({image:t,featureMap:y,templateSize:6,searchSize:2,occSize:16,maxSimThresh:.9,minSimThresh:.2,sdThresh:8,imageDataCumsum:w,imageDataSqrCumsum:M})}}},535:t=>{t.exports={Cumsum:class{constructor(t,e,r){this.cumsum=[];for(let t=0;t0&&(i-=this.cumsum[e-1][r]),t>0&&(i-=this.cumsum[a][t-1]),t>0&&e>0&&(i+=this.cumsum[e-1][t-1]),i}}}},140:t=>{t.exports={downsampleBilinear:({image:t})=>{const{data:e,width:r,height:a}=t,i=Math.floor(r/2),s=Math.floor(a/2),h=new Float32Array(i*s),o=[0,1,r,r+1];for(let t=0;t{const{width:a,height:i,data:s}=t,h=2*t.width+(e?1:0),o=2*t.height+(r?1:0),l=new Float32Array(h*o);for(let t=0;t=a&&(u=a-1);for(let n=0;n=i&&(c=i-1);const f=(u-e)*(c-o)*s[m*a+r]+(u-e)*(o-m)*s[c*a+r]+(e-r)*(c-o)*s[m*a+u]+(e-r)*(o-m)*s[c*a+u];l[n*h+t]=f}}return{data:l,width:h,height:o}},resize:({image:t,ratio:e})=>{const r=Math.round(t.width*e),a=Math.round(t.height*e),i=new Uint8Array(r*a);for(let s=0;s=t.width&&(o=t.width-1);for(let l=0;l=t.height&&(u=t.height-1);let n=0,m=0;for(let e=h;e<=o;e++)for(let r=a;r<=u;r++)n+=1*t.data[r*t.width+e],m+=1;i[l*r+s]=Math.floor(n/m)}}return{data:i,width:r,height:a}}}}},e={};function r(a){if(e[a])return e[a].exports;var i=e[a]={exports:{}};return t[a](i,i.exports,r),i.exports}(()=>{const{extract:t}=r(589),{buildTrackingImageList:e}=r(508);onmessage=t=>{const{data:r}=t;if("compile"===r.type){const{targetImages:t}=r,i=50/t.length;let s=0;const h=[];for(let r=0;r{s+=u,postMessage({type:"progress",percent:s})}));h.push(n)}postMessage({type:"compileDone",list:h})}};const a=(e,r)=>{const a=[];for(let i=0;i{e.exports=function(){return n(9855)('(()=>{var t={331:(t,e,r)=>{"use strict";r.r(e),r.d(e,{AbstractMatrix:()=>v,CHO:()=>tt,CholeskyDecomposition:()=>tt,EVD:()=>K,EigenvalueDecomposition:()=>K,LU:()=>H,LuDecomposition:()=>H,Matrix:()=>k,MatrixColumnSelectionView:()=>T,MatrixColumnView:()=>I,MatrixFlipColumnView:()=>A,MatrixFlipRowView:()=>q,MatrixRowSelectionView:()=>P,MatrixRowView:()=>C,MatrixSelectionView:()=>V,MatrixSubView:()=>N,MatrixTransposeView:()=>j,NIPALS:()=>et,Nipals:()=>et,QR:()=>$,QrDecomposition:()=>$,SVD:()=>L,SingularValueDecomposition:()=>L,WrapperMatrix1D:()=>z,WrapperMatrix2D:()=>F,correlation:()=>J,covariance:()=>B,default:()=>k,determinant:()=>X,inverse:()=>O,linearDependencies:()=>Q,pseudoInverse:()=>W,solve:()=>U,wrap:()=>D});const s=Object.prototype.toString;function o(t){return s.call(t).endsWith("Array]")}const n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;lh&&(h=t[l]);return h},i=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");var r=e.fromIndex,s=void 0===r?0:r,n=e.toIndex,i=void 0===n?t.length:n;if(s<0||s>=t.length||!Number.isInteger(s))throw new Error("fromIndex must be a positive integer smaller than length");if(i<=s||i>t.length||!Number.isInteger(i))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var h=t[s],l=s+1;l1&&void 0!==arguments[1]?arguments[1]:{};if(!o(t))throw new TypeError("input must be an array");if(0===t.length)throw new TypeError("input must not be empty");if(void 0!==r.output){if(!o(r.output))throw new TypeError("output option must be an array if specified");e=r.output}else e=new Array(t.length);var s=i(t),h=n(t);if(s===h)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var l=r.min,u=void 0===l?r.autoMinMax?s:0:l,a=r.max,c=void 0===a?r.autoMinMax?h:1:a;if(u>=c)throw new RangeError("min option must be smaller than max option");for(var f=(c-u)/(h-s),m=0;ms)throw new RangeError("Row index out of range")}function m(t,e,r){let s=r?t.columns:t.columns-1;if(e<0||e>s)throw new RangeError("Column index out of range")}function g(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function w(t,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==t.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function p(t,e,r){return{row:d(t,e),column:y(t,r)}}function d(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for row indices");if(e.some((e=>e<0||e>=t.rows)))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function y(t,e){if("object"!=typeof e)throw new TypeError("unexpected type for column indices");if(e.some((e=>e<0||e>=t.columns)))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function M(t,e,r,s,o){if(5!==arguments.length)throw new RangeError("expected 4 arguments");if(x("startRow",e),x("endRow",r),x("startColumn",s),x("endColumn",o),e>r||s>o||e<0||e>=t.rows||r<0||r>=t.rows||s<0||s>=t.columns||o<0||o>=t.columns)throw new RangeError("Submatrix indices are out of range")}function b(t,e=0){let r=[];for(let s=0;s=o)throw new RangeError("min must be smaller than max");let i=o-s,h=new k(t,e);for(let r=0;rr?(o=!0,r=e):(s=!1,o=!0);t++}return s}isReducedEchelonForm(){let t=0,e=0,r=-1,s=!0,o=!1;for(;tr?(o=!0,r=e):(s=!1,o=!0);for(let r=e+1;rt.get(s,r)&&(s=o);if(0===t.get(s,r))r++;else{t.swapRows(e,s);let o=t.get(e,r);for(let s=r;s=0;)if(0===t.maxRow(s))s--;else{let o=0,n=!1;for(;ot&&(t=this.get(e,r));return t}maxIndex(){E(this);let t=this.get(0,0),e=[0,0];for(let r=0;rt&&(t=this.get(r,s),e[0]=r,e[1]=s);return e}min(){if(this.isEmpty())return NaN;let t=this.get(0,0);for(let e=0;ee&&(e=this.get(t,r));return e}maxRowIndex(t){f(this,t),E(this);let e=this.get(t,0),r=[t,0];for(let s=1;se&&(e=this.get(t,s),r[1]=s);return r}minRow(t){if(f(this,t),this.isEmpty())return NaN;let e=this.get(t,0);for(let r=1;re&&(e=this.get(r,t));return e}maxColumnIndex(t){m(this,t),E(this);let e=this.get(0,t),r=[0,t];for(let s=1;se&&(e=this.get(s,t),r[0]=s);return r}minColumn(t){if(m(this,t),this.isEmpty())return NaN;let e=this.get(0,t);for(let r=1;r=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;t0&&h(o,{min:e,max:r,output:o}),s.setRow(t,o)}return s}scaleColumns(t={}){if("object"!=typeof t)throw new TypeError("options must be an object");const{min:e=0,max:r=1}=t;if(!Number.isFinite(e))throw new TypeError("min must be a number");if(!Number.isFinite(r))throw new TypeError("max must be a number");if(e>=r)throw new RangeError("min must be smaller than max");let s=new k(this.rows,this.columns);for(let t=0;tr||e<0||e>=this.columns||r<0||r>=this.columns)throw new RangeError("Argument out of range");let s=new k(t.length,r-e+1);for(let o=0;o=this.rows)throw new RangeError(`Row index out of range: ${t[o]}`);s.set(o,n-e,this.get(t[o],n))}return s}subMatrixColumn(t,e,r){if(void 0===e&&(e=0),void 0===r&&(r=this.rows-1),e>r||e<0||e>=this.rows||r<0||r>=this.rows)throw new RangeError("Argument out of range");let s=new k(r-e+1,t.length);for(let o=0;o=this.columns)throw new RangeError(`Column index out of range: ${t[o]}`);s.set(n-e,o,this.get(n,t[o]))}return s}setSubMatrix(t,e,r){if((t=k.checkMatrix(t)).isEmpty())return this;M(this,e,e+t.rows-1,r,r+t.columns-1);for(let s=0;s=0){if(this.data=[],!(Number.isInteger(e)&&e>=0))throw new TypeError("nColumns must be a positive integer");for(let r=0;r>t);return this},t.prototype.signPropagatingRightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>t.get(e,r));return this},t.signPropagatingRightShift=function(t,r){return new e(t).signPropagatingRightShift(r)},t.prototype.rightShift=function(t){return"number"==typeof t?this.rightShiftS(t):this.rightShiftM(t)},t.prototype.rightShiftS=function(t){for(let e=0;e>>t);return this},t.prototype.rightShiftM=function(t){if(t=e.checkMatrix(t),this.rows!==t.rows||this.columns!==t.columns)throw new RangeError("Matrices dimensions must be equal");for(let e=0;e>>t.get(e,r));return this},t.rightShift=function(t,r){return new e(t).rightShift(r)},t.prototype.zeroFillRightShift=t.prototype.rightShift,t.prototype.zeroFillRightShiftS=t.prototype.rightShiftS,t.prototype.zeroFillRightShiftM=t.prototype.rightShiftM,t.zeroFillRightShift=t.rightShift,t.prototype.not=function(){for(let t=0;tMath.abs(l[o])&&(o=e);if(o!==r){for(s=0;s=0;o--){for(s=0;se?s.set(o,e,t.get(o,e)):o===e?s.set(o,e,1):s.set(o,e,0);return s}get upperTriangularMatrix(){let t=this.LU,e=t.rows,r=t.columns,s=new k(e,r);for(let o=0;oMath.abs(e)?(r=e/t,Math.abs(t)*Math.sqrt(1+r*r)):0!==e?(r=t/e,Math.abs(e)*Math.sqrt(1+r*r)):0}class ${constructor(t){let e,r,s,o,n=(t=F.checkMatrix(t)).clone(),i=t.rows,h=t.columns,l=new Float64Array(h);for(s=0;s=0;n--){for(o=0;o=0;r--){for(t=0;t=0;t--)if(0!==m[t]){for(let e=t+1;e=0;t--){if(t0;){let t,e;for(t=E-2;t>=-1&&-1!==t;t--){const e=Number.MIN_VALUE+R*Math.abs(m[t]+Math.abs(m[t+1]));if(Math.abs(p[t])<=e||Number.isNaN(p[t])){p[t]=0;break}}if(t===E-2)e=4;else{let r;for(r=E-1;r>=t&&r!==t;r--){let e=(r!==E?Math.abs(p[r]):0)+(r!==t+1?Math.abs(p[r-1]):0);if(Math.abs(m[r])<=R*e){m[r]=0;break}}r===t?e=3:r===E-1?e=1:(e=2,t=r)}switch(t++,e){case 1:{let e=p[E-2];p[E-2]=0;for(let r=E-2;r>=t;r--){let o=_(m[r],e),n=m[r]/o,i=e/o;if(m[r]=o,r!==t&&(e=-i*p[r-1],p[r-1]=n*p[r-1]),u)for(let t=0;t=m[t+1]);){let e=m[t];if(m[t]=m[t+1],m[t+1]=e,u&&te&&o.set(n,r,t.get(n,r)/this.s[r]);let n=this.U,i=n.rows,h=n.columns,l=new k(r,i);for(let t=0;tt&&e++;return e}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return k.diag(this.s)}}function O(t,e=!1){return t=F.checkMatrix(t),e?new L(t).inverse():U(t,k.eye(t.rows))}function U(t,e,r=!1){return t=F.checkMatrix(t),e=F.checkMatrix(e),r?new L(t).solve(e):t.isSquare()?new H(t).solve(e):new $(t).solve(e)}function X(t){if((t=k.checkMatrix(t)).isSquare()){if(0===t.columns)return 1;let e,r,s,o;if(2===t.columns)return e=t.get(0,0),r=t.get(0,1),s=t.get(1,0),o=t.get(1,1),e*o-r*s;if(3===t.columns){let o,n,i;return o=new V(t,[1,2],[1,2]),n=new V(t,[1,2],[0,2]),i=new V(t,[1,2],[0,1]),e=t.get(0,0),r=t.get(0,1),s=t.get(0,2),e*X(o)-r*X(n)+s*X(i)}return new H(t).determinant}throw Error("determinant can only be calculated for a square matrix")}function Y(t,e){let r=[];for(let s=0;so)return new Array(e.rows+1).fill(0);{let t=e.addRow(r,[0]);for(let e=0;ee?n[t]=1/n[t]:n[t]=0;return o.mmul(k.diag(n).mmul(s.transpose()))}function B(t,e=t,r={}){t=new k(t);let s=!1;if("object"!=typeof e||k.isMatrix(e)||Array.isArray(e)?e=new k(e):(r=e,e=t,s=!0),t.rows!==e.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:o=!0}=r;o&&(t=t.center("column"),s||(e=e.center("column")));const n=t.transpose().mmul(e);for(let e=0;e0;h--){for(c=0,i=0,u=0;u0&&(n=-n),e[h]=c*n,i-=o*n,r[h-1]=o-n,l=0;lu){b=0;do{for(b+=1,o=r[u],c=(r[u+1]-o)/(2*e[u]),f=_(c,1),c<0&&(f=-f),r[u]=e[u]/(c+f),r[u+1]=e[u]*(c+f),m=r[u+1],n=o-r[u],i=u+2;i=u;i--)for(p=w,w=g,M=y,o=g*e[i],n=g*c,f=_(c,e[i]),e[i+1]=y*f,y=e[i]/f,g=c/f,c=g*r[i]-y*o,r[i+1]=n+y*(g*o+y*r[i]),l=0;lv*E)}r[u]=r[u]+x,e[u]=0}for(i=0;i=u;h--)r[h]=e.get(h,u-1)/a,i+=r[h]*r[h];for(n=Math.sqrt(i),r[u]>0&&(n=-n),i-=r[u]*n,r[u]=r[u]-n,l=u;l=u;h--)o+=r[h]*e.get(h,l);for(o/=i,h=u;h<=c;h++)e.set(h,l,e.get(h,l)-o*r[h])}for(h=0;h<=c;h++){for(o=0,l=c;l>=u;l--)o+=r[l]*e.get(h,l);for(o/=i,l=u;l<=c;l++)e.set(h,l,e.get(h,l)-o*r[l])}r[u]=a*r[u],e.set(u,u-1,a*n)}}for(h=0;h=1;u--)if(0!==e.get(u,u-1)){for(h=u+1;h<=c;h++)r[h]=e.get(h,u-1);for(l=u;l<=c;l++){for(n=0,h=u;h<=c;h++)n+=r[h]*s.get(h,l);for(n=n/r[u]/e.get(u,u-1),h=u;h<=c;h++)s.set(h,l,s.get(h,l)+n*r[h])}}}(n,t,e,i),function(t,e,r,s,o){let n,i,h,l,u,a,c,f,m,g,w,p,d,y,M,b=t-1,x=t-1,E=Number.EPSILON,v=0,S=0,k=0,R=0,I=0,T=0,A=0,q=0;for(n=0;nx)&&(r[n]=o.get(n,n),e[n]=0),i=Math.max(n-1,0);i=0;){for(l=b;l>0&&(T=Math.abs(o.get(l-1,l-1))+Math.abs(o.get(l,l)),0===T&&(T=S),!(Math.abs(o.get(l,l-1))=0){for(A=k>=0?k+A:k-A,r[b-1]=f+A,r[b]=r[b-1],0!==A&&(r[b]=f-c/A),e[b-1]=0,e[b]=0,f=o.get(b,b-1),T=Math.abs(f)+Math.abs(A),k=f/T,R=A/T,I=Math.sqrt(k*k+R*R),k/=I,R/=I,i=b-1;i0)){for(T=Math.sqrt(T),m=l&&(A=o.get(u,u),I=f-A,T=m-A,k=(I*T-c)/o.get(u+1,u)+o.get(u,u+1),R=o.get(u+1,u+1)-A-I-T,I=o.get(u+2,u+1),T=Math.abs(k)+Math.abs(R)+Math.abs(I),k/=T,R/=T,I/=T,u!==l)&&!(Math.abs(o.get(u,u-1))*(Math.abs(R)+Math.abs(I))u+2&&o.set(n,n-3,0);for(h=u;h<=b-1&&(y=h!==b-1,h!==u&&(k=o.get(h,h-1),R=o.get(h+1,h-1),I=y?o.get(h+2,h-1):0,f=Math.abs(k)+Math.abs(R)+Math.abs(I),0!==f&&(k/=f,R/=f,I/=f)),0!==f);h++)if(T=Math.sqrt(k*k+R*R+I*I),k<0&&(T=-T),0!==T){for(h!==u?o.set(h,h-1,-T*f):l!==u&&o.set(h,h-1,-o.get(h,h-1)),k+=T,f=k/T,m=R/T,A=I/T,R/=k,I/=k,i=h;i=0;b--)if(k=r[b],R=e[b],0===R)for(l=b,o.set(b,b,1),n=b-1;n>=0;n--){for(c=o.get(n,n)-k,I=0,i=l;i<=b;i++)I+=o.get(n,i)*o.get(i,b);if(e[n]<0)A=c,T=I;else if(l=n,0===e[n]?o.set(n,b,0!==c?-I/c:-I/(E*S)):(f=o.get(n,n+1),m=o.get(n+1,n),R=(r[n]-k)*(r[n]-k)+e[n]*e[n],a=(f*T-A*I)/R,o.set(n,b,a),o.set(n+1,b,Math.abs(f)>Math.abs(A)?(-I-c*a)/f:(-T-m*a)/A)),a=Math.abs(o.get(n,b)),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b,o.get(i,b)/a)}else if(R<0)for(l=b-1,Math.abs(o.get(b,b-1))>Math.abs(o.get(b-1,b))?(o.set(b-1,b-1,R/o.get(b,b-1)),o.set(b-1,b,-(o.get(b,b)-k)/o.get(b,b-1))):(M=Z(0,-o.get(b-1,b),o.get(b-1,b-1)-k,R),o.set(b-1,b-1,M[0]),o.set(b-1,b,M[1])),o.set(b,b-1,0),o.set(b,b,1),n=b-2;n>=0;n--){for(g=0,w=0,i=l;i<=b;i++)g+=o.get(n,i)*o.get(i,b-1),w+=o.get(n,i)*o.get(i,b);if(c=o.get(n,n)-k,e[n]<0)A=c,I=g,T=w;else if(l=n,0===e[n]?(M=Z(-g,-w,c,R),o.set(n,b-1,M[0]),o.set(n,b,M[1])):(f=o.get(n,n+1),m=o.get(n+1,n),p=(r[n]-k)*(r[n]-k)+e[n]*e[n]-R*R,d=2*(r[n]-k)*R,0===p&&0===d&&(p=E*S*(Math.abs(c)+Math.abs(R)+Math.abs(f)+Math.abs(m)+Math.abs(A))),M=Z(f*I-A*g+R*w,f*T-A*w-R*g,p,d),o.set(n,b-1,M[0]),o.set(n,b,M[1]),Math.abs(f)>Math.abs(A)+Math.abs(R)?(o.set(n+1,b-1,(-g-c*o.get(n,b-1)+R*o.get(n,b))/f),o.set(n+1,b,(-w-c*o.get(n,b)-R*o.get(n,b-1))/f)):(M=Z(-I-m*o.get(n,b-1),-T-m*o.get(n,b),A,R),o.set(n+1,b-1,M[0]),o.set(n+1,b,M[1]))),a=Math.max(Math.abs(o.get(n,b-1)),Math.abs(o.get(n,b))),E*a*a>1)for(i=n;i<=b;i++)o.set(i,b-1,o.get(i,b-1)/a),o.set(i,b,o.get(i,b)/a)}for(n=0;nx)for(i=n;i=0;i--)for(n=0;n<=x;n++){for(A=0,h=0;h<=Math.min(i,x);h++)A+=s.get(n,h)*o.get(h,i);s.set(n,i,A)}}}(n,l,h,i,t)}this.n=n,this.e=l,this.d=h,this.V=i}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let t,e,r=this.n,s=this.e,o=this.d,n=new k(r,r);for(t=0;t0?n.set(t,t+1,s[t]):s[t]<0&&n.set(t,t-1,s[t])}return n}}function Z(t,e,r,s){let o,n;return Math.abs(r)>Math.abs(s)?(o=s/r,n=r+o*s,[(t+o*e)/n,(e-o*t)/n]):(o=r/s,n=s+o*r,[(o*t+e)/n,(o*e-t)/n])}class tt{constructor(t){if(!(t=F.checkMatrix(t)).isSymmetric())throw new Error("Matrix is not symmetric");let e,r,s,o=t,n=o.rows,i=new k(n,n),h=!0;for(r=0;r0,i.set(r,r,Math.sqrt(Math.max(t,0))),s=r+1;s=0;n--)for(o=0;on;e++)u=t.transpose().mmul(i).div(i.transpose().mmul(i).get(0,0)),u=u.div(u.norm()),h=t.mmul(u).div(u.transpose().mmul(u).get(0,0)),e>0&&(c=h.clone().sub(a).pow(2).sum()),a=h.clone(),r?(l=r.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),l=l.div(l.norm()),i=r.mmul(l).div(l.transpose().mmul(l).get(0,0))):i=h;if(r){let e=t.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0));e=e.div(e.norm());let s=t.clone().sub(h.clone().mmul(e.transpose())),o=i.transpose().mmul(h).div(h.transpose().mmul(h).get(0,0)),n=r.clone().sub(h.clone().mulS(o.get(0,0)).mmul(l.transpose()));this.t=h,this.p=e.transpose(),this.w=u.transpose(),this.q=l,this.u=i,this.s=h.transpose().mmul(h),this.xResidual=s,this.yResidual=n,this.betas=o}else this.w=u.transpose(),this.s=h.transpose().mmul(h).sqrt(),this.t=s?h.clone().div(this.s.get(0,0)):h,this.xResidual=t.sub(h.mmul(u.transpose()))}}},842:(t,e,r)=>{"use strict";r.d(e,{Z:()=>s});class s{constructor(t=[],e=o){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,s=e[t];for(;t>0;){const o=t-1>>1,n=e[o];if(r(s,n)>=0)break;e[t]=n,t=o}e[t]=s}_down(t){const{data:e,compare:r}=this,s=this.length>>1,o=e[t];for(;t=0)break;e[t]=n,t=s}e[t]=o}}function o(t,e){return te?1:0}},902:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{solveHomography:n}=r(450);t.exports={estimate:({screenCoords:t,worldCoords:e,projectionTransform:r})=>{const i=n(e.map((t=>[t.x,t.y])),t.map((t=>[t.x,t.y]))),h=new s([[i[0],i[1],i[2]],[i[3],i[4],i[5]],[i[6],i[7],i[8]]]),l=new s(r),u=o(l).mmul(h).to1DArray(),a=Math.sqrt(u[0]*u[0]+u[3]*u[3]+u[6]*u[6]),c=Math.sqrt(u[1]*u[1]+u[4]*u[4]+u[7]*u[7]),f=(a+c)/2,m=[];m[0]=u[0]/a,m[3]=u[3]/a,m[6]=u[6]/a,m[1]=u[1]/c,m[4]=u[4]/c,m[7]=u[7]/c,m[2]=m[3]*m[7]-m[6]*m[4],m[5]=m[6]*m[1]-m[0]*m[7],m[8]=m[0]*m[4]-m[1]*m[3];const g=Math.sqrt(m[2]*m[2]+m[5]*m[5]+m[8]*m[8]);m[2]/=g,m[5]/=g,m[8]/=g;const w=[];return w[0]=u[2]/f,w[1]=u[5]/f,w[2]=u[8]/f,[[m[0],m[1],m[2],w[0]],[m[3],m[4],m[5],w[1]],[m[6],m[7],m[8],w[2]]]}}},421:(t,e,r)=>{const{estimate:s}=r(902),{refineEstimate:o}=r(269);t.exports={Estimator:class{constructor(t){this.projectionTransform=t}estimate({screenCoords:t,worldCoords:e}){return s({screenCoords:t,worldCoords:e,projectionTransform:this.projectionTransform})}refineEstimate({initialModelViewTransform:t,worldCoords:e,screenCoords:r}){return o({initialModelViewTransform:t,worldCoords:e,screenCoords:r,projectionTransform:this.projectionTransform})}}}},269:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{normalizePoints:n,applyModelViewProjectionTransform:i,buildModelViewProjectionTransform:h,computeScreenCoordiate:l}=r(420);let u=[[],[],[]],a=[[],[]],c=[[],[],[]];const f=({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s,inlierProb:o})=>{const n=o<1;let i=t,u=0,a=0,c=new Array(r.length),f=new Array(r.length),p=new Array(r.length),d=new Array(r.length);for(let t=0;t<=10;t++){const y=h(e,i);for(let t=0;tt-e)),M=Math.max(4*f[t],16);for(let t=0;tM?a+=M/6:a+=M/6*(1-(1-f[t]/M)*(1-f[t]/M)*(1-f[t]/M))}else for(let t=0;t0&&a/u>.99)break;if(10===t)break;u=a;const b=[],x=[];for(let t=0;tM)continue;const s=w({modelViewProjectionTransform:y,modelViewTransform:i,projectionTransform:e,worldCoord:r[t]});if(n){const e=(1-c[t]/M)*(1-c[t]/M);for(let t=0;t<2;t++)for(let r=0;r<6;r++)s[t][r]*=e;b.push([p[t]*e]),b.push([d[t]*e])}else b.push([p[t]]),b.push([d[t]]);for(let t=0;t{let r,s,o,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];n<1e-6?(r=1,s=0,o=0,n=0):(n=Math.sqrt(n),r=e[0]/n,s=e[1]/n,o=e[2]/n);const i=Math.cos(n),h=Math.sin(n),l=1-i;u[0][0]=r*r*l+i,u[0][1]=r*s*l-o*h,u[0][2]=r*o*l+s*h,u[0][3]=e[3],u[1][0]=s*r*l+o*h,u[1][1]=s*s*l+i,u[1][2]=s*o*l-r*h,u[1][3]=e[4],u[2][0]=o*r*l-s*h,u[2][1]=o*s*l+r*h,u[2][2]=o*o*l+i,u[2][3]=e[5];const a=[[],[],[]];for(let e=0;e<3;e++){for(let r=0;r<4;r++)a[e][r]=t[e][0]*u[0][r]+t[e][1]*u[1][r]+t[e][2]*u[2][r];a[e][3]+=t[e][3]}return a},g=({dU:t,J_U_S:e})=>{const r=new s(e),n=new s(t),i=r.transpose(),h=i.mmul(r),l=i.mmul(n);let u;try{u=o(h)}catch(t){return null}return u.mmul(l).to1DArray()},w=({modelViewProjectionTransform:t,modelViewTransform:e,projectionTransform:r,worldCoord:s})=>{const o=e,{x:n,y:h,z:l}=s,u=i(t,n,h,l),f=u.z*u.z;a[0][0]=r[0][0]*u.z/f,a[0][1]=r[0][1]*u.z/f,a[0][2]=(r[0][2]*u.z-r[2][2]*u.x)/f,a[1][0]=r[1][0]*u.z/f,a[1][1]=r[1][1]*u.z/f,a[1][2]=(r[1][2]*u.z-r[2][2]*u.y)/f,c[0][0]=o[0][2]*h,c[0][1]=-o[0][2]*n,c[0][2]=o[0][1]*n-o[0][0]*h,c[0][3]=o[0][0],c[0][4]=o[0][1],c[0][5]=o[0][2],c[1][0]=o[1][2]*h,c[1][1]=-o[1][2]*n,c[1][2]=o[1][1]*n-o[1][0]*h,c[1][3]=o[1][0],c[1][4]=o[1][1],c[1][5]=o[1][2],c[2][0]=o[2][2]*h,c[2][1]=-o[2][2]*n,c[2][2]=o[2][1]*n-o[2][0]*h,c[2][3]=o[2][0],c[2][4]=o[2][1],c[2][5]=o[2][2];const m=[[],[]];for(let t=0;t<2;t++)for(let e=0;e<6;e++){m[t][e]=0;for(let r=0;r<3;r++)m[t][e]+=a[t][r]*c[r][e]}return m};t.exports={refineEstimate:({initialModelViewTransform:t,projectionTransform:e,worldCoords:r,screenCoords:s})=>{let o=0,n=0;for(let t=0;t{const e=(t,e,r,s)=>({x:t[0][0]*e+t[0][1]*r+t[0][3],y:t[1][0]*e+t[1][1]*r+t[1][3],z:t[2][0]*e+t[2][1]*r+t[2][3]});t.exports={buildModelViewProjectionTransform:(t,e)=>[[t[0][0]*e[0][0]+t[0][2]*e[2][0],t[0][0]*e[0][1]+t[0][2]*e[2][1],t[0][0]*e[0][2]+t[0][2]*e[2][2],t[0][0]*e[0][3]+t[0][2]*e[2][3]],[t[1][1]*e[1][0]+t[1][2]*e[2][0],t[1][1]*e[1][1]+t[1][2]*e[2][1],t[1][1]*e[1][2]+t[1][2]*e[2][2],t[1][1]*e[1][3]+t[1][2]*e[2][3]],[e[2][0],e[2][1],e[2][2],e[2][3]]],applyModelViewProjectionTransform:e,computeScreenCoordiate:(t,r,s,o)=>{const{x:n,y:i,z:h}=e(t,r,s);return{x:n/h,y:i/h}}}},233:t=>{t.exports={compute:t=>{const{v1:e,v2:r}=t;let s=0;for(let t=0;t>>0;s+=(n=void 0,((n=((n=((n=((n=(o=i)-(o>>1&1431655765))>>2&858993459)+(858993459&n))>>4)+n&252645135)>>8)+n&16711935)>>16)+n&65535)}var o,n;return s}}},934:t=>{const e=({querypoint:t,keypoint:e,keycenterX:r,keycenterY:s,scaleOneOverLogK:o})=>{let n=t.angle-e.angle;n<=-Math.PI?n+=2*Math.PI:n>Math.PI&&(n-=2*Math.PI);const i=t.scale/e.scale,h=i*Math.cos(n),l=i*Math.sin(n),u=[h,-l,l,h],a=[u[0]*e.x+u[1]*e.y,u[2]*e.x+u[3]*e.y],c=t.x-a[0],f=t.y-a[1];return{x:u[0]*r+u[1]*s+c,y:u[2]*r+u[3]*s+f,angle:n,scale:Math.log(i)*o}};t.exports={computeHoughMatches:t=>{const{keywidth:r,keyheight:s,querywidth:o,queryheight:n,matches:i}=t,h=1.2*o,l=-h,u=1.2*n,a=-u,c=12,f=1/Math.log(10),m=Math.max(r,s),g=Math.floor(r/2),w=Math.floor(s/2),p=[];for(let t=0;tt-e));const d=.25*p[Math.floor(p.length/2)-(p.length%2==0?1:0)-1],y=Math.max(5,Math.ceil((h-l)/d)),M=Math.max(5,Math.ceil((u-a)/d)),b=y*M,x=b*c,E=[],v=[],S={};for(let t=0;t=h||n=u||p<=-Math.PI||p>Math.PI||m<-1||m>=1){E[t]=!1;continue}let d=y*(o-l)/(h-l),k=M*(n-a)/(u-a),R=c*(p+Math.PI)/(2*Math.PI),I=10*(m- -1)/2;v[t]={binX:d,binY:k,binAngle:R,binScale:I};let T=Math.floor(d-.5),A=Math.floor(k-.5),q=Math.floor(I-.5),C=(Math.floor(R-.5)+c)%c;if(T<0||T+1>=y||A<0||A+1>=M||q<0||q+1>=10)E[t]=!1;else{for(let t=0;t<2;t++){let e=T+t;for(let t=0;t<2;t++){let r=A+t;for(let t=0;t<2;t++){let s=(C+t)%c;for(let t=0;t<2;t++){const o=e+r*y+s*b+(q+t)*x;void 0===S[o]&&(S[o]=0),S[o]+=1}}}}E[t]=!0}}let k=0,R=-1;if(Object.keys(S).forEach((t=>{S[t]>k&&(k=S[t],R=t)})),k<3)return[];const I=Math.floor(R%x%b%y),T=Math.floor((R-I)%x%b/y),A=Math.floor((R-I-T*y)%x/b),q=Math.floor((R-I-T*y-A*b)/x),C=[];for(let t=0;t=1)continue;if(Math.abs(e.binY-(T+.5))>=1)continue;if(Math.abs(e.binScale-(q+.5))>=1)continue;const r=Math.abs(e.binAngle-(A+.5));Math.min(r,c-r)>=1||C.push(i[t])}return C}}},582:(t,e,r)=>{const{match:s}=r(492);t.exports={Matcher:class{constructor(t,e,r=!1){this.queryWidth=t,this.queryHeight=e,this.debugMode=r}matchDetection(t,e){let r={frames:[]},o=null;for(let n=0;n{const s=r(842).Z,{compute:o}=r(233),{computeHoughMatches:n}=r(934),{computeHomography:i}=r(838),{multiplyPointHomographyInhomogenous:h,matrixInverse33:l}=r(289),u=({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i})=>{if(t.leaf){for(let e=0;e0){const{node:t,d:o}=s.pop();u({node:t,keypoints:e,querypoint:r,queue:s,keypointIndexes:n,numPop:i+=1})}},a=t=>{const{H:e,matches:r,threshold:s}=t,o=s*s,n=[];for(let t=0;t{let m={};const g=[];for(let r=0;rt.d-e.d));u({node:h,keypoints:i,querypoint:n,queue:a,keypointIndexes:l,numPop:0});let c=-1,f=Number.MAX_SAFE_INTEGER,m=Number.MAX_SAFE_INTEGER;for(let t=0;t[t.keypoint.x,t.keypoint.y])),dstPoints:w.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===p)return{debugExtra:m};const d=a({H:p,matches:w,threshold:3});if(f&&(m.inlierMatches=d),d.length<6)return{debugExtra:m};const y=l(p,1e-5),M=[];for(let r=0;r100)continue;const r=o({v1:e.descriptors,v2:s.descriptors});r[t.keypoint.x,t.keypoint.y])),dstPoints:b.map((t=>[t.querypoint.x,t.querypoint.y])),keyframe:t});if(null===x)return{debugExtra:m};const E=a({H:x,matches:b,threshold:3});return f&&(m.inlierMatches2=E),{H:x,matches:E,debugExtra:m}}}},838:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),{createRandomizer:n}=r(48),{quadrilateralConvex:i,matrixInverse33:h,smallestTriangleArea:l,multiplyPointHomographyInhomogenous:u,checkThreePointsConsistent:a,checkFourPointsConsistent:c,determinant:f}=r(289),{solveHomography:m}=r(450),g=({H:t,testPoints:e,keyframe:r})=>{const s=h(t,1e-5);if(null===s)return!1;const o=[];for(let t=0;t{const e=1/t[8],r=[];for(let s=0;s<8;s++)r[s]=t[s]*e;return r[8]=1,r},p=({H:t,srcPoint:e,dstPoint:r,oneOverScale2:s})=>{const o=u(e,t),n=[o[0]-r[0],o[1]-r[1]];return Math.log(1+(n[0]*n[0]+n[1]*n[1])*s)},d=({H:t,testPoints:e})=>{const r=[];for(let s=0;s{const{srcPoints:e,dstPoints:r,keyframe:s,quickMode:o}=t,i=[[0,0],[s.width,0],[s.width,s.height],[0,s.height]];if(e.length<4)return null;const h=Math.min(10,e.length),l=n(),u=[];for(let t=0;t2;t+=x){x=Math.min(h,e.length-t);let s=t+x;for(let o=0;ot.cost-e.cost)),b.splice(-Math.floor((b.length+1)/2))}let E=null;for(let t=0;t{const e=(t,e,r)=>(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0]),r=t=>{const e=t[4]*t[8]-t[5]*t[7],r=t[3]*t[8]-t[5]*t[6],s=t[3]*t[7]-t[4]*t[6];return t[0]*e-t[1]*r+t[2]*s},s=(t,e)=>[t[0]-e[0],t[1]-e[1]],o=(t,e)=>{const r=t[0]*e[1]-t[1]*e[0];return.5*Math.abs(r)};t.exports={matrixInverse33:(t,e)=>{const s=r(t);if(Math.abs(s)<=e)return null;const o=1/s;return[(t[4]*t[8]-t[5]*t[7])*o,(t[2]*t[7]-t[1]*t[8])*o,(t[1]*t[5]-t[2]*t[4])*o,(t[5]*t[6]-t[3]*t[8])*o,(t[0]*t[8]-t[2]*t[6])*o,(t[2]*t[3]-t[0]*t[5])*o,(t[3]*t[7]-t[4]*t[6])*o,(t[1]*t[6]-t[0]*t[7])*o,(t[0]*t[4]-t[1]*t[3])*o]},matrixMul33:(t,e)=>{const r=[];return r[0]=t[0]*e[0]+t[1]*e[3]+t[2]*e[6],r[1]=t[0]*e[1]+t[1]*e[4]+t[2]*e[7],r[2]=t[0]*e[2]+t[1]*e[5]+t[2]*e[8],r[3]=t[3]*e[0]+t[4]*e[3]+t[5]*e[6],r[4]=t[3]*e[1]+t[4]*e[4]+t[5]*e[7],r[5]=t[3]*e[2]+t[4]*e[5]+t[5]*e[8],r[6]=t[6]*e[0]+t[7]*e[3]+t[8]*e[6],r[7]=t[6]*e[1]+t[7]*e[4]+t[8]*e[7],r[8]=t[6]*e[2]+t[7]*e[5]+t[8]*e[8],r},quadrilateralConvex:(t,r,s,o)=>{const n=e(t,r,s)<=0;return e(r,s,o)<=0===n&&e(s,o,t)<=0===n&&e(o,t,r)<=0===n},smallestTriangleArea:(t,e,r,n)=>{const i=s(e,t),h=s(r,t),l=s(n,t),u=s(e,r),a=s(n,r),c=o(i,h),f=o(h,l),m=o(i,l),g=o(u,a);return Math.min(Math.min(Math.min(c,f),m),g)},multiplyPointHomographyInhomogenous:(t,e)=>{const r=e[6]*t[0]+e[7]*t[1]+e[8],s=[];return s[0]=(e[0]*t[0]+e[1]*t[1]+e[2])/r,s[1]=(e[3]*t[0]+e[4]*t[1]+e[5])/r,s},checkThreePointsConsistent:(t,r,s,o,n,i)=>e(t,r,s)>0==e(o,n,i)>0,checkFourPointsConsistent:(t,r,s,o,n,i,h,l)=>e(t,r,s)>0==e(n,i,h)>0&&e(r,s,o)>0==e(i,h,l)>0&&e(s,o,t)>0==e(h,l,n)>0&&e(o,t,r)>0==e(l,n,i)>0,determinant:r}},450:(t,e,r)=>{const{Matrix:s,inverse:o}=r(331),n=t=>{let e=0,r=0;for(let s=0;s{const{normPoints:r,param:i}=n(t),{normPoints:h,param:l}=n(e),u=h.length,a=[],c=[];for(let t=0;t{const s=r.s*r.meanX,o=r.s*r.meanY,n=[t[0]+s*t[6],t[1]+s*t[7],(t[0]+s*t[6])*-e.meanX+(t[1]+s*t[7])*-e.meanY+(t[2]+s)/e.s,t[3]+o*t[6],t[4]+o*t[7],(t[3]+o*t[6])*-e.meanX+(t[4]+o*t[7])*-e.meanY+(t[5]+o)/e.s,r.s*t[6],r.s*t[7],r.s*t[6]*-e.meanX+r.s*t[7]*-e.meanY+r.s/e.s];for(let t=0;t<9;t++)n[t]=n[t]/n[8];return n})(o(n).mmul(h).to1DArray(),i,l)}catch(t){return null}}}},48:t=>{t.exports={createRandomizer:()=>({seed:1234,arrayShuffle(t){const{arr:e,sampleSize:r}=t;for(let t=0;t>16&32767;r%=e.length;let s=e[t];e[t]=e[r],e[r]=s}},nextInt(t){this.seed=(214013*this.seed+2531011)%(1<<31);let e=this.seed>>16&32767;return e%=t,e}})}}},e={};function r(s){if(e[s])return e[s].exports;var o=e[s]={exports:{}};return t[s](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var s in e)r.o(e,s)&&!r.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{const{Matcher:t}=r(582),{Estimator:e}=r(421);let s=null,o=null,n=!1,i=null,h=null;onmessage=r=>{const{data:l}=r;if("setup"===l.type)s=l.projectionTransform,o=l.matchingDataList,n=l.debugMode,i=new t(l.inputWidth,l.inputHeight,n),h=new e(l.projectionTransform);else if("match"===l.type){const t=l.targetIndexes;let e=-1,r=null,s=null;for(let n=0;n{"use strict";var t=window.URL||window.webkitURL;e.exports=function(e,n){try{try{var r;try{(r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),r=r.getBlob()}catch(t){r=new Blob([e])}return new Worker(t.createObjectURL(r))}catch(t){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!n)throw Error("Inline worker is not supported");return new Worker(n)}}},5217:(e,t,n)=>{const r=n(383),{Detector:s}=n(6416),{buildImageList:a,buildTrackingImageList:i}=n(7508),{build:o}=n(723),l=n(1113),u=n(4563),c=async(e,t)=>{const n=[];for(let r=0;r{const e=u.tensor(a.data,[a.data.length],"float32").reshape([a.height,a.width]),{featurePoints:s}=i.detect(e),l=s.filter((e=>e.maxima)),c=s.filter((e=>!e.maxima)),h=o({points:l}),p=o({points:c});n.push({maximaPoints:l,minimaPoints:c,maximaPointsCluster:h,minimaPointsCluster:p,width:a.width,height:a.height,scale:a.scale}),t(r)}))}return n};e.exports={Compiler:class{constructor(){this.data=null}compileImageTargets(e,t){return new Promise((async(n,s)=>{const o=[];for(let t=0;t{u+=s,t(u)}));this.data.push({targetImage:n,imageList:r,matchingData:i})}for(let e=0;e{const s=new r;s.onmessage=n=>{"progress"===n.data.type?t(50+n.data.percent):"compileDone"===n.data.type&&e(n.data.list)},s.postMessage({type:"compile",targetImages:o})}));for(let e=0;e{const r=n(4563),s=n(1077),{Tracker:a}=n(6417),{CropDetector:i}=n(7051),{Compiler:o}=n(5217),{InputLoader:l}=n(7325),{OneEuroFilter:u}=n(344);e.exports={Controller:class{constructor({inputWidth:e,inputHeight:t,onUpdate:n=null,debugMode:r=!1,maxTrack:a=1,warmupTolerance:o=null,missTolerance:u=null,filterMinCF:c=null,filterBeta:h=null}){this.inputWidth=e,this.inputHeight=t,this.maxTrack=a,this.filterMinCF=null===c?.001:c,this.filterBeta=null===h?1e3:h,this.warmupTolerance=null===o?5:o,this.missTolerance=null===u?5:u,this.cropDetector=new i(this.inputWidth,this.inputHeight,r),this.inputLoader=new l(this.inputWidth,this.inputHeight),this.markerDimensions=null,this.onUpdate=n,this.debugMode=r,this.processingVideo=!1,this.interestedTargetIndex=-1,this.trackingStates=[];const p=45*Math.PI/180,d=this.inputHeight/2/Math.tan(p/2);this.projectionTransform=[[d,0,this.inputWidth/2],[0,d,this.inputHeight/2],[0,0,1]],this.projectionMatrix=this._glProjectionMatrix({projectionTransform:this.projectionTransform,width:this.inputWidth,height:this.inputHeight,near:10,far:1e5}),this.worker=new s,this.workerMatchDone=null,this.workerTrackDone=null,this.worker.onmessage=e=>{"matchDone"===e.data.type&&null!==this.workerMatchDone&&this.workerMatchDone(e.data),"trackUpdateDone"===e.data.type&&null!==this.workerTrackDone&&this.workerTrackDone(e.data)}}showTFStats(){console.log(r.memory().numTensors),console.table(r.memory())}addImageTargets(e){return new Promise((async(t,n)=>{const r=await fetch(e),s=await r.arrayBuffer();t(this.addImageTargetsFromBuffer(s))}))}addImageTargetsFromBuffer(e){const t=(new o).importData(e),n=[],r=[],s=[];for(let e=0;e{for(;this.processingVideo;){const t=this.inputLoader.loadInput(e);if(this.trackingStates.reduce(((e,t)=>e+(t.isTracking?1:0)),0)this.warmupTolerance&&(n.showing=!0,n.trackingMatrix=null,n.filter.reset())),n.showing&&(n.isTracking?n.trackMiss=0:(n.trackCount=0,n.trackMiss+=1,n.trackMiss>this.missTolerance&&(n.showing=!1,n.trackingMatrix=null,this.onUpdate&&this.onUpdate({type:"updateMatrix",targetIndex:e,worldMatrix:null})))),n.showing){const t=this._glModelViewMatrix(n.currentModelViewTransform,e);n.trackingMatrix=n.filter.filter(Date.now(),t);const r=[];for(let e=0;e{this.workerMatchDone=e=>{n({targetIndex:e.targetIndex,modelViewTransform:e.modelViewTransform,debugExtra:e.debugExtra})},this.worker.postMessage({type:"match",featurePoints:e,targetIndexes:t})}))}_workerTrackUpdate(e,t){return new Promise((async(n,r)=>{this.workerTrackDone=e=>{n(e.modelViewTransform)};const{worldCoords:s,screenCoords:a}=t;this.worker.postMessage({type:"trackUpdate",modelViewTransform:e,worldCoords:s,screenCoords:a})}))}_glModelViewMatrix(e,t){const n=this.markerDimensions[t][1];return[e[0][0],-e[1][0],-e[2][0],0,-e[0][1],e[1][1],e[2][1],0,-e[0][2],e[1][2],e[2][2],0,e[0][1]*n+e[0][3],-(e[1][1]*n+e[1][3]),-(e[2][1]*n+e[2][3]),1]}_glProjectionMatrix({projectionTransform:e,width:t,height:n,near:r,far:s}){const a=[[2*e[0][0]/t,0,-(2*e[0][2]/t-1),0],[0,2*e[1][1]/n,-(2*e[1][2]/n-1),0],[0,0,-(s+r)/(s-r),-2*s*r/(s-r)],[0,0,-1,0]],i=[];for(let e=0;e<4;e++)for(let t=0;t<4;t++)i.push(a[t][e]);return i}}}},7051:(e,t,n)=>{n(4563);const{Detector:r}=n(6416),{buildModelViewProjectionTransform:s,computeScreenCoordiate:a}=n(7420);e.exports={CropDetector:class{constructor(e,t,n=!1){this.debugMode=n,this.width=e,this.height=t;let s=Math.min(e,t)/2,a=Math.pow(2,Math.round(Math.log(s)/Math.log(2)));this.cropSize=a,this.detector=new r(a,a,n),this.kernelCaches={},this.lastRandomIndex=4}detect(e){const t=Math.floor(this.height/2-this.cropSize/2),n=Math.floor(this.width/2-this.cropSize/2),r=this._detect(e,n,t);return this.debugMode&&(r.debugExtra.crop={startX:n,startY:t,cropSize:this.cropSize}),r}detectMoving(e){const t=this.lastRandomIndex%3,n=Math.floor(this.lastRandomIndex/3);let r=Math.floor(this.height/2-this.cropSize+n*this.cropSize/2),s=Math.floor(this.width/2-this.cropSize+t*this.cropSize/2);return s<0&&(s=0),r<0&&(r=0),s>=this.width-this.cropSize&&(s=this.width-this.cropSize-1),r>=this.height-this.cropSize&&(r=this.height-this.cropSize-1),this.lastRandomIndex=(this.lastRandomIndex+1)%9,this._detect(e,s,r)}_detect(e,t,n){const r=e.slice([n,t],[this.cropSize,this.cropSize]),{featurePoints:s,debugExtra:a}=this.detector.detect(r);return s.forEach((e=>{e.x+=t,e.y+=n})),this.debugMode&&(a.projectedImage=r.arraySync()),r.dispose(),{featurePoints:s,debugExtra:a}}}}},6416:(e,t,n)=>{const r=n(4563),{FREAKPOINTS:s}=n(2793),a=(s.length-1)*s.length/2;e.exports={Detector:class{constructor(e,t,n=!1){this.debugMode=n,this.width=e,this.height=t;let r=0;for(;e>=8&&t>=8&&(e/=2,t/=2,r++,5!==r););this.numOctaves=r,this.tensorCaches={},this.kernelCaches={}}detectImageData(e){const t=new Uint8ClampedArray(4*e.length);for(let n=0;ne.map((e=>e.arraySync())))),dogPyramidImages:r.map((e=>e?e.arraySync():null)),extremasResults:s.map((e=>e.arraySync())),extremaAngles:u.arraySync(),prunedExtremas:a,localizedExtremas:i.arraySync()}),n.forEach((e=>e.forEach((e=>e.dispose())))),r.forEach((e=>e&&e.dispose())),s.forEach((e=>e.dispose())),i.dispose(),o.dispose(),l.dispose(),u.dispose(),c.dispose(),h.dispose();const m=[];for(let e=0;e0,x:s,y:a,scale:i,angle:d[e],descriptors:t})}return{featurePoints:m,debugExtra:t}}_computeFreakDescriptors(e){if(!this.tensorCaches.computeFreakDescriptors){const t=[],n=[];for(let r=0;r= ${a}) {\n\t\tcontinue;\n\t }\n\n\t int p1 = int(getP(descIndex + i, 0));\n\t int p2 = int(getP(descIndex + i, 1));\n\n\t float v1 = getFreak(featureIndex, p1);\n\t float v2 = getFreak(featureIndex, p2);\n\n\t if (v1 < v2 + 0.01) {\n\t sum += int(pow(2.0, float(7 - i)));\n\t }\n\t }\n\t setOutput(float(sum));\n\t }\n\t`};this.kernelCaches.computeFreakDescriptors=[t]}return r.tidy((()=>{const[n]=this.kernelCaches.computeFreakDescriptors;return this._runWebGLProgram(n,[e,t],"int32")}))}_computeExtremaFreak(e,t,n){this.tensorCaches._computeExtremaFreak||r.tidy((()=>{const e=r.tensor(s);this.tensorCaches._computeExtremaFreak={freakPointsT:r.keep(e)}}));const{freakPointsT:a}=this.tensorCaches._computeExtremaFreak,i=[];for(let t=1;t{const[e]=this.kernelCaches._computeExtremaFreak;return this._compileAndRun(e,[...i,t,n,a])}))}_computeExtremaAngles(e){if(!this.kernelCaches.computeExtremaAngles){const t={variableNames:["histogram"],outputShape:[e.shape[0]],userCode:`\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\n\t int maxIndex = 0;\n\t for (int i = 1; i < 36; i++) {\n\t if (getHistogram(featureIndex, i) > getHistogram(featureIndex, maxIndex)) {\n\t\tmaxIndex = i;\n\t }\n\t }\n\n\t int prev = imod(maxIndex - 1 + 36, 36);\n\t int next = imod(maxIndex + 1, 36);\n\n\t /**\n\t * Fit a quatratic to 3 points. The system of equations is:\n\t *\n\t * y0 = A*x0^2 + B*x0 + C\n\t * y1 = A*x1^2 + B*x1 + C\n\t * y2 = A*x2^2 + B*x2 + C\n\t *\n\t * This system of equations is solved for A,B,C.\n\t */\n\t float p10 = float(maxIndex - 1);\n\t float p11 = getHistogram(featureIndex, prev); \n\t float p20 = float(maxIndex);\n\t float p21 = getHistogram(featureIndex, maxIndex); \n\t float p30 = float(maxIndex + 1);\n\t float p31 = getHistogram(featureIndex, next); \n\n\t float d1 = (p30-p20)*(p30-p10);\n\t float d2 = (p10-p20)*(p30-p10);\n\t float d3 = p10-p20;\n\n\t // If any of the denominators are zero then, just use maxIndex.\n float fbin = float(maxIndex);\n\t if ( abs(d1) > 0.00001 && abs(d2) > 0.00001 && abs(d3) > 0.00001) {\n\t float a = p10*p10;\n\t float b = p20*p20;\n\n\t // Solve for the coefficients A,B,C\n\t float A = ((p31-p21)/d1)-((p11-p21)/d2);\n\t float B = ((p11-p21)+(A*(b-a)))/d3;\n\t float C = p11-(A*a)-(B*p10);\n\t fbin = -B / (2. * A);\n\t }\n\n\t float an = 2.0 *${Math.PI} * (fbin + 0.5) / 36. - ${Math.PI};\n\t setOutput(an);\n\t }\n\t`};this.kernelCaches.computeExtremaAngles=t}return r.tidy((()=>{const t=this.kernelCaches.computeExtremaAngles;return this._compileAndRun(t,[e])}))}_computeOrientationHistograms(e,t){const n=[];for(let e=1;e{const e=Math.ceil(4.5),t=[];for(let n=-e;n<=e;n++)for(let r=-e;r<=e;r++){const e=r*r+n*n;if(e<=20.25){const s=-.05555555555555555*e;let a=.0013888888*(720+s*(720+s*(360+s*(120+s*(30+s*(6+s))))));t.push([n,r,a])}}this.tensorCaches.orientationHistograms={radialPropertiesT:r.keep(r.tensor(t,[t.length,3]))}}));const{radialPropertiesT:s}=this.tensorCaches.orientationHistograms;if(!this.kernelCaches.computeOrientationHistograms){const n=[];for(let e=1;e{const[t,r]=this.kernelCaches.computeOrientationHistograms,a=this._compileAndRun(t,[...n,e,s]);return this._compileAndRun(r,[a])}))}_smoothHistograms(e){if(!this.kernelCaches.smoothHistograms){const t={variableNames:["histogram"],outputShape:[e.shape[0],36],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int featureIndex = coords[0];\n\t int binIndex = coords[1];\n\n\t int prevBin = imod(binIndex - 1 + 36, 36);\n\t int nextBin = imod(binIndex + 1, 36);\n\n float result = 0.274068619061197 * getHistogram(featureIndex, prevBin) + 0.451862761877606 * getHistogram(featureIndex, binIndex) + 0.274068619061197 * getHistogram(featureIndex, nextBin);\n\n\t setOutput(result);\n\t }\n\t"};this.kernelCaches.smoothHistograms=t}return r.tidy((()=>{const t=this.kernelCaches.smoothHistograms;for(let n=0;n<5;n++)e=this._compileAndRun(t,[e]);return e}))}_computeLocalization(e,t){if(!this.kernelCaches.computeLocalization){const n=[];let r="float getPixel(int octave, int y, int x) {";for(let e=1;e{const n=this.kernelCaches.computeLocalization[0],s=r.tensor(e,[e.length,e[0].length],"int32"),a=this._compileAndRun(n,[...t.slice(1),s]).arraySync(),i=[];for(let e=0;e{const{reductionKernels:r}=this.kernelCaches.applyPrune;for(let s=0;s=1&&m>t[f][g-1];)g-=1;if(g<5){for(let e=4;e>=g+1;e--)t[f][e]=t[f][e-1],n[f][e][0]=n[f][e-1][0],n[f][e][1]=n[f][e-1][1],n[f][e][2]=n[f][e-1][2],n[f][e][3]=n[f][e-1][3];t[f][g]=m,n[f][g][0]=a,n[f][g][1]=o,n[f][g][2]=c,n[f][g][3]=u}}}}));const s=[];for(let e=0;e<100;e++)for(let t=0;t<5;t++)s.push(n[e][t]);return s}_buildExtremas(e,t,n){const s=t.shape[0],a=t.shape[1],i="w"+a;if(this.kernelCaches.buildExtremas||(this.kernelCaches.buildExtremas={}),!this.kernelCaches.buildExtremas[i]){const e={variableNames:["image0","image1","image2"],outputShape:[s,a],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t int y = coords[0];\n\t int x = coords[1];\n\n\t float value = getImage1(y, x);\n\n\t // Step 1: find local maxima/minima\n\t if (value * value < 9.) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (y < 7 || y > ${s-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\t if (x < 7 || x > ${a-1-7}) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t bool isMax = true;\n\t bool isMin = true;\n\t for (int dy = -1; dy <= 1; dy++) {\n\t for (int dx = -1; dx <= 1; dx++) {\n\t float value0 = getImage0(y+dy, x+dx);\n\t float value1 = getImage1(y+dy, x+dx);\n\t float value2 = getImage2(y+dy, x+dx);\n\n\t\tif (value < value0 || value < value1 || value < value2) {\n\t\t isMax = false;\n\t\t}\n\t\tif (value > value0 || value > value1 || value > value2) {\n\t\t isMin = false;\n\t\t}\n\t }\n\t }\n\n\t if (!isMax && !isMin) {\n\t setOutput(0.);\n\t return;\n\t }\n\n\t // compute edge score and reject based on threshold\n\t float dxx = getImage1(y, x+1) + getImage1(y, x-1) - 2. * getImage1(y, x);\n\t float dyy = getImage1(y+1, x) + getImage1(y-1, x) - 2. * getImage1(y, x);\n\t float dxy = 0.25 * (getImage1(y-1,x-1) + getImage1(y+1,x+1) - getImage1(y-1,x+1) - getImage1(y+1,x-1));\n\n\t float det = (dxx * dyy) - (dxy * dxy);\n\n\t if (abs(det) < 0.0001) { // determinant undefined. no solution\n\t setOutput(0.);\n\t return;\n\t }\n\n\t float edgeScore = (dxx + dyy) * (dxx + dyy) / det;\n\n\t if (abs(edgeScore) >= 6.25 ) {\n\t setOutput(0.);\n\t return;\n\t }\n\t setOutput(getImage1(y,x));\n\t }\n\t`};this.kernelCaches.buildExtremas[i]=e}return r.tidy((()=>{const r=this.kernelCaches.buildExtremas[i];return e=this._downsampleBilinear(e),n=this._upsampleBilinear(n,t),this._compileAndRun(r,[e,t,n])}))}_differenceImageBinomial(e,t){return r.tidy((()=>e.sub(t)))}_applyFilter(e){const t=e.shape[0],n=e.shape[1],s="w"+n;if(this.kernelCaches.applyFilter||(this.kernelCaches.applyFilter={}),!this.kernelCaches.applyFilter[s]){const e={variableNames:["p"],outputShape:[t,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0], coords[1]-2);\n\t sum += getP(coords[0], coords[1]-1) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0], coords[1]+1) * 4.;\n\t sum += getP(coords[0], coords[1]+2);\n\t setOutput(sum);\n\t }\n\t"},r={variableNames:["p"],outputShape:[t,n],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float sum = getP(coords[0]-2, coords[1]);\n\t sum += getP(coords[0]-1, coords[1]) * 4.;\n\t sum += getP(coords[0], coords[1]) * 6.;\n\t sum += getP(coords[0]+1, coords[1]) * 4.;\n\t sum += getP(coords[0]+2, coords[1]);\n\t sum /= 256.;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.applyFilter[s]=[e,r]}return r.tidy((()=>{const[t,n]=this.kernelCaches.applyFilter[s],r=this._compileAndRun(t,[e]);return this._compileAndRun(n,[r])}))}_upsampleBilinear(e,t){e.shape[0];const n="w"+e.shape[1];if(this.kernelCaches.upsampleBilinear||(this.kernelCaches.upsampleBilinear={}),!this.kernelCaches.upsampleBilinear[n]){const e={variableNames:["p"],outputShape:[t.shape[0],t.shape[1]],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int j = coords[0];\n\t int i = coords[1];\n\n\t float sj = 0.5 * float(j) - 0.25; \n\t float si = 0.5 * float(i) - 0.25;\n\n\t float sj0 = floor(sj);\n\t float sj1 = ceil(sj);\n\t float si0 = floor(si);\n\t float si1 = ceil(si);\n\n\t int sj0I = int(sj0);\n\t int sj1I = int(sj1);\n\t int si0I = int(si0);\n\t int si1I = int(si1);\n\n\t float sum = 0.0;\n\t sum += getP(sj0I, si0I) * (si1 - si) * (sj1 - sj);\n\t sum += getP(sj1I, si0I) * (si1 - si) * (sj - sj0);\n\t sum += getP(sj0I, si1I) * (si - si0) * (sj1 - sj);\n\t sum += getP(sj1I, si1I) * (si - si0) * (sj - sj0);\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.upsampleBilinear[n]=e}return r.tidy((()=>{const t=this.kernelCaches.upsampleBilinear[n];return this._compileAndRun(t,[e])}))}_downsampleBilinear(e){const t=e.shape[0],n=e.shape[1],s="w"+n;if(this.kernelCaches.downsampleBilinear||(this.kernelCaches.downsampleBilinear={}),!this.kernelCaches.downsampleBilinear[s]){const e={variableNames:["p"],outputShape:[Math.floor(t/2),Math.floor(n/2)],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\t int y = coords[0] * 2;\n\t int x = coords[1] * 2;\n\n\t float sum = getP(y, x) * 0.25;\n\t sum += getP(y+1,x) * 0.25; \n\t sum += getP(y, x+1) * 0.25; \n\t sum += getP(y+1,x+1) * 0.25;\n\t setOutput(sum);\n\t }\n\t"};this.kernelCaches.downsampleBilinear[s]=e}return r.tidy((()=>{const t=this.kernelCaches.downsampleBilinear[s];return this._compileAndRun(t,[e])}))}_compileAndRun(e,t){const n=r.backend().compileAndRun(e,t);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(e,t,n){const s=r.backend().runWebGLProgram(e,t,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2793:e=>{const t=[{sigma:.55,points:[[-1,0],[-.5,-.866025],[.5,-.866025],[1,-0],[.5,.866025],[-.5,.866025]]},{sigma:.475,points:[[0,.930969],[-.806243,.465485],[-.806243,-.465485],[-0,-.930969],[.806243,-.465485],[.806243,.465485]]},{sigma:.4,points:[[.847306,-0],[.423653,.733789],[-.423653,.733789],[-.847306,0],[-.423653,-.733789],[.423653,-.733789]]},{sigma:.325,points:[[-0,-.741094],[.641806,-.370547],[.641806,.370547],[0,.741094],[-.641806,.370547],[-.641806,-.370547]]},{sigma:.25,points:[[-.595502,0],[-.297751,-.51572],[.297751,-.51572],[.595502,-0],[.297751,.51572],[-.297751,.51572]]},{sigma:.175,points:[[0,.362783],[-.314179,.181391],[-.314179,-.181391],[-0,-.362783],[.314179,-.181391],[.314179,.181391]]},{sigma:.1,points:[[0,0]]}],n=[];for(let e=0;e{const t=(e,t,n,r)=>({x:e[0][0]*t+e[0][1]*n+e[0][3],y:e[1][0]*t+e[1][1]*n+e[1][3],z:e[2][0]*t+e[2][1]*n+e[2][3]});e.exports={buildModelViewProjectionTransform:(e,t)=>[[e[0][0]*t[0][0]+e[0][2]*t[2][0],e[0][0]*t[0][1]+e[0][2]*t[2][1],e[0][0]*t[0][2]+e[0][2]*t[2][2],e[0][0]*t[0][3]+e[0][2]*t[2][3]],[e[1][1]*t[1][0]+e[1][2]*t[2][0],e[1][1]*t[1][1]+e[1][2]*t[2][1],e[1][1]*t[1][2]+e[1][2]*t[2][2],e[1][1]*t[1][3]+e[1][2]*t[2][3]],[t[2][0],t[2][1],t[2][2],t[2][3]]],applyModelViewProjectionTransform:t,computeScreenCoordiate:(e,n,r,s)=>{const{x:a,y:i,z:o}=t(e,n,r);return{x:a/o,y:i/o}}}},7508:(e,t,n)=>{const{resize:r}=n(9140);e.exports={buildImageList:e=>{const t=[];let n=100/Math.min(e.width,e.height);for(;;)if(t.push(n),n*=Math.pow(2,1/3),n>=.95){n=1;break}t.push(n),t.reverse();const s=[];for(let n=0;n{const t=Math.min(e.width,e.height),n=[],s=[];n.push(256/t),n.push(128/t);for(let t=0;t{const{Controller:r}=n(7957),{Compiler:s}=n(5217),{UI:a}=n(2749),i={Controller:r,Compiler:s,UI:a};window.MINDAR||(window.MINDAR={}),window.MINDAR.IMAGE=i,e.exports=i},7325:(e,t,n)=>{const r=n(4563);e.exports={InputLoader:class{constructor(e,t){this.width=e,this.height=t,this.texShape=[t,e];const n=document.createElement("canvas").getContext("2d");n.canvas.width=e,n.canvas.height=t,this.context=n,this.program=this.buildProgram(e,t);const s=r.backend();this.tempPixelHandle=s.makeTensorInfo(this.texShape,"float32"),s.texData.get(this.tempPixelHandle.dataId).usage=2}_loadInput(e){return r.tidy((()=>{let t=r.browser.fromPixels(e);return t=t.mean(2),t}))}loadInput(e){this.context.drawImage(e,0,0,this.width,this.height);const t=r.backend();return t.gpgpu.uploadPixelDataToTexture(t.getTexture(this.tempPixelHandle.dataId),this.context.canvas),this._compileAndRun(this.program,[this.tempPixelHandle])}buildProgram(e,t){const n=2===r.env().getNumber("WEBGL_VERSION")?"texture":"texture2D";return{variableNames:["A"],outputShape:this.texShape,userCode:`\n\tvoid main() {\n\t ivec2 coords = getOutputCoords();\n\t int texR = coords[0];\n\t int texC = coords[1];\n\t vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${e}.0, ${t}.0);\n\n\t vec4 values = ${n}(A, uv);\n\t setOutput((0.299 * values.r + 0.587 * values.g + 0.114 * values.b) * 255.0);\n\t}\n `}}_compileAndRun(e,t){const n=r.backend().compileAndRun(e,t);return r.engine().makeTensorFromDataId(n.dataId,n.shape,n.dtype)}_runWebGLProgram(e,t,n){const s=r.backend().runWebGLProgram(e,t,n);return r.engine().makeTensorFromDataId(s.dataId,s.shape,s.dtype)}}}},2233:e=>{e.exports={compute:e=>{const{v1:t,v2:n}=e;let r=0;for(let e=0;e>>0;r+=(a=void 0,((a=((a=((a=((a=(s=i)-(s>>1&1431655765))>>2&858993459)+(858993459&a))>>4)+a&252645135)>>8)+a&16711935)>>16)+a&65535)}var s,a;return r}}},723:(e,t,n)=>{const{compute:r}=n(2233),{createRandomizer:s}=n(6048),a=e=>{const{points:t,pointIndexes:n,centerPointIndex:s,randomizer:i}=e;let o=!1;(n.length<=8||n.length<=16)&&(o=!0);const l={};if(!o){const e=(e=>{const{points:t,pointIndexes:n,randomizer:s}=e,a=[];for(let e=0;e{u.children.push(a({points:t,pointIndexes:l[e],centerPointIndex:e,randomizer:i}))})),u};e.exports={build:({points:e})=>{const t=[];for(let n=0;n{const r=n(4563),{buildModelViewProjectionTransform:s,computeScreenCoordiate:a}=n(7420);e.exports={Tracker:class{constructor(e,t,n,r,s,a=!1){this.markerDimensions=e,this.trackingDataList=t,this.projectionTransform=n,this.debugMode=a,this.trackingKeyframeList=[];for(let e=0;e.8&&e= (${i} - 6) || sy < 6 || sy >= (${a} - 6)) {\n\t setOutput(-2.);\n\t } \n\t else {\n\t float sumPoint = 0.;\n\t float sumPointSquare = 0.;\n\t float sumTemplate = 0.;\n\t float sumTemplateSquare = 0.;\n\t float sumPointTemplate = 0.;\n\n\t for (int templateOffsetY = 0; templateOffsetY < 13; templateOffsetY++) {\n\t\tfor (int templateOffsetX = 0; templateOffsetX < 13; templateOffsetX++) {\n\t\t int fx2 = sCenterX + templateOffsetX - 6;\n\t\t int fy2 = sCenterY + templateOffsetY - 6;\n\n\t\t int sx2 = sx + templateOffsetX - 6;\n\t\t int sy2 = sy + templateOffsetY - 6;\n\n\t\t int markerPixelIndex = fy2 * markerWidth + fx2;\n\t\t float markerPixel = getMarkerPixels(markerPixelIndex);\n\t\t float targetPixel = getTargetPixels(sy2, sx2);\n\n\t\t sumTemplate += markerPixel;\n\t\t sumTemplateSquare += markerPixel * markerPixel;\n\t\t sumPoint += targetPixel;\n\t\t sumPointSquare += targetPixel * targetPixel;\n\t\t sumPointTemplate += targetPixel * markerPixel;\n\t\t}\n\t }\n\n\t // Normalized cross-correlation\n\t // !important divide first avoid overflow (e.g. sumPoint / count * sumPoint)\n\t float count = float(13 * 13);\n\t float pointVariance = sqrt(sumPointSquare - sumPoint / count * sumPoint);\n\t float templateVariance = sqrt(sumTemplateSquare - sumTemplate / count * sumTemplate);\n\n\t if (pointVariance < 0.0000001) {\n\t\tsetOutput(-3.);\n\t } else if (templateVariance < 0.0000001) {\n\t\t//setOutput(sumTemplate);\n\t\tsetOutput(-4.);\n\t } else {\n\t\tsumPointTemplate -= sumPoint / count * sumTemplate;\n\t\tfloat sim = sumPointTemplate / pointVariance / templateVariance; \n\t\tsetOutput(sim);\n\t }\n\t }\n\t }\n\t`},t={variableNames:["featurePoints","markerProperties","maxIndex"],outputShape:[o,2],userCode:"\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float markerScale = getMarkerProperties(2);\n\n\t int featureIndex = coords[0];\n\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t int searchLocationIndex = maxIndex / 441;\n\t int searchOffsetIndex = imod(maxIndex, 441);\n\n\t if (coords[1] == 0) {\n\t int searchOffsetX = imod(searchOffsetIndex, 21) * 1;\n\t setOutput(getFeaturePoints(featureIndex, 0) + float(searchOffsetX - 10) / markerScale);\n\t }\n\t else if (coords[1] == 1) {\n\t int searchOffsetY = searchOffsetIndex / 21 * 1;\n\t setOutput(getFeaturePoints(featureIndex, 1) + float(searchOffsetY - 10) / markerScale);\n\t }\n\t }\n\t"},n={variableNames:["sims","maxIndex"],outputShape:[o],userCode:"\n\t void main() {\n\t int featureIndex = getOutputCoords();\n\t int maxIndex = int(getMaxIndex(featureIndex));\n\t setOutput(getSims(featureIndex, maxIndex));\n\t }\n\t"};this.kernelCaches.computeMatching=[e,t,n]}return r.tidy((()=>{const r=this.kernelCaches.computeMatching,a=this._compileAndRun(r[0],[e,t,n,s]),i=a.argMax(1);return{matchingPointsT:this._compileAndRun(r[1],[e,n,i]),simT:this._compileAndRun(r[2],[a,i])}}))}_computeProjection(e,t,n){const s=this.trackingKeyframeList[n].width,a=this.trackingKeyframeList[n].height,i=this.trackingKeyframeList[n].scale,o=s+"-"+a+"-"+i;if(this.kernelCaches.computeProjection||(this.kernelCaches.computeProjection={}),!this.kernelCaches.computeProjection[o]){const e={variableNames:["M","pixel"],outputShape:[a,s],userCode:`\n\t void main() {\n\t ivec2 coords = getOutputCoords();\n\n\t float m00 = getM(0, 0) * 1000.;\n\t float m01 = getM(0, 1) * 1000.;\n\t float m03 = getM(0, 3) * 1000.;\n\t float m10 = getM(1, 0) * 1000.;\n\t float m11 = getM(1, 1) * 1000.;\n\t float m13 = getM(1, 3) * 1000.;\n\t float m20 = getM(2, 0) * 1000.;\n\t float m21 = getM(2, 1) * 1000.;\n\t float m23 = getM(2, 3) * 1000.;\n\n\t float y = float(coords[0]) / float(${i});\n\t float x = float(coords[1]) / float(${i});\n\t float uz = (x * m20) + (y * m21) + m23;\n\t float oneOverUz = 1. / uz;\n\n\t float ux = (x * m00) + (y * m01) + m03;\n\t float uy = (x * m10) + (y * m11) + m13;\n\n\t ux = floor(ux * oneOverUz + 0.5);\n\t uy = floor(uy * oneOverUz + 0.5);\n\t setOutput(getPixel(int(uy), int(ux)));\n\t }\n\t`};this.kernelCaches.computeProjection[o]=e}return r.tidy((()=>{const n=this.kernelCaches.computeProjection[o];return this._compileAndRun(n,[e,t])}))}_buildAdjustedModelViewTransform(e){return r.tidy((()=>{let t=[];for(let n=0;n{const n=e.scale,s=[];for(let r=0;r{e.exports={downsampleBilinear:({image:e})=>{const{data:t,width:n,height:r}=e,s=Math.floor(n/2),a=Math.floor(r/2),i=new Float32Array(s*a),o=[0,1,n,n+1];for(let e=0;e{const{width:r,height:s,data:a}=e,i=2*e.width+(t?1:0),o=2*e.height+(n?1:0),l=new Float32Array(i*o);for(let e=0;e=r&&(u=r-1);for(let c=0;c=s&&(p=s-1);const d=(u-t)*(p-o)*a[h*r+n]+(u-t)*(o-h)*a[p*r+n]+(t-n)*(p-o)*a[h*r+u]+(t-n)*(o-h)*a[p*r+u];l[c*i+e]=d}}return{data:l,width:i,height:o}},resize:({image:e,ratio:t})=>{const n=Math.round(e.width*t),r=Math.round(e.height*t),s=new Uint8Array(n*r);for(let a=0;a=e.width&&(o=e.width-1);for(let l=0;l=e.height&&(u=e.height-1);let c=0,h=0;for(let t=i;t<=o;t++)for(let n=r;n<=u;n++)c+=1*e.data[n*e.width+t],h+=1;s[l*n+a]=Math.floor(c/h)}}return{data:s,width:n,height:r}}}},6048:e=>{e.exports={createRandomizer:()=>({seed:1234,arrayShuffle(e){const{arr:t,sampleSize:n}=e;for(let e=0;e>16&32767;n%=t.length;let r=t[e];t[e]=t[n],t[n]=r}},nextInt(e){this.seed=(214013*this.seed+2531011)%(1<<31);let t=this.seed>>16&32767;return t%=e,t}})}},344:e=>{const t=(e,t)=>{const n=2*Math.PI*t*e;return n/(n+1)},n=(e,t,n)=>e*t+(1-e)*n;e.exports={OneEuroFilter:class{constructor({minCutOff:e,beta:t}){this.minCutOff=e,this.beta=t,this.dCutOff=.001,this.xPrev=null,this.dxPrev=null,this.tPrev=null,this.initialized=!1}reset(){this.initialized=!1}filter(e,r){if(!this.initialized)return this.initialized=!0,this.xPrev=r,this.dxPrev=r.map((()=>0)),this.tPrev=e,r;const{xPrev:s,tPrev:a,dxPrev:i}=this,o=e-a,l=t(o,this.dCutOff),u=[],c=[],h=[];for(let e=0;e{n(4412);const r=n(9894).Z,s=n(7676).Z,a=n(2810).Z;e.exports={UI:class{constructor({uiLoading:e,uiScanning:t,uiError:n}){"yes"===e?this.loadingModal=this._loadHTML(r):"no"!==e&&(this.loadingModal=document.querySelector(e)),"yes"===n?this.compatibilityModal=this._loadHTML(s):"no"!==n&&(this.compatibilityModal=document.querySelector(n)),"yes"===t?this.scanningMask=this._loadHTML(a):"no"!==t&&(this.scanningMask=document.querySelector(t)),this.hideLoading(),this.hideCompatibility(),this.hideScanning()}showLoading(){this.loadingModal&&this.loadingModal.classList.remove("hidden")}hideLoading(){this.loadingModal&&this.loadingModal.classList.add("hidden")}showCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.remove("hidden")}hideCompatibility(){this.compatibilityModal&&this.compatibilityModal.classList.add("hidden")}showScanning(){this.scanningMask&&this.scanningMask.classList.remove("hidden")}hideScanning(){this.scanningMask&&this.scanningMask.classList.add("hidden")}_loadHTML(e){const t=document.createElement("template");t.innerHTML=e.trim();const n=t.content.firstChild;return document.getElementsByTagName("body")[0].appendChild(n),n}}}},3906:()=>{},2993:()=>{},8352:()=>{},4589:()=>{},1758:()=>{}},t={};function n(r){if(t[r])return t[r].exports;var s=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.amdD=function(){throw new Error("define cannot be used indirect")},n.amdO={},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="",n(5260)})(); \ No newline at end of file diff --git a/src/face-target/three.js b/src/face-target/three.js index e676b555..213f18d8 100644 --- a/src/face-target/three.js +++ b/src/face-target/three.js @@ -4,7 +4,7 @@ const {Controller} = require("./controller"); const {UI} = require("../ui/ui"); class MindARThree { - constructor({container, uiLoading="yes", uiScanning="yes", uiError="yes", filterMinCF=null, filterBeta=null}) { + constructor({container, preserveDrawingBuffer, uiLoading="yes", uiScanning="yes", uiError="yes", filterMinCF=null, filterBeta=null}) { this.container = container; this.ui = new UI({uiLoading, uiScanning, uiError}); @@ -14,7 +14,7 @@ class MindARThree { }); this.scene = new THREE.Scene(); this.cssScene = new THREE.Scene(); - this.renderer = new THREE.WebGLRenderer({antialias: true, alpha: true}); + this.renderer = new THREE.WebGLRenderer({antialias: true, alpha: true, preserveDrawingBuffer}); this.cssRenderer = new CSS3DRenderer({antialias: true }); this.renderer.outputEncoding = THREE.sRGBEncoding; this.renderer.setPixelRatio(window.devicePixelRatio);