blue-chestnut-solar-expert 0.0.52 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/stencil-library/api-90JQS7b6.js +104 -0
  2. package/dist/stencil-library/api-90JQS7b6.js.map +1 -0
  3. package/dist/stencil-library/api-B5514wut.js +102 -0
  4. package/dist/stencil-library/api-B5514wut.js.map +1 -0
  5. package/dist/stencil-library/api-CLbMaqt3.js +103 -0
  6. package/dist/stencil-library/api-CLbMaqt3.js.map +1 -0
  7. package/dist/stencil-library/api-Cfi-C6kT.js +104 -0
  8. package/dist/stencil-library/api-Cfi-C6kT.js.map +1 -0
  9. package/dist/stencil-library/api-CiNFC5mG.js +104 -0
  10. package/dist/stencil-library/api-CiNFC5mG.js.map +1 -0
  11. package/dist/stencil-library/api-D_61gY2X.js +102 -0
  12. package/dist/stencil-library/api-D_61gY2X.js.map +1 -0
  13. package/dist/{components/p-CU_Hozfq.js → stencil-library/api-Did5lAE0.js} +4 -7
  14. package/dist/stencil-library/api-Did5lAE0.js.map +1 -0
  15. package/dist/stencil-library/api-S3oJcLL5.js +103 -0
  16. package/dist/stencil-library/api-S3oJcLL5.js.map +1 -0
  17. package/dist/stencil-library/api-iAs1ZQr1.js +104 -0
  18. package/dist/stencil-library/api-iAs1ZQr1.js.map +1 -0
  19. package/dist/stencil-library/{api-CU_Hozfq.js → api-vropRvpT.js} +5 -4
  20. package/dist/stencil-library/api-vropRvpT.js.map +1 -0
  21. package/dist/stencil-library/{decoder-BdybtJ-v.js → decoder-BDfrXE7e.js} +3 -3
  22. package/dist/stencil-library/{decoder-BdybtJ-v.js.map → decoder-BDfrXE7e.js.map} +1 -1
  23. package/dist/stencil-library/{deflate-BSCfm6tE.js → deflate-BrCNE9ec.js} +3 -3
  24. package/dist/stencil-library/{deflate-BSCfm6tE.js.map → deflate-BrCNE9ec.js.map} +1 -1
  25. package/dist/stencil-library/eraser-icon.entry.esm.js.map +1 -1
  26. package/dist/stencil-library/eraser-icon.entry.js +1 -1
  27. package/dist/stencil-library/eraser-icon.entry.js.map +1 -1
  28. package/dist/stencil-library/house-icon.entry.esm.js.map +1 -1
  29. package/dist/stencil-library/house-icon.entry.js +1 -1
  30. package/dist/stencil-library/house-icon.entry.js.map +1 -1
  31. package/dist/stencil-library/icon-selector.entry.esm.js.map +1 -1
  32. package/dist/stencil-library/icon-selector.entry.js +1 -1
  33. package/dist/stencil-library/icon-selector.entry.js.map +1 -1
  34. package/dist/stencil-library/index.esm.js +13 -1
  35. package/dist/stencil-library/index.esm.js.map +1 -1
  36. package/dist/stencil-library/{jpeg-B7s0bMQh.js → jpeg-CjOJHUd1.js} +3 -3
  37. package/dist/stencil-library/{jpeg-B7s0bMQh.js.map → jpeg-CjOJHUd1.js.map} +1 -1
  38. package/dist/stencil-library/{lerc-BRJzMsmm.js → lerc-BQF80JgE.js} +3 -3
  39. package/dist/stencil-library/{lerc-BRJzMsmm.js.map → lerc-BQF80JgE.js.map} +1 -1
  40. package/dist/stencil-library/loading-widget.entry.esm.js.map +1 -1
  41. package/dist/stencil-library/loading-widget.entry.js +2 -2
  42. package/dist/stencil-library/loading-widget.entry.js.map +1 -1
  43. package/dist/stencil-library/{lzw-B1L94-gJ.js → lzw-PA2aOuVK.js} +3 -3
  44. package/dist/stencil-library/{lzw-B1L94-gJ.js.map → lzw-PA2aOuVK.js.map} +1 -1
  45. package/dist/stencil-library/{map-draw-Dbj9dYlX.js → map-draw-CaQc1QTP.js} +11 -11
  46. package/dist/stencil-library/{map-draw-Dbj9dYlX.js.map → map-draw-CaQc1QTP.js.map} +1 -1
  47. package/dist/stencil-library/map-draw.entry.js +1 -1
  48. package/dist/stencil-library/map-selector.entry.esm.js.map +1 -1
  49. package/dist/stencil-library/map-selector.entry.js +19 -3
  50. package/dist/stencil-library/map-selector.entry.js.map +1 -1
  51. package/dist/stencil-library/move-icon.entry.esm.js.map +1 -1
  52. package/dist/stencil-library/move-icon.entry.js +1 -1
  53. package/dist/stencil-library/move-icon.entry.js.map +1 -1
  54. package/dist/stencil-library/octagon-minus-icon.entry.esm.js.map +1 -1
  55. package/dist/stencil-library/octagon-minus-icon.entry.js +1 -1
  56. package/dist/stencil-library/octagon-minus-icon.entry.js.map +1 -1
  57. package/dist/stencil-library/{packbits-Roq2Ecwq.js → packbits-BMYGgS0z.js} +3 -3
  58. package/dist/stencil-library/{packbits-Roq2Ecwq.js.map → packbits-BMYGgS0z.js.map} +1 -1
  59. package/dist/stencil-library/polygon-buttons.entry.esm.js.map +1 -1
  60. package/dist/stencil-library/polygon-buttons.entry.js +3 -3
  61. package/dist/stencil-library/polygon-buttons.entry.js.map +1 -1
  62. package/dist/stencil-library/polygon-information.entry.esm.js.map +1 -1
  63. package/dist/stencil-library/polygon-information.entry.js +2 -2
  64. package/dist/stencil-library/polygon-information.entry.js.map +1 -1
  65. package/dist/stencil-library/{raw-BSypeTBq.js → raw-D-Vfg78n.js} +3 -3
  66. package/dist/stencil-library/{raw-BSypeTBq.js.map → raw-D-Vfg78n.js.map} +1 -1
  67. package/dist/stencil-library/search-icon.entry.esm.js.map +1 -1
  68. package/dist/stencil-library/search-icon.entry.js +1 -1
  69. package/dist/stencil-library/search-icon.entry.js.map +1 -1
  70. package/dist/stencil-library/settings-icon.entry.esm.js.map +1 -1
  71. package/dist/stencil-library/settings-icon.entry.js +1 -1
  72. package/dist/stencil-library/settings-icon.entry.js.map +1 -1
  73. package/dist/stencil-library/settings-modal.entry.esm.js.map +1 -1
  74. package/dist/stencil-library/settings-modal.entry.js +9 -9
  75. package/dist/stencil-library/settings-modal.entry.js.map +1 -1
  76. package/dist/stencil-library/solar-calculator.entry.esm.js.map +1 -1
  77. package/dist/stencil-library/solar-calculator.entry.js +3 -3
  78. package/dist/stencil-library/solar-calculator.entry.js.map +1 -1
  79. package/dist/stencil-library/solar-expert.entry.esm.js.map +1 -1
  80. package/dist/stencil-library/solar-expert.entry.js +3 -3
  81. package/dist/stencil-library/solar-expert.entry.js.map +1 -1
  82. package/dist/stencil-library/solar-system-form.entry.esm.js.map +1 -1
  83. package/dist/stencil-library/solar-system-form.entry.js +39 -39
  84. package/dist/stencil-library/solar-system-form.entry.js.map +1 -1
  85. package/dist/stencil-library/stencil-library.esm.js +52 -1
  86. package/dist/stencil-library/stencil-library.esm.js.map +1 -1
  87. package/dist/stencil-library/tool-box.entry.esm.js.map +1 -1
  88. package/dist/stencil-library/tool-box.entry.js +3 -3
  89. package/dist/stencil-library/tool-box.entry.js.map +1 -1
  90. package/dist/stencil-library/undo-icon.entry.esm.js.map +1 -1
  91. package/dist/stencil-library/undo-icon.entry.js +1 -1
  92. package/dist/stencil-library/undo-icon.entry.js.map +1 -1
  93. package/dist/stencil-library/{webimage-BZX1CuW8.js → webimage-V5ihYILu.js} +3 -3
  94. package/dist/stencil-library/{webimage-BZX1CuW8.js.map → webimage-V5ihYILu.js.map} +1 -1
  95. package/dist/types/components/map-draw/map-selector.d.ts +1 -0
  96. package/package.json +1 -1
  97. package/dist/components/eraser-icon.js +0 -11
  98. package/dist/components/eraser-icon.js.map +0 -1
  99. package/dist/components/house-icon.js +0 -11
  100. package/dist/components/house-icon.js.map +0 -1
  101. package/dist/components/icon-selector.js +0 -11
  102. package/dist/components/icon-selector.js.map +0 -1
  103. package/dist/components/index.js +0 -1269
  104. package/dist/components/index.js.map +0 -1
  105. package/dist/components/loading-widget.js +0 -38
  106. package/dist/components/loading-widget.js.map +0 -1
  107. package/dist/components/map-draw.js +0 -11
  108. package/dist/components/map-draw.js.map +0 -1
  109. package/dist/components/map-selector.js +0 -11
  110. package/dist/components/map-selector.js.map +0 -1
  111. package/dist/components/move-icon.js +0 -11
  112. package/dist/components/move-icon.js.map +0 -1
  113. package/dist/components/octagon-minus-icon.js +0 -11
  114. package/dist/components/octagon-minus-icon.js.map +0 -1
  115. package/dist/components/p-0Ymx0I1T.js +0 -76
  116. package/dist/components/p-0Ymx0I1T.js.map +0 -1
  117. package/dist/components/p-B-Rps0Lf.js +0 -40
  118. package/dist/components/p-B-Rps0Lf.js.map +0 -1
  119. package/dist/components/p-B54Ul0nf.js +0 -15
  120. package/dist/components/p-B54Ul0nf.js.map +0 -1
  121. package/dist/components/p-B5WTRCh8.js +0 -3241
  122. package/dist/components/p-B5WTRCh8.js.map +0 -1
  123. package/dist/components/p-BGoSj_DR.js +0 -902
  124. package/dist/components/p-BGoSj_DR.js.map +0 -1
  125. package/dist/components/p-BYoCVGKQ.js +0 -105
  126. package/dist/components/p-BYoCVGKQ.js.map +0 -1
  127. package/dist/components/p-BhS0AFyx.js +0 -161
  128. package/dist/components/p-BhS0AFyx.js.map +0 -1
  129. package/dist/components/p-BxeHuNQ0.js +0 -653
  130. package/dist/components/p-BxeHuNQ0.js.map +0 -1
  131. package/dist/components/p-ByX6QP-E.js +0 -33
  132. package/dist/components/p-ByX6QP-E.js.map +0 -1
  133. package/dist/components/p-C61RS5xJ.js +0 -40
  134. package/dist/components/p-C61RS5xJ.js.map +0 -1
  135. package/dist/components/p-CLe0s2gK.js +0 -40
  136. package/dist/components/p-CLe0s2gK.js.map +0 -1
  137. package/dist/components/p-CQxP2hZl.js +0 -414
  138. package/dist/components/p-CQxP2hZl.js.map +0 -1
  139. package/dist/components/p-CU_Hozfq.js.map +0 -1
  140. package/dist/components/p-Cfy4oCWb.js +0 -1909
  141. package/dist/components/p-Cfy4oCWb.js.map +0 -1
  142. package/dist/components/p-Cgchl6bA.js +0 -47
  143. package/dist/components/p-Cgchl6bA.js.map +0 -1
  144. package/dist/components/p-Cqkh0K8d.js +0 -50
  145. package/dist/components/p-Cqkh0K8d.js.map +0 -1
  146. package/dist/components/p-D0KrIPIK.js +0 -40
  147. package/dist/components/p-D0KrIPIK.js.map +0 -1
  148. package/dist/components/p-DSHWNE3m.js +0 -102
  149. package/dist/components/p-DSHWNE3m.js.map +0 -1
  150. package/dist/components/p-DZAFvfH1.js +0 -40
  151. package/dist/components/p-DZAFvfH1.js.map +0 -1
  152. package/dist/components/p-DiLO6lb_.js +0 -15822
  153. package/dist/components/p-DiLO6lb_.js.map +0 -1
  154. package/dist/components/p-DwozqyC_.js +0 -40
  155. package/dist/components/p-DwozqyC_.js.map +0 -1
  156. package/dist/components/p-Mv9J4znK.js +0 -40
  157. package/dist/components/p-Mv9J4znK.js.map +0 -1
  158. package/dist/components/p-Sf357vTW.js +0 -188
  159. package/dist/components/p-Sf357vTW.js.map +0 -1
  160. package/dist/components/p-WmcSqXD8.js +0 -14
  161. package/dist/components/p-WmcSqXD8.js.map +0 -1
  162. package/dist/components/p-XKzdTp2a.js +0 -4423
  163. package/dist/components/p-XKzdTp2a.js.map +0 -1
  164. package/dist/components/p-j-vOrhhh.js +0 -114
  165. package/dist/components/p-j-vOrhhh.js.map +0 -1
  166. package/dist/components/p-q8auDIJ2.js +0 -138
  167. package/dist/components/p-q8auDIJ2.js.map +0 -1
  168. package/dist/components/polygon-buttons.js +0 -11
  169. package/dist/components/polygon-buttons.js.map +0 -1
  170. package/dist/components/polygon-information.js +0 -11
  171. package/dist/components/polygon-information.js.map +0 -1
  172. package/dist/components/search-icon.js +0 -11
  173. package/dist/components/search-icon.js.map +0 -1
  174. package/dist/components/settings-icon.js +0 -11
  175. package/dist/components/settings-icon.js.map +0 -1
  176. package/dist/components/settings-modal.js +0 -11
  177. package/dist/components/settings-modal.js.map +0 -1
  178. package/dist/components/solar-calculator.js +0 -246
  179. package/dist/components/solar-calculator.js.map +0 -1
  180. package/dist/components/solar-expert.js +0 -360
  181. package/dist/components/solar-expert.js.map +0 -1
  182. package/dist/components/solar-system-form.js +0 -11
  183. package/dist/components/solar-system-form.js.map +0 -1
  184. package/dist/components/tool-box.js +0 -11
  185. package/dist/components/tool-box.js.map +0 -1
  186. package/dist/components/undo-icon.js +0 -11
  187. package/dist/components/undo-icon.js.map +0 -1
  188. package/dist/index.cjs.js +0 -1
  189. package/dist/index.js +0 -1
  190. package/dist/stencil-library/api-CU_Hozfq.js.map +0 -1
  191. package/dist/stencil-library/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.esm.js.map +0 -1
  192. package/dist/stencil-library/p-6f2848a5.entry.js +0 -2
  193. package/dist/stencil-library/p-6f2848a5.entry.js.map +0 -1
  194. package/dist/stencil-library/p-B54Ul0nf.js +0 -2
  195. package/dist/stencil-library/p-B54Ul0nf.js.map +0 -1
  196. package/dist/stencil-library/p-B5WTRCh8.js +0 -2
  197. package/dist/stencil-library/p-B5WTRCh8.js.map +0 -1
  198. package/dist/stencil-library/p-BGoSj_DR.js +0 -2
  199. package/dist/stencil-library/p-BGoSj_DR.js.map +0 -1
  200. package/dist/stencil-library/p-Brw-XSJB.js +0 -2
  201. package/dist/stencil-library/p-Brw-XSJB.js.map +0 -1
  202. package/dist/stencil-library/p-ByX6QP-E.js +0 -2
  203. package/dist/stencil-library/p-ByX6QP-E.js.map +0 -1
  204. package/dist/stencil-library/p-CX8V3eiN.js +0 -2
  205. package/dist/stencil-library/p-CX8V3eiN.js.map +0 -1
  206. package/dist/stencil-library/p-Cgchl6bA.js +0 -2
  207. package/dist/stencil-library/p-Cgchl6bA.js.map +0 -1
  208. package/dist/stencil-library/p-DXlWibwG.js +0 -10
  209. package/dist/stencil-library/p-DXlWibwG.js.map +0 -1
  210. package/dist/stencil-library/p-LebgAmeq.js +0 -2
  211. package/dist/stencil-library/p-LebgAmeq.js.map +0 -1
  212. package/dist/stencil-library/p-WmcSqXD8.js +0 -2
  213. package/dist/stencil-library/p-WmcSqXD8.js.map +0 -1
  214. package/dist/stencil-library/p-X54eOLJv.js +0 -3
  215. package/dist/stencil-library/p-X54eOLJv.js.map +0 -1
  216. package/dist/stencil-library/p-af021538.entry.js +0 -2
  217. package/dist/stencil-library/p-af021538.entry.js.map +0 -1
  218. package/dist/stencil-library/p-bde0ce8e.entry.js +0 -32
  219. package/dist/stencil-library/p-bde0ce8e.entry.js.map +0 -1
  220. package/dist/stencil-library/p-j-vOrhhh.js +0 -2
  221. package/dist/stencil-library/p-j-vOrhhh.js.map +0 -1
  222. package/dist/stencil-library/p-q8auDIJ2.js +0 -2
  223. package/dist/stencil-library/p-q8auDIJ2.js.map +0 -1
