@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 50.7 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3299,4690],{14690(e,t,n){n.r(t),n.d(t,{constructFromFlatGeometry:()=>a});var r=n(95213),i=n(88885);function a({type:e,vertexCount:t,vertexXY:n,vertexZ:a,vertexM:o,partCount:u,partOffsets:m,partFlags:l,segmentFlags:c,segmentIndices:d,segmentParams:h,segmentCountArc:_,segmentCountBezier:f}){const p=new s[e];if(p instanceof r.P)return p.setXYCoords(n[0],n[1]),a&&p.setZ(a[0]),o&&p.setM(o[0]),p;const k=new r.A({fromArray:n});if(p.setAttributeStreamRef(0,k),a){const e=new r.A({fromArray:a});p.setAttributeStreamRef(1,e)}if(o){const e=new r.A({fromArray:o});p.setAttributeStreamRef(2,e)}if(p instanceof i.M)return p.resizeNoInit(t),p;{const e=u+1,t=new r.a({fromArray:m,size:e}),n=new r.b({fromArray:l,size:e});p.setPathStreamRef(t),p.setPathFlagsStreamRef(n)}if(null==c)return p.resizeImpl(t),p;const b=new r.b({fromArray:c}),y=new r.a({fromArray:d}),g=new r.A({fromArray:h});return p.setSegmentData(y,g,b,h.length),p.incCurveType(4,_),p.incCurveType(2,f),p.modifyCurveCounter(_+f),p.resizeImpl(t),p}const s={point:r.P,multipoint:i.M,polyline:i.a,polygon:i.P}},83299(e,t,n){n.r(t),n.d(t,{fromGeometries:()=>de,fromGeometry:()=>he,fromGeometryToGXGeometry:()=>_e,fromGeometryToGXGeometryUsingImportOperator:()=>fe,fromSpatialReference:()=>pe,getSpatialReference:()=>le,toGeometry:()=>ke,toSpatialReference:()=>be});var r=n(14690),i=n(55537),a=n(83661),s=n(15756),o=n(95213),u=n(88885),m=n(87992),l=n(16930),c=(n(90293),n(60408));function d(){if(-1===this.m_i)return this.m_i=0,{value:{m_token:1,m_value:null},done:!1};if(this.m_i<this.m_keys.length){const e=this.m_bReturnKey,t=Math.trunc(this.m_i);return this.m_bReturnKey=!this.m_bReturnKey,this.m_i+=.5,e?{value:{m_token:5,m_value:this.m_keys[t]},done:!1}:{value:{m_token:6,m_value:this.m_o[this.m_keys[t]]},done:!1}}return{value:{m_token:3,m_value:null},done:!0}}function h(){if(-1===this.m_i)return this.m_i=0,{value:{m_token:2,m_value:null},done:!1};if(this.m_i<this.m_a.length){const e={value:{m_token:6,m_value:this.m_a[this.m_i++]},done:!1};return this.m_strict||void 0===e.value.m_value&&(e.value.m_value=Number.NaN),e}return{value:{m_token:4,m_value:null},done:!0}}class _{createJSONObjectIterator(e){return{m_iteratorType:"object",m_o:e,m_keys:this.m_options.strict?Object.keys(e):Object.keys(e).filter(t=>void 0!==e[t]),m_i:-1,m_bReturnKey:!0,next:d}}createJSONArrayIterator(e){return{m_iteratorType:"array",m_strict:this.m_options.strict,m_i:-1,m_a:e,next:h}}constructor(e,t){this.m_currentToken=0,this.m_options=t?{...t}:{strict:!0};const n=e;this.m_iteratorStack=[n instanceof Array?this.createJSONArrayIterator(n):this.createJSONObjectIterator(n)],this.m_nextFlatToken={m_value:null,m_token:0}}nextToken(){if(0===this.m_iteratorStack.length)return this.m_currentToken=0;switch(this.m_nextFlatToken=this.m_iteratorStack.at(-1).next().value,this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:return this.m_currentToken=1;case 3:return this.m_iteratorStack.pop(),this.m_currentToken=3;case 2:return this.m_currentToken=2;case 4:return this.m_iteratorStack.pop(),this.m_currentToken=4;case 5:return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=5;case 6:if(this.m_nextFlatToken.m_value instanceof Array)return this.m_iteratorStack.push(this.createJSONArrayIterator(this.m_nextFlatToken.m_value)),this.nextToken();if(this.m_nextFlatToken.m_value instanceof Object)return this.m_iteratorStack.push(this.createJSONObjectIterator(this.m_nextFlatToken.m_value)),this.nextToken();if("number"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=this.m_nextFlatToken.m_value,Number.isSafeInteger(this.m_currentValue)&&this.m_currentValue>=(0,a.ar)()&&this.m_currentValue<=(0,a.i)()?this.m_currentToken=8:this.m_currentToken=7;if("string"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=6;if("boolean"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=this.m_nextFlatToken.m_value?11:12;if("object"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=null,this.m_currentToken=10;(0,i.d)("unrecognized json element type")}(0,i.d)("unrecognized json element type")}currentToken(){return this.m_currentToken}skipChildren(){if(0!==this.m_iteratorStack.length)switch(this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:return this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=3,void(this.m_currentToken=3);case 2:return this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=4,void(this.m_currentToken=4)}}currentString(){return 6!==this.m_currentToken&&5!==this.m_currentToken&&(0,i.a)("invalid token"),this.m_currentValue}currentDoubleValue(){return 7!==this.m_currentToken&&8!==this.m_currentToken&&(0,i.a)("invalid token"),this.m_currentValue}currentInt32Value(){return 8!==this.m_currentToken&&(0,i.a)("invalid token"),this.m_currentValue}currentInt64Value(){return(0,i.g)(0),0n}currentBoolValue(){return 12!==this.m_currentToken&&11!==this.m_currentToken&&(0,i.a)("invalid token"),this.m_currentValue}isError(){return 0}}class f{constructor(e){return this.m_buffer=null,this.m_view=null,this.m_sz=0,this.m_offset=0,this.m_bOwnsBuffer=!0,this.m_bLittleEndian=!0,this.m_element=new ArrayBuffer(8),this.m_elementBytes=new Uint8Array(this.m_element),this.m_elementView=new DataView(this.m_element),this.m_elementDouble=new Float64Array(this.m_element),this.m_elementFloat=new Float32Array(this.m_element),this.m_elementInt64=new BigInt64Array(this.m_element),this.m_elementInt32=new Int32Array(this.m_element),this.m_elementInt16=new Int16Array(this.m_element),void 0!==e.sz?(this.m_sz=e.sz,e.buffer?(this.m_sz<0&&(0,i.r)("size out of range"),this.m_buffer=e.buffer,this.m_offset=void 0!==e.offset?e.offset:0,this.m_view=void 0!==e.offset?new DataView(e.buffer,e.offset,e.sz):new DataView(this.m_buffer),this.m_bOwnsBuffer=!1,void(this.m_bLittleEndian=!0)):(this.m_sz<0&&(0,i.r)("size out of range"),void(this.m_sz>0&&(this.m_buffer=new ArrayBuffer(this.m_sz),this.m_view=new DataView(this.m_buffer))))):e.move?(this.m_sz=e.move.m_sz,this.m_buffer=e.move.m_buffer,this.m_view=e.move.m_view,this.m_bOwnsBuffer=e.move.m_bOwnsBuffer,this.m_bLittleEndian=e.move.m_bLittleEndian,e.move.m_buffer=null,e.move.m_view=null,e.move.m_sz=0,void(e.move.m_bOwnsBuffer=!0)):void(0,i.d)("unrecognized constructor options")}swapBytesDouble(){this.doSwap()&&(this.m_elementDouble[0]=this.m_elementBytes[0]<<56|this.m_elementBytes[1]<<48|this.m_elementBytes[2]<<40|this.m_elementBytes[3]<<32|this.m_elementBytes[4]<<24|this.m_elementBytes[5]<<16|this.m_elementBytes[6]<<8|this.m_elementBytes[7])}swapBytesInt32(){this.doSwap()&&(this.m_elementInt32[0]=this.m_elementBytes[0]<<24|this.m_elementBytes[1]<<16|this.m_elementBytes[2]<<8|this.m_elementBytes[3])}getOffset(){return this.m_offset}assignMove(e){return this===e||(this.clear(),this.m_sz=e.m_sz,this.m_buffer=e.m_buffer,this.m_view=e.m_view,this.m_bOwnsBuffer=e.m_bOwnsBuffer,this.m_bLittleEndian=e.m_bLittleEndian,e.m_buffer=null,e.m_sz=0,e.m_bOwnsBuffer=!0),this}doSwap(){return this.m_bLittleEndian!==(1===f.getNativeByteOrder())}setNativeByteOrder(){this.m_bLittleEndian=1===f.getNativeByteOrder()}setOrder(e){this.m_bLittleEndian=1===e}getOrder(){return this.m_bLittleEndian?1:0}getView(){return this.m_view||(0,i.q)("buffer not defined"),this.m_view}static getNativeByteOrder(){return 1}clear(){this.m_buffer=null,this.m_sz=0,this.m_bOwnsBuffer=!0}size(){return this.m_sz}readDouble(e){return this.doSwap()?(this.m_elementDouble[0]=this.m_view.getFloat64(e,this.m_bLittleEndian),this.swapBytesDouble(),this.m_elementDouble[0]):this.m_view.getFloat64(e,this.m_bLittleEndian)}writeDouble(e,t){this.m_elementDouble[0]=t,this.swapBytesDouble(),this.m_view.setFloat64(e,this.m_elementDouble[0],this.m_bLittleEndian)}readInt32(e){return this.doSwap()?(this.m_elementInt32[0]=this.m_view.getInt32(e,this.m_bLittleEndian),this.swapBytesInt32(),this.m_elementInt32[0]):this.m_view.getInt32(e,this.m_bLittleEndian)}writeInt32(e,t){this.m_elementInt32[0]=t,this.swapBytesInt32(),this.m_view.setInt32(e,this.m_elementInt32[0],this.m_bLittleEndian)}getPtr(){return this.m_buffer}setSizeNoRealloc(e){(0,i.g)(e>=0&&e<=this.m_sz),this.m_sz=e}}function p(e){let t=!1;for(;3!==e.nextToken();){const n=e.currentString();e.nextToken(),"uwkid"===n?t||(t=!0,8===e.currentToken()&&e.currentInt32Value()):e.skipChildren()}return null}function k(e){let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,u=!1,m=!1,l=!1,c=!1,d=!1,h=!1,_=!1,f=!1,k=!1,b=!1,y=!1,g=-1,T=-1,N=-1,v=-1,A=0,x=0,S=0,w=0,C=0,D=0,F=0,O=0,j=0,G=0,I="",z="",P=null;for(;3!==e.nextToken();){const s=e.currentString();e.nextToken(),"wkid"===s?t||(t=!0,8===e.currentToken()&&(g=e.currentInt32Value())):"latestWkid"===s?n||(n=!0,8===e.currentToken()&&(T=e.currentInt32Value())):"wkt"===s?a||(a=!0,6===e.currentToken()&&(I=e.currentString())):"wkt2"===s?a||6===e.currentToken()&&(z=e.currentString()):"vcsWkid"===s?r||(r=!0,8===e.currentToken()&&(N=e.currentInt32Value())):"latestVcsWkid"===s?i||(i=!0,8===e.currentToken()&&(v=e.currentInt32Value())):"xyTolerance"===s?u||(u=!0,o=!0,A=e.currentDoubleValue()):"zTolerance"===s?m||(m=!0,o=!0,x=e.currentDoubleValue()):"mTolerance"===s?l||(l=!0,o=!0,S=e.currentDoubleValue()):"falseX"===s?c||(c=!0,o=!0,F=e.currentDoubleValue()):"falseY"===s?d||(d=!0,o=!0,O=e.currentDoubleValue()):"falseZ"===s?h||(h=!0,o=!0,j=e.currentDoubleValue()):"falseM"===s?_||(_=!0,o=!0,G=e.currentDoubleValue()):"xyUnits"===s?f||(f=!0,o=!0,w=e.currentDoubleValue()):"zUnits"===s?k||(k=!0,o=!0,C=e.currentDoubleValue()):"mUnits"===s?b||(b=!0,o=!0,D=e.currentDoubleValue()):"unit"===s?y||(y=!0,P=p(e)):e.skipChildren()}v<=0&&N>0&&(v=N),N<=0&&v>0&&(N=v);let E=null,B=!0;if(0!==I.length&&(B=!1,(0,s.aI)(I)&&(E=(0,s.aE)(I))),E||0===z.length||(B=!1,(0,s.aI)(z)&&(E=(0,s.aE)(z))),!E&&T>0&&(B=!1,(0,s.aJ)(T)&&(v<=0||(0,s.aK)())&&(E=(0,s.aL)(T,v))),!E&&g>0&&(B=!1,(0,s.aJ)(g)&&(N<=0||(0,s.aK)())&&(E=(0,s.aL)(g,N))),B&&(E=(0,s.a5)(P)),o&&E){const e=new s.aM;E.queryPrecisionDescriptorWithoutFalseXY(e),u&&e.setTolerance(0,A),m&&e.setTolerance(1,x),l&&e.setTolerance(2,S),f&&c&&d&&e.setGridParams(F,O,w),k&&h&&e.setZParams(j,C),b&&_&&e.setMParams(G,D),E=(0,s.aN)(E,e)}return E}function b(e,t,n,r){2!==r.currentToken()&&(0,i.a)("failed to parse multipath: array of array of vertices is expected");const s=e?new u.P:new u.a,m=s,l=(0,o.D)(0),c=(0,o.G)(2,0),d=(0,o.F)(0);let h=null,_=null,f=null,p=null,k=null,b=0,y=0,g=0;const N=new u.S,S=a.P.getNAN();let w=0,C=0;const D=e?1:0;for(;4!==r.nextToken();){2!==r.currentToken()&&(0,i.a)("failed to parse multipath: ring/path array is expected");let n=2,s=0,F=!0;const O=4;let j=0,G=0;const I=a.P.getNAN(),z=(0,a.d)(O,Number.NaN),P=(0,a.d)(O,Number.NaN);let E=!1;for(r.nextToken();4!==r.currentToken();){if(t&&1===r.currentToken())F&&(0,i.a)("failed to parse multipath: starting vertex array is expected"),f||(f=(0,o.F)(w-1,1),p=(0,o.D)(w-1,-1),k=(0,o.G)(0)),E=!0,n=1,({segFlag:g,toPointSz:j}=x(N,z,S,r));else{for(E=!1,2!==r.currentToken()&&(0,i.a)("failed to parse multipath: array is expected, rings/paths vertices consist of arrays of coordinates"),j=0;4!==r.nextToken();)j===O&&(0,i.a)("failed to parse multipath: each vertex array has to have at most 4 elements"),z[j++]=T(r);j<2&&(0,i.a)("failed to parse multipath: each vertex array has to have at least 2 elements"),(0,o.L)(z[0],z[1])||(0,i.a)("failed to parse multipath: x and y must be finite")}r.nextToken();do{if(c.size()===2*w&&c.resize(v(w)),c.writePoint2D(2*w,I.setCoords(z[0],z[1])),h&&h.size()===w&&h.resize(A(w)),j>2?(h||(h=(0,o.G)(w+1,Number.NaN)),h.write(w,z[2])):h&&h.write(w,Number.NaN),_&&_.size()===w&&_.resize(A(w)),j>3?(_||(_=(0,o.G)(w+1,Number.NaN)),_.write(w,z[3])):_&&_.write(w,Number.NaN),F)C++,l.add(w),d.add(D),F=!1,G=j,(0,a.b)(P,z,0,0,G);else if(null!==f)if(E){const e=(0,u.H)(g),t=k.size();k.resize(t+e),f.add(g),p.add(b),N.get().writeInBufferStream(k,b),b+=e,m.incCurveType(g,1),y++}else f.add(1),p.add(-1);w++,s++,S.setCoords(z[0],z[1])}while(s<n&&4===r.currentToken())}0!==s&&(e&&s>n&&j===G&&0===(0,a.as)(z,P,j)?(w--,s--):null!==f&&(f.add(1),p.add(-1)))}return w&&(l.resize(C),d.resize(C),w>0&&(l.add(w),d.add(0)),m.setAttributeStreamRef(0,c),m.setPathFlagsStreamRef(d),m.setPathStreamRef(l),null!==f&&(m.updateCurveCounter(y),m.setSegmentData(p,k,f,b)),m.notifyModifiedFlags(65535)),{geometry:s,as:h,bs:_}}function y(e,t){2!==t.currentToken()&&(0,i.a)("failed to parse multipoint: array of vertices is expected");let n=0;const r=new u.M,s=(0,o.G)(2,0);let m=0;const l=(0,a.d)(4,Number.NaN),c=new a.P;let d=null,h=null;for(;4!==t.nextToken();){for(2!==t.currentToken()&&(0,i.a)("failed to parse multipoint: array is expected, multipoint vertices consist of arrays of cooridinates"),m=0;4!==t.nextToken();)4===m&&(0,i.a)("failed to parse multipoint: each vertex array has to have at most 4 elements"),l[m++]=T(t);m<2&&(0,i.a)("failed to parse multipoint: each vertex array has to have at least 2 elements"),(0,o.L)(l[0],l[1])||(0,i.a)("failed to parse multipoint: x and y must be finite"),s.size()===2*n&&s.resize(v(n)),s.writePoint2D(2*n,c.setCoords(l[0],l[1])),d&&d.size()===n&&d.resize(A(n)),m>2?(d||(d=(0,o.G)(n+1,Number.NaN)),d.write(n,l[2])):d&&d.write(n,Number.NaN),h&&h.size()===n&&h.resize(A(n)),m>3?(h||(h=(0,o.G)(n+1,Number.NaN)),h.write(n,l[3])):h&&h.write(n,Number.NaN),n++}if(n){const e=r.getImpl();e.setAttributeStreamRef(0,s),e.resizeNoInit(n),e.notifyModifiedFlags(65535)}return{geometry:r,as:d,bs:h}}function g(e,t){2!==t.currentToken()&&(0,i.a)("failed to parse array of IDs: array of array of integers is expected");const n=(0,o.M)(2,0);let r=0,a=-1;for(;4!==t.nextToken();){const e=r;n.size()===r&&n.resize(A(r)),r++;let s=0;for(-1===a?a=2===t.currentToken()?1:0:1===a&&2!==t.currentToken()&&(0,i.a)("failed to parse array of IDs: array of array of integers is expected"),0===a&&(n.size()===r&&n.resize(A(r)),n.write(r,N(t)),s++,r++);4!==t.nextToken();)n.size()===r&&n.resize(A(r)),n.write(r,N(t)),s++,r++;if(n.write(e,s),0===a)break}return n.resize(r),n}function T(e){const t=e.currentToken();if(10===t||6===t&&"NaN"===e.currentString())return Number.NaN;{const t=e.currentDoubleValue();return Number.isNaN(t)?Number.NaN:t}}function N(e){return e.currentInt32Value()}function v(e){let t=2*Math.trunc(3*(e+1)/2);return t<8?t=8:t<32&&(t=32),t}function A(e){let t=Math.trunc(3*(e+1)/2);return t<4?t=4:t<16&&(t=16),t}function x(e,t,n,r,s){const o={segFlag:0,toPointSz:0};let m=r.currentToken();m=r.nextToken();const l=r.currentString(),c=l[0];for((1!==l.length||"a"!==c&&"b"!==c&&"c"!==c&&"n"!==c&&"q"!==c)&&(0,i.a)('failed to parse curve: expecting "a", "b", "n", "q", or "c"'),m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for curve parameters"),m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for to point"),o.toPointSz=0;4!==r.nextToken();)4===o.toPointSz&&(0,i.a)("failed to parse curve: vertex array cannot have more than 4 elements"),t[o.toPointSz++]=T(r);o.toPointSz<2&&(0,i.a)("failed to parse curve: vertex array must have at least 2 elements");const d=a.P.construct(t[0],t[1]),h=a.P.getNAN();let _=-1,p=-1,k=!1,b=Number.NaN,y=Number.NaN,g=Number.NaN;const N=[a.P.getNAN(),a.P.getNAN(),a.P.getNAN()],v=a.P.getNAN();if("a"===c){m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for center point"),m=r.nextToken();const e=T(r);m=r.nextToken();const t=T(r);m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for center point"),h.setCoords(e,t),m=r.nextToken(),_=r.currentInt32Value(),m=r.nextToken(),p=r.currentInt32Value(),m=r.nextToken(),4!==m?(k=!1,b=T(r),m=r.nextToken(),y=T(r),m=r.nextToken(),g=T(r),m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for curve parameters")):k=!0,o.segFlag=4}else if("b"===c){for(let e=0;e<2;e++){m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for control point"),m=r.nextToken();const t=T(r);m=r.nextToken();const n=T(r);m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for control point"),N[e].setCoords(t,n)}m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for curve parameters"),o.segFlag=2}else if("n"===c){{m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for control point"),m=r.nextToken();const e=T(r);m=r.nextToken();const t=T(r);m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for control point"),N[0].setCoords(e,t)}m=r.nextToken();const e=T(r);m=r.nextToken();const t=T(r);m=r.nextToken();const n=T(r);N[1].setCoords(e,t),N[2].setCoords(n,n),m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for curve parameters"),o.segFlag=8}else if("q"===c){for(let e=0;e<1;e++){m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for control point"),m=r.nextToken();const t=T(r);m=r.nextToken();const n=T(r);m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for control point"),N[e].setCoords(t,n)}m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for curve parameters"),o.segFlag=16}else{m=r.nextToken(),2!==m&&(0,i.a)("failed to parse curve: start array is expected for interior point"),m=r.nextToken();const e=T(r);m=r.nextToken();const t=T(r);m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for interior point"),v.setCoords(e,t),m=r.nextToken(),4!==m&&(0,i.a)("failed to parse curve: end array is expected for curve parameters"),o.segFlag=4}if(m=r.nextToken(),3!==m&&(0,i.a)("failed to parse curve: end object is expected for curve"),"a"===c)if(e.createEllipticArc(),k){const t=!0;S(e.get(),n,d,h,t,_,p)}else!function(e,t,n,r,i,a,s,o,m){e.dropAllAttributes();const l=new ArrayBuffer(44),c=new f({sz:44,buffer:l});let d=0;c.writeDouble(d,r.x),d+=8,c.writeDouble(d,r.y),d+=8,c.writeDouble(d,s),d+=8,c.writeDouble(d,o),d+=8,c.writeDouble(d,m),d+=8;let h=0;a||(h|=2048),i&&(h|=4096),c.writeInt32(d,h),d+=4,function(e,t,n,r){e.m_bits=0,e.m_center.x=r.readDouble(0),e.m_center.y=r.readDouble(8),e.m_rotation=r.readDouble(16),e.m_semiMajorAxis=r.readDouble(24),e.m_minorMajorRatio=r.readDouble(32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y;const i=r.readInt32(40);if(1&i)return!1;let a=!!(64&i),s=!!(128&i);const o=!!(2048&i),m=!!(4096&i);!(512&i)&&!(1024&i)||s||(a=!0),s&&!t.equals(n)?(s=!1,a=!0):a&&t.equals(n)&&(s=!0,a=!1),s?(e.m_center.assign(t),e.m_startAngle=e.m_center.x,e.m_sweepAngle=e.m_center.y,(0,u.F)(e,Number.NaN,o,m),e.m_semiMajorAxis=0,e.m_interior.setCoordsPoint2D(t)):a?(e.m_center.setNAN(),e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,(0,u.A)(e),e.queryCoord2D(.5,e.m_interior)):e.constructEllipticArcEndPointsCenter(t,n,e.m_semiMajorAxis,e.m_minorMajorRatio,e.m_rotation,!m,o,e.m_center),e.setProjectionBehavior(1),(0,u.A)(e)}(e,t,n,c)}(e.get(),n,d,h,_,p,b,y,g);else if("b"===c)e.createCubicBezier(),function(e,t,n,r){e.dropAllAttributes();const s=new ArrayBuffer(32),o=new f({sz:32,buffer:s});let u=0;o.writeDouble(u,r[0].x),u+=8,o.writeDouble(u,r[0].y),u+=8,o.writeDouble(u,r[1].x),u+=8,o.writeDouble(u,r[1].y),u+=8,function(e,t,n,r){(0,i.g)(32<=r.size()),e.m_cp=(0,a.m)(a.P,2),e.m_cp[0].x=r.readDouble(0),e.m_cp[0].y=r.readDouble(8),e.m_cp[1].x=r.readDouble(16),e.m_cp[1].y=r.readDouble(24),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y}(e,t,n,o)}(e.get(),n,d,N);else if("n"===c)e.createQuadraticRationalBezier(),function(e,t,n,r,i,a,s){e.dropAllAttributes();const o=new ArrayBuffer(40),u=new f({sz:40,buffer:o});let m=0;u.writeDouble(m,r.x),m+=8,u.writeDouble(m,r.y),m+=8,u.writeDouble(m,i),m+=8,u.writeDouble(m,a),m+=8,u.writeDouble(m,s),m+=8,function(e,t,n,r){e.m_cp.x=r.readDouble(0),e.m_cp.y=r.readDouble(8),e.m_weights[0]=r.readDouble(16),e.m_weights[1]=r.readDouble(24),e.m_weights[2]=r.readDouble(32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y}(e,t,n,u)}(e.get(),n,d,N[0],N[1].x,N[1].y,N[2].x);else if("q"===c)e.createQuadraticBezier(),e.get().construct(n,N[0],d);else{e.createEllipticArc();const t=!1;S(e.get(),n,d,v,t,-1,-1)}return o}function S(e,t,n,r,s,o,m){e.dropAllAttributes();const l=new ArrayBuffer(20),c=new f({sz:20,buffer:l});let d=0;c.writeDouble(d,r.x),d+=8,c.writeDouble(d,r.y),d+=8;let h=0;s?(m||(h|=8),o&&(h|=16)):h|=128,c.writeInt32(d,h),d+=4,function(e,t,n,r){0>=r.size()&&(0,i.r)("Byte_buffer out of range access"),e.m_bits=0,e.m_rotation=0,e.m_cosr=1,e.m_sinr=0,e.setStartXY(t),e.setEndXY(n);const s=a.P.getNAN();s.x=r.readDouble(0),s.y=r.readDouble(8);const o=r.readInt32(16);if(1&o)return e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.assign(s),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,(0,u.A)(e),!1;let m=!!(64&o);const l=!!(128&o);let c=!!(32&o);const d=!!(8&o),h=!!(16&o),_=t.equals(n);m&&!_&&(m=!1,c=!0),c&&_&&(m=!0,c=!1,s.setCoords(0,0)),m||(l?c?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_interior.assign(s),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0):(e.constructCircularArcThreePoint(t,n,s),_&&d===e.isClockwise()&&e.reverse()):c?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,(0,u.A)(e),e.queryCoord2D(.5,e.m_interior)):(0,u.B)(e,t,n,s,d,h)),m&&(e.m_center.assign(t),e.m_startAngle=s.x,e.m_sweepAngle=s.y,(0,u.F)(e,Number.NaN,d,h),e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.setCoordsPoint2D(t)),e.setProjectionBehavior(0),(0,u.A)(e)}(e,t,n,c)}function w(e,t,n,r,a){const s=e.getGeometryType();if(s===i.G.enumEllipticArc)return function(e,t,n,r,a){(0,i.g)(!(0,u.z)(e));const s=e.getEndXY(),o=e.hasAttribute(1)&&!t,m=e.hasAttribute(2)&&!n;let l=Number.NaN,c=Number.NaN;if(o&&(l=e.getEndAttributeAsDbl(1,0)),m&&(c=e.getEndAttributeAsDbl(2,0)),e.isDegenerateToLine()||e.isDegenerate(0))return D(o,m,s.x,s.y,l,c,r,a),!0;const d=0===e.projectionBehavior(),h=!!d&&e.isClosed();if(d&&!h)a.startObject(),a.addFieldName("c"),a.startArray(),D(o,m,s.x,s.y,l,c,r,a),F(e.m_interior.x,e.m_interior.y,17,a),a.endArray(),a.endObject();else if(d){a.startObject(),a.addFieldName("a"),a.startArray(),D(o,m,s.x,s.y,l,c,r,a);const t=0,n=0;F(e.m_center.x+t,e.m_center.y+n,17,a);const i=!e.isMajor();a.addInt32(i?1:0);const u=e.isClockwise();a.addInt32(u?1:0),a.endArray(),a.endObject()}else{a.startObject(),a.addFieldName("a"),a.startArray(),D(o,m,s.x,s.y,l,c,r,a);const t=e;F(t.m_center.x,t.m_center.y,17,a);const n=!t.isMajor();a.addInt32(n?1:0);const i=t.isClockwise();a.addInt32(i?1:0),a.addDouble(t.m_rotation,17),a.addDouble(t.m_semiMajorAxis,17),a.addDouble(t.m_minorMajorRatio,17),a.endArray(),a.endObject()}return!1}(e,t,n,r,a);if(s===i.G.enumBezier)return C(e,t,n,r,a);if(s===i.G.enumRationalBezier2)return function(e,t,n,r,i){const a=e.getEndXY(),s=e.hasAttribute(1)&&!t,o=e.hasAttribute(2)&&!n;let u=Number.NaN,m=Number.NaN;s&&(u=e.getEndAttributeAsDbl(1,0)),o&&(m=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName("n"),i.startArray(),D(s,o,a.x,a.y,u,m,r,i),F(e.m_cp.x,e.m_cp.y,r,i);const l=r;return i.addDouble(e.m_weights[0],l),i.addDouble(e.m_weights[1],l),i.addDouble(e.m_weights[2],l),i.endArray(),i.endObject(),!1}(e,t,n,r,a);if(s===i.G.enumBezier2){const i=new u.y;return i.constructFromQuadraticSegment(e),C(i,t,n,r,a)}(0,i.t)("")}function C(e,t,n,r,i){const a=e.getEndXY(),s=e.hasAttribute(1)&&!t,o=e.hasAttribute(2)&&!n;let u=Number.NaN,m=Number.NaN;return s&&(u=e.getEndAttributeAsDbl(1,0)),o&&(m=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName("b"),i.startArray(),D(s,o,a.x,a.y,u,m,r,i),F(e.m_cp[0].x,e.m_cp[0].y,r,i),F(e.m_cp[1].x,e.m_cp[1].y,r,i),i.endArray(),i.endObject(),!1}function D(e,t,n,r,i,a,s,o){o.startArray(),o.addDouble(n,s),o.addDouble(r,s),e&&o.addDouble(i,s),t&&o.addDouble(a,s),o.endArray()}function F(e,t,n,r){r.startArray(),r.addDouble(e,n),r.addDouble(t,n),r.endArray()}function O(e,t,n,r){const a=n.getImpl(),s=!!(2&t),m=!!(4&t),l=!!(8&t),c=a.hasAttribute(1)&&!s,d=a.hasAttribute(2)&&!m,h=a.hasAttribute(3)&&!l,_=a.hasNonLinearSegments();c&&(r.addFieldName("hasZ"),r.addBool(!0)),d&&(r.addFieldName("hasM"),r.addBool(!0)),e?_?r.addFieldName("curveRings"):r.addFieldName("rings"):_?r.addFieldName("curvePaths"):r.addFieldName("paths");let f=null;const p=[];if(n.isEmpty())r.startArray(),r.endArray();else{const e=17-(31&t>>13);r.startArray();const l=n.getPathCount();let k=0;const b=a.getAttributeStreamRef(0);let y=null,g=null,T=null;const N=new u.S;let v=null,A=null,x=null;_&&(v=a.getSegmentFlagsStreamRef(),A=a.getSegmentIndexStreamRef(),x=a.getSegmentDataStreamRef()),c&&(y=a.getAttributeStreamRef(1)),d&&(g=a.getAttributeStreamRef(2)),h&&(T=a.getAttributeStreamRef(3),f=(0,o.v)(3,0));for(let t=0;t<l;t++){r.startArray(),h&&p.push(0);const a=n.getPathEnd(t);if(k===a){r.endArray();continue}const o=n.isClosedPath(t);let u=b.read(2*k),l=b.read(2*k+1),_=c?y.read(k):Number.NaN,S=d?g.read(k):Number.NaN,C=h?T.read(k):0;j(c,d,u,l,_,S,e,r);let D=1;h&&(f.add(C),p[p.length-1]++);const F=u,O=l,G=_,I=S,z=C;let P=!1,E=0,B=Number.NaN,R=Number.NaN,M=0;for(let t=k+1,n=k,V=o?a+1:a;t<V;t++,n++){const o=null!==v?31&v.read(n):1;let k,V;if(t<a?(k=b.read(2*t),V=b.read(2*t+1),c&&(B=y.read(t)),d&&(R=g.read(t)),h&&(M=T.read(t))):(k=F,V=O,B=G,R=I,M=z),1!==o){P=!0,4===o?N.createEllipticArc():2===o?N.createCubicBezier():16===o?N.createQuadraticBezier():8===o?N.createQuadraticRationalBezier():(0,i.t)("JSON export.unsupported curve");const t=N.get(),a=A.read(n);t.setStartXYCoords(u,l),t.setEndXYCoords(k,V),c&&(t.setStartAttribute(1,0,_),t.setEndAttribute(1,0,B)),d&&(t.setStartAttribute(2,0,S),t.setEndAttribute(2,0,R)),t.readFromBufferStream(x,a),w(N.get(),s,m,e,r)&&E++}else j(c,d,k,V,B,R,e,r);h&&(f.add(M),p[p.length-1]++),D++,u=k,l=V,_=B,S=R,C=M}P&&0===E||(D<2&&E<1&&(j(c,d,u,l,_,S,e,r),D++,h&&(f.add(C),p[p.length-1]++)),o&&D<3&&E<2&&(j(c,d,F,O,G,I,e,r),D++,u=F,l=O,_=G,S=I,C=z,h&&(f.add(z),p[p.length-1]++))),r.endArray(),k=a}r.endArray()}if(h){r.addFieldName("ids"),r.startArray();let e=0;for(let t=0,n=p.length;t<n;++t){const n=p[t];(0,i.g)(0===n||null!==f&&e+n<=f.size()),r.startArray();for(let t=0;t<n;++t)r.addInt32(f.read(e)),e++;r.endArray()}r.endArray()}}function j(e,t,n,r,i,a,s,o){o.startArray(),o.addDouble(n,s),o.addDouble(r,s),e&&o.addDouble(i,s),t&&o.addDouble(a,s),o.endArray()}const G="a".charCodeAt(0),I="A".charCodeAt(0),z="*".charCodeAt(0),P="b".charCodeAt(0),E="\\".charCodeAt(0),B="[".charCodeAt(0),R="{".charCodeAt(0),M=":".charCodeAt(0),V=".".charCodeAt(0),U=",".charCodeAt(0),W='"'.charCodeAt(0),X="]".charCodeAt(0),L="}".charCodeAt(0),Y="e".charCodeAt(0),K="E".charCodeAt(0),q="f".charCodeAt(0),J="F".charCodeAt(0),Z="/".charCodeAt(0),H="-".charCodeAt(0),Q="+".charCodeAt(0),$="n".charCodeAt(0),ee="N".charCodeAt(0),te="r".charCodeAt(0),ne="t".charCodeAt(0),re="u".charCodeAt(0),ie="0".charCodeAt(0),ae="9".charCodeAt(0);class se{constructor(e){this.m_functionStack=[],this.m_pushPositions=[],this.m_utf8Decoder=new TextDecoder("utf-8",{fatal:!0}),void 0===e?(this.m_startToken=Number.MAX_SAFE_INTEGER,this.m_endToken=0,this.m_currentTokenType=0,this.m_functionStack.push(()=>this.accept_()),this.m_jsonString=null,this.m_bHasEscapes=!1):e.jsonString?this.resetParserFromString(e.jsonString):e.jsonStream?(0,i.t)("streaming json parsing not yet impl"):(0,i.d)("invalid constructor parameter")}prepSubstrString_(){}getCurrentSubstrString_(){return this.m_jsonString.slice(this.m_startToken,this.m_endToken)}stepOverCharString_(){this.m_endToken++}peekCharString_(){return this.m_jsonString.charCodeAt(this.m_endToken)}getString_(e){const t=this.m_jsonString?.slice(this.m_startToken,this.m_startToken+e-1);return this.m_endToken+=e-1,{s:t,bDone:this.m_endToken>=this.m_jsonString.length}}incrementString_(){this.m_endToken++}eofString_(){return this.m_endToken>=this.m_jsonString.length}setStringFunctions_(){this.m_prepSubstr=this.prepSubstrString_,this.m_getCurrentSubstr=this.getCurrentSubstrString_,this.m_stepOverChar=this.stepOverCharString_,this.m_peekChar=this.peekCharString_,this.m_get=this.getString_,this.m_increment=this.incrementString_,this.m_eof=this.eofString_}setStreamFunctions_(){(0,i.t)("streaming json parsing not yet impl")}reset_(){this.m_jsonString=null,this.m_endToken=0,this.m_startToken=Number.MAX_SAFE_INTEGER,this.m_currentTokenType=0,this.m_bHasEscapes=!1,this.m_functionStack.length=0,this.m_functionStack.push(()=>this.start_()),this.m_pushPositions.length=0}resetParserFromString(e){this.reset_(),this.setStringFunctions_(),this.m_jsonString=e}resetParserFromStream(e){(0,i.t)("streaming json parsing not yet impl")}resetToPosition(e){return!!this.m_jsonString&&(this.m_endToken=e,this.m_startToken=Number.MAX_VALUE,this.m_currentTokenType=0,this.m_functionStack.length=0,e>=this.m_jsonString.length?(this.m_functionStack.push(()=>this.accept_()),!1):(this.m_functionStack.push(()=>this.start_()),!0))}nextToken(){return this.m_functionStack.at(-1)(),this.m_currentTokenType}currentToken(){return this.m_currentTokenType}currentTokenStartIndex(){return this.m_startToken}currentTokenEndIndex(){return this.m_endToken}currentText(){return(0,i.g)(0),""}childrenAsString(){return(0,i.g)(0),""}skipChildren(){this.skipChildren_()}skipChildren_(){if(1===this.m_currentTokenType){let e=1;do{this.m_currentTokenType=this.nextToken(),1===this.m_currentTokenType?e++:3===this.m_currentTokenType&&e--}while(3!==this.m_currentTokenType||0!==e);return}if(2===this.m_currentTokenType){let e=1;do{this.m_currentTokenType=this.nextToken(),2===this.m_currentTokenType?e++:4===this.m_currentTokenType&&e--}while(4!==this.m_currentTokenType||0!==e);return}}currentTerminalAsString_(){switch(this.m_currentTokenType){case 7:case 8:case 9:return this.m_getCurrentSubstr().slice(0,this.m_endToken-this.m_startToken);case 10:return"null";case 11:return"true";case 12:return"false"}(0,i.a)("invalid token")}toUTF8_(e,t){let n=0,r=e;for(;t.charCodeAt(r)===E&&t.charCodeAt(r+1)===re;)n++,r+=6;r=e;const i=new Uint8Array(n);let a=0;for(;t.charCodeAt(r)===E&&t.charCodeAt(r+1)===re;)i[a++]=Number.parseInt(t.slice(r+2,r+6),16),r+=6;return{u8s:this.m_utf8Decoder.decode(i),end:r}}unquoteCurrentString_(){let e="",t=1;const n=this.m_endToken-this.m_startToken-1;let r=0;const i=this.m_getCurrentSubstr();for(let a=t;a<n;a++)if(i.charCodeAt(a)!==E)r++;else{switch(r>0&&(e+=i.slice(t,t+r)),i.charCodeAt(++a)){case W:e+='"';break;case re:{const{u8s:t,end:n}=this.toUTF8_(a-1,i);a=n-1,e+=t;break}case E:e+="\\";break;case Z:e+="/";break;case P:e+="\b";break;case q:e+="\f";break;case $:e+="\n";break;case te:e+="\r";break;case ne:e+="\t"}t=a+1,r=0}return r>0&&(e+=i.slice(t,t+r)),e}currentString(){return 5!==this.m_currentTokenType&&6!==this.m_currentTokenType?this.currentTerminalAsString_():this.m_bHasEscapes?this.unquoteCurrentString_():this.m_getCurrentSubstr().slice(1,this.m_endToken-this.m_startToken-2+1)}currentDoubleValue(){if(7!==this.m_currentTokenType&&8!==this.m_currentTokenType&&9!==this.m_currentTokenType&&6!==this.m_currentTokenType&&10!==this.m_currentTokenType&&(0,i.a)("invalid token"),10===this.m_currentTokenType)return Number.NaN;let e=this.m_getCurrentSubstr(),t=this.m_endToken-this.m_startToken;if(6===this.m_currentTokenType){if("NaN"===this.currentString())return Number.NaN;e=e.slice(1),t-=2,0===t&&(0,i.a)("invalid token")}const n=Number.parseFloat(e);if(6===this.m_currentTokenType)Number.isNaN(n)&&(0,i.a)("invalid token");else if(Number.isNaN(n))return Number.NaN;return n}currentInt32Value(){8!==this.m_currentTokenType&&6!==this.m_currentTokenType&&(0,i.a)("invalid token");let e=this.m_getCurrentSubstr(),t=this.m_endToken-this.m_startToken;6===this.m_currentTokenType&&(e=e.slice(1),t-=2,0===t&&(0,i.a)("invalid token"));const n=parseInt(e);return Number.isNaN(n)&&(0,i.a)("invalid token"),n}currentInt64Value(){return(0,i.g)(0),0n}currentBoolValue(){return(0,i.g)(0),!1}isError(){return 0}JSONString(){return(0,i.g)(0),""}pushPosition(){return(0,i.g)(0),!1}popPosition(){return(0,i.g)(0),!1}skipCStyleComments_(){(0,i.g)(0)}skipCppStyleComments_(){(0,i.g)(0)}skipComments_(){this.m_prepSubstr();let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar(),e===z?this.skipCStyleComments_():e===Z?this.skipCppStyleComments_():(0,i.a)("invalid token")}skipWhiteSpace_(){let e;do{this.m_eof()&&(0,i.a)("invalid token");let t=this.m_peekChar();for(;t>=9&&t<=13||32===t;)this.m_increment(),this.m_eof()&&(0,i.a)("invalid token"),t=this.m_peekChar();t===Z?(this.m_startToken=this.m_endToken,e=!0,this.skipComments_()):e=!1}while(e)}rightBracket_(){return this.m_peekChar()===X&&(this.m_startToken=this.m_endToken,this.m_increment(),this.m_currentTokenType=4,!0)}rightBrace_(){return this.m_peekChar()===L&&(this.m_startToken=this.m_endToken,this.m_increment(),this.m_currentTokenType=3,!0)}string_(){this.m_prepSubstr(),this.m_bHasEscapes=!1,this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token");let e=this.m_peekChar();for(;e!==W;){const t=e===E;if(this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar(),t)if(this.m_bHasEscapes=!0,e===W||e===E||e===Z||e===P||e===q||e===$||e===te||e===ne)this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar();else if(e===re)for(let t=0;t<4;t++)this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar(),e>=ie&&e<=ae||e>=G&&e<=q||e>=I&&e<=J||(0,i.a)("invalid token");else(0,i.a)("invalid token")}this.m_stepOverChar()}comma_(){return this.m_peekChar()===U&&(this.m_increment(),!0)}colon_(){return this.m_peekChar()===M&&(this.m_increment(),!0)}fieldNameEnd_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.colon_()?(this.skipWhiteSpace_(),this.value_()):(0,i.a)("invalid token")}fieldNameStart_(){this.m_startToken=this.m_endToken,this.m_peekChar()!==W&&(0,i.a)("invalid token"),this.string_(),this.m_currentTokenType=5,this.m_functionStack.push(()=>this.fieldNameEnd_())}pairEnd_(){this.skipWhiteSpace_(),this.comma_()?(this.skipWhiteSpace_(),this.fieldNameStart_()):this.rightBrace_()?this.m_functionStack.pop():(0,i.a)("invalid token")}arrayStart_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.rightBracket_()||(this.m_functionStack.push(()=>this.elementEnd_()),this.value_())}elementEnd_(){this.skipWhiteSpace_(),this.comma_()?(this.skipWhiteSpace_(),this.value_()):this.rightBracket_()?this.m_functionStack.pop():(0,i.a)("invalid token")}objectStart_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.rightBrace_()||(this.m_functionStack.push(()=>this.pairEnd_()),this.fieldNameStart_())}valueStartObject_(){this.m_increment(),this.m_currentTokenType=1,this.m_functionStack.push(()=>this.objectStart_())}valueStartArray_(){this.m_increment(),this.m_currentTokenType=2,this.m_functionStack.push(()=>this.arrayStart_())}valueString_(){this.string_(),this.m_currentTokenType=6}int_(){this.m_peekChar()!==ie?this.digits_():this.m_stepOverChar()}digits_(){let e=this.m_peekChar();do{this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar()}while(e>=ie&&e<=ae)}frac_(){let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar(),e>=ie&&e<=ae||(0,i.a)("invalid token"),this.digits_()}exp_(){let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar(),e!==Q&&e!==H||(this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),e=this.m_peekChar()),e>=ie&&e<=ae||(0,i.a)("invalid token"),this.digits_()}valueNumber_(){this.m_prepSubstr();let e=!1,t=this.m_peekChar();if(t===H?(this.m_stepOverChar(),this.m_eof()&&(0,i.a)("invalid token"),t=this.m_peekChar(),e=!0,t>=ie&&t<=ae||(0,i.a)("invalid token"),this.int_()):this.int_(),t=this.m_peekChar(),t===V)this.m_currentTokenType=7,this.frac_(),t=this.m_peekChar(),t!==Y&&t!==K||this.exp_();else if(t===Y||t===K)this.m_currentTokenType=7,this.exp_();else{let t=0;e&&t++;const n=this.m_endToken-this.m_startToken-t;if(n<10)this.m_currentTokenType=8;else if(10===n){const n=this.m_getCurrentSubstr();e?n.slice(t)<="2147483648"?this.m_currentTokenType=8:this.m_currentTokenType=9:n.slice(t)<="2147483647"?this.m_currentTokenType=8:this.m_currentTokenType=9}else if(n<19)this.m_currentTokenType=9;else if(19===n){const n=this.m_getCurrentSubstr();e?n.slice(t)<="9223372036854775808"?this.m_currentTokenType=9:this.m_currentTokenType=7:n.slice(t)<="9223372036854775807"?this.m_currentTokenType=9:this.m_currentTokenType=7}else this.m_currentTokenType=7}}valueNull_(){const{s:e,bDone:t}=this.m_get(5);t&&(0,i.a)("invalid token"),"null"!==e&&(0,i.a)("invalid token"),this.m_currentTokenType=10}valueTrue_(){const{s:e,bDone:t}=this.m_get(5);t&&(0,i.a)("invalid token"),"true"!==e&&(0,i.a)("invalid token"),this.m_currentTokenType=11}valueFalse_(){const{s:e,bDone:t}=this.m_get(6);t&&(0,i.a)("invalid token"),"false"!==e&&(0,i.a)("invalid token"),this.m_currentTokenType=12}valueNan_(){const{s:e,bDone:t}=this.m_get(4);t&&(0,i.a)("invalid token"),"NaN"!==e&&(0,i.a)("invalid token"),this.m_currentTokenType=7}value_(){this.m_startToken=this.m_endToken;const e=this.m_peekChar();e===R?this.valueStartObject_():e===B?this.valueStartArray_():e===W?this.valueString_():e===H||e>=ie&&e<=ie+9?this.valueNumber_():e===$?this.valueNull_():e===ne?this.valueTrue_():e===q?this.valueFalse_():e===ee?this.valueNan_():(0,i.a)("invalid token")}start_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.m_functionStack.push(()=>this.accept_());const e=this.m_peekChar();e!==R&&e!==B&&(0,i.a)("invalid token"),this.value_()}accept_(){this.m_startToken=this.m_endToken,this.m_currentTokenType=0}}const oe=new class{constructor(){this.m_pendingKey=null,this.m_acceptedObject=null,this.m_currentObject=[]}reset(){this.m_pendingKey=null,this.m_acceptedObject=null,this.m_currentObject.length=0}startObject(){const e={};this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}startArray(){const e=[];this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}endObject(){this.m_acceptedObject=this.m_currentObject.at(-1),this.m_currentObject.pop()}endArray(){this.m_currentObject.pop()}addFieldName(e){this.m_pendingKey=e}addValue_(e){this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):this.m_currentObject.at(-1).push(e)}addString(e){this.addValue_(e)}addDouble(e,t){this.addValue_(e)}addInt64(e){(0,i.g)(0)}addInt32(e){this.addValue_(e)}addBool(e){this.addValue_(e)}addNull(){this.addValue_(null)}getObject(){return this.m_acceptedObject}},ue=new class{getOperatorType(){return 10405}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,n,r,a,o){!function(e,t,n,r){if(t||n){if(r.startObject(),null!==t)switch(t.getGeometryType()){case i.G.enumPolygon:O(!0,e,t,r);break;case i.G.enumPolyline:O(!1,e,t,r);break;case i.G.enumMultiPoint:!function(e,t,n){const r=t.getImpl(),a=r.hasAttribute(1)&&!(2&e),s=r.hasAttribute(2)&&!(4&e),o=r.hasAttribute(3)&&!(8&e);a&&(n.addFieldName("hasZ"),n.addBool(!0)),s&&(n.addFieldName("hasM"),n.addBool(!0)),n.addFieldName("points");const u=t.getPointCount();if(t.isEmpty())n.startArray(),n.endArray();else{const t=17-(31&e>>13);n.startArray();const i=r.getAttributeStreamRef(0);let o=null,m=null;a&&(o=r.getAttributeStreamRef(1)),s&&(m=r.getAttributeStreamRef(2));for(let e=0;e<u;e++){const r=i.read(2*e),u=i.read(2*e+1);let l=Number.NaN,c=Number.NaN;a&&(l=o.read(e)),s&&(c=m.read(e)),j(a,s,r,u,l,c,t,n)}n.endArray()}if(o){let e=null;r.isEmpty()||(e=r.getAttributeStreamRef(3)),(0,i.g)(0===u||null!==e&&e.size()>=u),n.addFieldName("ids"),n.startArray();for(let t=0;t<u;t++)n.addInt32(e.read(t));n.endArray()}}(e,t,r);break;case i.G.enumPoint:!function(e,t,n){const r=t.hasAttribute(1)&&!(2&e),i=t.hasAttribute(2)&&!(4&e),a=t.hasAttribute(3)&&!(8&e);if(t.isEmpty())return n.addFieldName("x"),n.addNull(),n.addFieldName("y"),n.addNull(),r&&(n.addFieldName("z"),n.addNull()),i&&(n.addFieldName("m"),n.addNull()),void(a&&(n.addFieldName("id"),n.addInt32(0)));const s=17-(31&e>>13);n.addFieldName("x"),n.addDouble(t.getX(),s),n.addFieldName("y"),n.addDouble(t.getY(),s),r&&(n.addFieldName("z"),n.addDouble(t.getZ(),s)),i&&(n.addFieldName("m"),n.addDouble(t.getM(),s)),a&&(n.addFieldName("id"),n.addInt32(t.getID()))}(e,t,r);break;case i.G.enumEnvelope:!function(e,t,n){const r=t.hasAttribute(1)&&!(2&e),i=t.hasAttribute(2)&&!(4&e),a=t.hasAttribute(3)&&!(8&e);if(t.isEmpty())return n.addFieldName("xmin"),n.addNull(),n.addFieldName("ymin"),n.addNull(),n.addFieldName("xmax"),n.addNull(),n.addFieldName("ymax"),n.addNull(),r&&(n.addFieldName("zmin"),n.addNull(),n.addFieldName("zmax"),n.addNull()),i&&(n.addFieldName("mmin"),n.addNull(),n.addFieldName("mmax"),n.addNull()),void(a&&(n.addFieldName("idmin"),n.addInt32(0),n.addFieldName("idmax"),n.addInt32(0)));const s=17-(31&e>>13);if(n.addFieldName("xmin"),n.addDouble(t.getXMin(),s),n.addFieldName("ymin"),n.addDouble(t.getYMin(),s),n.addFieldName("xmax"),n.addDouble(t.getXMax(),s),n.addFieldName("ymax"),n.addDouble(t.getYMax(),s),r){const e=t.queryInterval(1,0);n.addFieldName("zmin"),n.addDouble(e.vmin,s),n.addFieldName("zmax"),n.addDouble(e.vmax,s)}if(i){const e=t.queryInterval(2,0);n.addFieldName("mmin"),n.addDouble(e.vmin,s),n.addFieldName("mmax"),n.addDouble(e.vmax,s)}if(a){const e=t.queryInterval(3,0);n.addFieldName("idmin"),n.addInt32(e.vmin),n.addFieldName("idmax"),n.addInt32(e.vmax)}}(e,t,r);break;case i.G.enumMultipatch:(0,i.g)(0);break;default:(0,i.d)("exportToJSON")}null!==n&&(r.addFieldName("spatialReference"),function(e,t,n){n.startObject();let r=0;t.isCustomWkid()||(r=t.getOldID());let a=0;const o=t.getVCS();if(null!==o&&(o.isCustomWkid()||(a=o.getOldID()),a<=0&&(r=0)),r>0){n.addFieldName("wkid"),n.addInt32(r);const e=t.getLatestID();if(e>0&&e!==r&&(n.addFieldName("latestWkid"),n.addInt32(e)),a>0){n.addFieldName("vcsWkid"),n.addInt32(a);const e=t.getLatestVerticalID();e!==a&&(n.addFieldName("latestVcsWkid"),n.addInt32(e))}}if(0===t.getCoordinateSystemType())n.addFieldName("wkid"),n.addNull(),null!==t.getUnit()&&(n.addFieldName("unit"),function(e,t,n){n.startObject();const r=t.getID();r<=0&&(0,i.a)("cannot export unit that has no valid WKID"),n.addFieldName("uwkid"),n.addInt32(r),n.endObject()}(0,t.getUnit(),n));else if(r<=0||1&e){let r="";64&e&&(r=t.getText2(),n.addFieldName("wkt2"),n.addString(r));const i=t.getText();i!==r&&(n.addFieldName("wkt"),n.addString(i))}if(16&e){const e=new s.aM;t.queryPrecisionDescriptor(e),n.addFieldName("xyTolerance"),n.addDouble(e.getTolerance(0)),n.addFieldName("zTolerance"),n.addDouble(e.getTolerance(1)),n.addFieldName("mTolerance"),n.addDouble(e.getTolerance(2)),n.addFieldName("falseX"),n.addDouble(e.getFalseX()),n.addFieldName("falseY"),n.addDouble(e.getFalseY()),n.addFieldName("xyUnits"),n.addDouble(e.getGridUnitsXY()),n.addFieldName("falseZ"),n.addDouble(e.getFalseZ()),n.addFieldName("zUnits"),n.addDouble(e.getGridUnitsZ()),n.addFieldName("falseM"),n.addDouble(e.getFalseM()),n.addFieldName("mUnits"),n.addDouble(e.getGridUnitsM())}n.endObject()}(e,n,r)),r.endObject()}}(e,t,n,r)}exportSpatialReference(e,t,n,r){(0,i.g)(0)}exportProjectionTransformation(e,t,n,r){(0,i.g)(0)}exportDatumTransformation(e,t,n,r){(0,i.g)(0)}static geometryTypeToString(e){return(0,i.g)(0),""}},me=new class{getOperatorType(){return 10404}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,n,r,a,m,l){let c;"string"==typeof n?(c=new se({jsonString:n}),c.nextToken()):c=n,1!==c.currentToken()&&(0,i.a)("failed to import map geometry: start of object is expected");const d=function(e,t,n,r,a){let s=!1,m=!1,l=!1,c=!1,d=!1,h=!1,_=!1,f=!1,p=!1,v=!1,A=!1,x=!1,S=!1,w=!1,C=!1,D=!1,F=!1,O=!1,j=!1,G=!1,I=!1,z=!1,P=!1,E=!1,B=Number.NaN,R=Number.NaN,M=Number.NaN,V=Number.NaN,U=0,W=Number.NaN,X=Number.NaN,L=Number.NaN,Y=Number.NaN,K=Number.NaN,q=Number.NaN,J=Number.NaN,Z=Number.NaN,H=0,Q=0,$=!1,ee=!1,te=null,ne=null,re=null,ie=null,ae=null;for(;3!==n.nextToken();){const t=n.currentString();if(n.nextToken(),"spatialReference"===t){if(a&&!s){s=!0,1===n.currentToken()?ie=k(n):10!==n.currentToken()&&(0,i.a)("failed to parse spatial reference: object or null is expected");continue}}else if(r)if("hasZ"===t){if(!m){m=!0,$=11===n.currentToken();continue}}else if("hasM"===t){if(!l){l=!0,ee=11===n.currentToken();continue}}else if("rings"===t){if(!(d||h||e!==i.G.enumUnknown&&e!==i.G.enumPolygon)){d=!0,({geometry:ae,as:te,bs:ne}=b(!0,!1,0,n));continue}}else if("curveRings"===t){if(!h&&(e===i.G.enumUnknown||e===i.G.enumPolygon)){h=!0,({geometry:ae,as:te,bs:ne}=b(!0,!0,0,n));continue}}else if("paths"===t){if(!(_||f||e!==i.G.enumUnknown&&e!==i.G.enumPolyline)){_=!0,({geometry:ae,as:te,bs:ne}=b(!1,!1,0,n));continue}}else if("curvePaths"===t){if(!f&&(e===i.G.enumUnknown||e===i.G.enumPolyline)){f=!0,({geometry:ae,as:te,bs:ne}=b(!1,!0,0,n));continue}}else if("points"===t){if(!p&&(e===i.G.enumUnknown||e===i.G.enumMultiPoint)){p=!0,({geometry:ae,as:te,bs:ne}=y(0,n));continue}}else if("ids"===t){if(!c){c=!0,re=g(0,n);continue}}else if("x"===t){if(!v&&(e===i.G.enumUnknown||e===i.G.enumPoint)){v=!0,B=T(n);continue}}else if("y"===t){if(!A&&(e===i.G.enumUnknown||e===i.G.enumPoint)){A=!0,R=T(n);continue}}else if("z"===t){if(!x&&(e===i.G.enumUnknown||e===i.G.enumPoint)){x=!0,M=T(n);continue}}else if("m"===t){if(!S&&(e===i.G.enumUnknown||e===i.G.enumPoint)){S=!0,V=T(n);continue}}else if("id"===t){if(!w&&(e===i.G.enumUnknown||e===i.G.enumPoint)){w=!0,U=N(n);continue}}else if("xmin"===t){if(!C&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){C=!0,W=T(n);continue}}else if("ymin"===t){if(!D&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){D=!0,X=T(n);continue}}else if("mmin"===t){if(!I&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){I=!0,J=T(n);continue}}else if("zmin"===t){if(!j&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){j=!0,K=T(n);continue}}else if("idmin"===t){if(!P&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){P=!0,H=N(n);continue}}else if("xmax"===t){if(!F&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){F=!0,L=T(n);continue}}else if("ymax"===t){if(!O&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){O=!0,Y=T(n);continue}}else if("mmax"===t){if(!z&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){z=!0,Z=T(n);continue}}else if("zmax"===t){if(!G&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){G=!0,q=T(n);continue}}else if("idmax"===t){if(!E&&(e===i.G.enumUnknown||e===i.G.enumEnvelope)){E=!0,Q=N(n);continue}}else"materials"===t&&(0,i.g)(0);n.skipChildren()}if(d||h||_||f||p){let e=null,t=null;const n=ae;$&&(ae.addAttribute(1),e=te,e||(e=(0,o.G)(n.getPointCount(),Number.NaN))),ee&&(ae.addAttribute(2),t=$?ne:te),null!=re&&ae.addAttribute(3),$&&null!=e&&n.setAttributeStreamRef(1,e),ee&&null!=t&&n.setAttributeStreamRef(2,t),null!=re&&function(e,t){if(e.isEmpty())return;const n=(0,o.M)(2,0),r=e.getGeometryType();let a=0;r===u.M.type?a=1:r===u.a.type||r===u.P.type?a=e.getPathCount():(0,i.d)("not implemented"),n.resize(e.getPointCount(),0);let s=0;for(let o=0;o<a;++o){const a=t.read(s);s++;const m=s+a;let l=0,c=0;r===u.M.type?l=e.getPointCount():r===u.a.type||r===u.P.type?(l=e.getPathSize(o),c=e.getPathStart(o)):(0,i.d)("not implemented");for(let e=0,r=Math.min(a,l);e<r;++e)n.write(c,t.read(s)),s++,c++;s=m}e.getImpl().setAttributeStreamRef(3,n)}(n,re)}else if(v||A||S||x||w){(0,o.K)(B,R)||(0,i.a)("failed to parse point: x and y must be finite or nan"),(Number.isNaN(R)||Number.isNaN(B))&&(B=Number.NaN,R=Number.NaN);const e=new o.P({x:B,y:R});x&&e.setZ(M),S&&e.setM(V),w&&e.setID(U),ae=e}else if(C||D||F||O||j||G||I||z||P||E){(Number.isNaN(X)||Number.isNaN(L)||Number.isNaN(Y))&&(W=Number.NaN);const e=new o.E({xmin:W,ymin:X,xmax:L,ymax:Y});j&&G&&e.setInterval(1,0,K,q),I&&z&&e.setInterval(2,0,J,Z),P&&E&&e.setInterval(3,0,H,Q),ae=e}return{...ae?{geom:ae}:{},...ie?{sr:ie}:{}}}(t,0,c,r,a);return new s.aO(d)}importSpatialReference(e){const t=k(e);return null===t&&(0,i.d)("failed to import spatial reference"),t}importProjectionTransformation(e,t){return(0,i.g)(0),{}}importDatumTransformation(e,t){return(0,i.g)(0),{}}static stringToGeometryType(e){return(e=e.toLowerCase()).startsWith("esrigeometry")||(0,i.a)("string_to_geometry_type"),e.endsWith("point")?i.G.enumPoint:e.endsWith("envelope")?i.G.enumEnvelope:e.endsWith("multipoint")?i.G.enumMultiPoint:e.endsWith("polyline")?i.G.enumPolyline:e.endsWith("polygon")?i.G.enumPolygon:void(0,i.a)("string_to_geometry_type")}};function le(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function ce(e,t=!1){if(!t&&((0,c.fT)(e)||(0,c.U9)(e)||(0,c.Rg)(e)||(0,c.Bi)(e))){const t=new s.aO;return t.setGeometry((0,r.constructFromFlatGeometry)((0,m.ME)(e))),t}const n=new _(e,{strict:!1});return n.nextToken(),me.execute(0,i.G.enumUnknown,n,!0,!1)}function de(e){let t=null;return[e.map(e=>{if(null==t){const n=he(e);return t=n.getSpatialReference(),n.getGeometry()}return _e(e)}),t]}function he(e){const t=ce(e),n=pe(e.spatialReference);return n&&t.setSpatialReference(n),t}function _e(e){return ce(e).getGeometry()}function fe(e){return ce(e,!0).getGeometry()}function pe(e){if(null==e)return null;let t=!1;if(e instanceof l.A){const{wkt2:n}=e;e=e.toJSON(),e.wkt2??=n,t=!0}(e.latestVcsWkid||e.vcsWkid)&&(t||(e={...e}),delete e?.latestVcsWkid,delete e?.vcsWkid);const n=new _(e,{strict:!1});n.nextToken();const r=me.importSpatialReference(n);return 0===r.getCoordinateSystemType()?null:r}function ke(e,t){if(e instanceof s.aO&&(t=e.getSpatialReference(),e=e.getGeometry()),null==e||e.isEmpty())return null;let n;switch(e.getGeometryType()){case i.G.enumPoint:case i.G.enumMultiPoint:case i.G.enumPolyline:case i.G.enumPolygon:n=(0,m.MY)(e)}if(