https://www.shipbob.com/wp-content/themes/shipbob-2022/dist/chunk/3569.70b54a27307d5aa8b4ad.chunk.js
1"use strict";(self.webpackChunkshipbob_2022=self.webpackChunkshipbob_2022||[]).push([[3569],{59060:function(t,e,i){i.d(e,{A:function(){return x}}),i(54743),i(11745),i(34594),i(22134),i(75044),i(28845),i(373);var r=i(83025),s=i(40048),o=i(43009),n=i(69076),a=i(28631),h=i(36905),u=i(32991),_=i(55731),c=i(62787),l=i(57303),E=i(95357),d=i(92664),T=i(57203);const g=[];function f(t,e,i,r,s,o,n,a,u,_,c,l,E,g){const f=Math.round(r*e),R=Math.round(r*i);let x,A;if(t.canvas.width=f,t.canvas.height=R,A=t.createTexture(),t.bindTexture(t.TEXTURE_2D,A),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),E?(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR)):(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST)),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,f,R,0,t.RGBA,c,null),x=t.createFramebuffer(),t.bindFramebuffer(t.FRAMEBUFFER,x),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,A,0),null===x)throw new Error("Could not create framebuffer");if(null===A)throw new Error("Could not create texture");if(0===u.length)return{width:f,height:R,framebuffer:x,texture:A};const p=(0,h.S5)();let m,F,v;u.forEach(function(t,e,i){(0,h.X$)(p,t.extent)});const D=1/s;if(g&&1===u.length&&0===_)m=u[0].texture,F=u[0].width,v=u[0].width;else{if(m=t.createTexture(),null===A)throw new Error("Could not create texture");F=Math.round((0,h.RG)(p)*D),v=Math.round((0,h.Oq)(p)*D);const e=t.getParameter(t.MAX_TEXTURE_SIZE),i=Math.max(F,v),r=i>e?e/i:1,s=Math.round(F*r),o=Math.round(v*r);t.bindTexture(t.TEXTURE_2D,m),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),E?(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR)):(t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST)),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,s,o,0,t.RGBA,c,null);const n=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,n),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,m,0);const a=new T.H(t);u.forEach(function(e,i,u){const c=(e.extent[0]-p[0])*D*r,l=-(e.extent[3]-p[3])*D*r,d=(0,h.RG)(e.extent)*D*r,T=(0,h.Oq)(e.extent)*D*r;if(t.bindFramebuffer(t.FRAMEBUFFER,n),t.viewport(0,0,s,o),e.clipExtent){const i=(e.clipExtent[0]-p[0])*D*r,s=-(e.clipExtent[3]-p[3])*D*r,o=(0,h.RG)(e.clipExtent)*D*r,n=(0,h.Oq)(e.clipExtent)*D*r;t.enable(t.SCISSOR_TEST),t.scissor(E?i:Math.round(i),E?s:Math.round(s),E?o:Math.round(i+o)-Math.round(i),E?n:Math.round(s+n)-Math.round(s))}a.drawImage(e.texture,e.width,e.height,_,_,e.width-2*_,e.height-2*_,E?c:Math.round(c),E?l:Math.round(l),E?d:Math.round(c+d)-Math.round(c),E?T:Math.round(l+T)-Math.round(l),s,o),t.disable(t.SCISSOR_TEST)}),t.deleteFramebuffer(n)}const I=(0,h.Py)(n),P=(0,h.Py)(p),L=t=>{const e=(t[0][0]-I[0])/o*r,i=-(t[0][1]-I[1])/o*r;return{u1:(t[1][0]-I[0])/o*r,v1:-(t[1][1]-I[1])/o*r,u0:e,v0:i,u2:(t[2][0]-I[0])/o*r,v2:-(t[2][1]-I[1])/o*r}};t.bindFramebuffer(t.FRAMEBUFFER,x),t.viewport(0,0,f,R);{const e=[],i=[],r=(0,T.r)(t,"\n precision mediump float;\n\n varying vec2 v_texcoord;\n\n uniform sampler2D u_texture;\n\n void main() {\n if (v_texcoord.x < 0.0 || v_texcoord.x > 1.0 || v_texcoord.y < 0.0 || v_texcoord.y > 1.0) {\n discard;\n }\n gl_FragColor = texture2D(u_texture, v_texcoord);\n }\n","\n attribute vec4 a_position;\n attribute vec2 a_texcoord;\n\n varying vec2 v_texcoord;\n\n uniform mat4 u_matrix;\n\n void main() {\n gl_Position = u_matrix * a_position;\n v_texcoord = a_texcoord;\n }\n");t.useProgram(r);const o=t.getUniformLocation(r,"u_texture");t.bindTexture(t.TEXTURE_2D,m),t.uniform1i(o,0),a.getTriangles().forEac
1h(function(t,r,o){const n=t.source,a=t.target,{u1:h,v1:u,u0:_,v0:c,u2:l,v2:E}=L(a),d=(n[0][0]-P[0])/s/F,T=-(n[0][1]-P[1])/s/v,g=(n[1][0]-P[0])/s/F,f=-(n[1][1]-P[1])/s/v,R=(n[2][0]-P[0])/s/F,x=-(n[2][1]-P[1])/s/v;e.push(h,u,_,c,l,E),i.push(g,f,d,T,R,x)});const n=d.j0(0,f,R,0,-1,1),h=t.getUniformLocation(r,"u_matrix");t.uniformMatrix4fv(h,!1,n);const u=t.getAttribLocation(r,"a_position"),_=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,_),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),t.vertexAttribPointer(u,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(u);const c=t.getAttribLocation(r,"a_texcoord"),l=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferData(t.ARRAY_BUFFER,new Float32Array(i),t.STATIC_DRAW),t.vertexAttribPointer(c,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(c),t.drawArrays(t.TRIANGLES,0,e.length/2)}if(l){const e=(0,T.r)(t,"\n precision mediump float;\n\n uniform vec4 u_val;\n void main() {\n gl_FragColor = u_val;\n }\n","\n attribute vec4 a_position;\n\n uniform mat4 u_matrix;\n\n void main() {\n gl_Position = u_matrix * a_position;\n }\n");t.useProgram(e);const i=d.j0(0,f,R,0,-1,1),r=t.getUniformLocation(e,"u_matrix");t.uniformMatrix4fv(r,!1,i);const s=Array.isArray(l)?l:[0,0,0,255],o=t.getUniformLocation(e,"u_val");t.uniform4fv(o,s);const n=t.getAttribLocation(e,"a_position"),h=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,h),t.vertexAttribPointer(n,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(n);const u=a.getTriangles().reduce(function(t,e){const i=e.target,{u1:r,v1:s,u0:o,v0:n,u2:a,v2:h}=L(i);return t.concat([r,s,o,n,o,n,a,h,a,h,r,s])},[]);t.bufferData(t.ARRAY_BUFFER,new Float32Array(u),t.STATIC_DRAW),t.drawArrays(t.LINES,0,u.length/2)}return{width:f,height:R,framebuffer:x,texture:A}}class R extends r.Ay{constructor(t){super({tileCoord:t.tileCoord,loader:()=>Promise.resolve(new Uint8ClampedArray(4)),interpolate:t.interpolate,transition:t.transition}),this.renderEdges_=void 0!==t.renderEdges&&t.renderEdges,this.pixelRatio_=t.pixelRatio,this.gutter_=t.gutter,this.reprojData_=null,this.reprojError_=null,this.reprojSize_=void 0,this.sourceTileGrid_=t.sourceTileGrid,this.targetTileGrid_=t.targetTileGrid,this.wrappedTileCoord_=t.wrappedTileCoord||t.tileCoord,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const e=t.sourceProj,i=e.getExtent(),r=t.sourceTileGrid.getExtent();this.clipExtent_=e.canWrapX()?r?(0,h._N)(i,r):i:r;const o=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_),n=this.targetTileGrid_.getExtent();let a=this.sourceTileGrid_.getExtent();const E=n?(0,h._N)(o,n):o;if(0===(0,h.UG)(E))return void(this.state=s.A.EMPTY);i&&(a=a?(0,h._N)(a,i):i);const d=this.targetTileGrid_.getResolution(this.wrappedTileCoord_[0]),T=t.targetProj,g=(0,_.aY)(e,T,E,d);if(!isFinite(g)||g<=0)return void(this.state=s.A.EMPTY);const f=void 0!==t.errorThreshold?t.errorThreshold:l.l;if(this.triangulation_=new c.A(e,T,E,a,g*f,d,t.transformMatrix),0===this.triangulation_.getTriangles().length)return void(this.state=s.A.EMPTY);this.sourceZ_=this.sourceTileGrid_.getZForResolution(g);let R=this.triangulation_.calculateSourceExtent();if(a&&(e.canWrapX()?(R[1]=(0,u.qE)(R[1],a[1],a[3]),R[3]=(0,u.qE)(R[3],a[1],a[3])):R=(0,h._N)(R,a)),(0,h.UG)(R)){let r=0,o=0;e.canWrapX()&&(r=(0,h.RG)(i),o=Math.floor((R[0]-i[0])/r)),(0,h.QJ)(R.slice(),e,!0).forEach(e=>{const i=this.sourceTileGrid_.getTileRangeForExtentAndZ(e,this.sourceZ_),s=t.getTileFunction;for(let t=i.minX;t<=i.maxX;t++)for(let e=i.minY;e<=i.maxY;e++){const i=s(this.sourceZ_,t,e,this.pixelRatio_);if(i){const t=o*r;this.sourceTiles_.push({tile:i,offset:t})}}++o}),0===this.sourceTiles_.length&&(this.state=s.A.EMPTY)}else this.state=s.A.EMPTY}getSize(){return this.reprojSize_}getData(){return this.reprojData_}getError(){return this.reprojError_}reproject_(){const t=[];let e=!1;if(this.sourceTiles_.forEach(i=>{var o;const n=i.tile;if(!n||n.getState()!==s.A.LOADED)return;const a=n.getSize(),h=this.gutter_;let u;const _=(0,r.bL)(n.getData());_?u=_:(e=!0,u=(0,r.$r)((0,r.xo)(n.getData())));const c=[a[0]+2*h,a[1]+2*h],l=u instanceof Float32Array,E=c[0]*c[1],d=l?Float32Array:Uint8ClampedArray,T=new d(u.buffer),g=d.BYTES_PER_ELEMENT,f=g*T.length/E,R=T.byteLength/c[1],x=Math.floor(R/g/c[0]),A=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);A[0]+=i.offset,A[2]+=i.offset;const p=null===(o=this.clipExtent_)||void 0===o?void 0:o.slice();p&&(p[0]+=i.offset,p[2]+=i.offset),t.push({extent:A,clipExtent:p,data:T,dataType:d,bytesPerPixel:f,pixelSize:c,bandCount:x})}),this.sourceTiles_.length=0,0===t.length)return this.state=s.A.ERROR,void this.changed();const i=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(i),a="number"==typeof n?n:n[0],h="number"==typeof n?n:n[1],u=Math.round(a*this.pixelRatio_),_=Math.round(h*this.pixelRatio_),c=this.targetTileGrid_.getResolution(i),l=this.sourceTileGrid_.getResolution(this.sourceZ_),d=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_),T=t[0].bandCount,R=new t[0].dataType(T*u*_),x=function(t,e,
1i){let r;return r=i&&i.length?i.shift():E.Wl?new OffscreenCanvas(t||300,e||300):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("webgl",{premultipliedAlpha:!1,antialias:!1})}(u,_,g);let A;const p=x.RGBA;let m;t[0].dataType==Float32Array?(m=x.FLOAT,x.getExtension("WEBGL_color_buffer_float"),x.getExtension("OES_texture_float"),x.getExtension("EXT_float_blend"),A=null!==x.getExtension("OES_texture_float_linear")&&this.interpolate):(m=x.UNSIGNED_BYTE,A=this.interpolate);for(let e=Math.ceil(T/4)-1;e>=0;--e){const i=[];for(let r=0,s=t.length;r<s;++r){const s=t[r],o=s.pixelSize,n=o[0],a=o[1],h=new s.dataType(4*n*a),u=s.data;let _=4*e;for(let t=0,e=h.length;t<e;t+=4)h[t]=u[_],h[t+1]=u[_+1],h[t+2]=u[_+2],h[t+3]=u[_+3],_+=T;const c=x.createTexture();x.bindTexture(x.TEXTURE_2D,c),A?(x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.LINEAR),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MAG_FILTER,x.LINEAR)):(x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.NEAREST),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MAG_FILTER,x.NEAREST)),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_WRAP_S,x.CLAMP_TO_EDGE),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_WRAP_T,x.CLAMP_TO_EDGE),x.texImage2D(x.TEXTURE_2D,0,p,n,a,0,p,m,h),i.push({extent:s.extent,clipExtent:s.clipExtent,texture:c,width:n,height:a})}const{framebuffer:r,width:s,height:o}=f(x,a,h,this.pixelRatio_,l,c,d,this.triangulation_,i,this.gutter_,m,this.renderEdges_,A),n=s,u=4*o,_=new t[0].dataType(n*u);x.bindFramebuffer(x.FRAMEBUFFER,r),x.readPixels(0,0,s,o,x.RGBA,m,_);let E=4*e;for(let t=0,e=_.length;t<e;t+=4){const e=(n-1-(t/u|0))*u+t%u;R[E]=_[e],R[E+1]=_[e+1],R[E+2]=_[e+2],R[E+3]=_[e+3],E+=T}}if(function(t){const e=t.canvas;e.width=1,e.height=1,t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT|t.STENCIL_BUFFER_BIT)}(x),g.push(x.canvas),e){const t=(0,o.Y)(a,h),e=new ImageData(R,a);t.putImageData(e,0,0),this.reprojData_=t.canvas}else this.reprojData_=R;this.reprojSize_=[u,_],this.state=s.A.LOADED,this.changed()}load(){if(this.state!==s.A.IDLE&&this.state!==s.A.ERROR)return;this.state=s.A.LOADING,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const i=e.getState();if(i!==s.A.IDLE&&i!==s.A.LOADING)return;t++;const r=(0,n.KT)(e,a.A.CHANGE,()=>{const i=e.getState();i!=s.A.LOADED&&i!=s.A.ERROR&&i!=s.A.EMPTY||((0,n.JH)(r),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(r)}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){t.getState()==s.A.IDLE&&t.load()})}unlistenSources_(){this.sourcesListenerKeys_.forEach(n.JH),this.sourcesListenerKeys_=null}}var x=R},12377:function(t,e,i){var r=i(63148),s=i(61151),o=i(69076),n=i(28631),a=i(36905),h=i(55731),u=i(49607),_=i(62787),c=i(57303);class l extends r.Ay{constructor(t,e,i,r,o,n,u){let l=t.getExtent();l&&t.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);let E=e.getExtent();E&&e.canWrapX()&&(E=E.slice(),E[0]=-1/0,E[2]=1/0);const d=E?(0,a._N)(i,E):i,T=(0,a.q1)(d),g=(0,h.KQ)(t,e,T,r),f=c.l,R=new _.A(t,e,d,l,g*f,r),x=R.calculateSourceExtent(),A=(0,a.Im)(x)?null:n(x,g,o),p=A?s.A.IDLE:s.A.EMPTY,m=A?A.getPixelRatio():1;super(i,r,m,p),this.targetProj_=e,this.maxSourceExtent_=l,this.triangulation_=R,this.targetResolution_=r,this.targetExtent_=i,this.sourceImage_=A,this.sourcePixelRatio_=m,this.interpolate_=u,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){this.state==s.A.LOADING&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const t=this.sourceImage_.getState();if(t==s.A.LOADED){const t=(0,a.RG)(this.targetExtent_)/this.targetResolution_,e=(0,a.Oq)(this.targetExtent_)/this.targetResolution_;this.canvas_=(0,h.XX)(t,e,this.sourcePixelRatio_,(0,u.m)(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_,!0)}this.state=t,this.changed()}load(){if(this.state==s.A.IDLE){this.state=s.A.LOADING,this.changed();const t=this.sourceImage_.getState();t==s.A.LOADED||t==s.A.ERROR?this.reproject_():(this.sourceListenerKey_=(0,o.KT)(this.sourceImage_,n.A.CHANGE,t=>{const e=this.sourceImage_.getState();e!=s.A.LOADED&&e!=s.A.ERROR||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){(0,o.JH)(this.sourceListenerKey_),this.sourceListenerKey_=null}}e.A=l}
1,1822:function(t,e,i){i(62953);var r=i(93745),s=i(40048),o=i(43009),n=i(69076),a=i(28631),h=i(36905),u=i(32991),_=i(55731),c=i(62787),l=i(57303);class E extends r.A{constructor(t,e,i,r,o,n,a,E,d,T,g,f){super(o,s.A.IDLE,f),this.renderEdges_=void 0!==g&&g,this.pixelRatio_=a,this.gutter_=E,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=r,this.wrappedTileCoord_=n||o,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const R=r.getTileCoordExtent(this.wrappedTileCoord_),x=this.targetTileGrid_.getExtent();let A=this.sourceTileGrid_.getExtent();const p=x?(0,h._N)(R,x):R;if(0===(0,h.UG)(p))return void(this.state=s.A.EMPTY);const m=t.getExtent();m&&(A=A?(0,h._N)(A,m):m);const F=r.getResolution(this.wrappedTileCoord_[0]),v=(0,_.aY)(t,i,p,F);if(!isFinite(v)||v<=0)return void(this.state=s.A.EMPTY);const D=void 0!==T?T:l.l;if(this.triangulation_=new c.A(t,i,p,A,v*D,F),0===this.triangulation_.getTriangles().length)return void(this.state=s.A.EMPTY);this.sourceZ_=e.getZForResolution(v);let I=this.triangulation_.calculateSourceExtent();if(A&&(t.canWrapX()?(I[1]=(0,u.qE)(I[1],A[1],A[3]),I[3]=(0,u.qE)(I[3],A[1],A[3])):I=(0,h._N)(I,A)),(0,h.UG)(I)){let i=0,r=0;t.canWrapX()&&(i=(0,h.RG)(m),r=Math.floor((I[0]-m[0])/i)),(0,h.QJ)(I.slice(),t,!0).forEac
1h(t=>{const s=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let t=s.minX;t<=s.maxX;t++)for(let e=s.minY;e<=s.maxY;e++){const s=r*i;this.sourceTiles_.push({getTile:()=>d(this.sourceZ_,t,e,a),offset:s})}++r}),0===this.sourceTiles_.length&&(this.state=s.A.EMPTY)}else this.state=s.A.EMPTY}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const i=e.tile;if(i&&i.getState()==s.A.LOADED){var r;const s=this.sourceTileGrid_.getTileCoordExtent(i.tileCoord);s[0]+=e.offset,s[2]+=e.offset;const o=null===(r=this.clipExtent_)||void 0===r?void 0:r.slice();o&&(o[0]+=e.offset,o[2]+=e.offset),t.push({extent:s,clipExtent:o,image:i.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=s.A.ERROR;else{const e=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(e),r="number"==typeof i?i:i[0],o="number"==typeof i?i:i[1],n=this.targetTileGrid_.getResolution(e),a=this.sourceTileGrid_.getResolution(this.sourceZ_),h=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=(0,_.XX)(r,o,this.pixelRatio_,a,this.sourceTileGrid_.getExtent(),n,h,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=s.A.LOADED}this.changed()}load(){for(const t of this.sourceTiles_)t.tile=t.getTile();if(this.state==s.A.IDLE){this.state=s.A.LOADING,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const i=e.getState();if(i==s.A.IDLE||i==s.A.LOADING){t++;const i=(0,n.KT)(e,a.A.CHANGE,r=>{const o=e.getState();o!=s.A.LOADED&&o!=s.A.ERROR&&o!=s.A.EMPTY||((0,n.JH)(i),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(i)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t},e,i){t.getState()==s.A.IDLE&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(n.JH),this.sourcesListenerKeys_=null}release(){this.canvas_&&((0,o.Yg)(this.canvas_.getContext("2d")),_.BV.push(this.canvas_),this.canvas_=null),this.sourceTiles_.length=0,super.release()}}e.A=E},62787:function(t,e,i){var r=i(36905),s=i(32991),o=i(11083),n=i(75253);e.A=class{constructor(t,e,i,s,a,h,u){this.sourceProj_=t,this.targetProj_=e;let _={};const c=u?(0,o.createTransformFromCoordinateTransform)(t=>(0,n.Bb)(u,(0,o.transform)(t,this.targetProj_,this.sourceProj_))):(0,o.getTransform)(this.targetProj_,this.sourceProj_);this.transformInv_=function(t){const e=t[0]+"/"+t[1];return _[e]||(_[e]=c(t)),_[e]},this.maxSourceExtent_=s,this.errorThresholdSquared_=a*a,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!s&&!!this.sourceProj_.getExtent()&&(0,r.RG)(s)>=(0,r.RG)(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?(0,r.RG)(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?(0,r.RG)(this.targetProj_.getExtent()):null;const l=(0,r.Py)(i),E=(0,r.WU)(i),d=(0,r.k_)(i),T=(0,r.R)(i),g=this.transformInv_(l),f=this.transformInv_(E),R=this.transformInv_(d),x=this.transformInv_(T),A=10+(h?Math.max(0,Math.ceil(Math.log2((0,r.UG)(i)/(h*h*256*256)))):0);if(this.addQuad_(l,E,d,T,g,f,R,x,A),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e,i,r){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const i=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];i[0][0]-t>this.sourceWorldWidth_/2&&(i[0][0]-=this.sourceWorldWidth_),i[1][0]-t>this.sourceWorldWidth_/2&&(i[1][0]-=this.sourceWorldWidth_),i[2][0]-t>this.sourceWorldWidth_/2&&(i[2][0]-=this.sourceWorldWidth_);const r=Math.min(i[0][0],i[1][0],i[2][0]);Math.max(i[0][0],i[1][0],i[2][0])-r<this.sourceWorldWidth_/2&&(e.source=i)}})}_={}}addTriangle_(t,e,i,r,s,o){this.triangles_.push({source:[r,s,o],target:[t,e,i]})}addQuad_(t,e,i,o,n,a,h,u,_){const c=(0,r.Tr)([n,a,h,u]),l=this.sourceWorldWidth_?(0,r.RG)(c)/this.sourceWorldWidth_:null,E=this.sourceWorldWidth_,d=this.sourceProj_.canWrapX()&&l>.5&&l<1;let T=!1;if(_>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){const s=(0,r.Tr)([t,e,i,o]);T=(0,r.RG)(s)/this.targetWorldWidth_>.25||T}!d&&this.sourceProj_.isGlobal()&&l&&(T=l>.25||T)}if(!T&&this.maxSourceExtent_&&isFinite(c[0])&&isFinite(c[1])&&isFinite(c[2])&&isFinite(c[3])&&!(0,r.HY)(c,this.maxSourceExtent_))return;let g=0;if(!(T||isFinite(n[0])&&isFinite(n[1])&&isFinite(a[0])&&isFinite(a[1])&&isFinite(h[0])&&isFinite(h[1])&&isFinite(u[0])&&isFinite(u[1])))if(_>0)T=!0;else if(g=(isFinite(n[0])&&isFinite(n[1])?0:8)+(isFinite(a[0])&&isFinite(a[1])?0:4)+(isFinite(h[0])&&isFinite(h[1])?0:2)+(isFinite(u[0])&&isFinite(u[1])?0:1),1!=g&&2!=g&&4!=g&&8!=g)return;if(_>0){if(!T){const e=[(t[0]+i[0])/2,(t[1]+i[1])/2],r=this.transformInv_(e);let o;o=d?((0,s.xP)(n[0],E)+(0,s.xP)(h[0],E))/2-(0,s.xP)(r[0],E):(n[0]+h[0])/2-r[0];const a=(n[1]+h[1])/2-r[1];T=o*o+a*a>this.errorThresholdSquared_}if(T){if(Math.abs(t[0]-i[0])<=Math.abs(t[1]-i[1])){const r=[(e[0]+i[0])/2,(e[1]+i[1])/2],s=this.transformInv_(r),
1c=[(o[0]+t[0])/2,(o[1]+t[1])/2],l=this.transformInv_(c);this.addQuad_(t,e,r,c,n,a,s,l,_-1),this.addQuad_(c,r,i,o,l,s,h,u,_-1)}else{const r=[(t[0]+e[0])/2,(t[1]+e[1])/2],s=this.transformInv_(r),c=[(i[0]+o[0])/2,(i[1]+o[1])/2],l=this.transformInv_(c);this.addQuad_(t,r,c,o,n,s,l,u,_-1),this.addQuad_(r,e,i,c,s,a,h,l,_-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&g||this.addTriangle_(t,i,o,n,h,u),14&g||this.addTriangle_(t,i,e,n,h,a),g&&(13&g||this.addTriangle_(e,o,t,a,u,n),7&g||this.addTriangle_(e,o,i,a,u,h))}calculateSourceExtent(){const t=(0,r.S5)();return this.triangles_.forEach(function(e,i,s){const o=e.source;(0,r.$C)(t,o[0]),(0,r.$C)(t,o[1]),(0,r.$C)(t,o[2])}),t}getTriangles(){return this.triangles_}}},57303:function(t,e,i){i.d(e,{l:function(){return r}});const r=.5}}]); 2//# sourceMappingURL=3569.70b54a27307d5aa8b4ad.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.