@@ -1,2 +0,0 @@
1
- if(typeof t==="undefined"){var t=globalThis||window||self}import{B as e}from"./p-j-vOrhhh.js";const n=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);const s=4017;const o=799;const c=3406;const r=2276;const i=1567;const l=3784;const f=5793;const a=2896;function h(t,e){let n=0;const s=[];let o=16;while(o>0&&!t[o-1]){--o}s.push({children:[],index:0});let c=s[0];let r;for(let i=0;i<o;i++){for(let o=0;o<t[i];o++){c=s.pop();c.children[c.index]=e[n];while(c.index>0){c=s.pop()}c.index++;s.push(c);while(s.length<=i){s.push(r={children:[],index:0});c.children[c.index]=r.children;c=r}n++}if(i+1<o){s.push(r={children:[],index:0});c.children[c.index]=r.children;c=r}}return s[0].children}function u(t,e,s,o,c,r,i,l,f){const{mcusPerLine:a,progressive:h}=s;const u=e;let w=e;let d=0;let b=0;function m(){if(b>0){b--;return d>>b&1}d=t[w++];if(d===255){const e=t[w++];if(e){throw new Error(`unexpected marker: ${(d<<8|e).toString(16)}`)}}b=7;return d>>>7}function k(t){let e=t;let n;while((n=m())!==null){e=e[n];if(typeof e==="number"){return e}if(typeof e!=="object"){throw new Error("invalid huffman sequence")}}return null}function p(t){let e=t;let n=0;while(e>0){const t=m();if(t===null){return undefined}n=n<<1|t;--e}return n}function y(t){const e=p(t);if(e>=1<<t-1){return e}return e+(-1<<t)+1}function v(t,e){const s=k(t.huffmanTableDC);const o=s===0?0:y(s);t.pred+=o;e[0]=t.pred;let c=1;while(c<64){const s=k(t.huffmanTableAC);const o=s&15;const r=s>>4;if(o===0){if(r<15){break}c+=16}else{c+=r;const t=n[c];e[t]=y(o);c++}}}function A(t,e){const n=k(t.huffmanTableDC);const s=n===0?0:y(n)<<f;t.pred+=s;e[0]=t.pred}function x(t,e){e[0]|=m()<<f}let E=0;function g(t,e){if(E>0){E--;return}let s=r;const o=i;while(s<=o){const o=k(t.huffmanTableAC);const c=o&15;const r=o>>4;if(c===0){if(r<15){E=p(r)+(1<<r)-1;break}s+=16}else{s+=r;const t=n[s];e[t]=y(c)*(1<<f);s++}}}let U=0;let I;function M(t,e){let s=r;const o=i;let c=0;while(s<=o){const o=n[s];const r=e[o]<0?-1:1;switch(U){case 0:{const e=k(t.huffmanTableAC);const n=e&15;c=e>>4;if(n===0){if(c<15){E=p(c)+(1<<c);U=4}else{c=16;U=1}}else{if(n!==1){throw new Error("invalid ACn encoding")}I=y(n);U=c?2:3}continue}case 1:case 2:if(e[o]){e[o]+=(m()<<f)*r}else{c--;if(c===0){U=U===2?3:0}}break;case 3:if(e[o]){e[o]+=(m()<<f)*r}else{e[o]=I<<f;U=0}break;case 4:if(e[o]){e[o]+=(m()<<f)*r}break}s++}if(U===4){E--;if(E===0){U=0}}}function j(t,e,n,s,o){const c=n/a|0;const r=n%a;const i=c*t.v+s;const l=r*t.h+o;e(t,t.blocks[i][l])}function O(t,e,n){const s=n/t.blocksPerLine|0;const o=n%t.blocksPerLine;e(t,t.blocks[s][o])}const P=o.length;let D;let L;let C;let q;let B;let T;if(h){if(r===0){T=l===0?A:x}else{T=l===0?g:M}}else{T=v}let $=0;let z;let F;if(P===1){F=o[0].blocksPerLine*o[0].blocksPerColumn}else{F=a*s.mcusPerColumn}const G=c||F;while($<F){for(L=0;L<P;L++){o[L].pred=0}E=0;if(P===1){D=o[0];for(B=0;B<G;B++){O(D,T,$);$++}}else{for(B=0;B<G;B++){for(L=0;L<P;L++){D=o[L];const{h:t,v:e}=D;for(C=0;C<e;C++){for(q=0;q<t;q++){j(D,T,$,C,q)}}}$++;if($===F){break}}}b=0;z=t[w]<<8|t[w+1];if(z<65280){throw new Error("marker was not found")}if(z>=65488&&z<=65495){w+=2}else{break}}return w-u}function w(t,e){const n=[];const{blocksPerLine:h,blocksPerColumn:u}=e;const w=h<<3;const d=new Int32Array(64);const b=new Uint8Array(64);function m(t,n,h){const u=e.quantizationTable;let w;let d;let b;let m;let k;let p;let y;let v;let A;const x=h;let E;for(E=0;E<64;E++){x[E]=t[E]*u[E]}for(E=0;E<8;++E){const t=8*E;if(x[1+t]===0&&x[2+t]===0&&x[3+t]===0&&x[4+t]===0&&x[5+t]===0&&x[6+t]===0&&x[7+t]===0){A=f*x[0+t]+512>>10;x[0+t]=A;x[1+t]=A;x[2+t]=A;x[3+t]=A;x[4+t]=A;x[5+t]=A;x[6+t]=A;x[7+t]=A;continue}w=f*x[0+t]+128>>8;d=f*x[4+t]+128>>8;b=x[2+t];m=x[6+t];k=a*(x[1+t]-x[7+t])+128>>8;v=a*(x[1+t]+x[7+t])+128>>8;p=x[3+t]<<4;y=x[5+t]<<4;A=w-d+1>>1;w=w+d+1>>1;d=A;A=b*l+m*i+128>>8;b=b*i-m*l+128>>8;m=A;A=k-y+1>>1;k=k+y+1>>1;y=A;A=v+p+1>>1;p=v-p+1>>1;v=A;A=w-m+1>>1;w=w+m+1>>1;m=A;A=d-b+1>>1;d=d+b+1>>1;b=A;A=k*r+v*c+2048>>12;k=k*c-v*r+2048>>12;v=A;A=p*o+y*s+2048>>12;p=p*s-y*o+2048>>12;y=A;x[0+t]=w+v;x[7+t]=w-v;x[1+t]=d+y;x[6+t]=d-y;x[2+t]=b+p;x[5+t]=b-p;x[3+t]=m+k;x[4+t]=m-k}for(E=0;E<8;++E){const t=E;if(x[1*8+t]===0&&x[2*8+t]===0&&x[3*8+t]===0&&x[4*8+t]===0&&x[5*8+t]===0&&x[6*8+t]===0&&x[7*8+t]===0){A=f*h[E+0]+8192>>14;x[0*8+t]=A;x[1*8+t]=A;x[2*8+t]=A;x[3*8+t]=A;x[4*8+t]=A;x[5*8+t]=A;x[6*8+t]=A;x[7*8+t]=A;continue}w=f*x[0*8+t]+2048>>12;d=f*x[4*8+t]+2048>>12;b=x[2*8+t];m=x[6*8+t];k=a*(x[1*8+t]-x[7*8+t])+2048>>12;v=a*(x[1*8+t]+x[7*8+t])+2048>>12;p=x[3*8+t];y=x[5*8+t];A=w-d+1>>1;w=w+d+1>>1;d=A;A=b*l+m*i+2048>>12;b=b*i-m*l+2048>>12;m=A;A=k-y+1>>1;k=k+y+1>>1;y=A;A=v+p+1>>1;p=v-p+1>>1;v=A;A=w-m+1>>1;w=w+m+1>>1;m=A;A=d-b+1>>1;d=d+b+1>>1;b=A;A=k*r+v*c+2048>>12;k=k*c-v*r+2048>>12;v=A;A=p*o+y*s+2048>>12;p=p*s-y*o+2048>>12;y=A;x[0*8+t]=w+v;x[7*8+t]=w-v;x[1*8+t]=d+y;x[6*8+t]=d-y;x[2*8+t]=b+p;x[5*8+t]=b-p;x[3*8+t]=m+k;x[4*8+t]=m-k}for(E=0;E<64;++E){const t=128+(x[E]+8>>4);if(t<0){n[E]=0}else if(t>255){n[E]=255}else{n[E]=t}}}for(let t=0;t<u;t++){const s=t<<3;for(let t=0;t<8;t++){n.push(new Uint8Array(w))}for(let o=0;o<h;o++){m(e.blocks[t][o],b,d);let c=0;const r=o<<3;for(let t=0;t<8;t++){const e=n[s+t];for(let t=0;t<8;t++){e[r+t]=b[c++]}}}}return n}class d{constructor(){this.jfif=null;this.adobe=null;this.quantizationTables=[];this.huffmanTablesAC=[];this.huffmanTablesDC=[];this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let e=0;function s(){const n=t[e]<<8|t[e+1];e+=2;return n}function o(){const n=s();const o=t.subarray(e,e+n-2);e+=o.length;return o}function c(t){let e=0;let n=0;let s;let o;for(o in t.components){if(t.components.hasOwnProperty(o)){s=t.components[o];if(e<s.h){e=s.h}if(n<s.v){n=s.v}}}const c=Math.ceil(t.samplesPerLine/8/e);const r=Math.ceil(t.scanLines/8/n);for(o in t.components){if(t.components.hasOwnProperty(o)){s=t.components[o];const i=Math.ceil(Math.ceil(t.samplesPerLine/8)*s.h/e);const l=Math.ceil(Math.ceil(t.scanLines/8)*s.v/n);const f=c*s.h;const a=r*s.v;const h=[];for(let t=0;t<a;t++){const t=[];for(let e=0;e<f;e++){t.push(new Int32Array(64))}h.push(t)}s.blocksPerLine=i;s.blocksPerColumn=l;s.blocks=h}}t.maxH=e;t.maxV=n;t.mcusPerLine=c;t.mcusPerColumn=r}let r=s();if(r!==65496){throw new Error("SOI not found")}r=s();while(r!==65497){switch(r){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:{const t=o();if(r===65504){if(t[0]===74&&t[1]===70&&t[2]===73&&t[3]===70&&t[4]===0){this.jfif={version:{major:t[5],minor:t[6]},densityUnits:t[7],xDensity:t[8]<<8|t[9],yDensity:t[10]<<8|t[11],thumbWidth:t[12],thumbHeight:t[13],thumbData:t.subarray(14,14+3*t[12]*t[13])}}}if(r===65518){if(t[0]===65&&t[1]===100&&t[2]===111&&t[3]===98&&t[4]===101&&t[5]===0){this.adobe={version:t[6],flags0:t[7]<<8|t[8],flags1:t[9]<<8|t[10],transformCode:t[11]}}}break}case 65499:{const o=s();const c=o+e-2;while(e<c){const o=t[e++];const c=new Int32Array(64);if(o>>4===0){for(let s=0;s<64;s++){const o=n[s];c[o]=t[e++]}}else if(o>>4===1){for(let t=0;t<64;t++){const e=n[t];c[e]=s()}}else{throw new Error("DQT: invalid table spec")}this.quantizationTables[o&15]=c}break}case 65472:case 65473:case 65474:{s();const n={extended:r===65473,progressive:r===65474,precision:t[e++],scanLines:s(),samplesPerLine:s(),components:{},componentsOrder:[]};const o=t[e++];let i;for(let s=0;s<o;s++){i=t[e];const s=t[e+1]>>4;const o=t[e+1]&15;const c=t[e+2];n.componentsOrder.push(i);n.components[i]={h:s,v:o,quantizationIdx:c};e+=3}c(n);this.frames.push(n);break}case 65476:{const n=s();for(let s=2;s<n;){const n=t[e++];const o=new Uint8Array(16);let c=0;for(let n=0;n<16;n++,e++){o[n]=t[e];c+=o[n]}const r=new Uint8Array(c);for(let n=0;n<c;n++,e++){r[n]=t[e]}s+=17+c;if(n>>4===0){this.huffmanTablesDC[n&15]=h(o,r)}else{this.huffmanTablesAC[n&15]=h(o,r)}}break}case 65501:s();this.resetInterval=s();break;case 65498:{s();const n=t[e++];const o=[];const c=this.frames[0];for(let s=0;s<n;s++){const n=c.components[t[e++]];const s=t[e++];n.huffmanTableDC=this.huffmanTablesDC[s>>4];n.huffmanTableAC=this.huffmanTablesAC[s&15];o.push(n)}const r=t[e++];const i=t[e++];const l=t[e++];const f=u(t,e,c,o,this.resetInterval,r,i,l>>4,l&15);e+=f;break}case 65535:if(t[e]!==255){e--}break;default:if(t[e-3]===255&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error(`unknown JPEG marker ${r.toString(16)}`)}r=s()}}getResult(){const{frames:t}=this;if(this.frames.length===0){throw new Error("no frames were decoded")}else if(this.frames.length>1){console.warn("more than one frame is not supported")}for(let t=0;t<this.frames.length;t++){const e=this.frames[t].components;for(const t of Object.keys(e)){e[t].quantizationTable=this.quantizationTables[e[t].quantizationIdx];delete e[t].quantizationIdx}}const e=t[0];const{components:n,componentsOrder:s}=e;const o=[];const c=e.samplesPerLine;const r=e.scanLines;for(let t=0;t<s.length;t++){const c=n[s[t]];o.push({lines:w(e,c),scaleX:c.h/e.maxH,scaleY:c.v/e.maxV})}const i=new Uint8Array(c*r*o.length);let l=0;for(let t=0;t<r;++t){for(let e=0;e<c;++e){for(let n=0;n<o.length;++n){const s=o[n];i[l]=s.lines[0|t*s.scaleY][0|e*s.scaleX];++l}}}return i}}class b extends e{constructor(t){super();this.reader=new d;if(t.JPEGTables){this.reader.parse(t.JPEGTables)}}decodeBlock(t){this.reader.resetFrames();this.reader.parse(new Uint8Array(t));return this.reader.getResult().buffer}}export{b as default};
2
- //# sourceMappingURL=p-BGoSj_DR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-BGoSj_DR.js","sources":["../../node_modules/geotiff/dist-module/compression/jpeg.js"],"sourcesContent":["import BaseDecoder from './basedecoder.js';\n\n/* -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /\n/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n/*\n Copyright 2011 notmasteryet\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\n// - The JPEG specification can be found in the ITU CCITT Recommendation T.81\n// (www.w3.org/Graphics/JPEG/itu-t81.pdf)\n// - The JFIF specification can be found in the JPEG File Interchange Format\n// (www.w3.org/Graphics/JPEG/jfif3.pdf)\n// - The Adobe Application-Specific JPEG markers in the Supporting the DCT Filters\n// in PostScript Level 2, Technical Note #5116\n// (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)\n\nconst dctZigZag = new Int32Array([\n 0,\n 1, 8,\n 16, 9, 2,\n 3, 10, 17, 24,\n 32, 25, 18, 11, 4,\n 5, 12, 19, 26, 33, 40,\n 48, 41, 34, 27, 20, 13, 6,\n 7, 14, 21, 28, 35, 42, 49, 56,\n 57, 50, 43, 36, 29, 22, 15,\n 23, 30, 37, 44, 51, 58,\n 59, 52, 45, 38, 31,\n 39, 46, 53, 60,\n 61, 54, 47,\n 55, 62,\n 63,\n]);\n\nconst dctCos1 = 4017; // cos(pi/16)\nconst dctSin1 = 799; // sin(pi/16)\nconst dctCos3 = 3406; // cos(3*pi/16)\nconst dctSin3 = 2276; // sin(3*pi/16)\nconst dctCos6 = 1567; // cos(6*pi/16)\nconst dctSin6 = 3784; // sin(6*pi/16)\nconst dctSqrt2 = 5793; // sqrt(2)\nconst dctSqrt1d2 = 2896;// sqrt(2) / 2\n\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0;\n const code = [];\n let length = 16;\n while (length > 0 && !codeLengths[length - 1]) {\n --length;\n }\n code.push({ children: [], index: 0 });\n\n let p = code[0];\n let q;\n for (let i = 0; i < length; i++) {\n for (let j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n // p here points to last code\n code.push(q = { children: [], index: 0 });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\n\nfunction decodeScan(data, initialOffset,\n frame, components, resetInterval,\n spectralStart, spectralEnd,\n successivePrev, successive) {\n const { mcusPerLine, progressive } = frame;\n\n const startOffset = initialOffset;\n let offset = initialOffset;\n let bitsData = 0;\n let bitsCount = 0;\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return (bitsData >> bitsCount) & 1;\n }\n bitsData = data[offset++];\n if (bitsData === 0xFF) {\n const nextByte = data[offset++];\n if (nextByte) {\n throw new Error(`unexpected marker: ${((bitsData << 8) | nextByte).toString(16)}`);\n }\n // unstuff 0\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n function decodeHuffman(tree) {\n let node = tree;\n let bit;\n while ((bit = readBit()) !== null) { // eslint-disable-line no-cond-assign\n node = node[bit];\n if (typeof node === 'number') {\n return node;\n }\n if (typeof node !== 'object') {\n throw new Error('invalid huffman sequence');\n }\n }\n return null;\n }\n function receive(initialLength) {\n let length = initialLength;\n let n = 0;\n while (length > 0) {\n const bit = readBit();\n if (bit === null) {\n return undefined;\n }\n n = (n << 1) | bit;\n --length;\n }\n return n;\n }\n function receiveAndExtend(length) {\n const n = receive(length);\n if (n >= 1 << (length - 1)) {\n return n;\n }\n return n + (-1 << length) + 1;\n }\n function decodeBaseline(component, zz) {\n const t = decodeHuffman(component.huffmanTableDC);\n const diff = t === 0 ? 0 : receiveAndExtend(t);\n component.pred += diff;\n zz[0] = component.pred;\n let k = 1;\n while (k < 64) {\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15;\n const r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k += 16;\n } else {\n k += r;\n const z = dctZigZag[k];\n zz[z] = receiveAndExtend(s);\n k++;\n }\n }\n }\n function decodeDCFirst(component, zz) {\n const t = decodeHuffman(component.huffmanTableDC);\n const diff = t === 0 ? 0 : (receiveAndExtend(t) << successive);\n component.pred += diff;\n zz[0] = component.pred;\n }\n function decodeDCSuccessive(component, zz) {\n zz[0] |= readBit() << successive;\n }\n let eobrun = 0;\n function decodeACFirst(component, zz) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k = spectralStart;\n const e = spectralEnd;\n while (k <= e) {\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15;\n const r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k += 16;\n } else {\n k += r;\n const z = dctZigZag[k];\n zz[z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n }\n let successiveACState = 0;\n let successiveACNextValue;\n function decodeACSuccessive(component, zz) {\n let k = spectralStart;\n const e = spectralEnd;\n let r = 0;\n while (k <= e) {\n const z = dctZigZag[k];\n const direction = zz[z] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0: { // initial state\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15;\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new Error('invalid ACn encoding');\n }\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue; // eslint-disable-line no-continue\n }\n case 1: // skipping r zero items\n case 2:\n if (zz[z]) {\n zz[z] += (readBit() << successive) * direction;\n } else {\n r--;\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n break;\n case 3: // set value for a zero item\n if (zz[z]) {\n zz[z] += (readBit() << successive) * direction;\n } else {\n zz[z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4: // eob\n if (zz[z]) {\n zz[z] += (readBit() << successive) * direction;\n }\n break;\n default:\n break;\n }\n k++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n function decodeMcu(component, decodeFunction, mcu, row, col) {\n const mcuRow = (mcu / mcusPerLine) | 0;\n const mcuCol = mcu % mcusPerLine;\n const blockRow = (mcuRow * component.v) + row;\n const blockCol = (mcuCol * component.h) + col;\n decodeFunction(component, component.blocks[blockRow][blockCol]);\n }\n function decodeBlock(component, decodeFunction, mcu) {\n const blockRow = (mcu / component.blocksPerLine) | 0;\n const blockCol = mcu % component.blocksPerLine;\n decodeFunction(component, component.blocks[blockRow][blockCol]);\n }\n\n const componentsLength = components.length;\n let component;\n let i;\n let j;\n let k;\n let n;\n let decodeFn;\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n let mcu = 0;\n let marker;\n let mcuExpected;\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n const usedResetInterval = resetInterval || mcuExpected;\n\n while (mcu < mcuExpected) {\n // reset interval stuff\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n for (n = 0; n < usedResetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < usedResetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n const { h, v } = component;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n\n // If we've reached our expected MCU's, stop decoding\n if (mcu === mcuExpected) {\n break;\n }\n }\n }\n\n // find marker\n bitsCount = 0;\n marker = (data[offset] << 8) | data[offset + 1];\n if (marker < 0xFF00) {\n throw new Error('marker was not found');\n }\n\n if (marker >= 0xFFD0 && marker <= 0xFFD7) { // RSTx\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n}\n\nfunction buildComponentData(frame, component) {\n const lines = [];\n const { blocksPerLine, blocksPerColumn } = component;\n const samplesPerLine = blocksPerLine << 3;\n const R = new Int32Array(64);\n const r = new Uint8Array(64);\n\n // A port of poppler's IDCT method which in turn is taken from:\n // Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,\n // \"Practical Fast 1-D DCT Algorithms with 11 Multiplications\",\n // IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,\n // 988-991.\n function quantizeAndInverse(zz, dataOut, dataIn) {\n const qt = component.quantizationTable;\n let v0;\n let v1;\n let v2;\n let v3;\n let v4;\n let v5;\n let v6;\n let v7;\n let t;\n const p = dataIn;\n let i;\n\n // dequant\n for (i = 0; i < 64; i++) {\n p[i] = zz[i] * qt[i];\n }\n\n // inverse DCT on rows\n for (i = 0; i < 8; ++i) {\n const row = 8 * i;\n\n // check for all-zero AC coefficients\n if (p[1 + row] === 0 && p[2 + row] === 0 && p[3 + row] === 0\n && p[4 + row] === 0 && p[5 + row] === 0 && p[6 + row] === 0\n && p[7 + row] === 0) {\n t = ((dctSqrt2 * p[0 + row]) + 512) >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue; // eslint-disable-line no-continue\n }\n\n // stage 4\n v0 = ((dctSqrt2 * p[0 + row]) + 128) >> 8;\n v1 = ((dctSqrt2 * p[4 + row]) + 128) >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = ((dctSqrt1d2 * (p[1 + row] - p[7 + row])) + 128) >> 8;\n v7 = ((dctSqrt1d2 * (p[1 + row] + p[7 + row])) + 128) >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n\n // stage 3\n t = (v0 - v1 + 1) >> 1;\n v0 = (v0 + v1 + 1) >> 1;\n v1 = t;\n t = ((v2 * dctSin6) + (v3 * dctCos6) + 128) >> 8;\n v2 = ((v2 * dctCos6) - (v3 * dctSin6) + 128) >> 8;\n v3 = t;\n t = (v4 - v6 + 1) >> 1;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = t;\n t = (v7 + v5 + 1) >> 1;\n v5 = (v7 - v5 + 1) >> 1;\n v7 = t;\n\n // stage 2\n t = (v0 - v3 + 1) >> 1;\n v0 = (v0 + v3 + 1) >> 1;\n v3 = t;\n t = (v1 - v2 + 1) >> 1;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = t;\n t = ((v4 * dctSin3) + (v7 * dctCos3) + 2048) >> 12;\n v4 = ((v4 * dctCos3) - (v7 * dctSin3) + 2048) >> 12;\n v7 = t;\n t = ((v5 * dctSin1) + (v6 * dctCos1) + 2048) >> 12;\n v5 = ((v5 * dctCos1) - (v6 * dctSin1) + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n\n // inverse DCT on columns\n for (i = 0; i < 8; ++i) {\n const col = i;\n\n // check for all-zero AC coefficients\n if (p[(1 * 8) + col] === 0 && p[(2 * 8) + col] === 0 && p[(3 * 8) + col] === 0\n && p[(4 * 8) + col] === 0 && p[(5 * 8) + col] === 0 && p[(6 * 8) + col] === 0\n && p[(7 * 8) + col] === 0) {\n t = ((dctSqrt2 * dataIn[i + 0]) + 8192) >> 14;\n p[(0 * 8) + col] = t;\n p[(1 * 8) + col] = t;\n p[(2 * 8) + col] = t;\n p[(3 * 8) + col] = t;\n p[(4 * 8) + col] = t;\n p[(5 * 8) + col] = t;\n p[(6 * 8) + col] = t;\n p[(7 * 8) + col] = t;\n continue; // eslint-disable-line no-continue\n }\n\n // stage 4\n v0 = ((dctSqrt2 * p[(0 * 8) + col]) + 2048) >> 12;\n v1 = ((dctSqrt2 * p[(4 * 8) + col]) + 2048) >> 12;\n v2 = p[(2 * 8) + col];\n v3 = p[(6 * 8) + col];\n v4 = ((dctSqrt1d2 * (p[(1 * 8) + col] - p[(7 * 8) + col])) + 2048) >> 12;\n v7 = ((dctSqrt1d2 * (p[(1 * 8) + col] + p[(7 * 8) + col])) + 2048) >> 12;\n v5 = p[(3 * 8) + col];\n v6 = p[(5 * 8) + col];\n\n // stage 3\n t = (v0 - v1 + 1) >> 1;\n v0 = (v0 + v1 + 1) >> 1;\n v1 = t;\n t = ((v2 * dctSin6) + (v3 * dctCos6) + 2048) >> 12;\n v2 = ((v2 * dctCos6) - (v3 * dctSin6) + 2048) >> 12;\n v3 = t;\n t = (v4 - v6 + 1) >> 1;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = t;\n t = (v7 + v5 + 1) >> 1;\n v5 = (v7 - v5 + 1) >> 1;\n v7 = t;\n\n // stage 2\n t = (v0 - v3 + 1) >> 1;\n v0 = (v0 + v3 + 1) >> 1;\n v3 = t;\n t = (v1 - v2 + 1) >> 1;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = t;\n t = ((v4 * dctSin3) + (v7 * dctCos3) + 2048) >> 12;\n v4 = ((v4 * dctCos3) - (v7 * dctSin3) + 2048) >> 12;\n v7 = t;\n t = ((v5 * dctSin1) + (v6 * dctCos1) + 2048) >> 12;\n v5 = ((v5 * dctCos1) - (v6 * dctSin1) + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[(0 * 8) + col] = v0 + v7;\n p[(7 * 8) + col] = v0 - v7;\n p[(1 * 8) + col] = v1 + v6;\n p[(6 * 8) + col] = v1 - v6;\n p[(2 * 8) + col] = v2 + v5;\n p[(5 * 8) + col] = v2 - v5;\n p[(3 * 8) + col] = v3 + v4;\n p[(4 * 8) + col] = v3 - v4;\n }\n\n // convert to 8-bit integers\n for (i = 0; i < 64; ++i) {\n const sample = 128 + ((p[i] + 8) >> 4);\n if (sample < 0) {\n dataOut[i] = 0;\n } else if (sample > 0XFF) {\n dataOut[i] = 0xFF;\n } else {\n dataOut[i] = sample;\n }\n }\n }\n\n for (let blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n const scanLine = blockRow << 3;\n for (let i = 0; i < 8; i++) {\n lines.push(new Uint8Array(samplesPerLine));\n }\n for (let blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n quantizeAndInverse(component.blocks[blockRow][blockCol], r, R);\n\n let offset = 0;\n const sample = blockCol << 3;\n for (let j = 0; j < 8; j++) {\n const line = lines[scanLine + j];\n for (let i = 0; i < 8; i++) {\n line[sample + i] = r[offset++];\n }\n }\n }\n }\n return lines;\n}\n\nclass JpegStreamReader {\n constructor() {\n this.jfif = null;\n this.adobe = null;\n\n this.quantizationTables = [];\n this.huffmanTablesAC = [];\n this.huffmanTablesDC = [];\n this.resetFrames();\n }\n\n resetFrames() {\n this.frames = [];\n }\n\n parse(data) {\n let offset = 0;\n // const { length } = data;\n function readUint16() {\n const value = (data[offset] << 8) | data[offset + 1];\n offset += 2;\n return value;\n }\n function readDataBlock() {\n const length = readUint16();\n const array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n function prepareComponents(frame) {\n let maxH = 0;\n let maxV = 0;\n let component;\n let componentId;\n for (componentId in frame.components) {\n if (frame.components.hasOwnProperty(componentId)) {\n component = frame.components[componentId];\n if (maxH < component.h) {\n maxH = component.h;\n }\n if (maxV < component.v) {\n maxV = component.v;\n }\n }\n }\n const mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / maxH);\n const mcusPerColumn = Math.ceil(frame.scanLines / 8 / maxV);\n for (componentId in frame.components) {\n if (frame.components.hasOwnProperty(componentId)) {\n component = frame.components[componentId];\n const blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / maxH);\n const blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / maxV);\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n const blocks = [];\n for (let i = 0; i < blocksPerColumnForMcu; i++) {\n const row = [];\n for (let j = 0; j < blocksPerLineForMcu; j++) {\n row.push(new Int32Array(64));\n }\n blocks.push(row);\n }\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n component.blocks = blocks;\n }\n }\n frame.maxH = maxH;\n frame.maxV = maxV;\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n let fileMarker = readUint16();\n if (fileMarker !== 0xFFD8) { // SOI (Start of Image)\n throw new Error('SOI not found');\n }\n\n fileMarker = readUint16();\n while (fileMarker !== 0xFFD9) { // EOI (End of image)\n switch (fileMarker) {\n case 0xFF00: break;\n case 0xFFE0: // APP0 (Application Specific)\n case 0xFFE1: // APP1\n case 0xFFE2: // APP2\n case 0xFFE3: // APP3\n case 0xFFE4: // APP4\n case 0xFFE5: // APP5\n case 0xFFE6: // APP6\n case 0xFFE7: // APP7\n case 0xFFE8: // APP8\n case 0xFFE9: // APP9\n case 0xFFEA: // APP10\n case 0xFFEB: // APP11\n case 0xFFEC: // APP12\n case 0xFFED: // APP13\n case 0xFFEE: // APP14\n case 0xFFEF: // APP15\n case 0xFFFE: { // COM (Comment)\n const appData = readDataBlock();\n\n if (fileMarker === 0xFFE0) {\n if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49\n && appData[3] === 0x46 && appData[4] === 0) { // 'JFIF\\x00'\n this.jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: (appData[8] << 8) | appData[9],\n yDensity: (appData[10] << 8) | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + (3 * appData[12] * appData[13])),\n };\n }\n }\n // TODO APP1 - Exif\n if (fileMarker === 0xFFEE) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F\n && appData[3] === 0x62 && appData[4] === 0x65 && appData[5] === 0) { // 'Adobe\\x00'\n this.adobe = {\n version: appData[6],\n flags0: (appData[7] << 8) | appData[8],\n flags1: (appData[9] << 8) | appData[10],\n transformCode: appData[11],\n };\n }\n }\n break;\n }\n\n case 0xFFDB: { // DQT (Define Quantization Tables)\n const quantizationTablesLength = readUint16();\n const quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n const quantizationTableSpec = data[offset++];\n const tableData = new Int32Array(64);\n if ((quantizationTableSpec >> 4) === 0) { // 8 bit values\n for (let j = 0; j < 64; j++) {\n const z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if ((quantizationTableSpec >> 4) === 1) { // 16 bit\n for (let j = 0; j < 64; j++) {\n const z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else {\n throw new Error('DQT: invalid table spec');\n }\n this.quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n }\n\n case 0xFFC0: // SOF0 (Start of Frame, Baseline DCT)\n case 0xFFC1: // SOF1 (Start of Frame, Extended DCT)\n case 0xFFC2: { // SOF2 (Start of Frame, Progressive DCT)\n readUint16(); // skip data length\n const frame = {\n extended: (fileMarker === 0xFFC1),\n progressive: (fileMarker === 0xFFC2),\n precision: data[offset++],\n scanLines: readUint16(),\n samplesPerLine: readUint16(),\n components: {},\n componentsOrder: [],\n };\n\n const componentsCount = data[offset++];\n let componentId;\n // let maxH = 0;\n // let maxV = 0;\n for (let i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n const qId = data[offset + 2];\n frame.componentsOrder.push(componentId);\n frame.components[componentId] = {\n h,\n v,\n quantizationIdx: qId,\n };\n offset += 3;\n }\n prepareComponents(frame);\n this.frames.push(frame);\n break;\n }\n\n case 0xFFC4: { // DHT (Define Huffman Tables)\n const huffmanLength = readUint16();\n for (let i = 2; i < huffmanLength;) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (let j = 0; j < 16; j++, offset++) {\n codeLengths[j] = data[offset];\n codeLengthSum += codeLengths[j];\n }\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (let j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n i += 17 + codeLengthSum;\n\n if ((huffmanTableSpec >> 4) === 0) {\n this.huffmanTablesDC[huffmanTableSpec & 15] = buildHuffmanTable(\n codeLengths, huffmanValues,\n );\n } else {\n this.huffmanTablesAC[huffmanTableSpec & 15] = buildHuffmanTable(\n codeLengths, huffmanValues,\n );\n }\n }\n break;\n }\n\n case 0xFFDD: // DRI (Define Restart Interval)\n readUint16(); // skip data length\n this.resetInterval = readUint16();\n break;\n\n case 0xFFDA: { // SOS (Start of Scan)\n readUint16(); // skip length\n const selectorsCount = data[offset++];\n const components = [];\n const frame = this.frames[0];\n for (let i = 0; i < selectorsCount; i++) {\n const component = frame.components[data[offset++]];\n const tableSpec = data[offset++];\n component.huffmanTableDC = this.huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = this.huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++];\n const spectralEnd = data[offset++];\n const successiveApproximation = data[offset++];\n const processed = decodeScan(data, offset,\n frame, components, this.resetInterval,\n spectralStart, spectralEnd,\n successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n break;\n }\n\n case 0xFFFF: // Fill bytes\n if (data[offset] !== 0xFF) { // Avoid skipping a valid marker.\n offset--;\n }\n break;\n\n default:\n if (data[offset - 3] === 0xFF\n && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n // could be incorrect encoding -- last 0xFF byte of the previous\n // block was eaten by the encoder\n offset -= 3;\n break;\n }\n throw new Error(`unknown JPEG marker ${fileMarker.toString(16)}`);\n }\n fileMarker = readUint16();\n }\n }\n\n getResult() {\n const { frames } = this;\n if (this.frames.length === 0) {\n throw new Error('no frames were decoded');\n } else if (this.frames.length > 1) {\n console.warn('more than one frame is not supported');\n }\n\n // set each frame's components quantization table\n for (let i = 0; i < this.frames.length; i++) {\n const cp = this.frames[i].components;\n for (const j of Object.keys(cp)) {\n cp[j].quantizationTable = this.quantizationTables[cp[j].quantizationIdx];\n delete cp[j].quantizationIdx;\n }\n }\n\n const frame = frames[0];\n const { components, componentsOrder } = frame;\n const outComponents = [];\n const width = frame.samplesPerLine;\n const height = frame.scanLines;\n\n for (let i = 0; i < componentsOrder.length; i++) {\n const component = components[componentsOrder[i]];\n outComponents.push({\n lines: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n });\n }\n\n const out = new Uint8Array(width * height * outComponents.length);\n let oi = 0;\n for (let y = 0; y < height; ++y) {\n for (let x = 0; x < width; ++x) {\n for (let i = 0; i < outComponents.length; ++i) {\n const component = outComponents[i];\n out[oi] = component.lines[0 | y * component.scaleY][0 | x * component.scaleX];\n ++oi;\n }\n }\n }\n return out;\n }\n}\n\nexport default class JpegDecoder extends BaseDecoder {\n constructor(fileDirectory) {\n super();\n this.reader = new JpegStreamReader();\n if (fileDirectory.JPEGTables) {\n this.reader.parse(fileDirectory.JPEGTables);\n }\n }\n\n decodeBlock(buffer) {\n this.reader.resetFrames();\n this.reader.parse(new Uint8Array(buffer));\n return this.reader.getResult().buffer;\n }\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- if(typeof t==="undefined"){var t=globalThis||window||self}function e(t,e,i,s){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(e,i){function n(t){try{a(s.next(t))}catch(t){i(t)}}function o(t){try{a(s["throw"](t))}catch(t){i(t)}}function a(t){t.done?e(t.value):r(t.value).then(n,o)}a((s=s.apply(t,[])).next())}))}typeof SuppressedError==="function"?SuppressedError:function(t,e,i){var s=new Error(i);return s.name="SuppressedError",s.error=t,s.suppressed=e,s};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t["default"]:t}var s=function t(e,i){if(e===i)return true;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return false;var s,r,n;if(Array.isArray(e)){s=e.length;if(s!=i.length)return false;for(r=s;r--!==0;)if(!t(e[r],i[r]))return false;return true}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();n=Object.keys(e);s=n.length;if(s!==Object.keys(i).length)return false;for(r=s;r--!==0;)if(!Object.prototype.hasOwnProperty.call(i,n[r]))return false;for(r=s;r--!==0;){var o=n[r];if(!t(e[o],i[o]))return false}return true}return e!==e&&i!==i};var r=i(s);const n="__googleMapsScriptId";var o;(function(t){t[t["INITIALIZED"]=0]="INITIALIZED";t[t["LOADING"]=1]="LOADING";t[t["SUCCESS"]=2]="SUCCESS";t[t["FAILURE"]=3]="FAILURE"})(o||(o={}));class a{constructor({apiKey:t,authReferrerPolicy:e,channel:i,client:s,id:o=n,language:h,libraries:c=[],mapIds:l,nonce:u,region:f,retries:d=3,url:p="https://maps.googleapis.com/maps/api/js",version:g}){this.callbacks=[];this.done=false;this.loading=false;this.errors=[];this.apiKey=t;this.authReferrerPolicy=e;this.channel=i;this.client=s;this.id=o||n;this.language=h;this.libraries=c;this.mapIds=l;this.nonce=u;this.region=f;this.retries=d;this.url=p;this.version=g;if(a.instance){if(!r(this.options,a.instance.options)){throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(a.instance.options)}`)}return a.instance}a.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){if(this.errors.length){return o.FAILURE}if(this.done){return o.SUCCESS}if(this.loading){return o.LOADING}return o.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;t+=`?callback=__googleMapsCallback&loading=async`;if(this.apiKey){t+=`&key=${this.apiKey}`}if(this.channel){t+=`&channel=${this.channel}`}if(this.client){t+=`&client=${this.client}`}if(this.libraries.length>0){t+=`&libraries=${this.libraries.join(",")}`}if(this.language){t+=`&language=${this.language}`}if(this.region){t+=`&region=${this.region}`}if(this.version){t+=`&v=${this.version}`}if(this.mapIds){t+=`&map_ids=${this.mapIds.join(",")}`}if(this.authReferrerPolicy){t+=`&auth_referrer_policy=${this.authReferrerPolicy}`}return t}deleteScript(){const t=document.getElementById(this.id);if(t){t.remove()}}load(){return this.loadPromise()}loadPromise(){return new Promise(((t,e)=>{this.loadCallback((i=>{if(!i){t(window.google)}else{e(i.error)}}))}))}importLibrary(t){this.execute();return google.maps.importLibrary(t)}loadCallback(t){this.callbacks.push(t);this.execute()}setScript(){var t,i;if(document.getElementById(this.id)){this.callback();return}const s={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(s).forEach((t=>!s[t]&&delete s[t]));if(!((i=(t=window===null||window===void 0?void 0:window.google)===null||t===void 0?void 0:t.maps)===null||i===void 0?void 0:i.importLibrary)){(t=>{let i,s,r,n="The Google Maps JavaScript API",o="google",a="importLibrary",h="__ib__",c=document,l=window;l=l[o]||(l[o]={});const u=l.maps||(l.maps={}),f=new Set,d=new URLSearchParams,p=()=>i||(i=new Promise(((a,l)=>e(this,void 0,void 0,(function*(){var e;yield s=c.createElement("script");s.id=this.id;d.set("libraries",[...f]+"");for(r in t)d.set(r.replace(/[A-Z]/g,(t=>"_"+t[0].toLowerCase())),t[r]);d.set("callback",o+".maps."+h);s.src=this.url+`?`+d;u[h]=a;s.onerror=()=>i=l(Error(n+" could not load."));s.nonce=this.nonce||((e=c.querySelector("script[nonce]"))===null||e===void 0?void 0:e.nonce)||"";c.head.append(s)})))));u[a]?console.warn(n+" only loads once. Ignoring:",t):u[a]=(t,...e)=>f.add(t)&&p().then((()=>u[a](t,...e)))})(s)}const r=this.libraries.map((t=>this.importLibrary(t)));if(!r.length){r.push(this.importLibrary("core"))}Promise.all(r).then((()=>this.callback()),(t=>{const e=new ErrorEvent("error",{error:t});this.loadErrorCallback(e)}))}reset(){this.deleteScript();this.done=false;this.loading=false;this.errors=[];this.onerrorEvent=null}resetIfRetryingFailed(){if(this.failed){this.reset()}}loadErrorCallback(t){this.errors.push(t);if(this.errors.length<=this.retries){const t=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${t} ms.`);setTimeout((()=>{this.deleteScript();this.setScript()}),t)}else{this.onerrorEvent=t;this.callback()}}callback(){this.done=true;this.loading=false;this.callbacks.forEach((t=>{t(this.onerrorEvent)}));this.callbacks=[]}execute(){this.resetIfRetryingFailed();if(this.loading){return}if(this.done){this.callback()}else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. "+"This may result in undesirable behavior as options and script parameters may not match.");this.callback();return}this.loading=true;this.setScript()}}}async function h(t,e,i){if(t===0||e===0){return null}try{const s={"location.latitude":t.toFixed(5),"location.longitude":e.toFixed(5)};const r=new URLSearchParams({...s,key:i});const n=await fetch(`https://solar.googleapis.com/v1/buildingInsights:findClosest?${r}`);if(!n.ok){const t=await n.text();throw new Error(`HTTP error! status: ${n.status}, body: ${t}`)}const o=n.headers.get("content-type");if(!o||!o.includes("application/json")){const t=await n.text();console.error("Unexpected content type:",o,"Response:",t);return null}const a=await n.json();return a}catch(t){console.error("Error fetching solar data:",t);if(t instanceof TypeError&&t.message==="Failed to fetch"){throw new Error("Unable to connect to the solar data API.")}throw t}}async function c(t){try{const e={id:"",leadtype:"A-Lead",phase:"10 Anbahnung",title:`${t.client.name}/solarExpert`,extradata:JSON.stringify(t)};const i="https://workspace.nexvoro.cloud/exchange/extevent";const s=new URLSearchParams({md:"81.87.84.89.90.",token:"rdwetayarqzwtdsqystyraa",type:"new",data:"lead"});const r=`${i}?${s.toString()}`;const n=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok){const t=await n.text();throw new Error(`HTTP error! status: ${n.status}, body: ${t}`)}const o=await n.json();if(o.id||o.leadId){return{success:true,message:"Lead successfully created",leadId:o.id||o.leadId}}else{return{success:true,message:"Lead submitted successfully",leadId:undefined}}}catch(t){console.error("Error sending lead to Nexvoro:",t);return{success:false,message:t instanceof Error?t.message:"Unknown error occurred"}}}export{a as L,h as f,c as s};
2
- //# sourceMappingURL=p-Brw-XSJB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-Brw-XSJB.js","sources":["../../node_modules/@googlemaps/js-api-loader/dist/index.mjs","src/utils/api.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\nvar isEqual = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual);\n\n/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at.\n *\n * Http://www.apache.org/licenses/LICENSE-2.0.\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst DEFAULT_ID = \"__googleMapsScriptId\";\n/**\n * The status of the [[Loader]].\n */\nvar LoaderStatus;\n(function (LoaderStatus) {\n LoaderStatus[LoaderStatus[\"INITIALIZED\"] = 0] = \"INITIALIZED\";\n LoaderStatus[LoaderStatus[\"LOADING\"] = 1] = \"LOADING\";\n LoaderStatus[LoaderStatus[\"SUCCESS\"] = 2] = \"SUCCESS\";\n LoaderStatus[LoaderStatus[\"FAILURE\"] = 3] = \"FAILURE\";\n})(LoaderStatus || (LoaderStatus = {}));\n/**\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\n * dynamically using\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n * It works by dynamically creating and appending a script node to the the\n * document head and wrapping the callback function so as to return a promise.\n *\n * ```\n * const loader = new Loader({\n * apiKey: \"\",\n * version: \"weekly\",\n * libraries: [\"places\"]\n * });\n *\n * loader.load().then((google) => {\n * const map = new google.maps.Map(...)\n * })\n * ```\n */\nclass Loader {\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({ apiKey, authReferrerPolicy, channel, client, id = DEFAULT_ID, language, libraries = [], mapIds, nonce, region, retries = 3, url = \"https://maps.googleapis.com/maps/api/js\", version, }) {\n this.callbacks = [];\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.apiKey = apiKey;\n this.authReferrerPolicy = authReferrerPolicy;\n this.channel = channel;\n this.client = client;\n this.id = id || DEFAULT_ID; // Do not allow empty string\n this.language = language;\n this.libraries = libraries;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.region = region;\n this.retries = retries;\n this.url = url;\n this.version = version;\n if (Loader.instance) {\n if (!isEqual(this.options, Loader.instance.options)) {\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);\n }\n return Loader.instance;\n }\n Loader.instance = this;\n }\n get options() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n }\n get status() {\n if (this.errors.length) {\n return LoaderStatus.FAILURE;\n }\n if (this.done) {\n return LoaderStatus.SUCCESS;\n }\n if (this.loading) {\n return LoaderStatus.LOADING;\n }\n return LoaderStatus.INITIALIZED;\n }\n get failed() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n * @deprecated\n */\n createUrl() {\n let url = this.url;\n url += `?callback=__googleMapsCallback&loading=async`;\n if (this.apiKey) {\n url += `&key=${this.apiKey}`;\n }\n if (this.channel) {\n url += `&channel=${this.channel}`;\n }\n if (this.client) {\n url += `&client=${this.client}`;\n }\n if (this.libraries.length > 0) {\n url += `&libraries=${this.libraries.join(\",\")}`;\n }\n if (this.language) {\n url += `&language=${this.language}`;\n }\n if (this.region) {\n url += `&region=${this.region}`;\n }\n if (this.version) {\n url += `&v=${this.version}`;\n }\n if (this.mapIds) {\n url += `&map_ids=${this.mapIds.join(\",\")}`;\n }\n if (this.authReferrerPolicy) {\n url += `&auth_referrer_policy=${this.authReferrerPolicy}`;\n }\n return url;\n }\n deleteScript() {\n const script = document.getElementById(this.id);\n if (script) {\n script.remove();\n }\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n * @deprecated, use importLibrary() instead.\n */\n load() {\n return this.loadPromise();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n * @deprecated, use importLibrary() instead.\n */\n loadPromise() {\n return new Promise((resolve, reject) => {\n this.loadCallback((err) => {\n if (!err) {\n resolve(window.google);\n }\n else {\n reject(err.error);\n }\n });\n });\n }\n importLibrary(name) {\n this.execute();\n return google.maps.importLibrary(name);\n }\n /**\n * Load the Google Maps JavaScript API script with a callback.\n * @deprecated, use importLibrary() instead.\n */\n loadCallback(fn) {\n this.callbacks.push(fn);\n this.execute();\n }\n /**\n * Set the script on document.\n */\n setScript() {\n var _a, _b;\n if (document.getElementById(this.id)) {\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\n this.callback();\n return;\n }\n const params = {\n key: this.apiKey,\n channel: this.channel,\n client: this.client,\n libraries: this.libraries.length && this.libraries,\n v: this.version,\n mapIds: this.mapIds,\n language: this.language,\n region: this.region,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n // keep the URL minimal:\n Object.keys(params).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (key) => !params[key] && delete params[key]);\n if (!((_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.importLibrary)) {\n // tweaked copy of https://developers.google.com/maps/documentation/javascript/load-maps-js-api#dynamic-library-import\n // which also sets the base url, the id, and the nonce\n /* eslint-disable */\n ((g) => {\n // @ts-ignore\n let h, a, k, p = \"The Google Maps JavaScript API\", c = \"google\", l = \"importLibrary\", q = \"__ib__\", m = document, b = window;\n // @ts-ignore\n b = b[c] || (b[c] = {});\n // @ts-ignore\n const d = b.maps || (b.maps = {}), r = new Set(), e = new URLSearchParams(), u = () => \n // @ts-ignore\n h || (h = new Promise((f, n) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n yield (a = m.createElement(\"script\"));\n a.id = this.id;\n e.set(\"libraries\", [...r] + \"\");\n // @ts-ignore\n for (k in g)\n e.set(k.replace(/[A-Z]/g, (t) => \"_\" + t[0].toLowerCase()), g[k]);\n e.set(\"callback\", c + \".maps.\" + q);\n a.src = this.url + `?` + e;\n d[q] = f;\n a.onerror = () => (h = n(Error(p + \" could not load.\")));\n // @ts-ignore\n a.nonce = this.nonce || ((_a = m.querySelector(\"script[nonce]\")) === null || _a === void 0 ? void 0 : _a.nonce) || \"\";\n m.head.append(a);\n })));\n // @ts-ignore\n d[l] ? console.warn(p + \" only loads once. Ignoring:\", g) : (d[l] = (f, ...n) => r.add(f) && u().then(() => d[l](f, ...n)));\n })(params);\n /* eslint-enable */\n }\n // While most libraries populate the global namespace when loaded via bootstrap params,\n // this is not the case for \"marker\" when used with the inline bootstrap loader\n // (and maybe others in the future). So ensure there is an importLibrary for each:\n const libraryPromises = this.libraries.map((library) => this.importLibrary(library));\n // ensure at least one library, to kick off loading...\n if (!libraryPromises.length) {\n libraryPromises.push(this.importLibrary(\"core\"));\n }\n Promise.all(libraryPromises).then(() => this.callback(), (error) => {\n const event = new ErrorEvent(\"error\", { error }); // for backwards compat\n this.loadErrorCallback(event);\n });\n }\n /**\n * Reset the loader state.\n */\n reset() {\n this.deleteScript();\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.onerrorEvent = null;\n }\n resetIfRetryingFailed() {\n if (this.failed) {\n this.reset();\n }\n }\n loadErrorCallback(e) {\n this.errors.push(e);\n if (this.errors.length <= this.retries) {\n const delay = this.errors.length * Math.pow(2, this.errors.length);\n console.error(`Failed to load Google Maps script, retrying in ${delay} ms.`);\n setTimeout(() => {\n this.deleteScript();\n this.setScript();\n }, delay);\n }\n else {\n this.onerrorEvent = e;\n this.callback();\n }\n }\n callback() {\n this.done = true;\n this.loading = false;\n this.callbacks.forEach((cb) => {\n cb(this.onerrorEvent);\n });\n this.callbacks = [];\n }\n execute() {\n this.resetIfRetryingFailed();\n if (this.loading) {\n // do nothing but wait\n return;\n }\n if (this.done) {\n this.callback();\n }\n else {\n // short circuit and warn if google.maps is already loaded\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader. \" +\n \"This may result in undesirable behavior as options and script parameters may not match.\");\n this.callback();\n return;\n }\n this.loading = true;\n this.setScript();\n }\n }\n}\n\nexport { DEFAULT_ID, Loader, LoaderStatus };\n//# sourceMappingURL=index.mjs.map\n","import { BuildingInsightsResponse } from \"harmonia-types\";\r\n\r\nexport async function fetchSolarData(\r\n latitude: number,\r\n longitude: number,\r\n apiKey: string,\r\n) {\r\n if (latitude === 0 || longitude === 0) {\r\n return null;\r\n }\r\n try {\r\n const args = {\r\n \"location.latitude\": latitude.toFixed(5),\r\n \"location.longitude\": longitude.toFixed(5),\r\n };\r\n const params = new URLSearchParams({\r\n ...args,\r\n key: apiKey,\r\n });\r\n const response = await fetch(\r\n `https://solar.googleapis.com/v1/buildingInsights:findClosest?${params}`,\r\n );\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n throw new Error(\r\n `HTTP error! status: ${response.status}, body: ${errorText}`,\r\n );\r\n }\r\n\r\n const contentType = response.headers.get(\"content-type\");\r\n if (!contentType || !contentType.includes(\"application/json\")) {\r\n const text = await response.text();\r\n console.error(\"Unexpected content type:\", contentType, \"Response:\", text);\r\n return null;\r\n }\r\n\r\n const rawData: BuildingInsightsResponse = await response.json();\r\n return rawData;\r\n } catch (error) {\r\n console.error(\"Error fetching solar data:\", error);\r\n if (\r\n error instanceof TypeError &&\r\n error.message === \"Failed to fetch\"\r\n ) {\r\n throw new Error(\"Unable to connect to the solar data API.\");\r\n }\r\n throw error;\r\n }\r\n}\r\n\r\nexport interface LeadData {\r\n location: {\r\n name: string;\r\n latitude: number;\r\n longitude: number;\r\n };\r\n systemConfig: {\r\n maxNumberOfPanels: number;\r\n panelPeakPower: number;\r\n polygons: any[];\r\n solarSystems: any;\r\n electricityPrice: number;\r\n compensationRate: number;\r\n annualPriceIncrease: number;\r\n };\r\n client: {\r\n name: string;\r\n email: string;\r\n phone: string;\r\n consumption: number;\r\n consumptionProfile: string;\r\n hasBattery: boolean;\r\n battery: number;\r\n hasHeatPump: boolean;\r\n heatPumpM2: number;\r\n hasElectricCar: boolean;\r\n electricCarChargingTime: string;\r\n electricCarKmPerYear: number;\r\n };\r\n images: {\r\n roof: string;\r\n polygon: string;\r\n };\r\n results: {\r\n autonomy: number;\r\n costSavings: number;\r\n compensation20Years: number;\r\n savedCosts20Years: number;\r\n totalEnergyConsumption: number;\r\n };\r\n}\r\n\r\nexport async function sendLeadToNexvoro(\r\n leadData: LeadData,\r\n): Promise<{ success: boolean; message: string; leadId?: number }> {\r\n try {\r\n // Prepare the lead data according to Nexvoro specifications\r\n const leadPayload = {\r\n id: \"\", // Empty for new leads\r\n leadtype: \"A-Lead\", // Fixed value\r\n phase: \"10 Anbahnung\", // Fixed value\r\n title: `${leadData.client.name}/solarExpert`, // Short description\r\n extradata: JSON.stringify(leadData), // JSON string with all data\r\n };\r\n\r\n // Build the URL with required parameters\r\n const baseUrl = \"https://workspace.nexvoro.cloud/exchange/extevent\";\r\n const params = new URLSearchParams({\r\n md: \"81.87.84.89.90.\", // Encrypted tenant\r\n token: \"rdwetayarqzwtdsqystyraa\", // Token for Ruiz\r\n type: \"new\", // Action: new lead\r\n data: \"lead\", // Data area: leads\r\n });\r\n\r\n const url = `${baseUrl}?${params.toString()}`;\r\n\r\n // Send the request\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(leadPayload),\r\n });\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n throw new Error(\r\n `HTTP error! status: ${response.status}, body: ${errorText}`,\r\n );\r\n }\r\n\r\n const result = await response.json();\r\n\r\n // Check if the response contains a lead ID (successful creation)\r\n if (result.id || result.leadId) {\r\n return {\r\n success: true,\r\n message: \"Lead successfully created\",\r\n leadId: result.id || result.leadId,\r\n };\r\n } else {\r\n return {\r\n success: true,\r\n message: \"Lead submitted successfully\",\r\n leadId: undefined,\r\n };\r\n }\r\n } catch (error) {\r\n console.error(\"Error sending lead to Nexvoro:\", error);\r\n return {\r\n success: false,\r\n message: error instanceof Error\r\n ? error.message\r\n : \"Unknown error occurred\",\r\n };\r\n }\r\n}\r\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- if(typeof e==="undefined"){var e=globalThis||window||self}import{B as t}from"./p-j-vOrhhh.js";class o extends t{decodeBlock(e){const t=new DataView(e);const o=[];for(let r=0;r<e.byteLength;++r){let e=t.getInt8(r);if(e<0){const s=t.getUint8(r+1);e=-e;for(let t=0;t<=e;++t){o.push(s)}r+=1}else{for(let s=0;s<=e;++s){o.push(t.getUint8(r+s+1))}r+=e+1}}return new Uint8Array(o).buffer}}export{o as default};
2
- //# sourceMappingURL=p-ByX6QP-E.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-ByX6QP-E.js","sources":["../../node_modules/geotiff/dist-module/compression/packbits.js"],"sourcesContent":["import BaseDecoder from './basedecoder.js';\n\nexport default class PackbitsDecoder extends BaseDecoder {\n decodeBlock(buffer) {\n const dataView = new DataView(buffer);\n const out = [];\n\n for (let i = 0; i < buffer.byteLength; ++i) {\n let header = dataView.getInt8(i);\n if (header < 0) {\n const next = dataView.getUint8(i + 1);\n header = -header;\n for (let j = 0; j <= header; ++j) {\n out.push(next);\n }\n i += 1;\n } else {\n for (let j = 0; j <= header; ++j) {\n out.push(dataView.getUint8(i + j + 1));\n }\n i += header + 1;\n }\n }\n return new Uint8Array(out).buffer;\n }\n}\n"],"names":[],"mappings":";;;;AAEe,MAAM,eAAe,SAAS,WAAW,CAAC;AACzD,EAAE,WAAW,CAAC,MAAM,EAAE;AACtB,IAAI,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC;AACzC,IAAI,MAAM,GAAG,GAAG,EAAE;;AAElB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;AAChD,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACtC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;AACtB,QAAQ,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,MAAM,GAAG,CAAC,MAAM;AACxB,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;AAC1C,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB;AACA,QAAQ,CAAC,IAAI,CAAC;AACd,OAAO,MAAM;AACb,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;AAC1C,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD;AACA,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC;AACvB;AACA;AACA,IAAI,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM;AACrC;AACA;;;;","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- if(typeof e==="undefined"){var e=globalThis||window||self}const o=()=>{};export{o as g};
2
- //# sourceMappingURL=p-CX8V3eiN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-CX8V3eiN.js","sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"names":[],"mappings":";;AAAY,MAAC,aAAa,GAAG,MAAM;;;;"}
@@ -1,2 +0,0 @@
1
- if(typeof e==="undefined"){var e=globalThis||window||self}import{B as n}from"./p-j-vOrhhh.js";class a extends n{constructor(){super();if(typeof createImageBitmap==="undefined"){throw new Error("Cannot decode WebImage as `createImageBitmap` is not available")}else if(typeof document==="undefined"&&typeof OffscreenCanvas==="undefined"){throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}}async decode(e,n){const a=new Blob([n]);const t=await createImageBitmap(a);let o;if(typeof document!=="undefined"){o=document.createElement("canvas");o.width=t.width;o.height=t.height}else{o=new OffscreenCanvas(t.width,t.height)}const s=o.getContext("2d");s.drawImage(t,0,0);return s.getImageData(0,0,t.width,t.height).data.buffer}}export{a as default};
2
- //# sourceMappingURL=p-Cgchl6bA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-Cgchl6bA.js","sources":["../../node_modules/geotiff/dist-module/compression/webimage.js"],"sourcesContent":["import BaseDecoder from './basedecoder.js';\n\n/**\n * class WebImageDecoder\n *\n * This decoder uses the browsers image decoding facilities to read image\n * formats like WebP when supported.\n */\nexport default class WebImageDecoder extends BaseDecoder {\n constructor() {\n super();\n if (typeof createImageBitmap === 'undefined') {\n throw new Error('Cannot decode WebImage as `createImageBitmap` is not available');\n } else if (typeof document === 'undefined' && typeof OffscreenCanvas === 'undefined') {\n throw new Error('Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available');\n }\n }\n\n async decode(fileDirectory, buffer) {\n const blob = new Blob([buffer]);\n const imageBitmap = await createImageBitmap(blob);\n\n let canvas;\n if (typeof document !== 'undefined') {\n canvas = document.createElement('canvas');\n canvas.width = imageBitmap.width;\n canvas.height = imageBitmap.height;\n } else {\n canvas = new OffscreenCanvas(imageBitmap.width, imageBitmap.height);\n }\n\n const ctx = canvas.getContext('2d');\n ctx.drawImage(imageBitmap, 0, 0);\n\n // TODO: check how many samples per pixel we have, and return RGB/RGBA accordingly\n // it seems like GDAL always encodes via RGBA which does not require a translation\n\n return ctx.getImageData(0, 0, imageBitmap.width, imageBitmap.height).data.buffer;\n }\n}\n"],"names":[],"mappings":";;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACe,MAAM,eAAe,SAAS,WAAW,CAAC;AACzD,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,EAAE;AACX,IAAI,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;AAClD,MAAM,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC;AACvF,KAAK,MAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;AAC1F,MAAM,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC;AAC5G;AACA;;AAEA,EAAE,MAAM,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE;AACtC,IAAI,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACnC,IAAI,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC;;AAErD,IAAI,IAAI,MAAM;AACd,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,MAAM,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;AACtC,MAAM,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;AACxC,KAAK,MAAM;AACX,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;AACzE;;AAEA,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACvC,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;;AAEpC;AACA;;AAEA,IAAI,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM;AACpF;AACA;;;;","x_google_ignoreList":[0]}
@@ -1,10 +0,0 @@
1
- if(typeof A==="undefined"){var A=globalThis||window||self}import{i as I}from"./p-B5WTRCh8.js";import{g as A,L as B,a as g}from"./p-LebgAmeq.js";import{B as Q}from"./p-j-vOrhhh.js";import"./p-X54eOLJv.js";import"./p-Brw-XSJB.js";var C=[];var E=[];var i=typeof Uint8Array!=="undefined"?Uint8Array:Array;var r=false;function e(){r=true;var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var I=0,B=A.length;I<B;++I){C[I]=A[I];E[A.charCodeAt(I)]=I}E["-".charCodeAt(0)]=62;E["_".charCodeAt(0)]=63}function a(A){if(!r){e()}var I,B,g,Q,C,a;var t=A.length;if(t%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}C=A[t-2]==="="?2:A[t-1]==="="?1:0;a=new i(t*3/4-C);g=C>0?t-4:t;var n=0;for(I=0,B=0;I<g;I+=4,B+=3){Q=E[A.charCodeAt(I)]<<18|E[A.charCodeAt(I+1)]<<12|E[A.charCodeAt(I+2)]<<6|E[A.charCodeAt(I+3)];a[n++]=Q>>16&255;a[n++]=Q>>8&255;a[n++]=Q&255}if(C===2){Q=E[A.charCodeAt(I)]<<2|E[A.charCodeAt(I+1)]>>4;a[n++]=Q&255}else if(C===1){Q=E[A.charCodeAt(I)]<<10|E[A.charCodeAt(I+1)]<<4|E[A.charCodeAt(I+2)]>>2;a[n++]=Q>>8&255;a[n++]=Q&255}return a}function t(A){return C[A>>18&63]+C[A>>12&63]+C[A>>6&63]+C[A&63]}function n(A,I,B){var g;var Q=[];for(var C=I;C<B;C+=3){g=(A[C]<<16)+(A[C+1]<<8)+A[C+2];Q.push(t(g))}return Q.join("")}function o(A){if(!r){e()}var I;var B=A.length;var g=B%3;var Q="";var E=[];var i=16383;for(var a=0,t=B-g;a<t;a+=i){E.push(n(A,a,a+i>t?t:a+i))}if(g===1){I=A[B-1];Q+=C[I>>2];Q+=C[I<<4&63];Q+="=="}else if(g===2){I=(A[B-2]<<8)+A[B-1];Q+=C[I>>10];Q+=C[I>>4&63];Q+=C[I<<2&63];Q+="="}E.push(Q);return E.join("")}function f(A,I,B,g,Q){var C,E;var i=Q*8-g-1;var r=(1<<i)-1;var e=r>>1;var a=-7;var t=B?Q-1:0;var n=B?-1:1;var o=A[I+t];t+=n;C=o&(1<<-a)-1;o>>=-a;a+=i;for(;a>0;C=C*256+A[I+t],t+=n,a-=8){}E=C&(1<<-a)-1;C>>=-a;a+=g;for(;a>0;E=E*256+A[I+t],t+=n,a-=8){}if(C===0){C=1-e}else if(C===r){return E?NaN:(o?-1:1)*Infinity}else{E=E+Math.pow(2,g);C=C-e}return(o?-1:1)*E*Math.pow(2,C-g)}function s(A,I,B,g,Q,C){var E,i,r;var e=C*8-Q-1;var a=(1<<e)-1;var t=a>>1;var n=Q===23?Math.pow(2,-24)-Math.pow(2,-77):0;var o=g?0:C-1;var f=g?1:-1;var s=I<0||I===0&&1/I<0?1:0;I=Math.abs(I);if(isNaN(I)||I===Infinity){i=isNaN(I)?1:0;E=a}else{E=Math.floor(Math.log(I)/Math.LN2);if(I*(r=Math.pow(2,-E))<1){E--;r*=2}if(E+t>=1){I+=n/r}else{I+=n*Math.pow(2,1-t)}if(I*r>=2){E++;r/=2}if(E+t>=a){i=0;E=a}else if(E+t>=1){i=(I*r-1)*Math.pow(2,Q);E=E+t}else{i=I*Math.pow(2,t-1)*Math.pow(2,Q);E=0}}for(;Q>=8;A[B+o]=i&255,o+=f,i/=256,Q-=8){}E=E<<Q|i;e+=Q;for(;e>0;A[B+o]=E&255,o+=f,E/=256,e-=8){}A[B+o-f]|=s*128}var h={}.toString;var w=Array.isArray||function(A){return h.call(A)=="[object Array]"};
2
- /*!
3
- * The buffer module from node.js, for the browser.
4
- *
5
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
6
- * @license MIT
7
- */var D=50;y.TYPED_ARRAY_SUPPORT=A.TYPED_ARRAY_SUPPORT!==undefined?A.TYPED_ARRAY_SUPPORT:true;function u(){return y.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function c(A,I){if(u()<I){throw new RangeError("Invalid typed array length")}if(y.TYPED_ARRAY_SUPPORT){A=new Uint8Array(I);A.__proto__=y.prototype}else{if(A===null){A=new y(I)}A.length=I}return A}function y(A,I,B){if(!y.TYPED_ARRAY_SUPPORT&&!(this instanceof y)){return new y(A,I,B)}if(typeof A==="number"){if(typeof I==="string"){throw new Error("If encoding is specified then the first argument must be a string")}return k(this,A)}return G(this,A,I,B)}y.poolSize=8192;y._augment=function(A){A.__proto__=y.prototype;return A};function G(A,I,B,g){if(typeof I==="number"){throw new TypeError('"value" argument must not be a number')}if(typeof ArrayBuffer!=="undefined"&&I instanceof ArrayBuffer){return S(A,I,B,g)}if(typeof I==="string"){return R(A,I,B)}return l(A,I)}y.from=function(A,I,B){return G(null,A,I,B)};if(y.TYPED_ARRAY_SUPPORT){y.prototype.__proto__=Uint8Array.prototype;y.__proto__=Uint8Array}function F(A){if(typeof A!=="number"){throw new TypeError('"size" argument must be a number')}else if(A<0){throw new RangeError('"size" argument must not be negative')}}function v(A,I,B,g){F(I);if(I<=0){return c(A,I)}if(B!==undefined){return typeof g==="string"?c(A,I).fill(B,g):c(A,I).fill(B)}return c(A,I)}y.alloc=function(A,I,B){return v(null,A,I,B)};function k(A,I){F(I);A=c(A,I<0?0:N(I)|0);if(!y.TYPED_ARRAY_SUPPORT){for(var B=0;B<I;++B){A[B]=0}}return A}y.allocUnsafe=function(A){return k(null,A)};y.allocUnsafeSlow=function(A){return k(null,A)};function R(A,I,B){if(typeof B!=="string"||B===""){B="utf8"}if(!y.isEncoding(B)){throw new TypeError('"encoding" must be a valid string encoding')}var g=L(I,B)|0;A=c(A,g);var Q=A.write(I,B);if(Q!==g){A=A.slice(0,Q)}return A}function U(A,I){var B=I.length<0?0:N(I.length)|0;A=c(A,B);for(var g=0;g<B;g+=1){A[g]=I[g]&255}return A}function S(A,I,B,g){if(B<0||I.byteLength<B){throw new RangeError("'offset' is out of bounds")}if(I.byteLength<B+(g||0)){throw new RangeError("'length' is out of bounds")}if(B===undefined&&g===undefined){I=new Uint8Array(I)}else if(g===undefined){I=new Uint8Array(I,B)}else{I=new Uint8Array(I,B,g)}if(y.TYPED_ARRAY_SUPPORT){A=I;A.__proto__=y.prototype}else{A=U(A,I)}return A}function l(A,I){if(M(I)){var B=N(I.length)|0;A=c(A,B);if(A.length===0){return A}I.copy(A,0,0,B);return A}if(I){if(typeof ArrayBuffer!=="undefined"&&I.buffer instanceof ArrayBuffer||"length"in I){if(typeof I.length!=="number"||oA(I.length)){return c(A,0)}return U(A,I)}if(I.type==="Buffer"&&w(I.data)){return U(A,I.data)}}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function N(A){if(A>=u()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+u().toString(16)+" bytes")}return A|0}y.isBuffer=fA;function M(A){return!!(A!=null&&A._isBuffer)}y.compare=function A(I,B){if(!M(I)||!M(B)){throw new TypeError("Arguments must be Buffers")}if(I===B)return 0;var g=I.length;var Q=B.length;for(var C=0,E=Math.min(g,Q);C<E;++C){if(I[C]!==B[C]){g=I[C];Q=B[C];break}}if(g<Q)return-1;if(Q<g)return 1;return 0};y.isEncoding=function A(I){switch(String(I).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};y.concat=function A(I,B){if(!w(I)){throw new TypeError('"list" argument must be an Array of Buffers')}if(I.length===0){return y.alloc(0)}var g;if(B===undefined){B=0;for(g=0;g<I.length;++g){B+=I[g].length}}var Q=y.allocUnsafe(B);var C=0;for(g=0;g<I.length;++g){var E=I[g];if(!M(E)){throw new TypeError('"list" argument must be an Array of Buffers')}E.copy(Q,C);C+=E.length}return Q};function L(A,I){if(M(A)){return A.length}if(typeof ArrayBuffer!=="undefined"&&typeof ArrayBuffer.isView==="function"&&(ArrayBuffer.isView(A)||A instanceof ArrayBuffer)){return A.byteLength}if(typeof A!=="string"){A=""+A}var B=A.length;if(B===0)return 0;var g=false;for(;;){switch(I){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":case undefined:return rA(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B*2;case"hex":return B>>>1;case"base64":return tA(A).length;default:if(g)return rA(A).length;I=(""+I).toLowerCase();g=true}}}y.byteLength=L;function J(A,I,B){var g=false;if(I===undefined||I<0){I=0}if(I>this.length){return""}if(B===undefined||B>this.length){B=this.length}if(B<=0){return""}B>>>=0;I>>>=0;if(B<=I){return""}if(!A)A="utf8";while(true){switch(A){case"hex":return Z(this,I,B);case"utf8":case"utf-8":return O(this,I,B);case"ascii":return W(this,I,B);case"latin1":case"binary":return P(this,I,B);case"base64":return V(this,I,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,I,B);default:if(g)throw new TypeError("Unknown encoding: "+A);A=(A+"").toLowerCase();g=true}}}y.prototype._isBuffer=true;function q(A,I,B){var g=A[I];A[I]=A[B];A[B]=g}y.prototype.swap16=function A(){var I=this.length;if(I%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var B=0;B<I;B+=2){q(this,B,B+1)}return this};y.prototype.swap32=function A(){var I=this.length;if(I%4!==0){throw new RangeError("Buffer size must be a multiple of 32-bits")}for(var B=0;B<I;B+=4){q(this,B,B+3);q(this,B+1,B+2)}return this};y.prototype.swap64=function A(){var I=this.length;if(I%8!==0){throw new RangeError("Buffer size must be a multiple of 64-bits")}for(var B=0;B<I;B+=8){q(this,B,B+7);q(this,B+1,B+6);q(this,B+2,B+5);q(this,B+3,B+4)}return this};y.prototype.toString=function A(){var I=this.length|0;if(I===0)return"";if(arguments.length===0)return O(this,0,I);return J.apply(this,arguments)};y.prototype.equals=function A(I){if(!M(I))throw new TypeError("Argument must be a Buffer");if(this===I)return true;return y.compare(this,I)===0};y.prototype.inspect=function A(){var I="";var B=D;if(this.length>0){I=this.toString("hex",0,B).match(/.{2}/g).join(" ");if(this.length>B)I+=" ... "}return"<Buffer "+I+">"};y.prototype.compare=function A(I,B,g,Q,C){if(!M(I)){throw new TypeError("Argument must be a Buffer")}if(B===undefined){B=0}if(g===undefined){g=I?I.length:0}if(Q===undefined){Q=0}if(C===undefined){C=this.length}if(B<0||g>I.length||Q<0||C>this.length){throw new RangeError("out of range index")}if(Q>=C&&B>=g){return 0}if(Q>=C){return-1}if(B>=g){return 1}B>>>=0;g>>>=0;Q>>>=0;C>>>=0;if(this===I)return 0;var E=C-Q;var i=g-B;var r=Math.min(E,i);var e=this.slice(Q,C);var a=I.slice(B,g);for(var t=0;t<r;++t){if(e[t]!==a[t]){E=e[t];i=a[t];break}}if(E<i)return-1;if(i<E)return 1;return 0};function d(A,I,B,g,Q){if(A.length===0)return-1;if(typeof B==="string"){g=B;B=0}else if(B>2147483647){B=2147483647}else if(B<-2147483648){B=-2147483648}B=+B;if(isNaN(B)){B=Q?0:A.length-1}if(B<0)B=A.length+B;if(B>=A.length){if(Q)return-1;else B=A.length-1}else if(B<0){if(Q)B=0;else return-1}if(typeof I==="string"){I=y.from(I,g)}if(M(I)){if(I.length===0){return-1}return Y(A,I,B,g,Q)}else if(typeof I==="number"){I=I&255;if(y.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(Q){return Uint8Array.prototype.indexOf.call(A,I,B)}else{return Uint8Array.prototype.lastIndexOf.call(A,I,B)}}return Y(A,[I],B,g,Q)}throw new TypeError("val must be string, number or Buffer")}function Y(A,I,B,g,Q){var C=1;var E=A.length;var i=I.length;if(g!==undefined){g=String(g).toLowerCase();if(g==="ucs2"||g==="ucs-2"||g==="utf16le"||g==="utf-16le"){if(A.length<2||I.length<2){return-1}C=2;E/=2;i/=2;B/=2}}function r(A,I){if(C===1){return A[I]}else{return A.readUInt16BE(I*C)}}var e;if(Q){var a=-1;for(e=B;e<E;e++){if(r(A,e)===r(I,a===-1?0:e-a)){if(a===-1)a=e;if(e-a+1===i)return a*C}else{if(a!==-1)e-=e-a;a=-1}}}else{if(B+i>E)B=E-i;for(e=B;e>=0;e--){var t=true;for(var n=0;n<i;n++){if(r(A,e+n)!==r(I,n)){t=false;break}}if(t)return e}}return-1}y.prototype.includes=function A(I,B,g){return this.indexOf(I,B,g)!==-1};y.prototype.indexOf=function A(I,B,g){return d(this,I,B,g,true)};y.prototype.lastIndexOf=function A(I,B,g){return d(this,I,B,g,false)};function H(A,I,B,g){B=Number(B)||0;var Q=A.length-B;if(!g){g=Q}else{g=Number(g);if(g>Q){g=Q}}var C=I.length;if(C%2!==0)throw new TypeError("Invalid hex string");if(g>C/2){g=C/2}for(var E=0;E<g;++E){var i=parseInt(I.substr(E*2,2),16);if(isNaN(i))return E;A[B+E]=i}return E}function K(A,I,B,g){return nA(rA(I,A.length-B),A,B,g)}function p(A,I,B,g){return nA(eA(I),A,B,g)}function m(A,I,B,g){return p(A,I,B,g)}function b(A,I,B,g){return nA(tA(I),A,B,g)}function x(A,I,B,g){return nA(aA(I,A.length-B),A,B,g)}y.prototype.write=function A(I,B,g,Q){if(B===undefined){Q="utf8";g=this.length;B=0}else if(g===undefined&&typeof B==="string"){Q=B;g=this.length;B=0}else if(isFinite(B)){B=B|0;if(isFinite(g)){g=g|0;if(Q===undefined)Q="utf8"}else{Q=g;g=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var C=this.length-B;if(g===undefined||g>C)g=C;if(I.length>0&&(g<0||B<0)||B>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!Q)Q="utf8";var E=false;for(;;){switch(Q){case"hex":return H(this,I,B,g);case"utf8":case"utf-8":return K(this,I,B,g);case"ascii":return p(this,I,B,g);case"latin1":case"binary":return m(this,I,B,g);case"base64":return b(this,I,B,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,I,B,g);default:if(E)throw new TypeError("Unknown encoding: "+Q);Q=(""+Q).toLowerCase();E=true}}};y.prototype.toJSON=function A(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function V(A,I,B){if(I===0&&B===A.length){return o(A)}else{return o(A.slice(I,B))}}function O(A,I,B){B=Math.min(A.length,B);var g=[];var Q=I;while(Q<B){var C=A[Q];var E=null;var i=C>239?4:C>223?3:C>191?2:1;if(Q+i<=B){var r,e,a,t;switch(i){case 1:if(C<128){E=C}break;case 2:r=A[Q+1];if((r&192)===128){t=(C&31)<<6|r&63;if(t>127){E=t}}break;case 3:r=A[Q+1];e=A[Q+2];if((r&192)===128&&(e&192)===128){t=(C&15)<<12|(r&63)<<6|e&63;if(t>2047&&(t<55296||t>57343)){E=t}}break;case 4:r=A[Q+1];e=A[Q+2];a=A[Q+3];if((r&192)===128&&(e&192)===128&&(a&192)===128){t=(C&15)<<18|(r&63)<<12|(e&63)<<6|a&63;if(t>65535&&t<1114112){E=t}}}}if(E===null){E=65533;i=1}else if(E>65535){E-=65536;g.push(E>>>10&1023|55296);E=56320|E&1023}g.push(E);Q+=i}return T(g)}var X=4096;function T(A){var I=A.length;if(I<=X){return String.fromCharCode.apply(String,A)}var B="";var g=0;while(g<I){B+=String.fromCharCode.apply(String,A.slice(g,g+=X))}return B}function W(A,I,B){var g="";B=Math.min(A.length,B);for(var Q=I;Q<B;++Q){g+=String.fromCharCode(A[Q]&127)}return g}function P(A,I,B){var g="";B=Math.min(A.length,B);for(var Q=I;Q<B;++Q){g+=String.fromCharCode(A[Q])}return g}function Z(A,I,B){var g=A.length;if(!I||I<0)I=0;if(!B||B<0||B>g)B=g;var Q="";for(var C=I;C<B;++C){Q+=iA(A[C])}return Q}function j(A,I,B){var g=A.slice(I,B);var Q="";for(var C=0;C<g.length;C+=2){Q+=String.fromCharCode(g[C]+g[C+1]*256)}return Q}y.prototype.slice=function A(I,B){var g=this.length;I=~~I;B=B===undefined?g:~~B;if(I<0){I+=g;if(I<0)I=0}else if(I>g){I=g}if(B<0){B+=g;if(B<0)B=0}else if(B>g){B=g}if(B<I)B=I;var Q;if(y.TYPED_ARRAY_SUPPORT){Q=this.subarray(I,B);Q.__proto__=y.prototype}else{var C=B-I;Q=new y(C,undefined);for(var E=0;E<C;++E){Q[E]=this[E+I]}}return Q};function z(A,I,B){if(A%1!==0||A<0)throw new RangeError("offset is not uint");if(A+I>B)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUIntLE=function A(I,B,g){I=I|0;B=B|0;if(!g)z(I,B,this.length);var Q=this[I];var C=1;var E=0;while(++E<B&&(C*=256)){Q+=this[I+E]*C}return Q};y.prototype.readUIntBE=function A(I,B,g){I=I|0;B=B|0;if(!g){z(I,B,this.length)}var Q=this[I+--B];var C=1;while(B>0&&(C*=256)){Q+=this[I+--B]*C}return Q};y.prototype.readUInt8=function A(I,B){if(!B)z(I,1,this.length);return this[I]};y.prototype.readUInt16LE=function A(I,B){if(!B)z(I,2,this.length);return this[I]|this[I+1]<<8};y.prototype.readUInt16BE=function A(I,B){if(!B)z(I,2,this.length);return this[I]<<8|this[I+1]};y.prototype.readUInt32LE=function A(I,B){if(!B)z(I,4,this.length);return(this[I]|this[I+1]<<8|this[I+2]<<16)+this[I+3]*16777216};y.prototype.readUInt32BE=function A(I,B){if(!B)z(I,4,this.length);return this[I]*16777216+(this[I+1]<<16|this[I+2]<<8|this[I+3])};y.prototype.readIntLE=function A(I,B,g){I=I|0;B=B|0;if(!g)z(I,B,this.length);var Q=this[I];var C=1;var E=0;while(++E<B&&(C*=256)){Q+=this[I+E]*C}C*=128;if(Q>=C)Q-=Math.pow(2,8*B);return Q};y.prototype.readIntBE=function A(I,B,g){I=I|0;B=B|0;if(!g)z(I,B,this.length);var Q=B;var C=1;var E=this[I+--Q];while(Q>0&&(C*=256)){E+=this[I+--Q]*C}C*=128;if(E>=C)E-=Math.pow(2,8*B);return E};y.prototype.readInt8=function A(I,B){if(!B)z(I,1,this.length);if(!(this[I]&128))return this[I];return(255-this[I]+1)*-1};y.prototype.readInt16LE=function A(I,B){if(!B)z(I,2,this.length);var g=this[I]|this[I+1]<<8;return g&32768?g|4294901760:g};y.prototype.readInt16BE=function A(I,B){if(!B)z(I,2,this.length);var g=this[I+1]|this[I]<<8;return g&32768?g|4294901760:g};y.prototype.readInt32LE=function A(I,B){if(!B)z(I,4,this.length);return this[I]|this[I+1]<<8|this[I+2]<<16|this[I+3]<<24};y.prototype.readInt32BE=function A(I,B){if(!B)z(I,4,this.length);return this[I]<<24|this[I+1]<<16|this[I+2]<<8|this[I+3]};y.prototype.readFloatLE=function A(I,B){if(!B)z(I,4,this.length);return f(this,I,true,23,4)};y.prototype.readFloatBE=function A(I,B){if(!B)z(I,4,this.length);return f(this,I,false,23,4)};y.prototype.readDoubleLE=function A(I,B){if(!B)z(I,8,this.length);return f(this,I,true,52,8)};y.prototype.readDoubleBE=function A(I,B){if(!B)z(I,8,this.length);return f(this,I,false,52,8)};function _(A,I,B,g,Q,C){if(!M(A))throw new TypeError('"buffer" argument must be a Buffer instance');if(I>Q||I<C)throw new RangeError('"value" argument is out of bounds');if(B+g>A.length)throw new RangeError("Index out of range")}y.prototype.writeUIntLE=function A(I,B,g,Q){I=+I;B=B|0;g=g|0;if(!Q){var C=Math.pow(2,8*g)-1;_(this,I,B,g,C,0)}var E=1;var i=0;this[B]=I&255;while(++i<g&&(E*=256)){this[B+i]=I/E&255}return B+g};y.prototype.writeUIntBE=function A(I,B,g,Q){I=+I;B=B|0;g=g|0;if(!Q){var C=Math.pow(2,8*g)-1;_(this,I,B,g,C,0)}var E=g-1;var i=1;this[B+E]=I&255;while(--E>=0&&(i*=256)){this[B+E]=I/i&255}return B+g};y.prototype.writeUInt8=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,1,255,0);if(!y.TYPED_ARRAY_SUPPORT)I=Math.floor(I);this[B]=I&255;return B+1};function $(A,I,B,g){if(I<0)I=65535+I+1;for(var Q=0,C=Math.min(A.length-B,2);Q<C;++Q){A[B+Q]=(I&255<<8*(g?Q:1-Q))>>>(g?Q:1-Q)*8}}y.prototype.writeUInt16LE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,2,65535,0);if(y.TYPED_ARRAY_SUPPORT){this[B]=I&255;this[B+1]=I>>>8}else{$(this,I,B,true)}return B+2};y.prototype.writeUInt16BE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,2,65535,0);if(y.TYPED_ARRAY_SUPPORT){this[B]=I>>>8;this[B+1]=I&255}else{$(this,I,B,false)}return B+2};function AA(A,I,B,g){if(I<0)I=4294967295+I+1;for(var Q=0,C=Math.min(A.length-B,4);Q<C;++Q){A[B+Q]=I>>>(g?Q:3-Q)*8&255}}y.prototype.writeUInt32LE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,4,4294967295,0);if(y.TYPED_ARRAY_SUPPORT){this[B+3]=I>>>24;this[B+2]=I>>>16;this[B+1]=I>>>8;this[B]=I&255}else{AA(this,I,B,true)}return B+4};y.prototype.writeUInt32BE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,4,4294967295,0);if(y.TYPED_ARRAY_SUPPORT){this[B]=I>>>24;this[B+1]=I>>>16;this[B+2]=I>>>8;this[B+3]=I&255}else{AA(this,I,B,false)}return B+4};y.prototype.writeIntLE=function A(I,B,g,Q){I=+I;B=B|0;if(!Q){var C=Math.pow(2,8*g-1);_(this,I,B,g,C-1,-C)}var E=0;var i=1;var r=0;this[B]=I&255;while(++E<g&&(i*=256)){if(I<0&&r===0&&this[B+E-1]!==0){r=1}this[B+E]=(I/i>>0)-r&255}return B+g};y.prototype.writeIntBE=function A(I,B,g,Q){I=+I;B=B|0;if(!Q){var C=Math.pow(2,8*g-1);_(this,I,B,g,C-1,-C)}var E=g-1;var i=1;var r=0;this[B+E]=I&255;while(--E>=0&&(i*=256)){if(I<0&&r===0&&this[B+E+1]!==0){r=1}this[B+E]=(I/i>>0)-r&255}return B+g};y.prototype.writeInt8=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,1,127,-128);if(!y.TYPED_ARRAY_SUPPORT)I=Math.floor(I);if(I<0)I=255+I+1;this[B]=I&255;return B+1};y.prototype.writeInt16LE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,2,32767,-32768);if(y.TYPED_ARRAY_SUPPORT){this[B]=I&255;this[B+1]=I>>>8}else{$(this,I,B,true)}return B+2};y.prototype.writeInt16BE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,2,32767,-32768);if(y.TYPED_ARRAY_SUPPORT){this[B]=I>>>8;this[B+1]=I&255}else{$(this,I,B,false)}return B+2};y.prototype.writeInt32LE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,4,2147483647,-2147483648);if(y.TYPED_ARRAY_SUPPORT){this[B]=I&255;this[B+1]=I>>>8;this[B+2]=I>>>16;this[B+3]=I>>>24}else{AA(this,I,B,true)}return B+4};y.prototype.writeInt32BE=function A(I,B,g){I=+I;B=B|0;if(!g)_(this,I,B,4,2147483647,-2147483648);if(I<0)I=4294967295+I+1;if(y.TYPED_ARRAY_SUPPORT){this[B]=I>>>24;this[B+1]=I>>>16;this[B+2]=I>>>8;this[B+3]=I&255}else{AA(this,I,B,false)}return B+4};function IA(A,I,B,g,Q,C){if(B+g>A.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function BA(A,I,B,g,Q){if(!Q){IA(A,I,B,4)}s(A,I,B,g,23,4);return B+4}y.prototype.writeFloatLE=function A(I,B,g){return BA(this,I,B,true,g)};y.prototype.writeFloatBE=function A(I,B,g){return BA(this,I,B,false,g)};function gA(A,I,B,g,Q){if(!Q){IA(A,I,B,8)}s(A,I,B,g,52,8);return B+8}y.prototype.writeDoubleLE=function A(I,B,g){return gA(this,I,B,true,g)};y.prototype.writeDoubleBE=function A(I,B,g){return gA(this,I,B,false,g)};y.prototype.copy=function A(I,B,g,Q){if(!g)g=0;if(!Q&&Q!==0)Q=this.length;if(B>=I.length)B=I.length;if(!B)B=0;if(Q>0&&Q<g)Q=g;if(Q===g)return 0;if(I.length===0||this.length===0)return 0;if(B<0){throw new RangeError("targetStart out of bounds")}if(g<0||g>=this.length)throw new RangeError("sourceStart out of bounds");if(Q<0)throw new RangeError("sourceEnd out of bounds");if(Q>this.length)Q=this.length;if(I.length-B<Q-g){Q=I.length-B+g}var C=Q-g;var E;if(this===I&&g<B&&B<Q){for(E=C-1;E>=0;--E){I[E+B]=this[E+g]}}else if(C<1e3||!y.TYPED_ARRAY_SUPPORT){for(E=0;E<C;++E){I[E+B]=this[E+g]}}else{Uint8Array.prototype.set.call(I,this.subarray(g,g+C),B)}return C};y.prototype.fill=function A(I,B,g,Q){if(typeof I==="string"){if(typeof B==="string"){Q=B;B=0;g=this.length}else if(typeof g==="string"){Q=g;g=this.length}if(I.length===1){var C=I.charCodeAt(0);if(C<256){I=C}}if(Q!==undefined&&typeof Q!=="string"){throw new TypeError("encoding must be a string")}if(typeof Q==="string"&&!y.isEncoding(Q)){throw new TypeError("Unknown encoding: "+Q)}}else if(typeof I==="number"){I=I&255}if(B<0||this.length<B||this.length<g){throw new RangeError("Out of range index")}if(g<=B){return this}B=B>>>0;g=g===undefined?this.length:g>>>0;if(!I)I=0;var E;if(typeof I==="number"){for(E=B;E<g;++E){this[E]=I}}else{var i=M(I)?I:rA(new y(I,Q).toString());var r=i.length;for(E=0;E<g-B;++E){this[E+B]=i[E%r]}}return this};var QA=/[^+\/0-9A-Za-z-_]/g;function CA(A){A=EA(A).replace(QA,"");if(A.length<2)return"";while(A.length%4!==0){A=A+"="}return A}function EA(A){if(A.trim)return A.trim();return A.replace(/^\s+|\s+$/g,"")}function iA(A){if(A<16)return"0"+A.toString(16);return A.toString(16)}function rA(A,I){I=I||Infinity;var B;var g=A.length;var Q=null;var C=[];for(var E=0;E<g;++E){B=A.charCodeAt(E);if(B>55295&&B<57344){if(!Q){if(B>56319){if((I-=3)>-1)C.push(239,191,189);continue}else if(E+1===g){if((I-=3)>-1)C.push(239,191,189);continue}Q=B;continue}if(B<56320){if((I-=3)>-1)C.push(239,191,189);Q=B;continue}B=(Q-55296<<10|B-56320)+65536}else if(Q){if((I-=3)>-1)C.push(239,191,189)}Q=null;if(B<128){if((I-=1)<0)break;C.push(B)}else if(B<2048){if((I-=2)<0)break;C.push(B>>6|192,B&63|128)}else if(B<65536){if((I-=3)<0)break;C.push(B>>12|224,B>>6&63|128,B&63|128)}else if(B<1114112){if((I-=4)<0)break;C.push(B>>18|240,B>>12&63|128,B>>6&63|128,B&63|128)}else{throw new Error("Invalid code point")}}return C}function eA(A){var I=[];for(var B=0;B<A.length;++B){I.push(A.charCodeAt(B)&255)}return I}function aA(A,I){var B,g,Q;var C=[];for(var E=0;E<A.length;++E){if((I-=2)<0)break;B=A.charCodeAt(E);g=B>>8;Q=B%256;C.push(Q);C.push(g)}return C}function tA(A){return a(CA(A))}function nA(A,I,B,g){for(var Q=0;Q<g;++Q){if(Q+B>=I.length||Q>=A.length)break;I[Q+B]=A[Q]}return Q}function oA(A){return A!==A}function fA(A){return A!=null&&(!!A._isBuffer||sA(A)||hA(A))}function sA(A){return!!A.constructor&&typeof A.constructor.isBuffer==="function"&&A.constructor.isBuffer(A)}function hA(A){return typeof A.readFloatLE==="function"&&typeof A.slice==="function"&&sA(A.slice(0,0))}var wA={exports:{}};var DA;function uA(){if(DA)return wA.exports;DA=1;(function(A){
8
- /* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */
9
- (function(){var I=function(){var A={};A.defaultNoDataValue=-34027999387901484e22;A.decode=function(C,E){E=E||{};var i=E.encodedMaskData||E.encodedMaskData===null;var r=Q(C,E.inputOffset||0,i);var e=E.noDataValue!==null?E.noDataValue:A.defaultNoDataValue;var a=I(r,E.pixelType||Float32Array,E.encodedMaskData,e,E.returnMask);var t={width:r.width,height:r.height,pixelData:a.resultPixels,minValue:a.minValue,maxValue:r.pixels.maxValue,noDataValue:e};if(a.resultMask){t.maskData=a.resultMask}if(E.returnEncodedMask&&r.mask){t.encodedMaskData=r.mask.bitset?r.mask.bitset:null}if(E.returnFileInfo){t.fileInfo=B(r);if(E.computeUsedBitDepths){t.fileInfo.bitDepths=g(r)}}return t};var I=function(A,I,B,g,Q){var E=0;var i=A.pixels.numBlocksX;var r=A.pixels.numBlocksY;var e=Math.floor(A.width/i);var a=Math.floor(A.height/r);var t=2*A.maxZError;var n=Number.MAX_VALUE,o;B=B||(A.mask?A.mask.bitset:null);var f,s;f=new I(A.width*A.height);if(Q&&B){s=new Uint8Array(A.width*A.height)}var h=new Float32Array(e*a);var w,D;for(var u=0;u<=r;u++){var c=u!==r?a:A.height%r;if(c===0){continue}for(var y=0;y<=i;y++){var G=y!==i?e:A.width%i;if(G===0){continue}var F=u*A.width*a+y*e;var v=A.width-G;var k=A.pixels.blocks[E];var R,U,S;if(k.encoding<2){if(k.encoding===0){R=k.rawData}else{C(k.stuffedData,k.bitsPerPixel,k.numValidPixels,k.offset,t,h,A.pixels.maxValue);R=h}U=0}else if(k.encoding===2){S=0}else{S=k.offset}var l;if(B){for(D=0;D<c;D++){if(F&7){l=B[F>>3];l<<=F&7}for(w=0;w<G;w++){if(!(F&7)){l=B[F>>3]}if(l&128){if(s){s[F]=1}o=k.encoding<2?R[U++]:S;n=n>o?o:n;f[F++]=o}else{if(s){s[F]=0}f[F++]=g}l<<=1}F+=v}}else{if(k.encoding<2){for(D=0;D<c;D++){for(w=0;w<G;w++){o=R[U++];n=n>o?o:n;f[F++]=o}F+=v}}else{n=n>S?S:n;for(D=0;D<c;D++){for(w=0;w<G;w++){f[F++]=S}F+=v}}}if(k.encoding===1&&U!==k.numValidPixels){throw"Block and Mask do not match"}E++}}return{resultPixels:f,resultMask:s,minValue:n}};var B=function(A){return{fileIdentifierString:A.fileIdentifierString,fileVersion:A.fileVersion,imageType:A.imageType,height:A.height,width:A.width,maxZError:A.maxZError,eofOffset:A.eofOffset,mask:A.mask?{numBlocksX:A.mask.numBlocksX,numBlocksY:A.mask.numBlocksY,numBytes:A.mask.numBytes,maxValue:A.mask.maxValue}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,numBytes:A.pixels.numBytes,maxValue:A.pixels.maxValue,noDataValue:A.noDataValue}}};var g=function(A){var I=A.pixels.numBlocksX*A.pixels.numBlocksY;var B={};for(var g=0;g<I;g++){var Q=A.pixels.blocks[g];if(Q.encoding===0){B.float32=true}else if(Q.encoding===1){B[Q.bitsPerPixel]=true}else{B[0]=true}}return Object.keys(B)};var Q=function(A,I,B){var g={};var Q=new Uint8Array(A,I,10);g.fileIdentifierString=String.fromCharCode.apply(null,Q);if(g.fileIdentifierString.trim()!=="CntZImage"){throw"Unexpected file identifier string: "+g.fileIdentifierString}I+=10;var C=new DataView(A,I,24);g.fileVersion=C.getInt32(0,true);g.imageType=C.getInt32(4,true);g.height=C.getUint32(8,true);g.width=C.getUint32(12,true);g.maxZError=C.getFloat64(16,true);I+=24;if(!B){C=new DataView(A,I,16);g.mask={};g.mask.numBlocksY=C.getUint32(0,true);g.mask.numBlocksX=C.getUint32(4,true);g.mask.numBytes=C.getUint32(8,true);g.mask.maxValue=C.getFloat32(12,true);I+=16;if(g.mask.numBytes>0){var E=new Uint8Array(Math.ceil(g.width*g.height/8));C=new DataView(A,I,g.mask.numBytes);var i=C.getInt16(0,true);var r=2,e=0;do{if(i>0){while(i--){E[e++]=C.getUint8(r++)}}else{var a=C.getUint8(r++);i=-i;while(i--){E[e++]=a}}i=C.getInt16(r,true);r+=2}while(r<g.mask.numBytes);if(i!==-32768||e<E.length){throw"Unexpected end of mask RLE encoding"}g.mask.bitset=E;I+=g.mask.numBytes}else if((g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue)===0){g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8))}}C=new DataView(A,I,16);g.pixels={};g.pixels.numBlocksY=C.getUint32(0,true);g.pixels.numBlocksX=C.getUint32(4,true);g.pixels.numBytes=C.getUint32(8,true);g.pixels.maxValue=C.getFloat32(12,true);I+=16;var t=g.pixels.numBlocksX;var n=g.pixels.numBlocksY;var o=t+(g.width%t>0?1:0);var f=n+(g.height%n>0?1:0);g.pixels.blocks=new Array(o*f);var s=0;for(var h=0;h<f;h++){for(var w=0;w<o;w++){var D=0;var u=A.byteLength-I;C=new DataView(A,I,Math.min(10,u));var c={};g.pixels.blocks[s++]=c;var y=C.getUint8(0);D++;c.encoding=y&63;if(c.encoding>3){throw"Invalid block encoding ("+c.encoding+")"}if(c.encoding===2){I++;continue}if(y!==0&&y!==2){y>>=6;c.offsetType=y;if(y===2){c.offset=C.getInt8(1);D++}else if(y===1){c.offset=C.getInt16(1,true);D+=2}else if(y===0){c.offset=C.getFloat32(1,true);D+=4}else{throw"Invalid block offset type"}if(c.encoding===1){y=C.getUint8(D);D++;c.bitsPerPixel=y&63;y>>=6;c.numValidPixelsType=y;if(y===2){c.numValidPixels=C.getUint8(D);D++}else if(y===1){c.numValidPixels=C.getUint16(D,true);D+=2}else if(y===0){c.numValidPixels=C.getUint32(D,true);D+=4}else{throw"Invalid valid pixel count type"}}}I+=D;if(c.encoding===3){continue}var G,F;if(c.encoding===0){var v=(g.pixels.numBytes-1)/4;if(v!==Math.floor(v)){throw"uncompressed block has invalid length"}G=new ArrayBuffer(v*4);F=new Uint8Array(G);F.set(new Uint8Array(A,I,v*4));var k=new Float32Array(G);c.rawData=k;I+=v*4}else if(c.encoding===1){var R=Math.ceil(c.numValidPixels*c.bitsPerPixel/8);var U=Math.ceil(R/4);G=new ArrayBuffer(U*4);F=new Uint8Array(G);F.set(new Uint8Array(A,I,R));c.stuffedData=new Uint32Array(G);I+=R}}}g.eofOffset=I;return g};var C=function(A,I,B,g,Q,C,E){var i=(1<<I)-1;var r=0,e;var a=0;var t,n;var o=Math.ceil((E-g)/Q);var f=A.length*4-Math.ceil(I*B/8);A[A.length-1]<<=8*f;for(e=0;e<B;e++){if(a===0){n=A[r++];a=32}if(a>=I){t=n>>>a-I&i;a-=I}else{var s=I-a;t=(n&i)<<s&i;n=A[r++];a=32-s;t+=n>>>a}C[e]=t<o?g+t*Q:E}return C};return A}();var B=function(){var A={unstuff:function(A,I,B,g,Q,C,E,i){var r=(1<<B)-1;var e=0,a;var t=0;var n,o,f,s;var h=A.length*4-Math.ceil(B*g/8);A[A.length-1]<<=8*h;if(Q){for(a=0;a<g;a++){if(t===0){o=A[e++];t=32}if(t>=B){n=o>>>t-B&r;t-=B}else{f=B-t;n=(o&r)<<f&r;o=A[e++];t=32-f;n+=o>>>t}I[a]=Q[n]}}else{s=Math.ceil((i-C)/E);for(a=0;a<g;a++){if(t===0){o=A[e++];t=32}if(t>=B){n=o>>>t-B&r;t-=B}else{f=B-t;n=(o&r)<<f&r;o=A[e++];t=32-f;n+=o>>>t}I[a]=n<s?C+n*E:i}}},unstuffLUT:function(A,I,B,g,Q,C){var E=(1<<I)-1;var i=0,r=0,e=0,a=0,t=0;var n;var o=[];var f=A.length*4-Math.ceil(I*B/8);A[A.length-1]<<=8*f;var s=Math.ceil((C-g)/Q);for(r=0;r<B;r++){if(a===0){n=A[i++];a=32}if(a>=I){t=n>>>a-I&E;a-=I}else{e=I-a;t=(n&E)<<e&E;n=A[i++];a=32-e;t+=n>>>a}o[r]=t<s?g+t*Q:C}o.unshift(g);return o},unstuff2:function(A,I,B,g,Q,C,E,i){var r=(1<<B)-1;var e=0,a;var t=0,n=0;var o,f,s;if(Q){for(a=0;a<g;a++){if(t===0){f=A[e++];t=32;n=0}if(t>=B){o=f>>>n&r;t-=B;n+=B}else{s=B-t;o=f>>>n&r;f=A[e++];t=32-s;o|=(f&(1<<s)-1)<<B-s;n=s}I[a]=Q[o]}}else{var h=Math.ceil((i-C)/E);for(a=0;a<g;a++){if(t===0){f=A[e++];t=32;n=0}if(t>=B){o=f>>>n&r;t-=B;n+=B}else{s=B-t;o=f>>>n&r;f=A[e++];t=32-s;o|=(f&(1<<s)-1)<<B-s;n=s}I[a]=o<h?C+o*E:i}}return I},unstuffLUT2:function(A,I,B,g,Q,C){var E=(1<<I)-1;var i=0,r=0,e=0,a=0,t=0,n=0;var o;var f=[];var s=Math.ceil((C-g)/Q);for(r=0;r<B;r++){if(a===0){o=A[i++];a=32;n=0}if(a>=I){t=o>>>n&E;a-=I;n+=I}else{e=I-a;t=o>>>n&E;o=A[i++];a=32-e;t|=(o&(1<<e)-1)<<I-e;n=e}f[r]=t<s?g+t*Q:C}f.unshift(g);return f},originalUnstuff:function(A,I,B,g){var Q=(1<<B)-1;var C=0,E;var i=0;var r,e,a;var t=A.length*4-Math.ceil(B*g/8);A[A.length-1]<<=8*t;for(E=0;E<g;E++){if(i===0){e=A[C++];i=32}if(i>=B){r=e>>>i-B&Q;i-=B}else{a=B-i;r=(e&Q)<<a&Q;e=A[C++];i=32-a;r+=e>>>i}I[E]=r}return I},originalUnstuff2:function(A,I,B,g){var Q=(1<<B)-1;var C=0,E;var i=0,r=0;var e,a,t;for(E=0;E<g;E++){if(i===0){a=A[C++];i=32;r=0}if(i>=B){e=a>>>r&Q;i-=B;r+=B}else{t=B-i;e=a>>>r&Q;a=A[C++];i=32-t;e|=(a&(1<<t)-1)<<B-t;r=t}I[E]=e}return I}};var I={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){var I=65535,B=65535;var g=A.length;var Q=Math.floor(g/2);var C=0;while(Q){var E=Q>=359?359:Q;Q-=E;do{I+=A[C++]<<8;B+=I+=A[C++]}while(--E);I=(I&65535)+(I>>>16);B=(B&65535)+(B>>>16)}if(g&1){B+=I+=A[C]<<8}I=(I&65535)+(I>>>16);B=(B&65535)+(B>>>16);return(B<<16|I)>>>0},readHeaderInfo:function(A,I){var B=I.ptr;var g=new Uint8Array(A,B,6);var Q={};Q.fileIdentifierString=String.fromCharCode.apply(null,g);if(Q.fileIdentifierString.lastIndexOf("Lerc2",0)!==0){throw"Unexpected file identifier string (expect Lerc2 ): "+Q.fileIdentifierString}B+=6;var C=new DataView(A,B,8);var E=C.getInt32(0,true);Q.fileVersion=E;B+=4;if(E>=3){Q.checksum=C.getUint32(4,true);B+=4}C=new DataView(A,B,12);Q.height=C.getUint32(0,true);Q.width=C.getUint32(4,true);B+=8;if(E>=4){Q.numDims=C.getUint32(8,true);B+=4}else{Q.numDims=1}C=new DataView(A,B,40);Q.numValidPixel=C.getUint32(0,true);Q.microBlockSize=C.getInt32(4,true);Q.blobSize=C.getInt32(8,true);Q.imageType=C.getInt32(12,true);Q.maxZError=C.getFloat64(16,true);Q.zMin=C.getFloat64(24,true);Q.zMax=C.getFloat64(32,true);B+=40;I.headerInfo=Q;I.ptr=B;var i,r;if(E>=3){r=E>=4?52:48;i=this.computeChecksumFletcher32(new Uint8Array(A,B-r,Q.blobSize-14));if(i!==Q.checksum){throw"Checksum failed."}}return true},checkMinMaxRanges:function(A,I){var B=I.headerInfo;var g=this.getDataTypeArray(B.imageType);var Q=B.numDims*this.getDataTypeSize(B.imageType);var C=this.readSubArray(A,I.ptr,g,Q);var E=this.readSubArray(A,I.ptr+Q,g,Q);I.ptr+=2*Q;var i,r=true;for(i=0;i<B.numDims;i++){if(C[i]!==E[i]){r=false;break}}B.minValues=C;B.maxValues=E;return r},readSubArray:function(A,I,B,g){var Q;if(B===Uint8Array){Q=new Uint8Array(A,I,g)}else{var C=new ArrayBuffer(g);var E=new Uint8Array(C);E.set(new Uint8Array(A,I,g));Q=new B(C)}return Q},readMask:function(A,I){var B=I.ptr;var g=I.headerInfo;var Q=g.width*g.height;var C=g.numValidPixel;var E=new DataView(A,B,4);var i={};i.numBytes=E.getUint32(0,true);B+=4;if((0===C||Q===C)&&0!==i.numBytes){throw"invalid mask"}var r,e;if(C===0){r=new Uint8Array(Math.ceil(Q/8));i.bitset=r;e=new Uint8Array(Q);I.pixels.resultMask=e;B+=i.numBytes}else if(i.numBytes>0){r=new Uint8Array(Math.ceil(Q/8));E=new DataView(A,B,i.numBytes);var a=E.getInt16(0,true);var t=2,n=0,o=0;do{if(a>0){while(a--){r[n++]=E.getUint8(t++)}}else{o=E.getUint8(t++);a=-a;while(a--){r[n++]=o}}a=E.getInt16(t,true);t+=2}while(t<i.numBytes);if(a!==-32768||n<r.length){throw"Unexpected end of mask RLE encoding"}e=new Uint8Array(Q);var f=0,s=0;for(s=0;s<Q;s++){if(s&7){f=r[s>>3];f<<=s&7}else{f=r[s>>3]}if(f&128){e[s]=1}}I.pixels.resultMask=e;i.bitset=r;B+=i.numBytes}I.ptr=B;I.mask=i;return true},readDataOneSweep:function(A,B,g,Q){var C=B.ptr;var E=B.headerInfo;var i=E.numDims;var r=E.width*E.height;var e=E.imageType;var a=E.numValidPixel*I.getDataTypeSize(e)*i;var t;var n=B.pixels.resultMask;if(g===Uint8Array){t=new Uint8Array(A,C,a)}else{var o=new ArrayBuffer(a);var f=new Uint8Array(o);f.set(new Uint8Array(A,C,a));t=new g(o)}if(t.length===r*i){if(Q){B.pixels.resultPixels=I.swapDimensionOrder(t,r,i,g,true)}else{B.pixels.resultPixels=t}}else{B.pixels.resultPixels=new g(r*i);var s=0,h=0,w=0,D=0;if(i>1){if(Q){for(h=0;h<r;h++){if(n[h]){D=h;for(w=0;w<i;w++,D+=r){B.pixels.resultPixels[D]=t[s++]}}}}else{for(h=0;h<r;h++){if(n[h]){D=h*i;for(w=0;w<i;w++){B.pixels.resultPixels[D+w]=t[s++]}}}}}else{for(h=0;h<r;h++){if(n[h]){B.pixels.resultPixels[h]=t[s++]}}}}C+=a;B.ptr=C;return true},readHuffmanTree:function(A,g){var Q=this.HUFFMAN_LUT_BITS_MAX;var C=new DataView(A,g.ptr,16);g.ptr+=16;var E=C.getInt32(0,true);if(E<2){throw"unsupported Huffman version"}var i=C.getInt32(4,true);var r=C.getInt32(8,true);var e=C.getInt32(12,true);if(r>=e){return false}var a=new Uint32Array(e-r);I.decodeBits(A,g,a);var t=[];var n,o,f,s;for(n=r;n<e;n++){o=n-(n<i?0:i);t[o]={first:a[n-r],second:null}}var h=A.byteLength-g.ptr;var w=Math.ceil(h/4);var D=new ArrayBuffer(w*4);var u=new Uint8Array(D);u.set(new Uint8Array(A,g.ptr,h));var c=new Uint32Array(D);var y=0,G,F=0;G=c[0];for(n=r;n<e;n++){o=n-(n<i?0:i);s=t[o].first;if(s>0){t[o].second=G<<y>>>32-s;if(32-y>=s){y+=s;if(y===32){y=0;F++;G=c[F]}}else{y+=s-32;F++;G=c[F];t[o].second|=G>>>32-y}}}var v=0,k=0;var R=new B;for(n=0;n<t.length;n++){if(t[n]!==undefined){v=Math.max(v,t[n].first)}}if(v>=Q){k=Q}else{k=v}var U=[],S,l,N,M,L,J;for(n=r;n<e;n++){o=n-(n<i?0:i);s=t[o].first;if(s>0){S=[s,o];if(s<=k){l=t[o].second<<k-s;N=1<<k-s;for(f=0;f<N;f++){U[l|f]=S}}else{l=t[o].second;J=R;for(M=s-1;M>=0;M--){L=l>>>M&1;if(L){if(!J.right){J.right=new B}J=J.right}else{if(!J.left){J.left=new B}J=J.left}if(M===0&&!J.val){J.val=S[1]}}}}}return{decodeLut:U,numBitsLUTQick:k,numBitsLUT:v,tree:R,stuffedData:c,srcPtr:F,bitPos:y}},readHuffman:function(A,B,g,Q){var C=B.headerInfo;var E=C.numDims;var i=B.headerInfo.height;var r=B.headerInfo.width;var e=r*i;var a=this.readHuffmanTree(A,B);var t=a.decodeLut;var n=a.tree;var o=a.stuffedData;var f=a.srcPtr;var s=a.bitPos;var h=a.numBitsLUTQick;var w=a.numBitsLUT;var D=B.headerInfo.imageType===0?128:0;var u,c,y,G=B.pixels.resultMask,F,v,k;var R,U,S,l;var N=0;if(s>0){f++;s=0}var M=o[f];var L=B.encodeMode===1;var J=new g(e*E);var q=J;var d;if(E<2||L){for(d=0;d<E;d++){if(E>1){q=new g(J.buffer,e*d,e);N=0}if(B.headerInfo.numValidPixel===r*i){for(S=0,R=0;R<i;R++){for(U=0;U<r;U++,S++){c=0;F=M<<s>>>32-h;v=F;if(32-s<h){F|=o[f+1]>>>64-s-h;v=F}if(t[v]){c=t[v][1];s+=t[v][0]}else{F=M<<s>>>32-w;v=F;if(32-s<w){F|=o[f+1]>>>64-s-w;v=F}u=n;for(l=0;l<w;l++){k=F>>>w-l-1&1;u=k?u.right:u.left;if(!(u.left||u.right)){c=u.val;s=s+l+1;break}}}if(s>=32){s-=32;f++;M=o[f]}y=c-D;if(L){if(U>0){y+=N}else if(R>0){y+=q[S-r]}else{y+=N}y&=255;q[S]=y;N=y}else{q[S]=y}}}}else{for(S=0,R=0;R<i;R++){for(U=0;U<r;U++,S++){if(G[S]){c=0;F=M<<s>>>32-h;v=F;if(32-s<h){F|=o[f+1]>>>64-s-h;v=F}if(t[v]){c=t[v][1];s+=t[v][0]}else{F=M<<s>>>32-w;v=F;if(32-s<w){F|=o[f+1]>>>64-s-w;v=F}u=n;for(l=0;l<w;l++){k=F>>>w-l-1&1;u=k?u.right:u.left;if(!(u.left||u.right)){c=u.val;s=s+l+1;break}}}if(s>=32){s-=32;f++;M=o[f]}y=c-D;if(L){if(U>0&&G[S-1]){y+=N}else if(R>0&&G[S-r]){y+=q[S-r]}else{y+=N}y&=255;q[S]=y;N=y}else{q[S]=y}}}}}}}else{for(S=0,R=0;R<i;R++){for(U=0;U<r;U++){S=R*r+U;if(!G||G[S]){for(d=0;d<E;d++,S+=e){c=0;F=M<<s>>>32-h;v=F;if(32-s<h){F|=o[f+1]>>>64-s-h;v=F}if(t[v]){c=t[v][1];s+=t[v][0]}else{F=M<<s>>>32-w;v=F;if(32-s<w){F|=o[f+1]>>>64-s-w;v=F}u=n;for(l=0;l<w;l++){k=F>>>w-l-1&1;u=k?u.right:u.left;if(!(u.left||u.right)){c=u.val;s=s+l+1;break}}}if(s>=32){s-=32;f++;M=o[f]}y=c-D;q[S]=y}}}}}B.ptr=B.ptr+(f+1)*4+(s>0?4:0);B.pixels.resultPixels=J;if(E>1&&!Q){B.pixels.resultPixels=I.swapDimensionOrder(J,e,E,g)}},decodeBits:function(I,B,g,Q,C){{var E=B.headerInfo;var i=E.fileVersion;var r=0;var e=I.byteLength-B.ptr>=5?5:I.byteLength-B.ptr;var a=new DataView(I,B.ptr,e);var t=a.getUint8(0);r++;var n=t>>6;var o=n===0?4:3-n;var f=(t&32)>0?true:false;var s=t&31;var h=0;if(o===1){h=a.getUint8(r);r++}else if(o===2){h=a.getUint16(r,true);r+=2}else if(o===4){h=a.getUint32(r,true);r+=4}else{throw"Invalid valid pixel count type"}var w=2*E.maxZError;var D,u,c,y,G;var F,v,k,R;var U=E.numDims>1?E.maxValues[C]:E.zMax;if(f){B.counter.lut++;k=a.getUint8(r);r++;y=Math.ceil((k-1)*s/8);G=Math.ceil(y/4);u=new ArrayBuffer(G*4);c=new Uint8Array(u);B.ptr+=r;c.set(new Uint8Array(I,B.ptr,y));v=new Uint32Array(u);B.ptr+=y;R=0;while(k-1>>>R){R++}y=Math.ceil(h*R/8);G=Math.ceil(y/4);u=new ArrayBuffer(G*4);c=new Uint8Array(u);c.set(new Uint8Array(I,B.ptr,y));D=new Uint32Array(u);B.ptr+=y;if(i>=3){F=A.unstuffLUT2(v,s,k-1,Q,w,U)}else{F=A.unstuffLUT(v,s,k-1,Q,w,U)}if(i>=3){A.unstuff2(D,g,R,h,F)}else{A.unstuff(D,g,R,h,F)}}else{B.counter.bitstuffer++;R=s;B.ptr+=r;if(R>0){y=Math.ceil(h*R/8);G=Math.ceil(y/4);u=new ArrayBuffer(G*4);c=new Uint8Array(u);c.set(new Uint8Array(I,B.ptr,y));D=new Uint32Array(u);B.ptr+=y;if(i>=3){if(Q==null){A.originalUnstuff2(D,g,R,h)}else{A.unstuff2(D,g,R,h,false,Q,w,U)}}else{if(Q==null){A.originalUnstuff(D,g,R,h)}else{A.unstuff(D,g,R,h,false,Q,w,U)}}}}}},readTiles:function(A,B,g,Q){var C=B.headerInfo;var E=C.width;var i=C.height;var r=E*i;var e=C.microBlockSize;var a=C.imageType;var t=I.getDataTypeSize(a);var n=Math.ceil(E/e);var o=Math.ceil(i/e);B.pixels.numBlocksY=o;B.pixels.numBlocksX=n;B.pixels.ptr=0;var f=0,s=0,h=0,w=0,D=0,u=0,c=0,y=0,G=0,F=0,v=0,k=0,R=0,U=0,S=0,l=0;var N,M,L,J,q;var d;var Y=new g(e*e);var H=i%e||e;var K=E%e||e;var p,m;var b=C.numDims,x;var V=B.pixels.resultMask;var O=B.pixels.resultPixels;var X=C.fileVersion;var T=X>=5?14:15;var W;var P=C.zMax;var Z;for(h=0;h<o;h++){D=h!==o-1?e:H;for(w=0;w<n;w++){u=w!==n-1?e:K;v=h*E*e+w*e;k=E-u;for(x=0;x<b;x++){if(b>1){Z=O;v=h*E*e+w*e;O=new g(B.pixels.resultPixels.buffer,r*x*t,r);P=C.maxValues[x]}else{Z=null}c=A.byteLength-B.ptr;N=new DataView(A,B.ptr,Math.min(10,c));M={};l=0;y=N.getUint8(0);l++;W=C.fileVersion>=5?y&4:0;G=y>>6&255;F=y>>2&T;if(F!==(w*e>>3&T)){throw"integrity issue"}if(W&&x===0){throw"integrity issue"}d=y&3;if(d>3){B.ptr+=l;throw"Invalid block encoding ("+d+")"}else if(d===2){if(W){if(V){for(f=0;f<D;f++){for(s=0;s<u;s++){if(V[v]){O[v]=Z[v]}v++}}}else{for(f=0;f<D;f++){for(s=0;s<u;s++){O[v]=Z[v];v++}}}}B.counter.constant++;B.ptr+=l;continue}else if(d===0){if(W){throw"integrity issue"}B.counter.uncompressed++;B.ptr+=l;R=D*u*t;U=A.byteLength-B.ptr;R=R<U?R:U;L=new ArrayBuffer(R%t===0?R:R+t-R%t);J=new Uint8Array(L);J.set(new Uint8Array(A,B.ptr,R));q=new g(L);S=0;if(V){for(f=0;f<D;f++){for(s=0;s<u;s++){if(V[v]){O[v]=q[S++]}v++}v+=k}}else{for(f=0;f<D;f++){for(s=0;s<u;s++){O[v++]=q[S++]}v+=k}}B.ptr+=S*t}else{p=I.getDataTypeUsed(W&&a<6?4:a,G);m=I.getOnePixel(M,l,p,N);l+=I.getDataTypeSize(p);if(d===3){B.ptr+=l;B.counter.constantoffset++;if(V){for(f=0;f<D;f++){for(s=0;s<u;s++){if(V[v]){O[v]=W?Math.min(P,Z[v]+m):m}v++}v+=k}}else{for(f=0;f<D;f++){for(s=0;s<u;s++){O[v]=W?Math.min(P,Z[v]+m):m;v++}v+=k}}}else{B.ptr+=l;I.decodeBits(A,B,Y,m,x);l=0;if(W){if(V){for(f=0;f<D;f++){for(s=0;s<u;s++){if(V[v]){O[v]=Y[l++]+Z[v]}v++}v+=k}}else{for(f=0;f<D;f++){for(s=0;s<u;s++){O[v]=Y[l++]+Z[v];v++}v+=k}}}else if(V){for(f=0;f<D;f++){for(s=0;s<u;s++){if(V[v]){O[v]=Y[l++]}v++}v+=k}}else{for(f=0;f<D;f++){for(s=0;s<u;s++){O[v++]=Y[l++]}v+=k}}}}}}}if(b>1&&!Q){B.pixels.resultPixels=I.swapDimensionOrder(B.pixels.resultPixels,r,b,g)}},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:I.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,I){var B=A.headerInfo.zMax;var g=A.headerInfo.zMin;var Q=A.headerInfo.maxValues;var C=A.headerInfo.numDims;var E=A.headerInfo.height*A.headerInfo.width;var i=0,r=0,e=0;var a=A.pixels.resultMask;var t=A.pixels.resultPixels;if(a){if(C>1){if(I){for(i=0;i<C;i++){e=i*E;B=Q[i];for(r=0;r<E;r++){if(a[r]){t[e+r]=B}}}}else{for(r=0;r<E;r++){if(a[r]){e=r*C;for(i=0;i<C;i++){t[e+C]=Q[i]}}}}}else{for(r=0;r<E;r++){if(a[r]){t[r]=B}}}}else{if(C>1&&g!==B){if(I){for(i=0;i<C;i++){e=i*E;B=Q[i];for(r=0;r<E;r++){t[e+r]=B}}}else{for(r=0;r<E;r++){e=r*C;for(i=0;i<C;i++){t[e+i]=Q[i]}}}}else{for(r=0;r<E*C;r++){t[r]=B}}}return},getDataTypeArray:function(A){var I;switch(A){case 0:I=Int8Array;break;case 1:I=Uint8Array;break;case 2:I=Int16Array;break;case 3:I=Uint16Array;break;case 4:I=Int32Array;break;case 5:I=Uint32Array;break;case 6:I=Float32Array;break;case 7:I=Float64Array;break;default:I=Float32Array}return I},getPixelType:function(A){var I;switch(A){case 0:I="S8";break;case 1:I="U8";break;case 2:I="S16";break;case 3:I="U16";break;case 4:I="S32";break;case 5:I="U32";break;case 6:I="F32";break;case 7:I="F64";break;default:I="F32"}return I},isValidPixelValue:function(A,I){if(I==null){return false}var B;switch(A){case 0:B=I>=-128&&I<=127;break;case 1:B=I>=0&&I<=255;break;case 2:B=I>=-32768&&I<=32767;break;case 3:B=I>=0&&I<=65536;break;case 4:B=I>=-2147483648&&I<=2147483647;break;case 5:B=I>=0&&I<=4294967296;break;case 6:B=I>=-34027999387901484e22&&I<=34027999387901484e22;break;case 7:B=I>=-17976931348623157e292&&I<=17976931348623157e292;break;default:B=false}return B},getDataTypeSize:function(A){var I=0;switch(A){case 0:case 1:I=1;break;case 2:case 3:I=2;break;case 4:case 5:case 6:I=4;break;case 7:I=8;break;default:I=A}return I},getDataTypeUsed:function(A,I){var B=A;switch(A){case 2:case 4:B=A-I;break;case 3:case 5:B=A-2*I;break;case 6:if(0===I){B=A}else if(1===I){B=2}else{B=1}break;case 7:if(0===I){B=A}else{B=A-2*I+1}break;default:B=A;break}return B},getOnePixel:function(A,I,B,g){var Q=0;switch(B){case 0:Q=g.getInt8(I);break;case 1:Q=g.getUint8(I);break;case 2:Q=g.getInt16(I,true);break;case 3:Q=g.getUint16(I,true);break;case 4:Q=g.getInt32(I,true);break;case 5:Q=g.getUInt32(I,true);break;case 6:Q=g.getFloat32(I,true);break;case 7:Q=g.getFloat64(I,true);break;default:throw"the decoder does not understand this pixel type"}return Q},swapDimensionOrder:function(A,I,B,g,Q){var C=0,E=0,i=0,r=0,e=A;if(B>1){e=new g(I*B);if(Q){for(C=0;C<I;C++){r=C;for(i=0;i<B;i++,r+=I){e[r]=A[E++]}}}else{for(C=0;C<I;C++){r=C;for(i=0;i<B;i++,r+=I){e[E++]=A[r]}}}}return e}};var B=function(A,I,B){this.val=A;this.left=I;this.right=B};var g={decode:function(A,B){B=B||{};var g=B.noDataValue;var Q=0,C={};C.ptr=B.inputOffset||0;C.pixels={};if(!I.readHeaderInfo(A,C)){return}var E=C.headerInfo;var i=E.fileVersion;var r=I.getDataTypeArray(E.imageType);if(i>5){throw"unsupported lerc version 2."+i}I.readMask(A,C);if(E.numValidPixel!==E.width*E.height&&!C.pixels.resultMask){C.pixels.resultMask=B.maskData}var e=E.width*E.height;C.pixels.resultPixels=new r(e*E.numDims);C.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var a=!B.returnPixelInterleavedDims;if(E.numValidPixel!==0){if(E.zMax===E.zMin){I.constructConstantSurface(C,a)}else if(i>=4&&I.checkMinMaxRanges(A,C)){I.constructConstantSurface(C,a)}else{var t=new DataView(A,C.ptr,2);var n=t.getUint8(0);C.ptr++;if(n){I.readDataOneSweep(A,C,r,a)}else{if(i>1&&E.imageType<=1&&Math.abs(E.maxZError-.5)<1e-5){var o=t.getUint8(1);C.ptr++;C.encodeMode=o;if(o>2||i<4&&o>1){throw"Invalid Huffman flag "+o}if(o){I.readHuffman(A,C,r,a)}else{I.readTiles(A,C,r,a)}}else{I.readTiles(A,C,r,a)}}}}C.eofOffset=C.ptr;var f;if(B.inputOffset){f=C.headerInfo.blobSize+B.inputOffset-C.ptr;if(Math.abs(f)>=1){C.eofOffset=B.inputOffset+C.headerInfo.blobSize}}else{f=C.headerInfo.blobSize-C.ptr;if(Math.abs(f)>=1){C.eofOffset=C.headerInfo.blobSize}}var s={width:E.width,height:E.height,pixelData:C.pixels.resultPixels,minValue:E.zMin,maxValue:E.zMax,validPixelCount:E.numValidPixel,dimCount:E.numDims,dimStats:{minValues:E.minValues,maxValues:E.maxValues},maskData:C.pixels.resultMask};if(C.pixels.resultMask&&I.isValidPixelValue(E.imageType,g)){var h=C.pixels.resultMask;for(Q=0;Q<e;Q++){if(!h[Q]){s.pixelData[Q]=g}}s.noDataValue=g}C.noDataValue=g;if(B.returnFileInfo){s.fileInfo=I.formatFileInfo(C)}return s},getBandCount:function(A){var B=0;var g=0;var Q={};Q.ptr=0;Q.pixels={};while(g<A.byteLength-58){I.readHeaderInfo(A,Q);g+=Q.headerInfo.blobSize;B++;Q.ptr=g}return B}};return g}();var g=function(){var A=new ArrayBuffer(4);var I=new Uint8Array(A);var B=new Uint32Array(A);B[0]=1;return I[0]===1}();var Q={decode:function(A,Q){if(!g){throw"Big endian system is not supported."}Q=Q||{};var C=Q.inputOffset||0;var E=new Uint8Array(A,C,10);var i=String.fromCharCode.apply(null,E);var r,e;if(i.trim()==="CntZImage"){r=I;e=1}else if(i.substring(0,5)==="Lerc2"){r=B;e=2}else{throw"Unexpected file identifier string: "+i}var a=0,t=A.byteLength-10,n,o=[],f,s;var h={width:0,height:0,pixels:[],pixelType:Q.pixelType,mask:null,statistics:[]};var w=0;while(C<t){var D=r.decode(A,{inputOffset:C,encodedMaskData:n,maskData:s,returnMask:a===0?true:false,returnEncodedMask:a===0?true:false,returnFileInfo:true,returnPixelInterleavedDims:Q.returnPixelInterleavedDims,pixelType:Q.pixelType||null,noDataValue:Q.noDataValue||null});C=D.fileInfo.eofOffset;s=D.maskData;if(a===0){n=D.encodedMaskData;h.width=D.width;h.height=D.height;h.dimCount=D.dimCount||1;h.pixelType=D.pixelType||D.fileInfo.pixelType;h.mask=s}if(e>1){if(s){o.push(s)}if(D.fileInfo.mask&&D.fileInfo.mask.numBytes>0){w++}}a++;h.pixels.push(D.pixelData);h.statistics.push({minValue:D.minValue,maxValue:D.maxValue,noDataValue:D.noDataValue,dimStats:D.dimStats})}var u,c,y;if(e>1&&w>1){y=h.width*h.height;h.bandMasks=o;s=new Uint8Array(y);s.set(o[0]);for(u=1;u<o.length;u++){f=o[u];for(c=0;c<y;c++){s[c]=s[c]&f[c]}}h.maskData=s}return h}};if(A.exports){A.exports=Q}else{this.Lerc=Q}})()})(wA);return wA.exports}var cA=uA();let yA;let GA;let FA;const vA={env:{emscripten_notify_memory_growth:function(A){FA=new Uint8Array(GA.exports.memory.buffer)}}};class kA{init(){if(yA)return yA;if(typeof fetch!=="undefined"){yA=fetch("data:application/wasm;base64,"+RA).then((A=>A.arrayBuffer())).then((A=>WebAssembly.instantiate(A,vA))).then(this._init)}else{yA=WebAssembly.instantiate(y.from(RA,"base64"),vA).then(this._init)}return yA}_init(A){GA=A.instance;vA.env.emscripten_notify_memory_growth(0)}decode(A,I=0){if(!GA)throw new Error(`ZSTDDecoder: Await .init() before decoding.`);const B=A.byteLength;const g=GA.exports.malloc(B);FA.set(A,g);I=I||Number(GA.exports.ZSTD_findDecompressedSize(g,B));const Q=GA.exports.malloc(I);const C=GA.exports.ZSTD_decompress(Q,I,g,B);const E=FA.slice(Q,Q+C);GA.exports.free(g);GA.exports.free(Q);return E}}const RA="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEEdCAAbiECCyAAQQh2IgEgAkEYbCIAQYwIaigCAGwgAEGICGooAgBqIgJBA3YgAmogAEGACGooAgAgAEGECGooAgAgAWxqSQs3ACAAIAMgBCAFQYAQEDMiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQMgVBuH8LC78DAQN/IwBBIGsiBSQAIAVBCGogAiADEAYiAhADRQRAIAAgAWoiB0F9aiEGIAUgBBAOIARBBGohAiAFLQACIQMDQEEAIAAgBkkgBUEIahAEGwRAIAAgAiAFQQhqIAMQAkECdGoiBC8BADsAACAFQQhqIAQtAAIQASAAIAQtAANqIgQgAiAFQQhqIAMQAkECdGoiAC8BADsAACAFQQhqIAAtAAIQASAEIAAtAANqIQAMAQUgB0F+aiEEA0AgBUEIahAEIAAgBEtyRQRAIAAgAiAFQQhqIAMQAkECdGoiBi8BADsAACAFQQhqIAYtAAIQASAAIAYtAANqIQAMAQsLA0AgACAES0UEQCAAIAIgBUEIaiADEAJBAnRqIgYvAQA7AAAgBUEIaiAGLQACEAEgACAGLQADaiEADAELCwJAIAAgB08NACAAIAIgBUEIaiADEAIiA0ECdGoiAC0AADoAACAALQADQQFGBEAgBUEIaiAALQACEAEMAQsgBSgCDEEfSw0AIAVBCGogAiADQQJ0ai0AAhABIAUoAgxBIUkNACAFQSA2AgwLIAFBbCAFQQhqEAobIQILCwsgBUEgaiQAIAILkgIBBH8jAEFAaiIJJAAgCSADQTQQCyEDAkAgBEECSA0AIAMgBEECdGooAgAhCSADQTxqIAgQIyADQQE6AD8gAyACOgA+QQAhBCADKAI8IQoDQCAEIAlGDQEgACAEQQJ0aiAKNgEAIARBAWohBAwAAAsAC0EAIQkDQCAGIAlGRQRAIAMgBSAJQQF0aiIKLQABIgtBAnRqIgwoAgAhBCADQTxqIAotAABBCHQgCGpB//8DcRAjIANBAjoAPyADIAcgC2siCiACajoAPiAEQQEgASAKa3RqIQogAygCPCELA0AgACAEQQJ0aiALNgEAIARBAWoiBCAKSQ0ACyAMIAo2AgAgCUEBaiEJDAELCyADQUBrJAALowIBCX8jAEHQAGsiCSQAIAlBEGogBUE0EAsaIAcgBmshDyAHIAFrIRADQAJAIAMgCkcEQEEBIAEgByACIApBAXRqIgYtAAEiDGsiCGsiC3QhDSAGLQAAIQ4gCUEQaiAMQQJ0aiIMKAIAIQYgCyAPTwRAIAAgBkECdGogCyAIIAUgCEE0bGogCCAQaiIIQQEgCEEBShsiCCACIAQgCEECdGooAgAiCEEBdGogAyAIayAHIA4QYyAGIA1qIQgMAgsgCUEMaiAOECMgCUEBOgAPIAkgCDoADiAGIA1qIQggCSgCDCELA0AgBiAITw0CIAAgBkECdGogCzYBACAGQQFqIQYMAAALAAsgCUHQAGokAA8LIAwgCDYCACAKQQFqIQoMAAALAAs0ACAAIAMgBCAFEDYiBRADBEAgBQ8LIAUgBEkEfyABIAIgAyAFaiAEIAVrIAAQNAVBuH8LCyMAIAA/AEEQdGtB//8DakEQdkAAQX9GBEBBAA8LQQAQAEEBCzsBAX8gAgRAA0AgACABIAJBgCAgAkGAIEkbIgMQCyEAIAFBgCBqIQEgAEGAIGohACACIANrIgINAAsLCwYAIAAQAwsLqBUJAEGICAsNAQAAAAEAAAACAAAAAgBBoAgLswYBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAAAAAAEAAAABAAAABQAAAA0AAAAdAAAAPQAAAH0AAAD9AAAA/QEAAP0DAAD9BwAA/Q8AAP0fAAD9PwAA/X8AAP3/AAD9/wEA/f8DAP3/BwD9/w8A/f8fAP3/PwD9/38A/f//AP3//wH9//8D/f//B/3//w/9//8f/f//P/3//38AAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQeAPC1EBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAQcQQC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBBkBIL5gQBAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAEAAAAEAAAACAAAAAAAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBgBcLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBkBkLhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBpB0L2QEBAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AAAAAAEAAAACAAAABAAAAAAAAAACAAAABAAAAAgAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAEGgIAsDwBBQ";const UA=new kA;class SA extends Q{constructor(A){super();this.planarConfiguration=typeof A.PlanarConfiguration!=="undefined"?A.PlanarConfiguration:1;this.samplesPerPixel=typeof A.SamplesPerPixel!=="undefined"?A.SamplesPerPixel:1;this.addCompression=A.LercParameters[B.AddCompression]}decodeBlock(A){switch(this.addCompression){case g.None:break;case g.Deflate:A=I(new Uint8Array(A)).buffer;break;case g.Zstandard:A=UA.decode(new Uint8Array(A)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}const B=cA.decode(A,{returnPixelInterleavedDims:this.planarConfiguration===1});const Q=B.pixels[0];return Q.buffer}}export{SA as default,UA as zstd};
10
- //# sourceMappingURL=p-DXlWibwG.js.map