UNPKG

geos.js

Version:

an easy-to-use JavaScript wrapper over WebAssembly build of GEOS

1 lines 1.4 MB
!function(A,I){"object"==typeof exports&&"undefined"!=typeof module?I(exports):"function"==typeof define&&define.amd?define(["exports"],I):I((A="undefined"!=typeof globalThis?globalThis:A||self).geos={})}(this,(function(A){"use strict";const I=Symbol("ptr"),g=Symbol("finalization_registry"),C=Symbol("cleanup"),Q=Symbol("prepared:ptr"),B=Symbol("prepared:finalization_registry"),E=Symbol("prepared:cleanup");class D{constructor(A,g){this[I]=A>>>=0,this.i4=A/4,this.l=g,this.l4=g/4}freeIfTmp(){this!==k.buff&&k.free(this[I])}}class w{constructor(A){this[I]=A>>>=0,this.i=A/4}get(){return k.U32[this.i]}set(A){k.U32[this.i]=A}}class M{constructor(A){this[I]=A>>>=0,this.i=A/8}get(){return k.F64[this.i]}set(A){k.F64[this.i]=A}}class GEOSError extends Error{constructor(A){super(A),this.name="GEOSError"}}class i{updateMemory(){const A=this.memory.buffer;this.U8=new Uint8Array(A),this.U32=new Uint32Array(A),this.F64=new Float64Array(A)}buffByL(A){let{buff:I}=this;if(A>I.l){const g=this.malloc(A);I=new D(g,A)}return I}buffByL4(A){let{buff:I}=this;if(A>I.l4){const g=4*A,C=this.malloc(g);I=new D(C,g)}return I}encodeString(A){const g=A.length,C=this.buffByL(g+1),Q=C[I],B=this.U8.subarray(Q,Q+g+1);if(this.te.encodeInto(A,B).written!==g)throw new GEOSError("Unexpected string encoding result");return B[g]=0,C}decodeString(A){const I=A>>>0,g=this.U8;let C=I;for(;g[C];)C++;return this.td.decode(g.subarray(I,C))}addFunction(A,I){let g=this.functionsInTableMap.get(A);if(g)return g;g=this.freeTableIndexes.length?this.freeTableIndexes.pop():this.table.grow(1);const C=G(A,I);return this.table.set(g,C),this.functionsInTableMap.set(A,g),g}removeFunction(A){const I=this.functionsInTableMap.get(A);I&&(this.table.set(I,null),this.functionsInTableMap.delete(this.table.get(I)),this.freeTableIndexes.push(I))}constructor(A){this.td=new TextDecoder,this.te=new TextEncoder,this.functionsInTableMap=new Map,this.freeTableIndexes=[],this.t_r={},this.t_w={},this.b_r={},this.b_w={},this.b_p={},this.m_v={},this.onGEOSError=(A,I)=>{const g=this.decodeString(A),C=new GEOSError(g),Q=g.indexOf(": ");throw Q>0&&(C.name=`${C.name}::${g.slice(0,Q)}`,C.message=g.slice(Q+2)),C};const{memory:I,__indirect_function_table:g,...C}=A.exports;this.memory=I,this.updateMemory(),this.table=g,C._initialize();const Q=C.GEOS_init_r();C.GEOSContext_setErrorMessageHandler_r(Q,this.addFunction(this.onGEOSError,"vpp"),0);for(const A in C)A.endsWith("_r")?this[A.slice(0,-2)]=C[A].bind(null,Q):this[A]=C[A];let B=C.malloc(4136);this.buff=new D(B,4096),this.u1=new w(B+=4096),this.u2=new w(B+=4),this.f1=new M(B+=4),this.f2=new M(B+=8),this.f3=new M(B+=8),this.f4=new M(B+8)}}const G=(A,I)=>{const g=[1,96],C=I.slice(0,1),Q=I.slice(1),B={i:127,p:127,j:126,f:125,d:124};K(Q.length,g);for(const A of Q)g.push(B[A]);"v"===C?g.push(0):g.push(1,B[C]);const E=[0,97,115,109,1,0,0,0,1];K(g.length,E),E.push(...g),E.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);const D=new WebAssembly.Module(new Uint8Array(E));return new WebAssembly.Instance(D,{e:{f:A}}).exports.f},K=(A,I)=>{A<128?I.push(A):I.push(A%128|128,A>>7)},o={env:{emscripten_notify_memory_growth(){const A=256-k.memory.buffer.byteLength/65536%256;k.memory.grow(A),k.updateMemory()}},wasi_snapshot_preview1:{random_get:(A,I)=>(crypto.getRandomValues(k.U8.subarray(A>>>=0,A+I>>>0)),0)}},N=new Proxy({},{get(A,I){if(I.endsWith("destroy"))return()=>0;throw new GEOSError("GEOS.js not initialized")}});let k=N;async function y(A){let I,g;return A instanceof WebAssembly.Module?(I=A,g=await WebAssembly.instantiate(A,o)):({module:I,instance:g}=await WebAssembly.instantiateStreaming(A,o)),k=new i(g),I}const S=A=>{const{B:I,F:g}=A,C=I[A.b++],Q=15&C,B=32&C,E=!B+!!(64&C);if(16&C)return Q<7?{type:U[Q],coordinates:[]}:{type:U[Q],geometries:[]};switch(Q){case 0:{const I=B?[g[A.f++],g[A.f++],g[A.f++]]:[g[A.f++],g[A.f++]];return{type:U[Q],coordinates:I}}case 1:{const C=I[A.b++],D=Array(C);let w=I[A.b++];for(let A=0;A<C;A++,w+=E)D[A]=B?[g[w++],g[w++],g[w++]]:[g[w++],g[w++]];return{type:U[Q],coordinates:D}}case 4:{const C=I[A.b++],E=Array(C);for(let I=0;I<C;I++)E[I]=B?[g[A.f++],g[A.f++],g[A.f++]]:[g[A.f++],g[A.f++]];return{type:U[Q],coordinates:E}}case 3:case 5:{const C=I[A.b++],D=Array(C);for(let Q=0;Q<C;Q++){const C=I[A.b++],w=D[Q]=Array(C);let M=I[A.b++];for(let A=0;A<C;A++,M+=E)w[A]=B?[g[M++],g[M++],g[M++]]:[g[M++],g[M++]]}return{type:U[Q],coordinates:D}}case 6:{const C=I[A.b++],D=Array(C);for(let Q=0;Q<C;Q++){const C=I[A.b++],w=D[Q]=Array(C);for(let Q=0;Q<C;Q++){const C=I[A.b++],D=w[Q]=Array(C);let M=I[A.b++];for(let A=0;A<C;A++,M+=E)D[A]=B?[g[M++],g[M++],g[M++]]:[g[M++],g[M++]]}}return{type:U[Q],coordinates:D}}case 7:{const g=I[A.b++],C=Array(g);for(let I=0;I<g;I++)C[I]=S(A);return{type:U[Q],geometries:C}}}throw new GEOSError(`Unsupported geometry type ${U[Q]}`)};function F(A){const g=k.buff;let C;try{let Q=k.U32,B=g.i4,E=B;Q[B++]=0,Q[B++]=1,Q[B++]=A[I],Q[B]=g.l4-3,k.jsonify_geoms(g[I]),Q=k.U32;const D={B:Q,b:B,F:k.F64,f:Q[E+1]};return C=Q[E],C&&(D.b=C/4),S(D)}finally{C&&k.free(C)}}function s(A){const g=A.length,C=g+3,Q=k.buffByL4(C);let B;try{let E=k.U32,D=Q.i4,w=D;E[D++]=0,E[D++]=g;for(const g of A)E[D++]=g[I];E[D]=Q.l4-C,k.jsonify_geoms(Q[I]),E=k.U32;const M={B:E,b:D,F:k.F64,f:E[w+1]};B=E[w],B&&(M.b=B/4);const i=Array(g);for(let I=0;I<g;I++){const g=A[I];i[I]={id:g.id,type:"Feature",geometry:S(M),properties:g.props??null}}return i}finally{Q.freeIfTmp(),B&&k.free(B)}}var R,Y;const U=["Point","LineString","LinearRing","Polygon","MultiPoint","MultiLineString","MultiPolygon","GeometryCollection","CircularString","CompoundCurve","CurvePolygon","MultiCurve","MultiSurface"];class h{normalize(){return k.GEOSNormalize(this[I]),this}orientPolygons(A="cw"){return k.GEOSOrientPolygons(this[I],+("cw"===A)),this}clone(){const A=k.GEOSGeom_clone(this[I]),g=new h(A);return null!=this.id&&(g.id=this.id),null!=this.props&&(g.props=this.props),g}toJSON(){return{id:this.id,type:"Feature",geometry:F(this),properties:this.props??null}}free(){this[Q]&&(h[B].unregister(this),h[E](this[Q])),h[g].unregister(this),h[C](this[I]),this.detached=!0}constructor(A,C,Q){h[g].register(this,A,this),this[I]=A,this.type=C||U[k.GEOSGeomTypeId(A)],Q&&(null!=Q.id&&(this.id=Q.id),null!=Q.properties&&(this.props=Q.properties))}static[(R=g,Y=B,C)](A){k.GEOSGeom_destroy(A)}static[E](A){k.GEOSPreparedGeom_destroy(A)}}function c(A){if(!A[Q]){const g=k.GEOSPrepare(A[I]);h[B].register(A,g,A),A[Q]=g}return A}h[R]=new FinalizationRegistry(h[C]),h[Y]=new FinalizationRegistry(h[E]);class InvalidGeoJSONError extends GEOSError{constructor(A,I){super(`Invalid ${I?"GeoJSON geometry":A.type}: ${JSON.stringify(A)}`),this.name="InvalidGeoJSONError"}}const J=(A,I)=>{switch(A?.type){case"Point":{const g=A.coordinates.length>2?3:2;return I.f+=g,void(I.d+=1)}case"MultiPoint":{const g=A.coordinates,C=g[0]?.length>2?3:2;return I.f+=g.length*C,void(I.d+=2)}case"LineString":if(1===A.coordinates.length)throw new InvalidGeoJSONError(A);return I.s+=1,void(I.d+=2);case"Polygon":{const g=A.coordinates,C=g.length;for(const I of g){const g=I.length,C=I[0],Q=I[g-1];if(g&&(g<3||C[0]!==Q[0]||C[1]!==Q[1]))throw new InvalidGeoJSONError(A)}return I.s+=C,void(I.d+=2+C)}case"MultiLineString":{const g=A.coordinates,C=g.length;for(const I of g)if(1===I.length)throw new InvalidGeoJSONError(A);return I.s+=C,void(I.d+=2+C)}case"MultiPolygon":{const g=A.coordinates;I.d+=2+g.length;for(const C of g){const g=C.length;for(const I of C){const g=I.length,C=I[0],Q=I[g-1];if(g&&(g<3||C[0]!==Q[0]||C[1]!==Q[1]))throw new InvalidGeoJSONError(A)}I.s+=g,I.d+=g}return}case"GeometryCollection":{const g=A.geometries;for(const A of g)J(A,I);return void(I.d+=2)}}throw new InvalidGeoJSONError(A,!0)},L=(A,I)=>{const{B:g,F:C}=I;let{d:Q,f:B}=I;switch(A.type){case"Point":{const I=A.coordinates,E=I.length;E?(C[B++]=I[0],C[B++]=I[1],E>2?(C[B++]=I[2],g[Q++]=32):g[Q++]=0):g[Q++]=16;break}case"MultiPoint":{const I=A.coordinates,E=I[0]?.length>2;g[Q++]=E?36:4,g[Q++]=I.length;for(const A of I)C[B++]=A[0],C[B++]=A[1],E&&(C[B++]=A[2]);break}case"LineString":{const I=A.coordinates,C=I[0]?.length>2;g[Q++]=C?33:1,g[Q++]=I.length;break}case"Polygon":{const I=A.coordinates,C=I[0]?.[0]?.length>2;g[Q++]=C?35:3,g[Q++]=I.length;for(const A of I)g[Q++]=A.length;break}case"MultiLineString":{const I=A.coordinates,C=I[0]?.[0]?.length>2;g[Q++]=C?37:5,g[Q++]=I.length;for(const A of I)g[Q++]=A.length;break}case"MultiPolygon":{const I=A.coordinates,C=I[0]?.[0]?.[0]?.length>2;g[Q++]=C?38:6,g[Q++]=I.length;for(const A of I){g[Q++]=A.length;for(const I of A)g[Q++]=I.length}break}case"GeometryCollection":{const C=A.geometries;g[I.d++]=7,g[I.d++]=C.length;for(const A of C)L(A,I);return}}I.f=B,I.d=Q},a=(A,I)=>{const{B:g,F:C}=I;switch(A.type){case"LineString":{const Q=A.coordinates;let B=g[I.s++];for(const A of Q)C[B++]=A[0],C[B++]=A[1],C[B++]=A.length>2?A[2]:NaN;break}case"Polygon":case"MultiLineString":{const Q=A.coordinates;for(const A of Q){let Q=g[I.s++];for(const I of A)C[Q++]=I[0],C[Q++]=I[1],C[Q++]=I.length>2?I[2]:NaN}break}case"MultiPolygon":{const Q=A.coordinates;for(const A of Q)for(const Q of A){let A=g[I.s++];for(const I of Q)C[A++]=I[0],C[A++]=I[1],C[A++]=I.length>2?I[2]:NaN}break}case"GeometryCollection":{const g=A.geometries;for(const A of g)a(A,I)}}};function H(A,g){const C={d:0,s:0,f:0};J(A,C);const Q=k.buffByL4(3+C.d+C.s+2*C.f);try{let B,E,D=k.U32,w=Q.i4;D[w++]=C.d,D[w++]=C.s,B=w+C.d,E=Math.ceil((B+C.s)/2);const M={B:D,d:w,F:k.F64,f:E};if(L(A,M),C.s){k.geosify_geomsCoords(Q[I]);const g={B:k.U32,s:B,F:k.F64};a(A,g)}return k.geosify_geoms(Q[I]),D=k.U32,new h(D[w],A.type,g)}finally{Q.freeIfTmp()}}function x(A,I){return H({type:"Polygon",coordinates:A},I)}function r(A){return Boolean(k.GEOSisEmpty(A[I]))}class TopologyValidationError extends GEOSError{constructor(A,I){super(A),this.name="TopologyValidationError",this.location=I}}var p;class Z{query(A){const g=k.u1,C=k.STRtree_query(this[I],A[I],g[I]);return q(this.geometries,C,g)}nearest(A){const g=k.u1,C=k.STRtree_nearest(this[I],A[I],g[I]);if(g.get())return this.geometries[C]}nearestAll(A){const g=k.u1,C=k.STRtree_nearestAll(this[I],A[I],g[I]);return q(this.geometries,C,g)}free(){Z[g].unregister(this),Z[C](this[I]),this.detached=!0}constructor(A,C){Z[g].register(this,A,this),this[I]=A,this.geometries=C}static[(p=g,C)](A){k.STRtree_destroy(A)}}function q(A,I,g){if(I){const C=g.get(),Q=Array(C);let B=k.U32,E=I>>>2;for(let I=0;I<C;I++)Q[I]=A[B[E++]];return k.free(I),Q}return[]}Z[p]=new FinalizationRegistry(Z[C]),A.GEOSError=GEOSError,A.InvalidGeoJSONError=InvalidGeoJSONError,A.TopologyValidationError=TopologyValidationError,A.area=function(A){const g=k.f1;return k.GEOSArea(A[I],g[I]),g.get()},A.bounds=function(A){const g=k.f1,C=k.f2,Q=k.f3,B=k.f4;if(k.GEOSGeom_getExtent(A[I],g[I],C[I],Q[I],B[I]))return[g.get(),C.get(),Q.get(),B.get()];throw new GEOSError("Cannot calculate bounds of an empty geometry")},A.box=function(A,I){const[g,C,Q,B]=A;if(g===Q||C===B)throw new GEOSError("Degenerate box");return x([[[g,C],[g,B],[Q,B],[Q,C],[g,C]]],I)},A.buffer=function(A,g,C){const Q=k.b_p,B=C?[C.quadrantSegments,C.endCapStyle,C.joinStyle,C.mitreLimit,C.singleSided].join():"";let E=Q[B];if(!E){const A=k.GEOSBufferParams_create();if(C){const{quadrantSegments:I,endCapStyle:g,joinStyle:Q,mitreLimit:B,singleSided:E}=C;if(null!=I&&k.GEOSBufferParams_setQuadrantSegments(A,I),null!=g){const I={round:1,flat:2,square:3};k.GEOSBufferParams_setEndCapStyle(A,I[g])}if(null!=Q){const I={round:1,mitre:2,bevel:3};k.GEOSBufferParams_setJoinStyle(A,I[Q])}null!=B&&k.GEOSBufferParams_setMitreLimit(A,B),null!=E&&k.GEOSBufferParams_setSingleSided(A,+E)}E=Q[B]=A}const D=k.GEOSBufferWithParams(A[I],E,g);return new h(D)},A.contains=function(A,g){return Boolean(A[Q]?k.GEOSPreparedContains(A[Q],g[I]):k.GEOSContains(A[I],g[I]))},A.containsProperly=function(A,g){return A[Q]||c(A),Boolean(k.GEOSPreparedContainsProperly(A[Q],g[I]))},A.coveredBy=function(A,g){return Boolean(A[Q]?k.GEOSPreparedCoveredBy(A[Q],g[I]):k.GEOSCoveredBy(A[I],g[I]))},A.covers=function(A,g){return Boolean(A[Q]?k.GEOSPreparedCovers(A[Q],g[I]):k.GEOSCovers(A[I],g[I]))},A.crosses=function(A,g){return Boolean(A[Q]?k.GEOSPreparedCrosses(A[Q],g[I]):k.GEOSCrosses(A[I],g[I]))},A.difference=function(A,g,C){const Q=null!=C?.gridSize?k.GEOSDifferencePrec(A[I],g[I],C.gridSize):k.GEOSDifference(A[I],g[I]);return new h(Q)},A.disjoint=function(A,g){return Boolean(A[Q]?k.GEOSPreparedDisjoint(A[Q],g[I]):k.GEOSDisjoint(A[I],g[I]))},A.distance=function(A,g){const C=k.f1;A[Q]?k.GEOSPreparedDistance(A[Q],g[I],C[I]):k.GEOSDistance(A[I],g[I],C[I]);const B=C.get();if(!B&&(r(A)||r(g)))throw new GEOSError('"distance" called with empty inputs');return B},A.distanceWithin=function(A,g,C){return Boolean(A[Q]?k.GEOSPreparedDistanceWithin(A[Q],g[I],C):k.GEOSDistanceWithin(A[I],g[I],C))},A.equals=function(A,g){return Boolean(k.GEOSEquals(A[I],g[I]))},A.equalsExact=function(A,g,C){return Boolean(k.GEOSEqualsExact(A[I],g[I],C))},A.equalsIdentical=function(A,g){return Boolean(k.GEOSEqualsIdentical(A[I],g[I]))},A.frechetDistance=function(A,g,C){const Q=k.f1;return null!=C?.densify?k.GEOSFrechetDistanceDensify(A[I],g[I],C.densify,Q[I]):k.GEOSFrechetDistance(A[I],g[I],Q[I]),Q.get()},A.fromGeoJSON=function(A){switch(A.type){case"FeatureCollection":return function(A){const g={d:0,s:0,f:0};for(const I of A)J(I.geometry,g);const C=k.buffByL4(3+g.d+g.s+2*g.f);try{let Q,B,E=k.U32,D=C.i4;E[D++]=g.d,E[D++]=g.s,Q=D+g.d,B=Math.ceil((Q+g.s)/2);const w={B:E,d:D,F:k.F64,f:B};for(const I of A)L(I.geometry,w);if(g.s){k.geosify_geomsCoords(C[I]);const g={B:k.U32,s:Q,F:k.F64};for(const I of A)a(I.geometry,g)}k.geosify_geoms(C[I]),E=k.U32;const M=A.length,i=Array(M);for(let I=0;I<M;I++){const g=A[I];i[I]=new h(E[D++],g.geometry.type,g)}return i}finally{C.freeIfTmp()}}(A.features);case"Feature":return H(A.geometry,A)}return H(A)},A.fromWKB=function(A,g){const C=k.b_r,Q=g?[g.fix].join():"";let B=C[Q];if(!B){const A=k.GEOSWKBReader_create();if(g){const{fix:I}=g;null!=I&&k.GEOSWKBReader_setFixStructure(A,+I)}B=C[Q]=A}const E=A.length,D=k.buffByL(E);try{k.U8.set(A,D[I]);const g=k.GEOSWKBReader_read(B,D[I],E);return new h(g)}finally{D.freeIfTmp()}},A.fromWKT=function(A,g){const C=k.t_r,Q=g?[g.fix].join():"";let B=C[Q];if(!B){const A=k.GEOSWKTReader_create();if(g){const{fix:I}=g;null!=I&&k.GEOSWKTReader_setFixStructure(A,+I)}B=C[Q]=A}const E=k.encodeString(A);try{const A=k.GEOSWKTReader_read(B,E[I]);return new h(A)}finally{E.freeIfTmp()}},A.geometryCollection=function(A,C){const Q=A.length,B=k.buffByL4(Q);try{let E=k.U32,D=B.i4;for(const g of A)E[D++]=g[I];const w=k.GEOSGeom_createCollection(7,B[I],Q);for(const I of A)h[g].unregister(I),I.detached=!0;return new h(w,"GeometryCollection",C)}finally{B.freeIfTmp()}},A.growMemory=function(A){const I=k.memory.buffer.byteLength,g="by"in A?I+A.by:A.to,C=I/65536,Q=Math.min(65535,Math.ceil(g/65536))-C;return Q>0&&(k.memory.grow(Q),k.updateMemory()),k.memory.buffer.byteLength},A.hausdorffDistance=function(A,g,C){const Q=k.f1;null!=C?.densify?k.GEOSHausdorffDistanceDensify(A[I],g[I],C.densify,Q[I]):k.GEOSHausdorffDistance(A[I],g[I],Q[I]);const B=Q.get();if(isNaN(B))throw new GEOSError('"hausdorffDistance" called with empty inputs');return B},A.initialize=async function(A){return await y(A)},A.initializeFromBase64=async function(){const A=atob("AGFzbQEAAAABuARJYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAN/f38AYAR/f39/AGABfwF8YAR/f39/AX9gBX9/f39/AGAFf39/f38Bf2AGf39/f39/AX9gA39/fAF/YAZ/f39/f38AYAAAYAh/f39/f39/fwF/YAR/f398AX9gAn9/AXxgA39/fwF8YAJ/fAF/YAF8AXxgB39/f39/f38Bf2AFf35+fn4AYAABf2AHf39/f39/fwBgAn98AGALf39/f39/f39/f38Bf2AFf39/f34Bf2AFf39/f3wBf2AEf35+fwBgCH9/f39/f39/AGAFf39+f38AYAJ8fAF8YAJ8fAF/YAN/f34AYAJ8fwF8YAZ/f3x/f38AYAR/f3x/AGAMf39/f39/f39/f39/AX9gBX5/f39/AX9gD39/f39/f39/f39/f39/fwBgCn9/f39/f39/f38AYAR/f39/AX5gBX9/f3x/AX9gB39/f39/fn4Bf2AGf39/f35+AX9gAn98AXxgAn9+AGAEfn5+fgF/YAN/fHwAYAJ+fwF/YAR/f39+AX5gCH9/f39/f3x/AGAFf39/f38BfGAGfHx8fHx8AX9gA3x8fwF8YAR/fH9/AGADfH9/AGAFf39/f3wAYAJ+fgF8YAV/fHx8fAF/YAN/fHwBf2AEf39/fwF8YAN/f38BfWAEf35+fgBgAn9/AX5gAnx/AX9gAn5+AX1gA35+fgF/YAN+f38Bf2ADf35/AGADf398AGAFf39/fH8AAksCFndhc2lfc25hcHNob3RfcHJldmlldzEKcmFuZG9tX2dldAACA2Vudh9lbXNjcmlwdGVuX25vdGlmeV9tZW1vcnlfZ3Jvd3RoAAEDsQ+vDwEADg4FAAEODgUABBIAAgEBAQECAS4EAAMEAgQDAgMWAgMDAAAEAwICBAQXCgABAAAAFgMDBQUCARMSAQ4OAwAABBYBAwMAEgICBSAADgIhCQoGCRkdBQQDAgABBgYFAAMEAwACBAAEAAICAwIECAMBIgQAAAYDHQUCAwUCBQQGBgYGAAIDAAACBAECLwIFBQUFAwMCAgoKCAAUFBQABAELBAEFAQUAAQUFAgYPDwsDAwAWMAUCBQYFCAIGABMCAgIAABIDAAYAAgMBAQgDCAABBAUCAAQEAgACAAIxAgMDBgoCAwADAg4FBSMFAAQB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R2VvbV9jcmVhdGVQb2ludEZyb21YWV9yALIFG0dFT1NHZW9tX2NyZWF0ZUNvbGxlY3Rpb25fcgCyAg9nZW9zaWZ5X2dlb21zX3IA1Q0NanNvbmlmeV9nZW9tcwDUDQZtYWxsb2MALxBTVFJ0cmVlX2NyZWF0ZV9yANMNEVNUUnRyZWVfZGVzdHJveV9yANINBGZyZWUAAg9TVFJ0cmVlX3F1ZXJ5X3IA0A0OR0VPU0Rpc3RhbmNlX3IArgYRU1RSdHJlZV9uZWFyZXN0X3IAzg0UU1RSdHJlZV9uZWFyZXN0QWxsX3IAzQ0LR0VPU19pbml0X3IAsA8kR0VPU0NvbnRleHRfc2V0RXJyb3JNZXNzYWdlSGFuZGxlcl9yAJUMDkdFT1NEaXNqb2ludF9yAP8LDUdFT1NUb3VjaGVzX3IAlgsQR0VPU0ludGVyc2VjdHNfcgDuCg1HRU9TQ3Jvc3Nlc19yAJoKDEdFT1NXaXRoaW5fcgDZCQ5HRU9TQ29udGFpbnNfcgCyCQ5HRU9TT3ZlcmxhcHNfcgCvDwxHRU9TQ292ZXJzX3IA+A4PR0VPU0NvdmVyZWRCeV9yANIODEdFT1NFcXVhbHNfcgCaDhNHRU9TUmVsYXRlUGF0dGVybl9yAO8NDEdFT1NSZWxhdGVfcgDADRNHRU9TaXNWYWxpZERldGFpbF9yAJQMEUdFT1NFcXVhbHNFeGFjdF9yAJEMFUdFT1NFcXVhbHNJZGVudGljYWxfcgCNDBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQAUR0VPU0Rpc3RhbmNlV2l0aGluX3IAhQwXR0VPU0hhdXNkb3JmZkRpc3RhbmNlX3IAhAweR0VPU0hhdXNkb3JmZkRpc3RhbmNlRGVuc2lmeV9yAIMMFUdFT1NGcmVjaGV0RGlzdGFuY2VfcgCCDBxHRU9TRnJlY2hldERpc3RhbmNlRGVuc2lmeV9yAIEMCkdFT1NBcmVhX3IAgAwMR0VPU0xlbmd0aF9yAP4LE0dFT1NOZWFyZXN0UG9pbnRzX3IA/QsNR0VPU2lzRW1wdHlfcgD8Cw5HRU9TaXNTaW1wbGVfcgD6CxBHRU9TR2VvbVR5cGVJZF9yAPgLEkdFT1NJbnRlcnNlY3Rpb25fcgDyCxZHRU9TSW50ZXJzZWN0aW9uUHJlY19yAOcLEEdFT1NEaWZmZXJlbmNlX3IA0wsUR0VPU0RpZmZlcmVuY2VQcmVjX3IAzQsTR0VPU1N5bURpZmZlcmVuY2VfcgDGCxdHRU9TU3ltRGlmZmVyZW5jZVByZWNfcgC/CwtHRU9TVW5pb25fcgC3Cw9HRU9TVW5pb25QcmVjX3IArwsQR0VPU1VuYXJ5VW5pb25fcgCmCxRHRU9TVW5hcnlVbmlvblByZWNfcgCfCxJHRU9TR2VvbV9kZXN0cm95X3IA2wUNR0VPU1NldFNSSURfcgCZCw9HRU9TTm9ybWFsaXplX3IAlQsUR0VPU09yaWVudFBvbHlnb25zX3IAkgsZR0VPU01ha2VWYWxpZFdpdGhQYXJhbXNfcgDzChxHRU9TTWFrZVZhbGlkUGFyYW1zX2NyZWF0ZV9yAO0KJkdFT1NNYWtlVmFsaWRQYXJhbXNfc2V0S2VlcENvbGxhcHNlZF9yAOgKH0dFT1NNYWtlVmFsaWRQYXJhbXNfc2V0TWV0aG9kX3IA3goNR0VPU0dldFNSSURfcgDUCgtHRU9TdmVyc2lvbgDMChRHRU9TQ29vcmRTZXFfZ2V0WFlfcgDGChZHRU9TQ29vcmRTZXFfZGVzdHJveV9yALsKEEdFT1NHZW9tX2Nsb25lX3IA9gkUR0VPU0dlb21fZ2V0RXh0ZW50X3IA6wkWR0VPU1dLVFJlYWRlcl9jcmVhdGVfcgDnCR9HRU9TV0tUUmVhZGVyX3NldEZpeFN0cnVjdHVyZV9yAN8JFEdFT1NXS1RSZWFkZXJfcmVhZF9yANgJFkdFT1NXS1RXcml0ZXJfY3JlYXRlX3IA1gkVR0VPU1dLVFdyaXRlcl93cml0ZV9yANMJF0dFT1NXS1RXcml0ZXJfc2V0VHJpbV9yAM8JJEdFT1NXS1RXcml0ZXJfc2V0Um91bmRpbmdQcmVjaXNpb25fcgDHCSJHRU9TV0tUV3JpdGVyX3NldE91dHB1dERpbWVuc2lvbl9yAMUJFkdFT1NXS0JSZWFkZXJfY3JlYXRlX3IAwwkfR0VPU1dLQlJlYWRlcl9zZXRGaXhTdHJ1Y3R1cmVfcgC6CRRHRU9TV0tCUmVhZGVyX3JlYWRfcgC5CRZHRU9TV0tCV3JpdGVyX2NyZWF0ZV9yALUJFUdFT1NXS0JXcml0ZXJfd3JpdGVfcgCxCSJHRU9TV0tCV3JpdGVyX3NldE91dHB1dERpbWVuc2lvbl9yAK8JHEdFT1NXS0JXcml0ZXJfc2V0Qnl0ZU9yZGVyX3IAqQkeR0VPU1dLQldyaXRlcl9zZXRJbmNsdWRlU1JJRF9yAKMJGUdFT1NXS0JXcml0ZXJfc2V0Rmxhdm9yX3IAnwkNR0VPU1ByZXBhcmVfcgCbCRpHRU9TUHJlcGFyZWRHZW9tX2Rlc3Ryb3lfcgDbBRZHRU9TUHJlcGFyZWRDb250YWluc19yAJgJHkdFT1NQcmVwYXJlZENvbnRhaW5zUHJvcGVybHlfcgCUCRdHRU9TUHJlcGFyZWRDb3ZlcmVkQnlfcgCKCRRHRU9TUHJlcGFyZWRDb3ZlcnNfcgCuDxVHRU9TUHJlcGFyZWRDcm9zc2VzX3IArA8WR0VPU1ByZXBhcmVkRGlzam9pbnRfcgCpDxhHRU9TUHJlcGFyZWRJbnRlcnNlY3RzX3IAoQ8WR0VPU1ByZXBhcmVkT3ZlcmxhcHNfcgCeDxVHRU9TUHJlcGFyZWRUb3VjaGVzX3IAnQ8UR0VPU1ByZXBhcmVkV2l0aGluX3IAlg8UR0VPU1ByZXBhcmVkUmVsYXRlX3IAkw8bR0VPU1ByZXBhcmVkUmVsYXRlUGF0dGVybl9yAIkPG0dFT1NQcmVwYXJlZE5lYXJlc3RQb2ludHNfcgCBDxZHRU9TUHJlcGFyZWREaXN0YW5jZV9yAPcOHEdFT1NQcmVwYXJlZERpc3RhbmNlV2l0aGluX3IA7g4ZR0VPU0J1ZmZlclBhcmFtc19jcmVhdGVfcgDVDiFHRU9TQnVmZmVyUGFyYW1zX3NldEVuZENhcFN0eWxlX3IA0Q4fR0VPU0J1ZmZlclBhcmFtc19zZXRKb2luU3R5bGVfcgDMDiBHRU9TQnVmZmVyUGFyYW1zX3NldE1pdHJlTGltaXRfcgDHDiZHRU9TQnVmZmVyUGFyYW1zX3NldFF1YWRyYW50U2VnbWVudHNfcgDCDiFHRU9TQnVmZmVyUGFyYW1zX3NldFNpbmdsZVNpZGVkX3IAvg4WR0VPU0J1ZmZlcldpdGhQYXJhbXNfcgC6DgtfaW5pdGlhbGl6ZQDZDQZfX3RyYXAA2QcJrBABAEEBC4EJhQGhAbsCoQGhAYEOYiYxFKEBiAGcAu0B2g3YDdYNvw0xFLoNuQ20DWJi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QQRqIAZBAUEAIAUoAgAoAhgRCQACQAJAAkAgAygCKA4CAAECCyADKAIYQQAgAygCJEEBRhtBACADKAIgQQFGG0EAIAMoAixBAUYbIQAMAQsgAygCHEEBRwRAIAMoAiwNASADKAIgQQFHDQEgAygCJEEBRw0BCyADKAIUIQALIANBQGskACAAIQMLIARBEGokACADC4ACAQJ/AkAgACgCBCAALQALIgMiAkH/AHEgAkGAAXFBB3YbIgIgAUkEQCABIAJrIgIEQCACIANBgAFxQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgMgACgCBCAALQALIgFB/wBxIAFBgAFxQQd2GyIBa0sEQCAAIAMgAiADayABaiABIAEQvgQLIAAoAgAgACAALQALQYABcUEHdhsiAyABaiACQQAQvQQaIAEgAmohAQJAIAAtAAtBgAFxQQd2BEAgACABNgIEDAELIAAgAUH/AHE6AAsLIAEgA2pBADoAAAsMAQsgACAAKAIAIAAgAC0AC0GAAXFBB3YbIAEQqAcLC6kBAQJ/IwBBEGsiAiQAIAJBIBADIgM2AgQgAkKYgICAgISAgIB/NwIIIANBpzYpAAA3ABAgA0GfNikAADcACCADQZc2KQAANwAAIANBADoAGAZAIAAgAkEEaiABEGMhABkgAiQAIAIsAA9BAEgEQCACKAIMGiACKAIEEAILCQALIAIsAA9BAEgEQCACKAIMGiACKAIEEAILIABBjN4ANgIAIAJBEGokACAACycBAX8gACABKAIAIAEgASwACyIAQQBIIgIbIAEoAgQgACACGxBZGgu/CgIFfw9+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOE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